基于FPGA 的VGA 圖形控制器的實現方法
引言
本文引用地址:http://www.biyoush.com/article/161995.htmVGA(視頻圖形陣列)作為一種標準的顯示接口得到廣泛的應用。利用FPGA 芯片和EDA 設計方法,可以因地制宜,根據用戶的特定需要,設計出針對性強的VGA 顯示控制器,不僅能夠大大降低成本,還可以滿足生產實踐中不斷變化的用戶需要,產品的升級換代方便迅速。
在本設計中采用了Altera 公司的EDA 軟件工具Quartus II ,并以ACEX系列FPGA 的器件為主實現硬件平臺的設計。
根據自頂向下的程序設計思想,采用模塊化設計,我們對VGA 圖形控制器進行功能分離并按層次設計。利用VHDL 硬件描述語言逐一對每個功能模塊進行描述,并逐個通過編譯仿真,最后下載到硬件平臺調試。本設計的VGA 控制器主要由以下模塊組成:VGA 時序控制模塊、分頻模塊、漢字顯示模塊、圖像控制模塊、ROM讀取模塊等,如圖1 所示。
圖1 基于FPGA 的VGA 圖形控制系統(tǒng)框圖
2 主要功能模塊設計
2. 1 VGA 時序控制模塊
VGA 時序控制模塊是整個顯示控制器的關鍵部分,最終的輸出信號行、場同步信號必須嚴格按照VGA 時序標準產生相應的脈沖信號。對于普通的VGA 顯示器, 其引出線共含5 個信號: G,R ,B (3 基色信號) ,HS(行同步信號) ,VS(場同步信號) 。在5個信號時序驅動時,VGA 顯示器要嚴格遵循“VGA工業(yè)標準”, 即640 Hz ×480 Hz ×60Hz 模式。
對于VGA 顯示器,每個像素點的輸出頻率為25. 175MHz ,因此采用50MHz 的時鐘信號,經過二分頻模塊,得到25MHz 的輸入時鐘脈沖。依據VGA 時序標準,行同步信號HS ,行周期為31. 78μs ,每顯示行包括800 點,其中640 點為有效顯示區(qū),160 點為行消隱區(qū),每行有一個脈沖,該脈沖的低電平寬度為3. 81μs (即96 個脈沖) ; 場同步信號VS ,場周期為16.683ms ,每場有525 行,其中480 行為有效顯示行,45 行為場消隱區(qū),每場有一個脈沖,該脈沖的低電平寬度為63μs (2 行)。
圖2 VGA 行掃描、場掃描的時序圖
依據這個標準,把輸入的25MHz 時鐘脈沖按照對應的像素點數和掃描行數進行分頻處理,可以得到最后符合時序要求的行頻率和刷新頻率。
利用Altera 公司的QuartusII 軟件對VHDL 語言描述的VGA 時序控制模塊進行編譯、仿真,可得到行同步信號HS , 場同步信號VS 的時序仿真波形,如圖3 所示。
圖3 時鐘信號仿真圖
由仿真結果波形可以看到,行同步信號的時鐘周期約為31. 9μs ,場同步信號的時鐘周期約為16。
6ms ,達到了VGA 標準時序的要求,可以為CRT 顯示器提供準確的行場同步信號。
在硬件系統(tǒng)上,通過彩條圖案的生成驗證了時序生成的正確性,可產生豎彩條、橫彩條、棋盤格等多種彩條模式。
評論