用于电源系统管理的 Linduino
时间:06-06
来源:互联网
点击:
采用 LTpowerPlay 的高级调试
回到引言部分,那里说大多数系统是“设定后便不需再过问”的,而且有些系统具有一个 BMC。事实是那些具有一个 BMC 的系统把“设定后便不需再过问”与固件组合在一起。为什么让一个 BMC 承担了全部的设置责任呢? 这是因为把某种基本设置写入 PSM 器件、然后仅将 BMC 固件用于添加的价值功能要容易得多。另外,这还造就了更加可靠的系统,因为大多数固件负责读取遥测数据、裕度、并实施轻微的电压变更,不需要让它控制排序或始终是静态的 PWM 频率等关键功能。
由于 LTpowerPlay 是一款用于设计、调试和调通 PSM 系统的通用型工具,因此调试固件必须与物理时钟和数据线上的另一个 PMBus 主控器进行竞争。
在进入两个主控器的实际意义之前,最好是仔细研究一下当一根 PMBus 具有两个主控器时会发生什么。PMBus 基于 SMBus,这包括多主控。
时钟和数据线是开路漏极。这意味着任何器件 (主控器或受控器) 都能够下拉一根线的电平,但不能上拉其电平。有这样一条规则:当一个主控器未下拉数据线电平、并检测到数据线为低电平时,则其认为有另一个主控器在把数据线拉至低电平,于是中止其自身的事务,从而允许另一个主控器继续完成其事务。
该方法有时被称为“位优势仲裁”(bit dominance arbitration),这是一种指明“在数据中将一个零置为有效的主控器总是获胜”的奇特说法。
Linduino 和 LTpowerPlay (DC1613) 多主控器,而且您也许认为一切都很完美了。不过,还有一项更为关键的考虑因素。
PMBus 定义了一个 PAGE 命令 (0x00),它像一个进入数据的地址。页面像是通道一样。例如,一个 LTC2977 能够管理 8 个电源:它拥有 8 个通道,各由 PAGE 寄存器 / 命令进行寻址。
实际上这意味着:为读取某种数值 (如电压),它需要两项事务:一项用于 PAGE,一项用于 READ_VOUT。如果两个主控器同时试图从同一个受控器读取遥测数据,而且倘若一个主控器在另一个主控器的页面命令和遥测命令之间插入了一个页面命令,则它将读取错误的页面。
当 LTpowerPlay 启动并运行时,它所做的首要之事是读取遥测数据,这将保持其状态显示为最新,于是您就能查看输出的曲线图、故障和其他重要信息。猜猜固件通常做什么? 它读取遥测数据!
更加糟糕的是,假设固件在启动的时候执行一项 VID (电压识别) 功能。假使固件由于 LTpowerPlay 修改了 PAGE 寄存器而把一个电压值写至错误的页面,将会怎么样呢? 系统有可能发生故障关断,甚至更糟地造成某些东西受损。(幸运的是,VOUT_MAX 寄存器通常可防止系统损坏)
PAGE 命令的基本问题是 PMBus 规格中固有的。它并不是 LTC 电源系统管理器件所特有的,而且必须对其进行处置。
有两种允许 LTpowerPlay 与固件共存并避免发生 PAGE 问题的基本方法。第一种方法就是简单地不让两个主控器同时谈话。第二种方法是在一个或另一个主控器上使用 PAGE PLUS 协议和其他的技巧。
我们避开 PAGE PLUS,因为它不是常用的。PAGE PLUS 提供了一种原子事务,其在一项事务中包括 PAGE 和 COMMAND。由于并非所有的器件都支持它,所以它通常仅在特殊场合中使用,因此本应用指南将不把重点放在 PAGE PLUS 和其他诀窍上。如果您没有解决此问题的其他方法,则可阅读 LTC PSM 产品手册,或致电当地的应用技术工程师以寻求帮助。
更常见的是防止 LTpowerPlay 和固件同时与受控器对话。LTpowerPlay 具有一种非常简单控制其运行的方法。图 29 (LTpowerPlay 启动 / 停止) 示出了遥测曲线图,它在其工具栏上具有一个红色方形按钮。

