AT24C512是ATMEL公司最近生产的512k位(K×8位)串行大容量电可擦的可编程存储器EEPROM
1.1 AT24C512的主要特性
具有如下三种工作电压:5.0 V;2.7 V;1.8 V;
内部可以组织成 k X 8存储单元;
符合双向数据传送I2C协议;
具有硬件写保护和软件数据保护功能;
具有按页(128字节)写或按字节读写模式.
AT24C512有八个引脚.A0、A1:地址选择输入端.
在串行总线结构中,如需连接4个AT24C512芯片,则可用A0、Al来区分各芯片;SCL:串行时钟输.通常在其上升沿将SDA上的数据写入存储器,而在下降沿从存储器读出数据并送往SDA;SDA:双向串行数据输入输出口.用于存储器与单片机之间的数据交换;WP:写保护输入.此引脚与地相连时,允许写操作;与VCC相连时,所有的写存储器操作被禁止.如果不连,该脚将在芯片内部下拉到地.
1.2 AT24C512的工作原理
AT24C512内部有512页,每一页为128字节,任一单元的地址为l6位.地址范围为0000H~FFFFH,可按页写或字节读写模式.
AT24C512的工作状态主要有时钟和数据传送、结束和应答等4种.图1是AT24C512的工作时序.
AT24C512的所有地址和数据都是以8位的形式串行传送给存储器或从存储器读出的.每次存储器都将在第九个时钟SCL周期时由SDA发零信号以对收到的8位数据进行应答.读或者写入的位数都是高位在前,低位在后.当EEPROM进入开始状态后,一般都需要一个8位的地址字来选择芯片以进行读写.器件地址字由5位0、1组成的命令字和两位地址选择位A1、A0以及一位读/写操作位构成.对于AT24C512,命令字为“10100”,同一串行总线上可以连接4个AT24C512器件,这些器件可以通过地址线A1,A0加以区分.如果只有一个AT24C512,那么Al、A0都取0.最低位为l时表示读操作,为0表示写操作.其格式如下:
同时,AT24C512外部引脚A1,AO也要相应连接到VCC或GND.(与器件地址选择位相对应)
2 AT24C512的读写方式和工作时序
2.1 写操作
AT24C512的写操作有写字节和写页两种方式,共 KX 8 bit.写字节时通常在向AT24C512发送设备地址字并接到应答信号后,还需要发送2个8位地址来选择要写数据的地址,AT24C512接收到这个地址后会应答一个零信号,然后根据CLOCK写8位数据到AT24C512.存储器接收到数据后同样会返回一个应答信号.写数据结束后,发出结束命令,AT24C512进入内部计时的写周期,这个内部写周期约需5 Ills.在写循环过程中,所有的输入都不能进行,直到写结束,EEP—ROM才能响应.AT24C512具有128字节作为一页的写页功能,可以一次性写入一页.写页的初始化过程与写字节的方法基本相同.不同的是:当写页操作写入一个数据字节后,微控制器不发停止状态,而是在应答信号后接着输入127个字节.每一个字节接收完毕后,EEP—ROM照样输出一个零应答信号.因为一页只有128个单元,所以数据字的地址低7位在接收到一个字节后会自动加1,而高位地址不变,即页地址不变.若内部产生的地址达到了页的边界时,系统将回到页的开始进行写.如果一次要写的字节大于128字节,则最早写入的字节将被覆盖.图2为其写操作流程图.
2.2 读操作
读操作有当前地址读、随机读、读串三种方式.其初始化过程基本与写操作相同,只是在设备选择字中的最低位要改成读而已.在当前地址读操作方式时,内部数据的地址将保持在最后的读写操作地址加1上,OP只要芯片有电源供给,这个地址将一直保持着.直到读到EEPROM的最后字节后又回到最开始的位置.而随机读操作之前先要向EEPROM写入一个字节地址,然
后才能读.读串操作既可以是当前地址读,也可以是随机地址读.当微控制器接收到一个数据字后,会回应一个应答信号.EEPROM在接收到应答信号后会将地址加1,接着输出下一个字节.而当微控制器接收到数据但不回应答信号时,读过程结束.下载本文