TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: fabianjsm en 12 de Julio de 2012, 09:06:43

Título: Memoria funcionando de forma ininterrumpida
Publicado por: fabianjsm en 12 de Julio de 2012, 09:06:43
Hola amigos,
Quiero hacer un dispositivo que genera una señal tomando 1000 bytes por segundos de una memoria y volcándolos a un DAC. El funcionamiento del equipo será ininterrumpido (todo el día), y no me gustaría tener problemas con la memoria.
¿Sería adecuada una del tipo 24xx? No tengo experiencia en cuanto a la vida útil de estas, tampoco se si serían las más adecuadas para funcionar de este modo.
Desde ya les agradezco cualquier sugerencia o consejo.
Título: Re: Memoria funcionando de forma ininterrumpida
Publicado por: MLO__ en 12 de Julio de 2012, 09:22:32
Hola

Yo creo que si serviria, generalmente se debe tener cuidado con el numero de veces que se escribe una memoria. Respecto a la velocidad, me parece que 1mS es bastante tiempo para la lectura, asi que la memoria no tendra problema ya que la velocidad del bus I2C, que seria el protocolo de comunicacion con esta, va a mayor frecuencia.

Saludos
Título: Re: Memoria funcionando de forma ininterrumpida
Publicado por: RICHI777 en 12 de Julio de 2012, 12:37:58
Hola, las memorias eeprom tiene una vida úitl de 1.000.000 operaciones de escritura.

Saludos !
Título: Re: Memoria funcionando de forma ininterrumpida
Publicado por: KALLITOS en 12 de Julio de 2012, 12:58:15
Utiliza una sram, mas rapida que la eeprom.

saludos
Título: Re: Memoria funcionando de forma ininterrumpida
Publicado por: Marioguillote en 12 de Julio de 2012, 16:47:56
...... las memorias eeprom tiene una vida úitl de 100.000 operaciones de escritura.

Hola Fabian!

Las hojas de datos de una memoria te dicen que duran 1 millon de ciclos de escritura/lectura.

