VGA设计

上传人:野鹰 文档编号:1135756 上传时间:2017-05-29 格式:DOC 页数:13 大小:6.90MB
返回 下载 相关 举报
VGA设计_第1页
第1页 / 共13页
VGA设计_第2页
第2页 / 共13页
VGA设计_第3页
第3页 / 共13页
VGA设计_第4页
第4页 / 共13页
VGA设计_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《VGA设计》由会员分享,可在线阅读,更多相关《VGA设计(13页珍藏版)》请在金锄头文库上搜索。

1、0电子系统综合设计课程设计报告VGA 显示系统设计专 业: 集 成 电 路 班 级: 电 子 0 6 0 4 学 号: 200681131 姓 名: 高丕龙 1VGA 显示系统设计1概述本实验采用工业标准的 VGA 显示模式为:640 4801660。该系统实现的目标是将数据源写入视频存储器中的视频数据通过 D/A 转换器输出给 VGA 显示器,从而得到预期的视频显示。为此,可把 FPGA 作为整个设计的核心,负责产生正确的行同步信号和场同步信号输出给 VGA 显示器,使 VGA 显示器能够正确的同步:负责进行水平、垂直计数,并将计数器的值或行、场同步信号转换成存储器的地址数据输出给视频存储阵

2、列,使视频存储阵列能够正确的输出图像的颜色信息:负责根据同步时序控制 D/A 转换器及时的把视频存储阵列输出的颜色的数字量转换成模拟量送给 VGA 显示器。二.设计任务:1、根据 VGA 视频信号时序,利用 FPGA 控制产生视频信号,在普通彩色显示器上显示彩色图像,包括 8 色横彩条和 8 色竖彩条。2、在显示器上显示自行设计的彩色规则图形棋盘形。三VGA 显示原理常见的彩色显示器一般由阴极射线管(CRT) 构成,彩色由 GRB(Green Red Blue)基色组成。显示采用逐行扫描的方式解决,阴极射线枪发出电子束打在涂有荧光粉的荧光屏上,产生 GRB 基色,合成一个彩色像素。扫描从屏幕的

3、左上方开始,从左到右,从上到下,逐行扫描,每扫完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT、对电子束进行消隐,每行结束时,用行同步信号进行行同步;扫描完所有行,用场同步信号进行场同步,并使扫描回到屏幕的左上方,同时进行场消隐,并预备进行下一次的扫描。VGA显示控制器控制 CRT 显示图象的过程如下图所示。2四设计方案1.整体设计FPGA 是整个系统的中枢,在 FPGA 内部,主要有两个模块:一个是时序生成模块,另一个是彩条产生模块。它根据外部时钟 CLK 进行计数,并根据计数器的值来确定行、场所处的位置,并依此产生以下信号:行同步信号(Hs) ,场同步信号(Vs)和输出允许信

4、号。其中,行同步信号和场同步信号是严格的周期信号,直接送给通过 VGA 接口相连的 VGA 显示器做同步使用。只要连接这两个信号就完全可以点亮显示器,只不过在显示器上没有任何的颜色信息。CLK 引脚是整个系统需要的唯一的外部时钟,设计要求它能够提供 50MHz的时钟频率,FPGA 内部进行二分频后使用。RESET 是整个系统的复位端。最后是整个系统的输出与 VGA 接口的连接。将行同步信号(Hs)与 VGA 接口的 13 脚连接,场同步信号(Vs)与 14 脚相连,D/A 转换阵列的 R 分量与 1 脚连接,G 分量与 2 脚,B 分量与 3 脚连接就可以完成整个系统的连接工作。1)时序产生模

5、块:时序产生的目的是根据外部时钟进行水平和垂直计数,并根据计数值进行判断,若此时在消隐区,需要把 enable 设为低电平。并要判断是否是同步时间,若是,则在行同步或场同步信号上输出同步脉冲。时序产生模块主要有水平计数器和垂直计数器。水平计数器的计数脉冲是外部时钟 CLK,而垂直计数器的计数脉冲是行同步信号 Hs 的同步头。这个模块的输入时钟是 25MHz 的时钟频率,输出端是行同步信号(Hs) 、场同步信号(Vs) 、水平计数器(Hcnt) 、垂直计数器(Vcnt) 、和有效显示信号(enable)5 个信号。其中,Hs、Vs 直接把同步信号送给 VGA 显示器,Hcnt、Vcnt、enab

6、le 则输出给彩条产生模块使其产生预想的彩条或方格图像。A.Hcnt,vcnt 产生电路Hcnt 是以 25M 的 ck(clk 二分频后的信号)为时钟的模 800 计数器,Vcnt是以 Hs 为时钟的模 525 的计数器。B.Hs 产生电路一个行周期含有 800 个像素时钟,在时序产生模块中定义如下:constant H_PIX :INTEGER:=640;-行数据区constant H_FRONT :INTEGER:=16;-行消隐前肩constant H_BACK :INTEGER:=48;-行消隐后肩constant H_SYNC :INTEGER:=96;-行同步头constant

