基于FPGA的VGA显示模块设计_第1页
基于FPGA的VGA显示模块设计_第2页
基于FPGA的VGA显示模块设计_第3页
基于FPGA的VGA显示模块设计_第4页
基于FPGA的VGA显示模块设计_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘 要VGA(Video Graphics Array视频图像阵列)是一种标准的显示接口。伴随着嵌入式系统的迅速发展,尤其是告诉图像处理的发展,对可以将实时图像处理进行显示有更多的需求。VGA接口广泛应用于机场、车站等公共场所的广告宣传和文字提示。本次设计基于Altera公司的FPGA(现场可编程门阵列)Cyclone系列芯片,应用了Quartus仿真软件,并采用Verilog HDL语言进行设计,在基于FPGA逻辑器件、软件和描述语言下,设计了VGA显示控制器,把程序在Quartus中进行编译后,加载进FPGA开发板,并在显示器中显示出彩色条纹。设计还简述了Quartus仿真软件的基本操作方

2、法,同时还介绍了FPGA逻辑器件的相关知识和Verilog硬件描述语言的相关知识。关键词:FPGA;VGA接口;Verilog HDL;Quartus IIAbstractVGA (Video Graphics Array Video image Array) is a standard display interface.Along with the rapid development of embedded system, tell the development of image processing, especially for real-time image processing

3、can be more demand for display.VGA interface is widely used in airports, stations, public places of advertising and the tooltip.This design is based on Altera corporation FPGA (field programmable gate array) Cyclone series chips, and applied the Quartus simulation software, and carries on the design

4、 using Verilog HDL language, based on the FPGA logic devices, software and description language, VGA display controller was designed, the application in the Quartus after compiled , loaded into the FPGA development board, and show the chromatic stripe in the display.Design also has summarized the Qu

5、artus simulation software of the basic operation method, and also introduced the relevant knowledge of the FPGA logic devices and Verilog hardware description language knowledge.Keywords: FPGA; VGA Interface; Verilog HDL; Quartus II目 录1 绪论11.1 选题背景11.2 发展趋势21.3 研究方法和手段41.4 研究预期成果42 硬件电路设计52.1 系统整体结构

6、52.1.1 电路图说明52.1.2 模块分化62.2 FPGA模块72.2.1 FPGA简介72.2.2 Cyclone芯片介绍92.2.3 时钟模块92.2.4 电源模块102.2.5 D/A转换电路模块102.3 实验开发板简介103 VGA显示原理123.1 VGA简介123.2 VGA显示接口123.3 VGA显示143.3.1 VGA原理图153.3.2 VGA行同步与场同步时序153.4 VGA工业显示标准163.5 VGA扫描方式173.6 VGA显示时序194 开发软件及程序设计204.1 Quartus II简介204.2 Verilog HDL语言简介214.3 代码设计

7、214.4 代码调试274.4.1 编译方式274.4.2 引脚配置284.4.3 文件加载294.4.4 显示图像305 结论34致 谢35参考文献36附录A37附录B38附录C52附录D57V1 绪论1.1 选题背景自1985年Xilinx公司推出第一片现场可编程器件(FPGA)至今,FPGA历史已经经历了几十年的发展历史。在这几十年的发展过程中,以FPGA位代表的数字系统现场集成技术取得了惊人的发展:现场可编程器件从最初的1200个可利用门,发展到90年代的25万个可利用门,新世纪来临之际,国际上现场可编程逻辑器件的著名厂商Altera公司、Xilinx公司又陆续推出了数百万门的单片FP

8、GA芯片,将现场可编程器件的集成度提高到一个新的水平。纵观现场可编程器件的发展历史,其之所以具有巨大的市场吸引力,根本在于FPGA不仅可以解决电子系统小型化、低功耗、高可靠性等问题,而且其开发周期短、开发软件投入少、芯片价格不断降低,促成FPGA越来越多地取代了ASIC的市场,特别是对小批量、多品种的产品需求,使FPGA成为首选1。自二十年前发明世界上第一个可编程逻辑器件开始,Altera公司秉承了诚信的传统,是世界上“可编程芯片系统”(SOPC)解决方案倡导者。Altera的主流FPGA分为两大类:一种侧重低成本应用,容量中等,性能可以满足一般的逻辑设计要求,如Cyclone,Cyclone

