一个诡异的芯片, 上面标注是 AT24C128N 的EEPROM 。
它诡异在哪里呢?
i2c scan 2
I2C SCAN port: 2
I2C SCAN : Port=0x2, Find Addr=0x54
I2C SCAN : Port=0x2, Find Addr=0x80
I2C SCAN : Port=0x2, Find Addr=0xA0
I2C SCAN : Port=0x2, Find Addr=0xB0
I2C[2] SCAN finished.
能扫描出 4个 不同的 ADDRESS.
其中 0xA0, 0xB0 可以正常 当作 EEPROM 读写, 没有问题。但 A0 B0 指向不同的 空间段。
at24cxx read 0,10
AT24CXX READ : 0,10
AT24CXX Read #0x0 , 16 bytes.
11 22 33 04 05 FF FF FF
FF FF FF FF FF FF FF FF
而0x54 ,0x80 读出全是 0, 也无法写入。:
ADDR=0x54
at24cxx read 0,10
AT24CXX READ : 0,10
AT24CXX Read #0x0 , 16 bytes.
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
ADDR=0x80
at24cxx read 0,10
AT24CXX READ : 0,10
AT24CXX Read #0x0 , 16 bytes.
00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00
为判断原因, 在同一个PCB 上 尝试:
更换同一批次 芯片 , 情况一样 ;
更换不同批次 的 , 只 读出 0xA0;
谁知道 为何 这个批次 EEPROM 与众不同?
|