パリティ、またはブロックエラー検出は、データ送信自体のエラーを検出することを目的としています。パリティは、データ送信が行われているかどうかを検出するようには設計されていません。
伝送ラインを考えると、いくつかの異なる懸念事項があります。ここで関連する2つは、1)回線自体の完全な障害、および2)特定の伝送内のデータエラーのブロックです。その他の関連性が低いのは、たとえば、不適切なライン電圧、プロトコルエラー、またはセキュリティエラーです。パリティは1でなく2で役立ちます。1(接続の完全な障害)に対応するために、伝送ラインのいずれかの端のサブシステムには、別のプロトコル機能が必要です。
多くの場合、単一のパリティビットのエラー検出率は50%よりも高くなります。そのレートが正確に何であるかは、プロトコルのデータセグメントのヒューリスティックに依存します。パケット(MSB)1011010111011110があり、最後に送信されたビットにシングルビットエラーがある場合、パリティチェックは失敗し、パケットを正しく拒否します。同様に、最初のビット(パリティビット)にデータエラーがある場合、パケットは拒否されます。
ハードウェアでこのチェックを実行することは非常に簡単で、複雑な処理を必要としません。ガベージコレクションされたソフトウェアスタックを実行するプロセッサによって生成されるクロックスキューやクロック信号などを取り除くには、ビットエラー率が比較的低いアプリケーションで役立ちます。
SPIは、電気的に接続された短い回線用に設計された物理リンクプロトコルであり、シングルビットエラー率は回線の損失にあまり依存しません。損失の多い回線を介して何かを実行している場合、パリティよりも堅牢な何かが必要になります。これは実際にはSPIが行うことではありません。
デバイスがまだ接続されているかどうかを確認するには、スタック内の上位のものを試してください。比較すると、TCP / IP(特にIP)はパリティビットを指定しませんが、802.xイーサネット仕様の多くは指定します。一方、IPには複雑な「あなたはそこにいますか?」プロトコル。SPI上で何を実行していますか?データリンク管理への答えはおそらくそこにあります。