I2C总线传输协议-程序员宅基地

技术标签: 嵌入式通信  I2C总线  上升沿/下降沿  总线通信协议  负载电容  上拉电阻  

一、I2C总线是一种双向的同步串行总线,它支持设备之间的短距离通信,经常用于处理器和一些外围设备之间的接口通信。I2C总线的标准通信速率是100Kbps,快速模式是400Kbps,高速模式支持3.4Mbps。I2C总线支持多设备的通信,而且各个设备之间的SCL和SDA线都是线与关系。I2C总线上扩展的器件的数量主要由电容负载来决定,其负载能力为400pF。I2C总线具有极低的电流消耗。


二、I2C总线的物理层:

I2C总线物理层由两根线组成:串行时钟线SCL串行数据线SDA。由于这两根线都是开漏输出结构,因此必须都接上拉电阻到高电平,因此当总线处于空闲状态时,两根线都处于高电平状态。下图为I2C总线的物理层示意图。


三、I2C总线的协议层:

I2C总线上的每一个设备都可以作为主设备或者从设备,而且每一个设备都会对应一个唯一的设备地址。通常的我们将CPU模块作为主设备,而挂接在总线上的其他设备作为从设备。I2C总线上的主设备与从设备之间以8字节为单位进行双向数据传输,并且每个单位后还须跟着一位ACK位。其中数据在SCL处于低电平时被放到SDA数据线上,在SCL处于高电平时进行数据的采样。下图是I2C总线的数据传输协议时序图。

由图可知,I2C总线的传输时序包括:开始条件地址帧数据帧停止条件重复开始条件

开始条件:标识传输正式开始,当SCL处于高电平时,SDA由高电平变为低电平。这样所有Slave设备都会知道传输已经开始。

地址帧:地址帧总是在一次通信的最开始出现,通常包括7位的设备地址(MSB)和最后1位的读写控制位(1表示读,0表示写)。接下来是1位的NACK/ACK,当这8位地址发送完成后,Slave设备获得SDA的控制权,此时Slave设备应该在第9个时钟脉冲之前回复一个ACK(将SDA拉低)以表示数据接收正常,否则表示数据接受失败,控制权交由Master设备处理。

数据帧:在地址帧发送之后,就可以开始传送数据了。每个数据帧8位,数据帧的数量可以是任意的,直到产生停止条件。每一个8位数据传输完成之后,接收方就需要回复一个ACK/NACK。

停止条件:当所有数据都发送完成时,当SCL处于高电平时,SDA由低电平变为高电平。除了开始条件和停止条件,在正常的数据传输过程中,当SCL处于高电平时,SDA上的值不能变化,否则会意外产生停止条件。

重复开始条件:有时Master设备需要在一次通信中进行多次消息交换(例如切换读写操作等),并且不希望其他Master设备干扰,这时可以使用重复开始条件。再一次通信中,Master设备可以产生多次开始条件来完成多次信息交换,最后在产生一个停止条件结束整个通信过程。

注1:上面都是以8位为一个单元进行的数据传输,其实I2C也是支持10位地址空间的。对于10位地址的传输时序,需要2个地址帧完成地址的传输,其他和8位的传输协议相同。下图为10位地址传输时序图。

注2:I2C总线的上拉电阻的阻值要精心考虑,如果上拉电阻的阻值太大,则由于I2C设备输入端的输入电容的存在,会造成信号上升沿和下降沿变缓,以至于不能满足I2C设备的建立时间和保持时间,造成通信的错误发生;如果上拉电阻的阻值过小,则会造成较大的功率损耗。因此I2C通信的上拉电阻的阻值要满足设备上升沿和下降沿要求的同时尽量选择较大的阻值,以降低消耗的功耗问题。

 

 

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_40877615/article/details/94338850

智能推荐

div页面底部悬浮显示_div 底部悬浮-程序员宅基地

文章浏览阅读1.3w次。为了完成页面底部显示公司和技术赞助的显示 使得在页面滚动的时候 左右两边的梯形阴影始终显示在底部为了显示在页面底部 首先想到的是footer来设置页面的页脚 来显示页面底部的信息 Posted by: W3School Contact information: [email protected].但是页脚显示不会始终显示在页面底部 所以采用设置底_div 底部悬浮

IT学习资源——倪灵版-程序员宅基地

文章浏览阅读1.5k次,点赞5次,收藏5次。这篇博客是有感而发,同时感觉也是我在学习到一定过程之后的必做之事,进行资源的整合。在之前,我有很多的资源收藏的地方,但是到了真正使用的时候,才发现收藏的东西太过于分散了,使用起来特别不方便,所以想找一个地方专门来存储我的一些收藏的资源,算是方便以后查找资源吧!就拿我收藏的内容举例:手机便签、电脑浏览器的收藏夹(主要我同时用着两个浏览器,chrome、edge,两个浏览器之间的收藏夹还不同步,这就让我有点抓狂)、QQ的收藏夹、还有我手机上QQ浏览器、Via浏览器,等等收藏夹,如果再加上B站和csdn。就发现

