S3C44B0X微處理器內(nèi)置LCD控制器-基礎(chǔ)電子_第1頁(yè)
S3C44B0X微處理器內(nèi)置LCD控制器-基礎(chǔ)電子_第2頁(yè)
S3C44B0X微處理器內(nèi)置LCD控制器-基礎(chǔ)電子_第3頁(yè)
S3C44B0X微處理器內(nèi)置LCD控制器-基礎(chǔ)電子_第4頁(yè)
S3C44B0X微處理器內(nèi)置LCD控制器-基礎(chǔ)電子_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

精品文檔-下載后可編輯S3C44B0X微處理器內(nèi)置LCD控制器-基礎(chǔ)電子引言

S3C44B0X微處理器是三星公司專為手持設(shè)備和一般應(yīng)用提供的高性價(jià)比和高性能的微控制器解決方案。它使用ARM7TDMI核,工作在66MHz,集成了LCD控制器等外圍器件。它的LCD控制器具有通用性,能與大多數(shù)LCD顯示模塊接口。接口設(shè)計(jì)、驅(qū)動(dòng)程序開發(fā)都很簡(jiǎn)單,廣泛應(yīng)用于智能儀表、PDA等的顯示部分。

內(nèi)置LCD控制器介紹

概述

S3C44B0X內(nèi)置的LCD控制器的作用是將顯示緩存(在系統(tǒng)存儲(chǔ)器中)的LCD數(shù)據(jù)傳輸?shù)酵獠縇CD驅(qū)動(dòng)器,并產(chǎn)生必須的LCD控制信號(hào)。

它支持灰度LCD和彩色LCD。在灰度LCD上,使用基于時(shí)間抖動(dòng)算法(time-basedditheringalgorithm)和FRC(FrameRateControl)方法,可以支持單色、4級(jí)灰度和16級(jí)灰度模式的灰度LCD。在彩色LCD上,可以支持256種色彩。不同尺寸的LCD具有不同數(shù)量的垂直和水平象素、數(shù)據(jù)接口、數(shù)據(jù)寬度、接口時(shí)間和刷新率。LCD控制器可以進(jìn)行編程控制相應(yīng)的寄存器值,以適應(yīng)不同的LCD顯示板。

LCD控制器邏輯框圖

圖1為L(zhǎng)CD控制器的邏輯框圖。從框圖可以看出LCD控制器是用來(lái)實(shí)現(xiàn)傳輸顯示數(shù)據(jù)及產(chǎn)生必要的控制信號(hào),如VFRAME、VLINE、VCLK和VM。除了控制信號(hào),還有顯示數(shù)據(jù)的數(shù)據(jù)端口VD[7:0]。

LCD控制器包括REGBANK、LCDDMA、VIDPRCS和TIMEGEN。REGBANK有18個(gè)可編程寄存器,用于配置LCD控制器。LCDDMA為專用DMA,可以自動(dòng)地將顯示數(shù)據(jù)從幀內(nèi)存?zhèn)魉偷絃CD驅(qū)動(dòng)器中。通過(guò)專用DMA,可以實(shí)現(xiàn)在不需要CPU介入的情況下顯示數(shù)據(jù)。VIDPRCS從LCDDMA接收數(shù)據(jù),將相應(yīng)格式的數(shù)據(jù)通過(guò)TIMEGEN(包含可編程邏輯),以支持常見的LCD驅(qū)動(dòng)器所需要的不同接口時(shí)間和速率的要求。TIMEGEN部分產(chǎn)生VFRAME,VLINE,VCLK和VM等信號(hào)。

LCD控制器提供下列外部接口信號(hào):

VFRAME:LCD控制器和驅(qū)動(dòng)器之間的幀同步信號(hào)。通知LCD屏新的一幀顯示,LCD控制器在一個(gè)完整幀顯示后發(fā)出VFRAME信號(hào)。

VLINE:LCD控制器和驅(qū)動(dòng)器間同步脈沖信號(hào)。LCD驅(qū)動(dòng)器通過(guò)它將水平移位寄存器的內(nèi)容顯示到LCD屏上。LCD控制器在一整行數(shù)據(jù)全部傳輸?shù)絃CD驅(qū)動(dòng)器后發(fā)出VLINE信號(hào)。

