您的位置 首页 测评

I2C 总线协议的简略总结

一技术性能:工作速率有100K和400K两种;支持多机通讯;支持多主控模块,但同一时刻只允许有一个主控;由数据线SDA和时钟SCL构成

一. 技能功能:

作业速率有100K和400K两种;

支撑多机通讯;

支撑多主控模块,但同一时间只答应有一个主控;

由数据线SDA和时钟SCL构成的串行总线

每个电路和模块都有仅有的地址;

每个器材能够运用独立电源

二. 根本作业原理:

以发动信号START来掌管总线,以中止信号STOP来开释总线;

每次通讯以START开端,以STOP完毕;

发动信号START后紧接着发送一个地址字节,其间7位为被控器材的地址码,一位为读/写操控位R/W,R. /W位为0表明由主控向被控器材写数据,R/W为1表明由主控向被控器材读数据;

当被控器材检测到收到的地址与自己的地址相一起,在第9个时钟期间反应应对信号;

每个数据字节在传送时都是高位(MSB)在前;

写通讯进程:

1. 主控在检测到总线闲暇的情况下,首要发送一个START信号掌管总线;

2. 发送一个地址字节(包含7位地址码和一位R/W);

3. 当被控器材检测到主控发送的地址与自己的地址相一起发送一个应对信号(ACK);

4. 主控收到ACK后开端发送第一个数据字节;

5. 被控器收到数据字节后发送一个ACK表明持续传送数据,发送NACK表明传送数据完毕;

6. 主控发送完悉数数据后,发送一个中止位STOP,完毕整个通讯并且开释总线;

读通讯进程:

1. 主控在检测到总线闲暇的情况下,首要发送一个START信号掌管总线;

2. 发送一个地址字节(包含7位地址码和一位R/W);

3. 当被控器材检测到主控发送的地址与自己的地址相一起发送一个应对信号(ACK);

4. 主控收到ACK后开释数据总线,开端接纳第一个数据字节;

5. 主控收到数据后发送ACK表明持续传送数据,发送NACK表明传送数据完毕;

6. 主控发送完悉数数据后,发送一个中止位STOP,完毕整个通讯并且开释总线;

四. 总线信号时序剖析

1. 总线闲暇状况

SDA和SCL两条信号线都处于高电平,即总线上一切的器材都开释总线,两条信号线各自的上拉电阻把电平拉高;

2. 发动信号START

时钟信号SCL坚持高电平,数据信号SDA的电平被拉低(即负跳变)。发动信号有必要是跳变信号,并且在树立该信号前必修确保总线处于闲暇状况;

3. 中止信号STOP

时钟信号SCL坚持高电平,数据线被开释,使得SDA回来高电平(即正跳变),中止信号也有必要是跳变信号。

4. 数据传送

SCL线出现高电平期间,SDA线上的电平有必要坚持稳定,低电平表明0(此刻的线电压为地电压),高电平表明1(此刻的电压由元器材的VDD决议)。只要在SCL线为低电平期间,SDA上的电平答应改动。

5. 应对信号ACK

I2C总线的数据都是以字节(8位)的办法传送的,发送器材每发送一个字节之后,在时钟的第9个脉冲期间开释数据总线,由接纳器发送一个ACK(把数据总线的电平拉低)来表明数据成功接纳。

6. 无应对信号NACK

在时钟的第9个脉冲期间发送器开释数据总线,接纳器不拉低数据总线表明一个NACK,NACK有两种用处:

a. 一般表明接纳器未成功接纳数据字节;

b. 当接纳器是主控器时,它收到最终一个字节后,应发送一个NACK信号,以告诉被控发送器完毕数据发送,并开释总线,以便主控接纳器发送一个中止信号STOP。

五. 寻址约好

地址的分配办法有两种:

1. 含CPU的智能器材,地址由软件初始化时界说,但不能与其它的器材有抵触;

2. 不含CPU的非智能器材,由厂家在器材内部固化,不行改动。

高7位为地址码,其分为两部分:

1. 高4位归于固定地址不行改动,由厂家固化的一致地址;

2. 低三位为引脚设定地址,能够由外部引脚来设定(并非一切器材都能够设定);

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ceping/234805.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部