DDS程序設計實驗報告_第1頁
DDS程序設計實驗報告_第2頁
DDS程序設計實驗報告_第3頁
DDS程序設計實驗報告_第4頁
DDS程序設計實驗報告_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、摘 要本文利用QuartusII軟件設計一個可以具有清零端、使能端,可以進行頻率控制、相位控制,可以測定頻率并且顯示出來的直接數(shù)字頻率合成器。同時本文對DDS進行了附加功能的設計,增加了節(jié)省ROM,余弦波,方波,三角波,鋸齒波的波形,最后進行了AM調(diào)制。本文詳細描述了每個模塊原理和電路圖,對DDS電路進行了合理的設計關鍵詞:DDS 節(jié)省ROM AM調(diào)制 QuartusIIAbstract The report designs a Direct Digital Synthesizer (DDS) which can reset, enable, change frequency and phas

2、e, measure frequency and show it by QuartusII. As the same time, the DDS adds extral design, adds the saving ROM, cosine, square waveform, triangle wave, sawtooth. At last, the artical adds the AM modulation. The artical analyzes the theory and design of all works detailly and design the DDS.Keyword

3、s: DDS save ROM AM modulation QuartusII1目 錄一實驗內(nèi)容4二實驗目的4三實驗要求4四整體電路設計原理4五各模塊電路1.分頻電路62.頻率預置和調(diào)節(jié)電路10 3.相位預置和調(diào)節(jié)電路13 4.波形存儲器(ROM)15 5.測頻電路16 6.譯碼電路18 7.顯示電路208.總電路圖21六.附加電路 1.節(jié)省ROM22 2.余弦波28 3.方波29 4.鋸齒波31 5.三角波31 6.選擇電路34 7.AM調(diào)制 35七.調(diào)試仿真及下載36八.遇到的問題及解決方法38九.收獲與感想39十.參考文獻4031. 實驗內(nèi)容 本實驗的內(nèi)容是使用DDS的方法設計一個任意頻

4、率的正弦信號發(fā)生器和頻率計,利用QuartusII完成設計、仿真等工作,并進行硬件測試,通過示波器觀察輸出信號波形。2. 實驗目的學習使用FPGA實現(xiàn)直接數(shù)字頻率合成器(DDS)。3. 實驗要求(1) 利用QuartusII軟件和SmartSOPC實驗箱實現(xiàn)DDS的設計;(2) DDS中的波形存儲器模塊用Altera公司的Cyclone系列FPGA芯片中的ROM實 現(xiàn),ROM結(jié)構(gòu)配置成4096×10類型;(3) 具體參數(shù)要求:頻率控制字K取4位;基準頻率fc=1MHz,由實驗板上的系統(tǒng) 時鐘分頻得到;(4)系統(tǒng)具有清零和使能的功能;(5)利用實驗箱上的D/A轉(zhuǎn)換器件將ROM輸出的數(shù)字

5、信號轉(zhuǎn)換為模擬信號,能 通過示波器觀察到正弦波形;(6)通過開關控制改變DDS的頻率和相位控制字,并能用示波器觀察加以驗證;(7)在數(shù)碼管上顯示生成的波形頻率;(8)充分考慮ROM結(jié)構(gòu)及正弦函數(shù)的特點,進行合理的配置,提高計算精度;(9)設計能輸出多種波形(三角波、鋸齒波、方波等)的多功能波形發(fā)生器;(10)考慮節(jié)省ROM空間的設計,例如只提供四分之一的波形或者半波形。4. 整體電路設計原理1基本框圖2工作原理DDS的基本結(jié)構(gòu)主要由相位累加器、相位調(diào)制器、正弦波數(shù)據(jù)表(ROM)、D/A轉(zhuǎn)換器構(gòu)成。相位累加器由N位加法器N位寄存器構(gòu)成。每來一個CLOCK,加法器就將頻率控制字與累加寄存器輸出的累

