雑誌無償購読申込み 最新号 バックナンバー 広告資料請求 EDN Japanについて お問合せ
雑誌無償購読申し込み
メールニュースレター登録
登録内容変更
アナログ IC/ディスクリート
電源/電池/コントローラー
PLD / メモリー
組み込みシステム
コンピュータ&ボード
EDA/IP/CAE/ソフトウェア
電子部品
計測器
ディスプレイ
デジタル家電
通信・ネットワーク
カーエレクトロニクス/産業機器
EDN Japan 記事検索
検索方法の詳細
雑誌無償購読申込み ニュースレター登録 この記事に対する感想/ご意見
2006.3
工場内にも広がるシリアルネットワーク

システム設計者は、条件の厳しい工業環境でのシステムの信頼性と寿命を向上させるべく、シリアル通信方式に転換している。
Richard Zarr 米National Semiconductor社
 工場フロアの自動制御システムを設計するのは骨の折れる作業だ。暑い、ホコリっぽい、腐食しやすい、ノイズが大きいといった、電子製品にとっては(または人間にとっても)厳しい環境を考慮しなくてはならない。ほとんどのPLC(programmable logic controllers)システムは中央コントローラと周辺I/Oモジュールで構成されている。これらのモジュールには、A-Dコンバータ/D-Aコンバータ、通信モジュール、デジタルI/O、リレーなどがある。これらのモジュールはすべて信号バスを介して中央コントローラと通信しなくてはならない。設計者は、単にデバイス間の相互接続をなくすことで、システムの信頼性を高めることができる。このテクニックにはいくつかの方法があるが、もっとも簡単なのはデータをシリアル化して、接続の数を減らす方法である。いくつかの物理レイヤーとトポロジに加え、バスの実装を容易にするパケット伝送方式が考えられる。昔ののろしであろうと現代のレーザーであろうと、通信するには物理的な媒介物が必要なほか、発信元から宛先に伝播するまでの時間がかかる。ワイヤレス、ケーブル、光ファイバ、音を含めたさまざまな方法を使用できる。これらのメディアのどれを使用しても情報を伝達することはできるが、厳しい環境では使用に適したものとそうでないものがある。
 有線分野の規格には、TTL(transistor-to-transistor logic:トランジスタ・トランジスタ論理回路)、ECL(emitter-coupled logic:エミッタ結合論理回路)、RS232、RS422、RS485、LVDS(low-voltage differential signaling:低電圧差動信号)、イーサネットなどがあり、ネットワークやバックプレーン、バスなどで採用されている。古くからあるTTLでは、グラウンドに対して約5Vの信号が使用され、遅くて非平衡型であるために、グラウンドのノイズが乗りやすい。RS232ではノイズ耐性を強化するためバイポーラの電圧振幅が広くなっているが、電気的ノイズが大きい環境で有効な差動信号を使えない。RS422、RS485、LVDSでは差動信号線を使用して、受信側の2本のペア線でコモンモードノイズを打ち消す。LVDSでは電圧の代わりに電流を使用し、信号振幅を減少させることで伝送速度を上げている。このアプローチをとれば、ケーブル容量をはじめとする配線に関わる多くの問題を解決できる。
 製鋼所のような電気的条件の厳しい環境では、制御システムのすぐそばを大電流が流れることもある。特に、相互接続されている機器間の距離が長い場合には、こうした電流が導線上にノイズを発生させる恐れがある。このノイズを除去する一般的な方法が差動信号の使用である。RS422とRS485は長距離接続には有効ではあるが、ローカルバスの速度が遅くなる。DINレールに取り付けられた機器間を結ぶローカルバスなどにはLVDSの方が適している。また、設計者はバックプレーン内の相互接続方式としてイーサネットを使用し始めている。イーサネットは、広く普及している、多くのプロセッサに採用されている、明確に定義されたMAC(media-access controller)を使用する、ほとんどのOS(operating systems)に対応する標準ドライバがあるといった、いくつかの利点がある。本記事では、高いノイズ耐性を維持すると同時に、100M〜400MHzの速度を実現する方法として、シリアルLVDSに焦点を当てる。


効果的なトポロジとは?

 どのようなトポロジが最も効果的なのか?選択肢には、マルチドロップバス、冗長マルチドロップバス、ポイントツーポイントバス、そしてよく見られるリングトポロジがある。マルチドロップ(またはマルチポイント)バスは多くのバックプレーンで使用されており、シングルプロセッサシステム、マルチプロセッサシステムのどちらにも適している。LVDSを選択したら、各ボードのLVDSトランシーバに二重終端伝送線を使用することになるだろう。個別のトランシーバを使用することには2つの利点がある。1つは、トランシーバをコネクタの近くに配置できるため、接続の切れ目からの近端反射を軽減できること。もう1つは、FPGAに集積されたドライバよりもトランシーバの方が頑強なことだ。また、欠陥品を交換するときも、100米ドルもするFPGAに比べれば安い。このトポロジでは、メッセージによってボード上のドライバが駆動され、シリアルパケットがバックプレーンに送信される。他のすべてのデバイスがリスナーとなり、伝送されたパケットを受信する。バス共有トポロジには大抵なんらかのトラフィック制御が必要だ。簡単なのは、共通アクセスラインにその他の配線をつなげ、あるデバイスが通信を要求したら他のデバイスはトークできないことを、すべてのデバイスに通知する方法である。あるいは、親機/子機構成にして、マスターコントローラが要求した場合にのみ通信を許可する方法もある(図1)。
