Estoy diseñando un dispositivo que ajusta automáticamente su posición física a medida que cambia la temperatura. Si el dispositivo se apaga o se desconecta la alimentación, el dispositivo debe recordar su última temperatura y posición. Tengo la capacidad de almacenar estos valores en EEPROM, pero el problema es que la posición y la temperatura podrían estar cambiando muy rápidamente. Si tuviera que escribir la temperatura y la posición en la EEPROM después de cada cambio, eso (1) ralentizaría un poco el firmware y (2) probablemente eliminaría la EEPROM después de un año o dos. Entonces, como lo veo, mis opciones son las siguientes ...
1) use un condensador / batería para mantener el dispositivo encendido por un corto tiempo después de que se pierda la alimentación, de modo que solo pueda escribir los valores en EEPROM en ese momento. No me gusta esto porque el tablero está un poco hambriento de poder y esto requeriría una gran capitalización. Y no tengo un montón de espacio libre. Y no quiero el costo adicional de una batería y el soporte de la batería / o una gran capitalización.
2) use F-RAM en lugar de EEPROM para poder escribirle un billón de veces sin agotarlo. No me gusta esta opción porque FRAM es un poco más caro que EEPROM y esto es para un producto de producción (no solo uno).
3) Solo escriba la posición y la temperatura cada 5 minutos aproximadamente. De esa manera, siempre tengo una posición / temperatura bastante reciente registrada, pero no estoy escribiendo cada segundo, por lo que mi programa no se ralentiza y la EEPROM no morirá tan rápido. Esta parece ser mi mejor opción.
¿Alguien más tiene alguna sugerencia en la que no esté pensando?