Eeprom schonen

Hallo,

macht es Sinn das Eeprom so zu beschreiben, dass über die Zeit sämtliche Stellen beschrieben werden, anstatt immer auf die gleiche Stelle zu schreiben und gibt es hierfür eine einfache "Schaltlogik"?

Gruß Chris

PS: In den Fällen die ich benötige geht es lediglich darum, das letzte zu steuernde Gerät zu speichern, damit der Arduino z.B. bei einem Stromausfall automatisch wieder das richtige "File" liest.

Das hier habe ich bereits gelesen: EEPROM und wie man die Lebensdauer erhöhen kann - Deutsch - Arduino Forum

Chris72622:
macht es Sinn das Eeprom so zu beschreiben, dass über die Zeit sämtliche Stellen beschrieben werden, anstatt immer auf die gleiche Stelle zu schreiben und gibt es hierfür eine einfache "Schaltlogik"?

Beim EEPROM garantiert Dir Atmel, dass dieses insgesamt mindestens 10000 mal beschrieben werden kann.

Als erstes steht also die Überlegung: Wieviele Schreibvorgänge fallen bei Deinem Gerät an, gerechnet über die gesamte Gerätelebensdauer?

Wenn das EEPROM nur bei Stromausfall beschrieben werden soll, "wenn der Saft weggeht", reicht das natürlich locker für 20 Jahre und mehr, da es in deutschen Stromnetzen nicht zu täglich mehreren Stromausfällen kommt, wir sind ja hier nicht in Afrika.

Es gibt durchaus Lösungen aus Software und Hardware, wobei die Software laufend die Betriebsspannung des Controllers mißt, und der Controller wird über einen kleinen Energiespeicher (Kondensator bzw. Goldcap) mit Strom versorgt, und wenn ein Spannungsabfall in der Versorgung festgestellt wird, bleiben dem Programm noch - je nach Größe des Kondensators - einige Millisekunden, Sekunden oder noch mehr, um die Daten vor der Abschaltung noch ins EEPROM zu sichern.

Einfacher wäre es allerdings, stattdessen einen kleinen batteriegepufferten RAM-Speicher zu haben, der beliebig oft beschrieben werden kann. Tipp: Die DS1307 Realtime-Clock hat im Uhrenchip 56 Bytes RAM-Speicher, und im Fall eines Stromausfalls puffert die Uhr mittels ihrer Pufferbatterie nicht nur die Uhrzeit, sondern auch diese 56 Bytes RAM. So dass der Controller, wenn er denn läuft, jederzeit diese 56 Bytes lesen oder beschreiben kann, und falls ein plötzlicher Stromausfall auftritt, bleiben die Werte im RAM im Uhrenchips erhalten, bis der Controller wieder startet.

Dank Dir, Jurs!

In der Veranstaltungstechnik fällt der Strom leider öfters mal aus. :stuck_out_tongue:

Werd mir den Einbau eines weiteren Bauteils aber trotzdem sparen.

Gruß Chris

Hallo,

in dem Link, steht ganz unten die Antwort für Dein Problem, wenn Du keinen DS1307 nehmen möchtest. Wobei das nun auch egal ist ob Du einen EEprom nimmst oder einen DS1307. Du kannst auch, worauf ich hinaus wollte in eine SD-Karte schreiben. Die bekommst Du nur durch beschreiben zu Lebzeiten nicht kaputt. SanDisk sei empfohlen. Da kümmert sich der interne Controller über die Schreibverteilung auf seine Speicherzellen. Aus Sicherheitsgründen würde ich jedoch den DS1307 empfehlen. Dann fallen die "Kontaktprobleme" als Restrisiko der SD-Karte weg. Korrosion, Erschütterungen usw.

Das wären meine Gedanken dazu ...