VGA显示控制器.docx

上传人:wj 文档编号:8776048 上传时间:2023-05-14 格式:DOCX 页数:21 大小:800.49KB
下载 相关 举报
VGA显示控制器.docx_第1页
第1页 / 共21页
VGA显示控制器.docx_第2页
第2页 / 共21页
VGA显示控制器.docx_第3页
第3页 / 共21页
VGA显示控制器.docx_第4页
第4页 / 共21页
VGA显示控制器.docx_第5页
第5页 / 共21页
VGA显示控制器.docx_第6页
第6页 / 共21页
VGA显示控制器.docx_第7页
第7页 / 共21页
VGA显示控制器.docx_第8页
第8页 / 共21页
VGA显示控制器.docx_第9页
第9页 / 共21页
VGA显示控制器.docx_第10页
第10页 / 共21页
VGA显示控制器.docx_第11页
第11页 / 共21页
VGA显示控制器.docx_第12页
第12页 / 共21页
VGA显示控制器.docx_第13页
第13页 / 共21页
VGA显示控制器.docx_第14页
第14页 / 共21页
VGA显示控制器.docx_第15页
第15页 / 共21页
VGA显示控制器.docx_第16页
第16页 / 共21页
VGA显示控制器.docx_第17页
第17页 / 共21页
VGA显示控制器.docx_第18页
第18页 / 共21页
VGA显示控制器.docx_第19页
第19页 / 共21页
VGA显示控制器.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

VGA显示控制器.docx

《VGA显示控制器.docx》由会员分享,可在线阅读,更多相关《VGA显示控制器.docx(21页珍藏版)》请在冰点文库上搜索。

VGA显示控制器.docx

VGA显示控制器

摘要

前言 3

一、课程设计要求和设计目的 4

1.1课程设计要求 4

1.2.课程设计目的 4

二、课程设计方案论证和设计原理 4

2.1.课程设计方案论证 4

2.2.课程设计原理 4

2.2.1.VGA扫描原理 4

2.3.外围电路原理 5

三、电路原理分析和系统设计 6

3.1、系统原理框图 6

3.1.1.时钟分频模块(PLL) 6

3.1.2.VGA行列控制模块(VGA) 6

3.1.3.VGA色彩显示控制模块(R_G_B) 6

3.2、系统电路Magicsopc实验箱中VGA电路原理图和管脚分配 7

四、系统各模块及其工作原理 8

4.1、系统设计流程 8

4.2、PLL锁相环模块设计 8

4.3、VGA控制模块设计 9

4.3.1.VGA时序分析 9

4.3.2.显示标准与参数分段 9

4.3.3.VGA扫描控制流程图 11

4.3.4.RGB模块设计流程图 12

4.3.5.顶端模块 12

五、编译、仿真以及Magicsopc实验箱实现 13

5.1.程序编译 13

5.2.下载试验箱验证 14

5.3.测试仿真 15

5.3.1.测试仿真软件Modelsim 15

5.3.2.仿真结果及分析 15

5.3.2.1PLL模块 15

5.3.2.2VGA显示控制模块 15

5.3.2.3RGB控制模块 16

六、实验心得 16

七、参考文献 17

附件 17

VGA模块程序 17

RGB模块程序 19

TOP顶层模块程序 20

测试模块程序 21

前言

VerilogHDL是目前应用最为广泛的硬件描述语言.VerilogHDL可以用来进行各种层次的逻辑设计,也可以进行数字系统的逻辑综合,仿真验证和时序分析等。

VerilogHDL进行设计最大的优点是其工艺无关性.这使得工程师在功能设计,逻辑验证阶段可以不必过多考虑门级及工艺实现的具体细节,只需根据系统设计的要求施加不同的约束条件,即可设计出实际电路。

VerilogHDL是一种硬件描述语言为了制作数字电路而用来描述ASICs和FPGA的设计之用。

是以C编程语言为基础设计一种语言。

