車載Networkの話(4)「LIN」

 車載Networkの4回目は、「CAN」の簡易版ということで開発された「LIN(Local Interconnect Network)」をご紹介する。

 前回、“CANはそろそろ能力的に一杯々々なので、「FlexRay」が取って代わろうとしている”的な説明をさせていただいたわけだが、これはあくまでもハイエンドの話。ミドルクラスではまだまだCANがメインとなっている。

 たとえば最近(いろいろな意味で)話題のトヨタ「86」の場合、グローブボックスにオプション扱いのデータロガーを装着すると、CAN上に流れる車両情報をBluetooth経由で手持ちのスマートフォンに送ることが可能となっている(ちなみに原稿執筆時点ではまだ公式サイトにはデータロガーに関する情報はなし)。ここから取得できる情報は車速/位置情報/エンジン回転数/ステアリング舵角/前後横加速度/ヨーレート/etc……とかなり多岐に渡る予定で、これだけの情報が流れているというのは、要するに86グレードの車ではまだCANが主幹のネットワークとして使われていることを示している。

 まぁ今回の本題はこれではない。CANはそんなわけで相変わらず中枢に使われているわけであるが、「CANほど堅牢性や高速性はいらないから、もう少し安くできないか」という話は当然にある。これは特に車体系で要求される部分だ。たとえば(何度かこの連載で引き合いに出している)ドアミラーなんて代表例であるが、他にも

 


  • ドアライト/ドアロック/パワーウィンドウ/ドアオープンセンサー
  • シート位置センサー/シート着座センサー/電動シート
  • シートベルト着用センサー
  • トランク/ボンネット開閉センサー

 

といった、ごく当たり前のように装備されることの多いさまざまなコンポーネントも、やっぱり配線は簡素化させたいわけで、しかもある程度インテリジェンス性を持たせたいとなると、何かしらのNetworkに繋ぎたい。ところがCANではコストが上がりすぎてしまう。これを解決するために開発されたのが、今回取り上げるLINである(Photo1)。

Photo1LIN Consortium公開されているLINのターゲットを示したもの

 LINの開発は1990年代後半からスタートしている。開発は「LIN Consortium」という業界団体が行ったが、このLIN Consortiumを設立したのはBMW、フォルクスワーゲン、アウディ、ボルボ・カーズ、ダイムラー・クライスラー(現ダイムラー)の5社の自動車メーカーと、ボルケーノ・オートモーティブ・グループ(現在はメンター・グラフィックスが買収)とモトローラ(現フリースケール・セミコンダクタ)が加わって7社で始めたもので、現在もこの7社がLIN Consortiumの運営委員会を勤めている。

 LINの目的は、先ほども説明したとおり信頼性や高速性を求めない代わりに低価格性を追求したもので、特徴としては

 


  • 配線は1線式で、通信速度は配線長40mの場合で19.2kbps
  • 1つのマスターデバイスに、最大16のスレーブデバイスが接続可能
  • 信号電圧は12V
  • 転送速度は遅い代わりに、伝達遅延保障あり

 

といった事柄が挙げられる。19.2kbpsというのは要するに2400Bytes/secである。一昔前の、2Gの携帯電話で9.6kbps、PHSで32kbps~256kbps、3G携帯電話で384kbps~といった転送速度だから、19.2kbpsというのはPHSよりさらに遅い数字であるが、実はこれで十分でもある。

 LINの場合、1回に送信できるメッセージは2/4/8Bytesのいずれかであるが、仮に一番多い8Bytesを使った場合、理論上は毎秒300回メッセージを送れる計算になる(実際はもうちょい少ないが)。ということは、3.3ms毎に1回、メッセージを送れる計算になる。LINを使うデバイスは、大体において人間の操作に追従できればよい程度だから、通信の頻度は10msでも多すぎるくらいで、100ms(毎秒10回)~50ms(毎秒20回)程度の頻度で十分である。3.3msという数字は、複数のデバイスを同時にアクセスする場合でも十分な帯域である。

 配線が1本、というのは要するに図1のような配線形態になっているということだ。CANやFlexRayは2線式の配線を使うことで高速伝達を可能にしているが、その分コストも増える。LINはこれを1本に減らすことで、ハーネスを簡素化することに成功した。