6、加相位數(shù)據(jù)相加,相加的結(jié)果又反饋送至累加寄存器的數(shù)據(jù)輸入端,以使加法器在下一個時鐘脈沖的作用下繼續(xù)與頻率控制字相加。這樣,相位累加器在時鐘作用下,不斷對頻率控制字進行線性相位累加。由此,相位累加器在每一個時鐘脈沖輸入時,把頻率控制字累加以此,相位累加器輸出的數(shù)據(jù)作為波形存儲器的相位取樣地址,這樣就可把存儲在波形存儲器內(nèi)的波形抽樣值進行找表查出,完成相位到幅值的轉(zhuǎn)換。DDS工作流程示意圖:3整體電路圖5. 各模塊電路1.分頻電路實驗中提供穩(wěn)定的頻率為48MHZ的高頻脈沖,需使用到0.5HZ、1HZ、1KHZ、1MHZ頻率,故將48MHZ經(jīng)16分頻再3分頻得1MHZ,1000分頻得1KHZ,再將1

7、KHZ信號經(jīng)2分頻得到500HZ,并且將1KHZ經(jīng)1000分頻得1HZ,再經(jīng)2分頻得到0.5HZ時鐘。1.1 16分頻電路16分頻電路由4個D觸發(fā)器組合而成,如圖: 輸出波形如圖:封裝后:1.2 3分頻電路3分頻電路由2個D觸發(fā)器構(gòu)成,如圖:輸出波形如圖: 封裝后:1.3 10分頻電路 由4個JK觸發(fā)器構(gòu)成, 電路如下:輸出波形如圖: 封裝后:1.4 1000分頻電路1000分頻由三個10分頻級聯(lián)得到,電路如下: 輸出波形如圖: 封裝后:1.5 2分頻電路 利用D觸發(fā)器即可構(gòu)成2分頻器,電路如圖: 輸出波形如圖: 封裝后: 1.6 總分頻電路 通過對上列所做的分配電路進行組合,可以得到總分頻電

8、路,得到我們 頻率所需要的波形。 總分頻電路如下:輸出波形如圖:封裝后:2.頻率預置和調(diào)節(jié)電路2.1 頻率預置電路 頻率預置電路的作用是實現(xiàn)頻率控制量的輸入,不變量K被稱為相位增量,也叫頻率控制字。DDS的輸出頻率表達式為。當時,輸出最低頻率為;而DDS的最高輸出頻率由Nyquist采樣定理決定,即,即,此時為最大值。頻率控制字設計的是從0000到1111的四位二進制數(shù),但是為了與相位累加器相匹配,需要定義成12位的二進制數(shù)。所以的高8為都要賦零,只需要控制低四位,即的范圍是從000000000000到000000001111。若直接用開關輸入需要4個開關,而SmartSOPC實驗箱提供的只有

9、8個開關,為了節(jié)省開關,本設計利用一個模16計數(shù)器來產(chǎn)生頻率控制字。計數(shù)頻率采用1Hz,1秒鐘計一次數(shù),通過開關來控制使達到需要頻率控制字。根據(jù)以上的原理,設計頻率預置電路可以利用74163設計模16完成。采用之前分頻得到的1Hz信號作為時鐘,使其完成從0到15的模16計數(shù)。同時我們在模塊中加入了清零和保持的開關。 電路圖如下: 輸出波形如圖: 封裝后:2.2累加器累加器由N位加法器N位寄存器構(gòu)成,如下圖所示。模-N運算加法器累加器N=頻率控制K輸出參考振蕩器累加器由加法器與寄存器級聯(lián)而成。每當一個時鐘脈沖的到來,我們就把加法器將頻率控制字K與寄存器輸出的累加相位數(shù)據(jù)相加,再把相加后的結(jié)果送至

