詳解TCC89x的LCD數值設置
//=====================================================================
本文引用地址:http://www.104case.com/article/201609/304825.htm//TITLE:
// 詳解TCC89x的LCD數值設置
//AUTHOR:
// norains
//DATE:
// Tuesday 7-December-2010
//Environment:
// Visual Studio 2005
// Windows CE 6.0
// Telechips Magellan 1.9.1
//=====================================================================
如果大家使用TCC89x作為產品研發的話,我估計沒有幾個人會直接采用EVB上的LCD型號——價格太高,又面臨停產。所以,替換相應的LCD屏,是大勢所趨。不過,不同的屏有不同規格,如何才能讓屏正常工作呢?
要想正常調試LCD,我們先來了解Telechips Magellan BSP里是如何對LCD進行設置的。如果各位朋友仔細查看過Magellan的代碼,會發現Driver里是沒有對LCD進行設置的代碼;對LCD的設置代碼,全部位于BOOT文件夾中。更確切點,是位于BOOT文件夾下的LCD.cpp文件。這也不難理解,因為無論是處于Bootloader階段,還是進入WinCE之后,都必須要進行顯示,而這兩個階段的顯示對于LCD的設置都是一樣的,所以就沒有必要在WinCE中再次對LCD進行設置。
對于不同LCD型號的設置,一切都在于LCD.h文件中的lcd_cfg數組,其定義如下:

仔細看圖的朋友可能對數組上的注釋有所迷惑,比如,VPW,VBP這些究竟是什么東西?可能縮寫大家有點看不明白,我就將相應的定義羅列如下:
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
在這些數值當中,除了W,H,PWDX和FREQ以外,都是和具體的LCD有關的。而這些有關的數值,都可以在相應的LCD屏中能夠找到。以AT070TN83這款LCD為例子,其有個表格,指明了這些數值的范圍,如圖:

我們只要根據LCD的Datasheet推薦的數值直接填到lcd_cfg數組中即可。
那么,剩下的W,H,PWDX和FREQ又是什么數值呢?W和H比較好辦,這個是和分辨率有關的,如果LCD的分辨率是800x480,那么W就為800,H就是480。至于輸出格式PWDX嘛,那就必須要看TCC89x的Datasheet了,如圖:

從圖中可以知道,如果LCD接收的是RGB888 24bit的信號,那么PWDX就設置為12,否則就可以參考列表選擇一個最合適的數值。
最后的一個數值FREQ,其實意義不大,因為60的頻率能夠適應大部分的TFT屏。但如果LCD對于輸出頻率有嚴格的要求,并且經過上面的數值設置還無法正常工作,可以嘗試調節這個數值試試。
評論