Actualmente estoy trabajando en un proyecto integrado en el que tengo un contador que va a estar activo todo el tiempo. Si la energía va hacia abajo y luego también tengo que almacenar último contador de estatus y la carga de nuevo en el siguiente inicio. Así que yo estaba planeando usar la EEPROM en el que voy continuamente de escribir mi valor de contador. Pero en algún sitio he leído que la EEPROM de lectura y escritura de resistencia alrededor de 100.000 y voy a estar actualizando el contador probablemente 120,000 por 24 horas. Así que estoy buscando alternativas para realizar esta tarea. por favor, dame tu sugerencia para hacer lo mismo.
Respuestas
¿Demasiados anuncios?Otra solución podría ser utilizar un microcontrolador con los no-volátil de FRAM. FRAM no sufre de las mismas limitaciones en los ciclos de escritura como memoria EEPROM.
Algunos de los MSP430 productos de TI están disponibles con FRAM, aquí hay un enlace a una aplicación similar a lo que usted describe:
MSP430 con FRAM guardar estado en fallo de alimentación
Aquí está el artículo de la Wikipedia sobre FRAM: FRAM
Tengo este problema en un proyecto actual.
La forma en que estoy tratando de que es mantener el valor real del contador en la memoria RAM. He añadido un poco de hardware para que el microcontrolador puede detectar que la cruda energía de entrada voltaje es bajo. Si es así, deja lo que está haciendo, guarda el contador de valor en la EEPROM, y luego espera a ver el raw de voltaje de alimentación. Si se vuelve a subir, con algunos de histéresis, a continuación, el micro esencialmente se reinicia. De lo contrario, si el poder sigue a ir hacia abajo, el micro finalmente se detiene. En el próximo reinicio, el valor del contador se carga desde la memoria EEPROM, luego se usa en vivo en la memoria RAM de nuevo hasta el próximo apagado.
No toma mucho tiempo para escribir un pequeño valor en la memoria EEPROM. Más probable es que tu fuente de alimentación existente sistema de almacenamiento de energía que puede detectar el voltaje va de baja, y todavía tienen suficiente garantizado el tiempo de ejecución antes de poder para el micro va a continuación de la operación o de la escritura de EEPROM umbral.
En mi caso, el único hardware adicional fue un diodo Schottky para evitar que la fuente de alimentación de CC de la succión de carga de los locales de depósito en el camino hacia abajo, y dos resistencias como un divisor de voltaje para que el micro puede leer el raw de la tensión de entrada. El resto es de firmware.
Es importante tener en cuenta que debe estar viendo el voltaje en la entrada a cualquier oferta final poderes de la micro, no el micro de la tensión de alimentación directamente. Por el momento el último pasa a nivel bajo, puede ser demasiado tarde. Esperemos que haya un rango de voltaje que está por debajo del peor de los casos cuando todo está funcionando correctamente, y por encima de lo que el micro de la fuente de alimentación debe garantizar voltaje regulado para el micro. En mi caso, el micro del suministro de un marco regulador de la fed de 48 V, por lo que hay una amplia gama que está por debajo de lo normal, pero donde el micro todavía puede funcionar de forma fiable.
Microchip tiene una serie de I2C "EERAM" partes, las cuales permiten que los datos sean almacenados en SRAM, a continuación, escribir en la memoria EEPROM (utilizando la energía almacenada en un condensador) cuando se pierde la alimentación, para ser cargado cuando vuelva la energía. Esto parece que sería perfecto para su aplicación.
Un ejemplo representativo de estas partes es el 47L04.
De edad de edad de edad de la solución, cmos del contador + batería de litio o Ram + batería de litio.
La fuente de alimentación para el elemento de almacenamiento viene de la normal de la fuente de alimentación cuando esté disponible o la batería cuando no lo es.
Una gran cantidad de modernos micros en el sueño va a mantener su estado con una muy baja corriente de alimentación. Así que usted puede utilizar esta técnica con el poder hacia abajo detectar a ir a dormir, a continuación, utilizar una batería para mantener el estado durante el período de sueño, mientras que el suministro principal está apagado.
El uso de un FRAM chip como el FM24C04B. Tienen escritura de muy alta resistencia y no son volátiles.
https://www.mouser.com/ds/2/100/001-84446_FM24C04B_4_KBIT_512_X_8_SERIAL_I2C_F-RAM-477782.pdf
También se puede usar una batería de respaldo de memoria SRAM (NVRAM) del módulo. Por ejemplo M48Z02-150PC1