EEPROM Atomic-Operation+Mega48

Gast #270060
Lesenswert?
• ▲
▼
Hallo,
ich habe eine Frage bezüglich der EEPROM-Lebensdauer eines Atmega48.
Man kann 3 Schreib-Modi einstellen.
1.“Erase and Write in one Operation(Atomic Operation)”
2.”Erase only”
3.”Write only”

Zuerst  habe ich Modus 3 benutzt, jedoch bekomme ich dann beim Lesen
der EEPROM-Zelle  fast immer 0x00, anstatt den Wert, den ich zuvor in
die Zelle geschrieben habe.
Mit Modus 1 funktioniert alles. Das was ich in die Zelle geschrieben
habe bekomme ich beim Lesen auch wieder. Jedoch mache ich mir Sorgen um
die Lebensdauer.
Im Datenblatt des Mega48 heißt es auf Seite 18/19:
------------------------------------------------------------------------ 
--------------------------
The EEPROM Programming mode bit setting defines which programming
action that will
be triggered when writing EEPE. It is possible to program data in one
atomic operation
(erase the old value and program the new value) or to split the Erase
and Write opera-
tions in two different operations.
------------------------------------------------------------------------ 
----------------------------------------------

Heißt das, dass jede EEPROM-Zelle bei einem Schreibzugriff sowieso
zuerst gelöscht werden muss um dann wieder beschrieben werden zu
können, oder halbiert sich die Lebensdauer des EEPROMS dadurch?

Für so wenig wie möglich Schreibzugriffe habe ich bereits gesorgt,
jedoch würde es mich trotzdem interessieren, ob der EEPROM im 1.
Schreibmodus immer noch die volle Lebensdauer hat oder nicht.

...Daniel...
Gast #270061
Lesenswert?
• ▲
▼
wenn ich mich recht erinnere, ist das Löschen der begrenzende Faktor für
die Lebensdauer.
Schreiben kannst du nur in eine gelöschte Zelle. Genauer gesagt, du
kannst eigentlich nur Bits von 1 nach 0 schreiben, niemals von 0 nach
1.
Das KANN Löschzyklen sparen, je nach altem und neuen Datum. 0xf0 alt
nach 0x80 z.B. sollte gehen.
Insofern macht es Sinn, dass beim Schreiben nicht automatisch ein
Löschzyklus ausgelöst wird.
Auch zeitlich dürfte es was bringen, wenn du in vorher gelöschte Zellen
den write-only-Zyklus benutzt.
Mir persönlich ist das alles recht neu, ist das bei den anderen Megas
auch so? Lange nicht mehr drum gekümmert....
Gast #270062
Lesenswert?
• ▲
▼
Hallo Crazy Horse,
danke erst mal für deine Tips  :)
Das heißt also, es geht nur in bestimmten Fällen... das macht Sinn, da
mein Ergebnis manchmal richtig, jedoch meistens falsch ist. Ich muss
nur 1 Byte speichern, welches nur Werte von 0 bis 4 enthält. Zeitlich
gesehen kann das ruhig lange dauern. Mein Mega48 schläft sowieso 99%
seiner Zeit.
Bisher habe ich das mit den Modi auch noch nicht gesehen, außer hier.
Bei den älteren Modellen ist das auf jeden Fall nicht so. Der Mega48
ist ja auch ziemlich neu...muss wohl daran liegen.

Daniel

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.