1.000.000 Löschzyklen sind eine Menge, aber Sie können das schnell ausbrennen, wie Sie festgestellt haben. Bei einmal pro Sekunde gemessenen Werten würde dies in 11,6 Tagen erreicht werden.
Wie bereits erwähnt, ist das Speichern im RAM und das gelegentliche Schreiben in das EEPROM eine Möglichkeit.
Eine andere Möglichkeit ist die Verwendung von FLASH EEPROM. Bei FLASH kommt es nur auf die Anzahl der Löschvorgänge an. Sie können viele Male schreiben und 1s ohne Strafe in 0s verwandeln. Wenn Sie nur wenige Messwerte und relativ viel FLASH-Speicherplatz haben, können Sie Datensätze verwenden.
Löschen Sie die Daten und lassen Sie alle 0xFFs.
Für Schreibvorgänge: Schreiben Sie nacheinander in den EEPROM-Bereich. Wenn Sie voll sind, löschen Sie alles und beginnen Sie von vorne. Wenn Ihr Datenwert alle 0xFFs ist, müssen Sie ihn um ein LSB ändern, um zu vermeiden, dass er wie ein leerer Datensatz aussieht. In Ihrem Fall wäre das sowieso ein Überlauf.
Zum Lesen: Suchen Sie nach dem Datensatz all-0xFFs und sichern Sie einen. Wenn Sie das Ende erreichen und kein All-0xFF-Datensatz vorhanden ist, ist dies die letzte Position.
Die FLASH-Ausdauer ist normalerweise geringer ... sagen wir 100.000. Ein einfacher 1-Mbit-FLASH hätte jedoch mit dieser Methode genügend Speicherplatz für fast 104 Jahre Speicherplatz.
Für ein kommerzielles Produkt wie dieses sollten Sie bei EEPROM-Schreibvorgängen die Sicherheit eines Stromausfalls haben. Fügen Sie entweder eine Stromausfallerkennung und genügend Backup-Leistung (Supercap, was auch immer) hinzu, um einen Schreibvorgang abzuschließen ... oder führen Sie die Schreibvorgänge ausfallsicher aus. Zu diesem Zweck können Sie das EEPROM in zwei Hälften teilen, beim Schreiben zwischen den Hälften wechseln und eine CRC mit dem Datensatz schreiben. Beim Lesen wird auf beiden Seiten nach dem neuesten Datensatz mit einem gültigen CRC gesucht. Die Hälften müssen aus Sicherheitsgründen mit einem Löschblock ausgerichtet sein.
Die Energieversorger wollen jedoch in der Regel mehr als nur den gesamten Stromverbrauch. Überlegen Sie, wie viele Zählungen / Sekunde Sie erhalten, und speichern Sie diese Zahlen ebenfalls. Die meisten Versorgungsunternehmen berechnen gewerblichen Kunden auch die maximale Leistung, die sie in einem bestimmten Intervall von etwa 15 Minuten benötigen.