AN-1123: CAN(コントローラ・エリア・ネットワーク)の実装ガイド

はじめに

CAN(コントローラ・エリア・ネットワーク)は、フォルト処理が組み込まれた分散型通信の規格で、ISO-118981, 2 においてオープン・システム・インターコネクション(OSI)モデルの物理レイヤおよびデータ・リンク・レイヤについて規定されたものです。CAN は、用いている通信メカニズムが本質的に強固であるため、工業用や計測器用アプリケーションおよび自動車産業において広く採用されています。

CAN には以下のような特徴があります。

  • 1 本のバスで複数のマスタが可能
  • メッセージに対する固有の優先レベル
  • メッセージの優先度に対するバス・アービトレーション(調停処理)
  • 複数レベルでのエラー検出および回復
  • 別々のクロック源を使用するノード間でのデータ・タイミングの同期

物理層では、CAN プロトコルが差動データ伝送をサポートしているため、以下の利点が得られます。

  • 1 対のツイスト・ケーブルを介した双方向通信
  • ノイズ耐性の向上
  • ノード間のグラウンド電位の違いを許容する広いコモン・モード電圧範囲

コントロール・エリア・ネットワークの実装

このアプリケーション・ノートでは、工業用アプリケーションにおけるCAN の実装方法に関する以下の側面を検討します。

  • CAN 実装レイヤ:CAN の仕様とプロトコルがハードウェア/ソフトウェアやCAN トランシーバー製品にどのように関係するか
  • CAN メッセージ:メッセージ構造がどのようにエラー・チェック/回復およびアービトレーションに対する基盤となるか
  • アービトレーション:CAN が仕様規定するキャリア・センス多重アクセス法がどのように複数の駆動ノードを許容するか
  • エラー・メカニズム:CAN の仕様が通信の本質的な堅牢性をどのように強化するか
  • 物理バス:どのような手段で物理レイヤでの適切な通信を確保するか
  • 絶縁:CAN の信号と電源の絶縁、およびCAN に対する集積化絶縁ソリューション
  • ストレス保護:トランシーバーを電気的過剰ストレスから保護するためにCAN で用いられているメカニズム

CAN が差動データ伝送を使用する際の様態

従来の差動データ伝送(RS-4853 など)では、ロジック1 は1 つの非反転伝送ラインでハイの電圧レベルとして伝送され、反転ラインではローとして送信されます。これに対応して、ロジック0 は非反転ラインではロー、反転ラインではハイとして伝送されます。レシーバは、表1 に示すように、この2 本のライン間の電圧差を用い、伝送されたのがロジック1 かロジック0 かを判定します。

表1. CAN とRS-485 の電圧レベルの比較
Logic RS-485 Levels CAN State CAN Levels
1 A − B ≥ +200 mV Recessive CANH − CANL ≤ 0.5 V
0 A − B ≤ −200 mV Dominant CANH − CANL ≥ 0.9 V

バスのドライバは、ドライバ出力が高インピーダンス状態にある、3 番目の状態になることもあります。全てのノードがこの状態になっている場合、バスはアイドル状態になります。この状態の場合、通常、両方のバス・ラインは同様の電圧となりその差はわずかです。

CAN の信号処理は、リセッシブ(ドライバ出力は高インピーダンス)およびドミナント(一方のバス・ラインCANH がハイ、他方のバス・ラインCANL がロー)の2 つのバス電圧状態しかない点が異なります。これらの閾値を表1 に示します。伝送ノードは、ロジック0 ではドミナント状態、ロジック1 ではリセッシブ状態を伝送します。アイドル状態のCAN バスは、フレームまたはエラー・フレームの末尾の後に複数のリセッシブ・ビットを検出するだけで、リセッシブ・ビット伝送と区別できます。

ドミナントとリセッシブの2 つの状態は、CAN の信号方式とRS-485 を比較する図1 に示した、CANH とCANL の電圧レベルで表されます。この信号方式は、ノードのアービトレーションと、より小さいメッセージID(メッセージがシリアルに伝送される場合より初期に伝送されたロジック0)のメッセージを優先するという固有の順位付けの両方に対する基盤となるものです。

図1. CAN とRS-485/RS-422 の差動信号方式の比較

図1. CAN とRS-485/RS-422 の差動信号方式の比較

CAN 実装レイヤ

CAN を用いた通信は、国際標準化機構(ISO)によりISO-11898として定義され、通信向けの7 レイヤからなるOSI モデルに照らして考えることができます。CAN のISO-11898-1 規格は、データ・リンク・レイヤとそれが上下のレイヤに及ぼす影響に関連しています。ISO-11898-2 は、データ・リンク・レイヤおよび物理レイヤの部分に関連しています。

