技術屋みやびまん

自称技術屋のオッチャン。技術の進歩が速すぎます。覚書のペタペタ張り付ブログです。

全体表示

[ リスト ]

CAN,CAN FD

【車載情報技術】車載ネットワーク 「CAN」 「CAN FD」

『 

CANの歴史

 いま(2008年時点)から25年ほど前の1983年、CANの開発はドイツのBosch社で始まる。2年後の1985年にFull-CAN規格が完成し、同年Bosch社とIntel社によるCAN用マイコンの共同開発が開始された。
 この共同開発の末、Intel社製のチップが完成し(1987年)、翌年からIntel社製CANチップ「82C526」の生産を開始。ちなみに、これとほぼ同時期にPhilips社からBasic-CANチップ「82C200」も登場している(1989年)。
 実際に量産車(メルセデスベンツ Sクラス)にCANが搭載されたのは1990年になってからで、このときはエンジン、ギア(オートマチック)、エアコン回りでの採用であったという。1994年、正式に国際規格(ISO 11898)となり、それ以降ヨーロッパ発の規格であるCANが広く自動車に採用されるようになった。

ECU間通信が求められた理由

 CANの開発が求められた要因は、ずばり“ECU間通信へのシフト”にある。
 自動車の発展に伴い搭載される電装品の数が増加。これにより、高度な制御を行う要求が高まり、これらをコントロールする「電子制御ユニット(ECU:Electronic Control Unit)」が激増していった。これを背景に、各ECUが単体で個々の電装品などを制御する方式から各ECU同士を専用線で結び、ECU間のデータ転送による協調制御を行う方式(ECU間通信)へシフトするようになった。
理由1:制御内容の高度化による入出力の増加とECUの大型化
 自動車の高機能・高性能化に伴い、制御内容が複雑になり入力センサや各種アクチュエータの数が増化し、各ECUはそれらの入出力の分だけコネクタのピンが必要となった。当然、ピン数が増えれば増えるほどコネクタサイズが大きくなっていく……。最終的にはコネクタの大きさによってECUのサイズが決められてしまうといった事態にまで陥ってしまったのだ。さらに、入出力用のデバイスも多数必要となるため、ECU基板のサイズも大型化せざるを得ない状況になった。
理由2:複数のECUにまたがる制御の増加
 前述のとおり、従来は自動車の内部に搭載されているECUが個別に制御を行う方法を取っていたが、最近では100以上ものECUが搭載されている車両も登場しており、各ECUが個別に制御を行うのは困難となった。
理由3:配線スペース、ECU収納スペースの制限
 車両空間の快適性への要求が高まり、配線スペースやECUの設置場所などが限られてきている。自動車の要求特性として安全・快適・環境が挙げられるが、特にコンパクトカーなどは「快適」要求が強く求められている。
理由4:故障診断・バックアップシステムへの対応
 従来、故障情報を個々のECUにメモリして、その情報を基に原因の究明を行ってきた。ECUの数が少ないうちは、1つ1つECUの故障情報を確認して故障個所を断定できたが、ECUの数が急激に増えたことで、個別の故障診断では故障個所の断定に時間やそれに伴うコストが増加するようになった。

配線方式の違いによるメリット

 前述のように、各ECUが単体で個々の電装品などを制御する方式からECU間通信へシフトしていったわけだが、当初、ECU間通信を実現する手段として採用されていたのが、“必要な情報の数だけECU間を配線で接続する「従来方式の配線」”であった(図1)。

イメージ 1

 この方式では、ECUやセンサが増えるたびに配線が増え、これに伴い、配線コストも増加してしまう。配線の増加は車体重量の増加だけでなく、配線スペースの問題も引き起こす。さらには、配線と各ECUやセンサとの接続点も増えるため、故障が起こりやすくなり信頼性の低下につながる。ここまでの説明でも察しが付くが、これだけ配線が入り組んだ状況では、改造や設計変更・拡張、故障診断時にも支障を来すし、これらの作業を実際に行うとなるとかなりのコストが掛かってしまう。
 以下に従来方式の配線によるデメリットを示す。
  1. 配線本数が多い
  2. 費用が掛かる
  3. 重量の増加と配線スペースの拡大
  4. 信頼性への問題
  5. 改造や設置面での問題
  6. 設計変更、拡張時の問題
  7. 故障診断の問題
 こうして、従来方式の配線に置き換わる手段として考えられたのが「通信(ネットワーク)方式の配線」だ(図2)。

