基于FPGA的數(shù)字信號發(fā)生器設(shè)計(jì)(共22頁)_第1頁
基于FPGA的數(shù)字信號發(fā)生器設(shè)計(jì)(共22頁)_第2頁
基于FPGA的數(shù)字信號發(fā)生器設(shè)計(jì)(共22頁)_第3頁
基于FPGA的數(shù)字信號發(fā)生器設(shè)計(jì)(共22頁)_第4頁
基于FPGA的數(shù)字信號發(fā)生器設(shè)計(jì)(共22頁)_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、PAGE 基于(jy)FPGA的數(shù)字信號發(fā)生器設(shè)計(jì)作者(zuzh):楊家興(陜西理工學(xué)院(xuyun)物電學(xué)院電子通信1104班,陜西漢中 723000)指導(dǎo)教師:薛轉(zhuǎn)花摘要數(shù)字信號發(fā)生器是數(shù)字信號處理中不可缺少的調(diào)試設(shè)備,在生產(chǎn)生活中的應(yīng)用非常廣泛。本文所設(shè)計(jì)的內(nèi)容就是基于Altera公司的現(xiàn)場可編程門陣列(FPGA)實(shí)現(xiàn)數(shù)字信號發(fā)生器的設(shè)計(jì),本設(shè)計(jì)中應(yīng)用VHDL硬件描述語言進(jìn)行描述,使該數(shù)字信號發(fā)生器可以產(chǎn)生正弦波、方波、三角波、鋸齒波四個獨(dú)立的波形。 關(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è)計(jì) PAGEREF _Toc408938909 h 7 HYPERLINK l _Toc408938910 3.1軟件系統(tǒng)流程圖 PAGEREF _Toc408938910 h 7 HYPERLINK l _Toc408938911 3.2 數(shù)字信號發(fā)生器的軟件設(shè)計(jì) 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 參考文獻(xiàn) PAGEREF _Toc408938916 h 12 HYPERLINK l _Toc408938917 附 錄 PAGEREF _Toc408938917 h 13基于FPGA的數(shù)字信號發(fā)生器設(shè)計(jì)1.緒 論1.1 背景(bijng)與意義在電子技術(shù)

8、領(lǐng)域(ln y),常常需要波形、頻率、幅度都可調(diào)的電信號,用于產(chǎn)生這種電信號的電子儀器稱作信號發(fā)生器。信號發(fā)生器是一種常用的信號源,廣泛運(yùn)用于科學(xué)研究、生產(chǎn)實(shí)踐和教學(xué)試驗(yàn)等領(lǐng)域。特別是在通信系統(tǒng)的科研實(shí)驗(yàn)中,常常需要用到不同頻率和幅度的信號,如正弦波、三角波、方波和鋸齒波等。作為一種為電子測量和計(jì)量提供電信號的設(shè)備,它和萬用表、示波器、頻率計(jì)等儀器一樣,是最普通、最基本(jbn),也是運(yùn)用最廣泛的電子儀器之一,幾乎所有電參量的測量都需要用到信號發(fā)生器。傳統(tǒng)的波形發(fā)生器多采用模擬分立元件實(shí)現(xiàn),產(chǎn)生的波形種類要受到電路硬件的限制,體積大、靈活性和穩(wěn)定性也相對較差。近年來,以數(shù)字技術(shù)為基礎(chǔ)的數(shù)字信號

