2023年11月30日发(作者:)

本设计是用 FPGA 来实现 VGA 图像操纵器,操纵显示器显示彩条信号,用

VHDL语言,QuartusII上实现软件仿真。本文第一介绍了VGA显示的大体原

理,然后提出了一种VGA图像操纵器的设计方案,并用VHDL硬件描述语言和原

理图输入的方式完成了该方案的设计,通过显示横彩条、竖彩条、棋盘格,验

证了VGA_SYNC同步信号功能模块时序的正确性, 软件实验环境为 Quartus I

I 开发软件。

本系统尝试用FPGA实现 VGA图像显示操纵器,这一进程通过编程实现,

后通过软件的测试和仿真,当软件验证无误后完成硬件的下载验证,最终在显

示器上实现输出,大体原理确实是利用FPGA的可编程原理和VGA的时序操纵原

理,这在产品开发设计中有许多实际应用。例如显示器,电视等的维修,能够

期望采纳FPGA设计的VGA接口能够将要显示的数据直接送到显示器,就能够够

靠得住的找到故障的大致缘故等。从而省掉每次都要接信号源的麻烦,同时也

节约了本钱。节省了运算机的处置进程,加速了数据的处置速度,节约了硬件

本钱。同时亦可将其作为信号源,应用于电视机或运算机等彩色显示器的电路

开发,方便彩色显示器驱动操纵电路的调试。

[关键词]: VGA ;FPGA ;图像操纵器

目录

1 绪论 .......................................................... - 2 -

2 设计要求及方案论证 ............................................ - 3 -

设计要求 ................................................... - 3 -

设计方案 ................................................... - 3 -

3 系统设计 ...................................................... - 4 -

设计原理 ................................................... - 4 -

程序设计 ................................................... - 5 -

错误!未找到引用源。 ..................................... - 5 -

错误!未找到引用源。 ..................................... - 5 -

错误!未找到引用源。 ..................................... - 5 -

4 系统仿真 ...................................................... - 5 -

5 实验小结 ...................................................... - 9 -

参考文献 ....................................................... - 11 -

程序清单 ....................................................... - 11 -

1绪论

现现在,随着液晶显示器的显现,愈来愈多的数字产品开始利用液晶作为

显示终端。但基于VGA标准的显示器仍是目前普及率最高的显示器。假设驱动

此类显示器,需要很高的扫面频率,和极短的处置时刻,正是由于这些特点,

因此能够用FPGA来实现对VGA显示器的驱动。

在许多图像处置系统中,需要将通过处置的图像显示出来,若是采纳传统

的方法将图像数据传回电脑并通过显示器显示出来,那么在传输的进程中就需

要嵌入式系统的CPU不断的对所传输的图像数据信号进行操纵,如此就造成了

CPU资源的浪费,一样系统还需要依托电脑,降低了系统的灵活性。若是采纳

FPGA对显示器的VGA接口进行设计,数据流只需要在整个系统的内部流动,而

不需要依托运算机,实现了系统的最小化,大大减少了电路板的尺寸,增强了

系统的靠得住性和设计的灵活性。

VGA( 视频图形阵列) 作为一种标准的显示接口, 因为其输出信息量大,

输出形式多样等特点已经成为此刻大多数设计的经常使用输出设备。与此同时,

各类大规模集成电路的显现也为大量数字化信息的处置提供了有效的手腕。其

, FPGA( 现场可编程逻辑阵列) 即是其中比较有代表性的一种。FPGA( 现场

可编程门阵列) 是可编程逻辑器件, 它是在PAL, GAL 等逻辑器件的基础上进

展起来的, 同以往的PAL, GAL 等相较, FPGA 的规模比较大,它能够替代几十

乃至几千块通用IC 芯片。它以操作灵活、开发迅速、投资风险低、可多次编

程擦写和系统可编程等特点而成为一种可优化硬件电路设计且具竞争力的产

品。

本设计依据Altera公司Cyclone II系列的FPGA进行设计,最终实现横彩

条、竖彩条、棋盘格、字符、汉字及单色图像的显示。设计的硬件部份采纳DE2

