Tuesday, March 06, 2012

lcd時序解疑

資料來源:lcd時序解疑


這裡主要是針對嵌入式開發常用的TFT-LCD系統作一些淺顯的分析,討論了大家在學習LCD時最容易混淆的一個地方,若有講的不對的地方那個,還請指正。
1. TFT-LCD系統的構成主要由三部分構成:TFT-LCD控制器、TFT-LCD驅動器和TFT-LCD屏。TFT-LCD控制器一般是集成在MCU中的,比如S3C2410的LCD控制器;而TFT-LCD驅動器和TFT-LCD屏一般就構成了我們常說的TFT液晶模塊,注意液晶和液晶模塊的區別,記得大學的嵌入式老師經常說:「你們一定要說買液晶模塊,而不要說買液晶,免得別人說你外行」。TFT液晶模塊除了這兩個部分外,還有背光電路和FPC接口等。如下圖。 TFT-LCD驅動器一般是由專用芯片構成的。常見的有ILI9325、NT39115等。這些芯片的主要是接收MCU的LCD控制器傳過來的RGB數據,根據這些RGB值,然後控制液晶點陣顯示相應的內容。那有人會問了,直接把RGB送給液晶不行嗎,為什麼要LCD驅動芯片呢?這是因為,要顯示一個像素單元,需要三個液晶點,分別來代表RGB三原色,而這三個液晶點,需要接三根source driver線和一根gate driver線,才能完成對這個像素單元的顯示控制,所以,對於一塊240*320像素的液晶,需要720根source driver線和320根gate driver線,而一般的MCU的所有接口加起來也超不過500個,所以,必須用專用LCD驅動芯片。


2. 從CRT掃瞄說起電視在顯示圖像的時候,把一幀分成了兩場來顯示,一個場由幀中的奇數行組成,叫做奇場;另一個場由幀中的偶數行組成,叫做偶場。之所以要這樣做,主要是因為在CRT顯像管上每秒鐘顯示25幀圖像時,人眼感覺到連續性還是不太好,而且還有明顯的閃爍,一幀分成兩場後,場頻為50Hz,圖像更加連續一些。當然還有一些別的原因,與電路設計方面有關。而掃完一場後,回到開始處從新掃瞄的過程叫做回掃,也即場消隱(field blanking)。同樣的也有行消隱(line blanking)。見下圖。這方面的詳細資料可以參考Video Electronics Standards Association發佈的Monitor Timing Standard標準文檔。圖中顯示是:Blanking = Front Porch + Sync + Back Porch。即,消隱時間 = 同步前沿 + 同步時間 + 同步後沿,而現在的LCD顯示器為了兼容這種場掃瞄模式,也採用消隱的做法。不同的是以前的CRT顯示一幀畫面,分兩場掃瞄,而現在的LCD顯示一幀只需要掃瞄一次。所以,以前的說法是行場(line、field),現在的說法是線幀(Horizontal、vertical)。也就是說以前是場消隱,現在是幀消隱。上面講的時序仍然是LCD驅動器對LCD屏的控制時序,還不是LCD控制器的時序。


3.LCD控制器時序我們都知道,一般的TFT-LCD的顯示刷新頻率是60Hz,也就是每秒鐘顯示60幀畫面。而我們視頻播放幀率是23~30fps,我們大概不會利用LCD控制器每秒送60幀圖像的RGB信息給LCD吧,一般是每秒鐘送20~30幀的RGB信息給LCD,讓其顯示。其實,我們是通過LCD控制器把RGB數據送給LCD驅動器,LCD驅動器就把它放到緩存中,然後以60fps的速度送給LCD屏顯示。可能有人會問,視頻幀率有多大,LCD就顯示多快,不行嗎?不行,由於液晶分子有一種特性,就是不能夠一直固定在某一個電壓不變,不然時間久了,液晶分子就遭到了破壞。所以要以一定的頻率(通常是60Hz)不停的刷新LCD屏,然後在幀消隱的時間裡,變換顯示電壓極性,達到保護液晶的目的。對於PAL制式的CRT顯示器,幀頻是25Hz,場頻是50Hz,這時,視頻幀率和顯示器刷新率是相同的。而我們在嵌入式當中使用TFT-LCD顯示器,視頻幀率一般是不等於顯示器幀率的。所以,LCD控制器時序和LCD驅動器時序(LCD顯示掃瞄時序)雖然表示方法大體相同,但有實質上的區別,LCD控制器時序控制著視頻幀率;LCD驅動器時序控制著顯示器刷新率。這是大家在學習LCD的時候最容易混淆的地方。下面以S3C2410的TFT-LCD控制器說明一下。見下圖。其中VSYNC是幀同步信號,VSYNC每發出1個脈衝,都意味著新的1屏視頻資料開始發送。而HSYNC為線同步信號,每個HSYNC脈衝都表明新的1掃瞄線視頻資料開始發送。而VDEN則用來標明視頻資料的有效,VCLK是用來鎖存視頻資料的像數時鐘。並且在幀同步以及線同步的頭尾都必須留有消隱時間,例如對於VSYNC來說消隱時間是(VSPW+1)+(VBPD+1)+ (VFPD+1);HSYNC亦類同。其中: VSPW:Vertical sync pulse width,也就是VSYNC處於高電平時的線的數目 VFPD:Vertical front porch delay VBPD:Vertical back porch delay HSPW:Hertical sync pulse width,也就是HSYNC處於高電平時的VCLK的數目 HFPD:Hertical front porch delay HBPD:Hertical back porch delay

No comments: