IIC协议是一种同步半双工串行通讯协议,具有两条数据线,一根数据线和一根时钟线。
IIC协议主要有以下几个部分组成:起始条件,n * {数据,应答位},停止条件
起始位如图所示
停止位
协议的结构
通过地址和对应的读写位来确定具体的读写操作
时序图
总结:
1.IIC协议在传输数据时,总是在始终低电平变化数据,在时钟的高电平读取数据,而开始和停止条件则恰恰相反,并且在空闲状态下,两者都是高电平。
2.IIC可以多主多从,为了满足这个要求,IIC器件的引脚都是工作在开漏模式,需要外接上拉电阻,这样在任何一个器件响应时,通过开漏模式下线与的特性,即可向主或者从发送数据。多主模式不懂,需要仲裁啥的。
3.一般来说,IIC协议的通讯速度都比较慢(低速-100kbps,快速-400kbps和高速-3.4Mbps),这是因为IIC的高电平是由上拉电阻提供的,在从低电平变为高电平时会受到电阻电容的影响,速度比较慢,不如SPI这种直接驱动的快。