分享

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

 思念是一种饼 2010-12-01
 引言
    
    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./Article/danpianji/200910/35744_2.html

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多