基于FPGA的VGA图像控制器的设计与实现
使用 FPGA 控制 VGA 显示

使用FPGA 控制VGA 显示
显示器因为其输出信息量大,输出形式多样等特点已经成为现在大多数
设计的常用输出设备。
在FPGA 的设计中可以使用很少的资源,就产生VGA 各种控制信号。
这个示例在RHicSP2200B FPGA 开发板/学习板上使用VGA 接口在显示器上显示了文字以及简单的图形,可以作为VGA 显示设计的参考,如果在使用这个例子的过程中有任何问题都可以通过邮件说明:有效时间包括6 列过扫描边界列,有些时序表将这几列加在后沿和前沿中表 2 垂直时序
说明:有效时间包括 4 行过扫描边界行,有些时序表中将这几行加在后沿和前沿中。
*当有效时间增加时,它超过了vsync 信号的上升沿,因此前沿为-1
在实际设计中如何通过不同的系统频率确定适当的显示模式?例如在RhicSP2200 开发板中FPGA 的系统时钟频率为50MHz。
这个时钟频率可以用来设计显示800X600 模式,为了显示器显示效果好,采用场频(刷新频率)75Hz,那么帧长可以确定为666,而行总长设计为1000 像素。
根据以上所述,我们可以设计如Examples1 类似HDL 代码,使用这段代码在Valid 有效期间对RGB 中Blue 两位赋值1,得到一个蓝色屏幕显示边界如图1 所示。
色彩原理
RGB 色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB 即是代表红、绿、蓝三个通道的颜色,通过三种基本颜色亮度值从0~255 不同产生出其他各种颜色,这种模式叫加色模式。
为什么叫加色模式呢,举个例。
基于FPGA的VGA图象信号发生器设计

VGA(视频图形阵列)作为一种标准的显示接口在视频和计算机领域得到了广泛的应用。
VGA图像信号发生器是电视台、电视机生产企业、电视维修人员常用的仪器,其主要功能就是产生标准的图像测试信号。
VGA图像信号发生器的设计涉及到图像数据的处理,对电路的工作速度和性能要求较高,VGA工业标准要求的时钟频率高达25MHz,使用传统的电子电路设计方法是难以实现的。
采用专用的视频处理芯片,其设计技术难度大、开发成本高。
本文采用FPGA+MCU方案,利用了Cyclone系列的FPGA高达上百兆的工作频率特性为图像数据处理提供了良好的实时性,其内部集成的数字锁相环为系统的工作时钟提供的良好的稳定性,其内部嵌入的存储器可以存储一定容量的图像信息,丰富的I/O资源可以随即扩展外接大容量存储器的特性,因此由 FPGA完成对图像数据的处理及产生行场扫描时序信号。
很好地实现了图象数据处理的实时性和稳定性,达到了性能与价格的完美统一。
此外,FPGA的电路可重构性,为系统功能更改和升级以及功能扩展提供了很大的设计空间。
由微控制器完成功能设置与控制,如键盘扫描,模式选择与显示控制等。
2、系统的工作原理和组成框图FPGA是整个系统的核心,通过对其编程可输出RGB三基色信号和HS 、VS行场扫描同步信号。
当 FPGA 接受单片机输出的控制信号后,内部的数据选择器模块根据控制信号选通相应的图像生成模块,输出图像信号,与行场扫描时序信号一起通过15针D型接口电路送入VGA显示器,在VGA显示器上便可以看到对应的彩色图像。
FPGA所需的工作时钟由外部高精度有源晶振提供;单片机控制器分析键盘扫描结果,控制液晶显示模块显示相应的功能,由LCD显示输出图象和按键控制模式,并送出相应控制信号给FPGA,系统原理框图如图1。
3、VGA显示器原理工业标准的VGA显示模式为:640×468×16色×60Hz。
常见的彩色显示器,一般由CRT (阴极射线管)构成,彩色是由R、G、B(红、绿、蓝)三基色组成,CRT用逐行扫描或隔行扫描的方式实现图像显示,由VGA控制模块产生的水平同步信号和垂直同步信号控制阴极射线枪产生的电子束,打在涂有荧光粉的荧光屏上,产生R、G、B三基色,合成一个彩色像素。
基于FPGA的VGA图形控制器设计