9、 II;还有一种侧重于高性能应用,容量大,性能满足各类高端应用,如Stratix,Stratix II等,用户可以根据自己实际应用要求进行选择。在性能可以满足的情况下,优先选择低成本器件。VGA的英文全称是Video Graphic Array,即视频图形门阵列。VGA支持在640*480的较高分辨率下同时显示16种色彩或256中灰度,同时在320*230分辨率下可以同时显示256种颜色。VGA由于良好的性能迅速开始流行,厂商们纷纷在VGA基础上加以扩充,如将显存提高至1M并使其支持更高分辨率如800*600或1024*768,扩充的模式就称之为VESA(Video Electronics S

10、tandards Association,视频电子标准协会)的Super VGA模式,简称SVGA,现在的显卡和显示器都支持SVGA模式2。显卡所处理的信息最终都要输出到显示器上,显卡输出接口就是电脑与显示器之间的桥梁,他负责向显示器输出相应的图像信号,CRT显示器因为设计制造商的原因,只能接收模拟信号输入,这就需要显卡能输出模拟信号,VGA接口就是显卡上输出模拟信号的接口。目前大多数计算机与外部显示设备之间都是通过模拟VGA接口连接,计算机内部以数字方式生成的显示图像信息,被显卡的数字(模拟)转换器转变为R、G、B三原色信号和行、场同步信号,信号通过电缆传输到显示设备中。对于模拟现实设备,如

11、模拟CRT显示器,信号被直接送到相应的处理电路,驱动控制显像管生成图像3。现行的VGA接口大都用于CRT显示器,用于计算机的输出设备,另外,在很多图像采集输出的地方也占有一席之地。例如车载监控系统,图像识别等领域。1.2 发展趋势EDA/SOPC技术通过软件编程方式设计硬件,能随时对视对设计进行调整,具有集成度高,结构灵活、开发周期短、可靠性高等特点,广泛应用于工业控制、数字信号处理等领域。如今越来越多的数字产品开始使用液晶作为显示终端,但基于VGA标准的显示器仍是目前普及率最高的显示器。若驱动此类显示器,需要很高的扫描频率,以及极短的处理时间,正是由于这些特点,所以可以用FPGA来实现对VG

12、A显示器的驱动。本次毕业设计就是选用FPGA来实现VGA彩色条纹和方格的显示4。FPGA(现场可编程门阵列)器件是Xilinx公司1985年首家推出的,是一种新型的高密度PLD。近年来,FPGA发展的十分迅速,其出现是超大规模集成电路技术和计算机辅助设计技术发展的结果。与传统的PLD芯片(Programmable Logic Device)相比,FPGA芯片由于采用类似于门阵列的结构,因此规模可以做的较大,可现实的功能更强,设计的灵活性也更大。以Altera公司的高密度芯片APEX系列为例,其最大门数已达数百万门5。FPGA(CPLD)芯片中包含复杂的触发器资源,有些型号还具有片上RAM、内部

13、总线等许多系统级的功能,因此完全可以实现子系统甚至系统的集成。就其互连结构而言,典型的FPGA芯片通常采用分段互连式结构,具有走线灵活,便于实现复杂功能的多级结构等特点,从而在很大程度上减轻了印刷电路板上器件的布局和走线负担6。目前,FPGA芯片已成为九十年代以来最受欢迎的器件之一。随着FPGA芯片的广泛应用,高性能高密度的FPGA在生产工艺、器件的编程和测试技术等方面都有了飞速发展。由于FPGA器件实现的各功能块可以同时工作,从而实现指令级、比特级、流水线级甚至是任务级的并行执行,从而大大地加快了计算速度。由FPGA现实的计算系统可以达到现有通用处理器的数百甚至上千倍。并且,由于FPGA可动

14、态地配置,系统的硅片面积不再是所支持无线接口数的线性函数,因此有可能在很少的几片甚至一片FPGA中集成一个支持所有标准的系统7。由于FPGA在性能、成本、灵活性和功耗等方面的优势,基于FPGA的信号处理器已广泛应用于各种信号处理领域,如手机基站、卫星通信系统、交换机、路由器、调制解调器等。FPGA尤其适合于乘法和累加复杂的DSP任务。因此在复数乘法、数字滤波器设计和FFT等数字信号处理领域表现出较好的优越性,因此在告诉数字信号处理系统中得到了较多的应用,FPGA提供了极强的灵活性,是开发者能够开发出满足多种标准的产品。例如,万能移动电话能够自动识别GSM、CDMA、TDMA等不同的信号标准,并