1995年12月,IEEE制定了VerilongHDL的标准。

VGA(VideoGraphicsArray)即视频图形阵列,具有分辨率高、显示速率快、颜色丰富等优点,在彩色显示器领域得到了广泛的应用,VGA支持在640X480的较高分辨率下同时显示16种色彩或256种灰度,现在的VGA有着更高分辨率如800X600或1024X768,这些扩充的模式就称之为SuperVGA模式,简称SVGA,本实验采用的是800X600,,VGA接口就是显卡上输出模拟信号的接口,传输红、绿、蓝模拟信号以及同步信号(水平和垂直信号)。

VGA接口是一种D型接口,上面共有15针空,分成三排,每排五个,是应用最为广泛的接口类型。

实验是基于FPGA设计,并且采用VerilogHDL硬件描述语言描述的VGA显示控制器,将QuartusⅡ集成开发环境作为软件编程实现,将MgicSOPC实验箱作为设计的硬件实现资源,FPGA控制了分辨率为800x600VGA显示器的显示色彩和显示区域,分别输出的是红绿蓝三根色彩控制线vga_r、vga_g和vga_b,行信号控制线和列信号控制线vga_vs和vga_hs。

实验的重心放在了显示控制器的系统层面的设计,采用了自顶向下的思路进行设计。

课程设计报告中给出了完整的设计思路和过程,并将系统分模块进行了详细的设计;绘出带有外围电路示意图的总框图,系统功能描述以及方案对比的详细说明,采用可编程逻辑器件进行设计,给出了电路原理分析和状态转换图,并且给出了VerilogHDL语言源代码和测试代码;完成了状态机和核心模块以及系统整体的仿真验证,并且给出仿真波形及说明。

最终下载到MgicSOPC实验箱上调试和测验,得出课程设计成果。

关键词:

VGA显示控制;FPGA;Verilog;QuartusⅡ;

一、课程设计要求和设计目的

1.1课程设计要求

利用VerilogHDL设计VGA显示控制模块,并在MagicSOPC实验箱上实现,该控制模块,可以根据VGA国际显示标准,设定屏幕显示像素和刷新频率,在PC液晶显示器上显示出多种彩色条纹或类似电脑屏幕检测程序那样的纯色切换。

基本细节要求如下:

1)采用显示模式为800×600的VGA显示器;

2)可以通过逻辑编写产生所设定的彩色条纹信号。

1.2.课程设计目的

1)学习VGA标准;

2)学习VGA显示控制器的设计。

二、课程设计方案论证和设计原理

2.1.课程设计方案论证

本设计采用VerilogHDL硬件描述语言描述的VGA显示控制器,将开发软件采用Altera公司的QuartusⅡ13.0集成开发环境作为软件编程实现,将MgicSOPC实验箱作为设计的硬件实现资源,箱上包含VGA接口,并可提供50MHZ的时钟频率经过锁相环PLL产生系统要求的40MHZ的频率即(像素输出频率);FPGA控制了分辨率为800x600VGA显示器的显示色彩和显示区域,分别输出的是红绿蓝三根色彩控制线vga_r、vga_g和vga_b,行信号控制线和列信号控制线vga_vs和vga_hs。

设计重点考虑的是VGA时序控制的准确性,只要VGA时序控制正确,那么就可以很容易的实现彩条、单色图像的显示,同时输出红绿蓝三根色彩输出线控制着不同色彩显示,我们可以根据色彩编码表来设计我们想显示的颜色。

2.2.课程设计原理

2.2.1.VGA扫描原理

VGA显示器扫描方式分为逐行扫描和隔行扫描:

逐行扫描是从屏幕左上角第一个点开始,从左向右逐点扫描,每扫描完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT对电子束进行消隐,每行结束时,用行同步信号进行同步;当扫描完所有的行,形成一帧,用场同步信号进行场同步,并使扫描回到屏幕左上方,同时进行场消隐,开始下一帧。

