基于FPGA的VGA接口技术

来源 :电脑知识与技术·学术交流 | 被引量 : 0次 | 上传用户:hakhid
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:本文设计了一种基于现场可编程逻辑器件FPGA计的多显示模式VGA接口。通过设计一种全新的分频算法,使该接口能支持从VGA到SVGA多达13种显示模式,在實际利用FPGA的嵌入式系统中能替代VGA专用显示芯片,节省了计算机处理过程,加快了数据处理速度,节约了硬件成本。
  关键词:FPGA;VGA接口
  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)20-30240-03
  
  The VGA Interface Technology Based on FPGA
  WU Ting-ting, SHI Bo-ya
  (Tianjin Industry University, Information and Communication Engineering Institute, Tianjin 300160, China)
  Abstract: The design of a field programmable logic devices based on the FPGA of multi-mode VGA display interface. Through the design of a new sub-frequency algorithm, so that the interface can support from VGA up to 13 SVGA display mode, in the actual use of embedded systems in FPGA can substitute for VGA display chips, saving the computer process, Speed up the data-processing speed, saving the cost of hardware.
  Key words: FPGA; VGA port
  
  1 引言
  
  随着FPGA的不断发展及其价格的不断下降,FPG的可编程逻辑设计的应用优势逐渐显现出来。现在,越来越多的嵌入式系统选择了基于FPGA的设计方案。在基于FPGA的大规模嵌入式系统设计中,为实现VGA显示功能,既可以使用专用的VGA接口芯片如SPX7111A等,也可以设计和使用基于FPGA的VGA接口软核。虽然使用VGA专用芯片具有更稳定的VGA时序和更多的显示模式可供选择等优点,但设计和使用VGA接口软核更具有以下优势:(1)使用芯片更少,节省板上资源,减小布线难度;(2)当进行高速数据传输时,具有更小的高频噪声干扰;(3)系统成本下降,产品更有价格优势。本文研究与设计了一种基于FPGA的VGA接口软核,它具有从VGA(640×480,60Hz)到SVGA(1024×768,85Hz)多达13种显示模式可供选择,弥补了普通VGA软核无法适用多种显示模式的缺点,能达到完全替代VGA专用芯片的效果,在大规模FPGA嵌入式系统设计中具有很好的应用。
  
  2 FPGA的原理
  
  单元、门电路以及RAM空间的可编程逻辑器件,几乎所有应用门阵列、PLD和中小规模通用数字集成电路的场合均可应用FPGA和CPLD器件。CPLD的设计是基于乘积项选择矩阵来实现的,CPLD、FPGA是在PAL、GAL等基础上发展起来的一种具有丰富的可编程I/O引脚、逻辑宏而FPGA是基于查找表来设计的。查找表就是实现将输入信号的各种组合功能以一定的次序写入RAM中,然后在输入信号的作用下,输出特定的函数运算结果。采用FPGA作为控制器,利用其丰富的I/O资源,并行处理数据。具有高密度、高速度、多功能、低功耗、设计灵活方便、可无限次反复编程等特点,由FPGA完成信号的产生、频率控制、LED显示等。该方案的系统方框图如图1所示,其优点在于系统结构紧凑,可以实现复杂的测量与控制。
  
  3 VGA显示接口原理
  
  随着计算机显示技术的快速发展,计算机业界制定了许多种显示接口协议,从最初的MDA接口协议到目前主流的VGA(视频图形阵列)接口协议。VGA 接口采用非对称分布的15pin 连接方式,其工作原理:是将显存内以数字格式存储的图像(帧)信号在ramdac 里经过模拟调制成模拟高频信号,然后再输出到投影机成像,这样VGA信号在输入端(投影机内) ,就不必像其它视频信号那样还要经过矩阵解码电路的换算。从前面的视频成像原理可知VGA的视频传输过程是最短的,所以VGA 接口拥有许多的优点,如无串扰无电路合成分离损耗等。
  在VGA接口协议架中,根据不同的分辨率和刷新频率,又分为不同的显示式:VGA(640×480)、XGA(800×600)和SVGA(1024×68)。计算机显示器的显示有许多标准,常见的有VGA、SVGA等。本系统采用FPGA实现图像显示控制器,这在产品开发设计中广泛应用。常见的彩色显示器一般由CRT(阴极射线管)构成,彩色是由G、R、B(绿:Green,红:Red,蓝:Blue)3基色组成。显示是采用逐行扫描的方式解决,阴极射线枪发出电子束打在涂有荧光粉的荧光屏上,产生GRB 3基色,合成一个彩色像素。扫描从屏幕的左上方开始,从左到右,从上到下,逐行扫描,每扫完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT对电子束进行消隐,每行结束时,用行同步信号进行行同步;扫描完所有行,用场同步信号进行场同步,并使扫描回到屏幕的左上方,同时进行场消隐,并预备进行下一次的扫描。在VGA接口协议中,不同的显示模式因为有不同的分辨率或不同的刷新频率,所以其时序也不相同。对于每种显示模式的时序,VGA都有严格的工业标准。
  
  4 FPGA系统实现
  
  VGA图像控制器是一个较大的数字系统。本文设计的多显示模式VGA接口采用模块化的设计原则,借鉴自顶而下的程序设计思想, 进行功能分离并按层次设计。将VHDL硬件描述语言设计与原理图设计相结合,逐一对每个功能模块进行仿真,使顶层VGA图像控制器的模块实体仿真综合得以顺利通过。VGA控制器主要由以下模块组成:消隐模块,显示模块,分频模块,网格生成模块,汉字显示模块,图像控制模块,动画生成模块,LPM-ROM调用模块,EEPROM调用模块等。设计VGA图像显示控制需要注意两个问题:一个是时序的驱动,这是完成设计的关键时序稍有偏差,显示必然不正常,甚至会损坏彩色显示器;另一个是VGA信号的电平驱动。功能模块的VHDL设计如下。
  4.1 模式选择模块
  模式选择模块根据所选择的显示模式(模式1~模13),输出符合VGA工业标准的对应参数与所需时钟率;输出的参数包括:行、场有效像素点;行场前同步头信号;行、场后同步头信号;行、场消隐信号。
  4.2 VGA接口模块
  VGA接口模块是整个系统中最重要的一部分。它根据接收到的不同像频时钟和时序参数,输出符合VGA标准时序的信号。VGA接口模块接收到的时序参数包括H_PIXELS、H_FRONTPORCH、H_SYNCTIME、H_BACKPORCH、H_SYNCSTART、H_SYNCEND、H_PERIOD、V_LINES、V_FRONTPORCH、V_SYNCTIME、V_BACKPORCH、V_SYNCSTART、V_SYNCEND和V_PERIOD。通过选择不同显示模式,系统将不同的值赋予这些时序参数。VGA接口模块通过内部行扫描计数器和场扫描计数器来输出符合VGA时序的信号。其中,输出的行坐标信号(Cout)和列坐标信号(Lout)能作为地址信息输入图像存储空间,提取出对应点的RGB信号作为VGA接口的输出。
  4.3 消隐模块
  消隐模块是整个显示控制器的关键部分,显示模块、汉字模块、彩条模块、网格模块、动画控制模块、LPM-ROM调用模块等都由消隐模块控制,并且行同步信号(HS)和场同步信号(VS)都由该模块产生。由于CLK频率相当高,像素速率也很高,为了观察HS、VS信号,适当缩小了波形比例。其中,C[9..0]为像素坐标值,L[8..0]为扫描线信号,也就是像素的横坐标。
  显示模块是整个显示控制器的重要组成部分。各个模块的输出数据都要经过该模块处理后送到显示器。显示模块在VGA显示控制器中起着至关重要的作用。
  显示模块的VHDL设计如下:
  ARCHITECTURE BEHAVE OF DISPLAY IS
  SIGNAL GRB: STD_LOGIC_VECTOR(3 DOWNTO 1);
  BEGIN
  GRB(2)<=GRBP(2) AND HS AND VS;
  GRB(3)<=GRBP(3) AND HS AND VS;
  GRB(1)<=GRBP(1) AND HS AND VS;
  R<=GRB(2);
  G<=GRB(3);
  B<=GRB(1);
  END BEHAVE;
  GRBP为三原色数据信号,由模式控制模块产生;行同步信号HS由消隐模块产生;场同步信号VS由消隐模块产生。输出的R、G、B信号分别为红色、绿色、蓝色信号。
  显示模块的输出信号直接连到VGA接口,它是控制器与显示器进行通信的桥梁。该模块以VHDL语言实现,该模块中的结构体描述一共只用了6条语句。而要实现同样的功能,一般操作系统的视频卡驱动程序需要冗长的代码去描述。由此可见,VHDL语言具有很大的优越性。
  4.4 汉字生成模块
  汉字生成模块可实现在显示器上显示汉字、字符等。字模信息可以利用字模提取软件来获得,得到了汉字的字模信息后,可以通过屏幕上的横坐标和纵坐标按照字模信息定义像素的颜色,这样就可以显示任何字体、任何点阵的汉字,并根据需要决定汉字在屏幕上的位置。至于英文以及其他任何符号的显示原理与汉字显示的原理一样。
  4.5 网格生成模块
  网格生成模块用来编辑各种图形。网格生成模块的实现原理与汉字生成模块、彩条发生器类似,在像素的横坐标和纵坐标控制下,实现各种网格图形的生成。网格生成模块所产生的九种图形送显示器依次显示,所以可以看到网格由小到大逐渐变化,虽然不是动画效果,但每秒一帧画面的速度依然使图像连续变化呈现出动感。网格以及背景的颜色也可以随意设置。每帧图像的速率可由时钟来控制。
  网格生成模块的主要功能是编辑各种图形,因此本模块可以按照设计方案生成各种各样的图形。网格的选择是一种比较简单的图像编辑,该部分虽然名为网格生成模块,但实际上可以编辑出多种彩色图像。
  4.6 LPM-ROM调用模块
  LPM是参数可设置模块库。本设计中调用了三个LPM-ROM,其中两个用来存放汉字信息,另一个用来存放动态彩条信息。调用LPM-ROM模块,一个重要的问题就是*.mif文件的生成。这里文件生成借助字模提取软件和WORD编辑功能。设置好参数后,生成元件作为自定义元件库中的元件以供调用。
  LPM-ROM调用模块为不使用外挂ROM而建立字库提供了条件,直接调用LPM模块,可以大大提高效率。通过LPM-ROM可以在显示器上显示汉字、字符等。
  4.7 EEPROM调用模块
  EEPROM调用模块是设计的难点之一。该模块实现了对系统外挂的两个EEPROM(W27E040和W27C020)的访问,通过该模块可以使显示器显示各种各样的彩色图像。
  4.8 图像模式控制模块
  图像模式控制模块也是该数字系统的关键部分,它的主体部分是一个功能齐全的数据选择器(32选1)。
  该模块由一个32选1数据选择器和一个32进制可逆计数器组成。可逆计数器控制端为EC、DIR、CLR,MD为计数时钟信号。计数结果(即对应一种模式)是数据选择器进行选择的依据,通过对可逆计数器的控制,可以实现对模式选择的控制。
  图像控制模块共产生了32种模式,由计数器实现了对模式的有效控制。其实图像控制模块功能还可以进一步扩展。计数器输出为8比特,实际共有255种模式,在输入的32个信号中,可以将它们其中的任意几个进行再处理,如疊加、异或(棋盘格生成就是横彩条与竖彩条的异或而实现的)、相与等等,这样就可以产生成千上万种图形的输出。
  VGA控制器中的十余个模块都采用VHDL语言实现,每个模块在功能仿真无误后生成元件,放入元件库中,由顶层原理图调用各个模块(元件)。VGA图像控制器整体设计经过调试,通过了MAX+PLUSⅡ的功能仿真、时序仿真以及硬件仿真综合,在VGA显示器上实现了所设计的各种功能。
  
  5 结论
  
  实验证明,本显示接口电路可以输出多种模式的VGA接口信号,适用于VGA到SVGA等规格的各种显示器。实验中采用了ALTERA公司的CYCLONE芯片学习板进行硬件仿真。为了方便观看波形,加入了彩纹模块,使VGA接口模块输出八种不同颜色的横条与竖条彩纹。同时,本系统中所提出的基于自适应时钟沿跳变表的时钟分频算法,也可以在其他系统中作为构建特殊时钟发生模块的参考而使用。
  
  参考文献:
  [1] 谢昭莉,蒋涛,刘亮,等.基于ARM嵌入式系统的VGA接口的研究与设计[J].液晶与显示,2007(06).
  [2] 通过VGA接口连接液晶电视机[J].数字世界,2007(02).
  [3] 陈桂,田学隆,陈南西.ARM嵌入式平台的VGA接口设计[J].单片机与嵌入式系统应用,2007(04).
  [4] 张义伟.基于Avalon总线的键盘和VGA控制接口设计[J].世界电子元器件,2007(08).
  [5] 林南, 凌明.基于SEP3203处理器的LCD转VGA接口设计[J].电脑知识与技术(学术交流),2007(14).
  [6] 陆二庆,李冉琦,杨祥.STR912FW44的嵌入式VGA接口设计[J].单片机与嵌入式系统应用,2007(11).
  [7] 邓春健,王琦,徐秀知,等.基于FPGA和ADV7123的VGA显示接口的设计和应用[J].电子器件,2006(04).
  [8] 张建明.设置各种VGA卡高分辨率图形模式的BIOS接口[J].电脑编程技巧与维护,1994(07).
  注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”
