基于FPGA的VGA图像显示控制器设计 下载本文

内容发布更新时间 : 2024/5/6 23:55:18星期一 下面是文章的全部内容请认真阅读。

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

前 言

现在社会,以计算机技术为核心的信息技术飞速发展,以及信息的爆炸式增长,人们获得很大一部分的视觉信息是从各种电子显示设备上获得的,为此对电子显示设备的要求也越来越高,在这些因素影响下,显示技术也取得了快速发展。1987年IBM推出了一种高分辨率的视频传输标准即VGA(视频图形阵列),其具备显示速度快,分辨率高,和丰富的颜色等特点。被广泛应用于彩色显示领域。使用VGA显示控制器的FPGA设计有着高度的灵活性,并能够根据不同类型,规模,和不同的适用场合,尤其是工业产品,做一些特殊的设计,用最低的价格,满足系统的要求,并能解决一般显示控制器本身固有的一些点。

VGA图像控制器是一个较大的数字系统,传统的图像显示的方法是将图像数据传输到计算机,并通过显示屏显示出在传输过程中,在图像数据中的芯片需要不断的信号控制,所以造成芯片的资源浪费,系统还需要依靠计算机,从而减少了系统的灵活性。采用FPGA芯片和EDA设计方法,可根据用户的需求,为设计提供了有针对性的VGA显示控制器,不需要依靠计算机,它可以大大降低成本,并可以满足生产实践中不断改变的需要,产品的升级换代和方便迅速。

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

第1章 VGA概述

伴随着市场上液晶显示器的出现,越来越多的数字产品开始使用液晶作为显示终端,不过基于VGA标准的显示器仍是目前普及率最高的显示器。如果想要驱动此类显示器,必须得有很高的扫描频率,以及极短的处理时间,综合诸多特点需要,所以选用FPGA来实现对VGA显示器的驱动。本次毕业设计即选用FPGA来实现VGA的显示。

现在,基于FPGA的设计方案越来越被用于更多的嵌入式系统,在基于FPGA的大规模嵌入式系统设计中,为了更好的实现VGA显示功能,既能使用专用的VGA接口芯SPX7111A等,又可以设计和使用基于FPGA的VGA接口软核,其优点在于能使用VGA专用芯片具有更稳定的VGA时序和更多的显示模式可供选择。此外设计和使用VGA接口软核更具有以下几点优势:

◆ 使用芯片更少,节省板上资源,布线难度大大减少。 ◆ 当高速数据进行传输时,减少高频噪声干扰。

◆ 采用FPGA(现场可编程门阵列)设计的VGA接口可以将要显示的数据直接传送到显示器,跳过计算机的处理过程,加快了数据的处理速度,从而有利的节约硬件成本。

◆ 整体设计费用降低,产品更具有价格优势。现代EDA软件发展迅速,设计、仿真 更容易实现,量化设计中各个环节,使得设计周期日益缩短。

1.1 VGA显示技术的发展概况

VGA接口,它是一种被广泛应用的标准显示接口,大多数的显卡和显示器之间,以及二色等离子的电视输入图像模数的转换上使用了VGA接口。它同样还被用于LCD的液晶显示设备,随着微电子制造工艺的发展,可编程逻辑器件也取得了长久的进步,早期的元器件只可以存储很少的数据,逻辑功能实现更为简单,然而发展至今,其完成的逻辑功能相对复杂,规模更大,速度更快,功耗更低!现阶段可编程逻辑器件主要有两大类,现场可编程逻辑器件(FPGA)和复杂可编程逻辑器件(CPLD)。

FPGA的运行速度快,管脚资源更加丰富,大规模的系统设计的实现相对简单,大量软核可供使用用,有利于二次开发使用,不仅如此,而且FPGA具备可重构的能力,抗看等特点。因此,工业控制及其他领域也更加重视使用FPGA,利用FPG完成VGA显示控制,可以使图像的显示脱离PC机的控制,形成体积小、功耗低的格式嵌入式系统(便

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

携式设备或手持设备),应用地面勘测,性能检测等方面,具有重要的现实意义。本设计在FPGA开发板上使用VGA接口的显示器显示彩条及简单的图形,可以成为整个采集系统的参考设计,实用价值良好。

[1]

1.2 VGA显示接口

VGA接口是一种D型接口,上面共有15针孔,分成三排,每排五个。 其中,除了2根NC(Not Connect)信号、3根显示数据总线和5个GND信号,比较重要的是3根RGB彩色分量信号和2根扫描同步信号HSYNC和VSYNC针

