S5pv210 LCD 驅動 時序相關

來源:互聯網
上載者:User

第一次調試lcd驅動的話是不是對下面的結構有點陌生,不知道那些值是如何得來的,當然我就屬於其中的一個

點擊(此處)摺疊或開啟

  1. static struct s3cfb_lcd lte480wv = {
  2.     .width    = 1024,//800,
  3.     .height    = 600,//480,
  4.     .bpp    = 24,//24,//32,
  5.     .freq    = 45,//45,//60
  6.     .timing = {  //這裡主要會影響映像在LCD上顯示的位置,位移啥的
  7.         .h_fp    = 160,//210,//8,
  8.         .h_bp    = 160,//46,//13,
  9.         .h_sw    = 16,    // 3
  10.         .v_fp    = 12,//12,//15,//22, liao
  11.         .v_fpe    = 0,/*1,//0,*/
  12.         .v_bp    = 23,//22, liao
  13.         .v_bpe    = 0,/*1,//0,*/
  14.         .v_sw    = 2,//
  15.     },
  16.     .polarity = {  //這幾個參數挺重要的,判斷你極性是否要反轉(0--normal,1---inverted)
  17.         .rise_vclk    = 0,
  18.         .inv_hsync    = 1,
  19.         .inv_vsync    = 1,
  20.         .inv_vden    = 0,
  21.     },
  22. };

好吧,言歸正傳,首先有必要理解幾個定義:

一般TFT型LCD時序圖如下所示

圖1

我們先來理解下面引腳有寄存器中相關參數的意義吧

 

外部引腳訊號:

 

VSYNC: 幀同步訊號,表示掃描1幀的開始,一幀也就是LCD顯示的一個畫面。

HSYNC: 行同步訊號,表示掃描1行的開始。

VDEN:資料使能訊號。

VD[23:0] : LCD像素資料輸出連接埠。

VCLK:像素時鐘訊號。

 

寄存器參數:

 

VSPW:幀同步訊號的脈寬,單位為1行(Line)的時間。

VFPD: 幀同步訊號的前肩,單位為1行(Line)的時間。

VBPD: 幀同步訊號的後肩,單位為1行(Line)的時間。

LINEVAL :幀顯示尺寸-1,即屏行寬-1,對於800*480分配率的LCD屏,那麼LINEVAL=480-1=479,請記住,是屏行寬,也就是LCD屏顯示一幀資料所需要的行的數目。

 

HBPD:行同步訊號的後肩,單位為1VCLK的時間。

HFPD:行同步訊號的前肩,單位為1VCLK的時間。

HSPW:行同步訊號的脈寬,單位為1VCLK的時間。

HOZVAL:行顯示尺寸-1,即屏列寬-1,對於800*480分配率的LCD屏,那麼HOZVAL=800-1=799,請記住,是屏列寬,也就是LCD屏顯示一行資料所需要的像素(pixel)的數目。

 

由圖1可知:

掃描一幀所需的時間:

=((VSPW+1)+(VBPD+1)+( LINEVAL+1)+(VFPD+1))個行時間。

 

掃描一行所所需的時間:

= ((HSPW+1)+(HSPD+1)+(HFPD+1)+ (HOZVAL+1))個VCLK時間。

 

而一個VCLK時間由LCD寄存器VIDCON0內的CLKVAL決定:

=HCLK/(CLKVAL+1)  ------>這個公式是S3C2443的LCD控制器的,其他CPU的不一定一樣

 

因此掃描一幀所需的時間:

T=[(VSPW+1)+(VBPD+1)+(LINEVAL+1)+(VFPD+1)]*[(HSPW+1)+(HSPD+1)+(HFPD+1)+ (HOZVAL+1)]* HCLK/ (CLKVAL+1)

 

即幀頻率為:1/T

 

1.首先來判斷 HSYNC,VSYNC,VCLK, VDEN訊號是否需要反轉

 

這個其實還挺好判斷的,主要就是通過你主控的介紹lcd的時序圖,在結合你屏廠的spec文檔的時序圖就可以完全判斷出來了

先看LCD控制器預設情況下送出來的TFT LCD屏的時序圖:

再來看屏廠的提供的時序圖

看上面的介紹應該知道需要反轉HSYNC,VSYNC,VCLK訊號輸出,這樣才能輸出滿足lcd所需要的時序圖

 

再來看看timing這個結構體如何配置,如果提供下面這個參數就很好確定相關的數值了

 

h_fp  = (horizontal total time)- 1024

f_sw  =  (horizontal total time)- 1024 - h_fp    

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.