11数据采集与FIR滤波处理.DOC

上传人:国*** 文档编号:965872 上传时间:2018-11-09 格式:DOC 页数:18 大小:137.50KB
下载 相关 举报
11数据采集与FIR滤波处理.DOC_第1页
第1页 / 共18页
11数据采集与FIR滤波处理.DOC_第2页
第2页 / 共18页
11数据采集与FIR滤波处理.DOC_第3页
第3页 / 共18页
11数据采集与FIR滤波处理.DOC_第4页
第4页 / 共18页
11数据采集与FIR滤波处理.DOC_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、实验 11数据采集与 FIR 滤波处理实验11利用TS201-EZ-KIT板的硬件资源,完成对信号的采样和滤波分析。 本实验中提供的基本FIR滤波器程序,初始化不同的FIR滤波器的系数来设计出不同的滤波器。通过这个实验加深对数字滤波这种信号处理的方法的理解。1实验五测试程序简介) 程序结构:程序包括主函数 mainA.c()、mainB.c() 、 inita( )、Init_audio()、InitCoeffs()和 audio_int( )等 6 个程序模块,以及常数和宏定义、全局变量定义部分。由于实验板上有主从两块 DSP,根据出厂设置 DSPA 为主 DSP,DSPB 为从 DSP,所

2、以本实验板一般兜采用了 DSPA 来处理数据,当然用户也可以自己设置主从 DSP。其中mainA.c()函数完成程序的控制,InitCoeffs()完成滤波器系数的初始化设置,Init_audio()实现滤波器各参数的初始化(主要是滤波器参数 state 的获取,为后面的滤波函数准备必备参数) ,inita( )完成 TS201 系统寄存器等的初始化和设置中断使能以及传输模块 TCB 的设置、DMA 的使能启动等待 DMA 中断的到来,audio_int( )执行中断以完成数据采集和计算。) 程序工作流程:mainA.c()先调用 InitCoeffs()完成滤波器系数的初始化设置,再调用In

3、it_audio()获取滤波器参数 state,接着调用 inita( )完成 TS201 系统寄存器等的初始化和设置中断使能以及传输模块 TCB 的设置、DMA 的使能启动等待 DMA 中断的到来,再调用 audio_int( )执行中断以完成数据采集和计算,在中断服务程序中,调用子函完成对信号的采集、滤波和输出,运行模式是:采样FIR 运算 输出采样 的无限循环。) 数据源选择:变量 Process_Stat 为采集状态标志位,若 Process_Stat=Sample_state,则从 CODEC 取采样数据存入 Inputbuf,当采集到 256 个数据后,程序会自动设置Process

4、_Stat=Filter_state,即进入数据处理阶段; 当 Process_Stat=Filter_state 时,则对 Inputbuf中的数据进行滤波,然后输出, 。) 滤波类型:通过滤波器类型变量 filter=1,设定滤波类型为低通。滤波器的参数都放在数组变量 hFIR_TAPS中。数据经过 FIR 滤波器后,可以通过 PLOT 存储器变量观察相应的数据。实验五的程序位于 FIR子目录 ,打开工程文件FIR.DPJ,可以看到演示软件包括以下几个程序模块:1) Cache_macros.h */*-the execution of the cache commands is fini

5、shed whenthe bit 16 of the corresponding status registers is 0-the macro wait_cache waits until the cache commandhas finished the execution-the 5 nops introduced at the end of the macro keepthe pipeline clean of eventual cache commands. Thesecache commands may stall the processor when executedbefore

6、 one cache command is ended*/#define wait_cache(CASTAT) .align_code 4; _chk_castat?: xr0 = CASTAT; xbitest r0 by CASTAT_COM_ACTIVE_P; .align_code 4; if nxseq, jump _chk_castat? (NP);nop;nop;nop; nop;nop;nop;nop;nop;/*-the macro test_cache_enabled tests the bit14 of thecache status registers. If this

7、 bit is 1, the cache is enabledand PC jumps to the following tasks. Otherwise,the cache must be invalidated and then enabled*/#define test_cache_enabled(CASTAT, jump_label)xr0 = CASTAT; xbitest r0 by CASTAT_ENBL_P; if nxseq, jump jump_label (NP); nop;nop;nop;nop;nop;/*-the macro invalidate invalidat

8、es the cache. To enablethe cache, it must be first invalidated. This operationbasically cleans the cache.*/#define invalidate(CCAIR, CACMD, CASTAT) j0 = j31 + 0; CCAIR = j0; j0 = j31 + CACMD_INV | (127 #if !defined(_PASSTHROUGHDEF_H_)#define _PASSTHROUGHDEF_H_/- DMA TCB Chaining Structure -typedef s

