基于DDS的高精度信號發生器設計_第1頁
基于DDS的高精度信號發生器設計_第2頁
基于DDS的高精度信號發生器設計_第3頁
基于DDS的高精度信號發生器設計_第4頁
基于DDS的高精度信號發生器設計_第5頁
已閱讀5頁,還剩15頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

1、河南大學物理與電子學院開放實驗室單片機設計報告基于DDS的高精度信號發生器設計設計人:開放實驗室入室人員目 錄摘 要:10 前言21 系統設計及選擇分析21.1 總體方案21.2 方案比較21.3 選擇實施方案32 系統硬件電路設計32.1 信號發生器控制系統32.2 單片機控制單元42.3 信號產生單元62.4 顯示系統82.5實現單片機與AD9850之間的連接83 系統軟件分析103.1 系統概述103.2 系統顯示程序設計103.3 系統AD9850的控制程序設計103.4 系統的部分核心源碼134 結論15參考文獻16基于DDS技術的信號發生器的設計開放實驗室入室人員(河南大學物理與電

2、子學院,河南 開封,475004)摘 要: 本文討論了利用DDS(直接數字頻率合成)技術制作信號發生器的方法,介紹了設計信號發生器所用到的DDS相關技術。信號發生器使用8位單片機AT89S52作為控制模塊單元,結合芯片AD9850就實現了直接數字頻率合成技術(DDS),該信號發生器采用C語言作為系統程序,通過AT89S52控制DDS芯片AD9850產生0HZ20MHZ頻率可調的兩種信號波(正弦波、方波),同時還采用8位數碼管作為頻率調節的顯示界面。整個系統結構緊湊,電路簡單,功能強大。可廣泛應用于生產實際和科技領域中。關鍵詞: DDS;正弦波;方波;AT89S52;AD9850The desi

3、gn of signal generator based on DDS technologyLiang b-j(School of Physics and Electronics, Henan University, Henan Kaifeng 475004, China)Abstract: This part discusses the method of making a signal generator which uses the DDS technology,and introduced the use of DDS related technologies.The signal g

4、enerator uses the 8 single-chip AT89S52 as its control module unit,combined with DDS chip AD9850,to produce 0HZ20MHZ frequency adjustable two signal wave(sine wave and square wave),the display unit uses 8 digital tube as its display. .so this signal generato is clear and consice.It can be widely app

5、lied production and in the field of science and technology.Key words: DDS;Sine wave; Square wave; AT89S52; AD98500 前言隨著數字技術的飛速發展,高精度動態范圍,數字/模擬(D/A)轉換器的出現和廣泛應用,用數字控制的方法從一個標準參考頻率源產生多個頻率信號的技術,即直接數字合成(DDS)技術異軍突起。其優點有1:(1) 頻率轉換快:DDS 頻率轉換時間短,一般在納秒級;(2) 分辨率高:大多數DDS可提供的頻率分辨率在1 Hz 數量級,許多可達0.001Hz;(3) 頻率合成范圍寬

6、;(4) 相位噪聲低,信號純度高;(5) 可控制相位:DDS可方便地控制輸出信號的相位,在頻率變換時也能保持相位聯系;(6) 生成的正弦/余弦信號正交特性好等。因此,利用DDS技術特別容易產生頻率相對帶寬較寬、頻率轉換時間極短、頻率分辨率高、相位可控的信號,這在電子測量、雷達系統、調頻通信、電子對抗等領域具有十分廣泛的應用前景。美國AD公司推出的高集成度頻率合成芯片AD9850就是采用DDS技術的典型產品之一。針對DDS的上述特點,本文基于AD9850器件設計了一種信號發生器,在給定電源電壓條件下,設計并制作一個正弦波和方波信號源。1 系統設計及選擇分析1.1 總體方案設計制作一個能產生正弦波

7、和方波信號源。要求信號頻率在0HZ20MHZ范圍內能程控步進調整,方波的占空比在2%98%之間能程控步進可調,且性能良好,滿足指標。1.2 方案比較1.2.1 正弦波的產生方案一:采用單片函數發生器(ICL8038),可同時產生低失真的正弦波、脈沖波,方法簡單,用D/A轉換器的輸出來改變調整輸出電壓,也可以實現數控調整頻率,但是其電路由于采用正負電壓,地線是浮置的,產生的信號的步長難以滿足要求,且頻率穩定度不高方案二:采用鎖相式頻率合成器,利用鎖相環將壓控振蕩器(VCO)的輸出頻率鎖定在所需頻率上,通過這種鎖定不同的頻率從而實現實現輸出不同頻率信號。該方案性能良好,但難以達到輸出頻率覆蓋系數的

