>>所属分类 >> 消费电子    光电/显示   

VGA

VGA(Video Graphics Array)是IBM在1987年随PS/2机一起推出的一种视频传输标准,具有分辨率高、显示速率快、颜色丰富等优点,在彩色显示器领域得到了广泛的应用。

目录

[显示全部]

VGA简介编辑本段回目录

VGA(Video Graphics Array)即视频图形阵列,是IBM在1987年随PS/2机(PS/2 原是“Personal System 2”的意思,“个人系统2”,是IBM公司在1987年推出的一种个人电脑。PS/2电脑上使用的键盘鼠标接口就是现在的PS/2接口。因为标准不开放,PS/2电脑在市场中失败了。只有PS/2接口一直沿用到今天。)一起推出的使用模拟信号的一种视频传输标准,在当时具有分辨率高、显示速率快、颜色丰富等优点,在彩色显示器领域得到了广泛的应用。这个标准对于现今的个人电脑市场已经十分过时。即使如此,VGA仍然是最多制造商所共同支持的一个标准,个人电脑在加载自己的独特驱动程序之前,都必须支持VGA的标准。例如,微软Windows系列产品的开机画面仍然使用VGA显示模式,这也说明其在显示标准中的重要性和兼容性。

VGA原理编辑本段回目录

VGA显示与VGA时序实现

  通用VGA显示卡系统主要由控制电路、显示缓存区和视频BIOS(Basic Input Output System即基本输入输出系统)程序三个部分组成。控制电路如图1所示。控制电路主要完成时序发生、显示缓冲区数据操作、主时钟选择和D/A(Digital to Analog即将数字信号转换为模拟信号)转换等功能;显示缓冲区提供显示数据缓存空间;视频BIOS作为控制程序固化在显示卡的ROM(Read-Only Memory即只读存储器)中。

图1图1
1 VGA时序分析

  通过对VGA显示卡基本工作原理的分析可知,要实现VGA显示就要解决数据来源、数据存储、时序实现等问题,其中关键还是如何实现VGA时序。 VGA的标准参考显示时序如图2所示。行时序和帧时序都需要产生同步脉冲(Sync a)、显示后沿(Back porch b)、显示时序段(Display interval c)和显示前沿(Front porch d)四个部分。几种常用模式的时序参数如表1所示。

图2图2
2 VGA时序实现

  首先,根据刷新频率确定主时钟频率,然后由主时钟频率和图像分辨率计算出行总周期数,再把表1中给出的a、b、c、d各时序段的时间按照主计数脉冲源频率折算成时钟周期数。在CPLD中利用计数器和RS触发器,以计算出的各时序段时钟周期数为基准,产生不同宽度和周期的脉冲信号,再利用它们的逻辑组合构成图2中的a、b、c、d各时序段以及D/A转换器的空白信号BLANK和同步信号SYNC。

表1表1
3 读SRAM地址的产生方法
  主时钟作为像素点计数脉冲信号,同时提供显存SRAM的读信号和D/A转换时钟,它所驱动的计数器的输出端作为读SRAM的低位地址。行同步信号作为行数计数脉冲信号,它所驱动的计数器的输出端作为读SRAM的高位地址。由于采用两片SRAM,所以最高位地址作为SRAM的片选使用。由于信号经过CPLD内部逻辑器件时存在一定的时间延迟,在CPLD产生地址和读信号读取数据时,读信号、地址信号和数据信号不能满足SRAM读数据的时序要求。可以利用硬件电路对读信号进行一定的时序调整,使各信号之间能够满足读SRAM和为DAC输入数据的时序要求。
4 数据宽度和格式
  如果VGA显示真彩色BMP图像,则要R、G、B三个分量各8位,即24位表示一个像素值,很多情况下还采用32位表示一个像素值。为了节省显存的存储空间,可采用高彩色图像,即每个像素值由16位表示,R、G、B三个分量分别使用5位、6位、5位,比真彩色图像数据量减少一半,同时又能满足显示效果。

功能单元设计编辑本段回目录

