![基于FPGA函數(shù)信號發(fā)生器的設(shè)計.doc_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/12/982120db-2383-44d5-a470-d48617cf9f8f/982120db-2383-44d5-a470-d48617cf9f8f1.gif)
![基于FPGA函數(shù)信號發(fā)生器的設(shè)計.doc_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/12/982120db-2383-44d5-a470-d48617cf9f8f/982120db-2383-44d5-a470-d48617cf9f8f2.gif)
![基于FPGA函數(shù)信號發(fā)生器的設(shè)計.doc_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/12/982120db-2383-44d5-a470-d48617cf9f8f/982120db-2383-44d5-a470-d48617cf9f8f3.gif)
![基于FPGA函數(shù)信號發(fā)生器的設(shè)計.doc_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/12/982120db-2383-44d5-a470-d48617cf9f8f/982120db-2383-44d5-a470-d48617cf9f8f4.gif)
![基于FPGA函數(shù)信號發(fā)生器的設(shè)計.doc_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/12/982120db-2383-44d5-a470-d48617cf9f8f/982120db-2383-44d5-a470-d48617cf9f8f5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、畢業(yè)設(shè)計說明書基于FPGA多功能波形發(fā)生器的設(shè)計基于FPGA的多功能波形發(fā)生器的設(shè)計摘 要數(shù)字信號發(fā)生器是數(shù)字信號處理中不可缺少的調(diào)試設(shè)備,在生產(chǎn)生活中的應(yīng)用非常廣泛。本文所設(shè)計的內(nèi)容就是基于FPGA實現(xiàn)數(shù)字信號發(fā)生器的設(shè)計,F(xiàn)PGA具有密度高,功耗低,體積小,可靠性高等特點,設(shè)計時可以不必過多考慮具體硬件連接;本設(shè)計中應(yīng)用VHDL硬件描述語言進行描述,使該數(shù)字信號發(fā)生器可以產(chǎn)生正弦波、方波、三角波、三個獨立的波形,并能對所產(chǎn)生的三種波形的頻率和幅度進行調(diào)節(jié)。關(guān)鍵詞:直接數(shù)字頻率合成;數(shù)字波形發(fā)生器;FPGA;DDS;VHDL目 錄1. 緒論11.1 背景與意義11.2 國內(nèi)外發(fā)展現(xiàn)狀12.
2、設(shè)計簡介12.1 DDS技術(shù)12.2 FPGA簡介22.3 VHDL簡介42.4 Quartus簡介63. 系統(tǒng)硬件電路設(shè)計83.1 數(shù)字信號發(fā)生器的系統(tǒng)組成83.2 設(shè)計原理及要求83.3 輸入部分93.3.1頻率、幅值和波形轉(zhuǎn)換部分93.3.2系統(tǒng)時鐘電路113.3.3 電源電路的設(shè)計113.4 FPGA部分123.5 D/A轉(zhuǎn)換部分133.5.1 DAC0832轉(zhuǎn)換器簡介143.6濾波電路154. 系統(tǒng)軟件設(shè)計164.1軟件系統(tǒng)流程圖164.2主要函數(shù)語句分析164.3 數(shù)字信號發(fā)生器的軟件設(shè)計184.4軟件各模塊194.4.1波形發(fā)生器194.4.2 主控制模塊204.4.3 波形數(shù)據(jù)
3、產(chǎn)生模塊204.4.4波形產(chǎn)生模塊235. 設(shè)計總結(jié)25附 錄26參考文獻356. 致謝辭361緒論1.1 背景與意義在電子技術(shù)領(lǐng)域,常常需要波形、頻率、幅度都可調(diào)的電信號,用于產(chǎn)生這種電信號的電子儀器稱作信號發(fā)生器。信號發(fā)生器是一種常用的信號源,廣泛運用于科學(xué)研究、生產(chǎn)實踐和教學(xué)試驗等領(lǐng)域。特別是在通信系統(tǒng)的科研實驗中,常常需要用到不同頻率和幅度的信號,如正弦波、三角波、方波和鋸齒波等。作為一種為電子測量和計量提供電信號的設(shè)備,它和萬用表、示波器、頻率計等儀器一樣,是最普通、最基本,也是運用最廣泛的電子儀器之一,幾乎所有電參量的測量都需要用到信號發(fā)生器。傳統(tǒng)的波形發(fā)生器多采用模擬分立元件實現(xiàn)
4、,產(chǎn)生的波形種類要受到電路硬件的限制,體積大、靈活性和穩(wěn)定性也相對較差。近年來,以數(shù)字技術(shù)為基礎(chǔ)的數(shù)字信號發(fā)生器得到了飛速的發(fā)展,性能指標(biāo)都達到了一個新的水平?,F(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)生信號的電子儀器。信號源主要給被測電路提供所需要的已知信號(各種波形),然后用其它儀
5、表進行測量的參數(shù)。信號源有很多種分類方法,其中一種方法可分為混和信號源和邏輯信號源兩種。其中混和信號源主要輸出模擬波形;邏輯信號源輸出數(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ā)生器對硬件要求比較高,需要
6、高性能的鎖相環(huán)和截止頻率可調(diào)的低通濾波器,且頻率分辨率低,頻率切換速度較慢,已經(jīng)逐步退出市場。目前市場上的數(shù)字信號發(fā)生器主要采用直接數(shù)字合成(Direct Digital synthesizer ,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ù)上還是市場占有率方面
7、在國際上都享有盛譽,但其價格也相當(dāng)昂貴,高端型號每臺價格都在幾萬美金左右,低端的也要幾萬人民幣。Tektronix公司的獨立結(jié)構(gòu)任意波形發(fā)生器AFG3000系列功能完善,人機界面友好,操作方便,可以以多種方式連接到PC機上,其最高采樣率能達到2GS/s,輸出正弦信號最高頻率為240MHz,任意波頻率最高能達到50MHz,并配備的強大的波形編輯軟件Arbexpress,用戶可以方便地創(chuàng)建和編輯自己的波形。Agilent公司的PXI模塊任意波形發(fā)生器采樣率已經(jīng)能達到1.25GS/s,最高輸出頻率500MHz。我國研制任意波形發(fā)生器是從上世紀(jì)90年代開始的,近年來有一批本土廠商奮起直追,取得了可喜的
8、成果。例如南京盛普科技電子有限公司的SPF120型信號發(fā)生器的主波輸出頻率達到了120MHz,任意波最高頻率為100KHz;北京普源精電科技有限公司(RIGOL)生產(chǎn)的DG1000/2000/3000系列任意波形發(fā)生器,在性能上已經(jīng)大略相當(dāng)于國外中低端產(chǎn)品。本課題的主要研究內(nèi)容是參考直接數(shù)字頻率合成原理(DDS)技術(shù)6,利用Quartus II 5.1軟件作為平臺,VHDL語言作為開發(fā)語言,基于FPGA配合相應(yīng)外圍電路實現(xiàn)一個數(shù)字信號發(fā)生器,其電路結(jié)構(gòu)簡單,容易擴展,具有極大的靈活性和方便性,實現(xiàn)了產(chǎn)生頻率、幅度可調(diào)的正弦波、三角波、方波的信號發(fā)生器。2. 設(shè)計簡介2.1 DDS技術(shù) DDS與
9、大多數(shù)的數(shù)字信號處理技術(shù)一樣,它的基礎(chǔ)仍然是奈圭斯特采定理。奈圭斯特采樣定理是任何模擬信號進行數(shù)字化處理的基礎(chǔ),它描述的是一個帶限的模擬信號經(jīng)抽樣變成離散序列后可不可以由這些離散序列恢復(fù)出原始模擬信號的問題。奈圭斯特采樣定理告訴我們,當(dāng)抽樣頻率大于或者等于模擬信號最高頻率的兩倍時,可以由抽樣得到的離散序列無失真地恢復(fù)出原始模擬信號。只不過在DDS技術(shù)中,這個過程被顛倒過來了。DDS不是對模擬信號進行抽樣,而是一個假定抽樣過程已經(jīng)發(fā)生且抽樣值已經(jīng)量化完成,如何通過某種方法把已經(jīng)量化的數(shù)值重建原始信號的問題。DDS電路一般由參考時鐘、相位累加器、波形存通濾波器(LPF)組成。其結(jié)構(gòu)如圖2.1所示。
10、圖2.1 DDS基本結(jié)構(gòu)框圖其中,f c為參考時鐘頻率,K為頻率控制字,N為相位累加器位數(shù),A為波形存儲器地址位數(shù),D為波形存儲器的數(shù)據(jù)位字長和D/A轉(zhuǎn)換器位數(shù)。DDS系統(tǒng)中的參考時鐘通常由一個高穩(wěn)定度的晶體振蕩器來產(chǎn)生,用來作為整個系統(tǒng)各個組成部分的同步時鐘。頻率控制字(Frequency Control Word,F(xiàn)CW)實際上是二進制編碼的相位增量值,它作為相位累加器的輸入。相位累加器由加法器和寄存器級聯(lián)而成,它將寄存器的輸出反饋到加法器的輸入端實現(xiàn)累加的功能。在每一個時鐘脈沖f c,相位累加器把頻率字K累加一次,累加器的輸出相應(yīng)增加一個步長的相位增量,由此可以看出,相位累加器的輸出數(shù)據(jù)
11、實質(zhì)上是以K為步長的線性遞增序列(在相位累加器產(chǎn)生溢出以前),它反映了合成信號的相位信息。相位累加器的輸出與波形存儲器的地址線相連,相當(dāng)于對波形存儲器進行查表,這樣就可以把存儲在波形存儲器中的信號抽樣值(二進制編碼值)查出。在系統(tǒng)時鐘脈沖的作用下,相位累加器不停的累加,即不停的查表。波形存儲器的輸出數(shù)據(jù)送到D/A轉(zhuǎn)換器,D/A轉(zhuǎn)換器將數(shù)字量形式的波形幅度值轉(zhuǎn)換成一定頻率的模擬信號,從而將波形重新合成出來。若波形存儲器中存放的是正弦波幅度量化數(shù)據(jù),那么D/A轉(zhuǎn)換器的輸出是近似正弦波的階梯波,還需要后級的低通平滑濾波器進一步抑制不必要的雜波就可以得到頻譜比較純凈的正弦波信號。圖2.2所示為DDS各
12、個部分的輸出信號。由于受到字長的限制,相位累加器累加到一定值后,就會產(chǎn)生一次累加溢出,這樣波形存儲器的地址就會循環(huán)一次,輸出波形循環(huán)一周。相位累加器的溢出頻率即為合成信號的頻率??梢姡l率控制字K越大,相位累加器產(chǎn)生溢出的速度越快,輸出頻率也就越高。故改變頻率字(即相位增量),就可以改變相位累加器的溢出時間,在參考頻率不變的條件下就可以改變輸出信號的頻率。圖2.2 DDS各部分輸出波形2.2 FPGA簡介數(shù)字集成電路從產(chǎn)生到現(xiàn)在,經(jīng)過了早期的電子管、晶體管、小中規(guī)模集成電路,到大規(guī)模、超大規(guī)模集成電路(VLSIC)以及許多既有特定功能的專用集成電路的發(fā)展過程。但是,隨著為電子技術(shù)的發(fā)展,設(shè)計與
13、制造集成電路的任務(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ù)雜可編程邏輯器件(Complex Programmable Logic Device)的簡稱,F(xiàn)PGA是現(xiàn)場可編程門陣列(Field Prog
14、rammable Gate Array)的簡稱。兩者的功能基本相同,只是實現(xiàn)原理略有不同,但有時可以忽略這兩者的區(qū)別。不同廠家對可編程邏輯器件的叫法也不盡相同。Altera公司把自己的可編程邏輯器件產(chǎn)品中的MAX系列(乘積項技術(shù),EEPROM技術(shù))、FLEX系列(查找表技術(shù),SRAM工藝)都叫做CPLD;而把也是SRAM工藝、基于查找表技術(shù)、要外掛配置用的FLEX系列的EPROM叫做FPGA。早期的可編程邏輯器件都屬于低密度PLD(Programmable Logic Device),結(jié)構(gòu)簡單,設(shè)計靈活,但規(guī)模小,難以實現(xiàn)復(fù)雜的邏輯功能。1985年Xilinx公司首先推出了現(xiàn)場可編程門陣列FP
15、GA,這是一種新型的高密度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è)計為可編程模式,即通過軟件的靈活配置,可適應(yīng)不同的電氣標(biāo)準(zhǔn)與I/O物理特性;可以調(diào)整匹配阻抗特性,上下拉電阻;可以調(diào)整輸出驅(qū)動電流的大小等;(2)基
16、本可編程邏輯單元。FPGA的基本可編程邏輯單元是由查找表(LUT)和寄存器(Register)組成的,查找表完成純組合邏輯功能。FPGA內(nèi)部寄存器可配置為帶 同步/異步復(fù)位和置位、時鐘使能的觸發(fā)器,也可以配置成為鎖存器。FPGA一般依賴寄存器完成同步時序邏輯設(shè)計。一般來說,比較經(jīng)典的基本可編程單元的配置是一個寄存器加一個查找表,但不同廠商的寄存器和查找表的內(nèi)部結(jié)構(gòu)有一定的差異,而且寄存器和查找表的組合模式也不同。(3)嵌入式塊RAM。目前大多數(shù)FPGA都有內(nèi)嵌的塊RAM。嵌入式塊RAM可以配置為單端口RAM、雙端口RAM、偽雙端口RAM、CAM、FIFO等存儲結(jié)構(gòu)。(4)豐富的布線資源。布線資
17、源連通FPGA內(nèi)部所有單元,連線的長度和工藝決定著信號在連線上的驅(qū)動能力和傳輸速度。布線資源的劃分:A全局性的專用布線資源:以完成器件內(nèi)部的全局時鐘和全局復(fù)位/置位的布線;B長線資源:用以完成器件Bank間的一些高速信號和一些第二全局時鐘信號的布線;C短線資源:用來完成基本邏輯單元間的邏輯互連與布線;D其他:在邏輯單元內(nèi)部還有著各種布線資源和專用時鐘、復(fù)位等控制信號線。(5)底層嵌入功能單元。由廠商及芯片型號決定。(6)內(nèi)嵌專用硬核。與“底層嵌入單元”有區(qū)別,這里指的硬核主要是那些通用性相對較弱的芯片,不是所有FPGA芯片都包含硬核。FPGA的基本特點主要有:
18、; (1)采用FPGA設(shè)計ASIC電路,用戶不需要投片生產(chǎn),就能得到合用的芯片。 (2)FPGA可做其它全定制或半定制ASIC電路的中試樣片。 (3)FPGA內(nèi)部有豐富的觸發(fā)器和IO引腳。 (4)FPGA是ASIC電路中設(shè)計周期最短、開發(fā)費用最低、風(fēng)險最小的器件之一。 (5)FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容。 使用FPGA時,可以根據(jù)不同的配置模式,采用不同的編
19、程方式。加電時,F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGA進入工作狀態(tài)。掉電后,F(xiàn)PGA恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失,因此,F(xiàn)PGA能夠反復(fù)使用。FPGA的編程無須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當(dāng)需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片F(xiàn)PGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,F(xiàn)PGA的使用非常靈活。FPGA有多種配置模式:并行主模式為一片F(xiàn)PGA加一片EPROM的方式;主從模式可以支持一片PROM編程多片F(xiàn)PGA;串行模式可以采用串行PROM編程FPGA;外設(shè)模式可以將FPGA作為微處理器的
20、外設(shè),由微處理器對其編程。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è)計實體(可以是一個元件,一個電路模塊或一個系統(tǒng))分成外部(或稱可是部分,及端口)和內(nèi)部(或稱可視部分),既涉及實
21、體的內(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è)計描述功能。此外 ,VHDL 語言能夠同時支持同步電路、異步電路和隨機電路的設(shè)計實現(xiàn)
22、, 這是其他硬件描述語言所不能比擬的。VHDL 語言設(shè)計方法靈活多樣 , 既支持自頂向下的設(shè)計方式, 也支持自底向上的設(shè)計方法; 既支持模塊化設(shè)計方法, 也支持層次化設(shè)計方法。(2) VHDL 語言具有強大的硬件描述能力。VHDL 語言具有多層次的電路設(shè)計描述功能,既可描述系統(tǒng)級電路 , 也可以描述門級電路;描述方式既可以采用行為描述、寄存器傳輸描述或者結(jié)構(gòu)描述,也可以采用三者的混合描述方式。同時,VHDL 語言也支持慣性延遲和傳輸延遲,這樣可以準(zhǔn)確地建立硬件電路的模型。VHDL 語言的強大描述能力還體現(xiàn)在它具有豐富的數(shù)據(jù)類型。VHDL 語言既支持標(biāo)準(zhǔn)定義的數(shù)據(jù)類型,也支持用戶定義的數(shù)據(jù)類型,
23、這樣便會給硬件描述帶來較大的自由度。(3) VHDL 語言具有很強的移植能力。VHDL 語言很強的移植能力主要體現(xiàn)在: 對于同一個硬件電路的 VHDL 語言描述 , 它可以從一個模擬器移植到另一個模擬器上、從一個綜合器移植到另一個綜合器上或者從一個工作平臺移植到另一個工作平臺上去執(zhí)行。(4) VHDL 語言的設(shè)計描述與器件無關(guān)。采用 VHDL 語言描述硬件電路時, 設(shè)計人員并不需要首先考慮選擇進行設(shè)計的器件。這樣做的好處是可以使設(shè)計人員集中精力進行電路設(shè)計的優(yōu)化, 而不需要考慮其他的問題。當(dāng)硬件電路的設(shè)計描述完成以后 ,VHDL 語言允許采用多種不同的器件結(jié)構(gòu)來實現(xiàn)。(5) VHDL 語言程序
24、易于共享和復(fù)用。VHDL 語言采用基于庫 ( library) 的設(shè)計方法。在設(shè)計過程中 , 設(shè)計人員可以建立各種可再次利用的模塊 , 一個大規(guī)模的硬件電路的設(shè)計不可能從門級電路開始一步地進行設(shè)計 , 而是一些模塊的累加。這些模塊可以預(yù)先設(shè)計或者使用以前設(shè)計中的存檔模塊, 將這些模塊存放在庫中 , 就可以在以后的設(shè)計中進行復(fù)用。由于 VHDL 語言是一種描述、模擬、綜合、優(yōu)化和布線的標(biāo)準(zhǔn)硬件描述語言 , 因此它可以使設(shè)計成果在設(shè)計人員之間方便地進行交流和共享, 從而減小硬件電路設(shè)計的工作量, 縮短開發(fā)周期。2.4 Quartus簡介Quartus II 是Altera公司的綜合性PLD開發(fā)軟件
25、,支持原理圖、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/MegaFunction宏功能模塊庫,使用戶可以充分利用成熟的模塊,簡化了設(shè)計的復(fù)雜性、加快了設(shè)計速度。對第三方EDA工具的良好支持也使用戶可以在
26、設(shè)計流程的各個階段使用熟悉的第三方EDA工具。此外,Quartus II 通過和DSP Builder工具與 Matlab/Simulink相結(jié)合,可以方便地實現(xiàn)各種DSP應(yīng)用系統(tǒng);支持Altera的片上可編程系統(tǒng)(SOPC)開發(fā),集系統(tǒng)級設(shè)計、嵌入式軟件開發(fā)、可編程邏輯設(shè)計于一體,是一種綜合性的開發(fā)平臺。 MaxplusII作為Altera的上一代PLD設(shè)計軟件,由于其出色的易用性而得到了廣泛的應(yīng)用。目前Altera已經(jīng)停止了對Maxplus II 的更新支持,Quartus II 與之相比不僅僅是支持器件類型的豐富和圖形界面的改變。Altera在Quartus II 中包含了許多諸如Sig
27、nalTap 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è)計要求,其中包括支持基于Internet的協(xié)作設(shè)計。Quartus平臺與Cadence、Exemplar Logic、 Mentor Graphics、Synopsys和S
28、ynplicity等EDA供應(yīng)商的開發(fā)工具相兼容。改進了軟件的Logic Lock模塊設(shè)計功能,增添 了Fast Fit編譯選項,推進了網(wǎng)絡(luò)編輯性能,而且提升了調(diào)試能力。圖2.3 EDA工具設(shè)計流程圖3. 系統(tǒng)硬件電路設(shè)計3.1 數(shù)字信號發(fā)生器的系統(tǒng)組成該數(shù)字信號發(fā)生器系統(tǒng)主要由輸入部分、FPGA部分、D/A轉(zhuǎn)換部分、頻率、幅值調(diào)節(jié)和波形轉(zhuǎn)換部分組成。如圖3.1所示。分頻器FPGA部分系 統(tǒng) 控 制 器時鐘復(fù)位波形調(diào)幅調(diào)頻正弦波三角波方波其他波型波 形 DA 轉(zhuǎn) 換濾波輸出圖3.1 數(shù)字信號發(fā)生器系統(tǒng)組成3.2 設(shè)計原理及要求 在本設(shè)計中,利用FPGA,采用EDA(Electronic Des
29、ign Automation)中自頂向下(top-to-down)的設(shè)計方法,選用基于相位累加器的直接數(shù)字合成/ DDS技術(shù)來完成數(shù)字信號發(fā)生器各功能模塊的設(shè)計。DDS這種結(jié)構(gòu)主要由相位累加器、 相位調(diào)制器、 波形 ROM 查找表、 D/ A 構(gòu)成。其中相位累加器、 相位調(diào)制器、 波形 ROM 查找表是 DDS 結(jié)構(gòu)中的數(shù)字部分 ,由于具有數(shù)控頻率合成的功能 ,又合稱為 NCO2。它的工作原理是:將要產(chǎn)生的波形數(shù)據(jù)存入波形存儲器 ,然后在參考時鐘的作用下 ,對輸入的頻率數(shù)據(jù)進行累加 ,并且將累加器的輸出一部分作為讀取波形存儲器的地址 ,將讀出的波形數(shù)據(jù)經(jīng)D/A轉(zhuǎn)換為相應(yīng)的模擬電壓信號。本研究的
30、重點就是用VHDL來實現(xiàn)DDS的功能 ,能夠達到高精度的輸出 ,同時標(biāo)準(zhǔn)波形數(shù)據(jù)生成存放在 ROM 中 ,可以簡化運算過程 ,提高運算速度 ,加快反應(yīng)時間。本設(shè)計主要通過VHDL語言實現(xiàn)頻率控制、波形控制、 波形數(shù)據(jù)的提取、 波形的產(chǎn)生工作。其中 ,波形數(shù)據(jù)運用VHDL語言編寫 ??刂撇糠种饕捎卯a(chǎn)生高低電平的撥碼開關(guān)控制。程序下載到 FPGA 上實現(xiàn) ,經(jīng)過D/ A 輸出波形。并通過Altera公司QuartusII5.1軟件進行波形的仿真,從而完成整個設(shè)計。本設(shè)計的任務(wù)是設(shè)計一個基于FPGA的數(shù)字信號發(fā)生器,根據(jù)任務(wù)書要求必須達到以下要求:1.利用EDA開發(fā)系統(tǒng)、Quartus II 5.
31、1軟件實現(xiàn)數(shù)字信號發(fā)生器的設(shè)計;2.根據(jù)整體電路的工作原理,完成各個子模塊的設(shè)計及實現(xiàn);3.對數(shù)字信號發(fā)生器完成VHDL語言描述;4.該數(shù)字信號發(fā)生器能夠產(chǎn)生正弦波、方波、三角波、鋸齒波信號;5.產(chǎn)生的波形信號頻率和幅度可通過按鍵進行調(diào)節(jié);6.用按鍵調(diào)節(jié)實現(xiàn)各種波形的轉(zhuǎn)換。3.3 輸入部分輸入部分包含以下功能按鍵:時鐘、復(fù)位、波形、調(diào)幅、調(diào)頻。1時鐘:標(biāo)準(zhǔn)的50MHZ時鐘輸入。2復(fù)位:低電平復(fù)位。3波形:為波形輸出選擇開關(guān),可以選擇單波形的輸出。4調(diào)幅:可以遞增和遞減正弦波、三角波、方波的幅度。5調(diào)頻:可以遞增和遞減正弦波、三角波、方波的頻率。3.3.1頻率、幅值和波形轉(zhuǎn)換部分由于采用DDS,
32、在ROM中存有波形一個周期的n個等間隔歸一化采樣數(shù)據(jù),改變相位累加器步進,從而改變對ROM中數(shù)據(jù)的讀取速度,即可合成不同頻率波形,存儲器中存入過量的采樣值,使得采樣點數(shù)較少時,依然能夠得到較好波形輸出,從而得到較高頻率輸出。否則,采樣點數(shù)太少會使產(chǎn)生波形嚴(yán)重失真。輸出波形頻率計算: (式3.1)式中是晶振頻率K 分頻系數(shù) N 相位累加器位數(shù) S 相位累加器步長若取代入式(3.1)得到。因此,只要控制S 的值就可準(zhǔn)確實現(xiàn)頻率步進為10 Hz 的等步進調(diào)頻。如采用32 MHz 的晶振,也能得到10 Hz 精確的等步進調(diào)節(jié),但犧牲了波形質(zhì)量。通過實驗測試和比較,可用下式計算頻率: (式3.2)因為6
33、5306不是一個2N 的數(shù),這樣波形會漏掉少量采樣點。即使這樣,得到波形依然平滑,可滿足設(shè)計要求。若要使頻率調(diào)節(jié)步進減小到1Hz,對晶振有特殊要求,它的振蕩頻率必須是2的N次冪。由式(3.1)舉例說明累加器位數(shù)不同產(chǎn)生差異: (式3.3) (式3.4)式(3.4) 產(chǎn)生的波形優(yōu)于式(3.3) ,最高頻率也高出幾倍。由于DAC0832的電流建立時間是1s ,因此輸出波形的最高頻率受下式限制: (式3.5)因此,要得到更高頻率的波形需使用更高速的D/A轉(zhuǎn)換器。頻率和幅值調(diào)節(jié)和波形轉(zhuǎn)換電路如圖3.2所示。八個按鍵一端接1K排阻(上拉電阻)后接VCC,一端接FPGA控制信號引腳輸入端,按鍵有八個,分別
34、為復(fù)位鍵SW1,控制波形轉(zhuǎn)換鍵SW2,控制幅度步進鍵SW3,控制幅度步減鍵SW4,控制頻率步進鍵SW5,控制頻率步減鍵SW6,控制幅值步進鍵SW7,控制幅值步進鍵SW8。圖3.2 輸入按鍵電路3.3.2系統(tǒng)時鐘電路系統(tǒng)即FPGA運行時所需的時鐘,采用50MHZ的有源晶振產(chǎn)生,電路如圖3.3所示。其中C5為高頻旁路電容,以濾除不良的高檔次諧波,對時鐘波形進行整形,CLK1為輸入時鐘信號源。 圖3.3 系統(tǒng)時鐘電路3.3.3 電源電路的設(shè)計電源是電路正常工作的保證,直接影響著系統(tǒng)的穩(wěn)定。如下圖3.4所示,U2為5V直流電源輸入端,為USB供電,D2為電源指示。輸出部分有兩個部分,分別為VEE+5V
35、和3.3V的VCC。其中VEE是給D/A供電,VCC給整個系統(tǒng)供電。圖3.4 電源電路3.4 FPGA部分本設(shè)計使用的FPGA芯片為EPF10K50ETI144-2芯片,其典型邏輯門數(shù)(包括邏輯門和RAM)為50000門,最大可用系統(tǒng)門數(shù)為116000門,邏輯單元(Logic elements)為2880個,邏輯陣列模塊(Logic array blocks)為360個,嵌入式陣列模塊(Embedded array blocks)為10個,RAM總?cè)萘繛?0480字節(jié),用戶可用的I/O引腳最多為310個。芯片的工作電壓為+5V。其內(nèi)部結(jié)構(gòu)如圖3.5所示。圖3.5 EPF10K50ETI144-
36、2芯片結(jié)構(gòu)圖通常情況下在硬件調(diào)試的過程中一般使用下載電纜進行下載,而當(dāng)調(diào)試完成以后要用配置芯片對FPGA進行配置。配置芯片在每次系統(tǒng)上電以后自動將配置文件加載到FPGA中形成電路。3.5 D/A轉(zhuǎn)換部分D/A轉(zhuǎn)換器電路的設(shè)計:從波形RAM中讀出的幅度量化數(shù)據(jù)還只是一個數(shù)字信號,要得到最后的輸出信號必須經(jīng)過數(shù)模轉(zhuǎn)換器。因此在波形RAM之后要設(shè)計一個D/A轉(zhuǎn)換電路。數(shù)模(D/A)轉(zhuǎn)換電路的作用是把已經(jīng)合成的波形幅值的數(shù)字量轉(zhuǎn)換成模擬量,其速度和特性直接影響整個系統(tǒng)的性能。D/A轉(zhuǎn)換器件的首要特性要求是高速,其次是轉(zhuǎn)換位數(shù),本設(shè)計中選用8位的D/A芯片DAC0832。波形幅度量化序列經(jīng)D/A轉(zhuǎn)換后成
37、為階梯波。頻率合成器對D/A轉(zhuǎn)換器的分辨率有一定的要求,D/A轉(zhuǎn)換器的分辨率越高,合成的波形臺階數(shù)就越多輸出的波形的精度也就越高。D/A的輸出用電壓形式表示一般應(yīng)為: (式3.6) 式中D為D/A的輸入數(shù)據(jù)值,N為D/AC的位數(shù),即通常所指的D/AC的分辨率,為輸入D/A的參考電壓。D/A轉(zhuǎn)換電路的設(shè)計首先是要選擇一款合適的D/A轉(zhuǎn)換芯片。D/A轉(zhuǎn)換芯片種類繁多。選擇D/A轉(zhuǎn)換芯片要根據(jù)很多因素來確定,最主要的就是要考慮字長和轉(zhuǎn)換速度。本設(shè)計采用DAC0832 作為D/A 轉(zhuǎn)換器件,其具有數(shù)字量的輸入鎖存功能,DAC0832芯片的輸出通過放大器OP07,即可用示波器觀察。100K的電位器在+5
38、V和0V電壓間為DAC0832提供參考電壓。D/A轉(zhuǎn)換電路的原理圖如圖3.6所示:圖3.6 D/A轉(zhuǎn)換電路的原理圖3.5.1 DAC0832轉(zhuǎn)換器簡介DAC0832是雙列直插式8位D/A轉(zhuǎn)換器。能完成數(shù)字量輸入到模擬量(電流)輸出的轉(zhuǎn)換。其主要參數(shù)如下:分辨率為8位,轉(zhuǎn)換時間為1s,滿量程誤差為±1LSB,參考電壓為(+10-10)V,供電電源為(+5+15)V,邏輯電平輸入與TTL兼容。從圖3.7中可見,在DAC0832中有兩級鎖存器,第一級鎖存器稱為輸入寄存器,它的允許鎖存信號為ILE,第二級鎖存器稱為DAC寄存器,它的鎖存信號也稱為通道控制信號XFER。圖3.7 DAC0832
39、引腳圖圖3.7中,當(dāng)ILE為高電平,片選信號CS 和寫信號WR1為低電平時,輸入寄存器控制信號為1,這種情況下,輸入寄存器的輸出隨輸入而變化。此后,當(dāng)WR1由低電平變高時,控制信號成為低電平,此時,數(shù)據(jù)被鎖存到輸入寄存器中,這樣輸入寄存器的輸出端不再隨外部數(shù)據(jù)DB的變化而變化。對第二級鎖存來說,傳送控制信號XFER 和寫信號WR2同時為低電平時,二級鎖存控制信號為高電平,8位的DAC寄存器的輸出隨輸入而變化,此后,當(dāng)WR2由低電平變高時,控制信號變?yōu)榈碗娖?,于是將輸入寄存器的信息鎖存到DAC寄存器中。DAC0832各引腳編號及其作用: 1號CS引腳:片選信號輸入線,低電平有效; 2號WR1引腳
40、:為輸入寄存器的寫選通信號; 3號AGND引腳:模擬地,模擬信號和基準(zhǔn)電源的參考地; 4-7,13-16號D0-D7引腳:數(shù)據(jù)輸入線,TLL電平; 8號V ref引腳:基準(zhǔn)電壓輸入(-10V+10V); 9號RFB引腳:反饋信號輸入線,芯片內(nèi)部有反饋電阻; 10號DGND引腳:數(shù)字地; 11號IOUT1引腳:電流輸出線,當(dāng)輸入全為1時,IOUT1最大; 12號IOUT2引腳:電流輸出線,其值與IOUT1為一常數(shù); 17號XFRE引腳:數(shù)據(jù)傳送控制信號輸入線,低電平有效; 18號WR2引腳:為DAC寄存器寫選通輸入線; 19號ILE引腳:數(shù)據(jù)鎖存允許控制信號輸入線,高電平有效; 20號V cc引
41、腳:電源輸入線(+5V+15V)Vref。3.6濾波電路濾波是信號處理中的一個重要概念。濾波分經(jīng)典濾波和現(xiàn)代濾波。經(jīng)典濾波的概念,是根據(jù)傅里葉分析和變換提出的一個工程概念。根據(jù)高等數(shù)學(xué)理論,任何一個滿足一定條件的信號,都可以被看成是由無限個正弦波疊加而成。換句話說,就是工程信號是不同頻率的正弦波線性疊加而成的,組成信號的不同頻率的正弦波叫做信號的頻率成分或叫做諧波成分。只允許一定頻率范圍內(nèi)的信號成分正常通過,而阻止另一部分頻率成分通過的電路,叫做經(jīng)典濾波器或濾波電路。由于在電路運行過程中間,外部信號會對波形產(chǎn)生一定的干擾,而且從D/A轉(zhuǎn)化部分中轉(zhuǎn)換出的波形是一種不平滑的階梯波形,因此為了防止外
42、部信號的干擾和內(nèi)部不平滑階梯波的干擾,本次設(shè)計中增加了無源濾波中的LC濾波電路,目的在于消除外部信號的干擾,同時能夠把從D/A轉(zhuǎn)換部分轉(zhuǎn)換出的階梯波形通過濾波轉(zhuǎn)變?yōu)槠交恼也?、方波、三角波、鋸齒波,其濾波電路如圖3.8所示,SIGOUT輸入信號來自DAC的輸出,JP1的輸出接示波器。圖3.8 濾波電路4. 系統(tǒng)軟件設(shè)計4.1軟件系統(tǒng)流程圖本設(shè)計主要是由FPGA為核心控制一些簡單外圍電路輸出可控的方波、三角波、鋸齒波、正弦波。輸入部分為8個按鍵值,分別用于控制波型的選擇、波型的調(diào)節(jié);輸出部分由一個8位的DA組成,由FPGA將數(shù)據(jù)波型數(shù)據(jù)送給DA轉(zhuǎn)換輸出模擬波型信號。具體流程如圖4.1所示:初始
43、化按鍵輸入,選擇波型,調(diào)節(jié)波型。由FPGA生成數(shù)字波型數(shù)據(jù)將數(shù)字波型數(shù)據(jù)送入DA轉(zhuǎn)換輸出模擬波型信號圖4.1 系統(tǒng)流程圖通過按鍵可以選擇輸出波型,如方波、三角波、正弦波。波型頻率幅度的改變可以通過按對應(yīng)的頻率加按鍵和頻率減鍵,幅度加鍵幅度減鍵。由于頻率和幅度改變在Quartus 軟件平臺下不能明顯仿真步進變化,所以本設(shè)計沒有介紹步進仿真。4.2主要函數(shù)語句分析在程序設(shè)計中,主要使用的函數(shù)語句有兩種:If-else語句和case-when語句。這兩種語句也是VHDL程序設(shè)計中常用的語句。二者都屬于流程控制語句。流程控制語句通過條件控制開關(guān)決定是否執(zhí)行一條或幾條語句或重復(fù)執(zhí)行一條或幾條語句或跳過一
44、條或幾條語句 。 IF語句是一種條件語句,它根據(jù)語句中所設(shè)置的一種或多種條件,有選擇地執(zhí)行指定的順序語句。IF語句的語句結(jié)構(gòu)有以下三種: IF 條件句 Then - 第一種IF語句結(jié)構(gòu) 順序語句 END IF IF 條件句 Then - 第二種IF語句結(jié)構(gòu) 順序語句 ELSE 順序語句 END IF IF 條件句 Then - 第三種IF語句結(jié)構(gòu) 順序語句 ELSIF 條件句 Then 順序語句 . ELSE 順序語句 END IFCASE語句根據(jù)滿足的條件直接選擇多項順序語句中的一項執(zhí)行,CASE語句的結(jié)構(gòu)如下:CASE 表達式 ISWhen 選擇值 => 順序語句When 選擇值 =
45、> 順序語句.END CASE 當(dāng)執(zhí)行到CASE語句時,首先計算表達式的值,然后根據(jù)條件句中與之相同的選擇值。執(zhí)行對應(yīng)的順序語句,最后結(jié)束 CASE語句。表達式可以是一個整數(shù)類型或枚舉類型的值,也可以是由這些數(shù)據(jù)類型的值構(gòu)成的數(shù)組。4.3 數(shù)字信號發(fā)生器的軟件設(shè)計 本次設(shè)計的軟件部分主要運用Altera公司的Quartus軟件平臺,其開發(fā)流程基本分成2個步驟:1.設(shè)計輸入Quartus軟件的設(shè)計文件可以來自Quartus5.1設(shè)計輸入工具或各種工業(yè)標(biāo)準(zhǔn)的EDA設(shè)計輸入工具Quartus強大的集成功能允許信息在各種應(yīng)用程序間自由交流,設(shè)計者可在一個工程內(nèi)直接從某個設(shè)計文件轉(zhuǎn)換到其他任何設(shè)計
46、文件,而不必理會設(shè)計文件是圖形格式、文本格式,還是波形格式。Quartus具有如下的多種設(shè)計輸入方法:原理圖輸入與符號編輯、硬件描述語言、波形設(shè)計輸入、平面圖編輯以及層次設(shè)計輸入。如此眾多的設(shè)計方法幫助設(shè)計者輕松地完成設(shè)計輸入。2.項目處理Quartus處理一個設(shè)計時,軟件編譯器讀取設(shè)計文件信息,產(chǎn)生用于器件編程、仿真、定時分析的輸出文件。消息處理器可以自動定位編譯過程中發(fā)現(xiàn)的錯誤,編譯器還可以優(yōu)化設(shè)計文件。項目處理包括以下基本步驟:(1)消息處理器自動定位錯誤;(2)邏輯綜合與試配;(3)定時驅(qū)動編譯;(4)設(shè)計規(guī)則檢查;(5)多器件劃分。本次設(shè)計的數(shù)字信號發(fā)生器在Quartus5.1下的R
47、TL圖如圖4.2所示。圖4.2 系統(tǒng)RTL圖4.4軟件各模塊4.4.1波形發(fā)生器設(shè)計的波形發(fā)生器就是為了得到正弦波、三角波、方波這三種波形,并可通過按鈕選擇輸出波形。波形發(fā)生器可以由正弦波產(chǎn)生模塊、三角波產(chǎn)生模塊、方波產(chǎn)生模塊和輸出波形選擇模塊(ch3a1)。下圖為波形發(fā)生器內(nèi)部的頂層設(shè)計的規(guī)劃圖圖4.3波形發(fā)生器內(nèi)部的頂層設(shè)計的規(guī)劃圖如圖可以看到,控制輸入有三大塊,一個是個按鈕的數(shù)據(jù)選擇命令的輸入,一個是時時鐘輸入,它的頻率將決定輸出波形的頻率,還有一個是復(fù)位鍵。在芯片里面要處理的就有波形產(chǎn)生器產(chǎn)生相應(yīng)的數(shù)據(jù)后輸出8位的數(shù)據(jù)到數(shù)據(jù)選擇模塊中,通過按鈕發(fā)出選擇數(shù)據(jù)的指令,3選1的數(shù)據(jù)選擇器選擇
48、相應(yīng)的數(shù)據(jù)進行輸出,把這些數(shù)據(jù)輸入D/A模塊中,通過D/A模塊對數(shù)據(jù)轉(zhuǎn)換,在它的輸出端就可得到相應(yīng)的波形。4.4.2 主控制模塊主控制模塊完成了頻率調(diào)節(jié)、幅度調(diào)節(jié)和波形選擇三個控制功能。圖是用Quartus5.1生成的主程序結(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時頻率會每隔一秒遞減一次,直
49、到最小頻率。SEL為波形選擇鍵,當(dāng)按下SEL鍵時系統(tǒng)每隔一秒在方波、三角波、正弦波,鋸齒波四種波形循環(huán)切換。CNT為FPGA產(chǎn)生的8位數(shù)字波形數(shù)據(jù)信號。具體框圖如圖4.4所示。圖4.4主程序結(jié)構(gòu)框圖4.4.3 波形數(shù)據(jù)產(chǎn)生模塊(1)方波數(shù)據(jù)產(chǎn)生模塊方波產(chǎn)生方法是由主控制模塊提供方波頻率和幅度,按照主控制模塊的頻率產(chǎn)生“0”和主控提供的幅度值。將這些數(shù)據(jù)直按送入DAC就能得到所需方波信號。產(chǎn)生框圖如圖4.5所示:CLK為主控模塊提供的頻率信號,RST為復(fù)位鍵,DIN為主控模塊提供幅度信號,DOUT為產(chǎn)生的波型數(shù)據(jù)信號。圖4.5 方波數(shù)據(jù)產(chǎn)生結(jié)構(gòu)框圖方波信號仿真:按仿真按鈕可以直接進行仿真,提示信
50、息提示你仿真成功后??梢钥吹饺缦路抡娌ㄐ危鐖D4.6方波信號仿真。在這個仿真波形圖中,可以看到當(dāng)clrn為高電平的時候,出現(xiàn)一個clk時鐘脈沖的上升沿計數(shù),從0跳到255,等下一個脈沖來臨時有從255跳到0,依次重復(fù),如圖所示,波形將以方波的規(guī)律變化。(2)三角波數(shù)據(jù)產(chǎn)生模塊三角波產(chǎn)生方法是由主控制模塊提供波型頻率和幅度,按照主控制模塊的頻率產(chǎn)生由0自加到主控模塊提供的幅度值然后再自減到0。這些數(shù)據(jù)直按送入DAC就能得到所需三角波信號。產(chǎn)生框圖如圖4.7所示:CLK為主控模塊提供的頻率信號,RST為復(fù)位鍵,DIN為主控模塊提供幅度信號,DOUT為產(chǎn)生的波型數(shù)據(jù)信號。圖4.7 三角波數(shù)據(jù)產(chǎn)生結(jié)構(gòu)
51、框圖按仿真按鈕可以直接進行仿真,提示信息提示你仿真成功之后,可以看到如下的仿真波形, 仿真如圖4.8所示。圖4.8 三角波信號仿真在這個仿真圖中,可以看到當(dāng)clrn為高電平的時候,出現(xiàn)一個clk時鐘脈沖的上升沿開始計數(shù),從0增到1,然后每來一個脈沖就增一次,直到增到255,等下一個脈沖到臨時將有從255減到254,然后每來一個脈沖就減一次,直到減到0,依次重復(fù),如圖所示,波形將出現(xiàn)三角波的規(guī)律變化。(3)正弦波數(shù)據(jù)產(chǎn)生模塊正弦波產(chǎn)生方法是由主控制模塊提供波型頻率,按照主控制模塊的頻率依次從64個已寫好的正弦數(shù)據(jù)中取值,然后這些數(shù)據(jù)直按送入DAC就能得到所需正弦波信號。因為64個數(shù)據(jù)已經(jīng)固定,所
52、發(fā)正弦波不好調(diào)幅。產(chǎn)生框圖如圖:CLK為主控模塊提供的頻率信號,RST為復(fù)位鍵,DATA為產(chǎn)生的波型數(shù)據(jù)信號。具體框圖如圖4.9所示。圖4.9 正弦波數(shù)據(jù)產(chǎn)生結(jié)構(gòu)框圖正弦波信號仿真:由上面的設(shè)置可以直接按波形仿真按鈕,進入仿真介面.可在菜單中選擇:PROCESSSimulator命令,也可以用工具欄的按鈕.仿真介面與編譯的差不多,只是STATUS下只有SIMULATOR狀態(tài)進度,仿真完成了后它會提示你. 當(dāng)提示信息提示仿真成功之后,可以看到如下的仿真波形,仿真如圖4.10所示。圖4.10 正弦波信號仿真在這個仿真圖中,可以看到當(dāng)clrn為高電平的時候,出現(xiàn)一個clk時鐘脈沖的上升沿開始計數(shù),圖
53、中的數(shù)據(jù)將根據(jù)列表中所查到的數(shù)據(jù)按照一定的規(guī)律顯示。如圖所示,波形將出現(xiàn)正弦波的規(guī)律變化。4.4.4波形產(chǎn)生模塊本設(shè)計用VHDL語言根據(jù)傅立葉函數(shù)采集點進行掃描,分別產(chǎn)生正弦波、三角波和矩形波。以下介紹各種常用周期信號的傅立葉函數(shù)展開式。 1.正弦波發(fā)生分為兩個步驟,即正弦波幅值采樣存儲和正弦波波形的還原輸出。幅值采樣是將一個周期正弦波進行64等分,將64個采樣點進行量化處理,量化值=255*sin360/64(V),將64點量化值存入存儲器。正弦波形的產(chǎn)生是通過循環(huán)反復(fù)將存儲器中的64點采樣值通過DAC0832進行還原輸出,得到幅值正比于64點采樣值的正弦波。圖4.11正弦波采樣圖2.矩形波
54、的實現(xiàn)較之正弦波發(fā)生簡單,由于矩形波是兩個電平值間的交替變換,因此波形采樣值的預(yù)存只要有兩個不同的數(shù)值就行了,為了使矩形波發(fā)生的頻率靈活可調(diào),采用60個采樣值掃描輸出來實現(xiàn),每半個矩形波周期采用三十個采樣值,循環(huán)反復(fù)將存儲器中的60點采樣值通過DAC0832進行還原輸出,得到幅值正比于點采樣值的矩形波。圖4.12方波采樣圖3.由于三角波是線性的,比較簡單就可以產(chǎn)生,如果最低電壓設(shè)為15V,最高是255V,那么根據(jù)它的公式255/15=17,每個點的電壓只要依次加17就可以得到,一個波形所以采用簡單的加減算法就可實現(xiàn) 圖4.13 三角波采樣圖5. 設(shè)計總結(jié)FPGA是當(dāng)前數(shù)字系統(tǒng)設(shè)計領(lǐng)域比較火熱的
55、一種工具,它可以大大縮短設(shè)計需要的時間,降低成本的同時也提高了系統(tǒng)的穩(wěn)定性。使用VHDL語言描述硬件系統(tǒng)使得FPGA技術(shù)有了更廣闊的應(yīng)用領(lǐng)域。本設(shè)計使用了基于Altera公司的FPGA系列,采用Altera公司提供的系統(tǒng)開發(fā)工具Quartus II軟件進行了系統(tǒng)的設(shè)計和仿真。數(shù)字信號發(fā)生器在實驗室以及工業(yè)場所都被大量使用著,本系統(tǒng)即實現(xiàn)了可以輸出四種波形的簡易多功能波形發(fā)生器,仿真結(jié)果證明,該設(shè)計正確有效,可以作為制作實物的理論依據(jù)。但由于設(shè)計者能力有限,本系統(tǒng)仍然有著很多可改進的地方,比如可以升級為輸出頻率、幅值可調(diào)的波形,或者輸出任意波形以更貼近實際情況。此次課題的設(shè)計已告一段落,在這次畢
56、業(yè)設(shè)計過程中需要用一些不曾學(xué)過的東西時,就要去有針對性地查找資料,然后加以吸收利用,以提高自己的應(yīng)用能力,而且還能增長自己見識,補充最新的專業(yè)知識,學(xué)會了一些編程方面的常用算法。作為一名電子專業(yè)的畢業(yè)生,我將會繼續(xù)在新技術(shù)的道路上不斷鉆研、開拓進取。相信通過此次設(shè)計的鍛煉,我對專業(yè)知識和技能的掌握將更加牢靠,在今后的工作和學(xué)習(xí)中,必將使我受益匪淺,取得應(yīng)有的優(yōu)勢。附 錄數(shù)字信號發(fā)生器程序-主控文件LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SUN ISPORT( CLK:IN S
57、TD_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);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);SIGNA
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年二年級數(shù)學(xué)教師工作總結(jié)模版(3篇)
- 2025年個人居間協(xié)議(4篇)
- 2025年中外貨物買賣合同標(biāo)準(zhǔn)樣本(2篇)
- 化妝品儲存運輸服務(wù)合同
- 農(nóng)產(chǎn)品城鄉(xiāng)配送合同范本
- 醫(yī)療設(shè)備緊急運輸合同
- 咨詢公司裝修居間協(xié)議范本
- 服裝物流配送標(biāo)準(zhǔn)合同樣本
- 醫(yī)院窗簾改造工程施工方案
- 萊州花紋藝術(shù)漆施工方案
- 農(nóng)產(chǎn)品貯運與加工考試題(附答案)
- 幼兒園開學(xué)教職工安全教育培訓(xùn)
- 學(xué)校財務(wù)年終工作總結(jié)4
- 2025年人民教育出版社有限公司招聘筆試參考題庫含答案解析
- 康復(fù)醫(yī)學(xué)治療技術(shù)(士)復(fù)習(xí)題及答案
- 鋼鐵是怎樣煉成的鋼鐵讀書筆記
- 《血管性血友病》課件
- 2025年汽車加氣站作業(yè)人員安全全國考試題庫(含答案)
- 2024年司法考試完整真題及答案
- 高三日語一輪復(fù)習(xí)日語助詞「に」和「を」的全部用法課件
- 2024年監(jiān)控安裝合同范文6篇
評論
0/150
提交評論