Forum: Mikrocontroller und Digitale Elektronik Spannungen an RESET Eingang ATmega16


von drezinho (Gast)


Lesenswert?

Hallo,

Im Datenblatt des ATmega16 wird die RESET Pin Threshold Voltage V_rst 
angegeben mit:

Min: 0.1 VCC und Max: 0.9 VCC

Diese Angabe ist etwas verwirrend. Zuerst dachte ich, dass damit eine 
Hysterese gemeint ist. Also der RESET Fall eintritt wenn die Spannung 
unter die 0.1 VCC fällt und der uC wieder losläuft wenn die 0.9 VCC 
überschritten werden. Bei Messungen trat aber bei etwa 2.1V (mit VCC = 
5V) der RESET auf und Hyserese konnte ich auch keine messen.

Dann wäre noch die Interpretation die, dass ein RESET bereits ab 0.9 VCC 
auftretten kann, mit Sicherheit dann bei 0.1 VCC eintritt. Also am RESET 
Pin unbedingt über 0.9 VCC anliegen müssen um keine ungewollten RESET 
auszulösen. Was einen externen Pullup Widerstand aus meiner Sicht 
zwingend erfordlich macht.

Die Frage die sich mir dann allerdings stellt ist ob dann eine Brown Out 
Detection überhaupt noch Sinn macht. Wenn ich den RESET Pin mit Pullup 
an Vcc lege und BOD enable aktiviert ist, welcher RESET wird dann zu 
erst auftreten?

Bezüglich der Brown Out RESET Threshold Voltage V_bot findet man im 
Datenblatt folgende Notiz:

"VBOT may be below nominal minimum operating voltage for some devices. 
For devices where this is the case, the device is tested down to VCC = 
VBOT during the production test. This guarantees that a Brown-out Reset 
will occur before VCC drops to a voltage where correct operation of the 
Microcontroller is no longer guaranteed. The test is performed using 
BODLEVEL = 1 for ATmega16L and BODLEVEL = 0 for ATmega16. BODLEVEL = 1 
is not applicable for ATmega16."

Atmel garantiert also, dass der Brown Out RESET (BODLEVEL = 0) 
stattfindet bevor auf Grund der niedrigen Versorgungsspannung der uC 
instabil wird.

Was ist aber mit dem RESET Pin der über den Pullup,der an Vcc hängt? Bei 
5V Versorgungsspannung könnte unterhalb von 4,5V am RESET Pin der RESET 
ausgelöst werden. Es wäre also denkbar, dass ein externer RESET 
auftritt, bevor bei 4,0V ein Brown Out RESET kommt.

Gibt es vielleicht eine ähnlich Aussage von Atmel bezüglich V_rst? Oder 
kann ich das auch so verstehen, dass durch die Tests gewährleistet ist, 
der Brown Out RESET tritt zuerst auf, da andernfalls ja der 
Microcontroller instabil werden würde?

Für Hinweise, die mich schlauer machen bin ich dankbar.

Gruss,
drezinho

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

drezinho schrieb:

> Dann wäre noch die Interpretation die, dass ein RESET bereits ab 0.9
> VCC auftretten kann, mit Sicherheit dann bei 0.1 VCC eintritt.

Genau so ist es.  Wenn am Eingang zwischen 0,9 Vcc und Vcc + 0,5 V
anliegen, wird er garantiert als high erkannt.  Wenn zwischen -0,5 V
und 0,1 Vcc anliegen, wird er garantiert als low erkannt.  Dazwischen
bewegst du dich in einem undefinierten Bereich, der insbesondere beim
IC-Test einfach nicht gemessen wird.

> Was einen externen Pullup Widerstand aus meiner Sicht
> zwingend erfordlich macht.

Nein, denn es gibt einen internen Pullup-Widerstand.  Allerdings ist
es aus EMV-Sicht u. U. sinnvoll, externen einen Pullup und einen C
anzuschalten, wobei dann parallel zum Pullup noch eine Diode empfohlen
wird, da der Reset-Pin keine reguläre ESD-Schutz-Diode gegen Vcc hat
(wegen des möglichen HV-Reset).  Dafür gibt's eine Appnote.

> Die Frage die sich mir dann allerdings stellt ist ob dann eine Brown
> Out Detection überhaupt noch Sinn macht. Wenn ich den RESET Pin mit
> Pullup an Vcc lege und BOD enable aktiviert ist, welcher RESET wird
> dann zu erst auftreten?

Welche BOD?  Die interne?  Die kommt in jedem Falle zuerst.  Ein
reiner Pullup an /RESET kann ja nie die Bedingung 0,9 Vcc
unterschreiten, sondern er wird den Eingang immer nahe an 1 Vcc
halten (da ja kein weiterer Ableitstrom existiert).

> Was ist aber mit dem RESET Pin der über den Pullup,der an Vcc hängt?
> Bei 5V Versorgungsspannung könnte unterhalb von 4,5V am RESET Pin
> der RESET ausgelöst werden.

Der verwechselst hier die "nominale Vcc" (gegenüber der der BOD
getestet wird) mit der tatsächlichen Vcc.

von drezinho (Gast)


Lesenswert?

Jörg Wunsch schrieb:
> Der verwechselst hier die "nominale Vcc" (gegenüber der der BOD
> getestet wird) mit der tatsächlichen Vcc.

Hallo Jörg,

danke für deine Antwort, da hast Du recht, hab ich verwechselt.

Dann kann ich davon ausgehen, dass die 0,9 Vcc für V_rst auch unterhalb 
der im Datenblatt angegeben Operation Voltage von 4,5V - 5,5V gelten? 
Der Brown-out Reset, intern mit BODLEVEL = 0 kann im Extremfall ja erst 
bei 3,6V auftreten.

Die Frage zielt darauf ab, was passiert, wenn ich den RESET Pin in einer 
Schaltung benutzen will, die ebenfalls mit Vcc gespeist wird und diese 
bis zum
Brown-Out sinkt. Also ein Spannungsteiler von internem Pullup und 
externer Beschaltung muss demnach mindestens ein Teilerverhältnis 9:1 
haben.

Die Appnote ist mir bekannt.

gruss,
drezinho

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

drezinho schrieb:

> Dann kann ich davon ausgehen, dass die 0,9 Vcc für V_rst auch unterhalb
> der im Datenblatt angegeben Operation Voltage von 4,5V - 5,5V gelten?

0,9 Vcc sind 0,9 Vcc, egal wie hoch Vcc gerade ist.

> Der Brown-out Reset, intern mit BODLEVEL = 0 kann im Extremfall ja erst
> bei 3,6V auftreten.

Ja, der ATmega16 war da noch sehr großzügig. ;-) Bei den neueren AVRs
sind die Schaltschwellen enger gefasst.

Da du aber von einem ATmega16L sprichst, sind die 4,5 V ja für dich
ohnehin nicht relevant, denn den darfst du ja offiziell nur bis 8 MHz
benutzen, dann aber ab Vcc = 2,7 V.

Ggf. könntest du ja über einen Ersatz durch ATmega164P nachdenken, der
hat enger klassifizierte Grenzen.

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
Noch kein Account? Hier anmelden.