太原三甲医院护士招聘:基于ARM9处理器S3C2410的LCD显示系统设计
来源:百度文库 编辑:偶看新闻 时间:2024/03/29 18:53:46
引言 s3c2410是三星公司生产的基于arm920t内核的risc微处理器,其主频可达203mhz[1],适用于信息家电、pda、手持设备、移动终端等领域,本文介绍了基于s3c2410的显示系统的硬件电路及驱动软件设计方法。 tft-lcd模块的时序要求 本显示模块选用的lq080v3dg01是sharp公司的tft-lcd器件,该器件的分辨率为640×480,控制时序图如图1所示,时间参数如表1所列[2]。 硬件电路设计 在该显示系统的硬件电路中,s3c2410与lcd模块的连接是关键,s3c2410内部自带一个lcd驱动控制器,其接口可以与单色、灰度、彩色stn型和彩色tft型的lcd直接相连,但需要根据所连接的lcd的类型设置相应寄存器中的显示模式(见下节q080v3dg01要求其电源电压vdd典型值为3.3v/5v,并且lcd数据和控制信号的高电平输入电压vih在2.3-5.5v范围内,低电平输入电压vil则在-0.3-0.9v范围内,故可以直接与s3c2410相连,其电路图如图2所示。 系统软件设计 s3c2410处理器中的lcd控制器内含寄存器lcdcom1-lcdcon5。对于lq080v3dg01,这些寄存器的具体设置如下: (1)在lcdcon1中,clkval是时钟参数,对于lq080v3dg01,该域值取1。pnrmode是显示模式参数,该域值取3,表示所用模块是tft型,bppmode是每个象素的数据位数参数,对于lq080v3dg01模块,设计时可设置成16bpp,所以此域值取12。 (2)在lcdcon2中,vbpd对应于表1中的h参数,该域值取32。lineval对应于表1中的i参数,该域值取479,vfpd对应于表1中的j参数,该域值取9,vspw对应于表1中的g参数,该域值取1。 (3)在lcdcon3中,hbpd对应于表1中的c参数,该域值取47。hozval对应无于表1中的d参数,该域值取639,hfpd对应于表1中的e参数,该域值取15。 (4)在lcdcon4中只需要设置hspw即可,它对应于表1中的b参数,该域值取95。 (5)lcdcon5中,bpp24bl用于决定24bpp视频存储器的大小端模式,该域值取0,frm565决定16bpp视频输入数据的格式。 在设计中,还可在基于s3c2410的硬件平台上安装嵌入式linux操作系统。为了使lcd能够正常显示,还需要在嵌入式linux系统下开发lcd的驱动程序。 framebuffer是出现在linux2.2.xx内核的一种驱动程序接口,对应的源文件在linux/drivers/video/目录下,总的抽象设备文件为fbcon.c。这种接口将显示设备抽象为帧缓冲区,用户可以将它看成是显示内存的一个映象。在使用帧缓冲时,linux将显卡置于图形模式下[3]。 根据上面对lcd各主要寄存器设置的分析所得出的结果,笔者开发了基于framebuffer机制的s3c2410fb驱动程序。下面是经过调试成功的部分代码,该程序可对显示屏幕进行初始化并设置lcd控制寄存器的值: /*s3c2410fb.c*/ staticstructs3c2410fb_mach_infoxxx_stn_info_initdata={ pixclock:174757,bpp:16,xres:640,yres:480,hsync_len:96,vsync_len:2,left_margin:40,upper_margin:24,right_margin:32,lower_margin:11,sync:0,cmap_static:1。 reg:{//设置lcd控制寄存器的值 lcdcon1:lcd1_bpp_16t|lcd1_pnr_tft|lcd1_clkval(1),lcdcon2:lcd2_vbpd(32)|lcd2_vfpd(9)|lcd2_vspw(1),lcdon3:lcd3_hbpd(47)|lcd3_hfpd(15),lcdcon4:lcd4_hspw(95)|lcd4_mval(13),lcdcon5:lcd5_frm565|lcd5_invvlien|lcd5_invvframe|lcd5_hwswp|lcd5_pwren,},}; 结束语 按照本文所设计的接口连接好硬件后,即可修改s3c2410的驱动程序,并在整个系统编译后重新写到flash中,这样,重启后就能正确显示原系统的静态启动画面,而且画面清晰稳定,可达到预期的效果,这套装置可在工业控制和车载通信等领域用作显示输出设备。
本篇文章来源于 百科网络 转载请以链接形式注明出处 网址:http://www.siaaa.com/Article/danpianji/200910/35744_2.html
本篇文章来源于 百科网络 转载请以链接形式注明出处 网址:http://www.siaaa.com/Article/danpianji/200910/35744_2.html
用S3C2410的实验板做基于嵌入式LINUX系统下的USB1.1接口驱动,请问各位大侠该如何做啊?
基于Nehalem的处理器是否上市?如没有,何时上市?
哪家的ARM9开发板比较好?
ARM9微处理器
在LCD的说明书中常用的如10bit信号处理器是什么意思?
谁知道s3c2410的触摸屏驱动的源代码的下载地址,拜求?!!
大家好,有谁懂S3C2410或者QT的人吗?急急急
请教ARM9+LINUX的潜入式开发学习方法和步骤,请各位大哥指点.
用arm9实验箱接收的GPS原始信息,如何解析成为经纬度?
基于构件的软件工程
基于API的文件传输
基于telnet的bbs
基于Web的调查
ARM9 123Mhz 是什么?
LCD密码锁的设计
LCD显示器的疑问!
LCD的反应时间有几种
LCD 的可视角度
LCD的坏点有哪三个
lcd是什么的简称
LCD的工作原理?
LCD的问题!~~~~~~~~
LCD 真的不闪吗?
LCD的各种参数