9、發(fā)生器得到了飛速的發(fā)展,性能指標(biāo)都達(dá)到了一個新的水平?,F(xiàn)場可編程門陣列器件具有容量大、運(yùn)算速度快、現(xiàn)場可編程等優(yōu)點(diǎn),使得許多復(fù)雜的電路有了新的實(shí)現(xiàn)途徑,越來越被廣泛地應(yīng)用到實(shí)際系統(tǒng)中。而且隨著當(dāng)今電子系統(tǒng)的越來越復(fù)雜,毫無疑問,數(shù)字信號發(fā)生器正在成為模擬復(fù)雜信號的事實(shí)標(biāo)準(zhǔn)。凡是能產(chǎn)生測試信號的儀器,統(tǒng)稱為信號源,也稱為信號發(fā)生器,它用于產(chǎn)生被測電路所需特定參數(shù)的電測試信號。信號源是根據(jù)用戶對其波形的命令來產(chǎn)生信號的電子儀器。信號源主要給被測電路提供所需要的已知信號(各種波形),然后用其它儀表進(jì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)狀采用可變時鐘和計(jì)數(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)制信號,同時還能和計(jì)算機(jī)配合產(chǎn)生用戶自定義的有限帶寬的任意信號,可以為多領(lǐng)域的測試提供寬帶寬、高分辨率的測試信號。從目前發(fā)展?fàn)顩r來看,國外數(shù)字信號發(fā)生器的研制和生產(chǎn)技術(shù)已經(jīng)較為成熟。以安捷倫(Agilent)和泰克(Tektronix)為代表的國際電子測量儀器公司在此領(lǐng)域進(jìn)行了卓有成效的研究和開發(fā),其產(chǎn)品無論在技術(shù)上還是市場占有率方面在國際上都享有盛譽(yù),但其價格也相當(dāng)昂貴,高端型號每臺價格都在幾萬美金左右,低端的也要幾萬人民幣。Tektro

12、nix公司的獨(dú)立結(jié)構(gòu)任意波形發(fā)生器AFG3000系列功能完善,人機(jī)界面友好,操作方便,可以以多種方式連接到PC機(jī)上,其最高采樣率能達(dá)到2GS/s,輸出正弦信號最高頻率為240MHz,任意波頻率最高能達(dá)到50MHz,并配備的強(qiáng)大的波形編輯軟件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)外圍電路實(shí)現(xiàn)一個數(shù)字信號發(fā)生器,其電路結(jié)構(gòu)簡單,容易擴(kuò)展,具有極大的靈活性和方便性,實(shí)現(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è)計(jì)與制造集成電路的任務(wù)已不完全由半導(dǎo)體廠商來獨(dú)立承擔(dān)。系統(tǒng)設(shè)計(jì)師們更愿意自己設(shè)計(jì)專用集成電路(Application Special Integrated Circuit, ASIC)芯片,而且希望ASIC的設(shè)計(jì)周期盡可能短,最好是在 實(shí)驗(yàn)室里就能設(shè)計(jì)出合適的ASIC芯片,并且立即投入實(shí)際應(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)的簡稱。兩者的功能基本相同,只是實(shí)現(xiàn)原理略有不同,但有時可以忽略這兩者的區(qū)別。不同廠家對可編程邏輯器件的叫法也不盡相同。Altera公司把自己的可編程邏輯器件產(chǎn)品中的MAX系列(乘積項(xiàng)技術(shù),EEPROM技術(shù))、FLEX系列(查找表技術(shù),SRAM工藝)都叫做CPLD;而把也是SRAM工藝、基于查找表技術(shù)、要外掛配置用的FLEX系列的EPROM叫做FPGA。早期的可編程邏輯器件都屬于低密度PLD(Programmable Logic D

16、evice),結(jié)構(gòu)簡單,設(shè)計(jì)靈活,但規(guī)模小,難以實(shí)現(xiàn)復(fù)雜的邏輯功能。1985年Xilinx公司首先推出了現(xiàn)場可編程門陣列FPGA,這是一種新型的高密度PLD,采用CMOS-SRAM工藝制作,其結(jié)構(gòu)和陣列型PLD不同,內(nèi)部由許多獨(dú)立的可編程模塊組成,邏輯模塊之間可以靈活地相互連接,具有密度高、編程速度快,設(shè)計(jì)靈活和可再配置設(shè)計(jì)能力等許多優(yōu)點(diǎn)。FPGA一般由6部分組成,分別為可編程輸入/輸出單元、基本可編程邏輯單元、嵌入式塊RAM、豐富的布線資源、底層嵌入功能單元和內(nèi)嵌專用硬核等。每個單元簡介如下:(1)可編程輸入/輸出單元(I/O單元)。目前大多數(shù)FPGA的I/O單元被設(shè)計(jì)為可編程模式,即通過軟

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ì)。一般來說,比較經(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)格與句法是十分類似于一般的計(jì)算機(jī)高級語言。VHDL的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱設(shè)計(jì)實(shí)體(可以是一個元件,一個電路模塊

20、或一個系統(tǒng))分成外部(或稱可是部分,及端口)和內(nèi)部(或稱不可視部分),既涉及實(shí)體的內(nèi)部功能和算法完成部分。在對一個設(shè)計(jì)實(shí)體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設(shè)計(jì)就可以直接調(diào)用這個實(shí)體。這種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計(jì)的基本點(diǎn)。 VHDL 語言能夠成為標(biāo)準(zhǔn)化的硬件描述語言并獲得廣泛應(yīng)用 , 它自身必然具有很多其他硬件描述語言所不具備的優(yōu)點(diǎn)。歸納起來 ,VHDL 語言主要具有以下優(yōu)點(diǎn):(1) VHDL 語言功能強(qiáng)大 , 設(shè)計(jì)方式多樣。VHDL 語言具有強(qiáng)大的語言結(jié)構(gòu), 只需采用簡單明確的VHDL語言程序就可以描述十分復(fù)雜的硬件電路。同時, 它還具有多層次的電路設(shè)計(jì)描述

