GP-IBって、そもそもナニ?

GP-IBの歴史

GP-IBは、General Purpose Interface Bus を略したもので、日本ではこの名称が一般的ですが、海外ではGP-IBのANSI規格番号IEEE488(アイトリプルイー488)と呼ばれることの方が多いようです。日本でも古くから使われているGP-IBですが、その起源は古く、なんと1960年代の後半までさかのぼります。
米国カリフォルニア州サンタクララ郡パロ・アルト市にHewlettさんとPackardさんが創立した会社「ヒューレットパッカード社(略称HP)」がありました。(現在のコンピュータメーカhp社の前身です)このHP社で様々な計測器をコントロールするためのインターフェースを開発し、その名称をHP-IBとして販売していたのですが、これが他のメーカにも普及しHP-IBでは具合が悪いのでGP-IBという名称が使われました。その後、1975年にANSIで規格化されIEEE488が誕生したという訳です。

パロ・アルトについて

少し余談になりますが、HP社がその本拠地を置いたパロ・アルト市は有名なシリコンバレーの北端に位置し、MacOSやWindowsのようなWIMPスタイルGUIの起源となるSmalltalkシステムを開発したゼロックスのパロ・アルト研究所もありました。Smalltalkはオブジェクト指向プログラミング環境であり、その操作は先進のGUIだったのですが、パロ・アルト研究所の研究者は自らが開発したGUIの価値をあまり評価していなかったようです。あるとき、Smalltalkのデモを見学に来たApple創業者のスティーブ・ジョブスはその将来性をいち早く見抜き、パロ・アルト研究所の研究者をAppleに引き抜いてGUIコンピュータMacintoshを完成させたのです。スティーブ・ジョブスに先見の明が有ったということですね。

※WIMPとはWindow Icon Menu Pointing deviceを略したもので、現在のWindowsのようにマウスでウインドウやアイコンを使って操作できるGUIを意味します。

GP-IBのしくみ

GP-IBのコネクタは亀の子のように重ねて挿入できるようになっており、全ての信号が並列に接続されます。接続された各機器にはアドレスを割り振り、コマンドやデータを転送するときは転送元と転送先のアドレスが指定されます。コントローラは最初にトーカ(送信者)とリスナ(受信者)のアドレスを指定してからデータ転送の指示を出します。

一般的に自動計測では複数の機器をPCからコントロールして実現しますので、1対多接続に対応したGP-IBは計測業界で急速に普及しました。

GP-IBの信号ライン

GP-IBは以下のように8本のデータライン(データバス)と3本のハンドシェークライン、5本の制御ラインを持っています。

ラベル名称備考
DATADATA1-DATA88ビットデータバス
DAVData Valid3線ハンドシェーク用制御ライン
NRFDNot Ready For Data
NDACNot Data Accepted
ATNAttentionコマンドとデータの切り替え
EOIEnd or Identify転送データの最終バイトを示す
IFCInterface Clearインターフェースの初期化
RENRemote Enableコントローラに接続されたデバイスをリモート状態にする
SRQService Request割り込み処理用フラグ

GP-IBの今後

GP-IBはUSBやLANなど現在普及しているどのインターフェースよりも低速であり、大量データの転送には適していません。2000年頃にUSBが普及を拡大し、低速なGP-IBは全てUSBに置き換わるのではと思われました。また、計測器メーカではGP-IBを標準装備からオプションに変更し、逆にUSBやLANを標準装備するメーカも現れました。
ところが、今現在になってもGP-IBは(言葉は悪いですが)生き残っています。なぜでしょうか?明確な理由はわかりませんが、おそらく次のようなことではないでしょうか。

  • 膨大な過去の資産を無駄にしたくない
  • 計測の自動化(特に出荷検査等)では大量のデータ転送を必要としないことが多い
  • USBコネクタは抜けやすく、堅牢なGP-IBの方が生産現場に向いている

世の中から計測器が無くならない限りGP-IBも無くなることは無いのかも知れませんね。

関連ページ

自動計測による検査自動化の最短開発ガイド https://www.keisoku.co.jp/pw/u-po/autotest_01/