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:获取整个数据存储器寄存器校验和的建议方法(完整性检查)

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1517156/bq76952-recommended-way-to-obtain-checksum-for-the-entire-data-memory-registers-integrity-check

器件型号:BQ76952

工具/软件:

您好、

我们的 BMS 具有 BQ76952 (AFE)、我们开发了一个单独的工具(即 AFE 编程器)、用于在生产过程中对 AFE 执行 OTP 编程。 为了确保正确配置 AFE、我们希望实现一个逻辑来验证整个数据存储器寄存器的完整性。

一种可能的方法是读取所有数据、将数据存储在大缓冲区中、在 AFE 编程器和 BMS 中计算校验和、然后比较结果。 但是、这会引入大量代码来实现完整性检查。

鉴于此、AFE 中是否有可帮助更高效地实现此目的的内置功能?

任何建议都将不胜感激。

此致、

李庆宰

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

    尊敬的 Kyungjae:

    只是为了确保、您是希望在生产期间(一次)执行此操作、还是希望在系统中持续执行此操作(多次?)

    如果它只是在生产期间(一次)、子  命令0x005 STATIC_CFG_SIG ()子命令可以帮助您查找所需的内容。

    它为静态配置数据计算数字签名并将其与存储的值进行比较。 如果结果与存储的签名不匹配、则设置返回的 MSB。 遗憾的是、该子命令将排除校准值、因此您可能仍需要通过读取寄存器来手动检查这些值。  

    您还需要在将 OTP 写入器件后了解签名、但是、拥有签名后、您可以重置器件(让它上传其 OTP 设置)、并在写入可能更改签名的任何其他命令之前使用此子命令进行检查。

    有关此命令的更多信息、请参阅  表12-23. 子命令表(续)  某个参数。  

    此致、
    Alexis

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

    尊敬的 Alexis:

    感谢您的答复。 让我为您提供一些背景信息。 我们的 BMS 编程过程包含以下两个步骤:

    1. (通过我们的定制工具)对 AFE 执行 OTP 编程

    2. 对 BMS 的微控制器进行编程

    在初始化阶段、BMS 微控制器上运行的固件会尝试验证 OTP (或数据)存储器的内容是否与步骤1中编程的内容相匹配、并且没有发生意外的更改。

    在我们的当前实施中、BMS 微控制器固件会读回 OTP 编程参数、并将每个参数与其预期值进行比较。 然而、该方法的局限性在于其不对未经更改的数据存储器寄存器进行验证。 因此、如果这些寄存器中的任何一个被意外更改或损坏、我们就无法检测到它。

    因此、我在步骤1 (在 AFE 编程之后)寻找一种方法来生成 OTP 存储器的签名、然后在 BMS 微控制器初始化阶段比较该签名以验证存储器完整性。

    如您所述、使用0x0005 STATIC_CFG_SIG ()似乎是一个诱人的选择、但它不包括校准值这一事实让我感到担忧。 在这种情况下、"校准值"的含义是什么?

    是否有方法可以获取 OTP 的数字签名或这种使用情况?

    谢谢您、

    李庆宰