VGA原理详解

部分资料来源:https://www.cnblogs.com/spartan/archive/2011/08/16/2140546.html

最近要用ZYNQ开发版的HDMI做一些计算机视觉算法的显示功能,看着硬件管脚和例程只能发呆,于是决心去弄清楚HDMI的工作原理,查找了很多资料,都是碎片化的,不易懂。于是我加以整理,再以初学者(没有接触过任何视频传输接口)的角度在这篇博客里阐述。

       说起HDMI,就要先说起VGA了。为什么要先说VGA,因为VGA的原理容易理解。在理解VGA后,HDMI理解起来就也变得容易多了。HDMI原理会在我的下一篇博客详细介绍。VGA就是如今很多显示器上连接主机的信号传输接口。有三排15个引脚。如下图所示

VGA原理详解_第1张图片

 

标号

名称

描述

标号

名称

描述

1

RED

视频红色

分量

9

KEY

保留

2

GREEN

视频绿色

分量

10

SGND

同步信号地

3

BLUE

视频蓝色

分量

11

ID0

显示器ID

0

4

ID2

显示器ID

2

12

ID1

显示器ID

1

5

GND

13

HSYNC

行同步信号

6

RGND

红色地

14

VSYNC

场同步信号

7

GGND

绿色地

15

ID3

显示器ID

3

8

BGND

蓝色地

 

 

 

       VGA的显示效果取决于RGB三个分量的位数,最高24位(即RGB8位),16位,12位也都存在。

       那么我们传输显示数据是不是把每个像素点对应的三通道的数值传输到显示屏就行了?这是当然。那么对于分辨率800X600@60Hz,我们的传输的时钟频率是不是800*600*60=28.8MHz?答案是:否。为什么呢?我们先了解一下显示的原理。

      显示器的扫描方式:逐行扫描是扫描从屏幕左上角一点开始,从左像右逐点扫描,每扫描完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT对电子束进行消隐,每行结束时,用行同步信号进行同步;当扫描完所有的行,形成一帧,用场同步信号进行场同步,并使扫描回到屏幕左上方,同时进行场消隐,开始下一帧。

       从扫描方式中我们知道,行同步,场同步以及消隐区的概念。回到时钟上来。以行扫描为例子,在一行中由于需要行消隐,所以要求一定的时钟周期用于行消隐,当然也有行同步信号。那他们的时序是怎样的?

VGA原理详解_第2张图片

       上图中,要注意一点,就是a同步脉冲,b显示后沿,c显示时序段,d显示后沿。这四段组成了一个完整的时序。图中最后的同步脉冲a是下一个时序的。所以我们的消隐间隔就是上一个时序的显示前沿+本时序的同步脉冲+本时序的显示后沿。同步脉冲是包含在消音间隔中的。而显示时序段,就是我们上面提到的,用来传输像素点的时钟周期。

VGA原理详解_第3张图片

HSYNC                    行同步信号  VSYNC                      场同步信号

Hor Sync                行同步脉冲  Vcr Sync                    场同步脉冲

H Back Proch          行显示后沿  V Back Proch            场显示后沿

H Front Proch         行显示前沿  V Front Proch           场显示前沿

HorActiveVideo:行视频段      VerActiveVideo:场视频段

       上面参数与之前的行时序和场时序图中的a同步脉冲,b显示后沿,c显示时序段,d显示后沿,相对应。那么图中的三个矩形是什么呢?

       最大的矩形就是显示区加上消隐区(由每个行消隐段和每个场消隐段组成)。消隐段的组成在上面已经讲过。第二个矩形其实就是显示区。那么第3 个矩形中有4 个参数H Left BorderH Right BorderV Top Border V Bottom Border,在不同分辨率中这4 个参数不同,在800x600 及其以上的分辨率中这4 个参数为0。(第三个矩形的参数,老实说我在实际中,还没有遇到过,不知道具体作用)。

       VGA 的行时序是以像素为单位的,场时序是以行为单位的。VGA时序对同步时间、显示后沿时间、视频有效时间和显示前沿时间有特定要求,常用VGA 分辨率时序参数如下表所示。(a行同步脉冲,b行显示后沿,c行显示时序段,d行显示后沿,e行总时序,场时序类同)

VGA原理详解_第4张图片

       其中800x600以上分辨率的时钟频率 = 行总时序X场总时序X刷新频率,800x600640X480按照以上计算有偏差(可能这个偏差就是之前提到的第二个矩形的Border参数)。

你可能感兴趣的:(视频处理知识)