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


電子計測・検査機器の世界では長い間、今では時代遅れとなったGPIBインターフェースが利用されていた。しかし、計測・検査工業向けの新しいインターフェース仕様が策定され、パソコンでも活用されているHI-SPEED USB上でGPIB計測機器の制御をエミュレーションすることが可能となってきた。

Andy Purcell* 米Agilent Technologies社


計測機器でもUSBが利用可能に

 USBTMC-USB488は、パソコンと電子計測機器との間に新しい通信方法を提供するアプローチである。このUSBTMC-USB488という新技術は、パソコンで使用されている480Mビット/秒のHI-SPEED USB*規格、いわゆるUSB2.0と、計測・検査分野に特定されたUSBクラスの仕様を用いて、I/O性能を大幅に向上させるものだ。、大きな
 最近のパソコンならば、このUSB2.0ポートは標準で装備されておりデータでも30Mバイト/秒で転送することができる。そして今では、HI-SPEED USBが使える自動検査機器用のソフトウエアを容易に入手することが可能である。そのため、製造工程でUSBを用いれば製品検査の費用を低減することができる。またR&DでUSBを用いれば、プラグアンドプレイの使いやすさと優れた性能によって、これまでよりも早く結果を得ることが可能となる。
 計測・検査業界は、昔からのGPIB*にこれまで固執してきた。GPIBは1978年のIEEE 488.1および1992年のIEEE 488.2規格で構成されるものだが、その一方で、コンピュータ業界は既にこのGPIBを捨て去り、周辺装置を接続するための別の方法をいくつか採用している。
 これまでにコンピュータ業界で採用されたGPIBに変わるインターフェイス規格は多岐にわたる。さまざまな通信速度のRS-232ポート、双方向のECP*EPP*、およびIEEE1284などのさまざまなモードのパラレルポート、SCSI-2、SCSI-3、UltraSCSI、UltraSCSI-2、およびWideSCSIなどのいく種類ものSCSI、IEEE1394a、そしてUSB1.0などが挙げられる。
 ただし、これらのいずれのインターフェースも、計測・検査業界をコンピュータ業界に同調させるに必要な属性を備えていなかった。しかしながら、USB-IF*が480Mビット/秒の転送速度と125μsのマイクロフレームを加えたUSB2.0を標準化したとき、計測・検査業界は急に関心を示すようになった。
 いくつかの企業が集まって、USB-IFを実際に使いつつ、USB上でGPIBのエミュレーションを行う方法を定義した。これによりUSBTMC-USB488クラスの仕様が制定され、Webサイトhttp://www.usb.orgから入手できるようになった。
Advertisement


