Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

IEEE 488(アイイーイーイーよんはっぱーはっぱー)とは | 意味や読み方など丁寧でわかりやすい用語解説

IEEE 488(アイイーイーイーよんはっぱーはっぱー)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

アイ・イー・イー・イー・よん・はち・はち (アイ・イー・イー・イー・ヨン・ハチ・ハチ)

英語表記

IEEE 488 (アイ・イー・イー・イー・よん・はち・はち)

用語解説

IEEE 488は、主に計測器とコンピュータを接続して自動計測システムを構築するために用いられる、標準化されたデジタルインターフェースのバス規格である。ヒューレット・パッカード社が開発したHPIB (Hewlett-Packard Interface Bus) が基になっており、後にIEEE(米国電気電子学会)によって標準化された。現在ではGPIB (General Purpose Interface Bus) という名称でも広く知られている。1970年代に登場して以来、研究開発や製造現場における計測・制御分野で長年にわたり利用されてきた。その主な目的は、オシロスコープ、デジタルマルチメータ、電源装置といった複数の計測器を一台のコンピュータから一元的に制御し、測定データを効率的に収集することにある。

IEEE 488は、最大15台のデバイスをバス上に接続することができるパラレルバスである。物理的な接続には、24ピンの特殊なコネクタが用いられ、各デバイスを数珠つなぎにするデイジーチェーン接続が一般的である。バス全体のケーブル長は最大20メートル、デバイス間の平均距離は2メートル以内に制限される。

このバス上では、各デバイスは「コントローラ」「トーカ」「リスナ」のいずれか、あるいは複数の役割を担う。コントローラは、バス全体の通信を管理・制御する司令塔の役割を持つ。通常、システム内には一台のコンピュータがコントローラとして存在する。コントローラは、どのデバイスにデータを送信させ(トーカ)、どのデバイスにデータを受信させるか(リスナ)を指定する。トーカは、コントローラからの指示に従って測定データなどをバス上に送信するデバイスである。リスナは、バス上を流れるデータを受信するデバイスである。例えば、コンピュータ(コントローラ)が信号発生器(トーカに指定)に特定の波形を出力するよう指示し、その結果をオシロスコープ(リスナに指定)で観測するといった一連の動作を自動化できる。一つのデバイスがトーカとリスナの両方の機能を持つことも可能で、これをトーカ/リスナと呼ぶ。

通信は8本のデータ線(DIO1~DIO8)を用いたバイトパラレル方式で行われる。これは、8ビットのデータを一度に送信できることを意味する。IEEE 488の大きな特徴の一つに、3本の制御線(NRFD, NDAC, DAV)を用いた「3ワイヤハンドシェイク」と呼ばれるデータ転送方式がある。これは非同期通信方式であり、送信側(トーカ)と受信側(リスナ)が互いの状態を確認しながらデータ転送のタイミングを調整する仕組みである。具体的には、送信側がデータをバスに乗せると、まず受信側がデータを受け取る準備ができているか(NRFD: Not Ready For Data)を確認し、準備ができていればデータを受け取り、受け取りが完了したこと(NDAC: Not Data Accepted)を送信側に通知する。これにより、バスに接続された最も低速なデバイスの速度に合わせて通信が行われるため、速度の異なる様々な機器を一つのバスに混在させても、確実なデータ転送が保証される。

データ線とハンドシェイク線の他に、5本の管理バスライン(ATN, IFC, REN, SRQ, EOI)が存在する。これらはバス全体の制御に使われる。例えば、ATN (Attention) はコントローラがデバイスへのコマンドとデータを区別するために使用する信号である。コントローラがATNをアクティブにすると、データバス上の情報はコマンドとして解釈される。IFC (Interface Clear) は、バス上の全デバイスを初期状態にリセットする。SRQ (Service Request) は、デバイスがコントローラに対して何らかの処理を要求する際に使用する割り込み信号のような役割を果たす。

バスに接続された各デバイスは、0から30までの範囲で一意のプライマリアドレスを持つ。コントローラは、このアドレスを用いて通信対象のデバイスを特定し、トーカやリスナとして指定する。

IEEE 488規格は、時代と共に改訂されてきた。初期のIEEE 488.1は、主にコネクタ形状、電気的仕様、ハンドシェイクのプロトコルといったハードウェア層を定義していた。しかし、コマンドの書式やデータ形式はメーカーごとに異なっていたため、異なるメーカーの機器を組み合わせる際にはプログラミングが煩雑になるという課題があった。この問題を解決するために、1987年にIEEE 488.2が策定された。この規格では、コマンドの標準構文、ステータス報告の仕組み、共通コマンドセット(*IDN?、*RSTなど)が定義され、ソフトウェアレベルでの互換性が大幅に向上した。これにより、メーカーを問わず、より簡単に計測システムを構築できるようになった。さらに、このIEEE 488.2を基盤として、SCPI (Standard Commands for Programmable Instruments) という、より具体的で標準化された計測器コマンド言語も登場した。

現在では、より高速で利便性の高いUSBやEthernet (LXI: LAN eXtensions for Instrumentation) といったインターフェースが主流となり、IEEE 488の新規採用は減少している。しかし、そのプロトコルの単純さ、通信の確実性、そしてノイズ耐性の高さから、高い信頼性が要求される環境では依然として重用されている。特に、長期間にわたって稼働し続ける必要がある製造ラインの自動試験装置や、既存の膨大な計測資産を活かす必要がある研究開発の現場など、特定の分野においては今なお現役のインターフェースとしてその地位を保っている。

関連コンテンツ