IIC总线通讯协议学习

本文围绕IIC总线通讯展开,介绍其采用一主多从、半双工通讯方式。详细解析了标准写数据帧和读数据帧,包括起始信号、逻辑位、设备地址、读写位、应答信号等内容。最后总结了写读数据帧中主机和从机的应答规则,供面试学习参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

IIC(最简单的总线通讯,简单意味着通用和普适性)

iic通讯一般采用一主多从的方式.同一时间要么在发送信息,要么在读取信息(半双工通讯)
​​​​​​​​​​​​​​
在这里插入图片描述

​​​​
​​​

标准的写数据帧(主机向从机写数据)

在这里插入图片描述

解释以上的写数据帧

  1. S:起始信号(在SCL高电平期间,SDA由高跳低),此时主机发送起始信号
    在这里插入图片描述

逻辑1 (时钟线为高电平时,数据线上的数据必修保持稳定) 时钟线为高电平,数据线为高电平表示逻辑1
逻辑0 (时钟线为高电平时,数据线上的数据必修保持稳定) 时钟线为高电平,数据线为低电平表示逻辑0

在这里插入图片描述

  1. 主机发送从机设备地址

(从机的设备地址 7位,从设备的地址码唯一),设备的地址码一般是硬件写死的,有的有跳线可以改.

  1. 读/写位. 主机发送写位(0). 置为0位写数据,置为1位读数据.
  2. 从机发送应答信号,这个信号是由从机发给主机的.收到信息回复0,未收到或者主机读取接受完毕回复1.
  3. 主机发送从机的寄存器地址(8位)
  4. 从机返回应答信号.收到信息回复0.未收到回复1.
  5. 主机发送数据(要给寄存器写入的数据)
  6. 从机发送应答信号. 0表示写入数据成功.1表示失败.
  7. 写入停止位(结束信号) 时钟信号为高时,数据信号由低到高跳变(和起始信号相反)

读数据帧

在这里插入图片描述

解释以上的读数据帧

  1. 主机发送起始信号
  2. 主机发送从机设备地址
  3. 主机发送写位(0)
  4. 从机发送应答信号
  5. 主机发送从机寄存器的地址
  6. 从机发送应答信号
  7. 主机再次发送起始信号
  8. 主机再次发送设备地址
  9. 主机发送读数据位(1)
  10. 从机把寄存器里的数据发送给主机
  11. 主机发送应答信号,此时位1表示读取从机寄存器数据完毕.这里需要注意是主机发送应答信号表示读数据完毕.

总结

在写数据帧中主机发送数据,从机负责应答,每次主机连续发超过8位都需要从机应答.
在读数据帧中主机每次连续发超过8位也需要从机应答.在读数据帧发送了两次起始信号,且在第二次起始信号中,主机发设备地址+读数据位(共8位),从机发8位数据.此处并没有主机连续发送数据的情况,所有没有要从机应答,最后是主机发送应答信号,表示已经接受到数据(读取数据完毕).

奈何面试可能问及。故此学习总结.


参考
爱上半导体
https://www.bilibili.com/video/BV1dg4y1H773/?spm_id_from=333.999.0.0

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值