10、寄存器的數(shù)據(jù)輸入端。寄存器將加法器的上一個時鐘作用后所產(chǎn)生的相位數(shù)據(jù)反饋至加法器的輸入端,以使加法器在下一個時鐘作用下繼續(xù)與頻率控制字進行相加。從而相位累加器在時鐘作用下,進行相位累加。當相位累加器累加滿量時就會產(chǎn)生一次溢出,從而完成一次周期性的動作。電路圖: 輸出波形如圖:封裝后:3.相位預置和調(diào)節(jié)電路3.1 相位預置電路相位預置電路和頻率預置電路的原來相似,我們首先用74163設計模16模塊,采用1Hz信號作為時鐘,使其完成從0000到1111的模16計數(shù)。另外加上清零和保持開關。電路圖: 輸出波形如圖:封裝后:3.2加法器相位加法器的就是在頻率累加器的基礎上再加上一個數(shù),它沒有累加作用,

11、所以它不能改變輸出信號的頻率,它只能改變輸出信號的相位。為了能夠使相位改變明顯能在示波器上觀察到,輸入的相位控制字是加在頻率累加器數(shù)的高四位上的。 相位控制模塊實際上是用一個12位的加法器將之前累加器的輸出結(jié)果的高四位與四位相位控制字相加,從而構(gòu)成相位控制模塊。其中清零與保持端分別由開關控制,以便得到所需相位。電路圖: 輸出波形如圖:封裝后:4.波形存儲器(ROM)波形存儲器(ROM)的原理圖如下圖所示:波形存儲器(ROM)的相位取樣地址來自于相位累加器輸出的數(shù)據(jù)這樣就可把存儲在波形存儲器內(nèi)的波形抽樣值(二進制編碼)經(jīng)查找表查出,完成相位到幅值轉(zhuǎn)換。同時,波形存儲器中還可存放不同類種波形的地址

12、,例如正弦波、余弦波、方波、矩形波、鋸齒波、三角波等,這些波均可通過后面的D/A轉(zhuǎn)換器及低通濾波器將數(shù)字信號轉(zhuǎn)化為模擬信號從而進行連續(xù)信號的輸出與恢復。本次實驗采用excel表格生成sin函數(shù)的數(shù)據(jù),表格如下:并將數(shù)據(jù)復制sin.mif中,結(jié)果生成如下.mif文件: 在元器庫中選取LPM-ROM,設置ROM的信息,數(shù)據(jù)寬度為10bits,數(shù)據(jù)個數(shù)為4096;指定ROM的初始化數(shù)據(jù)來源,選擇剛剛所生成的mif文件。即可生成ROM單元。封裝后:5.測頻電路因為在這個實驗中,我們需要設計測頻電路來測量頻率。所以我們利用了以下的設計原理。 測頻的方法就是通過利用計數(shù)器和鎖存器實現(xiàn)1秒鐘內(nèi)脈沖的個數(shù)的計

13、算來測得頻率。因為累加器以頻率控制字16為間隔,所以每當累加器到15之后就會產(chǎn)生一次溢出,從而完成了一次周期性的操作,所以這個周期就是DDS信號的頻率周期,因此我們將累加器的最高位作為測頻電路的脈沖。首先我們利用之前分頻好了的1Hz信號,將其二分頻,得到0.5Hz的信號,再將0.5Hz脈沖送到鎖存器的時鐘端,再將0.5Hz反相延時,然后把脈沖送入計數(shù)器的清零端。這樣就使計數(shù)器在2s的脈沖周期內(nèi),1s內(nèi)清零,1s內(nèi)計數(shù),就如下圖所示。由于鎖存器的脈沖信號和計數(shù)器的脈沖信號是反相的,且有一定的延時,所以當鎖存器有效脈沖到時,計數(shù)器是清零狀態(tài),鎖存器就鎖存前1s內(nèi)計數(shù)器的計數(shù)信號。這樣就完成了1s內(nèi)

