基于S3C2440的LED背光源節電系統設計方案
2.1 LED 背光源驅動設計
本文引用地址:http://www.j9360.com/article/266435.htm設計采用恒流型LED 驅動,輸出電流穩定,保證了背光LED 的亮度恒定,方便通過更改相關的外圍電阻來確定輸出電流的大小,并具有高靈敏度的開關控制功能,能實現通過PWM 來控制LED 的亮度。
AMC7140 是大功率的LED 恒流驅動芯片,寬電壓輸入DC 范圍為5~50V, 輸出電流最大達700mA, 適合驅動1W、3W、5W 的LED 燈,TO- 252- 5L 封裝,帶PWM CONTROL 端(OE 引腳)。如圖2 所示是AMC7140 的引腳圖,其中引腳1 是電源輸入;引腳2 是輸出電流的控制端,通過一個高精度的電阻Rset 接地實現對電流的控制,電流Iset=1.2V/Rset,輸出電流Iout=500×Iset;引腳3 接地;引腳4 是PWM 控制端,高電平有效;引腳5 是輸出端。AMC7140 的應用電路如圖3 所示。


2.2 基于S3C2440 的PWM 控制的實現
S3C2440 有5 個16bit 定時器。定時器0、1、2、3 有脈寬調制功能(PWM);定時器4 是內部定時器,沒有輸出引腳;定時器0 有死區發生器,常用于大電流設備中;定時器0、1 共用一個8bit 預脈沖分頻器,定時器2、3、4 共用另外一個。每個定時器都有一個時鐘分頻器,它可以產生5 種分頻信號(1/2、1/4、1/8、1/16 和TCLK)。每個定時器模塊從自己的時鐘分頻器獲取時鐘信號,時鐘分頻器從相應的8bit 預脈沖分頻器中獲取時鐘。這個8bit 預脈沖分頻器是可編程的,并依據TCFG0 和TCFG1 寄存器中的值對PCLK進行分頻。定時器被使能之后,定時器計數緩沖寄存器(TCNTBn)中的初始值就被加載到遞減計數器中, 定時器比較緩沖寄存器(TCMPBn) 中的初始值就被加載到比較寄存器中,以便與遞減計數器的值進行比較。這種TCNTBn 和TCMPBn 的雙緩沖特點使得定時器在頻率和占空比變化時輸出的信號更加穩定。每個定時器都有一個自己的時鐘驅動的16bit 遞減計數器,當計數器減到0 時,產生一個定時器中斷請求,以通知CPU 定時器操作完成,同時定時器計數緩沖寄存器的值被再次自動加載到遞減計數器繼續下次操作。然而,如果在正常模式下清除定時器TCONn 的使能位,TCNTBn的值將不再加載進計數器,TCNTBn 的值常用于PWM.當遞減計數器的值等于比較寄存器的值,定時器控制邏輯改變輸出電平,因此,比較寄存器決定了PWM 輸出的開啟和關閉。
設置一個定時器,首先初始化TCNTBn 和TCMPBn,在初始化定時器時,主要設定以下幾個寄存器(以定時器0 為例):
定時器輸出時鐘頻率= PCLK/(prescaler value+1)/(divider value)
TCFG0 寄存器設置:TCFG0=99;//prescaler value="99"
TCFG1 寄存器設置:TCFG1=0x03;//divider value="1/16"
這樣,當PCLK=400M 時,定時器輸出頻率為6.25M.
定時器初值的設置包括:
TCNTB0 寄存器設置:TCNTB0=62500;// 裝入初值1s 中斷一次
TCMPB0 寄存器設置:TCMPB0=rTCNTB0》1;//50%
接著就可以啟動定時器,第一次必須手動裝載:TCON=1《1;
裝載后, 改為自動裝載, 并啟動定時器:TCON=0x09.
2.3 基于S3C2440 的圖像算法設計
S3C2440 芯片內部集成了LCD 控制器,用來向LCD 傳輸圖像數據,并提供必要的控制信號,比如VFRAME、VLINE、VCLK、VM 等,可以支持STNLCD和TFTLCD.mini2440 采用3.5in(分辨率為240×320像素)的TFT 液晶顯示屏,配置為常用的16BPP(5:6:5)模式。要顯示圖像,只要向LCD_BUFFER 寫入像素數據(R(5):G(6):B(5)),LCD 控制器就會自動通過DMA讀取數據送往TFTLCD顯示。
圖像算法是基于圖像直方圖進行數據變換的,所以,首先應編寫子程序并先計算形成顯示圖像的灰度直方圖,算法如下所示(其中bmp 為原始的灰度圖像,bmp_2 為灰度值數組):
for( y = 0;y < 320;y++ )
{for(x = 0; x < 240; x++)
{bmp_2 [bmp[p]] ++;
p = p + 1;
}
}
假設取5%的失真度,那么需要變換的像素點數量為240×320×5%=3,840 點,然后根據上述算法原理采用逐點計算的方法使fgl 從灰度0 開始分別計算出對應的(fgh- fgl ),最后比較求出min(fgh - fgl)。
下一步對直方圖進行線性搬移,使灰度整體向暗區域移動fgl,這樣圖像灰度區域由[0,255]區間內的原分布,被壓縮在[0,fgh- fgl]區間。接下來應對圖像進行灰度拉伸,以彌補背光導致的亮度損失。若采取線性拉伸方法, 顯然拉伸的最大倍數為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++;
}
}
此時像素灰度不會飽和,則背光亮度可由1 降低為(fgh- fgl)/255,由LED 驅動電路通過PWM 實現相應亮度的控制。
3 實驗結果
如圖4 所示為測試圖像,圖4(a)為原始圖像,圖4(b)、(c)、(d)為采用直方圖裁剪與拉伸算法的試驗結果圖。

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