Autor Tema: Memoria EEPROM mas rapida?  (Leído 3321 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1835
    • IDEAA
Memoria EEPROM mas rapida?
« en: 15 de Febrero de 2009, 01:52:56 »
Hasta ahora venia usando memorias eeprom "normales", de la familia 24LCxxx que tienen comunicacion I2C. El problama viene en que estas memorias son bastante lentas para algunas cosas, ya que tardan 5mS en escribir un byte. puede no parecer mucho, pero cuando se quieren guardar 8 bytes en menos de 20mS nos damos cuenta que las cuentas no cuadran...
Seguro que hay otros tipos de memorias mas rapidas, pero la verdad que no conozco... las SPI, si bien pueden comunicarse mucho mas rapido, el tiempo de escritura sigue siendo el mismo: 5mS
que me sugieren?
Gracias y salu2!
La gente ve las cosas que existen y se pregunta por qué.
Yo prefiero imaginar lo que no existe y preguntarme por qué no.

Desconectado felipito

  • PIC10
  • *
  • Mensajes: 19
Re: Memoria EEPROM mas rapida?
« Respuesta #1 en: 15 de Febrero de 2009, 05:03:41 »
Si se necesita mover bloques de memoria de màs de 1000 bytes en las eeprom 24LC el asunto se complica màs por el excesivo tiempo y hace la programaciòn màs dispendiosa al quedar el micro esperando todo este tiempo !!!

Desconectado pibe

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 635
Re: Memoria EEPROM mas rapida?
« Respuesta #2 en: 15 de Febrero de 2009, 06:09:23 »
No, no te confundas.
Ambas memorias, tanto SPI como I2c te dan un margen de escritura de 5ms MAXIMO, generalmente lo hace en menos tiempo ,pero para asegurarte dejas pasar tiempo de más.Es lo que le llaman Worse case . Pero, si escribes por páginas el tiempo sería el mismo, así que puedes escribir el comando de escritura, luego le empiezas a mandar los bytes de datos de forma ininterrumpida hasta llenar la página y terminas la escritura.
Ahora lo más importante: No esperes 5ms, chequea el bit de status. Mira la rutina wip polling y con eso el tiempo te bajará muchísimo.

Te paso un link de unas pruebas REALES que he hecho
http://www.todopic.com.ar/foros/index.php?topic=24608.0

Ahí lo tienes ya todo digerido  :mrgreen:
Mi jefe mirando el prototipo que estoy creando: "Y eso va a funcionar?"

Desconectado ASTROCAR

  • PIC24F
  • *****
  • Mensajes: 664
Re: Memoria EEPROM mas rapida?
« Respuesta #3 en: 15 de Febrero de 2009, 08:15:40 »
Buenos dias, lo que comenta  el colega PIBE tiene toda la razon la progrmacion de eeprom se hace lenta si sigues una pausa constante y peor aun si escribes o lee byte a byte si revisas bien notaras que si usas las paginacion de las eeprom reducen muchos los tiempo y mas aun si usar la confirmacion si ya la eeprom fue leeida o escrita y asi no pierdes tiempo y ya confirmado si le puedes ordenar nuevamente a la eeprom si esperar mayor tiempo y veras el rendimiento un poc mas notable.

Saludos y de que si hay eeprom mas rapidas si las hay.
Atten.
Alexander Santana.
Barcelona-Venezuela.
EL APRENDER ES NADA; MEJOR ES COMPARTIR EL APRENDIZAJE

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1835
    • IDEAA
Re: Memoria EEPROM mas rapida?
« Respuesta #4 en: 15 de Febrero de 2009, 09:43:17 »
Gracias chicos por las respuestas!
lo de los 5mS max lo sabia, y si que uso el ACK polling, pero lo que ocurre es que no me gustaria arriesgarme a perder bytes.
lo que no se si entendi bien es lo de escribir por paginas, si mando el byte de control, luego la direccion, y luego 8 bytes, tardara maximo 5mS en total?
otra cosa que no explique bien es que en realidad no tengo que escribir 8 bytes en 20mS, sino un byte cada 2.5mS durante un minuto, por eso me preocupaba que la memoria fuese mas rapida. y el problema es que por mas que ponga un buffer, en algun momento tendre que grabar, y si pierdo 5mS esperando se me escaparan 2 datos en el peor de los casos.

por cierto, para leer un byte tambien tarda ese tiempo?

Salu2
La gente ve las cosas que existen y se pregunta por qué.
Yo prefiero imaginar lo que no existe y preguntarme por qué no.

Desconectado pibe

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 635
Re: Memoria EEPROM mas rapida?
« Respuesta #5 en: 15 de Febrero de 2009, 11:09:24 »
Mira, para que te hagas una idea: una 25aa1024 para grabarle TODOS los bytes (131.000) en el modo página y haciéndole wip polling tarda 1 minuto 25 segundos.

Lo de escribir por páginas es así: supongamos que tu memoria es una 24lc256 que tiene páginas de 64bytes , pues por ejemplo empezamos por la dirección 00 00 . Mandamos el byte de comando de escritura, mandamos los 2 bytes de dirección  (00 00 en este caso) , mandamos como datos dato el byte 1, byte 2, etc etc etc etc, byte 64, y el comando de stop (creo que en el i2c es bit stop, no lo recuerdo). Das 5 ms de retardo o haces wip polling. Listo.
Para la proxima página haces lo mismo pero empezando en la dirección 00 10 , entiendes?

El puntero dentro de la página va autoincrementándose en uno cada vez que metes un dato. No así las páginas que debes incrementarlas a mano.
Mi jefe mirando el prototipo que estoy creando: "Y eso va a funcionar?"

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1297
Re: Memoria EEPROM mas rapida?
« Respuesta #6 en: 15 de Febrero de 2009, 12:12:52 »
Que tal efectivamente lo que se ha publicado es correcto. La paginacion es la solucion al problema si se aplica correctamente. Pero si el problema es mucho mas complicado la solucion es utilizar memorias FRAM estas tienen un tiempo de escritura de 1uS (microsegundo) ya si eso no es muy rapido, entonces ya no hay solucion. Las hay con la misma configuracion que las memorias I2C y SPI. Para mas informacion de las mismas:

http://www.ramtron.com/products/nonvolatile-memory/serial.aspx

Saludos y espero haber sido de ayuda.

Elreypic.

Desconectado pibe

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 635
Re: Memoria EEPROM mas rapida?
« Respuesta #7 en: 15 de Febrero de 2009, 13:18:58 »
Wapas las memorias!
Lástima que la que me interesa es alim +3,6v  :(
Mi jefe mirando el prototipo que estoy creando: "Y eso va a funcionar?"

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1835
    • IDEAA
Re: Memoria EEPROM mas rapida?
« Respuesta #8 en: 15 de Febrero de 2009, 13:41:57 »
Excelente! Esto es lo que buscaba! El unico problema que les veo es que solo las hay en formato SOIC8, y yo necesito que sean intercambiables :? Tendre que hacerles un adaptador
Ya pedi unos samples para ver que tal funcionan  :mrgreen:
Este tipo de memoria solo las vende Ramtron? porque no encuentro mas empresas  :(

Wapas las memorias!
Lástima que la que me interesa es alim +3,6v  :(

Todas tienen su variante de 2.7-3.6V y 5V... excepto la de 512, que solo la hay de 5V. Tu cual buscas?
La gente ve las cosas que existen y se pregunta por qué.
Yo prefiero imaginar lo que no existe y preguntarme por qué no.

Desconectado pibe

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 635
Re: Memoria EEPROM mas rapida?
« Respuesta #9 en: 15 de Febrero de 2009, 19:41:13 »
1mbit SPI, ya he estado mirando pero no tienen.
Mi jefe mirando el prototipo que estoy creando: "Y eso va a funcionar?"