四、SMBus 和 I2C 的使用建议
文章参考教程:SMBus协议
SMBus协议:官网
??SMBus 是 I2C 协议的一个子集。
有关I2C协议可以看这篇:
【STM32】标准库与HAL库对照学习教程特别篇–IIC通信原理讲解
全称 System Management Bus,即系统管理总线。
SMBus 是Intel与Duracell共同制订笔记本电脑所用的智能型电池(SmartBattery)时所研发的接口,首版于1995年发表。SMBus 也被用来连接各种设备,包括电源相关设备,系统传感器,EEPROM 通讯设备等等。SMBus 为系统和电源管理这样的任务提供了一条控制总线,使用 SMBus 的系
统,设备之间发送和接收消息都是通过 SMBus,而不是使用单独的控制线,这
样可以节省设备的管脚数。SMBus 是基于 I2C 协议的,SMBus 要求更严格,规定了更多细节与规范。
。I2C 协议的范围很广,甚至讨论了高达 12V 的情况,而SMBus规定了在1.8V~5V。。I2C 没有时钟频率限制,一般最常见的是100k、400k,而SMBus规定时钟频率必须在10k~100k内。当设备需要处理内部事情时,可将时钟线拉低,I2C 没有规定拉低时长,而SMBus有规定时限。
。一个 设备接收到它的设备地址后,I2C 协议没有强制要求必须发出回应信号,而SMBus:强制要求必须发出回应信号。。I2C 没有定义数据的格式,格式由设备来定义,而SMBus 协议明确了数据的传输格式。SMBus 有低功耗的版本
只是用来发送一位数据:R/W#本意是用来表示读或写,但是在 SMBus 里可以用来表示其他含义。比如某些开关设备,可以根据这一位来决定是打开还是关闭。
读取一个字节,主设备 接收到一个字节后不需要发出应答信号(上图中 N 表示不回应)。
发送一个字节数据。
先发数据,发出 芯片内部的寄存器地址,再读数据,读取设备寄存器地址储存的1个字节的数据。
先发数据,发出 芯片内部的寄存器地址,再读数据,读取设备寄存器地址储存的2个字节的数据。
先发数据,发出 芯片内部的寄存器地址,再写数据,向设备寄存器地址写1个字节的数据。
先发数据,发出 芯片内部的寄存器地址,再写数据,向设备寄存器地址写2个字节的数据。
先发数据,发出 芯片内部的寄存器地址,再读数据,先读到一个字节(Block Count),表示后续要读的字节数,然后读取全部数据
先发数据,发出 芯片内部的寄存器地址,再写数据,先写一个字节(Block Count),表示后续要写的字节数,然后写全部的数据
I2C 协议的 连续读多个数据,与SMBus 的区别是不需要接收读取总的字节数
I2C 协议的 连续写多个数据,与SMBus 的区别是不需要写入总的字节数
先写一块数据,再读一块数据。
PEC 是一种错误校验码,如果使用 PEC,那么在 P 信号之前,数据发送方要发送一个字节的 PEC 码(它是 CRC-8 码)。
因为很多设备都实现了 SMBus,而不是更宽泛的 I2C 协议,所以优先使用SMBus。即使 I2C 控制器没有实现 SMBus,软件方面也是可以使用 I2C 协议来模拟 SMBus。所以:Linux 建议优先使用 SMBus。
上一篇:成年人的世界里,爱情,而已罢了
下一篇:未成年可不可以买车?
最近更新汽车资讯
- 哲学沙龙
- 高原痛风临床研究
- 快播插件(SPSS无法启动因为应用程序的并行配置不正确)
- 教育部2021年工作要点:加强普通高校毕业生就业工作
- 【陪你母乳喂养】 哎哟喂,没生孩子也能泌乳?
- 重组家庭没有血缘关系的兄妹可以结婚吗
- 非现役人员生活待遇经费保障与管理探析
- 《发展心理学·从生命早期到青春期》基础理论读书笔记--结合教育动画的相关研究
- 2023届河南省郑州市(二模)高中毕业第二次质量预测语文试题及答案.docx
- 《那片星空那片海》全集剧情简介 分集剧情介绍
- 给6-15岁男孩女孩的精选主题书单(分性别,暑假必备)
- 优秀家长家庭教育经验分享5篇
- 郭洪雷:汪曾祺小说“衰年变法”考论
- 章子怡汪峰吵架原因 章子怡与汪峰吵架事件详情
- 情感故事:不回家的女人
- 道德伪善的教育学思考
- 2018级高职医学影像技术专业人才培养方案
- 以国家之名的罪恶——评德国影片《窃听风暴》
- 影视传播范文10篇
- 九天揽月一一敢峰证明四色定理之谜
- 挪威流产或人工流产后妊娠的妊娠间隔和不良妊娠结局(2008-2016 年):一项
- 好看的美剧排行榜(12部高分高质美剧推给你)
- 解放思想大讨论心得体会
- 长谈 | 内蒙古电影新浪潮:现实的结构与质感
- 美国《国家性教育标准》及其启示(下)