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