⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 audio.c

📁 这是基于dsp来实现语音算法的一个程序
💻 C
📖 第 1 页 / 共 2 页
字号:
/*
;***********************************************************************
;*				  						 北京达盛科技有限公司
;*                                     	    研    发    部
;*
;*                                 	http://www.techshine.com
;*
;*--------------------------------------------- 文件信息 ---------------                                      
;*
;* 文件名称 : AUDIO.C	
;* 文件功能 : 该文件为测试TLV320AIC23的测试程序,CPU=TMS320VC5402
;*            MCLK = 12.288 MHz,TLV320AIC23=MASTER
;* 接口说明:MCBSP0配置成SPI方式,设置TLV320AIC23的寄存器,
;*           MCBSP1配置成32位方式,和TLV320AIC23交换数据
*/
//------------------头文件--------------------------------------

//#include "MMRegs.h"
#include "DspRegDefine.h"
#include "System.h"
#include "G711.h"
#include "stdio.h"
#include "math.h"
#include "stdlib.h"
//#include "typedef.h"
//---------------------------------------------------------------
/*    ****************** 宏定义 ***************
************************************************************
*/
       	 


#define UCHAR  				unsigned char
#define UINT16 				unsigned int
#define UINT32 				unsigned long

#define TRUE     			1
#define FALSE    			0
#define		Length	128
#define  N   1024
#define  M   7
#define  pi  3.1415
/*
************************************************************
	****************** 全局变量*******************
************************************************************
*/
	UINT16  read_data2,read_data1,read_temp;    //MCBSP1 接收数据变量
	UINT16  write_data2,write_data1,write_temp;  //MCBSP1 发送数据变量
	UINT16  readaudio1[256],readaudio2[256];//MCBSP1 接收数据变量数组
	UCHAR   flag;
	UINT16  caiyang1[M][N]; //,caiyang2[M][N]
//double fs,nlpass,nlstop,nhpass,nhstop,a[3],b[3];
 //int   x1,x2,y1,y2;
 	
//	UINT16  *pp=*(UINT16*)0x10000;
	
/*
**********************************************************************
          *************** 所使用的函数原型 *****************
**********************************************************************
*/

void cpu_init(void); //初始化CPU

void aic23_init(void);//初始化TLV320AIC23,设置内部寄存器

void mcbsp0_write_rdy(UINT16 out_data);//MCBSP0发送一个数据

void mcbsp0_init_SPI(void);//MCBSP0设置为SPI模式

void mcbsp0_close(void);//MCBSP0关闭

void mcbsp1_init(void);//MCBSP1初始化

void mcbsp1_write_rdy(UINT16 out_data1,UINT16 out_data2);//MCBSP1发送一个数据32位

void mcbsp1_read_rdy(void);////MCBSP1接收一个数据32位

void mcbsp1_open(void);//MCBSP1打开

void mcbsp1_close(void);//MCBSP1关闭

interrupt void mcbsp1_read(void);//MCBSP1中断接收数据

interrupt void mcbsp1_write(void); //MCBSP1中断发送数据

interrupt void int1() ;
void Delay(int numbers);       //延迟
//void biir2lpdes(double fs, double nlpass, double nlstop, double a[], double b[])  ;
/*
************************************************************************
			*********************** 函数定义 ******************
************************************************************************
*/

//--------------------------------------------------------------------
// 函数名称 : void cpu_init(void)
// 函数说明 : 初始化CPU
// 输入参数 : 无
// 输出参数 : 无
//--------------------------------------------------------------------
void cpu_init(void)

{

	asm(" nop ");
	asm(" nop ");
	asm(" nop ");

//--------------------------------------------------------------------	
   *(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
//--------------------------------------------------------------------



	
	*(unsigned int*)PMST=0x3FF2;
	
//---------------------------------------------------------------------	

//--------------------------------------------------------------------	
	*(unsigned int*)SWWSR=0x7fff;
//--------------------------------------------------------------------

	*(unsigned int*)SWCR=0x0001;
//--------------------------------------------------------------------

   *(unsigned int*)BSCR=0xf800;
//--------------------------------------------------------------------

	asm(" ssbx intm "); //Disable all mask interrupts 
//--------------------------------------------------------------------
	
	*(unsigned int*)IMR=0x0;
//--------------------------------------------------------------------

	*(unsigned int*)IFR=0xffff;
//--------------------------------------------------------------------
    asm(" nop ");
	asm(" nop ");
	asm(" nop ");
	
} 

//--------------------------------------------------------------------

/*
*************************************************************************
- 函数名称 : void aic23_init(void)
- 函数说明 : 初始化AIC23
- 输入参数 : 无
- 输出参数 : 无
- 补充说明 : 
**************************************************************************
*/

void aic23_init(void)

{

  mcbsp0_write_rdy(0x1e00);  //REG10  RESET AIC23
  asm(" nop ");              //Address  (bits 15-9) 0001111
                             //RES      (bits 8-0)         000000000 
                             //-----0001 1110 0000 0000
                             
  mcbsp0_write_rdy(0x0117);  //REG0   Left line input channel volume control 
  asm(" nop ");              //Address  (bits 15-9) 0000000 
                             //LRS      (bits 8)           1          Left/right line simultaneous volume/mute update Enabled
                             //LIM      (bits 7)            0         Left line input mute 0 = Normal
                             //XX       (bits 6-5)           00       Reserved
                             //LIV[4:0] (bits 4-0)              10111 Left line input volume control (10111 = 0 dB default)
                             //-----0000 0001 0001 0111
                              
  mcbsp0_write_rdy(0x0317);  //REG1  Right Line Input Channel Volume Control
  asm(" nop ");              //Address  (bits 15-9) 0000001 
                             //RRS      (bits 8)           1          Left/right line simultaneous volume/mute update Enabled
                             //RIM      (bits 7)            0         Left line input mute 0 = Normal
                             //XX       (bits 6-5)           00       Reserved
                             //RIV[4:0] (bits 4-0)              10111 Left line input volume control (10111 = 0 dB default)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -