ZHDU174B November 2024 – March 2026 TLC69627-Q1 , TLC69628-Q1 , TLC69629-Q1 , TLC69637-Q1 , TLC69638-Q1 , TLC69639-Q1
本节介绍了示例代码如何设置不同的参数来识别系统的构建方式。
第一部分是实际使用的 LED 驱动器 IC。在 led_driver.h 文件中,选择所使用的 LED 驱动器 IC。
#include "TLC69628.h"
代码支持以下种产品:
请注意,对于“Q1”器件,不会添加此名称,仅使用基本产品名称。
表 3-2 中列出了影响系统设置和宏及变量位置的宏和变量的摘要。
| 文件名 | 宏/变量名称 | 说明 |
|---|---|---|
| system_info.h | SPI_FREQ_IN_HZ | 当 IF_SEL 定义为 SPI 时,表示 CLK_I 频率(LED 驱动器)或 SCLK_RX 频率 (TLC69698-Q1)。 |
| USE_CONN_IC | 在使用 UPAC 器件 TLC69698-Q1/TLC69697-Q1 时选择。 | |
| RUN_MODE | 在不同的代码运行模式之间进行选择。支持的选项包括 ANIMATION 和 SIMPLE_TEST。 | |
| IF_SEL | 选择用于通信的 MCU 接口。 | |
| TOTAL_SCAN_LINES | 扫描线数。对于 TLC6962x/TLC6963x-Q1 系列,该值始终为 1。 | |
| BUS_NUM | 菊花链总线数量。 | |
| CASCADED_UNITS_BUS1 | 菊花链总线 1 中的器件数量。 | |
| CASCADED_UNITS_BUS2 | 菊花链总线 2 中的器件数量。 | |
| CASCADED_UNITS_BUS3 | 菊花链总线 3 中的器件数量。仅支持带 UPAC 器件的 UART。 | |
| CASCADED_UNITS_BUS4 | 菊花链总线 4 中的器件数量。仅支持带 UPAC 器件的 UART。 | |
| SCAN_FET_CTRL_NUM | 一个菊花链中的 SCAN FET 控制器数量。对于 TLC6962x/TLC6963x-Q1 系列,该值始终为 0。 | |
| system_info.c | FRAME_RATE | VSYNC 命令的间隔。 |
| dev_addr | UART 总线上使用的连接器件的器件地址。 |
在文件 system_info.c 中,指定了 UPAC 器件的帧速率和 UART 器件地址。帧周期以 Hz(每秒帧数)为单位。受支持的最小帧速率为 1Hz。
uint32_t FRAME_RATE = 60; // 60Hz frames-per-second
const uint16_t dev_addr[BUS_NUM] = {DEVICE_ADDR__0};
只有当 USE_CONN_IC 设置为 _TRUE 且 IF_SEL 设置为 UART 或 UART_CAN 时,才需要设置变量 dev_addr。该变量指定 UART 总线上 UPAC 器件的地址。
文件 system_info.h 包含多个系统定义。
// Desired CLK_I or SCLK_RX frequency
// Supported range is 500kHz to 7.5MHz --> For higher frequencies need to enable SPI high speed mode
// Note: Exact frequency is not always possible
#define SPI_FREQ_IN_HZ 3000000
宏 SPI_FREQ_IN_HZ 定义了 SPI 运行的数据速率,即 LED 驱动器的引脚 CLK_I 或 TLC69698-Q1 的引脚 SCLK_RX 的时钟频率。该频率是 MCU 系统频率的整数分频器。因此,实际 SPI 频率有时不同于 SPI_FREQ_IN_HZ 定义的所需指定频率。
#define USE_CONN_IC _FALSE
#define RUN_MODE ANIMATION
#define IF_SEL SPI
宏 USE_CONN_IC 定义是否使用 UPAC 器件。当 LED 驱动器选择为 TLC696[2|3][3|6|9] 时,该宏会自动设置为 _TRUE。
宏 RUN_MODE 定义代码的运行模式。支持的运行模式包括动画模式和简单测试模式。
宏 IF_SEL 的选项为 SPI、UART 和 UART_CAN。对于 UART 和 UART_CAN,必须将 UPAC 器件选择宏 USE_CONN_IC 设置为 _TRUE。UART 与 UART_CAN 的区别在于:UART 在 MCU 和 UPAC 器件之间使用直接 UART 连接,而 UART_CAN 在 MCU 和 UPAC 器件之间使用 CAN 物理层。
以下代码块演示了会影响寄存器设置的宏。
#define TOTAL_SCAN_LINES 1
#define CASCADED_UNITS_BUS1 2
宏 TOTAL_SCAN_LINES 定义系统中使用的扫描线数。对于 TLC6962x/TLC6963x-Q1 系列,该值始终为 1。
宏 CASCADED_UNITS_BUS1 定义系统中级联器件的数量,并直接影响寄存器 DEVSET 中的字段 CHIP_NUM。对于 TLC69628Q1EVM 和 TLC69698Q1EVM,有两个器件级联;而对于 TLC69622Q1EVM 和 TLC69625Q1EVM,只有一个器件。