EEPROM

一、AT24XX 系列 EEPROM:
AT24CXX系列是ATMEL公司生产的串行电可擦除可编程存储器,8引脚封装,具有可掉电记忆、存储容量大等特点。可以在2线总线上并接多片芯片,适用于需要大容量数据存储的嵌入式系统。
1、管脚说明:(以AT24C08为例)
A0、A1、A2:器件地址,IIC串行总线需连接多个EEPROM芯片时,可通过A0、A1、A2来区分各芯片。悬空为0。
SDA 、SCL :串行数据、串行时钟。一般在SCL上升沿将SDA上的数据写入存储器,而在其下降沿从存储器读出数据到SDA。
WP:写保护。接地,允许写操作;接VCC,禁止写操作。
VCC:电源。
GND:地。
NC:悬空。(AT24C08无此引脚)
2、写操作
AT24C系列的写操作有按字节写和按页写两种方式。
字节写通常是在向EEPROM发送设备地址字并收到应答信号后,发送write address选择待写数据的地址。EEPROM收到这个地址后返回一个ACK,然后接收一字节数据,再返回一个ACK。处理器收到此ACK后发停止状态结束写。
页写时EEPROM可一次连续写入整页数据。其发地址过程与字节写时完全相同,不同的是,写完一个数据字节后,处理器不发停止状态,而是在应答信号后继续写入数据。EEPROM在每一个字节接收完毕后都会返回一个ACK。
注意,如果页写时写入数据超出物理页边界,则超出数据将重新写入页首地址并覆盖之前写入的数据。
3、读操作
读操作有当前地址读、随机读、多字节连续读三种方式。
读操作发地址过程与写操作相同,只是把设备地址最低位改为读。在当前地址读时无需发送read address,而随机读则需发送read address。每次读操作后,片内读地址保持自加,直到读完整个EEPROM后返回0地址(注意不是页首地址)。连续读操作既可以是当前地址读,也可以是随机地址读。每次处理器收到一字节数据都会返回一个ACK,EEPROM接到此ACK后会自动地址加1 ,并接着输出下一字节数据,直到处理器返回NO ACK时结束读操作。
4、各型号EEPROM参数
AT24C08 :容量1k,页大小16 byte,64页,8位地址位,A2用于设备地址,A0、A1用作页寻址(2的(8+2)次方 = 1k)< 1-0-1-0-A2-a9-a8-R/w >。
AT24C16 :容量2k,页大小16 byte,128页,8位地址位,A0、A1、A2均用作页寻址(2的(8+3)次方 = 2k)< 1-0-1-0-a10-a9-a8-R/w >。
AT24C32 :容量4k,页大小32 byte,128页,16位地址位,A0、A1、A2均用作设备地址。
二、IIC EEPROM 特点
EEPROM 有多种接口,但最常用的还是IIC 接口。
在所有EEPROM器件中,写周期都要比读周期长的多。因为在写周期过程中,电荷需要借助隧道效应并通过绝缘层进行转移,这个过程很费时间。虽然增加电压可以加快这个过程,但过高的电压会击穿绝缘层介质,从而损坏器件。典型的EEPROM器件写周期为10ms左右,而读周期只需几百个纳秒。
为了缩短写周期时间,许多IIC EEPROM器件采用页写模式。该模式允许将多个字节传送到缓存中,然后一次性写入存储区。如AT24C32每页大小为32byte,则一个写周期可以向EEPROM写入32个字节数据。
此外,串行EEPROM都具有特定的耐久度,即每个页面所能承受的写周期次数上限。因此,不要在同一个页面上反复执行写操作。
三、EEPROM存储设计
1、缓存区、校验区、主存储区 <防止掉电> <读、写、提交、回退、检查、清理>
【EEPROM】2、多份存储<推荐三份,取之前检验这三份数据是否相同>

    推荐阅读