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.

[参考译文] BQ34Z100-G1:配置不适用

Guru**** 2482225 points
Other Parts Discussed in Thread: BQ34Z100-G1, EV2400, BQSTUDIO, GPCCHEM, GPCRB

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/689548/bq34z100-g1-configuration-does-not-apply

器件型号:BQ34Z100-G1
主题中讨论的其他器件: EV2400BQSTUDIOGPCCHEMGPCRB

您好!
我在包含 TI MSP43053359的定制设计中使用 Bq34z100-G1电池电量监测计。
我是第一次尝试使用 MSP430 I2C 配置监测计、但没有成功。

下面是配置两个值的步骤:设计容量和设计能耗。 这些条目位于 ID 为48的子类中。

读取监测计时、我希望获得所有默认值、因为我以前从未配置过它。
不过、正如您将看到的、这并不是我的结果。

首先、我启用块数据、将0x61和0x00写入 I2C 地址。

然后、我将目标子类作为块数据:WR 0x3E 0x30 (48 <=>0x30)

然后、我给出我的条目的偏移量(这里是0):WR 0x3F 0x00

然后、我从块数据地址(0x40)读取32个字节
以下是我获得的32个字节:
0x10 0x00 0x00 0x00 0x01 0x00 0x03 0x84 0x64 0x03 0xE8 0x15 0x18 0xFE 0x70 0x10 0x68 0x10 0x68 0x04 0x0A 0x32 0x1E 0x00 0x2D 0x37 0x01 0x0B 0x97

根据电池电量监测计的文档、以下是预期的32字节
0xxx 0xxx 0x00 0x00 0x00 0x01 0x00 0x03 0x84 0x64 0x03 0xE8 0x15 0x18 0xFE 0x70 0x10 0x68 0x10 0x04 0x0A 0x32 0x1E 0xF6 0x0A 0x2D 0x37 0x01 0x62

我注意到预期结果和我得到的结果之间发生了变化。
无论如何、由于设计容量和设计能的默认值易于识别、我可以在字节流中找到它们的位置。

因此、我更新字节流中的相应值并写入它们:

设计容量:bytes_stream[10]= 0xa0;byte_stream[11]= 0x28;

WR (0x40 + 10) 0xa0 0x28

设计能量:bytes_stream[12]= 0x4b;byte_stream[13]= 0x28;

WR (0x40 + 12) 0x4b 0x28

然后、我计算校验和:

0x10 + 0x00 + 0x00 + 0x00 + 0x0I1 + 0x00 + 0x00 + 0x03 + 0x84 + 0x64 + 0x03 + 0xE8 + 0x15 + 0x18 + 0xFE + 0x70 + 0x10 + 0x68 + 0x10 + 0x68 + 0x10 + 0x04 + 0x0A + 0x32 + 0x1E + 0x00 + 0x0A + 0x2D + 0x37 + 0x01 + 0x0B + 0x97 = 0x74

校验和= 0xFF - 0x74 = 0x8b

然后编写:

WR 0x60 0x8b

然后我重置量表:

WR 0x00 0x41 0x00

然后等待300毫秒。

但是、当我读回条目时、我 再次得到默认值:

0x10 0x00 0x00 0x00 0x01 0x00 0x03 0x84 0x64 0x03 0xE8 0x15 0x18 0xFE 0x70 0x10 0x68 0x10 0x68 0x04 0x0A 0x32 0x1E 0x00 0x2D 0x37 0x01 0x0B 0x97

