国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

嵌入式LCD裸機驅(qū)動的設(shè)計與實現(xiàn)

2017-01-11 05:19:18王永濤
沈陽理工大學(xué)學(xué)報 2016年6期
關(guān)鍵詞:字段寄存器處理器

王永濤,虞 闖

(沈陽理工大學(xué) 信息科學(xué)與工程學(xué)院,沈陽 110159)

嵌入式LCD裸機驅(qū)動的設(shè)計與實現(xiàn)

王永濤,虞 闖

(沈陽理工大學(xué) 信息科學(xué)與工程學(xué)院,沈陽 110159)

設(shè)計一個典型的基于arm架構(gòu)處理器的TFT-LCD顯示系統(tǒng),處理器采用三星公司的S3C2440A,顯示器采用東華的WXCAT43-TG6液晶顯示模塊,通過對S3C2440A處理器中LCD控制寄存器中參數(shù)的分析,以及對WXCAT43-TG6模塊的控制時序和邏輯要求的研究,實現(xiàn)了由S3C2440控制WXCAT43-TG6圖像顯示的設(shè)計。

ARM;S3C2440;TFT-LCD;WXCAT43-TG6

隨著技術(shù)的不斷發(fā)展,嵌入式技術(shù)與顯示技術(shù)越來越受到人們的關(guān)注[1]。目前,國內(nèi)TFT-LCD技術(shù)與嵌入式技術(shù)的結(jié)合還處在初級階段,TFT-LCD主要應(yīng)用與低端處理器與高端智能產(chǎn)品中,在中低端產(chǎn)品中的應(yīng)用還不夠廣泛。本文采用arm9處理器設(shè)計了一種典型的TFT-LCD顯示系統(tǒng)。WXCAT43-TG6是一種有源矩陣液晶顯示器模塊,其由驅(qū)動電路、背光燈和4線電阻觸摸屏組成,分辨率為480×272像素,用24bit數(shù)據(jù)信號能顯示16777216種色,適用于各種終端設(shè)備的顯示。

1 LCD控制器分析

處理器S3C2440A中的LCD 控制器可以用于傳輸視頻數(shù)據(jù)并且產(chǎn)生必要的控制信號,例如VCLK、VM 、VFRAME和VLINE等。除此之外,S3C2440A處理器還集成了傳輸視頻數(shù)據(jù)的數(shù)據(jù)端口,如圖1所示, 其中VD[23∶0]即為傳輸視頻數(shù)據(jù)的數(shù)據(jù)端口。在LCD控制器中主要包括 LPC3600、VIDPRCS、REGBANK、TIMEGEN 和 LCDCDMA等。其中, LCDCDMA模塊專門用于控制DMA,它可以通過專用DMA自動地把幀存儲器中的視頻數(shù)據(jù)讀取并傳輸;VIDPRCS用來接收LCDCDMA傳來的視頻數(shù)據(jù),然后將數(shù)據(jù)變換為特定的格式,再通過VD[23∶0]數(shù)據(jù)端口將其發(fā)送到LCD驅(qū)動器中,例如4/8位單掃描或4位雙掃描顯示模式;在REGBANK模塊中包含用于配制LCD控制器的256×16個調(diào)色存儲器和17個可編程寄存器集;TIMEGEN模塊由可編程邏輯組成, 該模塊可以用來產(chǎn)生VCLK、VM VFRAME和VLINE信號等[2-3]。

圖1 LCD控制器方框圖

2 處理器與顯示器的連接

S3C2440A內(nèi)置的LCD控制器提供33個輸出端口,其中包括24個數(shù)據(jù)位和9個控制位,如圖2所示。

VD[23∶0]表示LCD像素數(shù)據(jù)輸出端口; VFRAME/VSYNC可以收發(fā)LCD的控制器和驅(qū)動器之間的幀同步信號,該信號可以控制LCD屏顯示新的一幀的開始;HSYNC/VLINE可以收發(fā)LCD的控制器和驅(qū)動器之間的行同步信號,該信號可用于控制LCD驅(qū)動器將行移位寄存器中的內(nèi)容送給LCD屏顯示;VCLK/DCLK表示像素的時鐘信號;DE/VM可以收發(fā)數(shù)據(jù)使能信號,該信號可用于控制像素點的顯示或熄滅。

3 TFT-LCD控制時序分析

