I²C总线通信协议
(1)I²C概述
I²C(Inter-Intergrated Circuit)集成电路总线,该总线是由飞利浦公司在1980年代初设计出来的。主要是用来连接整体电路,是一种多向控制总线,也就是说多个器件可以连接到同一总线结构下,同时每个器件都可以作为实施数据传输的控制源。
I²C属于半双工同步串行通信方式。
(2)I²C硬件拓扑结构
I²C总线一般有两根线,一个是双向传输的数据线(SDA),另一个是时钟线(SCL),所有接到I²C总线设备上的串行数据线SDA都接到总线的数据线SDA上,各设备的时钟线SCL都接到总线的时钟线SCL上。硬件连接如下图1所示,数据线SDA与时钟线SCL都通过一个上拉电阻连接到电源,初始电平都为高电平,处于空闲状态。每个连接到I²C总线的元器件都有唯一的地址。
(3)I²C协议
I²C总线在数据传输过程中时钟线SCL始终由主机控制,数据传输期间共有三种信号产生:开始信号,停止信号和应答信号。简单概况如下:
①数据有效