1、双向双线通信,即一条串行数据线SDA和一条串行时钟线SCL。当IIC总线空闲时,两条线均为高电平,与IIC接口相连的单片机必须为漏极开路输出或集电极开路输出,以实现wired-or功能。IIC空闲时方能进行数据传输。
2、数据有效性,当SCL为高时,SDA上的数据必须保持稳定;当SCL为低时,SDA的电平才能发生变化。
3、起始START信号
信号由主机发出,当发出START信号后,IIC总线处于忙碌状态。
当SCL为高电平时,SDA由高电平变为低电平。即SCL=1时,SDA有一个下降沿信号。
4、结束信号
信号由主机发出,当发出STOP信号后,IIC总线处于空闲状态。
当SCL为高电平时,SDA由低电平变为高电平。即SCL=1时,SDA有一个上升沿信号。
5、应答信号
在进行数据传输时,每一个字节(8bit)数据后都会跟随一个应答信号。该应答信号是接收方发送到总线上的低电平,主机产生一个额外应答的时钟脉冲信号(可忽略)。
6、SDA字节格式
SDA线上的每个字节长度必须是8位,每次传输的字节总数是不受限制的。每个字节传输必须跟随一个ACK信号,数据位从最高位开始。
按bit位由高到低顺序发送数据,在传输过程中SCL必须为高,以保证电平的稳定,结束后SCL=0,准备下一bit位的值传输。