基于FPGA的VGA控制器實現(xiàn)
摘要:依據(jù)標(biāo)準(zhǔn)的VGA顯示接口的顯示原理,介紹了一種利用可編程邏輯器件FPGA,并以VerilogHDL語言為邏輯描述工具來完成VGA接口的控制,從而實現(xiàn)簡單的彩色條紋顯示的具體方法。
關(guān)鍵宇:VGA;FPGA;VerilogHDL;彩色條紋顯示
0 引言
VGA作為一種標(biāo)準(zhǔn)的顯示接口,現(xiàn)已得到了廣泛的應(yīng)用。傳統(tǒng)的VGA顯示控制主要以專門的芯片電路和通用處理器來實現(xiàn),體積大且不靈活。隨著EDA技術(shù)的發(fā)展,可編程邏輯器件有了長足的發(fā)展。FPGA是現(xiàn)場可編程邏輯陣列器件,簡化的FPGA基本由可編程輸入輸出單元、基本可編程邏輯單元、嵌入式RAM模塊、豐富的布線資源、底層嵌入式功能單元和內(nèi)嵌專用硬核等6部分組成。基于FPGA的產(chǎn)品設(shè)計具有開發(fā)過程簡單,投資小,可反復(fù)修改,周期短,易于產(chǎn)品升級等優(yōu)點,故其應(yīng)用越來越廣泛。本文介紹了一種用FPGA實現(xiàn)VGA顯示的控制器,從而實現(xiàn)簡易彩色條紋顯示,并在此基礎(chǔ)上通過外加存儲器模塊來完成圖像的實時處理與顯示的實現(xiàn)方法,該方法也可方便地應(yīng)用于各種嵌入式便攜系統(tǒng)中。
1 VGA的顯示原理
VGA是IBM在1987年隨PS/2機(jī)一起推出的一種視頻傳輸標(biāo)準(zhǔn)。這個標(biāo)準(zhǔn)具有分辨率高、顯示速度快、顏色豐富等優(yōu)點。根據(jù)分辨率不同,VGA又可分為VGA(640x480)、SVGA(800x600)、XGA(1024x768)等。VGA顯示采用逐行掃描方式。掃描是從屏幕的左上方開始,從左到右,從上到下。每掃完一行,電子束回到左邊下一行的開始位置,期間對電子束進(jìn)行行消隱。并在每行結(jié)束時,用行同步信號對行進(jìn)行同步,掃描完所有行后,再用場同步信號對場進(jìn)行同步,并使電子束回到屏幕的左上方,同時對場進(jìn)行消隱,并預(yù)備下一次掃描。該方法的關(guān)鍵是對時序的控制。
1.1 VGA時序
確定VGA顯示接口時序主要應(yīng)考慮行同步信號(HSYNC)、場同步信號(VSYNC)、藍(lán)基色(B)、紅基色(R)、綠基色(G)這5個信號,如果能從FPGA中按其時的需要求準(zhǔn)確發(fā)送這些信號到VGA接口,就可以實現(xiàn)對VGA的控制。VGA的信號時序如圖1所示,它分為行數(shù)據(jù)時序和場數(shù)據(jù)時序兩部分。
所謂行時序,就是顯示一行數(shù)據(jù)的時序。從圖1(a)可以看出,顯示一行數(shù)據(jù)需要的時序分四部分。產(chǎn)生行同步脈沖信號HSYNC的周期e=a+ b+c+d。其中a為同步信號時間。b為行消隱后肩時間,c為數(shù)據(jù)有效時間,d為行消隱前肩。從圖(b)可以看出,場同步時序與行同步時序類似,也是顯示一屏數(shù)據(jù)的時序,這里以行為單位。場同步脈沖信號VSYNC的周期L=h+i+j+k,其中h為同步信號時間,i為場消隱后肩時間,j為數(shù)據(jù)有效時間,k為場消隱前肩時間。
不同的分辨率下,行同步和場同步信號的周期是不同的,時序上的時間也不一樣。表1列出了VGA的常用分辨率參數(shù)。
評論