现在的位置: 首页硬件设计>正文
VGA信号知识
2012年08月02日 硬件设计 暂无评论

根据http://blog.csdn.net/ojoe/article/details/5678412修改

1. VGA显示原理

  VGA(Video Graphics Array)作为一种标准的显示接口得到了广泛的应用。VGA在任何时刻都必须工作在某一显示模式下,其显示模式分为字符显示模式和图形显示模式,而在应用中讨论的都是图形显示模式。

  VGA的图形模式分为三类:CGA,EGA兼容的图形模式;标准VGA图形模式;VGA扩展图形模式,后两种图形模式统称为VGA图形模式。文中基于标准VGA模式来实现。工业标准的VGA显示模式为:640×480×16×60。

  常见的彩色显示器一般由阴极射线管(CRT)构成,彩色由GRB(Green Red Blue)基色组成。显示采用逐行扫描的方式解决,阴极射线枪发出电子束打在涂有荧光粉的荧光屏上,产生GRB基色,合成一个彩色像素。扫描从屏幕的左上方开始,从左到右,从上到下,逐行扫描,每扫完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT、对电子束进行消隐,每行结束时,用行同步信号进行行同步;扫描完所有行,用场同步信号进行场同步,并使扫描回到屏幕的左上方,同时进行场消隐,并预备进行下一次的扫描。VGA显示控制器控制 CRT显示图象的过程如图1所示。

2. VGA信号时序

  图2所示是计算机VGA(640×480,60 Hz)图像格式的信号时序图。图2中,V_sync为场同步信号,场周期TVSYNC=16.683 ms,每场有525行,其中480行为有效显示行,45行为场消隐期。场同步信号Vs中每场有1个脉冲,该脉冲的低电平宽度tWV=63μs(2行)。场消隐期包括场同步时间tWH、场消隐前肩tHV(13行)、场消隐后肩tVH(30行),共45行。行周期THSYNC=31.78μs,每显示行包括 800点。其中,640点为有效显示区,160点为行消隐期(非显示区)。行同步信号Hs中每行有一个脉冲,该脉冲的低电平宽度tWV=3.81 μs(即96个DCK);行消隐期包括行同步时间tWH,行消隐前肩tHC(19个DCLK)和行消隐后肩tCH(45个DCLK),共160个点时钟。复合消隐信号是行消隐信号和场消隐信号的逻辑与,在有效显示期复合消隐信号为高电平,在非显示区域它是低电平。

图2:VGA时序

  

3. 实际使用

图3:VGA信号示意图

如上图,是我制作的实际的一帧VGA图像示意图,比上述信号时序图更加形象。

4.结合EDID进行实际说明

以下是从我本地Linux中获取到的EDID片断(位于/var/log/Xorg.*.log中):

(II) NVIDIA(0): Validating Mode "1024x768":

(II) NVIDIA(0): 1024 x 768 @ 75 Hz

(II) NVIDIA(0): Mode Source: X Server

(II) NVIDIA(0): Pixel Clock : 78.75 MHz

(II) NVIDIA(0): HRes, HSyncStart: 1024, 1040

(II) NVIDIA(0): HSyncEnd, HTotal : 1136, 1312

(II) NVIDIA(0): VRes, VSyncStart : 768, 769

(II) NVIDIA(0): VSyncEnd, VTotal : 772, 800

(II) NVIDIA(0): H/V Polarity : +/+

(II) NVIDIA(0): Mode is valid.

其中的参数说明如下:

Pixel Clock:一秒钟可产生多少个像素点;

HRes: 行分辨率,对应于图3中的“有效图像区域”的宽;

HSyncStart:行同步开始标记,对应于图3中的“行同步信号”的左侧,意思是从“有效图像区域”的左侧开始,数多少个像素开始同步;

HSynEnd:行同步结束标记,对应于图3中的“行同步信号”的右侧,意思是从“有效图像区域”的左侧开始,数多少个像素同步结束;

HTotal:一帧VGA画面一共宽多少个像素,其包含“行同步信号”的宽、“行消隐前肩”、“行消隐后肩”和“有效图像区域”的宽。

计算关系:

行消隐后肩宽 = HSyncStart – Hres;

行同步信号宽 = HSyncEnd – HsyncStart;

行消隐前肩宽 = HTotal–HSyncEnd;

类似于“行”的机制,“场”的参数说明如下:

VRes: 高分辨率,对应于图3中的“有效图像区域”的高;

VSyncStart:场同步开始标记,对应于图3中的“场同步信号”的上部,意思是从“有效图像区域”的顶部开始,数多少个像素开始同步;

VSynEnd:场同步结束标记,对应于图3中的“场同步信号”的底部,意思是从“有效图像区域”的底部开始,数多少个像素同步结束;

VTotal:一帧VGA画面一共高多少个像素,其包含“场同步信号”的宽、“场消隐前肩”、“场消隐后肩”和“有效图像区域”的高。

计算关系:

略。

刷新率的计算:

FrameRate = (int)( fPixelClock / (fHTotal * fVTotal) )

好了,这次就先写到这里,以后有时间逐步完善。

由于掌握程度有限,文中可能有纰漏之处,敬请指正。谢谢。

OJOE

2010-6-18



给我留言

留言无头像?


无觅相关文章插件,快速提升流量