15、可以自动重配置以适应所识别的协议8。FPGA固有的灵活性和性能也是设计者能够紧跟新标准的变化,提供相应可行的方法。开发者使用FPGA设计,结合相应的EDA设计工具,可以很方便的对产品进行改善或升级。由于FPGA资源丰富及功能强大,以及有相应的EDA软件进行功能完善和加强,在仿真能力便捷实时,硬件因素涉及并没有增加,使得基于EDA的FPGA开发技术很快成为复杂数字系统设计的主流。但是,FPGA在应用中也有一定的局限性。其中之一为其内部资源的限制,当通信系统功能扩充后,新增的逻辑有可能耗尽片内的资源,同时受到不限资源、I/O资源和寄存器数目的限制,FPGA内部往往无法被全部利用。不过,随着大规模F

16、PGA的研制开发,这种局限性已经得到了缓解。如Xilinx推出的Virtex系列内部资源可达300万门,并已经在UMTS无线系统的基站中得到了应用。FPGA的另外一个局限性体现在由运算效率高而相应带来的灵活性的下降。这指的是一旦将FPGA内的资源用于某项特定的任务(如FFT),则该部分资源就无法从事另一项不同的任务(如FIR滤波)。但是,在线配置和部分配置技术的出现使得内部资源的重新分配成为可能,从而使这个矛盾也得到了缓解。FPGA的运行速度快,管脚资源丰富,容易实现大规模的系统设计,有大量的软核可用,便于进行二次开发。另外,由于FPGA具有可重构能力,抗干扰性强等特点,因此,FPGA在工业控

17、制等领域越来越受到重视。利用FPGA完成VGA显示控制,可以使图像的显示脱离PC机的控制,形成体积小、功耗低的嵌入式系统,应用于地面勘测、性能检测等方面,具有重要的实现意义9。VGA(Video Graphics Array)是IBM在1987年随PS/2机一起推出的一种视频传输标准,具有分辨率高、显示速率快、颜色丰富等优点,在彩色显示器领域得到了广泛的应用。目前VGA技术的应用还主要局域VGA显示卡的计算机、笔记本等设备,而在一些既要求显示彩色高分辨率图像又没有必要使用计算机的设备上,VGA技术的应用却很少见到10。本文基于FPGA的VGA显示卡和计算机的情况下,实现VGA图像的显示和控制。

18、系统具有成本低、结构简单、应用灵活的有点,可广泛应用于超市、车站、飞机场等公共场所的广告宣传和提示信息显示,也可应用于工厂生产车间生产过程中的操作信息显示,还能以多媒体形式应用于日常生活。1.3 研究方法和手段在图像处理中,如果采用传统的方法,需要将图像数据传入电脑,通过CPU将信号进行处理,这样就会使系统依赖于电脑,降低灵活性,同时也会造成资源的浪费。如果我们采用FPGA来进行VGA的显示,就可以使数据在开发版中进行处理,而不需要依赖电脑,同时可以减少电路板的尺寸,增强系统的灵活性。VGA作为一种常用的显示标准,VGA接口可以容易的与CRT、LCD连接,使系统更加便携。本次设计正是通过现实F

19、PGA控制VGA的显示,将预设的图像进行显示,从而实现图像的便携传输。本次设计分为硬件与软件两部分组成,实现彩色条纹在分辨率800*600,刷新频率为60MHz的VGA显示器上显示。具体工作位:1) 硬件部分,使用Altera公司的FPGA开发板进行硬件测试; 2) 软件部分,通过Verilog HDL语言对800*60060Hz分辨率数据、行/场时序控制模块、VGA显示模块的编译,利用Quartus II软件实现编译、和文件加载。1.4 研究预期成果本次设计通过使用Altera公司的FPGA硬件开发板,Quartus II软件的软件编程来实现VGA接口的功能,设计的结果要达到以下二点:1)

20、设计的VGA接口分辨率为800*600,刷新频率为60Hz2) 能够显示彩色条纹和方格,图像显示合乎设计要求。2 硬件电路设计2.1 系统整体结构系统电路设计是在Altera公司的FPGA开发板基础上完成,实现FPGA对VGA显示器的控制。系统有FPGA系统、D/A转换模块、VGA显示接口模块组成,通过对行/场信号的控制,实现图像的显示。系统结构示意如图2.1所示。RGB图2.1 系统结构示意图2.1.1 电路图说明由系统结构示意图,根据设计的要求,系统设计需要用:一块Altera的FPGA核心板,Cyclone系列的EP1C6Q240C8芯片;D/A转换器;VGA接口。通过计算机编程,将图像

