基于DDS的數(shù)字相移信號(hào)發(fā)生器_第1頁(yè)
基于DDS的數(shù)字相移信號(hào)發(fā)生器_第2頁(yè)
基于DDS的數(shù)字相移信號(hào)發(fā)生器_第3頁(yè)
基于DDS的數(shù)字相移信號(hào)發(fā)生器_第4頁(yè)
基于DDS的數(shù)字相移信號(hào)發(fā)生器_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、EDA課 程 設(shè) 計(jì) 說(shuō) 明 書課程名稱現(xiàn)代電子系統(tǒng)課程設(shè)計(jì)題目DDS數(shù)字移相信號(hào)發(fā)生器設(shè)計(jì)1 課程設(shè)計(jì)目的掌握數(shù)字移相信號(hào)發(fā)生器的工作原理和設(shè)計(jì)方法;掌握DDS技術(shù)的工作原理;掌握GW48_SOPC實(shí)驗(yàn)箱的使用方法;了解基于FPGA的電子系統(tǒng)的設(shè)計(jì)方法。2 課程設(shè)計(jì)內(nèi)容完成10位輸出數(shù)據(jù)寬度的移相信號(hào)發(fā)生器的設(shè)計(jì),要求使用鎖相環(huán),設(shè)計(jì)正弦波形數(shù)據(jù)MIF文件,給出仿真波形,增加幅度控制電路,最后進(jìn)行硬件測(cè)試。3 程序結(jié)構(gòu)剖析利用FPGA芯片及D/A轉(zhuǎn)換器,采用直接數(shù)字頻率合成技術(shù),設(shè)計(jì)實(shí)現(xiàn)了一個(gè)頻率、相位可控的正弦信號(hào)發(fā)生器,同時(shí)闡述了直接數(shù)字頻率合成(DDS)技術(shù)的工作原理、電路結(jié)構(gòu),及設(shè)計(jì)

2、的思想和實(shí)現(xiàn)方法。經(jīng)過(guò)設(shè)計(jì)和電路測(cè)試,輸出波形達(dá)到了技術(shù)要求,控制靈活、性能較好,也證明了基于FPGA的DDS設(shè)計(jì)的可靠性和可行性。直接數(shù)字頻率合成(DDS)技術(shù)采用數(shù)字合成的方法,所產(chǎn)生的信號(hào)具有頻率分辨率高、頻率切換速度快、頻率切換時(shí)相位連續(xù)、輸出相位噪聲低和可以產(chǎn)生任意波形等諸多優(yōu)點(diǎn)。在理論上對(duì)DDS的原理及其輸出信號(hào)的性能進(jìn)行了分析,完成了基于DDS的數(shù)字移相信號(hào)發(fā)生器的設(shè)計(jì),采用VHDL語(yǔ)言,成功地編寫出了設(shè)計(jì)程序,并且在Quartus 2軟件環(huán)境中,對(duì)編寫的VHDL程序進(jìn)行了仿真,得到了很好的效果。 在本文中,我們?cè)O(shè)計(jì)了一個(gè)頻率相移測(cè)量?jī)x。主要分為如下幾個(gè)部分:波形數(shù)據(jù)ROM模塊3

3、2位加法器模塊10位加法器模塊32位鎖存器模塊10位鎖存器模塊4 系統(tǒng)原理及結(jié)構(gòu)超高速A/D、D/A板GW_ADDA說(shuō)明GW_ADDA板含兩片10位超高速DAC(轉(zhuǎn)換速率最高150MHz)和一片8位ADC(轉(zhuǎn)換速率最高50MHz),另2片3dB帶寬大于260MHz的高速運(yùn)放組成變換電路。GW_ADDA板上所有的A/D和D/A全部處于使能狀態(tài),除了數(shù)據(jù)線外,任一器件的控制信號(hào)線只有時(shí)鐘線,這有利于高速控制和直接利用MATLAB/DSP Builder工具的設(shè)計(jì)。GW_ADDA板上工作時(shí)鐘必須由FPGA的I/O口提供,且DAC和ADC的工作時(shí)鐘是分開的。無(wú)法直接利用MATLAB和DSP Build

4、er進(jìn)行自動(dòng)流程的設(shè)計(jì),優(yōu)點(diǎn)是時(shí)鐘頻率容易變化,且可通過(guò)Cyclone中的PLL的到幾乎任何時(shí)鐘頻率。由此即可測(cè)試ADC和DAC的最高轉(zhuǎn)換頻率。兩個(gè)電位器可分別調(diào)協(xié)兩個(gè)D/A輸出的幅度(輸出幅度峰峰值不可大于5V,否則波形失真);模擬信號(hào)從接插口的2針“AIN”輸入,J1和J2分別是模擬信號(hào)輸出的PA、PB口,也可在兩掛鉤處輸出,分別是兩個(gè)10位DA5651輸出口。注意,使用A/D,D/A板必須打開GW48-PK2主系統(tǒng)板上的+/-12V電源,用后關(guān)閉!附圖 SOPC GWAC6/12 板AD_DA 板接口原理圖 FPGA是除CPLD外的另一大類大規(guī)??删幊踢壿嬈骷?,F(xiàn)PGA采用了另一種可編程

