UCD90xxx数字电源序列器实战配置:从Fusion GUI到系统健康监控

1. 项目概述与核心价值

如果你正在设计一个包含多路电源轨的复杂系统,比如一块高性能的服务器主板、一个通信基站的核心板卡,或者一个搭载了FPGA和多个处理器的嵌入式平台,那么“电源时序”和“系统健康监控”这两个词,一定是你设计评审会上绕不开的关键议题。电源序列器,或者说数字电源监控器,就是专门为解决这些问题而生的芯片。它不像传统的模拟电源管理芯片那样功能固定,而是通过高度可编程的数字内核,让你能够像编写软件一样,去定义每一路电源的上电顺序、监控阈值、故障响应逻辑,甚至是整个系统的复位和看门狗行为。

德州仪器(TI)的UCD90xxx系列,正是这个领域的代表性产品。它不仅仅是一个简单的“上电顺序控制器”,更是一个集成了电压、电流、温度监控、故障记录、逻辑控制输出(LGPO)、系统看门狗等功能的“系统健康监控与电源管理单元”。其核心在于通过PMBus(一种基于I2C/SMBus的电源管理协议)与主控制器通信,所有的配置、监控和调试都通过这条总线完成。

然而,面对一颗功能如此丰富的芯片,如何快速、准确、可靠地完成配置,是摆在每一位硬件工程师和系统工程师面前的现实挑战。TI提供的Fusion Digital Power Designer GUI(以下简称Fusion GUI)就是攻克这一挑战的利器。它把复杂的寄存器配置、状态机逻辑、时序关系,全部封装成了直观的图形化界面和配置向导。但工具再强大,也需要正确的“驾驶手册”。官方文档虽然详尽,但更像是一本功能字典,缺乏从项目实战角度出发的脉络梳理和“避坑指南”。

这篇文章,就是我结合多年使用UCD90xxx系列芯片和Fusion GUI的实际项目经验,为你梳理的一份从“知道有什么功能”到“知道怎么用、为什么这么用”的实战配置指南。我们将不仅仅复述GUI上的按钮功能,更会深入探讨每个配置项背后的设计意图、不同配置组合带来的系统行为差异,以及那些在数据手册角落里才提到的关键限制和实操技巧。无论你是第一次接触数字电源序列器,还是希望优化现有设计方案,相信都能从中找到有价值的参考。

2. 核心设计思路与配置流程拆解

在打开Fusion GUI开始点点按按之前,我们必须先建立起清晰的顶层设计思路。配置UCD90xxx不是一个线性的“填表”过程,而是一个需要全局权衡的系统工程。一个混乱的配置顺序,很可能导致后期发现引脚冲突、功能无法实现,甚至引入难以调试的隐性故障。

2.1 自上而下的设计流程

一个稳健的配置流程应该遵循“规划 -> 硬件映射 -> 参数细化 -> 全局整合”的步骤。官方文档第7章给出的设计流程(Design Flow)是一个很好的起点,但我们可以将其进一步具体化、可操作化。