TIMEGEN產(chǎn)生控制信號給LCD驅(qū)動器。這些控制信號的控制操作如圖3所示:VSYNC每當發(fā)出一個脈沖時,表示新的一幀(即一屏視頻數(shù)據(jù))開始發(fā)送;每當HSYNC發(fā)出一個脈沖,意味著新的一行數(shù)據(jù)開始發(fā)送;每一個VCLK周期,表示一個像素點,即會通過VD數(shù)據(jù)線發(fā)送一個24位的數(shù)據(jù),如圖所示只有在HOZVAL區(qū)域內(nèi)VD數(shù)據(jù)線上發(fā)送的數(shù)據(jù)才會在屏幕上顯示,每行包含的VCLK周期數(shù)計算表達式為(HOZAL)+(HBPD+1)+(HSPW+1+1)+(HFPD+1),每一幀包含的VCLK周期計算式為(HSPW+HBPD+HOZAL+ HFPD+4)(VSPW+VBPD+LINEVAL+VFPD+4),其中,LCDCON1寄存器的CLKVAL字段可控制VCLK的頻率,其關(guān)系式為VCLK(Hz)=HCLK/[2(CLKVAL+1)],以上表達式中的HSPW、HBPD、HOZAL、HFPD、VSPW、VBPD、LINEVAL和VFPD的值可在LCDCON2/3/4寄存器中設(shè)置[4-6]。

圖3 TFT-LCD控制時序圖

4 軟件設(shè)計

4.1 寄存器設(shè)置

因為S3C2440A處理器的大多數(shù)引腳都是多功能引腳,所以在使用前都需要將其配置成相關(guān)功能才能使用,首先將24個數(shù)據(jù)輸出管腳配置成VD功能,并打開其上拉功能。然后設(shè)置LCD的控制寄存器,其代碼為:

rLCDCON1=(clkval?8)|(mmode?7)|(pnrmode?5)|(bppmode?1);∥右值宏的值依次為4,0,3,13

rLCDCON2=(vbpd?24)|(lineval?14)|(vfpd?6)|(vspw);∥右值宏的值依次為1,9,271,1

rLCDCON3=(hbpd?19)|(hozval?8)|(hfpd);∥右值宏的值依次為1,1,479

rLCDCON4=hspw;∥其值為40

rLCDCON5=(bpp24b1?12)|(1?11)|(invvclk?10)|(invvline?9)(invvframe?8)|(invvd?7)|

(invvden?6)|(bswp?1)|hwswp;∥右值宏的值依次為0,0,1,1,0,0,0,0

其中,語句中的右值字符串為宏定義,分別對應(yīng)各字段的值。除了以上寄存器外,還需要設(shè)置3個寄存器,它們是幀緩沖開始地址寄存器,這些寄存器包含LCDBANK、LCDBASEU、LCDB ASEL、OFFSIZE和PAGEWIDTH字段。對于單掃描模式,LCDBANK字段表示系統(tǒng)存儲器中視頻緩沖器的bank位置的A[30∶22],LCDBASEU字段表示幀緩沖器的開始地址的A[21∶1],LCDBASEL字段表示幀緩沖器的結(jié)束地址的A[21∶1],OFFSIZE字段表示虛擬屏偏移尺寸,PAGEWIDTH字段表示虛擬屏頁寬度。當LCD控制器為打開時,可以通過改變LCDBASEU和LCDBASEL的值來實現(xiàn)滾屏。這三個寄存器的設(shè)置如下:

rLCDSADDR1=(((U32)1cd_buffer?22)?21)|lower21bits((U32)1cd_buffer?1);

rLCDSADDR2=lower21bits(((U32)1cd_buffer+ysize*xsize*4)?1);∥lcdbasel;

rLCDSADDR3=xsize*2;∥其中xsize和ysize480和272

其中l(wèi)cd_buffer定義為“volatile U32 lcd_buffer[ysize][xsize];”;low21bits()函數(shù)的功能是取參數(shù)的低21位;xsize和ysize的值為屏的大小,即為480和272。

4.2 程序設(shè)計

上面的過程已經(jīng)初始化好了LCD的控制寄存器,現(xiàn)在打開LCD屏,操作為將LCDCON1寄存器的第1位置1;顯示圖像的操作為將圖像數(shù)據(jù)寫到視頻緩沖器中,例如顯示函數(shù)為:“void paint_bmp(U32 x0,U32 y0,U32 h,U32 l,const unsigned char bmp[]);”。