CAN の実装は次の要素に依存します。

  • CAN メッセージと差動信号の間の変換をツイスト・ペア・ケーブルなどの物理媒体を介して行う物理レイヤのトランシーバー。
  • データ・リンク・レイヤを具現化するCAN コントローラ(アナログ・デバイセズのBlackfin® ADSP-BF548 のようなマイクロプロセッサに組み込まれている場合もあります)。これらは、通信が確実にISO 11898 規格に適合するよう、CAN 2.0b 仕様4 を遵守します。
  • アプリケーション・レイヤのプロトコルを実行する(ソフトウェア・アプリケーション・データとCAN メッセージの間の変換を行う)CAN ソフトウェア・アプリケーション。

CAN アプリケーションを実行する様々なブロックを図2 に示します。これは、OSI レイヤに対する関係と各ブロックが備えている機能を示すものです。

図2. OSI レイヤとその機能に関連するCAN 実装ブロック

図2. OSI レイヤとその機能に関連するCAN 実装ブロック

物理レイヤのトランシーバー


CAN トランシーバーは、データ・リンク・レイヤ、CAN コントローラ(アナログ・デバイセズのBlackfin プロセッサの一部に組み込まれているものなど)、CAN バスの物理的な配線の間における物理レイヤ差動インターフェースを実現します。アナログ・デバイセズではそのポートフォリオに、信号絶縁とisoPower®電源絶縁5 を実現するための集積化iCoupler®デジタル絶縁5を備えたトランシーバーを揃え、すぐに使える完全絶縁型CAN PHY を提供しています。

ADM3051/ADM3052/ADM3053/ADM3054 は、CANコントローラとインターフェースできるよう設計されており、様々なCAN アプリケーションをサポートします。アプリケーションによっては、CANopen やDeviceNet など、様々な高レベルのプロトコルをCAN と共に使用できます。

  • ADM3054 は、5kV rms の信号絶縁型高速CAN トランシーバーです。
  • ADM3053 は、2.5kV rms の信号と電源の絶縁が可能な完全絶縁型高速CAN トランシーバーです。
  • ADM3052 は、バス電圧レギュレータを内蔵した5kV rms の信号絶縁型高速CAN トランシーバーで、(DeviceNet などのアプリケーションにおいて)24V のバス電力を使用します。
  • ADM3051 は非絶縁型の高速CAN トランシーバーです。

CAN コントローラ


CAN のデータ・リンク・レイヤと物理的なビット・タイミングは、CAN 2.0b 仕様に従いISO-11898 規格のデータ・リンク・レイヤの部分に適合して、(多くの場合、マイクロコントローラまたはADSP-BF548 などのデジタル・シグナル・プロセッサ(DSP)に組み込まれた)CAN コントローラによって実装されます。CAN コントローラは、メッセージのフィルタリング、アービトレーション、メッセージのフレーム化、エラー処理、およびビット挿入などのエラー検出メカニズムを処理します。


DeviceNet ネットワーク


DeviceNet6 は、通信ネットワーク用にOpen DeviceNet Vendors Association(ODVA)が管理する仕様です。DeviceNet は、物理レイヤ、物理レイヤおよびデータ・リンク・レイヤに対するCAN の使用法、共通産業プロトコル(CIP)を用いたより高いレベルの通信など、様々な側面を仕様規定しています。工業用および計測用CAN アプリケーションでは、DeviceNet が広く用いられています。

DeviceNet は、マスタ・スレーブあるいは分散型制御方式を線形バス・トポロジを通じてサポートする、マルチドロップ・ネットワークを仕様規定しています。このネットワークは差動信号方式のバス・ラインを含むだけでなく、電源とグラウンドも含んでいるため、バスからノードに給電できます。

DeviceNetの物理レイヤ仕様は、CAN技術の使用法、配線ミスからの保護、稼働中のネットワークへのノードの追加やそこからの除去ができる能力などを特徴としています。伝送媒体やコネクタなど、物理レイヤの様々な側面が詳細に仕様規定されています。

絶縁型CAN トランシーバーADM3052 は、信号絶縁、配線ミス保護、および24V バス電源(V+)からデバイスのバス側に給電するリニア・レギュレータなど、DeviceNet ノードが使用する機能を内蔵していることに加え、DeviceNet の物理レイヤ要件を満たします。図3 にADM3052 の機能ブロック図とアプリケーション構成例を示します。

図3. ADM3052 絶縁型CAN トランシーバーを用いたアプリケーション例

