当前位置:文档之家› 基于FPGA的VGA显示控制器设计与图像显示

基于FPGA的VGA显示控制器设计与图像显示

基于FPGA的VGA显示控制器设计与图像显示
基于FPGA的VGA显示控制器设计与图像显示

信息工程学院工程实训报告

题目:基于FPGA 的VGA 显示控制器设计与图像显示

学 号:_________________________ 姓 名:_________________________ 专 业 名 称:_________________________ 指 导 教 师: 陈 波

2011年05月18日

王 巍 控制工程 201002426

摘要

该报告简述了QuartusⅡ仿真软件的基本操作方法,同时介绍FPGA逻辑器件的相关知识和Verilog硬件描述语言的相关知识,在基于FPGA逻辑器件、QuartusⅡ仿真软件和Verilog硬件描述语言下,设计了VGA显示控制器。该VGA图象显示控制器是用模块设计并通过它们的级连实现的,具体是通过硬件电路的设计且能实现的方案来用Verilog语言对硬件电路进行描述,同时把Verilog语言在QuartusⅡ中进行仿真,并在显示器中显示出图像。

关键词:VGA显示控制;Verilog;QuartusⅡ

目录

1.VGA显示概述 (2)

1.1 VGA显示的发展状况 (2)

1.2 VGA显示接口 (3)

1.3 VGA显示的原理 (3)

1.4 FPGA简介 (4)

1.5 QuartusII软件概述 (6)

1.6 本实训的开发板简介 (6)

2 显示控制实现技术 (7)

2.1 研究的基本内容 (7)

2.2 硬件电路实现 (8)

2.3 软件实现 (9)

2.4 设计方案 (11)

3 VGA显示调试与显示 (13)

3.1 软件程序设计 (13)

3.2 程序在QuartusⅡ下的编译与仿真 (18)

3.3 显示结果 (21)

3.4 总结 (31)

4 实训总结与心得 (31)

参考文献 (32)

前言

在电子电路领域中,设计自动化工具已经被广大电子工程师所接受,它必将取代人工设计方法并成为主要的设计手段。目前,Verilog语言已经成为各家EDA工具和集成电路厂商认同和共同推广的标准化硬件描述语言,随着科学技术的迅猛发展,电子工业界经历了巨大的飞跃。集成电路的设计正朝着速度快、性能高、容量大、体积小和微功耗的方向发展,这种发展必将导致集成电路的设计规模日益增大。

该实训的设计是用Verilog语言硬件描述语言设计出一个VGA图象显示控制器,用Verilog硬件描述语言进行编程,把Verilog语言描述的VGA图象显示控制器所需的程序在QuartusⅡ软件环境下进行模拟仿真,以此来验证所设计的结果是否满足设计的要求。在结果符合要求的情况下把Verilog程序下载到FPGA器件上,利用FPGA器件内部存储器存储所需要的数据,再通过VGA接口输出到显示器上,从而达到设计的要求。

VGA显示器因为其输出信息量大,输出形式多样等特点已经成为现在大多数设计的常用输出设备,FPGA以其结构的优势可以使用很少的资源产生VGA的各种控制信号。

1 VGA显示概述

CRT显示器作为一种通用型显示设备,如今已广泛应用于我们的工作和生活中。与嵌入式系统中常用的显示器件相比,它具有显示面积大、色彩丰富、承载信息量大、接口简单等优点,如果将其应用到嵌入式系统中,可以显著提升产品的视觉效果。如今随着液晶显示器的出现,越来越多的数字产品开始使用液晶作为显示终端。但基于VGA标准的显示器仍是目前普及率最高的显示器[1]。若驱动此类显示器,需要很高的扫面频率,以及极短的处理时间,正是由于这些特点,所以可以用FPGA来实现对VGA显示器的驱动。本次专业课程设计即选用FPGA来实现VGA的显示[1-2]。

随着FPGA的不断发展及其价格的不断下降,FPGA的可编程逻辑设计的应用优势逐渐显现出来。现在,越来越多的嵌入式系统选择了基于FPGA的设计方案。在基于FPGA的大规模嵌入式系统设计中,为实现VGA显示功能,既可以使用专用的VGA接口芯片如SPX7111A等,也可以设计和使用基于FPGA的VGA接口软核。虽然使用VGA专用芯片具有更稳定的VGA时序和更多的显示模式可供选择等优点,但设计和使用VGA接口软核更具有以下优势:(1)使用芯片更少,节省板上资源,减小布线难度;(2)当进行高速数据传输时,具有更小的高频噪声干扰;(3) FPGA(现场可编程门阵列)设计VGA接口可以将要显示的数据直接送到显示器,节省了计算机的处理过程,加快了数据的处理速度,节约了硬件成本[3]。

1.1 VGA显示的发展状况

显示绘图阵列(video graphic array,VGA)接口,他作为一种标准的显示接口得到了广泛的应用。VGA接口大多应用在显示器与显卡之间;同时还可以用用在擦二色等离子电视输入图像的模数转换上;VGA接口同样也是LCD液晶显示设备的标准接口。可编程逻辑器件随着微电子制造工艺的发展取得了长足的进步。早期的器件只能存储少量的数据,完成简单的逻辑功能;发展到现在,可以完成复杂的逻辑功能,速度更块,规模更大,功耗更低。目前可编程逻辑器件主要有两大类:复杂可编程逻辑器件(complex programmable logic device,CPLD)和现场可编程逻辑器件(filed programmable gate array,FPGA)。

FPGA的运行速度块,管脚资源丰富,容易实现大规模的系统设计,有大量的软核可用,便于进行二次开发。另外,由于FPGA具有可重构能力、抗看绍兴强等特点,因此,FPGA在工业控制等领域越来越受到重视[4]。利用FPGA完成VGA显示控制,可以使图像的显示脱离PC机的控制,形成体积小、功耗低的格式嵌入式系统(便携式设备或手持设备),应用于地面勘测、性能检测等方面,具有重要的现实意义。

显示器因为其输出信息量大,输出形式多样等特点已经成为现在大多数设计的常用输出设备。在FPGA的设计中可以使用很少的资源,就产生VGA各种信号。为了通过VGA端口连接显示器显示前端采集到的图像数据,本课题在21EDA—Altera FPGA开

发板上使用VGA接口在显示器上显示彩条及简单的图形,可以作为整个采集系统显示设计的参考,具有一定的实用价值[5]。

1.2 VGA显示接口

VGA 接口负责向显示器输出相应的显示信号。VGA 接口是一种D型接口,上面共有15 个针孔,非对称地分成3 排,每排5 个,其排列及接口定义如图1.1 所示。

图 1.1 VGA接口图