第一步:需求分析与规划(纸上谈兵阶段)这是最重要的一步,必须在动软件之前完成。你需要拿出一张白纸或一个表格,回答以下问题:

  1. 电源轨清单:系统一共有多少路需要监控/控制的电源?列出每一路的名称(如VDD_CORE, VDD_IO, VDD_DRAM等)、标称电压和最大电流。
  2. 监控类型:每一路电源需要监控哪些参数?是仅电压,还是电压+电流,或电压+电流+温度?(注意:电流和温度监控需要分配额外的ADC监控引脚)。
  3. 时序要求:明确每一路电源的上电和掉电时序。谁必须先于谁上电?彼此之间的延迟是多少毫秒(ms)?是否存在分组关系(例如,所有IO电源作为一组,所有核心电源作为另一组)?
  4. 使能控制方式:每一路电源是通过UCD90xxx的GPIO引脚输出信号来使能(最常见),还是通过PMBus命令(OPERATION)远程控制,或是采用自动使能(None)?
  5. 故障保护策略:当任何一路电源发生过压(OV)、欠压(UV)、过流(OC)、过温(OT)时,系统应如何响应?
    • 忽略:仅记录日志,不采取行动。适用于非关键电源或测试阶段。
    • 立即关闭:立即关闭故障电源轨。
    • 顺序关闭:按照预设的掉电时序关闭故障轨及其相关轨。
    • 重试:故障发生后,尝试自动重启该电源轨,重试次数和间隔是多少?这常用于应对偶发的毛刺故障。
    • 从属轨联动:当主电源轨故障关闭时,哪些“从属”电源轨必须也被关闭?(即Fault Shutdown Slaves配置)。
  6. 外部信号交互:系统中有哪些外部数字信号(如来自处理器的PGOOD信号、复位按钮信号)需要监控(作为GPI输入)?UCD90xxx需要输出哪些状态信号(如电源OK综合信号、故障报警信号)给其他芯片(作为LGPO输出)?
  7. 高级功能需求
    • 系统复位:是否需要UCD90xxx生成一个系统复位信号?其触发条件是什么?(例如,所有核心电源稳定后延迟100ms才释放复位)。
    • 系统看门狗:是否需要UCD90xxx监控主处理器?看门狗超时时间多长?超时后是触发复位还是报警?
    • 故障日志:需要记录哪些类型的故障?Flash空间有限,需优先记录关键故障。
    • 动态电压调节:是否有电源轨需要进行裕度调节(Margining)?需要几个PWM引脚?

完成这个清单,你就拥有了配置UCD90xxx的“设计规格书”。

2.2 Fusion GUI 工作模式选择与连接

Fusion GUI支持三种工作模式,对应不同的开发阶段:

  • 在线模式:GUI通过TI USB-GPIO适配器(一个USB转I2C/PMBus的调试工具)连接到实际的硬件板卡。你可以实时读取和修改设备配置,并观察电源轨的实际状态。这是调试和验证阶段的主要模式。
  • 离线模式:在没有硬件的情况下进行配置设计。你可以创建虚拟设备,完成所有配置并保存为项目文件(.xml)。这对于前期设计、方案评审和生成生产烧录文件至关重要。
  • 混合模式:系统中部分设备在线,部分设备离线。适用于复杂多设备系统的分步调试。

实操心得:USB适配器固件版本在开始前,务必检查你的TI USB-GPIO适配器的固件版本。GUI通常需要固件版本为1.0.x。你可以通过“开始菜单 -> Texas Instruments -> Fusion Digital Power Designer -> Tools -> USB Adapter Firmware Download Tool”来查看和升级固件。对于UCD90320这类支持更多页(通道)的器件,TI推荐使用v1.0.13或更高版本,因为它支持更大的数据包(58字节)。如果固件不匹配,可能会导致通信不稳定或某些功能无法使用。

连接问题排查: 如果GUI提示“No Device Found”,别慌,按以下步骤排查:

  1. 检查硬件连接:USB线、10pin排线是否接好?目标板是否上电?UCD90xxx的VDD电源是否正常?
  2. 检查总线配置:在GUI的“Preferences”或扫描设备时的选项中,检查I2C总线速度(通常为100kHz或400kHz)和PEC(Packet Error Checking)使能状态是否与硬件设计匹配。有些老器件或不标准的从设备可能不支持PEC,需要禁用。
  3. 检查地址配置:确认UCD90xxx的PMBus地址(通过硬件引脚PMBUS_ADDR1/2设置)是否在GUI的扫描范围内(1-127,跳过12)。你可以尝试使用“Custom scan mode”,直接指定地址和扫描命令(如MFR_MODEL0x9A),进行定点扫描。

3. 硬件配置详解:为功能分配物理引脚

在Fusion GUI中,所有配置始于“Configure System” -> “Hardware Configuration”标签页。这里的工作是将你在“设计规格书”中规划的逻辑功能,映射到芯片有限的物理引脚资源上。UCD90xxx的引脚是多功能复用的,因此分配需要策略。

