特权同学

勇敢的芯伴你玩转Altera FPGA连载68:VGA驱动ColorBar显示

0
阅读(1405)

勇敢的芯伴你玩转Altera FPGA连载68:VGA驱动ColorBar显示

特权同学,版权所有

配套例程和更多资料下载链接:

http://pan.baidu.com/s/1i5LMUUD

1.jpg

 

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接口如图8.55所示。

3.jpg

图8.55 VGA接口示意图

驱动VGA显示的接口,主要有以下3种信号:行同步信号HSYNC,场同步信号VSYNC和3条色彩电压传输信号(R、G、B分别对应)。色彩信号的电压为0~0.7V,其同步是靠前面两个信号来协助的。至于HSYNC和VSYNC和色彩信号之间以什么样的关系进行传输,这都是相对固定的,虽然VGA收发双方没有时钟信号做同步,但我们通常会约定发送方有一个基本的时钟,VSYNC、HSYNC和色彩信号都会按照这个时钟的节拍来确定状态。

         VGA的接口时序如图8.56所示,场同步信号VSYNC在每帧(即送一次全屏的图像)开始的时候产生一个固定宽度的高脉冲,行同步信号HSYNC在每行开始的时候产生一个固定宽度的高脉冲,色彩数据在某些固定的行和列交汇处有效。

4.jpg

图8.56 VGA时序波形1

         如前所述,我们通常以一个基准时钟驱动VGA信号的产生,用这个基准时钟为时间单位来产生的时序如图8.57所示。

4.jpg

图8.57 VGA时序波形2

         对于一个刷新频率为60Hz,分辨率为640X480的标准VGA显示驱动,若它的基准驱动时钟为25MHz,它的脉冲计数如表8.5所示。注意列的单位为“行”,而行的单位为“基准时钟周期数”,即25MHz时钟脉冲数。

表8.5 VGA驱动时序参数

行/列

同步脉冲

后沿脉冲

显示脉冲

前沿脉冲

帧长

2

33

480

10

525

96

48

640

16

800

         对于一个刷新频率为72Hz,分辨率为800X600的SVGA显示驱动,若它的基准驱动时钟为50MHz,它的计数脉冲参数如表8.6所示。注意列的单位为“行”,而行的单位为“基准时钟周期数”,即50MHz时钟脉冲数。

表8.6 SVGA驱动时序参数表

行/列

同步脉冲

后沿脉冲

显示脉冲

前沿脉冲

帧长

6

23

600

37

666

120

64

800

56

1040

         对于一个刷新频率为60Hz,分辨率为1024X768的显示驱动,若它的基准驱动时钟为65MHz,它的计数脉冲参数如表8.7所示。注意列的单位为“行”,而行的单位为“基准时钟周期数”,即65MHz时钟脉冲数。

表8.7 SVGA驱动时序参数表

行/列

同步脉冲

后沿脉冲

显示脉冲

前沿脉冲

帧长

6

29

768

3

806

136

160

1024

24

1344

         对于一个刷新频率为60Hz,分辨率为1280X960的显示驱动,若它的基准驱动时钟为108MHz,它的计数脉冲参数如表8.8所示。注意列的单位为“行”,而行的单位为“基准时钟周期数”,即108MHz时钟脉冲数。

表8.8 SVGA驱动时序参数表

行/列

同步脉冲

后沿脉冲

显示脉冲

前沿脉冲

帧长

3

36

960

1

1000

112

312

1280

96

1800

       对于一个刷新频率为60Hz,分辨率为1280X1024的显示驱动,若它的基准驱动时钟为108MHz,它的计数脉冲参数如表8.9所示。注意列的单位为“行”,而行的单位为“基准时钟周期数”,即108MHz时钟脉冲数。

表8.9 SVGA驱动时序参数表

行/列

同步脉冲

后沿脉冲

显示脉冲

前沿脉冲

帧长

3

38

1024

1

1066

112

248

1280

48

1688

       对于一个刷新频率为60Hz,分辨率为1920X1080的显示驱动,若它的基准驱动时钟为130MHz,它的计数脉冲参数如表8.10所示。注意列的单位为“行”,而行的单位为“基准时钟周期数”,即130MHz时钟脉冲数。

表8.10 SVGA驱动时序参数表

行/列

同步脉冲

后沿脉冲

显示脉冲

前沿脉冲

帧长

4

18

1080

3

1105

12

40

1920

28

2000

 

         如图8.58所示,本实例需要用户自己准备好一台VGA显示器和相应的VGA线,VGA线用于连接SF-CY4开发板的J1插座和显示器。FPGA内部产生ColorBar以及VGA时序用于驱动显示器显示。

5.jpg

图8.58 VGA实例功能框图

         VGA的驱动大体如图8.59所示。

6.jpg

图8.59 VGA驱动功能框图

         本实例模块划分如图8.60所示。

7.jpg

图8.60 VGA实例模块层次