Forum: Mikrocontroller und Digitale Elektronik SRAM Backup ins EEPROM


von Rölf (Gast)


Lesenswert?

Hi
ich habe hier mal gelesen, das es möglich ist, die sensiblen Daten im
SRAM bei Stromausfall schnell ins EEPROM zu sichern. Wie genau
funktioniert das? Hat der AVR die Zeit dazu? Muss dann ja tierisch
schnell ablauft, bevor der letzte C seinen Spannung verliert...
Gibts dazu irgendwo ein Codebeispiel?

von Nico Schümann (Gast)


Lesenswert?

Ich würde sagen, dass das so nicht möglich ist, denn wenn der AVR merkt,
dass ihm der Saft ausgeht, sollte es schon zu spät sein..

a)
 die wichtigsten Sachen in ne Struct schmeißen und alle BLA Sekunden
ins EEPROM sichern (ungute Lösung, ich weiß)

b)
 nach Spannungsschwankungen suchen (ADC) und wenn was festgestellt
wird, sofort sichern.. Ist die Frage, ob 5ms da reichen..

von Kai R. (kairiek)


Lesenswert?

Kommt immer darauf an, wie "sensibel" deine Daten sind und wie oft sie
geändert werden. Dann würde ich dir auf jeden Fall auch die Lösung a)
von Nico empfehlen.
Eine spontane Idee von mir wäre die Folgende: Mit "Gold Caps" (z.B.
Conrad 473120) die nötige Zeit verschaffen um deine Daten zu sichern.
Wenn der AVR den Ausfall des Netzteils erkennt, hat dieser Elko
bestimmt noch genug Energie zum Sichern der Daten.

MFG

Kai

von A.K. (Gast)


Lesenswert?

Wenn es softwareseitig unbedingt so sein muss: Spannungssensor dort hin
wo die Versorgungsspannung herkommt (der analog comparator kann dazu
dienen). Per Kondensator (evtl. plus Diode) sicherstellen, dass auch
wenn's dort eng wird, der Controller noch ausreichend Zeit zum
Speichern ins EEPROM hat.

Alternative: Power-Down Mode wenn Strom weg und Pufferung der
Stromversorgung vom Controller, Pin-IRQ zum aufwecken. Dann bleibt der
Inhalt im RAM und muss garnicht ins EEPROM.

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.