ZHCUB08A May 2023 – September 2024 LP5890 , LP5891 , LP5891-Q1 , TLC6983 , TLC6984
示例代码提供了一个 API 来检测哪些 LED 驱动器具有 LED 开路 (LOD) 故障以及哪些 LED 驱动器具有 LED 短路 (LSD) 故障。此外,当示例代码与 LP5899DYYEVM 配对使用时,将读取 LP5899 增强型连接器件检测到的故障。TLC698x_LP589x_APIs.h 文件中定义了该 API 的原型。
void LED_Update_Chip_Status(void);
该 API 会更新 system_info.h 中定义的变量 chip_status。
struct ccsiBusStatus {
uint16_t LSD; // LED Short Detection
uint16_t LOD; // LED Open Detection
volatile outChannel LOD_channels[TOTAL_SCAN_LINES];
volatile outChannel LSD_channels[TOTAL_SCAN_LINES];
};
struct chipStatus {
struct ccsiBusStatus busStatus[MAX_CASCADED_UNITS];
#ifdef _TLC6989_LP5899
uint16_t ERR; // LP5899/TLC6989 Global error flag
uint16_t POR; // Power-On-Reset flag
uint16_t OSC; // Internal oscillator flag
uint16_t OTP_CRC; // OTP CRC flag
uint16_t DEV_STATE; // Device state
uint16_t SPI_CRC; // SPI CRC error
uint16_t SPI_REG_WRITE; // SPI register write error
uint16_t SPI; // SPI error
uint16_t SPI_CS; // SPI Chip Select (CS) pin error
uint16_t SPI_TIMEOUT; // SPI reset timeout error
uint16_t SRST; // Softreset error
uint16_t DRDY_STATUS; // DRDY pin status
uint16_t RXFF; // Receive FIFO error
uint16_t RXFFSED; // Receive FIFO single error detection
uint16_t RXFFUVF; // Receive FIFO underflow
uint16_t RXFFOVF; // Receive FIFO overflow
uint16_t TXFF; // Transmit FIFO error
uint16_t TXFFSED; // Transmit FIFO single error detection
uint16_t TXFFUVF; // Transmit FIFO underflow
uint16_t TXFFOVF; // Transmit FIFO overflow
uint16_t CCSI; // CCSI interface error
uint16_t CCSI_SIN; // CCSI missing toggling on SIN error
uint16_t CCSI_CRC; // CCSI data CRC error
uint16_t CCSI_CHECK_BIT; // CCSI check bit error
uint16_t CCSI_CMD_QUEUE_OVF; // CCSI command queue overflow
#endif
};
// For diagnostics
extern struct chipStatus chip_status[CCSI_BUS_NUM];
请注意,在示例代码中,诊断仅在简单测试模式期间执行,而不是在动画模式期间执行。
在代码调试期间,可以按照观察变量、表达式和寄存器中的步骤在表达式视图中观察变量 chip_status。图 3-4 中描述了一个没有任何错误的 LP5891Q1EVM 示例。变量 chip_status 的第一个索引是 CCSI 链索引。在 EVM 上,只使用了 1 个链。对于 LED 驱动器的标志,使用 busStatus 变量,该变量具有链中每个 LED 驱动器的索引。
图 3-5 显示了 chip_status 变量的扩展视图,其中展示了链中每个 LED 驱动器器件的 LSD 和 LOD。此外,对于 LSD 和 LOD 故障,可以找到具有故障的实际线路和输出通道。LP5891Q1EVM 使用 16 条扫描线。因此,LOD_channels 阵列的索引在 0 至 15 之间。
LOD 故障的示例如图 3-6 所示。在此示例中,芯片索引 0 具有 LOD 故障。当 LOD_channels 阵列被扩展后,会显示故障发生在索引 2 对应的线上。该索引扩展后,会显示故障发生在引脚 R1 上。
当 LP5899DYYEVM 与 LP589x(-Q1) 配对使用时,chip_status 变量还会显示增强连接 IC 的错误标志。图 3-7 中描述了一个没有任何故障的示例,其中为每个 CCSI 链(chip_status 的第一个索引)列出了错误标志。请注意,DRDY_STATUS 为 1,因为当 LP5899 具有已准备好被读取的数据时,该值变为零。
CCSI 故障的示例如图 3-8 所示。在本示例中,SIN 引脚卡在高电平,而 CCSI 传输继续,这也会导致 CCSI 命令队列溢出。