◎ 数据的有效性
数据线SDA 的数据必须在时钟的高电平周期保持稳定不变。数据线SDA 的高或低电平状态只有
在时钟线SCL 处于低电平期间才允许改变。但是在I2C总线的起始和结束时例外(详细见起始条件和
停止条件)。某些其它的串行总线可能规定数据在时钟信号的边沿(上升沿或下降沿)有效,但I2C
总线则是电平有效。具体时序图见图6所示。
图 6:I2C 总线的位传输
◎ 起始和停止条件
起始条件:当SCL处于高电平期间时,SDA从高电平向低电平跳变时产生起始条件。总线在起始
条件产生后便处于忙的状态。起始条件常常简记为S。
停止条件:当SCL处于高电平期间时,SDA从低电平向高电平跳变时产生停止条件。总线在停止
条件产生后处于空闲状态。停止条件简记为P。
起始和停止条件示意图如图7所示。
图 7:起始和停止条件示意图
◎ 字节传输格式
I2C 总线以字节为单位收发数据。传输到SDA线上的每个字节必须为8位。每次传输的字节数量
不受限制。首先传输的是数据的最高位(MSB 第7位),最后传输的是最低位(LSB,第0位)。另外
每个字节后必须跟一个响应位(ACK)。I2C传输数据如图8所示。
◎ I2C 总线响应
图 8: I2C 总线的数据传输
在I2C总线传输数据过程中,每传输一个字节,都要跟一个应答状态位。接收器接收数据的情况
可以通过应答位来告知发送器。应答位的时钟脉冲仍由主机产生,而应答位的数据状态则遵循“谁
-5-
广州奥松电子有限公司 电话:020-36042809 / 36380552 www.aosong.com