図1 多くのバックプレーンには、各ボードでLVDSトランシーバを相互接続するマルチドロップシリアルバスが使用されている。

 マルチドロップバスは実装が簡単だが、短絡や終端抵抗の損失、バスドライバのハングなど、たった1つの障害が発生しただけでバス全体がダウンする可能性がある。このような障害は、工業環境では致命傷になりかねない。障害の発生が許されない精油所を考えてみればわかるだろう。この問題を解決する簡単な方法は、2本のバスを使用することだ。1本がダウンしても、もう1本が生きている。このような冗長性があることに加え、ネイティブモード(通常動作)では2倍の帯域幅を使用できる。2本のバスのうち1本に障害が発生しても帯域幅が半分になるだけで、システムは制限モードで機能し続けることが可能だ。この方法の欠点は、コストと複雑さが増すことである(図2)。
図 2 デュアルマルチドロップバスを使用すれば、1つの障害が発生してもシステムを稼動させられると同時に、システム帯域幅も倍になる。

 バス障害を回避するもう一つの方法として、イーサネットに見られるポイントツーポイントトポロジを使用する方法がある。このトポロジでは、すべてのデバイスにコントローラと通信するための専用バスが割り当てられる。1つのデバイスまたはバスに障害が発生しても、他のデバイスは影響を受けることなく動作し続ける。
 しかしローカルバックプレーンでは、機械的な相互接続の問題がある。DINレールに取り付けるときのように、デバイスを相互に接続するような場合には、パススルー接続が必要になるため、相互接続の数はむしろ増えてしまう。配線数が増えるなら、バックプレーンのポイントツーポイントトポロジにメリットはない。
 一方、リングトポロジはセルフヒーリング方式で自動的に自らを分割できる。この方法はトークンリングやこれに類似するネットワークで採用されている。バックプレーンの実装では、システムにリングが組み込まれる。このトポロジでは、DINレール上でモジュールを数珠つなぎにすることも可能だ(図3)。デバイスまたは接続に障害が発生すると、リングはもとの状態に戻り、障害が発生したデバイスまたは接続を分離することができる(図4)。リングトポロジの物理的実装にかかる費用は、インターフェース部分を除けばデュアルマルチドロップバスアーキテクチャとそう変わらない。リングで使用されるのはドライバとレシーバのみで、トランシーバは使用されない。しかし、リングを完成させるには別に2本の受動バスが必要となる。ドライバは常に駆動している。しかし、このデバイスは2本の受信バスのどちらでも選択できるため、イネーブル信号によって目的のバスを選択する必要がある。あるいは、FPGA上の2つのデジタル入力でバスを選択することも考えられる。この方法をとっているコンポーネントの例としては、デジタル信号でレシーバを選択する米National semiconductor社製DSLV049、DS90LV 027/28、DS90LV019トランシーバがある。
図3 この3つのデバイスを使用したリングトポロジの例は、セルフヒーリングと自動パーティショニングを示している。
図4 FPGAバスコントローラを使用したリングトポロジでは、TCP/IP-over-Ethernetバックプレーンを容易に実装できる。

 リングトポロジの面白いところは擬似ポイントツーポイント接続を使えることだ。この方法ではパケットトラフィックが単方向性のため、バスアクセスの必要がない。しかし、すべてのモジュールがすべてのパケットを処理しなくてはならないという欠点もある。設計者は、ショートバッファを使用して、インターフェースの制御ロジックでこのプロセスを自動化することにより、ストア・アンド・フォワード方式を実現することができる。デバイスはパケット全体をストアする必要はないが、検査のためにヘッダだけはストアする必要がある。


