LINとは
- LIN内蔵マイコンページへ
概要
LINとは、Local Interconnect Networkの略称のことで、車載LANの通信プロトコルの一種です。近年、車載LAN化のニーズが高まり、各アプリケーションに最適なネットワーク(Bus)が使われます。LINは、マスタ、スレーブ構成で使用され、マスタは通常CANに接続されることが多いです。また、LINプロトコルには、SYNC-FIELDがあり、これによりマスタのボーレートがスレーブに送信され、このボーレートでスレーブがデータ受信するしくみをもっています。LINはその特性を生かし、主にボディ系への普及が見込まれるプロトコルです。
車載LANの種類と用途

車載ネットワークのコストダウンを図ることを目的に、欧州を中心に次の自動車メーカー等7社が提唱しているシリアル通信プロトコルです。
- AUDI
- BMW
- Daimler Chrysler
- Volvo Car Corporation
- Volkswagen
- Motorola Inc
- Volcano Communications Technologies
LINとは
アプリケーションモデル
LINのアプリケーションモデルをご紹介いたします。
車載LANの種類と用途

LINとは
特長・仕様
LINの特長
CANプロトコルと比較して、大幅なコスト削減ができます。
- 部品コストの削減

- ワイヤが2本から1本へ -> 省線化による重量減少にもつながる
- スレーブノード側の発振子をセラミック発振子からCR発振子へ
- アセンブリコストの削減
- 通信ソフト開発負荷の削減

注意点としては、Oscillator Toleranceがあります。LINの仕様のSYNC機能を使用した場合に限り、Master:1.58%、Slave:Masterに対して15%、Short Time:2%となります。(Ver1.2では、Master:±0.5%、Slave:±2~15%となります。)
そのため、Masterマイコンは、セラミックor水晶振動子を使用し、Slaveには15%以内の発振を使用することが可能となります。
なお、外付けCR発振や、既存マイコンの内蔵発振で対応する場合は、15%の精度を満足できないことが多いので、ご使用前に十分に精度の検討を行う必要があります。
LINの仕様
- ネットワークの構成

- シングルマスタ方式(アービトレーションなし)
- 最大16ノード(マスタ:1ノード、スレーブ:最大15ノード)
- プリプログラムドアドレス方式(各ノードはID固定)
- 伝送路(ISO9141準拠)

- 廉価なシングルワイヤ方式
- 最長40m
- 通信方式

- UART(半2重方式、転送データ長8ビット、1ストップビット)
- 発振子精度

- マスターノードは最大許容誤差1.58%以内(Ver.1.2では、±0.5%)
- スレーブノード最大許容誤差15%以内(クロック使用時±2%)
- 伝送ボーレート

- 最大~20Kbpsまで

推奨ボーレート
| 低速 | 中速 | 高速 |
| 2400 bit/sec | 9600 bit/sec | 19200 bit/sec |
データ長について
LINのデータ長は基本的に2バイト、4バイト、8バイトの転送が可能となっています。 このバイト数はIDフィールドのLENGTH_CONTROLとして送信されます。
LINとは
レイヤー
LINプロトコルでは下記の3つのレイヤーに対応しております。

LINとは
バスレベル(ISO9141準拠)
LINではCANと同様に、データのレベルをドミナントとレセッシブといった形で表現します。
LINバスのレベルはバッテリ電圧です。
| 論理値 | ビット値 | バス電圧レベル |
| Dominant | 0 | GROUND |
| Recessive | 1 | BATTERY |
| ドライバ・レベル | レシーバ・スレッショルド |
| Hign: min 80% VBAT | Hign: max 60% VBAT |
| Low: max 20% VBAT | Low: min 40% VBAT |

LINとは
メッセージ構成
LINはシングルマスタ方式で構成されます。
そのため、マスタがスレーブにデータの要求をすることにより、スレーブはレスポンスします。 LINのメッセージフレームを下記に示します。
LIN MESSAGE FRAME

メッセージフレームは、ヘッダーとレスポンスで構成されます。
ヘッダーはマスタタスクとしてレスポンスはスレーブタスクとして動作します。
MASTER
LIN MESSAGE FRAME(HEDER FRAME)

LINメッセージフレームのヘッダーフレームは、SYNCH BREAK FIELD、SYNCH FIELD、IDENTIFIER FIELDがあります。
LINとは
チェックサム

@DATA送信NODE:DATAのSUM値のINVERTEDデータ
@DATA受信NODE:Checksum+Check byte =0xFFチェック
LINとは
ボーレート
スレーブノードは下図のように、受信したSYNCH_FIELDのスタートビットの立下りエッジから4回分の立下りエッジを計測し、8で割って1BitTimeの正確な値を算出してUARTのボーレートを補正します。
ボーレートの自動調整(スレーブノード)

時間を測定し、8で割って1Bit Time の正確な値を算出UARTのボーレートを補正する。
LINとは
LINのエラー種類
LINでは次表に示すエラー:6種類があります。
| エラーの種類 | 検出ノード | エラーの内容 |
| Bit-Error | マスターノード スレーブノード |
送信するユニットはバスをモニターしていて、送信したレベルとバスのレベルが異なるときに検出するエラー |
| CheckSum-Error | マスターノード スレーブノード |
受信したデータと、受信したチェックサムを加えた結果が≠0xFFならば検出するエラー |
| Identifier-Parity-Error | マスターノード スレーブノード |
スレーブが受信したID-FieldのParity0とParity1が、IDとDLから算出した値と異なる場合に検出するエラー |
| Slave-Not-Responding-Error | マスターノード | マスタがヘッダーフレームを送信し、最大TFRAME_MAX時間内に指定したスレーブからレスポンスが返ってこなかった場合に検出するエラー |
| Inconsistent-Synch-Field-Error | スレーブノード | SYNCH_FIELD中のボーレートの誤差が許容範囲外だった場合に検出するエラー |
| No-Bus-Activity | スレーブノード | スレーブが最後に有効なメッセージフレームを受信してからTTIMEOUT以上(25000ビットタイム)有効なSYNCH BREAKかBYTE FIELDを受信しない場合に検出するエラー |
LINとは
トランシーバ
LINはISO9141に準拠するトランシーバを使用します。
代表的LINトランシーバ
| Motorola | MC33199、MC33290 |
|---|---|
| Infineon | TLE6258、TLE6259 |
| ST | L9637 |

LINとは
フレーム長の規格
LINの規格では、各FIELDごとボーレートのみの時間管理だけではなく、メッセージ全体の時間管理も必要になります。
そのため、UART以外に全体の時間管理用のタイマも考慮する必要があります。
LINの規格では、Header LengthとMessage Frame Lengthが決められています。
Length of Message Frame Time