(http://www.servisystem.com.ar/GRAFORO/Memorias24CXX.jpg)

Un minuto = 60 segundos
Una hora = 60 minutos = 3600 segundos
24 horas = 1 día = 86400 segundos
1 millón / 86400 veces (una vez por segundo) = 11,57 días

Una intriga que me aparece, ¿en qué momento se la escribe a la memoria?
Además, si siempre será un dato variable, te conviene utilizar algún tipo de memoria RAM como te indicó KALLITOS. Por velocidad y por duración

Saludos!
Mario
Título: Re: Memoria funcionando de forma ininterrumpida
Publicado por: RICHI777 en 12 de Julio de 2012, 17:09:50
Hola, y yo que puse ? [ jejejeje ] Gracias x la corrección:D

Saludos !
Título: Re: Memoria funcionando de forma ininterrumpida
Publicado por: MLO__ en 12 de Julio de 2012, 18:00:05
  :huh: :huh:  :huh: :huh:

Es decir ... si las leo mas de 1M de veces ... pierden la "garantia" ? ... jejeje ... ya en serio: pensaba que no importaba cuantas veces se las leía ... si importa entonces????

Saludos
Título: Re: Memoria funcionando de forma ininterrumpida
Publicado por: RICHI777 en 12 de Julio de 2012, 18:01:43
Hola, debería importar para saber cual va a ser la vida del equipo y que depende de las veces que escribo en la memoria.

Saludos !
Título: Re: Memoria funcionando de forma ininterrumpida
Publicado por: fabianjsm en 12 de Julio de 2012, 19:55:55
Hola, muchisimas gracias por todas las respuestas. Dificil responder individualmente porque todos fueron directamente al problema, vida util. Siempre me pareció tan trivial que nunca me animé preguntarlo, algunas hojas de datos realmente dicen Read/Write Cycles, pero otras sólo indican Write Cycles. Como incluso los tiempos y las tensiones al momento de grabarlas son distintas, siempre asumí que con la lectura no habría problemas.

Había descartado una RAM paralela por la cantidad de pines y la serial por el precio (¡arriba de 12 UDS, mientras que las I2C apenas llegan a 0,50!), pero parece que este es el costo de la vida útil.

Una intriga que me aparece, ¿en qué momento se la escribe a la memoria?
Será casualmente cuando el usuario quiera corregir o modificar la forma de onda, al cabo de dos o tres meses. Antes de reescribir toda la memoria pensaba escribir 0x00 en la posición cero, leerla, escribir 0xFF, leerla, y si no falla asumo que toda la memoria funciona, pero si existe además la posibilidad de que la memoria falle luego de varias lecturas tendré que implementar además algunas sumas de comprobación después de cada 100 o 200 bytes.

A 1000 por segundo en 17 minutos debería agotar la vida útil… se me ocurre hacer sobre protoboard la prueba de leer a esta velocidad toda esta noche y mañana les comento si el micro aún funciona, voy a probar una atmel pero, como hay tanta discrepancia entre hojas de datos se me hace que la duda me perseguira por un largo rato.
Título: Re: Memoria funcionando de forma ininterrumpida
Publicado por: Marioguillote en 12 de Julio de 2012, 20:32:44
Había descartado una RAM paralela por la cantidad de pines y la serial por el precio (¡arriba de 12 UDS, mientras que las I2C apenas llegan a 0,50!), pero parece que este es el costo de la vida útil.

Si la velocidad del I2C es suficiente y lo que intentas evitar es utilizar tantos pines, la solución puede estar en los expansores de puertos I2C como el PCA9554 u otros. AQUÍ (http://www.neoteo.com/pca9554-expansor-de-puertos-i2c), hay un artículo donde explico como se utilizan y AQUÍ (http://www.neoteo.com/baliza-neoteo-diy) construí una baliza donde manejo 32 LEDs en forma individual (podría haberla expandido hasta 64). Insisto en lo que comentas, todo esto es válido mientras la velocidad del I2C te resulte útil.
De ese modo, con expansores de puertos y un par de líneas de soft, puedes manejar la RAM con sólo dos pines; el mismo bus I2C que pensabas utilizar antes.

A 1000 por segundo en 17 minutos debería agotar la vida útil… se me ocurre hacer sobre protoboard la prueba de leer a esta velocidad toda esta noche y mañana les comento si el micro aún funciona, voy a probar una atmel pero, como hay tanta discrepancia entre hojas de datos se me hace que la duda me perseguira por un largo rato.

Se me ocurre que te cansarás de ensayarlo y seguirá funcionando siempre. De todos modos, es una buena posibilidad de ensayo para tener un testimonio más sobre la veracidad de este tema de la limitación en los ciclos de escritura-lectura. Tengo algunos Datalogger (http://www.neoteo.com/datalogger-de-temperatura-con-18f2550-ii) funcionando hace años y ya deben haber pasado con creces los millones de ciclos y siguen trabajando como el primer día.

Como te dije, sumar opiniones y experiencias de trabajo, siempre es útil para todos.  :)

Saludos!
Mario
Título: Re: Memoria funcionando de forma ininterrumpida
Publicado por: KALLITOS en 12 de Julio de 2012, 21:14:57
Yo sigo opinando el uso de una sram  6116 de 2K byte por ejemplo, si el problema son los pines ponle dos 74ls164 para las direcciones, aun sigue siendo barato.

saludos.
Título: Re: Memoria funcionando de forma ininterrumpida
Publicado por: jeremylf en 13 de Julio de 2012, 15:57:30
Que yo tenga entendido las eeprom tienen 1millon de escrituras como limite pero para leerlas es infinito =D Como tu caso es que van a cambiar los datos cada dos o tres meses entonces te va de sobra, y para el lado de las lecturas no hay porque preocuarse.

Ademas, en el datasheet dice:
Data retention > 200 years

Entonces, para que retenerlas mas de 200 años si no puedes leerlas (en caso sobrepases algun limite de veces de lectura)? seria ilogico. De esta forma, concluyo lo que digo con mucha seguridad y con el gran uso que que yo le he dado a esas memorias (24lc512) que las veces para leerlas son ilimitadas  :-)
Título: Re: Memoria funcionando de forma ininterrumpida
Publicado por: fabianjsm en 13 de Julio de 2012, 19:33:54
Hola amigos, nuevamente gracias por sus opiniones.

La memoria estuvo funcionando toda la noche y hoy todo el día, son más de 16 Hs y más de 58 millones de lecturas, como ya predijeron sigue funcionando sin problemas. Como la memoria es de 1k cada bit fue leído individualmente poco menos de 100 mil veces, pero todo indica que nadie tuvo problemas realizando lecturas.

Estuve buscando y parece que será difícil encontrar un expansor de bus como el PCA9554 o el PCF8574 en Argentina Mario, pero seguiré buscando estos o alguno similar, sería interesante con la misma cantidad de pines y velocidad poder utilizar una memoria paralela, como la 6116 que sugieres Kallitos por ejemplo, además de la posibilidad de expandir el bus en si.

Al momento todo parece sugerir que puedo utilizar 24xx sin temor a que sea esta la que acorte la vida útil del equipo.
Título: Re: Memoria funcionando de forma ininterrumpida
Publicado por: nZeta en 13 de Julio de 2012, 20:00:46
Que yo tenga entendido las eeprom tienen 1millon de escrituras como limite pero para leerlas es infinito =D Como tu caso es que van a cambiar los datos cada dos o tres meses entonces te va de sobra, y para el lado de las lecturas no hay porque preocuarse.
Yo tenia entendido lo mismo, es decir un limite para escritura pero ilimitado para lectura.

En DangerousPrototypes.com tienen un projecto llamado FlashDestroyer (es un EEPROM destroyer en realidad) y despues de una prueba (tenian un live stream por 13 dias) concluyeron que un eeprom fallo despues de 11millones de escrituras

http://dangerousprototypes.com/2010/06/07/flash-destroyer-dead-at-11-49-million/
http://dangerousprototypes.com/2010/06/10/flash-destroyer-wrap-up/

Título: Re: Memoria funcionando de forma ininterrumpida
Publicado por: AngelGris en 13 de Julio de 2012, 20:04:45


Estuve buscando y parece que será difícil encontrar un expansor de bus como el PCA9554 o el PCF8574 en Argentina Mario, pero seguiré buscando estos o alguno similar, sería interesante con la misma cantidad de pines y velocidad poder utilizar una memoria paralela, como la 6116 que sugieres Kallitos por ejemplo, además de la posibilidad de expandir el bus en si.

Al momento todo parece sugerir que puedo utilizar 24xx sin temor a que sea esta la que acorte la vida útil del equipo.


  Fijate en elemon
Título: Re: Memoria funcionando de forma ininterrumpida
Publicado por: fabianjsm en 13 de Julio de 2012, 21:01:05
FlashDestroyer, jaja, el experimento que faltaba nZeta!

Hola AngelGris , las que creí que tendrían son Cika, Elemon o Liniers. En el buscador de Liniers encontré 8574 en la categoría memorias y microprocesadores, supongo que será PCF8574, pero por acaso les envié un correo consultando.
Título: Re: Memoria funcionando de forma ininterrumpida
Publicado por: Suky en 25 de Julio de 2012, 22:08:14
Estaba leyendo el datasheet de una de las memorias que dispongo para armar una SkP32 y me encuentro que dice Unlimited Read/Write Cycles,  por supuesto me acorde del hilo  :) Son del tipo FRAM, hay SPI y I2C (http://www.ramtron.com/), mismo pinout que las EEPROM. En Cika se consigue algo  ;-)


Saludos!
Título: Re: Memoria funcionando de forma ininterrumpida
Publicado por: fabianjsm en 29 de Julio de 2012, 10:48:28
Hola,

Unlimited! En la lista de componentes de la placa SkP32 dice "EEPROM SPI de 3.3V", son FM25xx?

Termine por utilizar una 24LC256, y como prácticamente no hay escrituras en la memoria, considero que no tendré problemas. Pero estas FRAM de vienen de 10 para otro proyecto, además por lo que leí son de bajo consumo y alta velocidad, que más se podría pedir de una memoria!

Gracias Suky, excelente el dato.
Título: Re: Memoria funcionando de forma ininterrumpida
Publicado por: MGLSOFT en 29 de Julio de 2012, 10:54:57
Tengo unas FM25xx pero no creo que tengan ciclos infinitos de grabacion..!! O si ?? :shock: :shock:
Título: Re: Memoria funcionando de forma ininterrumpida
Publicado por: tannke en 29 de Julio de 2012, 12:51:28
...... las memorias eeprom tiene una vida úitl de 100.000 operaciones de escritura.

Hola Fabian!

Las hojas de datos de una memoria te dicen que duran 1 millon de ciclos de escritura/lectura.

(http://www.servisystem.com.ar/GRAFORO/Memorias24CXX.jpg)

Un minuto = 60 segundos
Una hora = 60 minutos = 3600 segundos
24 horas = 1 día = 86400 segundos
1 millón / 86400 veces (una vez por segundo) = 11,57 días

Una intriga que me aparece, ¿en qué momento se la escribe a la memoria?
Además, si siempre será un dato variable, te conviene utilizar algún tipo de memoria RAM como te indicó KALLITOS. Por velocidad y por duración

Saludos!
Mario

Me sabe mal y se que ya no viene a cuento pero cada vez que me paso por el hilo i lo veo...

erase/write como tienes subrayado no es escritura/lectura, sino borrado/escritura

un saludo

Título: Re: Memoria funcionando de forma ininterrumpida
Publicado por: Suky en 29 de Julio de 2012, 13:50:10
Hola,

Unlimited! En la lista de componentes de la placa SkP32 dice "EEPROM SPI de 3.3V", son FM25xx?

En realidad puede ser cualquier memoria SPI de 3.3V, y estas son un opción. Tenia memorias Flash y un par de estas, de excelentes prestaciones (infinitos ciclos de lectura/escritura, sin demora en escritura, hasta 18MHz SPI) pero de poca capacidad  :tongue: (lo que conseguí en Argentina).

Tengo unas FM25xx pero no creo que tengan ciclos infinitos de grabacion..!! O si ?? :shock: :shock:

El datasheet que leí dice eso, ahora viendo la de una FM25H20 (http://www.ramtron.com/files/datasheets/FM25H20_ds.pdf) dice 1014 , igualmente muy superior a 106 de una 25xx.

Saludos!