14、的脈沖計數(shù),再將鎖存器的輸出送入譯碼顯示電路,就可以在數(shù)碼管上顯示波形頻率了。測評電路原理圖:計數(shù)鎖存清零反相延時單位時鐘單位時鐘二分頻反相延時待測信號電路圖:封裝后:6.譯碼電路 因為頻率控制字和相位控制字都是四位的二進制碼,但是我們的數(shù)碼管需要設置成BCD碼才能一下子看出來,所以我們需要進行二進制轉(zhuǎn)換成8421BCD碼才可以顯示。因此需要把其通過譯碼電路轉(zhuǎn)換再輸入顯示電路。我們學習過的二進制轉(zhuǎn)換成十進制的器件74185就可以完成。然后我們只需要把位數(shù)放進74185就可以了。2) 對應轉(zhuǎn)化如下表頻率控制字十進制個位十進制十位0000(0)0000(0)00000001(1)0001(1)00

15、000010(2)0010(2)00000011(3)0011(3)00000100(4)0100(4)00000101(5)0101(5)00000110(6)0110(6)00000111(7)0111(7)00001000(8)1000(8)00001001(9)1001(9)00001010(10)0000(0)00011011(11)0001(1)00011100(12)0010(2)00011101(13)0011(3)00011110(14)0100(4)00011111(15)0101(5)0001電路圖:封裝后:7.顯示電路顯示電路以動態(tài)顯示的原理來顯示所要顯示的值。本次實驗

16、中用到七位數(shù)碼顯示。數(shù)碼管的前面4位我們用來顯示頻率控制字與相位控制字,后面4位我們用來顯示相應的波形頻率。 首先我們做出模八計數(shù)器利用74160產(chǎn)生地址碼,然后利用8選1數(shù)據(jù)選擇器,通過模八計數(shù)器產(chǎn)生的地址碼,將要顯示的信號送到譯碼器上。最后譯碼器將要現(xiàn)實的信號翻譯為7段數(shù)碼管段碼。因為我們需要觀察到數(shù)碼管的讀數(shù),所要顯示管需要同時顯示數(shù)字,但是由于一個時間只能夠亮一個數(shù)碼管,因為我們是輪流顯示數(shù)碼管上的數(shù)字的,利用人眼的視覺惰性,我們可以用高頻率如1KHZ來輸入到74160中,這樣因為頻率高,所以實現(xiàn)了動態(tài)顯示功能,人眼觀察就感覺是同一時刻產(chǎn)生的。電路圖:封裝后:8.總電路圖6 附加電路1

17、.節(jié)省ROM想要節(jié)省ROM 空間,我們通過SIN函數(shù)的波形可以知道,SIN函數(shù),是一個有對稱性的波形,有了第一個四分之一的波形,第二個四分之一波形為其頻率取反的輸出,第三個四分之一的波形為其幅度取反,第四個四分之一的波形為其頻率幅度都取反。所以電路就可以使用四分之一的波形數(shù)據(jù)產(chǎn)生整個周期的波形的電路,從而節(jié)省了ROM。1.1ROM文件首先新建一個ROM文件,這個文件有1024個數(shù)據(jù),即是1/4個SINROM。利用之前建立的ROM.MIF文件的前1024位,即:做出了下面的.mif文件: 封裝圖:1.2取反電路 因為想要節(jié)省ROM,我們的相位和幅度都要取反,因為本次實驗中SIN函數(shù)由10位組成,

18、所以設計了取反電路,對每位分別取反,這里是運用了10個非門。電路圖:封裝后:1.3選擇電路 因為我們得到的4個波形都是1/4個周期的波形,它并不是完整的波形,需要我們組合起來,所以我們建立了一個MUX電路。前面的節(jié)省ROM我們只需要利用10位數(shù)據(jù)來查找1/4ROM的表格,剩下的高2位,我們可以作為選擇信號。來選擇是那個部分的波形放入波形圖中。電路圖:封裝后:1.4總電路 最后通過組合我們得到了總電路圖:封裝后:1.5選擇電路 然后為了觀察節(jié)省ROM的函數(shù)和原本的波形的區(qū)別,我把它加入到原有的電路中去。并且采用了一個2選一的電路,來實現(xiàn)對輸出的控制,其中SEL信號選擇是那個信號接入到輸出中去。電