实现VGA显示,除了实现时序控制,还必须有其他功能单元的支持才能实现完整的图像显示。
1 控制器
  VGA显示有多种模式,需要通过控制器实现模式间切换,还需要对显示的内容进行接收、处理和显示。所以控制器的性能越高,数据更新和显示效果就越好。
2 显示数据缓存区
  VGA显示要求显存速度快、容量大。读速度要达到65MHz以上,存储容量至少要2MB。可采用高速SRAM或SDRAM作为显示数据缓存。
3 数模转换器DAC
  VGA显示对数模转换DAC有如下要求:一是高速转换,转换的速度应该在80MHz或以上;二是同步性好,能保证 R、G、B三路信号的同步性;三是有相应的精度。可选择一种包括3路8位高速D/A的专用视频芯片。
4 数据源及其接口
  要提高VGA显示的效率,就要不断更新数据,同时还要保证实时性,因此需要非常高的接口速度。VGA显示卡虽可达到100Mbps的数据更新速度,但是一般设备、特别是嵌入式设备达不到这么高的速度,而且大多数情况下也不需要这么高的数据更新率。目前常用接口为EPP接口、USB接口、 TCP/IP、RS232C/485等。其中TCP/IP、EPP接口和USB接口是基于计算机的,速度较快;TCP/IP、RS232C/485是基于网络通信的接口,其中RS485速度虽慢,但应用广泛且容易实现远程控制。   

在数据源为低速接口时,可以考虑采用 Flash或者SM存储卡等预先存储一些常用的图像显示数据和字库文件,在更新数据时直接应用这些数据,从而加快显示缓存的更新速度。这样既能满足高分辨率图像的显示,又能满足文字信息数据的快速更新。刚时为了存储更多的图像,可以先存储JPEG格式图像,再由控制器解码成BMP位图图像后送到显示缓存显示,这样就相对扩展了Flash的存储空间。同时,由于图像的解码速度要大大快于数据源接口的速度,也就相应提高了显示缓存的数据更新速度。   

由各功能单元组成的VGA显示硬件结构框图如图3所示。

图3图3

VGA显示系统的实现 编辑本段回目录

显存数据更新与显示的同步实现

  在VGA显示时,要考虑如何实现显存数据更新与显示的同步进行。解决的方案有以下几种:   

(1) 采用具有缓存作用的双口RAM,这种方法使用的器件数量多、功耗大、成本高,基本不可取。   

(2) 采用两组SRAM进行乒乓工作模式,一组SRAM用于显示的同时,另一组SRAM用于图像数据的更新,然后在两组SRAM之间切换。这样做会提高一些成本,而且需要更复杂的总线控制。   

(3) 利用FPGA/CPLD和SDRAM构造双口SRAM。这种方法实时性好,成本较低,时序控制比较复杂,它是 实现高性能低成本要求的最佳方案。   

(4) 采用一组SRAM作为显存,可以简化系统设计、降低成本。这时可以考虑利用行时序和帧时序中SRAM总线空闲的时序段,在不关闭图像显示的情况下实现显存SRAM的数据更新。该方法的更新率与数据写速度密切相关,显存的写数据速度越快,该方法的更新率就越高。   

假设CPU的工作时钟最大为60MHz,并采用JPEG解码更新方式。这时如果将解码缓存区分配在CPU片内内存,则更新数据时直接由内存向 SRAM写数据,一次需要0.17μs;如果将解码缓存区分配在片外空间,则更新数据时CPU要先从片外读数据,再向SRAM写数据,这样写一次需要 0.25μs。在相邻显示的两帧图像只存在局部差别或更新文本显示信息时,可使用局部数据更新方法,以提高更新率。表2给出了显示每帧图像包含的总线空闲时间,以及在不同解码缓存区分配方式下图像全部更新和10%局部更新的帧率。这里提到的帧率是指对显存数据的更新速度,而不是指图像的屏幕刷新率,它对刷新率没有影响。