在基于FPGA 的VGA 控制中,只需要考虑行同步信号(Hs)、场同步信号(Vs)、蓝基色(R)、绿基色(G)、红基色(B)这5 个信号。如果能从FPGA 发出这5 个信号到VGA 接口,就可以实现对VGA 的控制[6]。

1.3 VGA显示的原理

VGA显示图像原理:常见的彩色显示器,一般由CRT(阴极射线管)构成。彩色是有R,G.B(红:RED,绿:GREEN,蓝:BLUE)三基色组成。显示是用逐行扫描的方式解决,阴极射线枪发出电子束打在涂有银光粉的荧光屏幕上,产生R,G,B三基色,合成一个彩色像素[7-8]。扫描从屏幕的左上方开始,从左到右,从上到下,进行扫描,每扫完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT对电子束进行消隐,每行结束时,用行同步信号进行同步,扫描完所有行,用场同步信号进行场同步,并使扫描回到屏幕的左上方,同时进行场消隐,预备下一场的扫描。

它的行场扫描时序示意图1.2所示。现以正极性为例,说明CRT的工作过程:R、G、B为正极性信号,即高电平有效。当VS=0,HS=0时,CRT显示的内容为亮的过程,即正向扫描过程约为26us。当一行扫描完毕,行同步HS=1,约需6us,期间,CRT扫描产生消隐,电子束回到CRT的左边下一行的起始位置(X=0,Y=1);当扫描完480行后,CRT的场同步VS=1,产生场同步是扫描线回到CRT的第一行第一列(C=0,Y=0处,约为两个行周期)。HS和VS的时序图。T1为行同步消隐(约为

6us);T2为行显示时间(约为26us),T3为场同步消隐(两行周期);T4为场显示时间(480行周期)。

图1.2 行场扫描示示意图

1.4 FPGA简介

FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分[9]。FPGA的基本特点主要有:1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。

2)FPGA可做其它全定制或半定制ASIC电路的中试样片。

3)FPGA内部有丰富的触发器和I/O引脚。

4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。

5) FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。

可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程[10]。用户可以根据不同的配置模式,采用不同的编程方式。

加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA 能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。

FPGA(Filed Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半订制电路而出现的,既解决了订制电路的不足,又克服了原有可编程器件门电路数有限的缺点[11]。

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

图1.3 LUT原理图

FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输入输出模块IOB(Input Output Block)和内部连线(Interconnect)三个部分[13]。图1.4是一般FPGA的结构图。

图1.4 FPGA结构

因为LUT主要适合于SRAM工艺生产,所以目前大部分FPGA都是基于SRAM 工艺的,而SRAM工艺的芯片在掉电后信息就会丢失,必须外加一片专用配置芯片,可以是EPROM芯片。在加电时,FPGA芯片将EPROM中数据读入片内编程RAM 中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。

FPGA的编程无须专用的FPGA编程器,只需通用的EPROM、PROM编程器即可。由于配置时间很短,因而不会影响系统正常工作。当然也有少数FPGA采用反熔丝或FLASH工艺,对这种FPGA就不需要外加专用的配置芯片了。这样,同一片PFGA,不同的编程数据可以产生不同的电路功能。因此,FPGA的使用非常灵活[14]。

随着的不断发展以及用户需求的不断提出,FPGA的技术也在不断地发展。随着工艺和数字电路技术的不断进步,FPGA芯片的集成度会更高,功能会更强,速度会更快,功耗会更低。

1.5 QuartusII软件概述

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

QuartusII输入的设计过程可分为创建工程、输入文件、项目编译、项目校验和编程下载等几个步骤。

1.6 本实训的开发板简介

本次实训采用板采用Altera 公司CycloneII 系列EP2C8Q208 芯片而设计的。开发板上使用JTAG 接口对芯片进行编程仿真调试,利用AS 配置EPCS4 Flash 芯片。自带的ByteBlasterII 下载线可以下载Altera 公司的所有FPGA芯片。

2 显示控制实现技术

2.1 研究的基本内容

此设计要实现某一分辨率下(如640*480@60Hz)的VGA显示驱动,能简单显示彩条、图像等。

此程序使用Verilog语言进行描述,Verilog HDL是目前应用最为广泛的硬件描述语言.Verilog HDL可以用来进行各种层次的逻辑设计,也可以进行数字系统的逻辑综合,仿真验证和时序分析等。Verilog HDL适合算法级,寄存器级,逻辑级,门级和版图级等各个层次的设计和描述.Verilog HDL进行设计最大的优点是其工艺无关性.这使得工程师在功能设计,逻辑验证阶段可以不必过多考虑门级及工艺实现的具体细节,只需根据系统设计的要求施加不同的约束条件,即可设计出实际电路.Verilog HDL是一种硬件描述语言(hardware description language),为了制作数字电路而用来描述FPGA 的设计之用[17]。

1.熟悉VGA工作原理及VGA接口协议、工作时序。

2.计算出合适的时序,并对原始时钟进行分频处理以获取符合时序要求的各频率。

3.须要显示的图像等可存储于外部存储器,运行时,从外部存储器读取显示数据。

显示控制器是一个较大的数字系统,采用模块化设计原则、借鉴自顶向下的程序设计思想,进行功能分离并按层次设计。利用Verilog硬件描述语言对每个功能模块进行描述,并逐一对每个功能模块进行编译仿真,使顶层VGA显示控制器的模块实体仿真综合得以顺利通过[18]。VGA显示控制器主要由以下模块组成:分频模块、VGA时序控制器模块、彩条图形生成模块、VGA显示模块、存储模块等,如下图2.1所示。

图2.1基于FPGA的VGA显示控制系统

2.2 硬件电路实现

VGA 的图形模式分为3 类:CGA、EGA 兼容的图形模式;标准的VGA 图形模式;VGA 扩展图形模式。后两种图形模式统称为VGA 图形模式[19-20]。本研究基于标准VGA模式来实现。常见的彩色显示器一般都是由CRT(阴极射线管)构成,每一个像素的色彩由红、绿、蓝三基色构成。显示时采用的是逐行扫描的方式。VGA 显示模块产生的由水平同步信号和垂直同步信号控制阴极射线管中的电子枪产生电子束,轰击涂有荧光粉的屏幕,产生红、绿、蓝三基色,于显示屏上合成一个彩色像素点。图2.2表示的是VGA 显示模块与CRT 显示器的控制框图。

图2.2 VGA 显示模块与 CRT 显示器的控制框图

电子束扫描一幅屏幕图像上的各个点的过程称为屏幕扫描。现在显示器都是通过光栅扫描方式来进行屏幕扫描。在光栅扫描方式下,电子束按照固定的路径扫过整个屏幕,在扫描过程中通过电子束的通断强弱来控制电子束所经过的每个点是否显示或显示的颜色[21]。电子枪在VGA 显示模块产生的行同步、场同步等控制信号的作用下进行包括水平扫描、水平回扫、垂直扫描、垂直回扫等过程。光栅扫描的路径通常为:从上到下扫过每一行,在每一行中从左到右地进行扫描。其过程如下:电子束从屏幕左上角开始向右扫,当到达屏幕的右边缘时,电子束关闭(水平消隐),并快速返回屏幕左边缘(水平回扫),然后在下一条扫描线上开始新的一次水平扫描。一旦所有的水平扫描均告完成,电子束在屏幕的右下角结束并关闭(垂直消隐),然后迅速返回到屏幕的左上角(垂直回扫),开始下一次光栅扫描。

通过对硬件进行编程,输出标准的VGA 信号(红、绿、蓝三色信号和行、帧同步信号),通过15 针VGA 接口输出至显示器,可具有显示驱动程序的能力,驱动显示器显示图像信号。板上的VGA 接口只需使用其中的5 个引脚,其中行、帧同步信号

直接由FGPA 输出;红、绿、蓝三色信号使用FPGA 上8 个引脚,8 位数据,其中红色2 位,绿色和蓝色各3 位,经由电阻网络D/A 变换后输出值显示器,具有256 种颜色。VGA 接口与FPGA 引脚连接见图2.3。

图2.3 VGA与FPGA引脚连接

2.3 软件实现

设计VGA图像显示控制需要注意两个问题:一个是时序的驱动,这是完成设计的关键,时序稍有偏差,显示必然不正常,甚至会损坏彩色显示器;另一个是VGA信号的电平驱动。

针对开发板的条件,可以用50MHz的系统时钟进行分频得到25MHz的像素频率输出,FPGA通过串联电阻直接驱动5个VGA信号。每个颜色信号串一个电阻,每位的颜色信号分别是VGA_RED、VGA_BLUE、VGA_GREEN。每个电阻与终端的75欧电缆电阻相结合,确保颜色信号保持在VGA规定的0V~0.7V之间。VGA_HSYNC和VGA_VSYNC信号使用LVTTL或LVCMOS3I/O标准驱动电平[22-24]。通过VGA_RED、VGA_BLUE、VGA_GREEN置高或低来产生8中颜色,如下表所示。

VGA信号的时序由视频电气标准委员会(VESA)规定。以下提供的VGA系统和时序信息作为例子来说明FPGA在640×480模式下是如何驱动VGA监视器的。

VGA显示器基于CRT,使用调幅模式,移动电子束(或阴极射线)在荧光屏上显示信息。LCD使用矩阵开关给液晶加压,在每个像素点上通过液晶来改变光的介电常数。尽管下面的描述仅限于CRT,LCD已经发展到可以同CRT使用同样的时序信号了。因此,下面的讨论均适合CRT和LCD。

在CRT显示器中,电流的波形通过蹄形磁铁产生磁场,使得电子束偏转,光栅在显示屏上横向显示,水平方向从左至右,垂直方向从上至下。当电子束向正方向移动时,信息才显示,即从左至右、从上至下。如果电子束从后返回左或顶边,显示屏并不显示任何信息。在消隐周期——电子束重新分配和稳定于新的水平或垂直位时,丢失了许多信息。

显示协议定义了电子束的大小以及通过显示屏的频率,该频率是可调的。

现在的VGA显示屏支持多种显示协议,VGA控制器通过协议产生时序信号来控制光栅。控制器产生同步脉冲TTL电平来设置电流通过偏转磁铁的频率,以确保像素或视频数据在适当的时间送给电子枪。

视频数据一般来自重复显示存储器中一个或多个字节——它们被分配到每个像素单元。入门实验板使用每个像素中的3位,产生图8中可能的一种颜色。控制器指定视频数据缓冲器以备电子束通过显示屏。然后,控制器接收并利用视频数据在适当的时间显示,电子束移动到指定的像素点。

根据图2.5所示,VGA控制器产生水平同步时序信号(HS)和垂直同步时序信号(VS),调节在每个像素时钟视频数据的传送。像素时钟定义了显示像素信息的有效时间段。VS信号定义显示的更新频率,或刷新屏幕信息的频率。最小的刷新频率是取决于显示器的亮度和电子束的强度,实际频率一般在60~120Hz之间。给定的刷新频率的水平线的数量定义了水平折回频率[23]。

下表的时序信号是640×480,像素时钟25Mhz,刷新频率60Hz±1。图7说明了每个时序的联系。同步脉冲的时序宽度(TPW)和前后门拱的间隔TFP和TBP)基于观察多种VGA的显示屏的结果。前后门拱的间隔是前后同步脉冲时间。在这些时段信息不能显示。

