基于FPGA的VGA显示 论文
- 格式:doc
- 大小:327.50 KB
- 文档页数:14
编号基于FPGA的VGA接口显示的设计与实现Design and implementation of VGAinterface based on FPGA display学生姓名王雪专业控制科学与工程学号S120400520指导教师杨晓慧学院电子信息工程学院二〇一三年六月摘要利用现场可编程逻辑器件FPGA产生VGA时序信号和彩条图像信号,并将其作为信号源,应用于彩色等离子显示器的电路开发,方便彩色等离子显示器驱动控制电路的调试。
FPGA芯片具有可靠性高、编程灵活、体积小等优点,实验经过软硬件调试,最终在显示器上显示彩条正确图像。
利用此原理,可以设计更多的彩色图像,且可将采集的图像进行实时显示,将此作为信号源,应用于显示器电路的开发或某些嵌入式系统中,进行视频设备的调试与性能分析或系统中信号处理模块的调试与性能分析等。
关键词:FPGA VGA接口时序控制彩条信号AbstractVGA-timing signals and color strip image were obtained by using FPGA.The signals were used as sources when developing the circuits of color plasma display panel, and it took great convenience to the debugging of the driving and controlling circuit of color plasma display panel.The FPGA chip has the advantages of high reliability, small volume, flexible programming,just because of this,the test could achieve the desired results,display scree displays color bar signals.According to this principle, we can design color image more, and make the image real-time display, such as the signal source, used in display circuit development or some embedded systems, video equipment debugging and performance analysis of the system signal processing module debugging and performance analysis.Keywords:FPGA, VGA interface,timing control, color bar signals目录摘要 (1)Abstract (2)第一章引言 (4)第二章VGA显示接口的方案设计和原理 (5)2.1 VGA接口 (5)2.2 VGA显示原理 (5)2.3 VGA信号时序 (6)2.4 VGA显示方案实现 (7)第三章系统模块设计 (8)3.1系统模块原理图 (8)3.2 分频模块 (8)3.3 VGA彩条信号产生模块 (8)3.4 实验结果 (12)第四章结论 (13)致谢 (14)参考文献 (15)第一章引言视频图形阵列(VGA)作为一种标准的显示接口已经得到广泛的应用。
论文摘要:本论文依据VGA接口原理采用了Verilog HDL语言对Altera的Cyclone系列的FPGA进行了设计,通过MATLAB 二值化得到图片颜色的数据,将得到的数据存储到ROM中,然后读取ROM中的数据直接送到显示器,节省了计算机的处理过程,加快了数据的处理速度,节约了硬件成本。
此方案可以广泛应用于各种仪器,数字视频系统、高分辨率的彩色图片图像处理、视频信号再现等。
论文关键词:现场可编程门阵列,图像控制器,只读存储引言VGA接口显示器是计算机系统以及智能仪器中重要的显示终端设备。
标准的VGA接口需要提供以下几组基本的信号:行同步信号Hsync场同步信号Vsync以及红黄蓝3路模拟信号。
因此要使数字图像信息在VGA接口显示器正确、完整地显示,就涉及到了时序的构建和数字图像信息的模拟化两方面。
如果接口前端无可供利用的时序信息,那么就可参照有关标准来构造时序,这可利用可编程器件很方便地实现;另外由于VGA是一个模拟的接口标准,因此数字图像信息模拟化可用视频DA转换器来实现。
VGA标准是当前最常用的视频显示标准,还包括SVGA、XVGA等子标准。
本文主要以640×480,60Hz下VGA显示标准为例,实现一个满足多方面需求的VGA显示终端接口。
设计可应用于图像处理、视频信号再现、数据可视化分析等方面,实现方法和器件的选取以及设计应用列举都具有典型的代表意义。
理论分析VGA显示接口的硬件设计和原理(1)基本原理说明这次系统设计使用的显示器是满足VGA标准的常用的彩色显示器,由CRT(阴极射线管)构成,彩色由G、R、B(绿:Green,红:Red,蓝:Blue)三基色组成。
显示则用逐行扫描的方式解决,阴极射线枪发出电子束打在涂有荧光粉的荧光屏上,产生GRB三基色,合成一个彩色像素。
硬件选用了AnalogDevice公司的ADV7123。
ADV7123由三个10位高速DAC 组成,最高时钟速率为240MHZ,即可以达到最高240MS/s的数据吞吐率。
浅论FPGA的VGA汉字显示系统设计与实现摘要:提出一种基于Xilinx的Spartan一3E的FPGA显示方案,由于FPGA芯片具有可靠性高、编程灵活、体积小等优点,采用其控制VGA 接口进行汉字显示,有效地解决了通用处理器控制VGA接口显示汉字的缺点。
对新方案进行理论分析和实验,结果证明该方案达到了预期效果。
XX 关键词:显示绘图陈列;现场可编程门陈列;VGA汉字显示XX随着科技的,VGA汉字显示系统的应用范围越来越广泛,传统的VGA字符显示方案是通过通用处理器控制VGA接口显示字符信息的,这种显示方案是以通用处理器为核心的处理系统,整个系统体积大、可靠性不高且灵活性差,不适合便携设备的设计.而FPGA芯片具有可靠性高、编程灵活和体积小等特点,因此用FPGA技术来实现VGA汉字显示可以有效解决传统技术中的缺点。
XXFPGA管脚**丰富,运行速度快,可以实现大规模的系统设计,而且由于FPGA具有可重构能力和抗干扰能力强等优点,使其越来越多地应用于控制领域.利用FPGA控制VGA显示汉字,可使汉字显示脱离Pc机的控制,构建体积小、功耗低的**种嵌入式系统,可应用在人机界面、地面勘测、电子设备、智能仪表和性能监测等方面。
XX1、VGA汉字显示XXVGA的汉字显示是利用VGA的显示原理,使用正确的时序信号对VGA 接口相应管脚进行控制输出RGB颜色信息来显示相应的字符信息,其中VGA显示原理及时序信号的控制必须遵循VGA的标准。
显示处理前端中的SRAM 中存储的每一位数据对应相应LCD显示屏上一个像素点的亮和灭, 1 表示亮,0表示灭.在显示设备上显示汉字也就是按照汉字的点阵图向显示器上输出1或0的高低电平,从而在显示器上显示出具体的汉字 .2、VGA显示控制器的FPGA实现FPGA芯片作为**控制器控制整个系统的处理,根据自顶向下的设计流程,按照层次化、结构化的设计方法可以将FPGA系统划分为以下几个模块:顶层模块、分频模块、VGA控制模块、存储功能模块和RAM读取控制模块。
VGA(视频图形阵列)作为一种标准的显示接口在视频和计算机领域得到了广泛的应用。
VGA图像信号发生器是电视台、电视机生产企业、电视维修人员常用的仪器,其主要功能就是产生标准的图像测试信号。
VGA图像信号发生器的设计涉及到图像数据的处理,对电路的工作速度和性能要求较高,VGA工业标准要求的时钟频率高达25MHz,使用传统的电子电路设计方法是难以实现的。
采用专用的视频处理芯片,其设计技术难度大、开发成本高。
本文采用FPGA+MCU方案,利用了Cyclone系列的FPGA高达上百兆的工作频率特性为图像数据处理提供了良好的实时性,其内部集成的数字锁相环为系统的工作时钟提供的良好的稳定性,其内部嵌入的存储器可以存储一定容量的图像信息,丰富的I/O资源可以随即扩展外接大容量存储器的特性,因此由 FPGA完成对图像数据的处理及产生行场扫描时序信号。
很好地实现了图象数据处理的实时性和稳定性,达到了性能与价格的完美统一。
此外,FPGA的电路可重构性,为系统功能更改和升级以及功能扩展提供了很大的设计空间。
由微控制器完成功能设置与控制,如键盘扫描,模式选择与显示控制等。
2、系统的工作原理和组成框图FPGA是整个系统的核心,通过对其编程可输出RGB三基色信号和HS 、VS行场扫描同步信号。
当 FPGA 接受单片机输出的控制信号后,内部的数据选择器模块根据控制信号选通相应的图像生成模块,输出图像信号,与行场扫描时序信号一起通过15针D型接口电路送入VGA显示器,在VGA显示器上便可以看到对应的彩色图像。
FPGA所需的工作时钟由外部高精度有源晶振提供;单片机控制器分析键盘扫描结果,控制液晶显示模块显示相应的功能,由LCD显示输出图象和按键控制模式,并送出相应控制信号给FPGA,系统原理框图如图1。
3、VGA显示器原理工业标准的VGA显示模式为:640×468×16色×60Hz。
常见的彩色显示器,一般由CRT (阴极射线管)构成,彩色是由R、G、B(红、绿、蓝)三基色组成,CRT用逐行扫描或隔行扫描的方式实现图像显示,由VGA控制模块产生的水平同步信号和垂直同步信号控制阴极射线枪产生的电子束,打在涂有荧光粉的荧光屏上,产生R、G、B三基色,合成一个彩色像素。
基于FPGA的串口通讯与VGA显示文献综述关键词:VGA显示VHDL 串口通讯FPGA引言视频采集卡不仅能用于影像处理,还可以用一台显示器同时显示、监控多台主机的内容,达到实时控制多台主机的目的。
随着数字影像技术的不断发展,使得视频采集卡的需求不断增加,在电子通信与信息处理领域得到广泛应用。
而传统的视频采集卡硬件实现复杂,难于向便携、嵌入的方向发展。
因此,设计一种硬件简单、使用方便、便于嵌入到系统中的视频信号采集电路具有重要的意义。
随着FPGA(现场可编程门阵列)集成度的增加、功耗和价格的不断降低,现在的视频采集卡的实现可以由FPGA来实现。
本文设计的VGA(视频图形阵列)显示模式和像素频率的识别方法,可以作为由FPGA实现的视频采集卡的一个模块,并且应用中具有可靠性高、性能稳定、调试简单、可扩展性好及设计成本低等特点。
1 VGA显示原理随着显示技术的不断发展,在业界制定了多种显示协议标准。
根据分辨率和刷新频率的不同,显示模式的发展可分为:VGA(640×480像素);SVGA(高级VGA,800×600像素);XGA(可扩展图形阵列,1 024×768像素)。
本文可以识别各种刷新频率的上述显示模式,并得到像素频率值,进一步应用于A/D转换器采样模块处理中。
常见的彩色显示器一般由CRT(阴极射线管)构成,彩色是由R(红)、G(绿)、B(蓝)3色组成。
显示是采用逐行扫描的方式,阴极射线枪发出的电子束打在涂有荧光粉的荧光屏上,产生RGB三色基,最后合成一个彩色图像。
从荧幕的左上方开始向右扫描,每扫完一行图像电子束回到下一行的最左端,每行结束后电子枪回扫的过程中进行消隐。
然后从新开始行扫描,消隐……,直到扫到荧幕的右下方,电子束回到荧幕的左上方从新开始新的图像扫描,并且在回到荧幕左上方的过程中进行消隐。
在消隐过程中不发射电子束。
每一行扫描结束时,用HS(行同步)信号进行同步;扫描完所有的行后用VS(场同步)信号进行同步。
基于FPGA的VGA图像显示系统的设计杜宗展;王振河;冯迎春【期刊名称】《现代电子技术》【年(卷),期】2015(38)16【摘要】As a standard display interface,VGA(video graphics array)has been widely used. According to the principles of VGA and FPGA(field programmable gate array),the designed VGA interface based on FPGA can send the data to the dis-play directly,and grayscale of the output image was added to this design. Compared to the traditional design,there is no com-puter processing procedure in the design,which can save the expense of hardware and enhance the speed of data processing. It is widely used to the domain of video display.%VGA(视频图形阵列)是一种标准的显示接口,被广泛应用.根据VGA,FPGA(现场可编程门阵列)的作用原理,设计的基于FPGA的VGA 接口可以直接将数据送至显示器,同时增添了关于输出图像灰度等级的设计.与传统设计相比,该设计没有计算机的处理过程,可节省硬件成本,加快数据处理速度,被广泛应用到视频显示领域.【总页数】5页(P95-99)【作者】杜宗展;王振河;冯迎春【作者单位】山东大学电气工程学院,山东济南 250061;山东电力集团公司检修公司,山东济南 250061;山东电力集团公司检修公司,山东济南 250061【正文语种】中文【中图分类】TN919-34;TP391.8【相关文献】1.基于FPGA的VGA图像显示系统的设计与实现 [J], 周卓然;徐道连;吕凤飞;付少华2.基于FPGA的VGA图像显示控制的设计和实现 [J], 李云;刘桂华3.基于FPGA的VGA图像显示及控制系统的设计与实现 [J], 李营;吕兆承;陈帅;权循忠4.基于FPGA的VGA图像显示设计 [J], 桂淮濛5.基于FPGA的UART控制VGA图像显示器设计 [J], 李营; 范静静; 权循忠; 吕兆承; 陈帅因版权原因,仅展示原文概要,查看原文内容请购买。
基于FPGA的VGA图像显示控制器设计第1页一.实验简介本实验介绍了一种利用可编程逻辑器件实现VGA图像显示控制的方法,阐述了VGA 图像显示控制器中VGA显像的基本原理以及功能演示,利用可编程器件FPGA设计VGA 图像显示控制的VHDL设计方案,并在Altera公司的QuartusII软件环境下完成VGA 模块的设计。
而且给出了VGA模块的设计思路和顶层逻辑框图。
最终实现VGA图像显示控制器,VGA图像控制器是一个较大的数字系统,传统的图像显示的方法是在图像数据传输到计算机,并通过显示屏显示出在传输过程中,将图像数据的CPU需要不断的信号控制,所以造成CPU的资源浪费,系统还需要依靠计算机,从而减少了系统的灵活性。
FPGA芯片和EDA设计方法的使用,可根据用户的需求,为设计提供了有针对性的VGA显示控制器,不需要依靠计算机,它可以大大降低成本,并可以满足生产实践中不断改变的需要,产品的升级换代和方便迅速。
二.任务要求2.1课题要求设计一个VGA 图像显示控制器。
1.显示模式为640×480×60Hz 模式;2.用拨码开关控制R、G、B(每个2 位),使显示器可以显示64 种纯色;3.在显示器上显示横向彩条信号(至少6 种颜色);4.在显示器上显示纵向彩条信号(至少8 种颜色);5.在显示器上显示自行设定的图形、图像等。
2.2设计目标根据课题要求,实验中将目标进行了细化,叙述如下:1.设定4种显示模式:横彩模式、纵彩模式、纯色模式、用户模式;第2页2.拨码开关最低两位SW1~SW0控制4种模式的切换;3.拨码开关高6位SW7~SW2每两位分别控制RGB显示64种纯色;4.横向和纵向彩条均设置为8种内置的颜色;5.用户模式中分3种子模式:1)子模式1是沿固定轨迹运动模式,固定图形沿水平方向运动,行运动到边界后折回到下一行继续水平运动;2)子模式2是反弹球模式,固定图形在矩形屏幕做内直线运动,到边界后沿反射角方向反弹,周而复始;3)子模式3是受控运动模式,使用上下左右4个按键控制固定图形在屏幕内的运动方向;4)子模式间的切换由一个单独的按键进行控制,按键按下后顺序切换子模式。
VGA显示器控制电路论文前言VGA(视频图形阵列)作为一种标准的显示接口得到广泛的应用。
利用FPGA 芯片和EDA设计方法,可以因地制宜,根据用户的特定需要,设计出针对性强的VGA显示控制器,不仅能够大大的降低成本,还可以满足生产实践中不断变化的用户需要,产品升级换代方便迅速。
在本设计中采用Altera公司的EDA软件工具Quartus II,并以Cyclone II系列的FPGA的器件作为主实现硬件平台的设计。
一、FPGA的原理FPGA 是Filed Progranmmable Gate Array的缩写,即现场可编程逻辑阵列。
FPGA是在CPLD的基础上发展起来的新型高性能可编程逻辑器件它一般采用SRAM工艺,也有一些专用器件采用Flash工艺或反熔丝(Anti_Fuse)工艺等。
FPGA的集成度很高,其器件密度从数万系统门到数千万系统门不等,可以完成极其复杂的时序与组合逻辑电路功能,适用于高速、高密度的高端数字逻辑电路设计领域。
FPGA的基本组成部分有可编程输入/输出单元,基本可编程逻辑单元、嵌入式块RAM、丰富的布线资源、底层嵌入功能单元、内嵌专用硬核等。
FPGA 的主要器件供应商有Xilinx、 Altera、 Lattice、 Actel和 Atmel 等。
二、 VGA转换接口的简单描述本设计另外自制VGA接口电路。
VGA时序控制模块是整个显示控制器的关键部分,最终的输出信号行、场同步信号必须严格按照VGA时序标准产生相应的脉冲信号。
对于普通的VGA 显示器,其引出线的共含5个信号:G,R,B(三基色信号),HS(行同步信号),VS(场同步信号)。
在五个信号时序驱动时,VGA显示器要严格遵循“VGA工业标准”,即640Hz×480 H z×60Hz模式。
下图(1)为VGA显示控制器控制CRT显示器VGA(Video Graphic Array)接口,即视频图形阵列,也叫做D-Sub接口,是15针的梯形插头,分3排,每排5个,传输模拟信号。
VGA接口采用非对称分布的15针连接方式,其工作原理:是将显存内以数字格式存储的图像(帧)信号在RAMEAC里经过模拟调制成模拟高频信号,然后再输出到显示设备成像。
目前大多数计算机与外部显示设备之间都是通过模拟VGA接口连接,计算机内部以数字方式生成的显示图像信息,被显卡中的数字/模拟转换器转变为R、G、B三原色信号和行、场同步信号,信号通过电缆传输到显示设备中。
对于模拟显示设备,如模拟CRT显示器,信号被直接送到相应的处理电路,驱动控制显像生成图像。
而对于LCD、DLP扥数字显示设备,显示设备中需配置相应的A/D (模拟/数字)转换器,将模拟信号转变为数字信号。
在经过D/A和A/D2次转换后,不可避免地造成了一些图像细节的损失。
VGA接口应用于CRT显示器无可厚非,但用于连接液晶之类的显示设备,则转换过程的图像损失会使显示效果略微下降。
VGA接口的引脚分配如下图(1)所示图(1)三、主要功能模块设计注:主要模块为三块,一个二分频模块,一个VGA时序和行点位置模块,一个图形生成模块,本来想利用老师提供的方案进行制作,但在按键去抖模块以及按键累计模块没有能完成,故更改方案,换用读取拨动开关的模式来选择模式显示。
1.1 VGA时序控制模块(vgaxm.v)功能:根据VGA显示器的工作原理,提供同步信号(H_SYNC和V_SYNC)及像素位置信息。
设计思路:根据VGA显示器的工作原理,以垂直同步信号的出现时刻作为时间的起点(原点),根据时序图算出每一个关键时间点所需的计数器最大值,据此输出H_SYNC和V_SYNC,在此基础上对扫描的行数及像素点数进行计数,从而输出像素位置信息。
1.1.1VGA的时序详细讲解对于VGA显示器,每个像素点的输出频率为25.175MHZ,本实验采用50MHz的时钟信号,经过模块divider(二分频模块)的分频得到25MHz的时钟输入信号。
依据VGA时序标准,行同步信号HS,行周期为32.2us,也就是H_sync(行)的周期;场同步信号VS,场周期为16.89ms,也就是V_sync(一帧)的周期。
刷新1个像素所需时间Tpixel = 1/ fclk =40ns;从(b)水平刷新循环中,可以知道刷新一行所需时间公式:Trow = B+C+D+E=Tpixel ⨯ 640 + guard bands = 25.6μs + B + C +E = 32.2μs;引入h_count[9..0]:用于Trow(25MHz)的定时计数,计数清零时由时序可得下面计算式子:h_countend:同时可以从该时序图确定p_begin_time和p_end_time的像素点pixel开始计数以及清零计数的时间,计算式子如下:p_begin_time :p_end_time :还能得出行扫描h_sync在h_count从0~805计数期间,从第几计数开始为电平变化。
图中,B=3.77us就是说在h_count计数起到3.77us到来之间行信号h_sync 保持低电平,在3.77us到32.2us之间为高电平,刚好为一个行信号周期。
以下是计算式子(hsync_end代表h_sync的低电平截止时间范围):hsync_end:程序简单描述如下:h_count计数:always @( posedge clk) //25MHZ// 在垂直刷新循环内,当h_count计到规定的最大值805时,则清零;否则加1计数h_sync的电平变化:assign h_sync_pulse_w = (h_count < hsync_end); //从h_count计数到94(3.77us)为1,95~805为0 在v_sync负脉冲宽度内,v_sync_pulse_w为高电平assign h_sync=~h_sync_pulse_w;(a)垂直刷新循环从(a)垂直刷新循环,可以知道刷新完480行,并完成一帧所需时间Tscreen =P+Q+R+S= Trow ⨯ 480 + guard bands = 15.456ms+ P + Q + S = 16. 89ms引入v_count[18..0] :用于Tscreen的定时计数,每当h_count计数满805,v_count计数加1一次;计数清零时由时序可得下面计算式子(v_countend为v_count计数清零值):v_countend:同时可以从该时序图确定h_begin_time和h_end_time的行计数line开始计数以及清零计数的时间,计算式子如下:h_begin_time :h_end_time :还能得出场扫描v_sync在v_count从0~525计数期间,从第几计数开始为电平变化。
图中,P=64us就是说在v_count计数起到64us到来之间场信号v_sync 保持低电平,在64us到16. 89ms之间为高电平,刚好为一个场信号周期(一帧)。
以下是计算式子(vsync_end代表v_sync的低电平截止时间范围):vsync_end:程序简单描述如下:v_count计数:always @ (posedge clk )// 当垂直刷新循环结束(满480)时v_count清零;否则当h_count计到规定的最大值(805)时加1计数;v_sync的电平变化:assign v_sync_pulse_w = (v_count < vsync_end); //从v_count从0计数到2(64us)为1 3~525为0 在h_sync负脉冲宽度内,h_sync_pulse_w为高电平assign v_sync=~v_sync_pulse_w;1.1.2提供行列以及格线计数值行或列计数:line 和pixel;格线计数器:line_cnt,pixel_cnt,strip_cnt(1)line[8..0]:用于对行数(1~480行)计数,其clk等于水平同步信号h_sync 的下降沿;(2)pixel [9..0] :用于对每行的像素点数(1~640个点)计数,其clk等于输入时钟fclk25M。
/* 3. line[8..0]对像素所处行计数*/always @ (negedge h_sync )//h_sync的下降沿触发line计数。
//当h_begin_time ≦v_count≦h_end_time,且当line≦480时,则line加1计数;//否则line清零。
/* 4. pixel[9..0]对像素所处列计数*/always @ (posedge clk )/*当1≦line≦480(必须有此条件,否则pixel在h_sync来后B+C时间之后即开始加1计数,而此时line=0),且p_begin_time≦h_count≦p_end_time,且pixel ≦640时,则pixel加1计数;*///否则pixel清零。
(3)output[4:0] line_cnt; //用于棋盘格1的水平格线计数32进制,32.2uss计数一次(4)output[5:0] pixel_cnt; //用于棋盘格1的垂直格线计数64进制40ns计数一次(5)output[5:0] strip_cnt; //用于横彩条2的水平格线计数64个6432.2uss计数一次2.1生成图形子模块注:RGB[2..0]:颜色信号,R——红色信号;G——绿色信号;B——蓝色信号。
其对应颜色关系如下表所示。
功能:根据时序控制子模块输出的像素位置信息,在不同的显示模式下,输出不同的颜色信号。
设计思路:采用case语句,来确定不同的显示模式;在每种显示模式下,采用if-else 语句,根据像素所处的位置(即line和pixel的范围),来确定输出不同的颜色信号。
对棋盘格1、横彩条2的格线的判断不用枚举的方法,而是根据vgacore2.v 输出的格线计数器line_cnt、pixel_cnt和strip_cnt的大小,用if-else语句简单地实现。
本模块主要的图形生成程序简述如下:/* 2. 根据cnt值产生不同的显示图形*/always @ (posedge clk )beginif( line>9'd0 & line<=9'd480 & pixel>9'd0 & pixel<=10'd640) //若在有begin 效区域内case(cnt)0:begin/*(1)模式1:4大图形块*/1:begin/*(2)模式2:竖彩条*/2:begin/*(3)模式3:横彩条*/3:begin/*(4)模式4:棋盘格1 16*16 */4:begin/*(5)模式5:小横彩条*/5:begin/*(6)模式6:棋盘格2 30*40 */endcaseendelse rgb=3‘b000;//超出有效区域,则为黑色end2.1.1VGA竖彩条发生和横彩条发生竖彩条发横模块根据像素点计数器的h_count的计数值来产生彩条,其流程图如(a)所示。