CANバスの高い人気は続く - 今度はIoTとオートメーションで

2018年9月25日

Jim Harrison 筆者:Jim Harrison
ゲストブロガー、Lincoln Technology Communications


CAN (Controller Area Network)バスはRobert Bosch GmbHで生まれ、プロトコル仕様は1986年にSAE (Society of Automotive Engineers)のコンファレンスで正式に発表されました。最初のCANコントローラチップはIntelとPhilipsによって製造され、1987年に販売が開始されました。1991年、Mercedes-BenzはCANベースの多重化配線システムを備えた最初の量産車を発表しました。CANは標準車載ネットワークで、自動車の配線ハーネスのサイズと重量の大幅な削減を可能にします。

CAN接続に代わるものも提案されてきましたが、CANは今も活発に成長を続けています。実際に、CANの使用例は車載分野を大きく超え、ファクトリーオートメーションやモノのインターネット(IoT)などの多様な分野へと拡大しています。CANトランシーバは、設計の強化につながる多数のアナログビルディングブロックの1つです。アナログのヒーローと呼んでも過言ではありません。

CANバスのタイプ

CAN 2.0Aデバイスプロトコルは11ビットのIDを使用し、29ビットのIDを使用するものは一般にCAN 2.0Bと呼ばれます。Robert Boshは現在も仕様策定を主導しています。ウィキペディアによると、国際標準化機構はCAN規格のISO 11898を1993年に発表し、その後それを2部に再構成しました。ISO 11898-1はデータリンク層を規定し、ISO 11898-2は高速CAN用の物理層を規定しています。その後ISO 11898-3が発表され、低速、耐障害性CAN用の物理層を規定しました。

SAE J1939規格は、トラックやバスで広く使用されているCANプロトコル規格です。CANバスは、OBD (on-board diagnostics)-II自動車診断規格で使用される5つのプロトコルの1つです。ODB IIは、米国では1996年以降、ヨーロッパでは2001年以降に販売されているすべての乗用車および軽トラックに搭載が義務付けられています。

CANの代替規格

CANの代替規格には、LIN (Local Interconnected Network)バスやFlexrayなどがあります。LINバスはCANよりさらに低コストです。LINは完全にCANバスの代わりになることはできませんが、低コストが必須かつ速度/帯域幅が重要でない場合には、優れた代替となります。車載アプリケーションでは、通常は自動車の性能や安全性にとって重要ではないサブシステム内で使用されます。Flexrayは2000年から開発が行われており、2006年型のBMWで使用され、現在はドイツ製のほとんどの乗用車およびSUVで使用されています。Flexrayは、より高速な10Mbpsのデータレートとデターミニスティックな時間応答を実現し、冗長性を備えるように設計されています。しかし、高コストであり、CANよりはるかに複雑で、到達距離はわずか24mです。また、インフォテイメントシステムで使用されるMOSTネットワークがあります。車載インフォテイメントおよびディスプレイアプリケーション用に非常に高速のイーサネット接続が提案されており、他にもあると思われます。

産業の世界へのCANの拡張

高級車は各種機能の制御と調整のために150もの車載ECUを備えており、現在ではすべての新型車が1台当り少なくとも70のECUを備えています。これらのECUは、パワートレイン、ボディ、およびシャーシのほぼすべての局面を制御しながら、それぞれの間で通信する必要があります。CANは、ドアロックからブレーキ、アクセルペダル、テールランプまで、さまざまなECU間で各機能を接続します。CANの人気が高いのは、非常に高い信頼性と簡素さを備え、低コストおよび低電力であるためです。

CANバスは簡素な25Kbps~1Mbpsのツイストペア接続を使用します。現在は2Mbpsのデータを実装するチップが利用可能です。バスは50Kbpsで1000mまたは1Mbpsで40mに達します。CANが自動車で人気を集めているのは、安全性重視の車載環境において予測可能なエラーフリーの通信を保証する優れた方法を開発者が見つけ出したことによります。そしてこの特性は、工場のフロアでも非常に有効に利用されています。

CANは2本1組のワイヤ上を差動方式で搬送されます。この差動という性質によって、CANはコモンモードノイズを除去することができます。また、差動通信の電場は相互に打ち消し合う傾向があるため、この構造は電磁放射も低減します。

始動、停止、および動作に大電流が必要なモーターを使用する産業システムは、CANが威力を発揮する好例です。モーターからの電磁放射は、RS-485などの通信では大量のエラーの原因になるのに対し、CANはそれに耐えることができます。この物理的な信頼性を基盤として、CANはエラー検出を可能にする巡回冗長検査(CRC)やアクノリッジなどのその他の機能を内蔵し、堅牢性を確保しています。

バストポロジとして動作するためには、自分がいつ送信してよいかをデバイスが理解する必要があります。CANは、イーサネットでも使われているCSMA/CD (Carrier Sense Multiple Access with Collision Detection)を使用します。メッセージを送信するデバイスは、バスがフリーの状態であり使用されていないかどうかを検出しなければなりません。コリジョン検出によって、まったく同一のタイミングでバス上の他のデバイスが送信を試みている場合にそれを検出することができます。CANはプライオリティ機構を使用してバスを管理します。

CANバスが非常に高い人気を集めたため、競合ベンダーによって各種の実装が作られました。物理層は共通ですが、それぞれの実装は異なるネットワーク層を備えています。互換性を実現し、設計者がどのCAN対応デバイスを選んでも必ず相互動作するようにするため、CANopenが考案されました。オートメーションアプリケーションで使用されるエンベデッドシステムでは、CANopenが最も一般的です。OSIモデルで言うと、CANopenはネットワーク層およびそれ以上の階層を実装しています。

