小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

s3c2440-lcd控制器參數(shù)如何設定

 lifei_szdz 2012-05-31

s3c2440lcd控制器參數(shù)如何設定 



       具體設置需參照CPU文檔中LCD控制器部分或顯示芯片的硬件手冊,我的是cpus3c2440,屏是三星橫屏—LTV350QV-F04(帶觸摸屏),分辨率是320*240. 該液晶模塊的顯示格式為320×3×240。即顯示屏每行具有320個像素點,共240行;每個像素點由RGB(紅、綠、藍)三種顏色組成。


 


S3C2410 LCD控制器的特性:


STN
-支持3種掃描方式:4bit單掃、4位雙掃和8位單掃
-支持單色、4級灰度和16級灰度屏
-支持256色和4096色彩色STN屏(CSTN
-支持分辯率為640*480320*240、160*160以及其它規(guī)格的多種LCD


TFT
-支持單色、4級灰度、256色的調色板顯示模式
-支持64K16M色非調色板顯示模式
-支持分辯率為640*480320*240及其它多種規(guī)格的LCD
對于控制TFT屏來說,除了要給它送視頻資料(VD[23:0])以外,還有以下一些信號是必不可少的,分別是:
VSYNC
VFRAME) :幀同步信號
HSYNC
VLINE) :行同步信號
VCLK
:像數(shù)時鐘信號
VDEN
VM) :數(shù)據(jù)有效標志信號


 


先看看我的觸摸屏提供的驅動參數(shù):主要是要設置lcdcon1,lcdcon2,lcdcon3,lcdcon4,lcdcon5寄存器里的參數(shù): CLKVAL,VBPD, LINEVAL, VFPD, VSPW, HBPD, HOZVAL, HFPD, MVAL, HSPW, INVVLINE, INVVFRAME, HWSWP(下面將會詳細介紹這些參數(shù)是如何計算出來的)


#elif   defined(CONFIG_FB_S3C2410_S320240)


static struct s3c2410fb_mach_info sbc2440_lcdcfg __initdata = {


    .regs   = {


        .lcdcon1 =  S3C2410_LCDCON1_TFT16BPP | \


                S3C2410_LCDCON1_TFT | \


                S3C2410_LCDCON1_CLKVAL(0x03),


 


        .lcdcon2 =  S3C2410_LCDCON2_VBPD(3) | \


                S3C2410_LCDCON2_LINEVAL(239) | \


                S3C2410_LCDCON2_VFPD(5) | \


                S3C2410_LCDCON2_VSPW(15),


 


        .lcdcon3 =  S3C2410_LCDCON3_HBPD(5) | \


                S3C2410_LCDCON3_HOZVAL(319) | \


                S3C2410_LCDCON3_HFPD(15),


 


        .lcdcon4 =  S3C2410_LCDCON4_MVAL(13) | \


                S3C2410_LCDCON4_HSPW(8),


 


        .lcdcon5 =  S3C2410_LCDCON5_FRM565 |


                S3C2410_LCDCON5_INVVLINE |


                S3C2410_LCDCON5_INVVFRAME |


                S3C2410_LCDCON5_PWREN |


                S3C2410_LCDCON5_HWSWP,


    },


 


    .lpcsel =   0xf82,


 


    .gpccon =   0xaa955699,


    .gpccon_mask =  0xffc003cc,


    .gpcup =    0x0000ffff,


    .gpcup_mask =   0xffffffff,


 


    .gpdcon =   0xaa95aaa1,


    .gpdcon_mask =  0xffc0fff0,


    .gpdup =    0x0000faff,


    .gpdup_mask =   0xffffffff,


 


    .fixed_syncs =  1,


    .width  =   320,


    .height =   240,


 


    .xres   = {


        .min =      320,


        .max =      320,


        .defval =   320,


    },


 


    .yres   = {


        .max =      240,


        .min =      240,


        .defval =   240,


    },


 


    .bpp    = {


        .min =      16,


        .max =      16,


        .defval =   16,


    },


};


 


Lcd提供的外圍接口如下圖:


 


 


 


注意:TSXM,TSYM,TSXP,TSYP等引腳是用于觸摸屏的,一會詳細介紹。


S3c2440lcd控制器電路


 


 


