nbhkdz.com冰点文库

基于FPGA的VGA图像控制器的设计与实现

时间:2010-11-08


第 33 卷第 10 期 2006 年 10 月









App lied  Science  and  Technology

Vol 33, №. 10 . Oct 2006 .

文章编号 : 1009 - 671X ( 2006 ) 10 - 0042 - 04

基于 FPGA 的 VGA 图像控制器的设计与实现
董   ,朱齐丹 ,文   兵 睿
(哈尔滨工程大学 自动化学院 ,黑龙江 哈尔滨 150001 )

摘   : VGA (视频图形阵列 )是一种标准的显示接口 . 伴随着嵌入式系统的迅速发展 ,尤其是高速图像处理的 要 发展 ,对可以将实时图像处理进行显示有了更多的需求 . 这里依据 VGA 接口原理采用了 Verilog HDL 语言对
A ltera的 Cyclone系列 FPGA (现场可编程门阵列 ) 进行了设计 , 并验证了结果 . 通过采用 FPGA 设计 VGA 接口

可以将要显示的数据直接送到显示器 ,节省了计算机的处理过程 ,加快了数据的处理速度 ,节约了硬件成本 . 关键词 : 现场可编程门阵列 ; Verilog HDL; 视频图形阵列 中图分类号 : TP365. 1    文献标识码 : B

The design and i plem en ta tion of VGA i age con troller ba sed on FPGA m m
( College of Automation, Harbin Engineering University, Harbin 150001, China)

Abstract:A s a standard disp lay interface, VGA has been w idely used. A s the fast development of embeded system , especially the development of high speed im age p rocessing, there are more and more need in disp laying the result of the p rocess in real tim e. According to the p rincip le of VGA disp lay, an interface of VGA w ith the Verilog HDL is designed. U sing FPGA to design a VGA interface can send the data directly onto the screen for disp lay, which cuts down the p rocess of PC, thus quickening the speed of data p rocess and saving the expense of the hardware. Keywords: FPGA ( field p rogrammable gate array) ; Verilog HDL; VGA ( video graphics array)

   在许多图像处理系统中 , 需要将经过处理的图 像显示出来 ,如果采用传统的办法将图像数据传回 电脑并通过显示器显示出来 , 那么在传输的过程中 就需要嵌入式系统的 CPU 不断的对所传输的图像 数据信号进行控制 ,这样就造成了就 CPU 资源的浪 费 ,同样系统还需要依赖电脑 , 降低了系统的灵活 性 . 如果采用 FPGA 对显示器的 VGA 接口进行设

计 ,数据流只需要在整个系统的内部流动 ,而不需要 依靠计算机 ,实现了系统的最小化 ,大大减少了电路 板的尺寸 , 增强了系统的可靠性和设计的灵活性 .
VGA 接口同样也是 LCD 液晶显示设备的标准接口 ,

通过 VGA 控制 LCD 可以使整个系统变得小巧和便

携 ,使得应用的范围大大扩展 . 作者所在的全景视觉

收稿日期 : 2006 - 01 - 17. 作者简介 : 董   ( 1981 - ) ,男 ,硕士研究生 ,主要研究方向 : 计算机控制 , E 2 冰 mail: alpha1027@ hotm ail com. .

? 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved.

DON G B ing, ZHU Q i2dan,W EN Rui

图象处理项目中 ,正是需要把经过处理的图像实时 地直接地显示出来 ,撇开对计算机的需求 ,以满足各 种不同应用环境的需要 .

1  VGA 接口原理
计算机显示器的显示有许 多标 准 , 常见的 有

口为 15 针母插座 . 接口如图 1 所示 .

VGA , SVGA 等 . VGA 是 V ideo Graphics Adap ter ( A r2 ray) 的缩写 , 信号类型为模拟类型 , 显示卡端的接
图 1  VGA 接口 http://www.cnki.net

第 10 期                  ,等 : 基于 FPGA 的 VGA 图像控制器的设计与实现 董 兵

?43?

