Menu Close

FPGA图像处理之二:VGA彩条显示Verilog实现

上一篇介绍了vga显示图像的基础知识。这一节我们来实现vga彩条显示。实现步骤:

1、接口分析。module的接口,除了一般的clk,rst,还需要输出水平同步信号,垂直同步信号,以及RGB颜色值。

2、扫描过程各个参数的值。这个可以通过查阅VESA手册(见附件),得到想要输出分辨率下的各个参数值。主要有时钟频率、同步信号极性、同步信号宽度、后沿宽度、边框、显示区域、前沿等。

3、调用PLL。VGA时钟频率一般和输入钟频率不同,为了得到比较精确的VGA始终频率,需要使用PLL输出。

4、水平和垂直扫描计数。通过设置水平和垂直两个计数器来确定当前扫描位置,也可以看作当前扫描像素的坐标。

5、同步信号输出。根据当前扫描点位置和第二步中参数值来决定水平、垂直同步信号的输出。

6、判断是否在显示区域。根据当前扫描点的位置和各个参数值,判断行是否在显示区域,列是否在显示区域,如果行、列都在显示区域,则当前扫描点在显示区域。

7、输出RGB值。当扫描点进入显示区域后,输出RGB的值。否则,RGB应当输出零。

 

图1

 

图2

程序参考代码如下:


 

图3

 

原理图:

图4

图5

VESA standard pdf (英文)

Posted in FPGA 教材教案, 教材与教案, 集成电路