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.

[参考译文] BQ35100:在累加器模式下获得错误测量值

Guru**** 2538950 points
Other Parts Discussed in Thread: BQ35100

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1171119/bq35100-getting-incorrect-measurements-in-accumulator-mode

器件型号:BQ35100

您好!

我无法通过 BQ35100电量监测计进行测量。  我使用的是默认配置中的器件(累加器模式)。  软件执行以下步骤:

  1. 器件加电
  2. 燃油表使能引脚设置为高电平
  3. 由于 INITCOMP = 1、器件等待 nAlert 引脚变为低电平(超时为1秒)
  4. 读取 CMD 电池状态和电池警报以清除警报标志
  5. 器件等待 nAlert 再次变为高电平(超时为1秒)
  6. 监测计启动命令被发送到电量监测计
  7. 设备使用调制解调器执行简单的任务以检查当前时间
  8. 仪表停止命令被发送到电量监测计
  9. 读取 CMD 电池状态和电池警报以清除警报标志
  10. 由于 GDONE = 1 (超时时间为1秒)、器件等待 nAlert 引脚变为低电平
  11. 读取 CMD 电池状态和电池警报以清除警报标志
  12. 器件等待 nAlert 再次变为高电平(超时为1秒)
  13. 设备请求累积容量值
  14. 器件执行0xFFFFFFFF -累积容量、以获取测试期间使用的电荷
  15. 燃油表使能引脚设置为低电平
  16. 器件恢复睡眠

我刚刚进行了两次测量、第一次测量时、我在设备中安装了调制解调器(设备上最大的功率接收器)、第二次测量时、调制解调器被移除。  如果调制解调器没有响应、则不存在等待情况或重试情况、因此无论是否连接了调制解调器、设备都应执行完全相同的操作。  在安装了调制解调器的第一种情况下、使用了指示为13954uAH 的器件;在没有调制解调器的第二种情况下、使用指示为14151uAH 的器件。

器件未校准、因此使用默认校准和默认模式(累加器模式)。  我是否缺少任何步骤来从电量监测计获取累积的电量测量值?  nAlert 引脚状态上的1秒超时是否太短?

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

    您好 Chris、

    在未校准的器件上、可能存在一个(偏移)电流、该电流将在无负载时出现。

    请参阅 TRM 中的第5.1.1节

    当 GE 引脚被置为有效时、器件将从数据闪存中存储的值更新 AcculatedCapacity()。 设置 ControlStatus()[GA]时,设备会将每个库仑计数器测量值添加到 AcculatedCapacity()的值中。

    因此、被读取的值包括之前累积的值+新的值。

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

    有道理。  我之前做过一些测试、觉得每次计数器都要重置、但看起来不是这样。  安装新电池时、是否有方法设置累积容量编号?  编号0xFFFFFFFF 或4294967295uAH 远超我的电池所能容纳的电流。  我已尝试更新存储在0x41FE (电池设计容量 mAh)的值、我可以看到该值已更改、但累积容量中的值不受影响。

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

    您好 Chris、

    请参阅 bq35100的技术参考手册(TRM)

    在数据存储器中设置设计参数以匹配电池。

    要从新电池开始、请尝试 new_battery 命令。 否则、请使用 RESET 命令、然后发送 new_battery 命令。

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

    我能够更新0x41FE 数据闪存中的电池设计容量、以匹配我使用的 mAh 电池容量。  执行此操作后、我发送新电池命令、UAH 中报告的累积容量仍然过大。

    我将尝试使用 RESET 命令、但根据技术参考手册、我必须解封器件才能将其复位。

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

    我的电量监测计初始化例程现在设置为以下值:

    1. 燃油表使能引脚设置为高电平
    2. 由于 INITCOMP = 1、器件等待 nAlert 引脚变为低电平(超时为1秒)
    3. 读取 CMD 电池状态和电池警报以清除警报标志
    4. 器件等待 nAlert 再次变为高电平(超时为1秒)
    5. 监测计启动命令被发送到电量监测计
    6. 将电池容量闪存地址写入 MAC、然后写入以 mAh 为单位的新更新容量
    7. 将补码和长度加4写入 MAC 数据和
    8. 再次将 Cell Capacity Flash Address 写入 MAC
    9. 读取 MAC 以确认地址设置正确
    10. 读取 MAC 数据以确认闪存已正确更新为新的容量值
    11. 将解封密钥地址写入 MAC
    12. 读取 MAC 以确认地址设置正确
    13. 读取 MAC 数据、将密钥解锁到存储器中
    14. 以小端序将第一个 unseal 密钥写入 Control
    15. 将第二个 unseal 密钥以小端序写入 Control
    16. 以小端序写入复位以进行控制
    17. 以小端字节序写入新电池以进行控制
    18. 阅读 Design Capacity 命令并确认其设置为更新的值
    19. 读取累积容量命令并确认它现在设置为0。

    我可以使器件读取正确的设计容量、但无法使器件读取正确的累积容量

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

    下面复制的是我的设备运行时的打印输出日志

    i2cfulgauge _app_init()完成,带有标志0

    向闪存写入新容量值38000

    消息结构为 FE、41、94、70

    i2cfulgauge _app_init ()闪存写入补码 BC 和长度6、带有标志0

    i2cfulgauge _app_init()闪存写入标志0

    i2cfulgauge _app_init ()写入补码和长度加4、带标志0

    i2cfulgauge _app_init ()复位闪存地址标志0

    i2cfulgauge _app_init ()读取地址为0x41FE 和标志0的闪存地址

    i2cfulgauge _app_init ()读取值为0x9470和标志0的闪存

    将闪存地址更改为使用标志0解锁寄存器

    i2cfulgauge _app_init ()读取地址为0x41CC 和标志0的闪存地址

    i2cfulgauge _app_init ()读取值为0x4143672和标志0的闪存

    取消密封1与标志0一起完成

    取消密封2与标志0一起完成

    用标志0完成复位

    新电池完成、并带有标志0

    电池设计容量= 38000

    电池累积容量= 0uAH

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

    您好 Chris、

    使用 bq35100有2个器件

    1.初始化和写入参数-在连接电池后立即执行此操作。 这是您提到的最后一个"初始化例程"。 最后、您最初得到的值为0、这是正确的。

    2.加载操作:这是蓄能器模式进行测量和更新数据的地方。 这是在该线程中首先发布的过程。 这是由主机系统完成的、以读取累积的容量。 每次放电都会重复此过程

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

    是否有办法向数据闪存写入一个值以设置累积容量的起始值?

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

    您好 Chris、

    累计容量寄存器为只读。

    此致、

    Wyatt Keller

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

    当我使用新电池命令时、是否有办法让芯片更改累积容量寄存器以匹配设计容量?  那么、我可以让计数器与新电池的 mAh 相匹配吗?

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

    您好 Chris、

    如果您需要这种功能、我建议在主机侧进行偏移。 当接收到新的电池命令时、它将始终清除累积寄存器。 采用设计容量-累加电荷

    此致、

    Wyatt Keller