TMS320C54x的軟硬件應(yīng)用.ppt_第1頁(yè)
TMS320C54x的軟硬件應(yīng)用.ppt_第2頁(yè)
TMS320C54x的軟硬件應(yīng)用.ppt_第3頁(yè)
TMS320C54x的軟硬件應(yīng)用.ppt_第4頁(yè)
TMS320C54x的軟硬件應(yīng)用.ppt_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第6章 TMS320C54x的軟硬件設(shè)計(jì),6.3 FIR濾波器的C54x實(shí)現(xiàn)方法,FIR濾波器算法分析,乘法累加運(yùn)算 Z-1操作:延時(shí)操作。有兩種方法實(shí)現(xiàn): 線性緩沖區(qū)法 循環(huán)緩沖區(qū)法 I/O輸入和輸出操作指令: PORTR PA, Smen PORTW Smen, PA,線性緩沖區(qū)法實(shí)現(xiàn)Z-1,又稱延遲線法,特點(diǎn)如下 對(duì)于N級(jí)FIR濾波器,在數(shù)據(jù)存儲(chǔ)器中開(kāi)辟一個(gè)稱之為滑窗的N個(gè)單元的緩沖區(qū),存放最新的N個(gè)輸入樣本 從最老的樣本開(kāi)始,每讀一個(gè)樣本后,將此樣本向下移位。讀完最后一個(gè)樣本后,輸入最新樣本至緩沖區(qū)的頂部。,舉例N=6的線性緩沖區(qū)存儲(chǔ)圖,數(shù)據(jù)存儲(chǔ)器,ARx-,數(shù)據(jù)存儲(chǔ)器,ARx-,數(shù)據(jù)

2、存儲(chǔ)器,ARx-,線性緩沖區(qū)頂部,PORTR,PORTR,滑窗的N個(gè)單元的緩沖區(qū),存放最新的N個(gè)輸入樣本 從最老的樣本開(kāi)始,每讀一個(gè)樣本后,將此樣本向下移位。,樣本向下移位,用延時(shí)指令DELAY實(shí)現(xiàn)。 DELAY:數(shù)據(jù)存儲(chǔ)器單元中的內(nèi)容向較高地址單元傳送。 DELAY Smen ;SmenSmen+1 DELAY *AR2- DELAY指令與其它指令相結(jié)合單周期指令 LT+DELAYLTD MAC+DELAYMACD 因?yàn)閱沃芷趦?nèi)要進(jìn)行一次讀和一次寫(xiě)操作,故延遲操作只能在DARAM中進(jìn)行,循環(huán)緩沖區(qū)法實(shí)現(xiàn)Z-1,特點(diǎn)如下 對(duì)于N級(jí)FIR濾波器,在數(shù)據(jù)存儲(chǔ)器中開(kāi)辟一個(gè)也稱之為滑窗的N個(gè)單元的緩沖

3、區(qū),存放最新的N個(gè)輸入樣本 每次輸入新樣本時(shí),以新樣本改寫(xiě)滑窗中最老的數(shù)據(jù),而滑窗中其它數(shù)據(jù)不需要移動(dòng) 循環(huán)緩沖區(qū)首尾相接,循環(huán)尋址。,舉例N=6的循環(huán)緩沖區(qū)存儲(chǔ)圖,數(shù)據(jù)存儲(chǔ)器,數(shù)據(jù)存儲(chǔ)器,數(shù)據(jù)存儲(chǔ)器,循環(huán)緩沖區(qū)頂部,滑窗的N個(gè)單元的緩沖區(qū),存放最新的N個(gè)輸入樣本 以新樣本改寫(xiě)滑窗中最老的數(shù)據(jù),而滑窗中其它數(shù)據(jù)不需要移動(dòng),循環(huán)緩沖區(qū)底部,6,6,對(duì)設(shè)置循環(huán)緩沖區(qū)的要求,循環(huán)緩沖區(qū)的長(zhǎng)度R小于2N,且地址從一個(gè)低N位為0的地址開(kāi)始; 步長(zhǎng)小于或等于循環(huán)緩沖區(qū)的長(zhǎng)度 所使用的輔助寄存器必須指向緩沖區(qū)單元 循環(huán)尋址算法規(guī)則: If 0index+stepBK index=index+step Els

4、e if index+stepBK index=index+step-BK Else if index+step0 index=index+step+BK,251,循環(huán),1.用線性緩沖區(qū)和直接尋址方法實(shí)現(xiàn)FIR濾波器,直接尋址FIR濾波器程序如下: LD #XN,DP SSBX FRCT PORTR PA1,XN LOP:LD XNM4,T MPY A4,A LTD XNM3 MAC A3,A LTD XNM2 MAC A2,A LTD XNM1 MAC A1,A LTD XN MAC A0,A STH A, y PORTW y, PA0 BD LOP PORTR PA1,XN,數(shù)據(jù)存儲(chǔ)器,y

