VGA模块使用说明

您所在的位置:网站首页 vga显示器接口接线图 VGA模块使用说明

VGA模块使用说明

2024-07-16 16:21| 来源: 网络整理| 查看: 265

一. 硬件资源 1. VGA模块 2. Spirit V2开发板 3. VGA接口显示器 二. VGA相关知识 1. 知识背景

VGA (Video Graphics Array,视频图形阵列):是 IBM 于1987年提出的一个使用类比讯号的电脑显示标准。这个标准已对于现今的个人电脑市场已经十分过时。即使如此, VGA 仍然是最多制造商所共同支援的一个低标准,个人电脑在加载自己的独特驱动程式之前,都必须支援 VGA 的标准。VGA 支持在640X480的较高分辨率下同时显示16种色彩或256种灰度,同时在320X240分辨率下可以同时显示256种颜色。 XGA (Extended Graphics Array,扩展图形阵列):是 IBM 于1990年发明的,XGA 较新的版本 XGA-2以真彩色提供800×600象素的分辨率或以65536种色彩提供1024×768象素的分辨率,这两种图像分辨水平可能是个人和小企业当今最常用的。(在此实验中使用800*600) 显示器扫描方式分为逐行扫描和隔行扫描;逐行扫描是扫描从屏幕左上角一点开始,从左向右逐点扫描,每扫描完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT对电子束进行消隐,每行结束时,用行同步信号进行同步;当扫描完所有行,形成一帧,用场同步信号进行场同步,并使扫描回到屏幕左上方,同时进行场消隐,开始下一帧。隔行扫描是指电子束扫描时每隔一行扫一线,完成一屏后再返回来扫描剩下的线,隔行扫描的显示器闪烁的厉害,会让使用者的眼睛疲劳。 完成一行扫描的时间称为水平扫描时间,其倒数称为行频;完成一帧(整屏)扫描的时间称为垂直扫描时间,其倒数称为场频,即刷新频率,常见的有30HZ,60HZ等等。 行场消隐信号:是针对老式显像管的成像扫描电路而言的。电子枪所发出的电子束从屏幕的左上角开始向右扫描,一行扫完需将电子束从右边移回到左边以便扫描第二行。在移动期间就必须有一个信号加到电路上,使电子束不能发出。不然这个回扫线会破坏屏幕图像。这个阻止回扫线产生的信号就叫作消隐信号,场信号的消隐也是同一个原理。 显示带宽:带宽指的显示器可以处理的频率范围。如果是60HZ刷新率的VGA,其带宽为:640x480x60=18.4Mhz,70HZ刷新率1024X768分辨率的SVGA,其带宽为:1024X768X70=55.1Mhz。 时钟频率:以800X600/59.858HZ(60HZ)为例,每场对应622(1+3+18+600)个行周期,其中600为显示行,每场有场同步信号,该脉冲宽度为3个时钟点。每显示行包括1024个时钟点,其中有800个有效像素点,每一行有一个行同步信号,该脉冲宽度为80个时钟点。由此可知:行频为:622X59.858=37.231Khz。需要的时钟为:1024x622x59.858=38.125Mhz VGA是模拟信号,通过VGA接口可以看出VGA其实就是将我们平常的3基色数据放到了三根模拟信号线中传输,不同的电压组合就形成了不同的颜色。原理图如下: 在这里插入图片描述 在这里插入图片描述

三. VGA时序图 行同步时序

在这里插入图片描述

列同步时序

在这里插入图片描述 VGA 中定义行时序和列时序都需要同步脉冲( a 段),显示后沿( b 段)、显示时序段( c 段)和显示前沿( d 段)四部分。 VGA 工业标准显示模式要求:行同步、列同步都为负极性,即同步脉冲要求是负脉冲。由 VGA 行时序可知:每一行都有一个负极性行同步脉冲( a 段),是数据行的结束标志,同时也是下一行的开始标志。在同步脉冲之后为显示后沿( b段),在显示时序段( c 段)显示器为亮的过程, RGB 数据驱动一行上的每一个像素点,从而显示一行。在一行的最后为显示前沿( d 段)。在显示时间段之外没有图像投射到屏幕是插入消隐信号。同步脉冲、显示后沿和显示前沿都是在行消隐间隔内,当消隐有效时, RGB 信号无效,屏幕不显示数据。VGA 的列时序与行时序分析基本一样。 参考《VGA分辨率手册大全.PDF》 在这里插入图片描述 在这里插入图片描述 对应代码的参数如下: 在这里插入图片描述

四.仿真图

在这里插入图片描述

五.实验效果

在这里插入图片描述

六. VGA模块实物图

在这里插入图片描述

七.Verilog源码 /// //QQ:3181961725 //TEL:13540738439 //作者:Mr Wang //模块介绍:VGA驱动模块,分辨率800X600 /// module vga_driver( input clk, input rst_n, output vga_hs, output vga_vs, output [7:0] video_data ); //---------------------------------------------------------// //水平扫描参数的设定800*600 VGA //---------------------------------------------------------// parameter LinePeriod =1024; //行周期数 parameter h_front_porch=32; //显示前沿d parameter h_sync_width=80; //同步脉冲a parameter h_back_porch=112; //显示后沿b //---------------------------------------------------------// //垂直扫描参数的设定800*600 VGA //---------------------------------------------------------// parameter Frameperiod=622; //行周期数 parameter v_front_porch=1; //显示前沿d parameter v_sync_width=3; //同步脉冲a parameter v_back_porch=18; //显示后沿b reg[10:0] x_cnt; reg[9:0] y_cnt; reg hsync_r; reg vsync_r; reg hsync_de; reg vsync_de; assign vga_hs = hsync_r; assign vga_vs = vsync_r; assign video_data=y_cnt; //---------------------------------------------------------------------------- // 水平扫描计数 //---------------------------------------------------------------------------- always @ (posedge clk)begin if(~rst_n) x_cnt


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3