LINのフレームタイプは、「アンコンディショナル(Unconditional)」「イベントトリガー(Event Triggered)」「スポラディック(Sporadic)」「診断(Diagnostic)」の4種類となります。
イベントトリガーフレームのフレームIDは、関連するスレーブノードで共有しているため、同時に複数のスレーブノードがレスポンスを送信し、衝突する可能性があります。衝突が発生した場合、衝突によって失われたレスポンスデータを再送信させるために、マスターノードはアンコンディショナルフレームを使用し、スレーブノードごとに再送信要求を行います。LIN2.1では、イベントトリガーフレームの衝突発生時に使用する「コリジョンリゾルビング(Collision Resolving)スケジュールテーブル」が追加されています。
イベントトリガーフレームの使用例として、4ドア・セントラル・ロッキング・システムでのドアロックの監視があります。イベントトリガーフレームを使用した場合、1つのフレームスロットで4つのドアロックを監視できます。フレームスロットの減少は帯域の有効活用につながり、より効率的な通信を設定できます。しかし、同時に複数のドアロックが操作された場合は衝突が発生するので、再送信が必要です。もし、ドアロックの監視にアンコンディショナルフレームを使用した場合、ほとんど変化しないドアロック信号に4つのフレームスロットを使用するので、帯域の無駄となります。このように、発生頻度の少ないイベントに対し、1つのフレームスロットで通信することで、帯域の有効活用ができます。
LINフレームでエラーが検出された場合は、マスタータスク、スレーブタスクによりデータを破棄します。LINプロトコルでは、エラー処理の定義がないのでアプリケーションで定義する必要があります。LIN1.3の仕様書では、下記のエラーが定義されています。
LIN2.xでは上記に加え、エラーを検知したスレーブノードがマスターノードに通知する「ステータスマネジメント」が追加されました。ステータスマネジメントについては、次回説明する予定です。
Copyright © ITmedia, Inc. All Rights Reserved.