当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]基于ARM9处理器S3C2410的LCD显示系统设计

引言

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

业内消息,此前有消息称华为将发布一款擎云 W515x “PC 新品”,该机将首发 8 核 12 线程麒麟 9000C 处理器,目前相关产品具体规格信息已经现身华为官网。

关键字: 华为 PC 麒麟9000C 处理器

OpenAMP一个提供用于处理非对称多处理(AMP)系统的软件组件,可以简化异构多核处理器系统间的高效通信,提供跨平台、可扩展且灵活的解决方案。通过OpenAMP,开发人员可以轻松地在不同架构的处理器之间共享资源,实现高...

关键字: 开发板 核心板 处理器

NAS这些年可吸引了不少数码发烧友的注意,但也渐渐在家庭用户中风靡。究其原因,大概还是因为太多人因为现在数据过于庞大,而一个NAS基本上就能解决一个家庭的数据存储难题。在这一背景下,铁威马F4-424 Pro凭借其出色的...

关键字: NAS 数据存储 处理器

工作后出门最担心的就是突然来了个项目要赶,有次刚到朋友家,却突然接到电话让赶项目,电脑好说跟朋友借一下就行,但是项目的资料,所需的软件都是一个庞大的数据库。朋友见状给我推荐了一款NAS,即使是不懂技术的"小白"用户来说,...

关键字: 私有云 处理器 USB存储

2024年5月7日 – 专注于引入新品的全球半导体和电子元器件授权代理商贸泽电子 (Mouser Electronics) 即日起开售Microchip Technology的PIC32CZ CA MCU。PIC32CZ...

关键字: MCU 工业网关 处理器

业界应如何看待边缘人工智能?ST授权合作伙伴 MathWorks 公司的合作伙伴团队与ST 共同讨论了对边缘机器学习的看法,并与 STM32 社区分享了他们的设计经验。

关键字: AI 机器学习 处理器

Remi Pi采用瑞萨RZ/G2L作为核心处理器,该处理器搭载双核Cortex-A55@1.2GHz+Cortex-M33@200MHz处理器,其内部集成高性能3D加速引擎Mail-G31 GPU(500MHz)和视频处...

关键字: 瑞米派 处理器

业内消息,近日高通公司宣布推出针对桌面平台的全新骁龙 X Plus 处理器。

关键字: 高通 骁龙 X Plus 处理器

近日,米尔电子推出米尔基于NXP i.MX 93系列产品-MYC-LMX9X核心板及开发板。NXP i.MX 9系列在i.MX 6和i.MX 8系列产品市场验证的基础上,继承了前代产品的优点的同时,进一步提升了性能、资源...

关键字: 核心板 开发板 处理器
关闭
关闭