news 2026/6/23 17:35:45

I2C总线:时序结构与数据帧

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
I2C总线:时序结构与数据帧

I2C(Inter-Integrated Circuit)总线是由飞利浦半导体(现恩智浦半导体)于 1982 年研发的两线式串行通信标准,其发明源于当时电子设备的通信痛点,后续凭借独特优势逐步成为电子领域的重要通信协议。其两根通信线为SCL和SDA

  • I2C电路规范
  1. 所有I2C设备的SCL通信线连在一起,SDA连在一起
  2. 设备的SCL和SDA均要配置成开漏输出模式
  3. SCL和SDA个添加一个上来电阻,组值一般为4.7kΩ
  4. 开漏输出和上拉电阻的共同作用实现了“线与的功能”,此设计主要是为了解决多机通信互相干扰的问题
  • 开漏输出模式原理图

当输出1时,三极管断开,引脚浮空

当输出0时,三极管闭合,引脚接地

  • I2C的时序结构
  1. 起始条件:SCL高电平期间,SDA从高电平切换到低电平

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

如上图所示,虚线框内即为重要部分左侧示意图记为S(START),右侧示意图记为P(PAUSE)

  1. 发送一个字节:SCL低电平期间,主机将数据位依次放到SDA线上(高位在前),然后拉高SCL,从机将在SCL高电平期间读取数据位,所以SCL高电平期间SDA不允许有数据变化,依次循环该过程8次即可发送一个字节。

虚线框处为重要部分,记为S:(SEND BYTE)

SCL在B7高电平阶段即为读取数据阶段,需要注意的是示意图中SDA处两条线并非同时存在,在一个时间节点只有存在一个进程,示意图表示的是两种不同的情况,由低电平转为高电平即为发送1,由高电平转为低电平即为发送0

2.接收一个字节:SCL低电平期间,从机将数据位一次放到SDA线上(高位在前),然后拉高SCL,主机将在SCL高电平期间读取数据位,所以SCL高电平期间SDA不允许有数据变化,依次循环上述过程8次即可接收一个字节(主机在接收之前,需要释放SDA)

将该部分记为R(RECIEVE BYTE)

示意图表示的是两种不同的情况,由低电平转为高电平即为接收1,由高电平转为低电平即为接收0

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

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

左侧部分为发送应答原理,记为SA(SEND ANSWER)

右侧部分为接收应答原理,记为RA(RECIEVE ANSWER)

了解了以上时序结构,我们就可以把他们当做不同的模块,通过这些模块以不同方式组合,就构成了数据帧

在通信协议(包括I2C)中,数据帧是指按固定格式组织的,用于依次完整数据传输的最小单元,简单说就是通信双方 “约定好的数据包格式”—— 发送方按这个格式打包数据,接收方按同一个格式解析数据,才能保证通信准确无误。

  • 数据帧
  • 1.发送一帧数据

完成任务:向谁发送什么

其中SLAVE ADDRESS为从机,W表示写

S表示发送信号,RA表示接受信号后给出应答。类似于点名时点名者点名,被点名者答到

2.接收一帧数据

完成任务:向谁接受什么

其中从机后的R表示读

紫色的R表示接收信号,SA表示接受信号后给出应答。类似于点名时被点名者答到后,点名者收到信息对其进行回应表示已经收到被点名者的信息。

3.先发送再接收数据帧(复合格式)

完成任务:向谁收指定的什么

发送和接收配合使用,才能达到I2C通信的目的。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 0:34:06

适合新手的电脑版AI编曲软件快速根据哼唱清唱主旋律作伴奏

适合新手的电脑版AI编曲软件——小白桌面AI编曲软件 对于新手而言,涉足音乐编曲领域往往困难重重。没有专业的音乐知识,缺乏操作复杂编曲软件的经验,找专业编曲师费用高昂且时间成本大,这些问题成为了新手进入音乐编曲世界的一道道…

作者头像 李华
网站建设 2026/6/20 21:03:02

ZW3D二次开发_分享一个通过命令按钮查找关联API函数的插件

给大家分享一个ZW3D二次开发的插件,可以快速输出ZW3D界面中的功能按钮对应的API函数,目前已支持超530个ZW3D命令。 插件资源: 下载方法1: 通过网盘分享的文件:ZW3DAPITeller.zip 链接: https://pan.baidu.co…

作者头像 李华
网站建设 2026/6/23 16:03:27

【光照】Unity[光照探针]的作用与工作原理

光照探针的作用光照探针(Light Probes)是Unity中用于解决动态物体间接光照问题的核心技术,主要作用包括:‌为动态物体提供间接光照‌:在静态场景中,动态物体无法直接使用烘焙光照贴图,光照探针通过存储空间中的光照信息…

作者头像 李华
网站建设 2026/6/21 22:18:17

你有没有想过,像 ChatGPT 这样聪明的 AI,它是怎么“出生”的?

很多人以为 AI 是工程师一行一行代码写出来的,就像写个计算器程序一样。其实不是。现代 AI 更像是一个被“养大”的孩子。而在它能够和你谈笑风生之前,它必须经历一个漫长、枯燥且极其昂贵的阶段——预训练(Pre - training)。 如…

作者头像 李华
网站建设 2026/6/22 21:28:42

基于单片机的数字电压表设计

2 系统原理及基本框图 如图2.1所示,模拟电压经过档位切换到不同的分压电路衰减后,经隔离干扰送到A/D转换器进行A/D转换,然后送到单片机中进行数据处理。处理后的数据送到LCD中显示,同时通过串行通讯与上位机通信。图2.1系统基本方…

作者头像 李华
网站建设 2026/6/22 9:22:55

强化学习系统性学习笔记(二):策略优化的理论基础与算法实现

.2 REINFORCE: 最早的策略梯度算法在完成策略梯度定理的推导后,我们获得了梯度的理论形式:然而,这个期望本身仍然无法直接计算。我们面临的根本问题是:轨迹空间是高维甚至连续无限的,无法枚举所有可能的 组合。策略优化的实践核心在于用有限采样近似期望:与环境交互收集 条轨迹…

作者头像 李华