標準 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最早指的是顯示器640X480這種顯示模式。
VGA技術的套用還主要基於VGA顯示卡的計算機、筆記本等設備,而在一些既要求顯示彩色高解析度圖像又沒有必要使用計算機的設備上,VGA技術的套用卻很少見到。
對於一些嵌入式VGA顯示系統,可以在不使用VGA顯示卡和計算機的情況下,實現VGA圖像的顯示和控制。系統具有成本低、結構簡單、套用靈活的優點,可廣泛套用於超市、車站、飛機場等公共場所的廣告宣傳和提示信息顯示,也可套用於工廠車間生產過程中的操作信息顯示,還能以多媒體形式套用於日常生活。
原理 顯示與時序
通用VGA顯示卡系統主要由控制電路、顯示
快取 區和視頻
BIOS (Basic Input Output System即基本輸入輸出系統)程式三個部分組成。控制電路如圖1所示。控制電路主要完成時序發生、顯示
緩衝區 數據操作、主時鐘選擇和
D/A (Digital to Analog即將
數位訊號 轉換為
模擬信號 )轉換等功能;顯示緩衝區提供顯示
數據快取 空間;視頻BIOS作為控制程式固化在顯示卡的ROM(Read-Only Memory即唯讀
存儲器 )中。
VGA時序分析
通過對VGA顯示卡基本工作原理的分析可知,要實現VGA顯示就要解決數據來源、
數據存儲 、時序實現等問題,其中關鍵還是如何實現VGA時序。 VGA的標準參考顯示時序如圖2所示。行時序和幀時序都需要產生
同步 脈衝(Sync a)、顯示後沿(Back porch b)、顯示時序段(Display interval c)和顯示前沿(Front porch d)四個部分。幾種常用模式的時序參數如表1所示。
VGA時序實現
首先,根據刷新頻率確定主時鐘頻率,然後由主時鐘頻率和
圖像解析度 計算出行總周期數,再把表1中給出的a、b、c、d各時序段的時間按照主計數脈衝源頻率折算成
時鐘周期 數。在CPLD中利用計數器和RS觸發器,以計算出的各時序段時鐘周期數為基準,產生不同寬度和周期的脈衝信號,再利用它們的邏輯組合構成圖2中的a、b、c、d各時序段以及D/A
轉換器 的空白信號BLANK和
同步 信號SYNC。
VGA參考時序 SRAM地址
主時鐘作為像素點計數脈衝信號,同時提供
顯存 SRAM的讀信號和D/A轉換時鐘,它所
驅動 的計數器的輸出端作為讀SRAM的低位地址。行
同步 信號作為行數計數脈衝信號,它所驅動的計數器的輸出端作為讀SRAM的高位地址。由於採用兩片SRAM,所以最高位地址作為SRAM的
片選 使用。由於信號經過CPLD內部邏輯器件時存在一定的時間延遲,在CPLD產生地址和讀信號讀取數據時,讀信號、地址信號和數據信號不能滿足SRAM讀數據的時序要求。可以利用硬體電路對讀信號進行一定的時序調整,使各信號之間能夠滿足讀SRAM和為DAC輸入數據的時序要求。
數據
如果VGA顯示
真彩色 BMP圖像,則要R、G、B三個分量各8位,即24位表示一個像素值,很多情況下還採用32位表示一個像素值。為了節省
顯存 的存儲空間,可採用高彩色圖像,即每個像素值由16位表示,R、G、B三個分量分別使用5位、6位、5位,比
真彩色圖像 數據量減少一半,同時又能滿足顯示效果。
功能單元設計 實現VGA顯示,除了實現時序控制,還必須有其他功能單元的支持才能實現完整的圖像顯示。
控制器
VGA顯示有多種模式,需要通過控制器實現模式間切換,還需要對顯示的內容進行接收、處理和顯示。所以控制器的性能越高,
數據更新 和顯示效果就越好。2 顯示數據快取區
VGA顯示要求
顯存 速度快、容量大。讀速度要達到65MHz以上,存儲容量至少要2MB。可採用高速SRAM或SDRAM作為顯示數據快取。
數模轉換器
DAC
VGA顯示對數模轉換DAC有如下要求:一是高速轉換,轉換的速度應該在80MHz或以上;二是
同步 性好,能保證 R、G、B三路信號的同步性;三是有相應的精度。可選擇一種包括3路8位高速D/A的專用視頻晶片。
數據源
要提高VGA顯示的效率,就要不斷更新數據,同時還要保證實時性,因此需要非常高的接口速度。VGA顯示卡雖可達到100Mbps的
數據更新 速度,但是一般設備、特別是
嵌入式設備 達不到這么高的速度,而且大多數情況下也不需要這么高的
數據更新率 。目前常用接口為EPP接口、USB接口、 TCP/IP、RS232C/485等。其中TCP/IP、EPP接口和USB接口是基於計算機的,速度較快;TCP/IP、RS232C/485是基於
網路通信 的接口,其中RS485速度雖慢,但套用廣泛且容易實現
遠程控制 。
在
數據源 為低速接口時,可以考慮採用 Flash或者SM存儲卡等預先存儲一些常用的圖像顯示數據和
字型檔 檔案,在更新數據時直接套用這些數據,從而加快顯示
快取 的更新速度。這樣既能滿足高解析度圖像的顯示,又能滿足文字信息數據的快速更新。當時為了存儲更多的圖像,可以先存儲
JPEG格式 圖像,再由控制器解碼成BMP
點陣圖圖像 後送到顯示快取顯示,這樣就相對擴展了Flash的存儲空間。同時,由於圖像的解碼速度要大大快於數據源接口的速度,也就相應提高了顯示快取的
數據更新 速度。
VGA顯示硬體結構框圖 由各功能單元組成的VGA顯示硬體結構框圖如圖3所示。
文字模式 標準的VGA文字模式使用 80×25 或 40×25 個字母或數字組成的平面。每個
字元 的塊狀區域可以選擇16種前景色和8種背景色;8種背景色來自bit容量較低的集合(以今天的標準來說,例如 ffffff 或者是 000000)。而字元本身也可設定是否閃爍,而字元的閃爍動作都是同時的。畫面的閃爍功能和選擇背景顏色的功能是可交換的,換句話說兩者只能擇一。以上這些選項和IBM先前生產的 CGA
轉換器 是相同的。
VGA雖然支持黑白和彩色的文字模式,但黑白模式很少使用。大多的VGA在顯示黑白模式時使用彩色模式,即是將灰色字畫在黑色背景上。而使用VGA 的單色顯示器也能很好的支援這樣的彩色模式。現代顯示器和顯示卡若連線不當,偶爾會導致顯示卡的VGA部份偵測顯示器為單色的,而這將使BIOS開機顯示為黑白模式。通常在載入作業系統和適當的
驅動 程式以後,顯示卡的設定被覆蓋,顯示器就會變回彩色。
在彩色的文字模式中,每個
字元 其實由兩個byte代表。較低的一個byte用來顯示字元,而較高的byte就用來代表彩色、閃爍等等屬性。這種成對的byte模式是從CGA就一直傳續下來的。
色版 VGA的色彩系統可以向前相容於EGA和CGA
轉換器 ,而它在其上又新增了一種設定。CGA可以顯示16種色彩,EGA則將其擴充成從64種顏色色版選出的16色模式(即紅綠藍各2 bits)。VGA則更將其擴充成256種顏色色版,但為了向前相容,一次只能選擇256種之中的64種(例如第一個64種顏色集合、第二個…)。所以一個。它們也不相容於較老舊的顯示器,將造成諸如 overscan、閃爍、垂直滾動、缺乏水平
同步 等等缺點。因為如此,多數的商業軟體使用的 VGA 調適都限制在顯示器的“安全界線”之下,例如 320×400(雙倍解析度,2 video pages)、320×240(方形像素,3 video pages)和 360x480(最高的相容解析度,1 video page)。
VGA顯示標準 VGA (
Video Graphics Array )是IBM於1987年提出的一個使用
模擬信號 的
電腦顯示標準 ,這個標準已對於現今的
個人電腦 市場已經十分過時。即使如此,VGA仍然是最多製造商所共同支持的一個低標準,個人電腦在載入自己的獨特
驅動 程式之前,都必須支持VGA的標準。例如,微軟
Windows 系列產品的
開機畫面 仍然使用VGA顯示模式,這也說明其解析度和載色數的不足。
VGA這個術語常常不論其圖形裝置,而直接用於指稱640×480的解析度。VGA裝置可以同時儲存4個完整的EGA色版,並且它們之間可以快速轉換,在畫面上看起來就像是即時的變色。
除了擴充為256色的EGA式色版,這256種色彩其實可以透過 VGA DAC(Digital-to-analog converter),任意的指定為任何一種顏色。這就程度上改變了原本EGA的色版規則,因為原本在EGA上,這只是一個讓程式可以在每個頻道(即紅綠藍)在2 bit以下選擇最多種顏色的方式。但在VGA下它只是簡單的64種顏色一組的表格,每一種都可以單獨改變——例如EGA顏色的首兩個bit代表紅色的數量,在VGA中就不一定如此了。
VGA在指定色版顏色時,一個顏色頻道有6個bit,紅、綠、藍各有64種不同的變化,因此總共有 262,144 種顏色。在這其中的任何 256 種顏色可以被選為色版顏色(而這 256 種的任何 16 種可以用來顯示 CGA 模式的色彩)。
這個方法最終仍然使了VGA模式在顯示EGA和CGA模式時,能夠使用前所未有的色彩,因為VGA是使用模擬的方式來繪出EGA和CGA畫面。提供一個色版轉換的例子:要把文字模式的
字元 顏色設定為暗紅色,暗紅色就必須是 CGA 16 色集合中的一種顏色(譬如說,取代 CGA 默認的 7 號灰色),這個 7 號位置將被指定為 EGA 色版中的 42 號,然後 VGA DAC 將 EGA #42 指定為暗紅色。則畫面上的原本的 CGA 七號灰色,都會變成暗紅色。這個技巧在 256 色的 VGA DOS 遊戲中,常常被用來表示載入遊戲的淡入淡出畫面。
總結來說,CGA 和 EGA 同時只能顯示 16 種色彩,而 VGA 因為使用了 Mode 13h 而可以一次顯示 256 色版中的所有色彩,而這 256 種顏色又是從 262,144 種顏色中挑出的。
VGA顯示模式
VGA最早指的是顯示器640X480這種顯示模式,VGA的英文全稱是Video Graphic Array,也叫顯示繪圖陣列。VGA支持在640X480的較高解析度下同時顯示16種色彩或256種
灰度 ,同時在320X240解析度下可以同時顯示256種顏色。
在VGA基礎上加以擴充,使其支持更高解析度如800X600或1024X768,這些擴充的模式就稱之為VESA(Video Electronics Standards Association,
視頻電子標準 協會)的Super VGA模式,簡稱SVGA,現在的顯示卡和顯示器都支持SVGA模式VGA接口就是顯示卡上輸出
模擬信號 的接口,也叫D-Sub接口,傳輸紅、綠、藍模擬信號以及
同步 信號(水平和垂直信號)。
VGA解析度
VGA (Video Graphics Array,
視頻圖形陣列 ):是IBM於1987年提出的一個使用類比訊號的電腦顯示標準。這個標準已對於現今的個人電腦市場已經十分過時。即使如此,VGA仍然是最多製造商所共同支援的一個低標準,個人電腦在載入自己的獨特驅動程式之前,都必須支援VGA的標準。例如,微軟Windows系列產品的開機畫面仍然使用VGA顯示模式,這也說明其解析度和載色數的不足。VGA這個術語常常不論其圖形裝置,而直接用於指稱640×480的解析度。
XGA (Extended Graphics Array,
擴展圖形陣列 ):是IBM於1990年發明的,XGA較新的版本XGA-2以
真彩色 提供800×600象素的解析度或以65536種色彩提供1024×768象素的解析度,這兩種圖像分辨水平可能是個人和小企業當今最常用的。
UVGA(Ultra Video Graphics Array,極速擴展圖形陣列):支持最大1600×1200解析度。一般用於15英寸的筆記本電腦。由於對製造工藝要求較高所以價格也是比較昂貴。目前只有少部分高端的
移動工作站 配備了這一類型的螢幕。
HVGA,Half-size VGA,意思是VGA解析度的一半,為480×320像素,寬高比為3:2。目前這種解析度的螢幕大多用於PDA,當然iPhone和第一款Google手機——T-Mobile G1也都是採用這種解析度,黑莓也有手機採用HVGA解析度的螢幕。
QVGA(Quarter VGA)。顧名思義,QVGA即VGA解析度的四分之一,亦即解析度是240×320像素。QVGA支持螢幕旋轉,可以開發出相應的程式,以顯示旋轉90°、180°、270°螢幕位置。由HandEra公司發布。多用於手持/移動設備。QQVGA為QVGA的1/4屏,解析度為120*160。
SVGA SXGA SXGA+
SVGA(Super Video Graphics Array,
高級視頻圖形陣列 ):VGA由於良好的性能迅速開始流行,廠商們紛紛在VGA基礎上加以擴充,如將
顯存 提高至1M並使其支持更高解析度如800X600或1024X768,這些擴充的模式就稱之為VESA(Video Electronics Standards Association,視頻電子標準協會)的Super VGA模式,簡稱SVGA,現在的顯示卡和顯示器都支持SVGA模式。由VESA為IBM
兼容機 推出的標準,屬於VGA的替代品。最大支持800×600解析度。
SXGA(Super Extended Graphics Array,高級
擴展圖形陣列 ):一個解析度為1280x1024的既成事實顯示標準。這種被廣泛採用的顯示標準的縱橫比是5:4而不是常見的4:3。
SXGA+(Super Extended Graphics Array):作為SXGA的一種擴展,SXGA+是一種專門為筆記本設計的螢幕。其顯示解析度為1400×1050。由於筆記本LCD螢幕的水平與垂直點距不同於普通桌面LCD,所以其顯示的精度要比普通17英寸的桌面LCD高出不少。
WVGA WXGAWXGA+ WSXGAWUXGA
WVGA,Wide VGA,解析度分為854×480像素和800×480像素兩種。由於目前很多
網頁 的寬度都是800像素,所以這種解析度通常用於PDA或者高端智慧型手機,方便用戶瀏覽網頁。夏普公司的手機大多也是採用WVGA級別解析度的螢幕。
WXGA(Wide Extended Graphics Array,寬屏
擴展圖形陣列 ):作為普通XGA螢幕的寬屏版本,WXGA採用16:10的橫寬比例來擴大螢幕的尺寸。其最大顯示解析度為1280×800。由於其水平像素只有800,所以除了一般15英寸的筆記本電腦之外,也有12.1英寸的筆記本電腦採用了這種類型的螢幕。 另一種是1366×768,寬高比為16:9,主要套用於37、42、46英寸的平板電視上。
WXGA+(Wide Extended Graphics Array):這是一種WXGA的的擴展,其最大顯示解析度為1280×854。由於其橫寬比例為15:10而非標準寬屏的16:10。所以只有少部分螢幕尺寸在15.2英寸的筆記本電腦採用這種產品。
WSXGA(Wide Super Extended Graphics Array,
寬屏超級擴展圖形陣列 ):其顯示解析度為1680×1050,寬高比為16:9。除了大多數15英寸以上的寬屏筆記本以外,目前較為流行的大尺寸LCD-TV也都採用了這種類型的產品。
WUXGA(Wide Ultra Video Graphics Array寬屏極速
視頻圖形陣列 ):和4:3規格中的UXGA一樣,WUXGA螢幕是非常少見的,其顯示解析度可以達到1920×1200。
常見終端顯示屏 解析度簡稱及大小對照: (寬*高)
QQCIF
Quarter QCIF
88*72
QCIF面積的1/4
SQCIF
Sub Quarter CIF
128*96
QCIF
Quarter Common Intermediate Format
176*144
176*144是QCIF標準格式,但手機設計上是指176×220
CIF
Common Intermediate Format
352*288
標準化圖像格式。
QQVGA
Quarter QVGA
160*120
QVGA面積的1/4,長寬正好一半,注意:手機設計中QQVGA一般指160*128
QVGA
Quarter Video Graphics Array
240*320
320 VGA的1/4大小(面積),長寬正好是一半,多用在手機、PDA、MP4上。(多指2.4屏)
HVGA
Half Video Graphics Array
320*480
VGA的1/2大小(面積),部分智慧型機採用。
VGA
Video Graphics Array
640*480
早期的CRT監視器大多是這個解析度,隨製造工藝發展,現早已更加小型化,在很多終端屏上均有出現。
WQVGA
Wide Video Graphics Array
400*240
Super Video Graphics Array
800*600
XGA
Extended Graphics Array
1024*768
XVGA
Extended Video Graphics Array
1280*960
Wide Extended Graphics Array
1280*800
WXGA+
Wide Extended Graphics Array Plus
1440*900
Ultra eXtended Graphics Array
1600*1200
WUXGA
Widescreen Ultra eXtended Graphics Array
1920*1200
WSXGA+
Widescreen Super eXtended Graphics Array Plus
1680*1050
VGA接口 VGA接口 :VGA(Video Graphics Array)還有一個名稱叫D-Sub。
VGA接口15pin 連線方式 VGA,Video Graphics Array,/D-Sub接口;VGA接口是一種D型接口,採用非對稱分布的15pin 連線方式,共有15針,分成3排,每排5個孔。
VGA接口共有15針,分成3排,每排5個孔,是顯示卡上套用最為廣泛的接口類型,絕大多數顯示卡都帶有此種接口。它傳輸紅、綠、藍模擬信號以及同步信號(水平和垂直信號)。
一般在VGA接頭上,會1,5,6,10,11,15等標明每個接口編號。如果沒有,如上圖所示編號。
VGA接口15根針,其對應接口定義如下:
1.紅基色 red (拆了一根VGA顯示器數據線,HP的, 粉紅色線 )
2.綠基色 green(拆了一根VGA顯示器數據線 淡綠色線 )
3.藍基色 blue (拆了一根VGA顯示器數據線 淡藍色線 )
4.地址碼 ID Bit(也有部分是RES,或者為ID2顯示器標示位2)
5.自測試 ( 各家定義不同 )(一般為GND)( 拆了一根VGA顯示器數據線 黑色線 )
6.紅地( 拆了一根VGA顯示器數據線, 4,6,7,8,11為禁止線,連線在一起 )
7.綠地
8.藍地
9.保留 ( 各家定義不同 )(KEY··我也不是很理解)( 拆了一根VGA顯示器數據線 ,黃色線 )
10. 數字地( 拆了一根VGA顯示器數據線,紅色線)
11.地址碼(ID0顯示器標示位0)
12.地址碼(ID1顯示器標示位1)( 拆了一根VGA顯示器數據線,綠色線)
13.行同步(拆了一根VGA顯示器數據線,白色線)
14.場同步(拆了一根VGA顯示器數據線,棕色線)
15.地址碼 ( ID3或顯示器標示位3 )
(拆了一根VGA顯示器數據線,橙色線) VGA接口管腳定義 VGA接口是顯示卡上套用最為廣泛的接口類型,絕大多數的顯示卡都帶有此種接口。工作原理,是計算機內部以數字方式生成的顯示圖像信息,被顯示卡中的數字/模擬轉換器轉變為R、G、B
三原色 信號和行、場同步信號,信號通過電纜傳輸到顯示設備中。對於模擬顯示設備,如模擬CRT顯示器,信號被直接送到相應的處理電路,驅動控制顯像管生成圖像。而對於LCD、DLP等數字顯示設備,顯示設備中需配置相應的A/D(模擬/數字)轉換器,將模擬信號轉變為數位訊號,在經過D/A和A/D2次轉換後,不可避免地造成了一些圖像細節的損失。使用VGA連線設備,線纜長度最好不要超過10米,而且要注意接頭是否安裝牢固,否則可能引起圖像中出現虛影。
VGA數據線
VGA數據線是用來連線電視的VGA接口和顯示卡的VGA接口的特殊線纜。
VGA數據線 是用來連線VGA接口設備的線纜,成品線長度有1.5米,2米、3米、5米、10米、15米等幾種規格,一般沒有超過15米的成品線,因為信號傳輸距離超過15米時,VGA信號質量會嚴重下降。如果需要將顯示卡產生的VGA信號傳輸超過15米的距離,超過的不多時,可以焊接一根VGA線試試效果,如果距離過遠,應該直接使用VGA-CAT5轉換器。
VGA3+6
相關產品
可變增益放大器
VGA:Variable Gain Amplifier
VGA是AGC系統的一個關鍵電路模組,它起著改變系統增益,調整系統各級動態範圍並進行功率控制的作用。
可變增益放大器位於接收端模組的後端,由於信號在接收模組的前端電路,如低噪聲放大器和混頻器中已經得到一定程度的放大,在到達VGA時其幅度相對較大,因此系統對VGA的輸入動態範圍和線性度有著相對較高的要求。
從電路實現形式上:開環和閉環
從增益控制方式上:連續和步進
VGA重要性能參數
增益調節範圍及調節步長
增益調節範圍是指VGA輸出的最大電壓增益與最小電壓增益之差。是衡量VGA增益調節能力的參數。
增益調節步長是指VGA能夠調節的最小相鄰電壓增益之差,是衡量VGA調節精度的重要指標。
增益電源電壓 頻寬 線性度 功耗 噪聲
顯示系統 顯存與顯示
在VGA顯示時,要考慮如何實現
顯存 數據更新 與顯示的
同步 進行。解決的方案有以下幾種:
(1) 採用具有
快取 作用的雙口RAM,這種方法使用的器件數量多、功耗大、成本高,基本不可取。
(2) 採用兩組SRAM進行桌球工作模式,一組SRAM用於顯示的同時,另一組SRAM用於圖像數據的更新,然後在兩組SRAM之間切換。這樣做會提高一些成本,而且需要更複雜的匯流排控制。
(3) 利用FPGA/CPLD和SDRAM構造雙口SRAM。這種方法實時性好,成本較低,時序控制比較複雜,它是 實現高性能低成本要求的最佳方案。
(4) 採用一組SRAM作為
顯存 ,可以簡化系統設計、降低成本。這時可以考慮利用行時序和幀時序中SRAM匯流排空閒的時序段,在不關閉圖像顯示的情況下實現顯存SRAM的
數據更新 。該方法的更新率與數據寫速度密切相關,顯存的寫數據速度越快,該方法的更新率就越高。
假設CPU的工作時鐘最大為60MHz,並採用JPEG解碼更新方式。這時如果將解碼
快取 區分配在CPU片內記憶體,則更新數據時直接由記憶體向 SRAM寫數據,一次需要0.17μs;如果將解碼快取區分配在片外空間,則更新數據時CPU要先從片外讀數據,再向SRAM寫數據,這樣寫一次需要 0.25μs。在相鄰顯示的兩幀圖像只存在局部差別或更新文本顯示信息時,可使用局部
數據更新 方法,以提高更新率。表2給出了顯示每幀圖像包含的匯流排空閒時間,以及在不同解碼快取區分配方式下圖像全部更新和10%局部更新的幀率。這裡提到的幀率是指對
顯存 數據的更新速度,而不是指圖像的螢幕
刷新率 ,它對刷新率沒有影響。
嵌入式
基於以上方案設計的嵌入式VGA顯示系統在只有系統控制板和
CRT顯示器 的情況下實現了嵌入式高解析度VGA顯示。
通過對嵌入式VGA顯示系統的設計分析和實際使用,得到如下結論:
(1) 由於VGA顯示是一個高速過程,所以選擇器件時要選擇高速器件。
(2) VGA顯示時序要求較嚴格,時序中的前後沿及
同步 脈衝寬度都要依照嚴格的參考數據設定。
(3) 在一般情況下,由於數據接口的限制,
數據更新 率不能達到計算機的水平。通過一些特殊設計,還是能夠滿足大多數嵌入式VGA的需求。
(4) 性能、成本和複雜度要綜合考慮,要以系統的實際需求為目標,採用合理而實用的設計方案。
記憶體定址
VGA所使用的視訊記憶體,透過一個視窗對應於PC的主記憶體,它們的真實位址為0xA000和0xC000之間的記憶體。典型地來說位址的開始點是:
* 0xA000 使用於 EGA/VGA 圖型模式(4 KB)
* 0xB000 單色文字模式(2 KB)
* 0xB800 彩色文字模式和 CGA 相容模式(2 KB)
由於使用的區段皆不相同,在同一部機器上裝置一個單色顯示卡(MDA)和另一個彩色顯示卡(VGA、EGA或CGA)是不衝突的。在 1980 年代初,這種典型的搭配方式用於 Lotus 1-2-3 試算表上,一部高解析單色螢幕用來顯示文字,而另一部低解析的 CGA 螢幕用來顯示圖表。許多程式設計師也用這種配置來開發軟體,一部螢幕顯示 debug 細節,另一部螢幕則顯示真正的軟體運行畫面。許多商業的除錯軟體都支持這種配置,例如 Borland 的 Turbo Debugger、由 Alan J. Cox 開發的 D86、微軟的 CodeView 等。Turbo Debugger 和 CodeView 可以甚至可拿來 debug 微軟的
Windows 軟體。也有
DOS 驅動 程式如ox.sys模擬一個終端機來接受 Windows 的 debug 訊息,而不用真正接上另一個終端機。在 DOS 底下使用“單色模式”指令,使其輸出轉向單色也是可能的。另外,假如電腦上並無單色顯示卡,那么可以使用
EMM386.EXE 程式讓其他程式可以使用 B000-B7FF 這一段記憶體。(於
config.sys 檔案中加入 "DEVICE=EMM386.EXE I=B000-B7FF")
程式技巧
一個未被紀錄但十分廣泛使用的技術稱作 Mode X(由 Michael Abrash 導入),使程式設計師能夠使用在 Mode 13h 之下無法做到的解析度。他將 256 KiB 連續的視訊記憶體“解開”並分成四個層次,因此在 256 色模式時全部 256 KB 的記憶體都可以使用。技術上這將使得處理變得更複雜,並且效能降低。但在一些特殊情況下,效能損失的情況可以被彌補:
* 單色的多邊形填色增快,因為一次寫入可以設定四個像素。
* VGA 可以用來協助視訊記憶體之間的拷貝,有些時候會比使用 8088 或 80286 等慢速 CPU 更快。
* 提供更高的解析度:16 色可使用 704×528、736×552、768×576、甚至 800×600。諸如 Xlib(1990 年代早期的 C 圖形函式庫)和 ColoRIX(256 色的圖形程式)支援 256 色下的各種解析度調和:直行 256、320 和 360 個像素,以及水平行 200、240、256、400 和 480 個像素的組合(上限的 640×400 幾乎用掉 256 KiB 中每一個 byte)。不過,320×240仍然是最常被使用的,因它為典型的4:3比例,為方形像素。
* multiple video pages 讓程式設計師能夠使用雙重緩衝(所有的 16 色模式都可),這在 Mode 13h 無法辦到。
有時候,顯示器必須降低更新頻率來滿足這些模式,這會造成眼睛的疲勞這樣的低解析度雖然在PC市場早已淡出,但在Pocket PC和PDA市場,它正逐漸成為標準。它也常被用來指稱15針的D型接頭,這種接頭仍然用來傳輸各式各樣解析度的類比訊號。
曾經IBM官方宣布VGA被XGA標準所取代,但在歷史上,它是被其他的OEM製造商使用的所謂SVGA標準取代了。
技術性細節
VGA中的A指的是“陣列(array)”而非“
轉換器 (adapter)”,因為它從一開始就被設計為一個單一的整合晶片,用來取代Motorola 6845和數十個離散的邏輯
晶片組 合而成的ISA
母版 ,這種設計是之前的MDA、CGA和EGA所使用的。VGA的這個特性允許它輕易的殖入PC的主機板之中,只需要額外的視訊記憶體、振盪器和一個RAMDAC,就具備顯示功能。IBM的PS/2電腦系列就是採用將VGA放置於主機板上的設計。
VGA的規格表如下:
* 256 KiB 的 Video RAM
* 16 色和 256 色模式
* 總共 262144 種顏色的色版(紅、綠、藍三色各 6 bit,總共 (26)3 種)
* 選擇性的 25.2 MHz 或 28.3 MHz 處理頻率
* 最多 720 個水平像素
* 最多 480 條線
* 最高 70 Hz 的更新頻率
* Vertical Blanking interrupt(不是所有卡都支持)
* 平面模式:最多 16 色(4 bit 面板)
* Packed-pixel 模式:256 色(Mode 13h)
* 順暢捲動畫面的能力
* Some "Raster Ops" support
* Barrel shifter
* 支援分割畫面
VGA支援可單獨操控像素的APA(All Points Addressable)模式,也支援字母與數字的文字模式。標準的圖形模式如下:
* 640×480×16色
* 640×350×16色
* 320×200×16色
* 320×200×256色(Mode 13h)
它也支援用模擬的方式畫出以往規格的解析度:EGA、CGA和MDA。