21、功能。此外 ,VHDL 語言能夠同時支持同步電路、異步電路和隨機(jī)電路的設(shè)計(jì)實(shí)現(xiàn), 這是其他硬件描述語言所不能比擬的。VHDL 語言設(shè)計(jì)方法靈活多樣 , 既支持自頂向下的設(shè)計(jì)方式, 也支持自底向上的設(shè)計(jì)方法; 既支持模塊化設(shè)計(jì)方法, 也支持層次化設(shè)計(jì)方法。(2) VHDL 語言具有強(qiáng)大的硬件描述能力。VHDL 語言具有多層次的電路設(shè)計(jì)描述功能,既可描述系統(tǒng)級電路 , 也可以描述門級電路;描述方式既可以采用行為描述、寄存器傳輸描述或者結(jié)構(gòu)描述,也可以采用三者的混合描述方式。同時,VHDL 語言也支持慣性延遲和傳輸延遲,這樣可以準(zhǔn)確地建立硬件電路的模型。VHDL 語言的強(qiáng)大(qingd)描述能力還體

22、現(xiàn)在它具有豐富的數(shù)據(jù)類型。VHDL 語言既支持標(biāo)準(zhǔn)定義的數(shù)據(jù)類型,也支持用戶定義的數(shù)據(jù)類型,這樣便會給硬件描述帶來較大的自由度。(3) VHDL 語言(yyn)具有很強(qiáng)的移植能力。VHDL 語言很強(qiáng)的移植能力主要體現(xiàn)在: 對于同一個(y )硬件電路的 VHDL 語言描述 , 它可以從一個模擬器移植到另一個模擬器上、從一個綜合器移植到另一個綜合器上或者從一個工作平臺移植到另一個工作平臺上去執(zhí)行。(4) VHDL 語言的設(shè)計(jì)描述與器件無關(guān)。采用 VHDL 語言描述硬件電路時, 設(shè)計(jì)人員并不需要首先考慮選擇進(jìn)行設(shè)計(jì)的器件。這樣做的好處是可以使設(shè)計(jì)人員集中精力進(jìn)行電路設(shè)計(jì)的優(yōu)化, 而不需要考慮其他的問

