ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:19.27KB ,
资源ID:5769838      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5769838.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(DSP 5509音频信号低通滤波.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

DSP 5509音频信号低通滤波.docx

1、DSP 5509音频信号低通滤波#include #include #include #include #include #include #include #include #include #include #include /#include hamming30fdacoefs.h#include hamming30hipsfdacoefs.h /30 points hamming window high pass FIR#include bandpass101fdacoefs.h /101 points bandpass FIR, 300Hz-1.5kHz / #include eq1

2、10fdacoefs.h/ #include eq110hifdacoefs.h/ #define PI 3.14159265358979323846 / PI value/ #define CONV 32767.999999 / Q15- float conversion value = 215- 21-15 #define CODEC_ADDR 0x1A / AIC23 I2C address#define ST1_55 *(int *)0x03#define ST3_55 *(int *)0x04#define LBDS1 (*(unsigned int *)0x600400)#defi

3、ne keyboard (*(unsigned int *)0x600C00)#define GPIO_SEL (*(unsigned int *)0x400000)#define hNX 1 / Fir input data length/ #define NH 31unsigned int uLED10=0x0db,0x50,0x6b,0x73,0xf0,0x0b3,0x0bb,0x51,0x0fb,0x0f3;DATA *aic23data,*voicedata; / voice input & output data pointerDATA *dbptr /* = &db0 */; /

4、 lopass fliter bufferDATA *dbptrhi; / hipass fliter buffer/ void Delay(unsigned int nDelay); / 延时子程序void aic_init(); / init aic23unsigned int time=0;unsigned int temp_key,temp_key1,firflag; / key buffer & fliter select flag/*/void delay(Uint32 k) / true delay func while(k-);/*/void dealkey() / key f

5、unc temp_key=keyboard; / read key data temp_key=temp_key & 0x00ff; if(0xff!=temp_key) / compare temp_key1=temp_key; delay(150); temp_key=keyboard; temp_key=temp_key & 0x00ff; if(temp_key = temp_key1) /time+; /keycodetime=temp_key; switch(temp_key) case 0x0fb: LBDS1=0x75; / L / recordflag=1; firflag

6、= 0; /0: low pass break; case 0x0f7: LBDS1=0x56; / replayflag=1; break; case 0x0ef: LBDS1=0x07; / H / stopflag=1; firflag = 1; /1: high pass break; case 0x0df: LBDS1=0; / overflag=1; break; case 0x0bf: LBDS1=0x0ff-uLED5; /LED just for fun break; case 0x07f: LBDS1=0x0ff-uLED6; break; case 0x0fd: LBDS

7、1=0x0ff-uLED7; break; case 0x0fe: LBDS1=0x0ff-uLED8; break; default:break; /*/*/*/*锁相环的设置*/PLL_Config myConfig = 0, /IAI: the PLL locks using the same process that was underway /before the idle mode was entered 1, /IOB: If the PLL indicates a break in the phase lock, /it switches to its bypass mode

8、and restarts the PLL phase-locking /sequence 24, /PLL multiply value; multiply 24 times 1 /Divide by 2 PLL divide value; it can be either PLL divide value /(when PLL is enabled), or Bypass-mode divide value /(PLL in bypass mode, if PLL multiply value is set to 1);EMIF_Config emiffig = 0x221, /EGCR :

9、 the MEMFREQ = 00,the clock for the memory is equal to cpu frequence / the WPE = 0 ,forbiden the writing posting when we debug the EMIF / the MEMCEN = 1,the memory clock is reflected on the CLKMEM pin / the NOHOLD = 1,HOLD requests are not recognized by the EMIF 0xFFFF, /EMI_RST: any write to this r

10、egister resets the EMIF state machine 0x3FFF, /CE0_1: CE0 space control register 1 / MTYPE = 011,Synchronous DRAM(SDRAM),16-bit data bus width 0xFFFF, /CE0_2: CE0 space control register 2 0x00FF, /CE0_3: CE0 space control register 3 / TIMEOUT = 0xFF; 0x3FFF, /CE1_1: CE0 space control register 1 0xFF

11、FF, /CE1_2: CE0 space control register 2 0x00FF, /CE1_3: CE0 space control register 3 0x1FFF, /CE2_1: CE0 space control register 1 0xFFFF, /CE2_2: CE0 space control register 2 0x00FF, /CE2_3: CE0 space control register 3 0x1FFF, /CE3_1: CE0 space control register 1 0xFFFF, /CE3_2: CE0 space control

12、register 2 0x00FF, /CE3_3: CE0 space control register 3 0x2911, /SDC1: SDRAM control register 1 / TRC = 8 / SDSIZE = 0;SDWID = 0 / RFEN = 1 / TRCD = 2 / TRP = 2 0x0410, /SDPER : SDRAM period register / 7ns *4096 0x07FF, /SDINIT: SDRAM initialization register / any write to this register to init the

13、all CE spaces, / do it after hardware reset or power up the C55x device 0x0131 /SDC2: SDRAM control register 2 / SDACC = 0; / TMRD = 01; / TRAS = 0101; / TACTV2ACTV = 0001; ;MCBSP_Config Mcbsptest;/*McBSP set,we use mcbsp1 to send and recieve the data between DSP and AIC23*/MCBSP_Config Mcbsp1Config

14、 = MCBSP_SPCR1_RMK( MCBSP_SPCR1_DLB_OFF, /* DLB = 0,禁止自闭环方式 */ MCBSP_SPCR1_RJUST_LZF, /* RJUST = 2 */ MCBSP_SPCR1_CLKSTP_DISABLE, /* CLKSTP = 0 */ MCBSP_SPCR1_DXENA_ON, /* DXENA = 1 */ 0, /* ABIS = 0 */ MCBSP_SPCR1_RINTM_RRDY, /* RINTM = 0 */ 0, /* RSYNCER = 0 */ MCBSP_SPCR1_RRST_DISABLE /* RRST = 0

15、 */ ), MCBSP_SPCR2_RMK( MCBSP_SPCR2_FREE_NO, /* FREE = 0 */ MCBSP_SPCR2_SOFT_NO, /* SOFT = 0 */ MCBSP_SPCR2_FRST_FSG, /* FRST = 0 */ MCBSP_SPCR2_GRST_CLKG, /* GRST = 0 */ MCBSP_SPCR2_XINTM_XRDY, /* XINTM = 0 */ 0, /* XSYNCER = N/A */ MCBSP_SPCR2_XRST_DISABLE /* XRST = 0 */ ), /*单数据相,接受数据长度为16位,每相2个数

16、据*/ MCBSP_RCR1_RMK( MCBSP_RCR1_RFRLEN1_OF(1), /* RFRLEN1 = 1 */ MCBSP_RCR1_RWDLEN1_16BIT /* RWDLEN1 = 2 */ ), MCBSP_RCR2_RMK( MCBSP_RCR2_RPHASE_SINGLE, /* RPHASE = 0 */ MCBSP_RCR2_RFRLEN2_OF(0), /* RFRLEN2 = 0 */ MCBSP_RCR2_RWDLEN2_8BIT, /* RWDLEN2 = 0 */ MCBSP_RCR2_RCOMPAND_MSB, /* RCOMPAND = 0 */

17、MCBSP_RCR2_RFIG_YES, /* RFIG = 0 */ MCBSP_RCR2_RDATDLY_1BIT /* RDATDLY = 1 */ ), MCBSP_XCR1_RMK( MCBSP_XCR1_XFRLEN1_OF(1), /* XFRLEN1 = 1 */ MCBSP_XCR1_XWDLEN1_16BIT /* XWDLEN1 = 2 */ ), MCBSP_XCR2_RMK( MCBSP_XCR2_XPHASE_SINGLE, /* XPHASE = 0 */ MCBSP_XCR2_XFRLEN2_OF(0), /* XFRLEN2 = 0 */ MCBSP_XCR2

18、_XWDLEN2_8BIT, /* XWDLEN2 = 0 */ MCBSP_XCR2_XCOMPAND_MSB, /* XCOMPAND = 0 */ MCBSP_XCR2_XFIG_YES, /* XFIG = 0 */ MCBSP_XCR2_XDATDLY_1BIT /* XDATDLY = 1 */ ), MCBSP_SRGR1_DEFAULT, MCBSP_SRGR2_DEFAULT, MCBSP_MCR1_DEFAULT, MCBSP_MCR2_DEFAULT, MCBSP_PCR_RMK( MCBSP_PCR_IDLEEN_RESET, /* IDLEEN = 0 */ MCBS

19、P_PCR_XIOEN_SP, /* XIOEN = 0 */ MCBSP_PCR_RIOEN_SP, /* RIOEN = 0 */ MCBSP_PCR_FSXM_EXTERNAL, /* FSXM = 0 */ MCBSP_PCR_FSRM_EXTERNAL, /* FSRM = 0 */ 0, /* DXSTAT = N/A */ MCBSP_PCR_CLKXM_INPUT, /* CLKXM = 0 */ MCBSP_PCR_CLKRM_INPUT, /* CLKRM = 0 */ MCBSP_PCR_SCLKME_NO, /* SCLKME = 0 */ MCBSP_PCR_FSXP

20、_ACTIVEHIGH, /* FSXP = 0 */ MCBSP_PCR_FSRP_ACTIVEHIGH, /* FSRP = 1 */ MCBSP_PCR_CLKXP_FALLING, /* CLKXP = 1 */ MCBSP_PCR_CLKRP_RISING /* CLKRP = 1 */ ), MCBSP_RCERA_DEFAULT, MCBSP_RCERB_DEFAULT, MCBSP_RCERC_DEFAULT, MCBSP_RCERD_DEFAULT, MCBSP_RCERE_DEFAULT, MCBSP_RCERF_DEFAULT, MCBSP_RCERG_DEFAULT,

21、MCBSP_RCERH_DEFAULT, MCBSP_XCERA_DEFAULT, MCBSP_XCERB_DEFAULT, MCBSP_XCERC_DEFAULT, MCBSP_XCERD_DEFAULT, MCBSP_XCERE_DEFAULT, MCBSP_XCERF_DEFAULT, MCBSP_XCERG_DEFAULT, MCBSP_XCERH_DEFAULT; MCBSP_Handle hMcbsp;/* This next struct shows how to use the I2C API */* Create and initialize an I2C initializ

22、ation structure */I2C_Setup I2Cinit = 0, /* 7 bit address mode */ 0, /* own address - dont care if master */ 7, /* clkout value (Mhz) */ 400, /* a number between 10 and 400*/ 0, /* number of bits/byte to be received or transmitted (8)*/ 0, /* DLB mode on*/ 1 /* FREE mode of operation on*/;I2C_Config

23、 testI2C; /all config bit zero, it works / I2C: addr 7bit + data 9bit/*数字音频接口格式设置 / see tlv320a23b datasheetAIC23为主模式,数据为DSP模式,数据长度16位*/ Uint16 digital_audio_inteface_format2=0x0e,0x53;/*AIC23的波特率设置,0x23采样率为44.1K,0x0c采样率为8K*/Uint16 sample_rate_control2 = 0x10,0x0c;/*AIC23寄存器复位*/Uint16 reset2 =0x1e,0

24、x00;/*AIC23节电方式设置,所有部分均所与工作状态*/Uint16 power_down_control2 =0x0c,0x01;/*AIC23模拟音频的控制DAC使能,ADC输入选择为MIC*/Uint16 analog_aduio_path_control2 =0x08,0x14;/*AIC23数字音频通路的控制*/Uint16 digital_audio_path_control2 =0x0a,0x05;/*AIC23数字接口的使能*/Uint16 digital_interface_activation2 =0x12,0x01;/*AIC23左通路音频调节*/ Uint16 l

25、eft_line_input_volume_control2 =0x00,0x17;/*AIC23右通路音频调节*/ Uint16 right_line_input_volume_control2 =0x02,0x17;/*AIC23耳机左通路音频调节*/Uint16 left_headphone_volume_control2 =0x05,0x79;/*AIC23耳机右通路音频调节*/Uint16 right_headphone_volume_control2 = 0x07,0x79;/*定义McBSP的句柄*/Uint16 i2c_status;/Uint16 temp;/Uint16 n

26、in=0,bcount=0;/long dec_sour,dec_temp;void main(void) i2c_status = 1; / i2c status CSL_init(); / init csl CHIP_RSET(XBSR,0x0a01); GPIO_RSET(IODIR,0xFF); /*设置系统的运行速度为144MHz*/ PLL_config(&myConfig); EMIF_config(&emiffig); /set sdram dbptr = (short *)0x021000; /point to sdram dbptrhi = (short *)0x02200

27、0; I2C_RSET(I2CMDR,0); /*设置预分频寄存器,I2C的mode clock is 12MHz*/ delay(100); I2C_RSET(I2CSAR,0x001A); I2C_RSET(I2CMDR,0x0620); I2C_setup(&I2Cinit); /*设置的Mater clock*/ I2C_RSET(I2CCLKL,100); I2C_RSET(I2CCLKH,100); I2C_getConfig(&testI2C); /*初始化McBSP1*/ hMcbsp = MCBSP_open(MCBSP_PORT1,MCBSP_OPEN_RESET); /*设置McBSP0*/ MCBSP_config(hMcbsp,&Mcbsp1Config); /*启动McBSP0*/ MCBSP_start(hMcbsp, MCBSP_RCV_START | MC

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1