IEEE 488 (GPIB/HP-IB) の詳細解説
IEEE 488は、短距離デジタル通信バスの規格です。自動テスト機器の相互接続を目的として開発され、現在でも広く利用されています。Hewlett-Packard社が開発したHP-IB (Hewlett-Packard Instrument Bus) や、General Purpose Interface Bus (GPIB) として知られるこの規格は、
IEEEによって標準化され、
IEEE 488.1として確立されました。
設計と仕様
IEEE 488は、デイジーチェーン接続によって最大15台のデバイスを接続できる8bitパラレルバスです。最も低速なデバイスの速度に同期し、ハンドシェイクを用いたデータ転送を行います。初期規格では最大1MB/sでしたが、
IEEE 488.1-2003 (HS-488) では8MB/sに高速化されました。
バスは16本の信号線で構成され、8本を双方向データ通信、3本をハンドシェイク、5本をバス管理、8本をグランドに用います。この構成により、複数のデバイス間での同期的なデータ送受信を可能にしています。
歴史
1960年代後半、Hewlett-Packard社は試験・測定機器の相互接続を容易にするため、HP-IBを開発しました。これは比較的容易に実装できるパラレルバスと制御線を用いたシンプルな設計でした。その後、他社も同様のバスを開発し、GPIBが広く普及するようになりました。
1975年に
IEEEによって標準化され、
IEEE 488-1975 (のちに
IEEE 488.1) となりました。この規格は、電気的・機械的な仕様と基本プロトコルを規定しましたが、コマンドやデータフォーマットについては規定していませんでした。
1987年には、コマンドやデータフォーマット、エラー処理などを規定する
IEEE 488.2が標準化されましたが、
IEEE 488.1とは独立した規格でした。デバイス固有のコマンドは標準化されておらず、メーカーや機種によって異なるコマンドを使用していました。後に、SCPI (Standard Commands for Programmable Instruments) が導入されましたが、普及には至りませんでした。
2003年には、データ転送速度を8MB/sに向上させた
IEEE 488.1-2003 (HS-488) が標準化されました。ただし、接続デバイス数が増えると速度が低下する傾向があります。
IEEE以外にも、ANSIやIECなどの標準化団体でも、
IEEE 488に相当する規格が制定されています。
適用分野
当初は自動テスト機器の接続を想定していましたが、パーソナルコンピュータ周辺機器の接続にも使用されました。Commodore PET/CBMなど、初期のパーソナルコンピュータでは、
IEEE 488を使用して周辺機器を接続していました。Hewlett-Packard社やTektronix社も、ワークステーションやミニコンピュータの周辺機器接続に
IEEE 488を使用していました。しかし、SCSIなど、より高速でオープンな規格が登場したため、周辺機器インタフェースとしての利用は減少しました。
信号と通信方法
IEEE 488の信号レベルは、Highレベルが2.0V以上、Lowレベルが0.8V以下と定義されています。
通信は、コントローラ、トーカ、リスナという役割分担で行われます。コントローラは、データを送信するトーカと受信するリスナを指定します。データ送受信はハンドシェイクを用いて行われ、1バイトずつデータが転送されます。複数のバイトを送信する際は、EOI信号や改行コードなどをデリミタとして使用します。
デバイスはSRQ信号を使ってコントローラに割り込みを要求できます。コントローラは、パラレルポール方式やシリアルポール方式で割り込み要求元を特定します。
コネクタ
IEEE 488は、24ピンマイクロリボンコネクタを使用します。デイジーチェーン接続を容易にするため、スタック可能なコネクタが採用されています。ケーブル長は最大20mまでです。IEC-625規格では25ピンD-subコネクタの使用が規定されていましたが、普及しませんでした。
まとめ
IEEE 488は、歴史のあるデジタル通信バス規格であり、自動テスト機器分野を中心に広く利用されています。高速化規格や、様々な標準化団体による規格制定など、進化を続けています。しかし、より新しい規格が登場したことで、その利用範囲は変化しつつあります。