勇敢的芯伴你玩轉Altera FPGA連載68:VGA驅動ColorBar顯示 特權同學,版權所有 配套例程和更多資料下載鏈接: http://pan.baidu.com/s/1i5LMUUD ![]() 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其實已經不僅僅局限于640X480這種分辨率了,通常情況下,各種各樣適用于VGA接口傳輸的分辨率都可以統稱為VGA。當然了,嚴格來講,每個分辨率都會有自己的叫法,如800X600就稱作SVGA。)VGA接口如圖8.55所示。 圖8.55 VGA接口示意圖 驅動VGA顯示的接口,主要有以下3種信號:行同步信號HSYNC,場同步信號VSYNC和3條色彩電壓傳輸信號(R、G、B分別對應)。色彩信號的電壓為0~0.7V,其同步是靠前面兩個信號來協助的。至于HSYNC和VSYNC和色彩信號之間以什么樣的關系進行傳輸,這都是相對固定的,雖然VGA收發雙方沒有時鐘信號做同步,但我們通常會約定發送方有一個基本的時鐘,VSYNC、HSYNC和色彩信號都會按照這個時鐘的節拍來確定狀態。 VGA的接口時序如圖8.56所示,場同步信號VSYNC在每幀(即送一次全屏的圖像)開始的時候產生一個固定寬度的高脈沖,行同步信號HSYNC在每行開始的時候產生一個固定寬度的高脈沖,色彩數據在某些固定的行和列交匯處有效。 ![]() 圖8.56 VGA時序波形1 如前所述,我們通常以一個基準時鐘驅動VGA信號的產生,用這個基準時鐘為時間單位來產生的時序如圖8.57所示。 ![]() 圖8.57 VGA時序波形2 對于一個刷新頻率為60Hz,分辨率為640X480的標準VGA顯示驅動,若它的基準驅動時鐘為25MHz,它的脈沖計數如表8.5所示。注意列的單位為“行”,而行的單位為“基準時鐘周期數”,即25MHz時鐘脈沖數。 表8.5 VGA驅動時序參數
對于一個刷新頻率為72Hz,分辨率為800X600的SVGA顯示驅動,若它的基準驅動時鐘為50MHz,它的計數脈沖參數如表8.6所示。注意列的單位為“行”,而行的單位為“基準時鐘周期數”,即50MHz時鐘脈沖數。 表8.6 SVGA驅動時序參數表
對于一個刷新頻率為60Hz,分辨率為1024X768的顯示驅動,若它的基準驅動時鐘為65MHz,它的計數脈沖參數如表8.7所示。注意列的單位為“行”,而行的單位為“基準時鐘周期數”,即65MHz時鐘脈沖數。 表8.7 SVGA驅動時序參數表
對于一個刷新頻率為60Hz,分辨率為1280X960的顯示驅動,若它的基準驅動時鐘為108MHz,它的計數脈沖參數如表8.8所示。注意列的單位為“行”,而行的單位為“基準時鐘周期數”,即108MHz時鐘脈沖數。 表8.8 SVGA驅動時序參數表
對于一個刷新頻率為60Hz,分辨率為1280X1024的顯示驅動,若它的基準驅動時鐘為108MHz,它的計數脈沖參數如表8.9所示。注意列的單位為“行”,而行的單位為“基準時鐘周期數”,即108MHz時鐘脈沖數。 表8.9 SVGA驅動時序參數表
對于一個刷新頻率為60Hz,分辨率為1920X1080的顯示驅動,若它的基準驅動時鐘為130MHz,它的計數脈沖參數如表8.10所示。注意列的單位為“行”,而行的單位為“基準時鐘周期數”,即130MHz時鐘脈沖數。 表8.10 SVGA驅動時序參數表
如圖8.58所示,本實例需要用戶自己準備好一臺VGA顯示器和相應的VGA線,VGA線用于連接SF-CY4開發板的J1插座和顯示器。FPGA內部產生ColorBar以及VGA時序用于驅動顯示器顯示。 ![]() 圖8.58 VGA實例功能框圖 VGA的驅動大體如圖8.59所示。 ![]() 圖8.59 VGA驅動功能框圖 本實例模塊劃分如圖8.60所示。 ![]() 圖8.60 VGA實例模塊層次 |