《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的VGA圖形控制器設計
基于FPGA的VGA圖形控制器設計
來源:微型機與應用2013年第15期
池清萍
(北京工業大學 軟件學院,北京 100124)
摘要: 利用FPGA設計并實現了一種VGA圖形控制器。根據VGA顯示原理,利用VHDL作為邏輯描述語言,在Xilinx的開發板Nexys2上完成了設計的功能。通過按動開發板上的按鍵可切換顯示屏顯示的圖形,可實現橫條紋、豎條紋、方格棋盤等8 bit彩色圖形的顯示。
Abstract:
Key words :

摘  要: 利用FPGA設計并實現了一種VGA圖形控制器。根據VGA顯示原理,利用VHDL作為邏輯描述語言,在Xilinx的開發板Nexys2上完成了設計的功能。通過按動開發板上的按鍵可切換顯示屏顯示的圖形,可實現橫條紋、豎條紋、方格棋盤等8 bit彩色圖形的顯示。
關鍵詞: VGA;FPGA;圖形控制器;8 bit彩色圖形

    隨著電子技術的進步和數字圖像處理應用領域的不斷擴大,FPGA對VGA信號的采集起到了不可忽視的作用[1]。基于FPGA設計的VGA圖形控制器有不少便利之處:首先,FPGA以其設計靈活、結構簡單、集成度高等優點,近年來被廣泛運用到各種功能的電路設計當中。以硬件描述語言(Verilog或VHDL)完成的電路設計可以經過簡單的綜合與布局快速燒至到FPGA上進行測試,成為現代IC設計驗證的主流技術。其次,VGA作為一種通用的顯示接口,已經廣泛應用于工作和生活當中。傳統的VGA顯示控制主要以專門的芯片電路和通用處理器來實現,體積大且不靈活,但基于FPGA的VGA顯示控制顯著提高了產品的靈活性。最后,基于FPGA設計的產品開發過程簡單,投資小,系統成本較低,使得本VGA圖形控制器在同類商品中將更具有價格上的競爭優勢。本文著重介紹一種利用Nexys2 FPGA開發板實現VGA顯示控制的方法,能夠實現不同圖案的顯示,該方法也可以方便地應用于各種嵌入式便攜系統中。
1 Nexys2概述
     現場可編程門陣列FPGA(Field Programmable Gate Array)在嵌入式系統中被廣泛運用。其配置和編程是通過軟件進行的,通用性和靈活性極強。在產品升級時,不需要額外改變原有的硬件電路,只需修改程序,大大宿短了系統設計周期。Nexys2作為一款比較經典的FPGA開發板,能夠完全兼容嵌入式處理器。特別在VGA系統設計中,因其板上集成了16 MB高速SDRAM和16 MB Flash ROM,不需接外部ROM便可存儲圖像數據或字符數據,使其得到更加廣泛的運用。
2 VGA概述及工作原理
2.1 VGA技術

    計算機顯示器的顯示有許多標準,常見的有VGA(視頻圖形陣列)、SVGA(高級視頻圖形陣列)等。在圖像處理系統中,若是采用傳統辦法將圖像數據傳回電腦并通過顯示器顯示出來,則整個傳輸過程中都需要嵌入式系統的CPU不斷對傳輸的圖像數據信號進行控制,不僅浪費CPU資源并且依賴計算機,顯著降低了系統運行的靈活性。但如果基于FPGA對VGA接口進行設計,數據流就只在系統的內部流動而不依賴電腦,實現了系統的最小化,并且增強了系統的可靠性和設計的靈活性[1]。FPGA開發板上集成了很多功能模塊,使得基于FPGA的設計還可以根據用戶的特定需要設計出針對性強的VGA圖形控制器,不僅滿足了多樣化的用戶需要,而且降低了開發成本,使產品的升級換代更加快捷、方便。
