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.

[参考译文] BQ76952:BQ76952通过 I2C 与 BqStudio 进行通信中的额外字节是多少

Guru**** 2463330 points
Other Parts Discussed in Thread: BQSTUDIO, BQ76952

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1191230/bq76952-what-is-extra-bytes-are-in-bq76952-communication-through-i2c-with-bqstudio

器件型号:BQ76952
主题中讨论的其他器件:BQSTUDIO

在将子命令发送到 BqStudio 时、会添加一些额外的字节、如何为每个子命令确定和计算这些数据? 我们无法在参考手册中找到。

我们尝试通过 STM32F103 MCU 获取数据、如果这些额外的字节未发送到 BQ76952、则会接收 NACK。 如果我们发送这些额外的字节、那么我们将获得正确的响应。

注意:对于直接命令、还需要对一些额外的字节进行 saned 和响应、接收一些额外的字节。

即、对于我们接收到的2字节数据、字节0和字节2是有效数据(分别为低字节和高字节)字节1和字节3是垃圾数据。

我们以正常模式(不使用 CRC 模式)进行通信

以下是一些命令和额外字节的详细信息:

命令名称

命令

低位字节

额外字节

较高字节

额外字节

固件版本

0x0002

0x02

0x83

0x00

0x00

FW_Build

0x0003

0x03

0x84

0x00

0x00

READ_CAL1

0xF081

0x81

0x03

0xF0

0xDE

Saved_PF_STATUS

0x0053

0x53

0x33

0x00

0x00

Drom_sig

0x0009

0x09

0xB2

0x00

0x00

此外、在下面查找总线跟踪:

对于子命令 firmware_version (0x0002):

对于子命令 saved_pF_status (0x0053):

对于子命令 DIM_SIG (0x0009)

对于子命令 READ_CAL1 (0xF081)

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

    Prabhu、您好!  

    您发送的直接命令还包括它在初始字节之后执行的 CRC 校验的结果以及之后的每个字节。  

    因此、您可以看到我们实际上处于 CRC 模式、其中每次计算都是7位8位器件寄存器地址(0x10)或0x08。

    话虽如此、您可以看到0x10+0x3E+(命令地址)->后跟 CRC 结果->检查下一个字节和 CRC 结果(如果数据跟随(0x00)、它将给出0x00作为 CRC 结果)。  

    最后一条命令在初始 CRC 计算后具有一个字节、因此该数据的结果 CRC 值也是0xDE。  

    这可以在该 CRC 计算器上验证、 其中器件寄存器是8位0x10值。

    请务必检查通信。 设置、并再次检查 CRC 是否未被其他硬件/软件设置。  

    最棒的  

    -Luis T

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

    在这里、我读取的通信设置类型为0x00、这意味着默认情况下是 I2C 通信、但 数据表中没有提到将启用 CRC。

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

    Prabhu、您好!

    您的器件上标记的器件型号是什么? 是 BQ76952还是 BQ7695202?

    谢谢、

    Matt