図3. ADM3052 絶縁型CAN トランシーバーを用いたアプリケーション例

CANopen プロトコル


CANopen7 は、CAN in Automation(CiA)が維持管理しているアプリケーション・レイヤ・プロトコルで、CAN データ・リンクと物理レイヤを用い、デバイス、通信、アプリケーションの標準化されたプロファイルを仕様規定します。これによって、工業用オートメーション、ビル管理、汎用入出力(I/O)など、様々なアプリケーション領域にわたる相互運用性が確保できます。物理レイヤはバス・トポロジならびに最大1Mb のデータ・レートを備え、ISO-11898 に適合しています。

ADM3053を使用することで、CANopenを用いるネットワークなどにおいて集積化絶縁型DC/DC コンバータによってトランシーバーのバス側に給電しながらも、通信を完全に絶縁できます。図12 にADM3053 の機能ブロック図を示します。

あるいは、アプリケーション回路に絶縁型5V 電源が既に存在する場合には、ADM3054 が、5kV rms デジタル・アイソレータを備えた集積化CAN トランシーバーとして機能します。

CAN メッセージのフレーム構造

CAN メッセージの構造は、エラー検出、およびメッセージに固有の優先順位付けやビット単位のアービトレーションに基づく複数ドライバ対応能力を通じた、堅牢な通信を実現するために使用されるスキームの基盤となるものです。CAN コントローラは、(ここに詳述する拡張メッセージ・タイプを含めるために)CAN 2.0b の仕様に従って、CAN メッセージのフレーム化を処理します。

はじめにのセクションで述べたように、物理レイヤでのCANメッセージの信号方式は、1 の伝送にはバスを高インピーダンスのリセッシブ状態のままにし、0 の伝送にはハイ/ローの差動のドミナント状態を伝送する構成になっています。図4 および図5 はCAN メッセージ・フレームの構成を示すもので、白色のビット・フィールドはリセッシブ・バス状態、濃い灰色のフィールドはドミナント状態、灰色はドミナントにもリセッシブにもなり得るビット・フィールドを表しています。

図4. CAN 標準メッセージ・フレーム・フィールド

図4. CAN 標準メッセージ・フレーム・フィールド

図5. CAN 拡張メッセージ・フレーム・フィールド

図5. CAN 拡張メッセージ・フレーム・フィールド

アービトレーション・フィールド


図4 および図5 に示すように、メッセージ識別子はCAN メッセージ・フレームの一部を形成します。CAN メッセージ・フレームのこのセクションは、いくつかのフラグ・ビットと共に、(図4 および図5 に示されているように)アービトレーション・フィールドと呼ばれるもので、メッセージID とフラグで構成され、メッセージ・タイプを示し、アービトレーションとその結果生じるメッセージの優先度を指示します。フラグ・ビットを用いてCAN メッセージ・タイプを区別できるアービトレーションには、主として次に示す2 つがあります。

  • A拡張識別子の使用を示すIDE ビット
  • リモート伝送要求を示すRTR ビット

リモート伝送要求は、特定のメッセージがその作成元によって送信されることを要求するために用いられます(通常はバス上のノードが自律的にデータを送信します)。このリモート送信要求はある1 つのノードによって送信される、データのないメッセージで、同じID のメッセージにデータを付けて別のノードが送信することを要求するものです。

SRR ビットは、標準的なCANメッセージのみを用いるノードとの互換性を確保するための拡張ID を持つメッセージでの代替リモート要求です。

一部の予約済みビットもCAN プロトコルの将来の拡張に備えて用意されており、これらは、将来の互換性を確保するためにゼロとして読み出される必要があります。


データ長コード(DLC)フィールド


CAN メッセージ・フレームには、最大8 バイトのデータを置くことができます。フレームでのデータの長さはDLC フィールドにコード化されています。リモート送信要求には、要求されるデータ・フレームのデータ長があります。DLC フィールドには0~8 の値のみが有効である点に注意してください。


巡回冗長検査(CRC)フィールド


CRC フィールドは、CAN プロトコルのエラー・チェック・メカニズムの一部です。CRC フィールドには、多項式除算演算の剰余であるCAN フレームの内容から生成されたシーケンスが含まれています。受信されたシーケンスとデータは、ビットがたまたま反転/エラー状態で受信されたということがないようチェックするために、別の多項式除算演算で用いることができます。CRC フィールドは、CRC フィールドがACK 動作の影響を受けないようにするために、後続のACK スロットからは区切られています(バス・リセッシブによる1 ビットのインターバル)。


アクノリッジメント(ACK)スロット