[2]

。VGA接口是显

卡上应用最为广泛的接口类型,多数的显卡都带有此种接口。其排列及接口定义如图1.2-1所示:

图1.2-1 VGA接口图

在基于FPGA的VGA控制中,只需要考虑行场同步信号(Vs)、同步信号(Hs)、蓝基色

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

(R)、红基色(B)、绿基色(G)这5个信号。一旦能够从FPGA发出这5个信号到VGA接口,就表示可以实现对VGA的控制。

1.3 VGA显示原理

VGA显示的图像原理:常见之彩色显示器,一般由CRT(即:阴极射线管)构成。彩色则由R,G,B(红:RED,绿:GREEN,蓝:BLUE这三基色够成。显示则采取逐行扫描得方式解决,使得从阴极射线枪中发出的电子束得以打在具有荧光粉得荧光屏上,产生R,G,三基色的彩色像素。扫描随即开始从屏幕的左上方进行,从左到右,从上到下,进行扫描,每扫完了一行,电子束则返回于屏幕左边下面一行的初始位置,在这期间,CRT把电子束消隐了,每行完成结束时,行同步则采用行同步信号进行,扫描完所有行;场同步则采用场同步信号进行,并使扫描回到屏幕的左上方,同时场消隐进行,准备下一场的扫描。它的行、场扫描时序示意图如图1.3-1所示。现拿正极性分析,说明CRT的全工作过程:R,G,B呈现正极性的信号,即视为高电平是有效的。当VS=O、HS=O时,CRT的内容被显示为亮的过程,即是正向扫描的过程大致为26s,当一行被扫描完成后,行同步HS=I,约需6s;其间,CRT的扫描会产生消隐,电子束即回到CRT的左边的下一行得起始位置(X=O,Y=I),当扫描完成了480行以后,场同步VS=I,场同步的产生使扫描线回到CRT得第一行第一列(X=O,Y=O处,大约两个行周期)。Hs和Vs的时序图。行同步的消隐时间T1(约为6S);行显示的时间T2(约为26s);场同步的消隐时间T3(两行周期);场显示的时间T4(480行周期)。

[3]

图1.3-1 行、场扫描时序示意图

VGA得图形模式可以分成三类:CGA、EGA兼容的图形模式,标准的VGA图形模式及VGA

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

扩展图形模式。后两种图形模式统称为VGA图形模式。本设计基于标准VGA模式来实现。通常我们接触的彩色显示器绝大多数是由CRT(阴极射线管)组成的,每个像素得色彩均由红、绿、蓝三基色组成。采用逐行扫描得方式进行显示。阴极射线管中的电子枪在VGA显示模块产生的水平同步信号和垂直同步信号同时控制下产生电子束,使含有荧光粉得屏幕遭到轰击,产生红、绿、蓝三基色,合成一个新的彩色像素点在显示屏上。图1.3-2表示的是VGA显示模块与CRT显示器的控制框图。

图1.3-2 VGA显示模块与CRT显示器的控制框图

屏幕扫描即是电子束扫描一幅屏幕图像上的各个点的过程。当今的显示器都采用光栅扫描这一方式来进行它的屏幕扫描。电子束在光栅扫描下按照固定的路径扫过整个屏幕,在整个扫描中,电子束所通过的每一个点是否显示或已经显示得颜色是通过判断电子束的通断强弱来进行控制的,电子枪在VGA显示模块产生的行同步和场同步等控制信号的作用下能够进行包括水平扫描,水平回扫,垂直扫描和垂直回扫等过程。这种光栅扫描一般具备以下路径:在每一行从上到下并从左到右进行扫描。它具有如下过程:电子束首从屏幕的左上角开始向右扫,当达到屏幕得右边缘时,电子束(水平消隐)被关闭,并迅速回到屏幕的左边缘(水平回扫)。如果所有的水平扫描都以完成,电子束被结束并关闭在屏幕的右下角,随即及时回到屏幕得左上角(垂直回扫),启动下一次的光栅扫描。硬件进行编程之后,会输出标准VGA信号(红,绿,蓝三色信号和行、帧同步信号),链接15针VGA接口后输出至显示器,方能具备显示驱动程序的能力,驱动显示器显示各种图像信号。板上的VGA接口只需使用其中的五个引脚,其中行、帧同步信号直接由FGPA输出;红、绿、蓝三色信号使用FPGA上8个引脚,8位数据,其中红色两

9 [4]