s3c2440的觸摸屏信號引腳:


 


Lcd控制器的內部結構:


Lcd控制器的引腳功能:


 


                                            


 


 


.   LCD控制器的外部接口信號


◎     VFRAMELCD控制器和LCD驅動器之間的幀同步信號。該信號告訴LCD屏的新的一幀開始了。LCD控制器在一個完整幀顯示完成后立即插入一個VFRAME信號,開始新一幀的顯示;該信號與LCD模塊接口的VFRAME信號相對應。
◎VLINE
LCD控制器和LCD驅動器之間的線同步脈沖信號,該信號用于LCD驅動器將水平線(行)移位寄存器的內容傳送給LCD屏顯示。LCD控制器在整個水平線(整行)數(shù)據(jù)移入LCD驅動器后,插入一個VLINE信號;該信號與LCD模塊的VLINE信號相對應。
◎ VCLK
LCD控制器和LCD驅動器之間的像素時鐘信號,由LCD控制器送出的數(shù)據(jù)在VCLK的上升沿處送出,在VCLK的下降沿處被LCD驅動器采樣;該信號與LCD模塊的VCLK信號相對應。
◎ VM
LCD驅動器的AC信號。VM信號被LCD驅動器用于改變行和列的電壓極性,從而控制像素點的顯示或熄滅。VM信號可以與每個幀同步,也可以與可變數(shù)量的VLINE信號同步;
◎ VD[23:0]
LCD像素點數(shù)據(jù)輸出端口。與LCD模塊的VD[23:0]相對應。


TFT時序例子:


 


VSPWTFT: Vertical sync pulse width determines the VSYNC pulse's high level width by counting the number of inactive lines.
HSPW
TFT: Horizontal sync pulse width determines the HSYNC pulse's high level width by counting the number of the VCLK.

VSPW
指的是VSYNC處于高電平時的線的數(shù)目。
HSPW
指的是HSYNC處于高電平時的VCLK的數(shù)目。


 


 