イメージ 2

 図1と図2を比べてみると、図2の配線の方がスッキリとしているのが分かる。通信方式の配線では、複数の部品間配線を1本の通信線にまとめ、各ECUで通信線を共有している。このようにすることで配線本数が激減し、コストやスペース・重量の課題を克服、さらには自動車の組み立てや設計作業の効率化、燃費の向上などが図れるのだ。そのほかにも、ECUの小型化や設計自由度の向上、電気的信頼性の向上、データ通信以外への用途拡大などのメリットも得られる。
 以下に通信方式の配線によるメリットを示す。
  1. 柔軟性(拡張時や据え付け時)がある
  2. ECU同士の情報交換が可能
  3. センサ信号の複数共有が可能
  4. 簡単な故障診断や統計処理が可能
  5. 送信エラーの検出が可能
  6. エラー訂正が可能
 この通信方式の配線、つまりECU間をネットワークで接続するための通信プロトコルとして考えられたのがCANなのだ。

最新の自動車における車載ネットワーク搭載状況

 図3に主な車載ネットワークの搭載状況を示す。CAN、低速・低コストの「LIN(Local Interconnect Network)」、高信頼・高速(ただし、高価)の「FlexRay」、制御系ではなく主にマルチメディア系で使用されている「MOST(Media Oriented System Transport)」の4種類が使われている。

イメージ 3

これでは細か過ぎるので、これを簡略化して見てみよう(図4)。

イメージ 4

 このように、主にエンジンやABSなどの“パワートレイン系”で使用されているのが高速CAN「CAN-C(CAN-ClassC/SAE Class C)」で、ドアやシートなどの“ボディ系”で使用されているのが低速CAN「CAN-B(CAN-ClassB/SAE Class B)」だ。また、アクチュエータやセンサなどの“スイッチ・センサ系”では低速・低コストのLINが、ステアリング、ブレーキ、スロットルなどの“X-by-Wire系(注)”では高信頼・高速のFlexRayが、カーナビゲーションシステムやオーディオなどの“マルチメディア系”ではMOSTが使用されている。

各ネットワークの位置付け

 前述のように車載ネットワークにもいくつか種類が存在する。では、それぞれどのような特長があるのだろうか、ここでは通信速度とコストから比べてみよう(図5)。

イメージ 5

 一般的に、CANのシステムコストを“1”とすると、LINはその約半分。より高速・高信頼のFlexRayではCANの約2.5倍、マルチメディア系の制御を行うMOSTになるとCANの約5倍ものシステムコストが掛かる。
 このように、一口に車載ネットワークといってもその種類は複数存在し、それぞれ得意とする分野が異なっている。そして、図3や図4で見たとおり、各通信プロトコルがその特性やコストなどにより、適材適所で使われていることが分かる。
 車載ネットワークの適用範囲は幅広く、パワートレイン系、ボディ系、快適装備系など実にさまざまな用途に使用されているが、「安全性」「信頼性」「コスト」「外的要因への耐性」「開発工数」など多くの要求を満たさなければならない。こうした要求に対して、これまでいろいろな通信方式が考案され、実際に使用されてきたが、本連載の主役であるCANこそが現段階における車載ネットワークの事実上の“標準”といっても過言ではない。

CANの特長

 はじめに、CANの特長を以下に示す。
  • ライン型構造
  • マルチマスター方式
  • CSMA/CA
  • IDを使用したメッセージ・アドレッシング
  • 耐ノイズ性に優れた物理層
  • エラー検出メカニズム
  • データの一貫性
