配色: 字号:
S3C2440的LCD控制器的配置与应用
2012-03-07 | 阅:  转:  |  分享 
  
24702010,31(11)计算机工程与设计ComputerEngineeringandDesign

·嵌入式系统工程·

$3C2440的LCD控制器的配置与应用

付虹,刘桂方,李春善,王经

(长春工业大学电气与电子工程学院,吉林长春130012)

摘要:描述了目前嵌入式系统中人机界面的现实与要求,以Samsung公司的32位嵌入式微处理器S3C2440为例,详细说明

了液晶显示控制器的功能及软件配置方法。结合Sharp公司640x480点阵的薄膜晶体管液晶(TFT型)与处理器的接口设计,

给出了可方便移植的程序代码、具体的配置参数以及相关函数。实验结果表明了该接口软件设计的正确性和实用性。

关键词:嵌入式;人机交互界面;S3C2440;薄膜晶体管液晶;液晶显示

中图法分类号:TP368.33文献标识码:A文章编号:1000—7024(2010)11-2470-03

ConfigurationandapplicationofLCDcontrollerbasedon$3C2440

。FUHong,LIUGui-fang,LIChun-shan,WANGJing

(CollegeofElectronicsandElectricalEngineering,ChangchunUniversityofTechnology,Changchun130012,China)

Abstract:Therealityandrequirementsofhuman-machineinterfacesisdescribedinthecurrentembeddedsystem.TakentheSamsung’S32一

bitembeddedmicroprocessor$3C2440asexample,thefunctionofliquidcrystaldisplaycontrollerandsoftwareconfigurationisillustra-

ted.ItisalsocombinedwithSharpCorporationof640x480dot·matrixthin·filmtransistor(TFT-type)liquidcrysmlscreen.On$3C2440

processorLCDcontrollerinterface,aconvenienttransplantprogramcodeandthespecificparametersoftheconfigurationisgiven.The

experimentalresultsshowthatpracticalityandcorrectnessofthedesignofinterfacesoftware.

KeyWOrds:embedded;man..machineinterface;$3C2440;thin··filmtransistor;LCD

0引言

传统的发光二极管、数码管和LED等交互手段已经远远

不能满足现实的需求,而LCD液晶显示以其高像素显示、尺寸

大、重量轻等优势迅速普及,已成为大多数情况下人机交互的

必然选择“1。基于ARM920T内核构架的$3C2440是针对嵌入

式系统的高性能处理器,其最高工作频率为400MHz,处理器

内部集成了LCD(1iquidcrystaldisplay)控制器。

本文讨论了$3C2440中LCD控制器的一般配置方法,并

以Sharp公司640x480TFT型LCD显示输出为实例详细说明

了相关寄存器的配置过程。

1S3C2440的LCD控制器简介

三星公司的$3C2440处理器内置了LCD控制器,其支持

单色\灰度\彩色LCD屏。LCD控制器支持单色,使用基于时

间的抖动算法和帧频控制的方法,可以支持每像素2位(四级

灰度)或每像素4位(16级灰度)的单色LCD显示屏;也支持彩

色LCD接口,可以是每像素8位(256种颜色)和每像素12位

(4096种颜色)的STN型LCD。支持每像素1位、2位、4位和

8位带有调色板的TFT彩色LCD和每像素16位与24位的无

调色板真彩色显示。根据实际屏幕的水平与垂直像素数、数

据界面的数据宽度、界面时间和自刷新速率等,LCD控制器可

以编程支持各种不同要求的显示屏:可以支持很多种不同规

格和工作方式的STN液晶显示器和TFT液晶显示器。①STN

型LCD显示器:支持4bit单扫、4位双扫和8位单扫3种扫描

方式;支持单色、4级灰度和16级灰度屏:支持256色和4096

色彩色STN屏;支持多种屏幕尺寸,应用中典型的屏幕尺寸有

