ZHCAEF1 September   2024 MSPM0G3507

 

  1.   1
  2.   摘要
  3.   商标
  4. 1引言
  5. 2硬件设置
  6. 3软件设置
  7. 4软件结构
    1. 4.1 流程图
    2. 4.2 系统设置
    3. 4.3 诊断
    4. 4.4 EEPROM 编程
  8. 5总结
  9. 6参考资料

诊断

示例代码提供了一个 API 来检测哪些器件存在开路、短路或单 LED 短路等故障。TPS929xxx_APIs.h 文件中定义了该 API 的原型。

void LED_Update_Chip_Status(unsigned int dev_addr_x);

该 API 会更新 system_info.h 中定义的变量 chip_status。对于器件 TPS929160-Q1 和 TPS929240-Q1,还有一个称为 VBAT 的额外电源引脚。因此,对于这些器件,该变量包括为此引脚测得的电压结果。此外,这些器件还包括一个称为电源欠压的额外故障类型。因此,这些器件包含标志 SUPUV。

struct chipStatus {
// Indicates open, short, and/or single-LED-short fault
uint16_t OUT_flag;
uint16_t SHORT_channels[MAX_CHANNEL_CNT];
uint16_t OPEN_channels[MAX_CHANNEL_CNT];
uint16_t SLS_channels[MAX_CHANNEL_CNT]; // Single-LED-short
uint16_t EEPCRC; // EEPROM CRC fault
uint16_t TSD; // Thermal Shutdown
uint16_t PRETSD; // Pre-thermal shutdown warning
uint16_t REF; // REF-pin fault
uint16_t LOWSUP; // Low supply
uint16_t POR; // Power-on-reset
#ifndef TPS92912X
uint16_t SUPUV; // Supply undervoltage
uint16_t VBAT_mV; // *1 mV
#endif
uint16_t VSUPPLY_mV; // *1 mV
uint16_t VLDO_mV; // *1 mV
uint16_t TEMPSNS_10mC; // *10 mC
uint16_t VREF_100uV; // *100 uV
uint16_t IREF_10nA; // *10 nA
};
// For diagnostics
extern struct chipStatus chip_status[];

在代码调试期间,可以按照“观察变量、表达式和寄存器”中的步骤在表达式视图中观察变量 chip_status图 4-2 中描述了一个没有任何错误的示例。变量 chip_status 的第一个索引是 FlexWire 总线上 LED 驱动器的地址。总共有 16 个不同的地址。因此,索引的范围为 0 至 15。

图 4-3 中显示了一个带有短接的示例。TPS929240-Q1 具有地址 0x1 并设置了 OUT_Flag 标志。当数组 SHORT_channels 被扩展时,引脚 OUT2 上发生短路。

 TPS929240-Q1 的 chip_status(无错误)示例图 4-2 TPS929240-Q1 的 chip_status(无错误)示例
 TPS929240-Q1 的 chip_status(有错误)示例图 4-3 TPS929240-Q1 的 chip_status(有错误)示例

图 4-4 中展示了 TPS929240-Q1 中出现低电源电压警告 (V(SUPPLY) < V(ADCLOWSUPTH)) 时的示例。已为地址为 0x1 的器件设置了标志 LOWSUP。此外,对于该警告,电源电压由 ADC 测量并在诊断中报告。在本例中,测量得到的结果为 4804mV。

 TPS929240-Q1 的 chip_status(具有低电源电压)示例图 4-4 TPS929240-Q1 的 chip_status(具有低电源电压)示例