基于S3C2440的LED背光源節電系統設計方案
定時(shí)器輸出時(shí)鐘頻率= PCLK/(prescaler value+1)/(divider value)
TCFG0 寄存器設置:TCFG0=99;//prescaler value=99
TCFG1 寄存器設置:TCFG1=0x03;//divider value=1/16
這樣,當PCLK=400M 時(shí),定時(shí)器輸出頻率為6.25M.
定時(shí)器初值的設置包括:
TCNTB0 寄存器設置:TCNTB0=62500;// 裝入初值1s 中斷一次
TCMPB0 寄存器設置:TCMPB0=rTCNTB0》1;//50%
接著(zhù)就可以啟動(dòng)定時(shí)器,第一次必須手動(dòng)裝載:TCON=1《1;
裝載后, 改為自動(dòng)裝載, 并啟動(dòng)定時(shí)器:TCON=0x09.
S3C2440 芯片內部集成了LCD 控制器,用來(lái)向LCD 傳輸圖像數據,并提供必要的控制信號,比如VFRAME、VLINE、VCLK、VM 等,可以支持STNLCD和TFTLCD.mini2440 采用3.5in(分辨率為240×320像素)的TFT 液晶顯示屏,配置為常用的16BPP(5:6:5)模式。要顯示圖像,只要向LCD_BUFFER 寫(xiě)入像素數據(R(5):G(6):B(5)),LCD 控制器就會(huì )自動(dòng)通過(guò)DMA讀取數據送往TFTLCD顯示。
圖像算法是基于圖像直方圖進(jìn)行數據變換的,所以,首先應編寫(xiě)子程序并先計算形成顯示圖像的灰度直方圖,算法如下所示(其中bmp 為原始的灰度圖像,bmp_2 為灰度值數組):
for( y = 0;y 320;y++ )
{for(x = 0; x 240; x++)
{bmp_2 [bmp[p]] ++;
p = p + 1;
}
}
假設取5%的失真度,那么需要變換的像素點(diǎn)數量為240×320×5%=3,840 點(diǎn),然后根據上述算法原理采用逐點(diǎn)計算的方法使fgl 從灰度0 開(kāi)始分別計算出對應的(fgh- fgl ),最后比較求出min(fgh - fgl)。
下一步對直方圖進(jìn)行線(xiàn)性搬移,使灰度整體向暗區域移動(dòng)fgl,這樣圖像灰度區域由[0,255]區間內的原分布,被壓縮在[0,fgh- fgl]區間。接下來(lái)應對圖像進(jìn)行灰度拉伸,以彌補背光導致的亮度損失。若采取線(xiàn)性拉伸方法, 顯然拉伸的最大倍數為255/ (fgh- fgl)。算法如下所示(其中bmp 為原始的灰度圖像,bmp_new 為更新圖像,min= min(fgh - fgl)):
for(y = 0;y 320;y++)
{for(x = 0;x 240;x++ )
{if (bmp[p]>= fgl )
bmp_new[p] = (bmp[p] - fgl )*255/min;
else
bmp_new[p] =0;
p++;
}
}
此時(shí)像素灰度不會(huì )飽和,則背光亮度可由1 降低為(fgh- fgl)/255,由LED 驅動(dòng)電路通過(guò)PWM 實(shí)現相應亮度的控制。
3 實(shí)驗結果
如圖4 所示為測試圖像,圖4(a)為原始圖像,圖4(b)、(c)、(d)為采用直方圖裁剪與拉伸算法的試驗結果圖。

測試圖4 (b) 的失真度為5% ,節能比例為35% ;測試圖4(c)的失真度為10% ,節能比例為55% ;測試圖4(d)的失真度為20% ,節能比例為67%.由實(shí)驗結果可知,在一定的失真度下,顯然直方圖裁剪的灰度范圍越小,背光亮度可降低的幅度越大。原始測試圖像與經(jīng)過(guò)直方圖裁剪和拉伸的圖像相比,在失真度5%的約束下,由于圖像進(jìn)行了直方圖搬移,整體亮度有所變化,總的來(lái)說(shuō)圖像質(zhì)量沒(méi)有明顯損失。
4 結論
本文提出了基于視覺(jué)特性的液晶顯示器背光源節電調光方法,建立了直方圖裁剪和拉伸的處理框架,并在此基礎上利用ARM 平臺加以驗證,證明本文的方法在失真度為5%的情況下可實(shí)現約35%的背光節電效果,且圖像質(zhì)量沒(méi)有明顯損失。
分頻器相關(guān)文章:分頻器原理
評論