ZHCST20 September 2023 AMC131M02
PRODUCTION DATA
AMC131M02 在輸入和輸出數據上都具有循環冗余校驗 (CRC) 引擎,以減少 SPI 通信錯誤。對于輸入或輸出 CRC,CRC 字的寬度為 16 位。覆蓋范圍包括啟用 CRC 的 SPI 幀中的所有字,包括零填充位或符號擴展位。
SPI 輸入上的 CRC 是可選的,可以通過寫入 MODE 寄存器中的 RX_CRC_EN 位來啟用和禁用。默認情況下禁用輸入 CRC。器件會根據基于輸入數據生成的 CRC 檢查提供的輸入 CRC。如果 CRC 字不匹配,則會發生 CRC 錯誤。如果輸入 CRC 校驗失敗,則器件不執行任何命令,WREG 命令除外。即使 CRC 校驗失敗,WREG 命令也始終執行。對于所有 CRC 錯誤,該器件都會設置 STATUS 寄存器中的 CRC_ERR 位。發生 CRC 錯誤的幀之后的 SPI 幀中輸出的響應是 NULL 命令的響應,這意味著 STATUS 寄存器加上轉換數據在隨后的 SPI 幀中輸出。CRC_ERR 位在 STATUS 寄存器輸出時清除。
輸出 CRC 不是可選的,始終顯示在輸出幀的末尾。如果未使用輸出 CRC,主機可以忽略該數據。
有兩種類型的 CRC 多項式可用:CCITT CRC 和 ANSI CRC (CRC-16)。CRC 設置決定了輸入和輸出 CRC 的算法。CRC 類型由 MODE 寄存器中的 CRC_TYPE 位進行編程。表 8-9 列出了兩種 CRC 類型的詳細信息。
CRC 計算使用 FFFFh 的種子值進行初始化,以在 DIN 或 DOUT 始終為低電平時檢測錯誤。
| CRC 類型 | 多項式 | 二進制多項式 |
|---|---|---|
| CCITT CRC | x16 + x12 + x5 + 1 | 0001 0000 0010 0001 |
| ANSI CRC | x16 + x15 + x2 + 1 | 1000 0000 0000 0101 |