对于普通的 VGA 显示器 ,其引出线共含 5 个信 号 : R、 、 ( 3 基色信号 ) 、 (行同步信号 ) 、 (场 GB HS VS 同步信号 ) . 由 R、 、 种基色可以组合出任意所 G B3 需要的颜色 . 在实验的验证阶段可以仅利用 R、 、 G
B3 种基色的二元化值 ( 0 和 1 )的不同组合来验证设

控制信号却是相同的 ,所以针对 CRT设计的控制器 也可以应用到 LCD 显示器中 .

计的正确性 . 其不同组合所能成的颜色如表 2 所示 .
VGA 显示器在一行图像显示完成后 , 用行同步信号

进行行同步 ,并进行行消隐 ,行同步信号为低电平有 效 . 当扫描完所有行时 , 用场同步信号进行场同步 . 并使扫描回到屏幕的左上方 ,同时进行场消隐 ,并预 备进行下一次的扫描 . 场同步信号也同样为低电平 有效 . 行和场扫描时序图如图 2 所示 :
表 1  VGA 接口主要信号 引脚号 应信号
1 2 3 6 7 8 13 14

图 3  显示器成像原理 表 2  VGA 显示器成色原理 颜色 蓝色 (B ) 绿色 ( G) 红色 (R ) 黑
0 0 0


1 0 0

绿
0 1 0


1 1 0


0 0 1


1 0 1


0 1 1


1 1 1



绿

蓝 红信 绿信 蓝信 行同

场同

信号 信号 信号 号地 号地 号地 步信号 步信号

2  FPGA 的设计与实现
本设计所采用的显示器为三星 788DF, 在其技 术说明书中表明其能正常显示的行频在 30 ~ 70
kHz范围内 ,场频在 50 ~ 160 Hz范围内
[1]

,其场和

行扫描时序图如图 2 所示 , 场扫描时序与行扫描时
图 2  VGA 场 (行 )扫描时序图

序原理相同 ,只是具体的参数不同 . 根据以上参数及 表 3,以及考虑到目标板上时钟频率为 50 MHz, 选 择了 800 × 600, 60 Hz模式 ,其像素频率为 40 MHz . 采用了这个方案后显示器的实际行频约在 40 kHz, 场频约在 60 Hz 可见所设计的行频和场频都满足 . 显示器的技术要求 . 对应的控制时序我们采用点和 行计数的方法 , HS和 VS信号的时序按照图 2 和表
3 设计即可 . 当像素数或行数达到相应的状态后即改

常见的彩色显示器一般由 CRT (阴极射线管 ) 构 成 , 彩 色 是 由 R、 、 (绿 : Green, 红 : Red, 蓝 : G B
B lue ) 3 基色组成 . 显示是采用逐行扫描的方式解

决 ,阴极射线枪发出电子束打在涂有荧光粉的荧光 屏上 ,产生 RGB3 基色 , 合成一个彩色像素 , 显示器 的成像原理如图 3 所示
[3]

. 控制信号即为上面所述

的 VGA 场和行扫描信号 . 将与场和行扫描信号所对 应的像素信号输出即可在显示器上的到图像 . LCD 显示器虽然显示原理与 CRT不同 ,但是控制方式和

变 HS和 VS的值 . 系统所需要的 40 MHz像素时钟可 以由 Quartus所自带的 PLL (锁相环 )电路来实现 .

表 3  不同的分辨率所对应的像素及行分布 水平方向 (以像素计算 ) 显示模式 像  素 时钟 /MHz
25. 175 40. 000 65. 000

垂直方向 (以行计算 ) 有效视 频信号
480 600 768

有效视 频信号
640 800 1024

同步前
16 40 24

同步 信号
96 128 136

同步后
48 88 160

同步前
11 1 3

同步 信号
2 4 6

同步后
31 23 29

640 × 480, 60 Hz 800 × 600, 60 Hz 1024 × 768, 60 Hz

? 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved.

http://www.cnki.net

?44?

应                               33 卷 用 科 技 第

  VGA _ctl模块中包含了时序产生模块 , 数据控 制模块 . 其中 reset_n 为系统复位信号低电平有效 .
clock 为像素时钟 , 是由系统 50MHz 时钟经过 PLL

