设为首页 收藏本站
论坛账号至少一个月登录一次,否则会被自动冻结!论坛全站广告位出租2160元一年,有需要联系QQ:3173974412。国内首家由论坛网友持股的IC技术论坛,IC人的乌托邦!
搜索
专业IC版图外包服务 手机号:13816911948 微信同号
广告位:SY02 广告业务联系QQ:3173974412
青软晶尊微电子---IC版图外包服务(13964228177)+教育培训(13573273505)
苏州拓光微电子---芯片设计整体解决方案供应商
以色列芯片设计公司提供超高ADC、DAC接口类定制IP,郑生18988685390(微信)
查看: 103|回复: 7

[资料] VGA显示矩阵教学-至简设计

[复制链接]
发表于 2019-8-12 09:14:13 | 显示全部楼层 |阅读模式

三、模块设计架构设计
我们要实现的功能,概括起来就是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来产生了。
整个工程的结构图如下。
file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml\wps2127.tmp.png
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

您需要登录后才可以回帖 登录 | 入住IC小镇

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|Archiver|手机版|IC设计小镇 ( 苏ICP备10008526号  

GMT+8, 2019-8-22 20:19 , Processed in 0.047819 second(s), 6 queries , File On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表