版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、PAGE 基于(jy)FPGA的數(shù)字信號發(fā)生器設(shè)計作者(zuzh):楊家興(陜西理工學(xué)院(xuyun)物電學(xué)院電子通信1104班,陜西漢中 723000)指導(dǎo)教師:薛轉(zhuǎn)花摘要數(shù)字信號發(fā)生器是數(shù)字信號處理中不可缺少的調(diào)試設(shè)備,在生產(chǎn)生活中的應(yīng)用非常廣泛。本文所設(shè)計的內(nèi)容就是基于Altera公司的現(xiàn)場可編程門陣列(FPGA)實現(xiàn)數(shù)字信號發(fā)生器的設(shè)計,本設(shè)計中應(yīng)用VHDL硬件描述語言進行描述,使該數(shù)字信號發(fā)生器可以產(chǎn)生正弦波、方波、三角波、鋸齒波四個獨立的波形。 關(guān)鍵詞:數(shù)字波形發(fā)生器;FPGA;VHDLDesign Of FPGA-based Digital Signal GeneratorAut
2、hor:Yang Jiaxing(Garde11 class4 Major Communication engineering, School of Physics and Telecommunication Engineering, Shaanxi University of Telechnology ,shaanxi hanzhong 723000)Tutor: Xue Zhuanhua AbstractDigital signal transmitter as a test facility is an important part of information processing s
3、ystem. In the production of a wide range of application of life. This content is designed by Altera, based on field programmable gate array (FPGA) design of digital signal generator, the design of the application of VHDL hardware description language to describe, so that the digital signal generator
4、 can produce sine, square, triangle, sawtooth waveforms of four independent.Key words: Digital Waveform Generator; FPGA; VHDL目 錄 TOC o 1-3 h z u HYPERLINK l _Toc408938902 第一章緒 論 PAGEREF _Toc408938902 h 3 HYPERLINK l _Toc408938903 1.1 背景(bijng)與意義 PAGEREF _Toc408938903 h 3 HYPERLINK l _Toc408938904 1
5、.2 國內(nèi)外發(fā)展(fzhn)現(xiàn)狀 PAGEREF _Toc408938904 h 3 HYPERLINK l _Toc408938905 第二章 相關(guān)(xinggun)資料 PAGEREF _Toc408938905 h 4 HYPERLINK l _Toc408938906 2.1 FPGA簡介 PAGEREF _Toc408938906 h 4 HYPERLINK l _Toc408938907 2.3 VHDL簡介 PAGEREF _Toc408938907 h 5 HYPERLINK l _Toc408938908 2.4 Quartus簡介 PAGEREF _Toc408938908
6、 h 6 HYPERLINK l _Toc408938909 第三章 系統(tǒng)軟件設(shè)計 PAGEREF _Toc408938909 h 7 HYPERLINK l _Toc408938910 3.1軟件系統(tǒng)流程圖 PAGEREF _Toc408938910 h 7 HYPERLINK l _Toc408938911 3.2 數(shù)字信號發(fā)生器的軟件設(shè)計 PAGEREF _Toc408938911 h 8 HYPERLINK l _Toc408938912 3.2.1 主控制模塊 PAGEREF _Toc408938912 h 8 HYPERLINK l _Toc408938913 3.2.2 波形數(shù)據(jù)
7、產(chǎn)生模塊 PAGEREF _Toc408938913 h 9 HYPERLINK l _Toc408938914 結(jié)束語 PAGEREF _Toc408938914 h 12 HYPERLINK l _Toc408938915 致謝 PAGEREF _Toc408938915 h 12 HYPERLINK l _Toc408938916 參考文獻 PAGEREF _Toc408938916 h 12 HYPERLINK l _Toc408938917 附 錄 PAGEREF _Toc408938917 h 13基于FPGA的數(shù)字信號發(fā)生器設(shè)計1.緒 論1.1 背景(bijng)與意義在電子技術(shù)
8、領(lǐng)域(ln y),常常需要波形、頻率、幅度都可調(diào)的電信號,用于產(chǎn)生這種電信號的電子儀器稱作信號發(fā)生器。信號發(fā)生器是一種常用的信號源,廣泛運用于科學(xué)研究、生產(chǎn)實踐和教學(xué)試驗等領(lǐng)域。特別是在通信系統(tǒng)的科研實驗中,常常需要用到不同頻率和幅度的信號,如正弦波、三角波、方波和鋸齒波等。作為一種為電子測量和計量提供電信號的設(shè)備,它和萬用表、示波器、頻率計等儀器一樣,是最普通、最基本(jbn),也是運用最廣泛的電子儀器之一,幾乎所有電參量的測量都需要用到信號發(fā)生器。傳統(tǒng)的波形發(fā)生器多采用模擬分立元件實現(xiàn),產(chǎn)生的波形種類要受到電路硬件的限制,體積大、靈活性和穩(wěn)定性也相對較差。近年來,以數(shù)字技術(shù)為基礎(chǔ)的數(shù)字信號
9、發(fā)生器得到了飛速的發(fā)展,性能指標(biāo)都達(dá)到了一個新的水平。現(xiàn)場可編程門陣列器件具有容量大、運算速度快、現(xiàn)場可編程等優(yōu)點,使得許多復(fù)雜的電路有了新的實現(xiàn)途徑,越來越被廣泛地應(yīng)用到實際系統(tǒng)中。而且隨著當(dāng)今電子系統(tǒng)的越來越復(fù)雜,毫無疑問,數(shù)字信號發(fā)生器正在成為模擬復(fù)雜信號的事實標(biāo)準(zhǔn)。凡是能產(chǎn)生測試信號的儀器,統(tǒng)稱為信號源,也稱為信號發(fā)生器,它用于產(chǎn)生被測電路所需特定參數(shù)的電測試信號。信號源是根據(jù)用戶對其波形的命令來產(chǎn)生信號的電子儀器。信號源主要給被測電路提供所需要的已知信號(各種波形),然后用其它儀表進行測量的參數(shù)。信號源有很多種分類方法,其中一種方法可分為混和信號源和邏輯信號源兩種。其中混和信號源主要
10、輸出模擬波形;邏輯信號源輸出數(shù)字碼形。混和信號源又可分為函數(shù)信號發(fā)生器和任意波形/函數(shù)發(fā)生器,其中函數(shù)信號發(fā)生器輸出標(biāo)準(zhǔn)波形,如正弦波、方波等,任意波/函數(shù)發(fā)生器輸出用戶自定義的任意波形;邏輯信號發(fā)生器又可分為脈沖信號發(fā)生器和碼型發(fā)生器,其中脈沖信號發(fā)生器驅(qū)動較小個數(shù)的的方波或脈沖波輸出,碼型發(fā)生器生成許多通道的數(shù)字碼型。1.2 國內(nèi)外發(fā)展現(xiàn)狀采用可變時鐘和計數(shù)器尋址波形存儲器的任意波形發(fā)生器4在一段時期內(nèi)曾得到廣泛的應(yīng)用,其取樣時鐘頻率較高且可調(diào)節(jié),然而這種波形發(fā)生器對硬件要求比較高,需要高性能的鎖相環(huán)和截止頻率可調(diào)的低通濾波器,且頻率分辨率低,頻率切換速度較慢,已經(jīng)逐步退出市場。目前市場上
11、的數(shù)字信號發(fā)生器主要采用直接數(shù)字合成(Direct Digital Synthesuzer,DDS)技術(shù),這種波形發(fā)生器不僅可以產(chǎn)生可變頻的載頻信號、各種調(diào)制信號,同時還能和計算機配合產(chǎn)生用戶自定義的有限帶寬的任意信號,可以為多領(lǐng)域的測試提供寬帶寬、高分辨率的測試信號。從目前發(fā)展?fàn)顩r來看,國外數(shù)字信號發(fā)生器的研制和生產(chǎn)技術(shù)已經(jīng)較為成熟。以安捷倫(Agilent)和泰克(Tektronix)為代表的國際電子測量儀器公司在此領(lǐng)域進行了卓有成效的研究和開發(fā),其產(chǎn)品無論在技術(shù)上還是市場占有率方面在國際上都享有盛譽,但其價格也相當(dāng)昂貴,高端型號每臺價格都在幾萬美金左右,低端的也要幾萬人民幣。Tektro
12、nix公司的獨立結(jié)構(gòu)任意波形發(fā)生器AFG3000系列功能完善,人機界面友好,操作方便,可以以多種方式連接到PC機上,其最高采樣率能達(dá)到2GS/s,輸出正弦信號最高頻率為240MHz,任意波頻率最高能達(dá)到50MHz,并配備的強大的波形編輯軟件ArbExpress,用戶可以方便地創(chuàng)建和編輯自己的波形。Agilent公司的PXI模塊任意波形發(fā)生器采樣率已經(jīng)能達(dá)到1.25GS/s,最高輸出頻率500MHz。我國研制任意波形發(fā)生器是從上世紀(jì)90年代開始的,近年來有一批本土廠商奮起直追,取得了可喜的成果。例如南京盛普科技電子有限公司的SPF120型信號發(fā)生器的主波輸出頻率達(dá)到了120MHz,任意波最高頻率
13、為100KHz;北京普源精電科技有限公司(RIGOL)生產(chǎn)的DG1000/2000/3000系列任意波形發(fā)生器,在性能上已經(jīng)大略相當(dāng)于國外中低端產(chǎn)品。本課題的主要研究(ynji)內(nèi)容是參考(cnko)直接(zhji)數(shù)字頻率合成原理(DDS)技術(shù)6,利用Quartus II 9.0軟件作為平臺,VHDL語言作為開發(fā)語言,基于FPGA配合相應(yīng)外圍電路實現(xiàn)一個數(shù)字信號發(fā)生器,其電路結(jié)構(gòu)簡單,容易擴展,具有極大的靈活性和方便性,實現(xiàn)了產(chǎn)生頻率、幅度可調(diào)的正弦波、三角波、方波、鋸齒波信號的信號發(fā)生器。2. 相關(guān)資料2.1 FPGA簡介數(shù)字集成電路從產(chǎn)生到現(xiàn)在,經(jīng)過了早期的電子管、晶體管、小中規(guī)模集成電
14、路,到大規(guī)模、超大規(guī)模集成電路(VLSIC)以及許多既有特定功能的專用集成電路的發(fā)展過程。但是,隨著為電子技術(shù)的發(fā)展,設(shè)計與制造集成電路的任務(wù)已不完全由半導(dǎo)體廠商來獨立承擔(dān)。系統(tǒng)設(shè)計師們更愿意自己設(shè)計專用集成電路(Application Special Integrated Circuit, ASIC)芯片,而且希望ASIC的設(shè)計周期盡可能短,最好是在 實驗室里就能設(shè)計出合適的ASIC芯片,并且立即投入實際應(yīng)用之中,因而出現(xiàn)了現(xiàn)場可編程邏輯器件(Field Programmable Logic Device, FPLD),其中應(yīng)用最廣泛的當(dāng)屬CPLD和FPGA1。CPLD是復(fù)雜可編程邏輯器件(
15、Complex Programmable Logic Device)的簡稱,F(xiàn)PGA是現(xiàn)場可編程門陣列(Field Programmable Gate Array)的簡稱。兩者的功能基本相同,只是實現(xiàn)原理略有不同,但有時可以忽略這兩者的區(qū)別。不同廠家對可編程邏輯器件的叫法也不盡相同。Altera公司把自己的可編程邏輯器件產(chǎn)品中的MAX系列(乘積項技術(shù),EEPROM技術(shù))、FLEX系列(查找表技術(shù),SRAM工藝)都叫做CPLD;而把也是SRAM工藝、基于查找表技術(shù)、要外掛配置用的FLEX系列的EPROM叫做FPGA。早期的可編程邏輯器件都屬于低密度PLD(Programmable Logic D
16、evice),結(jié)構(gòu)簡單,設(shè)計靈活,但規(guī)模小,難以實現(xiàn)復(fù)雜的邏輯功能。1985年Xilinx公司首先推出了現(xiàn)場可編程門陣列FPGA,這是一種新型的高密度PLD,采用CMOS-SRAM工藝制作,其結(jié)構(gòu)和陣列型PLD不同,內(nèi)部由許多獨立的可編程模塊組成,邏輯模塊之間可以靈活地相互連接,具有密度高、編程速度快,設(shè)計靈活和可再配置設(shè)計能力等許多優(yōu)點。FPGA一般由6部分組成,分別為可編程輸入/輸出單元、基本可編程邏輯單元、嵌入式塊RAM、豐富的布線資源、底層嵌入功能單元和內(nèi)嵌專用硬核等。每個單元簡介如下:(1)可編程輸入/輸出單元(I/O單元)。目前大多數(shù)FPGA的I/O單元被設(shè)計為可編程模式,即通過軟
17、件的靈活配置,可適應(yīng)不同的電氣標(biāo)準(zhǔn)與I/O物理特性;可以調(diào)整匹配阻抗特性,上下拉電阻;可以調(diào)整輸出驅(qū)動電流的大小等;(2)基本可編程邏輯單元。FPGA的基本可編程邏輯單元是由查找表(LUT)和寄存器(Register)組成的,查找表完成純組合邏輯功能。FPGA內(nèi)部寄存器可配置為帶 同步/異步復(fù)位和置位、時鐘使能的觸發(fā)器,也可以配置成為鎖存器。FPGA一般依賴寄存器完成同步時序邏輯設(shè)計。一般來說,比較經(jīng)典的基本可編程單元的配置是一個寄存器加一個查找表,但不同廠商的寄存器和查找表的內(nèi)部結(jié)構(gòu)有一定的差異,而且寄存器和查找表的組合模式也不同。(3)嵌入式塊RAM。目前大多數(shù)FPGA都有內(nèi)嵌的塊RAM。
18、嵌入式塊RAM可以(ky)配置為單端口RAM、雙端口RAM、偽雙端口RAM、CAM、FIFO等存儲結(jié)構(gòu)。(4)豐富的布線資源。布線資源連通FPGA內(nèi)部所有(suyu)單元,連線的長度和工藝決定著信號在連線上的驅(qū)動能力和傳輸速度。布線資源的劃分:A全局性的專用布線資源:以完成(wn chng)器件內(nèi)部的全局時鐘和全局復(fù)位/置位的布線;B長線資源:用以完成器件Bank間的一些高速信號和一些第二全局時鐘信號的布線;C短線資源:用來完成基本邏輯單元間的邏輯互連與布線;D其他:在邏輯單元內(nèi)部還有著各種布線資源和專用時鐘、復(fù)位等控制信號線。(5)底層嵌入功能單元。由廠商及芯片型號決定。(6)內(nèi)嵌專用硬核。
19、與“底層嵌入單元”有區(qū)別,這里指的硬核主要是那些通用性相對較弱的芯片,不是所有FPGA芯片都包含硬核。2.3 VHDL簡介VHDL 的全稱是Very-High-Speed Integrated Circuit Hardware Description Language,誕生于1982 年。1987年底,VHDL被 IEEE 和美國國防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語言。VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式和描述風(fēng)格與句法是十分類似于一般的計算機高級語言。VHDL的程序結(jié)構(gòu)特點是將一項工程設(shè)計,或稱設(shè)計實體(可以是一個元件,一個電路模塊
20、或一個系統(tǒng))分成外部(或稱可是部分,及端口)和內(nèi)部(或稱不可視部分),既涉及實體的內(nèi)部功能和算法完成部分。在對一個設(shè)計實體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設(shè)計就可以直接調(diào)用這個實體。這種將設(shè)計實體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計的基本點。 VHDL 語言能夠成為標(biāo)準(zhǔn)化的硬件描述語言并獲得廣泛應(yīng)用 , 它自身必然具有很多其他硬件描述語言所不具備的優(yōu)點。歸納起來 ,VHDL 語言主要具有以下優(yōu)點:(1) VHDL 語言功能強大 , 設(shè)計方式多樣。VHDL 語言具有強大的語言結(jié)構(gòu), 只需采用簡單明確的VHDL語言程序就可以描述十分復(fù)雜的硬件電路。同時, 它還具有多層次的電路設(shè)計描述
21、功能。此外 ,VHDL 語言能夠同時支持同步電路、異步電路和隨機電路的設(shè)計實現(xiàn), 這是其他硬件描述語言所不能比擬的。VHDL 語言設(shè)計方法靈活多樣 , 既支持自頂向下的設(shè)計方式, 也支持自底向上的設(shè)計方法; 既支持模塊化設(shè)計方法, 也支持層次化設(shè)計方法。(2) VHDL 語言具有強大的硬件描述能力。VHDL 語言具有多層次的電路設(shè)計描述功能,既可描述系統(tǒng)級電路 , 也可以描述門級電路;描述方式既可以采用行為描述、寄存器傳輸描述或者結(jié)構(gòu)描述,也可以采用三者的混合描述方式。同時,VHDL 語言也支持慣性延遲和傳輸延遲,這樣可以準(zhǔn)確地建立硬件電路的模型。VHDL 語言的強大(qingd)描述能力還體
22、現(xiàn)在它具有豐富的數(shù)據(jù)類型。VHDL 語言既支持標(biāo)準(zhǔn)定義的數(shù)據(jù)類型,也支持用戶定義的數(shù)據(jù)類型,這樣便會給硬件描述帶來較大的自由度。(3) VHDL 語言(yyn)具有很強的移植能力。VHDL 語言很強的移植能力主要體現(xiàn)在: 對于同一個(y )硬件電路的 VHDL 語言描述 , 它可以從一個模擬器移植到另一個模擬器上、從一個綜合器移植到另一個綜合器上或者從一個工作平臺移植到另一個工作平臺上去執(zhí)行。(4) VHDL 語言的設(shè)計描述與器件無關(guān)。采用 VHDL 語言描述硬件電路時, 設(shè)計人員并不需要首先考慮選擇進行設(shè)計的器件。這樣做的好處是可以使設(shè)計人員集中精力進行電路設(shè)計的優(yōu)化, 而不需要考慮其他的問
23、題。當(dāng)硬件電路的設(shè)計描述完成以后 ,VHDL 語言允許采用多種不同的器件結(jié)構(gòu)來實現(xiàn)。(5) VHDL 語言程序易于共享和復(fù)用。VHDL 語言采用基于庫 ( library) 的設(shè)計方法。在設(shè)計過程中 , 設(shè)計人員可以建立各種可再次利用的模塊 , 一個大規(guī)模的硬件電路的設(shè)計不可能從門級電路開始一步步地進行設(shè)計 , 而是一些模塊的累加。這些模塊可以預(yù)先設(shè)計或者使用以前設(shè)計中的存檔模塊, 將這些模塊存放在庫中 , 就可以在以后的設(shè)計中進行復(fù)用。由于 VHDL 語言是一種描述、模擬、綜合、優(yōu)化和布線的標(biāo)準(zhǔn)硬件描述語言 , 因此它可以使設(shè)計成果在設(shè)計人員之間方便地進行交流和共享, 從而減小硬件電路設(shè)計的
24、工作量, 縮短開發(fā)周期。2.4 Quartus簡介Quartus II 是Altera公司的綜合性PLD開發(fā)軟件,支持原理圖、VerilonHDL、VHDL以及AHDL(Altera Hardware Description Language)等多種設(shè)計輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計輸入到硬件配置的完整PLD設(shè)計流程。Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl腳本完成設(shè)計流程外,提供了完善的用戶圖形界面設(shè)計方式。具有運行速度快,界面統(tǒng)一,功能集中,易學(xué)易用等特點。Quartus II支持Altera的IP核,包含了LPM/MegaFu
25、nction宏功能模塊庫,使用戶可以充分利用成熟的模塊,簡化了設(shè)計的復(fù)雜性、加快了設(shè)計速度。對第三方EDA工具的良好支持也使用戶可以在設(shè)計流程的各個階段使用熟悉的第三方EDA工具。此外(cwi),Quartus II 通過和DSP Builder工具與 Matlab/Simulink相結(jié)合,可以(ky)方便地實現(xiàn)各種DSP應(yīng)用系統(tǒng);支持Altera的片上可編程系統(tǒng)(SOPC)開發(fā),集系統(tǒng)級設(shè)計、嵌入式軟件開發(fā)、可編程邏輯設(shè)計于一體,是一種綜合性的開發(fā)平臺。 MaxplusII作為Altera的上一代PLD設(shè)計軟件,由于其出色的易用性而得到了廣泛的應(yīng)用(yngyng)。目前Altera已經(jīng)停止了
26、對Maxplus II 的更新支持,Quartus II 與之相比不僅僅是支持器件類型的豐富和圖形界面的改變。Altera在Quartus II 中包含了許多諸如SignalTap II、Chip Editor和RTL Viewer的設(shè)計輔助工具,集成了SOPC和HardCopy設(shè)計流程,并且繼承了Maxplus II 友好的圖形界面及簡便的使用方法。 Altera QuartusII作為一種可編程邏輯的設(shè)計環(huán)境, 由于其強大的設(shè)計能力和直觀易用的接口,越來越受到數(shù)字系統(tǒng)設(shè)計者的歡迎。 Altera的Quartus II可編程邏輯軟件屬于第四代PLD開發(fā)平臺。該平臺支持一個工作組環(huán)境下的設(shè)計要
27、求,其中包括支持基于Internet的協(xié)作設(shè)計。Quartus平臺與Cadence、ExemplarLogic、 MentorGraphics、Synopsys和Synplicity等EDA供應(yīng)商的開發(fā)工具相兼容。改進了軟件的LogicLock模塊設(shè)計功能,增添 了FastFit編譯選項,推進了網(wǎng)絡(luò)編輯性能,而且提升了調(diào)試能力。圖2.1 EDA工具(gngj)設(shè)計流程圖3. 系統(tǒng)軟件(x tn run jin)設(shè)計3.1軟件系統(tǒng)流程圖本設(shè)計(shj)主要是由FPGA為核心控制一些簡單外圍電路輸出可控的方波、三角波、鋸齒波、正弦波。輸入部分為3個按鍵值,分別用于控制波型的選擇、波型的調(diào)節(jié);輸出部
28、分由一個8位的DA組成,由FPGA將數(shù)據(jù)波型數(shù)據(jù)送給DA轉(zhuǎn)換輸出模擬波型信號。具體流程如圖4.1所示:初始化按鍵輸入,選擇波型,調(diào)節(jié)波型。由FPGA生成數(shù)字波型數(shù)據(jù)將數(shù)字波型數(shù)據(jù)送入DA轉(zhuǎn)換輸出模擬波型信號圖3.1 系統(tǒng)(xtng)流程(lichng)圖通過按鍵(n jin)可以選擇輸出波型,如方波、三角波、正弦波、鋸齒波。波型頻率幅度的改變可以通過按對應(yīng)的頻率加按鍵和頻率減鍵,幅度加鍵幅度減鍵。由于頻率和幅度改變在Quartus軟件平臺下不能明顯仿真步進變化,所以本設(shè)計沒有介紹步進仿真。3.2 數(shù)字信號發(fā)生器的軟件設(shè)計本次設(shè)計的軟件部分主要運用Altera公司的Quartus軟件平臺,其開發(fā)
29、流程基本分成2個步驟:1.設(shè)計輸入Quartus軟件的設(shè)計文件可以來自Quartus9.0設(shè)計輸入工具或各種工業(yè)標(biāo)準(zhǔn)的EDA設(shè)計輸入工具Quartus強大的集成功能允許信息在各種應(yīng)用程序間自由交流,設(shè)計者可在一個工程內(nèi)直接從某個設(shè)計文件轉(zhuǎn)換到其他任何設(shè)計文件,而不必理會設(shè)計文件是圖形格式、文本格式,還是波形格式。Quartus具有如下的多種設(shè)計輸入方法:原理圖輸入與符號編輯、硬件描述語言、波形設(shè)計輸入、平面圖編輯以及層次設(shè)計輸入。如此眾多的設(shè)計方法幫助設(shè)計者輕松地完成設(shè)計輸入。3.2.1 主控制模塊主控制模塊完成了頻率調(diào)節(jié)、幅度調(diào)節(jié)和波形選擇三個控制功能。圖是用Quartus9.0生成的主程序
30、結(jié)構(gòu)框圖,其中CLK為標(biāo)準(zhǔn)頻率50M輸入,RST為系統(tǒng)復(fù)位鍵,VADD,VDEC為調(diào)節(jié)輸出幅度的二個按鍵,使用方法是當(dāng)按下VADD時幅度會每隔一秒遞增一次,直到最大幅度,當(dāng)按下VDEC時幅度會每隔一秒遞減一次,直到最小幅度,PADD,PDEC為調(diào)節(jié)輸出頻率的二個按鍵,使用方法是當(dāng)按下PVADD時頻率會每隔一秒遞增一次,直到最大頻率,當(dāng)按下PDEC時頻率會每隔一秒遞減一次,直到最小頻率。SEL為波形選擇鍵,當(dāng)按下SEL鍵時系統(tǒng)每隔一秒在方波、三角波、正弦波,鋸齒波四種波形循環(huán)切換。CNT為FPGA產(chǎn)生的8位數(shù)字波形數(shù)據(jù)信號。具體框圖如圖3.2所示。圖3.2 主程序結(jié)構(gòu)(jigu)框圖3.2.2
31、波形數(shù)據(jù)(shj)產(chǎn)生模塊(1)方波數(shù)據(jù)(shj)產(chǎn)生模塊方波產(chǎn)生方法是由主控制模塊提供方波頻率和幅度,按照主控制模塊的頻率產(chǎn)生“0”和主控提供的幅度值。將這些數(shù)據(jù)直按送入DAC就能得到所需方波信號。產(chǎn)生框圖如圖3.3所示:CLK為主控模塊提供的頻率信號,RST為復(fù)位鍵,DIN為主控模塊提供幅度信號,DOUT為產(chǎn)生的波型數(shù)據(jù)信號。圖3.3 方波數(shù)據(jù)產(chǎn)生結(jié)構(gòu)框圖方波信號仿真:因為幅度和頻率調(diào)節(jié)不好仿真,下圖為頻率和幅度恒定的波形仿真圖形,其中CLK為基準(zhǔn)頻率輸入RST為復(fù)位鍵,低電平復(fù)位,其他的輸入為調(diào)節(jié)鍵,CNT為數(shù)字方波數(shù)據(jù)。仿真如圖3.4所示。3.4 方波信號仿真(2)三角波數(shù)據(jù)產(chǎn)生模塊三
32、角波產(chǎn)生方法是由主控制模塊提供波型頻率和幅度,按照主控制模塊的頻率產(chǎn)生由0自加到主控模塊提供的幅度值然后再自減到0。這些數(shù)據(jù)直按送入DAC就能得到所需三角波信號。產(chǎn)生框圖如圖3.5所示:CLK為主控模塊提供的頻率信號,RST為復(fù)位鍵,DIN為主控模塊提供幅度信號,DOUT為產(chǎn)生的波型數(shù)據(jù)信號。圖3.5 三角波數(shù)據(jù)(shj)產(chǎn)生結(jié)構(gòu)(jigu)框圖三角波信號仿真:因為幅度和頻率調(diào)節(jié)不好仿真,下圖為頻率和幅度恒定的波形仿真圖形(txng),其中CLK為基準(zhǔn)頻率輸入,RST為復(fù)位鍵,低電平復(fù)位,其他的輸入為調(diào)節(jié)鍵,CNT為數(shù)字三角波數(shù)據(jù)。仿真如圖3.6所示。3.6 三角波信號仿真(3)鋸齒波數(shù)據(jù)產(chǎn)生
33、模塊鋸齒波產(chǎn)生方法是由主控制模塊提供波型頻率和幅度,按照主控制模塊的頻率產(chǎn)生由0自加到主控模塊提供的幅度值然后到跳到0再自加。這些數(shù)據(jù)直按送入DAC就能得到所需鋸齒波信號。產(chǎn)生框圖如圖3.7所示:CLK為主控模塊提供的頻率信號,RST為復(fù)位鍵,DIN為主控模塊提供幅度信號,DOUT為產(chǎn)生的波型數(shù)據(jù)信號。圖3.7 鋸齒波數(shù)據(jù)產(chǎn)生結(jié)構(gòu)框圖鋸齒波信號仿真:由于鋸齒波信號與三角波信號仿真前面的數(shù)據(jù)相同,所以下面仿真截圖為仿真后面的數(shù)據(jù)。由于幅度和頻率調(diào)節(jié)不好仿真,下圖為頻率和幅度恒定的波形仿真圖形,其中CLK為基準(zhǔn)頻率輸入,RST為復(fù)位鍵,低電平復(fù)位,其他的輸入為調(diào)節(jié)鍵,CNT為數(shù)字鋸齒波數(shù)據(jù)。仿真如
34、圖3.8所示。3.8 鋸齒波信號(xnho)仿真(4)正弦波數(shù)據(jù)產(chǎn)生(chnshng)模塊正弦波產(chǎn)生方法是由主控制模塊(m kui)提供波型頻率,按照主控制模塊的頻率依次從64個已寫好的正弦數(shù)據(jù)中取值,然后這些數(shù)據(jù)直按送入DAC就能得到所需正弦波信號。因為64個數(shù)據(jù)已經(jīng)固定,所發(fā)正弦波不好調(diào)幅。產(chǎn)生框圖如圖:CLK為主控模塊提供的頻率信號,RST為復(fù)位鍵,DATA為產(chǎn)生的波型數(shù)據(jù)信號。具體框圖如圖3.9所示。圖3.9 正弦波數(shù)據(jù)產(chǎn)生結(jié)構(gòu)框圖正弦波信號仿真:因為幅度和頻率調(diào)節(jié)不好仿真,下圖為頻率和幅度恒定的波形仿真圖形,其中CLK為基準(zhǔn)頻率輸入,RST為復(fù)位鍵,低電平復(fù)位,其他的輸入為調(diào)節(jié)鍵,C
35、NT為數(shù)字正弦波數(shù)據(jù)。仿真如圖3.10所示。3.10 正弦波信號仿真4.結(jié)束語通過此次設(shè)計,讓我深深的感覺到自己所學(xué)知識真是非常的淺薄。面對電子(dinz)技術(shù)日新月異的發(fā)展,利用EDA手段進行設(shè)計已成為不可阻擋的趨勢。相對于傳統(tǒng)至底向上的設(shè)計方式,自上而下的設(shè)計具有其顯著的優(yōu)越性。利用EDA設(shè)計軟件輔助設(shè)計,方便快捷,減少了錯誤率的產(chǎn)生,縮短了產(chǎn)品的設(shè)計及上市周期,既減輕了設(shè)計工作量又滿足了商業(yè)利益的需求。該系統(tǒng)以FPGA10K10器件為核心部件,可利用軟件編程實現(xiàn)了對D/A轉(zhuǎn)換信號的處理(chl)。努力做到了線路簡單、高性價比的特點,充分利用了軟件編程,彌補了硬件元器件的不足。在設(shè)計過程當(dāng)
36、中,遇到了軟件操作不熟練,程序編寫不規(guī)范等諸多問題,通過對問題的總結(jié)分析得出,應(yīng)用軟件的主要功能必須熟練操作,才能提高工作效率,需要規(guī)范操作的地方必須嚴(yán)格按照使用說明操作,避免由于軟件使用不當(dāng)造成的錯誤產(chǎn)生。程序的編寫格式必須規(guī)范,模塊、端口以及信號變量的命名應(yīng)當(dāng)反映實際意義,縮進(su jn)格式工整明了,方便閱讀理解,這樣有利于程序的編寫,有利于分析調(diào)試,也有利于程序的重復(fù)使用。此次課題的設(shè)計已告一段落,在這次畢業(yè)設(shè)計過程中需要用一些不曾學(xué)過的東西時,就要去有針對性地查找資料,然后加以吸收利用,以提高自己的應(yīng)用能力,而且還能增長自己見識,補充最新的專業(yè)知識,學(xué)會了一些編程方面的常用算法。作
37、為一名電子專業(yè)的畢業(yè)生,我將會繼續(xù)在新技術(shù)的道路上不斷鉆研、開拓進取。相信通過此次設(shè)計的鍛煉,我對專業(yè)知識和技能的掌握將更加牢靠,在今后的工作和學(xué)習(xí)中,必將使我受益匪淺,取得應(yīng)有的優(yōu)勢。致謝 我覺得作為一名通信工程專業(yè)的學(xué)生,Quartus的編程與設(shè)計是很有意義的,在這個過程中可以學(xué)會如何把自己平時所學(xué)的東西應(yīng)用到實際中。雖然我對這門課懂的并不多,很多基礎(chǔ)的東西都還沒有很好的掌握,覺得有點難,但是靠著這兩個多星期的突擊學(xué)習(xí),自己開始主動學(xué)習(xí)并逐步從基礎(chǔ)慢慢開始弄懂它。我認(rèn)為這個收獲應(yīng)該說是相當(dāng)大的。我覺得課程設(shè)計反映的是一個從理論到實際應(yīng)用的過程,這個過程對缺乏實際經(jīng)驗的我們是非常重要的。通過
38、這次課程設(shè)計我認(rèn)識到自身知識及能力的薄弱,更讓我知道實踐的重要性。在以后的學(xué)習(xí)過程中,我會更加努力學(xué)習(xí)Quartus的相關(guān)知識和應(yīng)用,真正能夠運用Quartus解決各種實際的問題。通過這次課程設(shè)計,我得到了一次用專業(yè)知識、專業(yè)技能分析和解決問題全面系統(tǒng)的鍛煉。我在FPGA的基本原理、FPGA應(yīng)用系統(tǒng)開發(fā)方面,以及在常用編程設(shè)計思路技巧的掌握方面都能向前邁了一大步,為日后成為合格的應(yīng)用型人才打下良好的基礎(chǔ)。參考文獻1譚會生,張昌凡等. EDA技術(shù)及應(yīng)用(第二版)M. 西安:西安電子科技大學(xué)出版社,2004,17-78.2李國麗,朱維勇,欒銘.EDA與數(shù)字系統(tǒng)設(shè)計(shj)M.北京:機械工業(yè)出版社
39、,2004.1.4-10,98-128.3徐金龍,劉宇紅,劉橋.基于(jy)DDS原理的任意波形信號發(fā)生器的設(shè)計J.現(xiàn)代機械,2006,4:74-76.4高琴,姜壽山,魏忠義.基于FPGA的DDS信號源設(shè)計與實現(xiàn)J.西安工程科技(kj)學(xué)院學(xué)報,2006,20(2):211-214.5楊麗,李鎮(zhèn),孫厚軍.基于FPGA的多波形信號發(fā)生器J.無線電工程,2005,35(7):46-48.6洪嘉,彭啟琮,基于FPGA的數(shù)字中頻信號發(fā)生器硬件設(shè)計J.信息技術(shù),2005,12:63-65.7杜培明.基于FPGA動態(tài)信號產(chǎn)生器設(shè)計J.現(xiàn)代電子技術(shù),2006,17:78-80.8莫小靈.正弦信號發(fā)生器的FP
40、GA實現(xiàn)J.新余高專學(xué)報,2006,11(3):90-91.附 錄數(shù)字信號發(fā)生器程序-主控文件LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SUN ISPORT( CLK:IN STD_LOGIC;RST:IN STD_LOGIC;VADD:IN STD_LOGIC;VDEC:IN STD_LOGIC;PADD:IN STD_LOGIC;PDEC:IN STD_LOGIC;SEL :IN STD_LOGIC;CNT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
41、END ENTITY;ARCHITECTURE ONE oF SUN ISSIGNAL DCLK:STD_LOGIC;SIGNAL DIV :STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL DCNT :STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL DDATA :STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL CNT1H:STD_LOGIC_VECTOR(24 DOWNTO 0); -定義一個1HZ的分頻系數(shù)信號SIGNAL CLK1H:STD_LOGIC; -定義一個1HZ頻率信號。SIGNAL DOUT0,DOUT1,
42、DOUT2,DOUT3:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL SELCON :STD_LOGIC_VECTOR(1 DOWNTO 0);COMPONENT FOUTPORT( CLK:IN STD_LOGIC;RST:IN STD_LOGIC;DIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0);DOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END COMPONENT;COMPONENT SOUTPORT( CLK:IN STD_LOGIC;RST:IN STD_LOGIC;DIN:IN STD_LOGIC_VE
43、CTOR(7 DOWNTO 0);DOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END COMPONENT;COMPONENT JOUTPORT( CLK:IN STD_LOGIC;RST:IN STD_LOGIC;DIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0);DOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END COMPONENT;COMPONENT SINPORT( CLK:IN STD_LOGIC;RST:IN STD_LOGIC;DATA:OUT STD_LOGIC_VECTOR(7 DOWNTO 0
44、);END COMPONENT;BEGINCNT = DOUT0 WHEN SELCON=00 ELSEDOUT1 WHEN SELCON=01 ELSEDOUT2 WHEN SELCON=10 ELSEDOUT3 ;PROCESS(CLK1H,RST,SEL)BEGINIF RST=0 THENSELCON=00;ELSIF CLK1HEVENT AND CLK1H=1 THENIF SEL=1 THENIF SELCON11 THENSELCON=SELCON+1;ELSESELCON=00;END IF;END IF;END IF;END PROCESS;PROCESS(CLK1H,RS
45、T,PADD,PDEC)BEGINIF RST=0 THENDIV=00000000;ELSIF CLK1HEVENT AND CLK1H=1 THENIF PADD=1 THENDIV=DIV+1;ELSIF PDEC=1 THENDIV=DIV-1;END IF;END IF;END PROCESS;PROCESS(CLK1H,RST,VADD,VDEC)BEGINIF RST=0 THENDDATA=00000000;ELSIF CLK1HEVENT AND CLK1H=1 THENIF VADD=1 THENDDATA=DDATA+1;ELSIF VDEC=1 THENDDATA=DD
46、ATA-1;END IF;END IF;END PROCESS;PROCESS(CLK,RST,DIV)BEGINIF RST=0 THENDCLK=0;DCNT=00000000;ELSIF CLKEVENT AND CLK=1 THENIF DCNTDIV THENDCNT=DCNT+1;ELSEDCNT=00000000;DCLK=NOT DCLK;END IF;END IF;END PROCESS;-/- 1HZ分頻(fn pn)進程-/PROCESS(CLK,RST)BEGINIF RST=0 THEN -當(dāng)RST=0時復(fù)位(f wi)CNT1H0);ELSIF CLKEVENT A
47、ND CLK=1 THEN -上升(shngshng)沿時計數(shù)。IF CNT1H1011111010111100000111111 THEN CNT1H=CNT1H+1;-當(dāng)分頻系數(shù)少于24999999時分頻系數(shù)加1。ELSE CNT1H0); CLK1H=NOT CLK1H;-當(dāng)分頻系數(shù)等于24999999時分頻系數(shù)清零同時1hz信號取反。END IF;END IF;END PROCESS;U0: SOUT PORT MAP(DCLK,RST,DDATA,DOUT1);U1: FOUT PORT MAP(DCLK,RST,DDATA,DOUT2);U2: JOUT PORT MAP(DCLK
48、,RST,DDATA,DOUT3);U3: SIN PORT MAP(DCLK,RST,DOUT0);END ONE;-方波數(shù)據(jù)產(chǎn)生文件LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY FOUT ISPORT( CLK:IN STD_LOGIC;RST:IN STD_LOGIC;DIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0);DOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY;ARCHITECTURE ONE oF
49、FOUT ISSIGNAL DIV :STD_LOGIC_VECTOR(5 DOWNTO 0);BEGINDOUT= 00000000 WHEN DIV100000 ELSEDIN;PROCESS(CLK,RST)BEGINIF RST=0 THENDIV=000000;ELSIF CLKEVENT AND CLK=1 THENIF DIV111111 THENDIV=DIV+1;ELSE DIV=000000;END IF;END IF;END PROCESS;END ONE;-三角(snjio)波數(shù)據(jù)產(chǎn)生文件LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SOUT ISPORT( CLK:IN STD_LOGIC;RST:IN STD_LOGIC;DIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0);DOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY;ARCHITECTURE ONE oF SOUT ISSIGNAL DIV :STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL CONT:STD_LOGIC;BEGINDOUT=DIV;PROCESS(CLK,RST)B
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- BIM工程師-全國《BIM應(yīng)用技能資格》考前沖刺1
- 北師大版小學(xué)四年級上冊數(shù)學(xué)教案(全冊)
- 蘇教版一年級數(shù)學(xué)下冊教案
- 2024高中地理第1章地理環(huán)境與區(qū)域發(fā)展第1節(jié)地理環(huán)境對區(qū)域發(fā)展的影響精練含解析新人教版必修3
- 2024高中語文第5單元莊子蚜第1課無端崖之辭練習(xí)含解析新人教版選修先秦諸子蚜
- 2024高中語文第六單元文無定格貴在鮮活種樹郭橐駝傳訓(xùn)練含解析新人教版選修中國古代詩歌散文欣賞
- 2024高考化學(xué)一輪復(fù)習(xí)專練28熱化學(xué)方程式的書寫及正誤判斷含解析新人教版
- 2024高考化學(xué)一輪復(fù)習(xí)第一部分考點16元素周期表強化訓(xùn)練含解析
- 2024高考?xì)v史一輪復(fù)習(xí)方案專題四世界政治制度的演變與發(fā)展第11講民主政治的擴展教學(xué)案+練習(xí)人民版
- 2024高考地理一輪復(fù)習(xí)第二章第1講冷熱不均引起大氣運動教案含解析新人教版
- 電子招投標(biāo)平臺搭建與運維服務(wù)合同
- 食品研發(fā)調(diào)研報告范文
- 2024-2030年國家甲級資質(zhì):中國干熱巖型地?zé)豳Y源融資商業(yè)計劃書
- 2024-2030年中國MVR蒸汽機械行業(yè)競爭格局及投資發(fā)展前景分析報告
- 食材配送服務(wù)方案投標(biāo)文件(技術(shù)方案)
- 中國慢性阻塞性肺疾病基層診療指南(2024年)解讀
- 二零二四年度贈與合同:關(guān)于藝術(shù)品捐贈的贈與合同
- 2023年高考真題-化學(xué)(福建卷) 含解析
- YY/T 0065-2016眼科儀器裂隙燈顯微鏡
- 喜報可編輯11張
- 餐飲服務(wù)投標(biāo)文件
評論
0/150
提交評論