ライン型構造
 車載ネットワークに限らず、一般的にネットワークに接続される通信機器のことを“ノード”という。車載ネットワークでいうと「電子制御ユニット(ECU:Electronic Control Unit)」がそれに当たる。
 そして、複数のノードを接続してネットワークを実現するわけだが、その方式にもいくつかの種類がある。例えばリング型、スター型、ライン型などだ。なお、CANでは「ライン型」が採用されている(図1)。

イメージ 6

 ライン型によるネットワーク方式は、通信線に各ノードを接続していくことによりネットワークを構成できるため、ネットワークがシンプルで、その設計が容易に行えるというメリットがある。車載ネットワークには、もともと“複雑な配線の解消”という目的があり、その点からしてもライン型構造は目的に合致している。通信線は、“バス(bus)”とも呼ばれ、各ノードを接続するもの。
マルチマスター方式
 CANではライン型構造で接続される各ノードに平等なバスアクセス(注)が可能な「マルチマスター方式」を採用している。
 マルチマスター方式を使用するメリットとしては、
  • 各ノードが均一仕様で設計できる
  • 各ノードに優劣がないため、イベント指向通信に向く
  • ノードの追加接続が容易
などが挙げられる。
 つまり、開発時には各ノードを同一仕様で設計できることに加え、データ伝達を必要な場合に送信することができ、各ノードに優劣がないため自由度の高いネットワーク構成が可能となるのだ。車載ネットワークでは、さまざまな使われ方や設計変更などのケースが考えられるため、このような自由度の高いネットワーク構成は非常に重要といえる。
CSMA/CA
 通常、複数のノードから自由にデータが送信されてしまうとデータが衝突してしまうため、“通信線が使用中であれば、データ送信をさせない”仕組みが使用されている。しかし、複数のノードから同時に通信線にデータが送信される場合には、これを防ぐことができない。
 これに対して、CANは「CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)」を採用し、複数のノードから同時に通信線へデータが送信されても、その中の“優先順位が高いものを(衝突させることなく)送信する”ようになっている。これにより、複数ノードからの同時送信が起きた場合も、重要なデータに高い優先順位を設定しておけば、確実にデータ伝達が行われるのだ(図2)。
 

イメージ 7

 例えば、エンジンECUからのデータが重要であれば、エンジンECU側にあらかじめ高優先順位を設定しておく。そうすれば、仮にエンジンECUからのデータとエアコンECUからのデータが同時に送信されても、エンジンECUからのデータは破壊されることなく通信線に送信することができる。具体的な処理方法については、次回以降に解説を行う。
IDを使用したメッセージ・アドレッシング
 IDを使用したメッセージ・アドレッシングとは、データの中に“ID(識別子)を付加して送信する”方式で、各ノード間でデータをやりとりする際に使用される。データを受信する側は、このIDにより「どのようなデータなのか?」「自分が使用するデータなのか?」を判断できる。
 また、この方式を使用することで、1つの送信ノードからのデータを複数の受信ノードが同時に受信できる。車載ネットワークで考えると、エンジンECUからのデータを、メーターECUとエアコンECUが同時に受信して、それを使用できる。つまり、複数のECUが同時に協調して制御を行うことが容易になるのだ。
耐ノイズ性に優れた物理層
 パワートレイン系に使用される「High Speed CAN(CAN-C)」では、“2線式差動電圧方式”により通信を行っている。2線式差動電圧方式とは、2本線(ツイストペア)の各線に流れる電圧の差が“ある”か“ない”かによってデータを送信する方式だ。この方式を使用することにより、外部からノイズが混入した場合でも、各線に混入するノイズの電圧はほぼ同一となる(つまり、各線の差電圧は変化しない)ため、ノイズによる影響が受けにくい(図3)。

イメージ 8

 車載機器では外部ノイズによる影響は避けて通れないが、CANではそれらの影響を受けにくくする方式を採用しているため、信頼性の高いネットワークを構築することができるのだ。
