基于DSP的信發(fā)生器設計.._第1頁
基于DSP的信發(fā)生器設計.._第2頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于DSP的信號發(fā)生器設計設計題目:正弦信號發(fā)生器專業(yè)班級電科ii級-1班學號311108001417學生姓名王博指導教師王科平摘要正弦信號發(fā)生器是信號中最常見的一種,它能輸出一個幅度可調、頻率可調的正弦信號,在這些信號發(fā)生器中,又以低頻正弦信號發(fā)生器最為常用,在科學研究及生產(chǎn)實踐中均有著廣泛應用。目前,常用的信號發(fā)生器絕大部分是由模擬電路構成的,當這種模擬信號發(fā)生器用于低頻信號輸出往往需要的RC值很大,這樣不但參數(shù)準確度難以保證,而且體積大和功耗都很大,而由數(shù)字電路構成的低頻信號發(fā)生器,雖然其低頻性能好但體積較大,價格較貴,而本文借助DSP運算速度高,系統(tǒng)集成度強的優(yōu)勢設計的這種信號發(fā)生器,

2、比以前的數(shù)字式信號發(fā)生器具有速度更快,且實現(xiàn)更加簡便。正弦信號發(fā)生器是信號中最常見的一種,它能輸出一個幅度可調、頻率可調的正弦信號,在這些信號發(fā)生器中,又以低頻正弦信號發(fā)生器最為常用,在科學研究及生產(chǎn)實踐中均有著廣泛應用。目前,常用的信號發(fā)生器絕大部分是由模擬電路構成的,當這種模擬信號發(fā)生器用于低頻信號輸出往往需要的RC值很大,這樣不但參數(shù)準確度難以保證,而且體積大和功耗都很大,而由數(shù)字電路構成的低頻信號發(fā)生器,雖然其低頻性能好但體積較大,價格較貴,而本文借助DSP運算速度高,系統(tǒng)集成度強的優(yōu)勢設計的這種信號發(fā)生器,比以前的數(shù)字式信號發(fā)生器具有速度更快,且實現(xiàn)更加簡便。i目錄一、概述3二、系統(tǒng)

3、設計42.1總體方案42.2正弦波信號發(fā)生器4三、硬件設計53.1硬件組成部分53.2控制器部分63.4人機接口部分7四、軟件設計84.1流程圖84.2正弦信號發(fā)生器程序清單9五、總結14參考文獻14、概述數(shù)字信號處理(DigitalSignalProcessing,簡稱DSP)是一門涉及許多學科而又廣泛應用于許多領域的新興學科。20世紀60年代以來,隨著計算機和信息技術的飛速發(fā)展,數(shù)字信號處理技術應運而生并得到迅速的發(fā)展。數(shù)字信號處理是一種通過使用數(shù)學技巧執(zhí)行轉換或提取信息,來處理現(xiàn)實信號的方法,這些信號由數(shù)字序列表示。在過去的二十多年時間里,信號處理已經(jīng)在通信等領域得到極為廣泛的應用。圖一

4、是數(shù)字信號處理系統(tǒng)的簡化框圖。此系統(tǒng)先將模擬信號轉換為數(shù)字信號,經(jīng)數(shù)字信號處理后,再轉換成模擬信號輸出。其中抗混疊濾波器的作用是將輸入信號x(t)中高于折疊頻率的分量濾除,以防止信號頻譜的混疊。隨后,信號經(jīng)采樣和A/D轉換后,變成數(shù)字信號x(n)。數(shù)字信號處理器對x(n)進行處理,得到輸出數(shù)字信號y(n),經(jīng)D/A轉換器變成模擬信號。此信號經(jīng)低通濾波器,濾除不需要的高頻分量,最后輸出平滑的模擬信號y(t)。圖1.1數(shù)字信號處理系統(tǒng)簡化框圖數(shù)字信號處理是以眾多學科為理論基礎的,它所涉及的范圍極其廣泛。例如,在數(shù)學領域,微積分、概率統(tǒng)計、隨機過程、數(shù)值分析等都是數(shù)字信號處理的基本工具,與網(wǎng)絡理論、