640×480,320x240,160x160和其它最大虚拟屏幕尺寸达

4Mbytes。256色颜色模式下最大虚拟屏幕尺寸:4096x1024,

2048x2048,1024x4096及其它。(g)TFT型LCD显示屏:支持1

位、2位、4位和8位(每像素)调色板TFT显示;支持16位/像素

非调色板真彩色TFT显示;支持24位/像素非调色板真彩色

TFT显示;24位/像素模式下最大支持16M彩色TFT;支持多

种屏幕尺寸典型分辨率为640x480、320x240、160x160及其它

多种规格的LCD。最大虚拟显示达4Mbytes。虚拟显示尺寸

在64K模式下最大为2048x1024像素。

LCD控制器外部接口信号包括:①VFR^^伍,、,SYNC/s丁V:帧同步信号(STN)/垂直同步信号佃F1r)/SEC耵呵信号;帆INE/

HSYNC/CPV:行同步脉冲信号(STN)/水平同步信号(TFT)/

SECTFT信号;③VCLI孔CDHCLK:像素时钟信号(STN肝T)/

SECTFT信号:④VD[23:0】:LCD像素数据输出端口(STN肿T/

SECTFT);垣)VM/VDEN/TP:LCD驱动器交流信号(sTN)/数据

收稿日期:2009.06-15:修订日期:2009-08—31。

作者简介:付虹(1963一),女,辽宁台安人,硕士,教授,研究方向为嵌入式系统、智能控制及信号枪测等;刘桂方(1981一),男,湖北天门

人,硕士研究生,研究方向为嵌入式系统:李春善(1983一),男,吉林长春人,硕士研究生,研究方向为信号处理;王经(1982一),男,山

西平遥人,硕士研究生,研究方向为信号处理。E-mail:fuhong_1963@yahoo.tom.cn

万方数据

付虹,刘桂方,李春善,等:S3C2440的LCD控制器的配置与应用2010,31(11)2471

使能信号(盯T)/SECTFT信号;@LENWSTH:行结束信号

{ITFT)/SECTFT信号;⑦LcDLPWREN:LCD屏电源控制信

号;⑧LCDVF0:SECTFT信号OE;@LCDVFI:SECTFT信号

REV;(固)LCDVF2:SECTFT信号REVBⅢ。

2TFT型LCD控制器配置

三星公司的$3C2440处理器的LCD控制器有17个控制

寄存器,对其相关寄存器进行初始化操作即可正常使用。LCD

的控制寄存器分别为5个可编程控制寄存器:3个帧缓冲起始

地址寄存器;红色查找表寄存器REDLUT,绿色查找表寄存器

GREENLUT:蓝色查找表寄存器BLUELUT;抖动模式寄存器

DITHMODE;临时调色板寄存器TPAL;LCD中断寄存器

ECDINTPND,指示中断请求状态:中断优先寄存器

LCDSRCPND;中断屏蔽寄存器LCDINTMSK,指示哪一个中断

被屏蔽:LPC3600控制寄存器TCONSEL。根据Sharp公司

640x480TFT型LCD的时序要求进行配置,以达到理想的显示

效果。这里我们主要介绍在实际中使用到的几个寄存器。

2.1可编程控制寄存器的配置

LCD控制寄存器一共有5个,分别为:①LCDCONl包括

只读的行计数器状态位LINECNT、确定像素时钟频率用的

CLKVAL:MMODE决定VM信号的触发速率、显示模式选择

位PNRMODE、BPPMODE为单个像素的位数选择、ENVID是

LCD视频输出和逻辑信号使能位。(窑)LCDCON2包括VBPD

(列开始等待周期),指在一帧开始时,垂直同步信号上升沿之

后非活动时钟周期的数目,使用STN型LCD时此位应为0;

LINEVAL决定LCD屏的垂直尺寸:VFPD(歹U结束等待周期)

