ZHCSU04 November 2023 DAC61401 , DAC81401
PRODUCTION DATA
如果在嘈杂的环境中使用该器件,则可以通过错误检查来检查该器件和主机处理器之间 SPI 数据通信的完整性。可通过设置 SPICONFIG 寄存器中的 CRC-EN 位来启用此功能。
错误检查方案基于 CRC-8-ATM (HEC) 多项式:x8 + x2 + x + 1 (100000111)。启用错误检查后,串行接口访问周期宽度为 32 位。将正常的 24 位 SPI 数据馈送到器件之前,主机处理器会在该数据后附加一个 8 位 CRC 多项式。在所有串行接口读回操作中,CRC 多项式作为 32 位周期的一部分在 SDO 引脚上输出。
位 | 字段 | 说明 |
---|---|---|
31 | R/W | 将通信标识为地址寄存器的读或写命令。 R/W = 0 设置写入操作。 R/W = 1 设置读取操作。 |
30 | CRC-ERROR | 保留位。设置为零。 |
29:24 | A[5:0] | 寄存器地址。指定在读取或写入操作期间要访问的寄存器。 |
23:8 | DI[15:0] | 数据周期位。 如果是写入命令,则数据周期位是要写入地址为 A[5:0] 的寄存器的值。 如果是读取命令,则数据周期位为不用考虑值。 |
7:0 | CRC | 8 位 CRC 多项式。 |
该器件对 32 位访问周期进行解码,以计算 SYNC 上升沿上的 CRC 余数。如果不存在错误,则 CRC 余数为零,器件接受数据。
未通过 CRC 校验的写入操作会导致器件忽略数据。在写命令之后,可以发出第二个访问周期以确定 SDO 引脚上的错误检查结果(CRC-ERROR 位)。
如果存在 CRC 错误,则 STATUS 寄存器的 CRC-ALM 位设置为 1。通过设置 SPICONFIG 寄存器中的 CRCALM-EN 位,可以将 FAULT 引脚配置为监视 CRC 错误。
位 | 字段 | 说明 |
---|---|---|
31 | R/W | 来自上一访问周期的回波 R/W (R/W = 0)。 |
30 | CRC-ERROR | 当检测到 CRC 错误时返回 1,否则返回 0。 |
29:24 | A[5:0] | 来自上一访问周期的回波地址。 |
23:8 | DO[15:0] | 来自上一访问周期的回波数据。 |
7:0 | CRC | 计算出的位 31:8 的 CRC 值。 |
读取操作后必须跟随第二个访问周期,以便在 SDO 引脚上获取所请求的数据。读取命令的错误检查结果(CRC-ERROR 位)在 SDO 引脚上输出。
与未通过 CRC 校验的写入操作一样,STATUS 寄存器的 CRC-ALM 位设置为 1,如果配置了 CRC 警报,FAULT 引脚将设置为低电平。
位 | 字段 | 说明 |
---|---|---|
31 | R/W | 来自上一访问周期的回波 R/W (R/W = 1)。 |
30 | CRC-ERROR | 当检测到 CRC 错误时返回 1,否则返回 0。 |
29:24 | A[5:0] | 来自上一访问周期的回波地址。 |
23:8 | DO[15:0] | 上一访问周期中请求的回读数据。 |
7:0 | CRC | 计算出的位 31:8 的 CRC 值。 |