ZHCUAX8 april 2023 TPS929120-Q1 , TPS929121-Q1 , TPS929160-Q1 , TPS929240-Q1
示例代碼提供了一個(gè) API 來(lái)檢測(cè)哪些器件存在開(kāi)路、短路或單 LED 短路等故障。TPS929xxx_APIs.h 文件中定義了該 API 的原型。
void LED_Update_Chip_Status(unsigned int dev_addr_x);
該 API 會(huì)更新 system_info.h 中定義的變量 chip_status。對(duì)于器件 TPS929160-Q1 和 TPS929240-Q1,還有一個(gè)稱為 VBAT 的額外電源引腳。因此,對(duì)于這些器件,該變量包括為此引腳測(cè)得的電壓結(jié)果。此外,這些器件還包括一個(gè)稱為電源欠壓的額外故障類型。因此,這些器件包含標(biāo)志 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)試期間,可以按照觀察變量、表達(dá)式和寄存器中的步驟在表達(dá)式視圖中觀察變量 chip_status。圖 4-2 中描述了一個(gè)沒(méi)有任何錯(cuò)誤的示例。變量 chip_status 的第一個(gè)索引是 FlexWire 總線上 LED 驅(qū)動(dòng)器的地址??偣部赡苡?16 個(gè)不同的地址。因此,索引的范圍為 0 至 15。
圖 4-2 觀察 TPS929120-Q1 的表達(dá)式 chip_status(無(wú)錯(cuò)誤)的示例圖 4-3 中顯示了一個(gè)帶有短接的示例。TPS929120-Q1 具有地址 0x1 并設(shè)置了 OUT_Flag 標(biāo)志。當(dāng)陣列 SHORT_channels 被擴(kuò)展時(shí),可以看到引腳 OUT2 上發(fā)生了短路。
圖 4-3 觀察 TPS929120-Q1 的表達(dá)式 chip_status(具有短路故障)的示例圖 4-4 中展示了 TPS929120-Q1 中出現(xiàn)低電源警告 (V(SUPPLY) < V(ADCLOWSUPTH)) 時(shí)的示例。已為地址為 0x1 的器件設(shè)置了標(biāo)志 LOWSUP。此外,對(duì)于該警告,電源電壓由 ADC 測(cè)量并在診斷中報(bào)告。在本例中,測(cè)量得到的結(jié)果為 6627mV。
圖 4-4 觀察 TPS929120-Q1 的表達(dá)式 chip_status(具有低電源)的示例