这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » VGA显示矩阵教学-至简设计1241003385

共3条 1/1 1 跳转至

VGA显示矩阵教学-至简设计1241003385

助工
2018-10-05 11:20:37     打赏
三、模块设计架构设计

我们要实现的功能,概括起来就是FPGA产生VGA时序,即控制VGA_R4~R0VGA_G5~G0VGA_B4~B0VGA_HSYNCVGA_VSYNC,让显示器显示红色。其中,VGA_HSYNCVGA_VSYNCFPGA可根据时序产生高低电平。而颜色数据,由于是固定的红色,FPGA也能自己产生,不需要外部输入图像的数据。那么我们的FPGA工程,可以定义输出信号hys表示行同步,用输出信号vys表示场同步,定义一个16位的信号lcd_rgb,其中lcd_rgb[15:11]表示VGA_R4~0,、lcd_rgb[10:5]表示VGA_G5~0,、lcd_rgb[4:0]表示VGA_B4~0

我们还需要时钟信号和复位信号来进行工程控制。

综上所述,我们这个工程需要五个信号,时钟clk,复位rst_n,场同步信号vys、行同步信号hysRGB输出信号lcd_rgb

 

需要注意的是,输入进来的时钟clk50MHz,而从分辨率参数表可知道,行单位的基准时钟是25 MHz。为此我们需要根据50MHz来产生一个25 MHz的时钟,然后再用于产生VGA时序。

为了得到这个25M时钟,我们需要一个PLLPLL可以认为是FPGA内的一个硬核,它的功能是根据输入的时钟,产生一个或多个倍频和分频后的输出时钟,同时可以调整这些输出时钟的相位、占空比等。

例如,输入进来是50M时钟,如果我需要一个100M时钟,那么从逻辑上、代码上是不可能产生的,我们就必须用到PLL来产生了。

整个工程的结构图如下。

 

PLL的生成方式过程,请看本案例的综合工程和上板一节的内容。

 

VGA驱动模块设计

我们先分析功能。要控制显示器,让其产生红色,也就是让FPGA控制VGA_R0~4VGA_G0~5VGA_B0~4VGA_VSYNCVGA_HSYNC信号。那么VGA驱动模块,可以定义输出信号hys表示行同步,用输出信号vys表示场同步,定义一个16位的信号lcd_rgb,其中lcd_rgb[15:11]表示VGA_R4~0,、lcd_rgb[10:5]表示VGA_G5~0,、lcd_rgb[4:0]表示VGA_B4~0

同时该模块的工作时钟为25M,同时需要一个复位信号。

综上所述,我们这个模块需要五个信号,25M时钟clk,复位rst_n,场同步信号vys、行同步信号hysRGB输出信号lcd_rgb




菜鸟
2018-10-30 14:36:47     打赏
2楼

interesting


菜鸟
2019-01-24 10:55:39     打赏
3楼

VGA是指什么


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]