版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、=第1頁= DDS 函數(shù)信號發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn) 一、 主要功能要求: 1 、 設(shè)計(jì)任務(wù) ( 1 ) 正弦波、三角波、方波、鋸齒波輸出頻率范圍: 1KHZ1MHZ ( 2 ) 具有頻率設(shè)置功能,頻率步驟: 100HZ; ( 3 ) 輸出信號頻率定度:優(yōu)于 10 4 ( 4 ) 輸出電壓幅度:在 5K 負(fù)載電阻上的電壓峰峰值 Vopp 1V; ( 5 ) 失真度:用示波器觀察使無明顯失真。 2 、 基本要求: ( 1 ) 掌握采用 FPGA 硬件特性、及軟件開發(fā)工具 MAXPLUSII 的使用。 ( 2 ) 掌握 DDS 函數(shù)信號發(fā)生器的原理,并采用 VIIDL 語言設(shè)計(jì) DDS 內(nèi)核單元。 (
2、3 ) 掌握單片機(jī)與 DDS 單無連接框圖原理,推導(dǎo)出頻率控制字、相位控制字的 算法。 ( 4 ) 設(shè)計(jì)鍵盤輸入電路和程序并調(diào)試。掌握鍵盤和顯示( LCD1602 )配合使用 的方法和技巧。 ( 5 ) 掌握硬件和軟件聯(lián)合調(diào)試的方法。 ( 6 ) 完成系統(tǒng)硬件電路的設(shè)計(jì)和制作。 ( 7 ) 完成系統(tǒng)程序的設(shè)計(jì)。 ( 8 ) 完成整個(gè)系統(tǒng)的設(shè)計(jì)、調(diào)試和制作。 ( 9 ) 完成課程設(shè)計(jì)報(bào)告。 =第2頁= 3 、 提高部分: ( 1 ) 三角波、方波輸出頻率范圍: 1KHZ1MHZ; ( 2 ) 產(chǎn)生二進(jìn)制 PSK 、 ASK 信號:再 50KHZ 固定頻率載波進(jìn)行二進(jìn)制鍵控,二 進(jìn)制基帶序列碼速率
3、固定為 10Kbps ,二進(jìn)制基帶序列信號自行產(chǎn)生。( 3 ) 設(shè) 計(jì)高速 DA 轉(zhuǎn)換電路。 4 、 發(fā)揮部分: ( 1 ) 對數(shù)據(jù)頻率進(jìn)行倍頻。 二、 整體設(shè)計(jì)框圖及整機(jī)概述: 1 、 DDS 的實(shí)現(xiàn)原理: 它建立在采樣定理的基礎(chǔ)上 , 首先對需要產(chǎn)生的波形進(jìn)行采樣 , 將采樣值數(shù)字化 后存入存儲器作為查找表 , 然后再通過查表將數(shù)據(jù)讀出 , 經(jīng)過 D/A 轉(zhuǎn)換器轉(zhuǎn)換成 模擬量 , 把存入的波形重新合成出來 . 2 、整體設(shè)計(jì)框圖 圖一 DDS 函數(shù)信號發(fā)生器系統(tǒng)框圖結(jié)構(gòu) 3 、整機(jī)概述: 整個(gè) DDS 信號發(fā)生器由單片機(jī)子系統(tǒng), DDS 子系統(tǒng),模擬子系統(tǒng)三部分組成。 單片機(jī)子系統(tǒng)由單片機(jī)
4、、人機(jī)接口組成,人機(jī)接口由液晶顯示器和鍵盤組成,通 過鍵盤選擇信號波形和輸入信號頻率,液晶用來顯示波的類型和波當(dāng)前的頻率值。 DDS 子系統(tǒng)由 FPGA 和高速 D/A 轉(zhuǎn)換器組成,是 DDS 信號發(fā)生器的核心部分。 DDS 的一些功能模塊由頻率字寄存器, 32 位移位寄存器, 32 位累加器, 32 位存儲器, RO M 波形查找表,數(shù)據(jù)選擇器, DAC 控制邏輯均由 FPGA 實(shí)現(xiàn)。 模擬子系統(tǒng)由低通濾波器、放大電路組成。 =第3頁= 三、 各硬件單元電路的設(shè)計(jì)、參數(shù)分析及原理說明 1 、 DDS 信號發(fā)生器設(shè)計(jì) 正弦信號發(fā)生器,它的輸出可以用下式來描述: 用基準(zhǔn)時(shí)鐘 CLK 進(jìn)行抽樣,令
5、正弦信號的相位 : 在一個(gè) CLK 周期 Tclk ,相位的變化量為 : (Tclk=1/fclk 為了進(jìn)行數(shù)字量化,把切割成 2N 份,由此每個(gè) CLK 周期的相位用量化值來表述 : 且 將 式代入 式得 經(jīng)變換后得 信號發(fā)生器的輸出可描述為: 其中 指前一個(gè) clk 周期的相位值,同樣得出 基本 DDS 結(jié)構(gòu)的常用參量計(jì)算 (1 DDS 的輸出頻率 fout 。 (2 DDS 的頻率分辨率 (3 DDS 的頻率輸入字 計(jì)算 注意 要取整,有時(shí)會(huì)有誤差 DDS 由相位累加器、正弦查找表、 D A 轉(zhuǎn)換器和低通濾波器組成 , 其原理如圖 2 所示。 902 DDS 函數(shù)信號發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)
6、圖 2 DDS 原理圖 =第4頁= 圖 2 中 ,fc 為時(shí)鐘頻率 ,K 為頻率控制字 ,N 為相位累加器的字長 ,m 為 ROM 地址線 位數(shù) ,n 為 ROM 數(shù)據(jù)線寬度(一般也為 D A 轉(zhuǎn)換器的位數(shù)) ,f0 為輸出頻率。相 位累加器由加法器和 D 觸發(fā)器級聯(lián)組成。在時(shí)鐘脈沖 fc 的控制下 , 對輸入頻率控 制字 K 進(jìn)行累加 , 累加滿量時(shí)產(chǎn)生溢出。相位累加器的輸出對應(yīng)于該時(shí)刻合成周 期信號的相位 , 并且這個(gè)相位是周期性的 , 在 0 2 范圍內(nèi)變化。相位累加器位 數(shù)為 N, 最大輸出為 2N 1, 對應(yīng)于 2 的相位 , 累加一次就輸出一個(gè)相應(yīng)的相位碼 , 通過查表得到正弦信號
7、的幅度 , 然后經(jīng) D A 轉(zhuǎn)換器轉(zhuǎn)換為模擬信號 , 由低通濾波 器濾除雜散波和諧波以后 , 輸出一個(gè)頻率為 f0 的正弦波。輸出頻率 f0 由 fc 和 K 共同決定。當(dāng)頻率控制字為 K 時(shí) , 相位累加器的增量步長為 K, 經(jīng)過 2N K 次累加 , 相位累加器滿量溢出 , 完成一個(gè)周期動(dòng)作 , 輸出頻率 f0 與時(shí)鐘頻率 fc 之間的關(guān)系 滿足 f0=Kfc/2N , 從而 ,DDS 的最小頻率分辨率 fmin 可達(dá) fmin =f0/2N 。 圖 3 相位累加器位寬和采樣點(diǎn)關(guān)系 3 DDS 的特點(diǎn) DDS 具有以下特點(diǎn): ( 1 )頻率分辨率高。 DDS 的頻率分辨率在 fc 固定時(shí)
8、, 取決于相位 累加器的 位數(shù) N, 只要 N 足夠大 , 理論上就可以獲得相應(yīng)的分辨精度 , 這是傳統(tǒng)方法難以實(shí) 現(xiàn)的。 ( 2 )頻率變換速度快。在 DDS 中 , 一個(gè)頻率的建立時(shí)間通常取決于濾波器的 帶寬。影響因素為相位累加器 ,ROM 內(nèi)的工藝結(jié)構(gòu) ,D A 轉(zhuǎn)換器及其它信號處理過 程中可能產(chǎn)生的時(shí)延。其中 , 信號處理的時(shí)延與時(shí)鐘周期相關(guān)。由于 DDS 中不要 相位反饋控制 , 頻率建立及切換快 , 與頻率分辨率、頻譜純度相互獨(dú)立 , 明顯優(yōu)于 PPL 。 =第5頁= ( 3 ) DDS 中相位改變是線性過程。數(shù)字相位累加器是優(yōu)良的線性數(shù)字增值 發(fā)生器。因此 ,DDS 的相位誤差主
9、要依賴于時(shí)鐘的相位特性 , 相位誤差小。另 外 ,DDS 的相位是連續(xù)變化的 , 形成的信號具有良好的頻譜特性 , 這是傳統(tǒng)的直接 頻率合成方法所無法實(shí)現(xiàn)的。 ( 4 )輸出頻率范圍寬。理論上 ,DDS 輸出的頻率范圍在 0 fc 2, 實(shí)際上 , 考慮到低通濾波器的設(shè)計(jì) , 為 40 fc, 而 FPGA 的時(shí)鐘頻率可達(dá)到 100MHz, 因此 , 利用 FPGA, 可以實(shí)現(xiàn)輸出頻率范圍很寬的正弦信號。 4 DDS 的 FPGA 實(shí)現(xiàn) DDS 函數(shù)信號發(fā)生器的內(nèi)核 VHDL 源碼參見附錄: DDS.rar 其頂層原理如圖 4 下所 示: 圖 4 DDS.vhd 頂層原理圖 DDS 函數(shù)信號發(fā)
10、生器的內(nèi)核與單片機(jī)聯(lián)接采用 SPI 總線方式。由于單片機(jī)作為主 控器 DDS 內(nèi)核作為被控對象,所以接口可定義為 SCLK,MOSI,CS 三線結(jié)構(gòu)。數(shù)據(jù) 格式采用串行 40bit, 高 32bit 作為頻率控制字或相位控制字,低 8bit 作為指令 譯碼,自行決定其功能。 5 基于 DDS 的數(shù)字移相信號發(fā)生器 6 圖 5 基于 DDS 的數(shù)字移相信號發(fā)生器參考模型 四、 總結(jié)設(shè)計(jì)及調(diào)試的體會(huì) 這一星期的課程設(shè)計(jì),學(xué)會(huì)了 DDS 函數(shù)信號發(fā)生器內(nèi)核和利用 89S51 單片機(jī)最小 系統(tǒng)的應(yīng)用,懂得了如何綜合應(yīng)用單片機(jī)定時(shí)器、中斷、數(shù)碼顯示等。 在這個(gè)過程中,我們遇到了許多麻煩,但是在于同學(xué)的交
11、流中,我們解 決了許多難題。同時(shí)也對 DDS 信號發(fā)生器的具體應(yīng)用有了切實(shí)的體會(huì)。雖然在這 =第6頁= 其中由于我平時(shí)的積累不夠,困難還是很大的,但是只要有耐心和細(xì)心,一切的 困難都可以解決的! 五、 附錄(包括系統(tǒng)電路圖、元器件清單、應(yīng)用程序清單和參考資料) 1 、 DDS 原理圖 DDS 函數(shù)信號發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn) 程序:加法器: ADDER32B LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.A LL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY ADDER32B IS PORT( A1: IN STD_LOGIC_VEC
12、TOR(31 DOWNTO 0; B1: IN STD_LOGIC_VECTOR(31 DOWNTO 0; S1: OUT STD_LOGIC_VECTOR(31 DOWNTO 0; END ADDER32B; ARCHITECTURE BEHAV OF ADDER32B IS BEGIN S1 <= A1+B1; END BEHAV; 寄存器 : REG32BIT LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; =第7頁= ENTITY reg32bit IS PORT ( CLK: IN STD_LOGIC; DIN : IN STD_LOGIC
13、_VECTOR(31 DOWNTO 0; DOUT : OUT STD_LOGIC_VECTOR(31 DOWNTO 0 ; END reg32bit; ARCHITECTURE one OF reg32bit IS BEGIN PROCESS(CLK,DIN BEGIN IF CLK'EVENT AND CLK = '1' THEN - 時(shí)鐘到來時(shí),鎖存輸入數(shù)據(jù) DOUT <= DIN; END IF; END PROCESS; END; 數(shù)據(jù)選擇器 library ieee; use ieee.std_logic_1164.all; entity selec3
14、_1 is port(a,b : in std_logic; cin1,cin2,cin3 : in std_logic_vector(7 downto 0; cout : out std_logic_vector(7 downto 0 ; =第8頁= end; architecture arc of selec3_1 is signal ab : std_logic_vector(1 downto 0; begin ab <= a&b; process(ab,cin1,cin2,cin3 begin case ab is when "00" => co
15、ut <= cin1; when "01" => cout <= cin2; end process; end; 譯碼處理 按鍵處理部分 Library IEEE; Use IEEE.std_logic_1164.all; Use ieee.std_logic_unsigned.all; Use IEEE.std_logic_arith.all; Entity key_show is Port( clk_s: in std_logic; mode,add,sub: in std_logic; =第9頁= q2,q3,q4: out std_logic_ve
16、ctor(23 downto 0; q1: out std_logic_vector(13 downto 0; LED7S: out std_logic_vector(6 downto 0; SEL_OUT: out std_logic_vector(2 downto 0; da_1_out,da_2_out,da_3_out,da_4_out: out std_logic_vector(3 downto 0; end key_show; architecture arch of key_show is signal Q : std_logic_vector(24 downto 0; sign
17、al mode_out_bak,SEL : std_logic_vector(2 downto 0; signal da_4,da_3,da_2,da_1,da_4B,da_3B,da_2B,da_1B,A: std_logic _vector(3 downto 0; signal da_4_sel,da_3_sel,da_2_sel,da_1_sel,clk,clk2: std_logic; begin q1<="10000110001101" q2<="000000010100111110001011" q3<="0000
18、11010001101101101110" q4<="100000110001001001001100" =第10頁= DDS 函數(shù)信號發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn) sel_out<=sel; da_1_out<=da_1; da_2_out<=da_2; da_3_out<=da_3; da_4_out<=da_4; process (clk_s begin if (clk_s'event and clk_s='1' then if Q>"1011111010111 100001000000&qu
19、ot; THen Q<=(others =>'0' else q<=q+1; end if ; end if; clk<=q(24;-500ms=2hz clk2<=q(10;- 掃描時(shí)鐘 end process; process (clk,mode begin if (clk'event and clk='1' then if mode='0' then mode_out_bak<=mode_out_bak+1; =第11頁= end if; end if; end process; process
20、(mode_out_bak begin case mode_out_bak is WHEN "000" => da_1_sel<='1'-" 滅燈 " da_2_sel<='0' da_3_sel<='0' da_4_sel<='0' WHEN "001" => da_1_sel<='0' da_2_sel<='1'-" 滅燈 " da_3_sel<='0
21、39; da_4_sel<='0' WHEN "010" => da_1_sel<='0' da_2_sel<='0' da_3_sel<='1'-" 滅燈 " da_4_sel<='0' WHEN "011" => =第12頁= da_1_sel<='0' da_2_sel<='0' da_3_sel<='0' da_4_sel<='
22、1'-" 滅燈 " WHEN OTHERS => da_1_sel<='0' da_2_sel<='0' da_3_sel<='0' da_4_sel<='0' END CASE; end process; - process (clk,add,sub,da_1_sel begin if (clk'event and clk='1' then if (add<='0' and da_1_sel='1' then
23、- 加 100HZ if da_1="1001" then da_1<="0000" else da_1<=da_1+1; end if ; end if; if (sub<='0' and da_1_sel='1' then =第13頁= if da_1="0000" then da_1<="1001" else da_1<=da_1-1; end if ; end if; end if; end process; process (clk,add,s
24、ub,da_2_sel begin if (clk'event and clk='1' then if (add<='0' and da_2_sel='1' then - 加 1KHZ if da_2="1001" then da_2<="0000" else da_2<=da_2+1; end if ; end if; if (sub<='0' and da_2_sel='1' then if da_2="0000" th
25、en da_2<="1001" else da_2<=da_2-1; end if ; end if; =第14頁= end if; end process; process (clk,add,sub,da_3_sel begin end if ; end if; if (sub<='0' and da_3_sel='1' then if da_3="0000" then da_3<="1001" else da_3<=da_3-1; end if ; end if; en
26、d if; end process; process (clk,add,sub,da_4_sel begin if (clk'event and clk='1' then if (add<='0' and da_4_sel='1' then - 加 100KHZ if da_4="1001" then da_4<="0000" else da_4<=da_4+1; =第15頁= end if ; end if; if (sub<='0' and da_4_se
27、l='1' then if da_4="0000" then da_4<="1001" else da_4<=da_4-1; end if ; end if; end if; end process; - PROCESS (CLK BEGIN IF (DA_1_SEL='1' AND CLK='1' THEN DA_1B<="1110" ELSE DA_1B<=DA_1; DDS 函數(shù)信號發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn) END IF ; IF (DA_2_SEL='1
28、' AND CLK='1' THEN DA_2B<="1110" ELSE DA_2B<=DA_2; =第16頁= END IF ; IF (DA_3_SEL='1' AND CLK='1' THEN DA_3B<="1110" ELSE DA_3B<=DA_3; END IF ; IF (DA_4_SEL='1' AND CLK='1' THEN DA_4B<="1110" ELSE DA_4B<=DA_4;
29、END IF ; END PROCESS; PROCESS (CLK2- 掃描 BEGIN IF CLK2 'event AND CLK2 = '1' THEN SEL<=SEL+1; END IF ; case sel is when "000" => A <= da_1B; when "001" => A <= da_2B; when "010" => A <= da_3B; when "011" => A <= da_4B; when others => null; =第17頁= end case; END PROCESS ;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度電子商務(wù)平臺合作訂單合同4篇
- 專業(yè)安裝勞務(wù)協(xié)議規(guī)范文本2024版
- 《a臨時(shí)起搏器》課件
- 二零二五年度礦業(yè)權(quán)轉(zhuǎn)讓中的水資源利用合同3篇
- 2024版園林綠化工程設(shè)計(jì)與施工合同3篇
- 2025年度智慧能源場標(biāo)準(zhǔn)化改造項(xiàng)目合同協(xié)議書4篇
- 2024科研機(jī)構(gòu)與制藥公司之間的藥物研發(fā)合同
- 2024石子加工與新型建材研發(fā)生產(chǎn)合同3篇
- 2025年度廠房出租合同附帶租賃雙方權(quán)利義務(wù)界定4篇
- 2025年度茶樓消防安全管理責(zé)任合同4篇
- 2024年安徽省公務(wù)員錄用考試《行測》真題及答案解析
- 山西省太原市重點(diǎn)中學(xué)2025屆物理高一第一學(xué)期期末統(tǒng)考試題含解析
- 充電樁項(xiàng)目運(yùn)營方案
- 2024年農(nóng)民職業(yè)農(nóng)業(yè)素質(zhì)技能考試題庫(附含答案)
- 高考對聯(lián)題(對聯(lián)知識、高考真題及答案、對應(yīng)練習(xí)題)
- 新版《鐵道概論》考試復(fù)習(xí)試題庫(含答案)
- 【律師承辦案件費(fèi)用清單】(計(jì)時(shí)收費(fèi))模板
- 高中物理競賽真題分類匯編 4 光學(xué) (學(xué)生版+解析版50題)
- Unit1FestivalsandCelebrations詞匯清單高中英語人教版
- 2024年上海市中考語文試題卷(含答案)
- 幼兒園美術(shù)教育研究策略國內(nèi)外
評論
0/150
提交評論