ACK スロットはメッセージの作成元によってロジック1(バス・リセッシブ)として伝送されますが、エラーフリー伝送が実現されるのは、このビット・インターバル中にバスが別のノードによってドミナント状態に設定される場合のみです。それ以前のメッセージ・フィールドをエラーフリーで受信するその他のノードは全て、メッセージの受信をアクノリッジするために自動的にロジック0 を送信しようとします。

ACK デリミタ(バス・リセッシブによる1 ビットのインターバル)があるために、ACK ビットを伝送するノードのタイミングがわずかにずれてドミナント・ビットが次のビット期間(つまりデリミタのインターバル)にオーバーランする場合に備え、残りのメッセージの前に空白を設けることができます。

バスがACK スロットの間もリセッシブ状態のままである場合、これを検出したノードが次のビット期間にエラー・フレームを伝送し始めます。


フレームの終了


フレームの終了は、7 ビットのインターバルのリセッシブ状態で伝達されます。ビット挿入(メッセージ中に連続する6 個の1または0 ごとに相補ビットが挿入されるランレングス・リミテッド・コーディング)により、残りのメッセージの間にシーケンスが発生することはありません。フレームの終了後、バス・リセッシブのフレーム間スペースも置かれます(この正確な長さは与えられたCAN コントローラのバス・アイドルに対し仕様化されている時間の長さによって異なります)。

アービトレーション

どのノードも1 つのCAN バスでデータを伝送できます。2 つ以上のノードが伝送を行おうとした場合に、ノードは、メッセージがその優先度に従って順次伝送されるようにアービトレーションを行って、バスを使用します。

ドミナント・ビットがリセッシブ・バス状態を上書きするため、非破壊的でトランスペアレントなアービトレーションが可能です。各ノードのCAN コントローラは、伝送時にバスをモニタするため、別のノードがアービトレーションを獲得した場合にそれを検出できます。非破壊的でトランスペアレントであるというのは、メッセージが破壊されず、最高優先度のメッセージの伝送はアービトレーションにより中断されることはない、という意味です。

バスがアクティブ(ノードが伝送中、または伝送を終えたばかり)な場合、その他のノードが伝送を試みることはありません。バスが(少なくともフレーム間スペースの長さ分だけ)アイドル状態のときに複数のノードが伝送を開始した場合、アービトレーションがトランスペアレントかつ非破壊的に発生します。非破壊的なアービトレーションとは、アービトレーションを獲得したノードが、他の全てのノードからのメッセージ伝送による割込みを受けることなく、メッセージを伝送し続けることができることを意味します。

図6 を例に用いると、両方のノードが同時に伝送を試みています。両方のCAN ノードが伝送時にバスの状態をモニタし、ノード2 は、SID7 を伝送しようとしたときに別のノード(この場合ノード1)がバスにドミナント値を書き込んでおり、そのためアービトレーションを獲得していることを検出できます。ノード2 は、バスがフレーム間スペースの間アイドル状態を続けた後になるまで伝送を試みることはありません。ノード1 は伝送を続けますが、エラーを検出するため、あるいはその後のアービトレーション・フィールドのビットとビットの間に別のノードがアービトレーションを獲得した場合にそれを検出するために、バスのモニタも行います。

図6. CAN ノード間のアービトレーションの例

図6. CAN ノード間のアービトレーションの例

ノード1 が伝送する最初の5個のドミナント・ビットの後のビット挿入の例に注意してください。これらの追加ビットはノードがタイミングを同期できるようになる点で重要であり、また、エラー検出にも用いられます。


メッセージの優先度


CAN のメッセージ・フレームは最上位ビット(MSB)ファーストで伝送され、メッセージID はフレームの最初に置かれているため、アービトレーション・シーケンスの一部を形成します。ID の小さい(最初の0 の数が多い)メッセージの方が高い優先度になります。更に、リモート・フレーム(RTR ビット = 1)は、ID が同じであってもデータ・フレームより優先度は低くなります。

エラー・メカニズム

CAN は、エラー・チェックおよびエラー処理をサポートする様々なメカニズムを備えています。そのメカニズムには、以下のエラー検出スキームの定義が含まれます。

  • 伝送ビット検証
  • ビット挿入ルール
  • CRC チェック
  • 固定形式ビット・フィールド・チェック
  • 強制的メッセージACK

これらのエラーは以下のメカニズムを用いて処理されます。

  • エラー・フレーム
  • エラー・カウンタ
  • ノード・エラー状態

 

CAN コントローラは、これらのエラーを検出して処理を行い、CAN 2.0b に従ってCAN メッセージをフレーム化することでエラー検出をサポートします。


エラー・フレーム


