打印

DSP与aic23b进行数字语音处理

[复制链接]
1871|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 jiaxianyun 于 2014-5-4 12:08 编辑

什么也没有输入就能输出很大的噪声

aic23b语音芯片进行ad转换后把得到的数据直接通过da转换输出去了
但是电源和地都基本上没有文波
要是把语音芯片内部的da转换直接屏蔽掉的话,让语音芯片工作在旁路模式下就完全正常
而且,没有输入时,通过示波器测得的波形大约是25Khz的周期波
用fir进行数字滤波后依然会出现各种频率 的噪声

相关帖子

沙发
zhangmangui| | 2014-5-4 23:04 | 只看该作者
输出通道的原理没有什么问题吧     还有AIC23的配置是否和里

使用特权

评论回复
板凳
zhangmangui| | 2014-5-4 23:05 | 只看该作者
AIC23为主模式,数据为DSP模式,数据长度16位*/   
Uint16 digital_audio_inteface_format[2]={0x0e,0x53};
/*AIC23的波特率设置,采样率为44.1K*/
Uint16 sample_rate_control[2] = {0x10,0x23};
/*AIC23寄存器复位*/
Uint16 reset[2] ={0x1e,0x00};
/*AIC23节电方式设置,所有部分均所与工作状态*/
Uint16 power_down_control[2] ={0x0c,0x03};
/*AIC23模拟音频的控制
DAC使能,ADC输入选择为Line*/
Uint16 analog_aduio_path_control[2] ={0x08,0x10};
/*AIC23数字音频通路的控制*/
Uint16 digital_audio_path_control[2] ={0x0a,0x05};
/*AIC23数字接口的使能*/
Uint16 digital_interface_activation[2] ={0x12,0x01};
/*AIC23左通路音频调节*/
Uint16 left_line_input_volume_control[2] ={0x00,0x17};
/*AIC23右通路音频调节*/
Uint16 right_line_input_volume_control[2] ={0x02,0x17};
/*AIC23耳机左通路音频调节*/
Uint16 left_headphone_volume_control[2] ={0x05,0xFF};
/*AIC23耳机右通路音频调节*/
Uint16 right_headphone_volume_control[2] = {0x07,0xFF};

使用特权

评论回复
地板
jiaxianyun|  楼主 | 2014-5-5 11:37 | 只看该作者
我的寄存器配置分别为
0x1e00
0x0017
0x0217
0x04f9
0x06f9
0x0814
0x0a05
0x0c01
0x0e53
0x1022
0x1201


使用特权

评论回复
5
jiaxianyun|  楼主 | 2014-5-5 11:40 | 只看该作者
aic23b的原理图为

QQ截图20140505112614.png (86.81 KB )

QQ截图20140505112614.png

使用特权

评论回复
6
jiaxianyun|  楼主 | 2014-5-5 11:41 | 只看该作者
zhangmangui 发表于 2014-5-4 23:05
AIC23为主模式,数据为DSP模式,数据长度16位*/   
Uint16 digital_audio_inteface_format[2]={0x0e,0x53}; ...

我的寄存器配置分别为
0x1e00
0x0017
0x0217
0x04f9
0x06f9
0x0814
0x0a05
0x0c01
0x0e53
0x1022
0x1201

使用特权

评论回复
7
jiaxianyun|  楼主 | 2014-5-5 11:42 | 只看该作者
zhangmangui 发表于 2014-5-4 23:05
AIC23为主模式,数据为DSP模式,数据长度16位*/   
Uint16 digital_audio_inteface_format[2]={0x0e,0x53}; ...

aic23b的原理图为
QQ截图20140505112614.png (86.81 KB, 下载次数: 0)
QQ截图20140505112614.png

使用特权

评论回复
8
zhangmangui| | 2014-5-5 21:38 | 只看该作者
jiaxianyun 发表于 2014-5-5 11:42
aic23b的原理图为
QQ截图20140505112614.png (86.81 KB, 下载次数: 0)
QQ截图20140505112614.png ...

AIC23为主模式,数据为DSP模式,数据长度16位*/   
Uint16 digital_audio_inteface_format[2]={0x0e,0x53};
/*AIC23的波特率设置,采样率为44.1K*/
Uint16 sample_rate_control[2] = {0x10,0x23};
/*AIC23寄存器复位*/
Uint16 reset[2] ={0x1e,0x00};
/*AIC23节电方式设置,所有部分均所与工作状态*/
Uint16 power_down_control[2] ={0x0c,0x03};
/*AIC23模拟音频的控制
DAC使能,ADC输入选择为Line*/
Uint16 analog_aduio_path_control[2] ={0x08,0x14};
/*AIC23数字音频通路的控制*/
Uint16 digital_audio_path_control[2] ={0x0a,0x05};
/*AIC23数字接口的使能*/
Uint16 digital_interface_activation[2] ={0x12,0x01};
/*AIC23左通路音频调节*/
Uint16 left_line_input_volume_control[2] ={0x00,0x17};
/*AIC23右通路音频调节*/
Uint16 right_line_input_volume_control[2] ={0x02,0x17};
/*AIC23耳机左通路音频调节*/
Uint16 left_headphone_volume_control[2] ={0x05,0xFF};
/*AIC23耳机右通路音频调节*/
Uint16 right_headphone_volume_control[2] = {0x07,0xFF};
这个应该是对的  我测试过的  跟你的对比一下   不确定的地方到AIC23的datasheet上看看

