明德扬手把手教你设计VGA显示颜色

VGA显示颜色
一、项目背景
VGA介绍
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显示系统,可以在不使用VGA显示卡和计算机的情况下,实现VGA图像的显示和控制。系统具有成本低、结构简单、应用灵活的优点,可广泛应用于超市、车站、飞机场等公共场所的广告宣传和提示信息显示,也可应用于工厂车间生产过程中的操作信息显示,还能以多媒体形式应用于日常生活。
VGA管脚

VGA接口是一种D型接口,采用非对称分布的15pin 连接方式,共有15针,分成3排,每排5个孔,是显卡上应用最为广泛的接口类型,绝大多数显卡都带有此种接口。它传输红、绿、蓝模拟信号以及同步信号(水平和垂直信号)。
tica">一般在VGA接头上,会1,5,6,10,11,15等标明每个接口编号。如果没有,如上图所示编号。
VGA接口15根针,其对应接口定义如下:
1.红基色 red
2.绿基色 green
3.蓝基色 blue
4.地址码 ID Bit(也有部分是RES,或者为ID2显示器标示位2)
5.自测试 ( 各家定义不同 )(一般为GND)
6.红地
7.绿地
8.蓝地
9.保留 ( 各家定义不同 )
10. 数字地
11.地址码(ID0显示器标示位0)
12.地址码(ID1显示器标示位1)
13.行同步
14.场同步
15.地址码 ( ID3或显示器标示位3 )
对于FPGA逻辑设计来说,我们关注的信号是红基色、绿基色、蓝基色、行同步和场同步信号。其他信号都是原理图和PCB设计时关注。

通过控制红基色、绿基色、蓝基色、行同步和场同步信号这5个接口,就能让显示器显示丰富的色彩,显示各种视频图像。
VGA色彩原理
在中学的物理课中我们可能做过棱镜的试验,白光通过棱镜后被分解成多种颜色逐渐过渡的色谱,色依次为红、橙、黄、绿、青、蓝、紫,这就是可见光谱。其中人眼对红、绿、蓝最为敏感,人的眼睛就像一个三色接收器的体系,大多数的颜色可以通过红、绿、蓝三色按照不同的比例合成产生。同样绝大多数单色光也可以分解成红绿蓝三种色光。这是色度学的最基本原理,即三基色原理。三种基色是相互独立的,任何一种基色都不能由其它两种颜色合成。红绿蓝是三基色,这三种颜色合成的颜色范围最为广泛。红绿蓝三基色按照不同的比例相加合成混色称为相加混色。
三基色混色原理示意图如下图所示:

三基色颜色编码:
颜色 黑 蓝 红 紫 绿 青 黄 白
R 0 0 1 1 0 0 1 1
G 0 0 0 0 1 1 1 1
B 0 1 0 1 0 1 0 1
以上RBG一共有8组合,也就是可以产生8种颜色。但显示器显示的色彩却是非常丰富,远远多于8种颜色,这是如何做到的呢?
原因就是对于显示器来说,RGB三个信号其实是模拟信号,其电压的高低,可以表示颜色的深浅。利用这个原理,我们就可以产生丰富的色彩。例如,如果R=3.3V,G=0V,B=0V,则显示器会显示非常鲜艳的红色。如果G和B仍然是0V,而R改为1.8V,则显示器会显示比较浅的红色。R、G、B的电压范围从0~3.3V,任意组合就可以表示非常多的颜色了。
显示器扫描方式
通过控制红绿蓝三基色,就可以控制1个像素的颜色。一幅图像是由非常多的像素组成的。例如640*480分辨率的图像,是由一行640个、一共480行,这么多像素组合起来显示的图像。为了让显示器显示这么一幅图像,那么就要控制显示器的扫描枪一个一个像素地将颜色显示起来。像素变化的时间非常快,从而使人眼误认为所有像素是一起显示的。
下面是CRT 显示器的控制框图:

显示器采用光栅扫描方式,即轰击荧光屏的电子束在CRT屏幕上从左到右(受水平同步信号HSYNC控制)、从上到下(受垂直同步信号VSYNC控制)做有规律的移动。电子束采用光栅扫描方式,从屏幕左上角一点开始,向右逐点进行扫描,形成一条水平线;到达最右端后,又回到下一条水平线的左端,重复上面的过程;当电子束完成右下角一点的扫描后,形成一帧。此后,电子束又回到左上方起点,开始下一帧的扫描。这种方法也就是常说的逐行扫描显示。
VGA时序

行同步信号的时序如上图。行同步信号周期性地产生高低电平,其一共可分成4个阶段:同步脉冲a、显示后沿b、显示区域c和显示前沿d。同步脉冲a表示着一行的结束,同时也是下一行的开始。显示时序c是真正图像显示的区域,在此阶段,像素逐个显示出来,也就是说在此阶段,我们要控制红、绿、蓝三基色信号,输出对应像素的RGB值。在显示后沿b和显示前沿d这两个阶段,是消隐时刻,此时红、绿、蓝三基色信号都要求为0。
场同步信号的时序与行同步信号相似,如下图。

场同步信号也是周期性地产生高低电平,其一共可分成4个阶段:同步脉冲a、显示后沿b、显示区域c和显示前沿d。但注意的是,场同步信号的变化单位是“一行”。例如,一个“场同步脉冲”时间包含多个“行脉冲周期”。
针对容易出错的理解,这里再次强调一下VGA时序

  1. 场同步的变化是以“一行”为单位的。例如说,如果一行时间是800个时钟,场同步脉冲a的值为2,则场同步脉冲的时间是2*800=1600个时钟。
  2. 真正的显示区域是在:场同步信号处于显示区域,并且行同步信号也处于显示区域。其他区域,红、绿、蓝基色都要给低电平。
    看时序的时候,不仅要关注其变化点,还要关注持续的时间。在行场同步的四个阶段,其时间分别是多少呢?下面是常见分辨率的参数。
    分辨率 行/列 同步脉冲 显示后沿 显示区域 显示前沿 帧长 单位
    640480
    /60Hz 行 96 48 640 16 800 基准时钟
    列 2 33 480 10 525 行
    800
    600
    /72Hz 行 120 64 800 56 1040 基准时钟
    列 6 23 600 37 666 行
    800600
    /60Hz 行 128 88 800 40 1056 基准时钟
    列 4 23 600 1 628 行
    1024
    768
    /60Hz 行 136 160 1024 24 1344 基准时钟
    列 6 29 768 3 806 行
  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值