注:本文所涉及EEPROM仅为Atmel公司AT24Cxx系列部分产品(I2C接口),若使用其它公司EEPROM,请参考相应SPEC文档。
常用AT24Cxx系列EEPROM,根据容量大小,有AT24C01(1kb)、AT24C02(2kb)、AT24C04(4kb)、AT24C08(8kb)、AT24C16(16kb)、AT24C32(32kb)、AT24C64(64kb)、AT24C128(128kb)、AT24C512(512kb)、AT24C1024(1024kb)。
之所以说它们有趣,是因为虽然所有EEPROM结构相同(8pin)且接口相同(I2C),但却有一些不同的小细节,使用时如果不注意,很容易出问题。
小细节1. I2C地址
下图为AT24C01~16地址定义,高4bit为芯片固定(1010),此处不做赘述,低3bit中,AT24C01/02定义为A2/A1/A0,4K定义为A2/A1/P0,8K……

为什么会有A和P两种定义呢,其实,这是芯片容量和寄存器地址寻址空间导致的,在AT24C01-16中,寄存器地址为8bit,也即是说,其最大寻址空间2^8=256Byte=2Kb,当芯片容量超过2kb后,8bit寄存器地址已经无法覆盖所有存储空间,因此,寄存器地址就向芯片地址“借位”,每借1bit地址,寻址空间增加1倍,这就出现了4Kb芯片的设备


2347

被折叠的 条评论
为什么被折叠?



