实验五 vga图像显示控制
数电实验-vga图像显示控制

数字电路综合实验报告学校:北京邮电大学学院:信息与通信工程学院专业:通信工程班级:2008211115学号:********班内序号:30姓名:***2011年1月5日VGA图像显示控制器一、摘要和关键词摘要:VGA显示屏显示采用逐行扫描的方式解决,阴极射线枪发出电子束打在涂有荧光粉的荧光屏上,产生GRB基色,合成一个彩色像素。
扫描从屏幕的左上方开始,从左到右,从上到下,逐行扫描,每扫完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT对电子束进行消隐,每行结束时,用行同步信号进行行同步;扫描完所有行,用场同步信号进行场同步,并使扫描回到屏幕的左上方,同时进行场消隐,并预备进行下一次的扫描。
通过控制扫描计数器不同值时对RGB三原色信号的控制,来完成显示设计。
关键词:行列扫描行列同步RGB三原色控制二、设计任务要求实验目的1. 熟练掌握VHDL 语言和QuartusII 软件的使用;2. 理解状态机的工作原理和设计方法;3. 掌握利用EDA 工具进行自顶向下的电子系统设计方法;4. 熟悉VGA 接口协议规范。
实验要求:设计一个VGA 图像显示控制器,达到如下功能:显示模式为640×480×60HZ 模式;用拨码开关控制R、G、B(每个2 位),使显示器可以显示64种纯色;在显示器上显示横向彩条信号(至少6 种颜色);在显示器上显示纵向彩条信号(至少8 种颜色);在显示器上显示自行设定的图形、图像等。
选做:自拟其它功能。
三、实验原理1、显示控制原理常见的彩色显示器一般由阴极射线管(CRT)构成,彩色由GRB(Green Red Blue)基色组成。
显示采用逐行扫描的方式解决,阴极射线枪发出电子束打在涂有荧光粉的荧光屏上,产生GRB基色,合成一个彩色像素。
扫描从屏幕的左上方开始,从左到右,从上到下,逐行扫描,每扫完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT、对电子束进行消隐,每行结束时,用行同步信号进行行同步;扫描完所有行,用场同步信号进行场同步,并使扫描回到屏幕的左上方,同时进行场消隐,并预备进行下一次的扫描。
实验五 VGA

南昌大学实验报告学生姓名:柳宇航学号:6102113025专业班级:通信工程中兴131班实验类型:□验证□综合□设计□创新实验日期:2015.12.3实验成绩:实验五VGA彩条信号发生器的设计(一)实验要求本实验要完成的任务就是通过FPGA在显示器上显示一些条纹或图案,要求CRT显示器上能够显示横条纹、竖条纹以及棋盘格子图案。
实验中系统时钟选择时钟模块的12MHz,用一个按键模块的S1来控制显示模式,每按下一次,屏幕上的图案改变一次,依次为横条纹、竖条纹以及棋盘格子图案。
实验的输出就直接输出到VGA接口,通过CRT显示器显示出来。
将南昌大学校门的图像存储到ROM中,实现当按键S2按下时,显示器显示南昌大学校门图像。
(二)实验步骤1.建立工作库文件夹,输入计数器的Verilog代码并存盘。
2.选目标器件CycloneII中的EP2C35F672C8并编译。
3.建立仿真波形文件,设置仿真结束时间和输入条件,进行波形仿真。
图1横条纹图2竖条纹图3棋盘格1开关转态为00时,显示横条纹开关转态为10时,显示棋盘格开关转态为01时,显示竖条纹开关转态为11时,显示棋盘格图3棋盘格24.管脚分配clock PIN_C13disp_RGB[0]PIN_AC7disp_RGB[1]PIN_AC6disp_RGB[2]PIN_AD6switch[0]PIN_H8switch[1]PIN_J8hcount_ov PIN_AD10rst PIN_J9vcount_ov PIN_AC95.下载测试。
下载到实验箱上测试,当K1,K2的状态为00时显示横条纹,当K1,K2的状态为01时显示竖条纹,当K1,K2的状态为10和11时显示棋盘格,符合彩条信号发生器的设计要求。
(三)实验小结分析时序得,当行计数达到800时,产生行同步信号,当扫描完一行即为一场,产生场同步信号。
当行计数大于141,场计数大于32时,进入显示区,其他时候为消隐区。
VGA图像显示控制器设计