図1

 もちろんこうなると、外部からのノイズの影響などは心配ではあるのだが、

 


  • 信号の伝達速度そのものが遅いので、ノイズの影響を受けにくい(一過性のノイズが入っても、それによるデータ化けの頻度が少ない)
  • 信号電圧を12Vと高く設定したので、やはり外部からのノイズの影響を受けにくい(ノイズによる電圧が12Vまで上がることは少ない)
  • 信頼性が必要とされる箇所には採用しない

 

 といった形で対処可能としている。ちなみに信号電圧の12Vは、ノイズに強くする目的もあるが、電圧変換を不要とすることでコストを削減するという目的もある。これが5Vとか3.3Vにすると、バッテリーから供給される12Vを一旦5Vとか3.3Vに降圧する必要があり、これに余分な部品コストがかかるためである。

 ちなみにスレーブデバイス16個、というのは必ずしも多いとは言えないが、これを超えるためには通信速度をもう少し引き上げないと間に合わないとか、配線長も最大40mでは不足するとかの問題が出てきて、ノイズ耐性やコストの面でネガティブな影響がある。なのでLINデバイスをより多く利用したい、という場合は、図2のようにLIN Masterから複数のLINの配線が出て、それぞれにLINデバイスがぶら下がるという構成をとるのが一般的である。

 たとえばドアを例にとれば、右前/右後/左前/左後で、それぞれのドアの内部に配されるLINデバイスを1本の配線でまとめて繋ぐ、といったやり方も当然考えられる訳で、これを無理に1本の配線にせずに、4本の配線に分離するのは賢明な方法だろう。

図2

 ところでこのLIN、実際には単独で利用するというよりは、図3のような構図でCAN Netwoekの一部として使われることの方が多い。車体制御ECUは当然クリティカルな制御を行うわけでCANをベースに構成されるが、一部要件(たとえば車が動き出してある程度の車速になったら、ドアロックを自動的にかける)では、LIN経由でのアクセスが必要になる。この場合に、ECUがCANとLINの両方を出すよりは、CANの下にLINがぶら下がる形になるほうが制御上も都合がよい。なので、一部用途を除くと通常はCAN/LINのGatewayが挟まる形で利用されることが多くなる。

図3

 半導体メーカーも、こうした使い方に対応した製品を多くリリースしている。たとえばPhoto2はオランダのNXPセミコンダクターズ(旧フィリップス・セミコンダクターズ)がリリースする、「UJA1078A」というSBC(System Basis Chip)という製品の内部構成である。

Photo2UJA1078Aのブロック図。同製品のデータシートより抜粋

 この製品は、1本のCAN(図の右下にある、「HS-CAN」というブロックがこれです)と2つのLIN(図の左下に、縦に並ぶLIN1とLIN2)の間での通信を行うためのもので、図3で言うところの「CAN/LIN Gateway」にあたる部分を1チップで構成することが可能となっている。

 他にも、CANとLINを同時にサポートするコントローラは数多く存在し、いずれもこうしたゲートウェイ的な役割を果たすことができる。

 一方LINデバイスの方は? というと、こちらもコスト削減をメインに高集積な製品が多く存在する。たとえばPhoto3は、イタリアのSTマイクロエレクトロニクスというメーカーがリリースする、「L99MM70XP」という製品の内部構成である。

Photo3L99MM70XPのブロック図。同製品のデータシートより抜粋

 この製品は「STM8」という8bitのマイコンと対になってドアミラー制御を2チップで行う製品で、左下にLINのインターフェースが、右上にドアミラー駆動用の回路が用意されているのが分かる。

 これをワンチップ化しなかったのは、モータ制御用の高電圧回路とマイコン用の低消費電力回路を一緒にするのは難しいし無駄が多いので、ならば別チップにしてもそれほど実装面積は増えないし、コストもむしろ抑えられるといった試算があったためと思われる。

 このL99MM70XPとSTM8、両方あわせても基盤面積は非常に小さい(下手をするとこれらのチップよりも、モータを繋げるためのコネクタのほうが大きくなりかねない)ので、通常はミラー内部のモータ類にまとめて内蔵されることになる。

 LINそのものの規格は、元々ボルケーノ・コミュニケーション・テクノロジーが自社で開発した「Volcano Lite」と呼ばれるNetworkが元になっている。このVolcano Liteはボルボが採用したりしていたのだが、これを元に1999年7月に標準規格化されたのが「LIN 1.0」である。この後2000年3月には「LIN 1.1」が、11月には「LIN 1.2」が登場し、2002年12月には「LIN 1.3」となる。

 この後、LIN ConsortiumはLINの仕様を徹底的に見直し、2003年9月に登場した「LIN 2.0」ではほぼすべての項目に手が入っているほか、LIN 1.xには含まれて居なかった自己診断機能とか「NCL」(Node Capability Language:ノード機能記述言語)といったものが追加されている。

 この後も改定は続いており、2006年11月には「LIN 2.1」が、2010年12月には「LIN 2.2/2.2A」がリリースされるなどしており、少しずつ機能が拡張され続けてはいるが、ただ、たとえばLIN 2.2AはLIN 1.3との互換性を完璧に保っているなど、従来のLINデバイスに対するサポートを保つことに留意されている。

 そもそもが「CANよりも低価格で簡単なNetwork」というコンセプトなので、これを大幅に崩すような拡張がなされることは考えにくく、また他に代替できる適切なNetworkも無い以上、今後もLINは広く使われ続けることになると考えられる。

カーエレWatch バックナンバー
http://car.watch.impress.co.jp/docs/series/cew/


(大原雄介 )
2012年 5月 9日