5、邏輯的形成方法,即可編成的查表結(jié)構(gòu),就是SRAM(靜態(tài)隨機(jī)存儲(chǔ))來(lái)構(gòu)成邏輯函數(shù)發(fā)生器。一個(gè)N輸入查找表(LUT)可以實(shí)現(xiàn)N個(gè)輸入變量的任何邏輯功能。圖:FPGA查找表單元圖:FPGA查表單元內(nèi)部結(jié)構(gòu)VHDL是大多數(shù)EDA工具都采用的硬件描述語(yǔ)言。其主要優(yōu)點(diǎn)有:功能強(qiáng)大,描述能力強(qiáng);可移植性好;研制周期短,成本低;可延長(zhǎng)設(shè)計(jì)的生命周期;具有向ASIC移植的能力。 Quartus 2 提供了完整的多臺(tái)設(shè)計(jì)環(huán)境,能夠滿足各種特定的設(shè)計(jì)要求。Quartus 2與Matlab和DSP Builder結(jié)合,可以基于FPGA的DSP開發(fā),是DSP硬件系統(tǒng)實(shí)現(xiàn)的關(guān)鍵EDA工具。同時(shí),Quartus 2 具備仿

6、真功能,也支持第三方的仿真工具。5 DDS技術(shù)與原理A.DDS基本原理 B.累加器C波形ROM示意圖如圖D系統(tǒng)結(jié)構(gòu)圖:基于DDS的數(shù)字相移信號(hào)發(fā)生器電路模型圖E系統(tǒng)功能分析F系統(tǒng)結(jié)構(gòu)模塊6 程序代碼主程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGiC_UNSIGNED.ALL;ENTITY DDS_Signal_zhangjiating_jinxin IS PORT( CLK: IN STD_LOGIC;-系統(tǒng)時(shí)鐘 DCLK: out STD_LOGIC; FWORD: IN STD_LOGIC_VECTOR(7 DOWN

7、TO 0);-頻率控制字 PWORD: IN STD_LOGIC_VECTOR(7 DOWNTO 0);-相位控制字 FOUT: OUT STD_LOGIC_VECTOR(9 DOWNTO 0);-可移相正弦信號(hào)輸出 POUT: OUT STD_LOGIC_VECTOR(9 DOWNTO 0);-參考信號(hào)輸出END DDS_Signal_zhangjiating_jinxin;ARCHITECTURE one OF DDS_Signal_zhangjiating_jinxin ISCOMPONENT dff32 -32 位鎖存器PORT (LOAD: IN STD_LOGIC;DIN: IN

8、STD_LOGIC_VECTOR(31 DOWNTO 0);DOUT:OUT STD_LOGIC_VECTOR(31 DOWNTO 0);END COMPONENT;COMPONENT dff10 -10 位鎖存器PORT ( LOAD : IN STD_LOGIC;DIN : IN STD_LOGIC_VECTOR(9 DOWNTO 0);DOUT: OUT STD_LOGIC_VECTOR(9 DOWNTO 0);END COMPONENT;COMPONENT ADDER32 -32位加法器 PORT ( A : IN STD_LOGIC_VECTOR(31 DOWNTO 0);B : I

9、N STD_LOGIC_VECTOR(31 DOWNTO 0);S : OUT STD_LOGIC_VECTOR(31 DOWNTO 0);END COMPONENT;COMPONENT ADDER10 - 10位加法器的設(shè)計(jì)PORT ( A : IN STD_LOGIC_VECTOR(9 DOWNTO 0);B : IN STD_LOGIC_VECTOR(9 DOWNTO 0);S : OUT STD_LOGIC_VECTOR(9 DOWNTO 0);END COMPONENT;COMPONENT SIN_ROM -10位地址10位數(shù)據(jù)正弦信號(hào)數(shù)據(jù)ROMPORT (address : IN

10、STD_LOGIC_VECTOR(9 DOWNTO 0);inclock : IN STD_LOGIC ;q : OUT STD_LOGIC_VECTOR(9 DOWNTO 0);END COMPONENT;SIGNAL F32B,D32B, DIN32B:STD_LOGIC_VECTOR(31 DOWNTO 0);SIGNAL P10B,LIN10B,SIN10B:STD_LOGIC_VECTOR(9 DOWNTO 0);BEGINDCLK=CLK;F32B(27 DOWNTO 20)=FWORD;F32B(31 DOWNTO 28)=0000;F32B(19 DOWNTO 0)=00000

11、000000000000000;P10B(9 DOWNTO 2)=PWORD;P10B(1 DOWNTO 0)F32B,B=D32B,S=DIN32B);u2 : dff32PORT MAP(DOUT=D32B,DIN=DIN32B,LOAD=CLK);u3 : SIN_ROM PORT MAP(address=SIN10B,q=FOUT,inclock=CLK);u4 : ADDER10 PORT MAP(A=P10B,B=D32B(31 DOWNTO 22),S=LIN10B);u5 : dff10 PORT MAP(DOUT=SIN10B,DIN=LIN10B,LOAD=CLK);u6

12、: SIN_ROM PORT MAP(address=D32B(31 DOWNTO 22),q=POUT,inclock=CLK);END one;Adder32加法器代碼LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY adder32 IS PORT ( A : IN STD_LOGIC_VECTOR(31 DOWNTO 0); B : IN STD_LOGIC_VECTOR(31 DOWNTO 0); S : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) );

13、END adder32;ARCHITECTURE behav OF adder32 IS BEGINS = A + B;END behav;Adder10加法器代碼LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY adder10 IS PORT ( A : IN STD_LOGIC_VECTOR(9 DOWNTO 0); B : IN STD_LOGIC_VECTOR(9 DOWNTO 0); S : OUT STD_LOGIC_VECTOR(9 DOWNTO 0) );END add

14、er10;ARCHITECTURE behav OF adder10 IS BEGINS = A + B;END behav;Dff32鎖存器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY dff32 IS PORT ( Load : IN STD_LOGIC; DIN : IN STD_LOGIC_VECTOR(31 DOWNTO 0); DOUT : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) );END dff32;ARCHITECTURE behav OF dff32 ISBEGIN PROCESS(Load, D

15、IN) BEGIN IF LoadEVENT AND Load = 1 THEN - 時(shí)鐘到來(lái)時(shí),鎖存輸入數(shù)據(jù) DOUT = DIN; END IF; END PROCESS;END behav;Dff10鎖存器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY dff10 IS PORT ( Load : IN STD_LOGIC; DIN : IN STD_LOGIC_VECTOR(9 DOWNTO 0); DOUT : OUT STD_LOGIC_VECTOR(9 DOWNTO 0) );END dff10;ARCHITECTURE behav

16、 OF dff10 ISBEGIN PROCESS(Load, DIN) BEGIN IF LoadEVENT AND Load = 1 THEN - 時(shí)鐘到來(lái)時(shí),鎖存輸入數(shù)據(jù) DOUT = DIN; END IF; END PROCESS;END behav;sin_rom波形數(shù)據(jù)rom模塊LIBRARY ieee;USE ieee.std_logic_1164.all;LIBRARY altera_mf;USE altera_mf.all;ENTITY sin_rom ISPORT(address: IN STD_LOGIC_VECTOR (9 DOWNTO 0);inclock: IN

17、STD_LOGIC ;q: OUT STD_LOGIC_VECTOR (9 DOWNTO 0);END sin_rom;ARCHITECTURE SYN OF sin_rom ISSIGNAL sub_wire0: STD_LOGIC_VECTOR (9 DOWNTO 0);COMPONENT altsyncramGENERIC (address_aclr_a: STRING;init_file: STRING;intended_device_family: STRING;lpm_hint: STRING;lpm_type: STRING;numwords_a: NATURAL;operati

18、on_mode: STRING;outdata_aclr_a: STRING;outdata_reg_a: STRING;widthad_a: NATURAL;width_a: NATURAL;width_byteena_a: NATURAL);PORT (clock0: IN STD_LOGIC ;address_a: IN STD_LOGIC_VECTOR (9 DOWNTO 0);q_a: OUT STD_LOGIC_VECTOR (9 DOWNTO 0);END COMPONENT;BEGINq NONE,init_file = LUT10X10.mif,intended_device

19、_family = Cyclone,lpm_hint = ENABLE_RUNTIME_MOD=NO,lpm_type = altsyncram,numwords_a = 1024,operation_mode = ROM,outdata_aclr_a = NONE,outdata_reg_a = UNREGISTERED,widthad_a = 10,width_a = 10,width_byteena_a = 1)PORT MAP (clock0 = inclock,address_a = address,q_a = sub_wire0);END SYN;7 仿真圖形引腳圖硬件下載成功圖8 心得體會(huì)本次基于DDS的數(shù)字相移信號(hào)發(fā)生器,其主要功能在于相位差的實(shí)現(xiàn)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論