【Linux】特别篇--SMBus 协议
创始人
2024-01-16 05:02:10
0

【Linux】特别篇--SMBus 协议

  • 一、SMBus 简介
  • 二、SMBus 与 I2C 区别
  • 三、SMBus协议分析
    • 3.1 符号含义
    • 3.2 SMBus Quick Command
    • 3.3 SMBus Receive Byte
    • 3.4 SMBus Send Byte
    • 3.5 SMBus Read Byte
    • 3.6 SMBus Read Word
    • 3.7 SMBus Write Byte
    • 3.8 SMBus Write Word
    • 3.9 SMBus Block Read
    • 3.10 SMBus Block Write
    • 3.11 I2C Block Read
    • 3.12 I2C Block Write
    • 3.13 SMBus Block Write - Block Read Process Call
    • 3.14 Packet Error Checking (PEC)
  • 四、SMBus 和 I2C 的使用建议


文章参考教程:SMBus协议
SMBus协议:官网

一、SMBus 简介

  SMBus 是 I2C 协议的一个子集。

有关I2C协议可以看这篇:
【STM32】标准库与HAL库对照学习教程特别篇–IIC通信原理讲解

SMBus 全称 System Management Bus,即系统管理总线。

  • SMBus 是Intel与Duracell共同制订笔记本电脑所用的智能型电池(SmartBattery)时所研发的接口,首版于1995年发表。
  • SMBus 也被用来连接各种设备,包括电源相关设备,系统传感器,EEPROM 通讯设备等等。
  • SMBus 为系统和电源管理这样的任务提供了一条控制总线,使用 SMBus 的系
    统,设备之间发送和接收消息都是通过 SMBus,而不是使用单独的控制线,这
    样可以节省设备的管脚数。
  • SMBus 是基于 I2C 协议的,SMBus 要求更严格,规定了更多细节与规范。

在这里插入图片描述


二、SMBus 与 I2C 区别

  • VDD 的极限值不一样。I2C 协议的范围很广,甚至讨论了高达 12V 的情况,而SMBus规定了在1.8V~5V。
  • 时钟频率规定不同。I2C 没有时钟频率限制,一般最常见的是100k、400k,而SMBus规定时钟频率必须在10k~100k内。
  • 当设备需要处理内部事情时,可将时钟线拉低,I2C 没有规定拉低时长,而SMBus有规定时限。
    地址应答规定不同。一个 设备接收到它的设备地址后,I2C 协议没有强制要求必须发出回应信号,而SMBus:强制要求必须发出回应信号。
  • 数据格式规定不同。I2C 没有定义数据的格式,格式由设备来定义,而SMBus 协议明确了数据的传输格式。
  • SMBus 有低功耗的版本

三、SMBus协议分析

3.1 符号含义

S (1 bit) : 起始位
Sr (1 bit) : 重复的起始位
P (1 bit) : 停止位
R/W# (1 bit) : Read/Write bit,读写位
A, N (1 bit) : 应答位
Address(7 bits): 地址位,7 位地址
Command Code (8 bits): 命令字节,一般用来选择芯片内部的寄存器
Data Byte (8 bits): 数据字节,8 位;如果是 16 位数据的话,用 2 个字节来表示。
Count (8 bits): 在 block 操作总,表示数据长度
[..]: 中括号表示 I2C 设备发送的数据,没有中括号表示 主机 发送的数据

3.2 SMBus Quick Command

在这里插入图片描述
只是用来发送一位数据:R/W#本意是用来表示读或写,但是在 SMBus 里可以用来表示其他含义。比如某些开关设备,可以根据这一位来决定是打开还是关闭。

3.3 SMBus Receive Byte

在这里插入图片描述

读取一个字节,主设备 接收到一个字节后不需要发出应答信号(上图中 N 表示不回应)。

3.4 SMBus Send Byte

在这里插入图片描述
发送一个字节数据。

3.5 SMBus Read Byte

在这里插入图片描述
先发数据,发出 芯片内部的寄存器地址,再读数据,读取设备寄存器地址储存的1个字节的数据。

3.6 SMBus Read Word

在这里插入图片描述
先发数据,发出 芯片内部的寄存器地址,再读数据,读取设备寄存器地址储存的2个字节的数据。

3.7 SMBus Write Byte

在这里插入图片描述
先发数据,发出 芯片内部的寄存器地址,再写数据,向设备寄存器地址写1个字节的数据。

3.8 SMBus Write Word

在这里插入图片描述
先发数据,发出 芯片内部的寄存器地址,再写数据,向设备寄存器地址写2个字节的数据。

3.9 SMBus Block Read

在这里插入图片描述
先发数据,发出 芯片内部的寄存器地址,再读数据,先读到一个字节(Block Count),表示后续要读的字节数,然后读取全部数据

3.10 SMBus Block Write

在这里插入图片描述
先发数据,发出 芯片内部的寄存器地址,再写数据,先写一个字节(Block Count),表示后续要写的字节数,然后写全部的数据

