ZHCSSQ6 December 2025 ADS122C14
PRODUCTION DATA
ADS1x2C14 在向控制器发送转换数据或寄存器数据时可输出 8 位循环冗余校验 (CRC) 代码,以检测传输错误。使用 I2C_CRC_EN 位启用 I2C CRC。器件分别在转换数据或寄存器数据之后附加 CRC 字节,如图 7-19、图 7-20 和图 7-22 所示。
用于计算 CRC 代码的字节数取决于帧中传输的数据量。表 7-11 显示了 CRC 计算中包含的数据。
| 操作 | 器件分辨率 | 状态标头已启用 | CRC 涵盖的数据 |
|---|---|---|---|
| 转换数据读取 | 16 位 | 否 | 16 位转换数据 + 8 位补零 |
| 是 | 16 位 STATUS 标头 + 16 位转换数据 + 8 位补零 | ||
| 24 位 | 否 | 24 位转换数据 | |
| 是 | 16 位 STATUS 标头 + 24 位转换数据 | ||
| 寄存器数据读取 | 16 位或 24 位 | 不适用 | 8 位寄存器数据 |
CRC 代码值计算是可变长度参数与 CRC 多项式进行逐位异或 (XOR) 运算后的 8 位余数。CRC 基于 CRC-8-ATM (HEC) 多项式:X8 + X2 + X1 + 1。多项式的九个系数为:100000111.CRC 计算初始化为全 1,以便在 SDI 和 SDO/DRDY 始终处于高电平或低电平时检测错误。
图 7-24 展示了 CRC 计算的直观表示。下面是计算 CRC 值的过程:
可从此处下载的示例 C 代码包括可能的 CRC 实现。
写入器件的寄存器数据不受 CRC 保护。要在写入器件时检测传输错误,请在写入寄存器后读回寄存器数据。