i mp l e me n t t h e h o r i z o n t a l s t r i p e,v e r t i c a l s t r i p e ,l a t t i c e b o a r d a n d S O o n w i t h 8 b i t c o l o r g r a p h i c d i s p l a y .
逻 辑描 述 语 言 . 在 X i l i n x的 开 发 板 N e x y s 2上 完 成 了设 计 的 功 能 。 通 过 按 动 开 发 板 上 的 按 键 可 切 换 显 示 屏 显 示 的 图形 , 可 实现 横 条 纹 、 竖条纹、 方格 棋 盘 等 8 h i t 彩 色图形 的 显 示 。
Ke y wo r d s: VGA;F P GA; g r a p h i c s c o n t r o l l e r ;8 b i t c o l o r g r a p h
随 着 电 子 技 术 的 进 步 和 数 字 图 像 处 理 应 用 领 域 的
过 软件进 行 的, 通用性 和灵 活性极 强 。 在产 品升级 时 , 不
关 键 词 :VG A; F P G A; 图形控 制 器 ; 8 b i t彩 色 图 形
中 图 分 类 号 :T P 3 3 4 . 7 文 献 标 识 码 :A 文 章 编 号 :1 6 7 4 — 7 7 2 0( 2 0 1 3) 1 5 — 0 0 2 2 — 0 3
De s i g n o f VGA g r a ph i c s c o n t r o l l e r ba s e d o n FPGA
需 要额 外 改变 原有 的硬 件 电路 , 只需 修 改程 序 , 大 大 宿 短 了 系 统 设 计 周 期 。N e x y s 2作 为 一 款 比 较 经 典 的 F P GA
华科 基于FPGA的VGA显示实验

电子线路测试与实验报告基于FPGA的VGA显示实验姓名:专业班级:光电1208学号:U2012一、实验要求功能要求:利用Basys2实验板实现图片在VGA接口显示器上的显示。
基本要求:1)实现240*160以上像素的图片在VGA接口显示器上的显示;2)利用算法实现特定图片在VGA接口显示器上的放大、缩小旋转及其他动作的自动变换。
二、实验具体目标1.首先实现特定图片在显示器上的显示;2.图片自动旋转90度;3.实现图片的放大与缩小,同样通过一个按键实现;4.添加复位键,按下复位键后图片返回最初的状态。
三、实验原理1.VGA的显示原理在基于FPGA的VGA控制中,只需考虑行同步信号(HS),场同步信号(VS),以及红绿蓝三基色(R、G、B)这五个信号,即可实现对VGA显示的控制。
2.对图片的旋转与缩放操作对图片的旋转操作在本质上是对IP核ROM的输入地址addr进行变换的过程。
在这里,假定显示的坐标分别为x_vdn以及y_vdn,由于图片是160*40的,在正常的显示时,addr与x_vdn以及y_vdn的对应关系应该为:addr=x_vdn+y_vdn*160即依次取像素点,图片正常显示。
要把图片顺时针旋转90度,那么相当于显示的图片是40*160的,重新考虑addr与两个坐标之间映射关系。
容易得到,此时:addr=(39-x_vdn)*160+y_vd对图片的缩放操作对图片的缩放操作则只考虑以下两种变化,即放大一倍,此时图片的大小为320*80;缩小一倍,此时图片的大小为80*20。
对于图片的放大一倍,则要考虑不同的像素点对显示信号的共用(在这里即为m信号)。
由通常的规则,按照顺序,构成一个正方形的每四个相邻的像素点共用一个m信号。
同时,在这里对x_vdn以及y_vdn的最后一位判断,并且形成不同的映射规则。
具体的映射规则在源代码中给出。
对于图片的缩小,则相对简单的多。
此时的映射关系为:addr=y_vdn*320+x_vdn*2;3.工程结构与解读如图,下图为系统的结构框图。
基于FPGA的VGA控制器设计与实现