2.2 VGA顯示原理
    VGA顯示系統如圖1所示,主要由VGA控制器、存儲器(若顯示更大的圖像,可采用外部ROM取代FPGA內部的ROM)和顯示器3部分組成。VGA控制器調用存儲器里儲存的數據并對此數據進行相應的處理,轉換成相應的時序信號傳送給顯示器,顯示器按照接收到的信號進行顯示[2]。

    對應640×480×60 Hz的模式,工業標準所要求的時鐘頻率為25.175 MHz,行周期Tg為800個時鐘,場周期Tg為525個行周期。由于無法得到25.175 MHz的時鐘頻率,因此在設計中采用將全局時鐘50 MHz二分頻得到的25 MHz的頻率來驅動行計數器。
    當VS=0、HS=0時,CRT顯示的內容為亮的過程。當一行掃描完畢,行同步HS=1。期間,CRT掃描產生消隱,電子束回到CRT左邊下一行的起始位置(X=0,Y=1);當掃描完480行后,CRT的場同步VS=1,產生場同步使掃描線回到CRT的第一行第一列(X=0,Y=0)處(約為兩個行周期)。此程也稱光柵掃描[3],如圖3所示。

3 系統設計方案
    整個系統以Nexys2 FPGA開發板為核心,通過對其編程可輸出紅、綠、藍三基色信號和HS、VS行、場掃描同步時序信號。當FPGA接收到輸出控制信號后,內部的數據選擇器模塊根據控制信號選擇相應的圖形生成模塊,輸出圖形信號與行、場掃描時序信號一起通過VGA接口電路傳送至顯示器,在VGA顯示器上便可看到相應的彩色圖像[4]。系統采用Nexys2開發板上提供的50 MHz時鐘作為全局參考時鐘,由一片晶振提供時鐘源。通過硬件描述語言VHDL對時鐘進行分頻,產生各模塊所需時鐘頻率。通過硬件描述語言VHDL對Nexys2開發板上的按鍵進行規定,使得開發板工作時可以通過按鍵切換VGA顯示的圖形。系統模塊如圖4所示。

4 系統實現

 


    本設計采用了8 bit數字信號線,可產生256種不同的顏色。本彩色條紋模式顯示控制器可通過按鍵實現橫彩條、豎彩條、棋盤格等圖案的顯示。橫彩條可根據場計數器產生,在480個有效數據區內,每60個產生一個彩條,即對其進行8等分;豎彩條則根據行計數器產生,在640個有效數據區內,每80個產生一個彩條,也是8等分;棋盤格可由橫彩條數據和豎彩條數據“異或”或“同或”而得到。同時,可通過按鍵來控制VGA不同圖案的輸出。
4.1 坐標定位
    設定要全屏顯示圖形,如圖2所示,行、場時序的Td部分是屏幕所顯示部分,即屏幕從坐標第45行、第152個像素(左上角)開始顯示。若顯示橫彩條,則從第45行開始,每過60行給輸出rgbout賦一個顏色值,直到第525行;豎彩條即從第152個像素開始,每過80個像素給輸出rgbout賦予一個顏色值,直到第792個像素。
4.2 VGA控制程序設計
4.2.1 VGA控制器程序信號定義

    entity vga is
    Port(clk:in std_logic;//全局時鐘
     keya:in STD_LOGIC;//控制按鍵
      syncV:inout std_logic;//場同步信號
     syncH:inout std_logic;//行同步型號
      rgbout:out std_logic_vector(7 downto 0));
//8 bit輸出顏色信號
end vga;
4.2.2 產生彩條圖形的部分VHDL描述
process(clkdiv)//clkdiv為分頻后的時鐘信號
 begin    
      if(clkdiv=′1′ and clkdiv′Event)then
        if(HS>=152)and(HS<232)and(VS>=45)and(VS<525)then//橫彩條
          rgbx<="01010101";
        elsif(HS>=232)and(HS<312)and(VS>=45)and(VS<525)then
          rgbx<="01110101";
        ……
        elsif(HS>=712)and(HS<792)and(VS>=45)and(VS<525)then
           rgbx<="00010111";
        else
           rgbx<="00000000";
        end if;
  end if;
end process;
4.2.3 控制按鍵的VHDL描述
    process(keya)
      begin
        if(keya=′1′and keya′Event)then
      mmd<=mmd+1;//定義的2位邏輯信號
    end if;
  end process;
process(mmd)
    begin
          case mmd is
       when"00"=>rgbout<=rgbx;
//當無按鍵操作時,VGA顯示屏顯示橫彩條
       when"01"=>rgbout<=rgby;
//第一次按鍵時,VGA顯示屏顯示豎彩條
       when"10"=>rgbout<=rgbx xor rgby;
//第二次按鍵時,VGA顯示第一種棋盤圖形
       when"11"=>rgbout<=rgbx xnor rgby;