21、数据与时序信号一同下载进入FPGA,通过FPGA的处理,再通过D/A转换电路,完成数字信号想模拟信号的转换,最后由VGA接口输出,在显示器上显示图像,从而实现彩色条纹和方块的显示。系统信号: G、R、B(三基色信号);hsync行同步信号;vsync场同步信号;resetn复位信号;clock时钟信号。设计电路图如 图2.2 所示。图2.2 电路图2.1.2 模块分化由设计电路可知,设计由FPGA系统、VGA显示接口模块和显示器组成,通过对行/场信号的控制,实现图像的显示。其中FPGA系统里包含了时钟模块、D/A转换电路模块和电源模块。时钟模块保证输入到VGA显示接口模块的时钟频率为60Hz;

22、D/A则是让数字信号变为可以通过VGA接口读取的模拟信号,以便在CRT显示器上显示图像;电源模块为了保证电路板能够正常供电;VGA接口模块是对现实的显示内容进行控制。2.2 FPGA模块2.2.1 FPGA简介FPGA(Filed Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半订制电路而出现的,既解决了订制电路的不足,又克服了原有可编程器件门电路数有限的缺点11。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置

23、逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA的基本特点主要有: 1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。2)FPGA可做其它全定制或半定制ASIC电路的中试样片。3)FPGA内部有丰富的触发器和IO引脚。4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。5)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容20。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一

24、,FPGA是由存放在片内RAM中的程序来设置其工作状态的。因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。FPGA的工作机理基于查找(Look-Up-Table,L

25、UT),LUT其实就是一个RAM。目前很多FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线、大小位16×1的RAM、当用户通过HDL语言描述了一个逻辑电路以后,FPGA的开发软件会自动计算逻辑电路所有可能的结果,并事先把计算好的结果记入RAM中。这样,每当有信号输入需要进行逻辑运算时,不必再用门去搭电路了,只要把输入作为一个地址进行查表,找出对应地址所存储的内容,然后输出即可。图2.3所示位一个4输入与门的LUT实现。这个例子很简单,只需要一个LUT就可以完成。对于一个LUT无法完成的电路,则需要通过进行逻辑信号将多个单元相连,这样FPGA就可以实现复杂的逻辑

26、了12。图2.3 LUT原理图FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输入输出模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。图2.4是一般FPGA的结构图。图2.4 FPGA结构图因为LUT主要适合于SRAM工艺生产,所以目前大部分FPGA都是基于SRAM工艺的,而SRAM工艺的芯片在掉电后信息就会丢失,必须外加一片专用配置芯片,可以是EPROM芯片。在加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完

27、成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只需通用的EPROM、PROM编程器即可。由于配置时间很短,因而不会影响系统正常工作。当然也有少数FPGA采用反熔丝或FLASH工艺,对这种FPGA就不需要外加专用的配置芯片了。这样,同一片PFGA,不同的编程数据可以产生不同的电路功能。因此,FPGA的使用非常灵活。随着的不断发展以及用户需求的不断提出,FPGA的技术也在不断地发展。随着工艺和数字电路技术的不断进步,FPGA芯片的集成度会更高,功能会更强,速度会更快,功耗会更低。2.2.2 Cyclon

28、e芯片介绍Cyclone系列是Altera公司中等规模的FGPA芯片,2003年推出,0.13um工艺,1.5V内核供电,是一种低成本FPGA系列芯片,也是目前主流产品,其配置芯片业改用全新的产品。同时也是Altera公司最成功的器件之一,性价比低,适合中低端应用的开发。本次设计采用Altera公式提供的Cyclone系列的EP1C6Q240C8芯片,该芯片采用240脚的PQFP封装,提供185个I/O接口。该芯片拥有5980个LEs;可提供92160bit的RAM;芯片内部还自带有2个锁相环,可以高速运行的时候保证系统时钟信号的稳定性13。2.2.3 时钟模块设计需要一个时钟模块对时钟信号进

