基于arm2440的LCD驱动的设计与实现报告毕业论文_第1页
基于arm2440的LCD驱动的设计与实现报告毕业论文_第2页
基于arm2440的LCD驱动的设计与实现报告毕业论文_第3页
基于arm2440的LCD驱动的设计与实现报告毕业论文_第4页
基于arm2440的LCD驱动的设计与实现报告毕业论文_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、 . . . 广 东 机 电 职 业 技 术 学 院嵌入式技术基础(设计报告)题 目:基于arm2440的LCD驱动的设计与实现 学 院: 信息工程学院 专业名称:计算机控制(智能产品设计与生产) 学 号: XXXXXXX 学生: XXX 指导教师: XXX 20XX年 X月 X 日引言随着计算机的不断发展,各种 SOC 的功能越来越强大,嵌入式系统正以前所为有的发展 速度进入我们生活中的各个领域,从工业生产到我们所使用的消费电子产品,随处可见嵌入 式系统的身影。而 LCD 显示系统做为一个很好的人机交互的窗口,已经成为大多是嵌入式系 统不可或缺的组成部分。S3C2440 是国 Samsung

2、 公司基于 ARM920T 核而设计生产的嵌入式处理器,同时支持16/32 位指令集,具有低功耗,高性价比等特点,主要面向手持设备。本文就以 S3C2440 为 平台,应用其部的 LCD 控制器,阐述 LCD 驱动程序的设计。绪论·······························

3、;····························1I.1 课题设计的目的与其意义···················&

4、#183;·············1I.3 课题设计的任务和要求·································

5、3;·21 课题的方案设计与论证···········································3 1.1 系统整体方案的设计·

6、····································3 1.2 系统整体方案的论证···········

7、83;·························32Linnx下的LCD驱动的实现·····················

8、3;·················62.1 开发环境·······························&

9、#183;···················6 2.2 LCD 控制器介绍···························

10、3;·············6 2.3 软件设计···································

11、······7 2.4 主要功能函数iIlit probe()实现································7 2.5 调试结果······

12、;····································7总 结·············&

13、#183;··············································9参考文献··&#

14、183;·················································&#

15、183;·····9绪 论0.1课题设计目的与意义Linux操作系统是一个开放源码的操作系统,具有良好的稳定性与实时性,同时具有体积小、可裁减、可定制、硬件支持广等特点,因此在嵌入式开发过程中被广泛应用,各种 SOC 的功能越来越强大,嵌入式系统正以前所未有的发展 速度进入我们生活中的各个领域,从工业生产到我们所使用的消费电子产品,随处可见嵌入 式系统的身影。嵌入式开发过程除了要根据需求完成相应的硬件设计外,同时需要设计相应的软件应用程序,而驱动程序的开发和实现决定了应崩程序是否能正常稳定的访问和控制硬件外设,凶此驱动程序的开发和实现在嵌入式开

16、发过程中就显得尤为关键,而 LCD 显示系统做为一个很好的人机交互的窗口,已经成为大多是嵌入式系 统不可或缺的组成部分。S3C2440 是国 Samsung 公司基于 ARM920T 核而设计生产的嵌入式处理器,同时支持16/32 位指令集,具有低功耗,高性价比等特点,主要面向手持设备。本文就以 S3C2440 为 平台,应用其部的 LCD 控制器,阐述 LCD 驱动程序的设计。开发环境.主机:VMWare-Fedora 9.开发板:Mini2440-64MB Nand, Kerne1:2.6.30.4.编译器:arm-linux-gcc-4.3.2摘要:根据人机交互对于LCD显示系统的需求,

17、围绕S3C2440嵌入式处理器,研究LCD 控制器的设置,以与在Linux下的驱动的工作原理,并介绍在 Linux 系统下 FrameBuffer 设备驱动的结构组成与实现方法。关键字:嵌入式,S3C2440,LCD 驱动,FrameBufferLCD driver based on S3C2440Abstract: For the requirement of LCD display in human-machine interface,using S3C2440 embedded processor , introduce how to set these controller regis

18、ters and the principle of drivers in Linux,and also described the structure of the FrameBuffer device and how to write a FrameBuffer driver。Keywords: S3C2440,LCD driver,FrameBuffer1 课题的方案设计与论证1.1系统整体方案的设计ARM微处理器目前在各个领域得到了广泛应用,其中i星公司生产的S3C2440芯片由于技术成熟,操作方便,价格低廉可适用性强,在民用市场得到了广泛的应用。目前,嵌入式的操作系统大都使用wIN C

19、E的操作系统。其特点是具有完善的嵌入式GUI和嵌入式浏览器;功能强大且易于使用的Windows开发工具,有利于系统建立后的后期软件项目开发。但WINDOWS的开发工具EVC等。大都是针对应用程序的,并不针对于前期开发。如果要根据不同的硬件外围对其核进行修改则需要购买付费软件PLATFORM BUILDER。其系统占用空间大网络危险性高等特点,无疑给开发造成了不小的困难。而LINUX核支持几乎所有的主流芯片,如X86。ARM,MIPs,POWERPC等。其次,该系统要求的存储器空间较少。节约有限的硬件资源。而Win CE对资源的要求更高。再次UNUX系统具备高口r定制性,能够根据需要方便的增加和