网2 G V A显示模块与 C T显示器的控制榧图 R
的是 V A显示模块与 C T G R 显示器 的控制框 图口 。
收 稿 日期 :20 —6 0 08 0— 5
作者简介: 杨杰 ( 92 ) 女 , 15一 , 黑龙江齐齐哈尔人,副编审,本科,主要从事编辑学方而的研究。
将要显示内容转换成对应字模送人 F G P A,即可实现相应 内容的显示 关键词 :F G P A;V A;显示控制 G 中图分类号 :T 23 P 7 文献标识码 :A 文章编号 :10 — 8X 20 )6 0 5- 3 0 7 9 4 (0 80 - 0 0 0
随着数字图像处理 的应用领域的不断扩大 , 其实时处理技术成为研究的热点。 D 电子设计 自动化 ) E A( 技术的迅猛发展为数字图像实时处理技术提供了硬件基础 。其中 F G P A的特点适用于进行一些基于像素级 的图像处 ” C 。L D和 C T显示器作为一种通用型显示设备 ,如今已经广泛应用于工作和生活中。与嵌入 R 式系统 中常用 的显示器件相 比,它具有显示面积大 、色彩丰富 、承载信息量大 、 口简单等优点,如果将 接 其应用到嵌人式系统中 , 可以显著提升产品的视觉效果 。 为此 , 尝试将 V A显示 的控制转化到 F G G P A来完
表 1 V A与FG ቤተ መጻሕፍቲ ባይዱ G P A引 脚连接 表
3 系统软件设计
采用 P t C 2 0 软件进行字模转换 ,得到字符/ Co D 02 L 图像像素数 据。利用 Xl xI . 、M dl m开发 in E 9 i oe i i S 1 S
平 台设计 程序 ,根据 V A 显示 原理 ,产生 时序驱 动信 号 H 、V ,同时 在正 确的 时序 控制 下 , G S S 扫描输出 R M 中的像素数据至显示器的 V A接口,进行图像显示 。程序流程见图 3 O G 。
VGA图像显示控制器设计报告

摘要本实验报告为VGA显示控制器设计报告。
实验设计了基于VHDL描述的VGA显示控制器,通过FPGA控制CRT显示器显示色彩和图形。
完成的功能包括64种纯色的显示、横向和纵向彩色条幅的显示以及正方形色块的运动与控制。
实验的重心放在了显示控制器的系统层面的设计,采用了自顶向下的思路进行设计,系统的核心为有限状态机。
报告中给出了完整的设计思路和过程,并将系统分模块进行了详细的设计,给出了VHDL语言描述。
完成了状态机和核心模块以及系统整体的仿真验证。
最终下载到实验板上测试通过。
关键词:FPGA;VHDL;VGA显示控制;状态机第一部分任务要求 (1)1.1课题要求 (1)1.2设计目标 (1)第二部分系统设计 (2)2.1设计思路 (2)2.2系统结构设计 (4)2.2.1系统结构框图 (4)2.2.2系统逻辑功能划分 (4)2.2.3层次模块划分 (5)2.2.4模块设计图 (8)2.2.5控制器设计 (8)2.2.6状态机设计 (10)2.2.7基本模式设计 (10)2.2.8用户模式设计 (11)2.3系统硬件语言描述 (14)2.3.1VHDL描述思路 (14)2.3.2总体电路的描述 (14)2.3.3分块电路的描述 (18)2.4系统仿真验证 (31)第三部分结果与分析 (35)3.1实现功能说明 (35)3.2器件资源分析 (36)3.3VHDL设计优化 (38)3.4故障和问题分析 (40)第四部分总结与结论 (41)4.1实验结论 (41)4.2总结体会 (41)第五部分附录部分 (43)5.1元器件和仪表清单 (43)5.2VHDL源代码 (43)5.3电路图 (59)5.4参考文献 (67)第一部分任务要求1.1课题要求设计一个 VGA 图像显示控制器。
1.显示模式为 640×480×60Hz 模式;2.用拨码开关控制 R、G、B(每个2 位),使显示器可以显示64 种纯色;3.在显示器上显示横向彩条信号(至少 6 种颜色);4.在显示器上显示纵向彩条信号(至少 8 种颜色);5.在显示器上显示自行设定的图形、图像等。
基于FPGA的VGA接口设计 精品
基于FPGA的VGA接口设计摘要VGA(Video Graphics Array视频图形阵列)是一种标准的显示接口。
伴随着嵌入式系统的迅速发展,尤其是高速图像处理的发展,对可以将实时图像处理进行显示有了更多的需求。
VGA广泛应用于机场、车站等公共场所的广告宣传和文字提示。
本文基于Altera公司的Cyclone II系列FPGA(现场可编程门阵列)、依据VGA接口时序采用Verilog HDL语言设计了VGA显示模块,并验证了设计结果。
通过采用FPGA设计VGA 接口使系统具有成本低、结构简单、应用灵活的优点。
关键词:FPGA,VGA接口,VerilogDesign of VGA Interface Based on FPGAABSTRACTAs a standard display interface, VGA has been widely used. As the fast development of embedded system, especially the development of high speed image processing, there are more and more need in displaying the result of the process in real time. VGA is widely used in airports, railway stations and other public places advertising and text prompts .The design of VGA display interface and control module is introduced in this paper which based on Altera's Cyclone II series FPGA, according to the principle of VGA display, an interface of VGA with the Verilog HDL is designed. VGA Interface through the use of FPGA design the system with low cost, simple structure, flexible application advantages.KEY WORDS:FPGA,VGA Interface ,Verilog目录摘要 (I)ABSTRACT (II)1 概述 (1)1.1 选题背景 (1)1.2 发展趋势 (2)1.3 研究方法和手段 (3)1.4 研究预期成果 (4)2 硬件电路设计 (5)2.1 系统整体结构框架 (5)2.1.1 系统硬件结构 (5)2.1.2 系统拓展硬件结构 (5)2.2 总体设计原理图 (6)2.3 主控制器固件模块 (7)2.3.1 DE2开发板介绍 (7)2.3.2 Cyclone Ⅱ系列芯片介绍 (8)2.3.3 外部时钟 (9)2.4电源模块 (10)2.5 D/A转换电路模块 (10)2.5.1 ADV7132视频D/A转换器 (10)2.6 VGA显示模块 (12)2.6.1 VGA接口 (12)2.6.2 VGA常用模式 (13)2.6.3 VGA工作原理 (13)2.6.4 RGB数据帧的结构 (15)3 固件代码设计 (16)3.1. Quartus Ⅱ及Verilog语言介绍 (16)3.1.1 Quartus Ⅱ软件介绍 (16)3.1.2 Verilog HDL语言介绍 (17)3.2 VGA代码设计 (17)3.2.1 VGA的显示时序程序 (18)3.2.2 时钟、频率程序 (21)3.2.3 SRAM程序 (22)IV3.2.4 汉字显示程序 (24)3.2.5 RGB控制液晶颜色显示程序 (25)4 代码调试 (26)4.1 编译仿真 (26)4.2 配置加载 (27)4.2.1 引脚配置 (27)4.2.2 文件加载 (27)4.3 显示图像 (28)4.3.1 使用DE2控制面板显示图像 (28)4.2 显示结果 (32)总结 (34)致谢 (35)参考文献 (36)附录固件代码 (38)基于FPGA的VGA接口设计 11概述1.1选题背景自1985年Xilinx公司推出第一片现场可编程器件(FPGA)至今,FPGA历史已经经历了几十年的发展历史。
基于FPGA的VGA图像显示系统的设计与实现
基于FPGA的VGA图像显示系统的设计与实现
周卓然;徐道连;吕凤飞;付少华
【期刊名称】《仪表技术与传感器》
【年(卷),期】2012(000)007
【摘要】文中依据VGA接口的设计原理,提出一种基于DE2 - 70的VGA图像显示控制系统,与传统的VGA控制系统相比,由于FPGA体积小,可重构,因此很适合小型便携式系统设备的设计,给出了Quartus Ⅱ9.1的仿真结果.在硬件平台上实现了VGA的汉字显示和彩条信号的显示.实验结果表明:由FPGA作为处理器来控制VGA图像的和汉字的显示,能够达到预期的效果,克服传统VGA控制系统的弊端.【总页数】3页(P90-92)
【作者】周卓然;徐道连;吕凤飞;付少华
【作者单位】重庆大学光电技术及系统教育部重点实验室,重庆市400030;重庆大学光电技术及系统教育部重点实验室,重庆市400030;重庆大学光电技术及系统教育部重点实验室,重庆市400030;重庆大学光电技术及系统教育部重点实验室,重庆市400030
【正文语种】中文
【中图分类】TP261
【相关文献】
1.FPGA平台的VGA图像显示的设计与实现 [J], 高春燕
2.基于FPGA的VGA图像显示系统的设计 [J], 杜宗展;王振河;冯迎春
3.基于FPGA的VGA图像显示及控制系统的设计与实现 [J], 李营;吕兆承;陈帅;权循忠
4.基于FPGA的VGA图像显示设计 [J], 桂淮濛
5.基于FPGA的UART控制VGA图像显示器设计 [J], 李营; 范静静; 权循忠; 吕兆承; 陈帅
因版权原因,仅展示原文概要,查看原文内容请购买。
利用FPGA完成VGA显示控制使其脱离PC机的控制分析和实验
利用FPGA完成VGA显示控制使其脱离PC机的控
制分析和实验
摘要: 本文介绍一种利用可编程逻辑器件实现VGA图像显示控制的方法,设计中采用了Verilog HDL语言对赛灵思Basys开发板进行编程设计。
首先通过Image2Lcd软件分别提取两幅图片的色彩信息数据,将得到的数据存储到开发板的FPGA内嵌块ROM中,然后读取块ROM中的图片信息送到LCD显示器显示。
利用FPGA完成VGA显示控制,可以使图像的显示脱离PC机的控制。
如今随着液晶显示器的出现,越来越多的数字产品开始使用液晶作为显示终端。
基于VGA标准的显示器仍是目前普遍使用的显示器。
若驱动此类显
示器,需要很高的扫面频率,以及极短的处理时间。
正是由于这些特点,所以可以用FPGA来实现对VGA显示器的驱动。
虽然VGA专用芯片具有更稳定的VGA时序和更多的显示模式可供选择,但设计和使用VGA显示控制更具有以下优势:
①使用芯片更少,节省板上资源,减小布线难度;
②当进行高速数据传输时,具有更小的高频噪声干扰;。
课程设计-基于FPGA的VGA图像显示设计(图像旋转、放大、单步步进移动和屏保移动)
电子信息工程专业综合设计(报告)(课程设计)题目基于FPGA的VGA图像显示设计(图像旋转、放大、单步步进移动和屏保移动)二级学院电子信息与自动化学院专业电子信息工程班级学生姓名学号指导教师时间 2011.12.26-2012.01.13基于FPGA的VGA图像显示设计及应用摘要:VGA(视频图形阵列)作为一种标准的显示接口得到广泛的应用。
本文依据VGA显示原理,介绍了利用 FPGA 实现对VGA图形控制器VHDL设计方法。
详细描述了各硬件模块的工作原理及实现途径,并给出了软件设计思路及部分代码。
关键词:VGA;FPGA;VHDL0. 引言随着可编程逻辑器件的不断发展及其价格的不断下降,EDA 开发软件的不断完善,可编程逻辑设计的应用优势逐渐显示出来,特别是大规模可编程器件。
而FPGA 具有功能强大,开发过程投资小、周期短等特点,成为当今硬件设计的首选方式之一。
VGA(视频图形阵列)作为一种标准的显示接口得到广泛地应用。
利用 FPGA 芯片和 EDA设计方法,可以灵活地根据用户需求,设计出针对性强的 VGA 显示控制器,不仅降低了生产成本也可以快速地对产品进行升级换代。
本文设计采用 Quartus II 9.0软件工具,并以 Altera公司的 Cyclone 系列 FPGA 的器件EP1C12F324C8为主实现硬件平台的设计。
1.方案设计及工作原理1.1方案设计采用模块化设计方法,我们对 VGA 图形控制器按功能进行层次划分。
本设计的VGA控制器主要由以下模块组成:VGA 时序控制模块、ROM 内存地址控制模块、1.2工作原理根据VGA的显示协议,可以选择不同的显示分辨率。
本设计选择的是800*600的分辨率。
根据相应协议,在“VGA时序控制模块”对行扫描信号HS和场扫描信号VS进行相应的时序控制(具体控制详细信息见“VGA驱动原理”资料文档)。
“ROM内存地址控制模块”根据“按键扫描控制模块”获得的图片显示首坐标xx、yy信息和“VGA时序控制模块”传送过来的hcnt(列计数器值)、vcnt(行计数器值)及相关控制信号计算出正确的内存地址,从rom中取出所需要的像素点的三基色数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第26卷 第6期Vol.26 No.6 新乡学院学报(自然科学版)JournalofXinxiangUniversity(NaturalScienceEdition) 2009年12月Dec.2009
基于FPGA的VGA图像控制器的设计与实现*
谢 磊(郑州大学信息工程学院,郑州450001)
摘 要:依据VGA显示原理,利用VHDL作为设计语言,设计了一种基于现场可编程器件FPGA的VGA多图像控制器,并在硬件平台上实现设计目标。与传统的设计相比,增加了图像模式的选择,便于嵌入式系统应用扩展。使用FPGA代替VGA的专用显示芯片,可以提高数据处理速度,节约硬件成本。关键词:现场可编程门阵列;视频图形阵列;VGA图像控制器中图分类号:TN919.82;TN389 文献标志码:A 文章编号:1674-3326(2009)06-0051-03
ResearchandDesignofVGADisplaySystemBasedonFPGAXIELei(SchoolofInformationEngineering,ZhengzhouUniversity,Zhengzhou450001,China)Abstract:ByusingVHDLasdesignlanguageandaccordingtotheprincipleofVGA,acontrollerofVGAdisplaysystembasedonFPGAisdesigned.Comparedwiththetraditionaldesign,thisdesignincreasesthechoiceofavarie-tyofimagemodelstofacilitateexpansionofembeddedsystemapplications.ByimplementonFPGAhardwareplat-form,thisdesigncanspeedupdataprocessingspeed.Keywords:FPGA;VGA;VGAgraphicscontroller
0 引言笔者研究、设计了一种基于FPGA的VGA多图像控制器,在VGA显示器上,它具有显示多种图形、图像的功能,并在硬件开发平台上实现了设计目标。该控制器能达到完全替代VGA专用芯片的目标,在大规模FPGA嵌入式系统设计中具有很好的应用前景。在基于FPGA的大规模嵌入式系统设计中,为实现VGA的显示功能,既可以使用专用的VGA接口芯片如SPX7111A等,也可以设计和使用基于FPGA的VGA接口模块。虽然使用VGA专用芯片具有更稳定的时序功效和更多可供选择的显示模式等优点,但设计和使用FPGA实现VGA接口控制器具有以下优势:1)使用芯片更少,节省PCB板上空间,降低布局、布线难度。2)当进行高速数据传输时,具有更小的高频噪声干扰。3)系统集成度提高,有利于小型化。4)成本降低,产品更具有价格优势。现代EDA软件发展迅速,设计容易实现、仿真方便,设计中各个环节易于量化,使得设计周期日益缩短[1]。1 VGA显示接口VGA是IBM在1987年随PS/2机一起推出的一种视频传输标准,具有分辨率高、显示速率快、颜色丰富等优点,在彩色显示器领域得到了广泛的应用,绝大部分的显示设备都带有VGA显示接口。因此,对于由嵌入式芯片构成的处理系统来说,采用VGA显示输出接口具有兼容性强的优势。VGA显示接口结构简单,性能稳定,兼容性强,时序容易由微处理器实现。基于FPGA的VGA多图像控制器在嵌入式系统的图像处理中有着广泛的应用前景。常见的彩色显示器一般由CRT(阴极射线管)
·51·*收稿日期:2009-10-09 修回日期:2009-11-11作者简介:谢磊(1983-),男,河南郑州人。硕士生,研究方向:FPGA数字信号处理和DSP嵌入式系统。E-mail:xl-boy747@sina.com。构成,彩色是由RGB三色组成。VGA接口共有15条线,分为3组:一是RGB三色模拟信号输入线;二是RGB三色地线,接地处理;三是时序信号线,分别是行同步线(HorizonSynchronizing,HS)和场同步线(VerticalSynchronizing,VS),这2条线控制了VGA的显示时序[2]。显示器采用逐行扫描的方式进行扫描,阴极射线枪发出的电子束打在涂有荧光粉的荧光屏上,产生RGB三基色,最后合成一个彩色图像。VGA显示可以大致分成行扫描和场扫描。从屏幕的左上方开始扫描,从左至右,从上至下。每扫完一行,电子束回到屏幕的左边开始扫描下一行,直到扫描完整幅图像,回到屏幕左上方。每行结束时,用行同步信号进行行同步,扫描完所有行后,用场同步信号进行场同步。在扫描的过程中,CRT对电子束进行消隐控制,在消隐过程中不发送电子束。在每行结束后,电子枪回扫的过程中进行行消隐;在每场结束后,电子枪回到起始位置的过程中进行场消隐,整个屏幕变黑,光栅在这段时间内重新回到屏幕的左上角,开始下一帧图像的扫描[3]。2 系统设计原理图笔者在Altera公司的QuartusII集成环境下进行系统设计,仿真后,在stratix2f60开发板上进行了硬件调试,实验效果良好。设计的VGA多图像控制器由时序信号模块、RGB信号发生模块、时钟模块、图像存储模块、用户选择模块构成。在FP-GA上引出行同步信号、场同步信号、RGB颜色信号至VGA数模转换芯片FMS3818,再由FMS3818芯片驱动VGA接口,实现图像的显示。3 FPGA实现过程采用自顶向下的设计方式,先整体规划系统框图,明确各模块作用,然后,使用合适的设计手段设计各子模块。各子模块分别进行设计、仿真、硬件安装并调试,最后集成整个系统,各模块协同工作,共同调试。以下介绍各主要模块的原理和实现过程。3.1 时钟及VGA同步信号模块该模块主要作用是把系统时钟分配到各个模块以及产生合适的VGA同步信号,重点是使后者产生的行同步信号和场同步信号满足设计要求。3.2 基于LPM ROM的片上存储模式将需要显示的图形和图像信号发送到VGA接口的方法主要有2种:第一种是在对像素进行行计数、场计数时,就把像素信息直接赋值给颜色信号RGB,这种方法虽然简单,但是不便于控制,需要判定图形、图像显示像素一一对应的位置,不易修改且容易出错,所以,笔者采用第2种方法。第2种方法使用FPGA内部的存储资源来存储显示内容的信息,然后,由程序提取显示内容作为显示信号发送到VGA接口,以实现图形、图像的显示,这样就消除了第一种方法易出错又不易修改的缺陷[4]。
在FPGA内部可以设计ROM模块,其接口形式、地址信号和读写方式与真实的ROM芯片相似,而且具有大小配置灵活和节省硬件资源的特点。本项目就采用片上LPM ROM来存储图像信息。3.3 彩条图形生成模式作为测试模式,该模式可以测试所连接的显示器以及整个VGA显示系统是否正常工作。在彩条生成模块中产生横彩条和竖彩条,横彩条通过场计数器vcnt计数进行控制,以显示相应的颜色。设计产生16个彩条,将480行的像素16等份,用vcnt来控制计数区域,不同的区域赋予不同的颜色值。竖彩条的显示原理与横彩条相似,只是使用行计数器hcnt来进行计数,把每行的640个像素16等份。实验已经收到了预期的效果,还可以进一步显示棋盘格、颜色循环的彩条以及其他几何形状。经试验证明,彩条图形显示效果良好。3.4 汉字显示模式笔者使用的开发工具是QuartusII,其中集成了IP核生成软件。使用IP核能避免重复设计,可以提高工作效率。这些IP核是根据Altera的FP-GA器件特点和结构而设计的,直接使用AlteraFP-GA底层硬件语言设计。选择了单端口的ROM来存储汉字图像信息,为每个汉字定制了1个LPM ROM,每个LPM ROM的数据宽度是8位(RGB颜色信号需要8位数据);显示的汉字是16×16点阵,所以LPM ROM的数据深度是256个字。在定制LPM ROM时,需载入事先做好的像素信息(即汉字的点阵信息),这些信息是保存在LPM ROM初始化文件MIF中的。16×16点阵汉字的MIF文件可以先由字模软件产生相应像素的字模(即判断各点位的有无),再把字模信息导入MIF文件中。在生成LPM ROM时,指定其对应的MIF文件名称即可。由于LPM ROM存储地址是1维连续的(0到255),而要显示的汉字字模是16×16点阵,所以,要把这256个连续的1维地址变换为2维的。可以使用低4位的hcnt对点阵的列计数(即每行的第几个像素),低4位的vcnt对点阵的行计数共8位作为LPM ROM的地址信号。如果要实现汉字的旋转功效,可以置换hcnt和vcnt的组合·52·顺序。经试验证明,汉字显示效果良好。3.5 彩色图像显示模式大部分彩色图像基于RGB颜色模型,所以,用VGA控制器驱动显示器,显示彩色图像通用性很强。彩色图像像素的存储方式与汉字类似,都是使用FPGA片上LPM ROM模块进行存储的。不同的是,单色汉字只需1种颜色信息,用一个LPM ROM即可;但彩色图像有RGB3种颜色信息,故每个像素需要3个LPM ROM。笔者使用Matlab对彩色图像进行尺寸大小计算,并生成RGB3个颜色分量,最后把各颜色分量生成MIF文件,用于初始化对应的LPM ROM。LPM ROM地址信号的控制与汉字显示模块类似,亦可以通过可以置换hcnt和vcnt的组合顺序,实现图像的旋转或者镜像。4 试验硬件平台简介
4.1 试验环境1)使用StratixII60FC4芯片。2)开发语言。硬件描述语言VHDL;硬件平台:Altera公司的StratixIIDSPDevelopment开发板[5-6]。
4.2 VGA同步信号的仿真开发板提供的外部时钟是100MHz,VGA显示需要的是25.175MHz,所以,在设计时首先要对时钟信号进行4分频,得到25MHz的时钟频率,这个频率与25.175MHz相近,每800个时钟周期一行,每525行为一场。
5 结束语基于FPGA的嵌入式VGA显示系统可以在不使用VGA显示卡和计算机的情况下实现VGA图像的显示和控制。试验结果表明:用FPGA来控制VGA,充分发挥FPGA可重构的优势,消除了以往通用处理器体系结构不易修改、体积较大等缺陷。试验中采用了ALTERA公司的StratixIIDSPDevelopmentBoard开发板布置、安装硬件。通过使用FPGA片上存储资源存储图像信息,实现了基于FPGA的多模式图像显示,便于图像信息的写入以及显示内容的更新和修改,可以使图像的显示脱离PC机控制,减小了控制器的体积,对嵌入式系统的实现具有工程价值和现实意义。参考文献:[1]陈志生,陈景贤.基于FPGA的多分辨率VGA图像控制器设计[J].现代电子技术,2008,31(13):187-189.[2]王恒心,熊庆国.基于FPGA/CPLD的嵌入式VGA显示系统[J].微计算机信息.2008,24(9):146-148.[3]潘松,黄继业.EDA技术与VHDL[M].2版.北京:清华大学出版社,2007:303-307.[4]王亮,李正.VGA汉字显示的FPGA设计与实现[J].计算机工程与设计,2009(2):275-277.[5]朱文伟,许忠仁,基于FPGA的VGA图像控制器的设计与实现[J].贵州大学学报:自然科学版,2009,30(2):109-111.[6]Altera公司.StratixIIDSPDevelopmentBoardRefer-enceManual[Z].Altera公司,2006.【责任编辑 邢怀民】