29、行调节,由于开发板提供的时钟频率为50MHz,而VGA显示800*60060Hz的时钟信号为40MHz,点扫描频率为60Hz,从而需要一个时钟模块,并对模块的相应参数进行设置,使得输出时钟信号满足设计要求。时钟模块电路图如图2.5所示。图2.5 时钟模块电路图电路中clocki为时钟信号输入,除c0为时钟信号输出,生成40MHz时钟信号。2.2.4 电源模块设计的开发板所用的外部供电为5V电源,可一直用5V的电源变压器插上使用。在电路中,由于涉及的参考电压较多,FPGA的I/O接口电压为3.3V,系统3.3V电源由外部电源从220V电压转换成3.3V电压得到。接好电源后,若红色指示灯亮,则说明

30、供电正常。2.2.5 D/A转换电路模块由于FPGA中处理的信号为数字信号,本次设计要在CRL显示器中显示图像,而CRL显示只能接收模拟信号,所以本次实验要用到D/A转换模块。所以需要一个D/A转换电路模块生成模拟信号,以便VGA显示器读取。2.3 实验开发板简介本次设计采用板采用 Altera 公司Cyclone 系列EP1C6Q240C8芯片而设计的。开发板上使用JTAG 接口对芯片进行编程和程序加载,利用AS配置EPCS4 Flash芯片。自带的ByteBlasterII下载线可以下载Altera公司的所有FPGA芯片。下载模式有AS模式和JTAG模式:AS(Active Serial)

31、是FPGA重要的配置方式,由FPGA器件引导配置操作过程,它控制着外部存储器和初始化过程,并使用Altera串行配置器件来完成。Cyclone器件处在主动地位时,配置器件处于从属地位。配置数据通过DATA0引脚送入FPGA。配置数据被同步在DCLK输入上,1个时钟周期传送1为数据。JTAG模式主要用于芯片内部测试,其中的TMS、TCK、TDI、TDO分别为模式选择、时钟、数据输入和数据输出线。在EP1C6Q240C8芯片上对应的引脚为148、147、155、149。JTAG是串行接口,使用I/O产生JTAG时序。JTAG编程方式是在线编程,传统生产流程中线对芯片进行与预编程后再装到板子上,在用

32、JTAG编程,从而可以大大加快工程进度。本次设计的开发板实物图如图2.6所示。图2.6 开发板实物图3 VGA显示原理3.1 VGA简介VGA(Video Graphics Array,视频图形阵列):是IBM于1987年提出的一个使用类比讯号的电脑显示标准。具有分辨率高、显示速率快、颜色丰富等优点,在彩色显示器领域得到了广泛的应用。但不支持热插拔,不支持音频传输。即使如此,VGA仍然是最多制造商所共同支援的一个低标准,个人电脑在加载自己的独特驱动程式之前,都必须支持VGA的标准。例如,微软Windows系列产品的开机画面仍然使用VGA显示模式,这也说明其在显示标准中的重要性和兼容性。VGA支

33、持在640*480的较高分辨率下同时显示16种色彩或256种灰度,同时在320*240分辨率下就可以同时显示256种颜色14。3.2 VGA显示接口计算机显示器的显示有许多标准,最常见的是VGA,SVGA等。VGA是Video Graphics Array的缩写,信号类型为模拟类型,显示卡端的接口为15针插座,分公头和母头两种接口。接口如图3.1所示。公插头(显示输出) 母插头(PC显卡端)图3.1 VGA接口VGA接口有15个脚,1、2、3脚分别接D/A转换器的输出R、G、B三色数字信号;13脚接行同步信号;14脚接场同步信号;5、6、7、8、10脚接地;其余引脚均悬空。VGA显示接口还可以

34、分为三组:第一组为RGB三色模拟信号入线,输入信号为00.7VP-P;第二组是RGB三色底线,使用过程中,需要做接地处理;第三组为时序信号线,分别是行同步线(Horizon Synchronizing,hsync),场同步线(Vertical Synchronizing,vsync),这两条线控制了VGA的显示时序;其他为辅助信号线。VGA接口的引脚分配图如图3.2所示。图3.2 VGA接口图VGA接口的引脚功能表如表3.1所示。表3.1 VGA接口的引脚功能表引脚信号定义描述1Red红基色信号2Green绿基色信号3Blue蓝基色信号4、11、12、15Address ID地址码5Self_

