存储器EEPROM之AT24CXX
大小
- AT24C01/02/04/08/16==1Kbit/2Kbit/4Kbit/8Kbit/16Kbit/==128B/256B/512B/1KB/2KB
AT24CXX IIC设备地址
- 8位设备地址
- 1010 XXX+读写位(R/W)
AT24CXX IIC数据地址
- 8位数据地址(AT24C01/AT24C02)
- 9/10/11/16:对应AT24C04/08/16
AT24C01/AT24C02:
- A0、A1、A2引脚作为7位设备地址的低三位,高4位固定为1010B,低三位A0、A1、A2(接GND为0,接VCC为1)
- 确定了AT24CXX的设备地址,所以一根I2C线上最大可以接8个AT24CXX,地址1010000~1010111。
- 数据地址
- 最大数据地址:
- 01:0111 1111 == 8*16 == 128B
- 02:1111 1111 ==16*16 == 256B
AT24C04~AT24C16:
- AT24C04只用A2、A1引脚作为设备地址。A0用来写入页寻址的页面号,因此一根I2C线上最大可以接4个AT24C04,地址为1010 00x ~ 1010 11x; x作为寻址地址,1+8 =9位
- 一根I2C线上最大可以接2个AT24C08,地址为1010 0xx ~ 1010 1xx; xx作为寻址地址 2+8 =10位
- 一根I2C线上最大可以接1个AT24C16,地址为1010 xxx ;xxx作为寻址地址 3+8=11位
- 每页128bit = 16B
- 页数=容量KB/16byte
- 操作步骤:
例如AT24C16第100页的第3个字节(数据地址 3页地址 + 4页地址 + 3偏移地址)
1)发送起始信号;
2)发送器件地址0XAC(1010 1100,1010是固定地址,110是页地址的高三位,0表示写操作);
3)发送操作地址0X42(0100 0010,0100是页地址的低四位,0010是页地址偏移量,即第100页内的第3个字节;
0110 0100 =100页
4)发送要写的数据;
5)发送终止信号。
AT24C32/AT24C64:
- 和AT24C01/AT24C02一样,区别是,发送数据地址变成16位。先发送设备地址高8位,再发送设备地址8位。