转载链接:特权同学 Xilinx FPGA入门连载67:VGA概述
1 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最早指的是显示器640X480这种显示模式。(而今天的VGA其实已经不仅仅局限于640X480这种分辨率了,通常情况下,各种各样适用于VGA接口传输的分辨率都可以统称为VGA。当然了,严格来讲,每个分辨率都会有自己的叫法,如800X600就称作SVGA。)VGA接口如图所示。
驱动VGA显示的接口,主要有以下3种信号:行同步信号HSYNC,场同步信号VSYNC和3条色彩电压传输信号(R、G、B分别对应)。色彩信号的电压为0~0.7V,其同步是靠前面两个信号来协助的。至于HSYNC和VSYNC和色彩信号之间以什么样的关系进行传输,这都是相对固定的,虽然VGA收发双方没有时钟信号做同步,但我们通常会约定发送方有一个基本的时钟,VSYNC、HSYNC和色彩信号都会按照这个时钟的节拍来确定状态。
VGA的接口时序如图所示,场同步信号VSYNC在每帧(即送一次全屏的图像)开始的时候产生一个固定宽度的高脉冲,行同步信号HSYNC在每行开始的时候产生一个固定宽度的高脉冲,色彩数据在某些固定的行和列交汇处有效。
如前所述,我们通常以一个基准时钟驱动VGA信号的产生,用这个基准时钟为时间单位来产生的时序如图所示。
对于一个刷新频率为60Hz,分辨率为640X480的标准VGA显示驱动,若它的基准驱动时钟为25MHz,它的脉冲计数表如下所示。注意列的单位为“行”,而行的单位为“基准时钟周期数”,即25MHz时钟脉冲数。
VGA驱动时序参数表
行/列 |
同步脉冲 |
后沿脉冲 |
显示脉冲 |
前沿脉冲 |
帧长 |
列 |
2 |
33 |
480 |
10 |
525 |
行 |
96 |
48 |
640 |
16 |
800 |
对于一个刷新频率为72Hz,分辨率为800X600的SVGA显示驱动,若它的基准驱动时钟为50MHz,它的计数脉冲参数如表所示。注意列的单位为“行”,而行的单位为“基准时钟周期数”,即50MHz时钟脉冲数。
SVGA驱动时序参数表
行/列 |
同步脉冲 |
后沿脉冲 |
显示脉冲 |
前沿脉冲 |
帧长 |
列 |
6 |
23 |
600 |
37 |
666 |
行 |
120 |
64 |
800 |
56 |
1040 |
对于一个刷新频率为60Hz,分辨率为1024X768的显示驱动,若它的基准驱动时钟为65MHz,它的计数脉冲参数如表所示。注意列的单位为“行”,而行的单位为“基准时钟周期数”,即65MHz时钟脉冲数。
SVGA驱动时序参数表
行/列 |
同步脉冲 |
后沿脉冲 |
显示脉冲 |
前沿脉冲 |
帧长 |
列 |
6 |
29 |
768 |
3 |
806 |
行 |
136 |
160 |
1024 |
24 |
1344 |
对于一个刷新频率为60Hz,分辨率为1280X960的显示驱动,若它的基准驱动时钟为108MHz,它的计数脉冲参数如表所示。注意列的单位为“行”,而行的单位为“基准时钟周期数”,即108MHz时钟脉冲数。
SVGA驱动时序参数表
行/列 |
同步脉冲 |
后沿脉冲 |
显示脉冲 |
前沿脉冲 |
帧长 |
列 |
3 |
36 |
960 |
1 |
1000 |
行 |
112 |
312 |
1280 |
96 |
1800 |
对于一个刷新频率为60Hz,分辨率为1280X1024的显示驱动,若它的基准驱动时钟为108MHz,它的计数脉冲参数如表所示。注意列的单位为“行”,而行的单位为“基准时钟周期数”,即108MHz时钟脉冲数。
SVGA驱动时序参数表
行/列 |
同步脉冲 |
后沿脉冲 |
显示脉冲 |
前沿脉冲 |
帧长 |
列 |
3 |
38 |
1024 |
1 |
1066 |
行 |
112 |
248 |
1280 |
48 |
1688 |
对于一个刷新频率为60Hz,分辨率为1920X1080的显示驱动,若它的基准驱动时钟为130MHz,它的计数脉冲参数如表所示。注意列的单位为“行”,而行的单位为“基准时钟周期数”,即130MHz时钟脉冲数。
SVGA驱动时序参数表
行/列 |
同步脉冲 |
后沿脉冲 |
显示脉冲 |
前沿脉冲 |
帧长 |
列 |
4 |
18 |
1080 |
3 |
1105 |
行 |
12 |
40 |
1920 |
28 |
2000 |