程序设计与硬件实验
KX
康芯科技
RTL电路图
VGA口与FPGA的I/O接口
模式5的电路结构
KX
康芯科技
接时钟clock0
引脚锁定
KX
接时钟clock0
康芯科技
文件下载
注意此示例存放的路径
康芯科技 FOR GW48-PK3 KX
模式5的电路结构
VGA口与FPGA的I/O接口
工作时钟,CLK接clock9,选择12MHz
键1控制VGA显示模式,选择PIO0 pin1
FOR GW48-PK3 引脚锁定
KX
康芯科技
选择模式5,键1控制VGA显示模式,选择PIO0 pin1
工作时钟,CLK接clock9,选择12MHz
文件下载
用此纽选择编程下载 接口ByteblasterMV 注意此示例存放的路径
模式5的电路结构
KX
选择模式5
康芯技
时钟clock0选择50MHz
插上VGA显示器插头
其余设置默认!
KX
康芯科技
VGA显示使能,向上插使能, 向下插禁止,如果显示不正常, 来回插此短路帽即可
VGA图象显示
KX
康芯科技
VGA图像显示实例课程设计

VGA图像显示实例课程设计一、课程目标知识目标:1. 学生能够理解VGA图像显示的基本原理,掌握VGA接口的标准及其信号传输方式。
2. 学生能够解释VGA图像显示过程中的关键参数,如分辨率、刷新率等,并了解它们之间的关系。
3. 学生能够掌握VGA图像显示相关的硬件和软件设计方法,并能够运用所学知识分析实际案例。
技能目标:1. 学生能够运用所学知识,设计简单的VGA图像显示电路,并实现基本的图像显示功能。
2. 学生能够通过编程或使用相关软件工具,实现对VGA图像显示的调试和优化。
3. 学生能够运用团队协作和沟通技巧,共同完成VGA图像显示实例的设计和展示。
情感态度价值观目标:1. 培养学生对电子技术及图像显示领域的兴趣,激发他们的学习热情和探究精神。
2. 培养学生严谨、细致的学习态度,提高他们面对实际问题的分析和解决能力。
3. 培养学生的团队协作精神,使他们懂得尊重他人、分享成果,形成积极向上的人际关系。
本课程针对高年级学生,结合学科特点,注重理论与实践相结合,以提高学生的实际操作能力和创新能力。
通过本课程的学习,使学生能够将所学知识应用于实际案例,培养他们在电子技术领域的专业素养。
同时,关注学生的个体差异,鼓励他们积极参与,充分展示自己的特长。
在教学过程中,注重启发式教学,引导学生主动探究,提高他们的学习效果。
二、教学内容1. VGA图像显示原理:介绍VGA接口标准,包括信号传输方式、同步时序等,解析分辨率、刷新率等关键参数。
相关教材章节:第三章“图像显示原理”2. VGA图像显示硬件设计:讲解VGA图像显示相关的硬件组件,如VGA控制器、数模转换器等,分析硬件电路设计方法。
相关教材章节:第四章“显示硬件设计”3. VGA图像显示软件设计:介绍VGA图像显示的编程方法,包括驱动程序编写、图像处理等,以及调试和优化技巧。
相关教材章节:第五章“显示软件设计”4. 实例分析:分析一个具体的VGA图像显示实例,使学生了解实际应用中的设计方法和步骤。
尝试五vga图象显示控制

实验五 VGA图像显示控制一实验目的1.进一步掌握VGA显示控制的设计原理。
2.了解图像的存储和读取方式。
3.进一步掌握4×4键盘或PS/2键盘接口电路设计方式。
4.掌握状态机设计复杂控制电路的大体方式。
二硬件需求1.EDA/SOPC实验箱一台。
三实验原理VGA图像显示控制利用实验三中学习的《VGA显示控制模块》显示存储于ROM中的图像数据。
要显示的图像是四块64*64像素大小的彩色图片,通过键盘控制可以选择不同的图片显示。
图像可以在屏幕上移动(水平和垂直方向每帧别离移动“H_Step”点和“V_Step”点),通过键盘改变“H_Step”和“V_Step”的值即可改变其移动速度和方向。
图像碰着屏幕边沿会反弹归去。
如图5.1所示H_StepV_Step图5.1 VGA图像显示控制示用意实验中要用到4×4键盘、VGA显示控制、ROM等模块,在《实验三常常利用模块电路的设计》中已经讲述,可以直接利用已做好的模块(可能需要修改部份代码)。
键盘也可利用PS/2接口键盘,这样可以输入更多的字符。
四实验内容一、图5.2是整个设计的顶层电路。
图5.2 VGA图像显示控制顶层电路图二、实验三中学习的几个模块①“Read_Keyboard”模块与实验三中的4×4键盘模块一致;②四个ROM模块利用宏功能模块实现,并设置其内存初始化文件别离为“FBB.mif”、“dog.mif”、“cat.mif”、“flower.mif”,如图5.3所示。
固然也可以用其他图片(大小为64*64)利用“BmpToMif”软件生成对应的“mif”文件,如图5.4所示。
图5.3 内存初始化文件设置图5.4 获取内存初始化文件(mif文件)③“VGA”模块与实验三中大体一致,只需要在端口中屏蔽“key”端口,并加入“imag_rgb: in std_logic_vector(2 downto 0);”用于从外部输入图像数据。
VGA显示控制_常熟理工学院

