设为首页
加入收藏
联系站长
首页 | 文章中心 | 下载中心 | 本站商品 | 学习资料 | 
您现在的位置: 电子爱好者 >> 文章中心 >> 实用电路 >> 正文 用户登录 新用户注册
[组图]基于ARM9处理器S3C2410的LCD显示系统设计          【字体:
基于ARM9处理器S3C2410的LCD显示系统设计
作者:王成儒    文章来源:转 燕山大学    点击数:    更新时间:2007-4-5

引言

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的类型设置相应寄存器中的显示模式(见下节)。LQ080V3DG01要求其电源电压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中,这样,重启后就能正确显示原系统的静态启动画面,而且画面清晰稳定,可达到预期的效果,这套装置可在工业控制和车载通信等领域用作显示输出设备。

文章录入:admin    责任编辑:admin 
  • 上一篇文章: 基于单片机的自动巡线轮式机器人控制系统设计

  • 下一篇文章: 基于单片机AT89C51的时间/位移换向控制器设计
  • 发表评论】【告诉好友】【打印此文】【关闭窗口
       最新热点    最新推荐    相关文章
  • 51单片机TCP/IP开发板

  • 【本站学习光盘列表】

  • 单片机C语言视频教程

  • 本站最新推出试验板图片展

  • Atmega及SD卡的数据采集存储…

  • 逻辑加密存储卡AT88SC1604的…

  • 智能煤气表的思路与原理

  • 用51单片机控制RTL8019AS实现…

  • AT88RF256射频卡读写器

  • 能防止多次试探密码的单片机…

  • 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)  
    {$PopAnnouceWindow(400,440)}