基于FPGA的条纹显示设计与实现论文.doc_第1页
基于FPGA的条纹显示设计与实现论文.doc_第2页
基于FPGA的条纹显示设计与实现论文.doc_第3页
基于FPGA的条纹显示设计与实现论文.doc_第4页
基于FPGA的条纹显示设计与实现论文.doc_第5页
免费预览已结束,剩余4页可下载查看

下载本文档

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

文档简介

基于fpga的条纹显示设计与实现1 fpga介绍fpga(field programmable gate array,现场可编程门阵列),它是在pal、gal、cpld等可编程器件的基础上进一步发展的产物。它是作为asic(application specific integrated circuit,专用集成电路)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。1.1 工作原理fpga采用了逻辑单元阵列lca(logic cell array)这样一个概念,内部包括可配置逻辑模块clb(configurable logic block)、输出输入模块iob(input output block)和内部连线(interconnect)三个部分。 现场可编程门阵列(fpga)是可编程器件,与传统逻辑电路和门阵列(如pal,gal及cpld器件)相比,fpga具有不同的结构。fpga利用小型查找表(161ram)来实现组合逻辑,每个查找表连接到一个d触发器的输入端,触发器再来驱动其他逻辑电路或驱动i/o,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到i/o模块。fpga的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与i/o间的联接方式,并最终决定了fpga所能实现的功能,fpga允许无限次的编程。1.2 基本特点1)采用fpga设计asic电路(专用集成电路),用户不需要投片生产,就能得到合用的芯片。2)fpga可做其它全定制或半定制asic电路的中试样片。3)fpga内部有丰富的触发器和i/o引脚。4)fpga是asic电路中设计周期最短、开发费用最低、风险最小的器件之一。5) fpga采用高速cmos工艺,功耗低,可以与cmos、ttl电平兼容。可以说,fpga芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。fpga是由存放在片内ram中的程序来设置其工作状态的,因此,工作时需要对片内的ram进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,fpga芯片将eprom中数据读入片内编程ram中,配置完成后,fpga进入工作状态。掉电后,fpga恢复成白片,内部逻辑关系消失,因此,fpga能够反复使用。fpga的编程无须专用的fpga编程器,只须用通用的eprom、prom编程器即可。当需要修改fpga功能时,只需换一片eprom即可。这样,同一片fpga,不同的编程数据,可以产生不同的电路功能。因此,fpga的使用非常灵活。2 vga介绍vga(video graphics array)是ibm在1987年随ps/2机一起推出的一种视频传输标准,具有分辨率高、显示速率快、颜色丰富等优点,在彩色显示器领域得到了广泛的应用。vga(video graphics array,视频图像阵列)接口是一种d型接口,上面共有15针孔,分成三排,没排五个。其中,除了2根nc(not connect)信号、3根显示数据总线和5个gnd信号,比较重要的是3根rgb彩色分量信号和2根扫描同步信号hsync和vsync针。vga接口中彩色分量采用rs343电平标准。rs343电平标准的峰峰值电压为1v。vga接口是显卡上应用最为广泛的接口类型,多数的显卡都带有此种接口。现行的vga接口设计都用于crt显示器,用于计算机的输出设备。主要端口说明如表2.1所示。表2.1 主要端口说明端口功能osc_50输入,时钟信息rst_n输入,复位信号,低电平有效sw输入,电键选择vga_clk输出,vga工作时钟,由osc_50二分频产生vga_hs输出,vga行频率输入信号vga_vs输出,vga场频率输入信号vga_blank输出,vga复合空白对照输入信号,高电平时有效vga_sync输出,vga同步信号,低电平有效vga_r输出,vga红色信号输入信号,10位vga_g输出,vga绿色信号输入信号,10位vga_b输出,vga蓝色信号输入信号,10位工作原理通用vga显示卡系统主要由控制电路、显示缓存区和视频bios(basic input output system即基本输入输出系统)程序三个部分组成。控制电路主要完成时序发生、显示缓冲区数据操作、主时钟选择和d/a(digital to analog即将数字信号转换为模拟信号)转换等功能;显示缓冲区提供显示数据缓存空间;视频bios作为控制程序固化在显示卡的rom(read-only memory即只读存储器)中。要实现vga显示就要解决数据来源、数据存储、时序实现等问题,其中关键还是如何实现vga时序。vga的标准参考显示时序如图2所示。行时序和帧时序都需要产生同步脉冲(sync a)、显示后沿(back porch b)、显示时序段(display interval c)和显示前沿(front porch d)四个部分。vga显示采用逐行扫描方式。扫描是从屏幕的左上方开始,从左到右,从上到下。每扫完一行,电子束回到左边下一行的开始位置。期间对电子束进行行消隐。并在每行结束时,用行同步信号对行进行同步,扫描完所有行后,再用场同步信号对场进行同步,并使电子束回到屏幕的左上方,同时对场进行消隐,并预备下一次扫描。行扫描从每一行的左边开始,采用的时钟为25mhz,每一个时钟周期,对应该行上的一个像素点。从左到右的扫描过程中,包括行消隐、行图像输出两个过程,每完成一次从左到右的行扫描,则显示一行的像素点。行扫描时序如图2.1所示。图2.1 vga行扫描时序场扫描从屏幕最上端一行开始,从上到下进行扫描。每行扫描完成一次时,以场扫描的溢出信号作为时钟,每一个时钟周期,对应屏幕上的一行。场扫描的过程,包括场消隐、场图像输出两个过程,每完成一次从上到下的场扫描过程,则完成一帧图像的输出。3 软硬件开发概述3.1 de2开发板本次设计使用的是altera公司的de2开发板,如图3.1所示。图3.1 de2开发板在本次设计中,所用实验室资源de2板(ep2c35f672c6)除了将其数据线与所用电脑主机相连外,还需用9v电源,否则de2板无法工作。de2开发板是以cyclone ii 2c35fpga为特点的672针引脚的包装。板上所有重要的部件都与板上的芯片相连,使用户能够控制板上各种的操作。de2板包括了很多开关(兼有拨动开关和按键),发光二极管和七段数码管。需要进行处理器和i/o接口实验时,也有标准mic、line-in、line-out接口(24位音频解编码器),video-in(tv decoder)和vga(10-bit dac);de2还提供了usb2.0接口(包括主、从usb),10/100m自适应以太网,红外(irda)接口,以及sd卡接口。de2以cyclone ii fpga为核心芯片,可自由选择存储卡以及一些高级的i/o口驱动,对各类数字系统的实现来说是一个理想的平台,它还有音频、视频、网络和存储设备。对以altera nios ii为处理器的嵌入式应用中也是一个理想工具。de2开发板的资源非常丰富,主要器件接口有:fpga;i/o驱动;存储设备;开关,发光二极管,液晶和晶振;超强多媒体。本系统选用的是altera公司的cyclone ii系列的ep2c35f672c6芯片,此系列芯片不但具有高性能、高密度和非常大的灵活性,还具有改进的结构、先进的处理技术、现代化的开发工具以及多个宏功能模块可选用等优点。cyclone ii系列的ep2c35f672c6芯片,它具有672个引脚,其中475个i/o通信口。同时还有33216个逻辑单元、105m4k ram、35个乘法器以及4个同步逻辑器。由于cyclone ii系列芯片有高性能、高密度和非常大的灵活性,所以采用该芯片可以很好的实现设计功能。3.2 quartus ii的使用quartus ii 开发流程如图3.2所示。图3.2 quartus ii 开发流程框图本次设计用的是实验室资源quartus ii 9.1版本。本设计中的软件设计是基于硬件描述语言verilog hdl编程语言。它是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。verilog hdl是在用途最广泛的c语言的基础上发展起来的一种硬件描述语言,它简单、规范,描述硬件单元的结构单元的结构简单且易读。4 设计实现本次设计采用vga的工作标准(64048060hz)模式,对应的时钟频率(clock frequency)为25.175mhz(像素输出频率);行频(line frequency)为31946hz;场频(field frequency)为59.94hz(每秒图像刷新频率),设计vga显示控制器时,并需要严格遵循“vga工业标准”,否则会损坏vga显示器。4.1 硬件结构系统的硬件电路在altera公司的de2开发板上完成,实现fpga对vga显示器的控制。本系统由fpga最小系统、d/a转换模块、显示接口模块组成,从而实现对行场信号的控制。其结构如图4.1所示。图4.1 硬件结构设计示意图本系统用到的有:一块fpga核心板,板上有cycloneii ep2c35f672芯片以及外围电路;d/a转换电路;vga接口电路。通过计算机编程,将图像数据与时序信号一同下载进入fpga,经过fpga的处理,再通过d/a转换电路,完成数字信号向模拟信号的转换,最后由vga接口输出,在显示器上显示图像。本系统结构简单、设计方便,从而实现显示条纹的功能。4.2 设计原理图本设计使用640480的分辨率,vga电路原理如图4.2所示。图4.2 vga电路原理图de2开发板包括一个15针的vga输出的d-sub连接器。在vga同步信号提供直接的cyclone ii器件和模拟器件adv7123三重10位高速视频dac是用来产生模拟数据信号(红色,绿色和蓝色)。其中包括8个输入信号,它们是:红、绿、蓝三种颜色信号输入vga_r0:9、vga_g0:9、vga_b0:9 ,复合空白对照输入信号vga_blank,复合同步控制输入vga_sync,输入时钟vga_clock,以及行场频率输入信号vga_hs、vga_vs11。这些电路组合能最高支持16001200100mhz的分辨率。4.3 vga编程设计vga图像控制器是一个较大的数字系统。本设计显示图像时采用模块化设计原则和自顶向下的设计思想,进行功能分离并按层次设计。将verilog硬件描述语言设计与原理图设计相结合,逐一对每个功能模块进行仿真,使顶层vga图像控制器的模块实体仿真综合得以顺利通过。vga控制器主要由以下模块组成:消隐模块,显示模块,汉字显示模块,图像控制模块等。本设计的目标是:运用verilog hdl实现通过vga接口使图形和文字在显示器上的显示。本设计总体代码流程如图4.3所示。图4.3 设计代码编写总体框图vga工作时钟频率为25mhz,但系统只能提供osc为50mhz的频率,故需通过二分频来满足vga工作时钟要求。本设计利用quartus ii 自带的宏功能锁相环pll产生分频器,并在顶层模块例化。设置输入时钟50mhz,输出25 mhz,得到时钟可例化.v文件、图形文件等。打开产生的.bsf文件,有图4.4。图4.4 vga工作时钟的产生编写vga行频率程序,场频率程序,和有效显示标志位产生程序。vga行频率程序如下:always(posedge clk_to_dac or negedge rst_n)begin if(!rst_n)begin h_cont = 0; vga_hs = 0; x = 0; end else begin if(h_conth_total) h_cont = h_cont+1b1; else h_cont = 1b0; /判断行计数器是否小于h_total,若是则加一,否则为0 /horizontal sync if(h_cont=h_front-1) /front porch end vga_hs = 1b0; /判断显示前沿是否结束,若是则行频率置0 if(h_cont=h_front+h_sync-1) /sync pulse end vga_hs =h_blank) x = h_cont-h_blank;/判断横坐标是否大于消隐值,若大于则根据等式赋值给x,否则置0 else x = 0; endend 显示条纹时,设置了一个复位键,四个电建sw0、sw1、sw2、sw3,四个电建优先有效由高到低。当按下复位键时,显示器为白色背景;当sw0有效时,显示器显示的条纹颜色从上到下依次为红绿蓝;当sw1有效时,显示器显示的条纹颜色依次为白绿蓝;当sw2有效时,显示器显示的条纹颜色依次为黄白蓝;当sw3有效时,显示器显示的条文颜色依次为红绿白。4.4 下载验证打开quartus ii 9.1,建立一个工程,将设计(verilog hdl)输入,之后选择芯片类型(ep2c35f672c6),综合、布局布线、调试、时序分析、仿真

温馨提示

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

最新文档

评论

0/150

提交评论