Alternativas al uso de EEPROM

9

Según tengo entendido, EEPROM es una parte de una computadora (en mi caso, un microcontrolador AVR) que almacena datos, y los conserva incluso cuando el dispositivo se apaga por completo. Permite que los datos se escriban en ella y se lean de ella.

El problema que estoy viendo es que tiene una vida finita y una muy corta. En otras palabras, solo puedo leer / escribir un número finito de veces antes de agotar la EEPROM.

Lo que estoy buscando es una forma de lograr la misma funcionalidad que EEPROM, pero en un factor de forma pequeño. Supongo que puedo usar algo como una tarjeta microSD, pero preferiría una solución que no requiera que el usuario compre una tarjeta de memoria. Además, solo necesito unos pocos bytes de espacio, como máximo. Digamos que 1 kB es muy, muy conservador. Gastaría más de lo necesario para alojar una tarjeta de memoria de cualquier tipo.

Entonces, ¿cuáles son mis opciones? ¿Hay alguna solución de IC común que me permita lograr este tipo de almacenamiento / recuperación de datos sin una vida corta y un alto costo?

    
pregunta capcom

7 respuestas

4

Sí, una EEPROM es un tipo de memoria no volátil que puede almacenar datos incluso sin ningún tipo de energía durante un período de tiempo significativo (el tiempo real depende de la temperatura y otras condiciones).

Hay otras soluciones no volátiles que debe considerar:

1) Memoria flash interna: la mayoría de los microcontroladores de hoy en día tienen Flash para el almacenamiento de código y algunos también lo proporcionan para los datos de usuario y el registro. Esto también tiene ciclos de escritura limitados y requiere borrado de bloques antes de cambiar los bits de '1' a '0' (mientras tanto, almacena datos en otro lugar y luego los vuelve a escribir).

2) Memoria de FRAM interna: TI tiene dispositivos con memoria de FRAM que no son volátiles, se puede acceder de manera muy simple (como en cualquier otra ubicación de memoria. Las lecturas también son destructivas como las escrituras (aunque en su caso esto puede no importar ya que el número de los ciclos son de 10 ^ 13 o menos a 85 grados centígrados).

3) Memoria flash externa: puede agregar memoria externamente para almacenar unos pocos megabits de datos de forma bastante económica.

Dependiendo de la velocidad a la que desee guardar (y si puede cerrarse bien) puede aumentar la cantidad efectiva de ciclos disponibles para usted.

    
respondido por el Gustavo Litovsky
12

La forma de superar la limitación de resistencia de EEPROM es aplicar un algoritmo de nivelación de desgaste. Básicamente, para cada registro que desea almacenar le asigna N veces el requisito de memoria y un espacio correspondiente para los valores del índice N, luego use la inferencia para determinar cuál es el "registro actual" y cuál es el siguiente registro para escribir a. Está bien descrito en esta nota de aplicación AVR .

    
respondido por el vicatcu
7

Otra solución potencial es un poco de memoria estática y una batería. Esto tiene una vida útil limitada, ya que la batería se agotará eventualmente, pero es ilimitada en los ciclos de escritura. También puede usar algo como un capacitor de gran tamaño para alimentarlo, si sabe que su tiempo de inactividad será un valor menor. Una celda de moneda de litio puede durar mucho tiempo en una aplicación como esta, si lo diseñas correctamente.

También hay partes que incorporan un RTC, nvram y batería (para mantener el reloj en marcha) en una parte. Estos tienen la desventaja de que si la fuente de alimentación interna se apaga, ha perdido toda la parte (no solo la batería), pero dependiendo de cuánto debe durar su producto, es posible que no sea un problema.

    
respondido por el Michael Kohne
2

No sé cuál es su presupuesto, pero es posible que desee consultar MRAM , que es tan rápido como DRAM pero no volátil al igual que Flash. Por supuesto, estos son mucho más caros que los chips EEPROM.

Hace unos años, obtuve un montón de circuitos integrados de muestra de Freescale, pero nunca tuve la oportunidad de usarlos, así que realmente no puedo decir si terminarás con un circuito mucho más simple que si tuvieras que conectarlo. una ranura para tarjeta SD.

    
respondido por el Simón
1

Soy un informático en lugar de un ingeniero eléctrico, pero creo que hay otro enfoque para el problema del ciclo de vida de la memoria flash:

Entiendo que el problema del ciclo de vida en flash es en realidad una cuestión de borrar, no de escribir. Puede escribir tantas veces como desee, excepto por el pequeño detalle de que las escrituras son de un solo sentido.

Dado que el almacenamiento que necesita es pequeño en comparación con el tamaño de los dispositivos pequeños que puede (suponiendo que tenga un nivel de acceso al hardware suficientemente bajo), escríbalo varias veces, cada vez en una ubicación diferente. Asegúrese de que sus datos puedan distinguirse de la memoria no escrita (rellénela si es necesario para lograr esto) y la última celda escrita es el valor actual.

Además, si sus datos son en realidad un contador que se incrementa una vez por escritura, puede obtener aún más de ella al no escribirlos en absoluto, sino escribir un bit por tic, el recuento es el número de bits escritos.

    
respondido por el Loren Pechtel
1

Serial NVSRAM de Microchip puede ajustarse a tu factura:

Serial NVSRAM offers non-volatile RAM storage and is ideal for applications that need to write very often to the memory. This device is significantly lower cost than other non-volatile RAM devices and the data is backed using an external battery. This 8-pin, SPI device supports unlimited instantaneous writes to the memory array, making it ideal in applications such as meters, data loggers, data recorders, black boxes. These devices are available in 512Kbits and 1Mbit densities.

Esta familia de memoria serie es compatible con la batería de respaldo. La hoja de datos menciona el consumo actual de 1ua de la batería. El precio es menos de $ 2 en 1K cantidad y las muestras gratuitas son ofrecidas por Microchip. Los circuitos integrados están disponibles en paquetes PDIP y SOIC amigables para los aficionados.

    
respondido por el Chetan Bhargava
1

Es posible que desee mirar en FRAM serie. El principal fabricante parece ser Cypress (née Ramtron). Aquí hay una parte:

enlace

Está disponible en tamaños grandes (el más grande que he visto es 2Mbit), es compatible con el protocolo MRAM o flash, se puede escribir en bytes sin necesidad de borrado, es rápido --- las escrituras se mantienen al día con el protocolo SPI - - y la retención es ridículamente alta.

Dicho esto, es un poco difícil de encontrar. No muchos distribuidores lo llevan y los que parecen agotarse al instante --- Cypress tiene su propia tienda (envío gratis, también) y entre los dos pedidos de dos FM25V04 se vendieron. Seis semanas de anticipación, aparentemente ...

    
respondido por el David Given

Lea otras preguntas en las etiquetas