课程设计报告课程EDA课程设计题目VGA显示控制院系物理与电子工程学院年级2011级专业电子科学与技术班级电科112学号050211202050211207050211208050211210学生姓名陈启、李伟阳、李钟奇、刘贵晶指导教师张惠国设计时间目录第1章绪论 (1)1.1EDA技术的发展 (1)1.2课程设计的任务 (2)第2章课题背景 (2)2.1选题背景 (2)2.2国内外文献综述 (3)2.2.1显示技术发展史 (3)2.2.2各种显示器的显示原理 (3)2.2.3显示标准的发展 (6)2.2.4VGA概述及其接口 (7)第3章VGA显示控制的相关理论 (9)3.1VGA显示控制 (9)3.2RGB颜色模型 (11)第4章VGA显示控制器的VHDL设计 (11)4.1显示控制器的整体设计 (11)4.2彩条信号发生器设计 (12)第5章VGA实验实现的结果 (15)5.1VGA显示输出 (15)5.1.1VGA显示的竖直彩条信号 (15)5.1.2VGA显示的横向彩条信号 (15)参考文献 (16)总结体会 (16)第1章绪论1.1EDA技术的发展我们已经进入数字化和信息化的时代,其特点就是各种数字产品的广泛应用。
现代数字产品在性能提高复杂度增大的同时,更新换代的速度也越来越快,实现这种进步的因素在于芯片制造技术和设计技术的进步。
前者以微细加工技术为代表,目前已进展到深亚微米阶段,可以在几平方厘米的芯片上集成数千万个晶体管。
后者的核心就是EDA技术,EDA是指以计算机为工作平台,融合应用电子技术、计算机技术、智能化技术最新成果而研制成的电子CAD 通用软件包。
在现代数字系统的设计中,EDA技术已成为一种普遍的工具。
对设计者而言,熟练的掌握EDA技术,可以极大的提高工作效率,起到事半功倍的效果。
无论是设计集成电路还是普通设计的电子线路,没有EDA工具的支持是难以完成的。
EDA技术的使用包括电子工程师进行电子系统的开发的全过程,以及进行开发设计涉及的各个方面。
中山学院EDA综合实验报告-VGA彩条信号显示控制电路设计

5、实验结果截图及原理分析
原理分析:首先根据VGA图像的扫描时序与实验箱核心板原理图的VGA端口用VerilogHDL语言写出VGA模块,然后新建一个ROM模块把原本已经准备的mif格式的图片加入其中,最后写一个clock模块并生成电路模块进行电路连接。在烧录代码后,FPGA会不断地根据VGA图像的扫描时序来读取图片中的每个像素点RGB,通过时钟信号一直扫描下去,由此能显示出整张图片。
三、实验结论与心得
在这次实验中,我花了两个晚上在寻找与理解相关资料,同时有两个下午在实验室调试,在这个过程中有很多次失败,但是失败却能让人理解对其得更透彻,终于在第二个下午调试不出来图像的时候,回到宿舍后突然想出了问题出处与解决方法,真是奇妙。在做这次实验之前,我觉得这次最后的实验是检验自己对这门课的掌握程度,而不是单纯为了得到满分。
学生实验报告
系别
电子信息学院
课程名称
《EDA综合实验》
班级实验名称VGA条信号显示控制电路设计姓名
实验时间
学号
指导教师
成绩
批改时间
报告内容
一、实验目的和任务
学习VGA图像显示控制电路设计。
二、设计代码(或原理图)、仿真波形及分析
1、rom为图像数据存储模块
2、VGA模块扫描显示功能,代码如下所示
3、clock模块实现将输入时钟二分频后输出功能,代码如下所示:
精华资料图片的VGA显示的实验报告

