Hallo, ich habe eine Schaltung mit einem SAMD21G18A-A µC. Bei der Beschaltung des Reset Pins hab ich mich leider von sehr spartansichen Vorbildern lenken lassen und habe mich voll auf den internen Pull-Up verlassen und direkt einen Taster drangehängt der den Pin auf GND zieht. Zum SWD-Interface hab ich die Leitung auch gezogen. Die Strafe folgte sofort: der µC schaltet ein Relais, und sobald nennenswert Last geschaltet wird, resettet der µC nicht bei jedem aber bei einigen Schaltvorgängen. Ich verstehe schon warum, aber ich hab das völlig unterschätzt (ja das war dämlich). Das Datenblatt der MCU (https://ww1.microchip.com/downloads/en/DeviceDoc/SAM-D21DA1-Family-Data-Sheet-DS40001882G.pdf) gibt ja durchaus Hinweise wie die Resetschaltung aufgebaut werden kann. Siehe Anhang. Ich würde mich nun danach richten. Was muss ich sonst noch ggf. beachten? Sollte die Schaltung möglichst nahe an den Pin oder möglichst nahe an den Taster/SWD-Header? Ich denke mal an den Pin, oder?
Dom S. schrieb: > Sollte die Schaltung möglichst nahe an den Pin oder möglichst nahe > an den Taster/SWD-Header? Ich denke mal an den Pin, oder? Der kleine Kondensator muss so nahe wie möglich an den RESET-Pin, die Widerstände könnten eigentlich irgendwo hin, aber die Reset-Leitung soll ja insgesamt so kurz wie möglich sein. Die Kondensatoren an VDDCORE und VDDIN sind mindestens genauso kritisch und liegen direkt daneben, leider gerade verkehrt rum. Der andere Pin des Reset-Kondensators muss ja so kurz wie möglich an VDD. In diese Ecke vom Layout passen maximal 0603 Kondensatoren und ich würde deshalb die Pins PA27 und PA28 auf GND legen (evt. offen lassen). Die SWDIO- und SWCLK-Pins liegen ganz in der Nähe, also kann der Debug-Stecker so platziert werden, dass die Reset-Leitung auch hier möglichst kurz wird. Da der 330 Ohm dazwischen ist, ist das harmlos. Die SWD-Leitungen sollten auch kurz sein, aber in diesem Fall... Aber USB auf dem gleichen Stecker? Macht man das so? Wird das funktionieren? USB ist doch auch ziemlich anspruchsvoll? Und du brauchst ein ziemlich chaotisches Adapterkabel, vor allem mit nur einem GND-Pin. Also ich würde das nicht mögen, der genormte SWD-Stecker ist doch wirklich schön klein. Bleibt der Taster als Haupt-Störenfried. Das Reset-Signal auf dem Debug-Stecker braucht man wirklich, vielleicht kann man den Taster sparen? Auf meiner Platine würde ich den Taster per Hardware entprellen und so auch vom Reset entkoppeln. Aber ich habe auch Platz für soviel Bauteile... > Was muss ich sonst noch ggf. beachten? * Die 4 Abblock-Cs sollten 100n haben, nicht 1u, und natürlich direkt neben die Pins. * Den 1k-Pull-Up an SWCLK nicht vergessen. SWCLK spielt auch mit Reset, dazu gibt es ein ganzes eigenes Kapitel. * Die LED muss eine gelbe sein, nicht nur wegen der 3.3V. Einerseits ist es gut, wenn sie leuchtet, andererseits blinkt sie gelegentlich wegen Hard Fault oder so ;)
SWD und USB auf einem Stecker - ja, ungewöhnlich. Beides sind aber nur Schnittstellen zur "Wartung" bzw Inbetriebnahme. USB für die, die keinen Progger haben. Ich versuche maximal Platz zu sparen, auch wenn bei diesem konkreten Gerät vielleicht noch was drauf geht, es sollen noch weitere ähnliche Geräte folgen, die nach dem selben Prinzip aufgebaut sind. Und da ist 7x1 1,27 Pinheader und eine kleine Adapterplatine einfach sehr kompakt. Den Reset-Taster könnte man sparen. Im Betrieb wird er nicht gebraucht. Und auf der Adapterplatine habe ich ebenfalls einen vorgesehen... Der Taster ist aber uch direkt neben dem Headerpin, viel Strecke macht der nicht. Das Foto ist die verhunzte V00.02, das Rendering der Arbeitsstand V00.03 Danke für den Hinweis mit 100n statt 1uF. Ist mehr nicht immer besser? :D Pullup bei SWCLK hatte ich ebenfalls nicht auf dem Schirm. Das funktioniert bisher aber auch ohne, was natürlich nicht heißt dass es richtig ist. Ich gebe zu, ich habe für diese Grundschaltung weniger das Datanblatt studiert als viel mehr ein fertiges Board mit dem SAMD21 kopiert (https://cdn-learn.adafruit.com/assets/assets/000/054/505/original/adafruit_products_schem.png?1527457190).
Dom S. schrieb: > Den Reset-Taster könnte man sparen. Im Betrieb wird er nicht gebraucht. > Und auf der Adapterplatine habe ich ebenfalls einen vorgesehen... Das ist doch ideal, gerade wenn es klein werden soll. Jetzt sage ich auch nichts mehr gegen den gemischten Stecker, mit so einer schicken Adapterplatine. > Pullup bei SWCLK hatte ich ebenfalls nicht auf dem Schirm. Das > funktioniert bisher aber auch ohne, was natürlich nicht heißt dass es > richtig ist. Naja, zumindest dem Autor des Datenblatt scheint der Pullup sehr wichtig zu sein. > Ich gebe zu, ich habe für diese Grundschaltung weniger das Datanblatt > studiert als viel mehr ein fertiges Board mit dem SAMD21 kopiert > (https://cdn-learn.adafruit.com/assets/assets/000/054/505/original/adafruit_products_schem.png?1527457190). Nichts gegen ein gutes Vorbild, so klar sind Datenblätter ja auch nicht formuliert. Aber hier? Adafruit so: das Schaltbild war der erste Versuch unseres neuen Praktikanten, nicht übel, oder? Das wird für die Produktion schon noch ein wenig überarbeitet :)
Bauform B. schrieb: > Das ist doch ideal, gerade wenn es klein werden soll. Jetzt sage ich > auch nichts mehr gegen den gemischten Stecker, mit so einer schicken > Adapterplatine. ja, ich denke ich lasse den Taster weg. Bestückt hab ich ihn eh nicht... ich sehe keinen Use-Case mehr (die Adapterplatine habe ich erst später eingeführt, vorher hatte ich 2 Pinheader für usb und swd) Bauform B. schrieb: >> Pullup bei SWCLK hatte ich ebenfalls nicht auf dem Schirm. Das >> funktioniert bisher aber auch ohne, was natürlich nicht heißt dass es >> richtig ist. > > Naja, zumindest dem Autor des Datenblatt scheint der Pullup sehr wichtig > zu sein. Ja, der kommt rein. Sollte kein Problem sein. die 3v3 liegen da auch grad günstig.. Wegen 100nF und 1µF und generell Abblock-Cs. Siehe Angang aus dem DB. VDDCore ist ein 1µF, und wie ich sehe hängt der gar nicht an 3V3 sondern nur am Pin. Das muss ich auch noch mal ran...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.