5、,XN,XNM1,XNM2,XNM3,XNM4,數(shù)據(jù)存儲(chǔ)器,A0,A1,A2,A3,A4,2.用線性緩沖區(qū)和間接尋址方法實(shí)現(xiàn)FIR濾波器,數(shù)據(jù)存儲(chǔ)器,y,X,AR1,數(shù)據(jù)存儲(chǔ)器,a:,AR2,間接尋址FIR濾波器程序如下: STM #x+4,AR1 STM #a+4, AR2 STM #4, AR0 SSBX FRCT LD #x, DP PORTR PA1,x LOP:LD *AR1-,T MPY *AR2-,A LTD *AR1- MAC *AR2-,A LTD *AR1- MAC *AR2-,A LTD *AR1- MAC *AR2-,A LTD *AR1 MAC *AR2+0,A ST

6、H A, y PORTW y, PA0 BD LOP PORTR PA1,*AR1+0,數(shù)據(jù)存儲(chǔ)器,數(shù)據(jù)存儲(chǔ)器,y,X,AR1,a:,AR2,3.用線性緩沖區(qū)和帶移位雙操作是數(shù)尋址方法實(shí)現(xiàn)FIR濾波器,數(shù)據(jù)存儲(chǔ)器,x,AR1,程序存儲(chǔ)器,COFF,雙操作數(shù)、帶移位FIR濾波器程序如下: STM #x+5,AR1 STM #4, AR0 SSBX FRCT LD #x+1, DP PORTR PA1,x+1 LOP:RPTZ #4 MACD *AR1-, COFF, A PORTW *AR1+, PA0 BD LOP PORTR PA1,*AR1+0 .data COFF .word a4,a3

7、,a2,a1,a0,數(shù)據(jù)存儲(chǔ)器,程序存儲(chǔ)器,x,AR1,COFF,4.用循環(huán)緩沖區(qū)和雙操作數(shù)尋址方法實(shí)現(xiàn)FIR濾波器,數(shù)據(jù)存儲(chǔ)器,y,xn,AR3,數(shù)據(jù)存儲(chǔ)器,a0,AR4,60h,80h,81h,82h,83h,84h,88h,89h,8Ah,8Bh,8Ch,循環(huán)緩沖區(qū)FIR濾波器的程序清單,FIR4.ASM源程序 .title “FIR4.ASM” .mmregs .def _c_int00 .bss y,1 xn.usect “xn”, 5 a0 .usect “a0”, 5 PA0 .set 0 PA1 .set 1 .data table:.word 1*32768/10 .word

8、 2*32768/10 .word 3*32768/10 .word 4*32768/10 .word 5*32768/10,.text _c_int00:SSBX FRCT STM #a0,AR1 RPT #4 MVPD table, *AR1+ STM #xn+4,AR3 STM #a0+4,AR4 STM #5, BK STM # -1, AR0 LD #xn, DP PORTR PA1,xn FIR:RPTZ A,#4 MAC *AR3+0%,*AR4+0%,A LD #y,DP STH A, y BD FIR PORTR PA1, *AR3+0% .end,FIR4_V_.asm復(fù)位

9、向量文件程序清單,.title “FIR4_V.asm” .ref _c_int00 .sect “.vectors” B _c_int00 .end,FIR4.cmd 鏈接命令文件清單,FIR4_V.obj FIR4.obj -O FIR4.out -m FIR4.map MEMORY PAGE 0:EPROM:o=0E000h,l=1000h VECS: o=0FF80h,l=0080h PAGE 1:SPRAM: o=0060h,l=0020h DARAM: o=0080h, l=1380h SECTIONS .text:EPROM PAGE 0 .data:EPROM PAGE 0 .