图片的VGA显示的实验报告一、实验要求•功能要求:利用Basys2实验板实现图片在VGA接口显示器上的显示。
•基本要求1)实现240*160以上像素的图片在VGA接口显示器上的显示。
2)利用算法实现特定图片在VGA接口显示器上的放大、缩小旋转及其他动作的自动变换。
•发挥部分1)实现输入数字在VGA接口显示器上的显示。
2)设计实现以VGA接口显示器为基础的简单游戏。
3)设计实现以VGA接口显示器及PS2键盘为基础的打字游戏。
4)其他功能与性能。
•设计步骤与要求:1)简要说明所实现系统的基本原理。
2)在Xilinx ISE13.1 软件中,编写输入所设计的源程序文件。
3)对源程序进行编译及仿真分析(注意合理设置,以能够在验证逻辑基础上尽快得出仿真结果)。
4)输入管脚约束文件,对设计项目进行编译与逻辑综合,生成下载所需.bit类型文件。
5)在Basys2实验板上下载所生成的.bit文件,观察验证所设计的电路。
二、实验原理1、VGA概述VGA(Video Graphics Array)是IBM于1987年提出的一个使用模拟信号的电脑显示标准,最早指的是显示器640X480这种显示模式。
本实验程序用的是640X480模式,即每一行有640个像素,整个显示区域一共有480行。
VGA接口是一种D型接口,采用非对称分布的15pin 连接方式,共有15针,分成3排,每排5个孔。
本实验条件下只使用其中5个pin,分别是红色信号输入(R)、绿色信号输入(G)、蓝色信号输入(B),行同步信号输入(h_sync)和场同步信号输入(v_sync)。
2、VGA时序VGA的扫描顺序是从左到右,从上到下。
例如在640X480的显示模式下,从显示器的左上角开始往右扫描,直到640个像素扫完,再回到最左边,开始第二行的扫描,如此往复,到第480行扫完时即完成一帧图像的显示。
这时又回到左上角,开始下一帧图像的扫描。
如果每秒能完成60帧,则称屏幕刷新频率为60Hz。
vga显示实验报告

VGA显示实验报告●技术资料对于普通的VGA 显示器,其引出线共含五个信号:●R、G、B:三基色信号。
●HS:行同步信号。
●VS:场同步信号。
VGA工业标准要求的频率:产生时钟频率25.175 MHz(像素输出的频率)行频31469 Hz 场频59.94 Hz(每秒图像刷新频率)VGA显示的关键是行、场扫描时序的产生。
显示器扫描方式分为逐行扫描和隔行扫描:逐行扫描是扫描从屏幕左上角一点开始,从左像右逐点扫描,每扫描完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT对电子束进行消隐,每行结束时,用行同步信号进行同步;当扫描完所有的行,形成一帧,用场同步信号进行场同步,并使扫描回到屏幕左上方,同时进行场消隐,开始下一帧。
隔行扫描是指电子束扫描时每隔一行扫一线,完成一屏后在返回来扫描剩下的线,隔行扫描的显示器闪烁的厉害,会让使用者的眼睛疲劳。
完成一行扫描的时间称为水平扫描时间,其倒数称为行频率;完成一帧(整屏)扫描的时间称为垂直扫描时间,其倒数称为场频率,即刷新一屏的频率,常见的有60Hz,75Hz等等。
标准的VGA显示的场频60Hz,行频31.5KHz。
行场消隐信号:是针对老式显像管的成像扫描电路而言的。
电子枪所发出的电子束从屏幕的左上角开始向右扫描,一行扫完需将电子束从右边移回到左边以便扫描第二行。
在移动期间就必须有一个信号加到电路上,使得电子束不能发出。
不然这个回扫线会破坏屏幕图像的。
这个阻止回扫线产生的信号就叫作消隐信号,场信号的消隐也是一个道理。
显示带宽:带宽指的显示器可以处理的频率范围。
如果是60Hz刷新频率的VGA,其带宽达640x480x60=18.4MHz,70Hz的刷新频率1024x768分辨率的SVGA,其带宽达1024x768x70=55.1MHz。
时钟频率:以640x480@59.94Hz(60Hz)为例,每场对应525个行周期(525=10+2+480+33),其中480为显示行。
VGA显示实验报告——孙小喃

学生实验报告实验课名称:VHDL硬件描述语言实验项目名称:VGA显示专业名称:电子科学与技术班级:32050801学号:05学生姓名:孙小喃教师姓名:程鸿亮2010年11月13日组别第三组实验日期2010年11月13日实验室名称______________成绩_____ 一.实验名称VGA显示二.实验目的与要求目的:通过对VGA接口的显示控制设计,理解VGA接口的时序工作原理,掌握通过计数器产生时序控制信号的方法以及用MEGEFUNCTION制作锁相环的方法。
要求:通过VHDL编程,在VGA显示器上实现竖形彩条的显示,显示模式为640×480 60Hz刷新率。
本实验需要使用25MHz的时钟,而开发平台中并没有这个时钟资源,所以需要通过锁相环来实现。
三实验内容1. 打开QuartusII软件,建立一个新的工程:1) 单击菜单File\New Project Wizard…2) 输入工程的路径、工程名以及顶层实体名。
3) 单击Next>按钮,出现以下窗口由于我们建立的是一个空的项目,所以没有包含已有文件,单击Next>继续。
4) 设置我们的器件信息:5) 单击Next>,指定第三方工具:这里我们不指定第三方EDA工具,单击Next>后结束工程建立。
2. 建立VHDL文件:1) 单击File\New菜单项,选择弹出窗口中的VHDL File项,单击OK 按钮以建立打开空的VHDL文件,注意此文件并没有在硬盘中保存。
2) 首先编制实体“color”的代码,要求输入为25MHz的时钟信号,输出为行同步、帧同步以及三色数据线RGB[2..0]信号。
注意这个文件的实体名、文件名为“color”,不是顶层实体。
(参考程序附后)3) 生成符号由于此文件是整个工程的一个模块,我们需要把此文件转换为符号,以便后面可以通过绘图方式连接电路,点击File\Creat\Update\Create Symbol Files for Current File菜单,生成对应的符号。
VGA图像显示的设计与应用