指在一帧结束时,垂直同步信号下降沿之前非活动时钟周期

的数目。使用STN型LCD时此位应为O:VSPW对非活动行

计数,垂直同步脉冲宽度决定着VSYNC脉冲高电平宽度,使

用STN型LCD时此位应为O。③LCDCON3包括:HBPD(行开

始等待周期)为水平同步信号下降沿之后与有效数据之前非

活动时钟周期数目;HOZVAL决定着LCD屏水平尺寸,HOZ-

VAL必须满足一行有4n个字节的条件。如单色模式下LCD

一行有120个点,但120点是不被支持的,因为这一行是由15

个字节组成,而单色模式下设置成一行128个点是可以支持

的,因为这一行由16(4n)个字节组成,但LCD屏将丢弃多余

的8个点;HFPD(行结束等待周期)为有效数据之后与水平同

步信号上升沿之前非活动时钟周期数目。@LCDCON4包括:

MVAL在STN模式下,如果MMODE=I,MVAL定义VM信

号变化速度;水平同步脉冲宽度(HsPw)决定着HSYNC高电

平脉冲的宽度。(亘)LCDCON5包括:VSn虹us(只读垂真扫描

状态)、HSTATUS(只读水平扫描状态)、BPP24BL(确定24bpp显

示时显存中数据的格式)、FI洲565(确定16bpp显示时输出数

据的格式)、INWCLK(决定VCLK的有效极性)、INVVLINE

(指明VLINEPrtSl州C脉冲的极性)、INVVFRAME(指明

VFRAME/VSYNC脉冲的极性)、INvVD(指明视频数据脉冲的

极性)、INWDEN(指明VDEN信号的极性)、INVPWI也N(指明

PWREN信号的极性)、INVLEND(指明LEND信号的极性)、

PWREN(LCDPWREN输出信号使能位)、ENLEND(LEND输

出信号使能位)、BSWP(字节交换控制位)、HwswP(半字交换

控制位)∞】。

2.2帧缓冲起始地址寄存器配置

帧缓冲起始地址寄存器共3个:(£)LCDSADDRl包括:

LCDBANK,它指明在系统内存中视频缓冲区的位置,

LCDBANK赋值后不可轻易改变,并且LCD帧缓冲地址应保

证在4MB的连续区域内,以确保在移动观察窗口时

LCDBANK的值不被改变,因此在使用函数mallocO时务必要

小心;LCDBASEU,对于双扫描LCD用来指示帧缓冲区或上帧

缓冲区的开始地址,对单扫描LCD用来指示帧缓冲区的开始

地址(④LCDSADDR2包括:LCDBASEL,对于双扫描LCD该位

用来指示下帧存储区的开始地址,对于单扫描LCD该位用来

指示帧存储区的末地址。(要)LCDSADDR3包括:OFFSIZE,用

来指定虚拟屏幕起始点离显示存储区起始点的水平距离;

PAGEWIDlH,用来指定虚拟屏的水平宽度。

3软件设置

$3C2440处理器与Sharp公司640x480TFT型LCD搭配下的

软件设计包括寄存器的初始化及相关应用程序的设计两部分。

3.1初始化函数

voidledinit(void)肌CD初始化函数

{rLCDCONl=(CLKVALUSED
5)I(12<<1)lO;

//初始化控制寄存器l

rLCDCON2=(:VBPD<<24)I(LINEVAL_TFT<<14)I(VFPD<<

6)l(vsPw);

//初始化控制寄存器2

rLCDCON3=(IHBPD<<19)I(HOZVALtl_TFT<<8)I(HFPD);

初始化控制寄存器3

rLCDCON4=(MVAL<<8)I(HSPW);//初始化控制寄存器4

rLCDCON5=(1“11)1l(1“10)I(1<<9)I(1“8)I(O“7)I(O“

6)1(1<<3)I(BSwP<<1)I(HWSWP);//初始化控制寄存器5

rLCDSADDRl=I:(LCDFRAMEBUFFER>>22)<<21)IM5D

(LCDFRAMEBUFFER>>1):

//初始化帧缓冲起始地址寄存器l

rLCDSADDR2=M5D(((int32)LCDFRAMEBUFFER+(SCR

)(_TFT+scR—yJ''FT‘4))>>l+1);∥初始化帧缓冲起始地址寄

存器2

rLCDSADDR3=(((0)<<1I)I(SCR_X_TFT/1));//初始化帧缓

冲起始地址寄存器3

rLCDINTMSKJ=(3);//LCD中断屏蔽器,中断屏蔽

rT队L=o;/,临时调色板寄存器,设置无效

rLCDCONII=I;//修改位ENVID=I,视频输出使能

)

