基于ARM9处理惩罚器S3C2410的LCD表现体系计划
发布日期:2011-05-08
小序
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*/
static struct s3c2410fb_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_HW SWP|LCD5_PWREN,},};
结束语
根据本文所计划的接口连接好硬件后,即可修改S3C2410的驱动步伐,并在整个体系编译后重新写到Flash中,如许,重启后就能精确表现原体系的静态启动画面,并且画面清楚稳固,可到达预期的结果,这套装置可在产业控制和车载通讯等范畴用作表现输出配置。