基于DSP和ARM的音频处理系统设计

[10-10 20:38:44]   来源:http://www.88dzw.com  电子制作   阅读:8407

文章摘要:AIC23的11个控制寄存器相关设置的详细描述参见文献2。这里的设置为:左右声道线路输入静音;耳机左右声道音量为6dB;使能DAC,麦克风音量为20dB作为ADC输入;使能ADC高通滤波;芯片各部分电路供电使能;芯片工作在主模式,采样数据长度16位,采用DSP数据格式(同步帧后跟随两个数据字);采样率88.2KHz(外部晶振为11.2896MHz);使能数字接口。 对AIC23编程时的I2C总线时序如图2所示。设置好I2C的时钟频率后,首先发送开始条件(SCLK为高电平时,SDI从高电平向低电平切换),然后发送AIC23的器件地址,器件地址发出后发送AIC23相应寄存器的地址,再发送对该

基于DSP和ARM的音频处理系统设计,标签:电子小制作,http://www.88dzw.com

  AIC23的11个控制寄存器相关设置的详细描述参见文献2。这里的设置为:左右声道线路输入静音;耳机左右声道音量为6dB;使能DAC,麦克风音量为20dB作为ADC输入;使能ADC高通滤波;芯片各部分电路供电使能;芯片工作在主模式,采样数据长度16位,采用DSP数据格式(同步帧后跟随两个数据字);采样率88.2KHz(外部晶振为11.2896MHz);使能数字接口。

    对AIC23编程时的I2C总线时序如图2所示。设置好I2C的时钟频率后,首先发送开始条件(SCLK为高电平时,SDI从高电平向低电平切换),然后发送AIC23的器件地址,器件地址发出后发送AIC23相应寄存器的地址,再发送对该寄存器设置的数据,最后发送停止条件(SCLK为高电平时,SDI从低电平向高电平切换)。注意,这里的寄存器地址为7位,寄存器数据为9位,而I2C总线以字节为单位传送数据。因此在对AIC23的寄存器编程时,第一个字节包括了前7位的寄存器地址B15-B9以及设置数据的最高位B8,第二个字节为设置数据的后8位B7-B0。

I2C时序

  图2  I2C时序

3.2  音频数据采集与播放

  初始化AIC23后,再初始化DSP以及McBSP0,之后进行音频数据的采集与播放。通过麦克风采集语音信号,经过数字滤波处理后由耳机输出。使用McBSP0的接收中断保存数据,通过FIR数字滤波子程序处理音频数据。程序流程如图3所示。

音频数据处理程序流程图

  图3  音频数据处理程序流程图

  初始化McBSP0使其与AIC23协调工作,这里要根据硬件设计和软件要求来配置McBSP0的各个控制寄存器。本系统中串口的主要设置为:接收数据右对齐,带符号扩展;接收中断使能;由片外提供发送、接收帧信号和发送、接收时钟信号;发送、接收帧同步信号低电平有效;在时钟上升沿采样发送、接收数

据;每帧发送、接收两个16位字数据[6]。

  数据接收部分可在DSP中断程序中用如下语句实现:

  mvkd      drr10,*ar5                    ;保存数据

  pshd       *ar5+%                 ;数据压入堆栈

  popd       new_ad                 ;从堆栈弹出数据到自定义的寄存器

  FIR滤波的相关程序如下:

  ld     new_ad,a               ;新数据加载至累加器

  stm  #1,ar0                          ;双操作数增量

  stm  #N,bk                          ;设置循环缓冲区长度,即FIR滤波级数(N为滤波级数)

  stl    a,*ar3+%                     ;新数据送至ar3指向的缓冲区

上一页  [1] [2] [3]  下一页


Tag:电子制作电子小制作维修教程知识 - 电子制作