論理エラーの検出

エラーを検出するための5つのメカニズム

メッセージの破損を検出するために、CANプロトコルは5つのメカニズムを定義している:ビットモニタリング、メッセージフォーマットのモニター(フォームチェック)、ビットコーディングのモニター(スタッフチェック)、アクノリッジメントの評価(ACKチェック)、チェックサムの検証(巡回冗長検査)。

送信機と受信機のタスク

エラー検出メカニズムのうちビットモニタリングACKチェックは送信機が実行する。 受信機は受諾フィルタから独立してフォームチェックスタッフチェック巡回冗長検査を実行する。図”エラーの検出”はデータフレームまたはリモートフレームのフィールドが特定のエラー検出メカニズムで影響されるかを表している。

スタッフチェック、
受信機

スタッフチェックはビットストリームをチェックするのに役立つ。CANプロトコルは同期用に送信機が5ビット長の同レベルビット送信後にスタッフビットを送信しなければならない事を規定している。5ビット長以上の同レベルビットが受信された場合、スタッフィングエラーとなる。

ビットモニタリング、
送信機

ビットモニタリングの枠組みにおいて送信機が送信ビットレベルと実際のバスレベルを比較する。 送信機が2つのレベル間で不一致を検出した場合、ビットエラーとなる。 ビットモニタリングは送信機で発生する全グローバルエラーと全ローカルエラーの検出を保証する。

フォームチェック、
受信機

フォームチェックはCANメッセージのフォーマットチェックに役立つ。 各CANメッセージは常に一定の位置で同じビットシーケンスを示す。 これらにはCRCデリミタ、ACKデリミタ、EOFがある。 送信機はこれらのメッセージコンポーネントを常にレセシブで送信する。 受信機がフォームチェックでこれらのメッセージコンポーネントのうち1つでドミナントバスレベルを検出した場合、フォーマットエラーとなる。

Cyclic Redundancy Check (CRC)、
受信機

巡回冗長検査(CRC)で、到着データまたはリモートフレームに関連付けられた多項式 R(x)はISO 11898-1で規定された生成多項式 G(x)の倍数に等しくなければならない。これが等しくない場合(=CRCエラー)、データフレームまたはリモートフレームは伝送中に破損した事になる。

ACKチェック、
送信機

CANプロトコルで定義されたアクノリッジメントメカニズムは全受信機が全到着メッセージの巡回冗長検査が正常な場合アクノリッジを返すように規定されている。 ポジティブアクノリッジメント1つで少なくとも1台の受信機が正しく送信されたCANメッセージを受信した事を送信機に伝えるのに十分である。 送信機に1つのポジティブアクノリッジメントも届かない場合、アクノリッジメントエラーが発生する(ACKエラー)。


最終更新日時: 2019年 05月 24日(Friday) 13:47