登录发现更多内容
首页
分类
发帖
账号
自动登录
找回密码
密码
登录
立即注册
立即登录
立即注册
其他登录
QQ
微信
首页
Portal
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
产品教程
BBS
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
开发资料
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
样品购买
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
IoT云平台
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
GitHub
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
技术博客
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
搜索
搜索
热搜:
LoRa
ESP8266
安信可
本版
帖子
用户
请
登录
后使用快捷导航
没有账号?
立即注册
每日签到
任务
广播
导读
排行榜
设置
我的收藏
退出
6
0
0
首页
技术杂谈
›
嵌入式通信协议-IIC
返回列表
嵌入式通信协议-IIC
[ 复制链接 ]
发布帖子
timo
论坛元老
11
主题
492
回帖
1万
积分
论坛元老
论坛元老, 积分 10049, 距离下一级还需 9989950 积分
论坛元老, 积分 10049, 距离下一级还需 9989950 积分
积分
10049
私信
6人留言
楼主
技术杂谈
1424
6
2024-1-14 10:48:00
[i=s] 本帖最后由 timo 于 2024-1-14 11:48 编辑 [/i]
# 简介 **IIC(Inter-Integrated Circuit)总线**是一种由NXP(原PHILIPS)公司开发的两线式串行总线,用于连接微控制器及其外围设备。多用于主控制器和从器件间的主从通信,在小数据量场合使用,传输距离短,任意时刻只能有一个主机等特性。 在 CPU 与被控 IC 之间、IC 与 IC 之间进行双向传送,高速 IIC 总线一般可达 400kbps 以上。 **这里要注意IIC是为了与低速设备通信而发明的,所以IIC的传输速率比不上SPI** ## 物理层  IIC一共有只有两个总线: 一条是双向的串行数据线SDA,一条是串行时钟线SCL SDA(Serial data)是数据线,D代表Data也就是数据,Send Data 也就是用来传输数据的 SCL(Serial clock line)是时钟线,C代表Clock 也就是时钟 也就是控制数据发送的时序的 所有接到I2C总线设备上的串行数据SDA都接到总线的SDA上,各设备的时钟线SCL接到总线的SCL上。I2C总线上的每个设备都自己一个唯一的地址,来确保不同设备之间访问的准确性。 ## 通信过程  ## 仲裁机制 连接多于一个微控制器到I²C总线的可能性意味着超过一个主机可以同时尝试初始化传输数据。为了避免由此产生混乱,发展出一个仲裁过程。它依靠线与连接所有I²C总线接口到I²C总线。 如果两个或多个主机尝试发送信息到总线,在其他主机都产生“0 ”的情况下首先产生一个“1” 的主机将丢失仲裁。**仲裁时的时钟信号是用线与连接到SCL线的主机产生的时钟的同步结合。** 在I²C总线上产生时钟信号通常是主机器件的责任;当在总线上传输数据时,每个主机产生自己的时钟信号。主机发出的总线时钟信号只有在以下的情况才能被改变:慢速的从机器件控制时钟线并延长时钟信号,或者在发生仲裁时被另一个主机改变。 ## **用时钟同步机制作为握手** 时钟同步机制除了在仲裁过程中使用外,还可以用于使能接收器处理字节级或位级的快速数据传输。 在字节级的快速传输中,器件可以快速接收数据字节,但需要更多时间保存接收到的字节或准备另一个要发送的字节。然后,从机**以一种握手过程**(见图6)在接收和响应一个字节后使SCL 线保持低电平,迫使主机进入等待状态,直到从机准备好下一个要传输的字节。 在位级的快速传输中,器件(例如对I²C总线有或没有限制的微控制器)可以通过延长每个时钟的低电平周期减慢总线时钟。从而,任何主机的速度都可以适配这个器件的内部操作速率。 在Hs 模式中,握手的功能只能在字节级使用。 ## 信号 起始信号 数据传输 ) ,png) # 典型时序 ## 单一收发数据 IIC要不主机给从机发数据 要不,从机给主机发数据 区别在于7位地址后的一位 0为主机发,1为主机收  ## 同时收发数据 由于IIC要不只能发,要不只能收,于是有了这版,既可以发也可以收 区别在于,发送完数据后,不发送停止信号,直接再次发送起始信号 这样避免了中途发送停止信号后,被其他主机占用总线情况 
点赞
0
收藏
0
淘帖
0
────
0
人觉得很赞
────
回复
使用道具
举报
6 回复
电梯直达
正序浏览
倒序浏览
正序浏览
沙发
1084504793
回复
使用道具
举报
2024-1-14 14:38:05
赞
回复
评论
使用道具
举报
板凳
干簧管
回复
使用道具
举报
2024-1-14 18:22:42
赞
回复
评论
使用道具
举报
地板
san
回复
使用道具
举报
2024-1-14 20:47:55
赞
回复
评论
使用道具
举报
5
#
bzhou830
回复
使用道具
举报
2024-1-15 08:36:10
赞
回复
评论
使用道具
举报
选择去发光,而不是被照亮
6
#
WT_0213
回复
使用道具
举报
2024-1-15 08:37:13
赞
回复
评论
使用道具
举报
7
#
爱笑
回复
使用道具
举报
2024-1-15 09:28:02
回复
评论
使用道具
举报
用心做好保姆工作
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
立即登录
手机登录
点评
高级模式
本版积分规则
回帖并转播
回帖后跳转到最后一页
返回
今日推荐
Ai-Thinker Skills 正式发布!快来试试!
九章开发板疑问
🔌手把手!1T1R 毫米波测距演示怎么跑?接入与 Python 环境配置
ONELAB开发套件常见问题Q&A:距离、角度、速度、距离门设置
【九章MCP验证板】开发环境配置教程
AI-WV02-32S 铁板烧焊接翻车
不用写代码,先跑通这两个开源例程,感受毫米波能做什么
【体验】Ai-WV02-32S 这不就跑起来了么
【问题】Ai-WV02-32S 短路
【B站/视频号直播预告】莫工带你跑通 AI→MCP 协议→硬件执行全
热帖排行
Ai-Thinker Skills 正式发布!快来试试!
九章开发板疑问
🔌手把手!1T1R 毫米波测距演示怎么跑?接入与 Python 环境配置
ONELAB开发套件常见问题Q&A:距离、角度、速度、距离门设置
【九章MCP验证板】开发环境配置教程
TB-04模块 从机收不到主机信息
AI-WV02-32S 铁板烧焊接翻车
<Ai-WB2-12F>这个模组请教个问题-FTP下载
统计信息
会员数: 31170 个
话题数: 42256 篇
首页
分类
我的