表2表2
嵌入式VGA显示系统

  基于以上方案设计的嵌入式VGA显示系统在只有系统控制板和CRT显示器的情况下实现了嵌入式高分辨率VGA显示。   

通过对嵌入式VGA显示系统的设计分析和实际使用,得到如下结论:   

(1) 由于VGA显示是一个高速过程,所以选择器件时要选择高速器件。   

(2) VGA显示时序要求较严格,时序中的前后沿及同步脉冲宽度都要依照严格的参考数据设置。   

(3) 在一般情况下,由于数据接口的限制,数据更新率不能达到计算机的水平。通过一些特殊设计,还是能够满足大多数嵌入式VGA的需求。   

(4) 性能、成本和复杂度要综合考虑,要以系统的实际需求为目标,采用合理而实用的设计方案。

内存寻址

  VGA所使用的视讯内存,透过一个窗口对应于PC的主内存,它们的真实位址为0xA000和0xC000之间的内存。典型地来说位址的开始点是:   

* 0xA000 使用于 EGA/VGA 图型模式(4 KB)   

* 0xB000 单色文字模式(2 KB)   

* 0xB800 彩色文字模式和 CGA 相容模式(2 KB)   

由于使用的区段皆不相同,在同一部机器上装置一个单色显卡(MDA)和另一个彩色显卡(VGA、EGA或CGA)是不冲突的。在 1980 年代初,这种典型的搭配方式用于 Lotus 1-2-3 试算表上,一部高解析单色屏幕用来显示文字,而另一部低解析的 CGA 屏幕用来显示图表。许多程式设计师也用这种配置来开发软件,一部屏幕显示 debug 细节,另一部屏幕则显示真正的软件运行画面。许多商业的除错软件都支持这种配置,例如 Borland 的 Turbo Debugger、由 Alan J. Cox 开发的 D86、微软的 CodeView 等,Turbo Debugger 和 CodeView 可以甚至可拿来 debug 微软的 Windows 软件。也有 DOS 驱动程式如ox.sys模拟一个终端机来接受 Windows 的 debug 讯息,而不用真正接上另一个终端机。在 DOS 底下使用“单色模式”指令,使其输出转向单色也是可能的。另外,假如电脑上并无单色显卡,那么可以使用 EMM386.EXE 程序让其他程式可以使用 B000-B7FF 这一段内存。(于 config.sys 档案中加入 "DEVICE=EMM386.EXE I=B000-B7FF")
程序技巧
  一个未被纪录但十分广泛使用的技术称作 Mode X(由 Michael Abrash 导入),使程式设计师能够使用在 Mode 13h 之下无法做到的分辨率。他将 256 KiB 连续的视讯内存“解开”并分成四个层次,因此在 256 色模式时全部 256 KB 的内存都可以使用。技术上这将使得处理变得更复杂,并且效能降低。但在一些特殊情况下,效能损失的情况可以被弥补:   

* 单色的多边形填色增快,因为一次写入可以设定四个像素。   

* VGA 可以用来协助视讯内存之间的拷贝,有些时候会比使用 8088 或 80286 等慢速 CPU 更快。   

* 提供更高的分辨率:16 色可使用 704×528、736×552、768×576、甚至 800×600。诸如 Xlib(1990 年代早期的 C 图形函式库)和 ColoRIX(256 色的图形程式)支援 256 色下的各种分辨率调和:直行 256、320 和 360 个像素,以及水平行 200、240、256、400 和 480 个像素的组合(上限的 640×400 几乎用掉 256 KiB 中每一个 byte)。不过,320×240仍然是最常被使用的,因它为典型的4:3比例,为方形像素。   

* multiple video pages 让程序员能够使用双重缓冲(所有的 16 色模式都可),这在 Mode 13h 无法办到。   

有时候,显示器必须降低更新频率来满足这些模式,这会造成眼睛的疲劳这样的低分辨率虽然在PC市场早已淡出,但在Pocket PC和PDA市场,它正逐渐成为标准。它也常被用来指称15针的D型接头,这种接头仍然用来传输各式各样分辨率的类比讯号。   

