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:读取 SREC 期间 SMBus 卡滞

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/634462/bq40z50-r2-smbus-stuck-during-srec-read

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

我们在读取 BQ40z50-R2上的 SREC 文件时遇到问题。

实际上、电路板上的另一个器件在读取的前几秒钟内尝试通信、而读取尝试失败。 但是、BQ 无法从这种情况中恢复。 在 SMClock 保持低电平的情况下、它卡在(大概) ROM 模式。 它不接受任何命令或以任何方式进行响应。 由于器件上没有/MCLR 或/RST 引脚、因此我们唯一可以将其释放的方法是从电池组中解焊电路板并重新连接(对 BQ 进行下电上电)

对于初始原型、我们可以访问焊接端子、但一旦器件密封在电池组内、就无法对 BQ 进行下电上电或复位。 如果我们可以在 BQ studio 通信时暂停所有其他通信、则读取操作正常、但 仍然很有理由认为某些设备可能会中断通信(连接不安全、操作员忘记杀死所有其他通信等)、这可能会使数据包变得无用。

首先、为了在原型设计阶段保持完整性、是否有另一种方法可以从不需要拆焊 PCB 的故障中恢复?

其次、这可以解决吗?

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 David:
    我们强烈建议不要让另一个器件在通信线路上进行通信、尤其是在对电量监测计进行编程期间。 这几乎总是会导致问题。

    要恢复您的器件、请断开电池并重新连接 IC、从而对其进行下电上电。 您还可以尝试将 PBI 引脚短接至接地端、以查看这是否有助于恢复器件。
    谢谢
    Onyx
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回答。

    我们的目标是在使用 bq studio 时挂起另一个器件、但我们有时不可避免地忘记了。 如果 PBI 引脚再次出现、我将尝试它。

    我更惊讶/担心 BQ 无法从此事件中恢复。 似乎没有任何碰撞检测、甚至是超时。 我本来希望它能够比将时钟锁存为低电平更从容地使该过程失败。

    我们将从具有2个 MRST 引脚的 BQ20Z95迁移。 如果有地方可以建议功能、我建议使用类似的 RST 引脚。 大多数处理器(如果不是所有处理器)上都存在这样的引脚、这无疑是一个很好的原因。

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的反馈。 我已将此事传达给责任方。
    谢谢
    Onyx
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 David:

    发生这种情况时、您能否提供示波器或总线日志、因为听起来您可能能够可靠地重现它?  器件不应闩锁、这是一个问题、总线应超时并恢复。 日志有望显示其他通信是否正在发送我们可能对其敏感的意外命令、或者它是否由于冲突而导致总线上出现某种类型的意外情况。  

    谢谢、

    Terry

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

    e2e.ti.com/.../20171026_2D00_0001_5F00_read_5F00_FG_5F00_FW_5F00_hang_5F00_SMBC.zip

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

    尊敬的 David:

    感谢您提供示波器屏幕截图。 请尝试修改上拉电阻器的电阻以增加/减少信号的上升时间。

    还请调整串联电阻器的值。

    请告诉我这是否解决了问题。

    此致、
    Bryan Kahler

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

    在进一步查看日志后、我还有几个问题。

    您当前使用的是什么值的上拉电阻器?

    当 SREC 失败时、您从 bqStudio 收到什么消息?

    如果器件在更新 SREC 时在总线上进行通信、则数据块可能会损坏、导致校验和不匹配、导致这些数据块不会写入器件、最终使器件停留在 ROM 模式。

    对 SREC 进行编程时、请勿与总线上的其他器件通信。

    在原型设计过程中、我强烈建议为 RST 等引脚添加测试焊盘或在适当的位置移除焊层、以便轻松访问这些信号线。

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

    要清楚、时钟信号是红线吗? 如果监测计锁定在低电平、那么在处理器尝试通信时、是什么导致监测计在以后打开/关闭电源? 它必须由监测计释放才能实现。 处理器是否可能将线路锁定在低电平?

    我们确实会在您发送的日志中看到通信问题、这大概是由于您的多主设备设置造成的。 有时主器件会停止对监测计中的其余数据计时、因此监测计在 ROM 模式下中断、然后主机尝试访问 MAC 子命令、这些子命令由监测计否定、因为它尚未处于固件模式。 因此、清理多主控设置后、它也可以解决您看到的这个问题。

    谢谢、

    Terry
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们在使用 BQ33100时看到类似的问题。 为了模拟故障、我们在正常运行期间间歇性地短接 smbus 数据线;从而形成您所引用的总线竞争。 当故障开始时、某些实体会保持数据或时钟线被永久拉低。 我们怀疑这是我们的主机处理器、因为主机的复位会使一切恢复正常。 SMBus 规范要求总线上的所有实体在检测到总线卡滞时纠正这种情况。 对于我们来说、我们认为主机可能有问题、而不是 BQ33100。