推广 热搜: 电机  PLC  变频器  服务机器人  培训  变送器  危化品安全,爆炸  西门子PLC  触摸屏  阀门 

嵌入式系统的VGA接口设计

   日期:2013-03-23     来源:工控之家网    作者:工控之家    浏览:33    评论:0    
摘要]:本文简述了VGA接口及显像原理,并介绍基于ARM的嵌入式系统中使用SM501图形加速芯片完成VGA接口的具体方法。
关键词]:嵌入式  VGA接口  SM501

1.引言

    在嵌入式产品中一般有LCD和VGA(视频图形阵列)接口两种显示方式,目前国内嵌入式开发平台对于图形显示方面大多数采用的是LCD液晶屏,通常LCD液晶屏显示最大分辨率只能支持800*600,即使采用VGA接口(通过转接板),也不能在高分辨率(1024*768*32)下平滑播放MPGE1、MPGEG4多媒体文件,对于一些特殊的行业应用中,就不能满足用户的需求,VGA从本质而言是个模拟接口,在数字化的潮流下已显得有点过时,但在很多工业场合中考虑到如下因素,一般都选择VGA作为显示方式:

    1、工业级LCD的价格比较昂贵,各种LCD接口不一
    2、作为多年的行业标准,VGA接口是所有显示设备的标准接口

    本文在开发基于S3C2440嵌入式平台的运动控制器的过程中,成功地利用台湾Silicon Motion公司的高性能2D图形加速芯片SM501,将S3C2440的高效率处理能力和SM501的图形加速能力相结合,通过MICROSOFT公司的WINDOWS CE 4.2操作系统使之能够驱动VGA接口的显示器。考虑到嵌入式系统的设计要求,本文只介绍其中带宽最低的显示规范640×480@60Hz。

2.原理图设计

    SM501支持3种不同的系统配置。其中两种模式是Unified Memory Architecture(UMA)模式,即系统内存和帧缓冲共享存储器资源。图1显示这些可能的配置:
Configuration A是非UMA方式,它拥有最高性能,这种模式中系统内存和帧缓冲各自拥有不同的内存资源。SM501在其中扮演一个从设备的角色控制SDRAM,同时它也能扮演主设备来访问系统内存。

    Configuration B是UMA方式,系统内存和帧缓冲共享系统存储器资源,SM501作为从设备与主机连接。它也可以申请系统总线并以主设备的角色访问系统SDRAM,这种方式的性能有限,因为SM501和主机需要分时访问系统存储器。

    Configuration C是UMA方式中较好的一种,这种模式下局部SDRAM包含系统内存和帧缓冲;SM501作为从设备与主机连接。当局部SDRAM在150MHZ时钟下运行时,Configuration C的带宽高于Configuration B的带宽。
 


图1 SM501与主机硬件连接方式

    根据以上的描述,本系统采用第3种方案,这样硬件连接最简单,同时性能满足要求。SM501和S3C2440的连线相对比较少。主要电路如下图:

    VGA接口的硬件设计如下,由于考虑到在使用过程中经常带电拔插VGA接口,因此需要增加保护电路,笔者使用通用的肖特基二极管对BAV99-A7连接到三根RGB线路:

 
图3 VGA接口电路图

    同时SM501的一些配置管脚必须正常配置,否则SM501不能正常工作。主要需要配置的引脚如下:

    局部SDRAM行地址大小. 当复位时候,由 GPIO6 and GPIO5决定,但是可以通过软件更改

    GPIO7 决定是否复位分频器
    GPIO12 的电平决定是否驱动MCS#引脚。
    GPIO[15:13] 决定局部内存的大小(最小2MB,最大64MB)
    GPIO31,GPIO29,决定主机的时钟输入源

3.SM501的软件设计

    Silicon Motion公司提供SM501在WINDOWS CE下的软件动态链接库(包括ARM、MIPS、X86等CPU构架),并提供相应的源程序和应用文档。在三星提供基于S3C2440的WINDOWS CE 系统的BSP中,其显示设备默认是S3C2440A的片上LCD接口,因此需要去掉该默认设备,用SM501的动态链接库代替即可。在WINCE中使用SM501只需要做到如下几点:

    1.拷贝SM501动态库二进制文件到"$(_WINCEROOT)\public\common\oak\DRIVERS\ DISPLAY \SMIVGX\"目录
    2.在PLATFORM BUILDER 中导入VoyagerGX驱动feature的CEC文件
    3.在生成的WINCE操作系统工程文件中加入该feature
    4.在platform.reg和platform.bib文件中删除关于S3C2440A的片上LCD的驱动部分描述,并用SM501的驱动描述代替
    5.编译

    以上步骤Silicon Motion公司的文档中有更为详细的描述。需要注意的是如果要在启动WINCE中增加LOGO支持,则需要在WINCE的BOOTLOADER中增加相应关于SM501的代码。

4.总结

    本系统经过较完善实验,得出以下结论:

    基于S3C2440A+SM501的VGA接口图形系统实现了640×480@60Hz,并且可在最高达1024X768@85HZ下流畅的播放各种视频,无闪烁现象,满足系统需要。

参考文献

[1] 何宗键.WINDOWS CE嵌入式系统[M].北京:北京航空航天大学出版社,2006
[2] 汪兵,等.EVC高级编程及其应用开发[M].北京:中国水利水电出版社,2005

作者简介
肖勇:男,四川大学制造科学与工程学院机械制造及自动化专业硕士研究生,研究方向:计算机数控技术
李翔龙:男,机械制造专业博士,四川大学制造学院副教授,研究生导师,研究方向:计算机监控及工业设备自动化、计算机数控技术
张勇:男,四川大学制造科学与工程学院机械制造及自动化专业硕士研究生,研究方向:计算机监控及工业设备自动化

 
打赏
 
更多>同类环保知识
0相关评论

推荐图文
推荐环保知识
点击排行
网站首页  |  免责声明  |  联系我们  |  关于我们  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  RSS订阅  |  违规举报  |  鲁ICP备12015736号-1
Powered By DESTOON