IIC总线通信时序及通信流程解析

电子说

1.2w人已加入

描述

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

IIC总线简介

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

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

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

IIC通信

IIC总线通信时序

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

IIC通信

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

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

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

通信流程

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

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

S 为起始信号;从机地址为 7 位;T 为传输方向(1 为读,0 为写);A 为应答位;F 为终止信号。

主控器发送开始信号后,立即发送寻址字节;

这时,总线上的所有器件都将寻址字节中的 7 位地址与自己器件地址比较,如果两者相同,则该器件认为被主机寻址,然后发送应答信号,根据读/写位确定自身是作为发送器还是接收器;

接着就开始了数据传输,结束时由主机发出终止信号;

期间如果需要改变数据传输方向,则需要主机重新发出开始信号、从机地址+读写位。
编辑:hfy

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分