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.

[参考译文] TAS5782MEVM:TAS5782无法向扬声器输出音频

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/889828/tas5782mevm-tas5782-unable-to-output-audio-to-speakers

器件型号:TAS5782MEVM
主题中讨论的其他器件: TAS5782M

您好!

我目前正在尝试通过将 I2S 连接到放大器(TAS5782MEVM)来输出音频。 在放大器上使用 i2c 激活/启用器件时遇到问题。 我已将 I2S 连接到放大器、并通过 I2S 向放大器输出声音、并且能够观察 I2S 上的信号。 但是、我连接到放大器的扬声器没有声音。 我后来发现、我还需要通过 i2c 与放大器进行通信、以配置和激活我也执行的不同设置、但扬声器仍然没有发出音频。  

我通过 I2S 输出44.1kHz 16位的信号、并具有3个引脚:BCLK、SDOUT 和 LRCLK。 TAS5782的数据表提到、要启用音频、只需发送到地址0x90 (从器件地址+写入位):0x00、0x00、然后是0x7f、0x00、最后是0x02、0x00。 但是、我仍然无法听到任何声音。 还尝试了许多不同的配置、但没有成功。 我怀疑页面和书有什么问题、因此无法正确写入器件。  

这是我尝试过的以下配置:

 uint8_t configs[][2]={

{0x00、0x00}、//转到第0页。
{0x7f、0x00}、//转到书籍0。
{0x02、0x10}、//输入 STANDBY。
{0x03、0x00}、//取消静音(正常)
{0x01、0x11}、//重置模块和寄存器。
{0x0d、0x14}、// PLL 参考时钟为 SCLK。
{0x22、0x03}、// 8x 内插和48kHz FS 速度模式
{0x07、0x10}、// SDOUT DSP 输入和去加重使能
{0x09、0x00}、// SCLK NORMAL、输入 I2S 从器件
{0x28、0x00}、// I2S、16位。
{0x2a、0x22}、//左 DAC 至左通道、右 DAC 至右通道。
{0x02、0x00}、//退出待机状态。

 };

/HDX

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

    您好 Hadi、  

    您是否正在使用 PPCMB? 和 PPC3应用?

    祝你一切顺利、  

    卡罗莱纳州

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

    您好、Carolina、

    不可以、我只使用 tas5782mevm 板并通过带有 MCU 板的 I2C 和另一个将 I2S 音频数据感应到 tas5782mevm 板的 MCU 进行配置。 一直在查看数据表并尝试通过发送 I2C 寄存器命令来配置 tas5782mevm 板,但不了解我是否正确发送它们,也不了解 PAGE 和 bok 命令

    /Hadi

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

    您好!

    我一直在进一步检查音频不工作的原因、但是如果 i2c 通信成功、我无法判断。 我将上述命令发送到地址0x48 (0b1001000)+r/w 位、因此我假设这将是0x90、我将使用 Arduino 发送这些命令、并首先发送从器件地址、然后发送两条命令(register then cmd)、然后再发送 stopbit。

    我用上面的所有命令重复此操作、总共12条发送。 我能够在一个接一个地发送数据后读回数据、然后得到以下响应。 大多数回送响应是我发送的 cmd、但某些 cmds 响应是其他的:

    开始发送!
    0:0 (发送{0x00、0x00})
    1:0 (发送{0x7f、0x00})
    2:10 (发送{0x02、0x10})
    3:40 (发送的{0x03, 0x00})<--与发送的不一样?
    4:0 (发送的{0x01, 0x11})<--与发送的不一样?
    5:14 (发送{0x0d、0x14})
    6:3 (发送{0x22、0x03})
    7:10 (发送{0x07、0x10})
    8:0 (发送{0x09、0x00})
    9:0 (发送{0x28、0x00})
    10:22 (发送{0x2a、0x22})
    11:0 (发送{0x02、0x00})

    感谢我为放大器开始输出声音所提供的所有帮助。

    /Hadi  

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

    嗨、Hadi、  

    您正在使用正确的地址0x90与我们的 EVM 进行交互。

    我已附上从 PPC3应用的 I2C 日志中可以看到的初始化文件、我希望它对您有所帮助、我意识到它很长、但这是因为我们正在与 EVM 上的其他器件进行交互、 写入地址0x90的所有内容都是 TAS5782M 关心的问题。  

    此外、即使您没有使用 PPCMB、我也建议您使用 PPC3应用、因为无论您选择哪种配置、它都会为您编写代码、您都可以通过底部的 I2C 日志看到代码、非常有用!

    我认为您也不会遇到这个问题、因为您可以进行写操作和阅读、但请记住: "TI 建议在开始 I2C 通信之前等待100ms 至240ms 让 DVDD 电源稳定下来、并在启用器件输出之前提供稳定的 I2S 时钟"、见数据表第70页。  

    如果您需要其他帮助、请告诉我!

    祝你一切顺利、

    卡罗莱纳州  

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

    e2e.ti.com/.../init.txt

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

    您好、Carolina、

    感谢您提供初始化文件:)

    一个简单的问题是、当一行为 w 90 xx xx xx xx xx xx xx 时、我是发送起始位 和停止位之间的所有字节还是单独发送每个字节?

    另外,从昨天起,已经向网站申请了 ppc3申请,但仍未获得批准,还在等待。 希望明天就能拿到。

    再次感谢您! 我将尝试配置,然后返回结果。

    /Hadi

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

    您好 Hadi、  

    我不太熟悉 Arduino 的编程、但我相信开始和停止之间的所有字节、因为它是属于给定寄存器的数据、因此完全发送它是合理的。  

    关于 PPC3请求、让我看看我可以做些什么来加快我的请求  

    祝你一切顺利、

    卡罗莱纳州

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

    您好、Carolina、

    我设法使其立即工作、并且可以通过 I2S 输出音频、而不会出现任何问题。 我以前发送的 i2c 命令似乎可以正常工作、但终端上的 tas5782mevm 板上存在一些严重的弱连接问题、导致无法正确传输音频。 我必须焊接它们、以确保其正确连接。 如果我不小心触摸了钳位电缆、有时3.3V 端子上的连接仍然很差。

    感谢您的帮助!

    /Hadi