VGA控制器IP核的FPGA实现

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:glory001
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:随着高速图像处理的发展,VGA控制器IP核已成为SoC芯片中的一个重要部件。这里介绍一种使用FPGA芯片实现对VGA控制器的Verilog HDL设计方案。该方案采用FPGA设计VGA接口以将要显示的数据直接送到显示器上,加快了数据的处理速度,提高了系统的兼容性,比同类控制器有着占用资源少、时钟延迟小等特点。
  关键词:现场可编程门阵列(FPGA);VGA控制器IP核;Verilog HDL
  中图分类号:TN402 文献标识码:A文章编号:1009-3044(2007)12-21691-02
  
  FPGA Implementation of VGA Controller IP
  
  CAI Ken1,LIANG Xiao-ying2
  (1.Zhongkai University of Agriculture and Technology , Guangzhou 510225, China; 2. Guangdong Women's Professional Technical College, Guangzhou 511450, China)
  Abstract:As the development of high speed image processing, VGA controller IP becomes an important component of SoC. This paper introduces how to realize the control of VGA controller by using FPGA in details. It uses FPGA to design a VGA interface can send the data directly onto the screen for display, which quickens the speed of data process, improves the system compatibility, has an advantage of less resource utilization and less clock delay compared with other similar controllers.
  Key words:FPGA (Field Programmable Gate Array); VGA Controller IP; Verilog HDL
  
  1 引言
  
  隨着计算机和集成电路的发展以及计算机应用的普及,对图形显示的要求越来越高,不仅要求具有视角大、响应快、图像无畸变、功耗低等特点的显示系统,而且要求系统具有快速的图像存取的能力。VGA(视频图形阵列)作为一种标准的显示接口,因为其输出信息量大,输出形式多样等特点已经成为现在大多数设计的常用输出设备。与此同时,各种大规模集成电路的出现也为大量数字化信息的处理提供了有效的手段。其中,FPGA(现场可编程逻辑阵列)即是其中比较有代表性的一种。FPGA(现场可编程门阵列)是可编程逻辑器件,它是在PAL,GAL等逻辑器件的基础上发展起来的,同以往的PAL,GAL等相比,FPGA的规模比较大,它可以替代几十甚至几千块通用IC芯片。它以操作灵活、开发迅速、投资风险低、可多次编程擦写和系统可编程等特点而成为一种可优化硬件电路设计且具竞争力的产品。本设计采用ALTERA 公司生产的EP1C6Q240C8芯片作为视频驱动电路的核心部分,利用其含有的丰富的逻辑单元,将需要用多个分立逻辑芯片实现的功能集成在一块芯片上,简化了PCB 设计,使系统的成本大大降低,也减少了故障发生的概率,使整个系统变得更加简洁、实用。同时对于不同的图像处理要求,设计者只要用软件修改FPGA内部逻辑功能的一些时序参数就能适用,使设计变得更加灵活和通用。
  
  2 标准VGA显示原理概述
  
  随着PC机的不断更新换代,显示控制卡(即显示适配器)的标准也不断发展。从最初的MDA(单色显示适配器)→CGA(彩色图形显示适配器)→EGA(增强型图形适配器)→VGA(视频图形阵列适配器)。VGA是IBM公司于1987年推出的PC机第三代的显示标准,它的体系结构由显示存储器、图形控制器、CRT 控制器、属性控制器、定序器、及视频输出数字模拟转换器(DAC)几大部分组成。VGA一改以前显示卡采用的数字视频信号输出,而用模拟视频信号输出,VGA卡内的D/A转换器将数字信号转换为控制R、G、B三原色的模拟信号,使像素色彩变化非常平滑,更适合人的视觉感受。
  端的接口(母插座)。其引出线有5个常用模拟信号:R、G、B三基色信号,HS行同步信号,VS场同步信号,其电压范围为0到0.7v。具体引脚定义如表1所示(I为输入信号)。
  
  图1为15针的显示卡
  表1 VGA显示接口引脚定义
  常见的彩色显示器一般由CRT(阴极射线管)构成,彩色是由G、R、B(绿:Green, 红:Red,蓝:Blue)3基色组成。RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色。对于不同的颜色强度,需要不同的电压,图2为8色和64色的D/A转换电路。
  
  图2 D/A转换电路,(a)为8色(b)为64色
  
  3 FPGA的设计与实现
  
  3.1 Cyclone的简介
  Altera CycloneTM FPGA是目前市场上性价比最优且价格最低的FPGA。Cyclone器件具有为大批量价格敏感应用优化的功能集,这些应用市场包括消费类、工业类、汽车业、计算机和通信类。
  Cyclone器件基于成本优化的全铜1.5V SRAM工艺,容量从2910至20060个逻辑单元,具有多达294912bit嵌入RAM。Cyclone FPGA支持各种单端I/O标准如LVTTL、LVCMOS、PCI和SSTL-2/3,通过LVDS和RSDS标准提供多达129个通道的差分I/O支持,每个LVDS通道高达640Mbps。Cyclone器件具有双数据速率(DDR) SDRAM和FCRAM接口的专用电路。Cyclone FPGA中有两个锁相环(PLLs)提供六个输出和层次时钟结构,以及复杂设计的时钟管理电路。这些业界最高效架构特性的组合使得FPGA系列成为ASIC最灵活和最合算的替代方案。本设计采用Altera公司生产的EP1C6Q240C8芯片来实现VGA控制器以及它的外围逻辑时序的全部功能。
  3.2 VGA控制器IP核的时序实现
  设计VGA控制器IP主要任务是时序的驱动,也即是对5个信号(Red、Blue、Green、HS、VS)的时序驱动,VGA显示器要严格遵循“VGA工业标准”,即640×480×60Hz模式,这是完成设计的关键,时序稍有偏差,显示必然不正常,甚至会损坏彩色显示器。本设计主要提供如下接口:RBG数字信号输入、行同步信号HSYNC、场同步信号VSYNC等。一般显示设备都是按照从左到右(受水平同步信号HSYNC控制)、从上到下(受垂直同步信号VSYNC控制)做有规律的移动来保持一幅完整的图象在屏幕上。具体为从屏幕左上角一点开始,向右逐点进行扫描,形成一条水平线,到达最右端后,又回到下一条水平线的左端,重复上面的过程,当完成右下角一点的扫描后,形成一帧,此后,又回到左上方起点,开始下一帧。另外,为了防止扫描过程像素的丢失,可以根据需要对行场的前后肩及消隐信号进行微调,具体行场同步时序要求如图3所示。   
  
  图3 行场同步扫描时序图
  根据上述的时序参数以及考虑目标板上的时钟频率,对其行频和场频的时序控制我们采用点和行计数的方法,HS和VS信号的时序按照图3设计即可,当像素或行数达到相应的状态后即改变HS和VS的值。系统所需的像素时钟可以有锁相环来实现。
  VGA控制器时序驱动模块Verilog HDL描述如下,其中rst_n为系统复位信号低电平有效,vga_clk为像素时钟,R_in、G_in和B_in为图像数据,hsync为行同步信号,vsync为帧同步信号,R、G和B为输出像素信号,其他为一些控制信号。
  module VGA_timing (
  rst_n, vga_clk, R_in, G_in, B_in,// 输入信号
  hsync, vsync, sync, R, G, B);// 输出信号
  根据图3设计出以下时序发生器,其中pix_count是对行像素进行计数,line_count是对行数进行计数。
  always@ (posedge vga_clk, negedge rst_n)
  begin
  if(!rst_n)//复位
  pix_count <= 10'b0;
  else if(pix_count== 10'd799) //行像素周期
  pix_count <= 10'b0;
  else
  pix_count <= pix_count + 1'b1;//行像素计数
  end
  always@ (posedge vga_clk, negedge rst_n)
  begin
  if(!rst_n)//复位
  line_count <= 10'b0;
  else if(line_count== 10'd527)//行周期
  line_count <= 10'b0;
  else if(pix_count == 10'd799)//行计数
  line_count <= line_count + 1'b1;
  end
  以下这部分程序实现的功能是产生相应行同步信号以及场同步信号。
  always@ (posedge vga_clk, negedge rst_n)
  begin
  if(!rst_n)
  hsync <= 1'b1;
  else if(pix_count >= 10'd656 && pix_count < 10'd752)//行同步
  hsync <= 1'b0;
  else
  hsync <= 1'b1;
  end
  always@ (posedge vga_clk, negedge rst_n)
  begin
  if(!rst_n)
  vsync <= 1'b1;
  else if(line_count >= 10'499 && line_count < 10'd501)//场同步
  vsync <= 11'b0;
  else
  vsync <= 1'b1;
  end
  
  4 结论
  
  本文利用FPGA设计VGA控制器IP核,采用Verilog HDL语言产生行场扫描时序,方法简单、易读,并且容易修改,在代码中只需修改一些时序参数就能适用其他显示设备,比如TFT-LCD等,故具有一定的扩展性和通用性。同时该IP核基于SOC技术,大大减少了电路板的尺寸,增加了系统可靠性和灵活性,降低了开发成本,为设计软硬件结合的完备系统提供了一个较好的解决方案。
  
  参考文献:
  [1]张文爱, 张博, 程永强. 基于FPGA的高分辨率VGA显示控制器的设计[J]. 现代显示, 2006,9.
  [2]陈姚节, 卢建华. 基于FPGA的VGA显示接口的研究与设计[J].交通与计算机, 2005,2.
  [3]Enoch Hwang. Build a VGA Monitor Controller. CIRCUIT CELLAR, Issue 172, Nov 2004: 38-43 .
  [4]李国刚,余俊,凌朝东. 基于FPGA的VGA图形控制器的实现方法[J].信息技术, 2006,7.
  [5]董兵,朱齐丹,文睿.基于FPGA的VGA圖像控制器的设计与实现[J].应用科技, 2006,10.
  [6]http://www.altera.com.
  “本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”
其他文献
摘要:本文分析了BitTorrent协议规范,根据torrent文件格式和Bencoding编码规则,在C#.Net2005环境下实现了对torrent文件的解析。根据分析结果,给出了一种下载程序的实现。  关键词:下载程序;BitTorrent协议;torrent;B-encoding  中图分类号:TP312文献标识码:A文章编号:1009-3044(2007)12-21661-02    D
期刊
摘要:数据查询是数据库的常规操作之一,数据查询中最有灵活性的是动态查询。本文详细介绍了在Delphi中实现数据查询的各种方法,特别强调动态查询的实现方法,对于每一种方法均给出了实现代码。   关键词:数据库;Delphi;ADO;查询   中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)12-21481-02      The Methods of Data Query
期刊
摘要:随着计算机技术和电子技术的日益发展,衍生出了有别与以往的单纯的计算机软硬件和电子技术的嵌入式系统。嵌入式系统已经应用到人们生活,工作,学习的方方面面。本文主要讨论的是目前主流的嵌入式微处理器ARM,并以S3C44B0X和μCOS-II搭建平台,阐述嵌入式系统开发平台的架构、系统工作原理及应用程序开发流程。  关键词:嵌入式系统;ARM;S3C44B0X;μCOS-II  中图分类号:TP31
期刊
摘要:当前,局域网内使用ARP欺骗的木马程序盗取用户帐号和密码,影响用户正常上网,甚至会造成交换机负载过大,网络缓慢,数据丢包和网络瘫痪。采用双向绑定和DAI技术可以有效解决问题。  关键词:ARP攻击;MAC;DAI  中图分类号:TP393文献标识码:A文章编号:1009-3044(2007)12-21586-02    ARP Attack and Protection on LAN    
期刊
摘要:JBPM工作流引擎和JBOSS 的服务器结合为开发企业级 (PDM)数据流引擎提供了更好的工具。jBPM采用了它自己定义的JBoss jBPM Process definition language (jPdl),将一个财务操作流程看作是一个UML状态图。jPdl详细定义了这个状态图的每个部分,如财务动作的发起、不同操作间的的转换,财务操作审批等。然后当jBpm运行时,使用简单强大的语言将在
期刊
摘要:文章介绍了基于东芯SEP3203主处理器的微型针式打印模块SAMSUNG SMP150一种新型设计方法。重点阐述了打印针头驱动电路和黑表检测电路 ,并在此硬件设计基础介绍了上用ARM7驱动的SAMSUNG SMP150打印时序和纸张定位软件方法。  关键词:微型针式打印头;东芯SEP3203;定位;驱动电路  中图分类号:TP368文献标识码:A 文章编号:1009-3044(2007)12
期刊
摘要:本文介绍了中间件Tuxedo的特点,并结合电信查询子系统具体设计和实现,采用B/S与 C/S三层体系结构相结合的方案,详细阐述了Tuxedo中间件在大型数据库应用系统中的开发原理和实例应用,体现了Tuxedo中间件的作用和优势。  关键词:中间件;Tuxedo;三层体系结构;查询子系统  中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)12-21613-02   
期刊
摘要:以机器学习为背景的知识发现技术是一门新兴的信息处理技术,而客户关系管理的经营理念是决定现代企业能否取得成功的关键因素,两者的结合则可以有效地提高企业的核心竞争力。本文较为详细地介绍了知识发现的概念、过程、方法及其在客户关系管理中的具体应用。  关键词:知识发现;数据挖掘;CRM  中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)12-21489-02    Kno
期刊
摘要:UML作为软件工程领域的标准建模语言得到了业界的广泛支持,并日渐成为系统分析中的一种标准建模语言。建模就是用图表从技术层次表达系统的各个方面功能。实时统一建模代表着雷达软件设计的一个发展方向,该文介绍了UML工具并使用了UML的用例图、活动图以及类图对雷达信号发分选系统的软件设计进行了分析建模,给出了雷达信号发分选系统的软件设计的用例模型、静态模型和动态模型。  关键词:UML;分析建模;雷
期刊
摘要:WebGIS是一种在网页上显示地理信息的先进的GIS应用系统,它解决了传统胖客户端对机器配置要求高、不便于维护、不利于地理信息广泛发布的缺点。文中简要阐述了ArcIMS地图服务器、WebGIS应用系统的工作原理及其配置,并通过基于ArcIMS的WebGIS智能交通系统的开发,介绍了WebGIS应用系统的一种开发方法,对于构建WebGIS应用系统起到了积极的作用。  关键词:WebGIS;Ar
期刊