Alternativas al uso de EEPROM


9

Según tengo entendido, EEPROM es 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 escribir datos y leerlos.

El problema que veo es que tiene una vida limitada y bastante corta. En otras palabras, solo puedo leer / escribir un número finito de veces antes de desgastar 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 acomodar una tarjeta de memoria de cualquier tipo.

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


3
¿Con qué frecuencia necesita guardar estos pocos bytes? Esa es la pregunta clave aquí. ¿Es cada minuto? ¿Hora? milisegundos?
Gustavo Litovsky

La EEPROM de un ATmega32, por ejemplo, tiene una vida útil de 100,000 ciclos de escritura / lectura. Eso podría ser más que suficiente, dependiendo de la aplicación ..
m.Alin

3
Dijiste "Solo puedo leer / escribir un número finito de veces antes de desgastar la EEPROM", lo cual no es del todo correcto. Se desgasta la EEPROM con escrituras, pero generalmente las lecturas no están limitadas.
El Fotón

@GustavoLitovsky Digamos, una vez cada minuto. En cuyo caso, para un ATmega32 que está constantemente encendido, durará dos años. Supongo que está bien, cuando lo pongo en perspectiva.
capcom

@ThePhoton Ah, está bien. Nunca lo supe, gracias. No es que cambie nada, ya que requiero lectura / escritura.
capcom

Respuestas:


4

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

Hay algunas otras soluciones no volátiles que debe considerar:

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

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

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

Dependiendo de la velocidad a la que desea ahorrar (y si puede cerrar bien), puede aumentar el número efectivo de ciclos disponibles para usted.


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 de í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 .


7

Otra posible solución es un poco de ram estático y una batería. Esto tiene una vida útil limitada, ya que la batería finalmente morirá, pero es ilimitada en los ciclos de escritura. También podría usar algo como un condensador de gran tamaño para alimentarlo, si sabe que su tiempo de inactividad será un valor pequeño. Una pila de litio puede durar mucho tiempo en una aplicación como esta, si la diseñas correctamente.

También hay partes que incorporan un RTC, nvram y batería (para mantener el reloj en funcionamiento) en una parte. Estos tienen la desventaja de que si la fuente de alimentación interna se va, ha perdido toda la parte (no solo la batería), pero dependiendo de cuánto tiempo dure su producto, eso podría no ser un problema.


2

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

Tengo un montón de circuitos integrados de muestra de Freescale hace años, 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 tienes que conectar una tarjeta SD espacio.


1

Soy un chico 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 una sola dirección.

Dado que el almacenamiento que necesita es pequeño en comparación con el tamaño de incluso los dispositivos pequeños que puede (suponiendo que tenga un acceso de nivel suficientemente bajo al hardware) puede escribirlo muchas veces, cada vez en una ubicación diferente. Asegúrese de que sus datos se puedan distinguir de la memoria no escrita (rellene 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 sacar aún más provecho al no escribirlos, sino al escribir un bit por tic, el recuento es el número de bits escritos.


1

La NVSRAM serie de Microchip puede ajustarse a su 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 en serie admite respaldo de batería. La hoja de datos menciona el consumo actual de 1ua de la batería. El precio es inferior a $ 2 en 1K cantidad y Microchip ofrece muestras gratis. Los circuitos integrados están disponibles en paquetes PDIP y SOIC amigables para los aficionados.


1

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

http://www.cypress.com/?rID=73530

Está disponible en tamaños grandes (el más grande que he visto es 2Mbit), es compatible con el protocolo MRAM o flash, es de lectura y escritura de bytes sin necesidad de borrar, es rápido --- las escrituras se mantienen al día con el protocolo SPI --- y el 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 mí ordené dos piezas FM25V04 que vendieron. Seis semanas de tiempo de entrega, aparentemente ...

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.