組み込みシステム設計者のためのLIN2.0マイコン実装術(中編) ――使用するCPU性能に応じたオプション選び
スレーブ・ノードは,受信時と送信時にエラーをチェックしてResponse_Errorをセットします.受信時のエラーはチェックサム・エラーやフレーミング・エラーであり,送信時のエラーはビット・エラー(自分が送信したものを同時に受信しても一致しない状態)が主です.
基本的に,イベント・トリガ・フレーム以外のすべてのフレームのどれか一つにResponse_Errorビットを設定することができます.イベント・トリガ・フレームに対してはResponse_Errorビットを設定してはなりません.その理由は,ヘッダに対してレスポンスが返ってこないというのは重要なエラー情報ですが,イベント・トリガ・フレームではレスポンスが返ってこなくても正常動作とみなせるためです.
最後にノードそのものの内部エラー管理について規定しています.error_in_responseとsuccessful_transferの2ビットで管理します.error_in_responseは,Response_Errorと同じ条件でセットされると考えてよいでしょう.successful_transferは,送受信が完了したらセットされます.つまり,error_in_responseが'0'で,successful_ transferが'1'であれば,自ノードは正常に動作していると判断できるわけです.それ以外の組み合わせでは,なんらかの障害が検出されていることになります.ノードのアプリケーションはこの情報をもとにエラーを検出したら,なんらかのアクションを起こす必要があるでしょう.これはアプリケーションごとの,あるいはクラスタの仕様として規定すべき内容となります.