版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 本科畢業(yè)設(shè)計(jì)(論文)</p><p><b> ( 屆)</b></p><p> 論文題目 DDS信號(hào)發(fā)生器的FPGA實(shí)現(xiàn)</p><p> (英文) Design of DDS Signal Generator</p><p> Based on FPGA</p>
2、<p> 所在學(xué)院 電子信息學(xué)院 </p><p> 專(zhuān)業(yè)班級(jí) 電子信息工程 </p><p> 學(xué)生姓名 學(xué)號(hào) </p><p> 指導(dǎo)教師 職稱(chēng) </p><p> 完
3、成日期 年 月 日</p><p><b> 摘 要</b></p><p> 直接數(shù)字頻率合成(DDS)技術(shù)是頻率合成技術(shù)的數(shù)字化的實(shí)現(xiàn)方式。DDS技術(shù)帶來(lái)了其它傳統(tǒng)頻率合成技術(shù)無(wú)法比擬的優(yōu)越性,比如:頻率切換快、頻率分辨率高、相位變化連續(xù)、容易實(shí)現(xiàn)各種信號(hào)調(diào)制等,因此DDS技術(shù)在通信、雷達(dá)、電子對(duì)抗、導(dǎo)航、廣播電視、遙控
4、遙測(cè)、儀器儀表、航空航天等方面得到了廣泛的應(yīng)用。</p><p> 本文設(shè)計(jì)一個(gè)基于FPGA的DDS信號(hào)發(fā)生器,以Altera公司的EP3C25Q240為載體,利用SOPC技術(shù),將時(shí)鐘模塊、相位累加模塊、地址譯碼模塊、幅值轉(zhuǎn)換模塊、波形ROM和NIOS II軟核集成到單片F(xiàn)PGA內(nèi)部,設(shè)計(jì)了能夠輸出正弦波的信號(hào)發(fā)生器。文中對(duì)DDS原理進(jìn)行了深入的研究和分析,并簡(jiǎn)單討論了DDS系統(tǒng)中的噪聲,同時(shí),根據(jù)正弦波的對(duì)稱(chēng)
5、性,縮減了3/4的波形數(shù)據(jù)。</p><p> 關(guān)鍵詞:DDS;FPGA;SOPC;NIOS</p><p><b> Abstract</b></p><p> Direct digital frequency synthesis (DDS) technology is frequency synthesis technology di
6、gital realization.DDS technology has other traditional frequency synthesis technology incomparable advantages,For example:fast Frequency switch ,High frequency resolution,Continuous phase change,Easy to implement various
7、 signal modulation.....So in communications, radar DDS technology, electronic against, navigation, radio and television, remote control telemetry, instruments and meters, aerospace and other a</p><p> This
8、paper designs a DDS signal generator based on FPGA,the EPEP3C25Q240N chip priduced by Altera Ltd.Use the SOPC technology, will clock module, phase accumulate module, address decode module, amplitude conversion module, wa
9、veform ROM and NIOS II nuclear integrated into the single chip soft FPGA internal,design a signal generator that can output the sine wave.In this paper the principle of DDS further research and analysis, and simple disc
10、ussed the noise of DDS system, at the same time, accord</p><p> Key Words: DDS;FPGA;SOPC;NIOS </p><p><b> 目 錄</b></p><p><b> 1 引言1</b></p><p
11、> 1.1頻率合成技術(shù)的產(chǎn)生與應(yīng)用1</p><p> 1.2研究課題的目的及意義2</p><p> 1.3本文研究的主要內(nèi)容3</p><p> 1.4本文章節(jié)及內(nèi)容劃分3</p><p> 2 直接數(shù)字頻率合成技術(shù)4</p><p> 2.1直接頻率合成技術(shù)(DDS)原理4<
12、/p><p> 2.2DDS系統(tǒng)中的噪聲分析6</p><p> 2.3頻率合成的主要技術(shù)指標(biāo)6</p><p> 3 EDA技術(shù)與NIOS8</p><p> 3.1 EDA技術(shù)8</p><p> 3.2 Quartus II軟件介紹8</p><p> 3.3仿真工具M(jìn)
13、odelsim介紹9</p><p> 3.4硬件描述語(yǔ)言—VHDL9</p><p> 3.5 NIOS II介紹10</p><p> 4 系統(tǒng)軟硬件的實(shí)現(xiàn)12</p><p> 4.1 總體設(shè)計(jì)方案12</p><p> 4.2 FPGA片上各模塊設(shè)計(jì)13</p><p
14、> 4.2.1 Cyclone III器件介紹13</p><p> 4.2.2 時(shí)鐘模塊設(shè)計(jì)13</p><p> 4.2.3 相位累加器模塊13</p><p> 4.2.4 地址譯碼模塊15</p><p> 4.2.5 幅值轉(zhuǎn)換16</p><p> 4.2.6 波形儲(chǔ)存器17&l
15、t;/p><p> 4.2.7 NIOS II軟核及其外設(shè)19</p><p> 4.3 數(shù)模轉(zhuǎn)換模塊(D/A)19</p><p> 4.4 RS232電平轉(zhuǎn)換模塊20</p><p> 4.6 上位機(jī)設(shè)計(jì)21</p><p> 4.7 DDS波形模塊的Modelsim仿真22</p>
16、<p> 5 總結(jié)與展望23</p><p><b> 致 謝24</b></p><p><b> 參考文獻(xiàn)25</b></p><p> 附錄1 VHDL程序源代碼26</p><p><b> 1 引言</b></p><
17、;p> 1.1頻率合成技術(shù)的產(chǎn)生與應(yīng)用</p><p> 隨著電子技術(shù)的發(fā)展,很多應(yīng)用領(lǐng)域?qū)π盘?hào)頻率的穩(wěn)定性要求越來(lái)越高,而且不僅需要單一的固定頻率,還需要多點(diǎn)頻率。比如在雷達(dá)運(yùn)用方面,其信號(hào)要求具有頻率捷變、波形參數(shù)捷變以及自適應(yīng)跳頻的能力。傳統(tǒng)的頻率合成技術(shù)已經(jīng)無(wú)法滿(mǎn)足要求,直接數(shù)字合成技術(shù)(DDS)的出現(xiàn)與發(fā)展給各個(gè)領(lǐng)域帶來(lái)福音。</p><p> 早在20世紀(jì)30年代,
18、頻率合成技術(shù)就已經(jīng)提出,它是通過(guò)將參考頻率源倍頻、分頻、混頻來(lái)得到所需頻率,但由于它頻率范圍有限,且不能單片集成,而被漸漸淘汰。最后形成目前使用的由一個(gè)晶體振蕩器產(chǎn)生標(biāo)準(zhǔn)頻率再合成多個(gè)頻率點(diǎn)的頻率合成技術(shù)。這種頻率合成技術(shù)是通過(guò)多級(jí)倍頻和分頻,運(yùn)用混頻器產(chǎn)生所需的各種頻率點(diǎn)[1]。</p><p> 得益于集成電路的發(fā)展,出現(xiàn)了第二代頻率合成技術(shù)——鎖相式頻率合成技術(shù),它由壓控振蕩器、可變分頻器及鑒相器組成。到
19、1971年,J.Tierney,C.M.Rader和B.Gold發(fā)表的論文《A Digital Frequency Synthesizer》[2],這奠定了全新的頻率合成技術(shù)思想,他們提出以全數(shù)字技術(shù)從相位概念出發(fā),直接合成所需頻率的一種新理念,即直接數(shù)字頻率合成(DDS)。它完全不同于直接式和間接式(PLL)頻率合成,因?yàn)樗侨珨?shù)字處理的,他輸出的頻率、相位和幅度能在數(shù)字處理器控制下精確而快速的變化,其他特征包括極微小的頻率調(diào)諧和相位
20、分辨率,以及在兩個(gè)頻率之間的“跳躍”能力。</p><p> DDS獨(dú)特的實(shí)現(xiàn)方式,使其具有以往的頻率合成技術(shù)無(wú)法比擬的優(yōu)點(diǎn),由于這些優(yōu)點(diǎn),使得其在各個(gè)領(lǐng)域中運(yùn)用廣泛:</p><p> DDS在雷達(dá)中的應(yīng)用</p><p> 載波頻率有規(guī)律的或者隨機(jī)快速變化的捷變頻雷達(dá),與普通的雷達(dá)相比具有很強(qiáng)的抗干擾能力。捷變頻雷達(dá)的這種特點(diǎn)決定了對(duì)應(yīng)的接收機(jī)要具有一個(gè)能
21、夠跟蹤雷達(dá)載波頻率變化的本振源,這樣才能使接收機(jī)接收到信號(hào)并混頻后得到一個(gè)固定的中頻信號(hào)。DDS具有高精度、頻率切換時(shí)間短、低相噪等優(yōu)點(diǎn),成為雷達(dá)接收機(jī)實(shí)現(xiàn)高跟蹤精度與高穩(wěn)定度本振源的首選方式。</p><p> DDS在通信系統(tǒng)中的應(yīng)用</p><p> 由于DDS是通過(guò)數(shù)字化實(shí)現(xiàn)的,所以能靈活的進(jìn)行FSK(頻移鍵控)、ASK(幅度鍵控)、PSK(相移鍵控)等各種數(shù)字調(diào)制,較之于模擬
22、技術(shù)實(shí)現(xiàn),數(shù)字方式靈活并簡(jiǎn)單高效,這使得DDS在各種調(diào)制系統(tǒng)被廣泛運(yùn)用。</p><p> DDS在電子對(duì)抗中的應(yīng)用</p><p> 在現(xiàn)代戰(zhàn)爭(zhēng)中,幾乎所有的設(shè)備都離不開(kāi)電子系統(tǒng),而其中最重要的要數(shù)雷達(dá)和衛(wèi)星,如果能對(duì)雷達(dá)和衛(wèi)星信號(hào)進(jìn)行有效的干擾,將給敵人帶來(lái)毀滅性的災(zāi)難。在干擾機(jī)中,對(duì)多普勒雷達(dá)干擾的一個(gè)重要方法就是對(duì)接收到的雷達(dá)信號(hào)頻率進(jìn)行適當(dāng)?shù)囊祁l調(diào)制, 以破壞或擾亂對(duì)真目標(biāo)的
23、檢測(cè)、顯示、識(shí)別、選擇和跟蹤。傳統(tǒng)上利用行波管移相放大器或固態(tài)移相器來(lái)實(shí)現(xiàn)移頻,這些方法存在相位不連續(xù)、誤差大等缺點(diǎn)。而DDS獨(dú)特的特性正符合這一的要求,替代了傳統(tǒng)的方法。 </p><p> DDS其它方面的應(yīng)用</p><p> DDS不僅在上述所講到一些場(chǎng)合得到廣泛應(yīng)用,而且在導(dǎo)航、廣播電視、遙控遙測(cè)、儀器儀表、航空航天等領(lǐng)域也得到廣泛的應(yīng)用[6]。</p>
24、<p> 1.2研究課題的目的及意義</p><p> 各種電子設(shè)備都離不開(kāi)信號(hào),尤其是在要對(duì)某些電路或感興趣的參數(shù)進(jìn)行測(cè)量的時(shí)候,信號(hào)就變得尤為重要。波形發(fā)生器是信號(hào)源的一種,而用DDS實(shí)現(xiàn)則是一個(gè)絕佳的選擇。</p><p> 本設(shè)計(jì)是利用可編程器FPGA來(lái)完成一個(gè)DDS系統(tǒng),用FPGA實(shí)現(xiàn)DDS技術(shù)比用專(zhuān)用DDS芯片具更多的優(yōu)勢(shì),用FPGA實(shí)現(xiàn)DDS技術(shù)比較靈活,可
25、以產(chǎn)生任意波形,可以有多種組合和多種調(diào)制方式。并且在資源允許的情況下,能實(shí)現(xiàn)多個(gè)DDS芯片的功能。有時(shí)候所設(shè)計(jì)的系統(tǒng)不一定能找到合適的DDS芯片,比如控制方式或者頻率需求不符合,這時(shí)如果用FPGA,自己就能根據(jù)系統(tǒng)的需求,隨心所欲的設(shè)計(jì)自己想要的。</p><p> 目前市場(chǎng)上的信號(hào)源多是利用專(zhuān)用DDS芯片開(kāi)發(fā)的,它們輸出頻率、波形和功能都比較好,但與FPGA方案相比,后者具有如下優(yōu)勢(shì):由于專(zhuān)用DDS芯片一般不
26、帶控制器,所以利用專(zhuān)用DDS芯片實(shí)現(xiàn)的信號(hào)源需要一塊微控制器的協(xié)助才能工作,這無(wú)疑增加了成本和系統(tǒng)的復(fù)雜性;而基于FPGA的DDS信號(hào)源,可以在一片F(xiàn)PGA芯片上實(shí)現(xiàn)信號(hào)源的信號(hào)的產(chǎn)生和控制,并且在FPGA內(nèi)部資源允許的情況下,改變儲(chǔ)存的波形數(shù)據(jù),就能改變輸出波形的種類(lèi)和質(zhì)量,實(shí)現(xiàn)任意波形發(fā)生器專(zhuān)用DDS芯片實(shí)現(xiàn)的信號(hào)源功耗大,不適合要求低功耗的場(chǎng)合,其價(jià)格也比較高;而如果將DDS信號(hào)源設(shè)計(jì)嵌入到即FPGA芯片所構(gòu)成的系統(tǒng)中,在其系統(tǒng)成
27、本增加不多的情況下,還可以實(shí)現(xiàn)很多更加復(fù)雜的功能。因此,采用FPGA的設(shè)計(jì)方案更具靈活性,更具性?xún)r(jià)比。</p><p> 1.3本文研究的主要內(nèi)容</p><p> (1) DDS基本原理以及DDS雜散信號(hào)研究</p><p> 本文研究了DDS系統(tǒng)的基本原理和基本結(jié)構(gòu),介紹了頻率合成技術(shù)的主要指標(biāo),并對(duì)DDS的主要特點(diǎn)進(jìn)行了詳盡的介紹和分析;然后通過(guò)數(shù)學(xué)描述
28、,更深入的分析了在理想狀態(tài)下的DDS信號(hào)的頻譜特性。</p><p> (2) 完成硬件系統(tǒng)各個(gè)模塊的設(shè)計(jì)與調(diào)試</p><p> (3) 完成FPGA內(nèi)部電路的設(shè)計(jì),包括NIOS II軟核及其外圍電路,用VHDL語(yǔ)言完成DDS信號(hào)發(fā)生模塊的設(shè)計(jì)以及整個(gè)系統(tǒng)的調(diào)試。</p><p> (4) 完成上位機(jī)軟件的設(shè)計(jì),上位機(jī)主要完成通過(guò)串口向NIOS處理器發(fā)送命令
29、的工作。</p><p> 1.4本文章節(jié)及內(nèi)容劃分</p><p> 全文共分6章,各章的主要內(nèi)容如下:</p><p> 第一章 引言。介紹背景知識(shí)以及研究的意義。</p><p> 第二章 介紹直接數(shù)字頻率合成技術(shù)的原理及實(shí)現(xiàn)方案。</p><p> 第三章 簡(jiǎn)單介紹了本設(shè)計(jì)采用的平臺(tái)的相關(guān)知識(shí),
30、EDA技術(shù)的運(yùn)用領(lǐng)域,F(xiàn)PGA的開(kāi)發(fā)流程,及VHDL語(yǔ)言的優(yōu)點(diǎn)。</p><p> 第四章 整個(gè)系統(tǒng)的軟硬件設(shè)計(jì)</p><p> 第五章 結(jié)論。總結(jié)本設(shè)計(jì)的成果及不足之處,還需要改進(jìn)的地方。</p><p> 2 直接數(shù)字頻率合成技術(shù)</p><p> 2.1直接頻率合成技術(shù)(DDS)原理</p><p&g
31、t; DDS是從相位概念出發(fā),直接對(duì)參考正弦信號(hào)進(jìn)行抽樣,得到不同的相位然后通過(guò)數(shù)字技術(shù)產(chǎn)生對(duì)于的電壓幅度,最后濾波平滑輸出[12] [14]。如圖為以半徑R為1的單位圓,在點(diǎn)A順著圓周運(yùn)動(dòng)時(shí),它在Y軸上的投影S的取值將的-1~+1之間的任意值,半徑R與X正半軸的夾角從0°~360°之間變化。觀察可以發(fā)現(xiàn),,即一個(gè)正弦函數(shù),其波形如圖2-1所示[15]:</p><p> 圖2-1 正弦波
32、的產(chǎn)生</p><p> 現(xiàn)假設(shè)一單頻信號(hào),幅度為1,初始相位為0,即</p><p> = (1)</p><p> 則其相位是時(shí)間的線(xiàn)性函數(shù),即</p><p> = (
33、2)</p><p> 其斜率為,為一常數(shù)。</p><p> 現(xiàn)以采樣周期為T(mén)c對(duì)信號(hào)進(jìn)行采樣,則可得離散的序列</p><p> ?。╪=0,1,2,3....) (3)</p><p> 其相應(yīng)的離散相位序列為:</p><p> ?。╪=0,1,2,3..
34、..) (4)</p><p> 設(shè)為連續(xù)兩次采樣之間相位的增量,則</p><p> ?。ǎ瑸椴蓸宇l率) (5)</p><p> 經(jīng)過(guò)以上分析,我們做如下圖2-2所示:</p><p> 圖2-2 離散信號(hào)圖</p><p> 我
35、們觀察到,相位函數(shù)的斜率即決定了信號(hào)的頻率。由采樣定理可以,只要滿(mǎn)足條件</p><p><b> <</b></p><p> 就能從離散序列唯一的恢復(fù)出原模擬信號(hào),從式(3)和(5)可以看出,兩次連續(xù)采樣直接相位的增量決定了相位函數(shù)的斜率,也就是說(shuō),只要控制這個(gè)相位增量,就能控制輸出信號(hào)的頻率,這就是DDS合成的原理。</p><p&
36、gt; 下面來(lái)看看合成信號(hào)的頻率和最小頻率步進(jìn)?,F(xiàn)將一個(gè)周期2π進(jìn)行M等分,若增量的最小值為,最大值為π,所以輸出信號(hào)的最小頻率為</p><p><b> 其最大頻率為</b></p><p> 若以最小相位增量的K倍增加,這輸出信號(hào)頻率為:</p><p> ?。↘ 為1~之間的整數(shù))</p><p> 現(xiàn)設(shè)
37、相位累加器為N位,頻率控制字為K,則輸出頻率為:</p><p> 當(dāng)K=1時(shí),最小為,當(dāng)K最大時(shí)(即K=),有最大為。其頻率分辨率為。</p><p> 2.2DDS系統(tǒng)中的噪聲分析</p><p> 在DDS系統(tǒng)中存在著許多噪聲。理想狀態(tài)下的DDS應(yīng)該沒(méi)有相位截?cái)嗾`差,即相位累加器輸出的N為將全部用于波形ROM的尋址,沒(méi)有波形幅度的量化誤差,也就等于儲(chǔ)存在
38、波形ROM中的波形數(shù)據(jù)具有無(wú)限的精度,DAC轉(zhuǎn)換也具有理想的特性。這樣的DDS系統(tǒng),在數(shù)字系統(tǒng)中肯定無(wú)法實(shí)現(xiàn),因?yàn)橄胪ㄟ^(guò)數(shù)字方式實(shí)現(xiàn),波形幅度量化誤差必然存在,DAC轉(zhuǎn)換帶入的雜散必然存在,如果想消除相位截?cái)嘈?yīng),要么降低波形量化級(jí)數(shù),要么增加系統(tǒng)成本。下面對(duì)各種噪聲做簡(jiǎn)要分析。</p><p> 1、相位截?cái)嗾`差,也稱(chēng)為舍位誤差。我們?yōu)榱说玫奖容^高的頻率分辨率,即想要縮小頻率的最小步進(jìn),就將相位累加器的位數(shù)N
39、設(shè)置的很大,比如本系統(tǒng)將N設(shè)為32,即便本系統(tǒng)將ROM數(shù)據(jù)壓縮至原來(lái)的1/4,可是如果用全部的32位去尋址,那也會(huì)對(duì)ROM的容量帶來(lái)不小的壓力。所以,在實(shí)際操作中,局限于器件資源的有限性,通常只取相位累加器的高幾位來(lái)作為數(shù)據(jù)ROM的尋址數(shù)據(jù),將多數(shù)的低位數(shù)據(jù)舍去,因此就引入了相位截?cái)嗾`差。</p><p> 2、幅度量化誤差。本人認(rèn)為在數(shù)字系統(tǒng)中,量化誤差是不可避免的,因?yàn)槿魏我粋€(gè)幅度值如果要精確的表示,必將使
40、用無(wú)限長(zhǎng)的比特流,這在現(xiàn)實(shí)中是不可能做到的,而且還要考慮ROM的存儲(chǔ)空間的限制,所以選擇合適的量化級(jí)數(shù)以適當(dāng)減少量化誤差帶來(lái)的影響。</p><p> 3、DAC轉(zhuǎn)換誤差。DAC轉(zhuǎn)換的誤差主要有DAC非線(xiàn)性化引入的雜散、DAC的毛刺引入的雜散和有限分辨率引入的雜散。</p><p> 2.3頻率合成的主要技術(shù)指標(biāo)</p><p> 數(shù)字頻率合成器主要技術(shù)指標(biāo)如
41、下[15]:</p><p><b> 1、頻率范圍指標(biāo)</b></p><p> 頻率范圍是指合成器在滿(mǎn)足一定技術(shù)條件下的最低輸出頻率和最高輸出頻率所確定的范圍,通常用帶寬來(lái)表示,頻率范圍是合成器重要的技術(shù)指標(biāo)。</p><p><b> 2、頻率間隔</b></p><p> 每個(gè)離散頻
42、率之間的最小間隔稱(chēng)為頻率間隔,也稱(chēng)頻率分辨率,不同的場(chǎng)合要求不同的分辨率,有100Hz、10Hz、1Hz,甚至0.1Hz。</p><p><b> 3、頻率轉(zhuǎn)換時(shí)間</b></p><p> 從發(fā)出頻率轉(zhuǎn)換指令開(kāi)始,到頻率轉(zhuǎn)換完畢,并進(jìn)入允許的相位誤差范圍所需要的時(shí)間稱(chēng)為頻率轉(zhuǎn)換時(shí)間。對(duì)于變?nèi)莨苷{(diào)諧的電壓控制振蕩器來(lái)說(shuō)其轉(zhuǎn)換時(shí)間在ns量級(jí)。直接式頻率合成器的轉(zhuǎn)換
43、速度取決于各部分電路的響應(yīng)時(shí)間,一般放大、混頻、倍頻、分頻電路和速度是很快的,主要限制來(lái)自電路中的濾波器以及控制電路的響應(yīng)時(shí)間。總之,直接式頻率合成器的頻率轉(zhuǎn)換時(shí)間容易達(dá)到1~2微秒。</p><p> 4、諧波抑制和雜散抑制</p><p> 諧波是與輸出信號(hào)有想干關(guān)系的信號(hào),在頻譜上反映為信號(hào)頻率F的整倍數(shù)頻率處的單根譜線(xiàn),諧波功率與載波功率之比稱(chēng)為諧波抑制。雜散系指和輸出信號(hào)沒(méi)有
44、諧波關(guān)系的一些無(wú)用譜。在頻譜上可能表現(xiàn)為著干對(duì)稱(chēng)邊帶,也可能表現(xiàn)為信號(hào)頻率F譜線(xiàn)旁存在的非諧波關(guān)系的離散單根諾線(xiàn)。這些譜線(xiàn)的幅度一般都高于噪聲。雜散抑制就是指與載波頻率成非諧波關(guān)系的離散頻譜功率與載波功率之比。</p><p><b> 5、長(zhǎng)期頻率穩(wěn)定度</b></p><p> 頻率合成器在規(guī)定條件下,在一定時(shí)間內(nèi)工作頻率下相對(duì)變化,稱(chēng)為長(zhǎng)期穩(wěn)定度。</
45、p><p> 3 EDA技術(shù)與NIOS</p><p><b> 3.1 EDA技術(shù)</b></p><p> EDA是電子設(shè)計(jì)自動(dòng)化(Electronic Design Automation)的英文縮寫(xiě),是20世紀(jì)90年代初從CAD(計(jì)算機(jī)輔助設(shè)計(jì))、CAM(計(jì)算機(jī)輔助制造)、CAT(計(jì)算機(jī)輔助測(cè)試)和CAE(計(jì)算機(jī)輔助工程)的概念發(fā)展而
46、來(lái)的。它是一種借助于強(qiáng)大的計(jì)算機(jī),來(lái)實(shí)現(xiàn)電子系統(tǒng)或電子產(chǎn)品自動(dòng)化設(shè)計(jì)的技術(shù),通過(guò)EDA軟件平臺(tái),利用硬件描述語(yǔ)言(HDL)完成系統(tǒng)的邏輯描述,并自動(dòng)的完成邏輯編譯、邏輯簡(jiǎn)化、邏輯分割、邏輯綜合和布局布線(xiàn),以及完成系統(tǒng)的優(yōu)化和仿真調(diào)試。這種技術(shù)使得設(shè)計(jì)者的工作僅限于通過(guò)計(jì)算機(jī)軟件,即利用EDA工具和硬件描述語(yǔ)言就能完成硬件系統(tǒng)的設(shè)計(jì)[9]。</p><p> EDA工具在EDA技術(shù)應(yīng)用中占據(jù)著非常重要的地位,可以
47、說(shuō)如果沒(méi)有強(qiáng)大的EDA工具的支持,想通過(guò)計(jì)算機(jī)來(lái)完成電子設(shè)計(jì)全程自動(dòng)化是不可能的。Altera公司推出的Quartus II軟件是一款適合于大規(guī)模復(fù)雜邏輯電路開(kāi)發(fā)的設(shè)計(jì)軟件,它提供了從設(shè)計(jì)輸入到器件編程的全部功能,與其前一代的設(shè)計(jì)工具M(jìn)AXPLU II相比,Quartus II軟件增加了許多功能,比如網(wǎng)絡(luò)編譯功能,對(duì)更多器件的支持等,同時(shí)提高了編譯的速度,提升了調(diào)試的能力,是一款被大多數(shù)數(shù)字系統(tǒng)設(shè)計(jì)者認(rèn)可的EDA工具。硬件描述語(yǔ)言的發(fā)展
48、也給設(shè)計(jì)者的設(shè)計(jì)工作帶來(lái)了很大的方便,比如早期的硬件描述語(yǔ)言,如ABEL-HDL、AHDL是有不同EDA廠商各自開(kāi)發(fā)的,相互之間不兼容,且不支持多層次的設(shè)計(jì)。為了改變這一狀況,美國(guó)國(guó)防部在1985年正式推出了VHDL語(yǔ)言,在1987年IEEE將VHDL采納為硬件描述一樣標(biāo)準(zhǔn)。VHDL是一種全方位的硬件描述語(yǔ)言,在下面將詳細(xì)的介紹。</p><p> 3.2 Quartus II軟件介紹 </p>
49、<p> 本設(shè)計(jì)采用的工具是Altera公司的Quartus II軟件。Quartus II在21世紀(jì)初推出,是Altera公司用來(lái)替代其前一代FPGA/CPLD集成開(kāi)發(fā)環(huán)境MAXPLUS II的新一代產(chǎn)品,它是一款界面友好,使用便捷,功能全面的設(shè)計(jì)軟件,至今已經(jīng)發(fā)布了11.0以上的版本。它提供了完整的多平臺(tái)設(shè)計(jì)環(huán)境,能滿(mǎn)足各種特定設(shè)計(jì)的需要,包括單芯片可編程系統(tǒng)(SOPC)設(shè)計(jì)的綜合性環(huán)境和SOPC開(kāi)發(fā)的基本設(shè)計(jì),且為Al
50、tera DSP開(kāi)發(fā)包進(jìn)行系統(tǒng)模型設(shè)計(jì)提供了集成綜合環(huán)境。Quartus II包含了許多重要的LPM(Library of ParameterizedModules)模塊,它們是許多高級(jí)系統(tǒng)的重要構(gòu)成部分,特別是在SOPC設(shè)計(jì)中被大量使用。EDA設(shè)計(jì)流程如圖3-1所示[4]:</p><p> 圖3-1 QuartusII設(shè)計(jì)流程圖</p><p> 3.3仿真工具M(jìn)odelsim介紹
51、</p><p> ModelSim是Mentor公司推出的一款仿真軟件,是業(yè)界最優(yōu)秀的HDL語(yǔ)言仿真軟件,它提供友好的仿真環(huán)境,我們可以利用該軟件對(duì)所有VHDL和Verilog代碼進(jìn)行仿真,并可以將整個(gè)程序分步執(zhí)行,使設(shè)計(jì)者能直接看到程序每一條語(yǔ)句執(zhí)行的結(jié)果,它是業(yè)界唯一一款單內(nèi)核支持VHDL和Verilog混合仿真的仿真器,同時(shí)支持IEEE常見(jiàn)的各種硬件描述語(yǔ)言標(biāo)準(zhǔn)。它采用直接優(yōu)化的編譯技術(shù)、Tcl/Tk技
52、術(shù)、和單一內(nèi)核仿真技術(shù),編譯仿真速度快,編譯的代碼與平臺(tái)無(wú)關(guān),便于保護(hù)IP核,個(gè)性化的圖形界面和用戶(hù)接口,為用戶(hù)加快調(diào)錯(cuò)提供強(qiáng)有力的手段,是FPGA/ASIC設(shè)計(jì)的首選仿真軟件。</p><p> 3.4硬件描述語(yǔ)言—VHDL</p><p> VHDL是超高速集成電路硬件描述語(yǔ)言(Very high-speed integrated circuit Hardware Descript
53、ion Language)的英文字頭縮寫(xiě)簡(jiǎn)稱(chēng)。在1987年,VHDL成為了IEEE標(biāo)準(zhǔn),1993年,IEEE對(duì)VHDL進(jìn)行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴(kuò)展了VHDL的內(nèi)容,公布了IEE標(biāo)準(zhǔn)的1076-1993版本。在EDA領(lǐng)域,VHDL以成為主要的硬件描述語(yǔ)言。VHDL有多種描述方式,如下[3,13]:</p><p> 1、行為描述:即描述該單元的功能,主要使用進(jìn)程語(yǔ)句,以算法的形式來(lái)描述數(shù)據(jù)的傳
54、送和變換。</p><p> 2、結(jié)構(gòu)描述:即具體描述該單元的硬件結(jié)構(gòu),主要用配置指定語(yǔ)句和元件例化語(yǔ)句來(lái)描述元件之間的鏈接。</p><p> 3、數(shù)據(jù)流方式:類(lèi)似于寄存器傳輸?shù)姆绞絹?lái)描述數(shù)據(jù)的流動(dòng),主要用并行的信號(hào)賦值語(yǔ)句來(lái)完成設(shè)計(jì)。</p><p> VHDL具有很多優(yōu)秀的特點(diǎn),比如VHDL與具體硬件電路或開(kāi)發(fā)環(huán)境無(wú)關(guān),這就使得它的可移植性就很強(qiáng)。VHD
55、L具有多層次的描述能力,即可以采用上述的任何一種描述方式,也可采用三者混合的描述方式。VHDL是基于庫(kù)(Library)的設(shè)計(jì)方式,開(kāi)發(fā)者可以建立各種可再次利用的模塊,以便于以后復(fù)用。因此,VHDL在支持各種模式的設(shè)計(jì)方式,在面對(duì)當(dāng)今許多商業(yè)電子產(chǎn)品開(kāi)發(fā)周期短,需經(jīng)常更新以融入最新技術(shù),改革工藝等方面都表現(xiàn)出了良好的適應(yīng)能力。用VHDL進(jìn)行開(kāi)發(fā),設(shè)計(jì)者可以只專(zhuān)注于其功能的實(shí)現(xiàn),而不需要對(duì)硬件工藝等因素過(guò)多的在意。它在大規(guī)模設(shè)計(jì)的時(shí)候,可
56、以對(duì)整個(gè)系統(tǒng)進(jìn)行分解設(shè)計(jì),還可利用已有的設(shè)計(jì),這符合現(xiàn)在的設(shè)計(jì)方式(一個(gè)大的設(shè)計(jì)不可能由一個(gè)人獨(dú)立完成)。</p><p> 3.5 NIOS II介紹</p><p> NIOS是Altera公司推出的一款嵌入式處理器,其早期的目的是為了解決ASIC開(kāi)發(fā)日益受到成本的困擾,因?yàn)檫@些系統(tǒng)中絕大多數(shù)需要一個(gè)處理器。</p><p> Nios II處理器系列由三
57、個(gè)不同的內(nèi)核組成,可以靈活地控制成本和性能,從而擁有廣泛的應(yīng)用空間。其中JTAG調(diào)試模塊提供了通過(guò)遠(yuǎn)端PC主機(jī)實(shí)現(xiàn)Nios II處理器的在芯片控制、調(diào)試和通訊功能,這是Nios II處理器的一個(gè)極具競(jìng)爭(zhēng)力的特性。此外,Nios II系列支持60多個(gè)外設(shè)選項(xiàng),包括定時(shí)器、UART、直接寄存器訪(fǎng)問(wèn)(DMA)、以太網(wǎng)等,開(kāi)發(fā)者可以選擇合適的外設(shè),獲得最合適的處理器、外設(shè)和接口組合,而將不會(huì)局限于預(yù)先制造的處理器技術(shù)。</p>&
58、lt;p> Nios II處理器定制指令擴(kuò)展了CPU指令集,提高對(duì)時(shí)間要求嚴(yán)格的軟件運(yùn)行速度,從而使開(kāi)發(fā)人員能夠提高系統(tǒng)性能。采用定制指令,您可以實(shí)現(xiàn)傳統(tǒng)處理器無(wú)法達(dá)到的最佳系統(tǒng)性能。專(zhuān)用硬件加速器可以做為FPGA中的定制協(xié)處理器,協(xié)助CPU同時(shí)處理多個(gè)數(shù)據(jù)塊。</p><p> 4 系統(tǒng)軟硬件的實(shí)現(xiàn)</p><p> 4.1 總體設(shè)計(jì)方案</p><p&
59、gt; 本設(shè)計(jì)為簡(jiǎn)單的DDS信號(hào)發(fā)生器,產(chǎn)生的波形有正弦波、三角波、方波、鋸齒波,輸出信號(hào)的頻率范圍為1Hz~1MHz,最小步進(jìn)為1Hz。整個(gè)系統(tǒng)主要可分為一下幾部分:</p><p> 1、FPGA片上系統(tǒng)(包括NIOS II軟核,數(shù)字波形產(chǎn)生電路)</p><p> 2、上位機(jī)控制及顯示</p><p><b> 3、數(shù)模轉(zhuǎn)換電路</b&
60、gt;</p><p><b> 4、低通濾波電路</b></p><p> 圖 4-1 DDS系統(tǒng)結(jié)構(gòu)圖</p><p> 圖4-1為本設(shè)計(jì)的系統(tǒng)結(jié)構(gòu)圖,本設(shè)計(jì)主要包括一下幾部分:</p><p> 上位機(jī),利用visual studio開(kāi)發(fā)平臺(tái)和C#語(yǔ)言設(shè)計(jì)上位機(jī),上位機(jī)包括功能有:發(fā)送命令和數(shù)據(jù),接收下位機(jī)
61、返回的信息以分析下位機(jī)的情況。</p><p> 第二部分是FPGA部分的設(shè)計(jì),包括NIOS II軟核,DDS發(fā)送模塊的設(shè)計(jì),NIOS II軟核主要用來(lái)控制DDS發(fā)送模塊產(chǎn)生波形,其接收來(lái)自上位機(jī)的命令和數(shù)據(jù),根據(jù)命令做出相應(yīng)的操作,并將狀態(tài)發(fā)送給上位機(jī)。DDS模塊主要包括兩部分,即相位控制器和儲(chǔ)存波形的ROM。</p><p> 數(shù)模轉(zhuǎn)換模塊是將DDS發(fā)生模塊產(chǎn)生的數(shù)字波形轉(zhuǎn)換為連續(xù)
62、的模擬波形。由于實(shí)際需要的是模擬信號(hào),故需要將所得到的離散信號(hào)經(jīng)過(guò)D/A器件,得到連續(xù)的模擬信號(hào)。</p><p> 最后是濾波模塊,雖然經(jīng)過(guò)D/A后,已經(jīng)產(chǎn)生了模擬信號(hào),但這時(shí)候的信號(hào)往往有一定的階梯狀,不夠平滑,濾波模塊主要將信號(hào)平滑處理,得到跟完美的波形。</p><p> 4.2 FPGA片上各模塊設(shè)計(jì)</p><p> 4.2.1 Cyclone I
63、II器件介紹</p><p> Altera公司的FPGA包含低中高三個(gè)性能的系列,低端包括Cyclone I,II,III,IV;中端包括Arria GX I,II;高端包括Stratix I,II,III,IV,V。本設(shè)計(jì)采用Altera公司的Cyclone III系列器件EP3C25Q240C8N。Cyclone III是Altera發(fā)售業(yè)界的首款65nm低成本FPGA,該系列的FPGA比以往功耗低75%
64、,含有5K至120K邏輯單元(LE),最多達(dá)288個(gè)數(shù)字信號(hào)處理(DSP)乘法器。EP3C25Q240C8N包含24624個(gè)邏輯單元和608256BitsRAM容量,遠(yuǎn)遠(yuǎn)能滿(mǎn)足本設(shè)計(jì)的需要[17]。</p><p> 4.2.2 時(shí)鐘模塊設(shè)計(jì)</p><p> 本設(shè)計(jì)的DDS模塊對(duì)系統(tǒng)時(shí)鐘的要求較高,不僅要求較高的時(shí)鐘頻率,還要求非常高的穩(wěn)定性,如果外加一個(gè)高頻的晶振,不僅時(shí)鐘不穩(wěn)定,
65、而且也增加了系統(tǒng)功耗和成本,所以,本設(shè)計(jì)直接利用Altera提供的PLL核,通過(guò)對(duì)輸入的時(shí)鐘倍頻來(lái)獲得所需的較高頻率。</p><p> 圖4-2是由Quartus II中的Mega Wizard Plug-In Manager工具產(chǎn)生的PLL模塊,三個(gè)輸出分別為內(nèi)部DDS模塊,NIOS II處理器和SDRAM提供時(shí)鐘</p><p><b> 圖4-2 系統(tǒng)時(shí)鐘</b
66、></p><p> 4.2.3 相位累加器模塊</p><p> 相位累加器模塊是本設(shè)計(jì)的核心模塊,它直接決定合成信號(hào)的產(chǎn)生。它是由N位的加法器和N位相位寄存器組成的。每來(lái)一個(gè)時(shí)鐘脈沖,加法器將相位寄存器中的值與頻率控制字K相加,并把結(jié)果保存在相位寄存器中,相位寄存器一方面將輸出反饋給加法器,以使相位累加,另一方面相位寄存器將輸出相位數(shù)據(jù)去尋址波形ROM,得到相應(yīng)的波形數(shù)據(jù)。本
67、設(shè)計(jì)的頻率控制字K為32位,考慮到用32地址去尋址,所需要的資源比較大,且做32為的數(shù)模轉(zhuǎn)換不怎么現(xiàn)實(shí),所以本設(shè)計(jì)取相位數(shù)據(jù)的高12位作為地址來(lái)尋址波形ROM,數(shù)模轉(zhuǎn)換器也為12位,12位的效果已經(jīng)非常好了。主要代碼如下:</p><p> Architecture behav OF Phase_Accu IS</p><p><b> Begin</b><
68、/p><p> Process(clk,Phase_Ctr,Phase)</p><p><b> Begin</b></p><p> if(clk'event and clk = '1') then</p><p> Sum <= Phase_Ctr + Phase;</p&g
69、t;<p><b> End if;</b></p><p> End Process;</p><p> End behav;</p><p> 相位寄存器也為32位的,其代碼如下:</p><p> Architecture behav OF Fre_Reg IS</p><
70、;p><b> Begin</b></p><p> Process(Up_Key,Phase_In)</p><p><b> Begin</b></p><p> if(Up_Key'event and Up_Key = '1')then</p><p>
71、 Phase_Out<= Phase_In; </p><p><b> End if;</b></p><p> End Process;</p><p> End behav;</p><p> 下圖4-3是Quartus II生成的RTL模塊圖:</p><p> 圖4-3
72、相位累加器</p><p> 4.2.4 地址譯碼模塊</p><p> 由于本設(shè)計(jì)對(duì)波形的儲(chǔ)存進(jìn)行了優(yōu)化,只儲(chǔ)存了前周期的波形數(shù)據(jù),這樣在對(duì)ROM進(jìn)行尋址的時(shí)候就要根據(jù)象限對(duì)地址進(jìn)行一定的轉(zhuǎn)換,從絕對(duì)值來(lái)看,第一和第三象限數(shù)據(jù)的增長(zhǎng)方向一樣,第二和第四象限的數(shù)據(jù)增長(zhǎng)方向一樣,且這兩這兩個(gè)形成了互補(bǔ)關(guān)系。下面是主要代碼:</p><p> Architectu
73、re behav OF Add_Decoder IS</p><p> Signal addr_r : std_logic_vector(9 downto 0);</p><p> Signal addr_r1 : std_logic_vector(9 downto 0);</p><p> Signal Ctr_r : std_logic_vector(1
74、 downto 0);</p><p> Signal Ctr_r1 : std_logic_vector(1 downto 0);</p><p> Signal Phase_r1 : std_logic_vector(31 downto 0);</p><p> Signal Phase_r2 : std_logic_vector(31 downto 0
75、);</p><p> Signal xz : std_logic_vector(1 downto 0);</p><p><b> Begin</b></p><p> Process(clk,Phase_In)</p><p><b> Begin</b></p>&l
76、t;p> if(clk'event and clk = '1') then</p><p> Phase_r1 <= Phase_In;</p><p> Phase_r2 <= Phase_r1;</p><p> Ctr_r1 <= Phase_r2(31 downto 30);</p>&l
77、t;p> Ctr_r <= Ctr_r1;</p><p> addr_r1 <= Phase_r2(29 downto 20);</p><p><b> End if;</b></p><p> End Process;</p><p> Process(clk,Ctr_r1)</p
78、><p><b> Begin</b></p><p> if(clk'event and clk = '1') then</p><p> case Ctr_r1 is</p><p> When "00" => addr_r <= addr_r1;</
79、p><p> When "01" => addr_r <= ("1111111111" - addr_r1 );</p><p> When "10" => addr_r <= addr_r1;</p><p> When "11" => addr_r &
80、lt;= ("1111111111" - addr_r1 );</p><p> When Others => addr_r <= "0000000000";</p><p><b> End case;</b></p><p><b> End if;</b>&l
81、t;/p><p> End Process;</p><p> Ctr <= Ctr_r;</p><p> Address <= addr_r; </p><p> End behav;</p><p> 下圖4-4是Quartus II生成的模塊圖:</p><p><
82、;b> 圖4-4 地址譯碼</b></p><p> 4.2.5 幅值轉(zhuǎn)換</p><p> 由正弦波的對(duì)稱(chēng)性(第一象限和第二象限、第三象限和第四象限分別關(guān)于Y軸對(duì)稱(chēng),且第一象限和第三象限關(guān)于X軸對(duì)稱(chēng)),我們很容易知道只要對(duì)第一象限數(shù)據(jù)取反(這里采用取補(bǔ)),在配以地址譯碼的作用,就能準(zhǔn)確得到第三第四象限的數(shù)據(jù),其主要代碼如下:</p><p>
83、; Architecture behav OF A_Conv IS</p><p> Signal Ctr_r : std_logic_vector(1 downto 0);</p><p> Signal Ctr_r1 : std_logic_vector(1 downto 0);</p><p> Signal A_Reg : std_logic_vec
84、tor(11 downto 0);</p><p><b> Begin</b></p><p> Process(clk)</p><p><b> Begin</b></p><p> if(clk'event and clk = '1') then</p&
85、gt;<p> Ctr_r1 <= Ctr;</p><p> Ctr_r <= Ctr_r1;</p><p> A_Reg <= Data_In;</p><p><b> End if;</b></p><p> End Process;</p><p&
86、gt; Process(clk)</p><p><b> Begin</b></p><p> if(clk'event and clk = '1') then</p><p> case Ctr_r IS</p><p> When "00" => A_Ou
87、t <= A_Reg;</p><p> When "01" => A_Out <= A_Reg;</p><p> When "10" => A_Out <= "111111111111" - A_Reg;</p><p> When "11" =&
88、gt; A_Out <= "111111111111" - A_Reg;</p><p> When Others => A_Out <= "000000000000";</p><p><b> End case;</b></p><p><b> End if;<
89、;/b></p><p> End Process;</p><p> End behav;</p><p> 下圖4-5為幅值轉(zhuǎn)換模塊圖:</p><p><b> 圖4-5 幅值轉(zhuǎn)換</b></p><p> 4.2.6 波形儲(chǔ)存器</p><p>
90、從DDS原理那一章節(jié)中可以知道,圓為對(duì)稱(chēng)圖形,也就是說(shuō),在對(duì)應(yīng)的相位上,第一象限的幅值與第二象限的幅值相同,與第三第四象限幅值正好相反,于是我們只要儲(chǔ)存第一象限的幅值就可以了,這樣可以節(jié)約3/4的存儲(chǔ)空間,我們以地址線(xiàn)的高兩位來(lái)判別當(dāng)前象限,再對(duì)幅值進(jìn)行相應(yīng)的處理,既能得到正確的數(shù)據(jù)。所以ROM的數(shù)據(jù)寬度為12位,地址為10為,只要用相位數(shù)據(jù)高12位中的低10來(lái)索引波形ROM即可,然后以相位數(shù)據(jù)的高兩位為判斷依據(jù),判斷波形所處的象限,然
91、后對(duì)ROM輸出的數(shù)據(jù)做相應(yīng)的處理。波形ROM的代碼如下:</p><p> LIBRARY ieee;</p><p> USE ieee.std_logic_1164.all;</p><p> LIBRARY altera_mf;</p><p> USE altera_mf.all;</p><p>
92、ENTITY ROM_1 IS</p><p><b> PORT</b></p><p><b> (</b></p><p> address: IN STD_LOGIC_VECTOR (9 DOWNTO 0);</p><p> clock: IN STD_LOGIC :=
93、'1';</p><p> q: OUT STD_LOGIC_VECTOR (11 DOWNTO 0)</p><p><b> );</b></p><p> END ROM_1;</p><p> ARCHITECTURE SYN OF rom_1 IS</p><p&
94、gt; SIGNAL sub_wire0: STD_LOGIC_VECTOR (11 DOWNTO 0);</p><p> COMPONENT altsyncram</p><p><b> GENERIC (</b></p><p> address_aclr_a: STRING;</p><p>
95、clock_enable_input_a: STRING;</p><p> clock_enable_output_a: STRING;</p><p> init_file: STRING;</p><p> intended_device_family: STRING;</p><p> lpm_hint:
96、STRING;</p><p> lpm_type: STRING;</p><p> numwords_a: NATURAL;</p><p> operation_mode: STRING;</p><p> outdata_aclr_a: STRING;</p><p> outdata
97、_reg_a: STRING;</p><p> widthad_a: NATURAL;</p><p> width_a: NATURAL;</p><p> width_byteena_a: NATURAL</p><p><b> );</b></p><p><
98、;b> PORT (</b></p><p> address_a: IN STD_LOGIC_VECTOR (9 DOWNTO 0);</p><p> clock0: IN STD_LOGIC ;</p><p> q_a: OUT STD_LOGIC_VECTOR (11 DOWNTO 0)</p><p&g
99、t;<b> );</b></p><p> END COMPONENT;</p><p><b> BEGIN</b></p><p> q <= sub_wire0(11 DOWNTO 0);</p><p> altsyncram_component : altsyncr
100、am</p><p> GENERIC MAP (</p><p> address_aclr_a => "NONE",</p><p> clock_enable_input_a => "BYPASS",</p><p> clock_enable_output_a => &
101、quot;BYPASS",</p><p> init_file => "../../Sin_ROM.mif",</p><p> intended_device_family => "Cyclone IV E",</p><p> lpm_hint => "ENABLE_RUNTI
102、ME_MOD=NO",</p><p> lpm_type => "altsyncram",</p><p> numwords_a => 1024,</p><p> operation_mode => "ROM",</p><p> outdata_aclr_a
103、=> "NONE",</p><p> outdata_reg_a => "CLOCK0",</p><p> widthad_a => 10,</p><p> width_a => 12,</p><p> width_byteena_a => 1</p&
104、gt;<p><b> )</b></p><p> PORT MAP (</p><p> address_a => address,</p><p> clock0 => clock,</p><p> q_a => sub_wire0</p><p>
105、;<b> );</b></p><p><b> END SYN;</b></p><p> 4.2.7 NIOS II軟核及其外設(shè)</p><p> 用FPGA做DDS是一個(gè)好處就是不用在你的PCB上再外接一個(gè)cpu,因?yàn)槲覀兛梢栽贔PGA中做一個(gè)cpu——NIOS II。cpu在這的作用主要是改變頻率控制字K
106、,以改變輸出信號(hào)的頻率,還有就是處理輸入的命令,和讀取相關(guān)的狀態(tài)。其外設(shè)主要有一個(gè)UART,負(fù)責(zé)與上位機(jī)通信,將上位機(jī)的命令傳入cpu,將運(yùn)行狀態(tài)上傳上位機(jī)。圖4-6為Quartus II工具SOPC Builder設(shè)計(jì)的NIOS II軟核。</p><p> 圖4-6 NIOS II軟核</p><p> 4.3 數(shù)模轉(zhuǎn)換模塊(D/A) </p><p>
107、從ROM中讀出波形數(shù)據(jù),要經(jīng)過(guò)D/A轉(zhuǎn)換之后才形成了最終我們需要的模擬信號(hào),實(shí)際上,由于DAC的分辨率有限,經(jīng)過(guò)D/A后并不能得到真正的正弦信號(hào),而是得到一連續(xù)的階梯波模擬信號(hào),如需得到光滑的正弦波還需接一級(jí)低通濾波。本設(shè)計(jì)所選的D/A器件為美國(guó)ADI公司的AD9713B,它具有一下特性:</p><p> 具有100MSPS的更新速率;</p><p> 與ECL/TTL兼容;<
108、;/p><p> 無(wú)雜散動(dòng)態(tài)范圍SFDR為70dBc(1MHz);</p><p> 毛刺電壓低至28Pv-s;</p><p> 建立時(shí)間快(27ns);</p><p> 低功耗:725mW;</p><p> 1/2LSB DNL (B Grade);</p><p> 具有40
109、MHz乘積帶寬。</p><p> 隨著DDS電路工作頻率的提升,DAC的性能對(duì)DDS輸出頻譜的影響越來(lái)越大,在高頻DDS電路中,DAC的非理性動(dòng)態(tài)相應(yīng)特性已經(jīng)成為DDS的輸出雜散的主要來(lái)源之一。圖4-7為AD9713B的典型運(yùn)用圖,也是本設(shè)計(jì)采用的。</p><p> 圖4-7 AD9713B典型電路圖</p><p> 4.4 RS232電平轉(zhuǎn)換模塊<
110、;/p><p> RS232是一種串行總線(xiàn)接口標(biāo)準(zhǔn),是電子行業(yè)協(xié)會(huì)(EIA)制定并發(fā)布的,其全名為“數(shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)通信設(shè)備(DCE)之間的串行二進(jìn)制數(shù)據(jù)交換接口技術(shù)標(biāo)準(zhǔn)”,是異步通信中應(yīng)用最早的,也是目前運(yùn)用最廣泛的標(biāo)準(zhǔn)串行總線(xiàn)接口之一。NIOS II想要與上位機(jī)通信,必須經(jīng)過(guò)電平轉(zhuǎn)換模塊這個(gè)橋梁,因?yàn)門(mén)TL電平和電腦串口的RS232C電平標(biāo)準(zhǔn)不兼容,不能直接連接,所以設(shè)計(jì)RS232電平轉(zhuǎn)換模塊。本設(shè)
111、計(jì)運(yùn)用的電路如圖4-8所示:</p><p> 圖 4-8 電平轉(zhuǎn)換模塊</p><p><b> 4.6 上位機(jī)設(shè)計(jì)</b></p><p> 本設(shè)計(jì)的控制輸入以及狀態(tài)顯示利用上位機(jī)來(lái)完成,開(kāi)發(fā)工具選擇Microsoft公司的Visual Studio2010,開(kāi)發(fā)語(yǔ)言為C#。</p><p> Visual
112、Studio是微軟公司推出的開(kāi)發(fā)環(huán)境,是目前非常流行的基于Windows平臺(tái)的應(yīng)用程序開(kāi)發(fā)環(huán)境,它具有如下特點(diǎn):</p><p> 1、可以快速地編寫(xiě)各種基于Microsoft.NET平臺(tái)的應(yīng)用程序,提供了一系列的工具和服務(wù)來(lái)最大程度地開(kāi)發(fā)利用計(jì)算與通訊領(lǐng)域。</p><p> 2、C#內(nèi)置的特性,使任何組件可以輕松轉(zhuǎn)化為XML網(wǎng)絡(luò)服務(wù),任何操作系統(tǒng)上運(yùn)行的任何程序都可以通過(guò)Inter
113、net調(diào)用。</p><p> 3、集成開(kāi)發(fā)環(huán)境可視,將編程器、調(diào)試器、編譯器、連接器還有各種實(shí)用工具結(jié)合在一起,開(kāi)發(fā)程序越來(lái)越方便。</p><p> C#是微軟為.NET Framework量身訂做的程序語(yǔ)言,它擁有C/C++的強(qiáng)大的功能已經(jīng)Visual Basic簡(jiǎn)易使用的特性,是第一個(gè)組件導(dǎo)向的程序語(yǔ)言。</p><p> 本設(shè)計(jì)的上位機(jī)程序主要完成兩
114、個(gè)任務(wù):1、給下位機(jī)發(fā)送控制命令;2、定期更新下位機(jī)狀態(tài)。其界面如圖4-9所示:</p><p> 圖4-9 上位機(jī)界面</p><p> 4.7 DDS波形模塊的Modelsim仿真</p><p> 仿真是基于Modelsim的,在頻率控制字為0x00100000時(shí),時(shí)鐘頻率為80MHz,由公式可得出其為19531.25Hz,波形如圖4-10所示:<
115、/p><p> 圖4-10 波形仿真圖</p><p> 從仿真結(jié)果來(lái)看通過(guò)上面的設(shè)計(jì),能正確得到想要的波形。</p><p><b> 5 總結(jié)與展望</b></p><p> 我的課題是設(shè)計(jì)一個(gè)基于FPGA的DDS信號(hào)源,設(shè)計(jì)的目的是對(duì)數(shù)字頻率合成有一個(gè)初步的認(rèn)識(shí),本設(shè)計(jì)沒(méi)有直接采用DDS芯片,而是利用DDS原
116、理,自行通過(guò)FPGA設(shè)計(jì),在設(shè)計(jì)中弄清楚了DDS的工作原理以及實(shí)現(xiàn)方法。本設(shè)計(jì)主要完成了一下幾個(gè)任務(wù):</p><p> 1、闡述了本課題的來(lái)源,背景、意義以及DDS技術(shù)的研究現(xiàn)狀。</p><p> 2、從廣泛的頻率合成入手,介紹了直接數(shù)字合成技術(shù)(DDS)的原理,并從數(shù)學(xué)角度深入的剖析了DDS原理。</p><p> 3、簡(jiǎn)單介紹了EDA技術(shù)、Quartu
117、s II軟件和可編程邏輯器件相關(guān)的一些技術(shù)。</p><p> 4、完成了VHDL代碼設(shè)計(jì),并通過(guò)了仿真,從仿真結(jié)果看該方案可行,完成了上位機(jī)設(shè)計(jì),上位機(jī)與下位機(jī)通信正常。</p><p> 由于本次設(shè)計(jì)時(shí)間倉(cāng)促和本人能力有限,本設(shè)計(jì)之神對(duì)直接數(shù)字頻率合成技術(shù)的初次窺探,功能簡(jiǎn)陋,還有很多需要改進(jìn)的地方:</p><p> 1、希望通過(guò)學(xué)習(xí),研究各種波形的產(chǎn)生
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于fpga的dds信號(hào)發(fā)生器-畢業(yè)論文
- 基于fpga的dds信號(hào)發(fā)生器設(shè)計(jì)【畢業(yè)論文】
- 基于fpga的dds信號(hào)發(fā)生器的研究畢業(yè)論文
- dds信號(hào)發(fā)生器的fpga實(shí)現(xiàn)[開(kāi)題報(bào)告]
- 基于dds信號(hào)發(fā)生器的設(shè)計(jì)畢業(yè)論文
- 基于FPGA的DDS信號(hào)發(fā)生器的實(shí)現(xiàn).pdf
- dds信號(hào)發(fā)生器的fpga實(shí)現(xiàn)[任務(wù)書(shū)]
- 基于dds的信號(hào)發(fā)生器的設(shè)計(jì) 畢業(yè)論文
- 基于dsp的dds信號(hào)發(fā)生器設(shè)計(jì)畢業(yè)論文
- 基于dds的任意信號(hào)發(fā)生器設(shè)計(jì)【畢業(yè)論文】
- 基于fpga的dds信號(hào)發(fā)生器設(shè)計(jì)
- 畢業(yè)論文 基于fpga的信號(hào)發(fā)生器設(shè)計(jì)
- 基于fpga的任意信號(hào)發(fā)生器畢業(yè)論文
- 函數(shù)信號(hào)發(fā)生器的fpga設(shè)計(jì)畢業(yè)論文
- 測(cè)控技術(shù)與儀器 畢業(yè)論文范文——基于fpga的dds信號(hào)發(fā)生器研究與實(shí)現(xiàn)
- 畢業(yè)論文--基于fpga的信號(hào)發(fā)生器設(shè)計(jì)
- 基于fpga的dds正弦波發(fā)生器設(shè)計(jì)【畢業(yè)論文】
- 畢業(yè)設(shè)計(jì)--基于fpga的dds信號(hào)發(fā)生器設(shè)計(jì)
- 基于fpga的dds信號(hào)發(fā)生器設(shè)計(jì)開(kāi)題
- 基于dds技術(shù)的數(shù)控信號(hào)發(fā)生器的設(shè)計(jì)【畢業(yè)論文】
評(píng)論
0/150
提交評(píng)論