您的位置:控制工程论坛网论坛 » 嵌入式系统 » 嵌入式系统的VGA接口设计

jshfq

jshfq   |   当前状态:在线

总积分:17995  2025年可用积分:0

注册时间: 2007-08-06

最后登录时间: 2013-11-04

空间 发短消息加为好友

嵌入式系统的VGA接口设计

jshfq  发表于 2008/6/20 17:16:16      933 查看 0 回复  [上一主题]  [下一主题]

手机阅读









嵌入式系统的VGA接口设计

 
摘要]:本文简述了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楼 0 0 回复