Condiciones para la escritura de la página en EEPROM

0

He aprendido acerca de las operaciones de escritura de páginas de las notas de la aplicación y las hojas de datos de los chips EEPROM. Pero quiero aclarar ciertas dudas. Tengo un chip EEPROM que tiene un tamaño de página de 32KB y 64B.

1. ¿Puedo escribir menos de 64 bytes?  Diga n Bytes

En caso afirmativo, ¿qué sucede con las ubicaciones restantes (64-n) en el caso de la escritura de la página? (¿Se mantendrá en BFF o en 0)?

Este es el chip EEPROM 24LC256.

    
pregunta Rookie91

3 respuestas

1

No estoy seguro de que te des cuenta de las implicaciones de una página de eeprom. Aquí está la hoja de datos 24LC256

Una opción para llenarlo es escribir bytes individuales. Usando ese modo, envía la dirección de byte de eeprom para cada byte que desea escribir, por lo que la ubicación de la página no representa ningún límite.

Una opción alternativa es escribir un bloque. El tamaño del bloque para el dispositivo en particular es de 64 bytes, por lo que los límites de las páginas son

0-63
64-127
128-191
....

Cuando escribes un bloque, solo envías la dirección de la memoria una vez y luego envías los bytes a almacenar. La dirección se incrementa internamente para cada nuevo byte.
Las escrituras de página solo se pueden usar dentro de los límites de una página, para alcanzar los límites de la página, debe detenerse y comenzar una nueva escritura enviando la dirección nuevamente.

Si inicia una escritura de bloque desde una dirección que está cerca del final del bloque, solo puede escribir unos pocos bytes hasta el final de la página en lugar de los 64 bytes. Por ejemplo, si inicia una escritura de bloque desde la dirección eeprom 126, entonces solo puede escribir dos bytes, en las ubicaciones 126 y 127. Si continúa escribiendo bytes, la dirección se desplaza y sobrescribe el inicio del bloque (en este caso, 64, 65 ..)

En cualquier caso, los valores de cualquier ubicación de eeprom donde no se haya realizado una acción de escritura o borrado mantienen el valor existente.

Así que para tu pregunta

  

¿Puedo escribir menos de 64 bytes?

Claro que puede hacerlo con escrituras de bytes individuales o con escritura de página pero dentro de los límites de la página que serán (0-63, 64-127 ...)

  

En caso afirmativo, ¿qué sucede con esas ubicaciones? (¿Se mantendrá en BFF o en 0)?

¿Se explicaron los valores anteriores en la ubicación donde no se ha realizado un ciclo de escritura o borrado? Mantenga su valor existente. Por lo general, eeprom no escrito tiene 0xff escritos en todas las ubicaciones de bytes para que esto se mantenga.

    
respondido por el alexan_e
2

Normalmente, una EEPROM se borra a 1 bits y puede cambiar cualquier 1 a 0 , pero debe borrar nuevamente para volver a 1 . Es posible que deba escribir la página completa (dependiendo de su interfaz), pero si escribe todo 0xff es casi seguro que pueda volver atrás y escribir otros valores más adelante. Si escribe todo 0x00 , tendrá que borrar para cambiar los datos. Puede sobrescribir el comienzo con sus datos existentes si tiene que escribir en bloques.

    
respondido por el Ben Jackson
1

1) Sí, puedes escribir menos de 64 bytes. Si lo desea, puede leer / escribir EEPROM por byte por byte. Sin embargo, esto puede ser más lento para operaciones de datos grandes.

2) Una vez que borre una página (gire todo a 0xFF), si escribe solo en algunas ubicaciones de bytes, el resto permanecerá en 0xFF hasta que les haga algo.

    
respondido por el Dave

Lea otras preguntas en las etiquetas