基于FPGA的VGA接口显示的设计与实现..
- 格式:doc
- 大小:394.50 KB
- 文档页数:16
编号基于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)作为一种标准的显示接口已经得到广泛的应用。
基于FPGA的VGA显示(后附VHDL代码)整个VGA的时序操作很简单,就是形成一个具有一定占空比的电平周期。
只是整个VGA的操作涉及到一些专有名词,理解上比较困难,一旦明白了这些是什么意思后,操作即将变得很简单。
VGA工作流程:常见的彩色显示器,一般由CRT (阴极射线管)构成,彩色是由R、G、B(红、绿、蓝)三基色组成,CRT用逐行扫描或隔行扫描的方式实现图像显示,由VGA控制模块产生的水平同步信号和垂直同步信号控制阴极射线枪产生的电子束,打在涂有荧光粉的荧光屏上,产生R、G、B三基色,合成一个彩色像素。
扫描从屏幕的左上方开始,由左至右,由上到下,逐行进行扫描,每扫完一行,电子束回到屏幕下一行的起始位置,在回扫期间,CRT对电子束进行消隐,每行结束是用行同步信号HS进行行同步;扫描完所有行,再由场同步信号VS进行场同步,并使扫描回到屏幕的左上方,同时进行场消隐,预备下一场的扫描。
行同步信号HS 和场同步信号VS是两个重要的信号。
注意点:什么时候消隐?为什么要消隐?当一行扫描完毕后然后电子枪又转到下一行的这段时间或是扫描完所有的行后电子枪回到第一行的这段时间,这两段时间都要消隐。
在消隐的时间内,数据是无效的。
这样就保证电子枪的回扫的个动作不干扰显示,因为回扫这个动作是很频繁的,若在这个时间段内数据有效,那么就回在显示屏上出现电子枪回扫的轨迹。
消隐的时候我们干什么?消隐这个动作是显示屏(CRT)执行的,我们在编程时只要注意有这么个东西就行。
同步信号(包括HS和VS)是什么?这个就相当于一个数据起始信号,表明数据马上就要开始了。
如果撇开具体的设备,那么这个信号和AD、DA中常用的Sync(同步)、CS(片选)信号相当。
该信号一般为负电平,但对于有的显示器可不关心该信号的极性,因为它内部可自动转换正负逻辑。
对于普通的VGA显示器,需要引出5个信号:R,G,B:三原色;HS:行同步信号;VS:场同步信。
基于FPGA的VGA图像显示1、VGA显示原理VGA标准是一种计算机显示标准,最初是由IBM公司在1987 年提出的,分辨率是640*480。
VGA 接口也叫做D_Sub 接口,是显卡上输出模拟信号的接口。
目前大多数计算机与外部显示设备之间都是通过模拟VGA接口连接,计算机内部以数字方式生成的显示图像信息,被显卡中的D/A 转换器转变为R、G、B三原色信号和行、场同步信号,信号通过电缆传输到显示设备中。
常见的彩色显示器一般由阴极射线管(CRT) 构成,彩色由GRB(Green Red Blue) 基色组成。
显示采用逐行扫描的方式解决,阴极射线枪发出电子束打在涂有荧光粉的荧光屏上,产生GRB 基色,合成一个彩色像素。
扫描从屏幕的左上方开始,从左到右,从上到下,逐行扫描,每扫完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT 对电子束进行消隐,每行结束时,用行同步信号进行行同步;扫描完所有行,用场同步信号进行场同步,并使扫描回到屏幕的左上方,同时进行场消隐,并预备进行下一次的扫描。
要实现VGA显示就要解决数据来源、数据存储、时序实现等问题,其中关键还是如何实现VGA时序。
VGA的标准参考显示时序如图1所示。
行时序和帧时序都需要产生同步脉冲(Sync a)、显示后沿(Back porch b)、显示时序段(Display interval c)和显示前沿(Front porch d)四个部分。
2、方案设计由VGA的显示原理可知,该任务的关键是VGA时序控制部分和汉字图形显示部分:(1)VGA时序控制部分,采用FPGA本地50MHz时钟,根据所需时序要求,经Verilog语言编写的计数模块分频而得到,该部分十分重要,如果产生的时序有偏差,那么就会使汉字图形无法显示或显示结果混乱;(2)汉字图形显示部分,有2种方法可以实现:第1 种是在对像素进行行计数、场计数的时候,就把字库信息直接赋值给颜色信号R、G、B,这种方法虽然简单,但是控制很不灵活,需要对汉字的显示像素一一判定对应的位置,容易出现错误,不易修改,所以本次采用的是第2 种方法,第2 种方法是使用FPGA内部的一种资源来存储汉字的字库信息,然后由程序将其提取出来作为显示信号发送到VGA 接口,以实现汉字图形的显示,这样就克服了第一种方法易出错又不易修改的缺点。
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 Hz×60Hz模式。
下图(1)为VGA显示控制器控制CRT显示器VGA(Video Graphic Array)接口,即视频图形阵列,也叫做D-Sub接口,是15针的梯形插头,分3排,每排5个,传输模拟信号。
电子线路测试与实验报告基于FPGA的VGA显示实验姓名:专业班级:光电1208学号:U2012一、实验要求功能要求:利用Basys2实验板实现图片在VGA接口显示器上的显示。
基本要求:1)实现240*160以上像素的图片在VGA接口显示器上的显示;2)利用算法实现特定图片在VGA接口显示器上的放大、缩小旋转及其他动作的自动变换。
二、实验具体目标1.首先实现特定图片在显示器上的显示;2.图片自动旋转90度;3.实现图片的放大与缩小,同样通过一个按键实现;4.添加复位键,按下复位键后图片返回最初的状态。
三、实验原理1.VGA的显示原理在基于FPGA的VGA控制中,只需考虑行同步信号(HS),场同步信号(VS),以及红绿蓝三基色(R、G、B)这五个信号,即可实现对VGA显示的控制。
2.对图片的旋转与缩放操作对图片的旋转操作在本质上是对IP核ROM的输入地址addr进行变换的过程。
在这里,假定显示的坐标分别为x_vdn以及y_vdn,由于图片是160*40的,在正常的显示时,addr与x_vdn以及y_vdn的对应关系应该为:addr=x_vdn+y_vdn*160即依次取像素点,图片正常显示。
要把图片顺时针旋转90度,那么相当于显示的图片是40*160的,重新考虑addr与两个坐标之间映射关系。
容易得到,此时:addr=(39-x_vdn)*160+y_vd对图片的缩放操作对图片的缩放操作则只考虑以下两种变化,即放大一倍,此时图片的大小为320*80;缩小一倍,此时图片的大小为80*20。
对于图片的放大一倍,则要考虑不同的像素点对显示信号的共用(在这里即为m信号)。
由通常的规则,按照顺序,构成一个正方形的每四个相邻的像素点共用一个m信号。
同时,在这里对x_vdn以及y_vdn的最后一位判断,并且形成不同的映射规则。
具体的映射规则在源代码中给出。
对于图片的缩小,则相对简单的多。
此时的映射关系为:addr=y_vdn*320+x_vdn*2;3.工程结构与解读如图,下图为系统的结构框图。
利用FPGA 实现外设通信接口之:典型实例-VGA 接口
的设计与实现
10.9典型实例19:VGA接口的设计与实现10.9.1实例内容及目标1.实例的主要内容本节旨在设计实现了FPGA与VGA显示器的接口,帮助读者进一
步了解VGA接口的时序和设计方法。
2.实例目标通过本实例,读者应达到以下目标。
-掌握VGA接口的标准时序。
-掌握利用FPGA设计驱动的基本思想和方法。
-熟练掌握状态机的使用。
10.9.2VGA接口实例内容红色飓风开发板的VGA接口可以产生8种颜色,
可以用来显示字符和简单图形。
本实例要求通过VGA接口,在显示器上依次
显示8种颜色的彩色条纹,条纹宽度相同。
10.9.3FPGA代码设计实现按照VGA时序要求产生行/列同步信号,并且在指定的时间(有效像素期间)将要显示的颜色数据输出到RGB。
不同的显示模式和刷新频率下,具体同步信号前、后、同步信号、有效像素
数是不同的,要根据像素时钟频率来设置。
以800乘以600,60Hz为例,像素时钟为40MHz,即:
像素时钟=(800+40+128+88)乘以(600+1+4+23)乘以60=40MHz
设计中可根据系统时钟频率来选择合适的显示模式。
10.9.4ModelSim仿真验证1.行显示设定一个列计数器,计数到相应的值时,给出相应的同步信号,并在像素有效期间,输出有效的颜色数据,行计数器通
过检测列同步信号来计数,检测到列同步信号,表示新一行的开始,这样就可。
基于FPGA进行VGA控制器设置实现显示器条纹显示实验目的与要求:VGA控制器设计实现显示器条纹显示要求:通过FPGA板的VGA接口在显示器上显示一幅640*480由六条不同颜色的条纹组成的图像。
实验内容:VGA简介VGA彩色显示器,彩色是由R、G、B(红、绿、蓝)三基色组成,CRT用逐行扫描方式实现图像显示,由VGA控制模块产生的水平同步信号(HS)和垂直同步信号(VS)控制阴极射线枪产生的电子束,打在涂有荧光粉的荧光屏上,产生R、G、B三基色,合成一个彩色像素。
扫描从屏幕的左上方开始,由左至右,由上到下,逐行进行扫描,每扫完一行,电子束回到屏幕下一行的起始位置,在回扫期间,CRT对电子束进行消隐,每行结束是用行同步信号HS进行行同步;扫描完所有行,再由场同步信号VS进行场同步,并使扫描回到屏幕的左上方,同时进行场消隐,预备下一场的扫描。
显示需要R,G,B,Hsync(行同步),Vsync(帧同步)五个信号输出到显示器,本设计按照VGA工业标准输出640*480@60Hz.对应的时序如下:图1 VGA接口信号基本时序图图2 FPGA板上的VGA接口图3 VGA(640*480@60Hz)时序图VGA显示的设计模块为:hsclkvsVGA显示模r块grst_nb说明:设计中FPGA板的VGA接口将R,G,B分别设为定义为2位,3位,3位,例如显示红色RGB可以输出为11000000,绿色输出为00111000,蓝色输出为00000111.表1 25MHz 640*480@60Hz模式下VGA的时序规格说明1. 像素时钟配置为25Mhz。
2. 编写代码时,需要用到的常数参考表一。
3. 输出到显示器上的条纹为从上到下依次为R G B R G B,640*80,。
4. 本实验使用FPGA板:Sparant3EXC3S500E,建project时,需要选择板的型号,。
实验方法、步骤:1、基本设计思想如下图所示:分为这四个模块,产生Hsync(行同步),Vsync(帧同步)以及RGB色彩的输出。
基于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)子模式间的切换由一个单独的按键进行控制,按键按下后顺序切换子模式。
基于FPGA的VGA的字符显⽰题⽬基于FPGA的字符显学⽣姓名指导⽼师学院专业班级1、背景随着电路设计技术的进步,微处理器和微控制器的处理能⼒得到很⼤的提⾼,但是其输出显⽰能⼒却⽐较弱。
还不如普通的PC机的显⽰能⼒,严重制约了其发展。
⽽本⽂提出的基于FPGA的VGA字符显⽰则能很好提⾼其输出显⽰能⼒。
VGA(Video Graphics Array)是IBM在1987年随PS/2机⼀起推出的⼀种视频传输标准,具有分辨率⾼、显⽰速率快、颜⾊丰富等优点,在显⽰器领域得到了⼴泛的应⽤。
近年来FPGA在嵌⼊式系统中得到了⼴泛应⽤,本实验对基于FPGA的VGA显⽰系统进⾏了研究,该系统可以很好的实现VGA 字符的显⽰和控制,系统具有成本低、结构简单、应⽤灵活的优点,具有⼴泛应⽤前景。
基于FPGA的VGA接⼝原理如图l所⽰,图中基于FPGA的VGA接⼝原理如图l所⽰,图中由FPGA产⽣的数据信号经过D/A转换为相应的VGA信号,送到VGA适配器。
1.1 FPGA的发展和其他可编程逻辑器件⼀样,FPGA也由未完成的逻辑阵列所组成,通过将这些逻辑阵列连接到⼀起来完成⼀定的功能。
像PAL⼀样,各个阵列单元之间的相互连接是可以编程的。
下⾯介绍FPGA的发展过程。
1985年,Xilinx公司推出了世界上第⼀款FPGA。
推出的这款FPGA包括两个器件和⽀持布同布线的设计⼯具。
FPGA的发展⾮常快,在不到10年的时间⾥,时钟频率就从不到10MHz 提⾼到100MHz.设计规则已经达到亚微⽶级别,FPGA芯⽚的规模也从⼏千门增加到2万多等效门。
⼤量功能强⼤易⽤的软件⼯具也相继推出,使得FPGA很快占领了电⼦设计领域很⼤的⼀块市场。
20世纪80年代推出的FPGA可以说是Intel公司于1971年推出第⼀款商⽤微处理器的延续。
那个时期,典型的微处理器系统包含微处理器、存储器和⼀些特殊功能的中⼩规模(MSI/SSI)器件。
为追求更佳的件能、更⼩的尺⼨、更低的成本、更快的错误恢复能⼒、⾼可靠性以及更快更易使⽤的原型,集成电路的设计者都意识到⼀定会有⼀种器件要取代当时的中⼩规模电路。
基于FPGA的VGA显示矩形框_VGA接口设计_VGA信号处理_明德扬资料设计思路VGA显示中,FPGA需要产生5个信号:R、G、B三基色信号,行同步信号HS和场同步信号VS,接口对应孔如下所示:图2 VGA信号接口对应像素是产生各种颜色的基本单元。
根据物理学中的混色原理,三色发光的亮度比例适当,可呈现白色。
适当的调整发光比例可以出现不同的颜色。
三基色混色原理示意图如下图所示:图3 三基色混色原理颜色黑蓝红紫绿青黄白R00110011G0*******B01010101表1 三基色颜色编码上表的RBG一共有8组合,也就是说可以产生8种颜色,但是显示器显示的色彩是非常丰富的,远多于8种颜色。
那么,这是如何做到的呢?对于显示器来说,RGB的三个信号其实是模拟信号,其电平的高低,可以表示颜色的深浅,利用这个原理,就可以产生丰富的色彩。
为了控制电压的高低,我们必须用到DA芯片。
例如,下图中FPGA产生RGB三种信号,这时RGB都是多位的数字信号。
DA芯片根据数字信号的值,产生不同电压的模拟信号rgb。
图xx DA芯片工作原理模块划分和信号列表如下:模块划分顶层模块信号列表PLL分频模块信号列表VGA接口计数模块信号列表3 程序设计顶层模块代码5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40lcd_vs ,lcd_rgb);parameter PICTURE_W = 16; input clk ;input rst_n ;output lcd_hs ;output lcd_vs ;output [PICTURE_W:0] lcd_rgb ; wire clk_0 ;parameter ROW_W = 10;wire lcd_hs ;wire lcd_vs ;wire [PICTURE_W-1:0] lcd_rgb ; vga_pll module_1(.inclk0 (clk ),.c0 (clk_0 ));vga_driver module_6(.clk (clk_0 ),.rst_n (rst_n ),.hys (lcd_hs ),.vys (lcd_vs ),.lcd_rgb (lcd_rgb));endmoduleVGA计数模块代码1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16module vga_driver(clk,rst_n,hys,vys,lcd_rgb);parameter PICTURE_W = 16 ; parameter ROW_W = 10 ; input clk ;input rst_n ;output hys ;output vys ;1718 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 output[PICTURE_W-1:0]lcd_rgb ;reg [PICTURE_W-1:0] lcd_rgb ;reg [ROW_W-1:0] h_cnt ;reg [ROW_W-1:0] v_cnt ;reg hys ;reg vys ;reg red_area ;reg green_area ;reg valid_area ;always @(posedgeclk or negedgerst_n)beginif(!rst_n)beginh_cnt<= 0;endelse if(add_h_cnt)beginif(end_h_cnt)h_cnt<= 0;elseh_cnt<= h_cnt + 1;endendassign add_h_cnt = 1;assign end_h_cnt = add_h_cnt&&h_cnt== 800 - 1; always @(posedgeclk or negedgerst_n)beginif(!rst_n)beginv_cnt<= 0;endelse if(add_v_cnt)beginif(end_v_cnt)v_cnt<= 0;elsev_cnt<= v_cnt + 1;endendassign add_v_cnt = end_h_cnt;assign end_v_cnt = add_v_cnt&&v_cnt== 525 - 1; always@(posedgeclk or negedgerst_n)beginif(!rst_n)beginhys<= 0;endelse if(add_h_cnt&&h_cnt == 96 -1)beginhys<= 1'b1;endelse if(end_h_cnt)beginhys<= 1'b0;endendalways @(posedgeclk or negedgerst_n)beginif(!rst_n)beginvys<= 1'b0;75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 endelse if(add_v_cnt&&v_cnt == 2 - 1)beginvys<= 1'b1;endelse if(end_v_cnt)beginvys<= 1'b0;endendalways @(*)beginred_area = (h_cnt>= (141+ 0) &&h_cnt< (141+ 20)) ||(h_cnt>= (141+626) &&h_cnt< (141+646)) ||(v_cnt>= ( 32+ 0) &&v_cnt< ( 32+ 20)) ||(v_cnt>= ( 32+464) &&v_cnt< ( 32+ 484));endalways @(*)begingreen_area = (h_cnt>= (141+248) &&h_cnt< (141+398)) &&(v_cnt>= ( 32+192) &&v_cnt< ( 32+292));endalways @(*)beginvalid_area = h_cnt>=141 &&h_cnt< 787 &&v_cnt>=32 &&v_cnt< 516; endalways @(posedgeclk or negedgerst_n)beginif(rst_n==1'b0)beginlcd_rgb<= 16'h0;endelse if(valid_area)beginif(red_area)beginlcd_rgb<= 16'b11111_000000_00000;endelse if(green_area)beginlcd_rgb<= 16'b00000_111111_00000;endelse beginlcd_rgb<= 16'b11111_111111_11111;endendelse beginlcd_rgb<= 0;endendendmodule。
开题报告的内容图2 VGA行扫描、场扫描时序图2.2.2彩条图形生成模块作为测试模式,该模式可以测试所连接的显示器以及整个VGA显示系统是否正常工作。
在彩条生成模块中产生横彩条和竖彩条,横彩条通过场计数器vcnt计数进行控制,以显示相应的颜色。
设计产生16个彩条,将480行的像素16等份,用vcnt来控制计数区域,不同的区域赋予不同的颜色值。
竖彩条的显示原理与横彩条相似,只是使用行计数器hcnt 来进行计数,把每行的640个像素16等份。
2.2.3显示模块显示模块是整个显示控制器的重要组成部分,各个模块的输出数据都要经过模块处理后送到显示器。
显示模块在VGA显示控制器中起至关重要的作用。
显示模块的输出信号通过D/A转换器的转换连到VGA接口,它是控制器和显示器进行通信的桥梁。
该模块以可以VHDL语言实现。
2.2.4存储模块当VGA显示器要显示一帧图像时,就会需要比较大的数据量,FPGA芯片内置的ROM 存储器难以满足这么大的数据存储要求,必须把图像数据放入外部的存储器中。
FPGA的外部存储器可以有多种选择,如ROM、EEPROM、SDRAM等。
采用何种存储器将最终决定读取控制器的数据读取方式。
如ROM可以用直接产生地址信号的方式对芯片进行访问,而SDRAM常常利用DMA控制方式配合CPU进行读写操作。
本设计采用型号为28C040的4M EEPROM外部存储器,可以在单片内存储整个屏幕的图像。
2.3设计中的难点和关键问题VGA时序控制器的实现是这个设计的难点。
由于VGA接口没有数据使能信号,其显示是要通过行扫描和场扫描的方式实现对显示器进行扫描控制。
所以,VGA的同步信号对时序的要求十分严格,如果同步信号没有同步好,会造成显示数据的丢失,甚至造成显示混乱。
因此,必须由专门的VGA控制器来显示严格的VGA时序的驱动。
这也是设计的关键所在。
基于FPGA 的V GA 显示接口的研究与设计陈姚节 卢建华(武汉科技大学 武汉430081)摘 要 V GA (视频图形阵列)作为一种标准的显示接口得到广泛的应用。
文章依据V GA 显示的原理,“抛弃”V GA 显示专用芯片,采用FPGA (现场可编程门阵列)设计V GA 接口可以将要显示的数据直接送到显示器,节省了计算机的处理过程,加快了数据的处理速度,节约了硬件成本。
关键词 FPGA ;V GA ;显示接口中图分类号:T P 365.1 文献标识码:BAbstract :A s a standard disp lay in terface ,V GA has been w idely u sed .A cco rding to the p rinci p le of V GA disp lay ,to discard the ch i p fo r V GA disp lay and u se FPGA to design a V GA in terface can send the data directly on to the screen fo r disp lay ,w h ich cu ts dow n the p rocess of PC ,thu s qu icken ing the speed of data p rocess and saving the expen se of the hardw are .Key words :FPGA ;V GA ;disp lay in terface收稿日期:2005201207 3国家高新技术研究发展计划项目资助(2003AA 414011)1 FPGA 的原理CPLD 、FPGA 是在PAL 、GAL 等基础上发展起来的一种具有丰富的可编程I O 引脚、逻辑宏单元、门电路以及RAM 空间的可编程逻辑器件,几乎所有应用门阵列、PLD 和中小规模通用数字集成电路的场合均可应用FPGA 和CPLD 器件。
本科毕业论文(设计)论文题目:基于FPGA的VGA显示设计及仿真实现姓名:XXX学号:XXX班级:XXX年级:XXX专业:通信工程学院:信息工程学院指导教师:XXX完成时间:XXXX 年X月XX 日作者声明本毕业论文(设计)是在导师的指导下由本人独立撰写完成的,没有剽窃、抄袭、造假等违反道德、学术规范和其他侵权行为。
对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
因本毕业论文(设计)引起的法律结果完全由本人承担。
毕业论文(设计)成果归XXX所有。
特此声明。
作者专业:作者学号:作者签名:年月日基于FPGA的VGA显示设计及仿真实现XXXThe Design and Implementation of the VGA display based on FPGAXXXX 年X月XX 日摘要本文简述了VGA显示的特点和工作原理,重点介绍了采用自顶向下层次化、模块化的设计方法,在FPGA上实现VGA的显示设计。
显示绘图阵列(video graphic array,VGA)接口是LCD液晶显示设备的标准接口,VGA具有分辨率高、显示速率快、颜色丰富等优点。
显示器因为其输出信息量大,输出形式多样等特点已经成为现在大多数设计的常用输出设备。
在FPGA的设计中可以使用很少的资源,就产生VGA各种信号,再加上VHDL语言灵活的描述方法以及与硬件无关的特点,使得使用VHDL语言基于FPGA芯片实现VGA 显示控制成为研究的方向。
本文对基于VHDL的VGA的显示控制进行了研究,并设计了VGA显示器彩条信号发生器。
所做的主要工作为:(1)在设计中采用了自顶向下的层次化、模块化的设计思想,将整个接口划分为多个模块,利用VHDL语言的描述方法进行了各个功能模块的设计,最终完成了VGA显示的系统设计。
(2)运用ISE软件进行仿真。
关键词:VHDL;VGA;ISE;彩条信号AbstractThis paper briefly describes the characteristics and working principle of VGA display, focus on using the top-down hierarchical and modular design method, realization of VGA display design on FPGA.Display graphics array (video graphic array, VGA) interface is a standard interface LCD liquid crystal display device, VGA with high resolution, fast display rate, color rich, etc. Display output because of its large amount of information, the output forms characteristics has become the most commonly used output device design now.In the design of FPGA can use less resources, and produce VGA signals, flexible coupled with VHDL language description method and has nothing to do with the hardware characteristics, make use of VHDL language based on the FPGA chip to realize VGA display control become the direction of research.In this paper, based on VHDL VGA display control is studied, and VGA display color bar signal generator is designed. The main work done as follows:(1)In the design USES the top-down hierarchical, modular design thought, will the whole interface is divided into several modules, use of VHDL language description method for the design of each functional module, finally completed the VGA display system design.(2) Using ISE software simulation.Keywords: VHDL ;VGA; ISE; Color bar signal目录1 概述............................................................................................................ - 1 -1.1 本选题研究的目的及意义......................................................................................... - 1 -1.2 本选题国内外研究状况综述 (2)1.3 本选题研究的主要内容............................................................................................. - 1 -2 VGA显示的理论研究 (4)2.1 VGA显示特点 (4)2.2 VGA显示原理 (4)3 ISE工具概述 ................................................................................................ - 7 -3.1 硬件描述语言............................................................................................................. - 7 -3.2 ISE使用方法............................................................................................................. - 13 -4 VGA显示的设计与仿真............................................................................ - 17 -4.1 模块结构设计........................................................................................................... - 17 -4.2 VHDL代码设计............................................................................. 错误!未定义书签。
——基于FPGA的VGA显示姓名:王青鹏学号:200661175班级:电子0604日期:200910201.实验目的 (3)2.实验要求 (3)3.实验原理 (3)3.1VGA时序信号 (3)3.2VGA显示时序图 (4)3.3关键参数 (5)3.4VGA显示工作过程 (5)3.5整体设计思路及过程 (6)3.6管脚分配及下载 (15)4.实验心得体会 (16)FPGA的VGA显示一.实验目的1.熟悉和掌握时序控制电路的设计方法。
2.了解VGA显示器的工作时序及其控制电路的工作原理。
3.培养分析系统、进行模块设计及独立解决问题的能力。
二.实验要求1.设计VGA显示器的控制电路,使之控制显示器,完成相应的显示功能。
2.使用一个按钮mod(低有效),使VGA显示器在3种(或4种)不同的显示模式间切换。
使用一个按钮reset,将控制器恢复模式00。
模式00:将屏幕均分,从左到右,依次显示八种不同的颜色。
模式01:将屏幕均分,从上到下,依次显示八种不同的颜色。
模式10:将屏幕均分为8*8棋盘格。
模式11:复位模式,屏幕全黑。
3.利用GW48实验开发系统实现设计的编程下载.三.实验原理3.1VGA时序信号H_SYNC:水平同步信号(负脉冲),每个水平扫描周期显示器刷新V_SYNC:垂直同步信号(负脉冲),每个垂直扫描周期显示器刷新一帧;RGB[2..0]:颜色信号,R——红色信号;G——绿色信号;B——蓝色信号。
其对应颜色关系如下表所示。
3.2VGA显示器的时序图垂直刷新循环3.3关键参数1.实验板上的晶振提供全局时钟信号(50MHz),通过分频得到时钟信号clk25M(fclk=25MHz)作为输入时钟。
2.刷新1个像素所需时间Tpixel=1/fclk=40ns;3.刷新一行所需时间Trow=Tpixel*640+guard bands=25.6us+B +C+E=32.2us;4.一个垂直扫描周期内包含480个水平扫描周期,完成一帧的刷新。
编号基于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时序信号和彩条图像信号,并将其作为信号源,应用于电视机或计算机等彩色显示器的电路开发,方便彩色显示器驱动控制电路的调试。
计算机显示器的显示有许多标准,常见的有VGA,SVGA等。
在这里尝试用FPGA实现VGA图像显示控制器,这一过程通过编程实现,之后通过软件的测试和仿真,当软件验证无误后完成硬件的下载验证,最终在CRT显示器上实现输出,基本原理就是利用FPGA的可编程原理和VGA的时序控制原理,这在产品开发设计中有许多实际应用。
第二章VGA显示接口的方案设计和原理2.1 VGA接口VGA(Video Graphics Array)作为一种标准的显示接口已经得到非常广泛的应用。
VGA在任何时刻都必须工作在某一显示模式下,其显示模式分为字符显示模式和图形显示模式,而在应用中讨论的是图形显示模式。
VGA显示卡端的接口为 15 针母插座,接口如图2-1所示。
该端口通过标准的监视电缆直接连接到PC 监视器或平板 LCD 上。
图2-1为VGA接口。
图2-1 VGA接口2.2 VGA显示原理常见的彩色显示器一般由阴极射线管(CRT)构成,彩色由GRB(Green Red Blue)基色组成。
显示采用逐行扫描的方式解决,阴极射线枪发出电子束打在涂有荧光粉的荧光屏上,产生GRB基色,合成一个彩色像素。
扫描从屏幕的左上方开始,从左到右,从上到下,逐行扫描,每扫完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT对电子束进行消隐,每行结束时,用行同步信号进行行同步;扫描完所有行,用场同步信号进行场同步,并使扫描回到屏幕的左上方,同时进行场消隐,并预备进行下一次的扫描。
VGA显示原理图如图2-2所示。
在本文中,FPGA 通过串联电阻直接驱动 5 个 VGA 信号。
每个颜色信号串一个电阻,每位的颜色信号分别是 VGA_RED,VGA_GREEN,VGA_BLUE。
每个电阻与终端的 75 欧电缆电阻相结合,确保颜色信号保持在VGA规定的0V~0.7V之间。
VGA_HSYNC 和VGA_VSYNC 信号使用 LVTTL 或 LVCMOS3I/O 标驱动电平。
通过VGA_RED,VGA_GREEN,VGA_BLUE 置高或低来产生 8 种颜色。
实际应用中,VGA_RED,VGA_GREEN 和 VGA_BLUE 可以接到 DAC 的输出,每个 DAC 用 8 bit 或更多的比特控制,3 条色彩控制线根据DAC 输出的电压大小配合实现更多种颜色的显示。
VGA 显示的原理是利用水平扫描信号和竖直信号实现二维平面的像素扫描显示,以640×480 像素的扫描显示示意图为例,当水平扫描信号VGA_HSYNC 信号为高时,VGA 显示器从左向右依次扫描当前行的 640 个像素点。
每扫描完一行,VGA_HSYNC 信号电平拉低,水平扫描位置回到最左端。
显示处理控制电路显示设备R GB HS,VS图2-2 VGA 显示基本原理图2.3 VGA 信号时序普通的VGA 显示器,其引出线共含5个信号:G,R,B 三基色信号;HS :行同步信号;VS :场同步信号。
对于5个信号的时序驱动,以及VGA 显示器,要严格遵循“VGA 工业标准”,即640*480*60Hz 模式。
通常我们用的显示器都满足工业标准,因此设计VGA 控制器是要参考显示器的技术规格。
图2-3为VGA 行扫描、场扫描的时序图。
图2-3 VGA 行扫描、场扫描时序VGA 工业标准所要求的频率: 1) 时钟频率(Clock frequency ):25.175Hz (像素输出的频率); 2) 行频(Line frequency ):31469Hz; 3) 场频(Field frequency ):59.94Hz (每秒图像刷新频率)表 2-1 行、场扫描时序要求2.4 VGA显示方案实现本文以FPGA芯片作为中央控制器控制整个系统的处理,根据自顶向下的设计流程,按照层次化、结构化的设计方法可以将FPGA系统划分为以下几个模块:顶层模块、分频模块、VGA控制模块。
FPGA系统功能的实现框图如图2-4所示。
二分频VGA时序控制顶层控制模块显示设备RAM读取控制CLK50MHz图2-4 FPGA系统功能实现框图系统工作原理为系统加电FPGA芯片读入配置信息,配置完成后, FPGA进入工作状态,将要显示的信息初始化到单口RAM中,由系统时钟产生时序,程序根据时序信息控制VGA接口输出行、场同步及颜色信息到显示器上。
第三章系统模块设计3.1系统模块原理图系统主要有分频模块、VGA彩条信号产生模块以及显示设备构成,系统模块顶层原理框图如图3-1所示。
图3-1 系统顶层原理框图3. 2 分频模块3.2.1 PLL分频模块原理图VGA工业标准所要求的频率为25.175Hz,而FPGA芯片输出的频率为50MHz,因而必须对FPGA输出频率进行分频,采用二分频即可,利用锁相环的分频功能得到,分频模块如图3-2所示。
图3-2 PLL分频模块原理3.3 VGA彩条信号产生模块3.3.1系统控制原理VGA时序信号产生包括行点计数器x_cnt(计数个数用nx表示)、场点计数器y_cnt(计数个数用ny表示)、行同步信号hsync、场同步信号vsync、有效显示区Visible area等。
其中行点计数器是800进制计数器,场点计数器是525进制计数器。
根据VGA时序的工业标准行、场同步信号有4种状态:同步脉冲信号(Sync),显示后沿信号(Back Porch),可视显示区(Visible area),显示前沿(FrontPorch)。
这4种状态具有很清晰的时序规律,可以用有限状态机来实现这4种状态的转换,用h_state来表示行同步状态机的4种状态: h_sync, h_back, h_visible,h_fron;t v_state来表示场同步状态机的4种状态: v_sync, v_back, v_visible, v_front。
行、场计数器的值决定了状态机在何时进行状态翻转。
竖彩条发生模块根据行点数器h cnt的计数值来产生彩条,它对行点数计数器的数值进行判断,每80条竖线生成一种竖彩条,共8种竖彩条红、绿、黄、蓝、粉、青、灰和黑。
图3-3 VGA控制3.3.2 仿真波形图3-4 仿真波形图3.3.3 模块程序使用verilogHDL 硬件语言描述波特率发生器的完整代码如下:module VGA_controller (// VGA SideoVGA_R,oVGA_G,oVGA_B,oVGA_H_SYNC,oVGA_V_SYNC,// Control SignaliCLK,iRST_N);//Horizontal Parameter ( Pixel )parameter H_SYNC_CYC = 11'd96;parameter H_SYNC_BACK = 11'd48;parameter H_SYNC_ACT = 11'd640; // 646parameter H_SYNC_FRONT= 11'd16;parameter H_SYNC_TOTAL= 11'd800;// Virtical Parameter ( Line )parameter V_SYNC_CYC = 11'd2;parameter V_SYNC_BACK = 11'd32;parameter V_SYNC_ACT = 11'd480; // 484parameter V_SYNC_FRONT= 11'd11;parameter V_SYNC_TOTAL= 11'd525;// Start Offsetparameter X_START = H_SYNC_CYC+H_SYNC_BACK; parameter Y_START = V_SYNC_CYC+V_SYNC_BACK; // VGA Sideoutput reg oVGA_R;output reg oVGA_G;output reg oVGA_B;output reg oVGA_H_SYNC;output reg oVGA_V_SYNC;// Control Signalinput iCLK;input iRST_N;// Internal Registers and Wiresreg [10:0] H_Cont;reg [10:0] V_Cont;wire [10:0] x_position;assign x_position=H_Cont-X_START;//generate coloralways @(H_Cont)beginif(x_position<80) {oVGA_R,oVGA_G,oVGA_B}<=3'b001;else if(x_position<160) {oVGA_R,oVGA_G,oVGA_B}<=3'b010;else if(x_position<240) {oVGA_R,oVGA_G,oVGA_B}<=3'b011;else if(x_position<320) {oVGA_R,oVGA_G,oVGA_B}<=3'b100;else if(x_position<400) {oVGA_R,oVGA_G,oVGA_B}<=3'b101;else if(x_position<480) {oVGA_R,oVGA_G,oVGA_B}<=3'b110;else if(x_position<560) {oVGA_R,oVGA_G,oVGA_B}<=3'b111;else {oVGA_R,oVGA_G,oVGA_B}<=3'b000;end// H_Sync Generator, Ref. 25.175 MHz Clockalways@(posedge iCLK or negedge iRST_N)beginif(!iRST_N)beginH_Cont <= 11'd0;oVGA_H_SYNC <= 1'b0;endelsebegin// H_Sync Counterif( H_Cont < H_SYNC_TOTAL )H_Cont <= H_Cont+11'd1;elseH_Cont <= 11'd0;// H_Sync Generatorif( H_Cont < H_SYNC_CYC )oVGA_H_SYNC <= 1'b0;elseoVGA_H_SYNC <= 1'b1;endend// V_Sync Generator, Ref. H_Syncalways@(posedge iCLK or negedge iRST_N) beginif(!iRST_N)beginV_Cont <= 11'd0;oVGA_V_SYNC <= 1'b0;endelsebegin// When H_Sync Re-startif(H_Cont==11'd0)begin// V_Sync Counterif( V_Cont < V_SYNC_TOTAL )V_Cont <= V_Cont+11'd1;elseV_Cont <= 11'd0;// V_Sync Generatorif( V_Cont < V_SYNC_CYC )oVGA_V_SYNC <= 1'b0;elseoVGA_V_SYNC <= 1'b1;endendendEndmodule3.4实验结果尝试用FPGA实现VGA图像显示控制器,经过查阅相关资料,制定系统方案,硬件设计和软件设计以及系统调试得到实验结果为显示器显示红、绿、黄、蓝、粉、青、灰和黑八种竖向条文。