新聞中心

XMC1200單片機在LED智慧調光中的應用

 2014-01-11

引言
LED被稱為第四代光源,具有節能、環保、安全、壽命長、低功耗、低熱、高亮度、防水、微型、防震、易調光、光束集中、維護簡便等特點,廣泛應用於各種指示、顯示、裝飾、背光源、普通照明等領域,正在逐步取代傳統的白熾燈、螢光燈等。

目前廣泛使用的LED調光方式主要為類比的恒流控制方法和PWM控制,存在控制複雜、功能單一、且容易產生閃爍的缺點。

針對上述挑戰,英飛淩公司推出了新一代XMC1200系列MCU。它將ARM® Cortex™-M0內核與尖端的65nm制程技術結合在一起,克服了8位設計的限制,使當前的8位用戶有機會享受32位元性能,而無需在價格或易用性方面付出代價。XMC1200的FLASH容量從16KB- 200KB不等,16K SRAM,內核主頻32M Hz,12bit ADC。特別的,XMC1200內建了亮度與色彩控制單元(BCCU),專門針對LED智慧調光應用。

圖 1 XMC1200系列MCU資源
           

基於XMC1200 BCCU的智慧調光方案

XMC1200內建的亮度與色彩控制單元(BCCU)可以實現對LED亮度和色彩的全數位控制,可實現以下關鍵特性:
1) 自動消除低頻閃爍
2) 自動色彩變化控制
3) 智慧的柔和調光控制

其中圖2為利用XMC1200實現1組RGB LED調光的電路圖。

圖2 XMC1200 BCCU RGB三色調光電路方案


從上圖可以看出,在XMC1200的BCCU中,主要引入了以下模組:

1) 指數型調光引擎
人眼對於光強的感知實際是對光振動的振幅的感知,而光的強度和振幅的平方成正比,這就導致人眼對光強的線性變化無法做出線性的感知,而是會產生近似對數的關係。為此,如果需要讓人眼感知到線性的變化,則需要讓光強按照指數型改變。

為了解決這種難題,BCCU創新的增加了指數型調光模組,使得光強可以自動的按照指數規律變化,從而達到對人眼的感知的線性變化,從而達到柔和調光的效果。指數型調光的模組和原理如圖3。

圖3 指數型調光模組及原理



代碼實現

// 指數型調光引擎0,終值0xABC寫入影子寄存器
WR_REG((BCCU0->DL0,BCCU_DL0_DLEV_Msk,BCCU_DL0_DLEV_Pos,0xABC);
// 調整指數型調光變化速率為0xCBA
WR_REG((BCCU0->DTT0,BCCU_DTT0_DIMDIV_Msk,BCCU_DTT0_DIMDIV_Pos,0xCBA);
// 指數型調光引擎0,終值寫入
SET_BIT(BCCU0->DESTRCON,BCCU_DESTRCON_DE0S_Pos);
// 打開BCCU指數型調光引擎0
SET_BIT(BCCU0->DEEN,BCCU_DEEN_EDE0_Pos);


2) 線性調光器
BCCU中引入了線性調光器,特性可以根據亮度目標值和變化時長,生成線性變化的亮度輸出,從而達到線性調整色彩的目的。改特性在RGB三色調光方面有特別的優勢,若設定RGB三通道變化時長一致,則可以達到同步進行三色調節的目的,輕鬆的實現三色混合。在圖4中,RGB三色同一時刻開始變化,並在同一時刻達到變化終點,它們的合成顏色在三色空間中表現為一條直線。

圖4 線性調光模組及原理


代碼實現

// 設置BCCU通道0的線性調光速率為0xCBA
WR_REG(BCCU0->INTS0,BCCU_CHCONFIG0_LINPRES_Msk,BCCU_CHCONFIG0_LINPRES_Pos,0xCBA);
// 設置調光終點為0xABC,寫入影子寄存器
WR_REG(BCCU0->INTS0,BCCU_INTS0_TCHINT_Msk,BCCU_INTS0_TCHINT_Pos,0xABC);
// 線性調光終值寫入
SET_BIT(BCCU0->CHSTRCON,BCCU_CHSTRCON_CH0S);


3) Sigma Delta調製器
通過開關LED,能夠使得LED發出一定的光亮,若切換速度足夠快,則人眼將感知不到LED的開關,達到連續發光的目的,而LED的亮度則取決於開通的平均時間。

BCCU中內置了Sigma Delta調製器,用於將亮度數值變換為位元流,產生快速開關的脈衝密度調製信號(PDM),通過這個信號來控制LED的開關。

大家比較熟知的開關信號有PWM,PDM和PWM的區別可以參考圖5,在相同的較長時長內,PDM和PWM信號有相同的開通時間,但PWM表現為週期恒定,脈寬變化,但PDM則表現為週期不恒定,但脈寬相同。

相比來說BCCU中提供的PDM具有較高的頻率,可以達到較高的解析度,EMI特性更好,同時因頻率較高,更不易產生低頻閃爍。

圖5 PWM/PDM信號對比


4) 閃爍看門狗/打包器
研究報告指出,人眼感官能夠感知的變化為45.8HZ以內,低於這個頻率閃爍,會引起人眼的不適,高於這個頻率的閃爍,雖然不會被人眼感知到,但是仍舊會對人體產生神經性的影響,比如流行的護眼燈,頻率都在100Hz以上,這樣才能保證對人體影響較小。

在BCCU中,提供了一個自動的低頻看門狗特性,通過提前設定好信號間的間隔時間,若間隔時間過大,則看門狗會自動加入開通信號,保證開關頻率不低於設定的最小值,從而從原理上消除了低頻閃爍的產生。閃爍看門狗原理如圖6

圖6 閃爍看門狗原理



在LED的驅動中,需要保證最小開通時間,即在最短的一段時間內,需要保持開通信號恒定。BCCU中提供了一個打包器用於完成這一功能。

圖7 打包器原理


看門狗配合打包器使用,就可以既保證了最小開通時間,同時又能保證不產生低頻閃爍。

代碼實現

// 設定閃速看門狗的門限為0xABC
WR_REG(BCCU0->GLOBCON,BCCU_GLOBCON_WDMBN_Msk,BCCU_GLOBCON_WDMBN_Pos,0xABC);
// 打開BCCU通道0的閃爍看門狗
SET_BIT(BCCU0->CHCONFIG0,BCCU_CHCONFIG0_WEN_Pos);
// 設定BCCU通道0的打包器門檻為0xA
WR_REG(BCCU0->CHCONFIG0,BCCU_CHCONFIG0_PKTH_Msk,BCCU_CHCONFIG0_PKTH_Pos,0xA);
// 打開BCCU通道0的打包器
SET_BIT(BCCU0->CHCONFIG0,BCCU_CHCONFIG0_PEN_Pos);


總結
綜上所述,通過使用內建BCCU單元的XMC1200系列MCU,可以對LED的進行智慧調光,實現亮度的指數調節,色彩的線性調節,同時可以避免低頻時候產生的閃爍現象,有效的保護人眼。

XMC1200作為上述特性的單晶片解決方案,可以節省大量的CPU開銷,大幅降低軟體發展的時間,有效的減少人為導致的軟體錯誤風險。同時XMC1200系列MCU具有高性能、大容量,高可靠性的特點,可以把智慧調光廣泛的應用於生活、工業的各個方面。

作者:
英飛淩科技(中國)有限公司羅敏

若需任何產品詳情,請洽品佳集團 Infineon 產品線企劃人員,謝謝!