1、实验八语音处理实验2*;* 北京达盛科技有限公司;* 研 发 部;*;* ;*;*- 文件信息 8-2- ;*;* 文件名称 : AUDIO.C ;* 文件功能 : 该文件为测试TLV320AIC23的测试程序,CPU=TMS320VC5402;* MCLK = 12.288 MHz,TLV320AIC23=MASTER;* 接口说明:MCBSP0配置成SPI方式,设置TLV320AIC23的寄存器,;* MCBSP1配置成32位方式,和TLV320AIC23交换数据*/-头文件-/#include MMRegs.h#include DspRegDefine.h#include stdio.h
2、#include math.h/-/* * 宏定义 */ #define UCHAR unsigned char#define UINT16 unsigned int#define UINT32 unsigned long#define TRUE 1#define FALSE 0#define pi 3.1415926/* * 全局变量*/ int read_data2,read_data1; /MCBSP1 接收数据变量 int write_data2,write_data1; /MCBSP1 发送数据变量 UINT16 readaudio1256,readaudio2256;/MCBSP1
3、 接收数据变量数组 UCHAR flag; int in256, out256; /输入原始数据、输出处理后的数据 double fs = 8000; /采样频率 double nlpass = 0.028; /通带截止频率 double nlstop = 0.228; /阻带起始频率 double a3,b3,x,y; /滤波器参数/* * 所使用的函数原型 */void cpu_init(void); /初始化CPUvoid aic23_init(void);/初始化TLV320AIC23,设置内部寄存器void mcbsp0_write_rdy(UINT16 out_data);/MCB
4、SP0发送一个数据void mcbsp0_init_SPI(void);/MCBSP0设置为SPI模式void mcbsp0_close(void);/MCBSP0关闭void mcbsp1_init(void);/MCBSP1初始化void mcbsp1_write_rdy(int out_data1,int out_data2);/MCBSP1发送一个数据32位void mcbsp1_read_rdy(void);/MCBSP1接收一个数据32位void mcbsp1_open(void);/MCBSP1打开void mcbsp1_close(void);/MCBSP1关闭interrup
5、t void mcbsp1_read(void);/MCBSP1中断接收数据interrupt void mcbsp1_write(void); /MCBSP1中断发送数据void Delay(int numbers); /延迟void biir2lpdes(double fs, double nlpass, double nlstop, double a, double b);/巴特沃斯低通滤波器参数计算程序/* * 函数定义 */-/ 函数名称 : void cpu_init(void)/ 函数说明 : 初始化CPU/ 输入参数 : 无/ 输出参数 : 无/-void cpu_init(v
6、oid) asm( nop ); asm( nop ); asm( nop );/- /CLKMD DEFINITIONS: / PLLMUL (bit 15-12) - 0000 PLL multiplier = 0 (mult by 1)/ PLLDIV (bit 11) - 0 PLL divider = 0 (div by 1)/ PLLCOUNT (bit 10-3)- 11111111 PLL counter set to max/ PLLONOFF (bit 2) - 1 PLL on/ PLLNDIV (bit 1) - 1 Select PLL mode/ PLLSTATUS
7、 (bit 1) - x PLL Status (read only)/ -/ 0000011111111111 = 0x07ff CLKMD=1 X CLKIN/- *(unsigned int*)CLKMD=0x0; /switch to DIV mode clkout= 1/2 clkin while(*(unsigned int*)CLKMD)&01)!=0); *(unsigned int*)CLKMD=0x07ff; /switch to PLL X 1 mode/-/ ST0 DEFINITIONS:/ ARP (bit 15-13) - 000 Auxiliary regist
8、er pointer/ TC (bit 12) - 1 Test/control flag/ C (bit 11) - 1 Carry is set to 1 if the result of an addition generates a carry; it is cleared to 0 if the/ result of a subtraction generates a borrow./ OVA (bit 10) - 0 Overflow flag for accumulator A/ OVB (bit 9) - 0 Overflow flag for accumulator B/ D
9、P (bit 8-0) - 00000000 Data-memory page pointer/ -/ 0001 1000 0000 0000 =0x1800 Reset value/-/ *(unsigned int*)ST0=0x1800; /-/ ST1 DEFINITIONS:/ BRAF (bit 15) - 0 Block-repeat active flag / CPL (bit 14) - 1 Compiler mode CPL=0 DP;CPL=1 SP/ XF (bit 13) - 1 XF status/ HM (bit 12) - 0 Hold mode/ INTM (
10、bit 11) - 1 Interrupt mode INTM=0,All unmasked interrupts are enabled/ Reser (bit 10) - 0 Always read as 0/ OVM (bit 9) - 0 Overflow mode/ SXM (bit 8) - 1 Sign-extension mode/ C16 (bit 7) - 0 Dual 16-Bit/double-precision arithmetic mode/ FRCT (bit 6) - 0 Fractional mode/ CMPT (bit 5) - 0 Compatibility mode/ ASM (bit 4-0) - 00000 Accumulator shift mode/ -/ 0110 1001 0000 0000 =0x2900 Reset value/-/ *(unsigned int*)ST1=0x6900;/-
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1