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.

[参考译文] TAS5825M:通过 I2C 读取和写入寄存器

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1293321/tas5825m-reading-and-writing-registers-through-i2c

器件型号:TAS5825M

音频团队、

附加的线程指示当器件处于睡眠模式时、只应通过 I2C 写入寄存器。  我在数据表中找不到此声明、我认为必须有更多与此相关的细节。   

您是否知道这是来自哪个文档、该声明是否仍以某种方式适用?

我们的客户需要知道、在 I2S 时钟不存在或 I2S 时钟刚启动时清除故障寄存器是否存在限制。

谢谢。
达伦

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

    Darren、您好!

    启动顺序相关信息主要在第9.5.3章、建议遵循以下图表:

    user3480886 说:
    我们的客户需要知道在 I2S 时钟不存在或 I2S 时钟刚开始时清除故障寄存器是否有限制。

    如果 I2S 时钟缺失、可能会清除故障、但系统会报告时钟故障门槛、似乎没有意义。 当 I2S 时钟刚刚启动时、可考虑这样做。

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

    您是否能够  在没有 I2S 时钟的情况下在控制端口中读取/写入 I2C 寄存器? 如果在没有 I2S 时钟的情况下不断尝试读取/写入控制端口、则会出现不可恢复的故障。

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

    Eric、您好

    如果在 I2S 时钟不存在的情况下不断尝试读取/写入控制端口,则会出现不可恢复的故障。

    我可以问、除了报告时钟错误之外、是否有任何其他故障?

    数据表寄存器仍然能够在没有 I2S 时钟的情况下进行配置。

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

    嗨、阴影、有时在不可恢复的故障之后、当我们尝试再次播放音频时、我们看到了一个直流或 OC 故障、其他时候、我们看到没有故障。 在这两种情况下、当发生不可恢复的故障情况时、即使在循环 PDN 之后、我们也无法让放大器播放音频。 唯一的解决方案是全功率循环。  

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

    Eric、您好

    有时在发生不可恢复的故障后,当我们尝试再次播放音频时,我们会看到 DC 或 OC 故障,

    我们对此有一定的经验。 有时当 I2S 时钟恢复时、会导致非常大的输出。 由于前几个 FS 周期、时钟不是完全稳定、因此可能发送不正确的数据。 当停止并重新启动 I2S 时、SOC 侧可能会导致这种现象。 我们可以尝试捕获输出端的波形、看看我们是否可以找到类似的结果。

    即使在循环 PDN 之后,我们也无法让放大器播放音频。

    这是预料之外。 切换 PDN 应始终能够复位所有寄存器。 切换 PDN 后可以检查、是否仍能找到 OC/DC 故障? 或者可能检查 I2C 是否仍然没有问题。

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

    我们已经能够使用逻辑分析仪捕获 I2S 输入并确认其有效。 在 I2S 时钟重新启动后、是否必须等待定义的持续时间才能发送 I2S 数据?

    关于 PDN 循环、我们通常在 PDN 之前根本看不到 OC/DC 故障、但在我们重新启动时钟后、放大器将不会播放输出。 我们已尝试 PDN 循环来修复、但未成功。 在我们循环 PDN 并重新初始化放大器后、仍然可能看不到 OC/DC、并且放大器将无法正确播放音频。 在这些情况下、I2S 输入已被捕获、导出并确认代表了我们在 外部应用中预期的音频流。 PDN 循环中的另一个奇怪是、我们已经看到 GPIO 保持了它在 PDN 循环中的方向性。 例如、默认情况下、GPIO 应该都是输入、我们将 GPIO0设置为 FAULTZ 的输出、然后从外部将其上拉。 在某些故障条件下对 PDN 进行循环、并且 GPIO0在将 PDN 释放为高电平后保持拉低状态。 根据我们的理解、这不是预期行为。  

    我们的主要问题是、当放大器进入此故障状态时、I2C 寄存器没有指示之前存在任何问题、只有终端用户注意到音频根本不播放、损坏(某些听到)或砰砰声。 在也不指示差异的情况下读取寄存器。  

    请在"正常"、"损坏"和"静音"等各种状态下查找3个寄存器捕获

    /cfs-file/__key/communityserver-discussions-components-files/6/dump_5F00_OK-_2800_1_2900_.txt

    /cfs-file/__key/communityserver-discussions-components-files/6/dump_5F00_metallic_2D00_audio-_2800_1_2900_.txt

    /cfs-file/__key/communityserver-discussions-components-files/6/dump_5F00_silent-_2800_1_2900_.txt

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

    Eric、您好

      停止和恢复 I2S 的序列。 我们可以这样说吗:将器件设置为 Hi-Z -> 停止 I2S ->    需要时恢复 I2S  ->  设置器件播放。 此序列应该能够避免 OC/DC 问题。

      如果 PDN 无法完全复位寄存器、我们可以向寄存器0x01写入值0x11、这应该是一次完全复位。