ZHCSMK4B September 2022 – January 2025 ADS131B26-Q1
PRODUCTION DATA
ADS131B26-Q1 在输入和输出数据上都具有循环冗余校验 (CRC) 引擎,以减少 SPI 通信错误。总的来说,有三种不同的 CRC,其宽度均为 16 位:
命令 CRC 会涵盖命令字(即每帧中 SDI 上的第一个字)。WREG 命令是一种需要额外寄存器数据 CRC 的特殊情况。寄存器数据 CRC 会涵盖在命令 CRC 字之后传输的寄存器数据字。输出 CRC 会涵盖输出 CRC 字之前 SDO 上的所有字。CRC 还会涵盖所有补零位。
器件会检查提供的命令 CRC,以及(对于 WREG 命令)寄存器数据 CRC(基于接收到的输入数据,根据内部计算出的 CRC)。如果 CRC 字不匹配,则会发生 CRC 错误。如果命令 CRC 或寄存器数据 CRC 校验失败,则器件不执行任何命令。在输入数据出现 CRC 错误的所有情况下,器件都会在 STATUS_MSB 寄存器中设置 SPI_CRC_FAULTn 位。
发生 CRC 错误的帧之后的 SPI 帧中输出的响应是 NULL 命令的响应,这意味着在下一个 SPI 帧中输出 STATUS 字以及 ADC1A、ADC1B、ADC3A 和 ADC3B 的转换数据。SPI_CRC_FAULTn 位作为 STATUS 字的一部分输出,以立即指示前一帧中发生了 CRC 错误。SPI_CRC_FAULTn 位会在下一个 SPI 帧中自动清除。
有两种类型的 CRC 多项式可用:CCITT CRC 和 ANSI CRC (CRC-16)。CRC 多项式设置决定了全部三个 CRC 的算法。CRC 类型使用 CRC_TYPE 位进行编程。表 7-24 列出了两种 CRC 类型的详细信息。
CRC 计算使用 FFFFh 的种子值进行初始化,以在 SDI 或 SDO 始终为低电平时检测错误。
| CRC 类型 | 多项式 | 二进制多项式 |
|---|---|---|
| CCITT CRC | x16 + x12 + x5 + 1 | 0001 0000 0010 0001 |
| ANSI CRC | x16 + x15 + x2 + 1 | 1000 0000 0000 0101 |