VGA是IBM于1987年提出的一个利用仿照旗子暗记的电脑显示标准,VGA最早指的是显示器640X480这种显示模式,VGA的英文全称是Video Graphic Array,也叫显示绘图阵列。 VGA技能的运用还紧张基于VGA显示卡的打算机、条记本等设备,而在一些既哀求显示彩色高分辨率图像又没有必要利用打算机的设备上,VGA技能的运用却很少见到。本文对嵌入式VGA显示的实现方法进行了研究。
基于这种设计方法的嵌入式VGA显示系统,可以在不该用VGA显示卡和打算机的情形下,实现VGA图像的显示和掌握。系统具有本钱低、构造大略、运用灵巧的优点,可广泛运用于超市、车站、飞机场等公共场所的广告宣扬和提示信息显示,也可运用于工厂车间生产过程中的操作信息显示,还能以多媒体形式运用于日常生活。
在VGA显示时,要考虑如何实现显存数据更新与显示的同步进行。办理的方案有以下几种:

1、采取一组SRAM作为显存,可以简化系统设计、降落本钱。这时可以考虑利用行时序和帧时序中SRAM总线空闲的时序段,在不关闭图像显示的情形下实现显存SRAM的数据更新。该方法的更新率与数据写速率密切干系,显存的写数据速率越快,该方法的更新率就越高。
假设CPU的事情时钟最大为60MHz,并采取JPEG解码更新办法。这时如果将解码缓存区分配在CPU片内内存,则更新数据时直接由内存向 SRAM写数据,一次须要0.17μs;如果将解码缓存区分配在片外空间,则更新数据CPU要先从片外读数据,再向SRAM写数据,这样写一次须要 0.25μs。在相邻显示的两帧图像只存在局部差别或更新文本显示信息时,可利用局部数据更新方法,以提高更新率。表2给出了显示每帧图像包含的总线空闲韶光,以及在不同解码缓存区分配办法下图像全部更新和10%局部更新的帧率。这里提到的帧率是指对显存数据的更新速率,而不是指图像的屏幕刷新率,它对刷新率没有影响。
基于以上方案设计的嵌入式VGA显示系统在只有系统掌握板和CRT显示器的情形下实现了嵌入式高分辨率VGA显示。
2、利用FPAG/CPLD和SDRAM布局双口SRAM。这种方法实时性好,本钱较低,时序掌握比较繁芜,它是 实现高性能低本钱哀求的最佳方案。
3、采取两组SRAM进行乒乓事情模式,一组SRAM用于显示的同时,另一组SRAM用于图像数据的更新,然后在两组SRAM之间切换。这样做会提高一些本钱,而且须要更繁芜的总线掌握。
4、采取具有缓存浸染的双口RAM,这种方法利用的器件数量多、功耗大、本钱高,基本不可取。
一、单元功能讲解
1、数据源及其接口
要提高VGA显示的效率,就要不断更新数据,同时还要担保实时性,因此须要非常高的接口速率。VGA显示卡虽可达到100Mbps的数据更新速率,但是一样平常设备、特殊是嵌入式设备达不到这么高的速率,而且大多数情形下也不须要这么高的数据更新率。目前常用接口为EPP接口、USB接口、 TCP/IP、RS232C/485等。个中TCP/IP、EPP接口和USB接口是基于打算机的,速率较快;TCP/IP、RS232C/485是基于网络通信的接口,个中RS485速率虽慢,但运用广泛且随意马虎实现远程掌握。
2、显示数据缓存区
VGA显示哀求显存速率快、容量大。读速率要达到65MHz以上,存储容量至少要2MB。可采取高速SRAM或SDRAM作为显示数据缓存。
3、数模转换器DAC
VGA显示对数模转换DAC有如下哀求:一是高速转换,转换的速率该当在80MHz或以上;二是同步性好,能担保 R、G、B三路旗子暗记的同步性;三是有相应的精度。可选择一种包括3路8位高速D/A的专用视频芯片。
3、掌握器
VGA显示有多种模式,须要通过掌握器实现模式间切换,还须要对显示的内容进行吸收、处理和显示。以是掌握器的性能越高,数据更新和显示效果就越好。
在数据源为低速接口时,可以考虑采取 Flash或者SM存储卡等预先存储一些常用的图像显示数据和字库文件,在更新数据时直接应用这些数据,从而加快显示缓存的更新速率。这样既能知足高分辨率图像的显示,又能知足笔墨信息数据的快速更新。刚时为了存储更多的图像,可以先存储JPEG格式图像,再由掌握器解码成BMP位图图像后送到显示缓存显示,这样就相对扩展了Flash的存储空间。同时,由于图像的解码速率要大大快于数据源接口的速率,也就相应提高了显示缓存的数据更新速率。
二、VGA的事理描述
1、数据宽度和格式
如果VGA显示真彩色BMP图像,则要R、G、B三个分量各8位,即24位表示一个像素值,很多情形下还采取32位表示一个像素值。为了节省显存的存储空间,可采取高彩色图像,即每个像素值由16位表示,R、G、B三个分量分别利用5位、6位、5位,比真彩色图像数据量减少一半,同时又能知足显示效果。
2、读SRAM地址的产生方法
主时钟作为像素点计数脉冲旗子暗记,同时供应显存SRAM的读旗子暗记和D/A转换时钟,它所驱动的计数器的输出端作为读SRAM的低位地址。行同步旗子暗记作为行数计数脉冲旗子暗记,它所驱动的计数器的输出端作为读SRAM的高位地址。由于采取两片SRAM,以是最高位地址作为SRAM的片选利用。由于旗子暗记经由CPLD内部逻辑器件时存在一定的韶光延迟,在CPLD产生地址和读旗子暗记读取数据时,读旗子暗记、地址旗子暗记和数据旗子暗记不能知足SRAM读数据的时序哀求。可以利用硬件电路对读旗子暗记进行一定的时序调度,使各旗子暗记之间能够知足读SRAM和为DAC输入数据的时序哀求。
3、VGA时序实现
首先,根据刷新频率确定主时钟频率,然后由主时钟频率和图像分辨率打算出行总周期数,再把表1中给出的a、b、c、d各时序段的韶光按照主计数脉冲源频率折算成时钟周期数。在CPLD中利用计数器和RS触发器,以打算出的各时序段时钟周期数为基准,产生不同宽度和周期的脉冲旗子暗记,再利用它们的逻辑组合构成图2中的a、b、c、d各时序段以及D/A转换器的空缺旗子暗记BLANK和同步旗子暗记SYNC。
4、VGA时序剖析
通过对VGA显示卡基本事情事理的剖析可知,要实现VGA显示就要办理数据来源、数据存储、时序实现等问题,个中关键还是如何实现VGA时序。 VGA的标准参考显示时序如图2所示。行时序和帧时序都须要产生同步脉冲(Sync a)、显示后沿(Back porch b)、显示时序段(Display interval c)和显示前沿(Front porch d)四个部分。几种常用模式的时序参数如表1所示。
通过对嵌入式VGA显示系统的设计剖析和实际利用,得到如下结论:
1、性能、本钱和繁芜度要综合考虑,要以系统的实际需求为目标,采取合理而实用的设计方案。
2、在一样平常情形下,由于数据接口的限定,数据更新率不能达到打算机的水平。通过一些分外设计,还是能够知足大多数嵌入式VGA的需求。
3、VGA显示时序哀求较严格,时序中的前后沿及同步脉冲宽度都要依照严格的参考数据设置。
4、由于VGA显示是一个高速过程,以是选择器件时要选择高速器件。