基于ARM和_CmOS_的LCD驱动设计_第1页
基于ARM和_CmOS_的LCD驱动设计_第2页
基于ARM和_CmOS_的LCD驱动设计_第3页
基于ARM和_CmOS_的LCD驱动设计_第4页
基于ARM和_CmOS_的LCD驱动设计_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第29卷第3期中南民族大学学报(自然科学版V o l .29N o.32010年9月Journal of South 2Central U niversity fo r N ati onalities (N at .Sci .Editi on Sep.2010收稿日期2010204202基于A RM 和C O S 2 的L CD 驱动设计汪红,程浏,柴化倩(中南民族大学计算机科学学院,武汉430074摘要介绍了基于A RM 和C O S 2 的嵌入式系统中实现对L CD 显示屏驱动的方法,研究了S 3C 2440a 的L CD 控制寄存器的参数设置和L CD 屏的接口电路,结合C O S 2

2、实时操作系统下应用程序的开发,实现了在L CD 屏上的字符显示.关键词嵌入式系统;高级精简指令运算集微处理器;L CD 显示屏D esign of LCD D r iver Ba sed on AR M and C OS -W ang H ong ,Cheng L iu ,Cha i H uaqian(Co llege of Compu ter Science ,Sou th 2Cen tral U n iversity fo r N ati onality ,W uhan 430074,Ch ina Abstract A m ethod of L CD screen drive is in

3、troduced ,w h ich is based on the A RM and C O S 2 em bedded system .W e test how to configu re the L CD con tro l register of S 3C 2440a and study the in terface circu it of L CD screen .Com b ined w ith the app licati on developm en t of the C O S 2 real 2ti m e operating system ,w e are ab le to

4、disp lay characters on the L CD screen .Keywords em bedded system ;A RM ;L CD screen随着嵌入式技术的发展,嵌入式系统的应用领域越来越广泛,在很多应用中,都需要友好的人机界面.传统的数码管或者发光二极管显示已经不能满足实际应用的需求,而L CD 屏由于其功耗低,发热少,色彩丰富,纤薄的平板型结构等优点,越来越多地应用于嵌入式系统中.S 3C 2440a 是一款以A RM 920T 为内核的嵌入式微处理器,它的最高工作频率达533M H z ,内含3通道的异步串行口,U SB 主、从单元设备接口,L CD 控制器等

5、众多片上外设接口,且具低功耗、高性能,广泛适用于PDA 、便携式媒体播放器、手持式导航仪等领域.C O S 2 是一种基于优先级的抢占式的实时操作系统,其执行效率高、占用空间小、实时性能优良和可扩展性强,广泛应用于小型控制系统中.本文主要讨论的是如何在基于S 3C 2440a 和C O S 2 的嵌入式系统中实现L CD 屏的驱动.1S 3C 2440a 的L CD 控制器L CD 控制器的主要工作是将系统内存中的显示缓冲区内的图像数据,利用DM A 方式传输给外部的L CD 显示屏,实现图像的显示.S 3C 2440a 的L CD 控制器支持3种扫描类型和最大4096色的STN L CD 显

6、示,支持调色或无调色彩色T FT L CD 显示,最大可支持24bbp 模式下16M 色T FT 显示,支持多种不同尺寸的液晶屏,如640480,320240,160160等.1.1S 3C 2440a 的L CD 控制器的结构S 3C 2440a 的L CD 控制器由R EGBAN K 、L CDCDM A 、T I M EGEN 等组成,如图1所示.R EGBAN K 由可编程寄存器组和调色板存储器组成,用来产生控制信号.L CDCDM A 是L CD 专用的DM A ,自动从帧存储器传输视频数据到L CD 控制器,视频数据不需要经过CPU 的累加器中转直接发送给数据端口.T I M EG

7、EN 由可编程逻辑器件组成,产生可编程控制信号来支持不同类型的L CD 驱动器 .图1S 3C 2440a 的L CD 控制器结构F ig .1L CD contro ller arch itecture of S 3C 2440a1.2L CD 控制寄存器的配置通过对R EGBAN K 寄存器组中的L CDCON 1 2 3 4 5寄存器进行配置来产生控制信号,L CDCON 1可以对L CD 的类型、数据位数、是否需要VD EN 输出及DCL K 进行设置;L CDCON 2主要对VB PD 、V FPD 、V SPW 进行设置;L CDCON 3及L CDCON 4对HB PD 、H F

8、PD 、H SPW 进行设置;L CDCON 5用以对DCL K 、H SYN C 、V SYN C 的极性做设置.V SYN C 和H SYN C 脉冲与L CDCON 2 3的HO Z VAL 和L I N EVAL 设置相关,HO Z VAL 和L I N EVAL 的值由L CD 屏的分辨率决定,公式如下:H O ZV A L =(H oriz on ta l d isp lay siz e -1,L IN EV A L =(V ertica l d isp lay siz e - 1.V CL K 的频率取决于L CDCON 1中CL KVAL的设置,V CL K 和CL KVAL

9、的关系如下(CL KVAL的最小值是0:V CL K (H z =H CL K(CL KV A L +12.HCL K 为S 3C 2440a 中PLL 时钟发生器产生的时钟信号.V SYN C 的频率即为帧频,它与L CDCON 12 3 4均有关1,计算公式如下:F ram eR a te =1(V S PW +1+(V B PD +1+(L IN EV A L +1+(V F PD +1(H S PW +1+(+1+(+1+(+12(CL KV A L +1(H CL K .2L CD 显示屏的接口电路从图1可以看出L CD 控制寄存器的输出信号主要有V FRAM E ,VL I N E

10、 ,V CL K ,VM ,VD 23:0等.V FRAM E 是L CD 控制器和L CD 驱动器之间的帧同步信号,L CD 控制器在一个完整帧显示完成后立即插入一个V FRAM E 信号,开始新一帧的显示.VL I N E 是线同步脉冲信号,将水平线移位寄存器的内容传送给L CD 屏显示.V CL K 是像素时钟信号,VM 是L CD 驱动器的A C 信号.VD 23:0是24位L CD 像素点数据输出端口.L CD 显示屏的接口电路如图2所示.L CD 显示屏接口上的V FRAM E ,VL I N E ,V CL K ,VM ,VD 23:0端口与S 3C 2440a 的L CD 控制

11、器的输出端口对应,而T SXM ,T SY M ,T SXP ,T SYP 是用于触摸屏的端口 .图2L CD 显示屏接口电路F ig .2L CD screen interface circuit26中南民族大学学报(自然科学版第29卷3C O S2 实时操作系统C O S2 是一个开放源码、可移植、可裁剪、占先式实时操作系统,其内核提供任务调度与管理、时间管理、任务间同步与通信、内存管理和中断服务等功能2,将其移植到本系统所使用的S3C2440a上,形成一个完整的嵌入式系统,用以控制L CD屏的输出.对于基于A RM和C O S2 的嵌入式系统,在应用程序中的第一步应该是对目标设备(硬件进

12、行初始化,然后是对移植于其上的操作系统的初始化,接着就开始创建系统的初始任务,所以其M ain(函数基本组成为:in t M ain(in t argc,char33argvT arget In it(; 初始化目标板O S In it(; 初始化C O S2O ST askC reate(M ainT ask,(vo id30, &M ainT askStkM ainT askStkL engh-1,M ainT askP ri o; 创建系统初始任务O SStart(; 开始任务retu rn0;在C O S2 系统中,每一个任务都是无限的循环,因为系统会为每一个任务提供一个堆栈空间,由系

13、统在任务切换的时候恢复上下文,并执行一条reti 指令返回.如果允许任务执行到最后,那一般就会执行一条ret指令,这样很可能会破坏系统堆栈空间从而使应用程序的执行不确定.所以,每一个任务都必须被写成无限循环的形式.而这并不会造成程序的死循环,因为在占先式实时操作系统中,当出现优先级更高的任务时,会从当前任务切换到优先级更高的任务3.任务的结构一般为:vo id T ask(vo id3p data定义局部变量T i m er In it(; 在优先级最高任务内调用w h ile(1 应用程序代码O ST i m eD ly(; 可选4驱动L CD屏的设计首先设置L CD屏初始化函数,包括初始化

14、像素输出端口VD0223,设置帧缓存的开始地址,设置lcdcon1,lcdcon2,lcdcon3,lcdcon4,lcdcon5寄存器里的参数:static vo id L cd In it(vo id 端口设置rL CDCON1=(CL KVAL T FT8 (M VAL U SED7 (35 (121 0;rL CDCON2=(VB PD24 (L I N EVAL T FT14 (V FPD6 (V SPW;rL CDCON3=(HB PD19 (HO Z VAL T FT8 (H FPD;rL CDCON4=(M VAL8 (H SPW;rL CDCON5=(111 (010 (19

15、 (18 (07 (06 (13 (B S W P 1 (HW S W P; 寄存器设置 地址设置然后给L CD面板电源使能端口信号,接通电源,并开启视频输出.在输出视频信号之前先将L CD 清屏,清屏也可以看作将显示屏填充为某一颜色.完成了这一系列初始化和配置之后,开始往L CD屏输入信号.本系统的目的是在L CD屏上显示出字符,汉字由1616的点阵显示,A SC 码由816的点阵显示,这些汉字和A SC 码由字模提取软件生成字模代码存放在两个数组中4,只要将字模数据写入屏幕上各点对应的RAM中即可,代码的一个b it对应L CD屏上的一个点,为1时填充定义的颜色,为0时不填充保持底色.控制

16、L CD显示的函数为:vo id L cd p rin tf(un signed in t x,un signed in t y, un signed in t c,un signed in t bk c,un signed in t st 变量声明36第3期汪红,等:基于A RM和C O S2 的L CD驱动设计w h ile(3p Str!=0 判断是否为字符if(3p Str0xA0&3(p Str+10xA0 中文输出L cd H Z(x,y,(3p Str20xA030x0100 +3(p Str+120xA0,c,bk c,st;p Str+;i+;x+=16;else A SC

17、码输出L cd A SC (x,y,3p Str,c,bk c,st;x+=8;b reak;p Str+;i+;if(i256b reak;以上L CD显示函数定义好之后,需要在系统的m ain task(中定义一个lcdtask(函数,在此函数中调用L cd p rin tf(来执行字符显示功能.L cd p rin tf (的主要代码如下:vo id lcdtask(vo id3p dataL cd D isp lay(; L CD初始化,包括in it,电源使能,开启视频输出,清屏w h ile(1L cd p rin tf(10,65,R GB(0xFF,0xFF,0xFF,R GB

18、(0x00,0x00,0x00,1,基于A RM和C O S2 ;L cd p rin tf(84,92,R GB(0xFF,0xFF,0xFF,R GB (0x00,0x00,0x00,1,L CD屏输出字符;O ST i m eD ly(O S T I CKS PER SEC 5;至此,驱动L CD输出文本的功能全部实现.实验过程中,可以通过在C O S2 中编写的应用程序,对S3C2440a的L CD控制寄存器进行配置,提取需要的字模代码在L CD屏上进行描点,以显示出所需的文本信息.5结束语本文通过对S3C2440a的L CD控制器和L CD显示屏接口电路的分析,以及对C O S2 实时操作系统下应用程序开发结构的研究,给出了一种加载和调用字

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论