//第二次按鍵時,VGA顯示第二種棋盤圖形
          when others=>null;
      end case;
end process;
4.3 系統測試結果與結論
    在Xilinx ISE 13.3中創建項目后,輸入系統的VHDL程序代碼進行管腳約束,然后進行邏輯綜合、布局布線、時序分析后生成.bit編程文件,再將編程文件下載到Nexys2 FPGA中,并通過VGA接口與顯示器相連。系統中的keya可約束為Nexys2開發板中任一按鍵,作為顯示圖形的切換按鍵。通過按keya鍵,系統的顯示效果如圖5所示。

    本文設計的VGA圖形顯示控制器是基于FPGA實現的,采用VHDL語言在Xilinx 13.3軟件環境下完成軟件設計,并對整個系統進行了調試,最終在硬件平臺Nexys2上實現了圖形的顯示。與傳統的VGA控制器相比,本設計具有以下有點:(1)采用硬件描述語言VHDL進行開發,軟件程序簡單且執行效率高,使得系統設計變得更加快捷方便;(2)脫離了PC控制,減少了控制器的體積,從而擴展了其應用范圍,對于各種嵌入式便攜系統具有更重要的現實意義及工程實用價值。
    本設計只做了彩條及棋盤格圖形的顯示,如果要做字符顯示或真彩圖像顯示,則需將像素點數據保存到FPGA內部的EAB RAM、外部ROM或RAM中。在接下來的設計中,將會在此方向上進行相應的改進和完善。