エラー検出メカニズム
 安全面を重視する車載ネットワークにおいては、“各ノードで使用されるデータが何らかの異常によって間違ったまま届き、正常な制御が行えなくなる”といった状態に陥ることは確実に避けなければならない。
 この対策として、CANではさまざまなエラー検出メカニズムを実装しており、これにより、ほぼ100%に近い確率で各種エラーを検出することが可能となっている。例えば、送信ノード自身が、送信するデータと通信線上に流れたデータが合っているかどうかを確認し、違いがある場合にはエラー検出を行うなどだ。
データの一貫性
 車両制御において、あるタイミングで各ノードが協調し、同時に制御を行う場合がある。
 例えば、現在のエンジン回転数を使用して複数のノードが制御を行う場合、エンジンECUから各ノードにエンジン回転数のデータが送信される。通常、すべての受信側で正常に受信できれば問題ないが、もし1台のノードがエラーとなりデータを受信できなかったらどうなるだろうか?
 「受信に失敗したノードのみエンジンECUからデータを再送信してもらえばいいのでは」と思うかもしれないが、これではエンジン回転数の変化が起きた後のデータを受け取る可能性がある。つまり、各ノードで使用するエンジン回転数データが異なる恐れが出てくるわけだ。
 これに対してCANは、“もし1台のノードが受信に失敗したら、データを受信できた全ノードはそのデータを破棄し、全ノードが受信に成功するまでこれを繰り返す”ようになっている。CANではこのように、データの一貫性を保っている。
 そのほかのCANの特長としては、
  • 1回に送信できるデータ量が最大8bytes
  • 最大通信速度1Mbps
などがある。

CANの基本

 次に、CANの基本として以下の用語について解説する。
  • ドミナントとリセッシブ
  • シグナルコーディング
  • 通信速度
  • 同期
  • ビットスタッフィングルール
ドミナントとリセッシブ
 CANでは、データの伝達にデジタル方式が使われている。送信されるデータは“0”と“1”の2進数に変換されて、通信線に送信される。CANにおいて、この送信される2進数データの“0”のことを「ドミナント」、“1”のことを「リセッシブ」と呼ぶ。
 ドミナントは“優性”、リセッシブは“劣性”の意味で、ドミナントとリセッシブが別のノードから同時に送信された場合には、文字どおり“ドミナントが優先”される仕組みになっている。このルールを利用して、CANではいろいろな仕組みが実現されている。そのため、ドミナントとリセッシブの関係については必ず理解しておきたい。
シグナルコーディング
 CANでは「NRZ(Non-Return-to-Zero)方式」により、送信したいデータを変換/送信している。この方式は比較的シンプルに変換が行えるため、さまざまな通信プロトコルで使用されている。

イメージ 9

 NRZ方式では、例えば送信するデータが“0001100”の場合、連続する“0”の部分は“0”のまま、連続する“1”の部分は“1”のままとなり、ドミナント状態やリセッシブ状態が連続することになる。状態が連続することによるデメリットもあるが、これを解消するための仕組みが用意されている。
通信速度
 通常、通信速度は“bps(Bit Per Second)”で表される。これは1秒間に何ビットのデータが送信可能かを表す。この数値が高ければ高いほど、より短い時間に大量のデータを伝えることができる。例えば、2bpsの通信速度の場合は1秒間に2ビットのデータ伝達が可能となる。
 図5のようにノードAが1bps、ノードBが2bpsで動作する環境だと、ノードAから“1”を1個送信した場合、ノードBでは“1”が2個受信されてしまう。つまり、ノードA−B間のデータ伝達は正常に行えない。

イメージ 10

 通信を正常に行ううえでは、各ノード間の“通信速度を同一に保つ”ことが重要といえる。