图2.4 VGA控制器时序信号

设计方案如下:

将图像控制模块分为这样几部分:二分频电路(clkdiv.v)、VGA时序控制模块(vga640480.v)、存储器读出模块(Stripes.v)。其中二分频把50mhz时钟频率分成25mhz并提供给其它模块作为时钟;VGA时序控制模块用于产生640×480显示范围,并控制显示范围和消隐范围以及产生水平同步时序信号hs和垂直同步时序信号vs的值;存储器读出模块提供给SRAM地址并按地址读出八位数据(灰度值Y),然后得到R、G、B的值(若Y>中间值,则R=G=B=1;否则R=G=B=0),并把R、G、B的值通过VGA接口传到CRT显示器,如图2.6。

图2.6 模块设计总体结构

3 VGA显示调试与显示

3.1 软件程序设计

本设计需要三个模块,一个是二分频电路、VGA时序控制模块、存储器读出模块。

1.二分频电路

二分频把50MHz时钟频率分成25MHz并提供给其它模块作为时钟。显示器的像素分辨率是640×480,像素时钟25Mhz,刷新频率60Hz±1。开发板提供的系统时钟50MHz,所以要对板载时钟进行分频后才能使用。

分频电路的设计部分程序如下:

module clkdiv(

input wire mclk,

input wire clr,

output wire clk25

);

reg[24:0] q;

//25-bit counter

always @ (posedge mclk or posedge clr)

begin

if(clr==1)

q<=0;

else

q<=q+1;

end

assign clk25=q[0]; //25mhz

endmodule

2.时序控制模块

VGA时序控制模块用于产生640*480显示范围,并控制显示范围和消隐范围以及产生水平同步时序信号hs和垂直同步时序信号vs的值。

一般来说,时钟计数器通过像素时钟来控制水平时序信号。译码计数器的值产生HS信号。在指定的行,计数器产生当前像素显示的位置。

一个独立的计数器产生垂直时序信号。垂直同步计数器在每个HS脉冲信号来临时自动加1,译码值产生VS信号。计数器产生当前显示行。这两个计数器从地址到显示缓冲器连续计数。开发板的DDR SDRAM 提供了一个足够的显示缓冲区。

