Other Parts Discussed in Thread: BQ76952, BQSTUDIO
主题中讨论的其他器件:BQ76952、 BQSTUDIO
我正在使用 BQ Studio 读取和写入 bq76952的寄存器。 当前通信模式为默认模式、即 I2C。 当我使用命令序列选项卡发送任何命令读取/写入时、它会提供 CRC (十六进制)。 如何根据给定的文档方法计算它、还会生成其他一些东西。
做不必要的事
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.
Other Parts Discussed in Thread: BQ76952, BQSTUDIO
我正在使用 BQ Studio 读取和写入 bq76952的寄存器。 当前通信模式为默认模式、即 I2C。 当我使用命令序列选项卡发送任何命令读取/写入时、它会提供 CRC (十六进制)。 如何根据给定的文档方法计算它、还会生成其他一些东西。
做不必要的事
您好 Dileep、
您的图像未显示在帖子中。 是否可以尝试重新发送图像?
我在软件开发指南(请参阅第4节)中确实有几个 CRC 示例: https://www.ti.com/lit/an/sluaa11/sluaa11.pdf
其中一个示例显示了您正在尝试的相同的电池1电压读取(命令0x14):
0x10 0x14 0x11 0x68 0x33 0x0B 0x31。 在这个序列中、0x33是[0x10 0x14 0x11 0x68]的 CRC、0x31是第2个字节[0x0B]的 CRC。
此示例使用重复起始。 如果您的事务具有 I2C 停止、然后是开始、它将更改第一个 CRC 计算(不包括0x10 0x14)。
此致、
Matt
您好 Dileep、
我看到混乱在哪里。 在命令序列屏幕的 BQStudio 中显示的 CRC 有所不同-它不是器件返回的实际 CRC。 我不能完全确定为什么在"Command Sequence"(命令序列)窗口中显示此信息。 我想您在 I2C 总线上看到了奇怪的 CRC。
我认为 BQStudio 中的该值是数据字节总和的倒数之和。 例如、NOT (0xEA + 0x0D)= 0x08。
默认情况下、BQ76952未启用 CRC。 如果通过将 Comm Type 更改为0x12来启用它、然后单击 SWAP_COMM_MODE 命令并重新启动 BQStudio、则器件将在 CRC 模式下与 BQStudio 通信。 当您使用0x14命令读取 CELL1电压时、I2C 读取将显示2个不同的 CRC 字节、正如我在上次答复中所描述的那样。 "Command"窗口不会显示来自 I2C 总线的 CRC。
CC2读数每3ms 更新一次(如果 FASTADC=1、则每1.5ms 更新一次)。
此致、
Matt