我出了什么问题?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Aurelien、
    您的帖子已分配给我们的 BMS 专家之一。

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

    当您将与您在0x40-0x5F 中写入的数据相对应的正确校验和写入0x60时、它会将数据传输到您之前设置的 DataFlash 块。

    随附的电子表格可帮助您计算校验和以检查您的上述工作。

    另一个注意事项是、您的电压必须高于闪存更新正常电压设置、否则 FW 将阻止闪存写入(以防止可能的欠压)。  如果您使用铅酸、我们建议您设置闪存更新正常电压= 1000mV。  如果无法写入 Flash Update OK Voltage、则可以将监测计置于校准模式、使其忽略电压限制。  为此、您需要将 CAL_ENABLE (0x002D)子命令发送到0x00/0x01.e2e.ti.com/.../5516.DataFlash_5F00_write.xls

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

    大家好、感谢您的回答。 不幸的是,它没有帮助。

    我已经比较了我在程序中计算的校验和以及我从附加的电子表格中获取的校验和、并且发现了相同的结果。 无论如何、写入校验和不会使监测计接受我的配置、因为我在再次读取数据块时会获得默认值。
    关于闪存更新电压、我的电压远高于配置的电压。

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

    作为调试步骤、您是否能够在将 bqStudio 与 EV2400配合使用时将值写入数据存储器并读回它们?

    我们需要排除闪存更新正常电压是问题(防止写入数据存储器)。

    用于电池更新的值输入 OK 电压不是纯电压、而是依赖于包括分压器参数在内的许多变量。

    1) 1)请确认您能够保存值并从数据存储器读回这些修改后的值(最好使用 bqStudio 和 EV2400来减少潜在的错误来源)

    2) 2)如果在成功确认能够向数据存储器写入和读取修改后的值后错误仍然存在、请提供有关系统的更多信息、例如串联电池的数量、提供给器件的电压、 外部分压电阻值、并包含 gg.csv 文件。

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

    另一个注意事项、确保您处于正确的路径:

    只需使用您尝试的块访问方法配置少数 DataFlash 参数、便可获得良好的监测结果。  电池配置文件(也称为 ChemID)也需要进行编程、这些配置文件不在公共 DataFlash 位置、因此、如果您尝试直接修改一些 DataFlash 设置、您仍然没有正确的电池配置文件。

    建议使用.df.fs 文件通过 MCU 对 bq34z100-G1进行编程/配置。  它将包含整个 DataFlash 映像。  您可以使用 bqStudio 中的 Golden Image 插件导出.df.fs 文件。

    但是、在导出之前、您需要完成设置。  让我来了解一下使用此监测计进行开发的高级流程:

    使用 Data Memory 插件可根据需要为起点配置任意多的 DataFlash 参数。

    然后、按照 TI.com 中 GPCCHEM 的说明、在运行放松、放电、放松循环时、使用"Registers"选项卡记录数据。

    将包含支持文件的日志提交至 GPCCHEM、您将收到一封电子邮件、其中包含推荐的化学 ID 列表、供您从中选择与电池匹配的化学 ID。

    现在使用 bqStudio 中的 Chemistry 插件对匹配的最佳化学 ID 进行编程。  这将配置一些隐藏/静态参数。

    现在、您需要优化 Qmax 和 Ra 值。  有两种方法可以实现这一目的。  第一种方法是在 TI.com 上使用 GPCRA 工具(收集更多数据并上传)。  获取 GPCRA 向您发送的值、并使用 Data Memory 插件在监测计中编辑这些值。

    第二种方法是实际运行学习周期、并让监测计直接学习和更新 Qmax 和 Ra。

    如果您还希望确保优化低温性能、则还可以按照 TI.com 上 GPCRB 的说明进行操作。  它将向您发送一个为您的电池调整的.chem 文件、以及 T RISE 和 T 时间常数 DataFlash 参数的建议值、这些值与您收集数据的热环境中的电池自发热相匹配。

    您可能应该做一些测试来验证所有设置、优化此时会为您提供可接受的结果。

    一旦您对调优满意、就可以导出.df.fs 文件并使用 MCU 将其编程到真实系统中的监测计中。

    此应用手册中的 Flashstream 解析器中提供了解析.fs 文件和一些示例代码的说明:

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

    大家好

    我只想感谢您的帮助。 但是、问题出在 I2C 通信代码中。 正如我第一次怀疑的那样、我实际读取的数据与48数据块的预期数据之间的转换在 I2C 读取中造成了一个错误。 这是现在修复的、我可以按照记录的程序写入仪表的闪存。