smbus协议_SMBus知识总结及在Intel服务器电路中的应用

对于电脑和服务器而言,SMBus是一种通用的低速通信协议,用来控制主板上的各种监控设备,虽然SMBus速度较慢,却以其结构简洁造价低廉的特点,已经成为了业界普遍欢迎的接口标准。我们日常生活中看到的Windows中显示的各种设备的制造商名称和型号,温度等信息,都是通过SMBus总线来手机信息的。 由于SMBus的广泛应用,掌握SMBus对于服务器及笔记本的研发和调试将大有裨益。

SMBus (System Management Bus,系统管理总线) 是1995年由Intel提出的, 主要是希望通过一条廉价并且功能强大的总线(由两条线组成),来控制主板上的设备并收集相应的信息。

SMBus的数据传输率为100kbps,用于低速率通讯,但其结构简洁造价低廉。

SMBus器件存在现有7层OSI网络模型中的前3层,即物理层,数据链路层和网络层。

SMBus有两条信号线:SMBCLK和SMBDAT,即一条时钟线和一条数据线。 SMBCLK和SMBDAT线是双向的,当总线空闲时,这两条线是高电平。设备可能由总线VDD供电或VBUS供电或通过其他电源供电。

下图是INTEL服务器中应用SMBus的实例,可以看到SMBus也大量用在电源管理上,也称为PMBus,也就是从SMBus中发展过来的,PMBus主要应用在智能电源管理,其规范中增加了用于电源设计和控制的语言,具有分组错误检查和主机通信功能。

da7db1ed6c3ea407973b98ce68c25949.png

而下图比较全面的反映了SMBus管理服务器主板的情况,可以看到BMC和PCH都可以作为主设备和从设备,并且BMC可以通过SMBus管理主板上所有电源电压和温度信息,可以收集DIMM的信息和工作情况,同时可以管理网口信息。

dd0e3067cfbaf6f9f66720749a798ecf.png

SMBus拓扑结构,所有设备通过线与逻辑连接到SMBus上

972dc9801c4a0a9f67c83c0c77dba27a.png

而线与逻辑主要通过漏极开路门电路实现,结构简图如下:

其中,线与Z=z1*z2*z3

070a99994fbea3f983be0a6f22727572.png

SMBus操作时序

e8045f404a15ea13244e3d0b6134719d.png

数据的有效性

时钟信号高电平时,数据必须保持稳定;

时钟信号低电平时,数据可以发生高低电平变化。

f84ac20b1b749fdce24211b586fa8d1e.png

起始和停止条件

1. 在 SMBCLK 线是高电平时,SMBDAT 线从高电平向低电平切换,表示信号的起始条件。

2. 当 SMBCLK 线是高电平时,SMBDAT 线由低电平向高电平切换,表示信号的停止条件。

6dc06dcf1ee5215f61212fed9b165174.png

SMBus数据传输

每个字节必须为8位,每次传输可以发送的字节数量不受限制,每个字节后必须跟一个响应位(ACK),所以每次传输九位,首先传输的是数据的最高位(MSB)。

在启动条件(S)之后,主器件放置7位从地址到总线上。第8位指示数据传输(读/写)方向;0表示传输(写)而1表示有数据请求(读)。一个数据传输总是以一个主机产生停止条件(P)结束。

b7666d058163af743577e2ca43361210.png

SMBus只工作在从10kHz到最高100kHz。最低工作频率10kHz是由SMBus超时功能决定的。

附SMBUS建立时间和保持时间的实测波形图,以便理解

保持时间:

17e4d230713075139bd742a2c9b7eb27.png
bf1cb567a7ebd48e40fb01f6fb88763c.png

建立时间

09c51753b6a9a30e747745bcdf455f00.png
a056edb10c491d72d8adc00e67952bd8.png
  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值