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

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

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

表 3 显示了 LTC3882 数据表列出的 ASEL 引脚。如果 ASEL1 设定为"来自 EEPROM",那么 ASEL0 的表现就像 LTC3880 的单个 ASEL 表现一样。连至 ASEL1 引脚的电阻器控制器件地址的 3 个 MSB。这将独一无二的地址数量扩展至 127 个。

在由单和双 ASEL 引脚器件组成的系统中,每种单 ASEL 引脚器件类型可能有多达 16 个,而且可能有与可用地址一样多的双 ASEL 器件。

表 3:LTC3882 ASEL

LTC297X PSM 系列

LTC297X 系列的主要不同是加到基址上的 ASEL 引脚选择值。"加到"意味着增加,而不是取代或屏蔽一些位。

表 4 显示了 LTC2975 的地址查询表。这些 ASEL 引脚有 3 种状态,高、低或未连接。两个引脚选择 9 个不同的、显示为"N ="的值。在这个表中,基址是 0x5C,当 N = 0 时,地址为 0x5C。

这个表还有一个 8 位的列。这是本应用指南使用的地址,像之前讨论的那样,左移一位 (对习惯于这种惯例的人而言)。

表 4:LTC2975 ASEL

 

CRC 失配

所有凌力尔特 PSM 器件都有 EEPROM,用来存储决定输出电压、监察限制和基本操作的设置值。存储器中的任何差错都可能导致损坏负载。凌力尔特 PSM 器件的 EEPROM 保存规格为 10 年。不过,写 EEPROM 时遭遇意外系统情况,例如高温或电源电压崩溃,可能导致写失败,从而使 EEPROM 保存的内容出现讹误。

CRC 的目的是验证 EEPROM 保存的内容是否正确。有效的 CRC 确保器件安全运行,无效的 CRC 禁止器件运行,并通过 PMBus ALERTB 通知主机。

CRC 怎样起作用?

当 PSM 器件第一次加电时,该器件将 EEPROM 中的内容传送给 RAM,因为 RAM 是器件的运行存储器。传送的同时,器件计算 RAM 所存内容的 CRC 值,然后与 EEPROM 中存储的 CRC 比较 4。如果两个 CRC 值相同,器件就运行;如果不相同,器件就报告 CRC 故障,并保持在复位状态。

连接所有 PSM 器件的 GPIOB/FAULTB 引脚,设定器件以分享故障信息并在故障期间禁止运行,将使整个系统之内的任何 CRC 都能够防止对系统内的所有轨供电。一般而言,这是最佳的系统设计,除非多故障分析已经证实,故障的所有组合都是安全的。当所有轨都关断时,分析简单得多,而且系统变得安全得多,因为任何故障都导致所有轨完全断电。

LTC388X CRC

如果一个 LTC388X 器件出现 CRC 失配,那么它的地址将变成 0x7C。如果其他 LTC388X 器件也出现 CRC 失配,那么这些器件的地址也将同时变为 0x7C。在用有效数据重写这些器件的 NVM 且这些器件经过由 MFR_RESET (0xFD) 命令或加电周期启动的初始化之前,这些器件的地址会一直保持为 0x7C。

LTC297X CRC

如果一个 LTC297X 器件发生 CRC 失配,那么其值可能是两个地址之一。简单情况是缺省基址 0x5C,当整个 EEPROM 发生 CRC 失配时,出现这种情况。

因为 LTC297X 成块处理 EEPROM,而且靠近底部的块可能拥有有效的 CRC,靠近顶部的块可能没有有效的 CRC,所以地址也有可能是所存储的基址。

这与 LTC388X 是不同的,因为 LTC388X 在确定地址之前,对整个 EEPROM 进行一次完整的 CRC 验证,而 LTC297X 则是逐步确定地址。

解决 CRC 失配问题

一般而言,CRC 失配绝不会手动解决。LTpowerPlay 用其编程工具可非常容易地解决 CRC 失配问题,而且 In Flight Update 也会解决 CRC 失配问题。不过,了解这些方法怎样解决 CRC 失配问题,对更好地理解寻址是有帮助的。解决 CRC 失配问题的第一步是,逐个访问所有出现 CRC 失配问题的器件。这意味着,发送 PMBus 命令以恢复各个地址。

向全局地址 0x5B 发布一条 MFR_I2C_BASE_ADDRESS 命令。然后发送一系列命令,强制所有器件读取其 ASEL 引脚。

注:可以单独针对一个出现 CRC 失配问题的器件,如果你能确定其目前的地址,例如对 LTC388X 而言是 0x7C,或者 LTC297X 的缺省基址。不过,使用全局地址却简单得多,因为这种方式不损害其他器件。此外,如果总线未得到良好规划,LTC297X 落在了非 PMBus 器件的地址上,那么单独针对一个器件的做法可能产生副作用。

第二步是向器件发送数据。理论上,器件支持的所有命令都可以使用,但是通过 MFR_EE_DATA 命令发送批量数据更高效。LTpowerPlay 和 In Flight Update 都使用这条命令。

对规划不佳、未使用 ASEL 引脚将所有器件设定为拥有独一无二地址的地址设计而言,第一步不起作用。如果设定 MFR_I2C_BASE_ADDRESS 导致一个以上的 PSM 器件拥有相同的地址,那么就无法用 MFR_EE_DATA 修复单个器件,

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

网站地图

Top