欢迎来到天天文库
浏览记录
ID:57896182
大小:4.50 MB
页数:36页
时间:2020-09-02
《VGA控制器设计实现显示器屏幕保护模块.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、深圳大学实验报告课程名称:数字系统现场集成技术实验项目名称:VGA控制器设计实现显示器屏幕保护模块学院:信息工程学院专业:集成电路设计与集成系统指导教师:报告人:学号:班级:实验时间:36实验报告提交时间:教务部制一、实验目的:基本要求:通过FPGA板的VGA接口在显示器上分别显示不同颜色的横向、竖直条纹图案,横向条纹和竖直条纹的切换通过FPGA板上的按键实现。横向条纹要求是一幅640*480由8条不同颜色的横向条纹组成的图像,从上到下颜色分别为:红,蓝,绿,蓝,红,绿,红,蓝;竖直条纹要求是一幅640*480由8条不同颜色
2、的竖直条纹组成的图像,从左到右颜色分别为:红,蓝,绿,蓝,红,绿,红,蓝。高级要求(可选):通过VGA控制器,在屏幕上显示640*480的单色背景,并在该背景上叠加一个小方块,该小方块能够再屏幕上上下左右移动,实现屏幕保护的效果。VGA单色的背景色自定,小方块的大小自定;以视觉上合适为佳;该小方块要能够按照一定的轨迹在屏幕上运行,速度适中。二、实验环境1、windows72、ISE14.43、Nexys2开发板三、开发板VGA介绍36Nexys2板子使用10个FPGA信号来建立有8位颜色和两个标准同步信号(HS-行同步,VS-
3、垂直同步)的VGA端口。颜色信号使用电阻分压电路和75欧姆的端接电阻,来建立8个信号级的红色、绿色,及4个信号级的蓝色VGA信号(人眼对蓝色级不敏感)。图1.7给出了VGA接口的电路图。使用这个电路能显示256种不同的颜色。必须在FPGA内使用正确的时序来驱动同步和颜色信号。三、VGA简介VGA彩色显示器,彩色是由R、G、B(红、绿、蓝)三基色组成,CRT用逐行扫描方式实现图像显示,由VGA控制模块产生的水平同步信号(HS)和垂直同步信号(VS)控制阴极射线枪产生的电子束,打在涂有荧光粉的荧光屏上,产生R、G、B三基色,合成一
4、个彩色像素。扫描从屏幕的左上方开始,由左至右,由上到下,逐行进行扫描,每扫完一行,电子束回到屏幕下一行的起始位置,在回扫期间,CRT对电子束进行消隐,每行结束是用行同步信号HS进行行同步;扫描完所有行,再由场同步信号VS进行场同步,并使扫描回到屏幕的左上方,同时进行场消隐,预备下一场的扫描。显示需要R,G,B,Hsync(行同步),Vsync(帧同步)五个信号输出到显示器,本设计按照VGA工业标准输出640*480@60Hz.对应的时序如下:图1VGA接口信号基本时序图36图2FPGA板上的VGA接口图3VGA(640*480
5、@60Hz)时序图VGA显示的设计模块为:36说明:设计中FPGA板的VGA接口将R,G,B分别设为定义为2位,3位,3位,例如显示红色RGB可以输出为11000000,绿色输出为00111000,蓝色输出为00000111.表125MHz640*480@60Hz模式下VGA的时序三、代码顶层模块包括4个模块,分别为分频div_clk、按键扫描keyscan、时序产生模块video_signal_gen、算法显示模块disp_alg,其中分频模块有4个,分别输出25MHz、10kHz、50Hz、3s的时钟,25MHz是给vid
6、eo_signal_gen模块产生行时序和场时序的,10kHz是按键扫描的,50Hz是计算小方块的移动速度的时钟,3s是小方块背景变化时间。而div_clk模块是用实验一的模块,所以就不写测试代码测试了。1、顶层按键先缓存2个时钟,为了消除亚稳态。其他就只是连线。modulevga256(clk_50m,rst_p,key,vsync,hsync,vga_de,vga_b,vga_g,vga_r36);inputwireclk_50m;inputwirerst_p;inputwire[2:0]key;outputwirevsy
7、nc;outputwirehsync;outputwirevga_de;outputwire[1:0]vga_b;outputwire[2:0]vga_g;outputwire[2:0]vga_r;wirerst_n;assignrst_n=~rst_p;/////////////////////////////////////////////////////////////////////////////////////clockwireclk_25m;//25MHzVGAdiv_clk#(.cnt(2))u1div_clk
8、(.clk(clk_50m),36.rst_n(rst_n),.f_clk(clk_25m));wireclk_10k;//10kHzkeyscandiv_clk#(.cnt(5000))u2div_clk(.clk(clk_50m),.rst_n(rst_n),.f_clk
此文档下载收益归作者所有