9、truct long DI, DX, DY, DP; TCBChain;/* Externs *extern void inita( void );extern void InitCoeffs(void);extern void Init_audio(void); #define FIR_TAPS 256#define Sample_state 0#define Filter_state1extern float InputbufFIR_TAPS;extern float OutputbufFIR_TAPS;extern float OutputbufresultFIR_TAPS;extern

10、 float delayFIR_TAPS;extern float coeffsFIR_TAPS;extern fir_state state;extern int Process_Stat;/*#endif /_PASSTHROUGHDEF_H_3) TSEZKITDef.h /*/ Generic defines for the TigerSHARC ADSP-TS201 EZ-Kit/ TSEZKitDef.h/*#if !defined(_TSEZKITDEF_H_)#define _TSEZKITDEF_H_/* FLAG Defines */MODIFIED#define SER_

11、ENBL FLAGREG_FLAG3_OUT / Serial enable flag MASK for C/MODIFIED#define SER_ENBL_P FLAGREG_FLAG3_OUT_P / Serial enable flag Bit Pos for ASM/* Board Memory Map Defines */#define CODEC 0x0c000000#define CODEC 0x38000000/*#endif /_TSEZKITDEF_H_4) MainA.C /*/ Main code for the TigerSHARC EZ-Kit/ Audio Pa

12、ss Through example in C/ MainA.c/*/* Includes *#include #include #include #include asm(“#include “);asm(“#include “);/* Main Code *void main( void )/* for TS201, at the beginning of the program thecache must be enabled. The procedure is contained in thecache_enable macro that uses the refresh rate a

13、s input parameter-if CCLK=500MHz, refresh_rate=750-if CCLK=400MHz, refresh_rate=600-if CCLK=300MHz, refresh_rate=450-if CCLK=250MHz, refresh_rate=375 */asm(“cache_enable(750);“); / Enable cache for ADSP-TS201 EZ-KITInitCoeffs();Init_audio();inita(); / Initwhile(1) / And wait in infinite loop/*5) Var

14、iablesa /*/ Variable definitions for the TigerSHARC EZ-Kit DSP A/ Audio Pass Through example in C/ Variablesa.c/*/* Includes *#include #include “TSEZKitDef.h“#include “PassThroughDef.h“/* Audio Receive and Transmit *volatile long ReadDataLeft, ReadDataRight, WriteDataLeft, WriteDataRight;/* TCBs *#p

15、ragma align 4TCBChain XmitDMALSourceTCB = / Xmit Left Source(long) #pragma align 4TCBChain XmitDMALDestinTCB = / Xmit Left DestinationCODEC, / DI: To CODEC0x00010000, / DX: Count = 1, Modify irrelevant0, / DY: irrelevant0 / DP: Set in the source code;#pragma align 4TCBChain XmitDMARSourceTCB = / Xmi

16、t Right Source(long) #pragma align 4TCBChain XmitDMARDestinTCB = / Xmit Right DestinationCODEC, / DI: To CODEC0x00010000, / DX: Count = 1, Modify irrelevant0, / DY: irrelevant0 / DP: Set in the source code;#pragma align 4TCBChain RcveDMALSourceTCB = / Rcve Left SourceCODEC, / DI: From CODEC0x0001000

17、0, / DX: Count = 1, Modify irrelevant0, / DY: irrelevant0 / DP: Set in the source code;#pragma align 4TCBChain RcveDMALDestinTCB = / Rcve Left Destination(long) #pragma align 4TCBChain RcveDMARSourceTCB = / Rcve Right SourceCODEC, / DI: From CODEC0x00010000, / DX: Count = 1, Modify irrelevant0, / DY

18、: irrelevant0 / DP: Set in the source code;#pragma align 4TCBChain RcveDMARDestinTCB = / Rcve Right Destination(long) /*6) Inita/*/ Init routine for the TigerSHARC EZ-Kit DSP A/ Audio Pass Through example in C/ Inita.c/*/* Includes *#include #include #include #include #include #include “TSEZKitDef.h

19、“#include “PassThroughDef.h“/* Externs *extern TCBChain XmitDMALSourceTCB, XmitDMALDestinTCB, XmitDMARSourceTCB, XmitDMARDestinTCB,RcveDMALSourceTCB, RcveDMALDestinTCB, RcveDMARSourceTCB, RcveDMARDestinTCB;/* Function declares *void audio_int();void SetTCB0(long DI_Source, long DX_Source, long DY_Source, long DP_Source,long DI_Destin, long DX_Destin, long DY_Destin, long DP_Destin);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 1

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。