基于dsp数字信号处理器的fir低通数字滤波器器设计内容摘要:

ilter_ANALOG_AUDIO_CTL, 0x10)。 //使能 DAC。 若为传声器输入 ,0x10,若为MIC 输入,则为 0x14 Myfilter_Config(Myfilter_DIGITAL_AUDIO_CTL, 0)。 // Turn on volume for line inputs Myfilter_Config(Myfilter_LT_LINE_CTL,0x18)。 //0x1f=12dB 最大输入 Myfilter_Config(Myfilter_RT_LINE_CTL,0x18)。 // Configure the Myfilter for master mode, 8KHz stereo, 16 bit samples // Use 12MHz USB clock Myfilter_Config(Myfilter_DIGITAL_IF_FORMAT, DIGIF_FMT_MS | DIGIF_FMT_IWL_16 | DIGIF_FMT_FOR_DSP)。 Myfilter_Config(Myfilter_SAMPLE_RATE_CTL, SRC_SR_44 | SRC_BOSR | SRC_MO)。 //USB 模式,272 次过 采样,采样率为 8k // Turn on headphone volume and digital interface Myfilter_Config(Myfilter_LT_HP_CTL, 0x7d)。 //0x7f=6dB 最大输出 Myfilter_Config(Myfilter_RT_HP_CTL, 0x7d)。 Myfilter_Config(Myfilter_DIG_IF_ACTIVATE, DIGIFACT_ACT)。 } //Myfilter 寄存 器配置 void Myfilter_Config(unsigned int regaddr, unsigned int data) { Uint16 buf[2]。 buf[0] = regaddr。 buf[1] = data。 x = I2C_write( buf, //pointer to data array 2, //length of data to be transmitted 1, //master or slaver I2C_AIC23_0, //slave address to transmit to 1, //transfer mode of operation 30000 //time out for bus busy )。 y = I2C_write( buf, //pointer to data array 2, //length of data to be transmitted 1, //master or slaver I2C_AIC23_1, //slave address to transmit to 1, //transfer mode of operation 30000 //time out for bus busy )。 } /******************************************************************************\ * End of \******************************************************************************/ include include include include Uint16 x,y。 //Myfilter 初始化函数 void Myfilter_Init() { /* Initialize I2C, using parameters in init structure */ MyI2C_Init()。 // Reset the Myfilter and turn on all power Myfilter_Config(Myfilter_RESET_REG, 0x02)。 Myfilter_Config(Myfilter_POWER_DOWN_CTL, 0)。 Myfilter_Config(Myfilter_ANALOG_AUDIO_CTL, 0x10)。 //使能 DAC。 若为传声器输入 ,0x10,若为MIC 输入,则为 0x14 Myfilter_Config(Myfilter_DIGITAL_AUDIO_CTL, 0)。 // Turn on volume for line inputs Myfilter_Config(Myfilter_LT_LINE_CTL,0x18)。 //0x1f=12dB 最大输入 Myfilter_Config(Myfilter_RT_LINE_CTL,0x18)。 // Configure the Myfilter for master mode, 8KHz stereo, 16 bit samples // Use 12MHz USB clock Myfilter_Config(Myfilter_DIGITAL_IF_FORMAT, DIGIF_FMT_MS | DIGIF_FMT_IWL_16 | DIGIF_FMT_FOR_DSP)。 Myfilter_Config(Myfilter_SAMPLE_RATE_CTL, SRC_SR_44 | SRC_BOSR | SRC_MO)。 //USB 模式,272 次过采样,采样率为 8k // Turn on headphone volume and digital interface Myfilter_Config(Myfilter_LT_HP_CTL, 0x7d)。 //0x7f=6dB 最大输出 Myfilter_Config(Myfilter_RT_HP_CTL, 0x7d)。 Myfilter_Config(Myfilter_DIG_IF_ACTIVATE, DIGIFACT_ACT)。 } //Myfilter 寄存器配置 void Myfilter_Config(unsigned int regaddr, unsigned int data) { Uint16 buf[2]。 buf[0] = regaddr。 buf[1] = data。 x = I2C_write( buf, //pointer to data array 2, //length of data to be transmitted 1, //master or slaver I2C_AIC23_0, //slave address to transmit to 1, //transfer mode of operation 30000 //time out for bus busy )。 y = I2C_write( buf, //pointer to data array 2, //length of data to be transmitted 1, //master or slaver I2C_AIC23_1, //slave address to transmit to 1, //transfer mode of operation 30000 //time out for bus busy )。 } /******************************************************************************\ * End of \******************************************************************************/ ifndef MYI2C_H_ define MYI2C_H_ // I2C Values define ICOAR_MASK_7 0x007F define ICOAR_MASK_10 0x03FF define ICSAR_MASK_7 0x007F define ICSAR_MASK_10 0x03FF define ICOAR_OADDR 0x007f define ICSAR_SADDR 0x0050 define I2C_SROM 0x0050 define I2C_AIC23_0 0x001A //AIC23 的 I2C 地址 define I2C_AIC23_1 0x001B //修改地址 define I2C_ADS7823 0x0048 define ICSTR_BB 0x1000 define ICSTR_RSFULL 0x0800 define ICSTR_XSMT 0x0400 define ICSTR_AAS 0x0200 define ICSTR_AD0 0x0100 define ICSTR_ICXRDY 0x0010 define ICSTR_ICRRDY 0x0008 define ICSTR_ARDY 0x0004 define ICSTR_NACK 0x0002 define ICSTR_AL 0x0001 define ICMDR_FREE 0x4000 define ICMDR_STT 0x2020 define ICMDR_IDLEEN 0x1000 define ICMDR_STP 0x0800 define ICMDR_MST 0x0400 define ICMDR_TRX 0x0200 define ICMDR_XA 0x0100 define ICMDR_RM 0x0080 define ICMDR_DLB 0x0040 define ICMDR_IRS 0x0020 define ICMDR_STB 0x0010 define ICMDR_FDF 0x0008 define ICMDR_BC_MASK 0x0007 void MyI2C_Init(void)。 //I2C 初始化函数 endif /*MYI2C_H_*/ ifndef MYSYSCONFIG_H_ define MYSYSCONFIG_H_ include include include include define TIMER_CTRL TIMER_TCR_RMK(\ TIMER_TCR_IDLEEN_DEFAULT, /* IDLEEN == 0 */ \ TIMER_TCR_FUNC_OF(0), /* FUNC == 0 */ \ TIMER_TCR_TLB_RESET, /* TLB == 1 */ \ TIMER_TCR_SOFT_BRKPTNOW, /* SOFT == 0 */ \ TIMER_TCR_FREE_WITHSOFT, /* FREE == 0 */ \ TIMER_TCR_PWID_OF(0), /* PWID == 0 */ \。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。