Hardware Technique 基于FPGA的VGA图形控制器设计 池清萍 (北京工业大学软件学院,北京100124) 摘 要:利用FPGA设计并实现了一种VGA图形控制器。根据VGA显示原理,利用VHDL作为 逻辑描述语言.在Xilinx的开发板Nexys2上完成了设计的功能。通过按动开发板上的按键可切换显示 屏显示的图形,可实现横条纹、竖条纹、方格棋盘等8 hit彩色图形的显示。 关键词:VGA;FPGA;图形控制器;8 bit彩色图形 中图分类号:TP334.7 文献标识码:A 文章编号:1674—7720(2013)15—0022—03 Design of VGA graphics controller based on FPGA Chi Qingping (Institute of Software,Beijing University of Technology,Beijing 100124,China) Abstract:According to the principle of VGA display,the design uses VHDL as the logical descriptive language to complete the function on Nexys2 of Xilinx development board.It can change its displayed graph by pressing a button On the board,SO as to implement the horizontal stripe,vertical stripe,lattice board and SO on with 8 bit color graphic display. Key words:VGA;FPGA;graphics controller;8 bit color graph 随着电子技术的进步和数字图像处理应用领域的 过软件进行的,通用性和灵活性极强。在产品升级时,不 不断扩大,FPGA对VGA信号的采集起到了不可忽视的 需要额外改变原有的硬件电路,只需修改程序,大大宿 作用…。基于FPGA设计的VGA图形控制器有不少便利 短了系统设计周期。Nexys2作为一款比较经典的FPGA 之处:首先,FPGA以其设计灵活、结构简单、集成度高等 开发板,能够完全兼容嵌入式处理器。特别在VGA系统 优点.近年来被广泛运用到各种功能的电路设计当中。 没计中,因其板上集成了16 MB高速SDRAM和16 MB 以硬件描述语言(Verilog或VHDL)完成的电路设计可以 Flash ROM.不需接外部ROM便可存储图像数据或字符 经过简单的综合与布局快速烧至到FPGA上进行测试, 数据,使其得到更加广泛的运用。 成为现代IC设计验证的主流技术。其次,VGA作为一种 2 VGA概述及工作原理 通用的显示接口,已经广泛应用于工作和生活当中。传 2.1 VGA技术 统的VGA显示控制主要以专门的芯片电路和通用处理 计算机显示器的显示有许多标准,常见的有VGA 器来实现,体积大且不灵活,但基于FPGA的VGA显示 (视频图形阵列)、SVGA(高级视频图形阵列)等。在图像 控制显著提高了产品的灵活性。最后,基于FPGA设计 处理系统中,若是采用传统办法将图像数据传回电脑并 的产品开发过程简单,投资小,系统成本较低,使得本 通过显示器显示出来,则整个传输过程中都需要嵌入式 VGA图形控制器在同类商品中将更具有价格上的竞争 系统的CPU不断对传输的图像数据信号进行控制,不 优势。本文,寄重介绍一种利用Nexys2 FPGA开发板实现 仅浪费CPU资源并且依赖计算机,显著降低了系统运 VGA显示控制的方法,能够实现不同图案的显示,该方 行的灵活性。但如果基于FPGA对VGA接口进行设计, 法也可以方便地应用于各种嵌入式便携系统中。 数据流就只在系统的内部流动而不依赖电脑,实现了系 1 Nexys2概述 统的最小化,并且增强了系统的可靠性和设计的灵活性…。 现场可编程门阵列FPGA(Field Programmable Gate FPGA开发板上集成了很多功能模块,使得基于FPGA的 Array)在嵌入式系统中被广泛运用。其配置和编程是通 设计还可以根据用户的特定需要设计出针对性强的 22 《微型机与应用》2013年第32卷第15期 Hardware Technique VGA图形控制器,不仅满足_『多样化的用户需要,而且 表2 场扫描时序要求 降低了开发成本,使产品的 级换代更加快捷、方便。 (单位:行,即输出一行的时间间隔) 2.2 VGA显示原理 VGA显示系统如图1所示,主要由VGA控制器、存 储器(若显示更大的图像。可采用外部ROM取代FPGA 内部的ROM)和显示器3部分组成。VGA控制器调用存 对应640x480x60 Hz的模式,工业标准所要求的时 储器里储存的数据并对此数据进行相应的处理,转换成 钟频率为25.175 MHz,行周期 为800个时钟,场周期 相应的时序信号传送给显示器,显示器按照接收到的信 为525个行周期。由于无法得到25.175 MHz的时钟 号进行显示[21。 频率,因此在设计中采用将全局时钟50 MHz二分频得 _1l圊 堕 壅f’一 到的25 MHz的频率来驱动行计数器。 当VS=O、HS=O时,CRT显示的内容为亮的过程。当 外部R0M 一行扫描完毕,行同步HS=1。期间,CRT扫描产生消 图1 VGA显示系统框图 隐,电子束回到CRT左边下一行的起始位置(X=O,Y= 常见的彩色显示器一般由CRT(阴极射线管)组成, 1);当扫描完480行后,CRT的场同步VS=l,产生场同 彩色由R、G、B 3种基本颜色组成,显示器采用逐行扫 步使扫描线回到CRT的第一行第一列(X=0,Y=0)处 描的方法实现图形的显示。阴极射线枪发出的电子束打 (约为两个行周期)。此程也称光栅扫描[31,如图3所示。 在涂有荧光粉的荧光屏上,产生R、G、B三基色,合成一 个彩色像素。扫描是从屏幕的左上方开始的,从左到右、 从上至下进行扫描。每扫描完一行,电子束回到屏幕 的左边下一行的起始位置,在这期间,CRT对电子 束进行消隐。每行结束时,用行同步信号进行行同 步;扫描完所有行,用场同步信号进行场同步,并使扫描 电子束回到屏幕的左上方,同时进行场消隐,预备下一 640—————————————— 场的扫描。 图3光栅扫描 2.3 VGA时序分析 3系统设计方案 一般的VGA控制器主要输出5个信号:R、G、B三 整个系统以Nexys2 FPGA开发板为核心,通过对其 基色信号以及HS行同步信号和VS场同步信号。如果 编程可输出红、绿、蓝三基色信号和HS、VS行、场扫描 能从FPGA中按其时序要求准确发送这些信号到VGA 同步时序信号。当FPGA接收到输出控制信号后,内部 接口,就可以实现对VGA的控制。图2和表1、表2分 的数据选择器模块根据控制信号选择相应的图形生成 别列出了其时序参数。 模块,输出图形信号与行、场扫描时序信号一起通过 VGA接口电路传送至显示器。在VGA显示器上便可看 到相应的彩色图像l 4l。系统采用Nexys2开发板上提供的 RGB 50 MHz时钟作为全局参考时钟,由一片晶振提供时钟 HS 行同 源。通过硬件描述语言VHDL对时钟进行分频,产生各 模块所需时钟频率。通过硬件描述语言VHDL对Nexys2 开发板上的按键进行规定,使得开发板工作时可以通过 按键切换VGA显示的图形。系统模块如图4所示。 电源 R 毯鳖 七一 FPGA G 50 M clk kevVHDL设计 按 VS (b)场扫描 图4系统框图PGA 图2 VGA行扫描、场扫描时序示意图 4系统实现 表1 行扫描时序要求 本设计采用了8 bit数字信号线,可产生256种不同 (单位:像素,即输出一个像素的时间间隔) 的颜色。本彩色条纹模式显示控制器可通过按键实现横 彩条、竖彩条、棋盘格等图案的显示。横彩条可根据场计 数器产生,在480个有效数据区内,每6O个产生一个彩 条,即对其进行8等分;竖彩条则根据行计数器产生。在 《微型机与应用》2013年第32卷第15期 欢迎网上投稿www.pcachina.com 23