参考文档:PMBus Power System Mgt Protocol Specification – Part II – Revision 1.2.pdf
寻址和分组(Addressing And Grouping)
1. 设备地址(Device Addresses)
通过制造商固定位和用户分配位的组合,为各个PMBus设备分配一个7位地址。
2 通用广播地址(全局广播)【General Call Address(Global Broadcast)】
PMBus 设备可以像响应自身物理地址一样来响应通用广播地址(00h)。
3. 向某个组发送命令(Sending Commands To A Group)
可以使用组命令协议(Group Command Protocol)将命令发送到多个PMBus设备以便同时执行。
在任何组命令事务中,不能向任何一个设备发送多个命令。
命令
1 命令和命令代码
PMBus 命令是一个字节的命令代码。PMBus 的命令和命令的二进制命令代码列表详见参考文档的表29。
2 命令扩展
为提供多余一个字节组合的256种命令代码,PMBus 提供了两种命令扩展,PMBus设备制造商可使用其中一个扩展,用于制造商特定的命令。另一个保留,以备将来纳入PMBus规范。
命令代码扩展实际上使命令代码变为两个字节长度。那个传输的第一个字节(低字节)是扩展命令代码。第二个字节(高字节)标识PMBus设备将要执行的命令操作。
3 命令执行
PMBus 设备会在辨识到停止位后尽快处理和执行命令。
4 读写PMBus设备(Writing And Reading PMBus Devices)
4.1 所有数据包都以写入地址开头
跟随在开始位后的设备地址字节的 bit[0] 位必须为 0(表示 写)。
如果设备在开始位后收到它自身的地址,且地址字节的bit[0] 位为 1 时,设备会根据参考文档的10.9.1节描述做出回应。
4.2 每个能被写的参数必须具有可读性
一般来说,任何接受写入值的命令在读取时也必须返回该值。主机可以使用这一点来保证正确接收到传输的值。
4.3 命令可以为只读
并非所有命令都必须支持将参数写入PMBus设备。有些命令,比如那些读回输出电压等参数的命令,本质上是只读的。
内存模型、启动行为和默认值
在概念层面上,PMBus设备根据存储在易失性存储器中的值(如命令输出电压)进行操作。为了描述PMBus设备的概念操作,这种易失性存储器称为操作存储器。当施加偏置电源且PMBus装置控制电路开始工作时,从以下一个或多个位置加载操作存储器:
- 硬编码到IC设计中的值(如有),
- 从硬件引脚(如有)编程的值,
- 称为默认存储器的非易失性存储器(如果设备支持),
- 称为用户存储器(如果设备支持)的非易失性存储器,或
- 来自SMBU的通信。
1 内存加载顺序和优先级【Order Of Memory Loading And Precedence】
- 加载到操作存储器中的第一个参数是硬编码参数。
- 加载到操作存储器中的第二个参数来自引脚编程。如果针脚编程的参数与硬编码的参数相同,则针脚编程值将覆盖先前加载的硬编码值。
- 加载的第三组参数来自可选的非易失性默认存储(如果存在)。默认存储中的值通常由PMBus设备制造商编程。设备制造商可能允许或不允许用户覆盖默认存储中制造商提供的值。
- 加载的第四组参数来自可选的非易失性用户存储(如果存在)。用户存储器最常用于在设备编程和调整操作后存储操作存储器的“快照”。通过在用户存储器中存储操作存储器的副本,设备将使用用户存储的最后一组值恢复操作。
- 最后,一旦前面的步骤完成,PMBus设备将开始接受来自SMBus的命令。请注意,这意味着从总线写入的值将覆盖所有以前的值,包括硬编码、管脚编程或从默认和用户存储区复制的值。

2 默认存储和用户存储(The Default And User Stores)
默认存储可用户存储是可选的。
有四个命令来操作这两个非易失性存储器的内容。
命令 | 操作 |
STORE_DEFAULT_ALL | 复制操作存储器的所有内容到默认存储 |
STORE_DEFAULT_CODE | 从操作存储器存储一个参数到默认存储 |
RESTORE_DEFAULT_ALL | 复制默认存储的所有内容到操作存储器 |
RESTORE_DEFAULT_CODE | 从默认存储复制一个参数到操作存储器 |
命令 | 操作 |
STORE_USER_ALL | 复制操作存储器的所有内容到用户存储 |
STORE_USER_CODE | 从操作存储器存储一个参数到用户存储 |
RESTORE_USER_ALL | 复制用户存储的所有内容到操作存储器 |
RESTORE_USER_CODE | 从用户存储复制一个参数到操作存储器 |
数据格式
1 线性数据格式
线性数据格式的典型用法是用来命令和报告一些参数,比如:
- 输出电流(A);
- 输入电压(V);
- 输入电流(A);
- 操作温度(℃);
- 时间(持续);
- 储能电容电压。
该格式特点是以增加从器件数据操作的复杂性来减小主控制器的负荷。
线性数据格式是两个字节的值【二进制补码形式】:

