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.

[参考译文] AM2634:对 MCRC 模块的怀疑

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1526527/am2634-doubts-regarding-mcrc-module

器件型号:AM2634

工具/软件:

嗨、jagadish、  

  初始值是否会从多项式更改为多项式?

 例如:多项式类型:SAEJ1850 CRC -> 初始值:0x00

             多项式类型:H2F Autosar 4.0 ->初始值:0xFF  



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

    尊敬的 Sravya:

      初始值是否会从多项式更改为多项式?

     例如:多项式类型:SAEJ1850 CRC -> 初始值:0x00

                 多项式类型:H2F Autosar 4.0 ->初始值:0xFF

    根据我的理解、该控制器的默认初始值是 0x00。 不过、我们可以通过软件轻松控制它。

    例如:

    如果初始值为 0x00、数据为 0x23、则生成的 CRC 是 0xA0 吗?

    如果初始值为 0xFF、数据为 0x23、则生成的 CRC 是 0x64 吗?

    若要获得该 0x64、另一种方法是、在查找表中验证可得出 CRC 为 0xFF 的数据值:

    您可以看到字节 126 (0x7E) 可以给出 0xFF 作为 CRC、对吧?

    因此、我们可以将此 0x7E 附加到实际数据、只使用初始值作为 0x00、这将产生与 0xFF 相同的结果。 请验证下图一次:

    这是因为、如果您在 CRC 生成过程中将 0xFF 保留为初始值、则意味着 (0xFF) 实际上会与数据的第一个字节进行异或运算、然后进行多项式除法、因此间接发生这种情况、我们在数据中包含 0x7E、这意味着 0x7E 的 CRC 只能是 0xFF、 这意味着 0xFF CRC 将由我们的第一个字节 0x7E 生成、然后它将与我们的下一个字节进行异或运算、然后处理将继续。

    --
    此致、
    Jagadish。

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

    尊敬的 Jagadish:

    上述情况适用于多项式0x2F,但它不适用于多项式0xF4ACFB13 (CRC 32bit )。 您可以检查下面的 CRC 32 位多项式的查找表、不0xFFFFFFFF存在用于查找索引的查找表。

    我的请求是为此 CRC 32 位多项式提供初始值 0xFFFFFFFF。





    此致、  
    K.Sravya.

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

    尊敬的 Sravya:

    以上案例适用于多项式0x2F,但它不适用于多项式0xF4ACFB13 (H2F AUTOSAR 4.0)。 [/报价]

    H2F AUTOSAR 4.0 多项式仅为 0x2F 吗?

    这意味着它只是一个 8 位 CRC。

    因此、CRC 表应仅如下所示。

    --
    此致、
    Jagadish。

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

    尊敬的 Jagadish:

      我的错、我被错误地称为 h2f autosar 多项式。 值为 0xF4ACFB13 的 CRC 32 位多项式。

    我已使用正确的命名编辑了上一个查询。 一次向量。

    谢谢你  

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

    尊敬的 Sravya:

    我从未对 32 位多项式进行过与初始值相关的任何测试。 也许我前面讨论的方法仅适用于 8 位多项式。

    留出一些时间来分析是否可以更改 32 位多项式的初始值。

    --
    此致、
    Jagadish。

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

    尊敬的 Sravya:

    在我的测试中、我发现 CRC-32 位的初始值和最终值已经 0xFFFFFFFF

    有关更多详细信息、请再次参阅下面的其他主题:

    (+) AM2634:MCRC 代码中的问题 — 基于 Arm 的微控制器论坛 — 基于 Arm 的微控制器 — TI E2E 支持论坛

    --
    此致、
    Jagadish。