VGA图像显示的设计与应用一.实验目的学习VGA图像显示控制器的设计。
二.实验原理根据所学硬件描述语言知及本实验要求,编程如下:LIBRARY ieee;USE ieee.std_logic_1164.all;LIBRARY altera_mf;USE altera_mf.altera_mf_components.all;ENTITY pll ISPORT(inclk0 : IN STD_LOGIC := '0';c0 : OUT STD_LOGIC);END pll;ARCHITECTURE SYN OF pll ISSIGNAL sub_wire0 : STD_LOGIC_VECTOR (5 DOWNTO 0);SIGNAL sub_wire1 : STD_LOGIC ;SIGNAL sub_wire2 : STD_LOGIC ;SIGNAL sub_wire3 : STD_LOGIC_VECTOR (1 DOWNTO 0);SIGNAL sub_wire4_bv : BIT_VECTOR (0 DOWNTO 0);SIGNAL sub_wire4 : STD_LOGIC_VECTOR (0 DOWNTO 0);COMPONENT altpllGENERIC (clk0_duty_cycle : NATURAL;lpm_type : STRING;clk0_multiply_by : NATURAL;inclk0_input_frequency : NATURAL;clk0_divide_by : NATURAL;pll_type : STRING;intended_device_family : STRING;operation_mode : STRING;compensate_clock : STRING;clk0_phase_shift : STRING);PORT (inclk : IN STD_LOGIC_VECTOR (1 DOWNTO 0);clk : OUT STD_LOGIC_VECTOR (5 DOWNTO 0) );END COMPONENT;BEGINsub_wire4_bv(0 DOWNTO 0) <= "0";sub_wire4 <= To_stdlogicvector(sub_wire4_bv);sub_wire1 <= sub_wire0(0);c0 <= sub_wire1;sub_wire2 <= inclk0;sub_wire3 <= sub_wire4(0 DOWNTO 0) & sub_wire2;altpll_component : altpllGENERIC MAP (clk0_duty_cycle => 50,lpm_type => "altpll",clk0_multiply_by => 25,inclk0_input_frequency => 20833,clk0_divide_by => 48,pll_type => "AUTO",intended_device_family => "Cyclone",operation_mode => "NORMAL",compensate_clock => "CLK0",clk0_phase_shift => "0")PORT MAP (inclk => sub_wire3,clk => sub_wire0);END SYN;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY vga ISPORT(clock: IN STD_LOGIC; --系统输入时钟48MHzdisp_dato: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--VGA数据输出.hsync: OUT STD_LOGIC; --VGA行同步信号.vsync: OUT STD_LOGIC --VGA场同步信号.);END;ARCHITECTURE one OF vga ISCOMPONENT pllPORT(inclk0 : IN STD_LOGIC := '0';c0 : OUT STD_LOGIC);END COMPONENT;SIGNAL hcount: STD_LOGIC_VECTOR(9 DOWNTO 0);SIGNAL vcount: STD_LOGIC_VECTOR(9 DOWNTO 0);SIGNAL data: STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL h_dat: STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL v_dat: STD_LOGIC_vECTOR(7 DOWNTO 0);SIGNAL timer: STD_LOGIC_VECTOR(9 DOWNTO 0);SIGNAL flag: STD_LOGIC;SIGNAL hcount_ov:STD_LOGIC;SIGNAL vcount_ov:STD_LOGIC;SIGNAL dat_act: STD_LOGIC;SIGNAL hsync_r: STD_LOGIC;SIGNAL vsync_r: STD_LOGIC;SIGNAL vga_clk: STD_LOGIC;CONSTANT hsync_end: STD_LOGIC_VECTOR(9 DOWNTO 0):="0001011111";--95CONSTANT hdat_begin: STD_LOGIC_VECTOR(9 DOWNTO 0):="0010001111";--143--图形显示横区开始,CONSTANT hdat_end: STD_LOGIC_VECTOR(9 DOWNTO 0):="1100001111";--783--图形显示横区结束CONSTANT hpixel_end: STD_LOGIC_VECTOR(9 DOWNTO 0):="1100011111";--799CONSTANT vsync_end: STD_LOGIC_VECTOR(9 DOWNTO 0):="0000000001";--1CONSTANT vdat_begin: STD_LOGIC_VECTOR(9 DOWNTO 0):="0000100010";--34 --图形显示横区开始,CONSTANT vdat_end: STD_LOGIC_VECTOR(9 DOWNTO 0):="1000000010";--514--图形显示横区结束CONSTANT vline_end: STD_LOGIC_VECTOR(9 DOWNTO 0):="1000001100";--524BEGIN--调用PLL模块U1: pll PORT MAP(inclk0=>clock,c0=>vga_clk);PROCESS(vga_clk)--行扫描.BEGINIF RISING_EDGE(vga_clk) THENIF hcount_ov='1' THENhcount<=B"00_0000_0000";ELSEhcount<=hcount+1;END IF;END IF;END PROCESS;hcount_ov<='1' WHEN hcount=hpixel_end ELSE '0';PROCESS(vga_clk)--场扫描.BEGINIF RISING_EDGE(vga_clk) THENIF hcount_ov='1' THENIF vcount_ov='1' THENvcount<=B"00_0000_0000";ELSEvcount<=vcount+1;END IF;END IF;END IF;END PROCESS;vcount_ov<='1' WHEN vcount=vline_end ELSE '0';------------------------------------------------------<<数据、同步信号输出。
VGA控制显示实验说明文档

