IIC总线协议详解

嵌入式 TOMORROW 3个月前 (05-25) 194次浏览 0个评论 扫描二维码
文章目录[隐藏]

首先IIC英文全称为 Inter-Integrated Circuit BUS,又叫集成电路总线,该总线由 NXP(原 PHILIPS)公司设计,多用于主控制器和从器件间的主从通信,在小数据量场合使用,传输距离短(板级通信),任意时刻只能有一个主机等特性。

 

IIC总线简介

IIC协议是一种总线协议,是串行的,是同步的,是半双工的。它通信速率最高就只有几百 KB/s 。

IIC由两条总线构成,数据线 SCL 和时钟线 SDA。

有许多设备挂载在总线上,每个设备之间用唯一地址来区别。

IIC 总线协议详解

 

IIC总线通信时序

只有当 SCL 为高电平时,SDA 的数据才有效;

IIC 总线协议详解

 

所以起始条件为:当 SCL 为高电平时,SDA 由高到低(下降沿);

终止条件为:当 SCL 为高地平时,SDA 由低到高(上升沿)。

IIC 总线协议详解

 

每当主机向从机发送完一个字节的数据,主机总是需要等待从机给出一个应答信号,以确认从机是否成功接收到了数据,从机应答主机所需要的时钟仍是主机提供的,应答出现在每一次主机完成 8 个数据位传输后紧跟着的时钟周期,低电平 0 表示应答,1 表示非应答。

 

通信流程

IIC通信始终是由主机发起的,一个标准通信通常由四部分组成:开始信号、从机地址传输、数据传输、停止信号。

IIC 总线采用了的是 7 位寻址约定,规定了开始信号后的第一个字节为寻址字节,用来寻址被控器件,并规定第一个字节的第 8 位表示数据的传送方向。

IIC 总线协议详解

  • S 为起始信号;从机地址为 7 位;T 为传输方向(1 为读,0 为写);A 为应答位;F 为终止信号。
  • 主控器发送开始信号后,立即发送寻址字节;
  • 这时,总线上的所有器件都将寻址字节中的 7 位地址与自己器件地址比较,如果两者相同,则该器件认为被主机寻址,然后发送应答信号,根据读/写位确定自身是作为发送器还是接收器;
  • 接着就开始了数据传输,结束时由主机发出终止信号;
  • 期间如果需要改变数据传输方向,则需要主机重新发出开始信号、从机地址+读写位。

 

 

 

 


TOMORROW 星辰 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:IIC 总线协议详解
喜欢 (0)
TOMORROW
关于作者:
一个从石头坑掉到泥坑里的攻城狮。
机智的指甲油发表我的评论  请填写正确的 个人信息
取消评论
表情 加粗 斜体 签到