预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8
在线预览结束,喜欢就下载吧,查找使用更方便
如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
VGA
设计目的
1、利用VHDL语言的描述方法进行设计完成VGA显示的系统设计;
2、自行选择VGA显示模式;
3、通过FPGA产生VGAMonitor的控制时序;
4、通过FPGA产生彩条图形,在VGA显示器上显示;
5、扩展要求:可以在拨动开关控制下,通过FPGA+VGA接口的系统在屏幕上显示不同图像。
设计原理
1、VGA简要介绍
显示绘图阵列(videographicarray,VGA)接口是LCD液晶显示设备的标准接口,大多应用在显示器与显卡之间,同时还可以用在等离子电视输入图像的模数转换上。VGA显示输出RGB三原色信号,RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色,目前在图像显示领域中应用非常广泛。
2、VGA的显示特点
(1)扫描格式繁多,分辨率从320×200一直延伸到1280×102,行频15.8~70Hz,场频50~100Hz。常见的行频有31.4Hz,37.8Hz,57.9Hz,62.5Hz等,常见场频有50Hz,60Hz,70Hz,100Hz,16700K之分。
(2)显示器的显示方式有两种:A/N显示方式和APA显示方式,即文本显示方式和图形显示方式。A/N方式已淘汰不用,目前微机都采用APA图形方式。
(3)VGA接口为显示器提供两类信号,一类是数据信号,一类是控制信号。数据信号包括红(Red)、绿(Green)、蓝(Blue)信号,简称RGB信号,控制信号包括水平同步信号和垂直同步信号。输出不同分辨率时,水平同步信号和垂直同步信号的频率也不相同。
3、VGA显示原理
常见的彩色显示器一般由CRT(阴极射线管)构成,彩色是由R(红)、G(绿)、B(蓝)三种基色组成。显示是采用逐行扫描的方式,阴极射线枪发出的电子束打在涂有荧光粉的荧光屏上,产生RGB三色基,最后合成一个彩色图像。从荧幕的左上方开始自左向右扫描,每扫完一行图像电子束回到下一行的最左端,每行结束后电子枪回扫的过程中进行消隐。然后重新开始行扫描,消隐,直到扫到荧幕的右下方,电子束回到荧幕的左上方重新开始新的图像扫描,并且在回到荧幕左上方的过程中进行消隐。在消隐过程中不发射电子束。每一行扫描结束时,用HS(行同步)信号进行同步;扫描完所有的行后用VS(场同步)信号进行同步。它的行场扫描时序示意图如图1所示。
现以正极性为例,说明CRT的工作过程:R、G、B为正极性信号,即高电平有效。当VS=0,HS=0时,CRT显示的内容为亮的过程,即正向扫描过程约为26us。当一行扫描完毕,行同步HS=1,约需6us,期间,CRT扫描产生消隐,电子束回到CRT的左边下一行的起始位置(X=0,Y=1);当扫描完480行后,CRT的场同步VS=1,产生场同步是扫描线回到CRT的第一行第一列(C=0,Y=0处,约为两个行周期)。HS和VS的时序图。T1为行同步消隐(约为6us);T2为行显示时间(约为26us),T3为场同步消隐(两行周期);T4为场显示时间(480行周期)。。
图1行场扫描时序图
4、时序分析
通过对VGA显示基本工作原理的分析可知,要实现VGA显示就要解决数据来源、数据存储、时序实现等问题,其中关键还是如何实现VGA时序。基于像素时钟,VGA时序控制器必须产生HS和VS时序信号。像素时钟定义了用于显示一个像素信息的时间,VS信号定义了显示的刷新频率,通常刷新频率在50Hz到120Hz之间。给定刷新频率后即定义了水平扫描频率即HS。
VGA的标准参考显示时序如图2所示:
图2VGA时序图
行时序和帧时序都需要产生同步脉冲(Sync)、显示后沿(Backporch)、显示时序段(Displayinterval)和显示前沿(Frontporch)四个部分。其中场频定义了显示的刷新频率,指定场频后所要扫描的行数指定了水平回扫频率即行频。
几种常用模式的时序参数如表1所示:
表1VGA时序参考表
根据VGA的频率图在此选择时钟为40Hz,水平时序则对应着H_SYNC的变化,垂直时序则对应V_SYNC的变化。
设计步骤
1、建立VGA工程文件。
图3建立工程
直接单击【Next】进入下一步,一直点击【Next】直到【Finish】完成。
2、建立VGA的VHDL文件
在Sources窗口中显示工程文件夹以及工程所用芯片。右击新建文件,选择“VHDLModule”类型,输入VGA点击【Next】,之后点击【Finish】完成。
输入要运行的程序,这样一个工程就建立完成了。
代码编写好后,点击保存,然后检查看编写代码是否有错误,Synthesize–XST,CheckSyntax,点击检查后是绿色的勾,则代码没有错误,可以进行下一步功能仿真。
图4代码编译