




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔傾情為你奉上精選優(yōu)質(zhì)文檔傾情為你奉上專心專注專業(yè)專心專注專業(yè)精選優(yōu)質(zhì)文檔傾情為你奉上專心專注專業(yè)基于DSP的定時器實現(xiàn)數(shù)字振蕩器一、實驗?zāi)康?更進一步掌握定時器和中斷的使用;.學(xué)會用數(shù)字振蕩器方法產(chǎn)生正弦/余弦信號;二、實驗原理利用定時器及中斷產(chǎn)生頻率為f正弦信號,定時器被設(shè)置成每1/fs產(chǎn)生中斷一次(等效于采樣速率),在中斷服務(wù)程序中用迭代算法計算出一個正弦值。用此方法可以很精確地產(chǎn)生某頻率的正弦波。設(shè)一個傳遞函數(shù)為正弦序列,其Z變換為,其中A=,B=-1,C=。設(shè)初始條件為0,求出其反Z變換得:是一個二階差分方程,其單位沖擊響應(yīng)即為sinkT,利用單位沖擊函數(shù)xk-1的性質(zhì),即
2、僅當(dāng)k=1時,xk-1=1,推導(dǎo)得: 在k2以后,yk能用yk-1和yk-2算出,這是一個遞歸的差分方程。式中,fs為采樣頻率,f為正弦波頻率。A為正弦波幅度??梢娪脭?shù)字頻率振蕩器產(chǎn)生正弦波的實質(zhì)就是用程序?qū)崿F(xiàn)上述的遞歸差分方程。如要產(chǎn)生振蕩器的頻率為2kHz正弦波,設(shè)采樣速率為40k,通過定時器設(shè)置,每隔25us中斷一次,即產(chǎn)生一個yn。則遞歸差分方程系數(shù)為:B=-1 為了便于定點DSP處理,將所有系數(shù)除以2,然后用16位定點格式表示為:A=6D4BH,B=C000H,C=214FH,這便是產(chǎn)生2kHz正弦信號的三個系數(shù)。主程序初始化時先計算出y1和y2,然后開放定時器中斷,以后每次進入定時
3、器中斷服務(wù)程序時,利用前面計算出的y1和y2計算出新的y。初始化y1和y2SSBX FRCT ;置FRCT=1,準(zhǔn)備進行小數(shù)乘法運算ST #0 x79BC,AA ;將常數(shù)裝入變量AAST #0 xC000H,BB ;將常數(shù)裝入變量BBST #0 x13C7H,CC;將常數(shù)裝入變量CCpshd CC ;將CC壓入堆棧popd y2 ; 初始化y2=CCld AA,T ; 將AA裝到 T寄存器mpy y2,a ;Y2乘以系數(shù)A,結(jié)果放入A寄存器sth a,y1 ;將A寄存器的高16位存入變量Y1;中斷服務(wù)程序段:ld BB,T ;將系數(shù)B裝入T寄存器mpy y2,a ;Y2乘系數(shù)B,結(jié)果放入A寄存
4、器ltd y1 ;將Y1裝入T寄存器,同時復(fù)制到Y(jié)2mac AA,a ;完成新正弦數(shù)據(jù)計算,A寄存器;中為Y1*AA+Y2*BBsth a,1,y1 ;將新數(shù)據(jù)存入Y1,因所有系數(shù)都;除過2,在保存結(jié)果時轉(zhuǎn)移一位,;恢復(fù)數(shù)據(jù)正常大小sth a,1,y0 ;將新正弦數(shù)據(jù)存入Y0VC5402的片內(nèi)定時器利用CLKOUT時鐘計數(shù),用三個寄存器(TIM、PRD、TCR)來控制定時器。到定時器實際上可以有20個比特的周期寄存器。它對CLKOUT信號計數(shù),先將PSC 減1,直到PSC 為0,然后用TDDR 重新裝入PSC,同時將TIM減1,直到TIM減為0。這時CPU 發(fā)出TINT中斷,同時在TOUT 引
5、腳輸出一個脈沖信號,脈沖寬度為CLKOUT 一致。然后用PRD 重新裝入TIM,重復(fù)下去直到系統(tǒng)或定時器復(fù)位。因而定時器中斷的頻率由下面的公式?jīng)Q定:TINT的頻率=,其中tc表示CLKOUT的周期。設(shè)置PRD寄存器值為12499,TINT中斷頻率為40kHz。定時器初始化程序段為:STM #10H,TCR ;停止定時器STM #2499H,PRD;設(shè)置PRD 寄存器值為2499,;TINT 中斷頻率為Foutclk =(2499+1)= 100MHz/2500 = 40 kHzSTM #20H,TCR ;重新裝入TIM 和PSC,然后;啟動定時器,在開放中斷屏蔽寄存器IMR后,就可以產(chǎn)生頻率為
6、2000Hz的正弦波。三、實驗內(nèi)容與步驟.使用C54x匯編語言實現(xiàn)數(shù)字振蕩器,并通過CCS提供的顯示窗口觀察輸出信號波形以及頻譜。.根據(jù)確定數(shù)字振蕩器的頻率,確定系數(shù)。數(shù)字振蕩器系數(shù)的確定在前面已經(jīng)說明,3. 啟動 CCS,新建工程文件,如文件名為sinewave.pjt。并建立如下文件: 匯編源程序exer3.asm .title for test INT service program .(25 us) .mmregs .global _c_int00,_tint,vector OFF_INTIMER .set 04Ch ; vector of INTtimer at VECTOR+OFF
7、_INTIMERINIT_A .set 079bch ; A/2=0.INIT_B .set 0c000h ; B/2=-0.5INIT_C .set 013c7h ; C/2=0. .bss y0,1 .bss y1,1 .bss y2,1 .bss temp,1 .bss AA,1 .bss BB,1 .bss CC,1 .text _c_int00: ld #0,dp ssbx intm ; disable all interrupt ! st #1fffh,sp ld #vector, a ; get vector table address ! and #0FF80h, a andm
8、 #007Fh, pmst or pmst, a stlm a, pmst ; 設(shè)置IPTR stm #10h,TCR ; init TIMER stm #2499,PRD ; f=100M/(2499+1)=40kHz stm #20h,TCR ; reset TIMER ldm IMR,a ; read back IMR or #08h,a ; enable TIMER interrupt stlm a,IMR ; set IMR ld #temp,dp ; set DP ssbx FRCT ; prepare for fraction mpy st #INIT_A,AA ; init A
9、A,BB,CC st #INIT_B,BB ; st #INIT_C,CC ; pshd CC popd y2 ; init y2,y2=CC ld AA,T ; T=AA mpy y2,a ; y2*AA - a sth a,y1 ; y2*AA - y1 stm #0h,TCR ; enable TIMER nop rsbx intm ; enable all int !again: nop b again nop nop nop nop nop nop; interrupt for INT_TIMER !;_tint: ld #BB,DP ld BB,T ; T=BB mpy y2,a
10、; a=y2*BB ltd y1 ; T=y1,y2=y1 mac AA,a ; a=a+y1*AA sth a,1,y1 ; new cos data - y1 sth a,1,y0 ; new cos data - y0 nop ; set breakpoint in CCS !int1_end: nop rete .endvec_table.asm文件 .mmregs.ref _ret.ref _c_int00.ref _tint .global _table; interrupte vector table !;vector:rs b _c_int00 n
11、op nopnmi b _ret nop nopsint17 b _ret nop nopsint18 b _ret nop nopsint19 b _ret nop nopsint20 b _ret .word 0,0sint21 b _ret .word 0,0sint22 .word 01000h .word 0,0,0sint23 .word 0ff80h .word 0,0,0sint24 .word 01000h .word 0,0,0sint25 .word 0ff80h .word 0,0,0sint26 .word 01000h .word 0,0,0sint27 .word
12、 0ff80h .word 0,0,0sint28 .word 01000h .word 0,0,0sint29 .word 0ff80h .word 0,0,0sint30 .word 01000h .word 0,0,0int0 b _ret nop nopint1 b _ret nop nopint2 b _ret nop noptint b _tintnopnopbrint0 b _ret nop nopbxint0 b _ret nop noptrint b _ret nop nopdmac1 b _ret nop nopint3 b _ret nop nophpint b _ret
13、 nop nopq26 .word 0ff80h .word 0,0,0q27 .word 01000h .word 0,0,0dmac4 b _ret nop nopdmac5 b _ret nop nopq30 .word 0ff80h .word 0,0,0q31 .word 01000h .word 0,0,0; end of interrupte vector table !;_ret rete鏈接定位sinewave.cmdMEMORYPAGE 1:INT_D: ORIGIN=80h, LENGTH=1F80hPAGE 0:EXT_P: ORIGIN=2000h, LENGTH=2
14、000hSECTIONS.text : EXT_PPAGE 0.int_table : (EXT_P ALIGN (128) PAGE (0).data : INT_D PAGE 1選擇Project 菜單中的Add File to Project 選項,將匯編源程序exer3.asm、vec_table.asm 和連接定位sinewave.cmd文件依次添加到工程文件中。注意,你可以在添加文件對話框中選擇顯示不同的文件類型來加快文件選擇速度。你也可以使用鼠標(biāo)右鍵單擊工程文件名(如sinewave.pjt)并選擇Add Files 項來添加需要的文件。其中,exer3.asm 包括初始化代碼和
15、中斷服務(wù)程序,而vec_talbe.asm 包含中斷向量表。4. 選擇 Project 菜單中的Options 選項,或使用鼠標(biāo)右鍵單擊工程文件名(如sinewave.pjt)并選擇build options 項來修改或添加編譯、連接中使用的參數(shù)。選擇Linker 窗口,在“Output Filename”欄中寫入輸出OUT 文件的名字,如sine.out,你還可以設(shè)置生成的MAP文件名。5. 完成編譯、連接,正確生成OUT文件。然后使用File 菜單的“Load Program”選項,將生成的OUT 文件(如sine.out)裝入DSP 的片內(nèi)存儲器。這時CCS 將顯示程序的啟始地址_c_i
16、nt00。6. 選 ViewGraphTime/Frequency打開圖形顯示設(shè)置窗口。在彈出的對話框中按圖8.1設(shè)置, 圖8.1 圖形屬性設(shè)置主要修改“Start Address”為y0(y0為生成的正弦波輸出變量);“Acquisition Buffer Size”為1,“DSP Data Type”為“16-bit signed integer”。想想為什么要這樣修改?7. 在匯編源程序的中斷服務(wù)程序(_tint)中的“nop”語句處設(shè)置斷點。選擇DebugAnimate,運行程序,觀察輸出波形。數(shù)一數(shù)一個周期的正弦波有多少個點?算算頻率是否是2kHz?另外,想想Run 和Animate 兩種運行方式的區(qū)別?8. 用右鍵單擊圖形顯示窗口,并選擇“Proporties”項以便修改顯示屬性。將“DisplayType”項改
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 動脈瘤術(shù)后的護理
- 公交員工教育培訓(xùn)
- 中學(xué)音樂教育體系構(gòu)建與實踐路徑
- 裝修電銷話術(shù)培訓(xùn)
- 中職教育發(fā)展探索與實踐
- 特殊口腔護理
- 2025年海洋生態(tài)保護與修復(fù)政策對海洋生態(tài)系統(tǒng)服務(wù)功能可持續(xù)性提升策略報告
- 休閑農(nóng)業(yè)與鄉(xiāng)村旅游融合發(fā)展規(guī)劃報告:鄉(xiāng)村旅游與旅游產(chǎn)業(yè)融合的商業(yè)模式創(chuàng)新001
- 繪畫火龍果課件
- 小學(xué)數(shù)學(xué)教師入職面試培訓(xùn)
- 車輛進廠出廠管理制度
- 安全生產(chǎn)月題庫-2025年安全生產(chǎn)月安全知識競賽題庫(附題目答案)
- 2025-2030年古建筑行業(yè)市場深度調(diào)研及前景趨勢與投資研究報告
- 2024年貴州省黔西縣教育局公開招聘試題含答案分析
- 集裝箱投資項目可行性研究報告
- 拆分合同:合伙企業(yè)解散及債務(wù)分擔(dān)協(xié)議
- 2025河北邯鄲市肥鄉(xiāng)區(qū)選聘農(nóng)村黨務(wù)(村務(wù))工作者100人筆試參考題庫完整參考答案詳解
- 2025年05月四川阿壩州級事業(yè)單位公開選調(diào)工作人員78人筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 2025-2030中國硫酸鈣晶須行業(yè)市場發(fā)展現(xiàn)狀及競爭格局與投資發(fā)展研究報告
- DB31/T 1035-2017綠化有機覆蓋物應(yīng)用技術(shù)規(guī)范
- 2025年農(nóng)業(yè)果園土地租賃承包合同
評論
0/150
提交評論