10、bss :SPRAM PAGE 1 xn :align(8) DARAM PAGE 1 a0 :align(8) DARAM PAGE 1 .vectors:VECS PAGE 0 ,系數(shù)對(duì)稱FIR濾波器實(shí)現(xiàn)的要點(diǎn)如下(N=8),1、開(kāi)辟2個(gè)循環(huán)緩沖區(qū):New和Old,長(zhǎng)度各為N/2。 2、AR2指向New緩沖區(qū)中最新的數(shù)據(jù) AR3指向Old緩沖區(qū)中最老的數(shù)據(jù) 3、在程序存儲(chǔ)器中設(shè)置系數(shù)表,4、(AR2)+(AR3)AH, (AR2)-1AR2, (AR3)-1AR3 5、設(shè)置B=0,重復(fù)計(jì)算4次(i=0,1,2,3) (AH)*系數(shù)ai+(B)B 系數(shù)指針(PAR)+1 (AR2)+(AR3

11、)AH, AR2和AR3減1 6、保存和輸出結(jié)果(結(jié)果在BH中),7、修正數(shù)據(jù)指針,讓AR2和AR3分別指向New緩沖區(qū)中最新的數(shù)據(jù)和Old緩沖區(qū)中最老的數(shù)據(jù) 8、用New數(shù)據(jù)區(qū)中最老的數(shù)據(jù)替代Old緩沖區(qū)中最老的數(shù)據(jù)。Old緩沖區(qū)指針減1 9、輸入一個(gè)新數(shù)據(jù)替代New緩沖區(qū)中最老的數(shù)據(jù) 重復(fù)執(zhí)行49步,對(duì)稱FIR濾波器(N=8)源程序清單 .title “FIR5.asm” .mmregs .def _c_int00 .bss y,1 x_new.usect “DATA1” ,4 x_old.usect “DATA2” ,4 Size .set 4 PA0 .set 0 PA1.set 1

12、.data COFF:.word 1*32768/10 .word 2*32768/10 .word 3*32768/10.word 4*32768/10,.text _c_int00:LD #y, DP SSBX FRCT STM #x_new, AR2 STM #x_old+(size-1), AR3 STM #size, BK STM # -1, AR0 PORTR PA1, #x_new FIR:ADD *AR2+0%,*AR3+0%, A RPTZ B ,#(size-1) FIRS *AR2+0%, *AR3+0%, COFF STH B, y PORTW y, PA0 MAR *

13、+AR2(2)% MAR *AR3+% MVDD *AR2, *AR3+0% BD FIR PORTR PA1, *AR2 .end,/*有限沖擊響應(yīng)(FIR)濾波器算法實(shí)驗(yàn)參考源程序 fir.asm */ HIGHPASS.set0 ;if you want to use ,please set the value to 1 BANDPASS.set0 LOWPASS.set1 .globalstart,fir .mmregs COFF_FIR_START .sect coff_fir .if LOWPASS .includelowpasslowpass.inc .elseif BANDPA

14、SS .includebandpassbandpass.inc .else .includehighpasshighpass.inc .endif K_FIR_BFFR.set32 d_data_buffer.usectfir_bfr,64 FIR_DP.usectfir_vars,0 d_filin.usectfir_vars,1 d_filout .usectfir_vars,100h output.usectfir_vars,1 .asgAR4,FIR_DATA_P .asgAR6,INBUF_P .asgAR7,OUTBUF_P .asgAR3,OUTBUF,.sectfir_prog

15、 nop start: LD#FIR_DP,DP STM#d_data_buffer,FIR_DATA_P RPTZA,#K_FIR_BFFR-1 STLA,*FIR_DATA_P+ STM#d_filin,INBUF_P STM#d_filout,OUTBUF_P STM#output,OUTBUF STM#100h,BK fir_loop: NOP ;Add Breakpoint & porbe point LD*INBUF_P,A CALLfir STHA,*OUTBUF_P+% STHA,*OUTBUF main_end: bfir_loop,fir: SSBXSXM SSBXFRCT

16、 STM#d_data_buffer,FIR_DATA_P STLA,*FIR_DATA_P STM#(d_data_buffer+K_FIR_BFFR-1), FIR_DATA_P fir_task: RPTZ A, #K_FIR_BFFR-1 MACD *FIR_DATA_P-,COFF_FIR_START, A RET .end,/* fir.cmd*/ MEMORY PAGE 0: PROG:o= 100h,l= 2000h PAGE 1: DATA1:o= 2600h, l= 1000h DATA2:o= 2100h, l= 100h DATA3:o= 2200h,l= 100h D

17、ATA4:o= 2300h,l= 100h DATA5:o= 2400h,l= 100h DATA6:o= 2500h,l= 100h SECTIONS coff_fir : PROGPAGE 0 fir_prog : PROGPAGE 0 fir_vars : DATA1PAGE 1 fir_coff : DATA2PAGE 1 fir_bfr : DATA3PAGE 1 ,問(wèn)題:,MACD 什么意思? 用什么方法實(shí)現(xiàn)FIR算法? 3.填空: K_FIR_BFFR的值:_; _data_buffer的地址:_; d_filin的地址:_; d_filout的地址:_; output的地址: _; DP的值:_。 4. 循環(huán)尋址的運(yùn)算法則?,斷點(diǎn)的使用問(wèn)題? Run和animate的區(qū)別?,MACD Smen,Pmad,src,src=src+Smen*Pmad T=Smen (Smen+1)=Smen,斷點(diǎn)的使用問(wèn)題,CCS3.3以后版本有多種類型斷點(diǎn): Halt

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論