メディア

工場内にも広がるシリアルネットワーク(3/3 ページ)

» 2006年03月01日 00時00分 公開
[Richard Zarr(米National Semiconductor社),EDN]
前のページへ 1|2|3       

プロトコルの役割

 信頼できるハードウエアがあったとしても、プロトコル経由で物理メディアにアクセスする方法が必要となる。プロトコルはトポロジによって異なる。マルチドロップトポロジでは、共有メディアでの競合を回避するため、デバイスはデータを伝送する前に他のすべてのデバイスに通知しなくてはならない。しかし競合はどうしても発生するため、チェックサムによってデータパケット内の情報の完全性を検証する必要がある。再伝送回数のランダム化によってバス上の競合を軽減できる。バス上の位置またはアドレスによるデバイスの優先順位付けも有効だ。優先度に基づくアクセス方式を使用することで、最も優先度の高いデバイスは最短のウェイト時間でパケットを送信できる。優先度は固定することもできるし、最後にデータを伝送したデバイスに最も低い優先順位が付けられるラウンドロビン方式を使用することもできる。この方式は、他のデバイスがメッセージを送信するたびに待機しているデバイスの優先度が上がり、待機時間も短くなるというもので、各デバイスに平等な通信時間が割り当てられる。「緊急停止」など、優先度の高いメッセージには、遅延時間を最小限またはゼロに固定することもできる。

 シリアライザ/デシリアライザシステムでは、バスが使用されていない間、デシリアライザ内のリカバリ回路が同期を取れるようにアイドルメッセージが継続的に伝送される。バス共有トポロジでは、システムがアイドルメッセージを使用してレシーバと同期を取ることができないため、パケット形式にプリアンブル部分(前段部)が必要となる。プリアンブルの長さは、レシーバの同期回路が受信データにどの程度速くロックされるかで異なる。レシーバ内のロック時間が短いということは、プリアンブルが短く、データスループットがより効率的であることを意味する。

 リングトポロジでは、継続的にアイドルデータを伝送して、シリアライザ/デシリアライザ・レシーバを常にロックするのが有効だ。しかし、各デバイスがストリーム内に情報を流そうとしているときに、他のデバイスと競合しないような何らかの制御方法が必要である。リングトポロジでは、データをいつ送信できるかを通知するためにトークンが使用される。トークンは、ネットワーク上のデータのほかに、現在のトークンマスターを識別する特殊なヘッダーである。機関車の後ろに貨車が連なるように、データはトークンの後に続く。途中の各中継地点で、デバイスはトークンが使用されていない場合にかぎりその後にデータを追加することができる。

 最も単純な形のリングでは、一度に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 インターネット対応バックプレーンはイーサネットを使用すると簡単に実装できる。 図5 インターネット対応バックプレーンはイーサネットを使用すると簡単に実装できる。 

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

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.