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.

[参考译文] ADS131A04:CRC 计算

Guru**** 2393725 points
Other Parts Discussed in Thread: ADS131A04

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/756466/ads131a04-crc-calculation

器件型号:ADS131A04

如何计算 CRC 数据。

我尝试在数据表第40页上阅读它、但不清楚。

是否有人可以举个例子来说明这一点?

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


    ADS131A04中实现的 CRC 是 CRC 标准。 如果您在 Wikipedia 中查找 CRC、则会发现此特定实现被描述为 CRC-16-CCITT。 如果将 CRC-CCITT 谷歌搜索、您甚至可以找到代码来生成 CRC 数据。

    回读数据时、计算 CRC 字节并将其与器件生成的 CRC 字节进行比较、以确保通信未损坏。


    吴约瑟
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我找到了如何计算 CRC-16-CCITT。 但是、我认为在数据表上计算 CRC 的步骤与 wiki 上的标准 CRC-16-CCITT 不同。 因此、我不确定哪一个是正确的、或者我理解不正确。
    计算 CRC 数据将被移位1位、然后检查 MSB。 但数据表的第一步是将数据移位8位。
    2.为什么第一步 XOR the FFFFh? 我认为应该是1021h
    3、我们是否需要在尾添加16位逻辑0来计算 CRC?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Nopphon、


    这可能需要一些时间来验证 CRC 方法。 我要承认、我很少在器件中处理 CRC、在这些情况下、CRC 是不同类型的 CRC。

    让我看一下 ADS131A04 CRC、我将看到是否可以验证生成的 CRC 输出。 我很快会回来的。


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


    我同意您的看法、即数据表有点令人困惑。 我花了一段时间、但我最终能够生成从与器件的某种通信中获取的 CRC 字。

    与使用数据表中的描述不同、更容易地说它是 CRC-CCITT (Xmodem)。 输出 CRC 由器件以相反顺序字节报告。 使用 google、您应该能够找到几个 CRC 计算器来报告 CRC (没有反转字节)。 您还应该能够找到一些用于计算 CRC 结果的代码示例。


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

    好的。 我明白了。

    因此、我将使用 CRC-CCITT (Xmodem)的示例代码。