5509A用AIC23采集和播放声音的问题
Hi您好
刚才在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,一堆问题,希望有达人能够帮个忙,多谢!
“用BYPASS方式运行,没有任何杂音,很清晰?而且“噪声的频率恰好是5500hz,11000hz,16500hz和22050hz左右……恰好是采样率的1/8 2/8 3/8 1/2”貌似同ADC有关。。。
是量化噪声么?改善它又是一个难题啊……