在HS脉冲的开始和VS脉冲的开始没有具体规定相对的时序关系。因此,计数器被分配到简单格式的视频RAM地址,或分配到同步脉冲产生器的最小译码逻辑。

设计对时序控制部分的部分代码如下:

module vga640480(

input wire clk,

input wire clr,

output reg hsync,

output reg vsync,

output reg [9:0]hc,

output reg [9:0]vc,

output reg vidon

);

parameter hpixels=10'b1100100000;

//行像素点=800

parameter vlines=10'b1000001001;

//行数=521

parameter hbp=10'b0010010000;

//行显示后沿=144(128+16)

parameter hfp=10'b1100010000;

//行显示前沿=784(128+16+640)

parameter vbp=10'b0000011111;

//场显示后沿=31(2+29)

parameter vfp=10'b0111111111;

//场显示前沿=511(2+29+480)

reg vsenable; //Enbale for the Vertical counter

//行同步信号计数器

always@(posedge clk or posedge clr)

begin

if(clr==1)

hc<=0;

else

begin

if(hc==hpixels-1)

begin

//The counter has reached the end of pixel count

hc<=0; //计数器复位

vsenable<=1;

//Enable the vertical counter to increment

end

else

begin

hc<=hc+1; //Increment the horizontal counter

vsenable<=0; //Leave the vsenable off

end

end

end

//产生hsync脉冲

//当hc为0~127时,行同步脉冲为低电平

always@(*)

begin

if (hc<128)

hsync=0;

else

hsync=1;

end

//场同步信号计数器

always@(posedge clk or posedge clr)

begin

if(clr==1)

vc<=0;

else

if(vsenable==1)

begin

if(vc==vlines-1)

//Reset when the number of lines is reached

vc<=0;

else

vc<=vc+1;

//场计数器加1

end

end

//产生vsync脉冲

//当hc为0或1时,场同步脉冲为低电平

always@(*)

begin

if(vc<2)

vsync=0;

else

vsync=1;

end

//Enable video out when within the porches always@(*)

begin

if((hchbp)&&(vcvbp)) vidon=1;

else

vidon=0;

end

endmodule

3.显示彩条模块

module vga_stripes(

input wire vidon,

input wire[9:0]hc,vc,

output reg red,green,

output reg blue

);

//输出16行宽的红绿条纹

always@(*)

begin

red=0;

green=0;

blue=0;

if(vidon==1)

begin

red={vc[4]};

green=~{vc[4]};

end

end

endmodule

4.VGA彩条显示的顶层文件设计

module vga_initials_top(

input wire mclk,

input wire[3:0]btn,

input wire[7:0]sw,

output wire hsync,

output wire vsync,

output wire [2:0]red,

output wire [2:0]green,

output wire [1:0]blue

);

wire clr,clk25,vidon;

wire[9:0]hc,vc;

wire[0:31]M;

wire[3:0]rom_addr4;

assign clr=btn[3];

clkdiv U1(.mclk(mclk),

.clr(clr),

.clk25(clk25)

);

vga640480 U2(.clk(clk25),

.clr(clr),

.hsync(hsync),

.vsync(vsync),

.hc(hc),

.vc(vc),

.vidon(vidon)

);

vga_initials U3(.vidon(vidon),

.hc(hc),

.vc(vc),

.M(M),

.sw(sw),

.rom_addr4(rom_addr4),

.red(red),

.green(green),

.blue(blue)

);

prom_DHM U4(.addr(rom_addr4),

.M(M)

);

endmodule

vga图像显示控制

VGA图像显示控制器 一、摘要和关键词 摘要:VGA显示屏显示采用逐行扫描的方式解决,阴极射线枪发出电子束打在涂有荧光粉的荧光屏上,产生GRB基色,合成一个彩色像素。扫描从屏幕的左上方开始,从左到右,从上到下,逐行扫描,每扫完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT对电子束进行消隐,每行结束时,用行同步信号进行行同步;扫描完所有行,用场同步信号进行场同步,并使扫描回到屏幕的左上方,同时进行场消隐,并预备进行下一次的扫描。通过控制扫描计数器不同值时对RGB三原色信号的控制,来完成显示设计。 关键词:行列扫描行列同步RGB三原色控制 二、设计任务要求 实验目的 1. 熟练掌握VHDL 语言和QuartusII 软件的使用; 2. 理解状态机的工作原理和设计方法; 3. 掌握利用EDA 工具进行自顶向下的电子系统设计方法; 4. 熟悉VGA 接口协议规范。 实验要求: 设计一个VGA 图像显示控制器,达到如下功能: 显示模式为640×480×60HZ 模式; 用拨码开关控制R、G、B(每个2 位),使显示器可以显示64种纯色; 在显示器上显示横向彩条信号(至少6 种颜色); 在显示器上显示纵向彩条信号(至少8 种颜色); 在显示器上显示自行设定的图形、图像等。 选做:自拟其它功能。 三、实验原理 1、显示控制原理 常见的彩色显示器一般由阴极射线管(CRT)构成,彩色由GRB(Green Red Blue)基色组成。显示采用逐行扫描的方式解决,阴极射线枪发出电子束打在涂有荧光粉的荧光屏上,产生GRB基色,合成一个彩色像素。扫描从屏幕的左上方开始,从左到右,从上到下,逐行扫描,每扫完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT、对电子束进行消隐,每行结束时,用行同步信号进行行同步;扫描完所有行,用场同步信号进行场同步,并使扫描回到屏幕的左上方,同时进行场消隐,并预备进行下一次的扫描。VGA显示控制器控制CRT显示图象的过程如图1所示

基于FPGA的VGA接口显示的设计与实现

编号 基于FPGA的VGA接口显示的设计与实现Design and implementation of VGA interface based on FPGA display 学生姓名王雪 专业控制科学与工程 学号S120400520 指导教师杨晓慧 学院电子信息工程学院 二〇一三年六月

摘要 利用现场可编程逻辑器件FPGA产生VGA时序信号和彩条图像信号,并将其作为信号源,应用于彩色等离子显示器的电路开发,方便彩色等离子显示器驱动控制电路的调试。FPGA芯片具有可靠性高、编程灵活、体积小等优点,实验经过软硬件调试,最终在显示器上显示彩条正确图像。利用此原理,可以设计更多的彩色图像,且可将采集的图像进行实时显示,将此作为信号源,应用于显示器电路的开发或某些嵌入式系统中,进行视频设备的调试与性能分析或系统中信号处理模块的调试与性能分析等。 关键词:FPGA VGA接口时序控制彩条信号

Abstract VGA-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

LCD-VGA 嵌入式微型显示控制系统软件设计说明书

