主题中讨论的其他器件:EV2400、 BQ78350、BQSTUDIO
你好
我们正在开发使用 bq78350R2的电池。 在 BMS 板上、我们有一个 MCU、可处理各种任务、并充当与外部世界的 SMBus 网关。
通过 PC 进行通信(使用 EV2300或 EV2400)时、我们在 ReadSMBusBlock 由于 PEC 而调用函数。
例如、我们愿意读取 MAC 命令0x0071:我们的 MCU 将发送从 bq78350读取的正确字节数并正在正确计算 PEC、但出于某种原因、 bq80xRW.ReadSMBusBlock 读取时返回错误3 (坏 PEC)。
沮丧的是、如果我们在 bqStudio 中使用同样的硬件、我们注意到:
- bqstudio 在发送 MAC 写入命令44 71 00时根本不会发送 PEC
- bqstudio 正确接收我们的 MCU 发出的34个字节、忽略我们计算并包含在消息中的 PEC。 我们之所以能够证实这一点、是因为我们还设法特意发送了错误的 PEC、而且此类通信始终与 bqStudio 兼容。
请注意、测量仪表具有已禁用 HPE 位的 Settings.Configuration.SmbConfiguration。
问题是:我们如何使用 bq80xRW.ReadSMBusBlock 没有在协议中进行 PEC 检查,我们软件中的 PECH 函数是怎样的?
提前感谢
彼得罗