エラー・フレームは6 個の連続するビットを持つことで識別されます。このシーケンスは、エラーを伝送するノードの状態に応じてドミナントまたはリセッシブになります。このシーケンスは、通常の伝送ルールに従っておらず、また、他のノードで検出できます。

どのノードも、エラーを検出すると直ちにエラー・フレームを伝送します。エラー・フレーム自体がエラーの発生したことを明示するため、他のノードがそれぞれのエラー・フレームを同時に伝送すると、複数のエラー・フレームが重なり合う結果となります。

6 個の連続ビットのシーケンスがエラー・フラグです。エラー・フレームにはエラー・デリミタも含まれているため、他のノードからのエラー・フラグが最初の6 ビット期間にオーバーランしないようにできます。図7 に、エラーおよびその後のCAN アクティブ・エラー・フレームを持つCAN フレームの例を、エラーフリー伝送と比較して示します。

図7. ACK が付加された通常の伝送とCAN エラー・フレームが付加されたフォルトのある伝送

図7. ACK が付加された通常の伝送とCAN エラー・フレームが付加されたフォルトのある伝送

エラー・フラグを伝送するノードは、バスがリセッシブ状態として検出されるまでリセッシブ・ビットを送信し、その後、その他の7 個のリセッシブ・ビットが伝送されます。その後、ノードは通常のCAN フレームの伝送を試みることができます。


エラー・カウンタ


あらゆるCAN ノードは、送信エラー・カウンタと受信エラー・カウンタの2 つのエラー・カウンタを備えている必要があります。これらは、送信エラーまたは受信エラーごとにインクリメントされ、メッセージの正常な送信または受信ごとにデクリメントされます。


ノード・エラー状態


エラー・カウンタに基づいて、ノードは次の3 つの状態のいずれかになります。

  • エラー・アクティブ
  • エラー・パッシブ
  • バス・オフ

エラー・アクティブ状態では、ノードはバス上で通信できるものとされており、エラーが検出されるとアクティブ・エラー・フラグを送信します。エラー・アクティブのままでいるためには、そのノードの送信エラー・カウンタと受信エラー・カウンタが127 未満でなくてはなりません。

エラー・パッシブ状態では、ノードはバスで通信ができますが、エラーのイベント時にパッシブ・エラー・フラグを送信するだけです。送信エラー・カウンタまたは受信エラー・カウンタが127 以上になると、ノードはこの状態になります。これらのカウンタがふたたび127 以下になると、ノードはエラー・アクティブになります。

バス・オフ状態では、ノードはバスでの通信が許可されません。この状態が生じるのは、送信エラー・カウントが256 以上になった場合です。11 個の連続リセッシブ・ビットが128 回検出されると、ノードはそのエラー・カウンタを0 にリセットし、エラー・アクティブ状態になることができます。


伝送ビット検証


送信ノードはバスをモニタし、各ビットが意図したとおりにバスに存在することを検証します。バスに逆のビット・レベルがあるのを検出した場合、ビット・エラーと呼ばれます。これは送信エラーの一部です。エラーとはならずに逆のビット・レベルが検出される例外は以下の2 つです。

  • アービトレーション・フィールドがリセッシブとして伝送されている。ただし、別のノードがメッセージをアクノリッジした場合、バスの状態はドミナントに変化します。
  • パッシブ・エラー・フラグを送信しているノードがドミナント状態のバスを検出した場合は、ビット・エラーではありません。

ビット挿入ルール


ビット挿入のプロセスとは、伝送中のノードが、送信しているビット・ストリーム内で5 個連続の同じ値のメッセージ・ビットの後に補数ビットを挿入するスキームのことを指します。このエンコーディングは、CRC デリミタ、ACK フィールド、およびフレームの終了に用いる固定形式のビット・フィールドを例外として、それ以外の全てのCAN データまたはリモート・フレームに用いられます。CAN エラーまたはオーバーロード・フレームも固定形式です。

ビット挿入ルールに反するメッセージ(ビット挿入する必要のあるシーケンスで6 個以上の連続するリセッシブ・ビットまたはドミナント・ビット)を受信したノードは、これをリセッシブ・エラーとして検出し、ノードの状態に応じたアクションを起こします(例えばアクティブ・エラー・フレームまたはパッシブ・エラー・フレームを送信)。


CRC チェック


CRC は、CAN フレームの最初の部分(データ・フィールドまで)に基づいて計算されるビットのシーケンスです。送信ノードは、生成多項式をCAN データから形成された多項式に分けることでこのシーケンスを計算し、CRC シーケンスとして機能する剰余を求めます。このCRC シーケンスは、CAN メッセージのCRCフィールドに挿入されます。