为了提高程序的可移植性,本文在程序设计的时候,对相

关参数用符号常量表示。这样在需要更换LCD时只需要修

改符号常量的值即可,极大地方便了程序的移植。下面以Sharp

公司640×480TFT型LCD为例说明符号常量的设置以及编制

的相关函数。

3.2T兀-LcD模块的时序要求

本显示模块LQ080V3DG01是Sharp公司的TFT-LCD器

万方数据

24722010,31(11)计算机工程与设计ComputerEngineeringandDesign

Vsync

ENAB

3.3编制的相关函数

函数M5DO为获取变量(字长32个二进制位)的低21个二

进制位。函数由一条宏定义实现:#defineM5D(nX(n)&0xl髓D。

函数PutPixel0功能为在640x480TI吓型LCD上指定位置

的单个像素显示为指定数据的颜色。

函数定义如下:

staticvoidPutPixel(int32xx.int32yy,intl6ee)

{if(xx
ferl6BitTfi[(yy)][(xx)】=cc;}

指针fi''ameBufferl6BitTfl指向帧存储区在内存中的开始

地址,传输颜色值的操作因此变为给指针数组赋值操作了。利

用如下语句实现:

frameBufferl6BitTR=(intl6(‘)[SCRXTFT])LCDFRAM:

EBUFFER;

函数Paint_Bmp0功能为在LCD屏幕上指定坐标点画一

个指定大小的图形,图形数据由函数参数bmp[]数组传递。函

数定义如下:

staticvoidPaint_Bmp(intx0,inty0,inth,intl,unsignedchar

bmp[]){

intxa,y;.

int32c;

intP=0:

for(y=0;Y
for(xa=0;xa
C=bmp”l】I(bmp[p】“8);if(((xO+xa)
YTFr))

l旨ameBufferl6BitTR[y0+y][x0+xa]=c:

P=P+2;

))}

4实验与结果分析

根据上述分析,将LCD初始化函数lcdmit0中的代码写

入bootloader的LCDINIT.C文件中编译,并在bootloader运行

时调用PaintBmp0函数,即可进行友好的人机交互。

本文实验以昆山市华恒焊接设备技术有限责任公司的焊

接平台的开发为出发点,结合实际需要设计了一套软件系统。

本系统中所用到的图片数组为24位位图格式,输出显示采用

本文3.3节介绍的PaintBmp()函数,相关寄存器的配置利用本

文方法即可。为该公司设计的系统启动的画面如图2所示。

图2华恒公司焊接系统启动画面

(下转第2553页)

万方数据

黄璞,陈才扣:基于局部人脸图像的ICA人脸识别方法2010,31(11)2553

像作为训练样本,将每人剩余的26-n幅图像作为测试样本,同

时我们将分块大d,(mP局部人脸图像大小)取为(c=25,d=20),利

用最近邻分类器进行分类,可得本文方法与ICA、PCA的识别

率比较结果如表3所示。

样本数本文方法ICAPCA

l’l67.67(6x6)l58.97(35x2000)I57.37(1t9x2000)

l=785.53(8x8)81.40(74x2000)l70.88(147x2000)

参考文献:

f1】曹丽,陈才扣.最大散度差无监督鉴别特征抽取与人脸识别[J】i

计算机应用,2008,28(增刊):182.184.

[2】KirbyM,SirovichL.ApplicationoftheKLprocedureforthe

characterizationofhumanfaces[J].IEEETransactionsonPat-

ternAnalysisandMachineIntelligence,1990,12(1):103-108.

【3]BartlettMS,MovellanJKs白nowsl【iTJ.Facerecognitionbyin-

dependentcomponentanalysis[J].IEEETransactionsonNeural

Networks,2002,13(6):1450—1464.

[4JDraperBA,BackILBartlettMS,eta1.Recognizingfaceswith

PCAandICA【J】.ComputerVisionandImageUnderstanding,

2003,91(1/2):115·137.

[5】LiuCJ.Enhancedindependentcomponentanalysisanditsappli—

cationtocontentbasedfaceimagerecognition[J].IEEETransae-

tionsonNeuralNetworks,2003,14(4):919-928.

【6】徐勇,张重阳,杨靖宇.主分量特征与独立分量特征的人脸识别

实验【J】.计算机工程与设计,2005,26(5):1155-1157.

【7】GaoQ,ZhangLeidZhangDavid.Sequentialrow-columnindepen—

dentcomponentanalysisforfacerecognition[J】.Neuroeompu·

ting,2009,72(4):1152—1159.

【8】姚雪梅,古丽拉,阿东别克.基于ICA和SVIVl的局部人脸识别

方法【J】.现代计算机,2005,12:15-16.

[9】叶伊松,武妍.基于1CA和NFL分类的局部人脸识别方法忉.

中国图象图形学报,2005,10(4):468-472.

【10】JongsunKim,JunehoYi.Robustfacerecognitionbasedonpart-

basedlocalizedbasisimages[C].ICIAP,2005,3617:1026—1034.

【ll】杨万扣,王建国,任明武,等.基于分块独立成分分析的人脸识别

【J】计算机工程与应用,2008。44(1):42-44.

【12】AapoHyvarinen.Fastandrobustfixed-pointalgorithmforinde-

pendentcomponentanalysis【J】.IEEETramonNeuralNet-

works。1999.10(3):624.634.

(上接第2472页)

5结束语

详细分析了S3C2440的LCD控制器和Sharp公司640x

480TFT型LCD屏幕搭配下的相关寄存器设置;介绍了

$3C2440与其它类型的LCD搭配下的设置方式;详细说明了

几个方便移植引用的基本函数,给S3C2440的LCD控制器的

使用带来了便利;给出了具体可行的实例,并用实践验证了此

方案的可行性。事实证明了相关寄存器配置的正确性以及函

数运行的稳定性,方便了该芯片LCD显示方面的程序开发。

参考文献:

【l】万永波,张根宝,田泽,等.基于ARM的LCD控制器的配置与

编程应用【J】.计算机工程与设计,2007,28(5):1196一1198.

SAMSUNG公司.S3C2440AEN.pdf[Z].

周立功,陈明计,陈渝.ARM嵌入式Linux系统构建与驱动开

发范例【M】.jB京:北京航空航天大学出版社,2006.

孙琼.嵌入式Linux应用程序开发详解【M】.北京:人民邮电出

版社2006.

田泽.嵌入式系统开发与应用[M】.jE京:北京航空航天大学出

版社,2005.

周立功.ARM嵌入式系统基础教程[晴】.北京:北京航空航天大

学出版社,2005.

马忠梅,马广云,田泽,等.ARM嵌入式处理器结构与应用基础

D叫.北京:北京航空航天大学出版社,2002.

刘淼.嵌入式系统接口设计与Linux驱动程序开发【M】.北京:

北京航空航天大学出版社,2006.

脚跚











万方数据

献花(0)
+1
(本文系lchjczw首藏)