使用特权

评论回复
9
jiaxianyun|  楼主 | 2014-5-7 11:16 | 只看该作者
zhangmangui 发表于 2014-5-5 21:38
AIC23为主模式,数据为DSP模式,数据长度16位*/   
Uint16 digital_audio_inteface_format[2]={0x0e,0x53 ...

问题已经解决了,是dsp与aic进行通信时时序没有配置好,因而引人了时序噪声,很感谢您的回答

使用特权

评论回复
10
zhangmangui| | 2014-5-7 21:46 | 只看该作者
jiaxianyun 发表于 2014-5-7 11:16
问题已经解决了,是dsp与aic进行通信时时序没有配置好,因而引人了时序噪声,很感谢您的回答 ...

时序没有配置好知道是MCBSP和AIC还是IIC和AIC的时序啊

使用特权

评论回复
11
wushaojay| | 2014-5-9 14:34 | 只看该作者
可以追问下 时序怎么配置 我也遇到类似的情况 , 就是之前在实验板上可以出来好的信号,但在自己最近做的板子上做的全是杂波

使用特权

评论回复
12
以马内利3005| | 2014-5-12 18:56 | 只看该作者
zhangmangui 发表于 2014-5-7 21:46
时序没有配置好知道是MCBSP和AIC还是IIC和AIC的时序啊

应该是MCBSP和AIC的时序~

使用特权

评论回复
13
jiaxianyun|  楼主 | 2014-5-15 09:51 | 只看该作者
wushaojay 发表于 2014-5-9 14:34
可以追问下 时序怎么配置 我也遇到类似的情况 , 就是之前在实验板上可以出来好的信号,但在自己最近做的板 ...


        McBSP0->SPSA=SPCR1;                //复位
        McBSP0->SPSD=0x00;
        McBSP0->SPSA=SPCR2;
        McBSP0->SPSD=0x00;
        delay(10);

        McBSP0->SPSA=SPCR1;                //RINT由RRDY和帧的结尾驱动
//        McBSP0->SPSD=0x20;
        McBSP0->SPSD=0x00;
        McBSP0->SPSA=SPCR2;
//        McBSP0->SPSD=0x20;
        McBSP0->SPSD=0x200;
        McBSP0->SPSA=PCR;
//        McBSP0->SPSD=0x00;                //帧和时钟同步信号都由外部驱动,发、接帧同步高电平有效
        McBSP0->SPSD=0x01;                                                        //发时钟上升沿采样,接时钟下降沿采样
        McBSP0->SPSA=RCR1;
//        McBSP0->SPSD=0xa0;                //每帧2字,每字16位,包括左右声道数据
        McBSP0->SPSD=0x140;
        McBSP0->SPSA=RCR2;
//        McBSP0->SPSD=0x01;                //1数据延迟,单帧,无压缩高位开始传输
        McBSP0->SPSD=0x01;
        McBSP0->SPSA=XCR1;
//        McBSP0->SPSD=0xa0;                //每帧2字,每字16位,包括左右声道数据
        McBSP0->SPSD=0x140;
        McBSP0->SPSA=XCR2;
        McBSP0->SPSD=0x01;
//        McBSP0->SPSD=0x01;                //1数据延迟,单帧,无压缩高位开始传输

        delay(10);
//        McBSP0->DXR1=0x00;

        McBSP0->SPSA=SPCR1;
        McBSP0->SPSD^=(1<<SPCR1_RRST);
        McBSP0->SPSA=SPCR2;
        McBSP0->SPSD^=(1<<SPCR2_XRST);
        delay(10);

        SREG->IFR^=(1<<IFR_BRINT0);                //清除尚未完成的中断
        SREG->IMR^=(1<<IMR_BRINT0);                //开中断
       
//        SREG->IFR^=(1<<IFR_BXINT0);                //清除尚未完成的中断
//        SREG->IMR^=(1<<IMR_BXINT0);                //开中断
        delay(10);

使用特权

评论回复
14
wushaojay| | 2014-5-15 10:59 | 只看该作者
  McBSP0->SPSA
        McBSP0->SPSD
这两个是什么 没用过这样的写法

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

15

帖子

0

粉丝