01.導讀
Reading guide
傳統的RGB LED產品,電路設計須使用多腳位控制以達到混光的效果,線路復雜且占用空間大;為了改善這個缺點,單線式RGB+IC產品以單線分時傳遞訊號,將產品串接在一起,僅需使用DIN及 DOUT兩只接腳,即可完成串接多顆RGB LED的效果;透過DIN訊號,各色LED有8bit=256階的PWM Duty控制。在空間及線路有限制的情況下,適合此類產品使用。
02.應用電路
Application circuit
此章節介紹LED規格書常見的特性與規格說明,各款LED規格不盡相同,使用時請參照對應 的規格書。
單線式 RGB+IC 產品,將控制晶片封裝進元件中,建議:電源接腳應有 By pass 電容、元件之間 的訊號傳遞路徑上加 RC Filter(預留設計),如下圖(1)所示。
圖(1) 單線式RGBIC產品應用線路
03.控制訊號
Control signal
單顆 RGB+IC 產品 控制訊號分為兩個部分:資料傳送(24bit)及資料顯示(50us Latch Time),資 料傳送 24bit 分別為 R=8bit G=8bit B=8bit。Logic 0、Logic 1 與 Latch Time 的訊號規格如下圖(2) 所示,傳送資料時由 MSB 先送,單顆傳送順序依照:R(8bit)→G(8bit)→B(8bit)→Latch Time 的順序 發送如下圖(3)所示,RGB+IC 產品在收到 Latch Time 后,將會顯示新的顏色設定。
圖(2) 控制訊號定義
圖(3) 單顆發送順序圖
單顆 RGB+IC 產品 控制訊號分為兩個部分:資料傳送(24bit)及資料顯示(50us Latch Time),資 料傳送 24bit 分別為 R=8bit G=8bit B=8bit。Logic 0、Logic 1 與 Latch Time 的訊號規格如下圖(2) 所示,傳送資料時由 MSB 先送,單顆傳送順序依照:R(8bit)→G(8bit)→B(8bit)→Latch Time 的順序 發送如下圖(3)所示,RGB+IC 產品在收到 Latch Time 后,將會顯示新的顏色設定。
圖(4) 串接順序圖
04.Pseudocode 虛擬碼程序說明
Pseudocode explain
單以串接三顆RGB+IC產品為例,LED在接收數據及Latch Time后將被點亮,顏色依序為紅、綠、 藍。利用MCU的SPI功能撰寫,將SPI CLK頻率設在3.3MHz ,一個SPI Bit約為300ns,RGB+IC的Logic 0與Logic 1分別對應4個SPI Bit,借此完成控制波形,虛擬碼如下:
SPI Configuration:
-SPI Clock ≒ 3.3MHz // One bit ≒ 300ns
-Master Mode
-SPI Mode 0 (Clock Phase = 0 , Clock Polarity= 0) -Data is latched on positive edge of bus clock
-When SPI idle , SPI Data and Clock is normal low
Data Structure:
Struct LED { R_reg , G_reg , B_reg} // One color register = 8bit
Array LED Display {LED1 , LED2 , LED3} // Three LED Structure Array Step 1. Assign Display Data
LED1:R_reg = 0xFF G_reg = 0x00 B_reg = 0x00
LED2:R_reg = 0x00 G_reg = 0xFF B_reg = 0x00
LED3:R_reg = 0x00 G_reg = 0x00 B_reg = 0xFF
Step 2. Data Send Order
LED1(R_reg→G_reg→B_reg)→LED2(R_reg→G_reg→B_reg)→LED3 (R_reg→G_reg→B_reg) Repeat Step3 and Step4 to convert and send Data.
Step 3. LED Color_reg 8bit Convert to 32bit
// LED one bit data : (Logic 0)→Four bits data 1000 (300ns High + 900ns Low)
// LED one bit data : (Logic 1)→Four bits data 1110 (900ns High + 300ns Low)
// According to the above rules ,One color(8bit) will be converted to 32bit
// Declaration 32bit variable (Prepared_Data)
// Prepared_Data is used to save One Color_reg conversion results
// Prepared_Data and Color_reg Leftmost bit is MSB
Input : Color_reg (8bit Data)
OutPut : Prepared_Data(32bit Data)
for i ←7 to 0 do
// i=7(MSB) , i=6(MSB-1)…… i=0(LSB)
If Color_reg(i) = 1
Prepared_Data (i*4+3)~(i*4) = 1110 (binary) //0xE(hex) else //Color_reg(i) = 0
Prepared_Data (i*4+3)~(i*4) = 1000 (binary) //0x8(hex)
end for
//e.g. 0xA5 conversion results = 0xE8E88E8E
Step 4. Send Procedure
If SPI FIFO not full, Send Prepared_Data to SPI FIFO
Step 5. Send Latch Time
If all data send procedure is finished, Send Latch time (>50us low).
05.實際波形
Waveforms
參考上節虛擬碼中 SPI 設定產生的 Logic 0 與 Logic 1 波形,如下圖(5)所示,950ns High + 315ns Low 為 Logic 1,315ns High + 950ns Low 為 Logic 0。
圖(5) Logic 0. Logic 1 實際波形
控制單顆產品所需的波形如下圖(6)所示,未傳送訊號時 Data 保持 Low,依序傳送 R、G、B 訊 號后,再維持>50us Low 準位,產品即會顯示更新的顏色。
圖(6) 單顆實際波形
單顆 RGB+IC 產品 控制訊號分為兩個部分:資料傳送(24bit)及資料顯示(50us Latch Time),資 料傳送 24bit 分別為 R=8bit G=8bit B=8bit。Logic 0、Logic 1 與 Latch Time 的訊號規格如下圖(2) 所示,傳送資料時由 MSB 先送,單顆傳送順序依照:R(8bit)→G(8bit)→B(8bit)→Latch Time 的順序 發送如下圖(3)所示,RGB+IC 產品在收到 Latch Time 后,將會顯示新的顏色設定。
圖(4) 串接順序圖