ZHCUB08A May 2023 – September 2024 LP5890 , LP5891 , LP5891-Q1 , LP5899 , LP5899-Q1 , TLC6983 , TLC6984 , TLC6989
本節(jié)介紹了示例代碼如何設(shè)置不同的參數(shù)來識(shí)別系統(tǒng)的構(gòu)建方式。第一部分是實(shí)際使用的 LED 驅(qū)動(dòng)器 IC。在 led_driver.h 文件中,選擇了使用過的 LED 驅(qū)動(dòng)器 IC。
#include "LP5891.h"
該代碼支持:請(qǐng)注意,對(duì)于“Q1”器件,不會(huì)添加此名稱,僅使用基本產(chǎn)品名稱。
表 3-2 中列出了影響系統(tǒng)設(shè)置及其位置的宏和變量的摘要。
文件名 | 宏/變量名稱 | 說明 |
---|---|---|
system_info.h | SCLK_FREQ_IN_HZ | SCLK 頻率 |
USE_CONN_IC | 在使用增強(qiáng)型連接器件 LP5899(-Q1)/TLC6989 時(shí)選擇 | |
SPI_FREQ_IN_HZ | 使用增強(qiáng)型連接器件時(shí),這是 MCU 與連接器件之間的 SPI 頻率 | |
RUN_MODE | 在不同的代碼運(yùn)行模式之間進(jìn)行選擇。支持的選項(xiàng)包括 ANIMATION 和 SIMPLE_TEST | |
TOTAL_SCAN_LINES | 掃描線數(shù) | |
CCSI_BUS_NUM | CCSI 總線數(shù) | |
CASCADED_UNITS_CCSI1 | CCSI 總線 1 中的器件數(shù)量 | |
CASCADED_UNITS_CCSI2 | CCSI 總線 2 中的器件數(shù)量 | |
MONOCHROMATIC | 在 RGB 和單色顯示屏之間進(jìn)行選擇 | |
system_info.c | FRAME_RATE | VSYNC 命令的間隔 |
幀速率在文件 system_info.c 中指定。幀速率以 Hz(每秒幀數(shù))為單位。
const uint16_t FRAME_RATE = 60; // 16.67ms = 60 Hz frames-per-second
受支持的最小幀速率為 1Hz。
文件 system_info.h 包含多個(gè)系統(tǒng)定義。
// When TLC6989 or LP5899 is used this should be set to _TRUE
#define USE_CONN_IC _TRUE
宏 USE_CONN_IC 定義 LED 驅(qū)動(dòng)器是否與增強(qiáng)型連接 IC 配對(duì)使用。這會(huì)影響 MCU 的硬件設(shè)置,該設(shè)置會(huì)在標(biāo)準(zhǔn) SPI(使用連接 IC 時(shí))或 CLB(使用 CCSI 直接與 LED 驅(qū)動(dòng)器通信時(shí))之間自動(dòng)切換。
// Desired SCLK frequency (in case of TLC698x this SCLK frequency is half of this)
// Note: Exact frequency may not be possible
#define SCLK_FREQ_IN_HZ 10000000
宏 SCLK_FREQ_IN_HZ 定義連續(xù)時(shí)鐘串行接口 (CCSI) 以什么數(shù)據(jù)速率運(yùn)行,即引腳 SCLK 的時(shí)鐘頻率。使用增強(qiáng)連接 IC 時(shí),所選數(shù)據(jù)速率將是等于所需數(shù)據(jù)速率的選項(xiàng)或第一個(gè)高于所需數(shù)據(jù)速率的可用選項(xiàng)。不使用增強(qiáng)連接 IC 時(shí),所需的 SCLK 頻率是相對(duì)于 MCU 系統(tǒng)頻率的整數(shù)分頻值。在這兩種情況下,實(shí)際 CCSI 頻率可能不同于 SCLK_FREQ_IN_HZ 定義的所需指定頻率。
// Desired SPI frequency - for TLC6989 or LP5899
// Supported range is 500kHz to 7.5MHz --> For higher frequencies need to enable SPI high speed mode
// Note: Exact frequency may not be possible
#define SPI_FREQ_IN_HZ 7500000
宏 SPI_FREQ_IN_HZ 僅在使用增強(qiáng)連接 IC 并定義所需的 SPI 頻率時(shí)使用。該頻率是 MCU 系統(tǒng)頻率的整數(shù)分頻值。因此,實(shí)際 SPI 頻率可能不同于 SPI_FREQ_IN_HZ 定義的所需指定頻率。
#define RUN_MODE ANIMATION
#define MONOCHROMATIC _FALSE
宏 RUN_MODE 決定代碼的運(yùn)行模式。支持的運(yùn)行模式包括動(dòng)畫模式和簡(jiǎn)單測(cè)試模式。
EVM 都使用 RGB LED。因此,宏 MONOCHROMATIC 定義為 _FALSE。示例代碼確實(shí)支持使用單色 LED(例如僅使用紅色 LED)的系統(tǒng)。在此類情況下,宏 MONOCHROMATIC 應(yīng)定義為 _TRUE。這會(huì)自動(dòng)更改幀數(shù)據(jù)結(jié)構(gòu)、動(dòng)畫算法和 API。
以下代碼塊演示了會(huì)影響寄存器設(shè)置的宏。
#define TOTAL_SCAN_LINES 16
#define CASCADED_UNITS_CCSI1 1
宏 TOTAL_SCAN_LINES 定義了系統(tǒng)中使用的掃描線數(shù),并直接影響寄存器 FC0 中的字段 SCAN_NUM。對(duì)于 LP5891Q1EVM、LP5891EVM 和 LP5890EVM,有 16 條掃描線。對(duì)于 TLC6983EVM 和 TLC6984EVM,有 32 條掃描線。
宏 CASCADED_UNITS_CCSI1 定義系統(tǒng)中級(jí)聯(lián)器件的數(shù)量,并直接影響寄存器 FC0 中的字段 CHIP_NUM。對(duì)于 LP5891Q1EVM、LP5891EVM 和 LP5890EVM,僅有 1 個(gè)器件級(jí)聯(lián)。當(dāng)用戶使用可用連接器級(jí)聯(lián)更多這類 EVM 時(shí),必須更新此宏。
對(duì)于 TLC6983EVM 和 TLC6984EVM,一個(gè) EVM 上有 2 個(gè)級(jí)聯(lián)器件。
示例代碼最多支持 2 個(gè) CCSI 菊花鏈。圖 3-2 和圖 3-3 中的示例用于展示支持 2 個(gè) CCSI 菊花鏈的情況。第一個(gè)圖顯示了不使用增強(qiáng)連接 IC 的示例,第二個(gè)圖顯示了使用增強(qiáng)連接 IC 的示例。對(duì)于這兩個(gè)示例,實(shí)際使用的鏈數(shù)由文件 system_info.h 中的宏 CCSI_BUS_NUM 定義。
// Total CCSI buses supported
#define CCSI_BUS_NUM 2
每個(gè)鏈可具有不同數(shù)量的級(jí)聯(lián)器件。因此,除了宏 CASCADED_UNITS_CCSI1 外,文件 system_info.h 中還有宏 CASCADED_UNITS_CCSI2。在這些示例中,CCSI 鏈 1 有 3 個(gè)級(jí)聯(lián)器件,CCSI 鏈 2 有 2 個(gè)級(jí)聯(lián)器件。
#define CASCADED_UNITS_CCSI1 3
#define CASCADED_UNITS_CCSI2 2