IEEE 488
IEEE 488とは、短距離デジタル通信バス仕様である。元々は自動テスト設備に用いられることを目的として作られたが、現在(2007年記述)でもその分野では広い範囲で使われている。IEEE 488はまたHP-IB (Hewlett-Packard Instrument Bus) やGPIB (General Purpose Interface Bus) としてよく知られている。
設計
編集歴史
編集適用分野
編集信号
編集データ・ハンドシェーク・管理用のすべての信号は、0 がHighレベル (≧2.0V)、1がLowレベル(≦0.8V)となる。
種類 | 方向 | 名称 | データ | 説明 |
---|---|---|---|---|
データ | トーカ → リスナ | DIO1–DIO8 | 8bit データ | データ入出力ビット。これら8本の線はバスを通して送られる8bitのデータやコマンドバイトを読み書きするのに使われる。 |
ハンドシェーク | DAV (Data Valid) |
1(L) = データ有効 0(H) = データ無効 |
データが正当である。これはハンドシェイクラインであって、DIO1-DIO8で送られた値が正当であることを示す信号として使われる。転送用データがDIO1-DIO8のラインにセットされている間、DAVラインは「T1時間」と呼ばれる時間の後にアサートされる。T1時間後、データが読まれる前にデータラインは安定な値になる。 | |
トーカ ← リスナ | NRFD (Not Ready For Data) |
1(L) = ビジー 0(H) = レディ |
データの準備ができていない。NRFDは受信側によって新しいデータバイトを受信する準備ができていないことを知らせるためにアサートされる、ハンドシェイク用ラインである。 | |
NDAC (Not Data Accepted) |
1(L) = 未受信 0(H) = 受信完了 |
データ未受信。NDACは受信側がDIOラインに乗っているデータをまだ読んでいないことを示すために、受信側によってアサートされるハンドシェイクラインである。 | ||
管理用 | コントローラ → デバイス |
ATN (Attention) |
1(L) = コマンド 0(H) = データ転送 |
ATNは(1バイトのデータとは逆に)1バイトのコマンドバイトがDIOラインにあることを示すためにアサートされる。また、パラレルポール使用時はEOIもアサートされる。 |
EOI (End-or-identify) |
1(L) = 最終バイト | このラインは、データの最終バイトが書き込まれるとアサートされる。つまりメッセージの最後を示す。パラレルポールの時はATNと一緒にアサートされる。 | ||
IFC (Interface Clear) |
1(L) = 初期化 | インタフェース初期化。システムコントローラは、バスをリセットしコントローラ管理下におくためこのラインを(少なくとも100us以上)アサートする。 | ||
REN (Remote Enable) |
1(L) = リモートモード 0(H) = ローカルモード |
システムコントローラによってアサートされ、RENがデバイスをリモートモードに入れる。つまり、コントローラによってRENがアサートされると、デバイスはリモートモードに入る。RENが偽(H)であれば、すべてのデバイスは即座にローカルモードに戻る。 | ||
コントローラ ← デバイス |
SRQ (Service Request) |
1(L) = サービス要求 | バス上にあるデバイスは、コントローラ管理下からサービスを要求するためにアサートする。コントローラはデバイスがサービス要求するまで監視し、必要に応じてなんらかのアクションを起こす。 |
通信方法
編集トーカとリスナの決定
編集コントローラは、データを送信するトーカを1つと、データを受信するリスナを1つ以上選択する。コントローラは ATN=L とし、 UNL (Unlisten) コマンドを発行後、トーカアドレスとリスナアドレスを送信し、 ATN を H に戻すと、トーカとリスナが決定することができる。
データの送受信
編集トーカが 8bitデータをデータバスに設定後に DAV=L とすると、リスナは まず NRFD=H としてビジー状態とし、データ受信が完了すると NDAC=H とする。データ受信完了後にトーカが DAV=H とすると、リスナは NDAC=L とし、リスナが次のデータを受信できる状態になると NRFD を L に戻す。これにより1byteのデータ送受信が完了する。
複数byteのデータの送受信では、最終のデータであることを示すデリミタをトーカからリスナに対して送信する必要がある。一般的には、バイナリデータの場合には EOI=L とし、文字列データの場合には CR+LF, CR, LF をデリミタとする場合が多い。
サービスリクエスト
編集デバイスからコントローラに対して割り込みをかける場合、デバイスはSRQ信号を1(L)としてサービス要求を行う。その後、コントローラはどのデバイスから要求が来ているかを調べる必要があるが、調べる方法として、パラレルポールとシリアルポールの手法がある。
コネクタ
編集IEEE 488
編集IEEE 488はアンフェノール社が設計した24ピンのマイクロリボンコネクタを採用している(しばしばセントロニクスタイプと誤って呼ばれている)。オス/メスのコネクタが対になっているので積み重ね(スタック)て簡単にデイジーチェインが可能である(これをピギーバックコネクタとも言う)。スタック可能なコネクタの数の機械的な限界は4つ以下となっている。これらはUTS(いまやほとんど廃止されている)やメートル (M3.5 x 0.6) ねじによって固定される。慣例的によりメートルねじは黒く塗られ、UTSねじとは合わないようになっている。総ケーブル長は20mが限界になっているが、非標準の「バスエクステンダ」デバイスも使える。
ピン配列
編集IEC-625
編集IEC-625標準では25pin D-subコネクタ(PC/AT互換機のパラレルポートに使われているもの)の使用を規定している。この標準は24pinコネクタの採用に反して市場の多くの支持を得られなかった。
GPIB コントローラ
編集脚注
編集- ^ IEEE/IEC 60488-1-2004(IEEE Std 488.1-2003): Higher Performance Protocol for the Standard Digital Interface for Programmable Instrumentation - Part 1: General
- ^ 徳田 恵一、1984年12月18日、『PC-9801/E/F/M インターフェース解析マニュアル[第5巻]』、秀和システムトレーディング株式会社 p. 35
- ^ “NAT7210 IEEE 488.2 Controller Chip Specifications”. 2024年1月31日閲覧。
外部リンク
編集- IEEE Standards