VCLK:LCD控制器和驅(qū)動(dòng)器之間的象素時(shí)鐘信號(hào)。

VM:LCD驅(qū)動(dòng)器所使用的交流信號(hào)。驅(qū)動(dòng)器用VM打開或關(guān)閉象素的行和列電壓極性。

VD[3:0]:LCD象素?cái)?shù)據(jù)輸出端口。

VD[7:4]:LCD象素?cái)?shù)據(jù)輸出端口。

LCD控制器的寄存器。

LCD控制器通過(guò)18個(gè)可編程寄存器來(lái)配置LCD顯示模塊的尺寸、顯示模式、接口數(shù)據(jù)寬度等。

LCD控制寄存器一(LCDCON1)

LCDCON1所在地址:0x01F00000;

屬性:R/W;

復(fù)位值:0x00000000。

LCDCON1中各個(gè)位的意義見表1:

LCD控制寄存器二(LCDCON2)

LCDCON2的地址:0x01F00004;

屬性:R/W;

復(fù)位值:0x00000000。

LCDCON2中各個(gè)位的意義見表2:

LCD控制寄存器三(LCDCON3)

LCDCON3的地址:0x01F00040;

屬性:R/W;

復(fù)位值:0x00。

LCDCON3中各個(gè)位的意義見表3:

幀緩沖區(qū)開始地址一(LCDSADDR1)

LCDSADDR1的地址:0x01F00008;

屬性:R/W;

復(fù)位值:0x000000。

LCDSADDR1中各個(gè)位的意義見表4:

幀緩沖區(qū)開始地址二(LCDSADDR2)

的地址:0x01F0000C;

屬性:R/W;

復(fù)位值:0x000000。

LCDSADDR2中各個(gè)位的意義見表5:

注:用戶通過(guò)改變LCDBASEU和LCDBASEL的值來(lái)滾動(dòng)屏幕,但在幀結(jié)束時(shí),不能改變LCDBASEU和LCDBASEL的值,因?yàn)轭A(yù)取下一幀的數(shù)據(jù)優(yōu)先于改變幀,如果這時(shí)改變幀,預(yù)取的數(shù)據(jù)將無(wú)效而且顯示不正確。為了檢查L(zhǎng)INECNT,應(yīng)當(dāng)屏蔽中斷,否則如果在讀LINECNT后,任意中斷剛好執(zhí)行,因?yàn)镮SR的執(zhí)行,LINECNT的值可能無(wú)效。

緩沖區(qū)開始地址三(LCDSADDR3)

LCDSADDR3的地址:0x01F00010;

屬性:R/W;

復(fù)位值:0x000000。

LCDSADDR3中各個(gè)位的意義見表6:

注:PAGEWIDTH和OFFSIZE必須在ENVID=0時(shí)變化。

內(nèi)置LCD控制器的應(yīng)用

LCD控制器能與大多數(shù)LCD顯示模塊接口,例如DMF50081,KCS057QV1AJ等。

KCS057QV1AJ是由KYOCERA公司生產(chǎn),具有320240個(gè)象素點(diǎn)、帶CFL背光的STN(超扭曲向列)256色LCD顯示模塊。它不帶LCD控制器,很容易與S3C44B0X內(nèi)置的LCD控制器接口。本節(jié)將詳述它與LCD控制器的硬件接口連線以及它的驅(qū)動(dòng)程序。

LCD控制器與KCS057QV1AJ接口設(shè)計(jì)

KCS057QV1AJ提供的外部接口信號(hào)線如下:

FRM:驅(qū)動(dòng)器掃描的同步信號(hào)線;

LOAD:數(shù)據(jù)鎖存信號(hào)線;

CP:數(shù)據(jù)移位時(shí)鐘信號(hào)線;

DISP:顯示控制信號(hào)線;

D[7:0]:8根顯示數(shù)據(jù)輸入線。

