Páginas EEPROM duplicadas

0

Estoy enfrentando un problema extraño. Cada vez que escribo en mi EEPROM (24LC04B), también se escribe en todas las demás páginas y no entiendo por qué.

i2cdetect -y 1 devuelve 8 páginas:

 0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
 00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
 50: 50 51 52 53 54 55 56 57 -- -- -- -- -- -- -- -- 
 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
 70: -- -- -- -- -- -- -- --  

primera línea de la primera dirección: i2cdump -y 1 0x50 :

15 15 20 10 10 00 00 00 00 18 18 18 18 18 18 00    ?? ??....??????.

primera línea de la tercera dirección (los mismos datos): i2cdump -y 1 0x52 :

15 15 20 10 10 00 00 00 00 18 18 18 18 18 18 00    ?? ??....??????.

Actualizo el primer bloque 0x52 a 0x03: i2cset -y 1 0x52 0x00 0x03 , la salida de i2cdump -y 1 0x52 es la esperada y el primer bloque se actualizó a 0x03:

03 15 20 10 10 00 00 00 00 18 18 18 18 18 18 00    ?? ??....??????.

PERO el primer bloque de direcciones 0x50 también se actualizó : i2cdump -y 1 0x50 :

03 15 20 10 10 00 00 00 00 18 18 18 18 18 18 00    ?? ??....??????.

No puedo entender por qué. Parece que cada otra dirección es un clon de otra:

0x50 = 0x52 = 0x54 = 0x56 (same data, if one gets updated, all get) 
0x51 = 0x53 = 0x55 = 0x57 (same data, if one gets updated, all get)

¿Algún consejo por favor? Gracias!

    
pregunta Kristian

1 respuesta

3

Creo que entendiste mal que el 24LC04 es un 4096 BIT EEPROM, no 4096 bytes. Así que solo tienes dos páginas de 256 bytes.

Si leyó la sección 3.6 de la Hoja de datos , verá que no le importa. bit 1 y bit 2 de la dirección del dispositivo I²C tampoco. Las entradas A0, A1, A2 no se utilizan en absoluto en este chip.

Entonces, es por eso que su chip está "reflejado" a 0x52, 0x54 y 0x56. Y, por supuesto, la segunda página es 0x53, 0x55 y 0x57.

    
respondido por el Janka

Lea otras preguntas en las etiquetas