Número máximo de lecturas en flash

0

Estoy usando un AT45DB081E flash de 8-Mbit de Adesto (anteriormente de Atmel). Estoy almacenando registros de datos de 7 bytes y mantengo la ubicación del registro más reciente almacenado en la última página de flash. Este valor se lee ocasionalmente (aproximadamente cada 5 minutos) para ver si es diferente de la dirección del siguiente registro de datos que se escribirá. Esto permite que el microcontrolador verifique si se han escrito datos nuevos en la memoria flash o no.

El problema con el que me estoy topando es que, en ocasiones, la ubicación del puntero más nuevo se lee incorrectamente. Me pregunto si leer una y otra vez desde el mismo lugar está causando una acumulación de carga y contaminando las celdas flash, pero no pensé que las memorias flash tuvieran ningún límite en las operaciones de lectura. He enviado un ticket de soporte a Adesto, pero aún no he recibido respuesta.

¿Alguien más se ha encontrado con este problema? ¿Qué has hecho para solucionarlo? Por ahora, estoy leyendo la ubicación de registro más reciente dos veces y asegurándome de que los valores sean los mismos. Todo lo que hizo fue dar menos posibilidades de ver el problema, pero aún ocurre (con menos frecuencia).

    
pregunta Oilyraincloud

2 respuestas

2

Si no es una corrupción persistente de la memoria, supongo que es un problema de software o un problema de secuencia / secuencia de algún tipo.

Si está leyendo la ubicación en un ISR, o si los ISR están haciendo algo remotamente relacionado con los pines utilizados para la comunicación con la SEEPROM, lo vería con mucho cuidado como una posible fuente de problemas.

    
respondido por el Spehro Pefhany
1

No, leer la misma página una y otra vez no altera su valor en flash. Incluso después de cientos de miles de lecturas, el valor no se corrompe. Debe buscar otras fuentes de error (como EMC, prevención, operaciones mientras está ocupado, ...).

    
respondido por el Jacen

Lea otras preguntas en las etiquetas