基于FPGA/CPLD的嵌入式VGA显示系统设计

来源:网络整理 作者:2018年02月08日 06:44

  VGA(Video GraphICs Array)即视频图形阵列,是IBM在1987年随PS/2机(PS/2 原是“Personal System 2”的意思,“个人系统2”,是IBM公司在1987年推出的一种个人电脑。PS/2电脑上使用的键盘鼠标接口就是现在的PS/2接口。因为标准不开放,PS/2电脑在市场中失败了。只有PS/2接口一直沿用到今天。)一起推出的使用模拟信号的一种视频传输标准,在当时具有分辨率高、显示速率快、颜色丰富等优点,在彩色显示器领域得到了广泛的应用。这个标准对于现今的个人电脑市场已经十分过时。即使如此,VGA仍然是最多制造商所共同支持的一个标准,个人电脑在加载自己的独特驱动程序之前,都必须支持VGA的标准。例如,微软Windows系列产品的开机画面仍然使用VGA显示模式,这也说明其在显示标准中的重要性和兼容性。

  目前VGA技术的应用还主要基于 VGA显示卡的,而在一些既要求显示彩色高分辨率图像又不使用计算机的设备上,VGA技术的应用却很少。

  基于 FPGA/CPLD的嵌入式 VGA显示系统,可以在不使用 VGA显示卡的情况下实现 VGA图像的显示和控制。该系统具有成本低、结构简单、应用灵活的优点。

  1 基于 FPGA/CPLD的嵌入式VGA显示系统简介

  通用VGA显示卡系统主要由控制电路、显示缓存区和视频 BIOS程序三个部分组成。其控制电路主要完成时序发生、显示缓冲区数据操作等功能;显示缓冲区提供显示数据缓存空间;视频BIOS作为控制程序固化在显示卡的 ROM中。在基于FPGA/CPLD的嵌入式VGA显示系统的设计中,可以使用很少的资源,就产生 VGA各种控制信号,达到显示彩色高分辨率图像的要求,而不需用 VGA显示卡和计算机设备。图 1是基于 FPGA/CPLD的嵌入式 VGA显示系统的结构框图,图中FPGA(FiELD-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。EP2C35F672C该芯片提供了 33216个逻辑单元 ,包括了嵌入式 18*18位乘法器、专用外部存储器接口电路、4KB嵌入式存储器件、4个锁相环和高速差分 I/O等功能。

  VGA接口芯片采用了 ADV7125,该芯片是美国 ADI公司生产的高速视频数模转换芯片,其像素扫描时钟频率有 50MHz、140 MHz、270 MHz、330MHz四个等级。ADV7125在单芯片上整合了三组 8位高速 D/A转换器,可以分别处理红、绿、蓝视频数据,特别适用于高分辨率模拟接口的显示终端和要求高速 D/A转换的应用系统。 ADV7125的输入及控制信号非常简单:3组 8位的数字视频数据输入端,分别对应 RGB视频数据,数据输入端采用标准 TTL电平接口;4条视频控制信号线包括复合同步信号 SYNC、消隐信号 BLANK、白电平参考信号 REF WHITE和像素时钟信号 CLOCK;外接一个 1.23 V数模转换参考电压源和 1个输出满度调节。

  2模块划分与模块功能定义

  FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。 现场可编程门阵列(FPGA)是可编程器件。与传统逻辑电路和门阵列(如PAL,GAL及CPLD器件)相比,FPGA具有不同的结构,FPGA利用小型查找表(16&TImes;1RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了即可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及个模块之间或模块与I/O间的连接方式,并最终决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能, FPGA允许无限次的编程。

  FPGA中包含了四个工作模块: VGA时序发生器模块、VGA图像显示调色板模块、数据存储器和数据读写控制器。由于ADV7125内部没有颜色的转换器 ,所以当数据存储器中的数据为YUV信号时,就要把YUV信号转换成RGB信号,这一功能就是由VGA图像显示调色板模块完成的,当显示数据为 RGB信号时,数据可以直接传输到ADV7125,不需调色板进行颜色转换。用FPGA对图像进行存储和整理,并产生驱动电路需要的各种控制波形由视频控制器对颜色缓冲器进行扫描,其中视频控制器可以读取像素颜色,用这些颜色来控制输出设备的亮度。

  VGA时序发生器模块产生显示器所需的时序,这是完成设计的关键,时序稍有偏差,显示必然不正常,甚至会损坏彩色显示器。

  3、 VGA时序分析

  显示器是属于电脑的I/O设备,即输入输出设备。它可以分为CRT、LCD等多种。它是一种将一定的电子文件通过特定的传输设备显示到屏幕上再反射到人眼的显示工具。

  显示器采用光栅扫描方式,即轰击荧光屏的电子束在 CRT(阴极射线管)屏幕上从左到右(受水平同步信号 HSYNC控制)、从上到下(受垂直同步信号 VSYNC控制)做有规律的移动。光栅扫描又分逐行扫描和隔行扫描。隔行扫描的显示器扫描闪烁的比较厉害,会让使用者的眼睛疲劳。目前微机所用显示器几乎都是逐行扫描。逐行扫描是指扫描从屏幕左上角一点开始,从左向右逐点进行扫描,每扫描完一行,电子束回到屏幕的左边下一行的起始位置,CRT是一种使用阴极射线管(Cathode Ray Tube)的显示器,主要有五部分组成:电子枪(EleCTRon Gun),偏转线圈(DeflecTIon coils),荫罩(Shadow mask),荧光粉层(Phosphor)及玻璃外壳。它曾是应用最广泛的显示器之一,CRT纯平显示器具有可视角度大、无坏点、色彩还原度高、色度均匀、可调节的多分辨率模式、响应时间极短等LCD显示器难以超越的优点,而且现在的CRT显示器价格要比LCD显示器便宜不少。

  完成一行扫描所需时间称为水平扫描时间,其倒数称为行频率;完成一帧(整屏)扫描所需的时间称为垂直扫描时间,其倒数为垂直扫描频率,又称刷新频率,即刷新一屏的频率。

  VGA显示器要正确显示图像关键还是如何实现 VGA时序。视频电子标准协会( VESA, Video Electronics Standards AssociaTIon)对显示器时序进行了规范。 VGA的标准参考显示时序如图 2、图 3所示。行时序和场时序都需要产生同步脉冲(Sync a)、显示后沿 (Back porch b)、显示时序段(Display interval c)和显示前沿 (Front porch d)四个部分。

  VGA的行时序如图 2所示:每一行都有一个负极性行同步脉冲( Sync a),是数据行的结束标志,同时也是下一行的开始标志。在同步脉冲之后为显示后沿 (Back porch b),在显示时序段(Display interval c)显示器为亮的过程,RGB数据驱动一行上的每一个象素点,从而显示一行。在一行的最后为显示后沿(Back porch b)。在显示时序段( Display interval c)之外没有图像投射到屏幕时插入消隐信号。同步脉冲(Sync a)、显示后沿(Back porch b)和显示前沿(Front porch d)都是在行消隐间隔内( Horizontal Blanking Interval),当行消隐有效时, RGB 信号无效,屏幕不显示数据。

  

04.jpg

  VGA的场时序与 VGA的行时序基本一样,如图 3所示,每一帧的负极性帧同步脉冲(Sync a)是一帧的结束标志,同时也是下一帧的开始标志。而显示数据是一帧的所有行数据。

  

05.jpg

  几种常用的时序参数如表 1和表2 所示,首先,根据显示器的性能选择一种合适的VGA模式,然后由象素时钟频率和图像分辨率计算出行总周期数,再把表 1和表 2中给出的 a、 b、c、d各时序段的时间按照象素计数脉冲源频率折算成时钟周期数。在 FPGA/CPLD中用计数器和触发器,以计算出的各时序段时钟周期数为基准,产生不同宽度和周期的脉冲信号,再利用它们的逻辑组合构成图 2和图 3中的 a、b、c、d各时序段以及 ADV7125的空白信号 BLANK和同步信号 SYNC。

  一个示例就是 60Hz时 1280&TImes;1024分辨率显示的 VESA标准,在 60Hz时,屏幕每16.67毫秒更新一次。这个标准制定了帧大小,用它来定义分辨率和回扫次数之间的关系。对于分辨率大小为 1280×1024来说,帧的大小为 1688×1066,这个大小与像素时钟(Pixel Clock)有关,所谓像素时钟就是对像素的刷新频率。像素时钟为 1688×1066×60Hz 或者 108 兆 Hz(MHz)时,每个像素的刷新频率也就是大约 9.26纳秒,那么行频就为 60×1066=63960 行/秒,也就是用显示器的帧率乘以扫描线数量。可以用帧大小得到纵向回扫次数,为了得到纵向同步长度(Sync Length),可以从纵向帧大小减去纵向分辨率,也就是 1066-1024=42。

  在显示时序段( Display interval c),数据读写控制器从数据缓存区读取像素颜色,用这些颜色来控制输出设备(显示器)的亮度。

  表 1:VGA行时序说明

  

06.jpg

  4、 VGA显示器在雷达图像显示中的应用

  最初,雷达显示器到重要作用,在于使雷达接收机到数据以一种可视的形式表现出来。操作员可以轻易而精确地检测目标的出现,提取目标的位置信息。随着数字信号处理和数字数据处理的进步,越来越多的检测和信息提取过用电子方法自动完成,因此操作员的任务越来越少。

  雷达获取的信息是径向圆扫描方式属极坐标方式,所以早期船用雷达显示器是一种平面位置显示器,用极坐标表示,采用径向圆扫描方式,在这种扫描方式中,荧光屏上扫描线线径向扫描的数率取决于量程的大小。扫描线选转的速度取决于天线的转速。物标回波的亮度取决于回波视频的信号的幅度。物标回波及各种符号视频在屏上只能是天线每转一圈才能亮一下,在整个平面上亮度不均,且量程小,回波亮度越低,容易丢失小目标。

  随着VGA显示器广泛应用,VGA显示器也开始应用在雷达显示上,但VGA显示起的扫描方式是从左到右到扫描和从上到下的帧扫,属于直角坐标的方式,而雷达获取的信息是径向圆扫描方式属极坐标方式,所以要实现雷达数据的 VGA显示首先要将雷达的极坐标信息转换成直角坐标信息存入存储器,再以直角扫描的方式从存储器中读出并显示出来。

  VGA显示器可以将来自其他传感器得信息 ,例如其他雷达 :空中交通管制雷达应答系统 (ATCRBS) 、军用敌我识别 (IFF) 、低亮度 TV、前视红外 (FLIR),避免碰撞系统或来自民用或军用数据链的信息 ,都能组合到显示器上 。除已处理雷达视频和原始视频外 ,雷达观测的区域地图及文字数字信息和图形也能添加到 VGA显示器上。

  5、VGA显示器在雷达应用中的优点与平面位置显示器相比,VGA显示器的在雷达图像显示上有了更大优势:

  1)克服了平面位置显示器整个平面上亮度不均的缺点

  2)避免显示器的图像的闪烁现象

  3)便于彩色显示

  4)便于采用计算机显示终端技术

  5)降低了成本,提高了可靠性

  本文作者的创新点:在本设计中采用了 1280*1024的高分辨率显示 ,克服了早期低分辨率 VGA显示器雷达图像分裂和定位精度低的缺点。

关注电子发烧友微信

有趣有料的资讯及技术干货

下载发烧友APP

打造属于您的人脉电子圈

关注发烧友课堂

锁定最新课程活动及技术直播
声明:电子发烧友网转载作品均尽可能注明出处,该作品所有人的一切权利均不因本站而转移。
作者如不同意转载,既请通知本站予以删除或改正。转载的作品可能在标题或内容上或许有所改动。
收藏 人收藏
分享:

相关阅读

发表评论

elecfans网友

分享到:

用户评论(0