參考文獻
[1] 呂康.基于FPGA的VGA圖形控制器設計[J].科技風,2011(14):32.
[2] 朱奕丹,方怡冰.基于FPGA的圖像采集與VGA顯示系統[J].計算機應用,2011,3(5):1258-1261,1264.
[3] 潘松,黃繼業.EDA技術與VHDL[M].北京:清華大學出版社,2009.
[4] 楊杰,穆偉斌.基于FPGA的VGA控制器設計與實現[J].齊齊哈爾大學學報,2008,24(6):50-52.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美日韩精品一区| 一区二区高清在线观看| 午夜亚洲性色福利视频| 亚洲精品国产品国语在线app| 亚洲欧美精品在线| 一区二区三区 在线观看视| 在线观看视频欧美| 精品动漫一区| 国产一区三区三区| 国产伦精品一区二区三区高清 | 久久久欧美精品| 欧美影院精品一区| 午夜精品视频在线观看| 亚洲午夜一区二区三区| 亚洲少妇一区| 亚洲无线一线二线三线区别av| 在线亚洲免费| 亚洲一品av免费观看| 亚洲午夜视频在线观看| 亚洲一区二区三区乱码aⅴ| 亚洲视频在线免费观看| 亚洲一区二区三区免费视频| 亚洲影音先锋| 午夜欧美精品久久久久久久| 亚洲欧美在线免费观看| 性欧美暴力猛交69hd| 亚洲欧美一区二区视频| 欧美一级淫片aaaaaaa视频| 欧美在线观看视频一区二区三区 | 亚洲欧美一区二区原创| 亚洲欧美日韩久久精品| 午夜一区二区三视频在线观看 | 亚洲视频久久| 校园春色国产精品| 久久gogo国模裸体人体| 久久九九精品99国产精品| 久久一区亚洲| 欧美激情亚洲视频| 欧美视频二区36p| 国产精品一区二区三区乱码| 国产日韩一区二区三区| 在线观看一区欧美| 日韩一级精品| 欧美一区二区高清| 亚洲国产欧美国产综合一区| 在线中文字幕不卡| 久久精精品视频| 欧美激情国产精品| 国产精品卡一卡二| 狠狠狠色丁香婷婷综合久久五月| 亚洲日韩第九十九页| 亚洲一区二区三区视频播放| 久久久xxx| 亚洲国产精品黑人久久久| 亚洲第一精品在线| 一区二区三区国产精品| 欧美一区综合| 中文av一区二区| 久久国产精品久久w女人spa| 欧美va天堂在线| 亚洲性视频网址| 欧美精品国产| 国产精品手机在线| 91久久精品日日躁夜夜躁欧美| 亚洲最快最全在线视频| 欧美一区二区免费视频| 亚洲人成在线观看一区二区| 999亚洲国产精| 欧美在线影院| 美国十次了思思久久精品导航| 欧美激情中文字幕乱码免费| 欧美日韩一区二区三区| 国产精品综合久久久| 国产精品无人区| 亚洲久久在线| 欧美亚洲午夜视频在线观看| 亚洲欧洲日韩综合二区| 亚洲调教视频在线观看| 久久久久久9| 欧美激情一区二区三区全黄| 欧美视频在线观看免费| 国产一区二区三区直播精品电影 | 极品少妇一区二区三区精品视频| 亚洲精品欧美专区| 亚洲欧美日韩区| 亚洲毛片在线看| 午夜精品久久久久| 欧美亚洲一区二区三区| 欧美黄色成人网| 国产精品v日韩精品v欧美精品网站| 国产午夜精品美女毛片视频| 1769国产精品| 亚洲欧美在线高清| 99riav1国产精品视频| 久久精品五月婷婷| 国产精品欧美久久| 亚洲黄网站黄| 久久成人一区| 亚洲综合999| 欧美激情成人在线| 国产亚洲成精品久久| 99综合视频| 亚洲日本va午夜在线电影 | 亚洲免费观看在线观看| 噜噜噜久久亚洲精品国产品小说| 欧美天堂亚洲电影院在线播放| 黄色亚洲精品| 亚洲欧美国产不卡| 中国成人黄色视屏| 农夫在线精品视频免费观看| 国产欧美在线观看一区| 亚洲精选视频免费看| 久久国产欧美| 欧美一级大片在线免费观看| 欧美激情国产高清| 国内精品视频在线观看| 亚洲午夜在线观看| 一区二区免费在线播放| 久久精品国产视频| 红桃av永久久久| 午夜精品成人在线| 亚洲欧美春色| 欧美成人一区在线| 一区二区三区在线观看国产| 欧美一区二区高清| 欧美一区二区三区在线看| 欧美日韩一区在线播放| 亚洲欧洲免费视频| 亚洲高清视频在线观看| 久久精品国产一区二区三区| 国产精品v欧美精品v日韩精品| 99精品欧美一区| 艳女tv在线观看国产一区| 麻豆成人在线| 精品福利电影| 久久精品视频在线播放| 久久精品亚洲一区二区| 国产精品一区二区黑丝| 性欧美办公室18xxxxhd| 性伦欧美刺激片在线观看| 欧美午夜无遮挡| 一本不卡影院| 亚洲一区成人| 国产精品久久久久久户外露出| 9国产精品视频| 亚洲一区国产精品| 国产欧美日韩在线视频| 亚洲免费网址| 欧美在线播放视频| 国产亚洲欧美一区二区三区| 午夜天堂精品久久久久| 久久av一区二区三区| 国产婷婷色一区二区三区| 午夜伦欧美伦电影理论片| 麻豆91精品91久久久的内涵| 一区二区在线观看视频在线观看| 久久国内精品自在自线400部| 久久久久久久网| 亚洲成人资源| 亚洲一区二区黄| 国产情人节一区| 欧美在线不卡| 欧美精品v国产精品v日韩精品 | 久久精品国产一区二区电影 | 欧美一区二区三区的| 国产视频精品va久久久久久| 亚洲人成在线观看网站高清| 欧美日韩不卡在线| 亚洲无线一线二线三线区别av| 欧美一区二区三区免费视频 | 国产精品欧美激情| 欧美在线视屏| 欧美激情亚洲激情| 一区二区三区产品免费精品久久75| 久久国产精品色婷婷| 尤物九九久久国产精品的分类| 日韩写真视频在线观看| 欧美日韩中文字幕精品| 亚洲欧美日韩在线高清直播| 久久久噜久噜久久综合| 亚洲国产一区二区视频| 日韩视频在线观看一区二区| 国产精品久久久久久五月尺 | 一区二区三区国产盗摄| 久久gogo国模啪啪人体图| 亚洲人体一区| 欧美在线综合视频| 亚洲成色777777女色窝| 亚洲视频一区二区| 国产欧美日韩精品丝袜高跟鞋 | 亚洲精品偷拍| 国产精品激情电影| 亚洲高清视频的网址| 欧美精品www在线观看| 欧美一区午夜视频在线观看| 欧美高清在线| 亚洲永久免费视频| 欧美福利一区二区| 午夜精品999| 欧美日本三区|