编号: 版本: LCD-VGA微型显示驱动电路 软件详细设计说明书 编写: 2015年05月18日 校对: 2015年06月12日 审核: 2015年06月15日 批准: 2015年06月20日 目录 一、项目背景 (2) 二、软件功能介绍 (2) 三、软件特性介绍 (2) 四、软件的运行环境介绍 (2) 五、系统的物理结构 (2) 六、系统总结构 (3) 七、系统各个模块介绍 (5) 七、算法设计 ............................................................ 错误!未定义书签。 八、接口设计 ............................................................ 错误!未定义书签。 九、需求规定 (10) 十、测试计划 (10)

一、项目背景 随着便携式多媒体终端需求量迅速增加,在视频解码等方面对芯片低功耗的要求也越来越高。因此,只有将模拟视频信号转换成为符合ITU-R BT、656标准的数字信号,才可方便地利用FPGA或者DSP甚至PC机来进行信号处理。本模块就就是利用TI公司的超低功耗视频解码芯片TVP5150对视频信号A/D解码,由单片机通过I2C总线控制,实现驱动VGA级别(640X480)的微型显示模组,并预留地址数据等接口,作为模块验证以及后续数字信号处理之用。 二、软件功能介绍 本系统主要由视频转换模块TVP5150、按键模块、8051内核单片机与液晶图形缩放引擎(A912)组成,系统框图6、1所示。STC单片机通过I2C接口控制其余三部分模块的工作,视频解码IC把复合视频转换成标准8位的ITU-RBI、656格式的数字信号传输到A912,A912通过解码矩阵电路把解调后的信号转换成三基色RGB信号,最后通过增益/偏移控制、伽马校正、抖动处理与图形缩放变RGB信号输出到液晶屏、 三、软件特性介绍 以STC单片机 MCU为控制中心,以视频转换芯片TVP5150为硬件核心。电路将模拟视频信号编码为ITU-R BT.656类型的数据流。单片机管理整个工作流程,缩放引擎芯片进行图像处理,把数据流转换为RGB信号,最终在液晶屏上获得显示图像。该显示器结构轻薄,电路简单,性能可靠,图像显示清晰稳定。 四、软件的运行环境介绍 软件应在以下环境中运行: 硬件环境:选用256字节 RAM+1K AUX-RAM、4KB ROM、S0P 型号为STC11F04E 单片机 计算机软件:采用C语言进行编译并生成相应执行文件格式,在STC11F04E 单片机上运行。 五、系统的物理结构 微型显示嵌入式软件中的硬件就是由主控、显示驱动模块、按键输入模块、视频解码器模块TVP5150组成,其物理结构图如下图所示

基于FPGA的VGA图像显示

基于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 语言编写的计数模块分频而得到,该部分十分重要,如果产生的时序有偏差,那么就会使汉字图形无法显示或显示结果混乱;

实验五vga图显示控制

实验五 VGA图像显示控制 一实验目的 1.进一步掌握VGA显示控制的设计原理。 2.了解图像的存储和读取方法。 3.进一步掌握4×4键盘或PS/2键盘接口电路设计方法。 4.掌握状态机设计复杂控制电路的基本方法。 二硬件需求 1.EDA/SOPC实验箱一台。 三实验原理 VGA图像显示控制利用实验三中学习的《VGA显示控制模块》显示存储于ROM中的图像数据。 要显示的图像是四块64*64像素大小的彩色图片,通过键盘控制可以选择不同的图片显示。图像可以在屏幕上移动(水平和垂直方向每帧分别移动“H_Step”点和“V_Step”点),通过键盘改变“H_Step”和“V_Step”的值即可改变其移动速度和方向。图像碰到屏幕边沿会反弹回去。如图5.1所示 H_Step V_Step 图5.1 VGA图像显示控制示意图 实验中要用到4×4键盘、VGA显示控制、ROM等模块,在《实验三常用模块电路的设计》中已经讲述,可以直接使用已做好的模块(可能需要修改部分代码)。键盘也可以使用PS/2接口键盘,这样可以输入更多的字符。 四实验内容 1、图5.2是整个设计的顶层电路。

图5.2 VGA图像显示控制顶层电路图 2、实验三中学习的几个模块 ①“Read_Keyboard”模块与实验三中的4×4键盘模块一致; ②四个ROM模块使用宏功能模块实现,并设置其内存初始化文件分别为“FBB.mif”、“dog.mif”、“cat.mif”、“flower.mif”,如图5.3所示。当然也可以用其他图片(大小为64*64)使用“BmpToMif”软件生成对应的“mif”文件,如图5.4所示。

基于FPGA的VGA显示设计报告

正文 一,VGA时序标准 VGA是一种常用的显示输出接口,采用行场扫描控制结合RGB三色合成原理,输出 显示信号。每个VGA接口为15针接口,分三行排布,每行5针。如图所示: 图1.1 VGA接口 15针并未全部使用,有效的信号线共5根,即红绿蓝三基色信号线:R,G,B,每线电压从0V到0.71V变化,表示无色到饱和,依据电平高低,显示颜色的饱和程度。行同步控制信号,Hsync,控制每行扫描像素的有效和失效。场同步:Vsync,控制场方向,即整个图像显示过程的时间长度,场同步中的显示部分的时间长度,等于每行扫描时间的总和。 在不同刷新频率下,显示每个像素的时间是不同的,相同刷新频率下,每个像素显示时间是固定的,所以,不同的每个像素写入时间,导致了分辨率的不同。因为VGA的显示是逐行扫描,每行从左到右扫描,到了行尾,回归到下一行的行头,继续向尾部扫描。所以,显示原理是逐次写入每行的像素数据,直到整幅图像显示成功为止。 VGA显示的数据是不能锁存的,所以必须一次又一次的连续输入数据,72Hz的刷新率下,一秒钟显示72幅图像,所以,需要连续写入72幅图像,才能达到一秒的显示效果。所以,VGA显示图像,要反反复复写入图像数据,才能得到持续的显示效果。 图1.2 VGA接口线序 VGA显示,无法做到类似于TFT液晶屏的定点写入,VGA是扫描式暂时显示,所以时序显得尤为重要,时序出现失误,图像会出现走形,无法达到准确效果。而显示的时序控制主要依靠两条数据通道:行同步和场同步,即Hsync和Vsync,其控制了扫描显示的起点和终点,同时控制扫描起点的时间,通过时间的控制,达到确定的显示效果。 具体的控制时序图如下:

VGA显示控制

