電子計測器や電源装置をパソコン等で制御する場合、機器間の通信が必要になります。民生品では無線(Wi-FiやBluetoothなど)が優勢ですが、計測器や電源などの産業用途では、安定性や信頼性が要求されるため、まだ有線を使う例が多いでしょう。
産業用途での代表的な有線通信方式としては、GPIB、RS232C、USB、LANなどがあります。かつて計測器の通信といえば「GPIB(General Purpose Interface Bus)」が主流でしたが、最近はUSB、LANを使う例が多いと思います。特にUSBはLANよりも手軽で(LAN通信は不慣れだとまだ難しい部分ありますよね・・・)、パソコンを使った机上実験や簡易計測システムの構築で重宝します。
このコラムは、そういった状況で使うであろう「USBハブ」についてお話したいと思います。
USBハブは不安定?
例えば、外付けハードディスクをパソコンと直接接続していた時は問題なかったのに、USBハブを使って接続したら、認識されたり、されなかったり、不具合が発生したり、と困った経験はないでしょうか?
電子機器にも「相性がある」などと言います。しかし「実際使ってみないことにはわからない」では不便極まりない。できればその理由(原因構造)を知りたいものです。そこで、先輩である大塚賢一氏の記事「分解のススメ」の真似ではありませんが、USBハブを分解してみることにしました。
USBハブの内部を見る
市場には民生用として、4台以上の機器を接続できる多ポートタイプのUSBハブ(10ポートなど)が販売されています。そこで一般向け10ポートUSBハブと産業用USBハブを購入し、分解して中の違いを比べてみました。
図1 民生用10ポートUSBハブの内部
図2 産業用USBハブの内部
民生用10ポートUSBハブ(図1)は、USBのコントローラを3つ搭載していました。1チップで10ポートを制御しているのではなく、3つのUSBコントローラチップで行っていました。世の中に流通しているUSBコントローラチップは1個で4ポートまで制御するものが多いようです。
1つのUSBコントローラチップからカスケード(多段接続)する形で、他の2つのUSBコントローラチップに接続しています(図3)。よって、10ポートUSBハブ内部では、カスケードを行うことで10ポートを実現しているのです。
図3 民生用10ポートUSBハブの構成図(例)
一方、産業用USBハブはカスケードすることなく、1チップで複数口のUSB制御を実現しています。ではなぜ産業用は内部でカスケードしていないのでしょう? USBコントローラチップは、対応ポート数でコストが違うことは想像できます(多ポート対応の方が高価でしょう)。産業用であってもコスト要求が厳しい昨今は、複数使いになっても安いチップを使った方に利点がありそうな気がします。なぜ産業用は高価なチップを使うのでしょう。
相性の正体
USB通信は、その規格として最大127台までの機器をバス上に接続できるよう規定しています。またホストとデバイス間のハブは、最大5台まで使用することが出来ます。
私も経験がありますが、ホスト(パソコン等)とハブとUSB機器の組み合わせによっては、前述の条件を満たしているにもかかわらず通信が安定しないケースがあります。その理由のひとつが、この民生用の多ポートハブである可能性があります。つまり物理的なUSBハブの台数は5台であっても、その内部がカスケード構造であるため、実際の構成数が規格外(5台以上)になってるわけです。
しかし、こういった民生用多ポートハブの構造を知らなければ、不具合が起きた時、「どうやら相性が悪い」という無根拠な理由づけをして他の製品を捜すケースは少なくないと思います。そして偶然見つけたハブ(それは内部カスケードしていないもの)で、なぜか知らねど解決という具合になっているのではと想像します。
民生用と産業用の違い
民生用と産業用の違いというのは、そのような不確実な事象への考え方(信頼性)の違いです。端的に言えば「コスト対確実性」です。コストと確実性はトレードオフの関係にあります。民生用はコストを、産業用は確実性をそれぞれ重視します。なので、外見は同じような機能を有している製品であっても、民生用と産業用ではその実態が異なるのです。
一般的に産業用は、高価と思われています。しかしその価格の理由のひとつに「確実性のためのコストは甘受する」という思想があるわけです(生産数が少ないので、民生品のような量産効果が効きにくいというのもありますが・・・)。
ということで、話をUSBに戻すと、通信の安定性を求めるなら、ホストとUSB機器は(ハブを介さず)1対1で行った方が良いかもしれません。もしUSBハブを使う場合には、こういった内部カスケードがない製品(産業用)を注意深く選定することをおすすめします。
ことわざに「幽霊の正体見たり枯れ尾花」というのがあります。電子機器における「無根拠な『相性』という誤認」は幽霊です。エンジニアなら、そういった都市伝説に惑わされず、しっかり原因を探求してその正体を暴くようにしていきたいものです。