受信ノードは、生成多項式をデータとCRC シーケンスを一緒にして形成された多項式に分けます。エラーがなければ剰余はゼロになるはずです。

このプロシージャをCRC チェックと呼びます。受信したメッセージにエラーがあれば(つまり反転ビットがあれば)、CRCチェックは不合格になります。


固定形式、ビット・フィールド・チェック


CAN メッセージ・フレームの特定のビット・フレーム、すなわち、CRC デリミタ・フィールド、ACK フィールド、フレームの終了は固定形式です。受信ノードは形式チェックを行い、これらが正しいものであるかを確認します。


メッセージ・アクノリッジメント


アービトレーション・フィールドはリセッシブとして伝送されますが、送信ノードは、このビット期間中にバスのドミナント・ビットをチェックします。このドミナント・ビットは、メッセージを正しく受信したノードが送信するACK ビットです。他のどのノードもメッセージをアクノリッジしなければ、送信エラーとなります。受信ノードによるCANメッセージへのACKビットの挿入を図7 に示します。ここでは、受信ノードが反対側のバス端にある場合に送信ノードのプローブ・ポイントから観察されるような、電圧差が低い場合の例を示しています。

物理バス

CAN 物理バスの特性


CAN の物理レイヤ特性はISO-11898-2 で仕様化されています。この規格は、公称120Ω(最小95Ω、最大140Ω)のインピーダンスの並列ワイヤからなるケーブルを使用することを定めています。ISO-11898-2 ではシールドのないケーブルを許容していますが、電磁環境適合性(EMC)のため、一般的にはシールド・ツイスト・ペア・ケーブルを使用することが必要です。

CANで1Mbのデータ・レートを確保するため、最長40mに規定されています。しかし、これより低いデータ・レートを用いる場合は、ケーブルを長くすることも可能です。ISO-11898-2 はラインのトポロジを仕様化しており、各ノードは短いスタブを用いて接続されます。このスタブ長は最小限に抑えてください(1Mb のデータ・レートでは0.3 メートル以下)。


終端


伝送ラインには2 つの重要な経路があります。1 つは電流をドライバからレシーバに伝搬するもの、もう1 つはドライバへのリターン経路を提供するものです。CAN リンクはこれより若干複雑です。これは、グラウンド・リターン経路に加え、2 つの信号ワイヤが終端を共用するためです。しかし、伝送ラインの基本原理は同じです。信頼性の高いCAN 通信を実現するには、伝送ラインの反射をできる限り小さく抑えることが不可欠です。これはケーブルの終端を適切に行うことで実現できます。図8に、CAN アプリケーションの終端スキームを2 つ示します。

図8. CAN アプリケーションの終端スキーム

図8. CAN アプリケーションの終端スキーム

反射は信号が遷移する間およびその直後に、非常に短時間で発生します。長いラインでは、反射はより長く続く傾向があり、レシーバがロジック・レベルを誤って読み出す原因となります。短いラインでは、反射ははるかに早く発生するため、受信するロジック・レベルには影響しません。

並列終端

CAN アプリケーションでは、バス上のどのノードもデータを伝送する可能性があるため、バスの両端を終端する必要があります。リンクの各端にはケーブルの特性インピーダンスに等しい終端抵抗があります。ただし、終端抵抗の推奨値は公称120Ω(最小100Ω、最大130Ω)です。ネットワークには、接続するノード数には関係なく、終端抵抗は2 つ以下であることが必要です。終端を追加するとドライバの負荷が増すためです。

ISO-11898-2 では、終端抵抗をノードに統合するのではなく、スタンドアロンの抵抗をバスの最遠端に配置することを推奨しています。これは、終端抵抗を含むノードが切り離された場合でも終端抵抗を失わずに済むためです。この考え方は、バスに3 つ以上の終端抵抗を接続するのを避けることや、終端抵抗をバスの両端ではなく別のポイントに配置することにもあてはまります。

コモン・モード・フィルタリングを伴う並列終端

信号の品質を更に高めるには、各端の終端抵抗を2 つに分割し、その2 つの抵抗の間にフィルタ・キャパシタCT を配置します。このフィルタは、不要な高周波ノイズをバス・ラインから除去し、コモン・モード放射を低減します。

絶縁

多くのCAN アプリケーションには長いリンクがあり、それによってバス上の様々なノードでグラウンド電位がわずかに異なる場合があります。これは、共通のアース・グラウンドまたはグラウンド・ワイヤを通じた最小抵抗の経路を流れる、グラウンド電流の原因となります。同じ電気的システムを用いて全てのノードの電源を同じアース・グラウンドに接続すれば、グラウンド接続のノイズは低減する可能性があります。ただし、それでも、モータやスイッチなどの電気的にノイズの多い機器では、システムにグラウンド・ノイズを混入させる場合がある点に注意してください。

