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.

[FAQ] [参考译文] [常见问题解答] LMP90080:LMP90080中的 CRC 函数

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1414939/faq-lmp90080-crc-function-in-lmp90080

器件型号:LMP90080
主题中讨论的其他器件: LMP90100LMP90099、LMP90098、 LMP90097、LMP90079、 LMP90078LMP90077、

工具与软件:

您好!

我正在尝试使用 CRC 来确保 LMP90080上数据的完整性、但我的外部计算值与 ADC 提供的 CRC 值不匹配。

可能是什么原因?

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

    您好!

    LMP90080是16位 ADC、转换数据存储在寄存器地址0x1A 和0x1B 中。 地址0x1C 为 LMP90100系列器件保留、LMP90100系列器件是该器件的24位 ADC 版本:

    不过、LMP90080上的 CRC 计算使用与24位器件相同的协议、并在所有0x1A、0x1B 和0x1C 上执行 CRC。  

    启用 CRC 后(通过对 SPI_CRC_CN 字段、寄存器地址0x13进行写入)、应在同一 SPI 帧中同时读取寄存器0x1A (数据 MSB)、0x1B (数据 LSB)、0x1C 和0x1D (存储 CRC 值的寄存器 SPI_CRC_DAT)。

    CRC 多项式为 x^8 + x^5 + x^4 + 1。 SPI_CRC_DAT 寄存器的复位值为零、最终值在发出之前进行补数。  

    示例 CRC 计算:

    此致、

    天使

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

    此信息与整个器件系列有关、包括:

    • LMP90100
    • LMP90099
    • LMP90098
    • LMP90097
    • LMP90080
    • LMP90079
    • LMP90078
    • LMP90077
    • LMP90080-Q1

    此致、

    天使