図1. CANバスのOSI階層図

図1. CANバスのOSI階層図

CANとRS-485の比較

RS-485などの通信プロトコルと比較して、CANは通信用の物理的媒体のみでなく、データパケット(メッセージ)のアドレス指定、データコリジョンの防止、送信されたデータ内の障害検出、妨害されたメッセージの自動繰り返し、およびネットワーク内の全ノードにわたるデータ完全性の確保に必要な他のすべての機構も提供します。さらに、CANはメッセージID、データ、および制御バイトを備えたデータフレームの構造を規定しています。RS-485接続はOSIモデルの第1層(物理層)のみに対応し、CANは第2層(データリンク層)も追加しています。そのため、CANはリアルタイム対応ソリューションです。IDによって示されるメッセージのプライオリティに応じて、バス負荷や他のノードの性能に関係なく、各CANメッセージの最大遅延時間を予想可能です。RS-485を使用する場合、コリジョン防止をアプリケーションソフトウェアで保証する必要があります。

CANは高度なエラー管理を備えています。1つのノードでメッセージが正常に受信されなかった場合(CRCまたはフォーマットエラー)、メッセージは受信側によってエラーフレームを介して破棄され、全ノードに対して無効のマークが付けられます。この動作によって、CANコントローラで自動繰り返しが開始されます。

CANの実装

これらの手段(短いメッセージ、差動伝送、エラー検出とトラブルシューティング、障害ノードの除去)の組み合わせによって、CANは非常に堅牢で、セキュアな、高信頼性のネットワークになっています。これが、自動車、船舶、エレベータ、医療機器、航空機、および産業プラントにおいてCANが多くの重要なまたは安全に関するアプリケーションに採用されている理由です。

CANプロトコルは完全にハードウェアで実装されるため、マイクロコントローラシステムの負荷が軽減されます(メッセージ当り1回の割込みのみ)。CANopen、DeviceNet、J1939などの各種の第7層プロトコルが、多数のベンダーから、入手可能なほぼすべてのMCU向けに提供されているため、リスクが低減され、市場投入までの時間が短縮されます。

堅牢で低電流のトランシーバIC

車載アプリケーションには、明らかに車載グレードの規格に適合するICが必要です。この分野以外のアプリケーション、たとえば前述した産業オートメーションやIoTなどの場合は、これらのアプリケーションのニーズを満たすいくつかの優れたCANトランシーバICがあります。MAX3051は3.3V、1Mbps、低消費電流CANトランシーバICで、主として自動車業界によって規定されている厳格なフォルト保護を必要としないアプリケーション用です。このデバイスは、高速、スロープ制御、スタンバイ、およびシャットダウンの4つの動作モードを備えています。スロープ制御モードでは、トランスミッタのスルーレートを最大500Kbpsのデータレートで調整することができます。これによって、EMIおよび不適切に終端されたケーブルによって発生する反射が低減され、非シールドツイストケーブルの使用が可能になる場合があります。

図2. 基本的なMAX3051トランシーバ回路

図2. 基本的なMAX3051トランシーバ回路

MAX3051の入力コモンモード範囲は-7V~+12Vで、ISO 11898の仕様を上回っています。このデバイスは8ピンSOおよびSOT23パッケージで提供され、-40℃~+85℃の範囲で動作します。このチップは、±12kV HBM ESD保護、サーマルシャットダウン、および電流制限を提供します。

もう1つの注目に値するCANトランシーバICは、MAX13054Aです。この2Mbps CANトランシーバは高い保護レベルを備え、8ピンSOパッケージで提供されます。このデバイスは±65Vの過電圧フォルト保護を備え、高い±25kV ESD HBM保護を内蔵するとともに、±25Vの入力コモンモード範囲、短絡保護、およびサーマルシャットダウンを備えています。非常に堅牢なデバイスです。

このチップは非常に広い1.62~5.5Vのロジック電源範囲を提供するため、インタフェースの課題が軽減されます。スタンバイモード時、トランスミッタはオフになり、レシーバは低電流/低速状態になります。バスラインは監視され、ウェイクアップイベントが検出されます。スタンバイモードの消費電流はわずか11µAです。このトランシーバは、コントローラのエラーまたはTXD入力のフォルトによって引き起こされるバスのロックアップを防ぐためのドミナントタイムアウトを内蔵しています。大規模ネットワーク上での最大速度は、ノード数、ケーブルのタイプ、またはスタブ長によって制限される場合があります。このチップの温度範囲は-40℃~125℃で、8ピンSOICパッケージで提供されます(MAX13054AEASA+)。

図3. MAX13054Aトランシーバを使用するマルチドロップCANバス

図3. MAX13054Aトランシーバを使用するマルチドロップCANバス

MAX13054 (Aサフィックスなし)は少し異なります。このバージョンはISO11898規格に完全対応し、IEC 61000-4-2で規定された±8kV ESDおよび±80Vのフォルト保護を備えています。パッケージを含むその他の仕様はMAX13054Aと同様です。このデバイスは自動車用または拡張温度範囲で提供されます。

堅牢なCANインタフェース

今でも設計エンジニアに高い人気があるのには、十分な理由があります。今もその人気は増大しています。予想可能な将来にわたってCANバスは大きな力となり、さまざまなアプリケーション分野で多くの通信のニーズに対する優れたソリューションになるでしょう。