プロトコルの役割

 信頼できるハードウエアがあったとしても、プロトコル経由で物理メディアにアクセスする方法が必要となる。プロトコルはトポロジによって異なる。マルチドロップトポロジでは、共有メディアでの競合を回避するため、デバイスはデータを伝送する前に他のすべてのデバイスに通知しなくてはならない。しかし競合はどうしても発生するため、チェックサムによってデータパケット内の情報の完全性を検証する必要がある。再伝送回数のランダム化によってバス上の競合を軽減できる。バス上の位置またはアドレスによるデバイスの優先順位付けも有効だ。優先度に基づくアクセス方式を使用することで、最も優先度の高いデバイスは最短のウェイト時間でパケットを送信できる。優先度は固定することもできるし、最後にデータを伝送したデバイスに最も低い優先順位が付けられるラウンドロビン方式を使用することもできる。この方式は、他のデバイスがメッセージを送信するたびに待機しているデバイスの優先度が上がり、待機時間も短くなるというもので、各デバイスに平等な通信時間が割り当てられる。「緊急停止」など、優先度の高いメッセージには、遅延時間を最小限またはゼロに固定することもできる。
 シリアライザ/デシリアライザシステムでは、バスが使用されていない間、デシリアライザ内のリカバリ回路が同期を取れるようにアイドルメッセージが継続的に伝送される。バス共有トポロジでは、システムがアイドルメッセージを使用してレシーバと同期を取ることができないため、パケット形式にプリアンブル部分(前段部)が必要となる。プリアンブルの長さは、レシーバの同期回路が受信データにどの程度速くロックされるかで異なる。レシーバ内のロック時間が短いということは、プリアンブルが短く、データスループットがより効率的であることを意味する。
 リングトポロジでは、継続的にアイドルデータを伝送して、シリアライザ/デシリアライザ・レシーバを常にロックするのが有効だ。しかし、各デバイスがストリーム内に情報を流そうとしているときに、他のデバイスと競合しないような何らかの制御方法が必要である。リングトポロジでは、データをいつ送信できるかを通知するためにトークンが使用される。トークンは、ネットワーク上のデータのほかに、現在のトークンマスターを識別する特殊なヘッダーである。機関車の後ろに貨車が連なるように、データはトークンの後に続く。途中の各中継地点で、デバイスはトークンが使用されていない場合にかぎりその後にデータを追加することができる。
 最も単純な形のリングでは、一度に1つのデバイスだけがトークンを使用できる。この方法ならば、連続ストリームによるパケット伝送を簡素化できる。デバイスはトークンを受け取ると、そのトークン内にビットをセットし、パケット伝送のためにトークンを取得したことを通知する。以降、目的とするデバイスを除くすべてのアップストリームデバイスは、単にそのトークンを渡していくだけだ。この方法にストア・アンド・フォワードは必要ない。目的のデバイスはパケットを受信すると、送信パケットに使用する必要がないかぎり、トークンを解放する。ここで問題となるのはバス効率である。トークンが使用されている間、デバイスはトークンが解放されるまでデータを送信できない。
 トークンベースのシステムに優先順位を設定する方法はいくつかある。簡単な方法としては、ラウンドロビン方式でトークンをカウントする方法がある。3ビットの優先順位(7レベル)がある場合、あるデバイスがトークンを使用すると、そのデバイスの優先度は最下位のレベル7に落とされる。システムがフリートークンを渡すと、そのトークンがデバイスを通過するごとに、優先度カウントはレベル0、つまり「送信Ready」に到達するまで1つずつ上昇する。パケットを保留しているデバイスにフリートークンが渡されると、そのデバイスはトークンを獲得することができる。緊急事態が発生した場合には、システムは優先度を無視して、次のフリートークンを使用できる。
 トークンプロトコルは複雑になることもある。たとえば、トークンをもっているデバイスに障害が発生したらどうなるのか。また、ユーザーがシステムを起動したときにトークンをもっているのはどのデバイスなのか。しかし、こうした問題はあってもトークンの使用は有効であり、バックプレーンの信頼性を高めるセルフヒーリングシステムと言えるだろう。


サンプルを設計する

 Zilog EZ80 AcclaimやFreescale MCF523xといった今日のマイクロコントローラの多くは、MII(media-independent interface:メディア非依存インターフェース)を使用して物理的( PHY)レイヤチップに接続するためのイーサネットMACを内蔵している。MIIはPHYを構成する単純なシリアルバスをもった4ビット幅のインターフェースである。MIIを備えたFPGAにカスタムバスコントローラを組み込んで、イーサネットPHYのエミュレーションを行うことができる。FPGAベースのコントローラは、バスアクセスまたはトークンの管理、データ直列化/並列化、リング管理、ヒーリング、クロックの生成・復元を処理する。
 この設計により、システムはバックボーンがイーサネットであるかのように、イーサネットパケットを転送することができる。また、TCP/IP over Ethernetは明確に定義されており、この方法を使用すればインターネット対応バックプレーンを簡単に実装できる (図5)。FPGAはイーサネットPHYの機能をエミュレートすることで、通常のイーサネットに接続されているかのように、マイクロコントローラ内のMACを機能させる。
図5 インターネット対応バックプレーンはイーサネットを使用すると簡単に実装できる。

 LVDSを使用すれば、工業環境のノイズ問題の多くを解決できる。また、電流モードドライバと低電圧振幅を使用してスピードを上げることも可能だ。さらに、データをシリアル化して、モジュラデバイス間の相互接続数を減らし、コネクタ障害を回避することで信頼性を高めることもできる。サンプル設計では、アップストリームとダウンストリームにそれぞれ8個の接続と、100Mビット/秒のパケットベースのイーサネット回線を使用するだけで、セルフヒーリングのリングトポロジを構成することができる。
Advertisement
 
 

雑誌無償購読申込み ニュースレター登録 この記事に対する感想/ご意見
Reed Electronics Group
Electronic BUSINESS Japan | Design News Japan | Semiconductor INTERNATIONAL | DETAIL JAPAN
EDN Japanについて | 広告掲載について | サイトマップ | お問合せ
 Copyright (C) 2000-2007 Reed Business Information Japan K.K. 
個人情報に関する方針 | 著作権・リンクについて | 会社情報