通讯协议--I2C——PMBus和SMBus
通讯协议
PMBus和SMBus
I2C是一种常用的串行通信协议,I2C有两个变体,分别专注于系统和电源应用,称为系统管理总线(SMBus)和电源管理总线(PMBus)
SMBus
SMBus简介
SMBus可用于需要对参数进行关键监控的应用。它最常见的应用是计算机主板和嵌入式系统。对于温度、电源电压、风扇监控和⁄或控制集成芯片,它有额外的监控规范。SMBus是一种2线总线,类似于飞利浦公司于1980年代开发的I2C总线。两个主要信号是时钟(SMBCLK)和数据(SMBDAT)。I2CPrimer和SMBus相互兼容,但存在明显差异。SMBus优点与特性
SMBus支持具有多个由1.8 V、3.3 V和5 V电源供电的器件,SMbus可以支持最高100 kHz的相同速度运行,但I2C Primer还可以支持有400 kHz和2 MHz两个版本
分组差错校验(PEC)最初是为SMBus定义的。在每个事务的末尾添加一个分组错误码字节。
并且SMBus器件每次收到其自己的地址时,无论在做什么,它都必须应答(ACK),这是一个明确要求,目的是确保主器件可以准确地判断总线上哪些器件处于活动状态。SMbus都是通过制定的SMbus协议之一执行。
SMBus地址
SMBus地址有7个二进制位,通常表示为前4位、后3位以及最后一个字母b,很多电池、传感器和传感器模块都支持SMBus地址,所以在使用它们的时候,代码需要右移1位。SMBus 消息构成
和I2c一样,区别是地址只能是7位,和必须有应答信号。SMbus 时序图
以下是参数介绍
时序图参考
PMBus
- PMBus简介
PMBus,它是一种开放标准电源管理协议,协议官网,PMBus用于带有电源控制和管理器件的电源的数字管理。它具有支持电源管理要求的命令和结构。
电源管理的基本参数之一是过压电平监控,PMBus提供了设置和读取该值的命令。PMBus可以附加在I 2 C Primer和SMBus的已有特性上,充当现有标准(尤其是SMBus)之上的协议层
- PMBus特性
PMBus是基于SMBus,所以具备SMBus所有特性,另外主要用于电源管理,因为服务器电源支持冗余系统,对于冗余系统,最多有三个信号来设置电源的地址位置,可以看到PMBus地址为0xB0-0xBF.
- PMBus命令列表
以下是长城电源,PMBus命令列表,简单列出。