VGA控制显示实验本实验是在VGA基本控制之上的更进一步的对VGA显示进行控制的。
1.VGA显示原理常见的彩色显示器一般由CRT(阴极射线管)构成,彩色是由R(红),G(绿),B(蓝)3基色组成。
显示采用逐行扫描的方式,阴极射线枪发出的电子束打在涂有荧光粉的荧光屏上,产生RGB三色基,最后合成一个彩色图像。
从屏幕的左上方开始自左向右的扫描,每扫完一行电子束回到下一行的最左端,每行结束后电子枪回扫的过程中进行消隐。
然后从新开始行扫描,消隐,直到扫描到屏幕的右下方,电子书回到屏幕的左上方重新开始新的图像扫描,并且在回到屏幕的左上方过程中进行消隐,在消隐的过程中不发射电子束。
每一行扫描结束时,用HS(行同步)信号进行同步;扫描完所有的行后用VS(场同步)信号进行同步。
2.VGA实验功能说明本实验设计是基于FPGA的VGA接口控制器,通过对FPGA硬件编程实现显示驱动,通过VGA接口在显示器上显示彩条,圆环和动态方块信号。
实现显示驱动需要5个信号:R,G,B,hsyncb,vsyncb,其中R,G,B分别为红,绿,蓝颜色的强度信号,hsyncb和vsyncb 为行同步和场同步信号,均为模拟信号。
由实验板将FPGA输出直接与VGA接口相连,中间没有D/A转换电路,因此这五个信号实际上均为数字信号。
hsyncb和vsyncb可用数字信号等效;R,G,B分别用3位数字信号表示。
用于显示驱动的行,场同步信号利用实验板的50MHz系统时钟产生。
VGA接口控制器由三个模块组成,即产生行场同步信号和消隐信号的VGASig模块,产生内容和位置信息的ColorMap模块,产生动态时序信号的count16以及顶层模块VGACore,模块之间的信号连接如图:本设计的整体思想是:首先由系统时钟二分频后作为VGASig模块的时钟输入信号;VGASig 模块的hsyncb信号和vsyncb信号形成顶层模块的hsyncb(行同步)和vsyncb(场同步)信号;VGASig模块的hcnt和vcnt信号作为ColorMap模块的地址控制输入,ColorMap模块根据该信号的值输出相应的RGB颜色信息rgbx,rgby,rgbz和rgbw。
5.3VGA显示实践

第五章FPGA基本实践5.1流水灯实践流水灯的关键设计流水灯工程的vivado 实现5.2数码管动态显示实践数码管动态显示原理分析数码管动态显示设计数码管动态显示工程的vivado 实现数码管动态显示IP 核设计与实现调用IP 核实现动态显示5.3 VGA 显示的实现VGA 显示基本原理VGA 显示设计与实现补充按键行列按键原理行列按键实践⏹驱动普通的液晶显示器显示图形,就可以实现诸如监控系统、示波器视频显示。
本节将构建VIVADO 工程实现基本的VGA 显示。
⏹5.3.1 VGA显示基本原理⏹图中所示,使用到了VGA接口除地之外,包括1脚红色,2脚绿色,3脚蓝色。
以及13脚的水平同步(扫描)Hsync和14脚的垂直同步(扫描)Vsync。
⏹进一步分析该图,红色信号使用了VGA R0通过4K 电阻、VGA R1通过2K电阻、VGA R2通过1K电阻、VGA R2通过510欧姆的电阻后,进行线或后加载。
出于实验的目的对颜色的精度要求不高,电阻的取值510欧姆近似于500欧姆。
那么这种设计R3R2R1R0的权重分别为8421,因此符合二进制数值设计。
当R3R2R1R0为1111是红色最强。
红色的数字范围为0000-1111。
同理,绿色和蓝色也是四位颜色。
因此是12位色(4096色)。
⏹基于欧姆定律进行计算⏹液晶显示驱动电路管脚分配⏹VGA的扫描过程⏹要显示整个图像,一行扫描完成后要进行回扫,然后开始下一行的扫描。
所有行扫描完成后,需要进行垂直回扫完成扫描过程。
垂直扫描的周期长,完成整个屏幕的显示,也称为场或帧。
回扫过程需要消隐。
⏹VGA 的时序主要分为行和场两种数据时序⏹VGA显示器是由一个一个的像素点组成的,如果有x行y列,就有x*y个像素点。
按照规则,要一行一行地显示直到所有行显示完。
这种方式也称为扫描。
行数据时序就是一行数据的显示时序。
由VGA 行数据时序图可以看出,显示一行数据需要做好两件事情。
VGA图像显示控制器设计