23、題。當(dāng)硬件電路的設(shè)計(jì)描述完成以后 ,VHDL 語言允許采用多種不同的器件結(jié)構(gòu)來實(shí)現(xiàn)。(5) VHDL 語言程序易于共享和復(fù)用。VHDL 語言采用基于庫 ( library) 的設(shè)計(jì)方法。在設(shè)計(jì)過程中 , 設(shè)計(jì)人員可以建立各種可再次利用的模塊 , 一個大規(guī)模的硬件電路的設(shè)計(jì)不可能從門級電路開始一步步地進(jìn)行設(shè)計(jì) , 而是一些模塊的累加。這些模塊可以預(yù)先設(shè)計(jì)或者使用以前設(shè)計(jì)中的存檔模塊, 將這些模塊存放在庫中 , 就可以在以后的設(shè)計(jì)中進(jìn)行復(fù)用。由于 VHDL 語言是一種描述、模擬、綜合、優(yōu)化和布線的標(biāo)準(zhǔn)硬件描述語言 , 因此它可以使設(shè)計(jì)成果在設(shè)計(jì)人員之間方便地進(jìn)行交流和共享, 從而減小硬件電路設(shè)計(jì)的

24、工作量, 縮短開發(fā)周期。2.4 Quartus簡介Quartus II 是Altera公司的綜合性PLD開發(fā)軟件,支持原理圖、VerilonHDL、VHDL以及AHDL(Altera Hardware Description Language)等多種設(shè)計(jì)輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計(jì)輸入到硬件配置的完整PLD設(shè)計(jì)流程。Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl腳本完成設(shè)計(jì)流程外,提供了完善的用戶圖形界面設(shè)計(jì)方式。具有運(yùn)行速度快,界面統(tǒng)一,功能集中,易學(xué)易用等特點(diǎn)。Quartus II支持Altera的IP核,包含了LPM/MegaFu

25、nction宏功能模塊庫,使用戶可以充分利用成熟的模塊,簡化了設(shè)計(jì)的復(fù)雜性、加快了設(shè)計(jì)速度。對第三方EDA工具的良好支持也使用戶可以在設(shè)計(jì)流程的各個階段使用熟悉的第三方EDA工具。此外(cwi),Quartus II 通過和DSP Builder工具與 Matlab/Simulink相結(jié)合,可以(ky)方便地實(shí)現(xiàn)各種DSP應(yīng)用系統(tǒng);支持Altera的片上可編程系統(tǒng)(SOPC)開發(fā),集系統(tǒng)級設(shè)計(jì)、嵌入式軟件開發(fā)、可編程邏輯設(shè)計(jì)于一體,是一種綜合性的開發(fā)平臺。 MaxplusII作為Altera的上一代PLD設(shè)計(jì)軟件,由于其出色的易用性而得到了廣泛的應(yīng)用(yngyng)。目前Altera已經(jīng)停止了

26、對Maxplus II 的更新支持,Quartus II 與之相比不僅僅是支持器件類型的豐富和圖形界面的改變。Altera在Quartus II 中包含了許多諸如SignalTap II、Chip Editor和RTL Viewer的設(shè)計(jì)輔助工具,集成了SOPC和HardCopy設(shè)計(jì)流程,并且繼承了Maxplus II 友好的圖形界面及簡便的使用方法。 Altera QuartusII作為一種可編程邏輯的設(shè)計(jì)環(huán)境, 由于其強(qiáng)大的設(shè)計(jì)能力和直觀易用的接口,越來越受到數(shù)字系統(tǒng)設(shè)計(jì)者的歡迎。 Altera的Quartus II可編程邏輯軟件屬于第四代PLD開發(fā)平臺。該平臺支持一個工作組環(huán)境下的設(shè)計(jì)要

