引言
視頻圖形陣列顯示接口是微機系統使用的一種通用顯示接口,廣泛應用于智能控制系統中,作為系統的顯示終端.對于由嵌入式微處理器構成的圖像處理系統來說,采用VcA顯示輸出具有兼容性強.顯示內容豐富的優勢.同時,VGA顯示接口具有結構簡單.性能可靠.兼容性強.時序容易控制的特點.因此,結合FPGA的VGA圖像控制器,在嵌入式的圖像處理系統中有廣泛的應用前景.
目前大多數計算機與外部顯示設備之間都是通過模擬VGA接口連接,計算機內部以數字方式生成的顯示圖像信息,被顯卡中的數字/模擬轉換器轉變為R.G.B三原色信號和行.場同步信號,信號通過電纜傳輸到顯示設備中.
1 VGA顯示
常見的VGA接口的彩色顯示器,一般由cRT(陰極射線管)構成,色彩由R.G.B(紅:Red,綠:Green,藍:Blue)三基色組成.顯示采用逐行掃描的方式進行,即當掃描完一行時,再進行下一行的掃描,直到最后一行掃描完為止.VGA接口為顯示器提供兩類信號,一類是數據信號,一類是控制信號.
數據信號包括紅.綠.藍信號,簡稱RGB信號.控制信號包括水平同步信號(HSYNC)和垂直同步信號(VsYNc).向顯示器輸出不同的分辨率時,水平同步信號和垂直同步信號的頻率也不同.但是水平同步信號和垂直同步信號時序分析相同,在掃描時均需要經過同步信號.同步后信號.行同步信號.同步后信號四個時段.僅以水平同步信號為例,其結構如圖1所示.
VGA接口的顯示器原理其實就相當于點陣,通過控制器的控制,點亮所在的行和列.所以水平同步信號是針對列像素而言的,而垂直同步信號是針對行像素而言的.
以顯示800×600的圖片大小為例,根據VGA的時序標準,選擇6hz的刷新頻率.水平同步信號的同步信號包含128個列像素,同步后沿信號為88個列像素,同步前沿信號為40個列像素,而屏幕顯示部分為800個列像素,所以一共需要1 28+88+40+800=1 056個列像素.場同步信號的同步信號包含4個行像素,同步后沿信號包含23個行像素,同步前沿信號包含1個行像素,而屏幕顯示部分為600個行像素,所以一共需要4+23+l+600=628個行像素,由此,液晶顯示器顯示一幅800×600的圖像,需要的行列像素分別為1056和628.
2系統總體框架設計
本系統以FPGA EP2C8Q208C8為核心芯片,通過對VGA接口的控制,實現彩色圖像的顯示,系統結構框圖如圖2所示.
2.1鎖相環PLL
鎖相環路是一種反饋控制電路,簡稱鎖相環(PLL),一種輸出一定頻率信號的振蕩電路,也稱為相位同步環(回路).該回路利用使外部施加的基準信號與PLL回路內的振蕩器輸出的相位差恒定的反饋控制來產生振蕩信號.在網絡領域中,PLL用于從接收的信號中分離出時鐘信號,可以通過實際電路或軟件的方式實現.
由于FPGA的系統時鐘為50MHz,而控制VGA的時鐘為40MHz,所以在對VGA接口的控制時需要進行時鐘轉換,通常可以通過分頻或者是調用IP核的方式實現轉換,但是由于通過自己寫的分頻程序假如在數據上處理不得當,容易產生毛刺,而調用quanersII軟件自帶的PLL內核,不僅可以做到與系統時鐘同相,而且時鐘穩定,能夠實現對VGA時序的嚴格控制,與硬件電路來實現鎖相環相比,調用PLJ.內核不僅可以做到操作簡單,而且也節約了設計成本.
2.2存儲模塊ROM
只讀存儲(Read一0nly Memory,ROM)是一種只能讀出事先所存數據的固態半導體存儲器圈.在系統框圖中的三個ROM均用來存儲顏色信息,由于本設計中使用圖片的大小為128×128,即一共有128×128=16384個像素點,所以ROM的大小設置為16384.這里通過quanerII軟件調用FPGA的ROM內核,將MATLAB提取的紅.綠.藍三基色數據經quanusII軟件的處理,分別存入FPGA的ROMl.ROM2.ROM3中.在控制模塊中寫入ROM的地址,在分頻后的時鐘控制下,將數據讀到vGA的RGB三個引腳,實現液晶顯示器的圖片顯示.
2.3 MATLAB的數據提取
MATLAB作為強大的數據處理工具,其基本數據單位是矩陣,它的指令表達式與數學工程中常用的表達形式十分相似,故用MATLAB來解算問題要比用c,FORTRAN等語言簡捷得多。在新的版本中也加入了對C,FORTRAN,C++,JAVA的支持,可以直接調用,用戶也可以將自己編寫的實用程序導人MATIAB函數庫中方便自己以后調用,此外許多的MATLAB愛好者都編寫了一些經典的程序,用戶可以直接進行下載就可以用,非常的方便.
由于MATLAB軟件中默認的圖片格式為。JPc和。BNP,因此在使用MATLAB前需將原始圖片通過Photo sh叩軟件進行格式轉換,轉換后保存圖片為。BMP格式,在彈出的位寬選擇對話框選擇24位,然后再通過MATLAB提取紅基色數據,程序如下所示,結果被保存在Red.mif文件里:
由于本設計所使用的VGA是三位的數據接口,因此藍基色和綠基色數據也按照此方法提取.Red.mif中的數據是24位的,所以還需要對提取到的紅基色數據進行轉換.在MATLAB中做如下判斷將24位數據轉換為3位數據.
3結果分析
圖像的顯示如圖3所示,顯示結果表明,由于原圖像是24位,即224種顏色,而FPGA控制的VGA只有3位即23種顏色,相比之下,以24位的圖像作為標準,VGA顯示的3位圖像有明顯失真的現象.
如果希望顯示的圖像更加清晰,那么需要將vGA的顯示接口重新作出電路修改,這樣才能達到清晰顯示的效果.
4結束語
在許多圖像處理系統中,需要將經過處理的圖像顯示出來,如果采用傳統的辦法將圖像數據傳回電腦并通過顯示器顯示出來,那么在傳輸的過程中就需要嵌入式系統的CPU不斷的對所傳輸的圖像數據信號進行控制,這樣就造成了CPU資源的浪費,同樣系統還需要依賴電腦,降低了系統的靈活性.如果采用FPGA對顯示器的VGA接口進行設計,數據流只需要在整個系統的內部流動,而不需要依靠計算機,實現了系統的最小化,大大減少了電路板的尺寸,增強了系統的可靠性和設計的靈活性.
VGA接口同樣也是LCD液晶顯示設備的標準接口,通過VGA控制LCD可以使整個系統變得小巧,攜帶方便,使得應用的范圍大大擴展.作者所在的全景視覺圖象處理項目中,正是需要把經過處理的圖像實時地直接地顯示出來,撇開對計算機的需求,以滿足各種不同應用環境的需要.
通過FPGA對VGA接口的控制,不僅實現了FPGA對任一圖像的顯示,而且其內部時鐘可調性為設計帶來了很大的方便,節約了硬件成本.此方案可以廣泛應用于數字視頻系統.高分辨率的彩色圖片圖像處理.視頻信號再現等各種領域.
-
FPGA
+關注
關注
1629文章
21744瀏覽量
603660 -
顯示器
+關注
關注
21文章
4980瀏覽量
140043 -
控制系統
+關注
關注
41文章
6623瀏覽量
110632 -
VGA
+關注
關注
5文章
535瀏覽量
62978
發布評論請先 登錄
相關推薦
評論