I2C协议说明

IIC(Inter - Integrated Circuit)总线是菲利浦公司推出的芯片间串行传输总线。它用两根线实现了完善的全双工同步数据传送。

I2C串行总线一般有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL。所有接到I2C总线设备上的串行数据SDA都接到总线的SDA上,各设备的时钟线SCL接到总线的SCL上。

I2C总线在传送数据过程中共有三种类型信号,它们分别是:

开始信号、结束信号和应答信号。

开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。

结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。

应答信号:数据接收完后,受控单元向主控单元发送一个应答信号。

开始信号是必需的,结束信号和应答信号可以不要。

数据传输格式如下:

主控写: 开始| 寻址字节(写)| 应答| 数据| 应答| …| 数据| 应答| 结束

主控读: 开始| 寻址字节(读)| 应答| 数据| 应答| …| 数据| 非应答| 结束

下划线部分表示主控发送,被控接收;其余为主控接收,被控发送。

时钟脉冲如图所示: