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.

[参考译文] BQ40Z50-R2:无法在 I2C 线路上生成启动条件

Guru**** 2493175 points
Other Parts Discussed in Thread: BQ40Z50, BQSTUDIO, EV2400

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/699522/bq40z50-r2-unable-to-make-start-condition-on-i2c-line

器件型号:BQ40Z50-R2
主题中讨论的其他器件:BQ40Z50BQSTUDIOEV2400

问题如下:有时 I2C 通信工作正常、有时不工作。 当它看起来不是这样(这应该是 I2C 线路上的一个起点):

我的 MCU 尝试成为 I2C 线路上的主器件并执行启动条件、但它无法这样做。 有时、它实际上只发生几次几秒钟(约15秒)、然后突然能够执行启动和完成传输。

要重现此问题、请尝试:

1) 1)进入密封模式

2)尝试读取密封模式下不可读取的寄存器、例如0x54操作状态(不要与密封模式下可用的制造商访问寄存器0x0054操作状态相混淆)。

3) 3)在此之后尝试读取其他内容。

3) 3)观察断裂的启动。

我在 I2C 或 SMBus 标准或 BQ40Z50文档中找不到任何类似的东西

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Roman、
    它看起来主机会导致干扰。 如果未启用广播功能、监测计将作为从模式工作。 当它是从模式时、监测计处于输入状态。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这很有趣、我将在相关论坛上发布一个问题。 同时、我需要澄清以下几点:

    1) 1)如果监测计处于从模式、它不应单独保存任何内容、对吧?
    那么、为什么当主机 MCU 被调试器停止时、我会看到 I2C 中发送的内容呢? 这是正常的吗?

    2) 2)要进入密封或非密封模式、我必须执行以下操作:
    发送密封/取消密封
    等待大约100ms
    读取运行状态寄存器、查看 SEC0和 SEC1位(当前状态)。 检查是否正确。 如果不是、请重复整个过程。

    我的代码在我最终读回正确的状态之前重复了多次此周期。

    如果我没有读取操作状态并尝试读取其他寄存器、我会再次获得该"故障启动"。

    这是正常的吗? 数据表中没有提到这一点。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1.这是不正常的。 当我在 EVM 上进行测试时、如果主机未发送命令、我将无法在 SCL/SDA 两条线上看到任何事务。
    不可以,即使您没有读取 operationStatus(0x0054),它也应该正确读取寄存器。 我强制监测计进入"密封模式"、并写入另一条命令(0x0053)以查看"故障启动"、但无法看到任何异常波形。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    有什么想法、我会怎么做?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如何将 EV2400连接到电路板并在 bqStudio 中发送 word 命令? 如果您比较它们之间的示波器快照,它将提供一些提示。

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

    好的、我尝试回到工厂固件、电量监测计停止了自己的通信。 好极了。

    进入密封/非密封模式的问题在重复固件重新编程后似乎也消失了。 这真的让我感到不舒服。

    我不确定现在发生了什么;这里是我使用的.srec 文件。 您可能会看到其中的内容。

    e2e.ti.com/.../3AH_5F00_Battery.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Roman、
    您的问题是否已解决? 听起来您可能已经在原始配置中启用了 BCAST (广播模式)位、这会允许主机有时控制总线、但恢复出厂默认设置(清除了该位)可以解决您的问题。 如果您仍对此有疑问、请告知我们。 谢谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我想我们可以解决这个问题;由于这个问题通过 MCU 硬复位解决、我认为这是由 MCU 中的 I2C 实现故障而不是电量监测计中的 I2C 故障引起的。 我成功地制作了一个雪橇。