1、I2C总线

I2C使用两条线在主控制器和从机之间通信,SCL(串行时钟线)和SDA(串行数据线),这两条线需接5~10欧上拉电阻,总线空闲空闲时,SCL和SDA处于高电平,I2C总线标准模式速度可以达到100K/S,快速模式可以达到400K/S。
【驱动】I2C读写时序-LMLPHP

2、状态

I2C总线有四种状态:空闲、启动、忙碌、停止
1)空闲
当总线为空闲状态时,SDA和SCL两条线路一定都是高电平。但是SDA和SCL两条线路都是高电平时,并不一定是总线空闲状态。
譬如总线正在传输数据“1”时,SDA和SCL都是高电平,但此时并不是总线空闲状态。所以,总线空闲状态不但要求SDA和SCL线要同时为高电平,而且还要求同时为高电平的保持时间不小于tBUF(tBUF:标准模式≥4.7us,快速模式≥1.3us,快速增强模式≥0.5us,超快模式≥80ns)。
【驱动】I2C读写时序-LMLPHP

2)启动信号
在时钟线SCL保持高电平期间,数据线SDA上的电平被拉低(即负跳变),定义为I2C总线总线的启动信号,它标志着一次数据传输的开始。

启动信号是由主控器主动建立的,在建立该信号之前I2C总线必须处于空闲状态。

    05-09 02:58