VGA(Video Graphics Array)即視頻圖形陣列,是IBM在1987年隨PS/2機(jī)(PS/2 原是“Personal System 2”的意思,“個(gè)人系統(tǒng)2”,是IBM公司在1987年推出的一種個(gè)人電腦。PS/2電腦上使用的鍵盤鼠標(biāo)接口就是現(xiàn)在的PS/2接口。因?yàn)闃?biāo)準(zhǔn)不開放,PS/2電腦在市場中失敗了。只有PS/2接口一直沿用到今天。)一起推出的使用模擬信號的一種視頻傳輸標(biāo)準(zhǔn),在當(dāng)時(shí)具有分辨率高、顯示速率快、顏色豐富等優(yōu)點(diǎn),在彩色顯示器領(lǐng)域得到了廣泛的應(yīng)用。這個(gè)標(biāo)準(zhǔn)對于現(xiàn)今的個(gè)人電腦市場已經(jīng)十分過時(shí)。即使如此,VGA仍然是最多制造商所共同支持的一個(gè)標(biāo)準(zhǔn),個(gè)人電腦在加載自己的獨(dú)特驅(qū)動(dòng)程序之前,都必須支持VGA的標(biāo)準(zhǔn)。VGA最早指的是顯示器640X480這種顯示模式?! ?/p>
VGA技術(shù)的應(yīng)用還主要基于VGA顯示卡的計(jì)算機(jī)、筆記本等設(shè)備,而在一些既要求顯示彩色高分辨率圖像又沒有必要使用計(jì)算機(jī)的設(shè)備上,VGA技術(shù)的應(yīng)用卻很少見到。本文對嵌入式VGA顯示的實(shí)現(xiàn)方法進(jìn)行了研究。
基于這種設(shè)計(jì)方法的嵌入式VGA顯示系統(tǒng),可以在不使用VGA顯示卡和計(jì)算機(jī)的情況下,實(shí)現(xiàn)VGA圖像的顯示和控制。系統(tǒng)具有成本低、結(jié)構(gòu)簡單、應(yīng)用靈活的優(yōu)點(diǎn),可廣泛應(yīng)用于超市、車站、飛機(jī)場等公共場所的廣告宣傳和提示信息顯示,也可應(yīng)用于工廠車間生產(chǎn)過程中的操作信息顯示,還能以多媒體形式應(yīng)用于日常生活。
VGA原理
VGA顯示與VGA時(shí)序?qū)崿F(xiàn)
通用VGA顯示卡系統(tǒng)主要由控制電路、顯示緩存區(qū)和視頻BIOS(Basic Input Output System即基本輸入輸出系統(tǒng))程序三個(gè)部分組成??刂齐娐啡鐖D1所示??刂齐娐分饕瓿蓵r(shí)序發(fā)生、顯示緩沖區(qū)數(shù)據(jù)操作、主時(shí)鐘選擇和D/A(Digital to Analog即將數(shù)字信號轉(zhuǎn)換為模擬信號)轉(zhuǎn)換等功能;顯示緩沖區(qū)提供顯示數(shù)據(jù)緩存空間;視頻BIOS作為控制程序固化在顯示卡的ROM(Read-Only Memory即只讀存儲(chǔ)器)中。
1 VGA時(shí)序分析
通過對VGA顯示卡基本工作原理的分析可知,要實(shí)現(xiàn)VGA顯示就要解決數(shù)據(jù)來源、數(shù)據(jù)存儲(chǔ)、時(shí)序?qū)崿F(xiàn)等問題,其中關(guān)鍵還是如何實(shí)現(xiàn)VGA時(shí)序。 VGA的標(biāo)準(zhǔn)參考顯示時(shí)序如圖2所示。行時(shí)序和幀時(shí)序都需要產(chǎn)生同步脈沖(Sync a)、顯示后沿(Back porch b)、顯示時(shí)序段(Display interval c)和顯示前沿(Front porch d)四個(gè)部分。幾種常用模式的時(shí)序參數(shù)如表1所示。
2 VGA時(shí)序?qū)崿F(xiàn)
首先,根據(jù)刷新頻率確定主時(shí)鐘頻率,然后由主時(shí)鐘頻率和圖像分辨率計(jì)算出行總周期數(shù),再把表1中給出的a、b、c、d各時(shí)序段的時(shí)間按照主計(jì)數(shù)脈沖源頻率折算成時(shí)鐘周期數(shù)。在CPLD中利用計(jì)數(shù)器和RS觸發(fā)器,以計(jì)算出的各時(shí)序段時(shí)鐘周期數(shù)為基準(zhǔn),產(chǎn)生不同寬度和周期的脈沖信號,再利用它們的邏輯組合構(gòu)成圖2中的a、b、c、d各時(shí)序段以及D/A轉(zhuǎn)換器的空白信號BLANK和同步信號SYNC。
VGA參考時(shí)序3 讀SRAM地址的產(chǎn)生方法
主時(shí)鐘作為像素點(diǎn)計(jì)數(shù)脈沖信號,同時(shí)提供顯存SRAM的讀信號和D/A轉(zhuǎn)換時(shí)鐘,它所驅(qū)動(dòng)的計(jì)數(shù)器的輸出端作為讀SRAM的低位地址。行同步信號作為行數(shù)計(jì)數(shù)脈沖信號,它所驅(qū)動(dòng)的計(jì)數(shù)器的輸出端作為讀SRAM的高位地址。由于采用兩片SRAM,所以最高位地址作為SRAM的片選使用。由于信號經(jīng)過CPLD內(nèi)部邏輯器件時(shí)存在一定的時(shí)間延遲,在CPLD產(chǎn)生地址和讀信號讀取數(shù)據(jù)時(shí),讀信號、地址信號和數(shù)據(jù)信號不能滿足SRAM讀數(shù)據(jù)的時(shí)序要求??梢岳糜布娐穼ψx信號進(jìn)行一定的時(shí)序調(diào)整,使各信號之間能夠滿足讀SRAM和為DAC輸入數(shù)據(jù)的時(shí)序要求。
4 數(shù)據(jù)寬度和格式
如果VGA顯示真彩色BMP圖像,則要R、G、B三個(gè)分量各8位,即24位表示一個(gè)像素值,很多情況下還采用32位表示一個(gè)像素值。為了節(jié)省顯存的存儲(chǔ)空間,可采用高彩色圖像,即每個(gè)像素值由16位表示,R、G、B三個(gè)分量分別使用5位、6位、5位,比真彩色圖像數(shù)據(jù)量減少一半,同時(shí)又能滿足顯示效果。