你好,各位TI工程师
本人在使用aic3106来播放pcm纯音频数据时出现“滴滴”杂音,该杂音大概一秒多有产生一次。
开发板类型:DM8168 EVM
音频Codec:TLV320AIC3106
音频数据:纯PCM 8K Stereo 16Bit 正玄波Sine
播放: aplay -c 2 -D default -f S16_LE -r 8000 -d 30 8K_Stereo_16B_Sine_30s.pcm
本人采样时钟、位时钟等测量到的结果都是正常的…
请问下各位,有没遇到该问题?是什么原因导致该问题的?
谢谢
Derek Xie:
你好:
如果不播放会有杂音吗?AIC3106 mute 住还会有吗?你的I2S格式是否和你配置的一样?
arvin arvin:
回复 Derek Xie:
你好:
1、本人测试了8K 16K 32K 44K 48K,(都是Stereo 16Bit Sine),结果发现只有44没有“滴滴”的声音,因此本人认为I2S格式应该不是问题点。
2、你说的I2S格式,是想测试DIN Pin 输出的数据是否符合I2S吧?但是,通过I2C查看到其实它使用的格式是DSP Mode,这个跟I2S是不一样的。
3、通过设置Mute(或PCM全为0)时,播放出来,没有任何声音,当然也不会存在之前“滴滴”的杂音。
期待你的回复,谢谢。
祝好。
Derek Xie:
回复 arvin arvin:
你好:
我觉得这个滴滴声可能是采样率不吻合所致。你说在播放44.1K的时候没有。是不是你配置的采样时钟为44.1KHz?
arvin arvin:
回复 Derek Xie:
你好:
对于”我觉得这个滴滴声可能是采样率不吻合所致“,我其实也已经验证过了,应该不是采样率的问题,下面是我验证的过程(如8K),
首先使用aplay进行播放的,采样率参数是正确的(-r 8000);
接着查看声卡参数信息,其结果跟我设置的是一致的(显示8000);
再接着通过I2C查看相关的寄存器,其寄存器值跟我设置的也一致(fs(ref)=48, nDAC=6);
最后,通过示波器来测量采样率时钟,其时钟采样结果跟我设置的大体一致(9K~10K)(之所以说大体一致,有一点误差,但跟我设置的时钟很接近,如对于设置44K(无杂音),测量得到大概的值是42K左右)
因此,我认为采样率设置不对造成的原因很小很小,应该是其他原因导致的。
如果你需要什么实际的测量数据的话,我可以及时发给你,该问题困扰一段时间了,希望你能帮助我查到问题的根本。
谢谢!
祝好
arvin arvin:
回复 Derek Xie:
此外,我有个请求,假若您那边有DM8168_EVM的demo板的话,你可以试试音频播放,看是否也存在该问题?
Derek Xie:
回复 arvin arvin:
你好:
在DM平台,Codec是主MCLK是外部的晶振提供,当你改变采样率的时候,你内部的PLL的配置也要重新配置,我觉得是AIC3106的晶振刚好是44.1K的倍数,所以你用8K的时候,也会采用那个晶振的配置。
你检查下寄存器的配置。你的时钟偏差的比较大,建议检查下。一般不会偏差那么多的,还有就是可能是软件版本问题,建议找个新的版本。
arvin arvin:
回复 Derek Xie:
你好:
1、你说的软件版本问题指的是否是EZSDK?
2、如你说的AIC3106的晶振刚好是44.1K的倍数,麻烦告诉下多少,我去看看
3、各个采样率的对应的MCLK的理论值是多少?设置PLL怎么设置(我之前看过,但不是很明白,请指导,此外从register 3发现只有在44K时才会去enable PLL,其他采样率如8K、16、32等都是Disable PLL的)?求解…
谢谢
arvin arvin:
回复 Derek Xie:
还有个疑问
4、个人认为一般在应用层上进行不同音频采样率播放时,底层的驱动应该自动地相关地的寄存器来设置的,但是按你说的,如果是真的话,该驱动是否就是存在问题而需要去改?
Derek Xie:
回复 arvin arvin:
你好:
是这样的。建议你检查下驱动。MCLK应该是22.5792M, 你改驱动的时候MCLK可能没有改。
arvin arvin:
回复 Derek Xie:
你好:
首先抱歉,如此晚回复您;
然后的是,我会依照您的意见是看下MCLK的实际设置值,此外,我在硬件原理图看到的MCLK的值是跟您说的22.5792M不一样的,原理图上显示的是24.576M,为什么会不一样啊?Note:依照的原理图来源文件参见《netradimm_Schematics_revc.pdf》
谢谢,祝好。