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:CC2电流测量值损坏

Guru**** 2398745 points
Other Parts Discussed in Thread: BQ76952

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1466113/bq76952-corrupted-cc2-current-measurements

器件型号:BQ76952

工具与软件:

我们使用 S32K144处理器、通过 SPI 与 BQ76952通信。 我们每10ms 读取一次 CC2电流、发现随机接收到的数据似乎损坏/错误。

在电池空闲时、我们预计电流为0A +/-几 mA。 这正是我们在下面的 SPI 日志中大部分时间读取的内容:

(注意、0x55是传输的虚值)

1. CC2测量0A.

主站输入 MISO
3A 55 D7 3B 00 6E
3A 55 D7 3A 00 7B
3B 55 C2 3A 00 7B
3B 55 C2 3B 00 6E

2.测量-1mA

主站输入 MISO
3A 55 D7 3B FF 9D
3A 55 D7 第88章一个条件
3B 55 C2 第88章一个条件
3B 55 C2 3B FF 9D

3. CC2测量1mA

主站输入 MISO
3A 55 D7 3B 00 6E
3A 55 D7 3A 01 7C
3B 55 C2 3A 01 7C
3B 55 C2 3B 00 6E

不过、接收到的数据有时是0xFF00或0x00FF、如下所示:

1. CC2测量值-2.56A

主站输入 MISO
3A 55 D7 3B 00 6E
3A 55 D7 3A 00 7B
3B 55 C2 FF FF FF 00
3B 55 C2 FF FF FF 00
3B 55 C2 FF FF FF 00
3B 55 C2 FF FF FF 00
3B 55 C2 FF FF FF 00
3B 55 C2 3B FF 9D

2. CC2测量值2.55A

主站输入 MISO
3A 55 D7 3B FF 9D
3A 55 D7 第88章一个条件
3B 55 C2 FF FF FF 00
3B 55 C2 FF FF FF 00
3B 55 C2 3B 00 6E

这些测量干扰每次出现在单次测量中、并且随机发生。 好像读取请求是在更新 CC2寄存器时来的、导致返回的数据不完整。 对于如何避免此问题、您有什么建议吗?

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

    Dan、您好!

    0xFF00通常向控制器指示发送缓冲区在事务发生之前未由内部逻辑更新。 第9.3.1节 SPI 协议  中的 TIDA-01547  说明了有关这方面的更多信息。

    0x00FF 异常。 您是否还能提供这些事务的逻辑分析仪文件?

    此致、
    Alexis

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

    您好、Alexis、我附上了完整的 SPI 日志。 我知道 FF FF FF 00表示器件繁忙且数据未更新、因此我不断重复该请求、直到器件使用真实数据(寄存器地址3B、数据、有效校验和)进行响应。 我发现有趣的是、器件在请求的第二个字节(即寄存器3B)而不是第一个字节(寄存器3A)上以 FF FF 00进行响应。

    谢谢

    e2e.ti.com/.../spi_5F00_log_5F00_01.csv

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

    您好、Alexis、我认为我解决了这个问题。 我更改了重试机制、以重试整个命令、而不仅仅是当前传输。 也就是说、如果器件在读取传输的第二个字节(例如寄存器3B)上报告 FF FF 00、那么我将再次开始请求第一个寄存器(3A)、然后请求第二个寄存器。 我觉得文件中应该对这种行为做出更清晰的解释。

    e2e.ti.com/.../spi_5F00_log_5F00_02.csv

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

    Dan、您好!

    很高兴你找到了解决方案。 我想可能发生的情况是您正在读取测量的第一个字节-->测量更改-->然后您正在尝试读取新测量的第二个字节。

    此致、
    Alexis