35、test自测试信号6Red GND红基色信号地7Green GND绿基色信号地6Blue GND蓝基色信号地9Reserved无定义保留10DGND控制信号数字地13Hsync水平(行)同步信号14Vsync竖直(场)同步信号3.3 VGA显示VGA显示的图像原理:常见的彩色显示器一般由CRT(阴极射线管)构成。彩色是由R、G、B(红:Red,绿:Green,蓝:Blue)三基色组成。显示是用逐行扫描的方式,阴极射线枪发出电子束打在涂有银光粉的荧光屏幕上,产生R、G、B三基色,合成一个彩色像素。VGA显示的控制方式:VGA显示控制器提供了R、G、B三基色图像信号,hsync行同步信号和vsyn

36、c场同步信号。但由于VGA接口显示器仅能处理串行模拟信号,因此,VGA控制器所产生的信号要经D/A转换器将数字信号转变为模拟信号后发送给显示使用。再利用行、场同步信号的计数器,在现实可视区间内按照图签的大小划定行和场的坐标。当扫描点在图像显示区域内时,根据扫描点在图像显示区中的相对坐标位置,计算得到当前要显示的图像像素点在图像存储中的地址,然后读取显示。控制流程图如图3.3所示。图3.3 VGA显示流程图3.3.1 VGA原理图VGA的原理图如图3.4所示。图3.4 VGA原理图图中,13、14脚为VGA同步信号,1、2、3为基色信号,6、7、8我基色接地信号。3.3.2 VGA行同步与场同步

37、时序VGA中定义行时序和列时序都需要同步脉冲(a段)、显示后沿(b段)、显示时序段(c段)和显示前沿(d段)四部分。VGA工业标准(表3.2)显示模式要求:行同步、场同步都为负极性,即同步脉冲要求是负脉冲。行同步时序图如图3.5所示。图3.5 行同步时序图场同步时序图如图3.6所示。图3.6 场同步时序图由VGA行时序可知:每一行都有一个负极性行同步脉冲(a段),是数据行的结束标志,同时也是下一行的开始标志。在同步脉冲之后为显示后沿(b段),在显示时序段(c段)显示器为亮的过程,RGB数据驱动一行上的每一个像素点,从而显示一行。在一行的最后为显示前沿(d段)。在显示时间段之外没有图像投射到屏幕

38、是插入消隐信号。同步脉冲、显示后沿和显示前沿都是在行消隐间隔内,当消隐有效时,RGB信号无效,屏幕不显示数据。VGA的行时序与场时序分析基本一样。3.4 VGA工业显示标准VGA显示标准如表3.2所示。表3.2 VGA工业显示标准表显示模式时钟列时序(列数)场时序(行数)(MHz)ABCDEABCDE同步脉冲显示后沿显示时序显示前沿周期同步脉冲显示后沿显示时序显示前沿周期640*480*6025.17596486401680023348010525640*480*7531.564120640168403164801500800*600*6040.012888800401056423600162

39、8800*600*7549.58016080016105632160016251024*768*6065136160102424134462976838061024*768*7578.8176176102416131232876818001280*1024*60108.011224812804816883381024110661280*800*6083.64136200128064168032480018261140*900*60106.4715223214408019043289001932说明:以本实验的显示标准800*600*60Hz为例。(800为列数,600为行数,60Hz为刷新一屏

40、的频率)场时序:屏幕对应的行数为628(a+b+c+d=e段),其中600(c段)为显示行;每行均有行同步信号(a段),为2个行周期的低电平;行时序:每个显示行包括1056列(a+b+c+d=e段),其中800(c段)为有效显示区,每一行有一个行同步信号(a段),为96个行周期的低电平。由此可知:场频为628*60=0.37680MHz,需要行时钟频率:628*1056*60约为39.79MHz,即时钟频率为0.37680+39.79约为40MHz。3.5 VGA扫描方式显示器扫描方式分为逐行扫描和隔行扫描:逐行扫描是扫描从屏幕左上角一点开始,从左向右逐点扫描,每扫描完一行,电子束回到屏幕的左

41、边下一行的起始位置,在这期间,CRT对电子束进行消隐,每行结束时,用行同步信号进行同步;当扫描完所有的行,形成一帧,用场同步信号进行场同步,并使扫描回到屏幕左上方,同时进行场消隐,开始下一帧。隔行扫描是指电子束扫描时每隔一行扫一线,完成一屏后在返回来扫描剩下的线,隔行扫描的显示器闪烁快速,会使使用者的眼睛疲劳。(本次设计采用逐行扫描的方式:即每一行计数完所有的列之后开始下一行)本次设计扫描是从屏幕的左上方开始,从左到右,从上到下,进行扫描,每扫完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT对电子束进行消隐,每行结束时,用行同步信号进行同步,扫描完所有行,用场同步信号进行场同步,

