天天看點

framebuffer驅動開發一

這裡我使用的是mini2440核心闆和s3c2440一樣是以我們這裡使用時TFT螢幕,TFT螢幕也是未來的主流

硬體分析:

framebuffer驅動開發一

這裡VYSNC是幀同步信号,每發送一次螢幕會換一屏,而HSYNC是行同步信号,VDEN用來表明信号的有效性,VCLK用來視訊鎖存的時鐘,VSYNC的前回掃時間是(VSPW+1)+(VBPD+1),後回掃時間是(VBPD+1),HSYNC的前回掃時間是(HSPW+1)+(HBPD+1),後回掃時間是(HFPD+1),mini2440上的LCD屏是一個TFT3.5寸屏,螢幕時序如下圖:

framebuffer驅動開發一

根據時序圖可以得出VSPW,VBPD,HSPW,HSPD的值(對比可知DCLK就是晶片手冊的VCLK)。

  VSPW:VSYNC脈沖寬度

  VSPW+1 =>  VBPD:當發起VSYNC信号多久以後開始寫第一行資料

  VBPD+1=tvb-tvpw=23-10=13=>VBPD=12

  VFPD:寫下一幀的時間間隔

  VFPD+1=tvfp=22=>VFPD=21

  HSPW:HSYNC的脈沖寬度

  HSPW+1=thpw=20=>HSPW=19

  HBPD:發起HSYNC信号多久以後開始寫第一個像素

  HBPD+1=46-20=>HBPD=25

  HFPD:寫下一行的時間間隔

  HFPD+1=thfp=210=>HFPD=209

TFT的控制方法如下圖

framebuffer驅動開發一

REGBANK 是LCD控制器的寄存器組,用來對LCD控制器的各項參數進行設定。而 LCDCDMA 則是LCD控制器專用的DMA信道,負責将視訊資料從系統總線(System Bus)上取來,通過 VIDPRCS 從VD[23:0]發送給LCD屏。同時 TIMEGEN 和 LPC3600 負責産生 LCD屏所需要的控制時序,例如VSYNC、HSYNC、VCLK、VDEN,然後從 VIDEO MUX 送給LCD屏。    

繼續閱讀