同期
 車載ネットワークでは、多種多様なノードが接続されている。そして、それぞれのノードは内部でプログラム処理などを行うための基準時間(以下、システムクロック)を作り出す“水晶発振子”を持っている。
 この水晶発振子は比較的正確に時間を作り出すことができるが、車載ネットワークの各ノードはさまざまな場所に設置されているため、外気温などの影響を受けやすく、電源投入時からの時間変化などにより結果として各ノードのシステムクロックに違いが生じてしまう。
 CANではシステムクロックを使い、ドミナントやリセッシブの長さを1ビット分として構成しているが、もし、システムクロックが各ノードで違ってしまうと、それぞれの1ビットの長さが違ってしまうことになる。また、1ビットの長さによって前述の通信速度に違いが生じるため、正常なデータのやりとりができなくなってしまう。
 これを防ぐ制御が「同期」と呼ばれるもので、各ノード間のシステムクロックの違いを補正する。CANでは“信号がリセッシブからドミナントへ変化するとき(“1”−“0”変化時)に同期”を行っている。
ビットスタッフィングルール
 前述したNRZでは“0000”のように“0”が連続した場合、同じ状態が連続することになる。同期は“1”−“0”の変化にて行われるので、もし“0”が長時間連続した場合、同期ができない状態になってしまう。同期ができないと各ノードの通信速度にずれが生じ、正常に通信ができなくなってしまう。
 そこでCANでは、「ビットスタッフィングルール」を採用している。
 これは、通信線上で同じ状態が5回連続した場合、それまで送信されていた状態と反対の状態のビット(“スタッフビット”)を1個挿入する仕組みだ。図6に実際の動きを示す。

イメージ 11

 例えば、“000000111111”と連続する場合は“00000101111101”と実際に送信されることになる(太文字は挿入されたスタッフビット)。
 また、“0000011111”と連続した場合は“000001111101”となる。
 これは、挿入されたスタッフビットも通信線上の状態としてカウントするからである。このように、ビットスタッフィングルールを採用することで、通信線上で同じ状態が延々と連続することを防止している。
 「ちょっと待てよ、これでは実際に送信するはずのデータがスタッフビットによって通信線上で変化してしまっているではないか!」と思うかもしれない。しかし、送受信側ともに同じルールで動作しているため、受信側は同じ状態が5回連続したら、次に受信されるビットはスタッフビットであると容易に判断でき、使用するデータにおいてはスタッフビットを除いたものを利用できるのだ。』


『 自動車の走る/曲がる/止まるといった制御系システムでは、車両内に搭載されている各ECU(電子制御ユニット)をつなぐ車載LAN規格として広く用いられているのがCAN(Controller Area Network)である。
 Robert Boschが1983年に策定したCANが、1990年代から量産車に広く採用されるようになって既に20年以上が経過した。その20年の間で、カーエレクトロニクス技術も大幅な進化を遂げたが、制御系システムの車載LAN規格に用いられているのは、最高伝送速度が1MbpsのCANのままだ。2000年に欧州の自動車メーカーを中心に結成されたFlexRayコンソーシアムが、最高伝送速度が10Mbpsの車載LAN規格FlexRayを策定したが、一部の自動車メーカーを除いて採用は進んでいない。これは、FlexRayの関連ICが高価なこととともに、プロトコル方式がイベント駆動型のCANと全く異なるタイムトリガー型であることによるソフトウェア開発のハードルの高さも大きな要因になっている。
 制御系システムの次世代車載LAN規格として期待されたFlexRayを採用しない一方で、ECU間で伝送されるデータ量は増大している。自動車メーカーやティア1サプライヤからすれば、いろんな意味で高くつくFlexRayではない、“速いCAN”のような選択肢があれば選ばれる可能性は高い。
 この需要を満たすべく、Robert Boschが新たに策定したのがCAN FD(CAN with Flexible Data Rate)である。CAN FDは、CANをベースに、1つのデータフレームに載せられるデータ長を従来の8バイトから64バイトに拡張している。これにより、車両内で用いる場合には通信速度が500kbpsに限られていたCANを、1Mbps以上まで高速化できるのだ。
 もちろんCAN FD対応のマイコンやトランシーバ、ソフトウェア開発ツールは必要になる。それでも、プロトコル方式はCANと同じイベント駆動型なので、ECUに実装する車載ソフトウェアへの変更がFlexRayよりも圧倒的に少なくて済むことが大きなメリットになる。』






 
 
 

 



.


プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事