1、概述
I2C总线是Philips公司推出的芯片间串行传输总线。它只需要SDA,SCL两根线就能实现总线上器件的全双工同步数据传送。
AT24C02是256ByteROM,按照I2C协议工作的。分32页,每页8个Byte。MCU和AT24C02互相都可做发送器、接收器,单总线是由MCU控制的。典型接法为:
基本操作有读取写入1bit信号,开始、停止信号,主机应答信号,主机不应答信号,检查从机应答信号。在基本操作基础上有扩展操作,包括读写入1Byte信号,读写NByte信号。针对AT24C02调用以上函数实现读写函数。
2、基本操作
2.1、起始和停止信号:
2.2、每接收一个字节后接收器必须产生一个确认信号位ACK
若主器件不需要从器件最后一个字节中产生确认位,主器件必须发送一个数据结束信号给从器件,从器件保持数据线为高电平(用/ACK表示),使得主器件产生停止条件。
2.3 发送读取1bit操作
3、读写操作
3.1写单字节
说明:开始位(START)后,主器件送出8位控制字(DEVICE ADDRESS)1010 A2A1A0 R/W。控制字节前4位为Philip公司规定的1010,代表串行E2PROM。5-7为存储器片选位。BIT7为1代表下一字节进行读操作,为0代表写。
3.2 页面写入(AT24C02单页最大为8Byte)
3.3 读当前地址数据
3.4 读指定地址数据