3.1 配置电源轨

点击“Add Rail”添加一个电源轨。每个Rail最多可以关联五个引脚,但并非必须全部使用:

  • Voltage Pin:电压监控引脚。必须配置。这是监控电源电压的ADC输入通道。
  • Current Pin:电流监控引脚(可选)。用于监控电流的ADC输入通道。需要硬件上有电流采样电路(如采样电阻+放大器)。
  • Temperature Pin:温度监控引脚(可选)。通常连接外置热敏电阻(如NTC),芯片内部提供偏置电流进行测量。
  • Enable Pin:使能输出引脚(强烈建议配置)。这是一个GPIO,配置为输出模式,用于控制下游电源芯片的使能(EN)脚。你需要根据下游芯片的要求配置正确的极性(Active High 或 Active Low)。
  • Trim/Margin Pin:裕度调节PWM输出引脚(可选)。用于输出一个PWM信号,控制电源芯片的反馈网络,从而实现输出电压的动态调节(Margining)。

注意事项与技巧

  • 引脚资源竞争:芯片的ADC监控引脚、GPIO引脚总数是有限的。例如,UCD90120有12个监控引脚和8个GPIO,但监控引脚可能被复用为GPIO。你需要先在“Hardware Configuration”的总览中查看各类资源的“X of Y assigned”(已分配/总数),确保不超限。
  • Enable Pin极性:务必与下游电源芯片的EN引脚有效电平一致。通常,Active Low更常见。配置错误会导致电源无法开启或无法关闭。
  • 虚拟Rail:你可以创建一个没有Enable Pin,只有监控功能的Rail,仅用于监视某一路电源的状态,而不控制它。这在监控来自其他电源芯片的电源时很有用。
  • 命名规范:为每个Rail起一个清晰的名字(如“VDD_1V0_CPU”),这将极大方便后续的配置和调试,尤其是在拥有几十个Rail的复杂系统中。

3.2 配置通用输入引脚

GPI是UCD90xxx感知外部世界的“眼睛”。点击“Add GPI”进行添加。配置时,除了设置极性,更重要的是理解其丰富的功能选项,这些功能因器件型号而异:

  • GPI for Fault Response:此GPI的状态可以触发故障响应。例如,你可以将一个来自处理器的“Thermal_Alert”信号连接到此GPI,当它有效时,让UCD90xxx触发预定义的故障处理流程(如降频、关断非核心电源)。
  • GPI for Margin:此GPI可用于切换Margining配置文件。例如,通过一个GPI电平选择是运行在标准电压档还是高性能(高电压)档。
  • Sequencing Debug Pin:将此GPI配置为“序列调试引脚”。当该引脚被拉低(或拉高,取决于极性)时,UCD90xxx会暂停所有电源轨的序列动作,方便你调试复杂的上电时序。
  • Fault Pin Configuration(仅UCD90240/UCD90320):可以将某个GPI引脚指定为“故障引脚”的输出。当任何使能的故障发生时,这个引脚会输出有效电平,用于快速通知主处理器。

配置要点

  • 功能互斥:一个GPI引脚通常只能启用上述功能中的一种。你需要根据系统需求优先级进行分配。
  • 极性设置:同样需要匹配外部信号的有效电平。

3.3 配置逻辑输出引脚

LGPO是UCD90xxx的“嘴巴”,用于向系统其他部分报告复杂的状态。其强大之处在于可编程的逻辑组合功能。你可以基于多个GPI输入、多个Rail的状态(如POWER_GOOD)、甚至其他LGPO的状态,通过“与或非”逻辑组合,来驱动一个LGPO输出。