42、并使扫描回到屏幕的左上方,同时进行场消隐,预备下一场的扫描。在扫描时首先根据刷新频率确定主时钟频率,然后由主时钟频率和图像分辨率计算出行总周期数,再把同步、消隐各时序段的时间按照主计数脉冲源这算成时钟周期数。在FPGA扫描计数器,已计算出各时序段时钟周期数为基准产生不同宽度周期的脉冲信号。行(场)扫描时序图如图3.7所示。 图3.7 行(场)扫描示意图由VGA工业标准计可以得出此次设计的行扫描时序表,如表3.3所示,场扫描时序表如表3.4所示。表3.3 行扫描的时序(单位:像素)a(行同步)b(后沿)c(显示)前沿周期12988800401056表3.4 场扫描的时序(单位:像素)Ta(场同步

43、)b(后沿)c(显示)前沿周期4236001628其中,每次扫描的前段消隐为:同步+后沿;第二段消隐为:同步+前沿。本次设计的VGA显示器编码表,如表3.5所示。表3.5 VGA显示器编码表颜色黑蓝红紫绿青黄白R00110011G00001111B01010101数据编码h0h1h2h3h4h5h6h73.6 VGA显示时序根据行扫描、场扫描时序要求,时序设计的关键在于规定行/场同步消隐,行/场显示时间。VGA图像扫描显示图,如图3.8所示。图3.8 VGA图像扫描显示图4 开发软件及程序设计4.1 Quartus II简介QuartusII软件是Altera公司最新版本的EDA开发软件,支持

44、APEX系列、Cyclone系列、Stratix系列和Excalibur系列等新型系列器件的开发。含有工作组计算、集成逻辑分析仪、EDA工具集成、多过程支持、增强重编译和IP集成等特性。支持百万门级的设计,支持高速I/O设计,具有更强的设计能力和更快的编译速度。QuartusII开发软件为可编程片上系统(SOPC)设计提供了一个完整的设计环境。无论是使用个人电脑、NUIX或Linux工作站,QuartusII都提供了方便设计、快速编译处理以及编程功能。本次设计软件开发平台是Altera公司的Quartus II,Quartus II软件集成了Altera的FGPA/CPLD开发流程中涉及的所有

45、工具和第三方软件接口,是将设计、综合、布局与布线、验证、及第三方EDA工具无缝集成的FPGA开发平台。同时Quartus II还支持三种输入方式:硬件描述语言、图像设计输入以及两者的混合使用。设计者可使用设计编辑器的图形方式编辑顶层设计,然后转成硬件描述语言便于进行仿真综合。Quartus II软件的输入设计过程可分为创建工程、输入文件、项目编译、项目配置、项目校验和编程下载等几个步骤15。流程图如图4.1所示。图4.1 Quartus II软件设计流程图4.2 Verilog HDL语言简介本次设计采用的设计语言是Verilog HDL硬件编程语言。Verilog HDL是目前应用最为广泛的

46、硬件描述语言,是一种以文本形式来描述数字系统硬件的结构和行为的言语,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统多完成的逻辑功能。Verilog HDL是在用途最广泛的C语言基础上发展起来的一种硬件描述语言,它是由GDA(Gateway Design Automation)公司的Phil Moorby在1983年首创,最初只涉及了一个仿真于验证工具,之后又陆续开发了相关的故障模拟与时序分析工具。1985年Moorby推出它的第三个商用仿真器Verilog-XL,获得了巨大的成功,从而使得Verilog HDL迅速得到推广应用。1989年CADENCE公司收购了GDA公司,使得Ve

47、rilog HDL成为该公司独家专利。1990年CADENCE公司公开发布了Verilog HDL,并成立LVI组织以促进Verilog HDL成为IEEE标准,即IEEE Standard 1364-199516。Verilog HDL最大特点是易学易用,有一定C语言的编程经验,可在较短时间内学习和掌握。同时Verilog HDL可以用来进行各种层次的逻辑设计,也可以进行数字系统的逻辑综合,仿真验证和时序分析等。Verilog HDL适合算法级,寄存器级,逻辑级,门级和版图级等各个层次的设计和描述,其设计最大的优点是与其工艺无关性,在功能设计,逻辑验证阶段可以不必过多考虑门级及工艺实现的具体