8、要求,且電路較為復雜,不適于產生低頻信號。方案三:采用直接數字頻率合成器(DDS),可用硬件或軟件實現。即用累加器按頻率要求對相應的相位增量進行累加,再以累加相位值作為地址碼,取存放于ROM中的波形數據,經D/A轉換、濾波即所得需要正弦波波形。方法簡單,頻率穩定度高,易于控制2。 1.2.2 方波的產生方波可由正弦波整形得到,關鍵是如何控制占空比,對此有幾種方案:方案一:由D/A轉換器產生占空比相應的電壓,將之與正弦信號進行比較就可得到所需占空比方波。但這種方法精度較差,難以達到2%的步進的要求。方案二:先把正弦波變換為鋸齒波或三角波,然后進行比較。這樣一來雖然可以提高精度,但電路復雜,成本較

9、高,調試也困難。方案三:采用計數定時方法,先將正弦波變換為方波,再用它的上升沿觸發計時電路,該電路在計時期間輸出為高電平,計時終止后輸出為低電平,該輸出波形即為所需要波形。這種方法計時精度高,成本低。1.3 選擇實施方案根據以上分析,選用如下方案。(1) 正弦波的產生800Hz以下的正弦波產生采用軟件相位累加DDS方案來實現。800Hz20MHz的正弦波采用動態生成程序的方法來實現。(2) 方波的產生方波由同頻率的正弦波產生,采用計數定時方案來實現占空比的步進調整。為提高占空比的精度,采用預分頻和擇優技術,通過預分頻和擇優技術從而控制方波的產生。2 系統硬件電路設計2.1 信號發生器控制系統本

10、信號發生器系統主要有單片機控制模塊單元、信號產生單元、按鍵電路和顯示電路等四大模塊電路構成。其中信號產生單元和單片機控制模塊單元是構成DDS信號發生器系統不可分割的兩大部分。系統框圖如圖1所示:圖1 DDS信號發生器系統總體電路實現框圖2.2 單片機控制單元單片機控制模塊單元是整個信號發生器的重要組成部分,通過單片機控制模塊單元、信號產生單元、按鍵電路、顯示電路等的連結,從而控制信號的產生、頻率的改變和顯示。AT89S52是美國ATMEL公司生產的低電壓、低功耗、高性能CMOS 8位單片機,片內含8k bytes 的可反復擦寫的只讀存儲器(PEROM)和256 bytes 的隨機存取數據存儲器

11、(RAM),器件采用該公司的高密度、非易失性存儲技術生產,與標準的MCS-51指令系統及8052產品引腳兼容,片內置通用8位中央處理器(CPU)和Flash存儲單元,具有1000次擦寫周期,三級加密程序存儲器I/O線,三個16位定時器/計數器,六個中斷源,全雙工UART串行通道,低功耗空閑和掉電模式,看門狗定時器,雙數據指針,全靜態操作:0HZ-33MHZ,掉電標識符。另外AT89S52可降至0HZ靜態邏輯操作,支持2種軟件可選擇節電模式。32個可編程AT89S52構成的單片機系統具有結構簡單、造價低廉和效率高等優點的微控制系統,由于內部集成了RAM、ROM等器件,減少了硬件開銷,提高了系統的

12、性價比。因此,本單片機控制模塊采用AT89S52芯片2 3。2.2.1 AT89S52主要性能參數圖2 89S52引腳圖 與MCS-51單片機產品兼容、8K字節在系統可編程Flash存儲器、256字節RAM、1000次擦寫周期、三級加密程序存儲器;工作頻率范圍:0Hz33MHz;4個8位并行可編程I/O口,其中P0P2P3是復用口(P0和P2位地址/數據線,可尋址64KB ROM和64KB RAM); 三個16位定時器/計數器;八個中斷源,兩個優先級嵌套結構;全雙工UART串行通道、低功耗空閑和掉電模式、掉電后中斷可喚醒 、看門狗定時器、雙數據指針、掉電標識符;一個片內晶振及時鐘電路;工作電壓

13、:5V。2.2.2 AT89S52功能特性概述AT89S52提供以下標準功能8k字節Flash閃存存儲器,256字節內部RAM,32個I/O口線,3個16位定時/計數器,一個6向量兩級中斷結構,一個全雙工串行通信口,片內振蕩器及時鐘電路。同時,AT89C52可降至0Hz的靜態邏輯操作,并支持兩種軟件可選的節電工作模式??臻e方式停止CPU的工作,但允許RAM,定時器/計數器,串行繼續工作。掉電方式保存RAM中的內容,但振蕩器停止工作并禁止所有其它所有部件工作直到下一個硬件復位。2.3 信號產生單元信號產生單元是信號發生器信號產生的根本來源,通過單片機可以控制其產生信號的頻率。本系統采用AD985

