I2C总线上只具有SOL(时钟)和SDA(数据)2根信号线。如果是单纯的串行传输,一旦因为某种原因造成引脚的偏差,则可能会造成不能区分总线上传输的是数据还是地址信息的后果。解决上述问题的简单办法就是附加独立于总线的Reset(复位)信号,由主机控制该信号。因为I2C至少利用2根线进行所有的操作,因此在数据传输时,通常当SCL为低电平时,设置下一个数据;当SDA变化后,SCI为高电平,这可以解释为一连串操作的开始/结束。
1. 起始条件
始条件表示一系列操作的开始。图1表示起始条件以及随后数据传输的开始操作。在I2C总线的空闲状态下,SDA及SCL通过上拉电阻都为高电平。在这样的状态下,如果SCL仍保持高电平,而SDA变为低电平,则成为开始指令。
|