I2C(I2C时序结构详细说明和介绍)

I2C总线介绍

I2C总线(Inter IC BUS)是由Philips公司开发的一种通用数据总线

两根通信线:SCL(Serial Clock)、SDA(Serial Data)

同步(共用一根时钟线:SCL)、半双工(共用一根通讯线),带数据应答(发送成功后回应)

通用的I2C总线,可以使各种设备的通信标准统一,对于厂家来说,使用成熟的方案可以缩短芯片设计周期、提高稳定性,对于应用者来说,使用通用的通信协议可以避免学习各种各样的自定义协议,降低了学习和应用的难度

I2C电路规范

 所有I2C设备的SCL连在一起,SDA连在一起

设备的SCL和SDA均要配置成开漏输出模式

SCL和SDA各添加一个上拉电阻,阻值一般为4.7KΩ左右

开漏输出和上拉电阻的共同作用实现了“线与”的功能,此设计主要是为了解决多机通信互相干扰的问题。

I2C时序结构

I2C数据帧(单发送)

 

注意看:!!!!

SDA是两条的原因是SD的初始值和信号传输无关,传输信号是根据高低变化的

SCL高电平时从机读取其点频信号(为时钟)

SAL(IN)和SAL(OUT)是输入输出的状态,前面的表示无论高低电频。
图片用S(开始通信/主机)和R(从机)来表示。

 S(起始条件):初始SCL是高电频,进入传输后接收到信号,改为低电频,默认条件,SDA从高电平切换到低电频(为了方便接上)。

都低OD输出的,空闲的时候都是H。

1、开始信号:

发送字节时:

SDA的时序是不确定的根据时序的内容变化(两条线表示变化)

 

SCL的接收和上面类似:

t代表中间间隔的时间差距(未写出来,肉眼可见的差值),后面的SCL高电平代表接收到了数据,SCL将高电频降低(我要开始接收信号了),一样的。

R:(BYTE)[从机响应 ( 接收 ) ]

主机接收完字节后,从机释放总线,主机接过总线,发送应答;而主机发送完字节后,先释放总线,从机接过总线,通过总线向主机发送应答

SA:(1/0)


发送应答:在接收完一个字节之后,主机在下一个时钟发送一位数据,数据0表示应答,数据1表示非应答

RA:(1/0)

 接收应答:在发送完一个字节之后,主机在下一个时钟接收一位数据,判断从机是否应答,数据0表示应答,数据1表示非应答(主机在接收之前,需要释放SDA)

P(终止条件)

 •终止条件:SCL高电平期间,SDA从低电平切换到高电平

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值