ZHCUAX8 april 2023 TPS929120-Q1 , TPS929121-Q1 , TPS929160-Q1 , TPS929240-Q1
示例代碼提供了一個 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[];
在代碼調(diào)試期間,可以按照觀察變量、表達式和寄存器中的步驟在表達式視圖中觀察變量 chip_status。圖 4-2 中描述了一個沒有任何錯誤的示例。變量 chip_status 的第一個索引是 FlexWire 總線上 LED 驅(qū)動器的地址。總共可能有 16 個不同的地址。因此,索引的范圍為 0 至 15。
圖 4-2 觀察 TPS929120-Q1 的表達式 chip_status(無錯誤)的示例圖 4-3 中顯示了一個帶有短接的示例。TPS929120-Q1 具有地址 0x1 并設置了 OUT_Flag 標志。當陣列 SHORT_channels 被擴展時,可以看到引腳 OUT2 上發(fā)生了短路。
圖 4-3 觀察 TPS929120-Q1 的表達式 chip_status(具有短路故障)的示例圖 4-4 中展示了 TPS929120-Q1 中出現(xiàn)低電源警告 (V(SUPPLY) < V(ADCLOWSUPTH)) 時的示例。已為地址為 0x1 的器件設置了標志 LOWSUP。此外,對于該警告,電源電壓由 ADC 測量并在診斷中報告。在本例中,測量得到的結果為 6627mV。
圖 4-4 觀察 TPS929120-Q1 的表達式 chip_status(具有低電源)的示例