19、路圖:封裝后:所以得到了電路圖:2.余弦波根據(jù)余弦波和正弦波的區(qū)別我們可以知道,余弦波就是正弦波的相位偏移,所以根據(jù)之前設計正弦波的思路,我把余弦波的相位預置設置為4,這樣就形成了一個余弦波。而且通過控制這個余弦波可以和我們的正弦波同時變化相位,也可以讓這個余弦波的相位不變。電路圖:封裝后:再加入之前和正弦波一樣的相位加法器,我們就可以得出余弦波電路圖;3.方波 因為我們的相位加法器的輸出的最高位是在0和1之間轉(zhuǎn)換,而且其最高位的轉(zhuǎn)換頻率和我們正弦波的頻率是一樣的,其占空比是50%,這和我們方波的性質(zhì)是一樣的。所以我在每一位利用了1個與門將最高位分成了一樣的10個輸出,來做方波電路。電路圖:封

20、裝后: 帶入到電路中:4.鋸齒波鋸齒波的波形我們可以通過相位加法器的高十位來確定,因為加法器的高十位是遞增的,然后到了15之后再變成0這樣形成一個直接的下降,然后再遞增成一個斜坡。所以我利用了10個D觸發(fā)器,讓其可以穩(wěn)定的輸出。電路圖:封裝后: 帶入到電路中:5.三角波三角波的波形我是利用了頻率累加器的的輸出來實現(xiàn)的,因為頻率累加器的輸出是一個遞增的數(shù),所以我們可以利用這個遞增做成三角波的一邊,所以我利用了D觸發(fā)器來將這12位輸出保存下來,之后再通過一個翻轉(zhuǎn),我就可以得到一個三角波的波形。5.1半邊電路電路圖:封裝后:5.2取反電路因為三角波是一個對稱的波形,三角波的一邊遞增,另外一邊就可以利

21、用取反的原理遞減,然后就可以看到三角波的另外一邊了。所以,我利用11個非門設計了一個取反的電路。電路圖:封裝后:5.3總電路 將之前所設計的電路連接起來,我就設計了如下的電路。電路圖:封裝后: 帶入到電路中:6.選擇電路 我們把余弦波,方波,三角波和鋸齒波四個波都從DA1中輸出,我設計了一個4選一的MUX電路,原理和設計節(jié)省ROM的SIN函數(shù)的MUX的原理一樣。這里就不重復了。電路圖:封裝后:并且利用開關SEL1.0實現(xiàn)波形選擇,從余弦、三角波、鋸齒波、方波選擇波形輸出。SEL1SEL0 輸出波形 0 0方波 0 1鋸齒波 1 0三角波 1 1余弦波7.AM調(diào)制AM調(diào)制的基本原理就是設計兩個不

22、同頻率的正弦波,將他們兩相乘就可以得到一個包絡出來,我根據(jù)我們之前做好的DDS波形來設計了兩個正弦波,然后設計了一個乘法器,將他們兩相乘,輸出波形來。但是雖然我這么做的原理并沒有神門問題,可是得到的卻只是一半的波形,所以這個想法還需要繼續(xù)改進。7.1正弦波直接利用之前設計好的電路,我設計出了2個正弦波,分別利用2個不同的開關控制頻率電路圖:7.2相乘電路我直接利用器件庫里面的LPM_MUX進行了設計,電路圖:8.總電路根據(jù)上述電路,組合成一個總的電路圖,電路圖:七調(diào)試仿真及下載1.調(diào)試 先保存,將上述電路以字母輸入方式輸入并保存在工程文件夾中,將文件置頂,最后進行編譯,在主菜單中選擇proce

23、ssing項,在彈出的對話框中選擇Start complication鍵,則編譯開始。在編譯過程中,若有任何信息、錯誤和警告消息,都將顯示在自動打開的Message-Compiler窗口中;若由于文件出錯而沒有通過,則需要返回原文件進行修改,修改后存盤,再編譯直至文件通過。2.仿真 新建一個“Vector Waveform file”文件,并在下拉列表中選.vwf擴展名,生成波形文件。右鍵單擊,在彈出的菜單中選Enter Nodes Frome SNF,在彈出的對話框中選擇要觀測的節(jié)點。選Option/Grid Size和File/End Time,設置相應選項,并給輸入引腳加上適當?shù)男盘?。?/p>

