【嵌入式-通信协议】I2C通信协议

I2C通信特点

在这里插入图片描述

I2C通信硬件电路

时钟线SCL用于同步主机和从机之间的数据通信;数据线SDA用于在主机和从机之间传输数据;

这里SCL和SDA不能配置为推挽输出(推挽输出具有较强驱动能力),因为从CPU内部直接输出高电平,如果从机拉低SDA或者SCL会导致CPU高电平直接接地断路。

开漏输出特点:只能输出低电平或者浮空高阻态。因此这里SCL和SDA都接弱上拉电阻来传输高电平。
在这里插入图片描述

I2C时序基本单元

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

I2C时序(读写时序)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
指定地址读多字节
读多字节时,使用指定地址读时序。在主机读第一个字节后,主机应答,从机寄存器地址会自动加1,从机继续向SDA写入数据;直到最后一个字节写完,主机RA=1非应答,从而从机交回SDA控制权。主机写停止位。主机读多字节时序完毕。

指定地址写多字节
写多字节时,使用指定地址写时序。在主机写完一个字节后,从机应答;从机寄存器地址会自动加1,主机继续向SDA写入数据,直到最后一个字节写完,从机RA=0应答。主机写停止位,主机写多字节时序完毕。

注意:指定地址读多个字节,主机在读SDA期间失去对SDA的控制权,因此需要在读完最后一个字节后非应答RA=1,从而收回从机的SDA控制权。 指定地址写多个字节,由于主机一直有SDA控制权,因此无需从机RA=1,如果RA=1,反而代表从机没收到数据。

参考:

  1. I2C通信协议
  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值