配置逻辑

  1. 点击“Add Logic Controlled GPO”。
  2. 在配置窗口中,你会看到两条主要的“AND”路径和一个最终的“OR”门。每条AND路径可以由多个输入条件(GPI、Rail、其他LGPO)进行“与”运算。
  3. 你可以为每个输入条件选择“为真”或“为假”时有效。
  4. 两条AND路径的结果再进行“或”运算,产生最终的LGPO输出。输出前还可以选择是否取反。
  5. 虚拟LGPO:你可以创建一个没有实际物理引脚绑定的LGPO。它的作用通常是作为中间逻辑变量,参与其他LGPO的逻辑运算,以节省宝贵的物理引脚资源。

应用示例

  • 系统电源OK信号:创建一个LGPO,其输出条件为“所有核心电源轨的POWER_GOOD状态均为真”。这个信号可以送给处理器或复位芯片。
  • 分级故障报警:创建两个LGPO。LGPO1在“任何电源过压”时报警,LGPO2在“任何温度传感器超温”时报警。这样主处理器可以通过两个信号区分故障类型。

3.4 其他硬件功能配置

  • 风扇控制:部分型号(如UCD90160A)集成了风扇控制器。你需要配置PWM输出引脚、TACH测速输入引脚,并设置温度-转速曲线。这对于需要主动散热的系统非常有用。
  • 通用PWM:配置一个固定频率和占空比的PWM输出,用于驱动其他需要PWM信号的电路。
  • 制造信息:在这里填写设备型号、固件版本、自定义版本号等。这些信息会存储在Flash中,便于生产追溯和现场维护。

关键步骤:完成所有硬件引脚分配后,务必点击“Write to Hardware”按钮,将配置写入设备的RAM中使其生效。如果希望掉电保存,还需要点击“Store RAM to Flash”。在调试阶段,可以只写入RAM,方便多次修改;最终定型后,再存入Flash。

4. 电源轨参数配置:定义监控与行为

完成硬件映射后,接下来在“Rail Configuration”标签页中,为每个电源轨定义具体的监控参数、时序和故障行为。这是配置的核心,直接决定了系统的稳定性和可靠性。

4.1 电压、电流、温度阈值与缩放因子设置

这是监控的“尺子”,必须精确校准。

电压阈值: 一个Rail有多达9个电压阈值,它们共同定义了该路电源的“健康状态”:

  • VOUT:标称输出电压。这是所有其他阈值计算的基准。
  • MARGIN_HIGH/LOW:裕度调节的上下限。用于测试或动态电压调节。
  • POWER_GOOD_ON/OFF:电源“良好”的阈值。当电压高于ON阈值,Rail进入POWER_GOOD状态;当电压低于OFF阈值,退出该状态。这是时序依赖和故障检测的关键参考点。通常ON设为标称电压的90-95%,OFF设为85-90%。
  • OVER_VOLTAGE_FAULT/WARNING:过压故障/警告阈值。
  • UNDER_VOLTAGE_FAULT/WARNING:欠压故障/警告阈值。

GUI技巧:在阈值设置区域,有一个“Set for me”复选框。勾选后,GUI会根据你输入的电压值自动计算并设置最佳的VOUT_MODE(输出指数),以获得最佳的ADC分辨率。强烈建议勾选,除非你有特殊理由手动设置。

缩放因子: 这是连接“物理世界测量值”和“芯片内部ADC读数”的桥梁。如果配置错误,所有监控都将失效。

  • Vout Scale Mon:电压监控缩放比。例如,你的电源是12V,但通过电阻分压后,送入芯片MON引脚的是2V。那么缩放比应设置为 2V / 12V = 0.1667。重要:你在前面设置的所有电压阈值(如12V的过压点),都是指原始电源电压值(12V),而不是分压后的电压值(2V)。GUI和芯片会自动帮你换算。
  • Iout Scale, Temperature Scale:同理,根据你采用的电流采样电阻、放大倍数,或热敏电阻类型来设置。