隔行扫描是指电子束扫描时每隔一行扫一线,扫完一屏后再返回来扫描剩下的线,隔行扫描的显示器闪烁快速,(本实验采用逐行扫描的方式)。

2.3.外围电路原理

外围电路主要是VGA接口,VGA接口共有15针,分成3排,每排5个孔,是显卡上应用最为广泛的接口类型,绝大多数显卡都带有此种接口。

它传输红、绿、蓝模拟信号以及同步信号(水平和垂直信号)。

一般在VGA接头上,会1,5,6,10,11,15等标明每个接口编号,VGA接口15根针,其对应接口定义如下:

图2-1VGA接口定义

在本设计中,FPGA分别输出的是红绿蓝三根色彩控制线vga_r[3]、vga_g[3]和vga_b[2],行信号控制线和列信号控制线vga_vs和vga_hs,连接到VGA所对应的接口,其中外围电路原理图如下:

图2-2开发板外围电路原理图

三、电路原理分析和系统设计

3.1、系统原理框图

我们本次的任务是设计VGA控制器,驱动液晶屏显示器显示3x2方块,每个方块显示的颜色不同,

通过设计需要对FPGA编程可输出RGB三基色信号和HS、VS行列控制线。

通过Verilog编写响应的彩条控制器程序,根据试验箱上的晶振频率50MHZ和像素输出频率40MHZ进行对比,首先设计锁相环PLL模块产生系统要求的40MHZ的频率即(像素输出频率);然后设计VGA模块产生显示行控制线和列控制线,产生VGA显示的行、列时序,并且生成一个使能信号en和行范围控制信号[10:

0]v和列范围控制信号[10:

0]h,使能信号en和行范围控制信号[10:

0]v和列范围控制信号[10:

0]h再输入到RGB模块当中,控制RGB三基色信号的输出[2:

0]vga_r、[2:

0]vga_g、[1:

0]vga_b。

图3-1系统原理框图

3.1.1.时钟分频模块(PLL)

开发板上使用的晶振为50MHZ,VGA显示标准为800*600*60Hz,该显示模式需要的系统时钟频率为40MHz,即像素输出频率因此我们通过调用锁相环分频来实现。

3.1.2.VGA行列控制模块(VGA)

VGA显示标准需要设定行列控制信号,来显示有效显示区域,这也是整个VGA显示模块最为核心的一部分。

3.1.3.VGA色彩显示控制模块(R_G_B)

图像有效显示区域(使能信号en=1)内,输出控制颜色控制的r、g、b信号。

3.2、系统电路Magicsopc实验箱中VGA电路原理图和管脚分配

根据Magicsopc实验箱的datasheet,VGA显示部分的系统电路原理图如图3-2所示:

其中U47为转换芯片,两根行列控制线,三根色彩控制线。

图3-2Magicsopc实验箱中VGA电路原理图

同时也根据试验箱datasheet可以得到VGA显示管脚图分配,如图3-3所示,CLK信号接到A13管脚,复位信号RET_N接到A13,列控制信号vga_h接到N18,行控制信号接到E22管脚,采用的是256色VGA,(IO电压为2.5V)。

图3-3Magicsopc实验箱中VGA电路管脚分配

四、系统各模块及其工作原理

4.1、系统设计流程

PLL锁相环

R_G_B颜色控制输出

VGA控制器

VGA显示

颜色信号

同步信号

40MHZ

时钟

50MHZ

图4-1系统设计流程图

如图4-1所示:

首先设计锁相环PLL模块产生系统要求的40MHZ的频率即(像素输出频率);然后设计VGA模块产生显示行控制线和列控制线,产生VGA显示的行、列时序,并且生成一个使能信号en使再输入到R_G_B模块当中,控制RGB三基色信号的输出,其中VGA模块为设计的核心。

4.2、PLL锁相环模块设计

图4-2PLL模块框架