7、H_TIME :INTEGER:=H_SYNC + H_PIX + H_FRONT + H_BACK;行计数器是一个 10 比特的向量信号,定义如下:signal hcnt: std_logic_vector(9 downto 0);根据水平计数器的值决定了行同步信号(Hs)和有效显示信号 (enable)。Hs 信号变化如下:3if (hcnt = (H_PIX + H_FRONT) and hcnt =(v_PIX+v_FRONT) and vcnt= H_PIX or vcnt = V_PIX thenEnable =(h_PIX+h_FRONT) and hcnt=(v_PIX+v_F

8、RONT) and vcnt=h_pix or vcnt=v_pix then enable= (H_PIX + H_FRONT) and hcnt = H_PIX or vcnt = V_PIX 时 enable 为低电平;即当 vcnt 小于 480 且 hcnt小于 640 时,enable 为高电平即输出使能信号有效,而当 hcnt 大于 640 而小于 800 时enable 为低电平即输出时能信号无效。B.场同步信号当(vcnt=(v_PIX+v_FRONT) and vcnt(v_PIX+v_SYNC+v_FRONT),即 vcnt 大于等于490 而且小于 492 时,vs 为

9、低电平。2 彩条产生模块1)彩条产生模块 vhdl 文件LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY rgb ISPORT ( enable,reset:in std_logic;hc,vc: IN STD_LOGIC_vector(9 downto 0);md: in std_logic_vector(1 downto 0);r,g,b: OUT STD_LOGIC ); 9END rgb;ARCHITECTURE behav OF rgb ISsignal rgbx,rgby

10、,rgb: std_logic_vector(2 downto 0);beginprocess (md,enable,reset)begin if reset=1 then rgb=000;elsif enable=1thenif md=11 then rgb = rgbx;elsif md=01 then rgb =rgby;elsif md=10 then rgb =rgbx xor rgby;else rgb =000;end if;else rgb =000;end if;end process;process(hc)beginif hc 79 then rgbx=111;elsif

11、hc159 then rgbx=110;elsif hc239 then rgbx=101;elsif hc319 then rgbx=100;elsif hc399 then rgbx=011;elsif hc479 then rgbx=010;elsif hc559 then rgbx=001;else rgbx=000;end if;end process;process(vc)beginif vc 59 then rgby=111;elsif vc119 then rgby=110;elsif vc179 then rgby=101;elsif vc239 then rgby=100;

12、elsif vc299 then rgby=011;elsif vc359 then rgby=010;elsif vc419 then rgby=001;else rgby=000;end if;end process;r=rgb(2);g=rgb(1);b=rgb(0);end ARCHITECTURE behav;2)仿真波形10A.竖彩条行同步信号 Hs 每产生一次低电平,就输出了一行,下图进行了 3 行的竖彩条仿真,由于每一行的 r,g,b 输出都按水平计数器 hcnt 等间距输出111,110,101,100,011,010,001,000,当所有行扫描结束时就会出现竖彩条图案。B

13、.横彩条场同步信号 Vs 每产生一次低电平,就输出了一张图片,下图进行了一张图片的横彩条仿真,由于每 60 行的 r,g,b 输出相同,都按垂直计数器等间距输出 111,110,101,100,011,010,001,000,当所有行扫描结束时就会出现横彩条图案。3 D 触发器模块1)D 触发器模块 vhdl 文件LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY dff ISPORT ( CLK: IN STD_LOGIC;D:in std_logic;Q: OUT STD_LOGI

14、C ); END dff;ARCHITECTURE behav OF dff ISbeginprocess(clk)beginif clkevent and clk=1then q=d;end if;11end process;end architecture behav;2)仿真波形加 D 触发器前,彩条产生模块的输出 r,g,b 会产生许多毛刺:由于输入信号到输出信号的延时不同,在时钟周期较短时,电路内部的组合逻辑的输出端将会出现毛刺,使输出产生错误的结果。不加 D 触发器时的波形加 D 触发器后,利用 D 触发器输入端对毛刺信号不敏感的特点,在输出信号的保持时间内,用触发器读取组合逻辑的

15、输出信号,这种方法类似于将异步电路转化为同步电路使得彩条产生模块的输出 r,g,b 不再包含毛刺,使系统趋于稳定。加 D 触发器后的波形六系统调试与结果分析1 实验环境软件平台:max plus II硬件平台:GW48 4K EDA 实验开发系统FPGA 芯片:ALTERA EPF10K10PLCC842 实验过程(1)软件开发流程:编写 VHDL绘制 GDFCompilesimulatorfloorplanprogrammer 下载。12(2)硬件调试流程:A.把实验开发系统的下载线接电脑主机,并把另一台电脑的显示器与实验开发系统的 VGA 视频接口相连。B.调整 GW484K EDA 实验开发系统的系统模式为模式 2,并用跳线连接 50Mhz 的系统时钟到 clock9,用跳线把 reset 输入信号(I/O0)接低电平 (GND) 。模式二 实验开发系统电路原理图C.最后通过按键一和按键二来控制 md1 和 md0 的状态,从而决定输出图像为横彩条,竖彩条还是方格图案。3 实验结果竖彩条从左到右依次为白色,黄色,紫红,红色,蓝绿,绿色,蓝色,黑色。横彩条从上到下依次为白色,黄色,紫红,红色,蓝绿,绿色,蓝色,黑色。方格按对角线对称,对角线由上至下依次为白色,黄色,紫红,红色,蓝绿, 绿色,蓝色,黑色。七

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号