新聞中心

EEPW首頁 > 網(wǎng)絡(luò)與存儲 > 設(shè)計應(yīng)用 > 基于FPGA的VGA顯示系統(tǒng)的設(shè)計與實現(xiàn)

基于FPGA的VGA顯示系統(tǒng)的設(shè)計與實現(xiàn)

作者:陳啟武 白天蕊 時間:2016-03-09 來源:電子產(chǎn)品世界 收藏
編者按:針對VGA(視頻圖形陣列)接口顯示器的檢測需求,設(shè)計了一種基于Altera FPGA的VGA顯示系統(tǒng)。詳細(xì)介紹了VGA顯示的原理,采用硬件描述語言Verilog完成了VGA顯示所需的驅(qū)動時序和圖像存儲相關(guān)模塊的設(shè)計,并對整個系統(tǒng)進(jìn)行了綜合仿真,驗證了設(shè)計的正確性。仿真與測試結(jié)果表明,該設(shè)計可以在簡單的情況下實現(xiàn)圖像或字符顯示,節(jié)約了硬件成本,還可以滿足不同顯示標(biāo)準(zhǔn)的需要。

2.3 圖像信息存儲模塊設(shè)計

本文引用地址:http://www.butianyuan.cn/article/201603/287500.htm

  圖像信號包括數(shù)字彩條、棋盤格和ROM中定制的圖形等。要在屏幕上顯示圖像,除時序之外,還需要設(shè)計底層存儲器以建立圖像信息庫。定制ROM一般有兩種方法:第一種方法是利用器件的嵌人式存儲器定制LPM-ROM,用.mif文件或.hex文件對其對其進(jìn)行初始化,這種方法獲得的ROM最大尋址空間為212,可以存儲一幅分辨率為64x64的圖像信息;第二種方法是在邏輯資源的限度內(nèi)利用硬件描述語言Verilog HDL定制一個ROM,采用case語句對其進(jìn)行初始化,這種方法獲得的ROM在存儲深度較大時,編譯時對時間的開銷較大且浪費(fèi)FPGA的邏輯資源。ROM初始化完成 后在 40MHz的時鐘頻率下輸出存儲的圖像信息,其圖像顏色種類的多少取決于ROM存儲空間的大小。

  本設(shè)計需要顯示一副64(寬)x64(高)x1(顏色)像素點陣的“比卡丘”卡通圖像。要存放這一副圖像,可采用FPGA嵌入的存儲器定制數(shù)據(jù)線寬64位、地址線寬6位的LPM-ROM,其初始化文件如圖4所示。這樣的配置使得設(shè)計簡單化,通過對行信號和列信號的有效組合對存儲器的地址進(jìn)行訪問而來輸出圖像像素點陣從而顯示圖像。

2.4 控制模塊設(shè)計

  該部分設(shè)計的思路是在前三步的基礎(chǔ)上實現(xiàn)。有關(guān) RGB三基色信號的控制、行與列地址的控制、控制、幀控制,都是在這個模塊中完成操作。首先,通過讀取當(dāng)前的行和列地址信號對ROM進(jìn)行尋址,讀取圖片像素信息從而完成整個圖片信息的掃描。其次,當(dāng)有效區(qū)域信號產(chǎn)生時,通過RGB三基色信號實現(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 顯示頂層模塊設(shè)計

  在各模塊功能實現(xiàn)的基礎(chǔ)上,通過實例化的方式把它們有機(jī)地整合在一起,即為顯示頂層模塊vga_module.v,對其編譯后生成的RTL級網(wǎng)表如圖5所示。

3 仿真與測試結(jié)果

  利用modelsim對VGA 顯示頂層模塊進(jìn)行功能仿真,所得到的時序驅(qū)動信號和RGB圖像信號的關(guān)系如圖6所示。HSYNC_Sig在前128個時鐘周期內(nèi)保持低電平,后面保持高電平的時間為928個CLK,而VSYNC_Sig在HSYNC_Sig第5個下降沿到來時由低電平變?yōu)楦唠娖?,可以說明 VGA模塊工作是正確的。利用VGA適配器將FPGA板載的VGA接口與液晶顯示器接口連接好,利用Quartus II軟件將程序下載到FPGA中驗證,硬件測試結(jié)果如圖8所示。最終,VGA輸出的圖像與圖像源是一致的。

4 結(jié)論

  本文基于FPGA設(shè)計了VGA圖像顯示器,采用LPM-ROM完成圖像信息的存儲, 在FPGA中合成了對VGA圖像顯示所需的各種時序控制信號和圖像接口信號, 用較省邏輯資源的方式, 完成了VGA顯示模塊的設(shè)計,為圖像運(yùn)算節(jié)省了更多的邏輯資源。經(jīng)過仿真驗證,設(shè)計是正確可行的。該設(shè)計可以很好的實現(xiàn)我們在簡單應(yīng)用系統(tǒng)中對圖像或字符顯示的需要。

  本設(shè)計還可以做一些擴(kuò)展,當(dāng)顯示的圖像信息量較大時,可對FPGA內(nèi)部邏輯結(jié)構(gòu)的數(shù)字圖像處理實用算法進(jìn)行深入研究,如添加CCD攝像頭圖像采集模塊[3];還可以外接大容量的存儲器,采用8位的二進(jìn)制數(shù)據(jù)表示RGB三基色,實現(xiàn)256色輸出,使顯示的圖像色彩更加豐富。

參考文獻(xiàn)

  [1] 蔣艷紅.基于FPGA的圖像信號發(fā)生器的設(shè)計[J].電子測量技術(shù),2008,3(31):78-80

  [2] 楊開陵,徐巧玉,王志慧.FPGA那些事兒:Verilog HDL建模設(shè)計[M].北京:北京航空航天大學(xué)出版社,2013:163-187

  [3] 鄭容,朱宏輝.基于FPGA的圖像采集及VGA顯示[J].交通信息與安全,2009,4(27):154-157

  [4] 賈偉偉,吳小艷,王威廉.基于FPGA的VGA接口實現(xiàn)和字符顯示[J].儀器儀表學(xué)報,2008,4(29):561-563

  [5] 王曼珠,路而紅,王傳海.VGA圖像控制器的CPLD/FPGA設(shè)計與實現(xiàn)[J].電子產(chǎn)品世界,2003,12(19):32-36

  [6] 于寶堃. VGA控制器的設(shè)計與驗證[D].北京交通大學(xué).2008

  [7] Altera Corporation. Cyclone IV EP4CE6F17C8 Device Datasheet [Z]. 2010


本文來源于中國科技期刊《電子產(chǎn)品世界》2016年第2期第48頁,歡迎您寫論文時引用,并注明出處。


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