开发板――内含Altera Cyclone II 系列的EP2C35F672C6 FPGA芯片,并集成

了许多外设,其中包括VGA显示接口。软件部份用VHDL语言进行编程,并在

Altera公司的EDA软件工具Quartus Ⅱ进行程序编译、调试、波形仿真和下载。

2 设计要求及设计方案

设计要求

学会利用软件进行设计与仿真,通过对电路的设计,编程和仿真,学习的

爱好。具体要求如下:

关于一般的VGA显示器其引出线共含5个信号:

RGB三基色信号

HS行同步信号

VS场同步信号

依照其扫描时序进行操纵,显示彩条信号。

设计方案

CPLD是整个系统的核心,通过对其编程可输出RGB三基色信号和HS

VS行场扫描同步信号。 CPLD同意单片机输出的操纵信号后,内部的数据选

择器模块依照操纵信号选通相应的图像生成模块,输出图像信号,与行场扫描

时序信号一路通过15D型接口电路送入VGA显示器,VGA显示器上即能

够看到对应的彩色图像。CPLD所需的工作时钟由外部高精度有源晶振提供,

统原理框图如图。

电源

CPLD

VGA

显示器

时钟电路

系统原理框图

3系统设计

设计原理

工业标准的VGA显示模式为:640×468×16色×60Hz常见的彩色显示器,

一样由CRT (阴极射线管)组成,彩色是由RGB(红、绿、蓝)三基色组成,

CRT用逐行扫描或隔行扫描的方式实现图像显示,由VGA操纵模块产生的水平

同步信号和垂直同步信号操纵阴极射线枪产生的电子束,打在涂有荧光粉的荧

光屏上,产生RGB三基色,合成一个彩色像素。扫描从屏幕的左上方开始,

由左至右,由上到下,逐行进行扫描,每扫完一行,电子束回到屏幕下一行的

起始位置,在回扫期间,CRT对电子束进行消隐,每行终止是用行同步信号HS

进行行同步;扫描完所有行,再由场同步信号VS进行场同步,并使扫描回到屏

幕的左上方,同时进行场消隐,预备下一场的扫描。行同步信号HS 和场同步

信号VS是两个重要的信号。显示进程中,HS VS的极性可正可负,显示器内

可自动转换为正极性逻辑。

VGA行同步信号HS和场同步信号VS的时序图如图2所示, T1为行同步消