基于FPGA 的VGA显示控制 摘要 VGA(Video Graphics Array)即视频图形阵列,是IBM公司1987年推出的一种传输标准,具有分辨率高、显示速率快、颜色丰富等优点,在彩色显示器领域得到了广泛应用。 本次课程设计是基于FPGA和主芯片为 EP4CE30F23C8N的ALTER公司的开发板Cyclone IV来实现的。数字图像信息在VGA接口显示器正确、完整地显示,涉及到时序的构建和数字图像信息的模拟化两方面,提出一种能够广泛应用的VGA显示接口方案,详细阐述了数字图像数据DA转化并输出到VGA接口显示器显示的方法,其中包括接口的硬件设计、视频DA转换器的使用方法、通过FPGA构造VGA时序信号的方法等等。方案可以应用于各种仪器,数字视频系统、高分辨率的彩色图片图像处理、视频信号再现等。 课设主要用到的芯片是ADV7123,它是一款高速、高精度数模转换芯片。拥有三路十位D/A转换器,能够将代表颜色的数据锁存到数据寄存器中,然后通过D/A 转换器转换成模拟信号输出,得到我们要的色彩。

VGA显示的硬件设计和原理 1.1 FPGA主芯片 课程设计所用开发板的主芯片是EP4CE30F23C8N——Cyclone IV,其由Altera公司开发,值得注意的是该开发板所支持的QUARTUS II的版本较高,并且11.0的版本较12.0的版本编译好的程序更好下载。 图-1 1.2 ADV7123 实现VGA的控制显示主要用到的芯片就是ADV7123,ADV7123由完全独立的三个I0位高速D/A转换器组成,RGB(红绿蓝)视频数据分别从R9~R0、G9~G0、B9~B0输入,在时钟CLOCK的上升沿锁存到数据寄存器中,然后经告诉D/A转换器转换成模拟信号。三个独立的视频D/A转换器都是电流型输出,可以接成差分输出,也可以接成单端输出。DE2-115上按单端输出,在模拟输出端用75欧姆电阻接地,以满足工业标准。低电平有效的BLANK信号为复合消隐信号,当BLANK为低电平时,模拟视频输出消隐电平,此时从R9~R0,G9~G0,B9~B0输入的所有数据被忽略。BLANK和SYNC都是在CLOCK 的上升沿被锁存的。 图-2是ADV7123的功能原理图:

基于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 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)所示

数电实验-vga图像显示控制

数字电路综合实验 报告 学校:北京邮电大学 学院:信息与通信工程学院 专业:通信工程 班级:2008211115 学号:08210460 班内序号:30 姓名:唐秋月 2011年1月5日

VGA图像显示控制器 一、摘要和关键词 摘要:VGA显示屏显示采用逐行扫描的方式解决,阴极射线枪发出电子束打在涂有荧光粉的荧光屏上,产生GRB基色,合成一个彩色像素。扫描从屏幕的左上方开始,从左到右,从上到下,逐行扫描,每扫完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT对电子束进行消隐,每行结束时,用行同步信号进行行同步;扫描完所有行,用场同步信号进行场同步,并使扫描回到屏幕的左上方,同时进行场消隐,并预备进行下一次的扫描。通过控制扫描计数器不同值时对RGB三原色信号的控制,来完成显示设计。 关键词:行列扫描行列同步RGB三原色控制 二、设计任务要求 实验目的 1. 熟练掌握VHDL 语言和QuartusII 软件的使用; 2. 理解状态机的工作原理和设计方法; 3. 掌握利用EDA 工具进行自顶向下的电子系统设计方法; 4. 熟悉VGA 接口协议规范。 实验要求: 设计一个VGA 图像显示控制器,达到如下功能: 显示模式为640×480×60HZ 模式; 用拨码开关控制R、G、B(每个2 位),使显示器可以显示64种纯色; 在显示器上显示横向彩条信号(至少6 种颜色); 在显示器上显示纵向彩条信号(至少8 种颜色); 在显示器上显示自行设定的图形、图像等。 选做:自拟其它功能。 三、实验原理 1、显示控制原理 常见的彩色显示器一般由阴极射线管(CRT)构成,彩色由GRB(Green Red Blue)基色组成。显示采用逐行扫描的方式解决,阴极射线枪发出电子束打在涂有荧光粉的荧光屏上,产生GRB基色,合成一个彩色像素。扫描从屏幕的左上方开始,从左到右,从上到下,逐行扫描,每扫完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT、对电子束进行消隐,每行结束时,用行同步信号进行行同步;扫描完所有行,用场同步信号进行场同步,并使扫描回到屏幕的左上方,同时进行场消隐,并预备进行下一次的扫描。VGA显示控制器控制CRT显示图象的过程如图1所示

基于FPGA的VGA图像显示与控制

