System Management Bus

一、介绍SMBus

系统管理总线(SMBus)是一个双线接口,通过它各种系统组件芯片和设备可以相互通信,并与系统的其他部分进行通信。它是以i2c总线的工作原理为基础的

SMBus为系统和电源管理相关的任务提供控制总线。系统可以使用SMBus来向设备传递信息,而不是使用单独的控制线。移除个别控制线减少引脚数。接受消息确保了未来的可扩展性。

使用系统管理总线,设备可以提供制造商信息,告诉系统它的型号/部件号是什么,保存它的状态为暂停事件,报告不同类型的错误,接受控制参数,并返回它的状态。

SMBus的最初目的是定义智能电池、电池充电器和与系统其他部分通信的微控制器之间的通信链路。然而,SMBus还可以用于连接各种各样的设备,包括与电源相关的设备、系统传感器、备用EEPROMs、通信设备等等。

二、通用特性

SMBus是一种两线总线。多个设备,包括总线控制器和总线目标,可以连接到一个SMBus段。通常,总线控制器设备在它和单个总线目标之间发起总线传输,并提供时钟信号。此规则的一个例外是,在初始总线设置期间,单个控制器可以同时启动多个目标的事务。另一个例外是在ZONE WRITE当控制器可能同时向多个目标发送数据时。总线目标设备可以接收控制器提供的数据,也可以向控制器提供数据。

在任何时候,只有一个设备可以控制总线。由于多个设备可能试图将总线作为控制器来控制,因此SMBus提供了一种仲裁机制,该机制依赖于所有SMBus设备接口到SMBus的有线和连接。

本规范定义了两类电气特性,低功率和高功率。第一类,最初定义在SMBus 1.0和1.1规范中,主要是为了智能电池而设计的,但也可以用于其他低功率设备。该规范的2.0版引入了另一种更高功率的电气特性集。该类适合在需要更高的驱动能力时使用,例如使用PCI插件卡上的SMBus设备,以及在彼此之间通过PCI连接器连接这些卡,并连接到系统板上的SMBus设备。

版本3.0,SMBus规范引入了更高的总线速度(400 kHz和1 MHz)操作,并增加了新的读写数据协议
32位和64位值。该版本还将最小标称电压V_{DD}从3伏降低到1.8伏

设备可以由总线V_{DD}供电,或由另一个电源,V_{BUS}供电,(例如,与智能电池),只要它们遵守其类的SMBus电气规范,就可以相互操作。图2显示了一个带有由总线V_{DD}供电的设备的5伏SMBus与自供电设备互操作示例实现。

 V_{DD}可能是1.8到5伏,±10%,也可能有SMBus设备直接由总线V_{DD}供电。SMBCLK和SMBDAT线都是双向的,通过一个上拉电阻或电流源或其他类似的电路连接到一个正电源电压,如图3所示。当总线空闲时,两条线路都是高的。连接到总线的设备的输出级必须有一个开路漏极或开路集电极,以便执行如图4所示的线与功能。SMBus器件的输入和输出级的设计都应小心,以避免在其电源平面关闭时负载母线,也就是说,掉电的器件必须提供不漏电接地路径。

想要在总线上放置“零”的A设备必须将总线驱动到定义的逻辑低电压电平。为了在总线上放置一个逻辑“1”,设备应该释放总线线路,让它被总线上拉电路拉得很高。

总线可能被上拉电阻或电流源拉高。在涉及更高总线电容的情况下,可以使用更复杂的电路来限制下拉下沉电流,同时在低到高过渡期间提供足够的电流,以保持SMBus的上升时间规格。

 

 

 三、The Physical Layer 

 3.1 SMBus器件的电气特性——两个离散的世界

SMBus被期望在至少两个具有不同电气要求的不同互斥环境中运行。在一种情况下,SMBus必须在电池设备的传统低功耗环境中可靠地运行。它还必须在计算机和网络设备的高噪声环境中可靠地运行,这些设备可能位于同一板或中间层卡上,可能通过PCI连接器连接。该规范通过提供如下所述的两类电气特性来满足这些需求。这些规范大多涉及电压水平、噪声容限等。当然,许多具体的项目,包括通用的ac规格,在这两种环境中是相同的。

低功率总线和高功率总线之间不能直接连接。如果设备的电流吸收能力小于4毫安,则不应该期望低功率设备在高功率总线上工作。但是,可以将一个低功率母线段和高功率母线段通过合适的桥接装置连接两个母线段。

3.2  SMBus Common AC specifications 

高功率和低功率SMBus电气接口共享一套通用的交流规格。图6演示了各种SMBus计时,并为接下来的规范设置了上下文。

SMBus设备可以支持三种不同的最大总线速度之一:100 kHz,400千赫和1兆赫。表2给出了每种最大总线速度的时序特性。

四、 The Data Link Layer

五、Network layer

六、Differences between SMBus and I2C

SMBus和I²C总线非常相似,通常是可互操作的。然而,有几个系统工程师应该熟悉的不同之处。本节将介绍几种不同之处,并包含提供关键差异摘要的表。

  1. V_{DD}  And Threshold Voltage Differences
    I²C规范[R01]给出了连接到I²C总线上的器件的电源电压(V_{DD})的最小或最大值。其中一节甚至讨论了电源电压为12V的设备。相反,SMBus V3.0限制了连接到SMBus的器件的标称电源电压最小1.8 V,最大5v
  2. Minimum Bus Speed And Maximum Clock Stretching
    I²C总线规范没有给出最小时钟频率。控制器可以使时钟线永远保持低电平,这是和I²C总线上的一个有效条件。此外,I²C规范允许目标设备在无限长的时间内保持时钟线低电平。
    SMBus规范确实要求最低工作频率为10khz.
  3. Address Acknowledge
    I²C规范不要求设备总是确认自己的地址。这可能会混淆系统控制器。如果一个设备不承认它自己的地址,系统控制器如何知道这是因为设备繁忙,已经故障,或已经被移除.为了防止这种混淆,SMBus规范要求SMBus设备始终确认自己的地址。如果一个确认了它的地址的设备没有这样做,那么系统控制器就知道这个设备已经失败或已经被移除.
  4. SMBus Protocols
    I²C规范仅指定如何将字节从一个设备移动到另一个设备。消息和数据包的结构完全留给设备制造商。SMBus规范定义了当SMBus设备正在与另一个设备通信时,必须使用的面向命令的协议。这些协议的例子是WRITE WORD(章节6.5.4)或BLOCK READ(章节6.5.7)。不是所有的I²C设备都支持所有的SMBus事务协议。
  5. REPEATED START Condition
    作为从设备读取数据的SMBus协议的一部分,控制器通常使用重复的启动条件。例如,请参见第6.5.5节中的READ WORD协议。某些I²C器件可能无法理解重复启动条件。尝试使用带有重复START条件的SMBus协议从I²C设备读取数据可能会产生意想不到的结果。
  6. SMBus Low Power Version
    对于电力使用必须最小化的应用,如电池供电系统,SMBus规范有一个低功耗级别(章节4.3.3)。I²C没有类似的规范。
  7. Table Of Differences
    下表总结了I²C和大功率SMBus规范的关键区别。这些表是作为方便的参考而提供的,但不包括可能感兴趣的每个参数。希望在同一物理总线上操作I²C和SMBus设备的系统工程师,应详细比较SMBus和I²C的规格。


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值