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.

[参考译文] BQ76952:如何通知目标器件(bq76952)释放 I2C 总线? (SDA 卡在低电平)

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1364707/bq76952-how-to-inform-the-target-bq76952-to-release-the-i2c-bus-sda-stuck-low

器件型号:BQ76952
主题中讨论的其他器件:MSPM0L1305

您好!

背景:

我目前使用的定制电路板使用 MSPM0L1305作为主 MCU、通过 I2C 与两个 BQ76952芯片通信。 在 MCU 复位时、我有时会观察到 I2C 总线卡在低电平、导致程序在等待退出"总线忙"状态时无限期地挂起。 只有当我通过断开并重新连接电源将 BQ76952芯片完全复位后、I2C 总线才会恢复。

问题:

在这种情况下、主机 MCU 是否可以通过任何方式通知目标(BQ76952)释放总线?

谢谢!

李京宰

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

    您好 Kyungjae:

    通常、发送8-9时钟信号应复位 I2C 通信总线、从而应释放总线。

    请告诉我这是否可行!

    此致、

    路易斯·埃尔南德斯·萨洛蒙

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

    您好、Luis:

    感谢您的快速响应。 我现在刚刚查看文档"MSPM0 L 系列32MHz 微控制器"以找到生成时钟信号的方法。 您能否简要介绍一下生成 I2C 时钟信号的建议步骤?

    谢谢!

    李京宰

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

    您好 Kyungjae:

    很遗憾、我不知道如何通过 MSPM0来实现这一点、您可能必须打开一个 E2E 来询问他们。 但这必须由 MCU 设置为 bq76952。

    此致、

    路易斯·埃尔南德斯·萨洛蒙

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

    谢谢。 这很有用!

    此致、

    李京宰

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

    您好 Kyungjae:  

    我想在这里快速介绍一下最新情况。 我刚发现、执行部分复位应该还能够清除此器件上卡住的通信线路!

    这意味着将 RST_SHUT 拉高电平少于1秒。 您还可以尝试通过该操作来查看它是否释放总线。

    此致、

    路易斯·埃尔南德斯·萨洛蒙

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

    您好、Luis:

    感谢您的反馈! 我通过将 RST_SHUT 拉至高电平小于1秒无法清除通信总线、但这可能是由于我们的定制板上存在未知现象。 我还能够通过手动将 SCL 线短接到 GND 几次(以模拟8+1时钟周期)来清除总线、以防任何人遇到同样的问题。

    谢谢!  

    李京宰