Forum: Mikrocontroller und Digitale Elektronik ESP32 Flash Schreibzyklen Preferences Libary


von mx (Gast)


Lesenswert?

Hallo, ich möchte mit dem ESP32 jede 1-2Minute einen Status(Strom 
ausfallsicher) abspeichern. Kann ich da bedenkenlos über die Preferences 
Libary den Flash verwenden oder sollte ich doch lieber einen externen 
i2c EEPROM mit 1Mio Zyklen verwenden. Bei den ESP Modulen weiß ich nicht 
genau wie viel der Flash ab kann.

von jemand (Gast)


Lesenswert?

mx schrieb:
> Hallo, ich möchte mit dem ESP32 jede 1-2Minute einen Status(Strom
> ausfallsicher) abspeichern. Kann ich da bedenkenlos über die Preferences
> Libary den Flash verwenden oder sollte ich doch lieber einen externen
> i2c EEPROM mit 1Mio Zyklen verwenden. Bei den ESP Modulen weiß ich nicht
> genau wie viel der Flash ab kann.

Flash hat LÖSCHZYKLEN.
Mit geschickter Verwendung eines größeren Speicherbereichs dürfte es 
problemlos möglich sein, die Zahl der Löschzyklen gering zu halten.

Beispielsweise kannst du 2 Bytes in 2 kBytes speichern. Byte1 sag 
"gültig", Byte2 den Wert. Jetzt kannst du 1000mal schreiben, und musst 
nur einmal löschen.
Wenn du lesen willst, gehst du den Bereich von unten nach oben durch, 
und nimmst den letzten gültigen Wert.
So als Beispiel.

Ohne irgendeine Angabe der Löschzyklen des Flash, und ohne zu wissen, 
wie lange das leben soll, kann dir aber keiner helfen.
Wenn es beim ESP keine Angabe gibt, du aber ein zuverlässiges System 
haben willst, wirst du um ein externes EEPROM nicht herumkommen.

von Christian J. (Gast)


Lesenswert?

mx schrieb:
> Hallo, ich möchte mit dem ESP32 jede 1-2Minute einen Status(Strom
> ausfallsicher) abspeichern. Kann ich da bedenkenlos über die Preferences
> Libary den Flash verwenden oder sollte ich doch lieber einen externen
> i2c EEPROM mit 1Mio Zyklen verwenden. Bei den ESP Modulen weiß ich nicht
> genau wie viel der Flash ab kann.

Eigentlich macht man sowas anders.... jeden Tag hast Du schon 8760 
Minuten, hart an der Grenze des ESP32 Flash. Normalerweise lässt man 
CPUs erst ihre Daten wegschreiben, wenn ihnen das Licht ausgeht. Sie 
kriegen dann einen Mikrofarad-Puffer, dessen Spannung überwacht wird und 
der noch so eben ausreicht für ein paar Flash Writes, bevor der Brown 
Out zuschlägt. So machen wir es jedenfalls hier in der Firma.

von Einer K. (Gast)


Lesenswert?

mx schrieb:
> oder sollte ich doch lieber einen externen
> i2c EEPROM mit 1Mio Zyklen verwenden.

Hmm..
FRAM?
Nicht viel teurer, nahezu die selbe Ansteuerung.


Das SPIFFS des ESP betreibt Wearleveling (?), vielleicht mildert das ja 
die Problematik.
Diverse SD-Karten sind da auch recht gut, nicht alle.

von Ach was? (Gast)


Lesenswert?

Christian J. schrieb:
> jeden Tag hast Du schon 8760 Minuten
Da hast Du ja wirklich Pech, so ein langer Tag...

Mein Tag ist zum Glück nur 1440 Minuten lang.

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.