一、SMBus
1、简介
SMBus(System Management Bus--系统管理总线) 用于对关键参数进行监控。最常见的应用是计算机主板和嵌入式系统,包括温度、电源电压、风扇监控和控制集成芯片的监控。
SMBus是一种 2 线串行总线,分别是 SMBDAT(数据)和 SMBCLK(时钟)其拓扑结构如下所示:
2、地址
SMBus 地址有 7 个二进制位,通常表示为 前 4 位、后 3 位以及最后一个字母 b,例如0001 110b。这些地址占据总线上一个 8 位字段的 高 7 位。
7 位目标地址从主器件发送到总线上的一个或多个器件(通过广播地址)。
SMBus时序测量如下图所示:
3、与 I2C 异同
I2C 和 SMBus 既相互兼容,也存在差异,例如:
- SMBus 逻辑电平阈值固定,与器件的电源电压不成比例。因此,具有不同电源电压的器件可以在同一Primer上运行。例如,一个 SMBus 可能具有多个由 1.8 V、3.3 V和5 V 电源供电的器件;
- SMBus 最高运行速度100 kHz;
- SMBus 规定了最低时钟速度,并限制了时钟在一个事务中可以延展的量。违反超时限制会导致所有SMBus器件复位其I/O逻辑以允许总线重启。(这种设计可以增强总线鲁棒性);
- I2C 没有超时,而 SMBus 有超时——对于10 kHz最低时钟速度,可以考虑35 ms的超时;
- 分组差错校验(PEC)最初是为SMBus定义的,在每个事务的末尾添加一个分组错误码字节;
SMBus 器件每次收到其自己的地址时,无论在做什么,都必须应答(ACK),这是一个明确要求,目的是确保主器件可以准确地判断总线上哪些器件处于活动状态。
二、PMBus
1、简介
PMUS(Power Management Bus--电源管理总线)是一种开放标准的数字电源管理协议,可通过定义传输和物理接口以及命令语言来促进与电源转换器或其他设备的通信,能降低电源系统设计的复杂性
PMBus用于带有电源控制和管理器件的电源的数字管理,它具有支持电源管理要求的命令和结构,可以附加在I2C 和 SMBus 的已有特性上,充当现有标准(尤其是SMBus)之上的协议层。
2、I2C、SMBus、PMBus
SMBus最初开发用于协助电池管理系统,使用 I2C 硬件,但增加了第二级软件,允许器件热插拔,而无需重新启动系统。
PMBus扩展了SMBus,定义了一组专门用于管理功率转换器的器件命令,暴露了器件的测量电压、电流、温度等属性。