在KCS057QV1AJ與LCD控制器之間接線時(shí),KCS057QV1AJ的FRM、LOAD、CP、D[7:0]分別和LCD控制器的VFRAME、VLINE、VCLK、VD[7:0]相連。DISP引腳與S3C44B0X的GPIO的GPC15相連,通過(guò)GPC15來(lái)控制LCD顯示模塊的打開和關(guān)閉。具體接線如圖2。

KCS057QV1AJ驅(qū)動(dòng)程序開發(fā)

驅(qū)動(dòng)程序包括初始化S3C44B0X端口D和端口C的函數(shù),初始化LCD控制器的函數(shù),打開和關(guān)閉LCD顯示模塊的函數(shù),在LCD顯示模塊上顯示條紋的函數(shù),所有的函數(shù)都有詳細(xì)的解釋。

初始化端口D和端口C函數(shù)如下:

voidPort_Init(void)

{

rPCONC=0x5f55ffff;/GPC15為輸出端口,GPC4-GPC7分配給LCD數(shù)據(jù)線VD7-VD4;

rPUPC=0x0;/端口C所有的引腳上拉允許;

rPDATC=0x3fff;/端口C所有的引腳初始化為高電平;

rPCOND=0xaaaa;/端口D所有的引腳分配給LCD控制器;

rPUPD=0x0;/端口D所有的引腳上拉允許;

rPDATD=0xff;/端口D所有的引腳初始化為高電平。

}

初始化LCD控制器函數(shù)如下:

voidLCD_Init()

{

inti;

U32LCDBASEU,LCDBASEL,LCDBANK;

LCDDisplayOpen(FALSE);/關(guān)閉LCD;

rLCDCON1=(0);/關(guān)閉視頻輸出;

rLCDCON2=(239)|(11910)|(1521);

/設(shè)置確定行掃描的返回時(shí)間為15個(gè)MCLK,設(shè)置屏為彩色320240點(diǎn);

LCDBANK=0xc00000022;/設(shè)置顯示緩沖區(qū)首地址在系統(tǒng)存儲(chǔ)器中的位置;

LCDBASEU=0x0;/設(shè)置緩沖區(qū)的開始地址;

LCDBASEL=LCDBASEU+(160)240;

rLCDSADDR1=(0x327)|(LCDBANK21)|LCDBASEU;

/設(shè)置顯示模塊為彩色模式等;

rLCDSADDR2=(029)|(021)|LCDBASEL;

rLCDSADDR3=(320/2)|(09);/不使用虛屏;

rREDLUT=0xfca86420;/設(shè)置紅色查表寄存器,與特定的顯示要求有關(guān);

rGREENLUT=0xfca86420;/設(shè)置綠色查表寄存器,與特定的顯示要求有關(guān);

rBLUELUT=0xfffffa50;/設(shè)置蘭查表寄存器,與特定的顯示要求有關(guān);

rLCDCON1=LCDCON1_ENVID|01|02|03|(25)|17|(0x38)|(0x310)|(CLKVAL12);

/使能視頻輸出,8位單掃描方式,設(shè)置WDLY,WLH,CLKVAL;

for(i=0;i80*240;i++)/顯示緩沖區(qū)清零。

*(pLCDBuffer16+i)=0x0;

}

從圖2知,GPC15用來(lái)打開關(guān)閉LCD。打開和關(guān)閉LCD顯示模塊的函數(shù)如下:

voidLCDDisplayOpen(U8isOpen)

{

if(isOpen)

{

rPDATC|=0x8000;/打開LCD

}

else{

rPDATC=0x7fff;/關(guān)閉LCD

}

}

在LCDBANK寄存器中已經(jīng)定義了顯示緩沖區(qū)在系統(tǒng)存儲(chǔ)器的段首地址為0xc000000,要顯示字符、圖片只需將字符、圖片取模得到的數(shù)據(jù)送到該緩沖區(qū)就可以了。但是要注意,彩色LCD是8位數(shù)據(jù)表示一個(gè)象素。對(duì)緩沖區(qū)首地址進(jìn)行如下定義:

U32pLCDBuffer16=(U32*)0xc00000

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論