基于FPGA的VGA图像显示与控制 课程要求:采用verilog语言,基于FPGA的VGA图像显示,即能够在显示器上实现动态彩色图像的显示。 VGA显示接口的理论分析:硬件采用CycloneII系列的EP2C20Q240C8N,它含有240个引脚。对于VGA的显示器遵循800*600@75模式,其中800是指每行中显示的像素的个数,而600是指屏幕每一列所包含的像素的个数。 VGA工业标准规定了具体地,在扫描过程中的时序图如下: 行扫描时序图 场扫描时序图 每场信号对应625个行周期,其中600行为图像显示行,每场有场同步信号,该脉冲宽度为3个行周期的负脉冲;每行显示行包括1056个点时钟,其中800点为有效显示区,每行有一个行同步信号的负脉冲,该脉冲宽度为80个点时钟。这样我们可以知道,行频为625*75=46857Hz。需要的点时钟的频率为:625*1056*75=49.5MHz约为50MHz。由上图可知,实际上在真正的实现过程中,每一行扫描所花的时间实际上比显示一行的像素所花的时间多了1056-800=256个像素点。同理,每一场的扫描时间多了625-600=25个行时间。 设计思路: 我们采用BmpToMif工具把BMP格式的图像转换为.mif文件。利用QuartusII7.2自带的MegaWizard Plug-In Manager产生一个ROM存储器,并用其来初始时.mif 文件。即将图像文件写入到存储器里面。然后利用编程来控制图像的显示。 设计步骤: 1、工程创建:创建一个Project取名字为vga,在创建工程的向导中选着CycloneII 系列的EP2C20Q240C8。 2、代码书写:新建一个Verilog HDL File编写程序代码如下: `timescale 1ns/1ps module tupian (clk,rst_n,hsync,vsync,vga_r,vga_g,vga_b,addr); input clk,rst_n;

基于FPGA的VGA接口设计

毕业设计(论文) 基于FPGA的VGA显示接口设计 摘要 本文基于FPGA芯片设计实现了一个用于stm32单片机外围的VGA接口模块,该模块以VGA接口的工业标准作为设计规范,使VGA显示器成为了stm32单片机的显示输出设备,适合所有的液晶显示器和CRT显示器。本系统采用带VGA接口的OLED显示器,OLED显示器具有体积小、分辨率高、功耗低、色彩丰富等特点,非常适合穿戴。模块与STM32单片机的接口使用Intel8080总线方式,非常适合STM32的FSMC读写模式,能方便地对屏幕任意像素进行读写操作。 关键字FPGA,VGA,OLED,STM32

VGA display interface design based on FPGA Abstract As people pursuit for more fun from games and the progress of science and technology, in the wargame , in order to make the team have a clear understanding of the battlefield situation, we use the OLED which is a kind of micro display to show all the information. The micro display generally use the VGA interface. With the development of manufacturing technology, VGA interface has become more compact, it has advantages of low cost, high resolution rich color etc. FPGA with high flexibility can be designed differently according to the needs, achieve the lowest cost. This paper designed a VGA display interface based on FPGA. Useful signal of the VGA interface is the horizontal synchronization signal, vertical synchronization signal and R,G,B signals. In this paper, we use FPGA to produce the horizontal synchronization signal and vertical synchronization signal, and the data from memory is converted into analog R,G,B signal by FPGA. The design use ISSI 25616 SRAM as the memory connectted by STM32F103VCT6. Key words :FPGA,VGA interface,OLED

VGA 图像显示控制器设计报告

《电子设计自动化》 课程设计 题目:VGA 图像显示控制器 院(系): 年级: 班级: 姓名: 学号: 指导老师:

摘要:本文介绍了一种利用可编程逻辑器件实现VGA图像显示控制的方法,阐述了VGA图像显示控制器中VGA显像的基本原理以及功能演示,利用可编程器件FPGA设计VGA图像显示控制的VHDL设计方案,并在Altera公司的QuartusII 软件环境下完成VGA模块的设计。而且给出了VGA模块的设计思路和顶层逻辑框图。最终实现VGA图像显示控制器,VGA图像控制器是一个较大的数字系统,传统的图像显示的方法是在图像数据传输到计算机,并通过显示屏显示出在传输过程中,将图像数据的CPU需要不断的信号控制,所以造成CPU的资源浪费,系统还需要依靠计算机,从而减少了系统的灵活性。FPGA芯片和EDA设计方法的使用,可根据用户的需求,为设计提供了有针对性的VGA显示控制器,不需要依靠计算机,它可以大大降低成本,并可以满足生产实践中不断改变的需要,产品的升级换代和方便迅速。

目录 设计思路 ............................................................................................. - 1 - 一、系统设计 ........................................................................... - 1 - 1.设计要求 ........................................................................... - 1 - 2.设计方案 ........................................................................... - 1 - 二、单元电路设计.................................................................... - 2 - 1.VGA显示控制模块............................................................ - 3 - 2.数据存储模块.................................................................... - 7 - 3.锁相环模块........................................................................ - 8 - 三、软件设计 ......................................................................... - 10 - 1.VHDL语言........................................................................ - 10 - 2.Quartus II简介................................................................. - 11 - 3.硬件开发工具.................................................................. - 12 - 四、硬件验证 ......................................................................... - 14 -附录................................................................................................... - 15 - 1.程序 ................................................................................. - 15 - 2.仪器设备名称型号.......................................................... - 17 - 3.系统的性能指标.............................................................. - 18 -

(完整版)本科毕业设计___基于FPGA的VGA显示控制器设计

基于FPFA的VGA显示控制器设计 摘要 目前,数码产品逐渐进入了人们生活的每一个领域,而此类产品大多都带有显示屏,可见对显示屏的控制电路进行研究具有很大的市场需求。VGA作为一种标准的显示接口得到了广泛的应用,同时基于VGA技术的显示控制器也拥有广泛的使用领域。 本文所设计的VGA控制器就是通过利用超大规模可编程逻辑器件FPGA和Altera公司开发的EDA设计软件Quartus II 8.0,并采用自顶向下的VHDL设计方法,将该控制器分成用VHDL语言进行描述的五个子模块来实现的。在Quartus II 8.0软件平台上,完成了对该控制器的设计输入、综合、仿真和下载。在实验开发板上,也进行了硬件调试。调试结果表明,设计的VGA控制器能够正确地输出RGB颜色信号和时序控制信号,可以显示符合VGA工业标准的测试彩条信号,内置ROM信息,实时RAM信息,还能够分屏显示三路RGB图像信息,并在这几种模式之间灵活切换和通断。它工作稳定,达到了设计要求。 本设计利用了不同于以往传统的电子设计方法,具有修改灵活,高移植性,维护简单,可靠性好等优点。大大地缩短了设计周期,降低了生产成本。 关键词现场可编程门阵列;硬件描述语言;视频图像阵列 -

-

The VGA Display Controller Design Based on FPFA Abstract The currently, the digital products which most of them have a display screen entered in every area of people's lives gradually, so we can see the great market demand of the study on the control circuit .As a standard display interface has been widely used, the VGA display controller based on this VGA norm also has a broad field of use at the same time. In this paper, designed through the use of ultra-large-scale programmable logic device-FPGA and Altera developed EDA design software Quartus II of version 8.0, and the VHDL top-down design methodology,the VGA controller was divided into five sub-modules which described with VHDL language. It has finished the design of the controller input, integrated, simulation, and download on Quartus II 8.0 software platform,and it has carried out hardware debugging on the experimental development board. The results from debugging showed that the design of the VGA controller can output the color signals of RGB and the control signals correctly. It can show the images that compliance with industry standard of VGA ,such as the color bar test signal, a built-ROM image, and a real-time RAM image, but also to show the three-way RGB image information on one screen separately,and it can make a choice between these types of models and control the output connect or disconnector.It -

课程设计基于FPGA的VGA图像汉字显示及-PS-2键盘控制设计与应用 精品

题目基于FPGA的VGA图像汉字显示及PS/2键盘控制设计与应用 1.方案设计及工作原理 1.1 VGA模块方案设计 采用模块化设计方法,我们对VGA 图形控制器按功能进行层次划分。本设计的VGA控制器主要由以下模块组成:VGA 时序控制模块、ROM 内存地址控制模块、ROM内存模块、按键扫描控制模块。如图 1 所示。 图1.方案模块框图 1.2工作原理 VGA时序控制模块ROM内存地址控制模块ROM 按键扫描控制模块50MHz 5Hz addr data 首坐标xx、yy VGA 接口RGB HS、VS D/A CRT 根据VGA的显示协议,可以选择不同的显示分辨率。本设计选择的是800*600的分辨率。根据相应协议,在“VGA时序控制模块”对行扫描信号HS和场扫描信号VS进行相应的时序控制(具体控制详细信息见“VGA驱动原理”资料文档)。“ROM内存地址控制模块”根据“按键扫描控制模块”获得的图片显示首坐标xx、yy信息和“VGA时序控制模块”传送过来的ht(列计数器值)、vt(行计数器值)及相关控制信号计算出正确的内存地址,从rom中取出所需要的像素点的三基色数据。

1.3 PS/2接口电路的工作原理 PS/2协议和接口最初是IBM公司开发并推广使用的一种应用于键盘/鼠标的协议和接口,PS/2键盘按键接口是6芯的插头与PC机的键盘相连接,插头、插座定义如图所示。 键盘/鼠标接口的数据线和时钟线采用集电极开路结构,平时都是高电平当这些设备等待发送数据时,它首先检查clock是否为高。如果为低,则认为PC抑制了通讯,此时它缓冲数据直到获得总线的控制权。如果clock为高电平,设备则开始向PC发送数据。一般都是由ps2设备产生时钟信号。发送按帧格式。数据位在clock为高电平时准备好,在clock下降沿被PC读入。图3所示是按下Q 键的时序图“Q”键的扫描码从键盘发送到计算机(通道A是时钟信号,通道B 是数据信号)。因本设计只需进行控制,所以PS/2模块并未设计转码功能。 2.模块设计及仿真 2.1 VGA显示模块 图片想要在显示器上显示出来,它主要需要5个信号,行同步信号(HS)、场同步信号(VS)和RGB三基色信号。 VGA时序控制模块是须严格按照VGA

基于FPGA的VGA显示控制毕业设计

引言 基于FPGA的VGA显示控制设计 1 引言 1.1 选题背景 CRT显示器作为一种通用型显示设备,如今已广泛应用于我们的工作和生活中。与嵌入式系统中常用的显示器件相比,它具有显示面积大、色彩丰富、承载信息量大、接口简单等优点,如果将其应用到嵌入式系统中,可以显著提升产品的视觉效果。如今随着液晶显示器的出现,越来越多的数字产品开始使用液晶作为显示终端。但基于VGA标准的显示器仍是目前普及率最高的显示器[1]。若驱动此类显示器,需要很高的扫面频率,以及极短的处理时间,正是由于这些特点,所以可以用FPGA来实现对VGA 显示器的驱动。本次专业课程设计即选用FPGA来实现VGA图片的显示。 随着FPGA的不断发展及其价格的不断下降,FPGA的可编程逻辑设计的应用优势逐渐显现出来。现在,越来越多的嵌入式系统选择了基于FPGA的设计方案。在基于FPGA的大规模嵌入式系统设计中,为实现VGA显示功能,既可以使用专用的VGA接口芯片如SPX7111A等,也可以设计和使用基于FPGA的VGA接口软核。虽然使用VGA 专用芯片具有更稳定的VGA时序和更多的显示模式可供选择等优点,但设计和使用VGA接口软核更具有以下优势:(1)使用芯片更少,节省板上资源,减小布线难度;(2)当进行高速数据传输时,具有更小的高频噪声干扰;(3)FPGA(现场可编程门阵列)设计VGA接口可以将要显示的数据直接送到显示器,节省了计算机的处理过程,加快了数据的处理速度,节约了硬件成本。 1.2 目的和意义 显示绘图阵列(video graphic array,VGA)接口,他作为一种标准的显示接口得到了广泛的应用。VGA接口大多应用在显示器与显卡之间;同时还可以用用在擦二色等离子电视输入图像的模数转换上;VGA接口同样也是LCD液晶显示设备的标准接口[2]。可编程逻辑器件随着微电子制造工艺的发展取得了长足的进步[3]。早期的器件只能存储少量的数据,完成简单的逻辑功能;发展到现在,可以完成复杂的逻辑功能,速度更块,规模更大,功耗更低。目前可编程逻辑器件主要有两大类:复杂可编程逻辑器件(complex programmable logic device,CPLD)和现场可编程逻辑器件(filed

基于FPGA的VGA彩条图像显示

基于FPGA的VGA彩条图像显示 1. 设计的任务及内容 在电子电路领域中,设计自动化工具已经被广大电子工程师所接受,它必将取代人工设计方法并成为主要的设计手段。目前,Verilog语言已经成为各家EDA工具和集成电路厂商认同和共同推广的标准化硬件描述语言,随着科学技术的迅猛发展,电子工业界经历了巨大的飞跃。集成电路的设计正朝着速度快、性能高、容量大、体积小和微功耗的方向发展,这种发展必将导致集成电路的设计规模日益增大。 该实训的设计是用Verilog语言硬件描述语言设计出一个VGA图象显示控制器,用Verilog 硬件描述语言进行编程,把Verilog语言描述的VGA图象显示控制器所需的程序在QuartusⅡ软件环境下进行模拟仿真,以此来验证所设计的结果是否满足设计的要求。在结果符合要求的情况下把Verilog程序下载到FPGA器件上,利用FPGA器件内部存储器存储所需要的数据,再通过VGA接口输出到显示器上,从而达到设计的要求。 VGA显示器因为其输出信息量大,输出形式多样等特点已经成为现在大多数设计的常用输出设备,FPGA以其结构的优势可以使用很少的资源产生VGA的各种控制信号。 CRT显示器作为一种通用型显示设备,如今已广泛应用于我们的工作和生活中。与嵌入式系统中常用的显示器件相比,它具有显示面积大、色彩丰富、承载信息量大、接口简单等优点,如果将其应用到嵌入式系统中,可以显著提升产品的视觉效果。如今随着液晶显示器的出现,越来越多的数字产品开始使用液晶作为显示终端。但基于VGA标准的显示器仍是目前普及率最高的显示器[1]。若驱动此类显示器,需要很高的扫面频率,以及极短的处理时间,正是由于这些特点,所以可以用FPGA来实现对VGA显示器的驱动。本次专业课程设计即选用FPGA 来实现VGA的显示。 随着FPGA的不断发展及其价格的不断下降,FPGA的可编程逻辑设计的应用优势逐渐显现出来。现在,越来越多的嵌入式系统选择了基于FPGA的设计方案。在基于FPGA的大规模嵌入式系统设计中,为实现VGA显示功能,既可以使用专用的VGA接口芯片如SPX7111A等,也可以设计和使用基于FPGA的VGA接口软核。虽然使用VGA专用芯片具有更稳定的VGA时序和更多的显示模式可供选择等优点,但设计和使用VGA接口软核更具有以下优势:(1)使用芯片更少,节省板上资源,减小布线难度;(2)当进行高速数据传输时,具有更小的高频噪声干扰;(3) FPGA(现场可编程门阵列)设计VGA接口可以将要显示的数据直接送到显示器,节省了计算机的处理过程,加快了数据的处理速度,节约了硬件成本。 1.1 FPGA简介 FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分[9]。FPGA的基本特点主要有: 1)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。 2)FPGA可做其它全定制或半定制ASIC电路的中试样片。 3)FPGA内部有丰富的触发器和I/O引脚。 4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。 5) FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。 1

相关主题
文本预览
相关文档 最新文档