曾经IBM官方宣布VGA被XGA标准所取代,但在历史上,它是被其他的OEM制造商使用的所谓SVGA标准取代了。

技术性细节

  VGA中的A指的是“阵列(array)”而非“转换器(adapter)”,因为它从一开始就被设计为一个单一的整合芯片,用来取代Motorola 6845和数十个离散的逻辑芯片组合而成的ISA母版,这种设计是之前的MDA、CGA和EGA所使用的。VGA的这个特性允许它轻易的殖入PC的主板之中,只需要额外的视讯内存、振荡器和一个RAMDAC,就具备显示功能。IBM的PS/2电脑系列就是采用将VGA放置于主板上的设计。   

VGA的规格表如下:   

* 256 KiB 的 Video RAM   

* 16 色和 256 色模式   

* 总共 262144 种颜色的色版(红、绿、蓝三色各 6 bit,总共 (26)3 种)   

* 选择性的 25.2 MHz 或 28.3 MHz 处理频率   

* 最多 720 个水平像素   

* 最多 480 条线   

* 最高 70 Hz 的更新频率   

* Vertical Blanking interrupt(不是所有卡都支持)   

* 平面模式:最多 16 色(4 bit 面板)   

* Packed-pixel 模式:256 色(Mode 13h)   

* 顺畅卷动画面的能力   

* Some "Raster Ops" support   

* Barrel shifter   

* 支援分割画面   

VGA支援可单独操控像素的APA(All Points Addressable)模式,也支援字母与数字的文字模式。标准的图形模式如下:   

* 640×480×16色   
* 640×350×16色   
* 320×200×16色   
* 320×200×256色(Mode 13h)   

它也支援用模拟的方式画出以往规格的分辨率:EGA、CGA和MDA。

VGA标准编辑本段回目录

VGA文字模式

  标准的VGA文字模式使用 80×25 或 40×25 个字母或数字组成的平面。每个字符的块状区域可以选择16种前景色和8种背景色;8种背景色来自bit容量较低的集合(以今天的标准来说,例如 ffffff 或者是 000000)。而字符本身也可设定是否闪烁,而字符的闪烁动作都是同时的。画面的闪烁功能和选择背景颜色的功能是可交换的,换句话说两者只能择一。以上这些选项和IBM先前生产的 CGA 转换器是相同的。   

VGA虽然支援黑白和彩色的文字模式,但黑白模式很少使用。大多的VGA在显示黑白模式时使用彩色模式,即是将灰色字画在黑色背景上。而使用VGA 的单色显示器也能很好的支援这样的彩色模式。现代显示器和显卡若连接不当,偶尔会导致显卡的VGA部份侦测显示器为单色的,而这将使BIOS开机显示为黑白模式。通常在加载操作系统和适当的驱动程式以后,显卡的设定被覆盖,显示器就会变回彩色。   

在彩色的文字模式中,每个字符其实由两个byte代表。较低的一个byte用来显示字符,而较高的byte就用来代表彩色、闪烁等等属性。这种成对的byte模式是从CGA就一直传续下来的。

VGA色版

  VGA的色彩系统可以向前相容于EGA和CGA转换器,而它在其上又新增了一种设定。CGA可以显示16种色彩,EGA则将其扩充成从64种颜色色版选出的16色模式(即红绿蓝各2 bits)。VGA则更将其扩充成256种颜色色版,但为了向前相容,一次只能选择256种之中的64种(例如第一个64种颜色集合、第二个…)。所以一个。它们也不相容于较老旧的显示器,将造成诸如 overscan、闪烁、垂直滚动、缺乏水平同步等等缺点。因为如此,多数的商业软件使用的 VGA 调适都限制在显示器的“安全界线”之下,例如 320×400(双倍分辨率,2 video pages)、320×240(方形像素,3 video pages)和 360x480(最高的相容分辨率,1 video page)。

