EDA技術(shù)與實踐教程_第1頁
EDA技術(shù)與實踐教程_第2頁
EDA技術(shù)與實踐教程_第3頁
EDA技術(shù)與實踐教程_第4頁
EDA技術(shù)與實踐教程_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、EDA技術(shù)與實踐教程論文課題:DDS信號源的設(shè)計學(xué)院:電子信息工程學(xué)院班級:通信12301班作者:吳丹學(xué)號:12011221其他成員:陳敬焰、楊柳DDS信號源的設(shè)計一DDS概論DDS是一種以全數(shù)字技術(shù)從相位概念出發(fā)直接合成所需波形的一種頻率合成技術(shù)。目前使用最廣泛的方式是利用高速存儲器查找表,然后通過高速DAC輸出已經(jīng)用數(shù)字形式存入的正弦波。DDS技術(shù)一般都是以數(shù)字控制振蕩器NCO(Numerically Controlled Oscillator)為核心,來產(chǎn)生頻率可調(diào)的sin正弦波的波形的數(shù)字量表示的幅值。這些數(shù)字量表示的波形幅值再通過一個DAC(Digital-Analog Conver

2、ter),得到正弦波的模擬量波形。它是在時域中進行頻率合成,從而能夠?qū)敵鲱l率進行快速而且精確的控制,并且這種控制全部都是數(shù)字控制,因此可以提供非常高的頻率精度。 二DDS工作原理DDS的基本原理是利用采樣定理,通過查表法產(chǎn)生波形。DDS的結(jié)構(gòu)有很多種,其基本的電路原理可用下圖1 來表示。相位累加器由N位加法器與N位累加寄存器級聯(lián)構(gòu)成。每來一個時鐘脈沖FS,加法器將頻率控制字K與累加寄存器輸出的累加相位數(shù)據(jù)相加,把相加后的結(jié)果送至累加寄存器的數(shù)據(jù)輸入端。累加寄存器將加法器在上一個時鐘脈沖作用后所產(chǎn)生的新相位數(shù)據(jù)反饋到加法器的輸入端,以使加法器在下一個時鐘脈沖的作用下繼續(xù)與頻率控制字相加。這樣,

3、相位累加器在時鐘作用下,不斷對頻率控制字進行線性相位累加。由此可以看出,相位累加器在每一個時鐘脈沖輸入時,把頻率控制字累加一次,相位累加器輸出的數(shù)據(jù)就是合成信號的相位,相位累加器的溢出頻率就是DDS輸出的信號頻率。 用相位累加器輸出的數(shù)據(jù)作為波形存儲器(ROM)的相位取樣地址,這樣就可把存儲在波形存儲器內(nèi)的波形抽樣值(二進制編碼)經(jīng)查找表查出,完成相位到幅值轉(zhuǎn)換。波形存儲器的輸出送到轉(zhuǎn)換器,轉(zhuǎn)換器將數(shù)字量形式的波形幅值轉(zhuǎn)換成所要求合成頻率的模擬量形式信號。低通濾波器用于濾除不需要的取樣分量,以便輸出頻譜純凈的正弦波信號。 DDS在相對帶寬、頻率轉(zhuǎn)換時間、高分辨力、相位連續(xù)性、正交輸出以及集成化

4、等一系列性能指標(biāo)方面遠遠超過了傳統(tǒng)頻率合成技術(shù)所能達到的水平,為系統(tǒng)提供了優(yōu)于模擬信號源的性能。三實驗過程1.實驗?zāi)康模?)學(xué)習(xí)掌握DDS信號源的設(shè)計方法。 (2)學(xué)習(xí)較復(fù)雜的數(shù)字系統(tǒng)設(shè)計方法。2.實驗內(nèi)容總體設(shè)計框圖如下圖所示??傮w框圖中包含dds_sin,dds_rom,dds_fen三個模塊。dds_fen根據(jù)需要生成的信號頻率值,產(chǎn)生對應(yīng)的時鐘信號;dds_sin實現(xiàn)正弦波地址數(shù)據(jù)輸出;dds_rom用來保存正弦波形數(shù)據(jù)。(1) 端口說明Clk:系統(tǒng)時鐘Clr:清零信號Datain19.0:設(shè)定頻率值Dataout7.0:頻率輸出(2)dds_ fen模塊根據(jù)需要生成的信號頻率值,產(chǎn)生

5、對應(yīng)的時鐘信號,是DDS設(shè)計的核心部分。Clk為系統(tǒng)時鐘,clr為清零信號, datain為所需頻率值。產(chǎn)生對應(yīng)的后續(xù)模塊的時鐘模塊。在后續(xù)正弦波產(chǎn)生模塊中需要提供的時鐘信號為所需頻率值的64倍,通過相位累加即可的得所需頻率。dds_fen模塊的VHDL源代碼如下。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY dds_fen ISGENERIC(WIDTH:INTEGER:=20;clk_k:INTEGER:=1000000

6、0);PORT(clk,clr:IN STD_LOGIC;datain:IN STD_LOGIC_VECTOR(WIDTH-1 DOWNTO 0);clk_out:OUT STD_LOGIC);END;ARCHITECTURE one OF dds_fen ISSIGNAL INTEGER RANGE 0 TO clk_k;SIGNAL data_c:STD_LOGIC_VECTOR(WIDTH-1+6) DOWNTO 0);SIGNAL clk_out_c:STD_LOGIC;BEGINdata_c<=datain&”000000”;PROCESS(clk,clr,datain

7、)BEGINIF clr=1THEN q<=0;ELSIF clkEVENT AND clk=1THENIF q<clk_k-CONV_INTEGER(data_c)THENq<=q+CONV_INTEGER(data_c);clk_out_c<=0;ELSEq<=0;clk_out_c<=1;END IF;END IF;END PROCESS;clk-out<=clk_out_c;END;(3)DDS_SIN模塊實現(xiàn)正弦波地址數(shù)據(jù)輸出DDS_SIN的VHDL源代碼如下。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;

