ZHCUB08A May   2023  – September 2024 LP5890 , LP5891 , LP5891-Q1 , TLC6983 , TLC6984

 

  1.   1
  2.   摘要
  3.   商标
  4. 1引言
  5. 2软件设置
  6. 3示例代码结构
    1. 3.1 设计参数
    2. 3.2 流程图
    3. 3.3 系统设置
    4. 3.4 诊断
    5. 3.5 演示
  7. 4修订历史记录

诊断

示例代码提供了一个 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 驱动器的索引。

LP5891Q1EVM LP5891-Q1 观察表达式 chip_status(无错误)的示例图 3-4 观察表达式 chip_status(无错误)的示例

图 3-5 显示了 chip_status 变量的扩展视图,其中展示了链中每个 LED 驱动器器件的 LSD 和 LOD。此外,对于 LSD 和 LOD 故障,可以找到具有故障的实际线路和输出通道。LP5891Q1EVM 使用 16 条扫描线。因此,LOD_channels 阵列的索引在 0 至 15 之间。

LP5891Q1EVM LP5891-Q1 显示具有 LOD 的 chip_status 表达式的扩展扫描线的示例图 3-5 显示具有 LOD 的 chip_status 表达式的扩展扫描线的示例

LOD 故障的示例如图 3-6 所示。在此示例中,芯片索引 0 具有 LOD 故障。当 LOD_channels 阵列被扩展后,会显示故障发生在索引 2 对应的线上。该索引扩展后,会显示故障发生在引脚 R1 上。

LP5891Q1EVM LP5891-Q1 显示具有 LOD 的 chip_status 表达式的扩展通道的示例图 3-6 显示具有 LOD 的 chip_status 表达式的扩展通道的示例

当 LP5899DYYEVM 与 LP589x(-Q1) 配对使用时,chip_status 变量还会显示增强连接 IC 的错误标志。图 3-7 中描述了一个没有任何故障的示例,其中为每个 CCSI 链(chip_status 的第一个索引)列出了错误标志。请注意,DRDY_STATUS 为 1,因为当 LP5899 具有已准备好被读取的数据时,该值变为零。

LP5891Q1EVM LP5891-Q1 与 LP5899 配对使用时未出现错误的 chip_status 示例图 3-7 与 LP5899 配对使用时未出现错误的 chip_status 示例

CCSI 故障的示例如图 3-8 所示。在本示例中,SIN 引脚卡在高电平,而 CCSI 传输继续,这也会导致 CCSI 命令队列溢出。

LP5891Q1EVM LP5891-Q1 与 LP5899 配对使用时具有 CCSI 故障的 Expression chip_status 示例图 3-8 与 LP5899 配对使用时具有 CCSI 故障的 Expression chip_status 示例