当前位置: 首页 > news >正文

嵌入式通信协议-- I²C 协议篇(IIC)

目录

总述:

1.1主机和从机

1.2发送器和接收器

1.3总结

2.1 I²C 通信过程

第一步:主机发送起始信号:

第二步:主机发送从机地址(寻址):

第三步:从机应答信号:

第四步:发送器发送数据:

第五步:接收器发送应答信号:

第n步:循环步骤4、5

最后一步:主机发送停止信号:

3 时钟同步

4.三种经典时序

4.1主机向从机发送数据

4.2.从机向主机发送数据

4. 3主机先向从机发送数据,然后从机再向主机发送数据


总述:

I²C半双工总线(可以互相发送接收,但不能同时进行) ,串行通信(每次发送一个bit),可以连续发送多个字节(使用同一个时钟),主要用于近距离、低速的芯片之间的通信;I²C支持多个主设备和多个从设备连接在同一总线上每个设备都有一个唯一的地址,用于区分不同的设备

1.1主机和从机

I²C总线是一种多主机总线,连接在I²C总线上的器件分为主机和从机主机有权发起和结束一次通信,而从机只能被主机呼叫;

1.2发送器和接收器

发送器:发送器是指在特定时刻向总线上发送数据的设备,主机在发送数据时充当发送器,而从机在回应主机请求时也可以充当发送器。

接收器:接收器是指在特定时刻接收数据的设备。类似于发送器,当主机请求数据时,从机成为接收器;而当从机需要将数据发送给主机时,主机则成为接收器。

1.3总结

主机和从机的区别在于谁发起通信和控制总线,而发送器和接收器的区别在于当前正在进行的数据传输方向

2.1 I²C 通信过程

第一步:主机发送起始信号

主机通过在数据线(SDA)上产生一个特定的起始信号,启用I²C总线。这表示通信的开始。

SCL为高电平时,SDA由高变低表示起始信号

SCL为高电平时,SDA由低变高表示停止信号

第二步:主机发送从机地址(寻址)

主机接着发送一个字节,包含目标从机的地址和读/写方向的指示(高7位通常为地址,低位表示方向)。这个地址使从机识别出自己是目标设备。

这里需要注意的是:总线上所有的从机接收到主机发送的字节都会进行与自己地址匹配,如果相同,则被确认被主机寻址,然后根据最低为0或者1来确定自己是发送器还是接收器。

最低位'0'表示主机发送数据,'1'表示主机接收数据;

从左至右,前七位数据,最后一位读写位

第三步:从机应答信号

被寻址的从机会在收到地址后,发送一个应答信号(ACK),通知主机它已准备好进行通信。

第四步:发送器发送数据

发送器(可以是主机或从机)发送一个字节的数据到总线上。

第五步:接收器发送应答信号

接收器(可以是主机或从机)在接收到数据后,发送一个应答信号(ACK)给发送器,确认收到数据。

发送器发送完一个字节数据后,接收器必须发送1位应答位来回应发送器即一帧共有9位.

第n步:循环步骤4、5

以上步骤会重复进行,直到所有需要传送的数据字节都完成。

最后一步:主机发送停止信号

通信完成后,主机发送一个停止信号,释放总线,使其他设备能够使用总线。

3 时钟同步

在SCL为低电平时,SDA线上的信号可以变化,发送器可以将数据位置于SDA线上。(发送1bit数据)

当SCL变为高电平时,接收器读取SDA线上的数据,此时SDA线的数据必须保持不变。(读取1bit数据)

4.三种经典时序

灰色为主机,白色为从机

如果从机没有响应,就会返回:

  • A̅(NACK)

可能原因:

  • 地址不存在
  • 从机忙
  • 从机未上电

4.1主机向从机发送数据

主机结束通信两种情况:主机向从机发送完数据,从机不再应答或者主机发送完不想发了。

4.2.从机向主机发送数据

主机结束通信两种情况:从机向主机发送完数据,主机不再应答或者从机发送完不想发了。

4. 3主机先向从机发送数据,然后从机再向主机发送数据

主机向从机发送数据,从机应答或者不应答,主机restart 建立通信,省略掉了stop的步骤,变为从从机器接收数据,知道最终主机结束通信

参考文献:主动光式颜色传感器技术详解. 感为智能科技. [2024-04-17]&创客学院技术文档

http://www.cnnetsun.cn/news/3854576.html

相关文章:

  • SwiftUI-Flow RTL支持详解:轻松构建多语言适配界面
  • Key Mapper:重新定义Android设备交互逻辑的开源按键映射解决方案
  • 从重庆网上商城网站建设到生意爆发:中小老板必须知道的实战避坑指南与流量密码
  • 3步解决中文字体难题:PingFangSC苹方字体Web集成实战指南
  • 深度解析海原县建设局网站:获取最新住建政策、工程审批进度与民生服务指南一站式平台
  • BilibiliSponsorBlock:基于社区协作的视频内容智能过滤系统架构解析
  • YOLOv5矩形训练实战:高效处理长方形图像的目标检测优化策略
  • Video2X深度解析:现代AI视频超分辨率与帧插值框架的技术革命
  • 激光焊接设备售后:大厂工程师等三天,你的产线等得起吗?
  • 终极指南:如何快速掌握FF14 Dalamud插件框架开发
  • G-Helper技术深度解析:华硕笔记本性能管理的轻量化革命
  • Unity3D全栈开发者成长路径:从引擎学徒到系统架构师
  • 北京大兴专业网站建设公司揭秘:如何避开低价陷阱打造高转化企业官网
  • AI驱动网络钓鱼攻击演进:OAuth劫持与深度伪造防御策略
  • 如何在团队中建立权威
  • 如何为学术写作选择完美字体:EB Garamond12的终极免费开源方案
  • Qdrant HNSW向量索引深度解析:从理论算法到亿级向量实战
  • 揭秘高端网站建设口碑背后的真相:为何优质服务商能赢得长久信赖
  • 数据分析师全栈技能实战指南:从Excel到AB实验的完整学习路径
  • springbootOA公文发文管理系统
  • 终极风扇控制指南:如何在5分钟内用FanControl实现完美散热静音平衡
  • 深度解析国内外高校门户网站建设:从技术架构到用户体验的终极指南
  • WinDiskWriter:如何在Mac上轻松制作Windows启动盘并绕过硬件限制
  • PhotoGIMP:为GIMP 3+打造的专业Photoshop风格界面补丁
  • Qt 通用pro配置
  • AI播客正在经历“可信度断崖”,Gartner最新报告预警:2024Q3起平台将强制标注AIGC标识,你准备好了吗?
  • 北京网站建设升上去,那些没人告诉你的SEO底层逻辑与实战心法
  • 网站建设中模板:揭秘低成本搭建高效网站的真相与避坑指南,让企业官网不再只是摆设
  • 音乐歌词提取工具:如何快速获取网易云QQ音乐LRC歌词文件
  • Bilibili视频下载终极指南:轻松保存你喜欢的每一个视频