波形發(fā)生器課程設計_第1頁
波形發(fā)生器課程設計_第2頁
波形發(fā)生器課程設計_第3頁
波形發(fā)生器課程設計_第4頁
波形發(fā)生器課程設計_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機原理及應用課程設計題目:專業(yè):學號:r>r1 f n 1 i名:用單片機實現的波形發(fā)生器10自動化(2)201010320220完成日期:指導教師:2013-6-28單片機原理及應用課程設計任務書班級: 姓名:指導老師:張玲 2013年6月28 h設計題目:用單片機實現的波形發(fā)生器設計任務1. 以單片機為主控制器設計一波形發(fā)生器,通過示波器觀察所得的信號 波形。2. 通過功能選擇,可輸出方波、正弦波和三角波。設 計 要 求1. 調研、查找并收集資料。2. 總體設計。3. 硬件設計::用a4紙畫出硬件的接線圖。4. 軟件設計:畫流程圖及編寫程序。5. 撰寫設計說明書(字數約2500字

2、左右)。6. 參考資料目錄參 考 資 料單片機原理及接口技術 胡漢才 清華大學出版社單片機中級教程 張俊謨北航出版社單片機原理及接口技術李全利 高等教育出版社教研室主任簽字:年 月目錄1引言42概述52.1方案論證5方案一5方案二5方案三53主要芯片介紹63. 1高精度可編程波形發(fā)生器ad9833小文資料63. 1. 1 ad983363.1.2 ad9833的結構及功能64 軟件程序94.1程序流程圖94.2程序95調試與實物展示135.1結果分析135.2實物圖16附錄:總體電路圖171引言信號發(fā)生器是指產生所需參數的電測試信號的儀器。按信號波形可分為正弦信 號、函數(波形)信號、脈沖信號

3、和隨機信號發(fā)牛器等四大類。信號發(fā)生器乂稱信號 源或振蕩器,在生產實踐和科技領域中有著廣泛的應用。各種波形曲線均可以用三角 函數方程式來表示。能夠產生多種波形,如三角波、鋸齒波、矩形波(含方波)、正 弦波的電路被稱為函數信號發(fā)生器。正弦信號是頻率成分最為單一的一種信號,因這種信號的波形是數學上的正弦 曲線而得名。任何復雜信號一一例如音樂信號,都可以通過傅里葉變換分解為許多頻 率不同、幅度不等的正弦信號的迭加。方波信號是指電路系統(tǒng)中信號的質量,如果在要求的時間內,信號能不失真地從 源端傳送到接收端,我們就稱該信號是方波信號。信號具有良好的方波信號是指當在 需要的時候,具有所必需達到的電壓電平數值。

4、差的方波信號不是由某一單一因素導 致的,而是板級設計中多種因素共同引起的。主要的方波信號問題包括反射、振蕩、 地彈、串擾等階梯波發(fā)生器產生的階梯信號,在無線電遙測,調頻信號磁帶記錄以及數字電壓 表屮較為有用,有時作為比較基準電壓產生階梯波的方法也較多。實現信號發(fā)生器的方法有很多種,通過模擬電路的脈沖信號發(fā)生電路配合枳分 微分電路可以產牛正弦,三角波,方波信號,而目前市面上有很多集成好的信號發(fā)牛 器芯片,例如ad9850. ad9833等芯片,能通過單片機等控制器產生頻率可變的很穩(wěn) 定和精度很高的基礎信號,本設計采用at89s52控制集成芯片ad9833產生正弦波, 三角波和方波信號,通過加法器

5、處理方波信號實現方波到階梯波的轉變,并利用第二 課堂的資源制作成實物,將實驗產生的波形通過數字示波器測試出來。2概述該系統(tǒng)是通過51單片機控制集成的dds波形發(fā)生器產生三角波,正弦波,方波 的電路設計,經過測試系統(tǒng)能產牛精確度為0. 1hz的上述波形,頻率范圍可通過控制 器使頻率在1hz飛mhz的穩(wěn)定的波形范圍內。該設計通過了硬件調試,設計論文中的 波形圖像都來自于數字示波器的usb flash devide端口。2.1方案論證方案一:通過da0832 8位精度的數字-模擬轉換芯片,使用這塊集成芯片優(yōu)點 有芯片價格低廉,接口簡單,軟件編寫簡單,但不足之處是芯片產生的合成信號轉換 速度低,產生信

6、號的頻率范圍很有限方案二:釆用純數字模擬技術,用ne555史密斯觸發(fā)器產生方波信號,以方波 為基波通過模擬電路組成的積分微分電路再生成其他波形,通過手動調節(jié)電阻 從而控制波形頻率,其結構圖如圖1圖1該方案的優(yōu)點在于成本很低很低,并且可以免去程序的編制,不需要微處理器 的知識,能很好的鞏固硬件知識。但有利必有弊,其缺點在于過多的硬件器件使系統(tǒng) 穩(wěn)定性大幅度下降,沒有軟件輔助波形設定麻煩,波形不穩(wěn)定,最主要的是純模擬電 路調試很麻煩。方案三:釆用集成芯片dds波形發(fā)生器,該系列芯片優(yōu)點突出,其屮ad9833是adi 公司生產的一款低功耗,可編程波形發(fā)生器,能夠產生正弦波、三角波、方波輸出。其 特點

