FPGADE270 VGA.docx
- 文档编号:25846211
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:25
- 大小:1.59MB
FPGADE270 VGA.docx
《FPGADE270 VGA.docx》由会员分享,可在线阅读,更多相关《FPGADE270 VGA.docx(25页珍藏版)》请在冰豆网上搜索。
FPGADE270VGA
北华大学电气信息工程学院工程实习报告
题目:
FPGA的VGA显示控制器设计与图像显示
基于EDA的VGA彩条信号显示系统
基于EDA的VGA彩条信号显示系统
[摘要]:
本设计是用FPGA来实现VGA图像控制器,控制显示器显示彩条信号,用VHDL语言,在QuartusII上实现软件仿真。
本文首先介绍了VGA显示的基本原理,然后提出了一种VGA图像控制器的设计方案,并用VHDL硬件描述语言和原理图输入的方法完成了该方案的设计,通过显示横彩条、竖彩条、棋盘格,验证了VGA_SYNC同步信号功能模块时序的正确性,软件实验环境为QuartusII6.0开发软件。
本系统尝试用FPGA实现VGA图像显示控制器,这一过程通过编程实现,之后通过软件的测试和仿真,当软件验证无误后完成硬件的下载验证,最终在显示器上实现输出,基本原理就是利用FPGA的可编程原理和VGA的时序控制原理,这在产品开发设计中有许多实际应用。
例如显示器,电视等的维修,可以期望采用FPGA设计的VGA接口可以将要显示的数据直接送到显示器,就可以可靠的找到故障的大致原因等。
从而省掉每次都要接信号源的麻烦,同时也节约了成本。
节省了计算机的处理过程,加快了数据的处理速度,节约了硬件成本。
同时亦可将其作为信号源,应用于电视机或计算机等彩色显示器的电路开发,方便彩色显示器驱动控制电路的调试。
在实际应用中,若对本系统稍作扩展,还可以对彩条信号产生模块方便地进行修改。
比如,可以修改行、场计数器的判断值来调整彩条的大小,增加控制信号的位数,以及增加延时跳变的功能,使输出的彩条信号产生各种变化。
这样,既可以用于调试彩色PDP电路,也可以用来作为PDP显示器的检测信号源。
此外,与VGA信号类似,改变行、场状态机的转换值和行、场计数器的设置,还可以产生其他各种模式的图像信号,以适应不同分辨率图像显示的需要。
希望这些方法能为国内的显示器及相关产品在电路研制方面起到一点抛砖引玉的作用。
[关键词]:
VGA;FPGA;图像控制器
1 前言
1.1 选题背景
现如今,随着液晶显示器的出现,越来越多的数字产品开始使用液晶作为显示终端。
但基于VGA标准的显示器仍是目前普及率最高的显示器。
若驱动此类显示器,需要很高的扫面频率,以及极短的处理时间,正是由于这些特点,所以可以用FPGA来实现对VGA显示器的驱动。
在许多图像处理系统中,需要将经过处理的图像显示出来,如果采用传统的办法将图像数据传回电脑并通过显示器显示出来,那么在传输的过程中就需要嵌入式系统的CPU不断的对所传输的图像数据信号进行控制,这样就造成了CPU资源的浪费,同样系统还需要依赖电脑,降低了系统的灵活性。
如果采用FPGA对显示器的VGA接口进行设计,数据流只需要在整个系统的内部流动,而不需要依靠计算机,实现了系统的最小化,大大减少了电路板的尺寸,增强了系统的可靠性和设计的灵活性[1]。
VGA(视频图形阵列)作为一种标准的显示接口,因为其输出信息量大,输出形式多样等特点已经成为现在大多数设计的常用输出设备。
与此同时,各种大规模集成电路的出现也为大量数字化信息的处理提供了有效的手段。
其中,FPGA(现场可编程逻辑阵列)即是其中比较有代表性的一种。
FPGA(现场可编程门阵列)是可编程逻辑器件,它是在PAL,GAL等逻辑器件的基础上发展起来的,同以往的PAL,GAL等相比,FPGA的规模比较大,它可以替代几十甚至几千块通用IC芯片。
它以操作灵活、开发迅速、投资风险低、可多次编程擦写和系统可编程等特点而成为一种可优化硬件电路设计且具竞争力的产品。
本设计依据Altera公司CycloneII系列的FPGA进行设计,最终实现横彩条、竖彩条、棋盘格、字符、汉字及单色图像的显示。
设计的硬件部分采用DE2开发板――内含AlteraCycloneII系列的EP2C35F672C6FPGA芯片,并集成了许多外设,其中包含VGA显示接口。
软件部分用VHDL语言进行编程,并在Altera公司的EDA软件工具QuartusⅡ进行程序编译、调试、波形仿真和下载。
1.2 开发环境介绍1.2.1 VHDL语言的概述
VHDL的英文全名是Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage,被IEEE和美国国防部确认为标准硬件描述语言。
自IEEE公布了VHDL的标准版本,IEEE-1076(简称87版)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。
此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。
VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。
在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。
这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。
VHDL主要用于描述数字系统的结构,行为,功能和接口。
与其他硬件描述语言相比,VHDL具有以下特点:
(1)功能强大、设计灵活。
(2)支持广泛、易于修改。
(3)强大的系统硬件描述能力。
(4)易于共享和复用。
(5)独立于器件的设计、与工艺无关。
(6)很强的移植能力。
1.2.2 QuartusII6.0设计的方法
QuartusIIdesign是很高级和复杂的,用于system-on-a-programmable-chip(SOPC)的设计环境。
QuartusIIdesign提供完善的基于块的设计流程。
QuartusIIdesign是唯一一个包括以timingclosure和基于块的设计流为基本特征的programmablelogicdevice(PLD)的软件。
QuartusII设计软件改进了性能、提升了功能性、解决了潜在的设计延迟等,在工业领域率先提供FPGA与mask-programmeddevices开发的统一工作流程。
AlteraQuartusII设计软件是业界唯一提供FPGA和固定功能HardCopy器件统一设计流程的设计工具。
1.3 实验步骤
(1)建立新工程项目:
打开Quartus II软件,进入集成开发环境,点击File→Newprojectwizard建立一个工程项目VGA。
(2)建立文本编辑文件:
点击File→New..在该项目下新建VerilogHDL源程序文件VGA.v,输入试验程序中的源程序代码保存后选择工具栏中的
按钮启动编译,若在编译中发现错误,则找出并更正错误,直到编译成功为止。
(3)选择器件型号及引脚的其他设置:
选择所用的FPGA器件----EP2C8Q208C8,以及进行一些配置。
选择配置器件EPCS4,设置不需要使用的IO功能为Asinputs,tri-stated。
点击两次ok,回到主界面。
(4)配置FPGA引脚:
在QuartusII软件主页面下,选择Assignments→AssignmentEditor或选择工具栏上
按钮,配置clk及相关引脚。
(5)编译工程项目:
在QuartusII主页面下,选择Processing→StartCompilation或点击工具栏上的
按钮启动编译,直到出现“FullCompilationReport”对话框,点击OK即可。
(6)波形仿真。
(7)下载设计程序.sof文件到目标FPGA,下载采用JTAG方式。
2 VGA显示原理介绍2.1 VGA接口简介
VGA(VideoGraphicsArray)是IBM于1987年提出的一个使用模拟信号的电脑显示标准,这个标准对于现今的个人电脑市场已经十分过时。
即使如此,VGA仍然是最多制造商所共同支援的一个低标准,个人电脑在加载自己的独特驱动程式之前,都必须支援VGA的标准。
VGA(VideoGraphicArray)接口,即视频图形阵列,也叫D-Sub接口,是15针的梯形插头,分成3排,每排5个,传输模拟信号。
VGA接口采用非对称分布的15针连接方式,其工作原理:
是将显存内以数字格式存储的图像(帧)信号在RAMDAC里经过模拟调制成模拟高频信号,然后再输出到显示设备成像。
目前大多数计算机与外部显示设备之间都是通过模拟VGA接口连接,计算机内部以数字方式生成的显示图像信息,被显卡中的数字/模拟转换器转变为R、G、B三原色信号和行、场同步信号,信号通过电缆传输到显示设备中。
对于模拟显示设备,如模拟CRT显示器,信号被直接送到相应的处理电路,驱动控制显像管生成图像。
而对于LCD、DLP等数字显示设备,显示设备中需配置相应的A/D(模拟/数字)转换器,将模拟信号转变为数字信号。
在经过D/A和A/D2次转换后,不可避免地造成了一些图像细节的损失。
VGA接口应用于CRT显示器无可厚非,但用于连接液晶之类的显示设备,则转换过程的图像损失会使显示效果略微下降。
VGA接口的引脚分配如下图所示。
VGA接口为显示器提供两类信号,一类是数据信号,一类是控制信号。
数据信号包括红(Red)、绿(Green)、蓝(Blue)三色信号,简称RGB信号,控制信号包括水平同步信号和垂直同步信号。
按照VGA接头(15HD)的标准,各引脚的定义如下(按倒梯形来看,从上到下,从右到左分别是1-5脚,6-10脚,11—15脚):
1——Red——模拟信号“红”
2——Green——模拟信号“绿”
3——Blue——模拟信号“蓝”
4——IDBit——地址码
5——N/C——自测试(各家定义不同)
6——R.GND——模拟信号“红”的接地端
7——G.GND——模拟信号“绿”的接地端
8——B.GND——模拟信号“蓝”的接地端
9——No.——保留(各家定义不同)
10——GND——数子信号的接地端
11——IDBit——屏幕与主机之间的控制或地址码
12——IDBit——屏幕与主机之间的控制或地址码(用于一个主机多个显示屏)
13——HSync——数字的水平行场信号
14——VSync——数字的垂直行场信号
15——N/C——地址码(各家定义不同)
按输出不同分辨率时,水平同步信号和垂直同步信号的频率也不同。
下表是在部分分辨率条件下使用的相应频率。
表1 不同分辨率对应频率
分辨率
垂直同步信号频率
Hz
水平同步信号频率
kHz
图像时钟频率
MHz
同步极性
H/V
640*480
75.000
37.500
31.500
-/-
800*600
75.000
46.875
49.500
+/+
800*600
72.188
48.077
50.000
+/+
1024*768
60.004
48.363
65.000
-/-
1024*768
70.069
56.476
75.000
-/-
当分辨率为640*480时,显示器每行占用840(31.5MHz/37.5kHz)个数据位,其中640个数据位用于显示像素,另外200(840-640)个数据位用干输出水平同步信号和水平消隐信号。
垂直方向有行,其中行用于显示像素,其余一行用于输出垂直同步信号和垂直消隐信号。
垂直方向有500(37.5kHz/75Hz)行,其中480行用于显示像素,其余20(500-480)行用于输出垂直同步信号和垂直消隐信号。
水平同步信号和垂直同步信号都采用低电平同步方式。
水平同步信号低电平约保持2us相当于63数据位长度。
垂直同步信号低电平约保持80us,相当于3行数据位长度。
当显示时,存于ROM的RGB信息应该转换成模拟量,然后输入给VGA的R、G、B三个端口,这时可以把显示器看成一个大型点阵,通过控制坐标就能控制区域显示,以及一些简单的变化。
对于普通的VGA显示器,共有5个信号:
R、G、B三基色信号,行同步信号HS场同步信号VS。
对于时序驱动,VGA显示器要严格遵循“VGA工业标准”,即600*480*60HZ模式,否则可能会损害VGA显示器。
VGA的时序根据不同的显示分辨率和刷新频率会有变化。
2.2 三基色混色原理
常见的彩色显示器一般都是由CRT(阴极射线管)构成,每一个像素的色彩由R(红,Red)、G(绿,Green)、B(蓝,Blue)三基色构成。
显示时采用的是逐行扫描的方式。
由VGA显示模块产生的水平同步信号和垂直同步信号控制阴极射线管中的电子枪产生电子束,轰击涂有荧光粉的屏幕,产生RGB三基色,于显示屏上合成一个彩色像素点。
图1-1表示的是VGA显示模块与CRT显示器的控制框图[5]。
图1-1VGA显示模块与CRT显示器的控制框图
像素是产生各种颜色的基本单元。
根据物理学中的混色原理,三色发光的亮度比例适当,可呈现白色。
适当的调整发光比例可以出现不同的颜色。
三基色混色原理示意图如图1-2所示,编码如表1-1[6]。
图1-2三基色混色原理
表1-1三基色颜色编码
颜色
黑
蓝
红
紫
绿
青
黄
白
R
0
0
1
1
0
0
1
1
G
0
0
0
0
1
1
1
1
B
0
1
0
1
0
1
0
1
2.3 行场扫描
电子束扫描一幅屏幕图像上的各个点的过程称为屏幕扫描。
现在显示器都是通过光栅扫描方式来进行屏幕扫描。
在光栅扫描方式下,电子束按照固定的路径扫过整个屏幕,在扫描过程中通过电子束的通断强弱来控制电子束所经过的每个点是否显示或显示的颜色。
电子枪在VGA显示模块产生的行同步、场同步等控制信号的作用下进行包括水平扫描、水平回扫、垂直扫描、垂直回扫等过程。
由图1-3可以看出,扫描从屏幕的左上方开始,从左到右,从上到下,进行扫描,每扫完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT对电子束进行行消隐,每行结束时,用行同步信号(HS)进行行同步;扫描完所有行,用场同步信号(VS)进行场同步,并使扫描回到屏幕的左上方,同时进行场消隐[7]。
图1-3屏幕扫描原理
3 系统设计方案及硬件选型3.1 方案论证
EDA技术指的是以计算机硬件和系统软件为基本工作平台,继承和借鉴前人在电路和系统、数据库、图形学、图论和拓扑逻辑、计算数学、优化理论等多学科的最新科技成果而研制成的商品化EDA通用支撑软件和应用软件包。
硬件描述语言是EDA技术的重要组成部分,VHDL是作为电子设计主流硬件的描述语言,VHDL具有与具体硬件电路无关和与设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力,并在语言易读性和层次化结构化设计方面,表现了强大的生命力和应用潜力。
FPGA即现场可编程门阵列,也是EDA技术的重要组成部分。
它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。
它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
采用EDA技术自顶向下的设计方法将需要设计的系统分成若干模块,对各个模块进行独立设计,最后将各个模块集成为最终的系统模块,并对其进行综合测试和评估,给系统的设计带来方便。
自顶向下设计方法流程如图2-1[3]。
综上,采用EDA技术实现VGA图像控制器。
首先,编写VHDL程序来实现RGB、HS、VS的信号控制;其次,在EDA开发工具--QuartusⅡ软件中仿真;再次,调用FPGA片上ROM来存贮要显示的数据;最后下载到FPGA上实现VGA图像控制器。
SHAPE \*MERGEFORMAT
图2-1自顶向下的设计流程
3.2 方案选择
本设计采用EDA技术和VHDL语言并结合FPGA技术来实现VGA图像控制器。
VHDL以并行和顺序的多种语句方式来描述在同一时刻中所有可能发生的事件,具有描述由相关和不相关的多维时空组合的复合体系统的功能。
既避免了采用单片机带来图像的失真,又无需浪费太多的资源。
FPGA速度和片上存储器为VGA图像控制提高了可靠性。
采用EDA技术实现VGA图像控制器的实现具备可行性,而且在现有的实验室条件下,可以很容易的实现VGA的图像控制。
本设计硬件部分使用DE2开发板,板上包含VGA接口,并可提供50MHZ的时钟频率经过时钟二分频产生系统要求的25MHZ的频率即(像素输出频率);开发软件采用Altera公司的QuartusⅡ6.0。
本设计需要重点考虑的是VGA时序控制的准确性。
只要VGA时序控制正确,那么就可以很容易的实现彩条、字符、汉字、单色图像的显示。
3.3 开发板及开发软件简介
本设计硬件下载采用DE2开发板;软件设计采用Altera公司的FPGA开发软件――QuartusⅡ6.0。
首先,在QuartusⅡ6.0软件上进行系统的编程、编译及仿真;然后在实验开发板上进行硬件下载调试。
3.3.1 DE2开发板实物图片
图3-1DE2开发板图片
(1)USBBlaster电路
DE2平台上内置了USBBlaster电路,使用方便而且可靠,只需要一根USB电缆将电脑和DE2平台连接起来,就可以进行调试。
DE2平台上的USBBlaster提供了JTAG下载与调试模式、主动串行(AS)编程模式。
使用该编程器之前,必须安装其驱动程序方可使用。
该编程器相当于一个USB外设,支持即插即用,为程序的下载调试带来许多方便。
(2)时钟源
DE2平台提供了两个时钟源:
一个是晶振Y1提供的50MHz时钟,连接在EP2C35芯片的N2引脚上;另一个是晶振Y3提供的27MHz时钟,连接在EP2C35芯片的D13引脚上;还可以从接口J5输入外部时钟,连接到EP2C35芯片的P26引脚上。
本设计采用Y1提供的50MHZ频率经过二分频后产生25MHZ来作为系统的时钟频率,以满足系统的时钟要求。
(3)VGA接口
开发板上的VGA接口,为本设计的硬件下载调试带来了极大的方便。
开发板上的EP2C35F672C6芯片通过D/A转化芯片ADV7123连接到VGA接口来控制一个外接的显示器。
VGA接口,也称D-sub接口,上面共有15针空,分成三排,每排五个,如图3-2所示。
FPGA将产生以下信号:
十位的RGB三基色信号、HS(行同步信号)、VS(场同步信号),BLANK(消隐信号),SYNC(同步信号)来控制外接的显示器。
VGA接口与ADV7123的原理图连接如图3-3所示。
1:
红基色 2:
绿基色 3:
蓝基色 4:
地址码 5:
自测试
6:
红地 7:
绿地 8:
蓝地 9:
10:
数字地
11:
地址码12:
地址码13:
行同步14:
场同步15:
地址码
图3-2VGA接口引脚信号图
3.3.2 VGA接口与ADV7123的原理图
图3-3VGA接口与ADV7123的原理图
DE2开发板选用的FPGA芯片EP2C35F672C6是Altera公司的CycloneII系列产品之一。
芯片封装为672引脚的FinelineBGA,是2C35中引脚最多的封装,有475个I/O引脚供用户使用。
该芯片由33216个LE组成。
片上有105个M4KRAM块,每个M4KRAM块由4K位的数据RAM加512位的校验位组成,共有483840位。
端口数据宽度根据需求进行配置,可以是1、2、4、8、9、16、18、32或36位。
在1、2、4、8、9、16、18等模式下,是真正的双端口操作,即可以配置成一读一写、两读或两写。
EP2C35片内有35个18x18的硬件乘法器,利用Altera公司提供的DSPBuilder和其他DSP的IP库,可以低成本地实现数字信号处理。
EP2C35片上有4个PLL,可实现多个时钟域。
本设计使用到的教学开发板板载此芯片,利用QuartusⅡ将VHDL程序下载到此芯片进行硬件调试。
4 VGA彩条控制器的硬件设计4.1 系统设计框图
根据自顶向下的程序设计思想,采用模块化设计,对VGA图形控制器进行功能分离并按层次设计。
利用VHDL硬件描述语言逐一对每个功能模块进行描述,并逐个通过编译仿真,最后下载到硬件平台调试。
本设计的VGA控制器主要由以下模块组成:
分频模块:
由于实验室提供的FPGA开发板的时钟源为50MHZ,而VGA工业标准要求为25.175MHZ约等于25MHZ;因此必须对50MHZ进行二分频,本设计采取QuartusⅡ自带的PLL锁相环技术来进行50MHZ的二分频,以符合VGA工业标准要求的25MHZ的频率。
VGA时序控制模块:
此模块是本设计的最重要的模块。
根据VGA工业标准的要求:
行频:
31469HZ,场频:
59.94HZ,进行VHDL语言设计,以产生符合工业标准的行同步信号和场同步信号并添加一些输出端口,以方便验证模块的正确性。
LPM_ROM模块:
设计此模块的目的在于,结合二分频模块和VGA时序控制模块构成一个完整的VGA控制器,并在VGA显示器上实现出字符、汉字及单色图像的显示,以验证VGA图像控制器的正确性。
本设计利用实验室开发板板载的FPGA片上ROM存储数据,并利用QuartusⅡ软件上的LPM宏模块定制工具来设计FPGA片上ROM的读取控制。
图4-1显示系统整体框图[8],图4-2为DE2板上的实际连线图。
图4-1VGA图像控制器硬件设计框图
图4-2硬件连接图
5.设计源程序及引脚的封装
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYcolorIS
PORT(CLK,MD:
INSTD_LOGIC;
HS,VS,PCLK,SYNC,BLANK:
OUTSTD_LOGIC;
G:
OUTSTD_LOGIC_VECTOR(9DOWNTO0);
R:
OUTSTD_LOGIC_VECTOR(9DOWNTO0);
B:
OUTSTD_LOGIC_VECTOR(9DOWNTO0));
ENDcolor;
ARCHITECTUREbehavOFcolorIS
COMPONENTpll1
PORT(inclk0:
INSTD_LOGIC;c0:
OUTSTD_LOGIC);
ENDCOMPONENT;
SIGNALHS1,VS1,FCLK,SYNC1,BLANK1,BLANK2:
STD_LOGIC;
SIGNALMMD:
STD_LOG
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FPGADE270 VGA