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.

[参考译文] PCM1792A:频率变化时出现开裂

Guru**** 2381970 points
Other Parts Discussed in Thread: PCM1792
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1043526/pcm1792a-cracking-when-changing-frequency

器件型号:PCM1792A
主题中讨论的其他器件:PCM1792

您好!

下面是我的 PCM1792实现:

PCM1792通过 Xmos CPU 执行、其实现方式如下:

此设计工作正常、但当"AUDIO_MCLK"频率从22.5792Mhz 更改为 24.576时会出现问题、反之亦然:当更改 AUDIO_MCLK 频率时、DAC 会产生一些"裂缝"或"噼啪"噪声。

此外、当 AUDIO_CLK 频率不变但 LRCK/BCK 发生变化时、也会出现噼啪/噪声、例如当音频流从44.1kHz 变为88.2kHz 或48kHz 至96kHz 时、出现 exemple、因此问题可能与 LRCK/BCK 发生变化有关。

仅当 Xmos 检测到音频流(来自 USB)发生变化时、频率才会发生变化;对于纹波、频率从44.1kHz 移动到48kHz。 然后是由 PLL (来自微芯片的 PLL611)生成的音频时钟。

当从 USB 流检测到频率变化时、我尝试遵循 I2C 命令序列以避免 DAC 产生裂缝/噼啪噪声:

1频率更改请求

2 -将 DAC 置于禁用 DAC 工作模式、在0x13寄存器(位 OPE)中写入0x10

3在这里放置一些从几百毫秒到几毫秒的延迟

PLL611组件上的4次改变频率

5在这里放置一些从几百毫秒到毫秒的延迟

6回路、用于检测新的音频频率(低于50kHz、低于100kHz 或低于200kHz)、然后使用正确的 fs 从寄存器0x14馈入 OSX 字节(低于100kHz 时为00、低于200kHz 时为01、低于50kHz 时为10)、代码如下:

IF (samFreq < 50000)// 44.1、48kHz。
   {
       DAC_REGWRITE (0x14、0x02);//128fs 44/48K
   }
   否则、如果(samFreq < 100000)// 88.2、96kHz。
   {
       DAC_REGWRITE (0x14、0x00);//64fs 88/96k
   }
   否则、如果(samFreq < 200000)// 176.4、192kHz。
   {
       DAC_REGWRITE (0x14、0x01);//32fs 188/192k
   }

7在这里放置一些延迟

8输入 DAC 使能在0x13寄存器中写入0x0的 DAC 操作

在该配置下、仍然存在噼啪/裂缝噪声、然后我尝试采用静音模式(寄存器0x12中的位 MUTE 而不是寄存器0x13的位 OPE)、仍然存在噼啪/裂缝、 然后尝试使用0手动将0x10和0x11寄存器输入为0、以实现"强制静音"、然后尽管使用 ATLD 位、没有变化仍然会弹出/破裂... 我在时钟更改和 MUT/EN 操作之间播放延迟、但不成功...

是否有人可以帮助我定义正确的 i2c 控制命令序列,以避免在更改音频频率时 DAC 输出出现爆裂/破裂?

注意:频率变化时仅存在噼啪/裂缝、更改一次频率后 DAC 工作正常、无任何噼啪/裂缝噪声。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Briquel、

    我们的 DAC 专家明天才上任、他将在本周为您回复此审核的时间表。

    感谢您的耐心等待、

    Carson

    低功耗音频应用工程师

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Allen、

    感谢您的快速回答、然后等待 DAC 专家。

    此致、

    Florian Briquel

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我将在本周对此进行研究、并告知您。

    此致、

    Arash

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Florian、我看了您的原理图、虽然很难清楚地看到所有内容、但我没有看到任何严重的错误。  EVM 和您的硬件之间几乎没有区别、 但我们可以缩小原因范围的唯一方法是将您的脚本应用于 EVM、并查看您是否仍然 存在噼啪/裂缝噪声。 如果不是硬件清零。

    话虽如此,理想情况下,当您将部件静音时,应将其静音,以便我不理解 (出于任何原因,更改 FS 或其他更改) 您 听到弹出音的原因。

    您可以检查的另一件事是使用 I2C 协议分析器 、例如 www.totalphase.com/.../ 、以确保您要编写的脚本实际上是您正在编写的脚本。  一个值得尝试的想法。

    此致、

    Arash

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Arash、

    感谢您的反馈、接下来的几天、我将探测来自 PCM1792 (nRESET、I2C、I2S 和模拟输出)的信号、以查看这些信号是否正确时是否出现弹出窗口。

    如果没有 I2C 分析器、我会验证寄存器中的通信写入和回读、看起来不错。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嘿、Briquel、

    阿拉什今天离开了、但明天回来时将提供任何必要的反馈

    此致、

    Carson

    LPA 工程师

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您似乎已经解决了您的问题。 我正在关闭此机票、因为它长时间处于闲置状态。 如果 您需要任何东西、请告诉我。

    此致、

    Arash