Forum: Mikrocontroller und Digitale Elektronik Verständnisproblemm, ATmega88, ext. RESET vs. BROWN-Out


von Sergej (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute!

Ich habe ein Verständnisproblem bei dem Atmega 88. Es geht um den ext. 
Reset und den Brown-Out-Reset. Aus dem Datenblatt geht hervor(meiner 
Meinung nach!), dass die beiden Resetmöglichkeiten im Endeffekt das 
gleiche bewirken. (siehe Anhang :Auszug aus dem Datenblatt --- 
RESET-LOGIK).

Problem:

Nach einem ext. Reset werden alle Variablen richtig initialisiert, bzw. 
die Variablen sind nicht mit Müll gefüllt. Und das Programm läuft ohne 
Probleme weiter.
Wird allerdings ein Brown-Out-Reset ausgelöst (Die Spannung = 0V,  die 
int. Kapazitäten werden entladen!!!) steht nach der Initialisierung in 
den Variablen, die nicht explizit auf einen bestimmten Wert gesetzt 
wurden, nur Müll. Und das führt natürlich zu unerwünschten Effekten.

Ok, man könnte sagen die Variablen sollten immer einen Default-Wert 
haben.
Trotzdem bleibt es für mich erst mal ein Rätsel warum die RESET – 
Varianten sich so unterscheiden!?!

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Sergej wrote:

> Wird allerdings ein Brown-Out-Reset ausgelöst (Die Spannung = 0V,  die
> int. Kapazitäten werden entladen!!!) steht nach der Initialisierung in
> den Variablen, die nicht explizit auf einen bestimmten Wert gesetzt
> wurden, nur Müll.

Ja, und? Variablen, die Du nicht initialisiert hast sind undefiniert. 
Das ist auf anderen Plattformen genau so. Und die Resets unterscheiden 
sich konzeptionell nicht (bzw. es wuerde mich sehr schwer wundern).

von spess53 (Gast)


Lesenswert?

Hi

Wenn du dir dein Bild ansiehst, wirst du bemerken, das alle Resetquellen 
in einer Leitung enden. Also ist die Wirkung identisch. Lediglich im 
MCUSR kann man die Resetquelle erkennen.
Die IO-Register werden beim RESET auf einen Defaultwert (siehe 
Datenblatt) gesetzt. Der µC kennt keine Variablen. Nach dem Reset fängt 
er einfach von vorn an. Die Veriablen des Programms werden von dem 
selber initialisiert.

> die nicht explizit auf einen bestimmten Wert gesetzt
>wurden, nur Müll. Und das führt natürlich zu unerwünschten Effekten.

Das ist Unsinn. Der Controller verhält sich nach jedem Reset identisch. 
Nur wenn man das MCUS-Register auswertet kann eine unterschiedliche 
Reaktion erzeugt werden.

MfG Spess

von Klugscheisser (Gast)


Lesenswert?

@ Sergej

Welchen Wert hat denn eine RAM-Zelle nach dem Einschalten, Reset und 
Brown-Out? Hast Du das mal erforscht?

von Joe (Gast)


Lesenswert?

auf www.avrfreaks.net gibts diverse Design Notes, hier:

http://www.avrfreaks.net/index.php?module=Freaks%20Tools&func=viewItem&item_id=232

AVR Memory Contents After Sleep and Reset

von peter-neu-ulm (Gast)


Lesenswert?

Beim Reset per reset-Pin wird hier anscheinend die Betriebsspannung 
nicht oder nur kurz auf Null gebracht. Die Register zund Speicher 
behalten da eben noch ihre Information.
Beim Brown-Out-Reset geht aber die Spannung ganz runter und da verlieren 
die Speicher / Register ihren Inhalt.

von (prx) A. K. (prx)


Lesenswert?

Wobei das SRAM den Inhalt auch noch bei weitaus geringerer Spannung 
beibehält, als der Brownout-Level suggeriert.

Brownout heisst nur, dass der betreffende Spannungspegel unterschritten 
wurde. Wie weit tiefer das war geht daraus nicht hervor, aber wenns zu 
niedrig wird, dann wird abschliessend ein Power-Up Reset draus.

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.