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.

[参考译文] BQ28Z610-R1:确认写入(地址+写入位)、但无法确认数据

Guru**** 2531950 points
Other Parts Discussed in Thread: BQ28Z620, BQ28Z610-R1, EV2400, BQSTUDIO

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1401392/bq28z610-r1-acknowledging-a-write-address-plus-write-bit-but-failing-to-acknowledge-data

器件型号:BQ28Z610-R1
主题中讨论的其他器件: EV2400BQSTUDIO、BQ28Z620

工具与软件:

我已经在设计中使用 BQ28Z610-R1很长时间了、最近有2个器件进入了一种奇怪的故障模式、无法通过 i2c 与器件通信。  在跟踪 i2c 数据时、我看到主器件发送写入地址和已确认的写入位。  然后、主器件发送寄存器值、电量监测计永远不会确认该值。  我有一个正常运行的事务和失败的事务的跟踪。

我已尝试通过将时钟和数据保持在低电平10秒以上而不发生任何变化来重置总线。  我想知道这款设备是否发生了故障、或者是否有什么东西我可以恢复此设备。

当我完全断开并重新连接电池时、i2c 通信磁力再次工作。   

感谢您的任何帮助,任何人都可以提供!

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

    我还将补充一点、由于这与电池集成在一起、因此在生产系统中无法断开电量监测计与电池的连接。  希望有更新的固件或配置更改可以解决此问题。

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

    John、您好!  

    您的设计中的 I2C 线路是如何上拉的(建议使用10k Ω 至稳定的3.3V 电源)?  

    此致、  

    Robert。  

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

    您好、Robert。  它们通过4.7k Ω 上拉至3.3V 电源。   

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

    John、您好!  

    这里要检查的一点是您的 MCU 支持时钟延展。 否则、当电量监测计释放 SCL 线时、您的 MCU 可能会错过、并且可能会错过启动条件。  

    此外、请确保 I2C 线路上没有任何其他内容可能 导致总线冲突。  

    此致、  

    Robert。  

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

    尊敬的 Robert:

    我将检查我的 MCU I2C 实现是否支持时钟延展(我想确实支持、但我会确认)、但这是使用 BQStudio 和 TI EV2400捕获的。  我希望设置支持时钟延展。  我只在2个系统上看到这种情况、因此我认为这不是"正常"操作的一部分。

    该总线将 MCU 用作主器件、另外三个从器件以及一个用于实现外部(EV2400)编程的开关。  我隔离了该总线上的所有其他器件、我相信这是电量监测计的问题、电量监测计似乎会确认其地址、但在读取寄存器时未能确认任何寄存器的地址。

    感谢您在这方面的帮助、因为它确实是一个抓头人。

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

    John、您好!  

    请在确认后更新此主题。 此外、您是否仅将 EV2400连接到 I2C 总线、以便收集这些逻辑捕获? 您只需使用 EV2400和 bqStudio 即可与器件通信吗?  

    此致、  

    Robert。  

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

    尊敬的 Robert:

    我已经确认我的 MCU 支持时钟扩展(至少它配置为支持时钟扩展、我无法验证它是否正常工作)

    捕获是通过从 EV2400连接到 SDA/SCL 引脚的 Digilent 逻辑分析仪进行的。  在该配置中、MCU 与总线断开连接、但总线上还有2个其他器件、地址为0x08 (7位)的 USB 电力输送控制器和地址为0x44 (7位)的光传感器。  电量监测计位于0x55。   

    我无法将电量监测计与 EV2400和 bqStudio 通信。  我收到错误消息、指出读取失败、我看到读取寄存器0和0x3e 的操作在 bqStudio 报告失败后交替一段时间。  我知道总线上的其他器件可能会引起问题、但我很乐意像上次我让 系统处于这种状态时那样对任何器件断电、只要我断开电池电源并重新连接、系统就会"工作正常"、并且我能够使用 bqStudio 读取电量监测计。  但是、当该系统闲置几周后、电池放电至远低于电池截止频率的水平、并损坏电池。  我不知道电量监测计中的配置是否丢失或发生故障的原因、但由于电池电压没有按预期切断、电量监测计似乎出现某种损坏或故障。

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

    John、您好!

    我相信这可能是由通信总线上的冲突引起的。 请尝试隔离通信总线上的电量监测计。  

    此致、  

    Robert。  

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

    我正在研究隔离、但我还想补充一点、我能够从微控制器毫无差错地与总线上的其他两个器件进行通信。  只有当我尝试与电量监测计通信时、我才会看到错误(无法确认)。

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

    John、您好!  

    如果能够隔离测量仪表、请更新此主题。  

    此致、  

    Robert。  

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

    我能够隔离此量表、我看到同样的行为。  我看到 EV2400对电量监测计的地址已确认、则寄存器地址未确认。  电量监测计似乎处于不良状态。  电量监测计中是否有可以从处理器读取的任何类型的调试输出?  似乎唯一的接口是 i2c、如果 i2c 不起作用、是否有方法可以调试此问题?

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

    John、您好!  

    您是否在其他设备上看到过此行为?  

    此致、  

    Robert。  

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

    我们可以看到它在同一设计的两个器件上。  我们生产了大约30个此设计系统。  除了时间外、似乎没有任何触发器会发生这种情况。  存在该问题的两个器件都处于空闲状态至少几天、但在一个月内连接了电池、但没有外部激励。  

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

    您好、John、  

    您是否能够通过 bqStudio 中的高级通信向电量计发送任何命令?  

    此致、  

    Robert。  

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

    我可以发送命令、但响应是相同的。  该地址被确认、但以下数据不被确认。   

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

    您好!

    今天是国庆节。 我们将在本周晚些时候与您联系。

    此致、

    应用团队的成员

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

    您好、Adrian。  感谢您的跳接、以帮助解决该问题。  我刚刚收到一位客户的消息、我们的另一个系统可能处于相同状态。  我们不知道是不是可以将其返还给我们、但它是从用户的角度展示相同的系统。  我们很想深入探讨此问题、非常感谢您提供任何帮助。   

    此时、我们已将 i2c 总线隔离到电量监测计和 EV2400、无法与电量监测计通信。  从进入该状态的第一个系统来看、我们可以非常肯定的是、如果我们断开电池与电量监测计的连接、电量监测计将会再次开始工作。  然而,它似乎发生在一个系统上,它可以在一个星期内再次发生。   

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

    John、您好!  

    我之前和 Adrian 讨论过这个离线问题、我们相信器件可能处于 ROM 模式、这可能导致这种行为。 有关如何退出 ROM 模式、请参阅此 E2E 主题。 请尝试退出 ROM 模式并恢复与器件的通信。  

    此致、  

    Robert。  

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


    谢谢罗伯特。   很遗憾、我无法在 BQ studio 中访问 SMBus Advanced COM。  当我尝试从这个线程中同样的或者相关的命令时: https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/731918/bq28z610-how-to-exit-the-rom-mode 我在地址0x16 (0x0B)上获得一个 NACK。  器件似乎未处于 ROM 模式、但确实在该地址进行响应、我想这是一件好事。

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

    让人惊讶的是,我尝试了其他地址,我也得到了 NAK。  总线上除了电量监测计和 EV2400之外没有其他东西。  这是预期结果吗?  地址0x16 (0x0B)处的 NACK 是实际来自电量监测计、还是由 EV2400生成?

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

    现在我觉得有点假人。  当然、如果没有任何响应、则协议中会内置未填充的地址进行 NACK。  请忽略有关它在地址0x16 (0xb)处处于活动状态的注释

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

    今天又有一个更新...  我能够增加逻辑分析仪上的日志记录缓冲区、现在可以观察到完整的读取周期。  当我尝试读取电量监测计的寄存器0时、我看到写入地址已确认、后跟寄存器地址0。  这在2秒内不会被确认/否定确认(当电量监测计发出否定确认信号时、直到接近2秒后、电量监测计才会驱动时钟。  连接捕获。

    缩小以显示周期的开始和结束

    周期开始

    周期末尾


    这有道理吗?  我无法让电量监测计在总线上的任何其他地址做出响应

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

    John、您好!  

    你可以尝试在电量计上启用 FLASH_BUSY_WAIT 位。  

    此致、  

    Robert。  

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

    如果无法与器件通信、则无法设置该位。   

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

    当我们查看为此器件编程的黄金映像时、FLASH_BUSY_WAIT 位为零。  该寄存器中的每个位都是默认值。

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

    John、您好!  

    我想知道电量监测计是否已进入基于时间的关断模式。 您能否尝试在电池组上施加电压、以查看电量监测计是否从关断模式唤醒?  

    此致、  

    Robert。  

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

    我不确定我是否关注。  电量监测计始终连接到2S2P 电池包、当前的电压为7+ V、从 PACK 到 GND 的电压为7.05V。  您是否认为我需要连接高于8V 的外部电源?  当我连接充电电路时、PACK 电压变为8.38V、I2C 行为没有变化。  

    我喜欢基于时间的关断模式的想法、因为这种行为似乎是通过保持空闲而触发的、但我们不知道该空闲时间是什么。  它还有些随机、因为我们有一些器件发生这种情况、但在大多数情况下、不会有问题。  这就像是一个固件问题、无法从睡眠或关机中完全唤醒。  它处于唤醒状态、足够安静、可识别其地址、并且硬件总线超时有效。 它只是中间的部分、实际上是对中断的消息做出响应。  

    如前所述、如果我们完全断开电池组并重新连接、I2C 将再次开始工作。  我们今天对一个系统执行了该操作、并使用 bqStudio 转储了所有寄存器。  将这些值与一个"好"系统进行比较、我们没有看到任何异常迹象表明存在腐败现象。  

    电量监测计未关闭电池。  CHG 和 DSG 都约为17V (VC2为7.54)、因此它似乎不是"失效"条件。   

    我们真的很难知道如何继续在这里。  我还能提供什么其他信息来帮助调试这个问题吗?

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

    John、您好!  

    您是否可以通过来自良好单元的.srec 文件发送、以及来自您遇到此问题的单元的.srec 文件发送?  

    此致、  

    Robert。  

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

    您好、Robert。  为了确保我将正确生成文件、您能给我一些有关如何生成.srec 文件的快速说明吗?   

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

    附加了一个"好"和"坏" srec。  "错误"文件来自卡在这种故障 I2C 行为中的系统。  断开电池(VC1和 VC2)的连接、然后重新连接。  当我们成功之后、I2C 再次工作、我捕获了该文件。  我在文件中看到了不同之处、因此希望 you.e2e.ti.com/.../0880.OutputFiles.zip 有所帮助

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

    John、您好!  

    感谢您提供此信息、请留出一些时间让我来浏览您提供的文件。  

    此致、  

    Robert。  

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

    您好、Robert。  您是否已 找到任何内容?  我还可以提供其他什么内容或进行测试吗?  请告诉我。

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

    John、您好!  

    我已经对.srec 文件和一个良好的.srec 文件进行了比较、并深入了解了您的配置、我认为您的.srec 文件没有任何问题。  

    此致、  

    Robert。  

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

    尊敬的 Robert:

    那么、您认为调试该问题的下一步是什么?   

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

    John、您好!  

    器件可能已损坏、您的 PCB 是否有足够的 ESD 保护?  

    此致、  

    Robert。  

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

    Robert

    我相信我能做到。  如果是 ESD 损坏、则4个器件的行为会完全相同似乎很奇怪。  而且、似乎与时间有关、与 ESD 无关。  器件连接电池但没有 I2C 通信的时间越长、遇到这种状态的可能性就越高。   

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

    John、您好!  

    请允许我花一些时间进一步研究这一点、并咨询团队。  

    此致、  

    Robert。  

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

    谢谢罗伯特。

    平均而言、是否可以从外部复位电量监测计?  是否有一些信号我可以断开或切换以导致内部逻辑复位而无需实际断开电池?  

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

    John、您好!  

    您应该能够通过命令重置电量监测计。 这可以通过发送0x0012命令或0x0041命令来实现。  

    此致、  

    Robert。   

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

    尊敬的 Robert:  

    我想你是不是误会了我的请求。  是否可以在没有 I2C 的情况下复位器件?  它在我的几个板上不起作用、并且没有明显的"复位"控制引脚可以使内部处理器"从零开始"。   I2C 硬件似乎工作正常、因为它会确认地址并在2秒时释放总线。  不过、电量监测计的大脑似乎无法正常工作。  门铃正常工作、但没有人在家。  

    这个问题肯定似乎是一个固件问题(我是一个固件专家、当然这是我的第一个怀疑)。  如果有办法对器件进行复位、我希望可以在 I2C 停止响应时从板级控制器对其进行触发。   

    我的客户对我们没有解决方案感到愤怒、我正在寻找方法来恢复发生这种情况的系统、直到我们找到根本原因。   

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

    John、您好!  

    我不确定我是否已经询问过此问题、但这只能在您的定制电路板上看到、或者您是否能够在我们的 EVM 上重复此行为?  

    此致、  

    Robert。  

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

    尊敬的 Robert:

    这仅存在于我们的板上。  我无法确定是否会在您的 EVM 上发生这种情况、因为我们没有。  我们的设计与数据表中的设计几乎完全一样。  我们的电池、充电器和测量仪表都是内部的。   

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

    您好、John、  

    在我进一步研究此内容时、请期待收到延迟的响应。  

    此致、  

    Robert。  

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

    尊敬的 Robert:

    我只是签入以便查看是否有新的进度。

    另外、我看到 bq28z620似乎与610引脚对引脚兼容。  我不想在没有充分理由的情况下更换零件、但调查620是否合理?  由于我们不能按需创建问题、因此很难说如果我们换了一个、620就能解决问题。  我希望您能就是否可能尝试新器件发表意见。

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

    John、您好!  

    我相信、我们已经针对这种行为实施了许多不同的潜在解决方案。 您可以尝试进行 ABA 交换、甚至使用 bq28z620进行组件交换。  

    此致、  

    Robert。  

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

    谢谢罗伯特。  什么是 ABA 交换?

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

    John、您好!  

    ABA 交换是将您看到的设备与您没有看到的正常设备交换。 我建议将此器件交换到 EVM 上、以便我们可以排除由电路板问题引起的此行为。  

    此致、  

    Robert。  

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

    谢谢罗伯特。  我同意这是一个很好的调试过程、但我们尚未找到强制发生此事件的方法。  如果我们能够随意触发事件、则调试将容易得多。  正如目前的情况,我们有一些理论,但没有什么是具体的,即使在同一个设备上。

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

    John、您好!  

    我同意、考虑到在尝试重现问题时被击中或错过、这使得调试特别困难。  

    此致、

    Robert。   

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

    尊敬的 Robert:

    我们来了解更多信息。  我们通过断开电池"恢复"的设备之一现在表现出不同的行为。  该器件以大约90%的 SoC 连接到电池并持续了3到4周、我们观察到以下情况:


    - I2C 通信与 BQ studio 很好。

    - BQ28Z610-R1似乎已禁用 DSG FET 由于"永久失效"的结果。 系统不可用。

    -当我们将充电器插入电路板时,系统得到电源,而 CHG 和 DSG FET 似乎都在工作(这表明没有 DSG/CHG FET 硬件故障)。

    -从主板拔下电池组/电源不能解决问题。

    -使用 BQ studio 右侧屏幕中的命令重置测量仪表,并启用 DSG 和 FET 似乎没有任何变化。

    -电池电量约为90%,并已使用了数周。 您可以看到电池电压电平没有问题。

    以下是 BQ Studio 在设备闲置(低于)且未充电时的屏幕截图。 寄存器似乎指示电量监测计已进入 PERMANENT FAILURE 模式、但没有显示原因。 相信 DFW 位变为高电平是监测计进入该模式的结果。


    我不知道这是否有助于指出故障问题。  这里是否有值得拉扯的线程?