TI论坛
直播中

张华

8年用户 1487经验值
私信 关注
[问答]

用5509A写一个用MCBSP和AIC23采集和播放音频的程序,在运行的时候发出了很大的杂音,为什么?


  • 刚才在C5000论坛发了一个关于声音采集和播放的问题,一位ti员工回复我说可能是CODEC的问题,建议我来这个论坛提问,希望解答。。问题描述如下:
    最近在用5509A写一个用MCBSP和AIC23采集和播放音频的程序,LINEIN,但是在运行的时候发出了很大的杂音,但是从LINEIN输入的声音是能分辨出来的,没有发生什么改变,我才开始学DSP,所以希望有高手能帮我解决这个问题。。
    1.AIC23做主设备,MCBSP的CLKR和CLKX的时钟由AIC23的BCLK提供(经过示波器测试,CLKR=12M,CLKX=13.5M),AIC23的输入是12M晶振。
    2.MCBSP的FSX和FSR由AIC23提供。(经过测试,FSR=FSX=44.1K)
    3.音频采样率为44.1K,DSP MODE,一个字长16bit。
    4.用BYPASS方式运行,没有任何杂音,很清晰。
    5.LINEIN不接电脑也有很大的杂音。
    6.不读声音,只播放已经存储的指定的声音,无杂音。
    7.将读入的声音保存起来,再播放,有杂音。
    8.杂音频谱很有规律,发现主要的噪声的频率恰好是5500hz,11000hz,16500hz和22050hz左右……恰好是采样率的1/8 2/8 3/8 1/2。。。
    I2C MCBSP AIC23的设置都参考了EVM5509的例程EVM_APP,区别是EVM_APP用了DMA而我没有,我读取声音和播放声音数据的程序如下所示
    while(1){
    aic23Read=(unsigned int)(mcbsp0_Read());

    mcbsp0_Write(aic23Read);}
    初学DSP,一堆问题,希望有达人能够帮个忙,多谢!

回帖(2)

罗莹

2025-2-5 14:48:10
“用BYPASS方式运行,没有任何杂音,很清晰?而且“噪声的频率恰好是5500hz,11000hz,16500hz和22050hz左右……恰好是采样率的1/8 2/8 3/8 1/2”貌似同ADC有关。。。
举报

jsqueh

2025-2-5 17:20:17
根据您的描述,您在使用5509A和AIC23采集和播放音频时遇到了杂音问题。以下是一些可能的原因和解决方法:

1. 时钟问题:您提到MCBSP的CLKR和CLKX的时钟由AIC23的BCLK提供,CLKR=12M, CLKX=13.5M。请确保这些时钟频率与您的AIC23和MCBSP的规格相匹配。如果时钟频率不匹配,可能会导致杂音。您可以尝试调整时钟频率,使其与硬件规格一致。

2. 电源问题:不稳定的电源可能会导致杂音。请确保您的电源供应稳定,并且电源滤波器正常工作。您可以尝试使用更高质量的电源或添加额外的滤波器来减少电源噪声。

3. 地线问题:地线问题可能会导致杂音。请确保您的地线连接正确且接地良好。您可以尝试使用更短的地线或增加地线连接点来减少地线噪声。

4. 信号线问题:信号线的质量或长度可能会导致杂音。请确保您的信号线质量良好且长度适中。您可以尝试更换信号线或缩短信号线长度来减少信号线噪声。

5. AIC23配置问题:请检查您的AIC23配置是否正确。错误的配置可能会导致杂音。您可以查阅AIC23的数据手册,确保您的配置正确。

6. 软件问题:请检查您的软件代码是否有错误。错误的代码可能会导致杂音。您可以逐步调试您的代码,确保每个部分都按预期工作。

7. 硬件问题:如果以上方法都不能解决问题,可能是硬件本身存在问题。您可以尝试更换AIC23或MCBSP芯片,看是否能解决问题。

希望以上建议能帮助您解决杂音问题。如果问题仍然存在,请提供更多详细信息,以便我们进一步分析和解决。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分