This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

pcm3060 输出有杂声

Other Parts Discussed in Thread: PCM3060

芯片采用硬件控制模式差分输出采样频率16khz 。

一块印版上有3块pcm3060,芯片工作时都有有杂声产生,当输入din为0时 输出由以下波形(峰峰值500-800mv  频率20khz-120khz左右)

请问这个是什么原因导致的?

ti的工作人员或者哪位用过的大侠告知一二。是不是芯片本身就有这个问题??

 

 

  • 就这个噪声, 我怀疑 电源里的纹波噪声引起的. 一方面是通过内部电路, 也可能通过外部信号通路串入的.

    这个频率很像是开关电源或模块上出来的噪声, 试试用组合多个高低频电容来吸收掉它

  • Hi,

    你用示波器同时测一下模拟5V供电的纹波和噪声,靠近芯片引脚测量。另外测一下DIN为零时,ZEROR、ZEROL为什么状态?LRCLK=16kHz,你的BCLK、SCLK频率都是多少?有无受到干扰?

  • 谢谢能回答我的问题,我机器上面的电源是采用开关电源,但是我把电源换成直流稳压电源还是存在这个现象。后级加上滤波电路会减少影响,但是我想搞清楚这个信号到底是哪输入的。

  • 5v电源的纹波大约在vp-p15mv左右 。

    DIN为零时,ZEROR、ZEROL 为3.3v,

    LRCLK=16kHz ,BCLK=64FS =1.024MHZ  , SCLK=256FS=4.096MHZ  检查频率没有受到影响。

    差分输出时,VOUTR+  , VOUTR-   上的干扰信号关于 vcom 对称 (DIN为0时)

     

     

     

     

     

  • 你好,请问你之前遇到的问题后来找到原因了吗,怎么解决的,我们查了很久有没找到什么问题,怎么联系
  • 可以看到你的问题就是电源干扰引起的,我怀疑你的数字地和模拟地没有分开,而且相互串扰很严重,加滤波电路就会解决了
  • 你好,感谢你的回复,我们的电路数字地和模拟地是没有做区别的,这个按照评估板的电路方式设计的,而且也不是太像电源上的干扰。
    从上面是示波器看到的波形信号,倒是比较明显是感觉时钟的信号内部串扰到了DAC的输出端。
    你那边有什么其他的案例或者板子可以提供参考分析的吗?
  • 时钟信号是无法在内部串扰到DAC输出端的,我建议你检查地线上的纹波和时钟信号线的干扰,应该是你的电源或者地线上的干扰影响了你的时钟,所以你的输出会出现噪声。建议你申请或者购买一块PCM3060EVM做下对比测试,您可以在ti.com或者store.ti.com/default.aspx上去申请的。

  • 你好,我们地平面是一个整的地平面,地线上的噪声不至于太大,而现在的干扰信号峰峰值接近1V,是在不能理解,另外时钟信号也观察了下还比较干净没什么明显干扰。
    另外PCM3060EVM这个板子我从Tistore的页面并没有搜索到,不知道有没有其他的板子。
  • 另外我们试验过只要不给时钟,就不会有有干扰信号,能保持上次输出的电平
  • 时钟信号的干扰不一定表现形式就是上面有杂波,你还是好好量一下I2S上面的信号,或者你的时钟的精度,按照你上面的描述,可以肯定的是你的时钟信号和数据信号没对齐,所以声音出来有咳咳咳咳咳咳咳的杂音。

    另外你输入的是模拟信号还是数字信号?

    不行你就联系我们的代理商去找一下EVM吧!

  • 对了,以上所有的分析都是建立在你们的软件设置是正确的基础之上的,我建议你们检查一下你们的软件设置是否是正确的,尤其是时钟的寄存器和I2S的格式设置

  • 谢谢,我们也之前一直怀疑是不是I2S时序有问题。大致核对过波形的边沿时间要求不过目前没看出具体问题。

    时钟是通过单片机I2S接口输出的(DAC和ADC用的都是一样的),而比较奇怪ADC采样部分波形数据看起来没什么影响没什么明显干扰的。

    而DAC部分也是用ADC的时钟的情况下,不管给DAC的数据是0还是固定某个值,或者给之前ADC采样的数据,或者直接仿真波形数据都是一样存在干扰。。。

    最不能理解的是DAC的数据输入是0情况,按道理不管时钟信号和数据信号没对齐,他采样输出不应该错误。

    我们也试过用3060的主动模式,单片机只提供一个SCk(主时钟),后面我们会试下单独晶振。

    实在不行找代理商EVM可以对比会比较容易查找找问题

  • 这个就可以说明问题了,如果你用单片机做LRCLK和BCLK,那么你的MCLK是谁给出来的?会不会存在MCLK和BCLK的相位差,我建议你们查一下FPS的设置,你们是按照多少倍率来计算的,这个是要按照你们的需求去设置的,1/64,1/128,还是更高的,另外如果可以的话,建议使用同一个MCLK产生LRCLK和BCLK,估计这样你们就解决问题了

    ADC的I2S的格式设置是不是和DAC的格式是一样的?

  • 你说相位什么问题?

     按照手册上好像对3060的slave模式没有 对MCLK(SCK)有什么特别要求。

     我们板子输出的MCLK、LRCLK和BCLK都是直接由单片机MCU的内部I2S控制器分频产生。通过他的寄存器可以设置控制产生需要的时钟频率

    目前采样率是Fs=16K (LRCLK),BCLK = 32*2*16K,MCLK = 256*16K,这个配置也确认过

    ADC和DAC的格式是I2S接口协议格式是采用一样的设置