数据值计算:
随便举个例子:
如 N = 10101;Y = 111 1111 1111
则 N = 10101【补码】=10100【反码 = 补码 - 1】 = 11011【原码,反码符号位不变,其余位按位取反】= -11;
Y = 011 1111 1110【补码】= 011 1111 1101【反码】 = 000 0000 0010【原码】 = 2;
那么 X = 2 * 2^(-11)
2 直接数据格式
直接格式数据由两个字节构成,数据为二进制补码整数。直接格式数据可以与任何发送或读取参数值的命令一起使用。
如果PMBus装置使用直接形式的数据,应在产品说明书中明确说明。
2.1 接收数据
主机系统使用以下等式来转换从PMBus设备接收的值:
Y是接收的值,X是要计算的值,m是斜率,b是补偿值,R是指数。该格式下采用的 m、b、R 参数都是由器件设计者制定的。
2.2 发送数据
地址、内存、通信和能力相关命令【Address, Memory, Communication And Capability Related Commands】
1. WRITE_PROTECT 写保护命令
WRITE_PROTECT 命令用于控制对 PMBus 设备的写操作。 该命令的目的是提供保护以防止意外更改。 此命令无意于防止故意或恶意更改设备的配置或操作。
不管WRITE_PROTECT设置如何,所有受支持的命令都可以读取其参数。
该命令具有一个数据字节:
数据字节值 | 含义 |
1000 0000 | 禁用除 WRITE_PROTECT 命令外的所有写操作 |
0100 0000 | 禁用除 WRITE_PROTECT、OPERATION 和 PAGE 命令之外的所有写操作 |
0010 0000 | 禁用除 WRITE_PROTECT、OPERATION 和 PAGE、 ON_OFF_CONFIG、VOUT_COMMAND 命令之外的所有写操作 |
0000 0000 | 保留 |
注意:如果设备收到未在上表中列出的数据字节,则该设备应将其视为无效数据,声明通信故障并按照参考手册中的第10.8节中的描述进行响应。
2 默认存储命令
2.1 STORE_DEFAULT_ALL【无数据字节,只写】
STORE_DEFAULT_ALL 命令指示 PMBus 设备将操作存储器的全部内容复制到非易失性默认存储存储器中的匹配位置。 操作存储器中在默认存储中没有匹配位置的所有项目都将被忽略。
设备运行时,允许使用该命令。 但是,设备在复制操作过程中可能无响应,从而产生不可预测的、不良的甚至是灾难性的结果。 敦促PMBus设备用户联系PMBus设备制造商,以了解在设备运行并提供输出功率时使用STORE_DEFAULT命令的后果。
2.2 RESTORE_DEFAULT_ALL【无数据字节,只写】
RESTORE_DEFAULT_ALL 命令指示 PMBus 设备将非易失性默认存储存储器的全部内容复制到操作存储器中的匹配位置。 从默认存储中检索到的值将覆盖操作存储器中的值。 默认存储中在操作存储器中没有匹配位置的所有项目都将被忽略。
设备运行时,允许使用该命令。但是同样可能产生一些不良反应,需联系 PMBus 设备制造商了解详细情况方可使用。
2.3 STORE_DEFAULT_CODE【无数据字节,只写】
STORE_DEFAULT_CODE 命令指示 PMBus 设备将其命令代码与数据字节中的值匹配的参数从操作存储器复制到非易失性默认存储存储器中的匹配位置。
如果设备不允许将此参数保存在默认存储区中,或者设备不支持数据字节中指定的命令代码,则设备必须按照PMBus规范【A01】中的说明,通知主机命令失败。
设备运行时,允许使用该命令。但是
2.4 RESTORE_DEFAULT_CODE【无数据字节,只写】
RESTORE_DEFAULT_CODE 命令指示设备将其命令代码与数据字节中的值匹配的参数从非易失性默认存储存储器复制到操作存储器中的匹配位置。 从默认存储中检索到的值将覆盖操作存储器中的值。
设备运行时,允许使用该命令。但是
3 用户存储命令
3.1 STORE_USER_ALL【无数据字节,只写】
STORE_USER_ALL 命令指示 PMBus 设备将操作存储器的全部内容复制到非易失性用户存储存储器中的匹配位置。 操作存储器中在用户存储区中没有匹配位置的所有项目都将被忽略。
设备运行时,允许使用该命令。但是
3.2 RESTORE_USER_ALL【无数据字节,只写】
RESTORE_USER_ALL 命令指示 PMBus 设备将非易失性用户存储存储器的全部内容复制到操作存储器中的匹配位置。 从用户存储中检索的值将覆盖操作存储器中的值。 用户存储中任何在操作内存中没有匹配位置的项目都将被忽略。
设备运行时,允许使用该命令。但是
3.3 STORE_USER_CODE【无数据字节,只写】
STORE_USER_CODE 命令指示 PMBus 设备将其命令代码与数据字节中的值匹配的参数从操作存储器复制到非易失性用户存储存储器中的匹配位置。
如果设备不允许将此参数保存在用户存储中,或者设备不支持数据字节中指定的命令代码,则设备必须按照PMBus规范中的说明,通知主机该命令失败。
设备运行时,允许使用该命令。但是
3.4 RESTORE_USER_CODE【无数据字节,只写】
RESTORE_USER_CODE 命令指示 PMBus 设备将其命令代码与数据字节中的值匹配的参数从非易失性用户存储存储器中复制到操作存储器中的匹配位置。 从用户存储中检索到的值将覆盖操作存储器中的值。
设备运行时,允许使用该命令。但是
4 PAGE 指令
Page 命令仅通过一个物理地址便可配置,控制和监视:
- 一个单元上的多个输出;
- 通过 PMBus 设备到非 PMBus 设备适配器或网桥的多个非 PMBus 设备。
每个 PAGE 都包含每个输出的工作内存(由设备制造商选择,用户存储和默认存储)。 每个页面可以提供每个输出或非PMBus 设备可用的完整 PMBus 命令范围。