20、减少各项功能模块。而后。该操作系统具有高安全性和高可靠性在安全性方面“nux病毒极少并拥有众多安全增强。最后,也是生产中不得不考虑的成本方面WINCE的核虽然是公开的但编辑核需要的软件PLATFORM BUILDER确是收费软件;IJNUX标准核代码则町以自由下载并且通过通用的VI的编辑器进行编辑,个人用户均可免费操作。综合以上的分析,我们选择对LINUX系统的LcD液晶屏驱动进行研究。以达到设计出一个稳定、可移植性强的UNUX液晶屏驱动程序的目的。2 S3C2440的LCD控制器S3C2440是i星公司生产的基于ARM9核的RISC微处理器,主频400MHz,最高533MHZ。它拥有车富的片

21、上资源可以进行IOSB,cAMERA,ID等功能的扩展。其中集成的LCD控制器具有通用性,可与大多数的LCD显示模块接口。它的LCD控制器可用于传输视频数据并产生必要的控制信号(像VFRAME、VUNE、VCLK、VM等)。S3C2440的输出视频数据端口为vD23:0。1.2系统整体方案的论证1.2.1芯片介绍S3C2440 的 LCD 控制器负责产生液晶屏所需要的各种控制信号并负责把显示缓存中的数 据送到液晶屏以显示。LCD 控制器是可编程的,支持单色和彩色显示,支持多种显示器,支持多种水平像素和 竖直像素,数据总线带宽,接口时钟和刷新率。图0.2为 LCD 控制器逻辑框图,LCD 控制器

22、有 REGBANK,LCDCDMA,VIDPRCS,TIMEGEN 和LPC3600 组成。其中 REGBAN有17个可编程的寄存器和256×16个调色存储器用来配置 LCD 控制器。LCDCDMA 是一个专用的 DMA,他能够自动传送显存里的容到 LCD 上去显示。VIDPRCS 接受 LCDCDMA 传送过来的数据然后从 VD23:0口发送到 LCD 驱动器并在此把他们转换成合适的格式。 TIMEGEN 由可编程逻辑组成,它针对不同的 LCD 驱动器提供不同的接口时序。 TIMEGEN 模块产生 VFRAME,VLINE,VCLK,VM 等等信号。而这些控制信号又与REGBANK

23、寄存器组中的LCDCON 1/2/3/4/5的配置密切相关,通过不同的配置,TIMEGEN就能产生这些信号的不同形态,从而支持不同的LCD驱动器(即不同的STN/TFT屏)。图0.2 LCD 控制器逻辑框图 LCD控制器部共有18个控制寄存器,在设备初始化的时候要针对不同的LCD显面板对这些寄存器进行相应设置,才能够正确的显小。 LCDCONI-LCDCON5主要用来设置与LCD而板相关的信息以与产生对于不同的显器而需要的不同的控制信号。 帧缓冲起始地址寄存器1-3 (LCDSADDRI-3)用于指;:视频缓冲区在系统存储器中的地址,包括起始地址和结束地址,以与虚拟屏幕的偏移量和虚拟屏的页宽度

24、。 RGB查找表包括红色查找表寄存器(REDLUT)、绿色查找表寄存器(GREENLUT)和蓝色查找表寄存器(BLUELUT)。在这3个寄存器中,可以分别设定使用的8种红色、8种绿色、和吐种蓝色。抖动模式寄存器(Dithering Mode Register),实际上,红色、绿色和蓝色的差异,是通过时间抖动算法与帧率控制来实现的,因此还需要设置抖动模式寄存器。1.2.3 LCD寄存器介绍S3C2440的LCD控制寄存器主要有LCDCONl23,45寄存器。我们的设计目的就是要根据人体工学原理设计出人眼能够识别的最舒服的画面。一般情况下,肉眼能够识别的最舒服的帧频率应该是60HZ。它与LCDCO

25、Nl和LCDCON2/3/4寄存器的VSYNC、VB2PD、VFPD、UNEVAL、HSYNC、HBPD、HFPD、HOZVAL和CLKVAL都有关系。大多数LcD驱动器都需要与显示器相旺配的帧频率,帧频率计算公式如下:由此,我们只需要知道待驱动的LCD液晶屏的硬件参数,就町以利用以上公式设置寄存器的值了。下面我们来看看NEC公司生产的NL2432液晶屏的硬件指标与逻辑时序。1.2.4 NL2432HC的硬件参数与逻辑时序NIJ2432HC的屏幕像素为240X320PIXEL262144色(18位红绿蓝各6个比特)。硬件参数如下表所示。图1.2.4-1 NL2432HC的硬件参数NL2432H

26、C的逻辑时序图图1.2.4-2/3所示分别是NL2432HC的横向和纵向操作时序。根据该时序要求,设计时廿J设定VSYNC信号作为LCD的VCK信号。HSYNC信号作为LCD的HCK信号。要想得到合适的VM和VCLK波形就要JF确没定寄存器的值。并根据寄存器的值与VM和VCIK波形的关系设定如下关键寄存器的值。经计算,相应寄存器的值为:HSPW=5;HBPI)=36;HFPD=l 9;HOZVAI =239;一LCDCON3/4VSPW=l;VBPI)=l;VFPD=5;LINEVAL=319;一一LCDCON2图1.2.4-2横向操作时序图1.2.4-2纵向操作时序由于S3C2440的HCLK工作频率大多在60MHz左右因此。根据公式(4)可设:CLKVAL=5;一一LCDCON4既然我们设置寄存器需要的参数已经经计算分析得到,那么下面我们就可以进行具体的驱动设计了。2、Linnx下的LCD驱动的实现21开发环境本次实验采用UNUX系统下的VI进行代码编写。用GDB进行代码调试。之后采用ARM_LINUXGCC一341进行编译之后将生成的可执行文件用KERMIT通

温馨提示

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

评论

0/150

提交评论