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

2020-01-27 13:12发布


三、模块设计架构设计我们要实现的功能,概括起来就是FPGA产生VGA时序,即控制VGA_R4~R0VGA_G5~G0VGA_B4~B0VGA_HSYNCVGA_VSYNC,让显示器显示红 {MOD}。其中,VGA_HSYNCVGA_VSYNCFPGA可根据时序产生高低电平。而颜 {MOD}数据,由于是固定的红 {MOD},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来产生了。整个工程的结构图如下。file:///C:UsersADMINI~1AppDataLocalTempksohtmlwps2127.tmp.png PLL的生成方式过程,请看本案例的综合工程和上板一节的内容。 VGA驱动模块设计我们先分析功能。要控制显示器,让其产生红 {MOD},也就是让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
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。