24、后,選File/Save保存。接著選擇主菜單中的Simulator項,打開模擬器,點擊Start開始仿真。3.下載1. 在主菜單Assignments中選擇Device項,在彈出的對話框中選擇相應的器件EP1C12Q240C8。2. 在主菜單Assignments 選“Pins”,打開平面布置圖編輯器窗口,將設計的電路圖中的各輸入輸出鎖定在相應的管腳上。3. 在主菜單選File/Save保存文件,管腳設定后重新編譯項目,生成.sof文件,以用于下載。4. 在主菜單Tools 選Programmer,在彈出的對話框中單擊start,即可完成下載。5. 要注意在實驗的不同階段,系統(tǒng)板上各短路帽、跳

25、線帽的插拔與否。4.PINS八遇到的問題及解決方法 在設計測頻電路的時候,首先我是把頻率累加器的進位設成了Measure模塊的CLK端。但是在電路仿真的階段,我看到我的頻率顯示是一個不正確的頻率。之后我和同學們討論,原來是把累加器的最高位輸入到CLK中,由于累加器以頻率控制字K為間隔,當累加器滿量時就會產(chǎn)生一次溢出,完成一次周期性的動作,這個周期也就是DDS信號的一個頻率周期,所以將累加器的最高位作為測頻電路技術(shù)器的脈沖。然后再設計二進制和十進制轉(zhuǎn)換的電路中,我首先是從書上找到了現(xiàn)成的74185轉(zhuǎn)換器,按照書上給我的模型。首先我是把74185的Y7輸出直接作為BCD的十位B3輸出。但是當我進行

26、仿真下載時,我發(fā)現(xiàn),這樣做的話,我的顯示器顯示的最高位沒辦法清零,顯示的數(shù)字是8。之后我在Y7之后加入了一個非門輸入到B3之中,然后進行仿真后得到的結(jié)果就正確了。在設計D/A的時候,我把DA_CLK一開始忘記接進去了,然后出來的波形就是紊亂的,根本就沒有波形,之后將DA_CLK接入了和累加器一樣的頻率,之后我的波形就正常了,老師說如果再在之間加一個非門,這個波形就更加準確了,因為這樣就把信號的產(chǎn)生和輸入時間產(chǎn)生了一個間隔,這段時間足以讓我們的信號的競爭冒險結(jié)束,從而生成一個準確的信號輸出。九收獲與感想 在這次實驗中我對DDS有了更加深入的理解,知道了DDS的一些特性和怎樣來設計一個DDS。在這

27、次實驗中,因為上周的實驗,所以我對Quartus有一些了解,做起來簡單一點。但是因為這周我們用到了D/A轉(zhuǎn)化,之前我并沒有對其有了解,所以在做D/A轉(zhuǎn)化時,忘掉了加入DA_CLK,導致我的波形沒辦法出來,因此浪費了一下午來研究哪里做錯了。 其次就是老師一開始介紹做方波,三角波和鋸齒波的時候,我有聽老師說,如果用ROM來做這幾個波形就是太浪費ROM了,所以我按照老師講解的,并且自己上網(wǎng)查了一些資料,采用了我們的計數(shù)器來做三角波,用相位加法器的最高位來做方波,用相位加法器的高十位來做鋸齒波。之后我都做了出來。對于余弦波,我是采用了相位的移動,因為我采用的相位預置電路是模16的,等于說一個周期就是16,而我們的正弦波和余弦波相差,也就是說我們的相位計數(shù)器預置相差4就可以了,之后我就先把余弦波的相位計數(shù)器初始化為4,正弦波初始為0。之后就產(chǎn)生了正弦和余弦波。 開始,我出來的波形有一點紊亂,可以看出來是波,但是感覺不穩(wěn)定,

溫馨提示

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

最新文檔

評論

0/150

提交評論