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.

[参考译文] TDA4VM:使用 I2C_IRQSTATUS_RAW 时、I2C 写入超时

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1433494/tda4vm-i2c-write-timed-out-when-using-i2c_irqstatus_raw

器件型号:TDA4VM

工具与软件:

您好、TI:

我们将使用 I2C 访问 PMIC 并按照 TRM 中的步骤操作(图12-34。 I2C 主发送器模式、轮询方法、F/S 和 HS 模式)。

在检查 XRDY 标志(I2C_IRQSTATUS_RAW->XRDY)的步骤期间、达到超时条件、但传输未完成。

但是、当尝试在 I2C_STAT (即使是旧状态寄存器)上读取 XRDY 的方法时、传输完成。

两个寄存器具有相同的值、那么为什么会发生这种情况? 在 TRM 中、建议读取 I2C_IRQSTATUS_RAW、那么为什么要读取 I2C_STAT?

谢谢。此致、

Marina Prado Lenza

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

    尊敬的 Marina:

    [报价用户 id="558905" url="~/support/processors-group/processors/f/processors-forum/1433494/tda4vm-i2c-write-timed-out-when-using-i2c_irqstatus_raw "]

    在检查 XRDY 标志(I2C_IRQSTATUS_RAW->XRDY)的步骤期间、达到超时条件、但传输未完成。

    但是、当尝试在 I2C_STAT (即使是旧状态寄存器)上读取 XRDY 的方法时、传输完成。

    [报价]

    您的意思是仅读取 I2C_IRQSTATUS_RAW 寄存器会导致 传输中出现超时错误吗?  

    您是否已测试过 I2C_IRQSTATUS 寄存器的读取情况?

    谢谢!

    Neehar

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

    Neehar、您好!

    读取和清除 I2C_IRQSTATUS_RAW 时、传输永远不会完成。  此外、在读取和清除 I2C_IRQSTATUS 时、传输永远不会完成。

    但是、在清除 I2C_IRQSTATUS 并读取 I2C_IRQSTATUS_RAW 时、传输完成。

    在 TRM 中、两个寄存器均为 R/W、具有相同的值。 这使我们认为此信息并不是最新的、I2C_IRQSTATUS 是写入寄存器、 2C_IRQSTATUS_RAW 是读取寄存器、尽管 TRM 中没有对此进行说明。  

    谢谢!

    Marina

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

    您好!

    我将进一步探讨这一点、然后回复给您。

    谢谢!

    Neehar

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

    尊敬的 Marina:

    您如何读取和清除寄存器? 您是否直接读取/写入地址?

    请通过 TRM 了解以下内容:

    谢谢!

    Neehar