マスタタスクとスレーブタスク
LIN は1つのマスタノードと複数のスレーブノードで構成され、唯一のマスタノードが、ネットワーク全体の通信を制御する方式だ。ネットワーク上での衝突や調停(Arbitration)をなくし、低コストでネットワークを構築するには都合の良い方法だ。
LIN ノードの役割には、「マスタタスク」と「スレーブタスク」がある。マスタタスクはマスタノードのみが持つ役割で、スレーブタスクはマスタノードとスレーブノードの両方が持つ役割だ。各ノードは、スレーブタスクを複数持つことができる(図1)。
データ送信要求と送信データ
マスタタスクが、LIN バス上に送信する「ヘッダ」には、「 Protected identifier field」があり、ここで指定されたスレーブタスクが、LIN バスに「レスポンス」を送信する(図2)。
マスタタスクが「ヘッダ」を送信し、データ送信要求を受けたスレーブタスクが「レスポンス」を送信することでデータ送受信が完結する。LIN フレームは、「ヘッダ」とこれに対応する「レスポンス」で構成される。2つの異なるタスクが送信するデータが合体し、1つのフレームを構成する方法だ。一般的な通信ではありえない作りだが、極めて効率の良い方法だ。
ハードウェア的には2つの動作ケースがある。1つ目は、マスタノード上の「マスタタスク」がヘッダを送信し、スレーブノード上の「スレーブタスク」がレスポンスを送信するケースだ。このケースでは、ヘッダとレスポンスを送信するノードが異なる。つまり、異なるハードウェアが送信する2つのデータが合体し、1つのフレームを作ることになる。
もう一つのケースは、マスタノード上の「マスタタスク」がヘッダを送信し、マスタノード上の「スレーブタスク」がレスポンスを送信するケースだ。このケースでは、ヘッダとレスポンスを送信するノードは同じマスタノードになる。1台のハードウェアが、1つのフレームを送信するごく一般的な形だ。
スケジュール管理
効率よく、フレーム衝突などのエラーが発生しないように、マスタノードは LIN ネットワーク全体のスケジュール管理を行う。
図3 は、マスタタスクが3つのスレーブタスクから順次データを読み出す例だ。この例では、サイクル1→サイクル2→サイクル3 とデータを読み出し、全サイクルを終了すると最初のサイクルに戻り、同じ操作を繰り返す。マスタタスクは読み書きの順序を決めるだけではなく、スレーブノードの性能に合わせたフレーム間ギャップ(待ち時間)の制御も行う。
マスタタスクは、送信する Protected identifier field の値(スレーブタスクの番号)や送信の順序、送信時間間隔をあらかじめ決め、スケジュールに従いヘッダを送信する。このスケジュールを「LIN スケジュール」と呼び、複数のスケジュールを設定することができる。例えば、「起動時の初期化モード」、「通常走行モード」や「車両診断モード」などの車の状態に応じたスケジュールを設定できる。
LIN 通信動作
図4 は、1台のマスタノードと2台のスレーブノード構成で、各ノードには、表1 のようにマスタタスク/スレーブタスク/レスポンスバッファがある。レスポンスバッファは各レスポンスデータを蓄えるバッファで、更新時は上書きされ最新情報が残る。この例では、全てのノードは全てのレスポンスを蓄積し更新することとする。
LIN スケジュールのサイクルは、スレーブタスク#1(スレーブノードA)→スレーブタスク#2 (スレーブノードB)→スレーブタスク#3(マスタノード)と巡回する。
図5 は、図4 と表1 の構成で、スレーブタスクのデータを読み出し、レスポンスバッファを更新する様子を時間軸で表したものだ。各スレーブタスクが送信したレスポンスは、LIN バス上に送信され、全てのノードが取り込むことができる。もちろん、必要のないデータは取り込まず、不必要なレスポンスバッファを用意する必要はない。
LIN フレームは、マスタタスク(マスタノード)が送信した「ヘッダ」とスレーブタスク(スレーブノード/マスタノード)が送信した「レスポンス」で構成される。一般的な通信とは異なる考え方だが、「送信要求フレーム」と「応答フレーム」を個別に送受信する非効率を解消する方式だ。バス構造をとることで、送信と受信を同時に行い、無駄な時間を削除している。一般的な通信の常識に取らわれない、効率を追求した優れた方式だ。
車載ネットワーク
-
4.車載ネットワーク
車載ネットワーク(1)変遷
自動車の基本的な機能(走る・曲がる・止まるなど)は、機械や油圧などの機能ごとの比較的単純な制御だった。アクセルペダルを踏めば加速し、ブレーキペダルを踏めば車が止まる。排ガス規制やエンジン高性能化の要求が強くなり、エンジン […] -
4.車載ネットワーク
車載ネットワーク(2)社会の変化と技術トレンド
社会の変化 2020年代に入り、自動車制御は大きく変わった。自動運転の進展が大きな要因だ。条件付きで自動運転を可能とする自動運転レベル3や、無人運転を可能にする自動運転レベル4が登場した(表1)。自動運転レベルの基準は米 […] -
4.車載ネットワーク
車載ネットワーク(3)CAN規格の歴史と概要
CAN 規格の歴史 CAN(Controller Area Network)は、、1983年にBosch社が開発した通信プロトコルだ。1986年に公式発表され、1987年に販売を開始した。CAN は数度に渡り規格が改定さ […] -
4.車載ネットワーク
車載ネットワーク(4)CANのマルチマスタとシングルマスタ
CAN は、複数のマスタノードが1組のバスラインに接続される「マルチマスタ」方式だ。全てのノードはバス接続され、送信データを全ノードが共有する。マルチマスタ方式は、平等にバスにアクセスでき、バスに空きがあればどのノードも […] -
4.車載ネットワーク
車載ネットワーク(5)CAN 通信手順とCSMA/CR 衝突時の調停
CAN には、データフレーム/リモートフレーム/オーバーロードフレーム/エラーフレームの4種類のフレームタイプがある。データフレームには標準フォーマットと拡張フォーマットの2種類がある。両者の違いは、識別コード(ID)の […] -
4.車載ネットワーク
車載ネットワーク(6)CAN 通信手順とフレーム構造
CAN には、データフレーム/リモートフレーム/オーバーロードフレーム/エラーフレームの4 種類のフレームタイプがある(表1)。 名称概要データフレーム通常のデータ送信フレーム(標準/拡張フォーマット)リモートフレームデ […] -
4.車載ネットワーク
車載ネットワーク(7)CAN 通信手順とエラー処理
車載ネットワークは、オフィスネットワークに比べ格段に環境条件が厳しい。CAN は平衡伝送方式で比較的ノイズに強いが、GND は不安定で電気的にも厳しい環境だ。障害発生時も、ネットワーク全体を停止させることは危険だ。一部の […] -
4.車載ネットワーク
車載ネットワーク(8)CAN ハードウェア
40年前の技術の影響 40年前に開発された CAN の仕様は、当時の技術を強く反映している。当時のマイクロプロセッサは、 8ビット処理でクロックも4MHzや8MHz 程度であった。メモリーも非常に高価で容量も4キロバイト […] -
4.車載ネットワーク
車載ネットワーク(10)LIN ハードウェア
トポロジ ネットワークに接続する通信機器を「ノード」と呼び、複数のノードを相互接続しネットワークを構成する方法を「トポロジ」と呼ぶ。車載ネットワークでは、ECU( Electronic Control Unit )がノー […] -
4.車載ネットワーク
車載ネットワーク(9)LINの規格概要
LIN規格 LIN(Local Interconnect Network)は、車載ネットワークのコストダウンを目的に、LIN コンソーシアムで策定された通信規格だ。LIN コンソーシアムは、欧州の自動車メーカや半導体メー […] -
4.車載ネットワーク
車載ネットワーク(11)LIN 通信手順
マスタタスクとスレーブタスク LIN は1つのマスタノードと複数のスレーブノードで構成され、唯一のマスタノードが、ネットワーク全体の通信を制御する方式だ。ネットワーク上での衝突や調停(Arbitration)をなくし、低 […] -
4.車載ネットワーク
車載ネットワーク(12)LINのフレーム構造
LIN フレームは、マスタタスクが送信する「ヘッダ」部と、スレーブタスクが送信する「レスポンス」部で構成される(図1)。ヘッダ部は次の5つで構成される。 (1) Break fieldフレームの区切り(13ビット以上)( […] -
4.車載ネットワーク
車載ネットワーク(13)LINの節電機能・エラー処理・発振子
節電機能 車載ネットワークでは「節電」は重要なテーマだ。限られたバッテリー電力と発電量の範囲内で動作しなければならない。LIN は限られた電力を有効に使うため、「ネットワーク管理」として Sleep と Wake Up […]