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**** 2551110 points
Other Parts Discussed in Thread: BQ27426

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/851768/bq27426-problems-reading-and-writing-to-subclass-areas

器件型号:BQ27426

我在上一个主题中了解了数据表如何不正确以及容量是在46 47个地址。  我遵循了  

bq27426
技术参考

第18页用于设置电池设计容量、但无法读取数据。  我用汇编语言编写所有内容、因此除非数据表不正确、否则这应该非常直接。

当我在启动后读取控制状态字节时、我将 SS 位设为低电平、这意味着它是非密封的。  这似乎非常奇怪。  因此、我通过发送一个20命令序列(AA 00 20 00)对其进行了密封。  SS 位升高。  我发送了序列 AA 00 00 80两次、SS 位被清零。

然后、我发送 AA 00 13 00。  我读取06标志并看到位4变为高电平。  在我第一次读取06之前、这个位变为高电平、我认为这可能是一个问题、因为这可能需要一秒钟的时间。

我发送 AA 61 00、 AA 3E 52、AA 3F 00

然后、我发送 AA 60 AB、然后读取校验和的字节。  它始终返回为00。

我还尝试读取46和47、但同时也总是获得00。

任何想法都是错误的。  我可以读取常规 RAM 中的所有字节、如 FullChargeCapacityUnfiltered ()和 StateOfChargeUnfiltered ()。  但我无法读取子类82的缓冲区、以获得46 47 48和49的电池容量和能量。

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

    尊敬的 Ron:

    我们的软件专家将在两天内对此作出答复。

    谢谢

    Onyx

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

    您好!

    如果只想读取参数、则不必发送校验和。 设计容量为子类0x52、偏移量6和7 (两字节大端字节序无符号整数)

    如果要读取设计容量、请向器件地址0xAA 发出以下 I2C 写入命令:

    1、选择子类0x52和块0:将0x52和0x00写入寄存器0x3E 和0x3F。

    2.从寄存器0x46和0x47中读取两个字节。 这两个字节将是设计容量。

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

    这与我说过的不同吗?   请阅读我的整个问题。

     我选择子类0x52和块0:将0x52和0x00写入寄存器0x3E 和0x3F。

    然后我尝试读取46和47、但只得到00 00响应。

    我的完整命令字符串为:

    我发送 AA 61 00、 AA 3E 52、AA 3F 00

    然后、我尝试通过首先发送序列 AA 46 AB 来读取46和47、并读取46个内容的字节。  对于我尝试读取的所有内容、我都会收到一个00。

    一旦我能够读取这些值和校验和、我希望将46和47以及校验和更改为新值。

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

    监测计是否密封? 您的 CONTRAL_STATUS[SS]位是什么?