在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1712|回复: 0

[原创] 例说FPGA连载55:VGA显示驱动之功能概述

[复制链接]
发表于 2016-12-3 17:49:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
例说FPGA连载55VGA显示驱动之功能概述

特权同学,版权所有

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

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

1.jpg


VGAVideo Graphics Array)即视频图形阵列,是IBM1987年随PS/2PS/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接口如图7.1所示。

2.jpg

7.1 VGA接口

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


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

3.jpg

7.2 VGA驱动基本时序


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

4.jpg 7.3 VGA接口行、场时序


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

7.1 VGA驱动时序参数表

/[size=10.5000pt]

同步脉冲[size=10.5000pt]

后沿脉冲[size=10.5000pt]

显示脉冲[size=10.5000pt]

前沿脉冲[size=10.5000pt]

帧长[size=10.5000pt]

[size=10.5000pt]列[size=10.5000pt]

[size=10.5000pt]2[size=10.5000pt]

33[size=10.5000pt]

480[size=10.5000pt]

10[size=10.5000pt]

525[size=10.5000pt]

[size=10.5000pt]行[size=10.5000pt]

96[size=10.5000pt]

48[size=10.5000pt]

640[size=10.5000pt]

16[size=10.5000pt]

800[size=10.5000pt]


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

7.2 SVGA驱动时序参数表

/[size=10.5000pt]

同步脉冲[size=10.5000pt]

后沿脉冲[size=10.5000pt]

显示脉冲[size=10.5000pt]

前沿脉冲[size=10.5000pt]

帧长[size=10.5000pt]

[size=10.5000pt]列[size=10.5000pt]

[size=10.5000pt]6[size=10.5000pt]

23[size=10.5000pt]

600[size=10.5000pt]

37[size=10.5000pt]

666[size=10.5000pt]

[size=10.5000pt]行[size=10.5000pt]

120[size=10.5000pt]

64[size=10.5000pt]

800[size=10.5000pt]

56[size=10.5000pt]

1040[size=10.5000pt]


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

7.3 XGA驱动时序参数表

/[size=10.5000pt]

同步脉冲[size=10.5000pt]

后沿脉冲[size=10.5000pt]

显示脉冲[size=10.5000pt]

前沿脉冲[size=10.5000pt]

帧长[size=10.5000pt]

[size=10.5000pt]列[size=10.5000pt]

[size=10.5000pt]6[size=10.5000pt]

29[size=10.5000pt]

768[size=10.5000pt]

[size=10.5000pt]3[size=10.5000pt]

806[size=10.5000pt]

[size=10.5000pt]行[size=10.5000pt]

136[size=10.5000pt]

160[size=10.5000pt]

1024[size=10.5000pt]

24[size=10.5000pt]

1344[size=10.5000pt]


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

7.4 XVGA驱动时序参数表

/[size=10.5000pt]

同步脉冲[size=10.5000pt]

后沿脉冲[size=10.5000pt]

显示脉冲[size=10.5000pt]

前沿脉冲[size=10.5000pt]

帧长[size=10.5000pt]

[size=10.5000pt]列[size=10.5000pt]

[size=10.5000pt]3[size=10.5000pt]

36[size=10.5000pt]

960[size=10.5000pt]

[size=10.5000pt]1[size=10.5000pt]

1000[size=10.5000pt]

[size=10.5000pt]行[size=10.5000pt]

112[size=10.5000pt]

312[size=10.5000pt]

1280[size=10.5000pt]

96[size=10.5000pt]

1800[size=10.5000pt]


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

7.5 SXGA驱动时序参数表

/[size=10.5000pt]

同步脉冲[size=10.5000pt]

后沿脉冲[size=10.5000pt]

显示脉冲[size=10.5000pt]

前沿脉冲[size=10.5000pt]

帧长[size=10.5000pt]

[size=10.5000pt]列[size=10.5000pt]

[size=10.5000pt]3[size=10.5000pt]

38[size=10.5000pt]

1024[size=10.5000pt]

[size=10.5000pt]1[size=10.5000pt]

1066[size=10.5000pt]

[size=10.5000pt]行[size=10.5000pt]

112[size=10.5000pt]

248[size=10.5000pt]

1280[size=10.5000pt]

48[size=10.5000pt]

1688[size=10.5000pt]


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

7.6 HDTV驱动时序参数表

/[size=10.5000pt]

同步脉冲[size=10.5000pt]

后沿脉冲[size=10.5000pt]

显示脉冲[size=10.5000pt]

前沿脉冲[size=10.5000pt]

帧长[size=10.5000pt]

[size=10.5000pt]列[size=10.5000pt]

[size=10.5000pt]4[size=10.5000pt]

18[size=10.5000pt]

1080[size=10.5000pt]

[size=10.5000pt]3[size=10.5000pt]

1105[size=10.5000pt]

[size=10.5000pt]行[size=10.5000pt]

12[size=10.5000pt]

40[size=10.5000pt]

1920[size=10.5000pt]

28[size=10.5000pt]

2000[size=10.5000pt]


了解了VGA的基本驱动原理,我们还要回来看看实际驱动电路的工作原理。由于FPGA接口都是数字信号,无法直接输出VGA色彩信号所需的0-0.7V模拟电压,所以需要使用专门的DAC芯片进行转换。我们的SF-VGA子板就板载了一颗专用的3DAC转换芯片ADV7123


本实例连接VIP1核心板和SF-VGA子板进行实验。VGA驱动时序产生模块通过宏定义实现VGA /SVGA /720p /1080p多分辨率显示驱动,功能框图如图7.4所示。

5.jpg

7.4 工程实例5功能框图






您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-27 13:45 , Processed in 0.037408 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表