新闻详情

新闻详情

首页 / 资讯中心 / 详情

ARM I2C

发布时间:2026/9/27 3:24:42来源:尧图网络
ARM I2C
一、I2CI2CInter-Integrated Circuit集成电路总线由飞利浦现NXP提出的两线制同步串行通信总线用于主机与从机通常是MCU与外围芯片之间的短距离板级通信。1. 两根线信号线全称作用SCLSerial Clock时钟线主机发出同步整个通信节拍SDASerial Data数据线双向传输数据半双工两线均为开漏输出 上拉电阻结构空闲时总线为高电平线与特性。2. 主要特性特性说明同步方式同步通信有时钟线SCL数据方向半双工SDA一根数据线分时双向位传输顺序高位先行MSB first寻址方式起始信号后第一个字节 设备地址高7位 数据流向位低1位可挂127个从机2⁷128保留全0地址实际可用127个通信速率100kHz标准、400kHz快速、1.xM、3.xM高速拓扑一主多从 / 多主多从每个从机有唯一7位地址3. 地址与读写位讲义原例起始信号后的第一个字节高7位设备地址 最低1位读写位0x100001 0000→ 设备地址0x100写主机发送数据给从机0001 0001即0x11→ 设备地址0x101读从机发送数据给主机即写字节 设备地址1 | 0读字节 设备地址1 | 1。 讲义另一例0xAC 1010 1100 0x59写、0x5D读高位先行传输1010 110 方向位。二、I2C时序I2C所有操作都由起始、数据传输、应答、结束四种信号组成1. 起始信号StartSCL时钟线为高电平时SDA数据线由高变低下降沿SDA ────┐ └──────── ← SCL高电平期间SDA下降沿 起始 SCL ──────────────由主机发出表示一次传输开始。2. 数据传输有效性规则SCL为高电平时SDA必须保持稳定此时接收方采样数据SCL为低电平时SDA可以改变此时发送方发送更新数据1 0 1 0 1 1 0 0 ← 高位先行 SDA ─┐ ┌─┐ ┌─────┐ └─┘ └───┘ └── SCL ──┐ ┌─┐ ┌─┐ ┌─┐ ┌── └─┘ └─┘ └─┘ └─┘ ↑每个SCL高电平采样一位记忆高采样、低换数——SCL高电平锁数据低电平换数据。只有起始/结束信号例外故意在SCL高电平期间改变SDA来产生特殊标志。3. 应答信号ACK / NACK每传输8位数据后的第9个时钟周期接收方需向发送方回复应答信号ACK低电平应答收到了NACK高电平非应答发送方第9个时钟释放SDA靠上拉变高由接收方拉低ACK或保持高NACK。4. 结束信号StopSCL时钟线为高电平时SDA数据线由低变高上升沿SDA ┌──────── ───────────┘ ← SCL高电平期间SDA上升沿 结束 SCL ──────────────────由主机发出表示一次传输结束。三、I2C写时序与读时序1. i2c写时序主机→从机写寄存器S 设备地址W → ACK → 寄存器地址 → ACK → 数据 → ACK → P步骤操作1主机发送起始信号 设备地址 写位(0)等待从机ACK2主机发送寄存器地址等待从机ACK3主机发送数据写入该寄存器等待从机ACK4主机发送停止信号2. i2c读时序主机←从机读寄存器★i2c_read函数对应步骤操作1主机发送起始信号 设备地址 写位(0)等待从机ACK2主机发送寄存器地址等待从机ACK3主机重发起始信号Repeated Start 设备地址 读位(1)等待从机ACK4主机接收从机数据主机回复ACK应答5接收最后一个字节后主机回复NACK告诉从机不要再发6主机发送停止信号为什么要写转读Dummy Write读之前主机必须先用写操作告诉从机要读哪个寄存器步骤1~2再通过Repeated Start切换为读方向步骤3从机才知道从哪个寄存器把数据吐出来。为什么最后是NACK主机回NACK表示我收够了从机释放SDA主机才能发出停止信号。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

3个真实案例揭秘电子商务网站建设发展报告背后的黑产套路 2026/9/27 4:15:21

3个真实案例揭秘电子商务网站建设发展报告背后的黑产套路

3个真实案例揭秘电子商务网站建设发展报告背后的黑产套路 上周凌晨两点,我刚挂掉一个客户的电话。对方声音颤抖,说商城后台突然多了几个陌生管理员,前台页面挂满了非法广告,甚至开始自动发邮件给用户。他问我:“网站被黑挂马不知道怎么办?”…

阅读更多 →
华工通信原理期末复习PPT:七章考点地图与计算题突破 2026/9/27 4:14:24

华工通信原理期末复习PPT:七章考点地图与计算题突破

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
邵阳整站优化避坑指南:3招解决拖稿难题与性能优化 2026/9/27 4:14:17

邵阳整站优化避坑指南:3招解决拖稿难题与性能优化

邵阳整站优化避坑指南:3招解决拖稿难题与性能优化 找建站公司改个按钮位置,对方居然让你等一周?这种“改个需求拖一周”的体验,在邵阳本地找整站优化服务时太常见了。很多老板觉得,不就是改个文案、调个布局吗,怎么比修路还慢?…

阅读更多 →
沃噻网站建设流程全解:从0到1搞定性能优化 2026/9/27 4:14:17

沃噻网站建设流程全解:从0到1搞定性能优化

沃噻网站建设流程全解:从0到1搞定性能优化 手里没代码,心里却有个想上网的生意,这感觉我太熟了。很多人卡在建站第一步,觉得技术门槛高得离谱,其实只要理清 沃噻网站建设流程…

阅读更多 →
OpenBiliClaw如何接入最好的大模型:DeepSeek、Ollama与本地模型配置实战清单 2026/9/27 4:14:11

OpenBiliClaw如何接入最好的大模型:DeepSeek、Ollama与本地模型配置实战清单

OpenBiliClaw如何接入最好的大模型:DeepSeek、Ollama与本地模型配置实战清单 【免费下载链接】OpenBiliClaw 本地私有、开源的自进化跨平台 AI 内容发现 Agent:先理解你,再主动从 B站、小红书、抖音、YouTube、X、知乎、Reddit、微博等平台与…

阅读更多 →
十万个数、五十亿种剪法,这道题怎么数 2026/9/27 4:14:11

十万个数、五十亿种剪法,这道题怎么数

这道题是一道动态规划的题,说实话,题目意思就很别扭,估计也是翻译得有点问题,今天这篇文章就来讲明白这道题。 先看它到底要数什么。 给你一个数组,可以从左边去掉一段,也可以从右边去掉一段,但…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