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.

[FAQ] [参考译文] [常见问题解答] BQSTUDIO:如何解读 bq.fs / df.fs 文件中用于 I2C 或 HDQ 监测计的行?

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1107251/faq-bqstudio-how-do-i-interpret-the-lines-in-a-bq-fs-df-fs-file-for-use-with-my-i2c-or-hdq-gauge

器件型号:BQSTUDIO

我使用 Battery Management Studio (bqStudio)为 I2C/HDQ 电量监测计生成了一个 bq.fs 和 df.fs 文件。 TI 文档表示主机处理器可以使用此文件更新电量监测计。 该文件的格式是什么?如何使用它?

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

    I2C/HDQ 的闪存流文件格式

      一、导言

    以下各节介绍了 I2C 或 HDQ 的 TI BMS FlashStream 文件的文件格式。 Flashstream 文件的示例包括 bq.fs、df.fs 和 gm.fs 文件。 这些文件包含更新设备指令闪存(IF)或数据闪存(DF)所需的 I2C 或 HDQ 操作说明。 I2C 命令和 HDQ 命令之间的唯一区别是 HDQ 命令不包含 i2cAddr 参数。 除非另有说明、否则本文档引用了 I2C 命令。 要确定相应的 HDQ 命令、只需删除 i2cAddr 参数(如果存在)。

    2.  文件结构

    Flashstream 文件是一个包含命令和数据的 ASCII 文本文件。  文件的每一行都代表一个命令、并可能代表 XX 字节的数据、如下所述。  任何行都不包含超过96个数据字节。  每行的前两个字符表示命令,然后是“:”。

     

    “W:”–表示该行是写入一个或多个字节数据的命令。

    “C:”–表示该行是读取和比较一个或多个数据字节的命令。

    “X:”–表示线路是一条命令,用于等待给定的毫秒数后再继续。

     

    空白用于分隔 Flashstream 文件中的字段。  每行包含一条以上命令、且只有一条。

    3.  写入命令

    写入命令“W:”指示主机将一个或多个字节写入给定的 I2C 地址和给定的寄存器地址。  此序列的格式为:

     

    “W: i2cAddr RegAddr Byte0 Byte1 Byte2…”。

     

    例如、以下内容:

     

    W:AA 55 AB CD EF 00

     

    指示主机应将字节序列0xAB 0xCD 0xEF 0x00写入器件在0xAA 寻址的寄存器0x55。

     

    或者更准确地说、它表示将以下数据写入器件地址0xAA:

    0xAB 到寄存器0x55

    0xCD 到寄存器0x56

    0xEF 到寄存器0x57

    0x00到寄存器0x58

     

    4.  读取和比较命令

    读取和比较命令的格式与写入命令相同。  此命令提供的数据应与读取的数据完全匹配、或者操作应随用户停止并向用户指示错误。  此序列的格式为:

    “C:i2cAddr RegAddr Byte0 Byte1 Byte2…”。

     

    字节序列字节0到字节 N 是要匹配的字节。

    要读取的字节数是要匹配的字节数。 “C:”指示主机从给定的 I2C 地址和给定的寄存器地址读取给定数量的字节,并将读取的字节与 RegAddr 后面的字节进行比较。

     

    此命令的示例如下:

     

    C:AA 55 AB CD EF 00

     

    指示主机应从位于0xAA 的器件寄存器0x55中读取4个字节、并将读取字节序列与字节序列0xAB 0xCD 0xEF 0x00进行比较

     

    或者更准确地说、它表示从器件地址0xAA 读取和比较以下数据:

    0xAB 应等于从寄存器0x55读取的值

    0xCD 应等于从寄存器0x56中读取的值

    0xEF 应等于从寄存器0x57读取的值

    0x00应等于从寄存器0x58读取的值

     

      5. WAIT 命令

    WAIT 命令指示主机应等待给定毫秒数的最短时间、然后再继续执行闪存流的下一行。  例如、以下内容:

     

    X:200

     

    指示主机必须等待至少200ms 才能继续。

     

    注:“X:”后面的数字是一个十进制数字。 这与所有其他命令不同。 通常、除此命令外、所有字节都指定为十六进制值。