論理エラーの処理

データの一貫性

CANプロトコルは-ネットワーク全体のデータ整合性のため-エラーを検出したCANノードがローカル障害の時、CANネットワークに接続された全CANノードに通知しなければならないと規定している。 この目的のためエラー検出CANノードは6ビット長のドミナントビットから構成されるエラー信号(エラーフラグ:プライマリエラーフラグ)を送信する。 これはビットスタッフィングルールの意図的な違反であり、ビットスタッフィングエラーが生成される。

エラーフラグ

エラーフラグ送信によりビットスタッフィングエラーとなった他の全CANノードがエラーフラグ(セカンダリエラーフラグ)を同様に送信する。それによってプライマリエラーフラグの送信機のように正常なデータ伝送を確実に終了する。状況に応じてプライマリエラーフラグとセカンダリエラーフラグが重複する場合がある。

エラーデリミタ

エラーフラグの送信は、常にエラーデリミタで終端される。 これは8ビット長のレセシブビットで構成される。エラーデリミタはACKデリミタと正常なメッセージ送信のEOFを置き換え、CANバス上の送信の一時停止(ITM - Intermission)をし、この結果、11ビット長のレセシブビット(バスアイドル識別子)となる。

エラー処理のクローズ

エラー処理は送信機によるCANメッセージ中断で完了する。 ITMの後、中断されたCANメッセージを再送信しようとする。 図”エラーの処理”はエラー検出後のCANネットワークで行われる全動作をまとめたものになる。インタラクティブなアニメーション “ビットモニタリングエラーの処理”は対話形式でビットモニタリングエラーの例に基づきエラー処理を理解出来る。 優先駆動バスアクセスのため再送信の即時繰り返しは保証されない。 最良の場合、エラー検出から再送信までの期間は17ビット時間経過後となる(プライマリエラーフラグ、エラーデリミタ、ITM)。 プライマリエラーフラグとセカンダリエラーフラグが重複していない場合は23ビット時間かかる。 CANノードがエラーパッシブ状態では31ビット時間かかる。 この状態ではCANノードが再びCANバスにアクセスするまでにいわゆるサスペンド送信時間だけ待機する必要がある。 サスペンド送信時間は8ビット長の送信一時停止を規定している。


最終更新日時: 2019年 02月 20日(Wednesday) 18:28