else if ( hcnt < H _PER I D ) O hcnt < = hcnt + 1; else hcnt < = 0; end alw ays @ ( posedge clock ) begin if ( ! reset_n ) hpn < = 1; else if ( hcnt > = H _SYNCSTART && hcnt < H _SYN 2 hpn < = 0; else hpn < = 1; end alw ays @ ( posedge hpn ) begin if ( ! reset_n ) vcnt < = 0; else if ( vcnt <V _PER I D ) O vcnt < = vcnt + 1; else vcnt < = 0; end alw ays @ ( posedge hpn ) begin if ( ! reset_n ) vsy_n < = 1; else if ( vcnt > = V _SYNCSTART && vcnt < V _SYN 2 vsy_n < = 0; else vsy_n < = 1; end

电路进行 4 /5 倍频后得到 . data为图像数据 , rd为读 数据信号 , hsy_n 为行同步信号低电平有效 , vsy_n 为帧同步信号低电平有效 , p ixel为输出像素信号 .
module VGActl ( reset_n, clock, data, rd, hsy_n, vsy_n, p ixel) ;

CEND )

由表 3 可以确定以下参数 : 水平方向时间常数 :   H _P IXELS     = ’ d800,   H _FRONTPORCH   H _SYNCTI E M   H _BACKPORCH   H _SYNCSTART   H _SYNCEND   H _PER I D O 竖直方向时间常数   V _L I ES N   V _FRONTPORCH   V _SYNCTI E M   V _BACKPORCH   V _SYNCEND    V _PER I D O
= ’ d600, = ’ d1, = ’ d4, = ’ d23, = ’ d605, = ’ d628; = ’ d40, = ’ d128, = ’ d88, = ’ d840, = ’ d968, = ’ d1056,

CEND )

根据图 3 (行和场扫描时序图 )设计出以下时序 信号发生器 , 其中 hcnt 是对行像素进行计数 , vcnt 是行数进行计数 , hsy_ n 为行同步信号 , 低电平有 效 , vsy_n 为帧同步信号 , 低电平有效 . 当像素和行 计数器到达上述常数所规定的状态后 hsy_n, vsy_n 即改变成相应的值 .
assign hsy_n = hpn; al ays @ ( posedge clock ) begin w if ( ! reset_n ) hcnt < = 0;

以下是数据控制部分 , 在像素计数和行计数同

时在有效范围内时 rd信号有效 ,以保证图像信号的 正确输出 .

alw ays @ ( negedge clock ) begin if ( ! reset_n )

p ixel < = 0;

else if ( rd )

p ixel < = data;

else if ( hcnt > = H _P I XELS) p ixel < = 0;

? 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved.

http://www.cnki.net

第 10 期                  ,等 : 基于 FPGA 的 VGA 图像控制器的设计与实现 董 兵

?45?

else if ( vcnt > =V _L I ES) N p ixel < = 0; end al ays @ ( posedge clock ) begin w if ( ! reset_n ) rd < = 0; else if ( hcnt < H _P I XELS && vcnt <V _L I ES) N rd < = 1; else rd < = 0; end

   以上程序以及其他电路组合后产生的顶层功能 模块如图 4 所示 . 将图 4 中的信号分配到相应的管 脚并与表 1 中相对应的信号通过电路相连后 , 即可 对 VGA 接口的显示器进行控制并显示图像 . 这种用
Verilog HDL 产生扫描时序的方法便捷 、 易读 , 并且

易于修改 . 在代码中只需修改一些时序参数就能产 生任意图像分辨率的时序信号 , 具有很好的可重用 性 . 用 Synp lify Pro 7. 6 将 Verilog HDL 代码综合后 , 通过 Quartus进行布局和布线 . 即可应用到实际项 目中去了 .

图 4  实现 VGA 接口控制的功能模块

