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.

[参考译文] BQ27426:无法设置模板

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/615561/bq27426-failing-to-set-temps

器件型号:BQ27426

您好!

我正在尝试将 temps 寄存器设置为使用主机提供的电池温度、但我没有这样做。

我将使用与写入"state"和"RA"子类相同的过程写入"release"子类。 首先解封器件、然后使用偏移0设置子类、然后写入寄存器数据的5个字节(使用默认值)、再次设置子类、以便计算校验和、 然后从器件读取校验和、以检查其是否与我的匹配。 BQ27426使用 NACK 对 I2C 写入做出响应、校验和不匹配、即使已正确计算校验和。

这就是我要写入"register"子类(默认值)的内容:

[ 0x64、0x78、0x0F、0x9F、0x23]

校验和为0x52。

我出了什么问题? 子类是否具有也包含在校验和中的隐藏寄存器?

谢谢

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

    是的、Registers 子类具有多个私有值、这些值必须包含在校验和计算中、因此您的方法不起作用。

    最简单的方法是将整个块(32字节)读取到本地缓冲区中、更改 temps 的 OpConfig 设置、计算所有32字节上的新校验和、并写入整个块和校验和。

    或者、您也可以从第4.1章 www.ti.com/.../sluubb0.pdf 中实现更复杂的参数更新序列