logo资料库

基于FPGA的VGA图形控制器设计.pdf

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
基于基于FPGA的的VGA图形控制器设计 图形控制器设计 利用FPGA设计并实现了一种VGA图形控制器。根据VGA显示原理,利用VHDL作为逻辑描述语言,在Xilinx的 开发板Nexys2上完成了设计的功能。通过按动开发板上的按键可切换显示屏显示的图形,可实现横条纹、竖条 纹、方格棋盘等8 bit彩色图形的显示。 随着电子技术的进步和数字图像处理应用领域的不断扩大,FPGA对VGA信号的采集起到了不可忽视的作用[1]。基于FPGA设 计的VGA图形控制器有不少便利之处:首先,FPGA以其设计灵活、结构简单、集成度高等优点,近年来被广泛运用到各种功 能的电路设计当中。以硬件描述语言(Verilog或VHDL)完成的电路设计可以经过简单的综合与布局快速烧至到FPGA上进行 测试,成为现代IC设计验证的主流技术。其次,VGA作为一种通用的显示接口,已经广泛应用于工作和生活当中。传统的 VGA显示控制主要以专门的芯片电路和通用处理器来实现,体积大且不灵活,但基于FPGA的VGA显示控制显著提高了产品的 灵活性。最后,基于FPGA设计的产品开发过程简单,投资小,系统成本较低,使得本VGA图形控制器在同类商品中将更具有 价格上的竞争优势。本文着重介绍一种利用Nexys2 FPGA开发板实现VGA显示控制的方法,能够实现不同图案的显示,该方 法也可以方便地应用于各种嵌入式便携系统中。 1 Nexys2概述概述 现场可编程门阵列FPGA(Field Programmable Gate Array)在嵌入式系统中被广泛运用。其配置和编程是通过软件进行的, 通用性和灵活性极强。在产品升级时,不需要额外改变原有的硬件电路,只需修改程序,大大宿短了系统设计周期。Nexys2 作为一款比较经典的FPGA开发板,能够完全兼容嵌入式处理器。特别在VGA系统设计中,因其板上集成了16 MB高速 SDRAM和16 MB Flash ROM,不需接外部ROM便可存储图像数据或字符数据,使其得到更加广泛的运用。 2 VGA概述及工作原理 概述及工作原理 2.1 VGA技术 计算机显示器的显示有许多标准,常见的有VGA(视频图形阵列)、SVGA(高级视频图形阵列)等。在图像处理系统中,若 是采用传统办法将图像数据传回电脑并通过显示器显示出来,则整个传输过程中都需要嵌入式系统的CPU不断对传输的图像 数据信号进行控制,不仅浪费CPU资源并且依赖计算机,显著降低了系统运行的灵活性。但如果基于FPGA对VGA接口进行设 计,数据流就只在系统的内部流动而不依赖电脑,实现了系统的最小化,并且增强了系统的可靠性和设计的灵活性[1]。FPGA 开发板上集成了很多功能模块,使得基于FPGA的设计还可以根据用户的特定需要设计出针对性强的VGA图形控制器,不仅满 足了多样化的用户需要,而且降低了开发成本,使产品的升级换代更加快捷、方便。 2.2 VGA显示原理 显示原理 VGA显示系统如图1所示,主要由VGA控制器、存储器(若显示更大的图像,可采用外部ROM取代FPGA内部的ROM)和显 示器3部分组成。VGA控制器调用存储器里储存的数据并对此数据进行相应的处理,转换成相应的时序信号传送给显示器,显 示器按照接收到的信号进行显示[2]。
对应640×480×60 Hz的模式,工业标准所要求的时钟频率为25.175 MHz,行周期Tg为800个时钟,场周期Tg为525个行周 期。由于无法得到25.175 MHz的时钟频率,因此在设计中采用将全局时钟50 MHz二分频得到的25 MHz的频率来驱动行计数 器。 当VS=0、HS=0时,CRT显示的内容为亮的过程。当一行扫描完毕,行同步HS=1。期间,CRT扫描产生消隐,电子束回到 CRT左边下一行的起始位置(X=0,Y=1);当扫描完480行后,CRT的场同步VS=1,产生场同步使扫描线回到CRT的第一行 第一列(X=0,Y=0)处(约为两个行周期)。此程也称光栅扫描[3],如图3所示。
3 系统设计方案 系统设计方案 整个系统以Nexys2 FPGA开发板为核心,通过对其编程可输出红、绿、蓝三基色信号和HS、VS行、场扫描同步时序信号。当 FPGA接收到输出控制信号后,内部的数据选择器模块根据控制信号选择相应的图形生成模块,输出图形信号与行、场扫描时 序信号一起通过VGA接口电路传送至显示器,在VGA显示器上便可看到相应的彩色图像[4]。系统采用Nexys2开发板上提供的 50 MHz时钟作为全局参考时钟,由一片晶振提供时钟源。通过硬件描述语言VHDL对时钟进行分频,产生各模块所需时钟频 率。通过硬件描述语言VHDL对Nexys2开发板上的按键进行规定,使得开发板工作时可以通过按键切换VGA显示的图形。系 统模块如图4所示。 4 系统实现 系统实现 本设计采用了8 bit数字信号线,可产生256种不同的颜色。本彩色条纹模式显示控制器可通过按键实现横彩条、竖彩条、棋盘 格等图案的显示。横彩条可根据场计数器产生,在480个有效数据区内,每60个产生一个彩条,即对其进行8等分;竖彩条则 根据行计数器产生,在640个有效数据区内,每80个产生一个彩条,也是8等分;棋盘格可由横彩条数据和竖彩条数据“异 或”或“同或”而得到。同时,可通过按键来控制VGA不同图案的输出。 4.1 坐标定位 坐标定位 设定要全屏显示图形,如图2所示,行、场时序的Td部分是屏幕所显示部分,即屏幕从坐标第45行、第152个像素(左上角) 开始显示。若显示横彩条,则从第45行开始,每过60行给输出rgbout赋一个颜色值,直到第525行;竖彩条即从第152个像素 开始,每过80个像素给输出rgbout赋予一个颜色值,直到第792个像素。 4.2 VGA控制程序设计 控制程序设计 4.2.1 VGA控制器程序信号定义 entity vga is Port(clk:in std_logic;//全局时钟 keya:in STD_LOGIC;//控制按键 syncV:inout std_logic;//场同步信号 syncH:inout std_logic;//行同步型号 rgbout:out std_logic_vector(7 downto 0)); //8 bit输出颜色信号 end vga; 4.2.2 产生彩条图形的部分VHDL描述 process(clkdiv)//clkdiv为分频后的时钟信号 begin if(clkdiv=′1′ and clkdiv′Event)then if(HS>=152)and(HS<232)and(VS>=45)and(VS<525)then//横彩条 rgbx<="01010101"; elsif(HS>=232)and(HS<312)and(VS>=45)and(VS<525)then
rgbx<="01110101"; …… elsif(HS>=712)and(HS<792)and(VS>=45)and(VS<525)then rgbx<="00010111"; else rgbx<="00000000"; end if; end if; end process; 4.2.3 控制按键的 控制按键的VHDL描述描述 process(keya) begin if(keya=′1′and keya′Event)then mmd<=mmd+1;//定义的2位逻辑信号 end if; end process; process(mmd) begin case mmd is when"00"=>rgbout<=rgbx; //当无按键操作时,VGA显示屏显示横彩条 when"01"=>rgbout<=rgby; //第一次按键时,VGA显示屏显示竖彩条 when"10"=>rgbout<=rgbx xor rgby; //第二次按键时,VGA显示第一种棋盘图形 when"11"=>rgbout<=rgbx xnor rgby; //第二次按键时,VGA显示第二种棋盘图形 when others=>null; end case; end process; 4.3 系统测试结果与结论 系统测试结果与结论 在Xilinx ISE 13.3中创建项目后,输入系统的VHDL程序代码进行管脚约束,然后进行逻辑综合、布局布线、时序分析后生 成.bit编程文件,再将编程文件下载到Nexys2 FPGA中,并通过VGA接口与显示器相连。系统中的keya可约束为Nexys2开发 板中任一按键,作为显示图形的切换按键。通过按keya键,系统的显示效果如图5所示。 本文设计的VGA图形显示控制器是基于FPGA实现的,采用VHDL语言在Xilinx 13.3软件环境下完成软件设计,并对整个系统
进行了调试,最终在硬件平台Nexys2上实现了图形的显示。与传统的VGA控制器相比,本设计具有以下有点:(1)采用硬件 描述语言VHDL进行开发,软件程序简单且执行效率高,使得系统设计变得更加快捷方便;(2)脱离了PC控制,减少了控制 器的体积,从而扩展了其应用范围,对于各种嵌入式便携系统具有更重要的现实意义及工程实用价值。 本设计只做了彩条及棋盘格图形的显示,如果要做字符显示或真彩图像显示,则需将像素点数据保存到FPGA内部的EAB RAM、外部ROM或RAM中。在接下来的设计中,将会在此方向上进行相应的改进和完善。 参考文献 参考文献 [1] 吕康.基于FPGA的VGA图形控制器设计[J].科技风,2011(14):32. [2] 朱奕丹,方怡冰.基于FPGA的图像采集与VGA显示系统[J].计算机应用,2011,3(5):1258-1261,1264. [3] 潘松,黄继业.EDA技术与VHDL[M].北京:清华大学出版社,2009. [4] 杨杰,穆伟斌.基于FPGA的VGA控制器设计与实现[J].齐齐哈尔大学学报,2008,24(6):50-52.
分享到:
收藏