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.

[参考译文] TAS6421-Q1:I2C 读取全部为零

Guru**** 2481785 points


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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1163537/tas6421-q1-i2c-read-giving-all-zeros

器件型号:TAS6421-Q1

您好!

我们使用两个 TAS6421放大器作为从器件和主器件 RH850控制器。 我们按照数据表遵循了 i2c 读取和写入序列、但大多数寄存器的读取序列始终为零。 第1个放大器的从器件地址为0x6A、第2个放大器的从器件地址为0x6B

我们尝试向放大器寄存器写入以下值。

示例:0x04 - 0x55

   0x03 - 0x44

   0x02–0x62

   0x01 - 0x32、0x05 - 0xC0、

   0x21 - 0x80  

 当我们尝试读回这些寄存器时、大部分为零(0x10、0x00、0x00、0x00、0x00、0x00)、附加了 从逻辑分析仪捕获的图像。

 请建议故障排除选项以解决此问题。

谢谢。。。

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

    您好!

    我在第二个写入屏幕截图中看到器件已收到 ACK。  在读取的第一个屏幕截图中、器件在请求数据时都遇到问题。  I2C 数据传输速率是多少?  我们只允许高达400kHz 的频率。  您能否使用示波器查看实际时钟?  这可能会提供上拉电阻过小或其他问题的线索。

    此致、
    Gregg Scott

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

    根据我的理解、根据数据表中提到的读取序列、第一个屏幕截图看起来是正确的。 我们的 I2C 数据传输速率为400kHz

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

    你好 Vasavi

      您的波形看起来确实正确、使这个问题有点奇怪。 让我们尝试读取一些其他寄存器、以便轻松找出实际值。 例如寄存器0x04。 上电后、默认值应为0x55、器件处于 HiZ 状态。 请直接读取该寄存器以检查您是否可以获得该值。  

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

    你好,Shadow

     当我尝试读取0x04时、它提供了0x10

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

    你好 Vasavi

      根据我们以前的经验、我们的 I2C 块不会有这样的问题、我们的器件不应生成该值。 您能否检查您的系统中是否有其他器件与我们的器件具有相同的器件地址? 您是否有 EVM 在您身边? 进行进一步测试的最简单方法是切断系统中的 I2C 连接、并使用我们的 EVM 将 I2C 命令直接发送到我们的器件。 该测试将快速为我们提供答案。

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

    您好、Shadow、

    在具有相同器件地址的其他系统上、它正常工作没有问题、我的一侧没有 EVM。

    谢谢。。。

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

    你好 Vasavi

     在这种情况下、我们能否仅交换这两个系统上的两个器件、以确定问题是出在器件还是出在系统上?