« LDOレギュレターの真相 | トップページ | 未来予測レポート? »

2013年6月18日 (火)

GPIBのはなし

GPIBとは

[General Purpose Interface Bus]と呼ばれ、古くは HPで開発されたのでHP-IB (Hewlett-Packard Instrument Bus) とも呼ばれている。正式インターフェイス名称はIEEE 488 
 測定器などをコントロールするパラレルインターフェイスで、アンフェノール社のコネクタで、古くはプリンタなどで使われたタイプのハーモニカ端子24Pなのですが、積み重ね接続できるよう、コネクタのオスとメスが一体になっているケーブルが特徴的です。
ハード的には
20130618_214007 
 双方個の8Bit データーバスと8本の制御線からなっていますが、それは昔の TTLからの時代の信号線で、TTLの動作そのもので信号は全て負論理で構成されています。
 右図は GPIBのバスとバッファICの 75160,75162がコントロールICと接続されている様子を表す回路図ですが、75160,75162の端子の両側に丸がついて、負論理で有ることを示しています。
 コントロール ICのピンにも丸がついていますので、IC出力から負論理になっていることがわかります。
 はじめに GPIBのサンプルプログラムを見て当惑したのですが、バスの読み取りに
 Data = ~PortB
なる ' ~' 反転記号がついているのです。「こりゃバッファが反転タイプなのでそうなのかな」と思ってバッファを見てみると反転してないのです。つまり、GPIBバスラインの信号は反転しているのです。
 さらに悩むところが NDAC と NRFD の信号です。 これは ACK 時に High になるのが NDAK で、Not Data Ack なので本来 Lowの ACKであるべき信号の NOT なので、 High が ACK だということなのです。なんか紛らわしくて「ACK = Highだよ」って言って欲しいのですが、負論理の世界なのですね。NRFDも Not Ready For Data というわけで、準備が出来ると Hign になります。
 最初は各信号が「いったいHigh/Low どっちのレベルが正解なんだー」と実際にプログラムして反応を確認するまで頭の中が混乱していました。
ソフト的には
 しかしながら、特筆する仕掛けがこの GPIBインターフェイスにあるのです。先ほど述べた 2つの NDAC ,NFRD の信号は信号のやり取りのハンドシェークに使うのですが、端子がオープンコレクタタイプになっていて、GPIBの機器が数台パラレルに繋がっていてもこの信号線がオープンコレクタのパラレル接続で、準備が出来た機器が次々とコレクタをオープンにしてゆくのです。すべてオープンになった時にこのバスは Hign になりますので、バス上の機器の反応に合わせてホストがデーターを送ることが出来るというシステムです。昔は決して高速な CPU ばかりではなかったので、このような工夫が出来たのではないかと考えます。
 今でも現役で使われている GPIBインターフェイスですが、TTL時代の名残があるのを覚えておいてください。

|

« LDOレギュレターの真相 | トップページ | 未来予測レポート? »

コメント

懐かしい?話をありがとうございました。この測定器でLAN?でしたですね。トーカーとかいってパラレルに接続して使っていました。いまななら簡単ですがね。素晴らしいプロトコルでした。

投稿: ひで | 2013年6月19日 (水) 09時39分

昔実際に使ったのは、スペアナの波形をプロッター出力するために、プロッターとスペアナを繋ぐ時ぐらいでした。なんか HP のプロッターはGPIB (当時は HPIB)接続しかなかったのでバカ太いケーブルで繋いだ覚えがあります。スペアナでプリントコマンドするとプロッターのペンと紙がスムーズに動いて波形を描くのを感心して見ていました。今じゃ USBメモリでパソコンに持ってきて加工出来るから あの動作の感動はないけど便利になりましたね。

投稿: SUDOTECK | 2013年6月19日 (水) 15時11分

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: GPIBのはなし:

« LDOレギュレターの真相 | トップページ | 未来予測レポート? »