




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
标准彩条信号浅谈应用FPGA实现彩条信号显示 【摘 要】VGA是IBM在1987年随PS/2机一起推出的一种视频传输标准,具有分辨率高、显示速率快、颜色丰富等优点。采用FPGA产生VGA时序信号和彩条图像信号,并在Xilinx公司的ISE软件环境下完成VGA时序彩条信号模块的仿真,最后下载到Spartan3E开发板上进行硬件验证,并在LCD显示器上显示出彩条图像。 【关键词】FPGA;时序信号;VGA 在许多图像处理系统中,需要将处理的图像显示出来,如果采用传统的办法将图像传回电脑并通过显示器显示出来,那么在传输的过程中就需要嵌入式系统的CPU不断的对所传输的图像数据信号进行控制,这样就造成了CPU资源的浪费,同样系统还需要依赖电脑,降低了系统得灵活性。VGA是IBM在1987年随PS/2机一起推出的一种视频传输标准,具有分辨率高、显示速率快、颜色丰富等优点,在彩色显示器领域得到了广泛的应用。采用FPGA对显示器的VGA接口进行设计,数据流只需要在整个系统得内部流动,而不需要依靠计算机,增强了系统的可靠性和设计的灵活性。 一、VGA显示接口原理 下面以的VGA接口为例来介绍一下VGA显示的基本原理。计算机显示器的显示有许多标准,常见的有VGA,SVGA等。VGA是Video Graphics Adapter(Array)的缩写,信号类型为模拟类型,显示卡端的接口为15针母插座,接口如下图所示。该端口通过标准的监视电缆直接连接到PC监视器或平板LCD上。 其中,VGA_HSYNC和VGA_VSYNC分别是水平扫描信号和竖直扫描信号。VGA_RED,VGA_GREEN,VGA_BLUE是颜色控制信号线,控制当前显示的像素色彩。 FPGA通过串联电阻直接驱动5个VGA信号。每个颜色信号串一个电阻,每位的颜色信号分别是VGA_RED,VGA_GREEN,VGA_BLUE。每个电阻与终端的75欧电缆电阻相结合,确保颜色信号保持在VGA规定的0V0.7V之间。VGA_HSYNC和VGA_VSYNC信号使用LVTTL或LVCMOS3I/O标准驱动电平。通过VGA_RED,VGA_GREEN,VGA_BLUE置高或低来产生8种颜色。实际应用中,VGA_RED,VGA_GREEN和VGA_BLUE可以接到DAC的输出,每个DAC用8 bit或更多的比特控制,3条色彩控制线根据DAC输出的电压大小配合实现更多种颜色的显示。VGA显示的原理是利用水平扫描信号和竖直信号实现二维平面的像素扫描显示,以640480像素的扫描显示示意图为例,当水平扫描信号VGA_HSYNC信号为高时,VGA显示器从左向右依次扫描当前行的640个像素点。每扫描完一行,VGA_HSYNC信号电平拉低,水平扫描位置回到最左端。同理,在竖直扫描信号VGA_VSYSNC信号的控制下,实现扫描行数的循环变化。 二、显示原理与VGA时序实现 VGA显示器总是从屏幕的左上角开始扫描,先水平扫描完一行(800个像素)到最右边,然后再回到最左边(期间LCD对电子束作行消隐)。然后换下一行,继续扫描,知道扫描到屏幕的右下角(600行)扫描结束,这样就扫描完一帧图像。为了保证图像的连续性,VGA显示器再从屏幕的左上角进行扫描。(1)VGA时序分析。通过对VGA显示卡基本工作原理的分析可知,要实现VGA显示就要解决数据、数据存储、时序实现等问题,其中关键还是如何实现VGA时序。行时序和帧时序都需要产生同步脉冲(Sync a)、显示后沿(Back porch b)、显示时序段(Display interval c)和显示前沿(Front porch d)四个部分。几种常用模式的时序参数如下表所示。 (2)VGA时序。以80060050Hz为例,信息如上表所示:HSYNC Signal用来控制“列填充”,而一个HSYNC Signal可以分为4个段,也就是a(同步段),b(后肩段),c(激活段),d(前肩段)。HSYNC Signal的a是拉低的128个列像素,b是拉高的88个列像素,至于c是拉高的800个列像素,而最后的d是拉高的40个像素。一列总共有1056列像素。VSYNC Signal是用来控制“行扫描”。而一个VSYNC Signal同样可以分为4个段,也是o(同步段),p(后肩段),q(激活段),r(前肩段)。VSYNC Signal的o是拉低的4个行像素,p是拉高的23个行像素,至于q是拉高的600个行像素,而最后的r是拉高的1个行像素。一行总共有628个行像素。“一个行像素”是以“列像素”为单位来定义(以80060050Hz为例)如下所示:一个行像素=1056个列像素,而“一个列像素”是以“时间位单位”来定义(以80060050Hz为例):一个列像素=25ns,一个行像素=1056个列像素=105625ns=2.64us,(以80060050Hz为例),要完成一行的扫描,需要1056个列像素,也就是说需要105625ns的时间。如果要完成所有行的扫描的话,需要628105625ns。但是,不是所有的时间都是用来显示图片,有一部分的时间是用来同步操作。而HSYNC Signal只有在c段和VSYNC Signal的q段的激活段,数据的输入才有效。(3)VGA彩条信号的产生。彩条信号产生模块包括了彩条模块控制、竖彩条发生、横彩条发生和棋盘格发生三个模块。彩条模式控制可以用一个控制端口来实现。竖彩条发生模块根据行点数器H_Sync的计数值来产生彩条,横彩条发生模块根据列点数器V_Sync的计数值来产生彩条,棋盘格的彩条就可以用横彩条和竖彩条的异或来得到。(4)VGA接口电路的实现。程序将50MHZ分频为25MHZ基准时钟产生水平扫描计数,再用水平扫描计数的进位作为竖直扫描计数器的时钟信号。水平扫描和竖直扫描信号不断地循环反复,从而实现整个屏幕的扫描。在根据显示内容的需要,在水平扫描和竖直扫描的特定状态显示特定的内容,就可以实现任意内容的VGA显示。由于文章篇幅的原因,现只将产生水平扫描信号和竖直扫描信号的程序描述如下:process(clk,rst);begin;if(rst=1)then;H_Sync=0;V_Sync=0;elsif(rising_edge(clk)then;if(Cnt_H=95)then;H_Sync=0;else;H_Sync=1;end if;if(Cnt_V=1)then;V_Sync=0;else;V_Sync=1;end if;end if;end process。 三、小结 (1)由于VGA显示是一个高速过程,所以选择器件时要选择高速器件。(2)VGA显示时序要求较严格,时序中的前后沿及同步脉冲宽度都要依照严格的参考数据设置。(3)在一般情况下,由于数据接口的限制,数据更新率不能达到计算机的水平。通过一些特殊
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论