PMBus 设备制造商还可以在单个 PMBus 设备中使用多个页面,以为一个或多个输出提供其他命令或存储空间。
PAGE 命令的数据字节是无符号二进制整数。
00h 至 1Fh 页专门为具有单个物理地址的设备上的多个输出保留。
将页面设置为 FFh 意味着以下所有命令都将应用于所有输出。
5 PHASE 指令
PHASE 命令可在一个 PMBus 单元上配置,控制和监视多个相。
每个相都包含每个阶段输出的操作存储器(由设备制造商选择,用户存储和默认存储)。 由 PHASE 命令选择的相将用于所有后续的与相有关的命令。
PHASE 命令的数据字节是无符号二进制整数。
00h 到 7Fh 相专门保留给具有单个物理地址的设备上的多相输出。
将相位设置为 FFh 意味着以下命令将应用于所有相输出。 默认值将设置为 FFh,从而允许与单相命令向后兼容。
可以创建具有多个页面的 PMBus 设备,每个页面可以控制一个或多个相。 PMBus 设备产品文献应清楚说明该设备的 PAGE 和PHASE 之间的关系。
可以利用 PHASE 命令的函数示例为 READ_IOUT,IOUT_CAL_GAIN 和 IOUT_CAL_OFFSET。
6 CAPABILITY 指令【只读】
该命令为主机系统提供了一种确定PMBus设备某些关键功能的方法。
一个数据字节格式:
位 | 描述 | 值 | 含义 |
7 | 错包检测 | 0 | 不支持错包检测 |
1 | 支持错包检测 | ||
6 : 5 | 最大总线速率 | 00 | 支持最大总线速率为 100 kHz |
01 | 支持最大总线速率为 400 kHz | ||
4 | SMBALERT#(可选的中断线) | 0 | 该设备没有 SMBALERT# 引脚,并且不支持 SMBus 警报响应协议 |
1 | 该设备有 SMBALERT# 引脚,并且支持 SMBus 警报响应协议 | ||
3 : 0 | 保留位 | X | 保留位 |
7 QUERY指令
QUERY 命令用于询问 PMBus 设备是否支持给定命令,如果支持,则询问该命令支持哪种数据格式。 此命令使用SMBus规范中描述的“块写入-块读取过程调用。
对于过程调用的写部分,一个数据字节是一个无符号二进制整数,其值等于要研究的命令的命令代码(参考手册的表29)。
对于流程调用的读取部分,一个数据字节是一个无符号二进制整数,其值如下:
位 | 值 | 含义 |
7 | 1 | 支持命令 |
0 | 不支持命令 | |
6 | 1 | 支持命令写入 |
0 | 不支持命令写入 | |
5 | 1 | 支持命令读取 |
0 | 不支持命令读取 | |
4:2 | 000 | 使用线性数据格式 |
001 | 16 位带符号数字 | |
010 | 保留 | |
011 | 使用直接模式格式 | |
100 | 8 位无符号数字 | |
101 | 使用的VID模式格式 | |
110 | 制造商使用的特定格式 | |
111 | 命令不返回数字数据。 这也用于返回数据块的命令 | |
1:9 | XX | 为未来使用保留 |
如果 Bit [7] 为 0,那么则其余位为“无关位”。
对于列出为保留的任何命令,设备应返回“不支持命令”响应(0xxxxxxxb)
8 PAGE_PLUS 指令
8.1 PAGE_PLUS_WRITE 指令
PAGE_PLUS_WRITE 命令用于在一个设备中设置页面,发送命令以及发送命令数据。
PAGE_PLUS_WRITE 命令使用 WRITE BLOCK 协议。
下图显示了一个 PAGE_PLUS 命令示例,该示例用于发送一个命令,该命令有两个要写入的数据字节和一个 PEC 字节。
8.2 PAGE_PLUS_READ 指令
PAGE_PLUS_READ 命令用于设置设备中的页面,发送命令以及以一个包的形式读取该命令返回的数据。
PAGE_PLUS_READ 命令使用 BLOCK WRITE – BLOCK READ PROCESS CALL 协议。
下图显示了 PAGE_PLUS 命令的示例,该命令用于发送具有两个要读取的数据字节和一个 PEC 字节的命令
开,关和Margin Testing相关命令【On, Off And Margin Testing Related Commands】
1 OPERATION 指令
OPERATION 命令与 CONTROL 引脚的输入一起决定设备的开启和关闭。 它还用于使本机将输出电压设置为较高或较低的电压裕量。设备保持命令指示的工作模式,直到随后的 OPERATION 命令或 CONTROL 引脚的状态更改指示该设备变更到其它工作模式。
[7:6] 位确定通过OPERATION命令命令关闭输出时设备如何响应。 如果位 [7:6] 为 00b,则器件立即关闭,并忽略任何编程的关闭延迟和下降时间。 如果[7:6]位为01b,则器件将根据编程的关闭延迟和下降时间断电。
“Act On Fault” 是指,如果在输出为高电平时检测到输出过压警告或输出过压故障,则设备会将其视为警告或故障,并按照警告极限或故障响应命令的程序进行响应。 类似地,如果在输出裕度为低时检测到输出欠压警告或输出欠压故障,则该设备会将其视为警告或故障,并按照警告极限或故障响应命令的编程进行响应。
“Ignore Fault” 是指,如果在输出为高电平时检测到输出过压警告或输出过压故障,则该单元将忽略该情况并继续运行,而不会中断或通知已发生故障或警告情况。 同样,如果在输出为低电平时检测到输出欠压警告或输出欠压故障,则该单元将忽略该情况并继续运行,而不会中断或通知已发生故障或警告情况。
2 ON_OFF_CONFIG 指令
ON_OFF_CONFIG 命令可配置开关设备所需的CONTROL引脚输入和串行总线命令的组合,包括施加电源时设备如何响应。
任何PMBus设备的默认响应由设备制造商指定。
ON_OFF_CONFIG 配置数据字节的详细信息如下表所示。
位 | 目的 | 值 | 含义 |
[7:5] | 000 | 保留位 | |
4 | 【开机控制】 将默认值设置为在有电时操作,或通过CONTROL引脚和串行总线命令控制开/关 | 0 | 不论 CONTROL 引脚的状态如何,只要有电源,设备就会上电 |
1 | 仅当 CONTROL 引脚和 OPERATION 命令要求时(按位 [3:0] 编程),设备才会上电 | ||
3 | 【命令使能】 实现对单元如何响应通过串行总线接收的命令的控制 | 0 | 设备忽略来自串行总线的 OPERATION 命令的开/关部分 |
1 | OPERATION 命令必须设置为开启状态才能使能设备(还要置位 bit[2]) | ||
2 | 【引脚使能】 控制设备对 CONTROL 引脚上的值如何响应 | 0 | 忽略CONTROL引脚(仅通过 OPERATION 命令控制开/关) |
1 | CONTROL 引脚必须置位才能使能设备(还要置位 bit[3]) | ||
1 | CONTROL 引脚极性 | 0 | 低电平有效(将引脚拉低以启动设备) |
1 | 高电平有效(将其拉高以启动设备) | ||
0 | 【关断延迟设置】 命令本机关闭时CONTROL 引脚动作 | 0 | 使用 TOFF_DELAY 值停止对输出的能量传输 |
1 | 尽快关闭输出并停止对输出的能量传输 器件的产品资料应规定器件是否吸收电流以减少输出电压下降时间。 |
输出电压及其相关参数的数据格式【Data Formats For The Output Voltage And Output Voltage Related Parameters】
根据设备的类型,用于命令或读取输出电压或相关参数(例如过电压阈值)的电压数据可以采用三种不同格式之一。 PMBus设备产品文献应清楚地标识设备能够支持的格式。
1 两个步骤
命令或读取一个输出电压或其相关参数需要两个步骤:
- 第一步:通过 VOUT_MODE命令 设置或读取设备用于输出电压相关数据的三种格式(LINEAR,VID,DIRECT)中的哪一种。
- 第二步:使用VOUT_MODE命令设置或读取输出电压数据的格式后,将使用其他命令设置,调整或读回与输出电压相关的信息。 例如,VOUT_COMMAND用于设置设备应将输出设置为的电压。 VOUT_OV_FAULT_LIMIT命令用于设置输出过压故障阈值。
仅当输出电压数据的格式更改时才发出 VOUT_MODE 命令。 对于某些设备,此密码在设备的使用寿命中只能写入一次。
2 输出电压相关命令的数据字节
所有与输出电压有关的命令都使用两个数据字节。 这些数据字节的内容取决于所使用的电压数据格式(由VOUT_MODE命令设置),并在下面进行描述。
1 LINEAR 模式
使用线性电压数据格式时,VOUT_MODE 和 VOUT_COMMAND 的数据字节如下图所示。
2 VID 格式
使用VID电压数据格式时,VOUT_MODE 和 VOUT_COMMAND 的数据字节如图7所示。
在与输出电压相关的命令数据字节内,VID 代码应右对齐,即低位数据字节的位 0 中的 VID0,低位字节的位 1 中的 VID1,以此类推,直到使用了所有适用的 VID 位。 数据字节中任何未使用的位应填充 0。
VID 代码类型 1Eh 和 1Fh 便于 PMBus 设备制造商可以提供定制的或特定于制造商的 VID 代码。 VID 代码和输出电压之间关系的详细信息应在 PMBus 器件产品资料中提供。
3 DIRECT 格式
当使用 DIRECT 格式设置输出电压时,通常由 PMBus 设备制造商选择系数 m,b 和 R,以使要命令的最小电压得出 Y 的值为0。 通常,要命令的最大值为 2^16 - 1。 计算结果将转换为16位无符号二进制整数,并作为 VOUT_COMMAND 命令的数据字节发送。
输出电压相关命令【Output Voltage Related Commands】
1 VOUT_MODE 指令
VOUT_MODE 命令设置输出电压相关数据的格式。数据字节是一个字节,由三位模式选择位和五位参数位组成,如图5所示。三位模式用于设置器件是使用线性,VID 还是直接模式来输出与电压相关的命令。 五位参数可提供有关所选模式的更多信息,例如正在使用哪个制造商的 VID 代码。
PMBus 设备可能在制造时已设置了“模式”和“参数”,并且可能不允许用户更改这些值。 在这种情况下,如果主机发送用于写入 PMBus 设备的 VOUT_MODE 命令,则该设备应拒绝 VOUT_MODE 命令,声明无效数据的通信故障,然后按照参考手册的10.2.2 节中的描述进行响应。