アプリケーション側の変更は容易

 USBTMC-USB488クラスの仕様が完成したことで、HI-SPEED USBをサポートする計測機器が入手できるようになった(図1)。これらのHI-SPEED USB計測機器を使用するために、改めて新しいパソコンを用意する必要はない。最近出荷されるパソコンはUSB2.0ポートを標準搭載しているためだ。
 しかしパソコンのOS*は、単に低レベルのUSBドライバと、普通の民生用電子機器向け、つまりパソコン用の一般的な周辺機器のサポートしか行っていないため、HI-SPEED USB対応の計測機器に使うには追加のパソコンソフトウエアが必要である。パソコンに接続される計測・検査機器がOSで標準サポートされないのは今に始まったことではない。この問題を解決するために、VXIpnp*アライアンス(http://www.vxipnp.org)によって以前にVISA*が定義されている。
 VISAは基礎となるI/Oインターフェースを取り去ったAPI*を定義していたため、インターフェースに関係なく、アプリケーションは同じように動作することができる。そして米Agilent Technologies社や米National Instruments社などのVISAベンダーはVISA APIと、そのほかに必要となる低レベルのデバイスドライバを実装したVISA-I/Oライブラリ・ソフトウエアを提供している。
 USB-IFがUSBTMC-USB488クラスの仕様制定の最終段階にきたとき、VXIpnpでもVISA I/Oライブラリ・ソフトウエアがUSB計測機器とやりとりできるように、VISAを変更しつつあった。USBTMC-USB488はGPIBに非常によく似ているため、VISAの変更点は最小で済んでいる。そのためUSBを利用できるようにアプリケーションを変更することは容易である。USBを利用するためには、ほとんどのアプリケーションでは、VISA viOpen()というパラメーターを変えるだけでよい。

USB制御の計測機器を評価する

 計測・検査業界には、コンピュータ業界で提供されているような標準性能評価指標がないように見える。多種類の計測・検査機器があるため、評価指標を定義することは困難だ。
 しかし、2、3の基本的な性能評価指標ならば、自動検査のアプリケーションに適用できるであろう。検査技術者が考慮すべき1つの点は、計測機器の状態をセットアップするコマンドをパソコンが送信するのに要する時間である。
 これらのコマンドには、入力範囲、ソース周波数、電子スイッチ位置の設定などがある。また検査技術者は、パソコンが短いクエリーを送信し、応答を受信するまでの時間を考慮するべきであろう。IEEE 488.2は多くのクエリーを定義している。例えば、“IDN?”は計測機器識別ストリングを返し、“OPC?”は計測機器がコマンドを完了したときに応答を返す。
 また、大量データの転送速度も考慮すべきであろう。例としては、オシロスコープのトレースの読み出し、A-Dコンバータからの大量のバッファーデータの読み出し、任意波形発生器への新しい波形の書き込みなどがある。
 上記のタスクそれぞれの性能レベルを測定するために、この事例研究では、3.2GHz Pentium4プロセッサと1GバイトのRAM、Windows XP Service Pack 1、およびAgilent Technologies社のI/Oライブラリを用いた。計測機器には、2GHz Pentium4プロセッサと512MバイトのRAM、およびWindows XP Service Pack 1を搭載した。1本の標準USBケーブルで2つの装置を接続している。テスターはWindows Query Performance Counter APIを用いて、パソコン上ですべてのタイミング測定を行い、プログラムは通常の優先度で実行した。

コマンドの送信時間

 ここではパソコンがNOP*コマンドを送信する時間を測定した。この仮想計測パソコンアプリケーションは、NOPコマンドを受信するだけで何もしない。
 リスト1は、VISAを介してこのタスクを実行するためのC#コードを示す。図2はタイミングの測定結果を示す。VISAがUSBを用いてコマンドを計測機器に送信するのに、平均して250μsかかる。パソコンが高速になるに従って、この時間は短くなるはずである。
 この実験に用いたパソコンでも、いくつかのコマンドは130μs以内で送信した。コマンドの送信時間には、VISA時間、ユーザーからカーネルまでの移行時間、USBカーネルドライバ(usbd.sys)の時間が含まれる。大部分の計測機器は、状態を変更してから安定するまでに250μsよりはるかに長い時間がかかるため、このI/O時間はまず問題にならない。

クエリーおよび応答時間

 次に、パソコンが“NOP?\n”クエリーコマンドを送信して応答を受信するまでの時間を測定した。この場合、計測機器の構文解析プログラムが3バイトの応答を返す。リスト2は、VISAを介してコマンドを発行し、応答を受信するためのC#コードを示している。
 図3はタイミングの測定結果で、VISAがUSBを用いてクエリーを送信し、応答を受信するのに約500μsかかることを示している。この500μsのうち250μsを“NOP?\n”クエリーの送信に要したことを意味する。残りの250μsはVISA viRead()機能に使っている。
 まずUSBパケットを計測機器に送信し、計測機器からいくつかのバイトを送ってくるように伝えてから、計測機器が応答を含むUSBパケットを送ってくるまで待つ。ここでも、パソコンが高速になるにつれてクエリー時間は短くなるはずである。この実験で用いた機器でも、いくつかのクエリーは350μsで済んでいる。

ブロックデータ転送速度

 この実験のために、ここでは“R?<length>\n”コマンドを計測機器に送信するときの転送速度を測定した。計測機器の構文解析プログラムは<length>バイトをその出力バッファに置く。リスト3は、VISAを介してこれを行うためのC#コードを示している。図4は、転送速度(バイト/秒)の転送バイト数依存性を示す。この実験では、転送速度は転送データ量が多くなるにつれて30Mバイト/秒に近づく。この数字は、ほかのほとんどの自動検査システムにおけるI/Oスピードの能力を十分超えている。

USBソフトウエア

 ソフトウエアの側では、16ビットのベンダーID、16ビットの製品ID、およびユニコード・シリアルナンバー・ストリングによって、プラグアンドプレイUSB装置を識別する。この情報は少々扱いにくいため、VISAベンダーはUSB計測機器を識別するための簡単な方法、すなわち人間が読める別名を用いる方法を提供している。
 別名の利用によって自動検査プログラムの維持が容易になり、各計測機器に採用する別名がすべて同じである限り、ユーザーは一度プログラムを書いてコンパイルすれば、それをいくつかの検査システムに搭載することができる。リスト4は、1つの別名を用いてデジタルマルチメーターのI/Oセッションを開く場合の例を示している。
 以上の測定結果は、ユーザーが計測機器との通信において、30Mバイト/秒のUSBデータ速度を実現できることを示している。USBが備えるスピードの利点、そして使いやすさによって、自動検査システムにおけるUSBの利用は今後増えていくであろう。



用語解説 / 会社情報
【USB】
Universal Serial Bus
▲本文へ戻る
GPIB
General Purpose Interface Bus
▲本文へ戻る
【ECP】
enhanced-capability port
▲本文へ戻る
【EPP】
enhanced-parallel port
▲本文へ戻る
【USB-IF】
USB Implementers Forum
▲本文へ戻る
【OS】
operating system
▲本文へ戻る
VXIpnp
VME Extensions for Instrumentation plug and play
計測機器用プラグアンドプレイのためのVME拡張
▲本文へ戻る
【VISA】
Virtual Instrument Software Architecture
▲本文へ戻る
API
application-programming interface
▲本文へ戻る
NOP
no-operation
▲本文へ戻る
【Andy Purcell*】
Andy Purcell氏は米Agilent Technologies社のR&D技術者で、計測用I/Oの研究に重点を置いており、USB-IF計測・検査委員会の前委員長を務めている。米Kansas大学で電気技術理学士の学位を取得した。余暇は家族と過ごしたり、バスケットボールやサイクリングを楽しんだりしている。
▲本文へ戻る
雑誌無償購読申込み ニュースレター登録 この記事に対する感想/ご意見
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. 
個人情報に関する方針 | 著作権・リンクについて | 会社情報