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.

[参考译文] TAA5412-Q1:系统无法识别 I2C

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1606346/taa5412-q1-the-system-cannot-recognize-i2c

器件型号: TAA5412-Q1

亲爱的  

  首次上电时、它可连接到 I2C 并从寄存器读取。 运行一段时间后、系统无法识别 I2C、即使在重新启动电源后、它也无法识别 I2C。  
系统读取的寄存器值如下所示

756b820c374c9d33a94f7101d3745d91.png

日志信息 2bed018280a9353fc70781b3d88d2b4a.png

Sch

ba73df93547d05e0c2ed117f3aa9b89a.jpg

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

    您好、

    在出现问题之前、当出现通信问题时、然后在复位后、是否可以在终端中运行 i2cdetect -y 1 并显示其结果? 我想知道在您开始与 ADC 的会话后、系统上的其他器件是否正在使用该 I2C 地址? 您是否能够在系统完全重新启动后恢复通信? 在发生连接错误之前、您的寄存器转储是否在第一张图片中?

    此致、
    Mir

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

    您好、

    发生通信问题后、在未 重新启动的情况下运行 i2detect-y-A 1 时只读取 0xFF(这应该是由通信异常引起的)、然后重新启动后、运行 i2detect-y-A 1 停止检测声卡器件的 I2C 节点

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

    您好、

    您能检查这个测试顺序吗?

    首先、断开 TAA 和 MCU 的所有电源。 断开 SDA/SCL 与 TAA 的连接。 然后、插入 MCU 并检查 i2cdetect、以验证我们预期的寄存器槽位中是否没有任何内容(0xa0 或 0x50、不确定您的地址是 7 位还是 8 位)。 然后、将电源连接到 TAA、然后将 SDA/SCL 连接到 MCU。 然后运行 i2cdetect、查看槽中是否有预期内容。 请在此处发送运行 i2cdetect 时所获得内容的屏幕截图或复制粘贴。 接下来、如果我们看到器件显示在那里、请告诉我您正在执行什么命令来为所有寄存器返回 0xff。 这可能是由于将 SDA 线路从其他位置拉低而导致的、因此请确保断开所有其他 I2C 器件。 此外、请检查示波器上的 SCL/SDA 线、以验证它们的电压、以及在您向 TAA 发送 I2C Detect 命令和任何其他 I2C 命令时它们会变为什么电压。

    此致、
    Mir

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

    您好、

    客户的 I2C 总线上有三个器件、可以访问一个器件的 I2C 地址。

    e2e.ti.com/.../TAA5412_2D00_Q1chencksum.doc

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

    I2C 时序

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

    您好、

    当您在访问 I2C 总线时遇到这些问题时、您能否显示 Linux 终端 i2cdetect 命令的屏幕截图。 您能否在器件处于活动状态时转储数据、以便我可以在 DOUT 上进行检查? 通常、没有 DOUT 的原因是您没有配置模拟输入、这将位于驱动器的 dapm_route 部分。

    此致、
    Mir

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

    你(们)好

    I2C 通信问题已解决。

    目前在 I2S 模式下遇到问题、采集通道在开始时只有轻微的声音输出、然后仍为 0 数据
    我已看过文件的有关内容、登记册应该没有问题。 您能帮助我检查导致这种情况的原因吗?
    目前、FSYNC 和 BCLK 时钟均正确。 但声卡的数据线在停止之前只输出少量数据。

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

    您好、

    今天是我们在美国的团队的假期、我们将在星期二上再次与您联系。

    感谢您的耐心、
    Jeff McPherson

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

    您好、

    我尝试将您的寄存器转储作为 EVM 上的脚本、但我确实连续得到了数据、没有遇到您描述的这个问题、尽管请注意、音量可能很低、因为满量程输入为 10Vrms 差分 — 这随着寄存器 0x50 的变化而变化、您可以将其设置为 0x06 以将满量程降低到 5Vrms。 我使用 2Vrms 进行了测试、得到–14dBFS(如果更改了寄存器 0x50、则为–8dBFS)。 以下是您可以在 ADC 停止时在系统上检查的一些事项:

    在数据停止之前和期间、您能否验证 BCLK 和 WCLK 时钟是否恒定? 您还能否监控 I2C 线路以检查在此期间是否有任何寄存器写入可能会中断数据? 最后、能否检查 IOVDD 和 AVDD 以确保它们在此期间完全不会下降(或增加)?

    此致、
    Mir