1,000,000 ciclos de borrado es mucho, pero puedes quemarlo rápidamente como te diste cuenta. Para lecturas de una vez por segundo, eso se cumpliría en 11.6 días.
Como ya se mencionó, almacenar en la RAM y luego escribir en la EEPROM solo ocasionalmente es una forma.
Otra forma es usar FLASH EEPROM. Con FLASH solo importa el recuento de borrados. Puedes escribir muchas veces convirtiendo 1s en 0s sin penalización. Si solo tiene unas pocas lecturas y una cantidad relativamente grande de espacio FLASH, puede usar los registros.
Borre los datos, dejándolos todos 0xFFs.
Para escrituras:
Escribir secuencialmente en el espacio EEPROM. Cuando estés lleno, borra todo y vuelve a empezar. Si su valor de datos es todos 0xFFs, debe cambiarlo por un LSB para evitar parecer un registro en blanco. En su caso, esa sería una condición de desbordamiento de todos modos.
Para las lecturas:
Busque el registro de todos los 0xFF y haga una copia de seguridad de uno. Si llegas al final y no hay un registro de todos los 0xFF, la última posición es esa.
La resistencia de FLASH es usualmente más baja ... digamos 100,000. Sin embargo, un simple FLASH de 1Mbit tendría suficiente espacio para casi 104 años de almacenamiento con este método.
Para un producto comercial como este, debe tener seguridad de falla de energía en las escrituras de EEPROM. Agregue detección de falla de energía y suficiente energía de respaldo (supercap, lo que sea) para completar una operación de escritura ... o realice las escrituras de manera segura. Para hacer esto, puede dividir la EEPROM en dos mitades, alternar entre mitades en las escrituras y escribir un CRC con el registro de datos. La lectura buscará el último registro en cualquiera de las páginas con un CRC válido. Las mitades deben estar alineadas con un bloque de borrado para su seguridad.
Sin embargo, las utilidades generalmente quieren algo más que la potencia total utilizada. Considere llevar la cuenta de cuántos conteos / segundo obtiene y almacene estos números también. La mayoría de las empresas de servicios públicos cobran a los clientes comerciales según la potencia máxima que necesitan en un intervalo de 15 minutos aproximadamente.