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

下載本文檔

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

文檔簡介

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

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

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

4、等一系列性能指標方面遠遠超過了傳統頻率合成技術所能達到的水平,為系統提供了優于模擬信號源的性能。三實驗過程1.實驗目的(1)學習掌握DDS信號源的設計方法。 (2)學習較復雜的數字系統設計方法。2.實驗內容總體設計框圖如下圖所示。總體框圖中包含dds_sin,dds_rom,dds_fen三個模塊。dds_fen根據需要生成的信號頻率值,產生對應的時鐘信號;dds_sin實現正弦波地址數據輸出;dds_rom用來保存正弦波形數據。(1) 端口說明Clk:系統時鐘Clr:清零信號Datain19.0:設定頻率值Dataout7.0:頻率輸出(2)dds_ fen模塊根據需要生成的信號頻率值,產生

5、對應的時鐘信號,是DDS設計的核心部分。Clk為系統時鐘,clr為清零信號, datain為所需頻率值。產生對應的后續模塊的時鐘模塊。在后續正弦波產生模塊中需要提供的時鐘信號為所需頻率值的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模塊實現正弦波地址數據輸出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模塊用來保存正弦波波形數據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口回送到計計算機進行分析。如下圖所示,為最后輸出波形。四實驗收獲經過本次實驗,我學到了很多東西。首先以前我對DDS的原理一無所知因為本次實驗要用這個原理我就到圖書館去借有關的書籍、在網上查閱各種與DDS相關的資料,然后開始慢慢解了DDS原理,雖然我們只是做的比較簡單的DDS信號源的設計,但這次試驗,對我們來講都是受益匪淺的一次經歷。 還有以前我對QuartusII原理圖的方式不是很熟悉,每次做老師布置的作業都會出現一些問題,不是代碼容易寫錯就是引腳沒有鎖。但因為這次我們是小組合作的方式,我們三個齊頭并進,剛開始都一起做,然后大家分工利用VHDL寫出源代碼,這也讓我告訴自己不能夠有錯誤,不然大家做的都會前功盡棄,于是我認真的輸入代碼,并編譯成功后,給其他組員提供。在后面的工作中,我們又遇到了很多問

溫馨提示

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

評論

0/150

提交評論