如果设备接受VOUTÅ模式命令,则保留模式和参数,直到使用另一个VOUTÅ模式命令更改或直到偏置电源被移除。
2 VOUT_COMMAND 指令
使器件将其输出电压设置为命令值;
3 VOUT_TRIM 指令
VOUT_TRIM命令用于向输出电压命令值施加固定的偏移电压。 它通常由用户设置,在 PMBus 设备被组装到用户系统中时校准输出电压。
VOUT_TRIM 有两个数据字节,格式为补码二进制整数。此命令的效果取决于VOUT_MODE命令的设置。
如果设备正在使用VID格式的输出电压,则不能使用此命令。 如果在本机以VID格式运行时尝试应用此命令,则设备必须拒绝该命令,并出现无效数据错误,如参考手册第10.9节所述。
默认值为 0000h。
4 VOUT_CAL_OFFSET 指令
VOUT_CAL_OFFSET 命令用于对输出电压命令值应用固定的偏移电压。它通常由 PMBus 设备制造商使用,以便在工厂校准设备。
默认值为 0000h。
5 VOUT_MAX 指令
VOUT_ MAX 命令设置设备可以达到的输出电压上限,而与其他任何命令或组合无关。 该命令的目的是提供一种保护措施,以防止用户意外将输出电压设置为可能的破坏性水平,而不是作为主要的输出过保护。
若尝试设置高于此命令设置的限值的输出电压,设备将做出如下响应:
- 要求的输出电压设置为 VOUT_MAX 值;
- STATUS_BYTE 命令中的 NONE OF THE ABOVE 位(寄存器0x78[0])置1。
- STATUS_WORD 命令中的 VOUT 位(寄存器0x79[15])置1。
- STATUS_VOUT命令中的VOUT_MAX位(寄存器0x7A[3])置1。
6 VOUT_MARGIN_HIGH 指令
VOUT_MARGIN_HIGH 命令设置当 OPERATION 命令设为 Margin High 时输出要改变到的目标电压。
7 VOUT_MARGIN_LOW 指令
VOUT_MARGIN_LOW 命令设置 OPERATION 命令设为 Margin Low 时输出要改变到的目标电压。
8 VOUT_TRANSITION_RATE 指令
当设备收到导致输出电压改变的 VOUT_COMMAND 命令或 OPERATION 命令(Margin High、 Margin Low)时,此命令设置要改变电压的输出的速率,单位为mV/µs。设备开启或关闭时,该命令指示的变化率不适用。
该指令有两个数据字节。
9 VOUT_DROOP 指令
VOUT_DROOP命令设置输出电压随着输出电流提高(或降低)而降低(或提高)的速率,单位为mV/A (mΩ),用于自适应电压
定位要求和被动电流共享方案。
10 VOUT_SCALE_LOOP 指令
为了使 PMBus 设备能够在命令电压(如3.3V)和控制电路输入电压(3.3V除以1.2V的参考电压)之间进行映射。
11 VOUT_SCALE_MONITOR 指令
该命令通常与VOUT_SCALE_LOOP命令相同。它配合READ_VOUT命令(寄存器0x8B)读取输出电压。
其他命令
1 COEFFICIENTS 命令
COEFFICIENTS 命令用于检索 DIRECT 格式的数据所需的m,b和R系数。
2 POUT_MAX 命令
POUT_MAX 命令以瓦特为单位设置输出功率,在该功率下,设备开始以恒定功率模式而不是恒定电压进行调节。 此命令通常在为电池充电的系统中使用。
默认值由制造商指定。
3 MAX_DUTY 命令
MAX_DUTY 命令设置单位的功率转换级的最大占空比,以百分比为单位。
4 FREQUENCY_SWITCH 命令
FREQUENCY_SWITCH 命令设置PMBus设备的开关频率(以kHz为单位)。
5 VIN_ON 命令
VIN_ON命令设置设备开始电源转换的输入电压值(单位为V)
6 VIN_OFF命令
VIN_OFF命令设置操作开始后设备停止电源转换的输入电压值(单位为V)。
7 INTERLEAVE 命令
INTERLEAVE 命令用于安排多个单元,以便可以及时分配其切换周期。 这可用于促进多个单元的并联或减少注入电源总线的交流电流。


