AT24C02是一个2K位串行CMOS E2PROM, 内部含有256个8位字节,CATALYST公司的先进CMOS技术实质上减少了器件的功耗。AT24C02有一个8字节页写缓冲器。该器件通过IIC总线接口进行操作,有一个专门的写保护功能。
一、器件地址
从图中可以看出,2k/4k8k/16k器件地址高四位都为1010低四位的前三位为可编程地址,这样一个iic总线最多可接8个at系列eeprom,最后一位为数据传送方向控制位。
二、写一个字节
图二为主机向从机写一个字节的时序,可以看到先是启动iic然后写器件地址,7位器件地址+位数据传送方向控制位,产生ack应答,写字地址,再产生ack应答,然后发送数据产生ack应答,最后发送iic结束信号。
三、页写
通过阅读AT24的数据手册可以发现,2k的EEPROM支持8个字节的页写,后面的数据最多能发送8个而且要从页头开始写(这个还是调试过程中发现的,还好用了逻辑分析仪,通过逻辑分析仪我发现写的时序都是正确的,但是读出数据最后几位总是错误然后又查了下手册才发现这条规定)。4K/8K/16K一页则可以写16个字节。通过写多个字节和写一个字节时序图比较可以发现,在发送完上一个字节的数据收到ack应答后不需要再次写器件地址和字地址,只需在收到ack应答后继续发送字节数据,在最后一个字节发送完毕收到ack应答产生一个iic结束信号便可结束写操作。
四、当前地址读取一个字节
主机读数据:第一主机先发送iic启动信号,二发送7位器件地址+一位读写方向控制位,三等待ack应答,四读取数据同时后主机发送非应答信号(不是等待从机产生ack应答信号),五产生iic停止信号
五、从指定字地址开始读
任意读,就是从指定的字节地址开始读。第一先发送iic启动信号,第二发送7器件地址+一位写操作的数据传送位等待ack应答,第三发送要读的字节地址等待ack应答,第四像图四那样操作。
六、读取n个字节
连续读和连续写类似,这里只需要在读取一个字节数据读完发送ack应答继续读取字节,但在读取最后一个字节后要发送非ack应答告诉从机读完了,最后发送iic停止信号。