5、信號與系統(tǒng)、控制論、通信理論、故障診斷等也密切相關。近來新興的一些學科,如人工智能、模式識別、神經(jīng)網(wǎng)絡等,都與數(shù)字信號處理密不可分??梢哉f,數(shù)字信號處理是把許多經(jīng)典的理論體系作為自己的理論基礎,同時又使自己成為一系列新興學科的理論基礎。二、系統(tǒng)設計2.1總體方案1. 基于DSP的特點,本設計采用TMS320C54X系列的DSP作為正弦信號發(fā)生器的核心控制芯片。2. 用泰勒級數(shù)展開法實現(xiàn)正弦波信號。3. 設置波形時域觀察窗口,得到其濾波前后波形變化圖;4. 設置頻域觀察窗口,得到其濾波前后頻譜變化圖。2.2正弦波信號發(fā)生器正弦波信號發(fā)生器已被廣泛地應用于通信、儀器儀表和工業(yè)控制等領域的信號處理系

6、統(tǒng)中。通常有兩種方法可以產(chǎn)生正弦波,分別為查表法和泰勒級數(shù)展開法。查表法是通過查表的方式來實現(xiàn)正弦波,主要用于對精度要求不很高的場合。泰勒級數(shù)展開法是根據(jù)泰勒展開式進行計算來實現(xiàn)正弦信號,它能精確地計算出一個角度的正弦和余弦值,且只需要較小的存儲空間。本次主要用泰勒級數(shù)展開法來實現(xiàn)正弦波信號。產(chǎn)生正弦波的算法正弦函數(shù)和余弦函數(shù)可以展開成泰勒級數(shù),其表達式:./、X3X5X7X9sin(x)=x+3!5!7!9!4/、vx2x4x6x8cos(x)二1-+2!4!6!8!取泰勒級數(shù)的前5項,得近似計算式:./、x3x5x7x9sin(x)x+3!5!7!9!x(1丄(1丄(1旦(1旦)2x34x

7、56x78x9/、vx2x4x6x8cos(x)1+2!4!6!8!x2)7x8(1丄(1丄(13x45x6遞推公式:sin(nx)=2cos(x)sin(n-1)x-sin(n-2)xcos(nx)=2cos(x)sin(n-1)x-cos(n-2)x由遞推公式可以看出,在計算正弦和余弦值時,需要已知cos(x)、sin(n-1)x、sin(n-2)x和cos(n-2)x。三、硬件設計3.1硬件組成部分基于DSP的信號發(fā)生器的硬件結構圖如圖3.1所示,它主要由DSP主控制器,輸出D/A通道和人機界面等幾個主要部分組成。圖3.1基于DSP的信號發(fā)生器系統(tǒng)框圖3.2控制器部分本系統(tǒng)采用TI公司的

8、TMS320LF2407DSP處理器,該器件具有外設集成度高,程序存儲器容量大,A/D轉換精度高,運算速度高,I/O口資源豐富等特點,芯片內部集成有32KB的FLASH程序存儲器、2KB的數(shù)據(jù)/程序RAM,兩個事件管理器模塊(EVE和EVB)、16通道A/D轉換器、看門狗定時器模塊、16位的串行外設接口(SPI)模塊、40個可單獨編程或復用的通用輸入輸出引腳(GPIO)以及5個外部中斷和系統(tǒng)監(jiān)視模塊。TMS320LF2407芯片中的事件管理模塊(EV)是一個非常重要的組成部分。SPWM波形的產(chǎn)生和輸出就是由這一部分完成的,它由兩個完全相同的模塊(EVA和EVB)組成,每個模塊都含有2個通用定時

9、器、3個比較器、6至8個PWM發(fā)生器、3個捕獲單元和2個正交脈沖編碼電路(QEP)。由于TMS320LF2407有544字的雙口RAM(DARAM)和2K字的單口RAM(SARAM);而本系統(tǒng)的程序僅有幾KB,且所用RAM也不多,因此不用考慮存儲器的擴展問題,而對于TMS320LF2407的I/O擴展問題,由于TMS320LF2407器件有多達40個通用、雙向的數(shù)字I/O(GPIO)引腳,且其中大多數(shù)的基本功能和一般I/O復用的引腳,而實際上,本系統(tǒng)只需要17路I/O信號,這樣,就可以為系統(tǒng)剩余50%多的I/O資源,因此可以說,該方案既不算浪費系統(tǒng)資源,也為系統(tǒng)今后的升級留有余地。3.3微輸出

10、D/A通道部分本系統(tǒng)的輸出通道部分主要負責實現(xiàn)波形的輸出,此通道的入口為TMS320LF2407的PWM8口,可輸出SPWM等幅脈沖波形,出口為系統(tǒng)的輸出端,這樣,經(jīng)過一系列的中間環(huán)節(jié),便可將PWM脈沖波轉化為交流正弦波形,從而實現(xiàn)正弦波的輸出,其原理框圖如圖3.2所示。圖3.2輸出通道的原理結構圖3.2中的緩沖電路的作用是對PWM口輸出的數(shù)字量進行緩沖,并將電壓拉高到5V左右,以供后級模擬電路濾波使用。這一部分電路由兩個芯片組成。一片用三態(tài)緩沖器,由于PWM口的輸出為3.3V的TTL電平,這樣,在設計時就應當選用輸入具有5V的TTL輸入,CMOS輸出電平的轉換芯片(如TI公司的74HCT04

11、);另一片則可選用TOSHIBA公司出品的光電耦合器6N137;輸出端連接的5V精密穩(wěn)壓電源可選用BURR-BROWN公司生產(chǎn)的REF02型精密穩(wěn)壓電源,以輸出標準的5V電壓。系統(tǒng)中的減法電路的主要作用是把0-10V直流脈動信號的轉換成-5+5V的正弦交流信號,并使其電壓增益為1。設計使可利用差分式電路來實現(xiàn)其功能,為了簡化電路,可以選用較為常用的AD公司的AD524,并將AD524接成電壓跟隨器的形式,同時適當?shù)倪x取電阻以滿足要求,此外,為了使產(chǎn)生的正弦波信號具有2-5mA的驅動能力,可選用AD624來構成末級的信號放大電路。AD624是高精度低噪聲儀用放大器,若外接一只增益電阻,即可得到1

12、-1000之間的任意增益值,其誤差小于1%。由于AD624的建立時間只有15“s,所以它非常適宜在高速數(shù)據(jù)采集系統(tǒng)中使用。3.4人機接口部分3.4.1驅動器設計位驅動器電路由兩片集成電路組成,即由位驅動的CMOS芯片和將TTL電平轉換成CMOS電平的電平轉換芯片組成,電平轉換芯片可以和輸出通道的電平轉換芯片共用一片74HCT244(本部分使用4路,輸出通道使用3路),其主要作用是對DSP輸出的3.3VTTL電平與5VCMOS電平進行匹配,從而帶動具有CMOS電平的位驅動器,根據(jù)動態(tài)掃描顯示的要求,位驅動器需要選用每路輸出吸收電流都要大于200mA的芯片,因此,本設計選用了TI公司的74LS06

13、來做LED的大電流驅動器件。3.4.2鍵盤設計本系統(tǒng)選用四個獨立式按鍵,分別接入PF3-PF6口,并使用四個220Q上拉電阻接VCC。所謂獨立式,就是將每一個獨立鍵按一對一地直接接到I/O輸入線上,而在讀鍵值時,直接讀I/O口,每一個鍵的狀態(tài)通過讀入鍵值的一位(二進制位)來反應,所以這種方式也稱為一維直讀方式,這種方式的查鍵軟件比較簡單,但占用I/O線較多,一般在鍵的數(shù)量較少時采用,不過,由于DSP芯片有足夠的I/O接口可供使用,因而可大大方便設計,設計時可以充分利用這一特點來連接硬件,至于按鍵的削抖動措施,則可在軟件中完成。四、軟件設計4.1流程圖本系統(tǒng)軟件可以按照模塊化設計思想來編寫,包括

14、主程序、常數(shù)計算程序、占空比計算程序和相應的一些功能子程序,主程序用于調用各功能子程序、初始化變量、查詢鍵盤、判斷顯示數(shù)據(jù)是否需要刷新、同時判斷一個脈沖是否完成發(fā)送等工作,具體方案見圖4.1所示的流程圖。主程序中的循環(huán)子程序開始刷新顯示輸出寄存器,奇次顯示頻率,偶次頻率,偶次顯示幅值清脈沖發(fā)出標志寄存器,調計算占空比程序圖4.1主程序流程圖在程序中,應在第N-1個脈沖周期里計算占空比,并在第N個脈沖周期里輸出波形,這就要求在設計時要在一個脈沖周期內完成計算,如果選用20MHz的晶振,那么,在一倍頻下,執(zhí)行一條執(zhí)行只需50ns,若輸出400Hz的正弦波,即每一個周期(即2.5ms)要輸出200個

15、脈沖,這樣,也就是說,一個脈沖需要12.5“s(相當于12500/50=250條指令)。而執(zhí)行一個占空比的計算程序只需要幾十條指令,這種算法從軟件開銷上考慮是可以實現(xiàn)的。4.2正弦信號發(fā)生器程序清單;ThisfunctiongeneratesthesinewaveofangleusingtheTaylorseriesexpansion;sin(theta)=x(l-xA2/2*3(l-xA2/4*5(l-xA2/6*7(l-xA2/8*9);cos(theta)=l-xA2/2*3(l-xA2/4*5(l-xT/6*7(l-xA2/8*9);sin(2*theta)=2*sin(theta)*

16、cos(theta).title"sin.asm".mmregs.defcint00.refsinx,d_xs,d_sinx,cosx,d_xc,d_cosxsin_x:.usect"sin_x",360STACK:.usect"STACK",10k_theta.set286PA0.set0_c_int00.textSTM#STACK+10,SPSTMk_theta,AR0STM0,AR1STM#sin_x,AR6STM#90,BRCRPTBloopl-1LDMAR1,ALD#d_xs,DPSTLA,d_xsSTLA,d_xcCALL

17、sinxCALLcosxLD#d_sinx,DPLDd_sinx,16,AMPYAd_cosxSTHB,1,*AR6+MAR*AR1+0loopl:STM#sin_x+89,AR7STM#88,BRCRPTBloop2-lLD*AR7-,ASTLA,*AR6+loop2:STM#179,BRCSTM#sin_x,AR7RPTBloop3-lLD*AR7+,ANEGASTLA,*AR6+loop3:STM#sin_x,AR6STM#1,AR0STM#360,bkloop4:PORTW*AR6+0%,PA0Bloop4sinx:.defd_xs,d_sinx.datatable_s.word01c

18、7h.word030bh.word0666h.word1556hd_coef_s.usect"coef_s",4d_xs.usect"sin_vars",1d_squr_xs.usect"sin_vars",1d_temp_s.usect"sin_vars",ld_sinx.usect"sin_vars",lc_l_s.usect"sin_vars",1.text16SSBXFRCTSTM#d_coef_s,AR5RPT#3MVPD#table_s,*AR5+STM#d_co

19、ef_s,AR3STM#d_xs,AR2STM#c_s,AR4ST#7FFFh,c丄sSQUR*AR2+,ASTA,*AR2IILD*AR4,BMASR*AR2+,*AR3+,B,AMPYAASTHA,*AR2MASR*AR2-,*AR3+,B,AMPYA*AR2+STB,*AR2IILD*AR4,BMASR*AR2-,*AR3+,B,AMPYA*AR2+STB,*AR2IILD*AR4,BMASR*AR2-,*AR3+,B,AMPYAd_xsSTHB,d_sinxRETcosx:.defd_xc,d_cosxd_coef_c.usect"coef_c",4.datatab

20、le_c.word0249h.word0444h.wordOaabh.word4000hd_xc.usect"cos_vars",ld_squr_xc.usect"cos_vars",ld_temp_c.usect"cos_vars",1d_cosx.usect"cos_vars",1c_l_c.usect"cos_vars",l.textSSBXFRCTSTM#d_coef_c,AR5RPT#3MVPD#table_c,*AR5+STM#d_coef_c,AR3STM#d_xc,AR2STM#

21、c_c,AR4ST#7FFFh,c丄cSQUR*AR2+,ASTA,*AR2IILD*AR4,BMASR*AR2+,*AR3+,B,AMPYAASTHA,*AR2MASR*AR2-,*AR3+,B,AMPYA*AR2+STB,*AR2|LD*AR4,BMASR*AR2-,*AR3+,B,ASFTAA,-1,ANEGAMPYA*AR2+MAR*AR2+RETDADD*AR4,16,BSTHB,*AR2RET.endPAGEMEMORYEPROM:org=0E000h,len=1000hVECS:org=0FF80h,len=0080h1:SPRAM:org=0060h,len=0020hDARAM1:org=0080h,len=0010hDARAM2:org=0090h.len=0010hDARAM3:org=0200h,len=0200h0:PAGESECTIONS.text:>EPR

溫馨提示

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

評論

0/150

提交評論