9 votos

Alternativas al uso de la EEPROM

Como yo lo entiendo, EEPROM es una parte de un equipo (en mi caso, un microcontrolador AVR), que almacena los datos, y se aferra a él, incluso cuando el dispositivo se apaga completamente. Esto permite que los datos se escriban en él, y leer de ella.

El problema que yo veo es que tiene una vida finita, y una muy breve. En otras palabras, sólo puedo leer/escribir un número finito de veces antes de llevar a cabo la EEPROM.

Lo que estoy buscando es una manera de lograr la misma funcionalidad que la EEPROM, pero en un pequeño factor de forma. Supongo que puedo usar algo como una tarjeta microSD, pero yo preferiría una solución que no requiere que el usuario a comprar una tarjeta de memoria. Además, yo sólo necesitas un par de bytes de espacio, en la mayoría de los. Digamos que 1 kB a ser muy, muy conservador. Yo estaría gastando más de lo necesario para acomodar una tarjeta de memoria de cualquier tipo.

Entonces, ¿cuáles son mis opciones? ¿Hay alguna comunes IC soluciones que me permitiría lograr este tipo de almacenamiento de datos/recuperación, sin una vida corta y de alto costo?

12voto

JW. Puntos 145

El camino para superar la resistencia de limitación de la EEPROM es aplicar una nivelación de desgaste algoritmo. Básicamente, por cada registro que desea almacenar asignar N-veces el requisito de memoria, y un espacio correspondiente para N-los valores del índice, a continuación, utilizar la inferencia para averiguar cuál es el "registro actual" y que es el siguiente registro a escribir. Es bien descrito en este AVR Aplicación de la Nota.

7voto

David Sykes Puntos 9683

Otra posible solución es un poco de estática de ram, y una batería. Este tiene un tiempo de vida limitado en que la batería va a morir con el tiempo, pero es ilimitado en los ciclos de escritura. Usted también podría usar algo como un gran ish condensador de la energía, si usted sabe que su tiempo va a ser un pequeño valor. Una moneda de litio-célula puede durar mucho tiempo en una aplicación como esta, si el diseño es correcto.

También hay partes que incorporan un RTC, nvram y la batería (para mantener el reloj en marcha) en una parte. Estos tienen la desventaja de que si la fuente interna de energía va, has perdido la parte entera (no sólo de la batería), pero dependiendo de cuánto tiempo el producto último que podría no ser un problema.

4voto

Scott Puntos 138

Sí, una memoria EEPROM es un tipo de memoria no volátil que puede contener datos incluso sin ningún tipo de poder para una cantidad significativa de tiempo (el tiempo real depende de la temperatura y otras condiciones).

Hay un par de otras no volátiles soluciones a tener en cuenta:

1) memoria Flash Interna - la Mayoría de los microcontroladores, hoy en dia tiene Flash para el almacenamiento de código y algunos proporcionan para los datos de usuario y registro así. Esto también ha limitado de ciclos de escritura y requiere bloque borrado antes de cambiar los bits de '1' a '0' (almacén de datos en otros lugares en el ínterin y, a continuación, volver a escribir).

2) Interno de la memoria FRAM - TI tiene dispositivos con FRAM memoria no volátil, se puede acceder de forma muy sencilla (como cualquier otro lugar de la memoria. Lee también son destructivas como escribe (aunque en tu caso puede que esto no importa ya que el número de ciclos es de 10^13 más o menos a 85 grados celsius).

3) Externo de memoria Flash - Usted puede agregar memoria externa para guardar un par de megabits de datos de más bajo costo.

Dependiendo de la velocidad a la que desea guardar (y si se puede apagar muy bien), usted podría ser capaz de aumentar el número efectivo de ciclos disponibles para usted.

2voto

Thomas Puntos 36

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

Tengo un montón de muestras de ICs de Freescale años, pero nunca tuvo la oportunidad de utilizarlas, así que realmente no puedo decir si usted va a terminar con una forma mucho más simple circuito que si tiene que adjuntar una ranura para tarjetas SD.

1voto

cefstat Puntos 938

Soy un tipo de la computadora en lugar de un ingeniero eléctrico, pero creo que hay otro enfoque al ciclo de vida de problema de memoria flash:

Mi entendimiento es que el ciclo de vida del problema de flash es en realidad una cuestión de borrar, pero no la escritura. Usted puede escribir tantas veces como desee, excepto por el pequeño detalle de que las escrituras son de una sola vía.

Desde el almacenamiento que necesita, es muy pequeño en comparación con el tamaño de los dispositivos que usted puede (suponiendo que se tiene suficientemente bajo nivel de acceso al hardware) escribir muchas veces, cada vez en un lugar diferente. Asegúrese de que sus datos pueden ser distinguidos de no escritas de memoria (pad si es necesario para hacer esto), y el último escrito de la célula es el valor actual.

Además, si los datos de un contador que se incrementa una vez por escribir se le puede sacar aún más provecho de ella por no haber escrito en todo, pero en lugar de escribir un poco por la garrapata, el recuento es el número de bits por escrito.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X