文档详情

VGA图片(动态)显示与乐曲硬件演奏电路设计.doc

发布:2017-07-22约7.85千字共14页下载文档
文本预览下载声明
本科学生设计性实验报告 项目组长 学号 成 员 无 专 业 通信工程___ 班级 101 实验项目名称VGA图片(动态)显示与乐曲硬件演奏电路设计 指导教师及职称 开课学期 2012 至 2013 学年 第二 学期 上课时间 2013 年 05 月 05 日 一、实验设计方案 实验名称:乐曲硬件演奏电路设计与VGA图片(动态)显示 实验时间 小组合作: 是○ 否○ 小组成员: 实验目的和要求 1.学习利用数控分频器设计硬件乐曲演奏电路 掌握模块化和层次化的设计方法以及音符编码的设计思想 实验场地及仪器、设备和材料: PC计算机,Quartus II 9.0软件,EDA/SOPC实验箱 实验思路(实验内容、数据处理方法及实验步骤等): VGA图片(动态)显示 1.实验原理:VGA工业标准显示模式要求,行同步,场同步都为负极性,即同步脉冲要求是负脉冲。设计VGA图像显示控制要注意两个问题:一个是时序驱动,这是完成设计的关键,时序有偏差,显示必然不正常;另一个是VGA显示信号电平驱动 我选的是800X600时钟为40MHZ的工业标准显示模式。 所以我的相应的时序控制的程序如下: module vga(clk,hs,vs,r,g,b,rgbin,dout); input clk; output hs,vs; output r,g,b; input [2:0] rgbin; output[14:0] dout; reg [10:0] hcnt; reg[9:0] vcnt; reg r,g,b; reg hs,vs; assign dout={vcnt[6:0],hcnt[6:0]}; always @(posedge clk) begin if(hcnt1056) hcnt=hcnt+1; else hcnt={11{1b0}};end always @(posedge clk) begin if(hcnt==825)begin if(vcnt628) vcnt=vcnt+1; else vcnt={10{1b0}};end end always @(posedge clk) begin if((hcnt=840)(hcnt=968)) hs=1b0; else hs=1b1;end always @(vcnt) begin if((vcnt=601)(vcnt=605)) vs=1b0;else vs=1b1;end always @(posedge clk) begin if(hcnt800vcnt600) begin r=rgbin[2];g=rgbin[1];b=rgbin[0];end else begin r=1b0;g=1b0;b=1b0;end end endmodule 2. 基于ROM的VGA显示原理 (1)ROM的原理及使用 Altera的器件内部提供了各种存储器模块(RAM、ROM或双口RAM),可以在设计中使用MegaWizard Plug-In Manager,执行【Tools】|【MegaWizard Plug-In Manager】菜单命令来创建所需要的存储器模块。也可以使用Altera提供的宏功能模块LPM_ROM来创建存储器模块。 每个ROM模块有CLOCK(时钟)、address(地址)这两个输入信号和一个q(值)输出信号。ROM在每个时钟上升沿取出由地址信号所指定的存储单元中的值并输出。ROM内的值通过加载MIF(Memory Initialization File,存储器初始化文件)文件来实现。 如何生成MIF文件: 如果已经有BMP格式的图片,则可以使用我们提供的BmpToMif这个软件,从现有的BMP格式图片生成MIF文件。其使用非常简单,注意要适当调整原图片的大小,这可以通过各种图形编辑软件修改,如Windows自带的画图程序、Photoshop等。 BmpToMif软件的功能有: ① 将bmp图片转为mif文件:将黑白图片转换为单色mif文件;将彩色图片转换为三色mif文件。 ② 将二进制文件转为mif文件,如将中英文点阵字库转换为mif文件。 3.实验过程: (1)时序控制子模块vga的设计: 功能:根据VGA显示器的工作原理,提供同步信号和像素位置信息,以及寻址ROM的地址信号。 程序代码如下: mod
显示全部
相似文档