隐(约为6μsT2为行显示时刻(约为26μsT3为场同步消隐(两个行周

期)T4为场显示时刻(480个行周期)

显示器每扫描完一行,再扫描一下行时会花一按时刻来预备,因此要知足

时序要求,见图。

0计数到639

VGA行扫描时序图

一样每扫描完一帧,再扫描下一帧行时也会花一按时刻来预备,因此也要

知足其时序要求,见图。

0计数到479

VGA场扫描时序图

关于VGA 显示器的上述五个信号的时序驱动要严格遵循VGA工业标准”

640×480×60HZ模式,不然无法显示正确地图象。

VGA工业标准要求的频率:

时钟频率:(像素输出的频率)

行频: 31469Hz

场频: (每秒图像刷新频率)

程序设计

时钟部份

试验箱上时钟脉冲是20MHz,因此在实验时需要对其进行分频,才能实现

功能,假设需要1Hz的时钟,那么需要对脉冲进行次分频。本设计由锁相环产

25MHz时钟。如图

色彩显示部份

图象信号显示的颜色种类与表示RGB三基色的二进制数位数有关,表列

出了8种颜色的编码方式。

本设计共可产生3种显示模式,6种显示转变,如表所示。

1 横彩条 1:白黄青绿红蓝黑 2:黑蓝红绿青黄百

2 竖彩条 1:白黄青绿红蓝黑 2:黑蓝红绿青黄百

3 棋盘格 1:棋盘格显示模式一 2:棋盘格显示模式二

程序流程图

4 系统仿真

通过QuartusII软件,咱们进行了仿真,其仿真波形如以下图:

依照锁相环由20MHz时钟倍频取得25MHz时钟:

25MHz时钟驱动,color显示操纵模块波形仿真如下:

由于仿真条件的限制,kakb即拨码开关拨动的频率比实际高的,无法完全模

拟实际。可是,从上图的波形中,咱们仍能看出显示模式之间的转换。同时通

过细致的观看,hs的周期大约为32us即知足行频。

5 实验小结

通过本次设计,我明白光靠在课堂上所学的知识,咱们无法真正的将所学的

各个科目的知识融会贯通,学以致用,思想也愈来愈迟缓,没有创新的思维和活跃

的思想。对咱们学生来讲,理论与实际一样重要,这是咱们以后在工作中证明自

己能力的一个重要标准。通过了这次设计,我能更好的明白得书本知识,相信也能

够更好的运用他它。在以后的学习和工作中,咱们还会碰到许多类似的设计,

有了这次的体会,我相信咱们都会尽自己的力做得更好!咱们在对EDA这门技术

上有了更深刻的熟悉,也从实践的例子中去感受到了EDA设计给咱们设计带来的

改变与进步。咱们不仅把握QuartusII软件的利用,与此同时,咱们还对电子设计

的思路有了更多的熟悉。通过对EDA设计中的TOP-DOWN设计方式的运用,体

会到了关于一个大型系统的设计方案选取应从顶向下的设计思路,这与传统的至

底向上的设计方式有专门大改良,且设计效率取得大大提高。在设计中,我深刻

感受到了教师对学生的那种诲人不倦的精神,教师不断耐心地给咱们指导使咱们

少走弯路,顺利完成设计任务。

本次课程设计中我收成很多,在教师们的辛勤指导下,咱们小组同窗踊跃

讨论和试探,完本钱此课程设计,这次设计,使咱们收成颇丰。在此我要感激

信息学院提供这次课程设计的机遇。通过本次设计使咱们自身的动手能力取得

了专门大的提高,使咱们走出了实践的盲区,为以后的毕业设计及工作后的动

手打下了坚实的基础。

参考文献:

[1]王行.EDA技术入门与提高.西安:西安电子科技大学出版社,

[2]谭会生,张昌凡.EDA技术及应用.西安:西安电子科技大学,

[3]郭勇.EDA技术基础与应用.北京:机械工业出版社,

[4]潘松,黄继业.EDA技术有效教程.北京:科学出版社,

[5]汉泽西.EDA技术及其应用.北京:北京航空航天大学出版社,

程序清单

library ieee;

use VGA is

port(clk,ka,kb:in std_logic;

hs,vs,r,g,b:out std_logic);

end VGA;

architecture behav of VGA is

signal hs1,vs1,cclk,reset,ra,rb,ka_d,kb_d: std_logic;

signal mmd:std_logic_vector(1 downto 0);

signal cc:std_logic_vector(9 downto 0);

signal ll:std_logic_vector(9 downto 0);

signal grbx:std_logic_vector(3 downto 1);

signal grby:std_logic_vector(3 downto 1);

signal grbp:std_logic_vector(3 downto 1);

signal grb:std_logic_vector(3 downto 1);

begin

grb(2)<=(grbp(2) xor ka xor kb) and hs1 and vs1;

grb(3)<=(grbp(3) xor ka xor kb) and hs1 and vs1;

grb(1)<=(grbp(1) xor ka xor kb) and hs1 and vs1;

process(ka,kb)

begin

if ka='0'then

if kb='0' then mmd<="00";

end if;

else reset<='1';

end if;

end process;

process(clk,reset)

begin

if reset='0' then

if clk'event and clk='1' then

if cc=799 then cc<="";

else cc<=cc+1;

end if;

end if;

elsif cc<223 then grbx<="111";

elsif cc<303 then grbx<="110";

elsif cc<383 then grbx<="101";

elsif cc<463 then grbx<="100";

elsif cc<543 then grbx<="011";

elsif cc<623 then grbx<="010";

本科生课程设计成绩评定表

专业、班级

课程设计题目:

课程设计答辩或质疑记录:

成绩评定依据:

最终评定成绩(以优、良、中、及格、不及格评定)

指导教师

签字: