第一章 VGA簡介 一、 VGA簡介
顯卡所處理的信息最終都要輸出到顯示器上,顯卡的輸出接口就是電腦與顯示器之間的橋梁,它負(fù)責(zé)向顯示器輸出相應(yīng)的圖像信號。CRT顯示器因為設(shè)計制造上的原因,只能接受模擬信號輸入,這就需要顯卡能輸入模擬信號。VGA接口就是顯卡上輸出模擬信號的接口,VGA接口,也叫D-Sub接口。VGA的英文全稱是Video Graphic Array,也叫顯示繪圖陣列。 雖然液晶顯示器可以直接接收數(shù)字信號,但為了兼容性,大多數(shù)液晶顯示器也配備了VGA接口。
VGA是IBM在1987年隨PS/2機一起推出的一個使用模擬信號的電腦顯示標(biāo)準(zhǔn) ,具有分辨率高、顯示速率快、顏色豐富等優(yōu)點,在彩色顯示器領(lǐng)域得到了廣泛的應(yīng)用。目前VGA技術(shù)的應(yīng)用還主要基于VGA顯示卡的計算機、筆記本等設(shè)備。 根據(jù)分辨率不同,VGA分為VGA(0x480)、SVGA(800x600)、XGA(1024x768)、SXGA(1280x1024)等。
VGA最早指的是顯示器0X480這種顯示模式,VGA支持在0X480的較高分辨率下同時顯示16種色彩或256種灰度,同時在320X240分辨率下可以同時顯示256種顏色。 在VGA基礎(chǔ)上加以擴充,使其支持更高分辨率如800X600或1024X768,這些擴充的 模式就稱之為VESA(Video Electronics Standards Association,視頻電子標(biāo)準(zhǔn)協(xié)會)的Super VGA模式,簡稱SVGA,現(xiàn)在的顯卡和顯示器都支持SVGA模式VGA接口就是顯卡上輸出模擬信號的接口,也叫D-Sub接口,傳輸紅、綠、藍(lán)模擬信號 以及同步信號(水平和垂直信號)。
雖然說VGA的標(biāo)準(zhǔn)對于現(xiàn)在的個人計算機市場十分過時,但是VGA仍然是所有制造商所支持的最低標(biāo)準(zhǔn),個人電腦在加載自己的獨特驅(qū)動程式之前,都必須支持VGA的標(biāo)準(zhǔn)。例如不管所有廠商的顯卡,在不安裝自己驅(qū)動的情況下,都是支持 VGA 標(biāo)準(zhǔn)顯示的。 微軟Windows系列產(chǎn)品的開機畫面仍然使用VGA顯示模式,這也說明其分辨率和載色數(shù)的不足。
VGA
二、 VGA接口
VGA接口是一種D型接口(D-SUB),上面共有15針空,分成三排,每排五個。而與之配套的底座則為孔型接口。 底座:
1
三、VGA電氣特性
VGA引腳名稱
描述
引腳
名稱
描述
定義如表1所示。 表1: 引腳 1 RED RED Video 9 KEY
Key (No pin)
2 GREEN Green 10 SGND Sync
Video
Ground
3 BLUE Blue Video 11 ID0 Monitor ID
bit 0
4 ID2 Monitor ID 12 ID1 Monitor ID
bit 2 bit 1
5 GND Ground 13 HSYNC Horizontal
Sync
6 RGND Red
14 VSYNC Vertical
Ground Sync
7 GGND
Green 15
ID3 Monitor ID
Ground bit 3
8 BGND Blue Ground
引腳1、2、3分別為紅綠藍(lán)三基色模擬電壓,為0~0.714V peak-peak(峰-峰值),代表無色,0.714V代表滿色。一些非標(biāo)準(zhǔn)顯示器使用的是 1Vpp的滿色電平。
第二章 時序?qū)崿F(xiàn)
0V
一、 時序介紹
VGA的時序如圖 2-1、圖2-2 所示。它分為行數(shù)據(jù)時序和幀數(shù)據(jù)時序。
行數(shù)據(jù)時序,顧名思義,也就是顯示一行數(shù)據(jù)的時序。從圖2-1可以看出,顯示一行數(shù)據(jù)需要處理兩件事情。第一:產(chǎn)生行同步 HSYNC。不難看出,HSYNC是一個脈沖信號,此信號的周期為: e=a+b+c+d,低電平時間為 a。其中 a、b、c、d均為時間信號,這些信號根據(jù)需要顯示的分辨率不同而不同。第二:產(chǎn)生顯示的數(shù)據(jù)(DATA)信號, 此信號為模擬信號,當(dāng)在顯示有效數(shù)據(jù)(Active video)內(nèi),DATA信號為0~0.714Vpp的模擬電壓(R、G、B),根據(jù)分辨率的不同,DATA的采樣率、點數(shù)也皆不相同。
幀數(shù)據(jù)時序不行時序類似,也就是顯示一屏數(shù)據(jù)的時序。只是這里的基本單位
為每行數(shù)據(jù),而行數(shù)據(jù)里面的最基本單位為每個點。
上面提過,不同的分辨率,時序上的時間是不一樣的。表2、表3 列出常用分辨率及時間參數(shù)。
表2 常見刷新率時序表:
時鐘
顯示模式
(MHz)
行時序(像素數(shù))
a
b
c
d
0x480@60 25.175 96 48 0 16 0x480@75 31.5 120 0 16 800x600@60 40.0 128 88 800 40 800x600@75
49.5
80
160
800
16
1024x768@60
65
136 160 1024
24 1024x768@75
78.8
176
176
1024
16
1280x1024@60 108.0 112 248 1280 48 1280x800@60 83.46 136 200 1280 1440x900@60 106.47 152 232 1440 80
表3常見刷新率時序表(時間): 顯
時鐘
行時序時間(μs) 示模式
(MHz)
a
b
c
d
0x480@60 25.175 3.81 1.9 25.4 0.635 0x480@75 31.5 2.03 3.8 20.3 0.507 800x600@60 40.0 3.2 2.2 20 1 800x600@75
49.5
1.62
3.2
16.16
0.323
1024x768@60
65
2.09
2.46
15.7
0.37 1024x768@75
65
1.22
2.23
12.99
0.203
1280x1024@60 108 1.04 2.3 11.85 0.444 e
o
800 2 840 3 1056 4 1056
3
1344
6
1312
3
1688 3 1680 3 1904 3 e
o
31.7 .006 26.7 0.08 26.4 0.1 21.3
0.06 20.6 0.12 16.6
0.05 15.6 0.05 幀時序(行數(shù))
p
q
r
s
33 480 10 525 16 480 1 500 23 600 1 628 21
600
1
625
29 768
3
806
28
768
1
800
38 1024 1 1066
24 800 1 828
28 900 1 932
幀時序時間(ms)
p
q
r
s
1.048 15.25 0.317 16.6 0.426 12.8 0.026 13.3 0.6 15.84 0.026 16.6 0.45
12.8
0.021
13.3 0.599 15.87 0.062 16.6 0.466
12.78
0.016
13.3 0.6 16.0 0.015 16.6
1280x800@60 83.46 1.63 2.4 15.3 0.76 20.1 0.06 0.48 16.1 0.02 16.6
1440x900@60 106.47 1.43 2.18 13.52 0.75 17.9 0.05 0.5 16.1 0.017 16.6
二、 時序?qū)崿F(xiàn)
VGA時序的實現(xiàn)有很多方式,可以用專用芯片,可以用快速的CPU,也可用可編程器件來實現(xiàn)。這里采用廉價的可編程器件,來產(chǎn)生VGA所需的時序。
下面我們以1024x768在60Hz的刷新率下為例,解說VGA時序的產(chǎn)生。
從表2我們可以看出,1024x768@60需要65MHz的驅(qū)動時鐘。經(jīng)過計算可知,HSYNC信號頻率為kHz,低電平脈沖時間為μs。詳細(xì)代碼如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_11.ALL; ENTITY vga IS PORT(
rst:IN STD_LOGIC; clk:IN STD_LOGIC; HSYNC:OUT STD_LOGIC; VSYNC:OUT STD_LOGIC ); END vga;
ARCHITECTURE one OF vga IS SIGNAL H_cnt:integer range 0 to 1343; SIGNAL V_cnt:integer range 0 to 805; BEGIN PROCESS(rst,clk) BEGIN IF rst='0' THEN HSYNC<='1'; ELSIF clk'EVENT AND clk='1' IF H_cnt<136 THEN HSYNC<='0'; ELSE HSYNC<='1'; END IF; END IF; END PROCESS; PROCESS(rst,clk) BEGIN IF rst='0' THEN H_cnt<=0; V_cnt<=0; ELSIF clk'EVENT AND clk='1' IF H_cnt<1343 THEN H_cnt<=H_cnt+1; ELSE H_cnt<=0; V_cnt<=V_cnt+1; END IF; END IF; END PROCESS; PROCESS(rst,clk) BEGIN
IF rst='0' THEN VSYNC<='1'; ELSIF clk'EVENT AND clk='1' IF V_cnt<6 THEN VSYNC<='0'; ELSE
VSYNC<='1'; END IF; END IF; END PROCESS;
END one;
THEN THEN THEN
因篇幅問題不能全部顯示,請點此查看更多更全內(nèi)容
Copyright ? 2019- 91gzw.com 版權(quán)所有 湘ICP備2023023988號-2
違法及侵權(quán)請聯(lián)系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市萬商天勤律師事務(wù)所王興未律師提供法律服務(wù)