48、细节,只需根据系统设计的要求施加不同的约束条件,即可设计出实际电路。Verilog HDL是一般就是用来描述FPGA的设计,因为本次设计采用Verilog HDL语言。4.3 代码设计在VGA接口协议中,不同的显示模块都有严格的工业标准、不同的分辨率或不同的刷新频率,参考VGA工业标准。本次设计采用自顶向下的设计思想,进行功能分离并按层次设计。因为开发板的输出时钟为50MHz,而设计需要40MHz的时钟信号,所以要在以前对时钟模块进行设计编辑,输入时钟50MHz输出40MHz;先设置系统时间单位,此处设为1ps,设置输出、输出时钟变量,对数据类型进行定义,然后调用编辑语言的库函数,在对输如输出

49、参数进行声明。代码设计流程图如图4.2所示。图4.2 代码设计流程图具体步骤:首先,对设计电路先对FGPA模块的输入、输出等变量进行设置,clock为时钟信号,resetn为低电平复位,hsync为行信号,vsync为场信号,pixel为最后显示器上输出的颜色,这里R、G、B都是1位,颜色为000-111共八种颜色,分别为000(黑)、001(蓝)、010(绿)、011(青)、100(红)、101(紫)、110(黄)、111(白)。若R(3位)、G(3位)、B(2位),则可以显示256种颜色,这里设置的是8种颜色的输出,代码如下:module vga_vl(resetn,/复位 clock,/

50、时钟信号 hsync,/行信号 vsync,/场信号 pixel,/输出颜色 blank );input resetn,clock;/输入output hsync;/行同步输出output vsync;/场同步输出output blank;output 2:0 pixel;/输出颜色8种,基色:红、黄、绿wire hsync;/数据类型wirereg vsync;/数据类型regreg 2:0 pixel;其次,由工业标准参数对行/场扫描时序参数进行说明。其中,H_PIXELS为行扫描的有效时间,H_FRONTPORCH为行扫描的扫描前沿时间,H_SYNCTIME为行扫描的同步时间,H_BAC

51、KPORCH为行扫描的后沿时间,H_SYNCSTART=V_LINES+ V_FRONTPORCH为行扫描的同步开始时间,H_SYNCEND=V_SYNCSTART+ V_SYNCTIME为行扫描的同步结束时间,H_PERIOD= V_SYNCEND+V_BACKPORCH为行扫描的总周期。场扫描申明也是一样,这里就不一一说明,具体说明和数据代码如下:/行扫描时序参数说明parameter H_PIXELS = 'd800;/有效时间parameter H_FRONTPORCH = 'd40;/前沿时间parameter H_SYNCTIME = 'd128;/同步时间

52、parameter H_BACKPORCH = 'd88;/后沿时间parameter H_SYNCSTART = 'd840;/ H_PIXELS + H_FRONTPORCH,同步开始时间parameter H_SYNCEND = 'd968;/ H_SYNCSTART + H_SYNCTIME,同步结束时间parameter H_PERIOD = 'd1056;/H_SYNCEND + H_BACKPORCH,周期/场扫描时序参数说明parameter V_LINES = 'd600;/有效时间 parameter V_FRONTPORCH = 1

53、;/前沿时间parameter V_SYNCTIME = 'd4;/同步时间parameter V_BACKPORCH = 'd23;/后沿时间parameter V_SYNCSTART = 'd601; /V_LINES + V_FRONTPORCH,同步开始时间parameter V_SYNCEND = 'd605;/ V_SYNCSTART + V_SYNCTIME,同步结束时间parameter V_PERIOD = 'd628; /V_SYNCEND + V_BACKPORCH;周期再次,对行/场时序像素的计数器进行设定,且行/场计数小于扫描周

54、期时计数一次后自动加1,到达周期值时再重新开始进行计数,代码如下:/行时序像素的计数器 always (posedge clock or negedge resetn) if(!resetn) hcnt <= 0; else if(hcnt<H_PERIOD) hcnt <= hcnt + 1; else hcnt <= 0;/场时序像素计数器 always (posedge hsyncint or negedge resetn) if(!resetn) vcnt<=0; else if(vcnt < V_PERIOD) vcnt <= vcnt + 1; elsevcnt<=0;然后,由时序参数和时钟信号设置产生行/场同步信号,产生范围值为:同步结束时间-同步开始时间,行同步信号时间为128,场同步信号时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论