对于电脑和服务器而言,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主要应用在智能电源管理,其规范中增加了用于电源设计和控制的语言,具有分组错误检查和主机通信功能。
而下图比较全面的反映了SMBus管理服务器主板的情况,可以看到BMC和PCH都可以作为主设备和从设备,并且BMC可以通过SMBus管理主板上所有电源电压和温度信息,可以收集DIMM的信息和工作情况,同时可以管理网口信息。
SMBus拓扑结构,所有设备通过线与逻辑连接到SMBus上
而线与逻辑主要通过漏极开路门电路实现,结构简图如下:
其中,线与Z=z1z2z3
SMBus操作时序
数据的有效性
时钟信号高电平时,数据必须保持稳定;
时钟信号低电平时,数据可以发生高低电平变化。
起始和停止条件
- 在 SMBCLK 线是高电平时,SMBDAT 线从高电平向低电平切换,表示信号的起始条件。
- 当 SMBCLK 线是高电平时,SMBDAT 线由低电平向高电平切换,表示信号的停止条件。
SMBus数据传输
每个字节必须为8位,每次传输可以发送的字节数量不受限制,每个字节后必须跟一个响应位(ACK),所以每次传输九位,首先传输的是数据的最高位(MSB)。
在启动条件(S)之后,主器件放置7位从地址到总线上。第8位指示数据传输(读/写)方向;0表示传输(写)而1表示有数据请求(读)。一个数据传输总是以一个主机产生停止条件(P)结束。
SMBus只工作在从10kHz到最高100kHz。最低工作频率10kHz是由SMBus超时功能决定的。
附SMBUS建立时间和保持时间的实测波形图,以便理解
保持时间:
建立时间
文章评论(0条评论)
登录后参与讨论