
HP -IL(Hewlett-Packard Interface Loop )は、 1980年代初頭にヒューレット・パッカード社が導入した短距離相互接続バスまたはネットワークです。 [ 1 ]これにより、プリンター、プロッター、ディスプレイ、ストレージデバイス(フロッピーディスクドライブやテープドライブ)、テスト機器などの多くのデバイスを、 HP-41C、HP-71B、HP-75C/Dなどのプログラマブル電卓、Series 80およびHP-110コンピュータ、汎用ISAバスベースのPCに接続することが可能になりました。
その名の通り、HP-IL ネットワークはループ状(つまりリングネットワーク)を形成します。ループ内の各デバイスには、2 本のワイヤ接続が 1 つずつあり、1 つはin として指定され、ループ内の前のデバイスからメッセージを受信します。もう 1 つはoutとして指定され、ループ内の次のデバイスにメッセージを送信します。ループ上の 1 つのデバイスはコントローラとして指定され、ループ上の他のすべてのデバイスを管理します。HP-IL ケーブルは、極性のある D 字型のシェルを備えた独自の 2 ピン コネクタ設計を採用しており、長さを延長するためのアダプタを追加することなく、ケーブル同士を接続できます。
HP-ILは、メディアアクセス制御にトークンパッシングプロトコルを使用します。メッセージは、発信元に戻るまで、あるデバイスから次のデバイスへと渡されます。ループが初期化されると、コントローラは最初のデバイスに「Auto Address 1」メッセージを送信します。そのデバイス(および後続の各デバイス)は、受信したメッセージの番号を自身のアドレスとして取得し、アドレスをインクリメントしたメッセージを次のデバイスに転送します。「Auto Address n 」メッセージが最終的にコントローラに戻ると、ループ上のデバイスの数( n - 1)がわかります。この方法では、最大31台のデバイスをアドレス指定できます。アドレスが割り当てられると、コントローラはループ上の任意のデバイスに「トーカ」または「リスナー」の役割を割り当てることができます。コントローラは、各デバイスを順番にアドレス指定し、「Send Accessory ID」メッセージを使用することで、ループ上の各デバイスの役割と機能を判断できます。
コントローラがデバイスにリスナーの役割を割り当てると、そのデバイスはループから受信したデータを受け入れて処理します。トーカの役割では、デバイスはループ上でデータを発信できます。リスナーの役割は複数のデバイスに同時に割り当てることができますが、トーカの役割は一度に1つのデバイスにしか割り当てることができません。ループデバイス間のデータ転送は、コントローラがトーカと1つ以上のリスナーを指定し、「データ送信」メッセージを送信することによって行われます。
コントローラーとして設計されたほとんどのデバイスはその役割に固定されていましたが、HP-71Bはコントローラーモードとデバイスモードの両方に対応可能でした。さらに、HP 82402デュアルHP-ILアダプターを使用すれば、HP-71Bを複数のループで構成することもできました。
ヒューレット・パッカードは、HP-ILに接続するための様々なデバイスを開発しました。そのほとんどは、プリンタや電卓用記憶装置などの周辺機器でした。82169A HP-IL/HP-IBインターフェースを介して、HP-ILコントローラをHP-IB(GPIBまたはIEEE-488とも呼ばれる)インターフェースを備えた計測器に接続したり、その逆も可能でした。ILインターフェースを備えた計測機器を開発する計画もありましたが、ある程度普及した3468Aマルチメータを除けば、HP-IL自体が時代遅れになる前に発売されたデバイスはごくわずかでした。
HPはHP-IBインターフェースに加えて、RS-232および汎用パラレルI/Oインターフェース、さらにカスタムインターフェースを作成するためのプロトタイプキットも販売していた。

HPの電卓には、HP-ILインターフェースを搭載した機種がいくつかありました。HP -75C/Dには内蔵されていましたが、HP-71やHP-41などの機種では、プラグイン式のインターフェースモジュール(HP-41用にはHP82160Aなど)が用意されていました。HP-ILの一般的な用途としては、印刷(HP 82162Aサーマルプリンタを使用)やカセットファイルストレージ(HP 82161Aデジタルカセットドライブを使用)などがありました。使いやすさを考慮して、電卓は自動I/Oアドレス割り当て(「AUTOIO」)をサポートしており、プリンタやマスストレージのコマンドは、適切なタイプの利用可能な最初のデバイスに自動的に送信されます。同じタイプのデバイスが複数存在する場合は、手動割り当て(「MANIO」)モードを使用することができました。
82169Aインターフェースコンバータを使用すれば、小型電卓でも、テストおよび計測機器で広く使用されている標準的なHP-IB (GPIB、IEEE-488)バス上の多数のデバイスを制御できます。このコンバータは、トランスレータモードとメールボックスモードの2つのモードで動作します。トランスレータモードは、コントローラが1つしかないシステム(通常はHP-IL上の電卓)に適しています。一方、メールボックスモードは、両方のバスに別々のコントローラが存在する場合に適用されます。
HP-ILコントローラを使用したトランスレータモードでは、デフォルトのアドレス指定モードは、コンバータをHP-ILループの最後のデバイスとして接続し、コンバータ自身のHP-IBアドレスをHP-ILループ上のデバイス数よりも高く設定し、HP-IB側でアドレス指定されるデバイスのアドレスをコンバータのアドレスよりも高く設定することです。[ 2 ]この方式から逸脱するには、アドレス指定を手動で制御する必要があります。
メールボックスモードでは、両側のコントローラがコンバータのバッファメモリにメッセージを格納し、相手側がそのメモリからメッセージを取得できます。


