1、实验设计了基于VHDL描述的VGA显示控制器,通过FPGA控制CRT显示器显示色彩和图形,完成的功能包括横向和纵向彩色条幅的显示以及正方形色块。二设计要求1. 熟练掌握 VHDL语言和QuartusII 软件的使用。2. 理解状态机的工作原理和设计方法。3. 熟悉 VGA 接口协议规范。4.通过对VGA接口的显示控制设计,理解VGA接口的时序工作原理。5. 利用 FPGA 实现 VGA 彩条信号发生器.6. 可以产生彩色横条, 彩色竖条信号, 彩色棋盘格信号.7. 由一个按键按照顺序选择不同模式的信号输出.3设计原理1、显示控制原理常见的彩色显示器一般由阴极射线管(CRT)构成,彩色由GRB(
2、Green Red Blue)基色组成。显示采用逐行扫描的方式解决,阴极射线枪发出电子束打在涂有荧光粉的荧光屏上,产生GRB基色,合成一个彩色像素。扫描从屏幕的左上方开始,从左到右,从上到下,逐行扫描,每扫完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT、对电子束进行消隐,每行结束时,用行同步信号进行行同步;扫描完所有行,用场同步信号进行场同步,并使扫描回到屏幕的左上方,同时进行场消隐,并预备进行下一次的扫描。2、VGA时序信号计算机内部以数字方式生成的显示图像信息,被显卡中的数字/模拟转换器转变为R、G、B 三原色信号和行、场同步信号,信号通过电缆传输到显示设备中。对于模拟显示
3、设备,如模拟CRT 显示器,信号被直接送到相应的处理电路,驱动控制显像管生成图像。1、VGA彩条信号产生 彩条信号产生模块包括了彩条模式控制、竖彩条发生、横彩条发生和棋盘格发生三个模块。彩条模式控制可以用一个控制端口来实现。竖彩条发生模块根据行点数器cc的计数值来产生彩条,横彩条发生模块根据列点数器LL 的计数值来产生彩条,棋盘格的彩条就可以用横彩条和竖彩条异或来得到。四设计方案(一)系统结构框图图(一) VGA显示控制器系统结构框图 VGA显示控制器的输入是用户控制信息,如显示模式的切换命令、图形移动的控制命令等。控制器根据用户的输入信息,决定工作模式,这里定义为横彩模式、纵彩模式、棋盘模式
4、。颜色信息的产生、显示器扫描同步信号等由VGA控制器产生,其输出为CRT显示器。(2)系统逻辑功能划分图(二) VGA显示控制器系统逻辑框图五电路图图(三)电路图六结果图图(四)横彩条图(五)纵彩条图(六)棋盘彩条七实验心得本实验在课编程技术的基础上,根据VGA原理,运用VHDL描述语言实现了VGA控制设计的方案。1.再设计的过程中,遇到了很多问题,在设计之初通过查找大量资料,对VGA的原理有了初步的认识,但是在进行行列时序信号的计算时还是有一定的不理解。在指导老师的帮助下,了解了信号的产生。2.实验中我进一步熟悉了数字系统VHDL设计和仿真的流程,加深了对QuartusII软件的使用的理解。
5、3.通过设计时序控制电路,和彩条产生电路,我更深入地理解了FPGA技术,即同过软件编程的方法来实现硬件时序和组合电路,加快了产品开发的速度,以满足不断变化的市场需求。最后我要感谢老师的指导和帮助,老师讲授知识重点突出,分析深刻,听老师的讲解有豁然开朗的感觉。还要感谢选题相同的班级同学和我探讨交流,大家一起激发思维的火花,讨论遇到的问题,互相促进,达到了协作的良好效果。 附录源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY VGACD ISPORT(CLK,MD:IN STD_L
6、OGIC; HS,VS,R,G,B:OUT STD_LOGIC);END VGACD ;ARCHITECTURE behav OF VGACD IS SIGNAL HS1,VS1,FCLK,CCLK: STD_LOGIC; SIGNAL MMD:STD_LOGIC_VECTOR(1 DOWNTO 0); SIGNAL FS:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL CC:STD_LOGIC_VECTOR(4 DOWNTO 0); SIGNAL LL:STD_LOGIC_VECTOR(8 DOWNTO 0); SIGNAL GRBX:STD_LOGIC_VECTO
7、R(3 DOWNTO 1); SIGNAL GRBY: SIGNAL GRBP: SIGNAL GRB: BEGINGRB(2)=(GRBP(2)XOR MD) AND HS1 AND VS1;GRB(3)=(GRBP(3)XOR MD) AND HS1 AND VS1;GRB(1)=(GRBP(1)XOR MD) AND HS1 AND VS1; PROCESS(MD) BEGINIF MDEVENT AND MD=0 THEN IF MMD=10 THEN MMD=00;ELSE MMD=MMD+1;END IF; END IF;END PROCESS;PROCESS(MMD) BEGIN
8、IF MMD=THEN GRBP=GRBX;ELSIF MMD=01=GRBY;=GRBX XOR GRBY;ELSE GRBP000PROCESS(CLK) BEGINIF CLKEVENT AND CLK =1 THEN IF FS = 12 THEN FS 0000 ELSE FS =(FS+1); END PROCESS; FCLK=FS(3); CCLK=CC(4); PROCESS(FCLK) BEGINIF FCLKEVENT AND FCLK = THEN IF CC=27 THEN CC00000ELSE CC=CC+1;PROCESS(CCLK) BEGINIF CCLKE
9、VENT AND CCLK = THEN IF LL=450 THEN LL000000000 ELSE LL24 THEN HS1 = ELSE HS1 399 THEN VS1 ELSE VS1 IF CC3 THEN GRBX 111 ELSIF CC6 THEN GRBX 1109 THEN GRBX 10112 THEN GRBX 10015 THEN GRBX 01118 THEN GRBX 01021 THEN GRBX 001 ELSE GRBX IF LL50 THEN GRBY ELSIF LL100 THEN GRBY 150 THEN GRBY 200 THEN GRBY ELSIF LL250 THEN GRBY 300 THEN GRBY 350 THEN GRBY ELSE GRBYHS=HS1;VS=VS1;R=GRB(2);G=GRB(3);B=GRB(1);END behav;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1