Hallo, ich möchte das Reset PIN richtig beschalten. Dazu habe ich die APP Note von ATMEL gelesen. "If not using High Voltage Programming it is recommended to add an ESD protecting diode from RESET to Vcc, since this is not internally provided due to High Voltage Programming. Alternatively, or in addition, a zener diode can be used to limit the RESET voltage relative to GND. The zener diode is highly recommended in noisy environments. The components should be located physically close to the RESET pin of the AVR." Was zu machen ist, habe ich ja nun verstanden aber welche Dioden ich da verwenden kann weiß ich nicht. Das ist mein altes Problem, wie wählt und findet man die richtigen Bauteile? Eine Zenerdiode 5,1 ist mir mittlerweile bekannt, was ist eine ESD Diode? Was für Werte sollte die haben? Schöne Grüße AVRli...
Da kannst du eine Wald-und-Wiesen-Diode verwenden, die dann als ESD-Schutzdiode fungiert. Also z.B. eine 1N4148. Bei AVR aber nur selten wirklicht nötig.
Oder nach dem Programmieren dauerhaft niederohmig mit VCC verbinden.
AVRli schrieb: > Eine Zenerdiode 5,1 ist mir mittlerweile bekannt, was ist eine ESD > Diode? Im Prinzip auch eine Zener-Diode, aber so konstruiert, dass sie nicht notwendigerweise eine genaue Spannung hat, sondern die ESD-Ladung möglichst schnell ableitet. > Was für Werte sollte die haben? Bei welcher Spannung sie noch sperren soll, weißt du selber. Wieviel Leistung sie vertragen muss, hängt davon ab, was für ESD-Störungen du erwartest. Beim Reset-Pin ist die parasitäre Kapazität egal. Der Leckstrom sollte nicht so groß sein, dass der AVR eine geschlossene Verbindung sieht. Winfried M. schrieb: > Da kannst du eine Wald-und-Wiesen-Diode verwenden, die dann als > ESD-Schutzdiode fungiert. Also z.B. eine 1N4148. Eine normale Diode von GND zum Signal schützt nur gegen negative ESD-Spannungen. Zum Ableiten einer positiven ESD-Spannung braucht man noch eine zweite Diode vom Signal zu VCC, oder eine Zener/ESD-Diode.
:
Bearbeitet durch User
@Clemens L. (c_l) >> Da kannst du eine Wald-und-Wiesen-Diode verwenden, die dann als >> ESD-Schutzdiode fungiert. Also z.B. eine 1N4148. >Eine normale Diode von GND zum Signal schützt nur gegen negative >ESD-Spannungen. Die ist im AVR schon drin. > Zum Ableiten einer positiven ESD-Spannung braucht man >noch eine zweite Diode vom Signal zu VCC, oder eine Zener/ESD-Diode. Diese muss extern ergänzt werden, wenn man denn überängstlich ist. In Normalfall braucht man die nicht, denn am Reset hängt meist sowieso ein 100nF Kondensator dran. Der schluckt viel ESD-Ladung.
Danke für Eure Antworten! Ja ich bin überängstlich weil sich mein Flash verändert oder löscht. Ich habe im ATmega eine Routine die mir über den Programmmemory eine CRC16 rechnet. Das geht auch 1000x gut, nur eben Vorgestern hatte ich wieder das Problem das irgendwas an meinem Flash rumschreibt. :-( Ich vermute das ich hier mit dem RESET Pin im High Voltage Mode lande und dann jedes H/L mir Stück für Stück den Flash zerhackt. Gut also noch eine ESD Diode nach VCC und dann würde ich ja sehen ob das rennt. Ist die "BAT 42WS" dafür geeignet? Ich danke euch! Gruß AVRli...
Winfried M. schrieb: > Bei AVR aber nur selten wirklicht nötig. Wie bringst du deine Aussage mit der im Datenblatt in Einklang? Die Aussage: "Bei mir gibt es keine ESD-Gefahr" lasse ich jetzt mal nicht gelten ;-) AVRli schrieb: > "... it is recommended to add an ESD protecting diode from RESET to Vcc, > since this is not internally provided due to High Voltage Programming.
AVRli schrieb: > Danke für Eure Antworten! > Ja ich bin überängstlich weil sich mein Flash verändert oder löscht. Ich > habe im ATmega eine Routine die mir über den Programmmemory eine CRC16 > rechnet. Das geht auch 1000x gut, nur eben Vorgestern hatte ich wieder > das Problem das irgendwas an meinem Flash rumschreibt. :-( > > Ich vermute das ich hier mit dem RESET Pin im High Voltage Mode lande > und dann jedes H/L mir Stück für Stück den Flash zerhackt. Auch im HV-Programming Mode schreibt man nicht einfach so im Flash rum! Da gibts genauso entsprechende Kommandos und das die zufällig von außen reinkommen ist nahezu unmöglich. Aber wenn du meinst es liegt daran dann verbinde doch einfach Reset direkt mit Vcc nachdem du den μC programmiert hast. Sascha
Wolfgang schrieb: > Wie bringst du deine Aussage mit der im Datenblatt in Einklang? Gib mir mal den Link und die Seite deines Datenblattes, worauf du dich beziehst. Dann schau ich mal.
:
Bearbeitet durch User
Winfried M. schrieb: > Gib mir mal den Link und die Seite deines Datenblattes, worauf du dich > beziehst. Dann schau ich mal. Das es keine ESD-Schutzdiode geben kann, die vom Reset-Pin nach VCC ableitet, ist klar und ergibt sich auch indirekt aus den Maximum Ratings (bspw. ATmega328, Absolute Maximum Ratings "Voltage on RESET with respect to Ground -0.5V to +13.0V") Das Zitat stammt aus der Application Note AVR042: AVR Hardware Design Considerations auf S.6 (Absatz vor Fig.3.1) http://www.atmel.com/Images/Atmel-2521-AVR-Hardware-Design-Considerations_ApplicationNote_AVR042.pdf
Wolfgang schrieb: > Das es keine ESD-Schutzdiode geben kann, die vom Reset-Pin nach VCC > ableitet, ist klar Verstehe nicht, wie du das meinst. Eine Diode kann doch mit Kathode zu VCC Spannungen über VCC + UF (0,6V) ableiten. Was die Beschaltung des Reset-Pins angeht, kommt es auf einige Details an. Wenn du am Reset nur eine ganz kurze Leitung zum externen Pullup hast und keine extremen Störer auf deiner Platine, dürfte schon das reichen. Die Schaltung selber sollte ja in einem Gehäuse sein, dass hinreichend vor Immissionen schützt. Es gibt dann nichts, was überhaupt ausreichend auf den Pin einwirken kann, damit es gefährlich wird. Hast du hingegen ein 30cm Kabel am Reset-Pin, was sich alles Mögliche von der Umgebung einfangen kann, wäre man mit einem Kondensator direkt am Reset-Pin sicher gut beraten. Wenn du aber einen Kondensator dort hast, gibt es keine Möglichkeit mehr, durch Einstrahlungen einen Reset auszulösen. Führst du einen Reset an Steckkontakte raus, wo direkt elektrostatische Einflüsse wirksam werden können, könnte eine zusätzliche Schutzdiode Sinn machen. Die Application Note sehe ich eher als Möglichkeiten, was man maximal tun kann. Und nicht als Standard-Empfehlung. Ein Thema gibts dann auch noch: Wenn du die Spannung abschaltest, muss sich der Kondensator am Resetpin entladen. Dafür kann so eine Diode auch hilfreich sein.
:
Bearbeitet durch User
Winfried M. schrieb: > Wolfgang schrieb: >> Das es keine ESD-Schutzdiode geben kann, die vom Reset-Pin nach VCC >> ableitet, ist klar > > Verstehe nicht, wie du das meinst. Eine Diode kann doch mit Kathode zu > VCC Spannungen über VCC + UF (0,6V) ableiten. Die ganze Diskussion dreht sich um den Reset-Pin, an den bei HV-Programmierung schon mal eine Spannung von 12V angelegt wird. Da hat es eine Diode schwer, wenn die mit der Kathode an VCC (=5V) hängt.
Nichtsdestotrotz trotzdem empfiehlt das Datenblatt den Einsatz einer ebensolchen Diode in der Schaltung. AVRli schrieb: > Ja ich bin überängstlich weil sich mein Flash verändert oder löscht. Ich > habe im ATmega eine Routine die mir über den Programmmemory eine CRC16 > rechnet. Das geht auch 1000x gut, nur eben Vorgestern hatte ich wieder > das Problem das irgendwas an meinem Flash rumschreibt. :-( Welche Bits haben sich geändert?
Wolfgang schrieb: >> Verstehe nicht, wie du das meinst. Eine Diode kann doch mit Kathode zu >> VCC Spannungen über VCC + UF (0,6V) ableiten. Die wird noch viel früher leitfähig, UF ist vom Strom abhängig. > Die ganze Diskussion dreht sich um den Reset-Pin, an den bei > HV-Programmierung schon mal eine Spannung von 12V angelegt wird. Da hat > es eine Diode schwer, wenn die mit der Kathode an VCC (=5V) hängt. Und wer macht HV-Programmierung und gar in der Schaltung? Ich habe das in >10 Jahren AVR noch nie benötigt. Aber selbst wenn, die Diode kann man für so einen Notfall auch auslöten. Ich stelle mich mit dem Reset-Pin aber auch generell nicht so an, bei kleinen Controllern die nur ISP haben packe ich da bestenfalls einen 10k Pullup mit dran, sonst nichts. Bei Controllern mit JTAG verwende ich zwar ebenfalls einen 10k Pullup Widerstand, Reset führe ich aber nicht auf den JTAG Stecker. Und der Pullup ist im wesentlichen auch noch überflüssig, weil 30k...200k bereits eingebaut sind. Viel wichtiger ist doch, dass man sich der Gefahr durch ESD bewusst ist und noch mal vorsichtiger ist wenn man an internen Schnittstellen rumfingert die normalerweise gar keinen zusätzlichen Schutz haben. Die ISP oder JTAG Pins bekommt man vielleicht ein klein wenig schwieriger kaputt, die sterben aber auch wenn man mit Gummistiefeln über den Teppich rutscht und dann da anfässt. Schlechte Kombination aus Stoff-Bezug und Klamotten -> >20kV beim Aufstehen Ach ja, BOD habe ich auch immer an. Edit: ich habe mir im Datenblatt vom ATMega16M1 gerade mal angesehen, was "HV-Programmierung" überhaupt bedeuten würde. Das wird "Parallel Programming" genannt und benötigt dermassen viele Pins das ich das ganz sicher niemals in der Schaltung probieren werden. Edit2: in den Datenblättern findet sich übrigens kaum was dazu, interessanter ist da die Application-Note AVR042. Die in Figure 3.1 dargestellte "Recommended Reset Pin Connection" gilt wie man dem Text entnehmen kann nur für besonders verseuchte Umgebung und bei Verwendung des Reset-Pins für ein "External Reset" Signal. Und die Werte sind natürlich keine allgemein gültigen: " The values of resistor R and capacitor C are typical values used for the RESET pin. For specific design requirements of an application, these values must be changed accordingly." Auf der anderen Seite bekleckert sich Atmel nicht gerade mit Ruhm im Kapitel 6 vom AVR042, das Quarz-Layout zeigt mehr wie man es nicht machen sollte. In früheren Revisionen des Dokumentes war das noch deutlich besser.
:
Bearbeitet durch User
Wolfgang schrieb: > Die ganze Diskussion dreht sich um den Reset-Pin, an den bei > HV-Programmierung schon mal eine Spannung von 12V angelegt wird. Da hat > es eine Diode schwer, wenn die mit der Kathode an VCC (=5V) hängt. Ich dachte, die Diskussion dreht sich darum, wie man eine Schaltung im laufenden Betrieb gegen ESD schützt und ob man da eine Diode braucht. Wie schon geschrieben wurde, auch ich hab noch nie HV-Programmierung genutzt, insofern klappt das dann auch mit der Diode.
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.