ZHCSR89B December 2022 – January 2025 ADS131B23
PRODUCTION DATA
ADS131B23 中的寄存器映射 CRC 检测寄存器射映内容中的意外变更。寄存器映射分为四段。
0 段包含根据器件状态或 ADC2y 转换数据更新值的只读位。因此,0 段不提供任何寄存器映射 CRC 校验。
1 至 3 段包含器件配置位并提供独立的 CRC 校验。使用 REG_MAPx_CRC_EN(x = 1 到 3)位为每个段启用寄存器映射 CRC。启用段寄存器映射 CRC 后,器件将不断计算该寄存器映射段的 16 位 CRC 值,并将内部计算结果与用户在 REG_MAPx_CRC_VALUE[15:0] 位字段中提供的 CRC 值进行比较。如果内部计算结果与 REG_MAPx_CRC_VALUE[15:0] 不匹配,则 REG_MAPx_CRC_FAULTn 设置为 0b。发生寄存器映射段 CRC 故障时,器件不会执行其他操作。
CRC 计算从相应寄存器段中第一个寄存器的 MSB 开始,到相应寄存器段中最后一个指定寄存器的 LSB 结束,使用在 CRC_TYPE 位中选择的多项式。表 7-17 显示了每段中的寄存器映射 CRC 所涵盖的确切寄存器。有两种类型的 CRC 多项式可用:CCITT CRC 和 ANSI CRC (CRC-16)。有关 CRC 多项式的详细信息,请参阅 通信循环冗余校验 (CRC) 部分。CRC 计算使用种子值 FFFFh 进行初始化。
| 寄存器段 | 寄存器映射 CRC 涵盖的寄存器 |
|---|---|
| 0 | 不适用 |
| 1 | 40h 至 59h |
| 2 | 80h 至 A3h |
| 3 | C0h 至 E3h |
CRC 计算以串行方式执行,每个 OSCD 周期一个寄存器映射位。因此,意外位更改不会立即显示在 REG_MAPx_CRC_FAULTn 故障标志中,但可能需要 tp(REG_MAP_CRC)。
使用以下过程,在不会意外导致 REG_MapX_CRC_FAULTn 指示的情况下更改段 1 到 3 中的寄存器位:
也可以在启用寄存器映射段 x CRC 时更改段 x 中的寄存器位,如以下过程所述,但可能会导致意外的 REG_MAPx_CRC_FAULTn 指示。