VGA学习笔记
(参考大大大神 杜老师实验)
关于本实验采用的VGA参数解释(800*600@72Hz)
800*600分辨率
800:行同步信号区间内,应该连续发送800个有效的RGB数据。(此时有效信号是RGB数据)
600:场同步信号区间内,应该连续发送600个有效的行信号。(此时有效信号是行信号。)
更多的时序标准,请参考http://tinyvga.com/vga-timing
<同步头信号:下降沿可作为同步信号 >
行信号:一个完整的行信号是由行同步信号和RGB信号组成的,在本次试验中,一个行信号中要包含800个RGB信号。
- 消隐信号:对无效的RGB信号,应当消隐。在同步头信号区间内不发送任何RGB信号,但时钟信号不停止。在同步头前沿区间内应发送56个周期,同步头脉冲区间内发送120个时钟周期,同步头后沿区间内发送64个时钟周期。
- 有效视频信号:即要显示出来的像素点。这是,应继续发送800个时钟周期,每个时钟伴随着有效的RGB信号,如果想点亮整个屏幕,就要发送600个这样的有效行信号。
综上,一个行信号由56+120+64+800=1040个周期时钟构成。
场信号:一个场信号是由若干行同步信号和有效信号的行信号组成的。一个场信号要包含600个行信号。
- 消隐信号:在这个区间内行信号必不可少,在场同步的前沿应发送37个行同步信号,场同步脉冲区间内应发送6个行同步信号,场同步头后沿应发送23个行同步信号。
- 有效信号:要被显示出来的行信号。一场即要连续发送600个有效的行信号。
综上,一个场信号由37+6+23+600=666个行同步信号构成。
一帧数据(即一个场信号)的时间为:1/f=1/72,所以时钟周期为T=(1/72*1040*666),大约是50MHz。VGA接口并没有时钟信号,我们平时说的时钟是指处理器内部运算时候的时序依据,这个时钟信号与VGA显示器的刷新频率有关,特别是在结合FPGA时很重要。
对于VGA的接口模拟电压,为0~0.714V,0代表无色,0.714代表满色,FPGA输出3.3V,所以还必须要经过DAC的转换。