VBPD 列開始等待周期 7r#Kqf7PC  (VBPD 是指LCD顯示每幀開始時有這么多個周期是沒有圖像信號輸出的,目的是為了同步.取值范圍與所使用的LCD屏參數(shù)有關)
VSPW
列有效脈沖寬度 AmLWq^^0  
VFPD
列結束等待周期 <(Z-?:q






X4  


 


HBPD 行開始等待周期 7r#Kqf7PC  
HSPW
行有效脈沖寬度 AmLWq^^0  
HFPD
行結束等待周期 <(Z-?:q






X4  


從上面的時序圖可以看出VBPD, VSPW, VFPD, HBPD, HSPW, HFPD的作用.


 


 


 


幾個參數(shù)的設置方法:
HSPW
: 行同步肪沖寬度 (4.8us左右(4.8/點時鐘(1.6.4)))
HBPD:
行可視范圍前肩
HFPD:
行可視范圍后肩 (這兩個要慢慢調,確定圖像的左右位置)
行頻(14.9~22.35)=1/((HSPW+1)+(HBPD+1)+(HFPD+1)+320)*(點時鐘1/6.4)
只要行頻在這個范圍都可以。

VSPW:
場同步脈沖寬度 (N/P制好象有點不同,一般是2.5行,取3-1就可以了)
VBPD:
幀可視前肩
VFPD:
幀可視后肩
這兩個用來調整幀畫面在靠上/靠下位置,如果場頻取60的話,一幀時間是1/60 = 16.67ms,假如行頻取15.75,由一行時間為1/15.75=0.064ms,則一幀總行數(shù)為
16.67/0.064 = 262
,262 = ((VSPW+1)+(VFPD+1)+(VBPD+1)

所以,只要確定了行頻,就可以推算出點時鐘及其他參數(shù),只要行場同步對了,圖像肯定可以出來,只需微調位置就可以了。
另,如果你的clkval_calc = 9話,HCLK=133,點時鐘應該是133/20,應該在6.65M.


 


Virtual display:


 


 


我的三星屏的特性:


Lcd屏的一些重要參數(shù)(注意――frame frequency――dot clock


Frame frequency不能大過90hz


Dot clock不能大過30Mhz


 


 


Lcd屏的硬件電路:


Lcd屏各引腳的定義:


TFT控制器介紹
   
通過對REGBANK 寄存器組中的LCDCON1/2/3/4/5進行配置,TIMEGEN產生可編程控制信號來支持不同類型的LCD驅動器。
    VSYNC
HSYNC脈沖與LCDCON2/3HOZVALLINEVAL設置相關,HOZVALLINEVAL的值由LCD屏的分辨率決定,如下公式:
    HOZVAL=(Horizontal display size)-1    (1)
    LINEVAL=(Vertical display size)-1   (2)
    VCLK
的頻率取決于LCDCON1CLKVAL的設置,在LCDCON1中配置,VCLKCLKVAL的關系如下(CLKVAL的最小值是0)
    VCLK(Hz)=HCLK/[(CLKVAL+1)×2]    (3)
    HCLK
S3C2440A PLL時鐘發(fā)生器產生的時鐘信號。
    VSYNC
的頻率即為幀頻,它與LCDCON1/2/3/4均有關,計算公式如下:
FrameRate=1/{[(VSPW+1)+(VBPD+1)+(LINEVAL+1)+(VFPD+1)]×[(HSPW+1)+(HBPD+1)+(HFPD+1)+(HOZVAL+1)]×[2×(CLKVAL+1)/(HCLK)]} (4)


S3c2440時序計算公式


 


像素頻率VCLK:


 


要作的工作就是修改相應的點頻、幀頻、場頻、屏的長寬、及色彩位數(shù)


現(xiàn)在我們來對比LTV350QV-F04的時序和lcd控制器的時序:


1) LTV350QV-F04的時序


2) lcd控制器的時序


TFT屏的典型時序。其中VSYNC是幀同步信號,VSYNC每發(fā)出1個脈沖,都意味著新的1屏視頻資料開始發(fā)送。而HSYNC為行同步信號,每個 HSYNC脈沖都表明新的1行視頻資料開始發(fā)送。而VDEN則用來標明視頻資料的有效,VCLK是用來鎖存視頻資料的像數(shù)時鐘。

并且在幀同步以及行同步的頭尾都必須留有回掃時間,例如對于VSYNC來說前回掃時間就是(VSPW+1)+(VBPD+1),后回掃時間就是(VFPD +1);HSYNC亦類同。這樣的時序要求是當初CRT顯示器由于電子槍偏轉需要時間,但后來成了實際上的工業(yè)標準,乃至于后來出現(xiàn)的TFT屏為了在時序上于CRT兼容,也采用了這樣的控制時序。


 


比較可以得出
(
前回掃時間) VBP = (VBPD+1)+(VSPW+1) = 0x0A  =》VBPD=0x06   //0x0a為估值
 (VSYNC
處于高電平時的線的數(shù)目)VLW = VSPW+1 = 0x03  =》VSPW=0x02     //行為單位 垂直同步寬度圖中為2H這里取的3
后回掃時間)VFP = VFPD+1 = 0x04  =》VFPD=0x03         //圖中為>=3H,這里取的4

 HBP = (HBPD+1)+(HSPW+1) = 0x21 
=》HBPD=0x0D
 HLW = (HSPW+1) = 0x13 
=》HSPW=0x12       //圖中可見為19clk
 HFP = HFPD+1 = 0x04 
=》HFPD=0x03           //圖中并沒有給出值,這里可能取的估值

其中,VBPVLW、VFPHBP、HLW、HFPLTV350QV手冊中的術語
      VBPD
、VSPWVFPD、HBPDHSPW、HFPDS3C2440手冊中需要設置的寄存器


DOTCLK = Fframe × (240 + VBP + VFP) × (320 + HBP + HFP)


= 75Hz × (240 + VBP + VFP) × (320 + HBP + HFP)


Fframe手冊規(guī)定60-90Hz,上邊VBP等以手冊中的術語,取值要換算成手冊為準


====èby zfh


上邊的0x0A, 0x03,等值為依據(jù)屏手冊圖估量值,垂直以行為單位,水平以像素為單位.若程序驗證得到的圖像有偏移可以調整VBPD   水平調HBPD


 


 


最后調整后clkval=8


VBPD=20 ,VFPD=3 VSPW =2


HBPD=4,HFPD=3,  HSPW="18"


 


VBP =(20+1) +(2+1) =24


 VFP = VFPD+1 =4


 HBP = (HBPD+1)+(HSPW+1)=4+1+18+1=24


 HFP = HFPD+1=4


DOTCLK = Fframe × (240 + VBP + VFP) × (320 + HBP + HFP)


= Fframe *(240+24+4)*(320+24+4)


若取2410 HCLK =101MHz (clkval=8) 則據(jù)2410手冊LCD部分DOTCLK =101/(8+1)*2 =5.6MHz  則可算出Fframe =60Hz 可以滿足應用。


LTV350QV調試記要:


網址: http://www./blog/index_en.php?itemid=278&catid=3


◎ spi接口的配置是很重要的 配置成了才會有反映、MVCOM才看得到

◎ spi
接口的片選信號是不可以少的,如果用2440spi模塊,片選信號要記的加延時,因為spi模塊輸出數(shù)據(jù)需要時間

延時函數(shù)要寫好,手冊要求的延時都要滿足,足夠長

◎ 2440
lcd模塊配置,三個主要信號都應該用反向、上升沿取數(shù)、Half-Word換序

電源的紋波、VCOM的幅度會明顯影響顯示的效果和顏色

◎ LTV350QV
的手冊描述時序和S3C2440的時序手冊要對照看:



LTV350
手冊上的時序



S3C2440
手冊上的時序


比較可以得出
 VBP = (VBPD+1)+(VSPW+1) = 0x0A 
=》VBPD=0x06
 VLW = VSPW+1 = 0x03 
=》VSPW=0x02
 VFP = VFPD+1 = 0x04 
=》VFPD=0x03

 HBP = (HBPD+1)+(HSPW+1) = 0x21 
=》HBPD=0x0D
 HLW = (HSPW+1) = 0x13 
=》HSPW=0x12
 HFP = HFPD+1 = 0x04 
=》HFPD=0x03

其中,VBP、VLWVFP、HBPHLW、HFPLTV350QV手冊中的術語
      VBPD
、VSPW、VFPDHBPD、HSPWHFPDS3C2440手冊中需要設置的寄存器


調LCD屏LTV350QV的心得


網址: http://blog.csdn.net/youta_chen/archive/2008/05/11/2433889.aspx


note:LTV350QV-F0E


    因為沒經驗, 整了我近半個月,暈死


1 vertical_syn_lenth第一重要,需要反復調試,計算不了;若在屏上得不到正確的縱坐標,八成是它的問題


2 horizontal_syn_lenth 第二重要,若能在屏上正確表示橫軸坐標,八成它錯不了      


其中(1),(2)參數(shù)設置正確,就一定能顯示圖像;沒圖像,絕對是它們的問題


3left_margin,right_margin, upper_margin,lower_margin參數(shù)影響不大,看到圖像調就OK    (我之前就是沒正確圖像,縱坐標錯誤,把這四個參數(shù)瞎調了一通,浪費了巨多時間)


4)像素時鐘,dotclk,給個datasheet計算值或參考值, 影響也不大  


其次硬件設計問題:


 (1) vcom是個方波,低在0.4,高為3.68,datasheet沒說得很清楚,不了解還以為它只要在0.4-3.68范圍波動就OK了呢;     


一般若初始化LCD成功,LCD M引腳就會送出0-4V的方波用以產生VCOM信號,電路設計可反向或運放一下都可以;   


這個信號影響圖像的色彩亮度和分辨率,設計時最好弄2個可調電阻以方便對著圖像調色彩;


2VGH 17-19v),VGL (-11~-9v)設計要達標,我們的參數(shù)是VGH 17.4,VGL -10.4


3)數(shù)模電源AVDD,DVDD正確再次,LCD的初始化問題:整了1 LTV350QV采用的是SPI三根線延時要給夠,因為只需要在linux的初始化階段發(fā)送少量的數(shù)據(jù),最方便的做法就是采用GPIO口模擬SPI發(fā)數(shù) 據(jù),簡單、高效。初始化正確后,LCD一般都有色彩顯示,不管再少,看到星點兒彩色,基本就能肯定初始化正確了。

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多