アプリケーションによっては異なる電源システムが必要となる場合があります。これにより、アース・グラウンドのインピーダンスが増加する可能性が高くなります。また、他のソースからのグラウンド電流がリンクのグラウンド・ワイヤに流れる可能性も高くなります。リンクを絶縁することで、こうした問題を軽減したりなくしたりできます。システム内の異なるノードのアース・グラウンドの電位がトランシーバーのコモン・モード電圧範囲内にあることが確実ではない場合、ガルバニック絶縁が推奨ソリューションです。ガルバニック絶縁によって、情報を伝達しながらも電流が流れるのを防止できます(図9 参照)。

図9. グラウンド電流を防止しながら情報の流れを可能にするガルバニック絶縁

図9. グラウンド電流を防止しながら情報の流れを可能にするガルバニック絶縁

信号と電源の絶縁機能を内蔵したCAN トランシーバー


アナログ・デバイセズでは、様々なアプリケーション用に以下のCAN トランシーバーを提供しています。

  • ADM3054:既存の絶縁型5V 電源を使用するシステム向けに5kV rms 信号絶縁機能を内蔵
  • ADM3053:CAN アプリケーションの完全な絶縁を可能にする信号と電源の絶縁機能を内蔵
  • ADM3052:24V のバス電力を使用する絶縁型アプリケーション(DeviceNet など)向けに信号絶縁機能と電圧レギュレータを内蔵
  • ADM3051:非絶縁型アプリケーションまたは従来の絶縁手法を用いたアプリケーション向け

ガルバニック絶縁を実行する場合、電力をアプリケーション回路のバス側に供給するための何らかの方法が必要です。DeviceNet アプリケーションでは、ADM3052 で示されるように、24V がCAN バスの全ノードに供給されます。ADM3052 で実現できる高レベルの集積を図10 に示します。このデバイスは最小限の外部部品を必要とし、24V バス電力からデバイスのバス側に5V を供給するためのレギュレータを内蔵する他、アナログ・デバイセズのiCoupler 技術を用いた信号絶縁機能を備えています。ADM3052 では5kV rms の絶縁定格が実現されています。

図10. バス電力を用いる従来の絶縁とADM3052 の比較

図10. バス電力を用いる従来の絶縁とADM3052 の比較

絶縁型電源が個別に使用されている、あるいはバス電力が様々な回路要素で用いられているアプリケーションでは、ADM3054をデバイスのバス側の5V 絶縁型電源と共に用いることができます。

別のアプリケーションでは、回路のロジック側の電源からの電力が絶縁障壁を越えて転送される場合があります。従来、これは発振器、トランス、レギュレータをディクリート部品で構成したDC/DC コンバータを使用することで実現されています。

ADM3053 は信号絶縁機能に加え、電源絶縁機能も内蔵しています。単一の5V電源で、アナログ・デバイセズのisoPower 技術を用いた集積化絶縁型DC/DC コンバータを介してバス側に電力を供給できます。ADM3053 では2.5kV rms の絶縁定格が実現されています。図11 に、ディスクリート部品を用いた従来のソリューションとADM3053 の比較を示します。ADM3053 の内部ブロックは、図12 の機能ブロック図に示されています。

図11. 従来の絶縁(信号と電源)とADM3053 の比較

図11. 従来の絶縁(信号と電源)とADM3053 の比較

図12. ADM3053 の機能ブロック図

図12. ADM3053 の機能ブロック図

ストレス保護

誤配線および短絡


DeviceNet など、一部のCAN アプリケーションでは、バス・ラインCANH およびCANL でデータを伝搬する他、バスに沿って電力の分配も行います。そのようなシステムでは、24V(代表値)のバス電力は共通グラウンドと共にバスに沿ってルーティングされます。

そのようなシステムでは、各CAN ノードのコネクタにCANH、CANL、24V、グラウンドの4 本のワイヤがあります。これらの信号に誤配線があった場合の損傷を防ぐため、24V バス電力を用いるCAN ノードには、全てのバス・ライン(CANH、CANL、電力、グラウンド) で保護が必要です。誤配線保護は、DeviceNet プロトコルの要件です。バス電力レギュレータを内蔵した絶縁型CAN トランシーバーADM3052 は、CANH、CANL、V+、V−の各ピンに±36V の誤配線保護機能を備えています。