FPGA中含有高性能的嵌入式模拟锁相环,此锁相环PLL可以与一输入时钟信号同步,作为参考实现锁相。

将输入的50MHZ时钟信号inclk0锁相为40MHZ的像素输入时钟c0,来满足VGA显示要求。

需要注意锁相环使用的以下几点:

1)锁相环必须在工程的顶层模块文件中使用;

2)锁相环的输入时钟必须是外部时钟输入,不能是由FPGA内部信号引入锁相环。

4.3、VGA控制模块设计

4.3.1.VGA时序分析

VGA列同步时序:

VGA行同步时序:

图4-3VGA行列同步时序

VGA中定义行时序和列时序都需要同步脉冲(a段)、显示后沿(b段)、显示时序段(c段)和显示前沿(d段)四部分。

VGA工业标准显示模式要求:

行同步、列同步都为负极性,即同步脉冲要求是负脉冲。

由VGA行时序可知:

每一行都有一个负极性行同步脉冲(a段),是数据行的结束标志,同时也是下一行的开始标志。

在同步脉冲之后为显示后沿(b段),在显示时序段(c段)为显示器亮的过程,RGB数据驱动一行上的每一个像素点,从而显示一行。

在一行的最后为显示前沿(d段)。

在显示时间段c之外没有图像投射到屏幕,而是插入消隐信号。

同步脉冲、显示后沿和显示前沿都是在行消隐间隔内,当消隐有效时,RGB信号无效,屏幕不显示数据。

4.3.2.显示标准与参数分段

本实验的显示标准为800*600*60Hz。

(800为列数,600为行数,60Hz为刷新一屏的频率)输入像素时钟频率为40MHZ,还有其它指定的国际标准,如图4-4所示:

图4-4VGA显示标准

行时序:

屏幕对应的行数为628(a+b+c+d=e段),其中600(c段)为显示行;每行均有行同步信号(a段),为4个行周期的低电平;显示后沿(b段),23个周期的高电平,和显示前沿(d段),1个周期的高电平。

列时序:

每个显示行包括1056列(a+b+c+d=e段),其中800(c段)为有效显示区,每列均有列同步信号(a段),为128个列周期的低电平;显示后沿(b段),88个周期的高电平,和显示前沿(d段),40个周期的高电平。

屏幕显示有效区域如图4-5所示:

图4-5VGA显示有效区域示意图

4.3.3.VGA扫描控制流程图

Rst_n为0

cnt_h、cnt_v清零

vga_vs、vga_hs为高电平

vga_vs为高电平

vga_hs为低电平

复位状态

cnt_h+1

判断cnt_h是否为hy_a?

vga_hs为高电平

判断cnt_h是否为1055?

vga_vs为低电平

cnt_v+1

判断cnt_v是否为vy_a?

判断cnt_v是否为627?

扫描结束

图4-6VGA显示控制流程图

设计思路分析:

如图4-6所示,cnt_h为列计数器、cnt_v为行计数器,当rst_n复位时候,行计数器列计数器清零,同时行同步信号和列同步信号vga_vs、vga_hs为高电平,当列计数器开始计时,vga_vs、vga_hs为低电平,直到cnt_h等于列同步区段hy_a时候,vga_hs置为高电平,当cnt_h等于1055时候,列计数器计满,cnt_v加1,同样cnt_v等于行同步区段vy_a时候,vga_vs置为高电平,当cnt_v等于627时候扫描完毕。

4.3.4.RGB模块设计流程图

输入en=1

h<=11'd625&&v<=11'd200?

显示绿色

显示淡绿色

显示淡红色

h>=11'd625&&v<=11'd200?

h<=11'd625&&(v>=11'd225&&v<=11'd400?

h<=11'd625&&v>=11'd425?

显示蓝色

h>=11'd625&&(v>=11'd225&&v<=11'd400?

显示青色

显示红色

h>=11'd625&&v>=11'd425?

结束

图4-7RGB模块设计流程图