VGA显示标准

  VGA(Video Graphics Array)是IBM于1987年提出的一个使用模拟信号的电脑显示标准,这个标准已对于现今的个人电脑市场已经十分过时。即使如此,VGA仍然是最多制造商所共同支持的一个低标准,个人电脑在加载自己的独特驱动程式之前,都必须支持VGA的标准。例如,微软Windows系列产品的开机画面仍然使用VGA显示模式,这也说明其分辨率和载色数的不足。   

VGA这个术语常常不论其图形装置,而直接用于指称640×480的分辨率。VGA装置可以同时储存4个完整的EGA色版,并且它们之间可以快速转换,在画面上看起来就像是即时的变色。   

除了扩充为256色的EGA式色版,这256种色彩其实可以透过 VGA DAC(Digital-to-analog converter),任意的指定为任何一种颜色。这就程度上改变了原本EGA的色版规则,因为原本在EGA上,这只是一个让程式可以在每个频道(即红绿蓝)在2 bit以下选择最多种颜色的方式。但在VGA下它只是简单的64种颜色一组的表格,每一种都可以单独改变——例如EGA颜色的首两个bit代表红色的数量,在VGA中就不一定如此了。   

VGA在指定色版颜色时,一个颜色频道有6个bit,红、绿、蓝各有64种不同的变化,因此总共有 262,144 种颜色。在这其中的任何 256 种颜色可以被选为色版颜色(而这 256 种的任何 16 种可以用来显示 CGA 模式的色彩)。   

这个方法最终仍然使了VGA模式在显示EGA和CGA模式时,能够使用前所未有的色彩,因为VGA是使用模拟的方式来绘出EGA和CGA画面。提供一个色版转换的例子:要把文字模式的字符颜色设定为暗红色,暗红色就必须是 CGA 16 色集合中的一种颜色(譬如说,取代 CGA 默认的 7 号灰色),这个 7 号位置将被指定为 EGA 色版中的 42 号,然后 VGA DAC 将 EGA #42 指定为暗红色。则画面上的原本的 CGA 七号灰色,都会变成暗红色。这个技巧在 256 色的 VGA DOS 游戏中,常常被用来表示加载游戏的淡入淡出画面。   

总结来说,CGA 和 EGA 同时只能显示 16 种色彩,而 VGA 因为使用了 Mode 13h 而可以一次显示 256 色版中的所有色彩,而这 256 种颜色又是从 262,144 种颜色中挑出的。

VGA显示模式

  VGA最早指的是显示器640X480这种显示模式,VGA的英文全称是Video Graphic Array,也叫显示绘图阵列。VGA支持在640X480的较高分辨率下同时显示16种色彩或256种灰度,同时在320X240分辨率下可以同时显示256种颜色。   

在VGA基础上加以扩充,使其支持更高分辨率如800X600或1024X768,这些扩充的模式就称之为VESA(Video Electronics Standards Association,视频电子标准协会)的Super VGA模式,简称SVGA,现在的显卡和显示器都支持SVGA模式VGA接口就是显卡上输出模拟信号的接口,也叫D-Sub接口,传输红、绿、蓝模拟信号以及同步信号(水平和垂直信号)。

VGA分辨率

  VGA (Video Graphics Array,视频图形阵列):是IBM于1987年提出的一个使用类比讯号的电脑显示标准。这个标准已对于现今的个人电脑市场已经十分过时。即使如此,VGA仍然是最多制造商所共同支援的一个低标准,个人电脑在加载自己的独特驱动程式之前,都必须支援VGA的标准。例如,微软Windows系列产品的开机画面仍然使用VGA显示模式,这也说明其分辨率和载色数的不足。VGA这个术语常常不论其图形装置,而直接用于指称640×480的分辨率。   

XGA (Extended Graphics Array,扩展图形阵列):是IBM于1990年发明的,XGA较新的版本XGA-2以真彩色提供800×600象素的分辨率或以65536种色彩提供1024×768象素的分辨率,这两种图像分辨水平可能是个人和小企业当今最常用的。   

