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.

[参考译文] TLV320AIC3120:从 MCLK 生成 BCLK 和 WCLK

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1262128/tlv320aic3120-generating-bclk-and-wclk-from-mclk

器件型号:TLV320AIC3120

您好!

我们原型设计的产品中采用了 TLV320AIC3120。  由于该部件不再位于评估板上、我们正在努力正确配置时钟。  在评估板上、BCLK 和 WCLK 通过 I2S 接口提供。  BCLK 为2.8224MHz (MCLK / 4)、WCLK 为44.1kHz (MCLK / 256)。  我们的原型中没有 I2S 接口。  在我们的板上、我们通过在 11.2896MHz 上运行的板载振荡器提供 MCLK。  您能否帮助我弄清楚如何 配置相应的寄存器、以使从 MCLK 生成 BCLK 和 WCLK、并将它们设置为2.8224MHz 和44.1kHz?

我将在等待响应的同时不断尝试自己解决问题。  这是一个非常紧迫的问题。

谢谢。

 

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

    为了说明这一点、我们将 TLV320AIC3120用作独立器件并 启用 ADC 到 DAC 环回(我们将0x10写入第0页的寄存器0x1D)。  我一直在尝试 参考图7-33中的时钟分配树、因为我尝试使用11.2896MHz 的 MCLK 输入生成44.1kHz 的 ADC_FS 和44.1kHz 的 DAC_FS。  这是否可以在不从外部提供 WCLK 和 BCLK 的情况下完成?   

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

    Scott、您好、

    要回答第二个问题、您可以将器件设置为在没有完整 I2S 总线的情况下运行:只有 MCLK。 我附上了一个 PLL 计算器工具、其中保存了我认为适合您的设置。 这将使用11.2896MHz 的 MCLK 输入提供44.1k 的采样率。

    缺少 BCLK 部分、但您可以将 BDIV_CLKIN 设置为 ADC_CLK 并将分频器设置为4。 有关更多详细信息、请参阅第69页。

    e2e.ti.com/.../5383.Audio_5F00_CODEC_5F00_ADC_5F00_PLL_5F00_Calculator.xlsx

    PLL 是一种反复尝试的功能、因此我希望这款计算器工具能够为您提供更好的帮助。

    此致、
    J·麦克弗森

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

    这似乎对我无效。  我正在使用 RaspberryPi 将 I2C 数据写入编解码器。  我的脚本已附加。  能不能说我做错了什么?  在评估板上写入 TLV320AIC3120时、该脚本会正常工作、但不会在我自己的板上。  我非常确信这是时钟问题、但可能您会看到我搞砸了的东西。

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

    我还尝试设置多路复用器、以便 MCLK 被4分频并在 GPIO1上输出、但当我查看 GPIO1时、在示波器上没有看到任何内容。

    我想、我要将 MCLK 分频到2.8224 MHz、通过 GPIO1输出它、然后将 GPIO1连接到 BCLK 输入。  这仍然无法解决公式中的 WCLK 部分、但这是一个开始。

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

    Scott、您好、

    GPIO1不需要连接到 BCLK 输入。 在主模式下、BCLK 和 WCLK 被视为输出。 器件会自行生成这些时钟并在内部使用它们。 然后、WCLK 和 BLCK 引脚可用于驱动系统中的其他目标器件。

    如果脚本在 EVM 上工作、但在原型板上不工作、则您的脚本不太可能有任何问题。 但是、脚本中的 PLL 已关闭、器件可能从板上的 TAS1020B 控制器获取其时钟。 原理图中有一个 I2S 使能引脚(低电平有效)、可以使能或禁止 TAS1020B 提供 I2S 时钟。 如果您向该引脚施加3.3V 信号(使用电阻器垫)、它将禁用时钟。 然后、您可以提供 MCLK 并查看您的脚本是否有效。

    作为附加检查、您是否可以监控 I2C 总线以确保正在进行事务? 您还可以通过读回在脚本中执行的写入来确认这一点。 这将有助于确认它是您所说的时钟问题。

    此致、
    J·麦克弗森

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

    这是此时的次要问题。  我们采用了二进制纹波计数器、对 BCLK 和 WCLK 分别将 MCLK 和256分频、从而使我们的产品正常工作。  这可能就是我们要向生产方向发展的原因、因为 在只提供 MCLK 的情况下、我重建所有时钟的努力似乎从任何地方都未能体现出来。

    非常感谢您在这方面提供的所有帮助。  我知道我创建了很多论坛帖子、并且您提供了很好的有用答案。

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

    我的 bad...0x91将是要写入寄存器0x05的正确数据。