阅读时长15分钟
一、 外观
cat1161(多了看门狗而已) = at24c16
外观不用理那么多,就记住i2c两根线,如果有地址线。
A0 A1 A3 是地址线后面会讲
二、 规格
比如16K = 2048 x 8bit =16Kbit = 2KB = 2048 byte
三、设备地址
i2c协议的地址是 7 bit+ 1bit读写控制位
二进制的前4位 1010 代表设备是 eeprom 的设备,后面的三位有是硬件选择的,还有是用来和后面合并当做内存读写的地址
比如:16K 地址则需要 11 bit
i2c的地址+i2c数据联合起来就够了
如果需要更多的地址,则需要 i2c的地址+i2c数据+i2c数据,后面用两个数据
四、eeprom 的页
两部分,8byte一页和16byte一页
写入时候不能多写,如果写入17个字节,第17个字节就会把第一个字节覆盖掉,保持总数为16个字节。
16K容量则为 16 X 128 = 2048字节 = 16Kbit
2048K=2M,此时它是256字节一页
五、写入时间
因为 eeprom 写入单次最多只能写一页,写入的一页数据暂时存放在 eeprom 中的 ram 里,因为 ram 空间有限,如果写入超过一页数据,ram 中只会存一页数据
比如: 按地址写入0123…9到这里是一页+超过一页的数据987
此时超过一页的数据就会将页前的数据覆盖掉,内部回环的意思,012变成了987
ram 中数据存入到内部存储需要时间,时间根据内存大小有影响(应该是内部寻址时间),容量越大,花费时间越长
例:
写循环时间最大为 10ms,此情况为最差的情况,正常会远远小于这个值,如果是AT24C02之类的是 5ms。