图29:LTpowerPlay 启动 / 停止
当按下此按钮时,它会停止总线上的所有遥测和所有的 LTpowerPlay 动作。然后,它变为一个绿色箭头,如图 30 (停止的 LTpowerPlay) 所示。

图30:停止的 LTpowerPlay
不幸的是,固件并非总是具有一种用于实现总线静噪的内置机制。LTC 简单地建议利用一种内置静噪机制、或者通过提供一个硬件总线开关 / 多工器 (MUX) 或跳线来设计新型固件。
一旦有了一种使总线主控器、LTpowerPlay 或固件静噪的方法,那么调试只是一件根据需要在工具之间进行交替的简单事。
总之,有两种选择:
1.一次只允许一个主控器在总线上进行对话
2.在 LTC 应用技术工程师的帮助之下粗略地了解 PAGE PLUS 及其他先进方法的细节
对于一款新设计而言,选项 1 始终是最佳的选择。
概要
利用 Linduino PSM Sketchbook、一块 Linduino 开发板和任选的 DC2294 屏蔽,可使针对 PSM 器件的程序代码编写变得简单。软件库具有一个用于 SMBus 和 PMBus 的简单 API。LTpowerPlay 仍可用于调试,而且可附接一个 Total Phase Beagle 或其他的 Spy Tool 以观察总线上的通信量。
不管您是希望移植代码还是仅仅希望了解 PMBus 的工作原理,Linduino 都是启动开发工作的一种绝佳的方法。一旦您加快了学习曲线,并了解了 PSM 编程的基础知识,就能提升自己的工作进度并充满信心地使用其他工具。
现在完成了本应用指南的阅读,您或许希望察看与 LTSketchbook 配套提供的其他 Sketch。试用一些更高级的 Sketch,比如:故障记录解码 (Fault Log Decoding) 或系统内 / 运行中更新 (In System/Flight Update)。
回到引言部分,那里说大多数系统是“设定后便不需再过问”的,而且有些系统具有一个 BMC。事实是那些具有一个 BMC 的系统把“设定后便不需再过问”与固件组合在一起。为什么让一个 BMC 承担了全部的设置责任呢? 这是因为把某种基本设置写入 PSM 器件、然后仅将 BMC 固件用于添加的价值功能要容易得多。另外,这还造就了更加可靠的系统,因为大多数固件负责读取遥测数据、裕度、并实施轻微的电压变更,不需要让它控制排序或始终是静态的 PWM 频率等关键功能。
由于 LTpowerPlay 是一款用于设计、调试和调通 PSM 系统的通用型工具,因此调试固件必须与物理时钟和数据线上的另一个 PMBus 主控器进行竞争。
在进入两个主控器的实际意义之前,最好是仔细研究一下当一根 PMBus 具有两个主控器时会发生什么。PMBus 基于 SMBus,这包括多主控。
时钟和数据线是开路漏极。这意味着任何器件 (主控器或受控器) 都能够下拉一根线的电平,但不能上拉其电平。有这样一条规则:当一个主控器未下拉数据线电平、并检测到数据线为低电平时,则其认为有另一个主控器在把数据线拉至低电平,于是中止其自身的事务,从而允许另一个主控器继续完成其事务。
该方法有时被称为“位优势仲裁”(bit dominance arbitration),这是一种指明“在数据中将一个零置为有效的主控器总是获胜”的奇特说法。
Linduino 和 LTpowerPlay (DC1613) 多主控器,而且您也许认为一切都很完美了。不过,还有一项更为关键的考虑因素。
PMBus 定义了一个 PAGE 命令 (0x00),它像一个进入数据的地址。页面像是通道一样。例如,一个 LTC2977 能够管理 8 个电源:它拥有 8 个通道,各由 PAGE 寄存器 / 命令进行寻址。
实际上这意味着:为读取某种数值 (如电压),它需要两项事务:一项用于 PAGE,一项用于 READ_VOUT。如果两个主控器同时试图从同一个受控器读取遥测数据,而且倘若一个主控器在另一个主控器的页面命令和遥测命令之间插入了一个页面命令,则它将读取错误的页面。
当 LTpowerPlay 启动并运行时,它所做的首要之事是读取遥测数据,这将保持其状态显示为最新,于是您就能查看输出的曲线图、故障和其他重要信息。猜猜固件通常做什么? 它读取遥测数据!
更加糟糕的是,假设固件在启动的时候执行一项 VID (电压识别) 功能。假使固件由于 LTpowerPlay 修改了 PAGE 寄存器而把一个电压值写至错误的页面,将会怎么样呢? 系统有可能发生故障关断,甚至更糟地造成某些东西受损。(幸运的是,VOUT_MAX 寄存器通常可防止系统损坏)
PAGE 命令的基本问题是 PMBus 规格中固有的。它并不是 LTC 电源系统管理器件所特有的,而且必须对其进行处置。
有两种允许 LTpowerPlay 与固件共存并避免发生 PAGE 问题的基本方法。第一种方法就是简单地不让两个主控器同时谈话。第二种方法是在一个或另一个主控器上使用 PAGE PLUS 协议和其他的技巧。
我们避开 PAGE PLUS,因为它不是常用的。PAGE PLUS 提供了一种原子事务,其在一项事务中包括 PAGE 和 COMMAND。由于并非所有的器件都支持它,所以它通常仅在特殊场合中使用,因此本应用指南将不把重点放在 PAGE PLUS 和其他诀窍上。如果您没有解决此问题的其他方法,则可阅读 LTC PSM 产品手册,或致电当地的应用技术工程师以寻求帮助。
更常见的是防止 LTpowerPlay 和固件同时与受控器对话。LTpowerPlay 具有一种非常简单控制其运行的方法。图 29 (LTpowerPlay 启动 / 停止) 示出了遥测曲线图,它在其工具栏上具有一个红色方形按钮。

