EDA課程設(shè)計報告-DDS直接數(shù)字合成器設(shè)計_第1頁
EDA課程設(shè)計報告-DDS直接數(shù)字合成器設(shè)計_第2頁
EDA課程設(shè)計報告-DDS直接數(shù)字合成器設(shè)計_第3頁
EDA課程設(shè)計報告-DDS直接數(shù)字合成器設(shè)計_第4頁
EDA課程設(shè)計報告-DDS直接數(shù)字合成器設(shè)計_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

PAGEPAGE6EDA課程設(shè)計報告DDS直接數(shù)字合成器設(shè)計姓名:班級:學(xué)號:指導(dǎo)老師:日期:華南農(nóng)業(yè)大學(xué)電子工程學(xué)院電子信息工程系摘要本文主要研究了基于直接數(shù)字合成器(DirectDigitalSynthesizer)技術(shù)的波形發(fā)生器(ArbitraryWaveformGenerator)的整體方案和核心部分的硬軟件設(shè)計。同時,對整個系統(tǒng)的性能進(jìn)行了理論分析。文中討論了DDS的基本概念和理論,在理論研究的基礎(chǔ)上,設(shè)計了整個系統(tǒng)的完成方案,用復(fù)雜可變成邏輯器件(CPLD)完成了DDS主要部分的設(shè)計,其中涉及到軟件設(shè)計的部分都進(jìn)行了仿真和說明,從完成電路的性能和綜合指標(biāo)看,基本達(dá)到了課題的要求。關(guān)鍵字:直接數(shù)字合成波形發(fā)生器目錄1方案比較與選擇 21.1方案選擇 21.2方案比較 22DDS原理 22.1DDS基本結(jié)構(gòu) 22.1DDS工作原理 33DDS硬件設(shè)計 53.1創(chuàng)龍F(tuán)PGA開發(fā)板 5 3.2TL5724-DAC模塊 54DDS軟件設(shè)計 64.1DDS驅(qū)動代碼編程 64.2Testbench與ISIM仿真 75仿真及下載 75.1調(diào)試 75.2仿真 75.3下載 76討論及進(jìn)一步研究建議 87課程設(shè)計心得 9Abstract 10參考文獻(xiàn) 10附錄 111.方案比較與選擇1.1方案選擇(1)CPLD,FPGA實現(xiàn)。(2)采用分立IC電路系統(tǒng)實現(xiàn),一般有CPU,RAM,ROM,D/A,CPLD,模擬濾波器等組成。(3)采用高性能DDS單片電路的解決方案。1.2方案比較因為本次實驗要求是:(1)實現(xiàn)鋸齒波、正弦波、方波的輸出。(2)實現(xiàn)頻率可調(diào),如調(diào)節(jié)頻率倍數(shù)10。(3)用VerilogHDL語言對此DDS發(fā)生器進(jìn)行建模。(4)用XilinxISE14.7開發(fā)套件進(jìn)行仿真測試。基于廣州創(chuàng)龍公司提供的FPGA開發(fā)板,我們選擇使用上述方案一。2.DDS原理2.1DDS基本結(jié)構(gòu)直接合成法是用一個或多個石英晶體振蕩器的振蕩頻率作為基準(zhǔn)頻率,由這些基準(zhǔn)頻率產(chǎn)生一系列的諧波,這些諧波具有與石英晶體振蕩器同樣的頻率穩(wěn)定度和準(zhǔn)確度;然后,從這一系列的諧波中取出兩個或兩個以上的頻率進(jìn)行組合,得出這些頻率的和或差,經(jīng)過適當(dāng)方式處理(如經(jīng)過濾波)后,獲得所需要的頻率。DDS是直接數(shù)字式頻率合成器(DirectDigitalSynthesizer)的英文縮寫。直接數(shù)字式頻率合成器(DDS)是從相位概念出發(fā)直接合成所需波形的一種新的頻率合成技術(shù),由相位累加器、波形ROM、D/A轉(zhuǎn)換器和低通濾波器構(gòu)成。時鐘頻率給定后,輸出信號的頻率取決于頻率控制字,頻率分辨率取決于累加器位數(shù),相位分辨率取決于ROM的地址線位數(shù),幅度量化噪聲取決于ROM的數(shù)據(jù)位字長和D/A轉(zhuǎn)換器位數(shù)。結(jié)構(gòu)框圖如圖1所示。圖12.2DDS工作原理 DDS的基本原理是利用采樣定理,通過查表法產(chǎn)生波形[1]。由于, (2-1) 其中Δθ為一個采樣間隔T之間的相位增量,采樣周期,即:(2-2) 控制Δθ就可以控制不同的頻率輸出。Δθ是由頻率控制字M控制的,即: (2-3)所以改變M就可以得到不同的輸出頻率。該DDS系統(tǒng)的核心是相位累加器,它由一個N位加法器和一個N位相位寄存器級聯(lián)構(gòu)成。它的作用是在基準(zhǔn)時鐘源的作用下進(jìn)行線性累加,當(dāng)產(chǎn)生溢出時便完成一個周期,即DDS的一個頻率周期。加法器將頻率控制字M與累加寄存器輸出的累加相位數(shù)據(jù)相加,把相加后的結(jié)果送至累加寄存器的數(shù)據(jù)輸入端。累加寄存器將加法器在上一個時鐘脈沖作用后所產(chǎn)生的新相位數(shù)據(jù)反饋到加法器的輸入端,以使加法器在下一個時鐘脈沖的作用下繼續(xù)與頻率控制字相加。這樣,相位累加器在時鐘作用下,不斷對頻率控制字進(jìn)行線性相位累加。由此,可以看出,相位累加器在每一個時鐘脈沖輸入時,把頻率控制字累加一次,相位累加器輸出的數(shù)據(jù)就是合成信號的相位,相位累加器的溢出頻率就是DDS輸出的信號頻率。用相位累加器輸出的數(shù)據(jù)作為波形存儲器(ROM)的相位取樣地址,然后輸入到正弦查詢表地址上。正弦查詢表包含一個周期正弦波的數(shù)字幅度信息,每個地址對應(yīng)正弦波中的0~360°范圍的一個相位點。查詢表把輸入的地址相位信息映射成正弦波幅度的數(shù)字量信號,驅(qū)動DAC,輸出模擬量。相位寄存器每經(jīng)過2N/M(其中N是相位累加器的字長,對于AD9834芯片,N=28)個fc時鐘后基本回到初始狀態(tài),相應(yīng)地正弦查詢表經(jīng)過一個循環(huán)也基本回到初始位置,于是整個DDS系統(tǒng)輸出一個正弦波周期。在圖2-1中,相位累加器輸出位并不全部加到查詢表,而是只截取高12位。相位截斷減小了查詢表長度,但并不影響頻率分辨率,對最終輸出僅增加一個很小的相位噪聲。DAC分辨率一般比查詢表長度還要小2~4位。圖中的參考時鐘是一個穩(wěn)定的晶體振蕩器,用來同步整個合成器的各個組成部分,AD9834用的是50MHz的石英晶體振蕩器。D/A變換器把數(shù)字量變成模擬量,正弦幅度量化序列S(n)經(jīng)D/A轉(zhuǎn)換后變成了包絡(luò)為正弦波的階梯波S(t),D/A轉(zhuǎn)換器的分辨率越高,合成的正弦波S(t)臺階數(shù)就越多,輸出的波形的精度也就越高。低通濾波器濾除高次諧波和雜散信號,得到所需的信號波形。 DDS的輸出頻率fout和參考時鐘fc、相位累加器長度N以及頻率控制字M的關(guān)系為:(2-4)DDS的頻率分辨率為:(2-5)由于DDS的輸出最大頻率受奈奎斯特抽樣定理限制,為了保證信號的輸出質(zhì)量,輸出頻率不要高于時鐘頻率的33%,以避免混疊或諧波落入有用輸出頻帶內(nèi)。所以,一般取[2]。3.DDS硬件設(shè)計3.1創(chuàng)龍F(tuán)PGA開發(fā)板 本設(shè)計的硬件開發(fā)板采用廣州創(chuàng)龍電子科技有限公司的FPGA開發(fā)板,選擇使用FPGA的原因有以下幾點: (1)性能:利用硬件并行的優(yōu)勢,F(xiàn)PGA打破了順序執(zhí)行的模式,在每個時鐘周期內(nèi)完成更多的處理任務(wù)。 (2)上市時間:盡管上市的限制條件越來越多,F(xiàn)PGA技術(shù)仍提供了靈活性和快速原型的能力。用戶可以測試一個想法或概念,并在硬件中完成驗證,而無需經(jīng)過自定制ASIC設(shè)計漫長的制造過程。 (3)成本:自定制ASIC設(shè)計的非經(jīng)常性工程(NRE)費用遠(yuǎn)遠(yuǎn)超過基于FPGA的硬件解決方案所產(chǎn)生的費用。 (4)穩(wěn)定性:FPGA電路是真正的編程“硬”執(zhí)行過程對于任何給定的處理器內(nèi)核,一次只能執(zhí)行一個指令,且基于處理器的系統(tǒng)時刻面臨著嚴(yán)格限時的任務(wù)相互取占的風(fēng)險。而FPGA不使用操作系統(tǒng),擁有真正的并行執(zhí)行和專注于每一項任務(wù)的確定性硬件,可減少穩(wěn)定性方面出現(xiàn)問題的可能。 (5)長期維護(hù):FPGA芯片是現(xiàn)場可升級的,無需重新設(shè)計ASIC所涉及的時間與費用投入。 開發(fā)板外觀圖如圖2所示:圖23.2TL5724-DAC模塊 ADC(Digitalanalogtoconverter),即數(shù)模轉(zhuǎn)換器,是將時間離散、幅值也離散的數(shù)字信號轉(zhuǎn)換為時間連續(xù)、幅值也連續(xù)的模擬量;精度指標(biāo)主要有轉(zhuǎn)換精度、轉(zhuǎn)換時間。 TL5724是廣州創(chuàng)龍基于AD5724開發(fā)的快速評估模塊,與廣州創(chuàng)龍OMAP-L138/AM1808/TMS320C6748等開發(fā)板配套使用,用于多路DA串行輸出,在電力行業(yè)應(yīng)用廣泛,以下為此模塊的特點:(1)12位,4通道,SPI串行讀取方式,高達(dá)30MHz刷新速率;(2)板載/外部模擬電源可選;(3)支持單/雙電源,供電方式靈活;(4)pintopin兼容AD5734(14位)、AD5754(16位);(5)軟件可調(diào)輸出范圍:0~+5V、0~+10V、0~+10.8V、±5V、±10V、±10.8V;(6)-40℃~+85℃,工業(yè)級設(shè)計,穩(wěn)定性強,精度高。模塊外觀圖如圖3所示:圖34DDS軟件設(shè)計4.1DDS驅(qū)動代碼編程 DDS驅(qū)動代碼如下:moduledds#(parameterPHASE_W=24,parameterDATA_W=12,parameterTABLE_AW=12,parameterMEM_FILE="SineTable.dat")(input[PHASE_W-1:0]FreqWord,input[PHASE_W-1:0]PhaseShift,inputClock,inputClkEn,outputregsigned[DATA_W-1:0]Out);regsigned[DATA_W-1:0]sinTable[2**TABLE_AW-1:0];//SinetableROMreg[PHASE_W-1:0]phase;//PhaseAccumulaterwire[PHASE_W-1:0]addr=phase+PhaseShift;//PhaseShiftinitialbeginphase=0;$readmemh(MEM_FILE,sinTable);//InitializetheROMendalways@(posedgeClock)beginif(ClkEn)phase<=phase+FreqWord;endalways@(posedgeClock)beginOut<=sinTable[addr[PHASE_W-1:PHASE_W-TABLE_AW]];//Lookupthetableendendmodule FPGA建模效果圖如圖4所示:圖44.2Testbench與ISIM仿真timescale1ns/1psmoduletestbench;regclk;reg[23:0]freq;wire[23:0]phaseShift=24'b0;wireclkEn=1'b1;wiresigned[11:0]out;initialbeginclk=1'b1;freq=24'h04_0000;#10010freq=24'h08_0000;#20000freq=24'h0C_0000;#30000freq=24'h10_0000;#40000freq=24'h18_0000;#50000freq=24'h20_0000;#60000freq=24'h30_0000;#70000$stop();endalwaysbegin#10clk=~clk;endDDSdds_inst(.FreqWord(freq),.PhaseShift(phaseShift),.Clock(clk),.ClkEn(clkEn),.Out(out));endmodule仿真波形如圖5所示:圖54.仿真及下載4.1調(diào)試 先保存,將上述電路以字母輸入方式輸入并保存在工程文件夾中。再將文件置頂,最后進(jìn)行編譯,在主菜單中選擇processing項,在彈出的對話框中選擇Startcomplication鍵,則編譯開始。在編譯過程中,若有任何信息、錯誤和警告消息,都將顯示在自動打開的Message-Compiler窗口中;若由于文件出錯而沒有通過,則需要返回原文件進(jìn)行修改,修改后存盤,再編譯直至文件通過。4.2仿真 新建一個“VectorWaveformfile”文件,并在下拉列表中選.vwf擴展名,生成波形文件。右鍵單擊,在彈出的菜單中選EnterNodesFromeSNF,在彈出的對話框中選擇要觀測的節(jié)點。選Option\GridSize和File\EndTime,設(shè)置相應(yīng)選項,并給輸入引腳加上適當(dāng)?shù)男盘枴H缓?,選File\Save保存。接著選擇主菜單中的Simulator項,打開模擬器,點擊Start開始仿真。4.3下載1.在主菜單Assignments中選擇Device項,在彈出的對話框中選擇相應(yīng)的器件EP1C12Q240C8。2.在主菜單Assignments選“Pins”,打開平面布置圖編輯器窗口,將設(shè)計的電路圖中的各輸入輸出鎖定在相應(yīng)的管腳上。具體管腳號參見《課程設(shè)計參考資料》附錄五。3.在主菜單選File\Save保存文件,再次編譯項目,生成.sof文件,以用于下載。4.在主菜單Tools選Programmer,在彈出的對話框中單擊start,即可完成下載。5.要注意在實驗的不同階段,系統(tǒng)板上各短路帽、跳線帽的插拔與否。5.討論及進(jìn)一步研究建議本次實驗設(shè)計所要求的能輸出正余弦、三角波、鋸齒波、方波四種波形,經(jīng)過D/A轉(zhuǎn)換之后能在示波器上顯示,而且能通過SerialDebug.exe軟件人工改變輸出波形的頻率。討論進(jìn)一步建議是本次實驗頭一次使用veiloghdl語言編寫DDS,一星期的學(xué)習(xí)一種新的語言比較困難,造成在編寫DDS運行程序時遇到各種錯誤,所以建議使用Vhdl語言編寫程序,畢竟這學(xué)期有學(xué)習(xí)VHDL這門課,能夠更好的理解編寫的程序。6.課程設(shè)計心得1、經(jīng)過近一個星期的課程設(shè)計,我們基本掌握了DDS的基本原理及用FPGA實現(xiàn)DDS的方法,學(xué)會基本的VerilogHDL語言,熟練掌握了示波器的使用,掌握了用QuartusII進(jìn)行仿真的方法。2、通過實驗我們對DDS產(chǎn)生正弦信號有了較深刻的了解,對信號量化編碼有一定理解,對Nyquist抽樣定理有了更加直觀的理解。3、雖然沒有親自設(shè)計制作實驗板,但是通過對FPGA管腳的配置,了解了一個DDS信號發(fā)生器的硬件組成及各部分參數(shù)的相互影響。4、通過實驗大大提高了自己的動手能力,對以后的工作有一定的幫助。Abstract Thistextmainlystudiedaccordingtothehardsoftwaredesignofthewholeprojectandthecorepartthatthedirectnumeralsynthesizesaformofmachine(theDirectDigitalSynthesizer)occurrencemachine(theArbitraryWaveformGenerator).Atthesametime,carriedonthetheoriesanalysistothewholefunctionofsystem. ItdiscussedtheDDSbasicconceptandtheoriesesesinthetext,onthefoundationthatthetheoriesstudy,designedthewholesystemtocompletetheproject,usecomplicationsvariablebecomethelogicmachinepiece(CPLD)completedthemainpartofDDSofdesign,amongtheminvolvedthepartsthatthesoftwaredesigntoallcarryontoimitatetrueandelucidation,fromcompletethefunctionandcomprehensiveindexsignsoftheelectriccircuittosee,basiccometoatherequestofthetopic.Keywords:DirectDigitalSynthesizerWaveform參考文獻(xiàn)[1].潘松,黃繼業(yè).EDA技術(shù)實用教程:VHDL版.北京科學(xué)出版社.2010=3年.[2].J.Bhasker著;夏宇聞,甘偉譯.VerilogHDL入門(第3版).北京航空航天出版社.2008.附錄:源程序:`include"romtab.v"`include"claadd8s.v"`include"loadfw.v"`include"loadpw.v"`include"sinlup.v"`include"phasea.v"`include"phasemod.v"`include"pngen.v"/*****************************************************************************************************************************************************************ProjectName:DDS****Author:DanielJ.Morelli**CreationDate:03/04/9621:51:00**VersionNumber:1.0****RevisionHistory:****DateInitialsModification******Description:****ThisisthetopleveloftheDirectDigitalSynthesizer***********************************************************************************/moduledds( RESETN, //globalreset PNCLK, //PNgeneratorclock SYSCLK, //systemclock FREQWORD, //inputfrequencywordfromexternalpins FWWRN, //lowassertedfrequencywordwritestrobe PHASEWORD, //inputphasewordfromexternalpins PWWRN, //lowassertedfrequencywordwritestrobe IDATA, //Iaxisdata QDATA, //Qaxisdata COS, //digitalcosoutput SIN, //digitalsinoutput MCOS, //modulateddigitalcosoutput MSIN, //modulateddigitalsinoutput DACCLK, //DACclocktosignalwhentoloadDDSsinvalue DACOUT); //DACoutputofsinwave//PorttypesinputSYSCLK,PNCLK,RESETN,FWWRN,PWWRN;input[31:0]FREQWORD;input[7:0]PHASEWORD;outputDACCLK,COS,SIN,MCOS,MSIN,IDATA,QDATA;output[7:0]DACOUT;wire[31:0] syncfreq; //synchronousfrequencywordwire[7:0] syncphswd; //synchronousphasewordwire[7:0] phase; //phaseoutputfromphaseaccumulatorwire[7:0] modphase; //modulatedphasevalueafterphasemodblock//designarchitecture assignDACCLK=SYSCLK;////thismoduleisnotpartoftheNCO//thismoduleisusedtogeneraterandomdata//tomodulatetheNCOoutput//pngenU_pngen( RESETN, //globalreset PNCLK, //PNgeneratorclock IDATA, //Iaxisdata QDATA); //Qaxisdata//loadfwU_loadfw( RESETN, //globalreset SYSCLK, //systemclock FREQWORD, //inputfrequencywordfromexternalpins FWWRN, //lowassertedfrequencywordwritestrobe syncfreq); //synchronousfrequencywordloadpwU_loadpw( RESETN, //globalreset SYSCLK, //systemclock PHASEWORD, //inputphasewordfromexternalpins PWWRN, //lowassertedfrequencywordwritestrobe syncphswd); //synchronousphasewordphaseaU_phasea( SYSCLK, //systemclock

溫馨提示

  • 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

提交評論