7、是頻率和相位可通過改變內部寄存器來編程,通過主控制器選擇波形,頻率。三 線的spi接口使得線路簡單,軟件編寫簡單,輸岀頻率有所提高,其缺點是輸出雜散 大。根據上面的優(yōu)缺點比較綜合論證,本設計采用方案三。3主要芯片介紹3. 1高精度可編程波形發(fā)生器ad9833中文資料3.1.1 ad9833ad9833是adt公司生產的一款低功耗,可編程波形發(fā)生器,能夠產生正弦波、三 角波、方波輸出。波形發(fā)牛器廣泛應用于各種測量、激勵和時域響應領域,ad9833無 需外接元件,輸岀頻率和相位都可通過軟件編程,易于調節(jié),頻率寄存器是28位的,主 頻時鐘為25mhz時,精度為0. 1hz,主頻時鐘為1mhz時,精度

8、可以達到0. 004hz??梢?通過3個串行接口將數據寫入ad9833,這3個串口的最高工作頻率可以達到40milz,易 于與dsp和各種主流微控制器兼容。ad9833的工作電壓范圍為2. 3v-5. 5v。3.1.2 ad9833的結構及功能電路結構ad9833 是一塊完全集成的 dds (direct digital frequency synthesis)電路, 僅需要1個外部參考時鐘、1個低精度電阻器和一個解耦電容器就能產牛高達12. 5mhz 的正弦波。除了產生射頻信號外,該電路還廣泛應外于各種調制解調方案。這些方案全都用在數字領域,采用dsp技術能夠把復雜的調制解調算法簡化,而且很

9、精確。ad9833的內部電路主要有數控振蕩器(nco)、頻率和相位調節(jié)器、sine rom、數 模轉換器(dac)、電壓調整器,其功能框圖如圖2所示。圖2ad933的核心是28位的相位累加器,它由加法器和相位寄存器組成,每來1個時鐘, 相位寄存器以步長增加,相位寄存器的輸岀與和位控制字相加后輸入到正弦查詢表地 址中。止弦查詢表包含1個周期止弦波的數字幅度信息,每個地址對應止弦波中0° 360°范圍內的1個相位點。查詢表把輸入的地址相位信息映射成正弦波幅度的數字 量信號,去dac輸出模擬量,相位寄存器每經過228/m個mclk時鐘后回到初始狀態(tài),相 應地正弦查詢表經過一個循環(huán)

10、回到初始位置,這樣就輸出了一個正弦波。輸出正弦波 頻率為:fout=m (fmclk/228)(1)其中,m為頻率控制字,由外部編程給定,其范圍為0wmw2281。vdd引腳為ad9833的模擬部分和數字部分供電,供電電壓為2. 3v-5. 5v。ad9833 內部數字電路工作電壓為2. 5v,其板上的電壓調節(jié)器可以從vdd產生2. 5v穩(wěn)定電壓,注意:若vdd小于等于2. 7v,引腳cap/2. 5v應直接連接至vdd。功能描述ad9833有3根串行接口線,與spi、qspi、mi-crowire和dsp接口標準兼容, 在串口吋鐘sclk的作用下,數據是以16位的方式加載到設備上,吋序圖如圖

11、3所 示,fsync引腳是使能引腳,電平觸發(fā)方式,低電平有效。進行串行數據傳輸時,fsync 引腳必須置低,要注意fsync有效到sclk下降沿的建立時間t7的最小值。fsync置低 后,在16個sclk的下降沿數據被送到ad9833的輸入移位寄存器,在第16個sclk的 下降沿fsync可以被置高,但要注意在sclk下降沿到fsync上升沿的數據保持時間ts 的最小和最大值。當然,也可以在fsync為低電平的時候,連續(xù)加載多個16位數據,僅 在最后一個數據的第16個sclk的下降沿的時將fsync置高,最后要注意的是,寫數據 時sclk時鐘為高低電平脈沖,但是,在fsync剛開始變?yōu)榈蜁r,(

12、即將開始寫數據 時),sclk必須為高電平(注意til這個參數)。當ad9833初始化時,為了避免dac產牛虛假輸出,reset必須置為1 (reset不會 復位頻率、相位和控制寄存器),直到配置完畢,需要輸岀時才將reset置為0;reset 為0后的8-9個mclk時鐘周期可在dac的輸出端觀察到波形。ad9833寫入數據到輸出端得到響應,中i'可有一定的響應時i'可,每次給頻率或相位寄存器加載新 的數據,都會有7-8個mclk時蝕周期的延時之后,輸出端的波形才會產生改變,有1個mclk時 鐘周期的不確定性,因為數據加載到目的寄存器時,mclk的上升沿位置不確定。3. 2

