JAJSOB8B March 2023 – April 2024 ADS127L21
PRODUCTION DATA
SPI の巡回冗長性検査 (CRC) は、ホスト コントローラとの間で送信エラーを検出するために使用される SPI 検査コードです。ホストから、SDI で入力データとともに入力 CRC バイトが送信され、ADC から SDO/DRDY で送信される出力データにも CRC バイトが付属します。SPI の CRC エラー チェックは、CONFIG3 レジスタの SPI_CRC ビットによってイネーブルされます。
CRC コードは、ホストによって 2 つのコマンド バイトに対して計算されます。フレームの先頭にパディングされる入力バイトは、CRC の計算に含まれません。ADC は、入力コマンドの CRC コードを、2 つの入力コマンド バイトについて計算された内部コードと比較してチェックします。CRC コードが一致しない場合、コマンドは実行されず、STATUS バイトの SPI_ERR ビットがセットされます。レジスタへの書き込み操作はブロックされます。ただし、STATUS レジスタの SPI_ERR ビットに 1b を書き込んで SPI の CRC エラーをクリアする操作は行えます。レジスタ読み取り操作は、レジスタ読み取りコマンドの SPI フレームで SPI_CRC エラーが検出されない限り、ブロックされません。
出力 CRC コードの計算に使用されるバイト数は、フレームで送信されるデータ バイトの数によって異なります。出力 CRC コードより前のすべてのデータ バイトが、CRC 計算で使用されます。出力 CRC の計算に使用されるバイト数を、表 7-18 に示します。
バイト数 | バイト フィールドの説明 |
---|---|
2 | 16 ビットの変換データ |
2 | 1 バイトのレジスタ データ + 00h のパディング バイト |
3 | 16 ビットの変換データ + STATUS バイト |
3 | 24 ビットの変換データ |
3 | 1 バイトのレジスタ データ + 2 つの 00h のパディング バイト |
4 | 24 ビットの変換データ + STATUS バイト |
4 | 1 バイトのレジスタ データ + 3 つの 00h のパディング バイト |
CRC 値は、CRC 多項式を使用した可変長引数のビット単位排他論理和 (XOR) 演算の、8 ビットまたは 16 ビットの剰余です。ADS127L21 は、CRC 機能に応じて 8 ビットと 16 ビットの CRC 長を使用します。SPI、メイン プログラム メモリ、IIR フィルタ係数には 8 ビットの CRC が使用されます。8 ビットの CRC は、CRC-8-ATM (HEC) 多項式:X8 + X2 + X1 + 1 に基づいています。この多項式には、9 つの係数として1 00000111 があります。
16 ビットの CRC は、128 の FIR フィルタ係数にのみ使用されます。16 ビットの CRC は、CRC-16-IBM 多項式:X16 + X15 + X2 + 1 に基づいています。この 17 個の係数は 1 10000000 00000101 です。
CRC の値は、次の手順で計算します。