微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 怎样实现凌力尔特 PSM 寻址

怎样实现凌力尔特 PSM 寻址

时间:08-28 来源:凌力尔特 点击:

引言

包括凌力尔特电源系统管理 (PSM) 在内的所有 PMBus 应用的基础都是,PMBus 主器件 (系统主器件) 能够与总线上的所有 PMBus 从属器件 (PSM 控制器、PSM 管理器、PMS µModule 和 PMBus 单片器件) 通信。总线上的每个从属器件都必须拥有与其他器件不冲突的、独一无二的地址。

总线主器件还必须能够在几种并非大多数人都认为顺理成章的情况下与 PSM 从属器件通信,包括:

?  地址发现

?  全局行动

?  多相轨

?  无效非易失性存储器 (NVM)

?  总线 MUX

器件寻址是由基址寄存器加上外部地址选择 (ASEL) 引脚以及特殊的全局、轨、ARA 地址及其他特殊地址相结合实现的。

本文探讨凌力尔特 PSM 系列的基本设计原则、有关产品系列之间不同之处的详细信息、以及实际例子和建议。诸如无效 NVM 等特殊情况也会讨论。

凌力尔特的优势是,设计不仅从第一天开始就正常运行,甚至在情况变坏时依然正常运行。例如,如果正在用 LTpowerPlay 软件写 NVM 时掉电了,那么设计是可恢复的。此外,如果选择采用凌力尔特 Linduino 参考代码中提供的 "In Flight Update",那么设计在现场也是可恢复的。最后,还能够识别系统退化的症状,并解决系统退化问题。

一旦了解了怎样实现凌力尔特 PSM 寻址,就能够快速设计可靠的系统了。

基本的 PMBus 运行方式

PMBus 是一种由 SMBus 扩展而来的串行通信标准,类似于 I2C。两条开漏导线 SCL 和 SDA 支持主器件和从属器件的双向通信总线。主器件是控制通信的器件,一般是微控制器或 FPGA。从属器件是受主器件控制的器件,一般是小型集成电路,在本文中,这是诸如 LTC2977 等电源管理器或者诸如 LTC3880 等电源控制器。

一个系统可以有超过一个主器件,但是实际上这种情况很少见。通常有多个从属器件。甚至在只有一个从属器件的系统中,主器件每次也通过使用地址,来指挥与从属器件的通信。这意味着,每个从属器件必须拥有一个独一无二的地址,以实现恰当的系统功能。

凌力尔特的电源系统管理器件使用一个 EEPROM 和引脚电阻器来设定每个 (从属) 器件独一无二的地址。因此,寻址过程确保,如果任何 EEPROM 中没有有效数据,那么主器件就可以修补系统,使系统达到每个 (从属) 器件都有独一无二地址的状态。

以下各部分详细解释了这些地址配置机制,包括怎样选择、设计和修补地址。

基本的 PMBus 寻址

PMBus 寻址由 PMBus 标准引用的 SMBus 标准定义。SMBus 寻址与 I2C 标准相同。为清晰起见,讨论范围限定在 SMBus 标准上。

考虑 SMBus 3.0 标准图 29 中定义的 Read Byte 协议 (参见图 1)。起始位 (S) 之后是任何交易的地址,地址在 ACK 位 (A) 之前结束。在 (S) 和 (A) 之间有 8 个位,前 7 位是地址,其余 1 位用来指示写 (Wr) 或读 (Rd)。

图 1:Read Byte 协议(SMBus 3.0 标准,图 29)

7 位意味着有 128 个可能的地址。在本 "应用指南 (Application Note)" 中,所写地址不包括 (Wr/Rd) 位,如下所示:

   0x00 至 0x7F (7 位寻址) 

有时,程序员写地址时喜欢额外带上保持为零的 (Wr/Rd) 位,例如:

   0x00 至 0xFE (8 位寻址)

这些数字全都是偶数。示波器和监视工具 (例如 Total Phase Beagle 协议分析仪) 使用与本应用指南相同的格式,因此自然使用 0x00 至 0x7F,所以我们也这么做。然而,当工程师提供一个地址但并未指明格式时,请格外注意。给定地址也许需要左移一位,因此看起来的地址比实际地址大一倍。

请注意,Read Byte 协议使用两次地址,但是在第二次使用的地址之前有一个重复开始 (Sr) 指示位。重复开始指示位是所有读交易的组成部分。在本文中,(S) 和 (Sr) 之后必须使用相同的地址。

地址图 

不是所有地址都可用于 PSM 从属器件,因为 SMBus 标准保留了某些地址。SMBus 3.0 规范的附录 C 有一个预分配地址表。没必要了解这些地址打算怎样使用,所以有一个简化的表就够了。

表 1 所示的 SMBus 地址图使用了一种简单的编码方法。保守的设计仅使用 "用途" (Description) 列中有白色底纹的地址。这就避开了所有保留的地址和特殊地址。可能除了为 PMBus 3.1 区域操作添加的地址 0x28 和 0x37 以外,PSM 设计可以使用地址列中所有具白色底纹的地址。

表 1:SMBus 地址图

地址

用途

0x00

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

网站地图

Top