Werte im eeprom speichern...aber wann?

OP #317399
Lesenswert?
• ▲
▼
Hi!
Ich möchte 8 16-Bit Werte im Eeprom abspeichern (Atmega8 WinAVR gcc)
damit diese beim Abschalten nicht verloren gehen. Die Werte können aber
jederzeit vom Benutzer verändert werden und es wäre auch denkbar, dass
der Benutzer einen Wert ändert und sofort danach das Gerät abschaltet.

Wie stelle ich das Speichern sicher, ohne ständig bei jeder
Benutzereingabe gleich den Eeprom zu beschreiben?

Denkbar wäre, den Abfall der Versorgungsspannung zu messen und dann zu
schreiben (Spannung über eine Art Puffer aufrechterhalten). Das
erscheint mir aber doch etwas aufwendig, zumal ich keine Pins mehr frei
habe und auch die Schaltung bereits fertig ist.
Gibt es noch andere Lösungen?

Kersten
Gast #317403
Lesenswert?
• ▲
▼
Du hast dir ja selber die Antwort gegeben.

Und wenn dir die 100000 Sorgen machen: Speichere 1x32bit,8x16bit. Der
32bit-Wert ist ein Zähler. Und diesen 20-Byte-Block schreibst du nicht
immer an die selbe Stelle, sondern hübsch im Ringelreihen immer
hineinander. Beim Start suchst du den Eintrag mit dem höchsten
32bit-Zähler, beim nächsten Schreibvorgan landet das dann mit +1
dahinter.

Ergibt rund 2,5 Mio garantierte Schreibvorgänge. Bei 10 Jahren
Lebensdauer und 10 Stunden pro Tag darf der Anwender dann immer noch
jede Minute dran drehen.
#317407
Lesenswert?
• ▲
▼
Der aktuelle Zählestand wird paarweise mit dem zugehörigen Wert im
Ringspeicher abgelegt. Deswegen müsste man zum Auslesen erst den
höchsten Zählerstand suchen.
Je nach geplanter Anwendung des Netzteils würde ich mir den Aufwand mit
so einem Ringspeicher allerdings sparen und darauf vertrauen, dass der
EEPROM deutlich mehr als die garantierten Zyklen aushält, mindestens
Faktor 10 bei Ruamtemperatur :) Eine Speicherung z.B. ein Sekunde
nachdem der Wert stabil ist sollte doch eine ausreichende Lebensdauer
sichern, oder?

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.