27、求,其中包括支持基于Internet的協(xié)作設(shè)計(jì)。Quartus平臺與Cadence、ExemplarLogic、 MentorGraphics、Synopsys和Synplicity等EDA供應(yīng)商的開發(fā)工具相兼容。改進(jìn)了軟件的LogicLock模塊設(shè)計(jì)功能,增添 了FastFit編譯選項(xiàng),推進(jìn)了網(wǎng)絡(luò)編輯性能,而且提升了調(diào)試能力。圖2.1 EDA工具(gngj)設(shè)計(jì)流程圖3. 系統(tǒng)軟件(x tn run jin)設(shè)計(jì)3.1軟件系統(tǒng)流程圖本設(shè)計(jì)(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軟件平臺下不能明顯仿真步進(jìn)變化,所以本設(shè)計(jì)沒有介紹步進(jìn)仿真。3.2 數(shù)字信號發(fā)生器的軟件設(shè)計(jì)本次設(shè)計(jì)的軟件部分主要運(yùn)用Altera公司的Quartus軟件平臺,其開發(fā)

29、流程基本分成2個步驟:1.設(shè)計(jì)輸入Quartus軟件的設(shè)計(jì)文件可以來自Quartus9.0設(shè)計(jì)輸入工具或各種工業(yè)標(biāo)準(zhǔn)的EDA設(shè)計(jì)輸入工具Quartus強(qiáng)大的集成功能允許信息在各種應(yīng)用程序間自由交流,設(shè)計(jì)者可在一個工程內(nèi)直接從某個設(shè)計(jì)文件轉(zhuǎn)換到其他任何設(shè)計(jì)文件,而不必理會設(shè)計(jì)文件是圖形格式、文本格式,還是波形格式。Quartus具有如下的多種設(shè)計(jì)輸入方法:原理圖輸入與符號編輯、硬件描述語言、波形設(shè)計(jì)輸入、平面圖編輯以及層次設(shè)計(jì)輸入。如此眾多的設(shè)計(jì)方法幫助設(shè)計(jì)者輕松地完成設(shè)計(jì)輸入。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)框圖方波信號仿真:因?yàn)榉群皖l率調(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)框圖三角波信號仿真:因?yàn)榉群皖l率調(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就能得到所需正弦波信號。因?yàn)?4個數(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)框圖正弦波信號仿真:因?yàn)榉群皖l率調(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è)計(jì),讓我深深的感覺到自己所學(xué)知識真是非常的淺薄。面對電子(dinz)技術(shù)日新月異的發(fā)展,利用EDA手段進(jìn)行設(shè)計(jì)已成為不可阻擋的趨勢。相對于傳統(tǒng)至底向上的設(shè)計(jì)方式,自上而下的設(shè)計(jì)具有其顯著的優(yōu)越性。利用EDA設(shè)計(jì)軟件輔助設(shè)計(jì),方便快捷,減少了錯誤率的產(chǎn)生,縮短了產(chǎn)品的設(shè)計(jì)及上市周期,既減輕了設(shè)計(jì)工作量又滿足了商業(yè)利益的需求。該系統(tǒng)以FPGA10K10器件為核心部件,可利用軟件編程實(shí)現(xiàn)了對D/A轉(zhuǎn)換信號的處理(chl)。努力做到了線路簡單、高性價比的特點(diǎn),充分利用了軟件編程,彌補(bǔ)了硬件元器件的不足。在設(shè)計(jì)過程當(dāng)

36、中,遇到了軟件操作不熟練,程序編寫不規(guī)范等諸多問題,通過對問題的總結(jié)分析得出,應(yīng)用軟件的主要功能必須熟練操作,才能提高工作效率,需要規(guī)范操作的地方必須嚴(yán)格按照使用說明操作,避免由于軟件使用不當(dāng)造成的錯誤產(chǎn)生。程序的編寫格式必須規(guī)范,模塊、端口以及信號變量的命名應(yīng)當(dāng)反映實(shí)際意義,縮進(jìn)(su jn)格式工整明了,方便閱讀理解,這樣有利于程序的編寫,有利于分析調(diào)試,也有利于程序的重復(fù)使用。此次課題的設(shè)計(jì)已告一段落,在這次畢業(yè)設(shè)計(jì)過程中需要用一些不曾學(xué)過的東西時,就要去有針對性地查找資料,然后加以吸收利用,以提高自己的應(yīng)用能力,而且還能增長自己見識,補(bǔ)充最新的專業(yè)知識,學(xué)會了一些編程方面的常用算法。作

