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.

[参考译文] TAC5212:CM5 调出

Guru**** 2814825 points

Other Parts Discussed in Thread: TAC5212

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1600278/tac5212-cm5-bring-up

部件号: TAC5212

大家好、我在将 TAC5x1x 驱动程序移植到 Raspberry Pi 计算模块 5 时遇到了一些问题。 我成功地安装了驱动程序并且声卡在 ALSA 中可见、但是没有实现音频输出。 有时在播放音频时会出现轻微的嘟嘟声、但其他情况除外。

我们使用的是此处编写的 Linux 驱动程序: https://git.ti.com/cgit/lpaa-android-drivers/tac5x1x-linux-driver/tree/。 编解码器的 I2C 地址为 0x50、编解码器连接在 CM5 的 I2C0 总线上、并在 GPIO18 上连接 I2C0_SCLK 信号。

我已将文本文件与各种命令的输出相链接、以确认声卡在 ALSA 中的存在以及设备树中的可用符号。

我修改了 Pi 4b 的 DTS 以支持 CM5 的 RP1 BCM2712 CPU。 我不确定我的修改是否有效、是否能按预期运行、尤其是在重新分配到 I2S 时钟信号的情况下、因此请提供任何指导。

tac5x1x-cm5-overlay.txt

声卡 stats.txt

__symbols__.txt 

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

    您好、

    您是否能够测量编解码器上的 I2S 时钟? 这将是 WCLK、BCLK 以及可能的 CCLK。  

    此外、Linux 驱动程序 TI git repo: https://git.ti.com/cgit/lpaa-android-drivers/tac5x1x-linux-driver/tree/doc 的 doc/文件夹中还有 Raspberry Pi 示例配置和文档

    https://git.ti.com/cgit/lpaa-android-drivers/tac5x1x-linux-driver/plain/doc/Raspberry%20Pi%204B%20bring%20up%20&%20Driver%20Porting.pdf

    请告诉我这一点以及您对示例的看法...

    此致、
    Mir

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

    我需要一段时间才能测量发送到编解码器的信号、我们设计了一个定制的原型 PCB、完全忘记在 I2S 总线上包含测试焊盘。 我会刮擦阻焊层并探测迹线、然后拿回来给您。

    仅使用 BCLK、FSYNC、DOUT 和 DIN、我不确定您提到的其他时钟是什么。  

    Pi 4b 的配置示例就是我修改的与 CM5 兼容的配置。 我已将 BCM2835 更改为 bcm2712、将 tac5411 更改为  tac5212、更改了 一些硬件和路由功能、否则它基本上是相同的。  

    我们正在使用内核 RpI-V6.12.y、示例 dts 通过 RpI-v6.7.y 分支进行了测试、因此从新映像开始并恢复到旧内核版本可能会有所帮助?  

    为了澄清这个问题,我只是在播放 CM5 上的任何音频时发出一个咔嗒声或砰砰声或砰砰声,编解码器出现在 ALSA 中,我可以在 alsamixer 中调整各种参数,驱动程序已正确安装并且可以看到: lsmod | grep TAC,都安装了,但没有音频输出。

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

    您好、

    请在能够时告诉我有关时钟的信息。 您在播放的任何音频文件的开头还是刚启动时会弹出? 如果只是在启动时、可能只是输出驱动器正在充电。 我最关心的是时钟- “时钟频率=< 400000>;“来自哪里? 哪个时钟的频率为 400kHz? 这不是标准音频频率、这也是我提出的原因。 您能在这里共享编解码器的寄存器转储吗?

    此致、
    Mir

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

    可以。 每当音频文件播放或停止时、我都会收到砰砰声/噼啪声、当我播放任何音频文件时、它会可靠地产生低振幅噼啪声、当音频停止时、甚至会降低振幅。 “Clock-frequency =<400000>“来自 git 存储库中共享的示例 dts、我认为是 i2c 时钟速率、而不是音频时钟速率。

    我已将 BOOK0_P0 中的时钟配置寄存器以及主器件配置寄存器的转储、编解码器的页 0、1 和 3。

    e2e.ti.com/.../tac5212_5F00_reg_5F00_dump.txt

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

    示玛雅你好、

    由于我们的团队正在度假、请预计下周将会有更新。

    此致、

    Garret

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

    抱歉、在对 I2S 总线进行示波时、我意识到 I2C0_SDO 进入编解码器的 DOUT 引脚、 I2C0_SDI 进入 DIN、翻转了信号、最终获得音频输出!

    然而、它只是在通道 1 之外、通道 2 没有输出。 花了一天时间弄清楚在 OUT1 正常工作时可能会使 OUT2 崩溃的方法、深入了解数据表、内核叠加、在线论坛、了解了更多有关 TDM/I2S 协议的信息、只是为了找到答案而找不到答案。 直到,我再次检查 git repo 并意识到有其他分支,切换到最新的 tac5x1x 驱动程序 分支,在 CM5 上安装了该驱动程序,最终得到了完整的立体声差分线路电平输出。

    不管怎样,希望你们度过了一个美好的假期,这些信息可以帮助未来的人。 问题已解决Slight smile