【单片机应用】IIC的基本操作原理及AT24CXX的具体应用**
** 这些天在调试stmf103跟at24c16之间的通讯,由于自己是个菜鸟所以中间过程磕磕绊绊,网上也查阅了相关资料再加上自己的一点点理解,今天我把它总结到这里。**
IIC总线
IIC(Inter-Integrated Circuit)总线是一种由PHILIPS公司在80年代开发的两线式串行总线,用于连接微控制器及其外围设备。它是半双工通信方式。
在集成度较高的今天,IIC协议集成到了各种类及功能的IC芯片上。最主要的优点是其简单性和有效性。由于接口直接在组件之上,因此IIC总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。如图所示,IIC总线可以挂载多个设备,理论上IIC总线最多可以挂载2^7(127)个设备。
IIC总线为两线制:SDA为数据线, SCL为时钟线
IIC协议
IIC总线在通讯过程中主要分为3种信号:起始信号,结束信号,应答信号。起始信号是必需的,结束信号和应答信号按具体情况可以省略。
**a.**起始信号:当时钟线SCL为高期间,数据线SDA由高到低的跳变;启动信号是一种电平跳变时序信号,而不是一个电平信号;
**b.**停止信号:当时钟线SCL为高期间,数据线SDA由低到高的跳变;停止信号也是一种电平跳变时序信号,而不是一个电平信号。
**c.**应答信号为低电平时,规定为有效应答位(ACK,简称应答位),表示接收器已成功地接收了该字节;
**d.**应答信号为高电平时,规定为非应答位(NACK),一般表示接收器接收该字节没有成功。
**e.**IIC总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有时钟信号为低电平时,数据线上的电平才允许变化。
**f.**每一个字节必须保证是8位长度。数据传送时,先传送最高位(MSB),每一个被传送的字节后面都必须跟随一位应答位(一帧共有9位)
AT24CXX
了解了IIC后我们接下来认识一下AT24CXX芯片。该芯片是EEPROM芯片,用于存储数据,掉电不丢失。
a.根据容量有多种方式:
一、容量为AT24C01~AT24C16,首先发送设备地址(8位地址),再发送数据地址(8位地址),再发送或者接受数据。
二、AT24C32/AT24C64~AT24C512,首先发送