信息与通信工程学院数字电路综合实验报告课题名称:VGA图像显示控制器设计班级:2008211113姓名:学号:序号:日期: 2011年 1月摘要本实验报告为VGA显示控制器设计报告。
实验设计了基于VHDL描述的VGA显示控制器,通过FPGA控制CRT显示器显示色彩和图形。
完成的功能包括64种纯色的显示、横向和纵向彩色条幅的显示以及正方形色块的运动与控制。
实验的重心放在了显示控制器的系统层面的设计,采用了自顶向下的思路进行设计,系统的核心为有限状态机。
报告中给出了完整的设计思路和过程,并将系统分模块进行了详细的设计,给出了VHDL语言描述。
完成了状态机和核心模块以及系统整体的仿真验证。
最终下载到实验板上测试通过。
关键词: FPGA;VHDL; VGA显示控制;状态机第一部分任务要求 (1)1.1课题要求 (1)1.2设计目标 (1)第二部分系统设计 (2)2.1设计思路 (2)2.2系统结构设计 (3)2.2.1系统结构框图 (3)2.2.2系统逻辑功能划分 (3)2.2.3层次模块划分 (4)2.2.4模块设计图 (6)2.2.5控制器设计 (7)2.2.6状态机设计 (8)2.2.7基本模式设计 (9)2.2.8用户模式设计 (10)2.3系统硬件语言描述 (12)2.3.1VHDL描述思路 (12)2.3.2总体电路的描述 (12)2.3.3分块电路的描述 (16)2.4系统仿真验证 (28)第三部分结果与分析 (32)3.1实现功能说明 (32)3.2器件资源分析 (33)3.3VHDL设计优化 (35)3.4故障和问题分析 (37)第四部分总结与结论 (38)4.1实验结论 (38)4.2总结体会 (38)第五部分附录部分 (40)5.1元器件和仪表清单 (40)5.2VHDL源代码 (40)5.3电路图 (56)5.4参考文献 (63)第一部分任务要求1.1课题要求设计一个 VGA 图像显示控制器。
实验五-VGA

