一款基于XMC1200的LED智能調(diào)光設(shè)計(jì)
【導(dǎo)讀】英飛凌新一代XMC1200系列MCU將Cortex-M0內(nèi)核與尖端的65nm制程技術(shù)結(jié)合在一起,內(nèi)建了亮度與色彩控制單元,可以對(duì)LED的進(jìn)行智慧調(diào)光,實(shí)現(xiàn)亮度的指數(shù)調(diào)節(jié),色彩的線性調(diào)節(jié),同時(shí)可以避免低頻時(shí)候產(chǎn)生的閃爍現(xiàn)象,有效的保護(hù)人眼。
本文引用地址:http://m.butianyuan.cn/article/234717.htm目前廣泛使用的LED調(diào)光方式主要為模擬的恒流控制方法和PWM控制,存在控制復(fù)雜、功能單一、且容易產(chǎn)生閃爍的缺點(diǎn)。針對(duì)上述挑戰(zhàn),英飛凌公司推出了新一代XMC1200系列MCU。它將ARM Cortex-M0內(nèi)核與尖端的65nm制程技術(shù)結(jié)合在一起,克服了8位設(shè)計(jì)的限制,使當(dāng)前的8位用戶有機(jī)會(huì)享受32位性能,而無(wú)需在價(jià)格或易用性方 面付出代價(jià)。XMC1200的FLASH容量從16KB- 200KB不等,16K SRAM,內(nèi)核主頻32M Hz,12bit ADC。特別的,XMC1200內(nèi)建了亮度與色彩控制單元(BCCU),專門(mén)針對(duì)LED智能調(diào)光應(yīng)用。
圖 1 XMC1200系列MCU資源
基于XMC1200 BCCU的智能調(diào)光方案
XMC1200內(nèi)建的亮度與色彩控制單元(BCCU)可以實(shí)現(xiàn)對(duì)LED亮度和色彩的全數(shù)字控制,可實(shí)現(xiàn)以下關(guān)鍵特性:
1) 自動(dòng)消除低頻閃爍
2) 自動(dòng)色彩變化控制
3) 智慧的柔和調(diào)光控制
方案優(yōu)勢(shì):
XMC1200作為單芯片解決方案,可以節(jié)省大量的CPU開(kāi)銷(xiāo),大幅降低軟件開(kāi)發(fā)的時(shí)間,有效的減少人為導(dǎo)致的軟件錯(cuò)誤風(fēng)險(xiǎn)。同時(shí)XMC1200系列MCU具有高性能、大容量,高可靠性的特點(diǎn),可以把智慧調(diào)光廣泛的應(yīng)用于生活、工業(yè)的各個(gè)方面。
第一頁(yè):XMC1200 BCCU的智能調(diào)光方案
第二頁(yè):RGB LED調(diào)光的電路圖
第三頁(yè):線性調(diào)光器和Sigma Delta調(diào)制器
第四頁(yè):閃爍看門(mén)狗/打包器
圖2為利用XMC1200實(shí)現(xiàn)1組RGB LED調(diào)光的電路圖。
從上圖可以看出,在XMC1200的BCCU中,主要引入了以下模塊:
1) 指數(shù)型調(diào)光引擎
人眼對(duì)于光強(qiáng)的感知實(shí)際是對(duì)光振動(dòng)的振幅的感知,而光的強(qiáng)度和振幅的平方成正比,這就導(dǎo)致人眼對(duì)光強(qiáng)的線性變化無(wú)法做出線性的感知,而是會(huì)產(chǎn)生近似對(duì)數(shù)的關(guān)系。為此,如果需要讓人眼感知到線性的變化,則需要讓光強(qiáng)按照指數(shù)型改變。
為了解決這種難題,BCCU創(chuàng)新的增加了指數(shù)型調(diào)光模塊,使得光強(qiáng)可以自動(dòng)的按照指數(shù)規(guī)律變化,從而達(dá)到對(duì)人眼的感知的線性變化,從而達(dá)到柔和調(diào)光的效果。指數(shù)型調(diào)光的模塊和原理如圖3。
代碼實(shí)現(xiàn)
{
// 指數(shù)型調(diào)光引擎0,終值0xABC寫(xiě)入影子寄存器
WR_REG((BCCU0->DL0,BCCU_DL0_DLEV_Msk,BCCU_DL0_DLEV_Pos,0xABC);
// 調(diào)整指數(shù)型調(diào)光變化速率為0xCBA
WR_REG((BCCU0->DTT0,BCCU_DTT0_DIMDIV_Msk,BCCU_DTT0_DIMDIV_Pos,0xCBA);
// 指數(shù)型調(diào)光引擎0,終值寫(xiě)入
SET_BIT(BCCU0->DESTRCON,BCCU_DESTRCON_DE0S_Pos);
// 打開(kāi)BCCU指數(shù)型調(diào)光引擎0
SET_BIT(BCCU0->DEEN,BCCU_DEEN_EDE0_Pos);
}
第一頁(yè):XMC1200 BCCU的智能調(diào)光方案
第二頁(yè):RGB LED調(diào)光的電路圖
第三頁(yè):線性調(diào)光器和Sigma Delta調(diào)制器
第四頁(yè):閃爍看門(mén)狗/打包器
2) 線性調(diào)光器
BCCU 中引入了線性調(diào)光器,特性可以根據(jù)亮度目標(biāo)值和變化時(shí)長(zhǎng),生成線性變化的亮度輸出,從而達(dá)到線性調(diào)整色彩的目的。改特性在RGB三色調(diào)光方面有特別的優(yōu) 勢(shì),若設(shè)定RGB三通道變化時(shí)長(zhǎng)一致,則可以達(dá)到同步進(jìn)行三色調(diào)節(jié)的目的,輕松的實(shí)現(xiàn)三色混合。在圖4中,RGB三色同一時(shí)刻開(kāi)始變化,并在同一時(shí)刻達(dá)到 變化終點(diǎn),它們的合成顏色在三色空間中表現(xiàn)為一條直線。
代碼實(shí)現(xiàn)
{
// 設(shè)置BCCU信道0的線性調(diào)光速率為0xCBA
WR_REG(BCCU0->INTS0,BCCU_CHCONFIG0_LINPRES_Msk,BCCU_CHCONFIG0_LINPRES_Pos,0xCBA);
// 設(shè)置調(diào)光終點(diǎn)為0xABC,寫(xiě)入影子寄存器
WR_REG(BCCU0->INTS0,BCCU_INTS0_TCHINT_Msk,BCCU_INTS0_TCHINT_Pos,0xABC);
// 線性調(diào)光終值寫(xiě)入
SET_BIT(BCCU0->CHSTRCON,BCCU_CHSTRCON_CH0S);
}
3) Sigma Delta調(diào)制器
通過(guò)開(kāi)關(guān)LED,能夠使得LED發(fā)出一定的光亮,若切換速度足夠快,則人眼將感知不到LED的開(kāi)關(guān),達(dá)到連續(xù)發(fā)光的目的,而LED的亮度則取決于開(kāi)通的平均時(shí)間。
BCCU中內(nèi)置了Sigma Delta調(diào)制器,用于將亮度數(shù)值變換為比特流,產(chǎn)生快速開(kāi)關(guān)的脈沖密度調(diào)制信號(hào)(PDM),通過(guò)這個(gè)信號(hào)來(lái)控制LED的開(kāi)關(guān)。
大家比較熟知的開(kāi)關(guān)信號(hào)有PWM,PDM和PWM的區(qū)別可以參考圖5,在相同的較長(zhǎng)時(shí)長(zhǎng)內(nèi),PDM和PWM信號(hào)有相同的開(kāi)通時(shí)間,但PWM表現(xiàn)為周期恒定,脈寬變化,但PDM則表現(xiàn)為周期不恒定,但脈寬相同。
相比來(lái)說(shuō)BCCU中提供的PDM具有較高的頻率,可以達(dá)到較高的分辨率,EMI特性更好,同時(shí)因頻率較高,更不易產(chǎn)生低頻閃爍。
第一頁(yè):XMC1200 BCCU的智能調(diào)光方案
第二頁(yè):RGB LED調(diào)光的電路圖
第三頁(yè):線性調(diào)光器和Sigma Delta調(diào)制器
第四頁(yè):閃爍看門(mén)狗/打包器
4) 閃爍看門(mén)狗/打包器
研究報(bào)告指出,人眼感官能夠感知的變化為45.8HZ以內(nèi),低于這個(gè)頻率閃爍,會(huì)引起人眼的不適,高于這個(gè)頻率的閃爍,雖然不會(huì)被人眼感知到,但是仍舊會(huì)對(duì)人體產(chǎn)生神經(jīng)性的影響,比如流行的護(hù)眼燈,頻率都在100Hz以上,這樣才能保證對(duì)人體影響較小。
在BCCU中,提供了一個(gè)自動(dòng)的低頻看門(mén)狗特性,通過(guò)提前設(shè)定好信號(hào)間的間隔時(shí)間,若間隔時(shí)間過(guò)大,則看門(mén)狗會(huì)自動(dòng)加入開(kāi)通信號(hào),保證開(kāi)關(guān)頻率不低于設(shè)定的最小值,從而從原理上消除了低頻閃爍的產(chǎn)生。閃爍看門(mén)狗原理如圖6
在LED的驅(qū)動(dòng)中,需要保證最小開(kāi)通時(shí)間,即在最短的一段時(shí)間內(nèi),需要保持開(kāi)通信號(hào)恒定。BCCU中提供了一個(gè)打包器用于完成這一功能。
看門(mén)狗配合打包器使用,就可以既保證了最小開(kāi)通時(shí)間,同時(shí)又能保證不產(chǎn)生低頻閃爍。
代碼實(shí)現(xiàn)
{
// 設(shè)定閃速看門(mén)狗的門(mén)限為0xABC
WR_REG(BCCU0->GLOBCON,BCCU_GLOBCON_WDMBN_Msk,BCCU_GLOBCON_WDMBN_Pos,0xABC);
// 打開(kāi)BCCU通道0的閃爍看門(mén)狗
SET_BIT(BCCU0->CHCONFIG0,BCCU_CHCONFIG0_WEN_Pos);
// 設(shè)定BCCU通道0的打包器門(mén)坎為0xA
WR_REG(BCCU0->CHCONFIG0,BCCU_CHCONFIG0_PKTH_Msk,BCCU_CHCONFIG0_PKTH_Pos,0xA);
// 打開(kāi)BCCU通道0的打包器
SET_BIT(BCCU0->CHCONFIG0,BCCU_CHCONFIG0_PEN_Pos);
}
總結(jié)
綜上所述,通過(guò)使用內(nèi)建BCCU單元的XMC1200系列MCU,可以對(duì)LED的進(jìn)行智慧調(diào)光,實(shí)現(xiàn)亮度的指數(shù)調(diào)節(jié),色彩的線性調(diào)節(jié),同時(shí)可以避免低頻時(shí)候產(chǎn)生的閃爍現(xiàn)象,有效的保護(hù)人眼。
XMC1200作為上述特性的單芯片解決方案,可以節(jié)省大量的CPU開(kāi)銷(xiāo),大幅降低軟件開(kāi)發(fā)的時(shí)間,有效的減少人為導(dǎo)致的軟件錯(cuò)誤風(fēng)險(xiǎn)。同時(shí)XMC1200系列MCU具有高性能、大容量,高可靠性的特點(diǎn),可以把智慧調(diào)光廣泛的應(yīng)用于生活、工業(yè)的各個(gè)方面。
評(píng)論