詳解TCC89x的LCD數(shù)值設(shè)置
//=====================================================================
本文引用地址:http://www.ex-cimer.com/article/201609/304825.htm//TITLE:
// 詳解TCC89x的LCD數(shù)值設(shè)置
//AUTHOR:
// norains
//DATE:
// Tuesday 7-December-2010
//Environment:
// Visual Studio 2005
// Windows CE 6.0
// Telechips Magellan 1.9.1
//=====================================================================
如果大家使用TCC89x作為產(chǎn)品研發(fā)的話,我估計(jì)沒有幾個(gè)人會(huì)直接采用EVB上的LCD型號——價(jià)格太高,又面臨停產(chǎn)。所以,替換相應(yīng)的LCD屏,是大勢所趨。不過,不同的屏有不同規(guī)格,如何才能讓屏正常工作呢?
要想正常調(diào)試LCD,我們先來了解Telechips Magellan BSP里是如何對LCD進(jìn)行設(shè)置的。如果各位朋友仔細(xì)查看過Magellan的代碼,會(huì)發(fā)現(xiàn)Driver里是沒有對LCD進(jìn)行設(shè)置的代碼;對LCD的設(shè)置代碼,全部位于BOOT文件夾中。更確切點(diǎn),是位于BOOT文件夾下的LCD.cpp文件。這也不難理解,因?yàn)闊o論是處于Bootloader階段,還是進(jìn)入WinCE之后,都必須要進(jìn)行顯示,而這兩個(gè)階段的顯示對于LCD的設(shè)置都是一樣的,所以就沒有必要在WinCE中再次對LCD進(jìn)行設(shè)置。
對于不同LCD型號的設(shè)置,一切都在于LCD.h文件中的lcd_cfg數(shù)組,其定義如下:
仔細(xì)看圖的朋友可能對數(shù)組上的注釋有所迷惑,比如,VPW,VBP這些究竟是什么東西?可能縮寫大家有點(diǎn)看不明白,我就將相應(yīng)的定義羅列如下:
W:Width
H:Height
VPW:Vsync Pulse Width
VBP:VSYNC Back Porch
VFP:Vertical front Porch
HPW:Hsync Pulse Width
HBP:Hsync Back Porch
HFP:Hsync Front Porch
PWDX:Output Format
FREQ:Frequency
在這些數(shù)值當(dāng)中,除了W,H,PWDX和FREQ以外,都是和具體的LCD有關(guān)的。而這些有關(guān)的數(shù)值,都可以在相應(yīng)的LCD屏中能夠找到。以AT070TN83這款LCD為例子,其有個(gè)表格,指明了這些數(shù)值的范圍,如圖:
我們只要根據(jù)LCD的Datasheet推薦的數(shù)值直接填到lcd_cfg數(shù)組中即可。
那么,剩下的W,H,PWDX和FREQ又是什么數(shù)值呢?W和H比較好辦,這個(gè)是和分辨率有關(guān)的,如果LCD的分辨率是800x480,那么W就為800,H就是480。至于輸出格式PWDX嘛,那就必須要看TCC89x的Datasheet了,如圖:
從圖中可以知道,如果LCD接收的是RGB888 24bit的信號,那么PWDX就設(shè)置為12,否則就可以參考列表選擇一個(gè)最合適的數(shù)值。
最后的一個(gè)數(shù)值FREQ,其實(shí)意義不大,因?yàn)?0的頻率能夠適應(yīng)大部分的TFT屏。但如果LCD對于輸出頻率有嚴(yán)格的要求,并且經(jīng)過上面的數(shù)值設(shè)置還無法正常工作,可以嘗試調(diào)節(jié)這個(gè)數(shù)值試試。
評論