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.

[参考译文] TLV320AIC3106:与主时钟相关的问题

Guru**** 2482105 points
Other Parts Discussed in Thread: TLV320AIC3106

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/856870/tlv320aic3106-issue-related-to-master-clock

器件型号:TLV320AIC3106

你(们)好

我有一个基于 AM571x 的定制板、其中 TLV320AIC3106用作音频编解码器。参考资料来自 AM5728-GP-EVM。

在我们的设计 中,sys_clk2 (OSC1 24.576MHz)--> clkout2引脚(24.576MHz)--> AIC3x MCLK

当我开始执行播放/录制时、双锁=1.536MHz、帧时钟= 48kHz

这是预期的,我们将获得正确的录制和回放。没有内核源修改,仅修改设备树。

但我想以12.288MHz 的速率运行音频编解码器。 为此、我通过直接写入寄存器将 sys_clk2除以2。

我已验证时钟输出2引脚处的12.288MHz 时钟。

当我开始执行 aplay/arecord 时、位时钟=768KHz 并且帧时钟= 24kHz。

我想 如果编解码器是主器件、则位时钟和帧时钟由音频编解码器而非 McASP 生成

那么、为什么 bitclock/2 = 768KHz 和 frameclock/2= 24kHz。

此致

Satheesh Kumar S

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

    您好,Satheesh,

    您能否确认寄存器8是否已正确配置? D7和 D6位决定 BCLK 和 WCLK 是否在主控模式下配置。  

    此致、

    Aaron

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

    你好, Aaron

    感谢您的支持

    在 Linux 中、当驱动程序运行时、我如何读取寄存器值。 您能不能建议使用任何调试工具来读取寄存器。

    此致

    Satheesh Kumar S

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

    您好,Satheesh,

    遗憾的是、我不熟悉 Linux 驱动程序、我们不支持与驱动程序相关的问题。 由于您使用 的是 AM571x、因此您可能希望在处理器论坛中发布此问题。

    如果您能够提供寄存器转储、我很高兴查看器件是如何配置的。

    此致、

    Aaron

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

     Aaron

    感谢您的支持

    我已读取 i2c 寄存器。

    寄存器转储如下所示。

    寄存器8-->0xc0 .Audio CODEC 为 Master

    此致

    Satheesh Kumar S

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

    你好,Aaron

    一个温和的提醒

    我还从外部振荡器馈送了12.288MHz、但没有内核修改、我仍然获得了 bitclock 768KHz 和24kHz .plz 帮助的帧时钟

    此致

    Satheesh Kumar S

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

    您好,Satheesh,

    我注意到的一些事项:

    1.在写入器件时添加软件复位的一般好做法。 您可以将寄存器1更改为0x80。

    2. PLL 被使能、但 MCLK 不会通过 PLL 路由。 是否打算使用 PLL?

    3.如果不使用 PLL,请将其禁用并设置 Q = 2以获得 FS (ref)= 48kHz。

    在寄存器9中、位 D3设置为0、指示编解码器仅生成所需的 BCLK 数量。 您可以将该位更改为1、这将为每帧提供256个 BCLK。  

    此致、

    Aaron

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

    你好,Aaron

    感谢您的支持

    实际上、我希望以8、16、32、48KHz 的频率运行编解码器。 由于我们选择的 MCLK 为12.288MHz,所以我们不想 启用 PLL,但我如何在 Linux 环境中禁用它

    此致

    Satheesh Kumar

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

    你好,Aaron

    一个温和的提醒

    此致

    Satheesh Kumar S

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

    您好、Satheesh、

    要禁用 PLL 并设置 Q = 2、您需要向寄存器3写入0x10。

    此致、

    Aaron

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

    你好,Aaron

    感谢您的支持

    好的、我明白了

    您是指修改驱动程序源(tlv320aic31xx.c)。 或在其他地方进行修改? 从编解码器源代码获取 SYSCLK (系统时钟)值的位置进行的另一个查询。

    此致

    Satheesh Kumar

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

    你好,Aaron

    一个温和的提醒

    此致

    Satheesh Kumar

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

    您好、Satheesh、

    它应该是驱动程序源。

    此致、

    Aaron

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

    你好,Aaron

    非常感谢

    需要修改哪个文件。您指 的是 tlv320aic3xx.c 或其他

    如果是、则需要修改驱动程序代码的哪一部分。

    此致

    Satheesh Kumar S

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

    您好,Satheesh,

    我希望您知道器件的配置位置。 同样、我不熟悉器件驱动程序、也不知道您的系统是如何设置的。  

    此致、

    Aaron