南昌大学实验报告学生姓名:赵震学号: 6103414030 专业班级:生物医学工程141班实验类型:□验证□综合√□设计□创新实验日期: 2016.12.16 实验成绩:实验五:VGA 彩条信号发生器的设计(一)实验目的:1.了解普通显示器正确显示的时序。
2.了解 VHDL 产生 VGA 显示时序的方法。
3.进一步加强对 FPGA 的认识。
(二)实验原理:VGA 显示器在显示过程中主要由五个信号来控制,分别是 R、G、B、HS 和VS。
其中 R、G、B 分别用来驱动显示器三个基色的显示,即红、绿和篮,HS是行同步信号,VS 是场同步信号。
在做本实验时,由于没有任何显示器驱动,所以显示器工作在默认状态,分辨率:640×480,刷新率:60Hz。
在此状态下,当VS和 HS都为低电平时,VGA 显示器显示亮的状态,其正向扫描过程约为 26us。
当一行扫描结束后,行同步信号 HS置高电平,持续约 6us 后,变成低电平,在HS为高电平期间,显示器产生消隐信号,这就是显示器回扫的过程。
当扫描完一场后,也就是扫描完 480行以后,场同步信号 VS置高电平,产生场同步,此同步信号可以使扫描线回到显示器的第一行第一列位置。
显示器显示的时序图如下图 2-22 所示:图 2-22 CRT 显示器时序(三)设计要求:本实验要完成的任务就是通过FPGA在显示器上显示一些条纹或图案,要求CRT显示器上能够显示横条纹、竖条纹以及棋盘格子图案。
实验中系统时钟选择时钟模块的12MHz,用一个按键模块的S1来控制显示模式,每按下一次,屏幕上的图案改变一次,依次为横条纹、竖条纹以及棋盘格子图案。
实验的输出就直接输出到 VGA 接口,通过CRT 显示器显示出来。
实验箱中用到的数字时钟模块、按键开关与 FPGA 的接口电路,以及数字时钟源、按键开关与 FPGA 的管脚连接在以前的实验中都做了详细说明,这里不在赘述。
VGA接口在实验系统的视频输入输出模块。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五 VGA图像显示控制
一实验目的
1.进一步掌握VGA显示控制的设计原理。
2.了解图像的存储和读取方法。
3.进一步掌握4×4键盘或PS/2键盘接口电路设计方法。
4.掌握状态机设计复杂控制电路的基本方法。
二硬件需求
1.EDA/SOPC实验箱一台。
三实验原理
VGA图像显示控制利用实验三中学习的《VGA显示控制模块》显示存储于ROM中的图像数据。
要显示的图像是四块64*64像素大小的彩色图片,通过键盘控制可以选择不同的图片显示。
图像可以在屏幕上移动(水平和垂直方向每帧分别移动“H_Step”点和“V_Step”点),通过键盘改变“H_Step”和“V_Step”的值即可改变其移动速度和方向。
图像碰到屏幕边沿会反弹回去。
如图5.1所示
H_Step
V_Step
图5.1 VGA图像显示控制示意图
实验中要用到4×4键盘、VGA显示控制、ROM等模块,在《实验三常用模块电路的设计》中已经讲述,可以直接使用已做好的模块(可能需要修改部分代码)。
键盘也可以使用PS/2接口键盘,这样可以输入更多的字符。
四实验内容
1、图5.2是整个设计的顶层电路。
图5.2 VGA 图像显示控制顶层电路图
2、实验三中学习的几个模块
①“Read_Keyboard ” 模块与实验三中的4×4键盘模块一致;
②四个ROM 模块使用宏功能模块实现,并设置其内存初始化文件分别为“FBB.mif ”、“dog.mif ” 、“cat.mif ” 、“flower.mif ”,如图5.3所示。
当然也可以用其他图片(大小为64*64)使用“BmpToMif ”软件生成对应的“mif ”文件,如图5.4所示。
图5.3 内存初始化文件设置
图5.4 获取内存初始化文件(mif文件)
③“VGA”模块与实验三中基本一致,只需要在端口中屏蔽“key”端口,并加入“imag_rgb
: in std_logic_vector(2 downto 0);”用于从外部输入图像数据。
代码中倒数第三个进程改为图5.5所示,此时最后两个进程也可以删除了。
图5.5 修改代码从外部输入图像数据
④“div_24000”模块用于将24M时钟分频输出1KHz用于键盘扫描。
3、新增加模块说明:
①“imagController”模块,代码如图5.6所示(部分代码用文字描述,请用VHDL语言补充完整)。
端口VS、hcnt、vcnt是“VGA”模块的输出,用于确定扫描点位置;H_Step、V_Step、Pause端口由“Keyboard_Manage”模块输出,用于设置图像块移动的速度和方向;ROM_DATA是来自于ROM模块中的图像数据。
图5.6 “imagController ”模块主要代码
②“Keyboard_Manage ” 模块,用于接收键盘输入,根据键盘输入设置图像显示及移动参数。
其主要代码如图5.7所示。
图5.7 “Keyboard_Manage”模块主要代码
③“SEL_ROM”模块,用于选通四个图像ROM,即根据SEL[1..0]的值,从Q1~Q4中选择一个输出到ROM_DA TA端口。
五实验步骤
1.首先打开Quartus II软件,新建一个工程,并新建一个VHDL File。
2.按照自己的想法,编写VHDL程序。
3.对自己编写的VHDL程序进行编译并仿真。
4.仿真无误后,根据附录一的引脚对照表,对实验中用到时钟、4×4键盘、按键以及VGA模块对应的FPGA引脚进行管脚绑定,然后再重新编译一次。
5.用下载电缆通过JTAG接口将对应的sof文件下载到FPGA中。
6.测试电路的工作是否满足实验要求。
六、实验报告要求
1.详细论述源码中实现各功能模块的设计要点。
2.由于ROM模块采用时许逻辑电路设计,其数据输出与地址值在实践上有什么关系?会导致图像显示位置有何影响?如何在设计中消除这一影响,使图像显示位置更加精确?
3. 6×6键盘有几种按键状态(不包括组合键),应该定义多少编码来表示?如果包含所有组合键,则用于表示按键状态的编码至少应定义为几位?
4. 如果用“#”键作为功能键(类似PC键盘上的[Ctrl]键),如何输入“#+C”(类似于“Ctrl+C”)这种组合功能键?(只说思路,不用给出具体实现)
5. 实验的心得体会。