Autor Tema: Reescribir una posición de la EEPROM muchas veces  (Leído 3243 veces)

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

Desconectado DarkVect

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 302
Reescribir una posición de la EEPROM muchas veces
« en: 21 de Abril de 2009, 07:56:34 »
Hola,

Tengo una duda sobre el número de veces que se puede sobreescribir una posición de la EEPROM interna de los PIC. En concreto, quiero guardar 20 bytes de forma que al quitar la alimentación no se borren, pero esos bytes pueden ser modificados según el funcionamiento del dispositivo por lo que es muy probable que haya que sobreescribirlos muchas veces.

Cómo lo solucionáis vosotros? Siempre en la mismas posiciones o ir incrementándolas?

Gracias y un saludo!

Desconectado ASTROCAR

  • PIC24F
  • *****
  • Mensajes: 664
Re: Reescribir una posición de la EEPROM muchas veces
« Respuesta #1 en: 21 de Abril de 2009, 08:05:25 »
Hola buenos dias, segun el micro con el cual estes trabajando leete la datasheet del micro y asi aclras un poco eso sobre la escritura en la eeprom interna.

Saludos y estamos en contacto.
Atten.
Alexander Santana.
Barcelona-Venezuela.
EL APRENDER ES NADA; MEJOR ES COMPARTIR EL APRENDIZAJE

Desconectado DarkVect

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 302
Re: Reescribir una posición de la EEPROM muchas veces
« Respuesta #2 en: 21 de Abril de 2009, 08:29:32 »
Obviamente he leído el datasheet del PIC antes de preguntar, pero no he encontrado nada que especifique el parámetro que pregunto. Sólo se detallan los procesos de lectura/escritura y el tiempo de retención de lso datos ¿?

Desconectado jgpeiro06

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 276
Re: Reescribir una posición de la EEPROM muchas veces
« Respuesta #3 en: 21 de Abril de 2009, 09:10:48 »
Esa información si que viene en el datasheet. He mirado el datasheet del PIC16F887 y viene en el apartado ELECTRICAL SPECIFICATIONS, DC Characteristics, Data EEPROM Memory:
Number of Total Erase/Write Cycles before Refresh
    Min 1M
    Typ 10M
    Conditions: E/W -40°C ≤ TA ≤ +85°C

Byte Endurance
    Min 100K
    Max 1M
    Conditions: E/W -40°C ≤ TA ≤ +85°C

Lo cierto es que no se que diferencia hay exactamente entre estos dos parámetros, pero creo que indican el numero de veces que puedes modificar un dato de la EEPROM.


Desconectado ASTROCAR

  • PIC24F
  • *****
  • Mensajes: 664
Re: Reescribir una posición de la EEPROM muchas veces
« Respuesta #4 en: 21 de Abril de 2009, 09:17:11 »
Entonce segun lo que dice el colega es de revisar bien di que pic estas usando para ver si entre todos damos con ese dato.

Saludos.
Atten.
Alexander Santana.
Barcelona-Venezuela.
EL APRENDER ES NADA; MEJOR ES COMPARTIR EL APRENDIZAJE

Desconectado reiniertl

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1187
Re: Reescribir una posición de la EEPROM muchas veces
« Respuesta #5 en: 21 de Abril de 2009, 12:56:24 »
Normalmente en la primera página del datasheet también te dicen cuantas veces puedes reprogramarlo o escribir en la flash. Yo te sugiero que escribas en la EEPROM únicamente cuando te haga falta.

A pesar del datasheet, lo típico es que se pueda escribir le EEPROM unas 100 000 veces y leerla, todas las que necesites, por eso hay que tener muy claro cuando escribirla, yo tuve un amigo que de loco guardaba en la EEPROM un dato cada un segundo y a los pocos días ya no tenía EEPROM, así que es algo que hay que hacer con cautela, lápiz y calculadora en mano.

Saludos
Reinier

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: Reescribir una posición de la EEPROM muchas veces
« Respuesta #6 en: 21 de Abril de 2009, 13:19:40 »
Hola, una de las tecnicas que pueden aplicarse para aumentar la vida util es el "waer-leveling" la idea es ir modificando la direccion donde vas escribiendo, supongamos que tenemos que almacenar 1byte y destinamos 10 bytes a hacerlo, en la primera grabada lo hacemos en el primer byte en la segunda el segundo, y asi sucesivamente. Con esta simple tecnica multiplicamos x 10 la vida útil.

Saludos !

Desconectado DarkVect

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 302
Re: Reescribir una posición de la EEPROM muchas veces
« Respuesta #7 en: 21 de Abril de 2009, 14:13:36 »
Hola,

Gracias por las respuestas. Estoy usando un 16F819 y en Electrical Characteristics he visto lo de Endurance: 100K - 1M.

El tema es que en principio sólo voy a usar 20 bytes de configuración pero en un futuro podría haber más así que me tocará reservar espacio y hacer lo del waer-leveling que comenta el compañero RICHI777. Qué utilzias tú para saber cuál es la dirección que te toca leer? Escribes un caracter especial y a partir del último que encuentres ya sabes dónde tienes que escribir?

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: Reescribir una posición de la EEPROM muchas veces
« Respuesta #8 en: 21 de Abril de 2009, 14:28:24 »
Hola, conozco la tecnica pero no la uso.jejejeje Pero si podria ser lo que vos comentas.

Saludos !

Desconectado DarkVect

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 302
Re: Reescribir una posición de la EEPROM muchas veces
« Respuesta #9 en: 21 de Abril de 2009, 17:55:40 »
Ok! Gracias!


 

anything