基于fpga的正弦信號發(fā)生器_第1頁
基于fpga的正弦信號發(fā)生器_第2頁
基于fpga的正弦信號發(fā)生器_第3頁
基于fpga的正弦信號發(fā)生器_第4頁
基于fpga的正弦信號發(fā)生器_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

摘要系統(tǒng)設計以ALTERA公司CYCLONEIIIFPGA開發(fā)板為硬件平臺,以DDS技術為設計核心,運用SOPC和NIOS軟核技術而總體設計實現(xiàn)。系統(tǒng)DDS模塊實現(xiàn)1KHZ10MHZ正弦信號輸出,頻率步進包含10HZ1MHZ的10為數(shù)量級的所有步進,可以實現(xiàn)任一頻率調節(jié),1KHZ頻率誤差優(yōu)于104;完成了調幅、調頻、二進制ASK和二進制PSK調制的輸出功能,并很好地滿足了相應模塊的指標,擁有很高的精確度和穩(wěn)定度;實現(xiàn)了鍵盤、數(shù)碼管、LED和串口的控制和顯示,人機界面友好且易于操作,具有很好的使用價值。關鍵詞DDS信號調制DACFPGANIOS目錄摘要1目錄21實驗任務及要求311實驗任務312實驗要求3121基本要求3122發(fā)揮部分32設計方案選擇421方案比較422系統(tǒng)設計方案43分模塊設計與實現(xiàn)531硬件部分實現(xiàn)532DDS的設計實現(xiàn)633AM的設計實現(xiàn)734FM的設計實現(xiàn)7352ASK的設計實現(xiàn)8362PSK的設計實現(xiàn)937QUARTUS硬件設計1038NIOS軟核控制1139人機界面設計114調試效果圖125問題及解決方案146組員分工147總結與感想14參考文獻15附錄161實驗任務及要求11實驗任務設計一個可輸出正弦波,頻率可調的簡易信號發(fā)生器。12實驗要求121基本要求1、正弦波輸出頻率范圍1KHZ10MHZ;2、具有頻率設置功能,頻率步進為100HZ;3、輸出信號穩(wěn)定度優(yōu)于104;4、輸出電壓幅度在負載電阻50上的電壓峰峰值VOPP1V;5、失真度用示波器觀察時無明顯失真;6、獨立焊接、調試DAC904電路122發(fā)揮部分在完成基本要求任務的基礎上,增加如下功能1、增加輸出電壓幅度在頻率范圍內(nèi)負載電阻上正弦信號輸出電壓的峰峰值VOPP6V1V;2、產(chǎn)生模擬幅度調制(AM)信號在1MHZ10MHZ范圍內(nèi)調制度MA可在10100之間程控調節(jié),步進量10,正弦調制信號頻率為1KHZ,調制信號自行產(chǎn)生;3、產(chǎn)生模擬頻率調制(FM)信號在100KHZ10MHZ頻率范圍內(nèi)產(chǎn)生10KHZ最大頻偏,且最大頻偏可分為5KHZ/10KHZ二級程控調節(jié),正弦調制信號頻率為1KHZ,調制信號自行產(chǎn)生;4、產(chǎn)生二進制PSK、ASK信號在100KHZ固定頻率載波進行二進制鍵控,二進制基帶序列碼速率固定為10KBPS,二進制基帶序列信號自行產(chǎn)生;5、良好人機界面具有鍵盤控制頻率(步進可調)和波形輸出、LCD/串口/數(shù)碼管顯示頻率和輸出波形類型功能。2設計方案選擇21方案比較系統(tǒng)分為軟件設計和硬件設計兩部分,軟件部分主要是基于MATLAB、FPGAH和NIOS的程序設計,硬件部分包括D/A轉換和增益放大電路。對于本次系統(tǒng)的設計,有以下三種設計方案方案一微處理器壓控振蕩器(VCO)LC正弦諧振電路;方案二專用的DDS芯片如AD9851主控電路;方案三FPGADAC904高速DA;方案一采用數(shù)控電壓控制的壓控振蕩器VCO,運用電感和變?nèi)荻O管構成LC正弦諧振電路,通過微處理器改變變?nèi)荻O管的控制電壓,達到電容值改變,從而實現(xiàn)正弦信號輸出頻率的數(shù)字控制。方案一電路復雜,受變?nèi)荻O管的變?nèi)荼认拗?,?shù)控VCO的頻率變化范圍不寬,很難達到1KHZ10MHZ范圍要求。方案二采用專用的DDS芯片。芯片外圍電路簡單,功耗低,性價比高。而且相位也可以通過寫入控制字進行控制,可以方便地實現(xiàn)PSK功能,但是專用DDS芯片價格昂貴,而且系統(tǒng)電路較為復雜,集成度不高。方案三是在FPGA內(nèi)部實現(xiàn)高速的多位數(shù)相位累加器,輸出地址信號,控制讀出波形存儲器中存放的正弦波幅度數(shù)字信號,通過改變相位累加器的相位增量M,即地址間隔的改變,控制讀出波形存儲器一個周期正弦波幅值的數(shù)目,達到輸出頻率的控制。該方案對D/A速率要求高,電路集成度高。22系統(tǒng)設計方案本系統(tǒng)是以方案三為主導思想,以DDS原理為設計核心,首先采用MATLAB中DSP庫的相應組件設計不同的模塊,然后導出模塊VHDL代碼,在QUARTUS編程環(huán)境下生成并添加相應模塊,最后通過NIOS軟核編程控制。基本設計框架如圖21。圖213分模塊設計與實現(xiàn)31硬件部分實現(xiàn)硬件主要包括FPGA開發(fā)板、D/A轉換、增益放大。位于波形輸出ROM后的D/A單元,是將數(shù)字量形式的波形幅值轉換成所要求的合成頻率的模擬量形式信號。由于儲存波形的ROM具有14BIT的輸出,所以采用工作時鐘為100M的14位高速DAC芯片DAC904將FPGA輸出的數(shù)字信號轉換成模擬信號。DAC904是TI德州儀器推出的一款高速D/A數(shù)模轉換芯片,擁有特性1、14位并行電流型DA;2、最高刷新率最高數(shù)據(jù)刷新率165MSPS3、供電模擬5V,數(shù)字33V;4、低功耗5V下功耗為170MW;DAC904連接如圖31所示。圖3132DDS的設計實現(xiàn)1971年,美國學者提出了以全數(shù)字技術,從相位概念出發(fā)直接合成所需波形的一種新的頻率合成原理,稱之為直接數(shù)字頻率合成器DDS。直接數(shù)字頻率合成的理論依據(jù)是采樣定理,即先對一個完整周期的正弦波進行N點采樣,然后把采樣點存儲在ROM中構成一個查找表,頻率合成時,相位累加器在參考時鐘的作用下控制ROM中數(shù)據(jù)的輸出。ROM的輸出經(jīng)過D/A轉換,將一個階梯化的信號即采樣信號通過一個理想的低通濾波器,就得到符合要求的模擬信號。只要對正弦信號相位的量化值進行簡單的累加運算,就可以得到正弦信號的當前相位值,而用于累加的相位增量量化值決定了信號的輸出頻率FOUT,并呈現(xiàn)簡單的線性關系。直接數(shù)字合成器DDS就是根據(jù)上述原理而設計的數(shù)字控制頻率合成器。圖32所示是一個基本的DDS結構,主要由相位累加器、相位調制器、正弦ROM查找表和D/A構成。圖中的相位累加器、相位調制器、正弦ROM查找表是DDS結構中的數(shù)字部分,由于具有數(shù)控頻率合成的功能,又合稱為NCONUMERICALLYCONTROLLEDOSCILLATORS。圖32相位累加器由N位加法器與N位累加寄存器級聯(lián)構成。每來一個時鐘脈沖FS,加法器將頻率控制字K與累加寄存器輸出的累加相位數(shù)據(jù)相加,把相加后的結果送至累加寄存器的數(shù)據(jù)輸入端。累加寄存器將加法器在上一個時鐘脈沖作用后所產(chǎn)生的新相位數(shù)據(jù)反饋到加法器的輸入端,以使加法器在下一個時鐘脈沖的作用下繼續(xù)與頻率控制字K相加。這樣,相位累加器在時鐘作用下,不斷對頻率控制字進行線性相位累加。由此可以看出,相位累加器在每一個時鐘脈沖輸入時,把頻率控制字累加一次,相位累加器輸出的數(shù)據(jù)就是合成信號的相位,相位累加器的溢出頻率就是DDS輸出的信號頻率。DDS在MATLAB的設計電路如圖33。BAFBAASKKNK11SIN1OUT2SINSIN圖3333AM的設計實現(xiàn)振幅調制就是用低頻調制信號去控制高頻載波信號的振幅,使載波的振幅隨調制信號成正比地變化。普通調幅信號可以表示為MA稱為調幅系數(shù)或調幅度,表示載波振幅受調制信號控制的程度,MA1幅波產(chǎn)生失真,這種情況稱為過調幅。根據(jù)AM原理,在已完成的DDS模塊的基礎上,將生成的1KHZ調制信號,先乘以一個多路選擇器控制大小的系數(shù)MA,然后對正弦波添加直流分量,最后與DDS信號相乘,輸出即為AM信號,MATLAB仿真效果如圖34。圖3434FM的設計實現(xiàn)FM同樣也是利用低頻調制信號去控制高頻載波信號,不同的是FM調制是使載波的頻TCOSTMUTUCACAM1MACUK率隨調制信號的變化而變化,而振幅保持不變。在FM調制中,調制信號的幅度決定載波的偏移量,而調制信號的頻率則決定載波的偏移變化率。FM輸出波表達式如下MF為調頻波的最大相移,又稱調頻指數(shù),頻率偏移為MF乘以調制信號頻率。根據(jù)FM原理,在MATLAB里,在已完成的DDS的基礎上,將生成的1KHZ調制信號乘以MF,加到DDS的相位上,也即正弦索引表之前,此時輸出即為FM信號,調節(jié)MF可調節(jié)頻偏大小,MATLAB仿真效果如圖35所示。圖35352ASK的設計實現(xiàn)振幅鍵控是正弦載波的幅度隨數(shù)字基帶信號而變化的數(shù)字調制。當數(shù)字基帶信號為二進制時,則為二進制振幅鍵控。二進制振幅鍵控信號可以表示成具有一定波形形狀的二進制序列(二進制數(shù)字基帶信號)與正弦型載波的乘積,通常二進制振幅鍵控信號的產(chǎn)生方法有兩種,一般的模擬幅度調制方法與數(shù)字鍵控方法實現(xiàn),2ASK信號的波形隨著的通斷變化,所以又稱為通斷鍵控信號(縮寫為OOK)。二進制振幅鍵控信號調制器如圖36所示。圖36COSSINFMMCFUUTTFMFKUM序列(即DEBRUIJN序列)又叫做偽隨機序列、偽噪聲PN碼或偽隨機碼??梢灶A先確定并且可以重復實現(xiàn)的序列稱為確定序列;既不能預先確定又不能重復實現(xiàn)的序列稱隨機序列;不能預先確定但可以重復產(chǎn)生的序列稱偽隨機序列。對于一個N級反饋移位寄存器來說,最多可以有2N個狀態(tài),對于一個線性反饋移位寄存器來說,全“0”狀態(tài)不會轉入其他狀態(tài),所以線性移位寄存器的序列的最長周期為2N1。當N級線性移位寄存器產(chǎn)生的序列AI的周期為T2N1時,稱AI為N級M序列。ASK的偽隨機信號我們采用MATLAB產(chǎn)生10KBPS的M序列模塊,設計原理如圖37所示。圖37362PSK的設計實現(xiàn)在二進制數(shù)字調制中,當正弦載波的相位隨二進制數(shù)字基帶信號離散變化時,則產(chǎn)生二進制移相鍵控2PSK信號。通常用已調信號載波的0和180分別表示二進制數(shù)字基帶信號的1和0。二進制移相鍵控信號的產(chǎn)生方法主要有兩種。如圖451所示。第一種方法是相乘法,只要數(shù)字基帶信號為雙極性碼,并不含直流分量,即能用該方法來產(chǎn)生,如圖451A;第二種方法是開關選通法,這種方法是產(chǎn)生一個載波的二重相位(對多相的移相鍵控應是單一載波的多重相位),以基帶信號所代表的數(shù)值去選擇這些相位,如圖451B。當然,也可以是利用被控制的延遲提供所需的載波相移量,然后由基帶信號通過開關陣列來控制相移量的大小。圖38本系統(tǒng)設計的2PSK調制是在MATLAB中,用產(chǎn)生的M序列控制一個選擇器,分別選擇STE2PSKTCOSCTACOSCT0E2PSKT180STB0和1,這樣,每次M序列發(fā)生變化之時,選擇器的輸出相應發(fā)生變化,用選擇器的輸出去控制DDS的相位,使相位發(fā)生180度反轉,這就相當于M序列在跳變時,DDS相位就發(fā)生反轉,MATLAB仿真效果如圖38所示。圖3837QUARTUS硬件設計在MATLAB里設計好每個模塊之后,通過導出VHDL代碼,得到相應QUANTUS文件,然后在QUARTUS工程里添加模塊,通過SOPC_BUILDER,給CPU軟核添加控制管腳,最后通過IDE開發(fā)環(huán)境編程控制這些模塊,實現(xiàn)不同的功能。QUARTUS硬件設計如圖39所示,第一個模塊為集成的信號發(fā)生和調制模塊,第二個模塊為比較器,在鍵控調制模式下,比較器使正弦波變?yōu)橄鄳讲?,第三個模塊為分頻器,將100KH的方波分頻為10KHZ,最后一個模塊為M序列產(chǎn)生模塊,工作時鐘為上一級生成的10KHZ,這樣生成的M序列即為10KBPS。在這四個模塊中,第一個模塊集成了DDS、AM、FM、2ASK和2PSK功能模塊,輸出信號給到DAC部分。圖3938NIOS軟核控制對在QUARTUS環(huán)境下設計好的硬件連接,需要編程進行相關控制,在NIOSIDE開發(fā)環(huán)境建立與QUARTUS硬件相關的工程C文件,編寫C代碼進行對軟核CPU的控制。根據(jù)FPGA硬件,程序采用按鍵和串口中斷進行不同模式切換以及不同模式下功能的選擇,具體代碼見附錄。39人機界面設計系統(tǒng)人機界面使用了FPGA開發(fā)板提供的LED、數(shù)碼管、按鍵和串口,主要實現(xiàn)以下功能1、按鍵或串口模式選擇(DDS/AM/FM/2ASK/2PSK);2、按鍵或串口頻率步進(10/100/1K/10K/100K/1M);3、按鍵或串口幅值增加(針對DDS輸出);4、其他模塊功能(MA步進、FM頻偏選擇、2ASK查看正弦波及M序列、2PSK查看正弦波及M序列);5、每種模式下頻率和幅值設置;人機界面功能框圖如圖310所示圖310系統(tǒng)總共分為五種模式,分別為DDS、AM、FM、2ASK、2PSK,每種模式下都有自己的按鍵功能,每種模式都設置了返回按鍵,方便進入和退出任一模式。系統(tǒng)串口可以實現(xiàn)和按鍵同樣的功能,并且可以交互選擇使用。數(shù)碼管用來顯示DDS頻率,當頻率小于10KHZ時,單位為HZ,當頻率大于10KHZ時,單位為KHZ,最大可顯示10MHZ。LED分為左邊四個和右邊四個來使用,左邊四個顯示當前模式對應的數(shù)字,右邊四個顯示當前模式下當前操作的按鍵數(shù)值或串口輸入的數(shù)值。4調試效果圖1AM調制2FM調制3FM調制頻譜42ASK調制52PSK調制5問題及解決方案DDS數(shù)據(jù)輸出為有符號數(shù)據(jù)與ADC芯片要求輸入數(shù)據(jù)類型不一致;有符號的數(shù)據(jù)也即是含有負數(shù)的數(shù)據(jù),我們使用的ADC是不能處理負數(shù)的,解決這個問題,需要將原來的DDS輸出進行直流漂移,可以采用更改碼表或者將輸出加一個足夠大的常量,最后將數(shù)據(jù)輸出類型設置為無符號類型。DDS頻率上限僅為1M左右,并且失真比較嚴重;ADC的工作時鐘以及DDS模塊的工作時鐘影響最終輸出的頻率,更改ADC模塊工作時鐘為100M(原來為20M),即解決問題,頻率上限達到20M,并且波形很好。2ASK和2PSK出現(xiàn)毛刺,并且波形變化位置變動;2ASK和2PSK都需要用到M序列,這個M序列還是比較關鍵的,指標要求M序列必須為10K,這就要求M序列需要單獨的工作時鐘,而由于

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論