24系列EEPROM的应用

来源:互联网 发布:战神诀光翼进阶数据 编辑:程序博客网 时间:2024/05/16 19:41
        作为一种非易失性存储器(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 E1A16 R/W


2.字节地址
        在对芯片内的某一字节或一连续地址进行读写操作时,需要制定其地址或首字节的地址,不同芯片地址有不同的表示方式,如下表所示,其中有些芯片的地址位的高位存储在器件地址中。
 

芯片地址位数地址范围24C01bit7-bit00x00-0x7F24C02bit7-bit00x00-0xFF24C04A8,bit7-bit00x00-0x1FF24C08A9,A8,bit7-bit00x00-0x3FF24C16A10,A9,A8,bit7-bit00x00-0x7FF24C32bit15-bit8,bit7-bit00x00-0xFFF24C64bit15-bit8,bit7-bit00x00-0x1FFF24C128bit7-bit00x00-0x3FFF24C256bit7-bit00x00-0x7FFF24C512bit7-bit00x00-0xFFFF24C1024A16,bit15-bit8,bit7-bit00x00-0x1FFFF


四、读写时序
         EEPROM一般在电路中做从器件,以下的发送和接收都是针对主器件说明的,开始和结束条件也是由主器件发出。
1、单字节写操作
     START->发送器件地址->ack->发送字节地址->ack->发送数据->ack -> STOP
2、按“页”写操作,“页”是指高位地址一样一组数据,对于24C01/02/04/08/16,一页数据为16字节,一页指高四位地址一样的一组数据。对于24C32/24C64,一页数据为32字节,一页指高11位地址一样的一组数据。
     START->发送器件地址->ack->发送页首地址->ack->发送数据->ack.........-> 发送数据->ack -> STOP
3、随机单字节读操作
    START->发送器件地址(写)->ack->发送字节地址->ack->START->发送器件地址(读)->ack->接收数据->noack->STOP
4、当前单字节读操作,“当前”指的是前面进行过读操作,但是没有STOP,芯片内部“指针”指的字节即为“当前”字节。
   START->发送器件地址(读)->ack->接收数据->noack->STOP
5、随机连续字节读操作
      START->发送器件地址(写)->ack->发送字节首地址->ack->START->发送器件地址(读)->ack->接收数据->ack->接收数据->ack.........接收数据(最后字节)
    ->noack->STOP 
6、当前连续字节读操作
     START->发送器件地址(读)->ack->接收数据->ack->接收数据
     ->ack...............接收数据(最后字节)->noack->STOP

0 0