微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 深度解读电源系统管理 (PSM)的寻址知识

深度解读电源系统管理 (PSM)的寻址知识

时间:08-23 来源:ADI 点击:

因为拥有相同地址的任何器件都会被相同的数据设定。

总线分段

对 PMBus 分段有两个主要原因:

1. 寻址

2. 电容/速度

但是分段以实现寻址这种方法一般仅用在非常大的系统中。

当总线主器件以 400kHz 运行时,在非常大和具有很长总线布线的系统中,可能出现电容问题。这可能导致违反定时规范,或干扰性能目标。

一般情况下,会使用多路转换器 LTC4306。LTC4306 的主要功能是,能够一次连接一个段或者同时连接所有段。

当修复 CRC 失配问题时,使用该器件,使总线主器件一次连接一个段。当由固件使用时,用该器件将所有段连接成单条总线。当所有段作为单条总线连接时,所有地址都必须是独一无二的。

一步步地看一个典型例子,了解怎样满足修复流程需求以及怎样作为单条总线起作用,这是有帮助的。

总线分段举例

这个作为例子的系统由以下各部分组成:

• 4 段 (参见图 2)

• 每段有 16 个 LTC3880 器件

• 一个多路转换器 LTC4306

LTC4306 的地址用 3 个 ASEL 引脚设定为 0x50。该器件还有一个全局批量写地址 (Mass Write Address) 0x5D。LTC3880 有 0x5A 和 0x5B 两个全局地址。这种设计将 4 个基址 0x20、0x30、0x40 和 0x60 分配给 4 个段。这避开了 0x50 至 0x5F 的地址范围,所有凌力尔特 PSM 器件的地址在这个范围都是可编程的。此外,大多数凌力尔特 I2C/SMBus 器件都支持这个地址范围。LTC4316 I2C 器件非常容易使其他任何器件与这个寻址范围兼容。

还有可能在 0x5X 范围内对多相轨寻址,或者在小于 0x10 或大于 0x6F 的可用地址范围内对多相轨寻址。

图 2:总线分段举例

固件运行

通过将 LTC4306 的寄存器 3 设定为 0xF0,电路板管理控制器 (Board Management Controller) 将输入 PMBus 连至所有输出 PMBus 段。在这种情况下,总线上有 64 个器件的地址处于以下范围:0x20 至 0x2F、0x30 至 0x3F、0x40 至 0x4F 和 0x60 至 0x6F。全局地址 0x5A 和 0x5B 用于全局操作。如果器件正常运行,没有 CRC 失配问题,就不会响应地址 0x7C。

系统设定

系统设定指的是,用 LTpowerPlay 或 In Flight Update 对所有总线分段进行初始设定。通过将寄存器 3 的值分别设定为 0x80、0x40、0x20 和 0x10,LTC4306 会一次连接一个段。

LTpowerPlay 或 In Flight Update 会设定由 LTC4306 连接的特定段。用于被连接段的 MFR_I2C_BASE_ADDRESS 用全局地址 0x5B 设定。ASEL 的引脚电阻器确保被连接段上的每个器件都拥有独一无二的地址。

用于每个段上各个器件的 ASEL 引脚电阻器是相同的,并在 0x00 至 0x0F 范围内选择一个地址变址数。一次连接一个段,针对每个段单独设定 MFR_I2C_BASE_ADDRESS,就可以使所有 64 个器件都拥有独一无二的器件地址。

注:如果使用有两个 ASEL 引脚的器件,那么所有分段都有可能包含超过 16 个器件,因为两个 ASEL 引脚允许用一个基址创建多达 128 个器件地址。

解决 CRC 失配问题

这种情况与系统设定情况是相同的。LTpowerPlay 和 In Flight Update 以同样的方式对待设定流程。在两种情况下,设定过程中都会使用 MFR_I2C_BASE_ADDRESS。

每个段都是一个一个连接和设定的。

固件运行与系统设定的互动

LTC4306 缺省设置为所有段均断接。因此,如果电路板管理控制器 (BMC) 保持在复位状态以进行系统调试,连接了 DC1613 PMBus-to-USB 控制器且 LTpowerPlay 正在运行,那么 DC1613 就不会连接到总线上的任何 PSM 器件上。

有两种方式确保固件不干扰 LTpowerPlay。第一种是为 BMC 提供调试模式,以便 BMC 退出复位状态,并连接所有段,然后暂停。这使 LTpowerPlay 能够与完整的总线互动,以便系统进入运行和调试状态。

BMC 暂停时,会阻止与 LTpowerPlay 互动。即使 LTpowerPlay 能够进行多重控制,依赖 PAGE 命令的多个命令也会互动。因此,暂停可防止固件和 LTpowerPlay 得到错误的遥测数据。

第二种方式是在调试时保持 BMC 处于复位状态,并允许 LTpowerPlay 控制 MUX。一般而言,这是最安全的情况,因为当 BMC 从复位状态释放出来之后,例如在关断 LTpowerPlay 之后,会将多路转换器设定到适当的状态,而不管目前处于何种状态。

当 BMC 和 LTpowerPlay 交替控制总线时,主器件不应该假设多路转换器的状态。无论何时,只要采取重要行动,例如任一主器件退出暂停状态继续运行时,首先应该将多路转换器设定到适当的状态。

总结

电源系统管理的地址

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top