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:I2C 问题

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1450039/bq76952-i2c-issue

器件型号:BQ76952

工具与软件:

嗨、团队:

我的客户遇到了如下所示的 BQ76952的 I2C 问题、请帮助进行分析:

  • I2C 提供锁定功能、无法通过复位 BQ76952来解锁、只能通过再次上电来解锁。

此致、

Ryker  

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

    您好、Ryker、

    ‘能向我介绍一下您在 I2C 被"锁定"之前正在执行的过程/测试吗?

    ‘、当您说 I2C 已"锁定"时、您是否看到当您尝试通过 I2C 与 AFE 通信时没有响应或有响应、但命令未执行/有 NACK?

    逻辑分析仪文件也可能有助于显示正在发生的情况。

    此致、
    Alexis

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

    尊敬的 Alexis:

    请参阅下面的输入并帮助进行分析。 谢谢。

    • 在仿真过程中、I2C 可能会随机暂停、从而锁定。 R&D 猜测是因为 MCU 和 AFE 之间的通信程序中断、导致 MCU 不接收 STOP 信号。
    • 在 I2C 被"锁定"后、当研发尝试通过 I2C 与 AFE 通信时、没有响应。  MCU 可以识别出 IIC 总线处于"忙"状态。
    • 客户未进行逻辑分析、因此无法提供相关文件。

    此致、

    Ryker

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

    您好、Ryker、

    感谢您分享这些详细信息。 由于客户没有逻辑分析仪、他们是否可以共享 I2C 线路上的波形?

    您曾提到 I2C 已锁定、无法通过复位 bq76952来解锁。 您是否也尝试了部分复位?

    可通过将 RST_SHUT 拉至高电平并保持小于1秒来执行部分复位。 该常见问题解答中进一步介绍了它: 如何复位 BQ769x2器件?

    此外、他们是否也尝试过生成8+1时钟信号以尝试释放总线?

    此致、
    Alexis

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

    尊敬的 Alexis:

    1.客户试图将 RST_SHUT 拉高100ms、但无法正常工作、系统仍然锁定。

    2.客户已经尝试生成8+1时钟信号,有时它是有用的释放总线,但有时它是不有用的。 您能否提供标准8+1信号波形供参考?

    3. I2C 锁定时间的波形如下所示。 在 I2C 通信过程中、可以在以下情况下轻松触发 I2C 锁定:

    • 地址完成发送、MCU 结束通信、而没有结束信号。

    BR、

    Ryker

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

    您好、Ryker、

    我认为之前的这个论坛帖子可能可以帮助您: 如何通知 I2C 目标器件以释放总线

    图6-1. 阻塞总线恢复功能的波形示例 位于"I2C 阻塞总线:预防和解决方法"中、 参考也可能有用。

    我认为没有附加波形。 "你说什么?

    此致、
    Alexis

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

    尊敬的 Alexis:

    所以8+1时钟信号是解析的唯一方法? 但是客户反馈、在8+1时钟前发布 I2C 的时间是90%、您有什么建议吗?
    他们还想知道为何无法通过复位 BQ76952 (将 RST_SHUT 拉至高电平100ms)来释放 I2C?  

    请参阅下面的波形。 蓝线为 SCL、黄线为 SDA

    BR、

    Ryker

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

    客户反馈、复位功能是选择器件的关键因素、因此请专家帮助确认为何将  RST_SHUT 拉至高电平100ms 无法释放 I2C? RST_SHUT 引脚的功能是什么?在哪些情况下会重置 BQ76952? 谢谢。

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

    您好、Ryker、

    感谢您分享该波形。 除了时钟延展之外、我们的器件还不能控制 SCL。 如果部分复位不起作用、则可能是 MCU 卡住了、或者其他一些外设发生故障。 这可能解释了强制 MCU 输出时钟、清除自身或其他可能卡住的东西的原因。

    RST_SHUT 引脚的功能是执行复位/关断。  拉高小于1秒的 RST_SHUT 引脚提供了部分复位、而如果 RST_SHUT 引脚驱动为高电平大于1秒、那么如果用户随后唤醒器件、器件将关断、以允许完全复位。 该常见问题解答中进一步说明了这一点: 如何复位 BQ769x2器件?图7-1. 工作模式 中的说明 可能有助于进一步展示如何使用它从不同模式转换。

    您是否介意尝试超过9个周期来看看这是否有用? 在之前的这 篇文章中、用户使用了20个空时钟周期、这似乎更适合他们。

    此致、
    Alexis