UVGA(Ultra Video Graphics Array,极速扩展图形阵列):支持最大1600×1200分辨率。一般用于15英寸的笔记本电脑。由于对制造工艺要求较高所以价格也是比较昂贵。目前只有少部分高端的移动工作站配备了这一类型的屏幕。   

HVGA,Half-size VGA,意思是VGA分辨率的一半,为480×320像素,宽高比为3:2。目前这种分辨率的屏幕大多用于PDA,当然iPhone和第一款Google手机——T-Mobile G1也都是采用这种分辨率,黑莓也有手机采用HVGA分辨率的屏幕。   

QVGA(Quarter VGA)。顾名思义,QVGA即VGA分辨率的四分之一,亦即分辨率是240×320像素。QVGA支持屏幕旋转,可以开发出相应的程序,以显示旋转90°、180°、270°屏幕位置。由HandEra公司发布。多用于手持/移动设备。QQVGA为QVGA的1/4屏,分辨率为120*160。   

SVGA SXGA SXGA+  

SVGA(Super Video Graphics Array,高级视频图形阵列):VGA由于良好的性能迅速开始流行,厂商们纷纷在VGA基础上加以扩充,如将显存提高至1M并使其支持更高分辨率如800X600或1024X768,这些扩充的模式就称之为VESA(Video Electronics Standards Association,视频电子标准协会)的Super VGA模式,简称SVGA,现在的显卡和显示器都支持SVGA模式。由VESA为IBM兼容机推出的标准,属于VGA的替代品。最大支持800×600分辨率。   

SXGA(Super Extended Graphics Array,高级扩展图形阵列):一个分辨率为1280x1024的既成事实显示标准。这种被广泛采用的显示标准的纵横比是5:4而不是常见的4:3。   

SXGA+(Super Extended Graphics Array):作为SXGA的一种扩展,SXGA+是一种专门为笔记本设计的屏幕。其显示分辨率为1400×1050。由于笔记本LCD屏幕的水平与垂直点距不同于普通桌面LCD,所以其显示的精度要比普通17英寸的桌面LCD高出不少。   

WVGA WXGAWXGA+ WSXGAWUXGA  

 WVGA,Wide VGA,分辨率分为854×480像素和800×480像素两种。由于目前很多网页的宽度都是800像素,所以这种分辨率通常用于PDA或者高端智能手机,方便用户浏览网页。夏普公司的手机大多也是采用WVGA级别分辨率的屏幕。   

WXGA(Wide Extended Graphics Array,宽屏扩展图形阵列):作为普通XGA屏幕的宽屏版本,WXGA采用16:10的横宽比例来扩大屏幕的尺寸。其最大显示分辨率为1280×800。由于其水平像素只有800,所以除了一般15英寸的笔记本电脑之外,也有12.1英寸的笔记本电脑采用了这种类型的屏幕。 另一种是1366×768,宽高比为16:9,主要应用于37、42、46英寸的平板电视上。   

WXGA+(Wide Extended Graphics Array):这是一种WXGA的的扩展,其最大显示分辨率为1280×854。由于其横宽比例为15:10而非标准宽屏的16:10。所以只有少部分屏幕尺寸在15.2英寸的笔记本电脑采用这种产品。   

WSXGA(Wide Super Extended Graphics Array,宽屏超级扩展图形阵列):其显示分辨率为1680×1050,宽高比为16:9。除了大多数15英寸以上的宽屏笔记本以外,目前较为流行的大尺寸LCD-TV也都采用了这种类型的产品。   

WUXGA(Wide Ultra Video Graphics Array宽屏极速视频图形阵列):和4:3规格中的UXGA一样,WUXGA屏幕是非常少见的,其显示分辨率可以达到1920×1200。

附件列表


→如果您认为本词条还有待完善,请 编辑词条

上一篇车联网下一篇VGA接口

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。
0

收藏到:  

词条信息

hanshuang
hanshuang
超级管理员
词条创建者 发短消息   
  • 浏览次数: 1156 次
  • 编辑次数: 1次 历史版本
  • 更新时间: 2011-08-16

相关词条