VGAWord格式文档下载.docx
- 文档编号:19357838
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:11
- 大小:57.55KB
VGAWord格式文档下载.docx
《VGAWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《VGAWord格式文档下载.docx(11页珍藏版)》请在冰豆网上搜索。
九、VGA色版
1.分辨率
2.VGA数据线
十、VGA线路
十一、VGA接口相关产品
一、VGA应用
五、内存寻址
六、程序技巧
七、技术性细节
八、标准文字模式
∙九、VGA色版
∙十、VGA线路
∙十一、VGA接口相关产品
[编辑本段]
VGA技术的应用还主要基于VGA显示卡的计算机、笔记本等设备,而在一些既要求显示彩色高分辨率图像又没有必要使用计算机的设备上,VGA技术的应用却很少见到。
本文对嵌入式VGA显示的实现方法进行了研究。
基于这种设计方法的嵌入式VGA显示系统,可以在不使用VGA显示卡和计算机的情况下,实现VGA图像的显示和控制。
系统具有成本低、结构简单、应用灵活的优点,可广泛应用于超市、车站、飞机场等公共场所的广告宣传和提示信息显示,也可应用于工厂车间生产过程中的操作信息显示,还能以多媒体形式应用于日常生活。
VGA公插头(通常位于显示器侧)
二、VGA原理
1显示原理与VGA时序实现
通用VGA显示卡系统主要由控制电路、显示缓存区和视频BIOS程序三个部分组成。
控制电路如图1所示。
控制电路主要完成时序发生、显示缓冲区数据操作、主时钟选择和D/A转换等功能;
显示缓冲区提供显示数据缓存空间;
视频BIOS作为控制程序固化在显示卡的ROM中。
1.1VGA时序分析
通过对VGA显示卡基本工作原理的分析可知,要实现VGA显示就要解决数据来源、数据存储、时序实现等问题,其中关键还是如何实现VGA时序。
VGA的标准参考显示时序如图2所示。
行时序和帧时序都需要产生同步脉冲(Synca)、显示后沿(Backporchb)、显示时序段(Displayintervalc)和显示前沿(Frontporchd)四个部分。
几种常用模式的时序参数如表1所示。
1.2VGA时序实现
首先,根据刷新频率确定主时钟频率,然后由主时钟频率和图像分辨率计算出行总周期数,再把表1中给出的a、b、c、d各时序段的时间按照主计数脉冲源频率折算成时钟周期数。
在CPLD中利用计数器和RS触发器,以计算出的各时序段时钟周期数为基准,产生不同宽度和周期的脉冲信号,再利用它们的逻辑组合构成图2中的a、b、c、d各时序段以及D/A转换器的空白信号BLANK和同步信号SYNC。
1.3读SRAM地址的产生方法
主时钟作为像素点计数脉冲信号,同时提供显存SRAM的读信号和D/A转换时钟,它所驱动的计数器的输出端作为读SRAM的低位地址。
行同步信号作为行数计数脉冲信号,它所驱动的计数器的输出端作为读SRAM的高位地址。
由于采用两片SRAM,所以最高位地址作为SRAM的片选使用。
由于信号经过CPLD内部逻辑器件时存在一定的时间延迟,在CPLD产生地址和读信号读取数据时,读信号、地址信号和数据信号不能满足SRAM读数据的时序要求。
可以利用硬件电路对读信号进行一定的时序调整,使各信号之间能够满足读SRAM和为DAC输入数据的时序要求。
1.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所示。
四、显存数据更新与显示的同步实现
同步方案
在VGA显示时,要考虑如何实现显存数据更新与显示的同步进行。
解决的方案有以下几种:
(1)采用具有缓存作用的双口RAM,这种方法使用的器件数量多、功耗大、成本高,基本不可取。
(2)采用两组SRAM进行乒乓工作模式,一组SRAM用于显示的同时,另一组SRAM用于图像数据的更新,然后在两组SRAM之间切换。
这样做会提高一些成本,而且需要更复杂的总线控制。
(3)利用FPAG/CPLD和SDRAM构造双口SRAM。
这种方法实时性好,成本较低,时序控制比较复杂,它是
实现高性能低成本要求的最佳方案。
(4)采用一组SRAM作为显存,可以简化系统设计、降低成本。
这时可以考虑利用行时序和帧时序中SRAM总线空闲的时序段,在不关闭图像显示的情况下实现显存SRAM的数据更新。
该方法的更新率与数据写速度密切相关,显存的写数据速度越快,该方法的更新率就越高。
假设CPU的工作时钟最大为60MHz,并采用JPEG解码更新方式。
这时如果将解码缓存区分配在CPU片内内存,则更新数据时直接由内存向SRAM写数据,一次需要0.17μs;
如果将解码缓存区分配在片外空间,则更新数据时CPU要先从片外读数据,再向SRAM写数据,这样写一次需要0.25μs。
在相邻显示的两帧图像只存在局部差别或更新文本显示信息时,可使用局部数据更新方法,以提高更新率。
表2给出了显示每帧图像包含的总线空闲时间,以及在不同解码缓存区分配方式下图像全部更新和10%局部更新的帧率。
这里提到的帧率是指对显存数据的更新速度,而不是指图像的屏幕刷新率,它对刷新率没有影响。
结论
基于以上方案设计的嵌入式VGA显示系统在只有系统控制板和CRT显示器的情况下实现了嵌入式高分辨率VGA显示。
通过对嵌入式VGA显示系统的设计分析和实际使用,得到如下结论:
(1)由于VGA显示是一个高速过程,所以选择器件时要选择高速器件。
(2)VGA显示时序要求较严格,时序中的前后沿及同步脉冲宽度都要依照严格的参考数据设置。
(3)在一般情况下,由于数据接口的限制,数据更新率不能达到计算机的水平。
通过一些特殊设计,还是能够满足大多数嵌入式VGA的需求。
(4)性能、成本和复杂度要综合考虑,要以系统的实际需求为目标,采用合理而实用的设计方案。
VGA(VideoGraphicsArray)是IBM于1987年提出的一个使用模拟信号的电脑显示标准,这个标准已对于现今的个人电脑市场已经十分过时。
即使如此,VGA仍然是最多制造商所共同支持的一个低标准,个人电脑在加载自己的独特驱动程式之前,都必须支持VGA的标准。
例如,微软Windows系列产品的开机画面仍然使用VGA显示模式,这也说明其分辨率和载色数的不足。
VGA这个术语常常不论其图形装置,而直接用于指称640×
480的分辨率。
VGA装置可以同时储存4个完整的EGA色版,并且它们之间可以快速转换,在画面上看起来就像是即时的变色。
除了扩充为256色的EGA式色版,这256种色彩其实可以透过VGADAC(Digital-to-analogconverter),任意的指定为任何一种颜色。
这就程度上改变了原本EGA的色版规则,因为原本在EGA上,这只是一个让程式可以在每个频道(即红绿蓝)在2bit以下选择最多种颜色的方式。
但在VGA下它只是简单的64种颜色一组的表格,每一种都可以单独改变——例如EGA颜色的首两个bit代表红色的数量,在VGA中就不一定如此了。
VGA在指定色版颜色时,一个颜色频道有6个bit,红、绿、蓝各有64种不同的变化,因此总共有262,144种颜色。
在这其中的任何256种颜色可以被选为色版颜色(而这256种的任何16种可以用来显示CGA模式的色彩)。
这个方法最终仍然使了VGA模式在显示EGA和CGA模式时,能够使用前所未有的色彩,因为VGA是使用模拟的方式来绘出EGA和CGA画面。
提供一个色版转换的例子:
要把文字模式的字符颜色设定为暗红色,暗红色就必须是CGA16色集合中的一种颜色(譬如说,取代CGA默认的7号灰色),这个7号位置将被指定为EGA色版中的42号,然后VGADAC将EGA#42指定为暗红色。
则画面上的原本的CGA七号灰色,都会变成暗红色。
这个技巧在256色的VGADOS游戏中,常常被用来表示加载游戏的淡入淡出画面。
总结来说,CGA和EGA同时只能显示16种色彩,而VGA因为使用了Mode13h而可以一次显示256色版中的所有色彩,而这256种颜色又是从262,144种颜色中挑出的。
VGA所使用的视讯内存,透过一个窗口对应于PC的主内存,它们的真实位址为0xA000和0xC000之间的内存。
典型地来说位址的开始点是:
*0xA000使用于EGA/VGA图型模式(4KB)
*0xB000单色文字模式(2KB)
*0xB800彩色文字模式和CGA相容模式(2KB)
由于使用的区段皆不相同,在同一部机器上装置一个单色显卡(MDA)和另一个彩色显卡(VGA、EGA或CGA)是不冲突的。
在1980年代初,这种典型的搭配方式用于Lotus1-2-3试算表上,一部高解析单色屏幕用来显示文字,而另一部低解析的CGA屏幕用来显示图表。
许多程式设计师也用这种配置来开发软件,一部屏幕显示debug细节,另一部屏幕则显示真正的软件运行画面。
许多商业的除错软件都支持这种配置,例如Borland的TurboDebugger、由AlanJ.Cox开发的D86、微软的CodeView等,TurboDebugger和CodeView可以甚至可拿来debug微软的Windows软件。
也有DOS驱动程式如ox.sys模拟一个终端机来接受Windows的debug讯息,而不用真正接上另一个终端机。
在DOS底下使用“单色模式”指令,使其输出转向单色也是可能的。
另外,假如电脑上并无单色显卡,那么可以使用EMM386.EXE程序让其他程式可以使用B000-B7FF这一段内存。
(于config.sys档案中加入"
DEVICE=EMM386.EXEI=B000-B7FF"
)
一个未被纪录但十分广泛使用的技术称作ModeX(由MichaelAbrash导入),使程式设计师能够使用在Mode13h之下无法做到的分辨率。
他将256KiB连续的视讯内存“解开”并分成四个层次,因此在256色模式时全部256KiB的内存都可以使用。
技术上这将使得处理变得更复杂,并且效能降低。
但在一些特殊情况下,效能损失的情况可以被弥补:
*单色的多边形填色增快,因为一次写入可以设定四个像素。
*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几乎用掉256KiB中每一个byte)。
不过,320×
240仍然是最常被使用的,因它为典型的4:
3比例,为方形像素。
*multiplevideopages让程序员能够使用双重缓冲(所有的16色模式都可),这在Mode13h无法办到。
有时候,显示器必须降低更新频率来满足这些模式,这会造成眼睛的疲劳这样的低分辨率虽然在PC市场早已淡出,但在PocketPC和PDA市场,它正逐渐成为标准。
它也常被用来指称15针的D型接头,这种接头仍然用来传输各式各样分辨率的类比讯号。
曾经IBM官方宣布VGA被XGA标准所取代,但在历史上,它是被其他的OEM制造商使用的所谓SVGA标准取代了。
VGA中的A指的是“阵列(array)”而非“转换器(adapter)”,因为它从一开始就被设计为一个单一的整合芯片,用来取代Motorola6845和数十个离散的逻辑芯片组合而成的ISA母版,这种设计是之前的MDA、CGA和EGA所使用的。
VGA的这个特性允许它轻易的殖入PC的主板之中,只需要额外的视讯内存、振荡器和一个RAMDAC,就具备显示功能。
IBM的PS/2电脑系列就是采用将VGA放置于主板上的设计。
VGA的规格表如下:
*256KiB的VideoRAM
*16色和256色模式
*总共262144种颜色的色版(红、绿、蓝三色各6bit,总共(26)3种)
*选择性的25.2MHz或28.3MHz处理频率
*最多720个水平像素
*最多480条线
*最高70Hz的更新频率
*VerticalBlankinginterrupt(不是所有卡都支持)
*平面模式:
最多16色(4bit面板)
*Packed-pixel模式:
256色(Mode13h)
*顺畅卷动画面的能力
*Some"
RasterOps"
support
*Barrelshifter
*支援分割画面
VGA支援可单独操控像素的APA(AllPointsAddressable)模式,也支援字母与数字的文字模式。
标准的图形模式如下:
*640×
480×
16色
350×
*320×
200×
256色(Mode13h)
它也支援用模拟的方式画出以往规格的分辨率:
EGA、CGA和MDA。
标准的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色模式(即红绿蓝各2bits)。
VGA则更将其扩充成256种颜色色版,但为了向前相容,一次只能选择256种之中的64种(例如第一个64种颜色集合、第二个…)。
所以一个。
它们也不相容于较老旧的显示器,将造成诸如overscan、闪烁、垂直滚动、缺乏水平同步等等缺点。
因为如此,多数的商业软件使用的VGA调适都限制在显示器的“安全界线”之下,例如320×
400(双倍分辨率,2videopages)、320×
240(方形像素,3videopages)和360x480(最高的相容分辨率,1videopage)。
VGA数据线
VGA数据线是用来连接VGA接口设备的线缆,长度有1.5米,3米,到100多米不等,因为它所采用的线材比较粗象电缆一样因此几十米上百米也不会出现明显的信号减退现象,不过相对于HDMI线就没那么清晰。
十、VGA线路
一般在VGA接头上,会1,5,6,10,11,15等标明每个接口编号。
如果没有,如上图所示编号。
VGA接口15根针,其对应接口定义如下:
1.红基色red
2.绿基色green
3.蓝基色blue
4.地址码IDBit(也有部分是RES,或者为ID2显示器标示位2)
5.自测试(各家定义不同)(一般为GND)
6.红地
7.绿地
8.蓝地
9.保留(各家定义不同)(KEY·
·
我也不是很理解)
10.数字地
11.地址码(ID0显示器标示位0)
12.地址码(ID1显示器标示位1)
13.行同步
14.场同步
15.地址码(ID3或显示器标示位3)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VGA