13、89s52 介紹at89s52是一種低功耗、高性能cmos 8位微控制器,具有8k在系統(tǒng)可編程 flash存儲器。使用atmel公司高密度非易失性存儲器技術制造,與工業(yè)80c51產 品指令和引腳完全兼容。片上flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程 器。在單芯片上,擁有靈巧的8位cpu和在系統(tǒng)可編程flash,使得at89s52在眾多 嵌入式控制應用系統(tǒng)屮得到廣泛應用。4軟件程序4.1程序流程圖圖6示出了 ad9833的軟件流程。無論是寫控制寄存器、頻率寄存器還是相位寄存器、在寫數據之前都需要把選通 信號置為有效狀態(tài),這樣寫入的數據才會有效,否則無效。在dsp發(fā)送完1個數據字后 將

14、產生sp1中斷請求,本設計中未使用中斷方式,而且通過查詢中斷標志來跳出,并虛 讀dsp的接收緩沖器清除中斷標志。圖34.2程序include <reg52.h>irinclude <intrins. h>define b1tb 0x0800sbit fsync = pl"4;sbit sclk = p5;sbit sdata = pl"6;define dds sclk up sclk=l#define dds_sclk_d0wn sclk二0define dds sdata up sdata=l#define dds sdata down sdat

15、a=0define dds_fsync_up fsync=l define ddsj;sync_down fsync二0unsigned int config data8;void delay2us(unsigned char i) while (i):void wri ledds2byte(unsigned int config)unsigned char i;dds sclk down;_nop_();dds fsync up;_nop_ ();dds sclk up; delay2us(l);dds fsync down;_nop_();for (i二0; i<16; i+) if

16、 (config & 0x8000) dds_sdata_up;else dds sdata down; delay2us(l);dds sclk down: dclay2us (1);dds sclk .up;con fig «= 1:dds_fsync_up;_nop_ ();dds sclk down; delay2us(100);/波形發(fā)生函數入口參數:頻率:freq (<=12000000)/形狀:0 (正弦波),1 (三和波),2 (方波)/默認:fmclk=25mhz, 0相移,方波不分頻.void wavcgencralc(unsigned long f

17、req,unsigncd char shape) unsigned long temp;unsigned char k;if(freq>12000000) freq=l2000000;switch(shape)case 0: config_data0=0x2108;config data7=0x2008;break;case 1: config_data0=0x210a;config data7=0x200a;break;case 2: config data0-0x2128;confi g_data7=0x2028;break;default:config data0=0x2108;c

18、onfig data7=0x2008;temp=freq*13. 4217728;/1emp=freq*(ox10000000/25000000);config datal=temp&0x3fff;config data3=config datal:config_data 2 = (tcmp&oxofffcooo) »14;config data4=config data2;config datal=config datal 0x4000;config data2=config data2|0x4000;configdata3=configdata3 0x8000;c

19、onfig data4=confi g data4 0x8000;config data5=0xc000;config data6=0xe000;for(k=0;k<8;k+)writcdds2byte(config datak);/* for (;) wr i tedds2byte(oxcooo);for (k=200;k;k-);writedds2byte(oxcooo 2047);for (k=200;k;k-一);*/char shape)void dds 2fsk(unsigned long freql, unsigned long freq2, unsignedunsigne

20、d long temp;unsigned char k;if (freql>12000000) freql=12000000;if (freq2>12000000) freq2=l2000000;switch(shape)case 0: config_data0=0x2108;config data7=0x2008;break;case 1: config data0=0x210a;config data7=0x200a; break;case 2: config_data0=0x2128;confi g_data7=0x2028; break;default:config dat

21、a0=0x2108;config data7=0x2008; temp=freql*13. 4217728;/lemp=freq*(ox 10000000/20000000);config datal=temp&0x3fff;config data2 = (temp&oxofffcooo)»14;temp=freq2*13. 4217728;conf ig_data3=temp&0x3fff;config_data4=(temp&oxofffcooo)>>14;0x4000;config datal=config datalconfig d

22、ata2=config data210x4000;config_data3=config_data3 0x8000;confi g_data4=config_data4 0x8000;config data5=0xc000;config data二oxeooo;for (k=0;k<8;k+)wr i t edds2by t e(con f i g_ da t ak);while (1) for (k=200; k; k);writedds2byte(config data7 | bttb);for (k=200; k; k一一);wri tedds2byte (conf ig_data7 & cbitb); void key (void)辻(p3"2=0)i二i+1000;if(p3"3=0)i=i-1000;if(p3'4=0)j+;if (j=4)j=l;if(p35=0)辻(j=0)j=3;void main()whilc(l)key();dds 2fsk(3000, 1000, 0);5調試與實物展

溫馨提示

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

評論

0/150

提交評論