Que tal, amigos. Una consulta, tengo una aplicación en ASM donde requiero estar guardando 40 variables de manera continua en la eeprom interna del micro. Pero me causa un poco de temor el numero de ciclos de escritura lectura. Entonces quiero que me recomienden que hacer, ya que el hardware esta incorporado solo con un micro 18f46k22. No puedo agregar nada externo.
Mis premisas son:
- Escribir la EEPROM cada 15 Minutos? Como es un sistema que puede trabajar las 24 horas continuas esto creo me ayudaria mas a que sea estable.
- O, la segunda opcion seria cada minuto para tener el mejor numero actualizado en caso de que se desconecte el sistema.
Practicamente es un contador de pulsos con un sensor inductivo y tiene un timer que programe en segundos.
Que tal pinolillo16,
Siguiendo la sugerencia de remi04 y leyendo el datasheet. El numero máximo de ciclos borrado/escritura (la lectura en las eeporm no las afecta para nada, un dato grabado en la eeprom puede leerse infinito numero de veces) por byte es de 100,000.
El microcontrolador tiene 1KB de eeprom, lo que significa que puedes guardar 25 grupos de 40 bytes, esto porque 1024bytes/40bytes = 25.6, pero obviamente no puedes grabar un segmento solamente, por lo que te quedan 25 grupos de 40bytes.
Lo que sucede entonces es que grabas tus primeros 40 bytes o datos desde la dirección 0x000 hasta la 0x027 (Grupo 1)
Luego el siguiente minuto coges los 40 datos (bytes) y los guardas a partir de la dirección 0x28 hasta la 0x04F (Grupo 2)
y así sucesivamente. Como te darás cuenta en realidad solo usarás 1000 bytes de los 1024 disponibles.
Esto quiere decir que cuando llegues al último grupo, tendrás que regresar a guardar los datos una vez más en la dirección 0x000. Esto quiere decir que en realidad estaría borrando y escribiendo el mismo grupo de bytes cada 25 minutos.
Un día tiene 1440 minutos, entonces el número de ciclos de borrado/escritura por día, sería 1440/25 = 57.6 Digamos que son 57 veces diaras)
Por lo tanto si el endurance de la eemprom (número máximo de ciclos de borrado/escritura) es de 100,000; entonces si dividimos 100,000/57 = 1754.38 días. Es decir la memoria eeprom del micro se te va adañar en 1734 días, que son 4 años, 9 meses y días.
Eso es lo que pasaría de acuerdo a los datos proporcionados.
Puedes seguir el mismo procedimiento en caso de que hagas el guardado de datos cada 15 minutos.
Espero esto te sirva
elreypic.