网络通信 > 通信技术 > 详情

IIC通信协议详解

发布时间:2023-10-11 发布时间:
|
  IIC详解
  IIC:Inter-Integrated Circuit (内部集成电路总线)
  IIC数据线是双向的
  

  · 主机发送数据到7位地址从机的时序图:
  

  起始信号:在无数据通信时,IIC总线的SCL和SDA都是高电平;当主机要发送数据时,SDA在SCL为高电平时拉低发送起始信号
  从机地址:而后,主机在SDA上发出从机的7位地址(高位在前、低位在后)。这里只是以7位地址从设备为例,目前IIC总线支持7位地址和10位地址两种设备
  写标志:起始信号后的首字节的位(第8位)是读/写信号,其中0表示写数据到从机、1表示由从机读数据
  应答信号:当从机接收到主机发出的从机地址后,与自己的地址做比较,若发现呼叫的是自己,则在SCL的第9个时钟信号时拉低SDA,以表示应答(ACK)
  数据传输:主机收到应答信号后,接下来发送要传输的数据给从机,每次从机收到数据后,发送一个应答信号确认收到数据。
  停止信号:数据发送完成之后,主机发出停止信号,告诉从机数据通信结束。
  · 主机从7位地址从机读取数据的时序图:
 

  起始信号 → 从机地址 → 读标志"1" → 从机应答 → 从机发送数据 →主机应答 → … →从机发送数据 → 主机无应答 → 主机发送停止信号
  · 完整的时序图:
  

  电气特性:
  

  · 起始位:当SCL=1 时,SDA上有下降沿
  · 终止位:当SCL=1 时,SDA上有上升沿
  起始位之后总线被认为忙,即有数据在传输。
  · SCL =1 时,SDA的数据必须保持稳定,否则由于起始位和终止位的特性,SDA上数据发生改变将被识别成起始位或终止位。
  · SCL=0 时,SDA上的数据才允许改变
  停止位之后总线被认为闲,空闲状态时SDA和SCL都为高电平。
  当一个字节发送或接收完毕需要CPU干预的时候,SCL一直保持低电平
 

  起始位和终止位都是主设备产生的,主设备为数据传输产生时钟信号:
  主设备在传输每个数据位时都会产生一个时钟脉冲

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
中国芯片自主化还需要迈过几道坎?