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.

[参考译文] BQ78350-R2-DEVICE-FW:某些 SMBus 命令不起作用

Guru**** 2611385 points
Other Parts Discussed in Thread: BQ78350, BQSTUDIO

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/997378/bq78350-r2-device-fw-some-smbus-commands-not-working

器件型号:BQ78350-R2-DEVICE-FW
主题中讨论的其他器件:BQ78350BQSTUDIO

大家好、我们已经生产了内部软件来查询电池系统上托管的 BQ78350。 一天一切都正常、然后我们看到了 SMBus 命令子集的错误通信。

具体而言、SafetyStatus (0x51)、PFStatus (0x53)、OperationStatus (0x54)和 ChargingStatus (0x55)报告了相同的异常数据序列:

即、读取地址0xc0、0x08 (时钟扩展)、0x61 (重复多次)、然后最后一个0x61 NACK 与实际可能是35mS SMBus 超时值进行了通信。

bqStudio 使用0x00 ManufacturerAccess()& 0x44 ManufacturerBlockAccess()查询 SafetyStatus (0x0051)、PFStatus (0x0053)、OperationStatus (0x0054)& ChargingStatus (0x0055)、并进行调制以报告有效数据;但是、此数据不会随着操作状态的变化而更新。 这些值保持不变/具有历史意义。

重新启动 BQ 未解决此问题。 重新加载固件和配置似乎可以解决问题。

是否有其他人看到过此问题和/或知道导致此情况的原因?

类似地、在读取技术指标信息的不同 BQ78350上、该技术指标信息工作正常、报告0x31 + 0x00、决定始终报告不符合数据表的0xFB + 0x17。

此致。

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

    您好 Kajan、

    这是一种非常奇怪的行为。 重新加载固件和配置可以解决该问题、这一点很有意思。 如果您再次看到问题、最好导出 srec 文件(使用 BQStudio 的固件屏幕)以查看是否有任何损坏。 您可以与"良好"的 srec 文件进行比较。

    此致、

    Matt

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

    您好、Matt、

    我有原始 srec 的备份。 将其加载到新设备上会重现相同的问题。 随后、我可以通过 bqStudio 导出"数据存储器"、加载新的固件映像(bq78350R2Firmwarebunder-2.02-windows-installer)、然后导入"数据存储器"以获得有效的解决方案。 srec 前后的二进制 diff 对我来说毫无意义:不过、diff 仅限于从 S01到 S32的图像的开头。 如果您能够分析并理解这些内容、我可以与您分享这些建议吗?

    此致、

    Kaj

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

    您好 Kajan、

    如果 diff 限制为图像的开头、则写入 srec 的过程可能会在第一次中断(对 srec 的第一行进行编程并结束编程过程)。 这将解释为什么重新加载 srec 可以解决该问题。 您可以共享 srec、如果需要、我可以查看。

    此致、

    Matt

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

    您好、Matt、

    发生问题时未加载/重新加载 srec -它已经工作了许多天/周、没有出现任何问题。 但是、执行了数据存储器读取/写入。 我在这里附上了 srec 文件...

    e2e.ti.com/.../corrupt_5F00_image.zip

    此致、

    Kaj

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

    谢谢 Kaj。 固件看起来正常。  您也可以发送好的图像吗?  

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

    e2e.ti.com/.../recovered_5F00_image.zip

    感谢您对此进行深入研究。

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

    您好 Kajan、

    看起来唯一的区别是一些校准寄存器、一些寿命数据(不应产生任何影响)以及一些私有数据存储器。 我想知道私有数据存储器中的重要内容是否被误写。  

    加载 gg 文件时、它只会写入指定寄存器的数据、但当您写入 srec 文件时、它会写入所有存储器。 数据存储器的一个重要部分可能已损坏。 遗憾的是、我不是器件固件方面的专家、因此很难进一步跟踪这一点、以找到导致问题的确切字节。

    此致、

    Matt

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

    您好、Matt、

    是的、同意校准和使用寿命数据-当对从 srec 映像导出的 gg 文件进行比较时、会出现这些差异、看起来正常。 不确定"私有数据存储器"是什么意思-这是 gg 文件中的内容吗? 我们在 SBS Configuration 和 System Data 中确实有设置、这两个部分都在 Data Memory 中、在 bqStudio 中查看时看起来似乎可以。

    ManufacturerAccess & ManufacturerBlockAccess (来自 SafetyStatus、PFStatus、OperationStatus 和 ChargingStatus)报告有效但看似具有历史意义的值、这表明除了某些数据外、功能也受到影响。 我们可以从"损坏的映像"中导出数据存储器、并将其成功加载到新器件/新固件中。

    您能否将其推荐给能够更深入地了解字节的人?

    此致、

    Kaj

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

    您好 Kaj、

    整个数据闪存不在 gg 文件的覆盖范围内。 固件使用的某些存储器不应写入。 导出 gg 文件时、它不会在数据闪存中包含这些地址。  

    当您加载导出的"损坏"映像时、您是否以 gg 文件的形式执行此操作? 当您将其加载到新器件时、它是否正常工作或是否显示问题?

    此致、

    Matt

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

    您好、Matt、

    感谢您提供信息。

    是的、我创建了一个 gg 文件、方法是首先加载"损坏"的 srec、然后转到 bqStudio |数据存储器|导出:然后、当将该 gg 加载到新器件上时、它会正确执行。

    基于所有这些、我将跟踪 InstructionFlashSignature、StaticDFSignature 和 StaticChemDFSignature 的值、并在问题再次出现时查看这些值是否有任何变化。

    再次感谢您的帮助。

    Kaj