IIC总线协议

1.IIC通信定义

多主机半双工同步串行总线。

由数据线 SDA 和时钟 SCL 构成的串行总线,时钟信号全程由主机提供。

 

2.IIC传输速度

    S(标准模式)测量与控制场合,100kb/s

    F(快速模式),速率为 400kb/s

    Hs(高速模式),速率为 3.4Mb/s。  

 

3.IIC数据传送格式

每一个字节必须保证是8位长度。数据传送时,先传送最高位(MSB),

每一个被传送的字节后面都必须跟随一位应答位(即一帧共有9位)。

 

4.IIC起始和停止信号

  • 起始:时钟线SCL为高时,数据线SDA由高到低
  • 停止:时钟线SCL为高时,数据线SDA由低到高

SDA和SCL同时为高时,为IIC总线的空闲状态。

 除了启动及停止的状况下,所有的SDA 信号变化都要在SCL 时钟为低电平时进行;

数据位在每一个时钟周期的高电平期间保持稳定,不可以进行改变。

每次数据传送总是由主机产生的停止信号结束。

 

5.IIC应答信号

数据接收方对发送方回应一个低电平信号;此时数据发送方释放SDA信号线的控制。

由于IIC总线上有上拉电阻,因此此时总线默认高电平,若接收方正确接收到数据,则将SDA总线拉低,以示应答。

由于某种原因, 不产生应答时,如被控器正在进行其它处理无法接收总线上的数据时,

必须释放总线,将数据线置高电平,然后主控器可通过产生一个停止信号终止数据传输。

 

6.IIC读写时序

写时序

 

 读时序

 进行读操作时,首先仍是写操作,先向从机写入要读取的数据地址,随后重新发送开始信号及从机地址的读请求,

从机应答后发送数据,直到不需要在读取时主机回复nAck,发起结束信号,通信结束。

 

 

 

 参考资料

https://zhuanlan.zhihu.com/p/161710767

https://www.cnblogs.com/ninghechuan/p/6965566.html

 

posted @ 2020-10-16 14:43  Gimiracle  阅读(519)  评论(0编辑  收藏  举报