基于FPGA的VGA显示控制毕业设计.docx
《基于FPGA的VGA显示控制毕业设计.docx》由会员分享,可在线阅读,更多相关《基于FPGA的VGA显示控制毕业设计.docx(36页珍藏版)》请在冰豆网上搜索。
![基于FPGA的VGA显示控制毕业设计.docx](https://file1.bdocx.com/fileroot1/2022-10/9/0f1f1ec1-7759-40d7-8556-4206b4aaaf2e/0f1f1ec1-7759-40d7-8556-4206b4aaaf2e1.gif)
基于FPGA的VGA显示控制毕业设计
基于FPGA的VGA显示控制设计
1引言
1.1选题背景
CRT显示器作为一种通用型显示设备,如今已广泛应用于我们的工作和生活中。
与嵌入式系统中常用的显示器件相比,它具有显示面积大、色彩丰富、承载信息量大、接口简单等优点,如果将其应用到嵌入式系统中,可以显著提升产品的视觉效果。
如今随着液晶显示器的出现,越来越多的数字产品开始使用液晶作为显示终端。
但基于VGA标准的显示器仍是目前普及率最高的显示器[1]。
若驱动此类显示器,需要很高的扫面频率,以及极短的处理时间,正是由于这些特点,所以可以用FPGA来实现对VGA显示器的驱动。
本次专业课程设计即选用FPGA来实现VGA图片的显示。
随着FPGA的不断发展及其价格的不断下降,FPGA的可编程逻辑设计的应用优势逐渐显现出来。
现在,越来越多的嵌入式系统选择了基于FPGA的设计方案。
在基于FPGA的大规模嵌入式系统设计中,为实现VGA显示功能,既可以使用专用的VGA接口芯片如SPX7111A等,也可以设计和使用基于FPGA的VGA接口软核。
虽然使用VGA专用芯片具有更稳定的VGA时序和更多的显示模式可供选择等优点,但设计和使用VGA接口软核更具有以下优势:
(1)使用芯片更少,节省板上资源,减小布线难度;
(2)当进行高速数据传输时,具有更小的高频噪声干扰;(3)FPGA(现场可编程门阵列)设计VGA接口可以将要显示的数据直接送到显示器,节省了计算机的处理过程,加快了数据的处理速度,节约了硬件成本。
1.2目的和意义
显示绘图阵列(videographicarray,VGA)接口,他作为一种标准的显示接口得到了广泛的应用。
VGA接口大多应用在显示器与显卡之间;同时还可以用用在擦二色等离子电视输入图像的模数转换上;VGA接口同样也是LCD液晶显示设备的标准接口[2]。
可编程逻辑器件随着微电子制造工艺的发展取得了长足的进步[3]。
早期的器件只能存储少量的数据,完成简单的逻辑功能;发展到现在,可以完成复杂的逻辑功能,速度更块,规模更大,功耗更低。
目前可编程逻辑器件主要有两大类:
复杂可编程逻辑器件(complexprogrammablelogicdevice,CPLD)和现场可编程逻辑器件(filed
programmablegatearray,FPGA)[4]。
FPGA的运行速度块,管脚资源丰富,容易实现大规模的系统设计,有大量的软核可用,便于进行二次开发。
另外,由于FPGA具有可重构能力、抗看绍兴强等特点[5],因此,FPGA在工业控制等领域越来越受到重视。
利用FPGA完成VGA显示控制,可以使图像的显示脱离PC机的控制,形成体积小、功耗低的格式嵌入式系统(便携式设备或手持设备),应用于地面勘测、性能检测等方面,具有重要的现实意义。
显示器因为其输出信息量大,输出形式多样等特点已经成为现在大多数设计的常用输出设备。
在FPGA的设计中可以使用很少的资源,就产生VGA各种信号[6]。
为了通过VGA端口连接显示器显示前端采集到的图像数据,本课题在Xilinx公司的SPARTAN-3E开发板上使用VGA接口在显示器上显示文字及简单的图形,可以作为整个采集系统显示设计的参考,具有一定的实用价值。
1.3技术要求和设计范围
开发板中的VGA显示控制共分为三个模块,包括一个二分频电路,一个VGA时序控制模块,一个存储器读出模块。
二分频电路要能够把板载50MHZ的时钟频率分成25MHZ并提供给其他模块作为时钟;VGA时序控制模块用于产生640*480显示范围,并控制显示范围和消隐范围以及产生水平同步时序信号hs和垂直同步时序信号vs的值;存储器读出模块提供给SRAM地址并按地址从存储器中读出八位R、G、B数据,并把R、G、B的值通过VGA接口传到CRT显示器。
在课题中,FPGA要实现控制VGA图像显示的功能。
这些模块的功能全部用VHDL语言在开发软件ISE中实现,最后下载到SPARTAN-3E开发板上验证。
1.4发展现状
自1985年Xilinx公司推出第一片现场可编程逻辑器件(FPGA)至今,FPGA历史已经经历了十几年的发展历史。
在这十几年的发展过程中,以FPGA为代表的数字系统现场集成技术取得了惊人的发展:
现场可编程器件从最初的1200个可利用门,发展到90年代的25万个可利用门,乃至当新世纪来临之即,国际上现场可编程逻辑器件的著名厂商Altera公司、Xilinx公司又陆续推出了数百万门的单片FPGA芯片,将现场可编程器件的集成度提高到一个新的水平。
纵观现场可编程逻辑器件的发展历史,其之所以具有巨大的市场吸引力,根本在于:
FPGA不仅可以解决电子系统小型化、低功耗、
高可靠性等问题,而且其开发周期短、开发软件投入少、芯片价格不断降低,促使FPGA越来越多地取代了ASIC的市场,特别是对小批量、多品种的产品需求,是FPGA成为首选。
Xilinx公司自发明PFGA以来,就不断的推出新器件和开发工具,力求芯片的速度更高、功耗更低。
在其新近开发的产品中,Xilinx重新定义了未来的可编程逻辑,为用户提供2.5V,3.3V和5V可编程逻辑系列选择,并利用先进的0.18-。
0.22-。
0.25-,0.35um工艺技术生产出低成本、高性能的可编程逻辑产品。
主要推出了Virex系列和SparanTM系列的FPGA,Vriex系列突破了传统FPGA密度和性能限制,使FPGA不仅仅是逻辑模块,而成为一种系统元件。
而Spartan系列为替代ASIC的大容量FPGA树立了一个新的低成本标准。
本课题使用的就是该公司的SPARTAN-3E开发板。
芯片型号为XC3S500E。
VGA的英文全称是VideoGraphicArray,即显示绘图阵列。
VGA支持在640X480的较高分辨率下同时显示16种色彩或256种灰度,同时在320X240分辨率下可以同时显示256种颜色。
VGA由于良好的性能迅速开始流行,厂商们纷纷在VGA基础上加以扩充,如将显存提高至1M并使其支持更高分辨率如800X600或1024X768,这些扩充的模式就称之为VESA(VideoElectronicsStandardsAssociation,视频电子标准协会)的SuperVGA模式,简称SVGA,现在的显卡和显示器都支持SVGA模式。
显卡所处理的信息最终都要输出到显示器上,显卡的输出接口就是电脑与显示器之间的桥梁,它负责向显示器输出相应的图像信号。
CRT显示器因为设计制造上的原因,只能接受模拟信号输入,这就需要显卡能输入模拟信号。
VGA接口就是显卡上输出模拟信号的接口,VGA(VideoGraphicsArray)接口,也叫D-Sub接口。
虽然液晶显示器可以直接接收数字信号,但很多低端产品为了与VGA接口显卡相匹配,因而采用VGA接口。
VGA接口是一种D型接口,上面共有15针空,分成三排,每排五个。
VGA接口是显卡上应用最为广泛的接口类型,多数的显卡都带有此种接口。
有些不带VGA接口而带有DVI(DigitalVisualInterface数字视频接口)接口的显卡,也可以通过一个简单的转接头将DVI接口转成VGA接口,通常没有VGA接口的显卡会附赠这样的转接头。
目前大多数计算机与外部显示设备之间都是通过模拟VGA接口连接,计算机内部以数字方式生成的显示图像信息,被显卡中的数字/模拟转换器转变为R、G、B三原
色信号和行、场同步信号,信号通过电缆传输到显示设备中。
对于模拟显示设备,如模拟CRT显示器,信号被直接送到相应的处理电路,驱动控制显像管生成图像。
而对于LCD、DLP等数字显示设备,显示设备中需配置相应的A/D(模拟/数字)转换器,将模拟信号转变为数字信号。
在经过D/A和A/D2次转换后,不可避免地造成了一些图像细节的损失。
VGA接口应用于CRT显示器无可厚非,但用于连接液晶之类的显示设备,则转换过程的图像损失会使显示效果略微下降
现形的VGA接口大都用于CRT显示器,用作计算机的输出设备,另外,在很多图像采集输出的地方也占有一席之地。
例如车载监控系统,图像识别等领域
2方案论证
2.1显示控制设计思想
2.1.1显示控制设计的方法
随着数字图像处理的应用领域的不断扩大,其实时处理技术成为研究的热点。
EDA(电子设计自动化)技术的迅猛发展为数字图像实时处理技术提供了硬件基础。
其中FPGA的特点适用于进行一些基于像素级的图像处理。
LCD和CRT显示器作为一种通用型显示设备,如今已经广泛应用于工作和生活中。
与嵌入式系统中常用的显示器件相比,它具有显示面积大、色彩丰富、承载信息量大、接口简单等优点,如果将其应用到嵌入式系统中,可以显著提升产品的视觉效果。
为此,尝试将VGA显示的控制转化到FPGA来完成实现[7]。
FPGA是整个系统的核心,通过对其编程可输出红、绿、蓝三基色信号和HS、VS行场扫描同步信号。
当FPGA接受输出的控制信号后,内部的数据选择器模块根据控制信号选择相应的图像生成模块,输出图像信号,与行场扫描时序信号一起通过VGA接口电路送入显示器,VGA显示器上便可看到对应在的彩色图像。
主芯片时钟由外部提供,由一片晶振提供50MHz频率的时钟源,接入芯片全局时钟引脚CLK。
控制中,只需要考虑行同步信号(Hs)、场同步信号(Vs)以及红绿蓝(RGB)这5个信号。
如果能从FPGA发出这5个信号到VGA接口,就可以实现对VGA的控制。
系统模块如图1。
图1系统模块图
2.2显示控制实现技术
2.2.1硬件电路实现技术
VGA的图形模式分为3类[9]:
CGA、EGA兼容的图形模式;标准的VGA图形模式;VGA扩展图形模式。
后2种图形模式统称为VGA图形模式。
本研究基于标准VGA模式来实现。
常见的彩色显示器一般都是由CRT(阴极射线管)构成,每一个像素的色彩由红、绿、蓝三基色构成。
显示时采用的是逐行扫描的方式。
VGA显示模块产生的由水平同步信号和垂直同步信号控制阴极射线管中的电子枪产生电子束,轰击涂有荧光粉的屏幕,产生红、绿、蓝三基色,于显示屏上合成一个彩色像素点。
图2表示的是VGA显示模块与CRT显示器的控制框图。
图2VGA显示模块与CRT显示器的控制框图
电子束扫描一幅屏幕图像上的各个点的过程称为屏幕扫描。
现在显示器都是通过
光栅扫描方式来进行屏幕扫描。
在光栅扫描方式下,电子束按照固定的路径扫过整个屏幕,在扫描过程中通过电子束的通断强弱来控制电子束所经过的每个点是否显示或显示的颜色。
电子枪在VGA显示模块产生的行同步、场同步等控制信号的作用下进行包括水平扫描、水平回扫、垂直扫描、垂直回扫等过程。
光栅扫描的路径通常为:
从上到下扫过每一行,在每一行中从左到右地进行扫描。
其过程如下:
电子束从屏幕左上角开始向右扫,当到达屏幕的右边缘时,电子束关闭(水平消隐),并快速返回屏幕左边缘(水平回扫),然后在下一条扫描线上开始新的一次水平扫描。
一旦所有的水平扫描均告完成,电子束在屏幕的右下角结束并关闭(垂直消隐),然后迅速返回到屏幕的左上角(垂直回扫),开始下一次光栅扫描。
通过对硬件进行编程,输出标准的VGA信号(红、绿、蓝三色信号和行、帧同步信号),通过15针VGA接口输出至显示器,可具有显示驱动程序的能力,驱动显示器显示图像信号。
板上的VGA接口只需使用其中的5个引脚,其中行、帧同步信号直接由FGPA输出;红、绿、蓝三色信号使用FPGA上8个引脚,8位数据,其中红色2位,绿色和蓝色各3位,经由电阻网络D/A变换后输出值显示器,具有256种颜色。
VGA接口与FPGA引脚连接见图3。
图3VGA与FPGA引脚连接
2.2.2软件实现技
设计VGA图像显示控制需要注意两个问