37、為一名電子專業(yè)的畢業(yè)生,我將會繼續(xù)在新技術(shù)的道路上不斷鉆研、開拓進(jìn)取。相信通過此次設(shè)計(jì)的鍛煉,我對專業(yè)知識和技能的掌握將更加牢靠,在今后的工作和學(xué)習(xí)中,必將使我受益匪淺,取得應(yīng)有的優(yōu)勢。致謝 我覺得作為一名通信工程專業(yè)的學(xué)生,Quartus的編程與設(shè)計(jì)是很有意義的,在這個過程中可以學(xué)會如何把自己平時所學(xué)的東西應(yīng)用到實(shí)際中。雖然我對這門課懂的并不多,很多基礎(chǔ)的東西都還沒有很好的掌握,覺得有點(diǎn)難,但是靠著這兩個多星期的突擊學(xué)習(xí),自己開始主動學(xué)習(xí)并逐步從基礎(chǔ)慢慢開始弄懂它。我認(rèn)為這個收獲應(yīng)該說是相當(dāng)大的。我覺得課程設(shè)計(jì)反映的是一個從理論到實(shí)際應(yīng)用的過程,這個過程對缺乏實(shí)際經(jīng)驗(yàn)的我們是非常重要的。通過

38、這次課程設(shè)計(jì)我認(rèn)識到自身知識及能力的薄弱,更讓我知道實(shí)踐的重要性。在以后的學(xué)習(xí)過程中,我會更加努力學(xué)習(xí)Quartus的相關(guān)知識和應(yīng)用,真正能夠運(yùn)用Quartus解決各種實(shí)際的問題。通過這次課程設(shè)計(jì),我得到了一次用專業(yè)知識、專業(yè)技能分析和解決問題全面系統(tǒng)的鍛煉。我在FPGA的基本原理、FPGA應(yīng)用系統(tǒng)開發(fā)方面,以及在常用編程設(shè)計(jì)思路技巧的掌握方面都能向前邁了一大步,為日后成為合格的應(yīng)用型人才打下良好的基礎(chǔ)。參考文獻(xiàn)1譚會生,張昌凡等. EDA技術(shù)及應(yīng)用(第二版)M. 西安:西安電子科技大學(xué)出版社,2004,17-78.2李國麗,朱維勇,欒銘.EDA與數(shù)字系統(tǒng)設(shè)計(jì)(shj)M.北京:機(jī)械工業(yè)出版社

39、,2004.1.4-10,98-128.3徐金龍,劉宇紅,劉橋.基于(jy)DDS原理的任意波形信號發(fā)生器的設(shè)計(jì)J.現(xiàn)代機(jī)械,2006,4:74-76.4高琴,姜壽山,魏忠義.基于FPGA的DDS信號源設(shè)計(jì)與實(shí)現(xiàn)J.西安工程科技(kj)學(xué)院學(xué)報(bào),2006,20(2):211-214.5楊麗,李鎮(zhèn),孫厚軍.基于FPGA的多波形信號發(fā)生器J.無線電工程,2005,35(7):46-48.6洪嘉,彭啟琮,基于FPGA的數(shù)字中頻信號發(fā)生器硬件設(shè)計(jì)J.信息技術(shù),2005,12:63-65.7杜培明.基于FPGA動態(tài)信號產(chǎn)生器設(shè)計(jì)J.現(xiàn)代電子技術(shù),2006,17:78-80.8莫小靈.正弦信號發(fā)生器的FP

40、GA實(shí)現(xiàn)J.新余高專學(xué)報(bào),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)進(jìn)程-/PROCESS(CLK,RST)BEGINIF RST=0 THEN -當(dāng)RST=0時復(fù)位(f wi)CNT1H0);ELSIF CLKEVENT A

47、ND CLK=1 THEN -上升(shngshng)沿時計(jì)數(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論