RGB模块设计分析,当使能信号输出为1,即为VGA显示有效区域时候,我们通过行计数v和列计数h控制显示区域,将区域分为6块显示区域,6块显示区域显示不同颜色,通过三根颜色控制线输出。

4.3.5.顶端模块

顶层模块端口介绍

端口名

端口说明

clk

系统时钟输入

rst_n

低电平复位输入

vga_vs

VGA行同步信号输出

vga_hs

VGA列同步信号输出

vga_r

红色输出信号

vga_g

绿色输出信号

vga_b

蓝色输出信号

内部连线说明

连线名

连线说明

clk_40

clk_40与模块vga的输入信号clk相连

en

使能信号输入到RGB模块

v

行计数控制显示区域信号

h

列计数控制显示区域信号

五、编译、仿真以及Magicsopc实验箱实现

5.1.程序编译

建立工程,选择目标器件型号,工程建立完毕之后,调用FPGA嵌入式锁相环PLL,然后通过Verilog硬件描述语言编写RGB模块和VGA模块代码,编写顶端模块TOP,用于模块端口和内部信号连接;最后编写测试模块,用于模块端口测试和仿真,最后编译结果成功,如图6.1所示:

图5-1程序编译结果

5.2.下载试验箱验证

编译成功之后,在工程目录下会生成一个output_file文件夹,生成的可下载文件,sof文件可以直接下载到Magicsopc试验箱的FPGA当中,我们将自己的PC机同试验箱通过USB串口相连之后,安装相应的USB驱动,然后将管脚按照datasheet分配完毕,我们将可下载文件,sof文件下载到试验箱,如果成功,结果如图5-2所示:

图5-2下载试验箱成功结果示意图

同样我们将Magicsopc试验箱的输出VGA端口同VGA显示器相连,让显示器通电之后,我们在程序当中点击start,进行下载文件到试验箱,在显示器上显示要显示的结果,如图5-3所示,同样我们将FPGA试验箱断电之后,将显示器关闭,再重新打开显示器和试验箱,显示器上将不再显示我们的色彩分区图,这是因为选择的FPGA器件型号是基于SRAM可编程,RAM有一个特性就是断电之后数据就会丢失,所以存放在RAM当中的源程序和管脚分配信息丢失,需要重新下载.sof文件到试验箱中即可。

图5-3VGA显示结果图

5.3.测试仿真

5.3.1.测试仿真软件Modelsim

Modelsim是一个基于内核的VerilogHDL/VHDL混合仿真器,是MentorGraphics的产品,Modelsim可以在一个设计中单独或混合使用VerilogHDL和VHDL,允许VerilogHDL模块调用VHDL实体,或反之。

由于Modelsim是编译型仿真器,使用编译后的HDL库来进行仿真,因此在进行仿真之前,必须编译所有的HDL文件成为HDL仿真库。

作为专业仿真器,Modelsim提供了易于实现的EDA工具接口,可以方便的与EDA工具相连接。

5.3.2.仿真结果及分析

5.3.2.1PLL模块

仿真器默认信号端口为模块端口输入和输出,我们需要将其删除,重新添加模块端口和内部信号,先添加PLL模块,其中输入为inclk0,输出为clk,进过PLL锁相环分频之后,原输入时钟频率为50MHZ,周期为20ns,分配之后为40MHZ输出,周期为25ns,如图5-4所示:

图5-4PLL锁相环模块仿真图

5.3.2.2VGA显示控制模块

图5-5VGA控制显示模块仿真图[1]

图5-6VGA控制显示模块仿真图[2]

VGA模块仿真分析:

如图5-6,当cnt_h计数器不断计数,直到计满1056个数时候,也就是0~1055,cnt_v加1;同样如图5-5,当行cnt_v计满28,cnt_h计满216(即列a段与b段之和),en=1,为显示有效区域,与设定相符。

5.3.2.3RGB控制模块

图5-7RGB模块仿真图[2]

RGB模块仿真分析:

