产品厂商新闻方案技术培训下载招聘品牌展会视频媒体国防军民融合

  •  
     

    基于ARM9处理器S3C2410的LCD显示系统设计

    2007-02-02 电子元器件应用

    引言

        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中,这样,重启后就能正确显示原系统的静态启动画面,而且画面清晰稳定,可达到预期的效果,这套装置可在工业控制和车载通信等领域用作显示输出设备。




    分享到:
     
     
     
     
    热门产品
     
    推荐厂商
     
    关于我们 | 联系我们 | 广告服务 | 版权隐私 | 积分换礼 | 友情链接 | 站点导航 | 违规举报