版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、摘 要VGA(Video Graphics Array視頻圖像陣列)是一種標準的顯示接口。伴隨著嵌入式系統(tǒng)的迅速發(fā)展,尤其是告訴圖像處理的發(fā)展,對可以將實時圖像處理進行顯示有更多的需求。VGA接口廣泛應用于機場、車站等公共場所的廣告宣傳和文字提示。本次設計基于Altera公司的FPGA(現場可編程門陣列)Cyclone系列芯片,應用了Quartus仿真軟件,并采用Verilog HDL語言進行設計,在基于FPGA邏輯器件、軟件和描述語言下,設計了VGA顯示控制器,把程序在Quartus中進行編譯后,加載進FPGA開發(fā)板,并在顯示器中顯示出彩色條紋。設計還簡述了Quartus仿真軟件的基本操作方
2、法,同時還介紹了FPGA邏輯器件的相關知識和Verilog硬件描述語言的相關知識。關鍵詞:FPGA;VGA接口;Verilog HDL;Quartus IIAbstractVGA (Video Graphics Array Video image Array) is a standard display interface.Along with the rapid development of embedded system, tell the development of image processing, especially for real-time image processing
3、can be more demand for display.VGA interface is widely used in airports, stations, public places of advertising and the tooltip.This design is based on Altera corporation FPGA (field programmable gate array) Cyclone series chips, and applied the Quartus simulation software, and carries on the design
4、 using Verilog HDL language, based on the FPGA logic devices, software and description language, VGA display controller was designed, the application in the Quartus after compiled , loaded into the FPGA development board, and show the chromatic stripe in the display.Design also has summarized the Qu
5、artus simulation software of the basic operation method, and also introduced the relevant knowledge of the FPGA logic devices and Verilog hardware description language knowledge.Keywords: FPGA; VGA Interface; Verilog HDL; Quartus II目 錄1 緒論11.1 選題背景11.2 發(fā)展趨勢21.3 研究方法和手段41.4 研究預期成果42 硬件電路設計52.1 系統(tǒng)整體結構
6、52.1.1 電路圖說明52.1.2 模塊分化62.2 FPGA模塊72.2.1 FPGA簡介72.2.2 Cyclone芯片介紹92.2.3 時鐘模塊92.2.4 電源模塊102.2.5 D/A轉換電路模塊102.3 實驗開發(fā)板簡介103 VGA顯示原理123.1 VGA簡介123.2 VGA顯示接口123.3 VGA顯示143.3.1 VGA原理圖153.3.2 VGA行同步與場同步時序153.4 VGA工業(yè)顯示標準163.5 VGA掃描方式173.6 VGA顯示時序194 開發(fā)軟件及程序設計204.1 Quartus II簡介204.2 Verilog HDL語言簡介214.3 代碼設計
7、214.4 代碼調試274.4.1 編譯方式274.4.2 引腳配置284.4.3 文件加載294.4.4 顯示圖像305 結論34致 謝35參考文獻36附錄A37附錄B38附錄C52附錄D57V1 緒論1.1 選題背景自1985年Xilinx公司推出第一片現場可編程器件(FPGA)至今,FPGA歷史已經經歷了幾十年的發(fā)展歷史。在這幾十年的發(fā)展過程中,以FPGA位代表的數字系統(tǒng)現場集成技術取得了驚人的發(fā)展:現場可編程器件從最初的1200個可利用門,發(fā)展到90年代的25萬個可利用門,新世紀來臨之際,國際上現場可編程邏輯器件的著名廠商Altera公司、Xilinx公司又陸續(xù)推出了數百萬門的單片FP
8、GA芯片,將現場可編程器件的集成度提高到一個新的水平??v觀現場可編程器件的發(fā)展歷史,其之所以具有巨大的市場吸引力,根本在于FPGA不僅可以解決電子系統(tǒng)小型化、低功耗、高可靠性等問題,而且其開發(fā)周期短、開發(fā)軟件投入少、芯片價格不斷降低,促成FPGA越來越多地取代了ASIC的市場,特別是對小批量、多品種的產品需求,使FPGA成為首選1。自二十年前發(fā)明世界上第一個可編程邏輯器件開始,Altera公司秉承了誠信的傳統(tǒng),是世界上“可編程芯片系統(tǒng)”(SOPC)解決方案倡導者。Altera的主流FPGA分為兩大類:一種側重低成本應用,容量中等,性能可以滿足一般的邏輯設計要求,如Cyclone,Cyclone
9、 II;還有一種側重于高性能應用,容量大,性能滿足各類高端應用,如Stratix,Stratix II等,用戶可以根據自己實際應用要求進行選擇。在性能可以滿足的情況下,優(yōu)先選擇低成本器件。VGA的英文全稱是Video Graphic Array,即視頻圖形門陣列。VGA支持在640*480的較高分辨率下同時顯示16種色彩或256中灰度,同時在320*230分辨率下可以同時顯示256種顏色。VGA由于良好的性能迅速開始流行,廠商們紛紛在VGA基礎上加以擴充,如將顯存提高至1M并使其支持更高分辨率如800*600或1024*768,擴充的模式就稱之為VESA(Video Electronics S
10、tandards Association,視頻電子標準協(xié)會)的Super VGA模式,簡稱SVGA,現在的顯卡和顯示器都支持SVGA模式2。顯卡所處理的信息最終都要輸出到顯示器上,顯卡輸出接口就是電腦與顯示器之間的橋梁,他負責向顯示器輸出相應的圖像信號,CRT顯示器因為設計制造商的原因,只能接收模擬信號輸入,這就需要顯卡能輸出模擬信號,VGA接口就是顯卡上輸出模擬信號的接口。目前大多數計算機與外部顯示設備之間都是通過模擬VGA接口連接,計算機內部以數字方式生成的顯示圖像信息,被顯卡的數字(模擬)轉換器轉變?yōu)镽、G、B三原色信號和行、場同步信號,信號通過電纜傳輸到顯示設備中。對于模擬現實設備,如
11、模擬CRT顯示器,信號被直接送到相應的處理電路,驅動控制顯像管生成圖像3?,F行的VGA接口大都用于CRT顯示器,用于計算機的輸出設備,另外,在很多圖像采集輸出的地方也占有一席之地。例如車載監(jiān)控系統(tǒng),圖像識別等領域。1.2 發(fā)展趨勢EDA/SOPC技術通過軟件編程方式設計硬件,能隨時對視對設計進行調整,具有集成度高,結構靈活、開發(fā)周期短、可靠性高等特點,廣泛應用于工業(yè)控制、數字信號處理等領域。如今越來越多的數字產品開始使用液晶作為顯示終端,但基于VGA標準的顯示器仍是目前普及率最高的顯示器。若驅動此類顯示器,需要很高的掃描頻率,以及極短的處理時間,正是由于這些特點,所以可以用FPGA來實現對VG
12、A顯示器的驅動。本次畢業(yè)設計就是選用FPGA來實現VGA彩色條紋和方格的顯示4。FPGA(現場可編程門陣列)器件是Xilinx公司1985年首家推出的,是一種新型的高密度PLD。近年來,FPGA發(fā)展的十分迅速,其出現是超大規(guī)模集成電路技術和計算機輔助設計技術發(fā)展的結果。與傳統(tǒng)的PLD芯片(Programmable Logic Device)相比,FPGA芯片由于采用類似于門陣列的結構,因此規(guī)模可以做的較大,可現實的功能更強,設計的靈活性也更大。以Altera公司的高密度芯片APEX系列為例,其最大門數已達數百萬門5。FPGA(CPLD)芯片中包含復雜的觸發(fā)器資源,有些型號還具有片上RAM、內部
13、總線等許多系統(tǒng)級的功能,因此完全可以實現子系統(tǒng)甚至系統(tǒng)的集成。就其互連結構而言,典型的FPGA芯片通常采用分段互連式結構,具有走線靈活,便于實現復雜功能的多級結構等特點,從而在很大程度上減輕了印刷電路板上器件的布局和走線負擔6。目前,FPGA芯片已成為九十年代以來最受歡迎的器件之一。隨著FPGA芯片的廣泛應用,高性能高密度的FPGA在生產工藝、器件的編程和測試技術等方面都有了飛速發(fā)展。由于FPGA器件實現的各功能塊可以同時工作,從而實現指令級、比特級、流水線級甚至是任務級的并行執(zhí)行,從而大大地加快了計算速度。由FPGA現實的計算系統(tǒng)可以達到現有通用處理器的數百甚至上千倍。并且,由于FPGA可動
14、態(tài)地配置,系統(tǒng)的硅片面積不再是所支持無線接口數的線性函數,因此有可能在很少的幾片甚至一片FPGA中集成一個支持所有標準的系統(tǒng)7。由于FPGA在性能、成本、靈活性和功耗等方面的優(yōu)勢,基于FPGA的信號處理器已廣泛應用于各種信號處理領域,如手機基站、衛(wèi)星通信系統(tǒng)、交換機、路由器、調制解調器等。FPGA尤其適合于乘法和累加復雜的DSP任務。因此在復數乘法、數字濾波器設計和FFT等數字信號處理領域表現出較好的優(yōu)越性,因此在告訴數字信號處理系統(tǒng)中得到了較多的應用,FPGA提供了極強的靈活性,是開發(fā)者能夠開發(fā)出滿足多種標準的產品。例如,萬能移動電話能夠自動識別GSM、CDMA、TDMA等不同的信號標準,并
15、可以自動重配置以適應所識別的協(xié)議8。FPGA固有的靈活性和性能也是設計者能夠緊跟新標準的變化,提供相應可行的方法。開發(fā)者使用FPGA設計,結合相應的EDA設計工具,可以很方便的對產品進行改善或升級。由于FPGA資源豐富及功能強大,以及有相應的EDA軟件進行功能完善和加強,在仿真能力便捷實時,硬件因素涉及并沒有增加,使得基于EDA的FPGA開發(fā)技術很快成為復雜數字系統(tǒng)設計的主流。但是,FPGA在應用中也有一定的局限性。其中之一為其內部資源的限制,當通信系統(tǒng)功能擴充后,新增的邏輯有可能耗盡片內的資源,同時受到不限資源、I/O資源和寄存器數目的限制,FPGA內部往往無法被全部利用。不過,隨著大規(guī)模F
16、PGA的研制開發(fā),這種局限性已經得到了緩解。如Xilinx推出的Virtex系列內部資源可達300萬門,并已經在UMTS無線系統(tǒng)的基站中得到了應用。FPGA的另外一個局限性體現在由運算效率高而相應帶來的靈活性的下降。這指的是一旦將FPGA內的資源用于某項特定的任務(如FFT),則該部分資源就無法從事另一項不同的任務(如FIR濾波)。但是,在線配置和部分配置技術的出現使得內部資源的重新分配成為可能,從而使這個矛盾也得到了緩解。FPGA的運行速度快,管腳資源豐富,容易實現大規(guī)模的系統(tǒng)設計,有大量的軟核可用,便于進行二次開發(fā)。另外,由于FPGA具有可重構能力,抗干擾性強等特點,因此,FPGA在工業(yè)控
17、制等領域越來越受到重視。利用FPGA完成VGA顯示控制,可以使圖像的顯示脫離PC機的控制,形成體積小、功耗低的嵌入式系統(tǒng),應用于地面勘測、性能檢測等方面,具有重要的實現意義9。VGA(Video Graphics Array)是IBM在1987年隨PS/2機一起推出的一種視頻傳輸標準,具有分辨率高、顯示速率快、顏色豐富等優(yōu)點,在彩色顯示器領域得到了廣泛的應用。目前VGA技術的應用還主要局域VGA顯示卡的計算機、筆記本等設備,而在一些既要求顯示彩色高分辨率圖像又沒有必要使用計算機的設備上,VGA技術的應用卻很少見到10。本文基于FPGA的VGA顯示卡和計算機的情況下,實現VGA圖像的顯示和控制。
18、系統(tǒng)具有成本低、結構簡單、應用靈活的有點,可廣泛應用于超市、車站、飛機場等公共場所的廣告宣傳和提示信息顯示,也可應用于工廠生產車間生產過程中的操作信息顯示,還能以多媒體形式應用于日常生活。1.3 研究方法和手段在圖像處理中,如果采用傳統(tǒng)的方法,需要將圖像數據傳入電腦,通過CPU將信號進行處理,這樣就會使系統(tǒng)依賴于電腦,降低靈活性,同時也會造成資源的浪費。如果我們采用FPGA來進行VGA的顯示,就可以使數據在開發(fā)版中進行處理,而不需要依賴電腦,同時可以減少電路板的尺寸,增強系統(tǒng)的靈活性。VGA作為一種常用的顯示標準,VGA接口可以容易的與CRT、LCD連接,使系統(tǒng)更加便攜。本次設計正是通過現實F
19、PGA控制VGA的顯示,將預設的圖像進行顯示,從而實現圖像的便攜傳輸。本次設計分為硬件與軟件兩部分組成,實現彩色條紋在分辨率800*600,刷新頻率為60MHz的VGA顯示器上顯示。具體工作位:1) 硬件部分,使用Altera公司的FPGA開發(fā)板進行硬件測試; 2) 軟件部分,通過Verilog HDL語言對800*60060Hz分辨率數據、行/場時序控制模塊、VGA顯示模塊的編譯,利用Quartus II軟件實現編譯、和文件加載。1.4 研究預期成果本次設計通過使用Altera公司的FPGA硬件開發(fā)板,Quartus II軟件的軟件編程來實現VGA接口的功能,設計的結果要達到以下二點:1)
20、設計的VGA接口分辨率為800*600,刷新頻率為60Hz2) 能夠顯示彩色條紋和方格,圖像顯示合乎設計要求。2 硬件電路設計2.1 系統(tǒng)整體結構系統(tǒng)電路設計是在Altera公司的FPGA開發(fā)板基礎上完成,實現FPGA對VGA顯示器的控制。系統(tǒng)有FPGA系統(tǒng)、D/A轉換模塊、VGA顯示接口模塊組成,通過對行/場信號的控制,實現圖像的顯示。系統(tǒng)結構示意如圖2.1所示。RGB圖2.1 系統(tǒng)結構示意圖2.1.1 電路圖說明由系統(tǒng)結構示意圖,根據設計的要求,系統(tǒng)設計需要用:一塊Altera的FPGA核心板,Cyclone系列的EP1C6Q240C8芯片;D/A轉換器;VGA接口。通過計算機編程,將圖像
21、數據與時序信號一同下載進入FPGA,通過FPGA的處理,再通過D/A轉換電路,完成數字信號想模擬信號的轉換,最后由VGA接口輸出,在顯示器上顯示圖像,從而實現彩色條紋和方塊的顯示。系統(tǒng)信號: G、R、B(三基色信號);hsync行同步信號;vsync場同步信號;resetn復位信號;clock時鐘信號。設計電路圖如 圖2.2 所示。圖2.2 電路圖2.1.2 模塊分化由設計電路可知,設計由FPGA系統(tǒng)、VGA顯示接口模塊和顯示器組成,通過對行/場信號的控制,實現圖像的顯示。其中FPGA系統(tǒng)里包含了時鐘模塊、D/A轉換電路模塊和電源模塊。時鐘模塊保證輸入到VGA顯示接口模塊的時鐘頻率為60Hz;
22、D/A則是讓數字信號變?yōu)榭梢酝ㄟ^VGA接口讀取的模擬信號,以便在CRT顯示器上顯示圖像;電源模塊為了保證電路板能夠正常供電;VGA接口模塊是對現實的顯示內容進行控制。2.2 FPGA模塊2.2.1 FPGA簡介FPGA(Filed Programmable Gate Array),即現場可編程門陣列,它是在PAL、GAL、EPLD等可編程器件的基礎上進一步發(fā)展的產物。它是作為專用集成電路(ASIC)領域中的一種半訂制電路而出現的,既解決了訂制電路的不足,又克服了原有可編程器件門電路數有限的缺點11。FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個概念,內部包括可配置
23、邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內部連線(Interconnect)三個部分。FPGA的基本特點主要有: 1)采用FPGA設計ASIC電路,用戶不需要投片生產,就能得到合用的芯片。2)FPGA可做其它全定制或半定制ASIC電路的中試樣片。3)FPGA內部有豐富的觸發(fā)器和IO引腳。4)FPGA是ASIC電路中設計周期最短、開發(fā)費用最低、風險最小的器件之一。5)FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容20??梢哉f,FPGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一
24、,FPGA是由存放在片內RAM中的程序來設置其工作狀態(tài)的。因此,工作時需要對片內的RAM進行編程。用戶可以根據不同的配置模式,采用不同的編程方式。加電時,FPGA芯片將EPROM中數據讀入片內編程RAM中,配置完成后,FPGA進入工作狀態(tài)。掉電后,FPGA恢復成白片,內部邏輯關系消失,因此,FPGA能夠反復使用。FPGA的編程無須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片FPGA,不同的編程數據,可以產生不同的電路功能。因此,FPGA的使用非常靈活。FPGA的工作機理基于查找(Look-Up-Table,L
25、UT),LUT其實就是一個RAM。目前很多FPGA中多使用4輸入的LUT,所以每一個LUT可以看成一個有4位地址線、大小位16×1的RAM、當用戶通過HDL語言描述了一個邏輯電路以后,FPGA的開發(fā)軟件會自動計算邏輯電路所有可能的結果,并事先把計算好的結果記入RAM中。這樣,每當有信號輸入需要進行邏輯運算時,不必再用門去搭電路了,只要把輸入作為一個地址進行查表,找出對應地址所存儲的內容,然后輸出即可。圖2.3所示位一個4輸入與門的LUT實現。這個例子很簡單,只需要一個LUT就可以完成。對于一個LUT無法完成的電路,則需要通過進行邏輯信號將多個單元相連,這樣FPGA就可以實現復雜的邏輯
26、了12。圖2.3 LUT原理圖FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個新概念,內部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸入輸出模塊IOB(Input Output Block)和內部連線(Interconnect)三個部分。圖2.4是一般FPGA的結構圖。圖2.4 FPGA結構圖因為LUT主要適合于SRAM工藝生產,所以目前大部分FPGA都是基于SRAM工藝的,而SRAM工藝的芯片在掉電后信息就會丟失,必須外加一片專用配置芯片,可以是EPROM芯片。在加電時,FPGA芯片將EPROM中數據讀入片內編程RAM中,配置完
27、成后,FPGA進入工作狀態(tài)。掉電后,FPGA恢復成白片,內部邏輯關系消失,因此,FPGA能夠反復使用。FPGA的編程無須專用的FPGA編程器,只需通用的EPROM、PROM編程器即可。由于配置時間很短,因而不會影響系統(tǒng)正常工作。當然也有少數FPGA采用反熔絲或FLASH工藝,對這種FPGA就不需要外加專用的配置芯片了。這樣,同一片PFGA,不同的編程數據可以產生不同的電路功能。因此,FPGA的使用非常靈活。隨著的不斷發(fā)展以及用戶需求的不斷提出,FPGA的技術也在不斷地發(fā)展。隨著工藝和數字電路技術的不斷進步,FPGA芯片的集成度會更高,功能會更強,速度會更快,功耗會更低。2.2.2 Cyclon
28、e芯片介紹Cyclone系列是Altera公司中等規(guī)模的FGPA芯片,2003年推出,0.13um工藝,1.5V內核供電,是一種低成本FPGA系列芯片,也是目前主流產品,其配置芯片業(yè)改用全新的產品。同時也是Altera公司最成功的器件之一,性價比低,適合中低端應用的開發(fā)。本次設計采用Altera公式提供的Cyclone系列的EP1C6Q240C8芯片,該芯片采用240腳的PQFP封裝,提供185個I/O接口。該芯片擁有5980個LEs;可提供92160bit的RAM;芯片內部還自帶有2個鎖相環(huán),可以高速運行的時候保證系統(tǒng)時鐘信號的穩(wěn)定性13。2.2.3 時鐘模塊設計需要一個時鐘模塊對時鐘信號進
29、行調節(jié),由于開發(fā)板提供的時鐘頻率為50MHz,而VGA顯示800*60060Hz的時鐘信號為40MHz,點掃描頻率為60Hz,從而需要一個時鐘模塊,并對模塊的相應參數進行設置,使得輸出時鐘信號滿足設計要求。時鐘模塊電路圖如圖2.5所示。圖2.5 時鐘模塊電路圖電路中clocki為時鐘信號輸入,除c0為時鐘信號輸出,生成40MHz時鐘信號。2.2.4 電源模塊設計的開發(fā)板所用的外部供電為5V電源,可一直用5V的電源變壓器插上使用。在電路中,由于涉及的參考電壓較多,FPGA的I/O接口電壓為3.3V,系統(tǒng)3.3V電源由外部電源從220V電壓轉換成3.3V電壓得到。接好電源后,若紅色指示燈亮,則說明
30、供電正常。2.2.5 D/A轉換電路模塊由于FPGA中處理的信號為數字信號,本次設計要在CRL顯示器中顯示圖像,而CRL顯示只能接收模擬信號,所以本次實驗要用到D/A轉換模塊。所以需要一個D/A轉換電路模塊生成模擬信號,以便VGA顯示器讀取。2.3 實驗開發(fā)板簡介本次設計采用板采用 Altera 公司Cyclone 系列EP1C6Q240C8芯片而設計的。開發(fā)板上使用JTAG 接口對芯片進行編程和程序加載,利用AS配置EPCS4 Flash芯片。自帶的ByteBlasterII下載線可以下載Altera公司的所有FPGA芯片。下載模式有AS模式和JTAG模式:AS(Active Serial)
31、是FPGA重要的配置方式,由FPGA器件引導配置操作過程,它控制著外部存儲器和初始化過程,并使用Altera串行配置器件來完成。Cyclone器件處在主動地位時,配置器件處于從屬地位。配置數據通過DATA0引腳送入FPGA。配置數據被同步在DCLK輸入上,1個時鐘周期傳送1為數據。JTAG模式主要用于芯片內部測試,其中的TMS、TCK、TDI、TDO分別為模式選擇、時鐘、數據輸入和數據輸出線。在EP1C6Q240C8芯片上對應的引腳為148、147、155、149。JTAG是串行接口,使用I/O產生JTAG時序。JTAG編程方式是在線編程,傳統(tǒng)生產流程中線對芯片進行與預編程后再裝到板子上,在用
32、JTAG編程,從而可以大大加快工程進度。本次設計的開發(fā)板實物圖如圖2.6所示。圖2.6 開發(fā)板實物圖3 VGA顯示原理3.1 VGA簡介VGA(Video Graphics Array,視頻圖形陣列):是IBM于1987年提出的一個使用類比訊號的電腦顯示標準。具有分辨率高、顯示速率快、顏色豐富等優(yōu)點,在彩色顯示器領域得到了廣泛的應用。但不支持熱插拔,不支持音頻傳輸。即使如此,VGA仍然是最多制造商所共同支援的一個低標準,個人電腦在加載自己的獨特驅動程式之前,都必須支持VGA的標準。例如,微軟Windows系列產品的開機畫面仍然使用VGA顯示模式,這也說明其在顯示標準中的重要性和兼容性。VGA支
33、持在640*480的較高分辨率下同時顯示16種色彩或256種灰度,同時在320*240分辨率下就可以同時顯示256種顏色14。3.2 VGA顯示接口計算機顯示器的顯示有許多標準,最常見的是VGA,SVGA等。VGA是Video Graphics Array的縮寫,信號類型為模擬類型,顯示卡端的接口為15針插座,分公頭和母頭兩種接口。接口如圖3.1所示。公插頭(顯示輸出) 母插頭(PC顯卡端)圖3.1 VGA接口VGA接口有15個腳,1、2、3腳分別接D/A轉換器的輸出R、G、B三色數字信號;13腳接行同步信號;14腳接場同步信號;5、6、7、8、10腳接地;其余引腳均懸空。VGA顯示接口還可以
34、分為三組:第一組為RGB三色模擬信號入線,輸入信號為00.7VP-P;第二組是RGB三色底線,使用過程中,需要做接地處理;第三組為時序信號線,分別是行同步線(Horizon Synchronizing,hsync),場同步線(Vertical Synchronizing,vsync),這兩條線控制了VGA的顯示時序;其他為輔助信號線。VGA接口的引腳分配圖如圖3.2所示。圖3.2 VGA接口圖VGA接口的引腳功能表如表3.1所示。表3.1 VGA接口的引腳功能表引腳信號定義描述1Red紅基色信號2Green綠基色信號3Blue藍基色信號4、11、12、15Address ID地址碼5Self_
35、test自測試信號6Red GND紅基色信號地7Green GND綠基色信號地6Blue GND藍基色信號地9Reserved無定義保留10DGND控制信號數字地13Hsync水平(行)同步信號14Vsync豎直(場)同步信號3.3 VGA顯示VGA顯示的圖像原理:常見的彩色顯示器一般由CRT(陰極射線管)構成。彩色是由R、G、B(紅:Red,綠:Green,藍:Blue)三基色組成。顯示是用逐行掃描的方式,陰極射線槍發(fā)出電子束打在涂有銀光粉的熒光屏幕上,產生R、G、B三基色,合成一個彩色像素。VGA顯示的控制方式:VGA顯示控制器提供了R、G、B三基色圖像信號,hsync行同步信號和vsyn
36、c場同步信號。但由于VGA接口顯示器僅能處理串行模擬信號,因此,VGA控制器所產生的信號要經D/A轉換器將數字信號轉變?yōu)槟M信號后發(fā)送給顯示使用。再利用行、場同步信號的計數器,在現實可視區(qū)間內按照圖簽的大小劃定行和場的坐標。當掃描點在圖像顯示區(qū)域內時,根據掃描點在圖像顯示區(qū)中的相對坐標位置,計算得到當前要顯示的圖像像素點在圖像存儲中的地址,然后讀取顯示??刂屏鞒虉D如圖3.3所示。圖3.3 VGA顯示流程圖3.3.1 VGA原理圖VGA的原理圖如圖3.4所示。圖3.4 VGA原理圖圖中,13、14腳為VGA同步信號,1、2、3為基色信號,6、7、8我基色接地信號。3.3.2 VGA行同步與場同步
37、時序VGA中定義行時序和列時序都需要同步脈沖(a段)、顯示后沿(b段)、顯示時序段(c段)和顯示前沿(d段)四部分。VGA工業(yè)標準(表3.2)顯示模式要求:行同步、場同步都為負極性,即同步脈沖要求是負脈沖。行同步時序圖如圖3.5所示。圖3.5 行同步時序圖場同步時序圖如圖3.6所示。圖3.6 場同步時序圖由VGA行時序可知:每一行都有一個負極性行同步脈沖(a段),是數據行的結束標志,同時也是下一行的開始標志。在同步脈沖之后為顯示后沿(b段),在顯示時序段(c段)顯示器為亮的過程,RGB數據驅動一行上的每一個像素點,從而顯示一行。在一行的最后為顯示前沿(d段)。在顯示時間段之外沒有圖像投射到屏幕
38、是插入消隱信號。同步脈沖、顯示后沿和顯示前沿都是在行消隱間隔內,當消隱有效時,RGB信號無效,屏幕不顯示數據。VGA的行時序與場時序分析基本一樣。3.4 VGA工業(yè)顯示標準VGA顯示標準如表3.2所示。表3.2 VGA工業(yè)顯示標準表顯示模式時鐘列時序(列數)場時序(行數)(MHz)ABCDEABCDE同步脈沖顯示后沿顯示時序顯示前沿周期同步脈沖顯示后沿顯示時序顯示前沿周期640*480*6025.17596486401680023348010525640*480*7531.564120640168403164801500800*600*6040.012888800401056423600162
39、8800*600*7549.58016080016105632160016251024*768*6065136160102424134462976838061024*768*7578.8176176102416131232876818001280*1024*60108.011224812804816883381024110661280*800*6083.64136200128064168032480018261140*900*60106.4715223214408019043289001932說明:以本實驗的顯示標準800*600*60Hz為例。(800為列數,600為行數,60Hz為刷新一屏
40、的頻率)場時序:屏幕對應的行數為628(a+b+c+d=e段),其中600(c段)為顯示行;每行均有行同步信號(a段),為2個行周期的低電平;行時序:每個顯示行包括1056列(a+b+c+d=e段),其中800(c段)為有效顯示區(qū),每一行有一個行同步信號(a段),為96個行周期的低電平。由此可知:場頻為628*60=0.37680MHz,需要行時鐘頻率:628*1056*60約為39.79MHz,即時鐘頻率為0.37680+39.79約為40MHz。3.5 VGA掃描方式顯示器掃描方式分為逐行掃描和隔行掃描:逐行掃描是掃描從屏幕左上角一點開始,從左向右逐點掃描,每掃描完一行,電子束回到屏幕的左
41、邊下一行的起始位置,在這期間,CRT對電子束進行消隱,每行結束時,用行同步信號進行同步;當掃描完所有的行,形成一幀,用場同步信號進行場同步,并使掃描回到屏幕左上方,同時進行場消隱,開始下一幀。隔行掃描是指電子束掃描時每隔一行掃一線,完成一屏后在返回來掃描剩下的線,隔行掃描的顯示器閃爍快速,會使使用者的眼睛疲勞。(本次設計采用逐行掃描的方式:即每一行計數完所有的列之后開始下一行)本次設計掃描是從屏幕的左上方開始,從左到右,從上到下,進行掃描,每掃完一行,電子束回到屏幕的左邊下一行的起始位置,在這期間,CRT對電子束進行消隱,每行結束時,用行同步信號進行同步,掃描完所有行,用場同步信號進行場同步,
42、并使掃描回到屏幕的左上方,同時進行場消隱,預備下一場的掃描。在掃描時首先根據刷新頻率確定主時鐘頻率,然后由主時鐘頻率和圖像分辨率計算出行總周期數,再把同步、消隱各時序段的時間按照主計數脈沖源這算成時鐘周期數。在FPGA掃描計數器,已計算出各時序段時鐘周期數為基準產生不同寬度周期的脈沖信號。行(場)掃描時序圖如圖3.7所示。 圖3.7 行(場)掃描示意圖由VGA工業(yè)標準計可以得出此次設計的行掃描時序表,如表3.3所示,場掃描時序表如表3.4所示。表3.3 行掃描的時序(單位:像素)a(行同步)b(后沿)c(顯示)前沿周期12988800401056表3.4 場掃描的時序(單位:像素)Ta(場同步
43、)b(后沿)c(顯示)前沿周期4236001628其中,每次掃描的前段消隱為:同步+后沿;第二段消隱為:同步+前沿。本次設計的VGA顯示器編碼表,如表3.5所示。表3.5 VGA顯示器編碼表顏色黑藍紅紫綠青黃白R00110011G00001111B01010101數據編碼h0h1h2h3h4h5h6h73.6 VGA顯示時序根據行掃描、場掃描時序要求,時序設計的關鍵在于規(guī)定行/場同步消隱,行/場顯示時間。VGA圖像掃描顯示圖,如圖3.8所示。圖3.8 VGA圖像掃描顯示圖4 開發(fā)軟件及程序設計4.1 Quartus II簡介QuartusII軟件是Altera公司最新版本的EDA開發(fā)軟件,支持
44、APEX系列、Cyclone系列、Stratix系列和Excalibur系列等新型系列器件的開發(fā)。含有工作組計算、集成邏輯分析儀、EDA工具集成、多過程支持、增強重編譯和IP集成等特性。支持百萬門級的設計,支持高速I/O設計,具有更強的設計能力和更快的編譯速度。QuartusII開發(fā)軟件為可編程片上系統(tǒng)(SOPC)設計提供了一個完整的設計環(huán)境。無論是使用個人電腦、NUIX或Linux工作站,QuartusII都提供了方便設計、快速編譯處理以及編程功能。本次設計軟件開發(fā)平臺是Altera公司的Quartus II,Quartus II軟件集成了Altera的FGPA/CPLD開發(fā)流程中涉及的所有
45、工具和第三方軟件接口,是將設計、綜合、布局與布線、驗證、及第三方EDA工具無縫集成的FPGA開發(fā)平臺。同時Quartus II還支持三種輸入方式:硬件描述語言、圖像設計輸入以及兩者的混合使用。設計者可使用設計編輯器的圖形方式編輯頂層設計,然后轉成硬件描述語言便于進行仿真綜合。Quartus II軟件的輸入設計過程可分為創(chuàng)建工程、輸入文件、項目編譯、項目配置、項目校驗和編程下載等幾個步驟15。流程圖如圖4.1所示。圖4.1 Quartus II軟件設計流程圖4.2 Verilog HDL語言簡介本次設計采用的設計語言是Verilog HDL硬件編程語言。Verilog HDL是目前應用最為廣泛的
46、硬件描述語言,是一種以文本形式來描述數字系統(tǒng)硬件的結構和行為的言語,用它可以表示邏輯電路圖、邏輯表達式,還可以表示數字邏輯系統(tǒng)多完成的邏輯功能。Verilog HDL是在用途最廣泛的C語言基礎上發(fā)展起來的一種硬件描述語言,它是由GDA(Gateway Design Automation)公司的Phil Moorby在1983年首創(chuàng),最初只涉及了一個仿真于驗證工具,之后又陸續(xù)開發(fā)了相關的故障模擬與時序分析工具。1985年Moorby推出它的第三個商用仿真器Verilog-XL,獲得了巨大的成功,從而使得Verilog HDL迅速得到推廣應用。1989年CADENCE公司收購了GDA公司,使得Ve
47、rilog HDL成為該公司獨家專利。1990年CADENCE公司公開發(fā)布了Verilog HDL,并成立LVI組織以促進Verilog HDL成為IEEE標準,即IEEE Standard 1364-199516。Verilog HDL最大特點是易學易用,有一定C語言的編程經驗,可在較短時間內學習和掌握。同時Verilog HDL可以用來進行各種層次的邏輯設計,也可以進行數字系統(tǒng)的邏輯綜合,仿真驗證和時序分析等。Verilog HDL適合算法級,寄存器級,邏輯級,門級和版圖級等各個層次的設計和描述,其設計最大的優(yōu)點是與其工藝無關性,在功能設計,邏輯驗證階段可以不必過多考慮門級及工藝實現的具體
48、細節(jié),只需根據系統(tǒng)設計的要求施加不同的約束條件,即可設計出實際電路。Verilog HDL是一般就是用來描述FPGA的設計,因為本次設計采用Verilog HDL語言。4.3 代碼設計在VGA接口協(xié)議中,不同的顯示模塊都有嚴格的工業(yè)標準、不同的分辨率或不同的刷新頻率,參考VGA工業(yè)標準。本次設計采用自頂向下的設計思想,進行功能分離并按層次設計。因為開發(fā)板的輸出時鐘為50MHz,而設計需要40MHz的時鐘信號,所以要在以前對時鐘模塊進行設計編輯,輸入時鐘50MHz輸出40MHz;先設置系統(tǒng)時間單位,此處設為1ps,設置輸出、輸出時鐘變量,對數據類型進行定義,然后調用編輯語言的庫函數,在對輸如輸出
49、參數進行聲明。代碼設計流程圖如圖4.2所示。圖4.2 代碼設計流程圖具體步驟:首先,對設計電路先對FGPA模塊的輸入、輸出等變量進行設置,clock為時鐘信號,resetn為低電平復位,hsync為行信號,vsync為場信號,pixel為最后顯示器上輸出的顏色,這里R、G、B都是1位,顏色為000-111共八種顏色,分別為000(黑)、001(藍)、010(綠)、011(青)、100(紅)、101(紫)、110(黃)、111(白)。若R(3位)、G(3位)、B(2位),則可以顯示256種顏色,這里設置的是8種顏色的輸出,代碼如下:module vga_vl(resetn,/復位 clock,/
50、時鐘信號 hsync,/行信號 vsync,/場信號 pixel,/輸出顏色 blank );input resetn,clock;/輸入output hsync;/行同步輸出output vsync;/場同步輸出output blank;output 2:0 pixel;/輸出顏色8種,基色:紅、黃、綠wire hsync;/數據類型wirereg vsync;/數據類型regreg 2:0 pixel;其次,由工業(yè)標準參數對行/場掃描時序參數進行說明。其中,H_PIXELS為行掃描的有效時間,H_FRONTPORCH為行掃描的掃描前沿時間,H_SYNCTIME為行掃描的同步時間,H_BAC
51、KPORCH為行掃描的后沿時間,H_SYNCSTART=V_LINES+ V_FRONTPORCH為行掃描的同步開始時間,H_SYNCEND=V_SYNCSTART+ V_SYNCTIME為行掃描的同步結束時間,H_PERIOD= V_SYNCEND+V_BACKPORCH為行掃描的總周期。場掃描申明也是一樣,這里就不一一說明,具體說明和數據代碼如下:/行掃描時序參數說明parameter H_PIXELS = 'd800;/有效時間parameter H_FRONTPORCH = 'd40;/前沿時間parameter H_SYNCTIME = 'd128;/同步時間
52、parameter H_BACKPORCH = 'd88;/后沿時間parameter H_SYNCSTART = 'd840;/ H_PIXELS + H_FRONTPORCH,同步開始時間parameter H_SYNCEND = 'd968;/ H_SYNCSTART + H_SYNCTIME,同步結束時間parameter H_PERIOD = 'd1056;/H_SYNCEND + H_BACKPORCH,周期/場掃描時序參數說明parameter V_LINES = 'd600;/有效時間 parameter V_FRONTPORCH = 1
53、;/前沿時間parameter V_SYNCTIME = 'd4;/同步時間parameter V_BACKPORCH = 'd23;/后沿時間parameter V_SYNCSTART = 'd601; /V_LINES + V_FRONTPORCH,同步開始時間parameter V_SYNCEND = 'd605;/ V_SYNCSTART + V_SYNCTIME,同步結束時間parameter V_PERIOD = 'd628; /V_SYNCEND + V_BACKPORCH;周期再次,對行/場時序像素的計數器進行設定,且行/場計數小于掃描周
54、期時計數一次后自動加1,到達周期值時再重新開始進行計數,代碼如下:/行時序像素的計數器 always (posedge clock or negedge resetn) if(!resetn) hcnt <= 0; else if(hcnt<H_PERIOD) hcnt <= hcnt + 1; else hcnt <= 0;/場時序像素計數器 always (posedge hsyncint or negedge resetn) if(!resetn) vcnt<=0; else if(vcnt < V_PERIOD) vcnt <= vcnt + 1; elsevcnt<=0;然后,由時序參數和時鐘信號設置產生行/場同步信號,產生范圍值為:同步結束時間-同步開始時間,行同步信號時間為128,場同步信號時
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中介合同范本
- 買賣廢鐵協(xié)議書(2024版)
- 二零二五年度成品油管道輸送工程設計與施工合同4篇
- 二零二五年度動物養(yǎng)殖場害蟲防治與動物福利合同3篇
- 個性化勞務派遣勞動協(xié)議樣本一
- 2025年度店鋪形象升級改造協(xié)議合同
- 2025至2031年中國電磁鐵實驗器行業(yè)投資前景及策略咨詢研究報告
- 二零二五年度建筑垃圾處理合同6篇
- 2025年度商業(yè)地產租賃及物業(yè)管理一體化合同3篇
- 分時租賃商業(yè)模式探討-深度研究
- 壞死性筋膜炎
- 2024輸血相關知識培訓
- 整式的加減單元測試題6套
- 股權架構完整
- 山東省泰安市2022年初中學業(yè)水平考試生物試題
- 注塑部質量控制標準全套
- 人教A版高中數學選擇性必修第一冊第二章直線和圓的方程-經典例題及配套練習題含答案解析
- 銀行網點服務禮儀標準培訓課件
- 二年級下冊數學教案 -《數一數(二)》 北師大版
- 晶體三極管資料
- 銀行內部舉報管理規(guī)定
評論
0/150
提交評論