14、0作為信號產生芯片。2.3.1功能介紹AD9850是一款采用32位頻率控制字的DDS芯片,最大時鐘頻率為125MHz。本設計中采用100MHz,輸出正弦波頻率時的分辨率可達0.02328Hz。AD9850 輸出信號的頻率fout 可通過式子2.1進行計算:fout=(s)÷223 (2.1)其中為32位頻率控制字的值;s為標準參考時鐘的頻率。圖3 AD9850引腳圖按AD9850 芯片手冊說明,結合實際輸出波形測試,本設計的輸出頻率帶寬限制在120MHz(20%s以內)。單片機與AD9850 通過串口傳送頻率控制數據,其中AD9850第7引腳(W_CLK)為控制字移位時鐘,第8引腳(

15、FQ_UD)為頻率更新控制口,第25引腳(D7)為串口移位數據輸入口。AD9850的DAC輸出兩個互補的模擬電流(第20、21引腳),若要調節DAC滿量程輸出電流,需要第12引腳的外接電阻。其輸出電流與電阻的關系為I=32×(1.248V÷R),當電阻為3.9k時,DAC的輸出電流約為10mA。這樣,在100的負載上可得到峰-峰值約為1V的正弦波。AD9850的引腳圖如圖3所示。2.3.2 AD9850工作原理AD9850內部結構原理框圖如圖4所示。當輸出改變時,AD9850的波形是相位連續的。DDS電路主要起數字分頻作用,其增量是受參考時鐘經控制字的2N位分頻控制。相位累

16、加器是一種系數可變的計數器,在每次接收到時鐘脈沖信號時將增量數字存儲。當計數器溢出時,限制增加相位累加器的觸發輸出。頻率控制器設置計數器的系數有效,決定了增量的大小,使得在下一個時鐘脈沖到來時相位計數器獲得更多的值。大的增量使計數器更快捷的溢出,這樣將導致更高的頻率輸出4 5。AD9850采用獨有的控制算法,以適當的CMOS值,使相位計數器的14位值得到轉變。獨特的控制算法大量的減少了ROM內存(采用DSP技術完成這項功能),這就使得AD9850變得尺寸小,耗能低。圖4 AD9850內部原理框圖2.4 顯示系統顯示系統用于信號發生器頻率的顯示,本系統選用數碼管作為顯示方式,結構簡單且顯示清晰。

17、LED數碼管(LED Segment Displays)是由多個發光二極管封在在一起組成“8”字型的器件,引線已在內部連接完成,只需引出它們的各個筆劃,公共電極。數碼管按段數分為七段數碼管和八段數碼管,八段數碼管比七段數碼管多一個發光二極管單元(多一個小數點顯示);按能顯示多少個“8”可分為1位、2位、4位等等數碼管;按發光二極管單元連接方式分為共陽極數碼管和共陰極數碼管。共陽數碼管是指將所有發光二極管的陽極接到一起形成公共陽極(COM)的數碼管。共陽數碼管在應用時應將公共極COM接到+5V,當某一字段發光二極管的陰極為低電平時,相應字段就點亮。當某一字段的陰極為高電平時,相應字段就不亮。共陰

18、數碼管是指將所有發光二極管的陰極接到一起形成公共陰極(COM)的數碼管。共陰數碼管在應用時應將公共極COM接到地線GND上,當某一字段發光二極管的陽極為高電平時,相應字段就點亮。當某一字段的陽極為低電平時,相應字段就不亮。了解LED的這些特性,對編程是很重要的,因為不同類型的數碼管,除了它們的硬件電路有差異外,編程方法也是不同的。本系統選用4位八段共陰極數碼管。每一筆劃都是 應一個字母表示,DP是小數點,如圖5所示。圖5引腳定義2.5實現單片機與AD9850之間的連接運用單片機實現對DDS的控制具有編程控制簡便、接口簡單、成本低、小型化等優點,因此采用MCS52單片機作為控制核心來向AD985