8 IOUT_CAL_GAIN
IOUT_CAL_GAIN 命令用于设置电流检测引脚上的电压与检测到的电流之比。 对于使用固定电流检测电阻器的设备,该值通常与电阻器的电阻值相同。
该命令也可以与IOUT_CAL_OFFSET命令(第14.9节)一起使用,以校准设备的电流检测电路(第9.3节)。IOUT_CAL_GAIN系数的单位为毫欧。
默认值为0mΩ。
9 IOUT_CAL_OFFSET
IOUT_CAL_OFFSET 用于消除输出电流检测电路中的任何偏移。 该命令最常与IOUT_CAL_GAIN命令(如上)结合使用,以最大程度地减小电流检测电路的误差
10 FAN_CONFIG_1_2
FAN_CONFIG_1_2 用于配置多达两个与一个PMBus设备关联的风扇。
11 FAN_CONFIG_3_4
FAN_CONFIG_3_4 用于配置多达两个与一个PMBus设备关联的风扇
12 FAN_COMMAND_n
FAN_COMMAND_1,FAN_COMMAND_2,FAN_COMMAND_3 和 FAN_COMMAND_4 命令用于调整PMBus设备或主机系统中包含的风扇的运行。
故障相关命令【Fault Related Commands】
1 CLEAR_FAULTS 命令【只写】
CLEAR_FAULTS 命令用于清除所有已设置的故障位。 该命令同时清除所有状态寄存器中的所有位。同时,如果设备正在断言SMBALERT# 信号,则设备将否定(清除、释放)其 SMBALERT#信号输出。
清除故障不会导致因故障状态而闭锁的装置
重新启动。
如果清除位后故障仍然存在,则应立即重新设置故障位,并以通常方式通知主机。
2 VOUT_OV_FAULT_LIMIT 命令
VOUT_OV_FAULT_LIMIT 命令设置在引起输出过压故障的检测引脚或输出引脚上测得的输出电压值【设置输出电压过压保护的阈值】
默认值由设备制造商在产品资料中指定。
3 VOUT_OV_FAULT_RESPONSE
VOUT_OV_FAULT_RESPONSE 命令指示设备响应输出过压故障而采取的措施。
位 | 描述 | 值 | 含义 |
7:6 | 对于[7:6]位的所有值,设备:
| 00 | 不中断地继续工作 |
01 | PMBus设备将继续操作 [2:0] 位指定的延迟时间,并为该特定故障指定延迟时间单位。 如果在延迟时间结束时故障条件仍然存在,则设备将按照“重试设置”(位[5:3])中的程序进行响应 | ||
10 | 设备关闭(禁用输出)并根据位[5:3]中的重试设置响应。 | ||
11 | 故障存在时,输出禁用。故障条件不再存在时,操作恢复且输出使能。 | ||
5:3 | 重试设置 | 000 | 不尝试重启。输出保持禁用,直到故障被清除。 |
001至110 | 尝试按照这些位指定的次数重启。如果在允许的重试次数后设备仍然无法重启(故障状态不再存在,设备正在为输出供电并按照编程方式运行),输出将禁用并保持关闭,直至故障清除。各次重启尝试的开始时间间隔由位[2:0]中的延迟时间值设置,还要加上针对该特定故障指定的延迟时间。 | ||
111 | 尝试无限制次数地连续重启,直到被命令停止(由CTRL引脚和/或OPERATION命令)、电源被移除或其它故障导致设备关断。 | ||
2:0 | 延迟时间 | XXX | 延迟时间单位的数量,视故障类型而定。 此延迟时间用于检测到故障后设备继续运行的时间,或者用于尝试重新启动之间的时间。 |
4 VOUT_OV_WARN_LIMIT命令
VOUT_OV_WARN_LIMIT命令设置在引起输出电压高警告的检测或输出引脚上的输出电压值。 该值通常小于输出过压阈值。
5 VOUT_UV_WARN_LIMIT 命令
VOUT_UV_WARN_LIMIT命令设置在引起输出电压低警告的检测或输出引脚上的输出电压值。 该值通常大于输出欠压故障阈值。
该警告将被屏蔽,直到设备达到编程的输出电压。 禁用设备时,该警告也会被屏蔽。
6 VOUT_UV_FAULT_LIMIT 命令
VOUT_UV_FAULT_LIMIT命令设置会引起输出欠压故障的检测或输出引脚上的输出电压值。
该警告将被屏蔽,直到设备达到编程的输出电压。 禁用设备时,该警告也会被屏蔽。
7 VOUT_UV_FAULT_RESPONSE 命令
VOUT_UV_FAULT_RESPONSE命令指示设备针对输出欠压故障采取的措施。
8 IOUT_OC_FAULT_LIMIT 命令
IOUT_OC_FAULT_LIMIT命令设置输出电流的值(以安培为单位),该值使过流检测器指示过流故障状态。【设置输出电压过流保护的阈值】
9 IOUT_OC_LV_FAULT_RESPONSE 命令
IOUT_OC_LV_FAULT_RESPONSE 命令指示设备在输出电压被拉至指定阈值以下时应采取什么措施以响应输出过流故障。
10 IOUT_OC_LV_FAULT_LIMIT
如果对过电流条件的响应是在恒定电流模式下运行,除非将输出电压拉至指定值以下,则IOUT_OC_LV_FAULT_LIMIT指定该电压阈值。【设置以下情况的电压阈值:对过流状况的响应是进入恒流工作模式,除非输出电压降至指定的限值以下。】
11 IOUT_OC_LV_FAULT_RESPONSE
IOUT_OC_LV_FAULT_RESPONSE 命令指示设备在输出电压被拉至指定阈值以下时应采取什么措施以响应输出过流故障。
12 IOUT_OV_WARN_LIMIT 命令
IOUT_OV_WARN_LIMIT 命令设置引起输出过电流警告的输出电流值。
13 IOUT_UC_FAULT_LIMIT
对于输出中带有同步整流器的设备,电流可以从该设备流到负载或从负载流到输出。 当电流从单元流向负载时,该单元被称为拉电流,并且输出电流声明为正。 当电流从负载流入单元时,这些单元被称为吸收电流,并且该电流被声明为负。
此命令设置采取措施之前允许的最大输出电流(以安培为单位)。 请注意,IOUT_UC_FAULT_LIMIT值通常为负,对应于负输出电流(从负载流到设备输出的电流)。
14 IOUT_c_FAULT_RESPONSE 命令
IOUT_c_FAULT_RESPONSE 命令指示设备对输出欠电流故障应采取的措施。
对于这种故障情况,“禁止操作”选项仅指停止同步整流(允许输出电流通过续流装置流向续流装置),而不关断输出(停止将能量传递至输出)。
15 OT_FAULT_LIMIT 过温保护阈值命令
OT_FAULT_LIMIT命令设置过温保护的阈值(单位为°C)。
16 OT_FAULT_RESPONSE命令 过温响应命令
OT_FAULT_RESPONSE命令指示设备针对过温故障采取何种措施。
17 OT_WARN_LIMIT 高温警告命令
OT_WARN_LIMIT 命令设置过温警告温度,在该温度下应指示“过热警告”警报。
18 UT_WARN_LIMIT 低温警告命令
低温警告命令,设定温度值,低于该值发出低温警告。
19 UT_FAULT_LIMIT 低温超限命令
设定低温保护的阈值(℃)。
20 UT_FAULT_RESPONSE 低温响应命令
指示设备针对低温故障采取何种措施。
21 VIN_OV_FAULT_LIMIT
设置引起输入电压过压故障的限值。
22 VIN_OV_FAULT_RESPONSE
输入电压过压故障响应。
23 VIN_OV_WARN_LIMIT 输入电压过压警告
设置输入电压过压警告值。
24 VIN_UV_WARN_LIMIT
设置输入电压欠压警告值。
该警报将被屏蔽,直到输入超过VIN_ON命令设置的值并且已启用该设备为止。
25 VIN_UV_FAULT_LIMIT
设置引起输入电压欠压故障的值。
26 VIN_UV_FAULT_RESPONSE
输入电压欠压故障响应。
27 IIN_OC_FAULT_LIMIT
设置输入电流过流故障限值(安培)。
28 IIN_OC_FAULT_RESPONSE
输入电流过流故障响应。
29 IIN_OC_WARN_LIMIT
设置输入电流过流警告值。
30 POWER_GOOD Signal Limits
PMBus 设备提供 POWER_GOOD 信号,这些命令用于设置输出电压,在该电压下,电源有效信号将被置为有效并取反。
30.1 POWER_GOOD_ON
POWER_GOOD_ON 命令设置POWER_GOOD信号置位的输出电压。
30.2 POWER_GOOD_OFF
POWER_GOOD_OFF 命令设置POWER_GOOD信号被反向的输出电压。
31 POUT_OP_FAULT_LIMIT 过功率故障限值
设定输出功率(W)的过功率故障限值。
32 POUT_OP_FAULT_RESPONSE 过功率故障响应
输出电压过功率故障响应。
33 POUT_OP_WARN_LIMIT 过功率警告值
设置输出过功率警告值。
34 PIN_OP_WARN_LIMIT 输入功率过功率警告
35 SMBALERT_MASK 命令
该命令用来阻止 警告或故障 断言 SMBALERT# 信号。
阻止一个或多个状态位引起 SMBALERT# 信号断言:


