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-R1:读取寄存器-尤其是周期计数

Guru**** 2614365 points

Other Parts Discussed in Thread: BQSTUDIO

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1025841/bq78350-r1-reading-registers---especially-cycle-count

器件型号:BQ78350-R1
主题中讨论的其他器件:BQSTUDIO

全部:

一切都进展顺利。 但是、将其用于电池管理-似乎无法获得周期计数(0x17)的有效读取。 Battery Management Studio 显示电池值为1、但当使用 I2C (SMBus)读取计数时、多节电池显示值64596、这让人非常困惑。

正在读取其他几个寄存器、读数看起来不错。 当放电时、我获得了对 AverageTimeToEmpty (0x12)的有效读取、而在未放电时、该读取会变为65535。

AverageTimeToFull (0x13)始终读取65535、即使在放电时也是如此。

此致、  

Todd Anderson

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

    您好 Todd、

    65535是时间的最大值。 当不放电时、空载和满电量的时间将变为此值、因为电池将保持相同的状态。 没错。

    周期计数可写入数据闪存。

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

    您好 Todd、

    如果 bqStudio 和其他 I2C/SMB 读数之间存在差异、我建议您检查 I2C/SMB 通信。 如果 bqStudio 读取正确的值、可以放心地假设监测计工作正常。

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

    平均时间(0x13)仅在充电时有效。 (提交了数据表错误)

    我可以读取状态(0x16)并获取有效内容(与 Battery Management Studio 相比)、但我仍然遇到周期计数(0x17)问题。 我还尝试读取设计容量(0x18)、这也返回了64596的值。 也非常令人困惑。  

    是否有与我使用的微处理器可能没有执行的 SMB 配置相关的操作? (与 Battery Management Studio)

    此致、

    Todd Anderson

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

    您好 Todd、

    确保微处理器可以支持时钟扩展

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

    是的、支持时钟拉伸。 (这是之前的问题-通过允许 I2C 事务的更长超时来解决。) 我将继续与硬件工程师(Zoll)进行调试-希望我们能够解决此问题。 感谢您的所有反馈。

    此致、

    Todd Anderson

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

    据我了解、读取 EEPROM 位置和读取 BQ 器件上的寄存器之间存在差异。 是这样吗? (希望我不会丢失格式。)

    EEPROM 读取

    控制  器 S AD+W      RA       S AD+R            NACK P

    外设           ACK      ACK          ACK 数据  

    BQ 读取-控制器需要额外的 ACK、然后发送 PEC。

    控制  器 S AD+W      RA       S AD+R            ACK       NACK P

    外设           ACK      ACK          ACK 数据        PEC

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

    您好 Todd、

    使用 PEC 时正确。 请注意、PEC 是可选的、这使其看起来类似于 EEPROM 读取、适用于可能不支持 PEC 的系统。 我们建议尽可能使用 PEC。

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

    是否有办法使 PEC 成为要读取的第3个字节、以便在寄存器读取2个字节时读取第3个字节、即 PEC? 换句话说、控制器是否需要 ACK?

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

    是的、这应该起作用。 PEC 是自动的。 如果控制器发送 ACK、则监测计将发送 PEC。