3  结束语
这种用 Verilog HDL 语言实现行场扫描时序生 成器的方法 ,具有简便 , 易读和可重用性强的特点 . 如果想得到更好的像素颜色质量 , 可以在系统中加 入一块飞利浦编码芯片 SAA7128H , 对其用 FPGA 通过 IIC 总线对其进行初始化配置 , 并用上述设计 中的行同步及帧同步信号以及像素时钟对其进行控 制 ,就可以得到更高的像素颜色质量 . 采用 FPGA 技 术设计的 VGA 控制器 , 大大减少了电路板的尺寸 , 同时增加了系统可靠性和设计灵活性 , 解决了嵌入 式系统实时图像显示的问题 ,节约了成本 ,扩展了应 用范围 .

参考文献 :
[ 1 ]三星公司 . 三星显示器技术手册 [M ]. 三星公司出版 , 2001. [ 2 ]BHASKER J. Verilog HDL 硬件描述语言 [M ]. 2 版 . 徐振

林 ,译 . 北京 : 机械工业出版社 , 2000.
[ 3 ]陈姚节 . 卢建华 . 基于 FPGA 的 VGA 显示接口的研究与设 [ J ]. 交通与计算机 , 2005, 23 ( 2 ) : 47 - 49. [ 4 ]NATHAN I VGA V ideo [ A ]. M IT 6. 111 Introduction to . D igital System s[ C ]. [ s n ]: M IT, 2004. .

[责任编辑 : 李玲珠 ]

? 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved.

http://www.cnki.net


赞助商链接

基于FPGA的VGA图形显示

显示摘要: 本次的题目是基于 FPGA 的 VGA 图形显示,实现 VGA 图像显示与控制...[9] 张文爱:基于 FPGA 的 VGA 显示控制器的设计,电子工业出版社,2006.9 [...

基于FPGA 的 VGA 图像显示系统的设计与实现

同时由于现代 EDA 软件的大量应用,能够方便设计人员缩短设计周期,更方便地实现仿真。文中研 制了一种基于 FPGA 的 VGA 图像显示控制系统,在 VGA 显示器上可以...

基于FPGA的VGA显示控制的设计

基于FPGA的VGA显示控制的设计 - 基于 FPGA 的 VGA 图像显示设计及应用 摘要:VGA(视频图形阵列)作为一种标准的显示接口得到广泛的应用。本文依 据 VGA 显示原理,...

基于FPGA的VGA显示控制器设计与图像显示

基于FPGA的VGA显示控制器设计与图像显示 - 该论文是本人的一次工程实训,内容涉及了利用FPGA在显示器显示彩条的原理及实现。内容中的程序经过调试在QuartusⅡ中编译...

本科毕业设计___基于FPGA的VGA显示控制器设计

本科毕业设计___基于FPGA的VGA显示控制器设计 - 毕业论文,单片机论文,毕业论文设计,毕业过关论文,毕业设计,课程设计,硕士论文,研究生论文

基于FPGA的VGA显示设计及仿真实现

基于FPGA的VGA显示设计及仿真实现_信息与通信_工程科技_专业资料。基于FPGA的VGA...VGA 显示控制器控制图像信号通过电缆传输到显示器上并显示出来。 目前的显 示器...

基于FPGA的VGA显示设计报告

基于FPGA的VGA显示设计报告 - 正文 一,VGA 时序标准 VGA 是一种常用的显示输出接口,采用行场扫描控制结合 RGB 三色合成原理,输出 显示信号。每个 VGA 接口为 15...

基于FPGA的VGA图像显示控制器设计毕业论文

可编程逻辑器件综合实验·报告 基于 FPGA 的 VGA 图像显示控制器设计 第 1页 可编程逻辑器件综合实验·报告 一.实验简介 本实验介绍了一种利用可编程逻辑器件实现...

基于FPGA的VGA显示控制毕业设计

基于FPGA的VGA显示控制毕业设计 - 引言 基于 FPGA 的 VGA 显示控制设计 1 1.1 引言 选题背景 CRT 显示器作为一种通用型显示设备,如今已广泛应用于我们的工作和...

(完整版)本科毕业设计___基于FPGA的VGA显示控制器设计

(完整版)本科毕业设计___基于FPGA的VGA显示控制器设计 - 单片机论文,毕业设计,毕业论文,单片机设计,硕士论文,研究生论文,单片机研究论文,单片机设计论文