Forum: Analoge Elektronik und Schaltungstechnik I/O Register Inhalt nach Einschalten der Betriebsspannung


von Thomas Fuchs (Gast)


Lesenswert?

Hallo,

vielleicht eine dumme Frage, aber sind die Register Inhalte (Multi 
purpose & I/O) immer Null wenn die Betriebspannung neu angelegt wird und 
das Programm neu gestartet wird?
Habe im Datenblatt darüber nichts gefunden. Nur Angaben zum Geschehen 
bei einem Reset. Denke aber das es ganz logisch wäre. Möchte aber sicher 
sein.
Vielleicht noch eine Frage. Wird ein Programm fehlerfrei ablaufen wenn 
es mit einer Betriebsspannung von 5V betrieben wird, der Reset aber erst 
bei 3,3V durch ein Überwachungs IC ausgelöst wird? Benötige Zeit um 
wichtige Daten bei einem Stromausfall ins EEPROM zu sichern. Werde es 
natürlich bald praktisch testen aber theoretisch geht es doch, oder?

Vielen Dank für eure Antworten.

Thomas Fuchs

P.S. Tolle Webseite und gutes Forum.

von Jonas Diemer (Gast)


Lesenswert?

Hi!

das mit den registern interessiert mich auch! im avrstudio werden die 
nämlich nicht auf 0 gesetzt, was darauf hindeutet, dass das im mcu auch 
nciht geschieht...

die zweite frage versteh ich nicht ganz. was genau willst du machen?

von Siegfried (Gast)


Lesenswert?

Zu Deiner 2 Frage nur ein Tipp.
Frag das Ereignis Spannungsabfall doch vor dem Regler und nicht hinter 
dem Regler ab, dann wird der Netzausfall früher erkannt, und du hast 
noch mehr Zeit auf das Ereignis zu reagieren.

Ggf. kann man den µC, der ja ohnehin sehr wenig Strom frist, durch einen 
eigenen Netzteilzweig versorgen (eigener Ladeelko, Spannungsregler 
usw.). D.h. der µC ist beim Netzausfall noch ein paar ms länger aktiv 
und kann die Peripherie bei Bedarf kontrolliert stillsetzen.

Siegfried

von Thomas Fuchs (Gast)


Lesenswert?

Hallo Siegfried,

genau das hatte ich auch vor. Vor dem Regler über Interrupt das Ereignis 
frühzeitig erkennen. Und da der AVR locker bis 3V (2,7V) arbeiten soll 
denke ich das es klappt. Allerdings dauert das schreiben ins EEPROM 
relativ lange (8Bytes ca.32ms bei niedriger Ub). Mal sehen.

Thomas

von Stefan_H (Gast)


Lesenswert?

Meiner Meinung nach reicht ein Elko nach dem Spannungsregler aus um zeit 
zu gewinnen. 4700mF bringt dir bei 5 V ca. 4s lang 5mA. Weiß nicht 
wieviel dein mikrocotroller braucht, aber das müßt doch reichen?

lg,

Stefan

von Siegfried (Gast)


Lesenswert?

Den Spannungsabfall kann man schlecht (oder zu spät) am Ladeelko 
abgreifen. Besser noch eine Si-Diode zwischen Gleich-Riecht-Er und 
Ladeelko setzen, dann kann der AVR auf eine fehlende Halbwelle triggern. 
Dies sollte mit einem NPN-Transistor, der einen Basis-Emitter-Widerstand 
hat und über einen 1k-Widerstand in Reihe mit einer 5V6-Z-Diode an den 
+Pol des Gleichrichters möglich sein. Den Kollektor des Transistors über 
einen 1k an VCC und dann an einen geigneten Pin des AVR.

Mit einem Optokoppler direkt über einen Vorwiderstand im Sekundärkreis 
des Trafos geht das natürlich auch.

Die AVRs brauchen je nach Typ und Taktrate so um die 2 - 6 mA.

Zur Not tuts auch eine Pufferbatterie, die nur für den 
EEPROM-Schreibvorgang verwendet wird. anschliesend wird der AVR in den 
Power-Down-Mode gesetzt und braucht dann weniger als 1µA. Bei Atmel 
gibts überigens einige Warnhinweise zum Thema Power-Down und EEPROM.
Such mal nach:
"prevent EEPROM Corruption" und
Application-Note "AVR180: External Brown-Out Protection"
auf den Atmel-Seiten.

Siegfried

von Jonas Diemer (Gast)


Lesenswert?

was is eigentlich nun mit den registern? sind die initialisiert oder 
nicht?

von Thomas_D (Gast)


Lesenswert?

Beim Power On Reset sind die Register auf jeden Fall initialisiert. Bei 
allen anderen Resets ist es unterschiedlich, teilweise variert es sogar 
von Derivat zu Derivat. Bei http://www.avrfreaks.com gibt es aber seit 
neuestem unter ACADEMY eine Application Note, in der die 
Registerzustände nach den verschiedenen Resets genau angegeben werden.

von Jonas Diemer (Gast)


Lesenswert?

ok, danke.

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.