バスからの電力を使用しない他のCAN ノードにもこの保護が必要となる可能性があります。そのような場合、CAN ノードには、電源ラインまたはグラウンド・ラインに接続することによるCANH またはCANL の短絡に対する保護も必要です。そのため、ADM3051、ADM3053、ADM3054 のCANトランシーバーでは、CANH とCANL に±36V の保護機能も内蔵しています。


トランジェント過電圧


I&I(工業用および計測用)アプリケーションでは、雷、電源変動、誘導性スイッチング、静電放電などが大きなトランジェント電圧を発生して、CAN トランシーバーに損傷を与える原因となる可能性があります。以下の静電放電(ESD)保護、電気的ファスト・トランジェント(EFT)保護、サージ保護に対する仕様が、工業用アプリケーションに関連するものです。

  • IEC 61000-4-2 ESD 保護
  • IEC 61000-4-4 EFT 保護
  • IEC 61000-4-5 サージ保護

アナログ・デバイセズが提供するADM3051 、ADM3052、ADM3053 の各CAN トランシーバーでは、全てのピンに基本的なESD 保護機能が内蔵されています。トランジェント電圧サプレッサ(TVS)ダイオードなどの外部クランピング・デバイスを用いると、バス・ピンの保護レベルを更に強化できます。TVS ダイオードは、通常、CAN トランシーバーなどのシリコン・デバイスをトランジェントから保護するために用いられます。

保護は、PN 接合の低インピーダンス・アバランシェ・ブレークダウンを利用して、電圧スパイクを一定の制限値にクランプすることで行います。TVS ダイオードは理想的にはオープン・サーキット・デバイスです。TVS ダイオードは、ブレークダウン電圧以下で動作すると同時に、一定のキャパシタンスと並列接続した大きな抵抗としてモデル化できます。トランジェントが発生し、サージ電圧がTVS のブレークダウン電圧を超えると、TVS の抵抗が減少しクランピング電圧を一定に保ちます。TVSダイオードは、保護するデバイスの電圧定格よりクランピング電圧が低くなるように選択します。トランジェントは瞬時(1ns未満)にクランプされ、損傷の原因となる電流は、保護対象デバイスから迂回させられます(図13 参照)。

図13. トランジェント電圧サプレッサ

図13. トランジェント電圧サプレッサ

CAN アプリケーションにおけるTVS の機能は、最大定格から外れるバスの電圧をクランプすることで、CAN トランシーバーを保護することです。TVS デバイスには、CAN アプリケーション用に特別に設計されたものもあります。CAN バスにTVS 機能を実装するために双方向ツェナー・ダイオードを用いた回路例を図14 に示します。

図14. TVS のアプリケーション回路

図14. TVS のアプリケーション回路

参考資料

1 ISO 11898-1:2003、「道路車両 - コントローラ・エリア・ネットワーク(CAN) - パート1:データ・リンク層および物理信号」(ISO 国際規格、2003 年)。

2 ISO 11898-2:2003、「道路車両 - コントローラ・エリア・ネットワーク(CAN) - パート2:高速メディア・アクセス・ユニット」(ISO国際規格、2003 年)。

3 Hein Marais、アプリケーション・ノートAN-960、「RS-485/RS-422 回路の実装ガイド」(アナログ・デバイセズ、2008 年)。

4 CAN Specification 2.0, Part B(CAN in Automation、1991 年)。

5 Boaxing Chen、「iCoupler® Products with isoPower Technology: Signal and Power Transfer Across Isolation Barrier Using Micro-Transformers」、技術記事、(アナログ・デバイセズ、2006 年)。

6 DeviceNet Technical Overview(Open DeviceNet Vendor Association, Inc.、2001 年)、X~XI。

7 EN 50325-4:2002、「Industrial Communication Subsystem Based on ISO 11898 (CAN) for Controller-Device Interfaces, CANopen」、(CAN in Automation、2002 年)。

著者

Conal-Watterson

Dr. Conal Watterson

Conal Wattersonは、アナログ・デバイセズのプリンシパル・マーケティング・エンジニア(博士)です。アイルランド リムリックのファクトリ/プロセス・オートメーション・エンド・マーケット・チームに所属。産業用オートメーション向けのコントローラ/モジュールのシグナル・チェーン/ユニバーサルIO用の新技術、イーサネットの新たなトポロジ、本質的安全に関する要件、サイバー・レジリエンス法に準拠するセキュアな処理などに注力しています。産業用のフィールド・バス・ネットワーク、診断/信頼性、高速シグナリング/アイソレーションに関する多数の論文や記事を執筆。リムリック大学で工学修士号と博士号を取得し、2010年に卒業しました。