通过设定行计数范围与列计数范围,来限定显示区域,v和h分别是行计数器和列计数器,当en=1时候,显示有效区域,通过v和h的值来将有效区域划分为6块(3x2),不同区域的颜色由rgb得设定不同而不同。

六、实验心得

对VGA的学习以及设计,我认识到了VGA的工作原理以及关于VerilogHDL的简单语言思维。

从建立project建立newsource到写模块源代码,测试代码等,并且成功进行了仿真。

也学习了如何添加文件程序,如何将已编好的仿真程序以添加到modelsim进行仿真。

运用modlesim可以观察到仿真结果,验证了程序编写的正确,也验证了对程序的理解与猜想。

掌握基本组合逻辑电路的实现方法;初步了解基本组合逻辑电路的生成方法;学习测试模块的编写;通过综合和布局布线了解不同层析仿真的物理意义。

这段时间的课程设计,我学到了很多知识,也有许多的体会:

首先,我明白了其实认真学习一门语言或者一个软件应用并不困难,关键是所追求的学习方法和途径。

这次的程序编写培养了我分析问题、编程和动手的能力,使我掌握了程序设计的基本技能,提高了我实践编程的能力。

有很多不明白的东西,但通过老师培训讲解,自己上网查阅信息以及理解老师提供的资料,我们学会了在解决问题时要学会自己分析思考,动手查找,耐心认真,合作解决问题。

在解决问题的过程中,收获颇多

七、参考文献

1.《EDA技术实用教程—VerilogHDL第五版》,潘松,黄继业等编著,科学出版社。

2.《Verilog数字系统设计教程》,夏宇闻编著,第三版,北航出版社。

3.《EDA技术与Verilog》,潘松,黄继业编著,清华大学初版设。

4.《Verilog硬件描述语言与数字逻辑电路设计》,侯伯亨,顾新编著。

西安电子科技大学。

5.《Verilog电路设计技术》,王道宪编著,国防工业出版社。

附件

VGA模块程序

modulevga(//显示分辨率为800*600*60MHZ

//端口信号:

模块的输入输出接口

input clk,//连接至分频时钟,为40MHz

input rst_n,//低电平复位

output[10:

0] v,

output[10:

0] h,

outputreg vga_hs, //VGA列同步信号

outputregvga_vs, //VGA行同步信号

output en //显示有效区域的使能信号

);

//----------------VGA时序----------------

// 800*600@60 40Mhz

// 同步 后沿 有效 前沿 周期

//hs 128 88 800 40 1056

//vs 4 23 600 1 628

//VGA显示相应参数

parameter hy_all=11'd1056, //列时序

hy_a=11'd128,

hy_b=11'd88,

hy_c=11'd800,

hy_d=11'd40,

vy_all=11'd628, //行时序

vy_a=11'd4,

vy_b=11'd23,

vy_c=11'd600,

vy_d=11'd1;

//用计数器限定VGA显示相应区域

reg[10:

0]cnt_h;//列计数器

reg[10:

0]cnt_v;//行计数器

//-------------------------列计数-------------------------

always@(posedgeclkornegedgerst_n)

if(!

rst_n)

cnt_h <=11'd0;//列计数器复位

else if(cnt_h==(hy_all-1))//所有列扫描完毕

cnt_h <=11'd0;//列计数器清零

else

cnt_h<=cnt_h+1'b1;//列计数器累加

//-------------------------行计数-------------------------

always@(posedgeclkornegedgerst_n)//在一列计数完之后将行加1

if(!

rst_n)

cnt_v <=11'd0;//行计数器复位

else if(cnt_v==(vy_all-1))//所有行扫描完毕

cnt_v <=11'd0;//行计数器清零

else if(cnt_h==(hy_all-1))//所有列扫描完毕

cnt_v<=cnt_v+1'b1;//行计数器加一

//-----------------------限定列同步信号--------------

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 外语学习 > 韩语学习

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2