实操陷阱

  • 忽略缩放因子:这是新手最常见的错误。直接按照芯片引脚电压设置阈值,导致实际保护点完全错误。
  • 阈值逻辑关系:必须确保OVER_VOLTAGE_FAULT > OVER_VOLTAGE_WARNING > MARGIN_HIGH > POWER_GOOD_ON > VOUT > POWER_GOOD_OFF > MARGIN_LOW > UNDER_VOLTAGE_WARNING > UNDER_VOLTAGE_FAULT。GUI通常会阻止非法设置,但自己心里要有数。

4.2 时序与依赖关系配置

这是电源序列器的“大脑”,决定了电源轨之间如何协同工作。

On/Off Config: 定义Rail的启动和关断条件:

  • None (Auto Enable):设备上电复位后,该Rail会自动尝试开启。它不会自动关闭。适用于始终需要存在的电源。
  • CONTROL Pin Only:Rail的开启和关闭完全由一个指定的CONTROL引脚(GPI)的电平控制。
  • OPERATION Only:Rail的开启和关闭由PMBus的OPERATION命令控制。如果你要使用“引脚选择电源轨状态”功能,Rail必须配置为此模式。
  • Turn On/Off Delay:在启动或关断条件满足后,延迟多长时间才真正执行动作。
  • Max Turn On/Off:一个安全计时器。例如,Max Turn On定义了Rail使能后,最多等待多少毫秒,如果电压仍未达到POWER_GOOD_ON,则报错(通常为TON_MAX_FAULT)。防止因电源故障导致系统无限等待。

Sequencing Dependencies: 这是实现复杂上电/掉电序列的核心。你可以为一个Rail设置“Sequence On Dependencies”和“Sequence Off Dependencies”。

  • 依赖对象:可以是其他Rail的POWER_GOOD状态、GPI引脚的电平状态、或LGPO的逻辑状态。
  • 工作逻辑:以“上电依赖”为例,只有当所有依赖项的条件都满足(例如,依赖的Rail都已进入POWER_GOOD状态),并且经过了设定的TON_DELAY后,本Rail才会开始启动。
  • 超时处理:你可以设置一个“Timeout”值。如果依赖条件一直不满足,超过这个时间后,可以选择“Wait Forever”(一直等待)、“Turn On”(强制开启)或“Resequence”(尝试重新排序)。在复杂系统中,合理设置超时和超时动作,可以避免因某个次要电源故障导致整个系统“卡死”。

Fault Shutdown Slaves: 这是一个非常重要的保护联动机制。当某个Master Rail发生故障并触发关断动作时,其Slave Rails也会被一并关断。例如,CPU核心电源(Master)故障关闭时,与之相关的缓存电源(Slave)也必须立即关闭,以防止损坏CPU。

  • 在Master Rail的配置中,指定哪些Rail是它的Slave。
  • Slave Rail的关断会遵循它自己配置的TOFF_DELAY和关断序列,但不会进行重试。
  • 如果Master Rail的故障响应配置了“Resequence”(重试),那么Slave Rails也会随着Master一起被重试上电。

4.3 故障响应配置

这是系统的“免疫系统”,定义了在异常发生时如何应对。在Rail配置页的“Fault Response”部分,可以为每一种故障类型(OV Fault, UV Fault, OC Fault, OT Fault等)单独配置响应策略。

响应动作

  1. Ignore:仅记录故障,不采取任何行动。用于非关键警告或调试。
  2. Shut Down Immediately:立即关闭该Rail。最快速的保护。
  3. Shut Down with Sequencing:按照该Rail配置的关断序列(考虑依赖关系和TOFF_DELAY)来关闭。更优雅,有助于避免关断过程中的电压毛刺。

重试机制: 对于瞬态故障,可以配置“Retry”。

  • Retry Delay:故障发生后,等待多久进行第一次重试。
  • Number of Retries:最多重试次数。
  • Retry Attempt Limit:在多少次成功的重试(即Rail稳定运行超过TON_MAX_FAULT_LIMIT时间)后,重置重试计数器。这可以防止间歇性故障永久锁死系统。
  • 特别注意:对于欠压故障,重试逻辑有所不同。一次重试尝试直到电压再次达到POWER_GOOD阈值才算完成。因此,对于UV故障,通常重试次数设置较少。