图29:LTpowerPlay 启动 / 停止
当按下此按钮时,它会停止总线上的所有遥测和所有的 LTpowerPlay 动作。然后,它变为一个绿色箭头,如图 30 (停止的 LTpowerPlay) 所示。

图30:停止的 LTpowerPlay
不幸的是,固件并非总是具有一种用于实现总线静噪的内置机制。LTC 简单地建议利用一种内置静噪机制、或者通过提供一个硬件总线开关 / 多工器 (MUX) 或跳线来设计新型固件。
一旦有了一种使总线主控器、LTpowerPlay 或固件静噪的方法,那么调试只是一件根据需要在工具之间进行交替的简单事。
总之,有两种选择:
1.一次只允许一个主控器在总线上进行对话
2.在 LTC 应用技术工程师的帮助之下粗略地了解 PAGE PLUS 及其他先进方法的细节
对于一款新设计而言,选项 1 始终是最佳的选择。
概要
利用 Linduino PSM Sketchbook、一块 Linduino 开发板和任选的 DC2294 屏蔽,可使针对 PSM 器件的程序代码编写变得简单。软件库具有一个用于 SMBus 和 PMBus 的简单 API。LTpowerPlay 仍可用于调试,而且可附接一个 Total Phase Beagle 或其他的 Spy Tool 以观察总线上的通信量。
不管您是希望移植代码还是仅仅希望了解 PMBus 的工作原理,Linduino 都是启动开发工作的一种绝佳的方法。一旦您加快了学习曲线,并了解了 PSM 编程的基础知识,就能提升自己的工作进度并充满信心地使用其他工具。
现在完成了本应用指南的阅读,您或许希望察看与 LTSketchbook 配套提供的其他 Sketch。试用一些更高级的 Sketch,比如:故障记录解码 (Fault Log Decoding) 或系统内 / 运行中更新 (In System/Flight Update)。
电路 USB Ubuntu 电压 总线 电阻 电流 电源管理 PWM 相关文章:
- 电源设计小贴士 1:为您的电源选择正确的工作频率(12-25)
- 用于电压或电流调节的新调节器架构(07-19)
- 超低静态电流电源管理IC延长便携应用工作时间(04-14)
- 电源设计小贴士 2:驾驭噪声电源(01-01)
- 负载点降压稳压器及其稳定性检查方法(07-19)
- 电源设计小贴士 3:阻尼输入滤波器(第一部分)(01-16)