19、0發送控制字。只要能向AD9850發送正確的控制字,就可以在其輸出端(第21腳: IOUT)得到我們想要的波形。因此下面我們重點介紹利用單片機的控制電路。單片機與AD9850的接口既可以采用并行方式,也可采用串行方式。為了充分發揮芯片的高速性能,在單片機資源允許的情況下我們選擇并行方式。I/O方式的并行接口電路比較簡單,圖6是I/O方式并行接口的電路圖。AD9850的數據線D0D7與P2口相連,WCLK和FQUD分別與P3. 2 (10引腳)和P3. 0 (11引腳)相連,所有的時序關系均可通過軟件控制實現。在程序中,每將一字節的數據送到P2口后,必須將P3.2 (WCLK)置高。在其上升沿,

20、AD9850接收到P2口相連的數據線上的數據,然后將P3. 2置低,并準備下一字節的發送,連續發送5個字節后,須將P3.0 ( FQUD)再次置高,以使AD9850根據輸入的控制字更改頻率和相位輸出,隨后再置P3.0為低,準備下一組發送。單片機的P3.2、P3.0引腳為串行口,當被占用時,WCLK和FQUD引腳也可與其它I/O 腳相連, 這時需要修改相應的發送程序即可6 7。圖6單片機與AD9850的結合圖圖7 系統仿真圖3 系統軟件分析3.1 系統概述本系統的軟件程序采用C語言編寫,系統程序編寫采用模塊化編寫方式.主要分為顯示程序、AD9850的控制程序兩大部分。3.2 系統顯示程序設計本系

21、統用兩個四位八段數碼管,故能夠顯示計數范圍為:0000 0000-9999 9999,可以滿足本信號發生器要求。3.3 系統AD9850的控制程序設計3.2.1 AD9850頻率控制字的計算根據AD9850的技術資料可知:其輸出頻率值為:fout=(s)÷223 (3.1)其中為32位頻率控制字的值;s為標準參考時鐘的頻率。例如:s =100MHZ,輸出信號的頻率為,1KHZ,則向AD9850寫入的頻率控制字為(1*103*232)/(100*106)42950=0X000A7C6。3.2.2 AD9850頻率控制方式程序設計AD9850的頻率/相位控制字一共有40比特,其中32比特

22、為頻率控制字,5比特為相位控制字,1比特是電源休眠控制,最后2比特為工作方式控制,應用中將1位電源休眠控制,2為工作方式控制設置為“000”。Ad9850并行方式加載頻率/相位控制字的各位分配如圖7所示。并行加載時時序圖如圖8所示,控制字裝換為頻率顯示值流程圖如圖9所示,圖7 頻率/相位控制字的各位分配表圖8并行加載時時序圖圖9 控制字裝換為頻率顯示值流程圖10 程序流程圖3.4 系統的部分核心源碼4.3.1 主程序部分程序#include"ad9850.h" /信號產生程序函數#include"smguan.h" /數碼管顯示程序函數#include

23、<reg52.h> void main() /主程序 while(1)display(count); /顯數碼管示if(k1=0) key1(); /P3.6=0,則頻率值加1 if (k2=0) key2(); /p3.7=0,則頻率值加1000if(k3=0) key3(); /P3.4=0,則頻率值減1 if (k4=0) key4(); /p3.5=0,則頻率值減1000 Frequency_Out_9850=count ; Write_9850(); /輸出波形4.3.2 顯示單元數碼管部分程序#include<reg52.h>#define uchar un

24、signed char#define uint unsigned charsbit k1=P36sbit k2=P37sbit k3=P34sbit k4=P35long uint count,Frequency_out_9850; /程序太長不宜寫在報告中,完整程序請Void main( ) /聯系QQ(或)下載While(1)display(count);if(k1=0) key1();if(k2=0) key2();if(k3=0) key3();if(k4=0) key4(); void display(long uint count)uchar i;long uint wei;uch

25、ar buffer8=0;wei=count; buffer7=wei%10;wei=wei/10 ;buffer6=wei%10;wei/=10 ;buffer5=wei%10;wei/=10 ;buffer4=wei%10;wei/=10 ;buffer3=wei%10;wei/=10 ; buffer2=wei%10;wei/=10 ; buffer1=wei%10;wei/=10 ; buffer0=wei%10;wei/=10 ;for(i=0;i<8;i+)P1=i;if (i<4)P0=leddata1bufferi;else P0=leddata2bufferi;delay5ms();4.3.3 信號產生單元AD9850的部分程序#include <reg52.h> #define uchar unsigned char #define uint unsigned intlong uint Frequency_Out_9850;double Con_Word_1_9850 = 0x00;double Con_Word_2_9850 = 0x00;long uint ConTrol_Word_9850 = 0x00; sbit w_clk_98

溫馨提示

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

評論

0/150

提交評論