毛刺过滤: 可以设置一个“Glitch Filter”时间。只有故障持续时间超过此时间,才被认定为有效故障并触发响应。这可以滤除电源上的噪声尖峰,避免误触发。

全局重试设置: 在“Global Configuration” -> “MISC_CONFIG”中,有关于重试的全局设置,如重试间隔、重试次数耗尽后的行为(锁死或继续尝试)等。这里的设置会和每个Rail的个体设置共同作用。

5. 全局功能与系统级配置

在完成所有Rail的个体配置后,需要在“Global Configuration”标签页中,进行系统级的整合和功能使能。

5.1 系统复位输出配置

UCD90xxx可以生成一个系统级的复位信号,用于在满足特定条件后释放主处理器、FPGA等关键器件。

配置要点

  1. 选择输出引脚:指定一个LGPO或Command GPO作为复位信号输出引脚,并设置极性(低电平复位还是高电平复位)。
  2. 设置复位条件:复位信号的解除(Deassert)可以基于:
    • 时间:上电后延迟固定时间释放复位。
    • 电源轨状态:当所有被选中的Rail都达到POWER_GOOD状态后释放复位。这是最常用的方式,确保所有电源稳定后才启动核心芯片。
    • GPI状态:当某个GPI信号有效后释放复位。
    • 组合条件:上述条件的“与”组合。
  3. GPI跟踪功能:这是一个精妙的特性。你可以指定一个GPI(例如来自处理器的局部复位信号或手动复位按钮)。当这个GPI解除(Deassert)时,系统复位信号会立即置位(Assert)。当该GPI置位后,系统复位信号会保持置位状态一段可配置的“GPI Tracking Release Delay”时间,然后再解除。这允许外部事件可以立即触发系统复位,并在事件结束后维持一段可靠的复位脉冲宽度。

5.2 系统看门狗配置

UCD90xxx可以作为一个独立的看门狗定时器,监控主处理器。

工作原理

  1. 使能看门狗功能,并设置一个超时周期(Reset Period)。
  2. 配置一个GPI作为看门狗输入(WDI),或者通过定期写入SYSTEM_WATCHDOG_RESETPMBus命令来“喂狗”。
  3. 如果看门狗计数器在超时周期内没有被复位(通过WDI跳变或命令),看门狗输出(WDO)引脚就会被置位(触发)。
  4. WDO引脚可以连接到一个LGPO,进而触发系统复位或其他警报动作。

配置选项

  • Start Time:系统启动后,延迟一段时间再开始监控看门狗输入。给主处理器留出启动时间。
  • Watch Reset Pin:此选项使能后,当系统复位信号有效时,看门狗功能被禁用。这可以防止在系统上电复位阶段看门狗误触发。
  • Disable until System Reset Release:此选项使能后,看门狗功能在系统复位信号解除之前,一直处于禁用状态。

5.3 引脚选择电源轨状态

这是一个用于实现类似ACPI电源状态的高级功能。它允许使用最多3个GPI输入引脚,编码出最多8种系统状态(000b 到 111b)。在每一种状态下,你可以预先定义最多8个Rail是开启还是关闭。

应用场景:例如,你的系统有“全功率模式”、“低功耗模式”、“睡眠模式”。你可以用两个GPI引脚(S0, S1)来编码这些模式。当(S0,S1) = (0,0)时,开启所有Rail;当(1,0)时,关闭部分外围Rail;当(1,1)时,仅保持最低功耗的常开电源。

关键限制

  • 使用此功能的Rail,其On/Off Config必须设置为“OPERATION Only”
  • 只有前三个已配置的GPI(按配置顺序)会被用于状态编码。如果你配置了5个GPI,但只想用第一个来做PSRS(2个状态),你仍然需要在GUI中使能所有8个状态,并将偶数状态(0,2,4,6)配置成与状态0相同,奇数状态(1,3,5,7)配置成与状态1相同。这样,第二、三个GPI的变化就不会影响电源状态。

