基于FPGA的VGA顯示系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
2.3 圖像信息存儲(chǔ)模塊設(shè)計(jì)
本文引用地址:http://www.biyoush.com/article/201603/287500.htm圖像信號(hào)包括數(shù)字彩條、棋盤格和ROM中定制的圖形等。要在屏幕上顯示圖像,除VGA時(shí)序之外,還需要設(shè)計(jì)底層存儲(chǔ)器以建立圖像信息庫(kù)。FPGA定制ROM一般有兩種方法:第一種方法是利用FPGA器件的嵌人式存儲(chǔ)器定制LPM-ROM,用.mif文件或.hex文件對(duì)其對(duì)其進(jìn)行初始化,這種方法獲得的ROM最大尋址空間為212,可以存儲(chǔ)一幅分辨率為64x64的圖像信息;第二種方法是在FPGA邏輯資源的限度內(nèi)利用硬件描述語言Verilog HDL定制一個(gè)ROM,采用case語句對(duì)其進(jìn)行初始化,這種方法獲得的ROM在存儲(chǔ)深度較大時(shí),編譯時(shí)對(duì)時(shí)間的開銷較大且浪費(fèi)FPGA的邏輯資源。ROM初始化完成 后在 40MHz的時(shí)鐘頻率下輸出存儲(chǔ)的圖像信息,其圖像顏色種類的多少取決于ROM存儲(chǔ)空間的大小。
本設(shè)計(jì)需要顯示一副64(寬)x64(高)x1(顏色)像素點(diǎn)陣的“比卡丘”卡通圖像。要存放這一副圖像,可采用FPGA嵌入的存儲(chǔ)器定制數(shù)據(jù)線寬64位、地址線寬6位的LPM-ROM,其初始化文件如圖4所示。這樣的配置使得設(shè)計(jì)簡(jiǎn)單化,通過對(duì)行信號(hào)和列信號(hào)的有效組合對(duì)存儲(chǔ)器的地址進(jìn)行訪問而來輸出圖像像素點(diǎn)陣從而顯示圖像。
2.4 圖像顯示控制模塊設(shè)計(jì)
該部分設(shè)計(jì)的思路是在前三步的基礎(chǔ)上實(shí)現(xiàn)。有關(guān) RGB三基色信號(hào)的控制、行與列地址的控制、圖像顯示控制、幀控制,都是在這個(gè)模塊中完成操作。首先,通過讀取當(dāng)前的行和列地址信號(hào)對(duì)ROM進(jìn)行尋址,讀取圖片像素信息從而完成整個(gè)圖片信息的掃描。其次,當(dāng)有效區(qū)域信號(hào)產(chǎn)生時(shí),通過RGB三基色信號(hào)實(shí)現(xiàn)圖像的正確顯示。
圖像顯示控制模塊vga_control_module.v的部分代碼如下:
module vga_control_module
(
input CLK, RSTn, Ready_Sig;
input [10:0] Column_Addr_Sig, Row_Addr_Sig,
input [63:0] Rom_Data;
output [5:0] Rom_Addr,
output Red_Sig, Green_Sig, Blue_Sig
);
………………………
…………
assign Rom_Addr = m;
assign Red_Sig = Ready_Sig ? Rom_Data[ 6'd63 - n ] : 1'b0;
assign Green_Sig = Ready_Sig ? Rom_Data[ 6'd63 - n ] : 1'b0;
assign Blue_Sig = Ready_Sig ? Rom_Data[ 6'd63 - n ] : 1'b0;
endmodule
2.5 VGA顯示頂層模塊設(shè)計(jì)
在各模塊功能實(shí)現(xiàn)的基礎(chǔ)上,通過實(shí)例化的方式把它們有機(jī)地整合在一起,即為VGA顯示頂層模塊vga_module.v,對(duì)其編譯后生成的RTL級(jí)網(wǎng)表如圖5所示。
3 仿真與測(cè)試結(jié)果
利用modelsim對(duì)VGA 顯示頂層模塊進(jìn)行功能仿真,所得到的時(shí)序驅(qū)動(dòng)信號(hào)和RGB圖像信號(hào)的關(guān)系如圖6所示。HSYNC_Sig在前128個(gè)時(shí)鐘周期內(nèi)保持低電平,后面保持高電平的時(shí)間為928個(gè)CLK,而VSYNC_Sig在HSYNC_Sig第5個(gè)下降沿到來時(shí)由低電平變?yōu)楦唠娖?,可以說明 VGA模塊工作是正確的。利用VGA適配器將FPGA板載的VGA接口與液晶顯示器接口連接好,利用Quartus II軟件將程序下載到FPGA中驗(yàn)證,硬件測(cè)試結(jié)果如圖8所示。最終,VGA輸出的圖像與圖像源是一致的。
4 結(jié)論
本文基于FPGA設(shè)計(jì)了VGA圖像顯示器,采用LPM-ROM完成圖像信息的存儲(chǔ), 在FPGA中合成了對(duì)VGA圖像顯示所需的各種時(shí)序控制信號(hào)和圖像接口信號(hào), 用較省邏輯資源的方式, 完成了VGA顯示模塊的設(shè)計(jì),為圖像運(yùn)算節(jié)省了更多的邏輯資源。經(jīng)過仿真驗(yàn)證,設(shè)計(jì)是正確可行的。該設(shè)計(jì)可以很好的實(shí)現(xiàn)我們?cè)诤?jiǎn)單應(yīng)用系統(tǒng)中對(duì)圖像或字符顯示的需要。
本設(shè)計(jì)還可以做一些擴(kuò)展,當(dāng)顯示的圖像信息量較大時(shí),可對(duì)FPGA內(nèi)部邏輯結(jié)構(gòu)的數(shù)字圖像處理實(shí)用算法進(jìn)行深入研究,如添加CCD攝像頭圖像采集模塊[3];還可以外接大容量的存儲(chǔ)器,采用8位的二進(jìn)制數(shù)據(jù)表示RGB三基色,實(shí)現(xiàn)256色輸出,使顯示的圖像色彩更加豐富。
參考文獻(xiàn)
[1] 蔣艷紅.基于FPGA的圖像信號(hào)發(fā)生器的設(shè)計(jì)[J].電子測(cè)量技術(shù),2008,3(31):78-80
[2] 楊開陵,徐巧玉,王志慧.FPGA那些事兒:Verilog HDL建模設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2013:163-187
[3] 鄭容,朱宏輝.基于FPGA的圖像采集及VGA顯示[J].交通信息與安全,2009,4(27):154-157
[4] 賈偉偉,吳小艷,王威廉.基于FPGA的VGA接口實(shí)現(xiàn)和字符顯示[J].儀器儀表學(xué)報(bào),2008,4(29):561-563
[5] 王曼珠,路而紅,王傳海.VGA圖像控制器的CPLD/FPGA設(shè)計(jì)與實(shí)現(xiàn)[J].電子產(chǎn)品世界,2003,12(19):32-36
[6] 于寶堃. VGA控制器的設(shè)計(jì)與驗(yàn)證[D].北京交通大學(xué).2008
[7] Altera Corporation. Cyclone IV EP4CE6F17C8 Device Datasheet [Z]. 2010
本文來源于中國(guó)科技期刊《電子產(chǎn)品世界》2016年第2期第48頁(yè),歡迎您寫論文時(shí)引用,并注明出處。
評(píng)論