3.11 I2C Block Read

在这里插入图片描述
I2C 协议的 连续读多个数据,与SMBus 的区别是不需要接收读取总的字节数

3.12 I2C Block Write

I2C 协议的 连续写多个数据,与SMBus 的区别是不需要写入总的字节数
在这里插入图片描述

3.13 SMBus Block Write - Block Read Process Call

在这里插入图片描述
先写一块数据,再读一块数据。

3.14 Packet Error Checking (PEC)

在这里插入图片描述

PEC 是一种错误校验码,如果使用 PEC,那么在 P 信号之前,数据发送方要发送一个字节的 PEC 码(它是 CRC-8 码)。

四、SMBus 和 I2C 的使用建议

因为很多设备都实现了 SMBus,而不是更宽泛的 I2C 协议,所以优先使用SMBus。即使 I2C 控制器没有实现 SMBus,软件方面也是可以使用 I2C 协议来模拟 SMBus。所以:Linux 建议优先使用 SMBus。

在这里插入图片描述

上一篇:代课老师生活答题卡

下一篇:地位焦虑

相关内容

热门资讯

初中英语作文:坐飞机【精简4... 初中英语作文:坐飞机 篇一As the plane took off, I felt a mix o...
“美人鱼”故事初一作文【优秀... “美人鱼”故事初一作文 篇一一天,阳光明媚,海面上波光粼粼。美人鱼妮娜在海底的珊瑚礁上欢快地游戏着。...
游王城公园(精选5篇) 游王城公园 篇一王城公园位于中国北京市,是一处历史悠久且风景优美的公园。公园内有丰富的文化遗址和自然...
走进初中初中优秀作文【优质6... 走进初中初中优秀作文 篇一初中生活的美好初中,是每个学生成长的重要阶段。初中的生活对于我们来说充满了...
游东沙古镇初一作文1000字... 篇一:游东沙古镇初一作文1000字东沙古镇位于我国江苏省南京市,是一座历史悠久的古镇。我在初一的时候...
失败的滋味作文(优质6篇) 失败的滋味作文 篇一失败是每个人都会经历的一种情绪和经历。无论是在学业、事业还是人际关系中,我们都有...
我的好朋友初一作文【精彩6篇... 我的好朋友初一作文 篇一初一时,我结识了一个非常好的朋友,他叫李明。李明是一个长得高高的男孩子,留着...
草的勇气初一作文【精简3篇】 草的勇气初一作文 篇一草的勇气草,生长在大地上的普通植物,虽然它不如树木高大,也没有鲜花的美丽,但它...
我的妈妈初中作文800字【精... 我的妈妈初中作文800字 篇一我妈妈是一个温柔而坚强的女人。她照顾我和家庭的同时,也努力工作,为我们...
夜色温柔初中作文【优选5篇】 夜色温柔初中作文 篇一夜色温柔初中作文夜晚,是一天中最安静、最神秘的时刻。当太阳沉入地平线,天空渐渐...
《翡翠森林》观后感900字(... 《翡翠森林》观后感900字 篇一《翡翠森林》是一部以自然为主题的纪录片,通过展示翡翠森林的美丽景色和...
我和妈妈的故事-初中记叙文(... 我和妈妈的故事-初中记叙文 篇一妈妈是我生命中最重要的人,她是我最亲密的伙伴,也是我最坚强的支持者。...
我们是一家人初中作文【优质6... 我们是一家人初中作文 篇一我们是一家人家,是我们生活的港湾,是我们心灵的归宿。而我们,是一个幸福温馨...
初中作文:飘落的樱花【实用5... 初中作文:飘落的樱花 篇一樱花是一种美丽而短暂的花朵,它的开放总是给人们带来无尽的惊喜和美好的回忆。...
解开缚心的绳索作文(优质6篇... 解开缚心的绳索作文 篇一绳索,是一种用来束缚的工具,它可以用来捆绑、困住甚至勒死人。然而,有时候,这...
我是谁作文【最新6篇】 我是谁作文 篇一我是谁?这是一个看似简单却又复杂的问题。每个人都有自己独特的身份和故事,我也不例外。...
我们一家人初中作文(经典6篇... 我们一家人初中作文 篇一我们一家人初中作文我是一个初中生,家中有爸爸、妈妈和一个比我小两岁的弟弟。我...
初中生作文600字【推荐6篇... 初中生作文600字 篇一:我的暑假生活暑假终于到了,这是我最期待的时刻。我有一个丰富多彩的暑假计划,...
尊重的作文【优选6篇】 尊重的作文 篇一尊重是一种基本的社会道德,是我们与他人相处时应当遵循的原则。尊重他人不仅能够维护社会...
十年后的我初中作文【优秀6篇... 十年后的我初中作文 篇一我的初中生活是我成长的重要阶段,十年后回顾起来,我深深地感慨万分。初中时期,...