5.4 故障日志与杂项配置

  • Enable Fault Log:选择哪些类型的故障需要被记录到非易失性Flash的详细日志中。Flash空间有限,应优先记录关键故障(如OV/UV Fault)。注意,所有故障都会记录到摘要日志中。
  • MISC_CONFIG
    • Fault log FIFO mode:使能后,当Flash日志满时,新的日志会覆盖最旧的日志(先进先出)。否则,写满后停止记录。
    • Brownout logging:记录欠压事件。
    • Disable flash logging:完全禁用Flash日志记录以延长Flash寿命或出于安全考虑。
    • Resequencing:全局重试相关设置。
    • Fan control:风扇控制相关全局设置。
    • External ADC reference:如果使用外部ADC参考电压,在此设置。
  • Fault Pins Config(仅UCD90240/UCD90320):指定哪个引脚作为全局故障输出引脚,并选择哪些Rail的故障会触发该引脚。
  • Run-Time Clock:设置一个运行时间时钟,用于给故障日志打时间戳。这个时钟需要主机通过PMBus命令来设置实际时间。

6. 调试、监控与生产导出

配置完成后,Fusion GUI提供了强大的工具来验证和部署你的设计。

6.1 实时监控与调试

  • Monitor Task:这是主要的实时监控界面。你可以看到所有Rail的电压、电流、温度实时曲线图,以及它们的状态(绿色OK,黄色Warning,红色Fault)。你可以在这里手动控制Rail的开启/关闭、发送Margining命令,所有操作立即生效(无需Write to Hardware)。
  • Status Task
    • Status Registers:查看详细的PMBus状态字,精确定位故障来源。
    • Logged Faults:查看Flash中记录的详细故障历史,包括故障类型、通道、数值和时间戳。这是事后分析系统故障的宝贵资料。
    • Peak Readings:查看自上次清零以来,各监控参数的最大/最小值。
    • Blackbox Info(仅UCD90240/UCD90320):类似于飞机的黑匣子,记录从第一次故障发生到故障被清除期间,系统的完整状态快照。
  • System Monitor:在系统视图下,可以一键开启/关闭所有Rail,方便进行系统上下电测试。

6.2 配置的导入、导出与比较

  • 项目文件:保存为.xml.tifsp文件,包含所有GUI设置和Rail命名,便于版本管理和团队协作。
  • Flash文件:导出为.hex.srec格式的二进制文件,包含了直接烧录到设备Flash中的所有配置数据。这是用于生产烧录的文件。TI推荐使用.hex格式。
  • 脚本文件:导出为.csv.txt的PMBus命令序列。可以用于第三方编程器或自动化测试脚本。
  • 配置比较工具:在“Tools”菜单中,可以比较设备当前配置与项目文件的差异,或者比较两个项目文件之间的差异。在升级或修改配置时,这个功能能帮你快速定位改动点。

6.3 高级工具与排错技巧

  • 复制/克隆Rail:如果你有多个参数相似的Rail,可以使用此功能快速复制电压、时序、故障响应等设置,然后微调,能极大提升配置效率。
  • PMBus/Data Logging:开启后,GUI会将所有PMBus通信或你指定的数据命令记录到文本文件。这是深度调试通信问题或分析设备行为的终极工具。
  • SMBUS/I2C/SAA Tool:这是一个底层的I2C调试工具。当Fusion GUI无法正常通信时,可以用它来手动发送PMBus命令,检查总线状态、设备应答,是排查硬件连接、地址冲突、协议问题的利器。
  • 背景轮询:默认开启,GUI会定期轮询设备状态更新界面。注意:如果同时有其他主机(如你的嵌入式软件)在访问PMBus总线,务必在GUI中禁用背景轮询,否则会导致总线冲突和数据错误。

7. 常见问题与实战避坑指南

