LIN(Local Interconnect Network)とは
LINは、低コストで導入できる車載用シリアル通信規格で、主にCANのサブネットワークとして利用されています。
LINとは
LIN とは、Local Interconnect Network の略称で、車載ネットワークのコストダウンを図ることを目的に、欧州の自動車メーカ、半導体メーカを中心とした LIN コンソーシアムで規定を策定された通信規格です。
LIN 仕様は改訂が繰り返され、車載 ECU へは LIN Revision 1.3、2.0、2.1 の 3 種類が主に使用されていますが、LIN コンソーシアムとしての改訂は、LIN Revision.2.2A が最後になりました。現在は ISO に移管され、2016 年 8 月には ISO17987 として LIN 仕様が発行されています。2019 年には改訂版の ISO17987:2019 が発行され、セキュリティ機能の強化などが行われています。LIN は、CAN のサブバスとして位置づけられており、CAN と比較して低コストのネットワーク構築が可能です。
LIN の特長
◆LIN のスレーブノードは、マスタノードが送信するメッセージフレームに組み込まれた時間補正用基準波形を計測し、伝送ボーレートをその都度、補正します。
◆CAN プロトコルと比較して、大幅なコスト削減が可能です。 (1)部品コストの削減(部品点数の削減、廉価部品への変更) ・ワイヤが 2 本から 1 本へ ・MCU 用発振子が水晶/セラミック発振子から RC 発振またはマイコン内蔵発振回路へ ・トランシーバが差動式 AMP からコンパレータ方式へ (2)部品点数削減によるアセンブルコストの削減 (3)通信ソフト開発負荷の削減 ・ネットワークマネジメントが容易であり、開発負荷が小さい ・インプリ用コンフィグレータ、適合試験仕様あり
◆CAN のサブネットワークとして普及しています。
LIN の活用事例
パワートレイン制御やシャシー制御ほど大量の情報や高速な通信速度、信頼性を必要としないセンサやアクチュエータなどの制御に採用され、車載向けサブネットワークシステムを構築します。
LIN のネットワーク構築例
実車での導入事例
LIN は以下のような具体的なシステムで広く採用されています:
| 適用分野 | 具体的なシステム | 導入効果 |
|---|---|---|
| ドア制御 | パワーウィンドウ、ドアロック、ミラー調整 | ワイヤーハーネス 70%削減 |
| シート制御 | 電動シート位置調整、ヒーター制御 | 開発期間 30%短縮 |
| 照明制御 | 室内灯、読書灯、アンビエントライト | コスト 40%削減 |
| 空調制御 | ブロワモーター、フラップ制御 | 重量 25%削減 |
| センサ類 | 雨滴センサ、照度センサ、超音波センサ | 配線簡素化 |
他プロトコルとの位置付け
LIN は CAN や FlexRay に比べ、通信速度が遅く、1 ノードあたりの開発コストが安価。 CAN や FlexRay ほどの通信速度や情報量を必要としないネットワークで使用され、ボディー系システムにおけるデファクトスタンダードとして、堅調に普及しています。
コスト分析の具体例
CAN と LIN のコスト比較(1 ノードあたり)
| コスト項目 | CAN | LIN | 削減率 |
|---|---|---|---|
| トランシーバ | $2.5-4.0 | $0.8-1.5 | 60-70% |
| マイコン(要求スペック) | 32bit, 80MHz | 8/16bit, 20MHz | - |
| 発振子 | 水晶発振子 $0.5 | RC 発振/内蔵 $0 | 100% |
| 配線 | 2 線式 $1.2/m | 1 線式 $0.6/m | 50% |
LIN プロトコルについて
LIN Revision
LINは複数回の仕様改訂が行われてきましたが、現在、自動車業界では主にRevision 2.1および2.2Aが標準として採用されています。 かつて日本国内ではLIN 1.3が多く使われていましたが、近年は診断機能やグローバル互換性強化のため、新規開発ではLIN 2.1/2.2Aへの移行が進み、多くのカーメーカーやサプライヤーが採用しています。 一方、既存の車両や一部の長寿命部品ではLIN 1.3も引き続き利用されていますが、今後はISO 17987(LIN 2.2A相当)への切り替えが主流となる見通しです。
LIN の概要仕様
| 項目 | 仕様 |
|---|---|
| ネットワーク構成 | 1 マスタ、多スレーブ(最大 16 ノード) |
| ネットワークマネジメント | シングルマスタ方式(アービトレーション動作は禁止) |
| 伝送路 | 廉価なシングルワイヤ方式(ISO9141 準拠) 最長 40m |
| 通信方式 | UART(半 2 重方式、転送データ長 8 ビット、1 ストップビット) |
| 発振子精度 | ・マスタノード 最大許容誤差 0.5%以内 ・スレーブノード 最大許容誤差 同期補正あり 15%以内(Revision 1.3) 14%以内(Revision 2.0、2.1、2.2) 同期補正なし 15%以内 |
| 伝送ボーレート | ~ 20kbps まで |
| 同期方式 | フレーム毎に補正 |
| その他特徴 | Wake up/Sleep 機能サポート |
LIN のバス仕様
LIN のバスは、バッテリー電源をそのまま使用し、オープンコレクタのトランシーバとプルアップ抵抗を使用したシングルワイヤーで構成されます。
バスのレベル
バスのレベルには、“ドミナント”と”レセシブ”があります。 LIN トランシーバは、ISO9141 に準拠したもので、電気特性としては通常 8 ~ 18 Vの範囲で動作しますが、LIN トランシーバは 40V の過電圧に耐えられる仕様でなければいけません。
| 論理レベル | 論理値 | 電圧レベル |
|---|---|---|
| ドミナント | 0 | GND(グランド) |
| レセシブ | 1 | バッテリー(8V ~ 18V) |
LIN の回路例
上記は、サニー技研製 CAN FD 評価ボード《S810-TPF-FD121》の回路図から一部抜粋、改変したものとなります。
実際の配線例と回路設計
推奨配線仕様
| 項目 | 推奨値 | 備考 |
|---|---|---|
| 最大配線長 | 40m | ボーレート依存(20kbps時の代表値。低速化で延長可能) |
| 分岐長 | 1m 以下 | スタブ長制限(反射・通信品質低下防止のため) |
| ケーブル仕様 | AWG20-24 | 車載では撚り線推奨、単線も可 |
| プルアップ抵抗 | 1kΩ (マスタ) | ±5%精度。マスター側バス端に設置が必須 |
| スレーブ側抵抗 | 30kΩ以上相当 | スレーブ入力は高インピーダンス設計が必要 |
| バス容量 | 最大 10nF | 配線・コネクタ・トランシーバ入力容量を含めた上限 |
ノイズ対策
- コモンモードチョークの挿入(EMC対策として有効、推奨)
- TVSダイオードによる保護(バッテリ逆接・サージ・静電気対策。24V以上定格が目安)
- フェライトビーズの使用(高周波ノイズ対策)
- グラウンド設計:グランドループを避けるためスター配線が推奨される
LIN フレーム構成
LIN のメッセージフレームにはヘッダとレスポンスがあります。以下の表記は ISO17987 版 LIN フレーム構成になります。
ヘッダはマスタノードが出力するフレームです。次の 3 つのフィールドで構成されています。 ・break field: フレームの始まりを表す。 ・sync byte field: 各ノードの周波数誤差を調整する。 ・protected identifier field: ID、DLC と Parity から構成される。スレーブのノード指定を意味する。
レスポンスはマスタノードまたはマスタノードが指定したスレーブノードが出力するフレームです。 次の 2 つのフィールドで構成されています。 ・data1-data8: データの中身。 Revision1.3 では、2、4、8 バイトの 3 種類。 Revision2.0 以降では、0 ~ 8 バイトの任意の長さが定義可能。 ・checksum: エラー検知用のチェックサム。モジュロー 256 の計算式の演算結果を反転したもの。
LIN の通信イメージ
LIN は、スケジュールに基づいた通信を行います。そのため、通信の衝突が起きませんが、何かデータを送信したい場合でも、予め決まった送信タイミングまで待つ必要があります。 通信スケジュールはマスタノードが管理し、必ずマスタノードの送信から通信が始まります。また、マスタノードは複数のスケジュールを持ち、切り替えて使う事も可能です。
送信
LIN 通信プロトコルはシングルマスタ方式で、マスタノードの指示がないかぎりスレーブノードはデータを送信できません。転送データ長 8 ビット、1 ストップビットの UART 形式で LSB ファーストで送信します。
受信
受信動作に関して規定はありません。他のスレーブノードが出力しているデータも受信します。
基準クロックの調整
マスタノードは sync byte filed で”0x55”を送信します。スレーブノードは受信した sync byte field のスタートビットのエッジから 4 回分のエッジ間を時間計測し、その結果を 8 で割ることにより、1 ビットの正確な時間(1ビットタイム)を算出します。そして、この計測時間から UART の伝送ボーレートの調整を行います。また、算出された 1 ビットタイムから break field(ドミナント 13 ビット)が規定範囲にあるか否か確認します。
Sleep&Wake up 機能
LIN はシステムの消費電力を減らすために、スリープ/ウェイクアップ機能をサポートしています。
【スリープモードへの遷移条件】 マスタノードは自ノードによる判断でスリープモードへ遷移します。 スレーブノードはマスタからのスリープ要求(go-to-sleep)があった場合と Revision2.0 以降では、LIN バスに一定時間(Revision2.0 では 4s 以上、Revision2.1 以降では 4s ~ 10s)以上、通信がなかった場合にスリープモードへ遷移します。
【スリープモードからの復帰】 マスタノード、スレーブノード共にウェイクアップシグナルを受信した時、もしくは自ノード内の LIN 以外の外部要因によって復帰します。
【異常動作時】 ウェイクアップ要求から 150ms の間にマスタノードがヘッダを送信しない場合は、ウェイクアップ要求を行ったノードが新たなウェイクアップ要求を出します。3 回のウェイクアップ要求が失敗した時、ウェイクアップ要求ノードは 1.5s 以上の待ち時間が必要となります。
エラーの種類
LIN では、バスの異常やノードの故障を検出するために、6 種類のエラーを規定しています。 また、具体的にエラーの規定をしているのは、Revision 1.3 のみとなります。
ビットエラー(Bit Error)
検知:マスタ/スレーブ 送信ノードが送信したレベルと、バス上のレベルを比較し、一致していなければ、エラーを検出します。 エラー検出時は次のバイト境界で送信を中断します。
チェックサムエラー(Checksum Error)
検知:マスタ/スレーブ 受信したデータと、受信したチェックサムを加えた結果が ≠0xFF ならばエラーを検出します。
ID パリティエラー(Identifier Parity Error)
検知:スレーブ スレーブノードが受信した protected identifier field の Party0 と Party1 が ID と DLC から算出した値と異なる場合にエラーを検出します。
ノーレスポンスエラー(Slave Not Responding Error)
検知:マスタ/スレーブ マスタノードがヘッダを送信し、一定時間に指定したスレーブノードからレスポンスが返ってこなかった場合にエラーを検出します。
シンクフィールドエラー(Inconsistent Synch Field Error)
検知:スレーブ sync byte filed での計測結果があらかじめ設定されているボーレートから許容範囲外の場合にエラーを検出します。
フィジカルバスエラー(Physical Bus Error)
検知:マスタ LIN バスがグランド又はバッテリ(VBAT)にショートしている場合など LIN バス上に有効なメッセージを送信できない場合のエラーです。
LIN、CAN、CXPI との比較
LINとCANとの比較
| LIN | CAN | |
|---|---|---|
| ネットワーク構成 | シングルマスタ(調停禁止) | マルチマスタ |
| 通信速度 | Max 20Kbps | Max 1Mbps |
| 伝送路 | 1 線式 | 2 線式(一部 1 線式) |
| トランシーバ | コンパレータ方式 | 差動式 |
| 通信方式 | 半 2 重方式(NRZ 方式) UART+ソフトまたは専用ハード | 半 2 重方式(NRZ 方式) 専用ハード |
| 発振子 | ・Max 許容誤差 マスタ:0.5% スレーブ:同期補正あり 15%(Revision1.3) 14%(Revision2.0 以降) 同期補正なし 15% ・水晶/セラミック発振子、RC 発振、マイコン内蔵発振回路 | ・Max 許容誤差 1.58% ・水晶/セラミック発振子 |
| 同期方式 | ・データフィールド毎にスタートビット立下りエッジに対し、受信ノードが同期 ・スレーブがマスタから送信されるフレームに必ず存在するビットレート補正用のフィールドを受信することによって常に通信速度を補正 | レセシブ → ドミナントの立下りエッジに対し、全てのノードが同期を合わせる |
| 適応箇所 | 主にボディ系のスイッチやランプなどのオン・オフユニット用のサブネットワークとして使用 | 自動車の中の基幹ユニットのメインネットワークとして使用 |
LINとCXPIとの比較
| 項目 | LIN | CXPI |
|---|---|---|
| 最大通信速度 | 20kbps | 20kbps |
| イベント駆動 | 非対応(ポーリングのみ) | 対応(CSMA/CR) |
| 応答性 | 数十 ms | 数 ms |
| クロック供給 | なし | マスタから供給 |
| 発振器要求 | スレーブも発振器必要 | スレーブ発振器不要 |
| 国際規格 | ISO 17987 | ISO 20794 |
| 普及度 | 高(世界標準) | 中(主に日本) |
LIN 通信をさらに学ぶには
車載 LAN 入門講座 LIN 通信編のご案内
オンライン学習プラットフォーム「Udemy」にて、LIN 通信入門講座を開設しています。「1 から学ぶ LIN 通信」として、LIN 通信の成り立ちから、自動車分野でよく使用される Revision1.3、Revision2.x を中心としたプロトコルを基礎から学習できます。
講座概要
- LIN の成り立ちや通信の特徴
- Revision1.3 と Revision2.x を中心とした LIN 通信プロトコルについての解説
- LIN 通信におけるルール、通信の処理方法
- LIN 通信のメッセージ構成と使用方法
- LIN 通信のエラーの検出方法について
- LIN 通信の Sleep & Wakeup 機能について
コースの内容
- はじめに
- 第 1 章 LIN(Local Interconnect Network)とは
- 第 2 章 LIN フレームの構成とエラーの仕組み
- 第 3 章 LIN のスケジュールと送受信シーケンス
車載 LAN 入門講座 LIN 通信編の詳細は、以下のリンクからご覧ください。(Udemy サイトへリンクします)
車載LAN入門講座 LIN通信編サニー技研の LIN 通信への取り組み
サニー技研では、2000 年から LIN 通信への取り組みをスタートしています。これまで、LIN バスアナライザ、CAN/LIN 評価ボード、LIN 通信を行うためのソフトウェアライブラリなどの製品開発を手がけてきました。サニー技研の LIN ツールは、LIN 対応製品の開発をトータルに支援していますので、多くのお客様に採用していただいております。こうした製品開発の実績からサニー技研は、お客様のニーズに最適なソリューションをご提供します。
LIN 通信開発実績はこちら関連情報
車載Ethernetは、高速通信や高信頼性を実現する自動車向けEthernet規格で、ADASや自動運転など次世代車載ネットワークを支えます。
CAN FDは、高速・大容量通信に対応したCANの拡張規格で、車載ネットワークの進化やセキュリティ強化に貢献しています。
CANは、自動車や産業機器で広く使われる、信頼性の高い国際標準のシリアル通信プロトコルです。
CXPIは、日本発の車載通信規格で、低コストかつ高応答性を実現する次世代HMI向けネットワークです。