clang static analyzer源码分析(一)_clang源码分析-程序员宅基地

文章浏览阅读1.8w次,点赞14次,收藏38次。引子clang静态代码分析是clang相对于gcc一个比较能够引起关注的点,特别是clang静态代码分析基于checker的架构和大部分的静态分析工具都不相同。clang静态代码分析使用符号执行的技术执行路径敏感的代码分析,符号执行引擎并不实际进行报错,而是使用挂载在引擎上的checker对程序状态进行检查并报错。这种方式方便用户对代码检查规则或者bug类型进行扩展,但是这种架构也有其缺陷,符号执行_clang源码分析

zzuli oj 1026: 字符类型判断(java)_由键盘输入一个字母,判断该字母是否为小写字母-程序员宅基地

文章浏览阅读1k次。题目描述从键盘输入一个字符,判断该字符是否大写字母、小写字母、数字字符或其他字符。分别输出对应的提示信息。输入输入一个字符。输出如果该字符是大写字母,则输出“upper”;若是小写字母,则输出“lower”;若是数字字符,则输出“digit”;若是其他字符,则输出“other”。(输出不含双引号)。样例输入E样例输出upper先调到java再提交import java.util.*;public class Main{ public static ._由键盘输入一个字母,判断该字母是否为小写字母

x32,x64下安装OleDB驱动_oledb驱动安装-程序员宅基地

文章浏览阅读4.4k次。Office 2007 x32,Win7 x64 安装OleDB驱动Office 2007、2010的Ace引擎都是Microsoft.ACE.OLEDB.12.0,这点从微软AccessDatabaseEngine包中可以得知。下面我们就来解决x32、x64下OLE驱动的安装。 Microsoft Access 2010 数据库引擎可再发行程序包Acces_oledb驱动安装

全新体验:借助海外云手机畅玩TikTok_可以用云手机玩tiktok吗-程序员宅基地

文章浏览阅读391次,点赞10次,收藏5次。对于众多跨境卖家而言,使用热门社交平台进行引流已成为常态,而TikTok作为全球短视频平台,吸引了来自全球的用户,成为众多商家争相开拓的新蓝海。要在中国运营TikTok账号,普通的手机不太方便,试试全新的海外云手机吧!_可以用云手机玩tiktok吗

随便推点

中国开源激荡 20 年:IT 江湖,谁主沉浮?-程序员宅基地

文章浏览阅读3k次。作者 |马超责编 | 伍杏玲出品 | CSDN(ID:CSDNnews)鹰击长空,鱼翔浅底,万类霜天竞自由。——《沁园春·长沙》去年底,一国外程序员写的《中国的开源项目正在破坏 Git..._中国 程序员 开源

http://blog.csdn.net/wem520/article/details/9233729_bolg.csdn.net/we-程序员宅基地

文章浏览阅读623次。在windows7上用IIS配置时出现这种错误,原因是在对应站点目录的IUSR的权限没设造成的...在属性——>安全——> 高级 中把IUSR用户找出来添加好_bolg.csdn.net/we

多输入多输出 | Matlab基于麻雀算法优化卷积神经网络(SSA-CNN)多输入多输出预测,麻雀算法优化卷积神经网络(SSA-CNN)的回归预测_卷积神经网络算法预测-程序员宅基地

文章浏览阅读90次。多输入多输出 | Matlab基于麻雀算法优化卷积神经网络(SSA-CNN)多输入多输出预测,麻雀算法优化卷积神经网络(SSA-CNN)的回归预测_卷积神经网络算法预测

FPGA用vhdl语言设计简单硬件电子琴设计_电子琴按键分频程序编写-程序员宅基地

文章浏览阅读1.2k次,点赞3次,收藏28次。四音调 六音阶_电子琴按键分频程序编写

单片机学习心得(一)_arduino单片机学习心得-程序员宅基地

文章浏览阅读154次。单片机学习笔记,主要是以arduino开发板为主。_arduino单片机学习心得

年轻人为什么更喜欢真无线蓝牙耳机?2020五款高性价比蓝牙耳机推荐_jbl为什么只支持sbc-程序员宅基地

文章浏览阅读503次。自分离式腔体的耳机首次推出之后,真无线耳机的风潮席卷世界。很明显,真无线耳机让用户体验到了耳机与身体一体而行的自由体验,观感体验可谓是颠覆性的。蓝牙耳机的好处显而易见:首先,摆脱线材束缚,真正实现无拘无束这一点是显而易见的,纯粹的真无线蓝牙耳机再也没有线材的连接,真正的解放双手,并且轻盈、自在。在有些特定场合,比如运动、通勤等场合,一款真无线蓝牙耳机绝对是首选。其次,开启新的音频传输方式,真无线蓝牙耳机时代对比传统的入耳式“无线蓝牙耳机”,真无线蓝牙耳机的连接不仅是耳机和信号发射设备之间_jbl为什么只支持sbc

推荐文章

热门文章

相关标签