在实际项目中,总会遇到一些预料之外的问题。以下是我总结的一些典型“坑”及其解决方案。

问题一:配置写入后,设备行为不符合预期,甚至无法启动。

  • 排查步骤
    1. 检查“Write Pending”指示灯:在Configure视图的右上角。如果“Write Pending to Hardware”亮起,说明你的修改还在GUI缓存,未写入设备RAM,点击“Write to Hardware”。如果“Write Pending to NVM”亮起,说明RAM中的配置未保存到Flash,掉电会丢失,点击“Store RAM to Flash”。
    2. 逐项核对关键参数:缩放因子、POWER_GOOD阈值、使能引脚极性、依赖关系。一个常见的错误是POWER_GOOD_ON阈值设得比实际电源稳定电压还高,导致Rail永远无法进入POWER_GOOD状态,后续依赖它的Rail也就无法启动。
    3. 使用“Debug System”单步调试:在System Monitor中,手动逐个开启Rail,观察电压曲线和状态指示灯,定位是哪个Rail卡住了。

问题二:系统看门狗误触发或不起作用。

  • 可能原因
    1. 喂狗方式错误:确认是使用WDI引脚还是PMBus命令。如果使用引脚,确保有正确的电平跳变;如果使用命令,确认发送命令的周期小于看门狗超时时间。
    2. Start Time设置过短:主处理器还没启动完成,看门狗就开始计时了。适当增加Start Time。
    3. 未连接WDI/WDO引脚:硬件上忘记连接,或者GUI中配置的引脚号与实际硬件不符。
    4. 看门狗被系统复位禁用了:检查“Watch Reset Pin”或“Disable until System Reset Release”选项是否与你的系统复位逻辑冲突。

问题三:故障日志没有记录,或者记录的信息看不懂。

  • 可能原因
    1. 未使能详细日志:在“Global Configuration -> Enable Fault Log”中,没有勾选你关心的故障类型。
    2. Flash日志已满且未启用FIFO模式:在MISC_CONFIG中启用FIFO模式,或定期通过Status Task清除旧日志。
    3. 时间戳混乱:Run-Time Clock没有由主机设置正确的时间。时间戳是设备内部运行时间,需要主机将其同步为实际时间。
    4. 解读状态字:需要结合数据手册中的STATUS_WORD, STATUS_VOUT, STATUS_IOUT等寄存器的位定义来解读故障原因。

问题四:使用PSRS功能时,电源状态切换混乱。

  • 检查清单
    1. 参与PSRS的Rail,其On/Off Config必须是“OPERATION Only”
    2. 确认用于编码状态的GPI引脚配置正确,且极性设置符合硬件逻辑。
    3. 检查8个状态下的每个Rail的开关设置是否正确。
    4. 如果只用了部分GPI,确保按照前面提到的规则,将所有未用的状态编码配置好,避免未定义行为。

问题五:复制配置到新设备后不工作。

  • 注意事项
    1. 器件型号差异:UCD90xxx系列不同型号的引脚数量、功能支持略有差异。确保源配置和目标器件兼容。例如,将UCD90320的配置(支持更多Rail和LGPO)直接用到UCD90120上肯定会出错。
    2. 硬件差异:即使型号相同,不同板卡上的外围电路(分压电阻、电流采样)也可能不同。必须重新检查和调整缩放因子
    3. 使用正确的导出格式:用于生产烧录,应导出Data Flash (.hex)文件。用于在另一台电脑的GUI上编辑,应导出Project File (.xml)System File (.tifsp)

最后,一个非常重要的习惯:在做出任何关键修改,尤其是修改故障响应、时序依赖等核心参数后,不要只点击“Write to Hardware”,一定要点击“Store RAM to Flash”将配置永久保存。并且,在批量生产前,务必对配置进行全面的系统上下电测试、故障注入测试(如模拟过压、欠压),确保所有保护逻辑都能按预期执行。数字电源序列器的强大来自于其灵活性,而可靠性则来自于细致周全的配置与验证。