作为一种非易失性存储器(NVM),24系列EEPROM使用的很普遍,一般作为数据量不太大的数据存储器。下面总结一下其应用的一些要点。从命名上看,24CXX中XX的单位是kbit,如24C08,其存储容量为8k bit,即1k Byte=1024 Byte。
一、工作条件
1.工作电压(VCC)
24CXX: 4.5V-5.5V
24CXX-W:2.5V-5.5V
24CXX-R: 1.8V-5.5V
2. 输入电平定义(VIH,VIL)
VIH:0.7VCC-VCC+1
VIL:-0.45V-0.3VCC
二、硬件连接
1.上拉电阻RP的取值
由于I2C总线电容要满足小于400pf的条件。从以下波形可以看出,上拉电阻越大,总线的电容越小,可以实现的数据传输率就越大,可达400khz。
2.写保护脚
芯片写保护脚是高电平有效,即WP接高电平时禁止写入
3.地址脚
24C01/24C02 三个地址脚(E0,E1,E2)都有效,24C04只有E2,E1有效,24C08只有E2有效,24C16三个地址脚都无效,如下图所示,所谓地址脚无效是指不需要接入电路中(NC ,not connected),其对应的地址位要用来表示要操作的字节的高位地址。
24C32/24C64三个地址脚都有效;
24C128/24C256/24C512的地址脚E1和E0有效,其余为NC;
24C1024的地址脚E1有效,其余为NC。
三、寻址方式
1.器件地址
当总线上连接多个I2C器件时,需要对器件进行寻址。器件地址如下表所示,其中E2,E1,E0是指三个引脚的状态,取决于是接地还是接高电平,R/W为1则为读操作,为0则为写操作。A8,A9,A10,A16指的是所要操作的字节地址的高位,后面会提到。
芯片 | bit7 | bit6 | bit5 | bit4 | bit3 | bit2 | bit1 | bit0 |
24C01/02/21 | 1 | 0 | 1 | 0 | E2 | E1 | E0 | R/W |
24C04 | 1 | 0 | 1 | 0 | E2 | E1 | A8 | R/W |
24C08 | 1 | 0 | 1 | 0 | E2 | A9 | A8 | R/W |
24C16 | 1 | 0 | 1 | 0 | A10 | A9 | A8 | R/W |
24C32/64 | 1 | 0 | 1 | 0 | E2 | E1 | E0 | R/W |
24C128/256/512 | 1 | 0 | 1 | 0 | 0 | E1 | E0 | R/W |
24C1024 | 1 | 0 | 1 | 0 | 0 | E1 | A16 | R/W |
2.字节地址
在对芯片内的某一字节或一连续地址进行读写操作时,需要制定其地址或首字节的地址,不同芯片地址有不同的表示方式,如下表所示,其中有些芯片的地址位的高位存储在器件地址中。
芯片 | 地址位数 | 地址范围 |
24C01 | bit7-bit0 | 0x00-0x7F |
24C02 | bit7-bit0 | 0x00-0xFF |
24C04 | A8,bit7-bit0 | 0x00-0x1FF |
24C08 | A9,A8,bit7-bit0 | 0x00-0x3FF |
24C16 | A10,A9,A8,bit7-bit0 | 0x00-0x7FF |
24C32 | bit15-bit8,bit7-bit0 | 0x00-0xFFF |
24C64 | bit15-bit8,bit7-bit0 | 0x00-0x1FFF |
24C128 | bit7-bit0 | 0x00-0x3FFF |
24C256 | bit7-bit0 | 0x00-0x7FFF |
24C512 | bit7-bit0 | 0x00-0xFFFF |
24C1024 | A16,bit15-bit8,bit7-bit0 | 0x00-0x1FFFF |