Adesto DataFlash (AT45DB641E) lee ceros después de hacer ejercicio con flash durante varios minutos

0

Estoy usando el Ad45 DataBlash de AT45DB641B y no en el modo de bajo consumo.

En mi aplicación, estoy grabando un flujo de datos sin procesar del sensor y constantemente escribo en flash cada segundo. Tengo una autoprueba que se invoca cada minuto para volver a leer un centinela de flash para asegurarme de que todo esté funcionando correctamente. Sin embargo, cuando he estado ejecutando mi grabación desde entre 10 minutos y 4 horas, en algún momento el flash volvería a leer todos los ceros en esta dirección de centinela. Esta dirección de memoria se establece una vez inicialmente y nunca se modifica durante el curso de la grabación.

En mi unidad de prueba, hago un gran esfuerzo de borrar / programar, luego leo y diferentes conjuntos de datos y todas las operaciones parecen funcionar normalmente.

Me pregunto qué podría causar un flash para leer los ceros y que suceda de manera inconsistente.

    
pregunta tll

1 respuesta

1

Supongo que su unidad de prueba utiliza un chip físico diferente. Existe una gran variabilidad en los tiempos de borrado posibles de chip a chip y con voltaje de alimentación, y diferentes formas de escritura / borrado. También supongo que no estás escribiendo un sistema de archivos, porque eso tiene un conjunto diferente de desafíos.

Pero lo más simple ... ¿está marcando la bandera de ocupado antes de leer la ubicación del centinela? Si el chip está en el medio de una página, puede salir del radar por muchos (como 35) milisegundos.

    
respondido por el Spehro Pefhany

Lea otras preguntas en las etiquetas