输出电压时序命令【Output Voltage Sequencing Commands】
1 TON_DELAY
TON_DELAY 以毫秒为单位设置从接收到启动条件(通过 ON_OFF_CONFIG 命令进行编程)到输出电压开始上升之间的时间(以毫秒为单位)【开启延时时间】。
2 TON_RISE
设置开启上升时间(单位为ms)。
当设置为0的时候表示设备应尽快将其输出电压调整为编程的调节值。
3 TON_MAX_FAULT_LIMIT
TON_MAX_FAULT_LIMIT 命令设置一个上限(以 ms 为单位),该上限是设备可以尝试在不达到输出欠压故障限制的情况下为输出加电的时间。
4 TON_MAX_FAULT_RESPONSE
5 TOFF_DELAY
TOFF_DELAY 命令设置关闭延迟时间(单位为ms)
6 TOFF_FALL
TOFF_FALL以毫秒为单位设置从 TOFF_DELAY 时间结束到命令电压为 0 的时间。
请注意,此命令只能用于其输出可以吸收足够电流以导致输出电压以受控速率降低的设备。
值为 0 毫秒表示设备应在不超过 IOUT_UC_FAULT_LIMIT 电流的情况下尽快降低输出电压。
7 TOFF_MAX_WARN_LIMIT
TON_MAX_WARN_LIMIT 命令设置了一个上限(以ms为单位),该上限可以使设备尝试关闭输出电源的时间而不会达到关闭设备时编程的输出电压的12.5%。
0毫秒的值表示没有限制,并且该单元无限期地等待输出电压衰减。
设备状态命令【Unit Status Commands】
本节介绍从PMBus单元检索状态信息的命令。 状态信息是二进制的。
值1表示发生故障或警告事件,而值0表示未发生故障或警告事件。
不支持的功能的位应报告为零。
1. STATUS_BYTE 命令
STATUS_BYTE 命令返回一个字节的信息,其中包含最严重的错误的摘要。
位 | 状态位名称 | 含义 |
7 | BUSY | 因为设备忙碌或者无响应而声明一个故障 |
6 | OFF | 若设备不向输出提供电源,不管什么原因,包括没有被启用,则该位被断言。 |
5 | VOUT_OV_FAULT | 发生输出过压故障 |
4 | IOUT_OC_FAULT | 发生输出过流故障 |
3 | VIN_UV_FAULT | 发生输入欠压故障 |
2 | CML | 发生温度故障或警告 |
1 | CML | 发生通信、内存或逻辑故障 |
0 | NONE OF THE ABOVE | 发生未出现在上述列表的故障或警告 |
2 STATUS_WORD 命令
STATUS_WORD 命令返回两个字节的信息,并包含设备的故障情况摘要。 根据这些字节中的信息,主机可以通过读取相应的状态寄存器来获取更多信息。
位 | 状态位名称 | 含义 | |
低字节 | 7 | BUSY | 因为设备忙碌或者无响应而声明一个故障 |
6 | OFF | 若设备不向输出提供电源,不管什么原因,包括没有被启用,则该位被断言。 | |
5 | VOUT_OV_FAULT | 发生输出过压故障 | |
4 | IOUT_OC_FAULT | 发生输出过流故障 | |
3 | VIN_UV_FAULT | 发生输入欠压故障 | |
2 | TEMPERATURE | 发生温度故障或警告 | |
1 | CML | 发生通信、内存或逻辑故障 | |
0 | NONE OF THE ABOVE | 发生未出现在上述列表的故障或警告 | |
位 | 状态位名称 | 含义 | |
高字节 | 7 | VOUT | 发生一个输出电压故障或警告 |
6 | IOUT/POUT | 发生一个电流或功率的故障或警告 | |
5 | INPUT | 发生一个输入电压、输入电流或输入功率的故障或警告 | |
4 | MFR_SPECIFIC | 发生了制造商特定的故障或警告 | |
3 | POWER_GOOD# | POWER_GOOD信号(如果存在)无效 | |
2 | FANS | 发生风扇或气流的故障或警告 | |
1 | OTHER | STATUS_OTHER 中的一位已置位 | |
0 | UNKNOWN | 检测到 SATUS_WORD 的位[15:1]中未给出的故障类型 |
注意:如果将POWER_GOOD#位置1,则表明POWER_GOOD信号(如果存在)表示输出功率不好。
3 STATUS_VOUT
STATUS_VOUT命令返回一个数据字节:
4 STATUS_IOUT
5 STATUS_INPUT
6 STATUS_TEMPERATURE
7 STATUS_CML (Communications, Logic, And Memory)
8 STATUS_OTHER
9 STATUS_MFR_SPECIFIC
10 STATUS_FANS_1_2
注释1:通常,如果风扇完全失效或根本无法提供冷却所嵌入设备或系统所需的最低RPM,则将这些位置1。 这些条件是否可由用户编程,以及提供此类编程的方法留给设备制造商。
注释2:通常,如果风扇的励磁以维持给定的RPM随时间增加而足以指示应更换风扇,则这些位置1。
注释3:当PMBus单元嵌入较大的系统中并且冷却PMBus单元的风扇也冷却正在供电的系统时,通常会发生这种情况。
注释4:每个设备制造商都定义了导致设置“气流故障”或“气流警告”位的条件以及对此条件的响应。
11 STATUS_FANS_3_4