參數(shù)x0和y0為顯示圖像的左上角的位置,h和l表示圖像的右下角的位置,bmp即為圖像數(shù)據(jù)。在函數(shù)中要先將圖像數(shù)據(jù)轉(zhuǎn)化為24位表示,然后將其寫入lcd_buffer幀緩沖區(qū)中。LCDCDMA模塊會自動從幀緩沖區(qū)中將數(shù)據(jù)讀取并傳輸。

將一幅圖像數(shù)據(jù)載入并顯示,其結(jié)果見圖4。

圖4 圖像顯示示意圖

5 結(jié)束語

對TFT-LCD顯示器顯示原理及控制時序的詳細分析,通過軟件編碼對S3C2440A處理器中LCD控制寄存器中參數(shù)進行設(shè)置,實現(xiàn)了一種基于arm9處理器的LCD裸機驅(qū)動的設(shè)計。

[1]劉增水,胡力剛.基于ARM芯片的TFT-LCD顯示系統(tǒng)設(shè)計[J].儀表技術(shù),2009(5):43-45.

[2]童慶平,劉篤仁.基于ARM芯片S3C2410的TFT-LCD驅(qū)動方法[J].電子元器件應(yīng)用,2007(3):20-22.

[3]趙晶晶.基于Qt的多電飛機電源檢測系統(tǒng)研究及實現(xiàn)[D].南京:南京航空航天大學(xué),2013.

[4]張有迪,張傳勝.基于ARM控制器的TFT-LCD顯示系統(tǒng)[J].長春工業(yè)大學(xué)學(xué)報:自然科學(xué)版,2012,33(6):681-685.

[5]吳利剛.基于ARM驅(qū)動TFT-LCD模塊研究與應(yīng)用[D].汕頭:汕頭大學(xué),2011.

[6]韋東山.嵌入式linux應(yīng)用開發(fā)完全手冊[M].北京:人民郵電出版社,2008:197-221.

(責任編輯:馬金發(fā))

Design and Implementation of an Embedded LCD Bare-metal Driver

WANG Yongtao,YU Chuang

(Shenyang Ligong University,Shenyang 110159,China)

Introduces a typical TFT-LCD display system design based on arm processor.The processor uses Samsung S3C2440A and display adopts the WXCAT43-TG6 liquid display module of Donghua.By analyzing the S3C2440 LCD control register parameters,as well as understanding the control timing and logic requires of WXCAT43-TG6 module,achieved the image displayed design by S3C2440 control WXCAT43-TG6.

ARM;S3C2440;TFT-LCD;WXCAT43-TG6

2015-07-01

王永濤(1988—),男,碩士研究生;通訊作者:虞闖(1967—),女,副教授,研究方向:計算機應(yīng)用。

1003-1251(2016)06-0088-04

TP368

A

猜你喜歡
字段寄存器處理器
圖書館中文圖書編目外包數(shù)據(jù)質(zhì)量控制分析
Lite寄存器模型的設(shè)計與實現(xiàn)
分簇結(jié)構(gòu)向量寄存器分配策略研究*
Imagination的ClearCallTM VoIP應(yīng)用現(xiàn)可支持Cavium的OCTEON? Ⅲ多核處理器
CNMARC304字段和314字段責任附注方式解析
ADI推出新一代SigmaDSP處理器
汽車零部件(2014年1期)2014-09-21 11:41:11
無正題名文獻著錄方法評述
呼嚕處理器
小青蛙報(2014年1期)2014-03-21 21:29:39
關(guān)于CNMARC的3--字段改革的必要性與可行性研究
高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
库尔勒市| 郯城县| 濉溪县| 武乡县| 麻栗坡县| 富裕县| 曲靖市| 将乐县| 昔阳县| 安阳县| 民丰县| 民县| 周口市| 尼木县| 萨嘎县| 肥东县| 灌南县| 利辛县| 余姚市| 环江| 元阳县| 江达县| 湛江市| 泌阳县| 修水县| 西藏| 宜阳县| 靖江市| 宁强县| 原阳县| 富锦市| 永州市| 班戈县| 吕梁市| 建德市| 荔浦县| 共和县| 乌苏市| 大荔县| 雷波县| 广南县|