其他文献
摘要:制作软件安装程序是软件开发的一个重要组成部分,如果不能将软件制作成安装程序,软件就不能在其他机器上运行,而有些开发语言本身所带的制作安装程序的功能不尽完善,本文介绍利用Setup Factory 7.0软件来制作安装程,这一软件可以制作出精美的专业性很强的软件安装程序。  关键词:软件;制作;安装程序  中图分类号:TP312文献标识码:B文章编号:1009-3044(2008)20-302
期刊
摘要:本文对SPCE061A芯片的主要特点进行了描述,并运用SPCE061A相关原理提出了一个简单基于SPCE061A的IP电话系统。  关键词:SPCE061A;IP电话;系统设计  中图分类号:TN912文献标识码:A文章编号:1009-3044(2008)20-30229-02  The IP Phone System Based on SPCE061A   BAI Zeng,GUO Cui
期刊
摘要:本文简述了调制解调系统的发展现状及FPGA的相关知识,介绍了QDPSK调制解调系统的理论算法,提出了QDPSK解调调制系统的具体实现方法。  关键词:FPGA;QDPSK;调制解调技术  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)20-30237-03    The Research and Implementation of the Modem Techn
期刊
摘要:随着网络技术与计算机开发语言的发展,越来越多的程序员利用Java来编写网络程序。本文介绍了Socket的通信机制,并使用Java语言、套接字接口(Socket API)技术和多线程相结合的模式实现了多客户端与服务器的并发通信的多人聊天系统。  关键词:Java;Socket;多客户并发;网络通信  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)20-30253-
期刊
摘要:采用工作流技术,用户可以根据企业自身的实际业务流程来自定义工作流,从而实现业务流程的自动化。备件管理是每个企业都必须面对的环节,是企业ERP运行的重要组成部分。采用软件工程的方法,通过分析企业职能部门和用户的工作流程,结合工作流技术,按照特性要求和统一原则,采用层次化、组件化、松耦合思想设计并实现了通用型企业备件管理系统。  关键词:工作流;软件工程;层次化;组件  中图分类号:TP311文
期刊
摘要:在分析B语言和面向对象方法的基础上,提出一种具有面向对象特性的形式化描述语言B+,该语言克服原有B语言没有机制形式描述一系列实例变量和不确定的行为的缺点。  关键词:形式化;面向对象;B语言;B+  中图分类号:TP301文献标识码:A文章编号:1009-3044(2008)20-30267-02    An Object-oriented System Research Based on
期刊
摘要:企业经营规模的不断扩大使得传统工作流系统不能适应企业分布式经营的需求,但却促进了基于WEB的工作流系统技术的发展,在此基础上提出了基于.NET3.0的WEB工作流系统,分析了工作流技术的工作原理,给出了工作流元素的相关定义,并在此基础上设计了系统的架构,最后实现了一个企业业务流程的实例。  关键词:工作流; 工作流管理系统; 业务流程模型; Web  中图分类号:TP311文献标识码:A文章
期刊
摘要:教育技术未来的发展趋势之一将会是虚拟现实技术,其交互性、沉浸性和构想性是未来计算机在各领域中应用的理想因素。基于虚拟现实技术的教育、学习环境是实现对现实教学方法、思维方式、感知行为和控制手段等的模拟。本文通过国内外大量前沿应用实例,介绍并总结了虚拟现实技术在教育应用领域中的特点、应用和发展前景。  关键词:虚拟现实技术;教育技术;虚拟现实建模语言;三维  中图分类号:TP393文献标识码:A
期刊
摘要:随着网络的飞速发展,网上购物已经走入日常生活,因此各类在线网站开发一个方便、快捷和人性化的购物系统是非常必要的。而“购物车”在在线购物类网站中又是一项非常重要的功能。纵观ASP购物车功能的方法,目前比较常用的方法有Cookie、Session或者数据库等。通过对Cookie、Session和数据库三种方法的介绍与比较,从而得出各自的优缺点。  关键词:ASP;购物车;Session;数据库 
期刊
摘要:在企业级应用开发中存在着项目开发周期长,开发效率低,不能快速响应需求变化等普遍问题。而代码自动生成技术正是解决这些问题的有效途径之一。SSH架构目前是企业级应用中最广泛的J2EE架构之一,本文对基于该架构的代码自动生成技术进行了探讨,通过对开源框架AppFuse进行研究,提取出了其基于SSH架构的快速开发模块,对该模块进行了改进,进一步增强了其代码自动生成能力,并将改进后的模块应用于一权限管
期刊