當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]S3C44B0X微處理器內(nèi)置LCD控制器方案設(shè)計(jì)

 引言

  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控制器是用來實(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)器中。通過專用DMA,可以實(shí)現(xiàn)在不需要CPU介入的情況下顯示數(shù)據(jù)。VIDPRCS從LCDDMA接收數(shù)據(jù),將相應(yīng)格式的數(shù)據(jù)通過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)器通過它將水平移位寄存器的內(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控制器通過18個(gè)可編程寄存器來配置LCD顯示模塊的尺寸、顯示模式、接口數(shù)據(jù)寬度等。

  LCD控制寄存器一(LCDCON1)

  LCDCON1所在地址:0x01F00000;

  屬性:R/W;

  復(fù)位值:0x00000000。

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

  

[!--empirenews.page--]
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:

[!--empirenews.page--]
 

 

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

  緩沖區(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),具有320 240個(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相連,通過GPC15來控制LCD顯示模塊的打開和關(guān)閉。具體接線如圖2。

  

[!--empirenews.page--]
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ù)如下:

  void Port_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ù)如下:

  void LCD_Init()

  {

  int i;

  U32 LCDBASEU,LCDBASEL,LCDBANK;

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

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

  rLCDCON2=(239)|(119<<10)|(15<<21);

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

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

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

  LCDBASEL=LCDBASEU+(160) 240;

  rLCDSADDR1=(0x3<<27)|(LCDBANK<<21)|LCDBASEU;

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

  rLCDSADDR2=(0<<29)|(0<<21)|LCDBASEL;

  rLCDSADDR3=(320/2)|(0<<9);/不使用虛屏;

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

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

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

  rLCDCON1=LCDCON1_ENVID|0<<1|0<<2|0<<3|(2<<5) |1<<7|(0x3<<8)|(0x3<<10)|(CLKVAL<<12);

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

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

  *(pLCDBuffer16+i)=0x0;

  }

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

  void LCDDisplayOpen(U8 isOpen)

  {

  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)行如下定義:

  U32 pLCDBuffer16=(U32*)0xc000000;

  下面舉一個(gè)在整個(gè)屏上顯示明暗相間的條紋的程序,顯示明暗條紋函數(shù)如下:

  void LCDstripe ()

  {

  int i,lcddata;

  for(i=0;i<(320*240)/4;i++)

  {

  lcddata0=0x0ffff0000;

  *(pLCDBuffer16+i)=lcddata;/向幀緩沖區(qū)送數(shù)據(jù),每次4個(gè)象素的數(shù)據(jù)。

  }

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