8、USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY dds_sin ISGENERIC(WIDTH:INTEGER:=6;depth:INTEGER:=64);PORT(clk,clr:IN STD_LOGIC;q:OUT STD_LOGIC_VECTOR(WIDTH-1 DOWNTO 0);END;ARCHITECTURE one OF dds_sin ISSIGNAL q1:INTEGER RANGE 0 TO (depth-1);BEGINPROCESS(clk,clr)BEGINIF clr=1THEN

9、 q1<=0;ELSIF clkEVENT AND clk=1THENIF q1<(depth-1) THENq1<=q1+1;ELSEq1<=0;END IF;END IF;END PROCESS;q<=CONV_STD_LOGIC_VECTOR(q1,WIDTH);END;(4)dds_rom模塊用來保存正弦波波形數(shù)據(jù)Dds_rom模塊的VHDL源代碼如下LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;EN

10、TITY dds_rom ISGENERIC(addr:INTEGER:=6;width:INTEGER:=8);PORT( clk:IN STD_LOGIC;address:IN STD_LOGIC_VECTOR(addr-1 DOWNTO 0);dataout:OUT STD_LOGIC_VECTOR(WIDTH-1 DOWNTO 0);END;ARCHITECTURE one OF dds_rom ISSIGNAL q:INTEGER RANGE 0 TO 63;SIGNAL d:INTEGER RANGE 0 TO 255;BEGINq<=CONV_INTEGER(address

11、);PROCESS(clk)BEGINCASE q ISWHEN 00=>d<=255; WHEN 01=>d<=254; WHEN 02=>d<=252; WHEN 03=>d<=249;WHEN 04=>d<=245; WHEN 05=>d<=239; WHEN 06=>d<=233; WHEN 07=>d<=225;WHEN 08=>d<=217; WHEN 09=>d<=207; WHEN 10=>d<=197; WHEN 11=>d<=186

12、;WHEN 12=>d<=174; WHEN 13=>d<=162; WHEN 14=>d<=150; WHEN 15=>d<=137;WHEN 16=>d<=124,WHEN 17=>d<=112; WHEN 18=>d<=99; WHEN 19=>d<=87;WHEN 20=>d<=75, WHEN 21=>d<=64; WHEN 22=>d<=53; WHEN 23=>d<=43;WHEN 24=>d<=34; WHEN 25=>

13、;d<=26; WHEN 26=>d<=19; WHEN 27=>d<=13;WHEN 28=>d<=8; WHEN 29=>d<=4; WHEN 30=>d<=1; WHEN 31=>d<=0;WHEN 32=>d<=0; WHEN 33=>d<=1; WHEN 34=>d<=4; WHEN 35=>d<=8;WHEN 36=>d<=13; WHEN 37=>d<=19; WHEN 38=>d<=26; WHEN 39=>d&

14、lt;=34;WHEN 40=>d<=43; WHEN 41=>d<=53; WHEN 42=>d<=64; WHEN 43=>d<=75;WHEN 44=>d<=87; WHEN 45=>d<=99; WHEN 46=>d<=112; WHEN 47=>d<=124;WHEN 48=>d<=137; WHEN 49=>d<=150; WHEN 50=>d<=162; WHEN 51=>d<=174;WHEN 52=>d<=186; WHE

15、N 53=>d<=197; WHEN 54=>d<=207; WHEN 55=>d<=217;WHEN 56=>d<=225; WHEN 57=>d<=233; WHEN 58=>d<=239; WHEN 59=>d<=245;WHEN 60=>d<=249; WHEN 61=>d<=252; WHEN 62=>d<=254; WHEN 63=>d<=255;WHEN OTHERS=>NULL;END CASE;END PROCESS;dataout<

16、=CONV_STD_LOGIC_VECTOR(d,WIDTH);END;(5)三個元件圖如下所示(6)鎖引腳,圖如下。(7)鎖好引腳,編譯成功后,下載到DE2板,擴展端口GPIO_07GPIO_00外接D/A變換后送示波器觀察波形。嵌入式邏輯分析儀SignalTap,可以方便把實際檢測的信號通過JTAG口回送到計計算機進行分析。如下圖所示,為最后輸出波形。四實驗收獲經(jīng)過本次實驗,我學(xué)到了很多東西。首先以前我對DDS的原理一無所知因為本次實驗要用這個原理我就到圖書館去借有關(guān)的書籍、在網(wǎng)上查閱各種與DDS相關(guān)的資料,然后開始慢慢解了DDS原理,雖然我們只是做的比較簡單的DDS信號源的設(shè)計,但這次試驗,對我們來講都是受益匪淺的一次經(jīng)歷。 還有以前我對QuartusII原理圖的方式不是很熟悉,每次做老師布置的作業(yè)都會出現(xiàn)一些問題,不是代碼容易寫錯就是引腳沒有鎖。但因為這次我們是小組合作的方式,我們?nèi)齻€齊頭并進,剛開始都一起做,然后大家分工利用VHDL寫出源代碼,這也讓我告訴自己不能夠有錯誤,不然大家做的都會前功盡棄,于是我認真的輸入代碼,并編譯成功后,給其他組員提供。在后面的工作中,我們又遇到了很多問

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論