JPH05181790A - Ieee488インターフェイスとメッセージ処理法 - Google Patents

Ieee488インターフェイスとメッセージ処理法

Info

Publication number
JPH05181790A
JPH05181790A JP3162599A JP16259991A JPH05181790A JP H05181790 A JPH05181790 A JP H05181790A JP 3162599 A JP3162599 A JP 3162599A JP 16259991 A JP16259991 A JP 16259991A JP H05181790 A JPH05181790 A JP H05181790A
Authority
JP
Japan
Prior art keywords
microprocessor
data
bus
ieee
interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP3162599A
Other languages
English (en)
Other versions
JP3377798B2 (ja
Inventor
Robert Canik
カーニク ロバート
Brian K Odom
ケイ オドム ブライアン
Jr William C Nowlin
シー ノーリン ジュニア ウィリアム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Instruments Corp
Original Assignee
National Instruments Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National Instruments Corp filed Critical National Instruments Corp
Publication of JPH05181790A publication Critical patent/JPH05181790A/ja
Application granted granted Critical
Publication of JP3377798B2 publication Critical patent/JP3377798B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • G06F13/4226Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with asynchronous protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

(57)【要約】 【目的】 コントローラ又は装置をIEEE488 バスへイン
ターフェイスするのに要する機能のあるものを実用化
し、インターフェイスの性能と信頼度の向上を図ること 【構成】 マイクロプロセッサーポート120と、デー
タラインをデータ有効(DAV)ラインを含むIEEE488
バス104と、マイクロプロセッサーポート120とIE
EE488 バス104へ結合されたトーカー回路手段146
及びソースハンドシェイク手段142等より構成されて
いて、マイクロプロセッサーとIEEE488 バス104を結
合しているバスインターフェイスで書込パルスの部分と
予め定義された整定期間を重合わせることによりにより
マイクロプロセッサーのデータ転送速度を改善する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は一般にコントローラーと
装置の通信にIEEE規格488.1と488.2を使
用したテスト用、測定用のシステムに関する。本発明は
特にコントローラーまたは装置をIEEE488バスへ
インターフェイスするのに要する機能のあるものを実用
化し、インターフェイスの性能と信頼度の向上を図るた
めの方法に関する。
【0002】
【従来の技術】機器の内部操作の実行には今日ではマイ
クロプロセッサーが用いられている。付加的に、コンピ
ューターとマイクロプロセッサーがテスト測定システム
を制御する為に使用されている。装置と制御コンピュー
ター(コントローラー)間の接続と通信には主にIEE
E488バスが使用されている。
【0003】IEEE488バスは基本的にはあらかじ
め定義された複数のラインによる電気信号の送信であ
る。コントローラーより指定された装置へ、またはその
反対の方向にバスを使用して情報を伝達するための方法
を規定している前もって定義されたプロトコールがあ
る。業界の標準バスに従い、多様な機器を製造している
どのメーカーも標準ソフトパケージとインターフェイス
回路を用いれば製造機器とマイクロプロセッサーを使用
したコントローラーを接続することが可能となる。即
ち、これらの機器の購入者側は各機器ごとに特別仕様の
コントローラーを必要としなくなる。これら全ての機器
は同じ一揃いの信号ラインを使用しまた同じ一揃いの通
信プロトコールを使用しているからである。
【0004】集積回路(チップ)がコンピューターかマ
イクロプロセッサーとIEEE488バスを接続するた
めに使用される。現在のIEEE488バスインターフ
ェイス集積回路(IEEE488チップ)は最新の規格
ANSI/IEEE488.1−1987とANSI/
IEEE488.2−1987(両方とも参照され使用
されているが、)刊行される以前に設計開発されたもの
である。これらのチップは、その大部分が、それ以前の
規格IEEEStd488−1978(やはり使用され
ている)に合致する。
【0005】
【発明が解決しようとする課題】データ整定時間 現在入手可能であるIEEE488チップの基本的な特
徴はIEEE488.1のソースハンドシェイクの低速
性である。IEEE488−1978は、またより新し
いIEEE488−1987も、データ整定時間T1を
定義していて、これはマルチラインメッセージ(即ち、
並列に送信された複数のビットをふくむメッセージ)を
IEEE488.1バスへ発信する全ての装置(装置と
コントローラー)により使用される。IEEE規格48
8−1978でも488.1−1987でも、システム
の構成によってはまたソースハンドシェイクを実行する
装置により使用されるデータラインのタイプによって
は、TIが違った値をとることを許す。現在のIEEE
488インターフェイスには遅延TIを修正できる柔軟
性がある程度あるが、最適な高速性能を実施する手段が
ない。IEEE488仕様で許容される、可能な最高速
度でマルチラインメッセージとデータ発信できないとい
うことは最新のテスト測定システムに求められ性能を満
たさないと言うことになる。柔軟性があり、かつ非常な
高速ソースハンドシェイク機能が実現できるようなIE
EE488インターフェイス回路にたいする需要があ
る。マイクロプロセッサーアプリケーションソフトウェ
アを用いたIEEE488.1バスハンドシェイクの同
制御装置の為のテスト測定用アプリケーションソフトウ
ェアはしばしばIEEE488バス動作はIEEE48
8の追加通信がされる以前は静止状態にあるという仮定
のもとに書かれている。最新のIEEE488チップで
はソフトウェアが、制御の同期をとったりするステップ
などの、IEEE488バスの状態に影響を与えるステ
ップをとることがないように確定する為に上記はいつで
も可能とはいえない。IEEE488バス上で全装置に
より一つのメッセージの最後のバイトが受信された時に
確定できるような、従って、IEEE488バスの継続
した通信に進む前にバスは静止状態であると保証するよ
うな、アプリケーションソフトウェアの需要がある。 可変長メッセージと最後のバイト IEEE488バスの最も有益な特徴の一つはその可変
長メッセージ(すなわち、メッセージやデータに含まれ
るバイト数が可変である)のサポートが容易であるとい
う能力である。この能力は単線の終了メッセージかマル
チラインの列の終了(EOS)メッセージを使用してな
される。マルチラインメッセージをIEEE488.1
バス上を転送するにはメッセージの最終バイトが送信さ
れるか、または受信されないうちに通信の両端末での介
入がしばしば必要となる。
【0006】送信側での通信の接続ではIEEE488
インターフェイスはメッセージの最終バイトと共に終了
メッセージが送信されるように指示されていなければな
らない。受信側では、IEEE488インターフェイス
はそれが受信する次のバイトに続くメッセージのバイト
の受信は拒絶するように指示されていなければならな
い。どちらの場合も、接続されているマイクロプロセッ
サーかコンピューター上で走っているIEEE488デ
バイスドライバーのソフトウェアーは、意図したメッセ
ージ長より1バイト少なく転送できるように準備し、転
送を完了し、IEEE488インターフェイスの特殊命
令を実行し、最後に、最終バイトの転送を準備し、完了
する。一般的にはソフトウェアーがこのような種類の介
入に関与すると、システムの処理能力を損なう。さら
に、これらの侵入テクニックはドライバーソフトウェア
を非常に複雑にする。さらに悪いことには、様々な非同
期のIEEE488の事象(終了メッセージの受信され
た場合のような)が複数の転送や特殊インターフェイス
コマンドにたいし様々な時間関係でもって起き、それを
解決する為にはソフトウェア上のかなりの努力が必要と
されるような競合条件が生起する。
【0007】
【問題を解決するための手段】本発明は、要約すると、
装置かまたはコントローラーのIEEE488インター
フェイスの性能と信頼性を格段に改善するような特定の
IEEE488インターフェイス機能を実現する方法を
提供する。マイクロプロセッサーのデータバス上のデー
タがその書き込みパルスのトレリングエッジより以前の
ある前もって定義された時間だけ有効なことがわかって
いる場合はメッセージの発信スピードは送信側マイクロ
プロセッサーの書き込みパルスにバス整定時間T1の一
部を重ね合わせることで改善できる。
【0008】本発明によるインターフェイスは、イネー
ブル状態にあれば割り込み信号を使用してマイクロプロ
セッサーにIEEE488メッセージの最終バイトがバ
ス上の全リスナーにより受信済みであると連絡するよう
な特殊なステイトマシンを提供することによりハンドシ
ェイクの同期を改善している。マイクロプロセッサーの
直接記憶アクセス(DMA)コントローラーにより作ら
れるターミナルカウント信号は、マイクロプロセッサー
によりIEEE488バス上の装置へ転送された複数の
バイトのメッセージ終わりを検出するのに使用される。
本発明によるインターフェイスはメッセージの最終バイ
トがIEEE488バスデータラインでアサートされた
ときに自動的にIEEE488バス上にEOI信号を発
生する。このことは複数のバイトのメッセージをマイク
ロプロセッサーによる発信を、先行技術のインターフェ
イスで使用されているプロタコールと比較すると、格段
に単純化する。
【0009】DMAコントローラーのターミナルカウン
ト信号はまたIEEE488バス上で一つの装置により
マイクロプロセッサーに送られるデータの損失を防ぐ。
第一の装置から長いメッセージを受信中マイクロプロセ
ッサーが他の装置を処理しなければならなくなったとき
に発生する損失が上記損失の代表的なものである。デー
タ損失はメッセージ転送の区切り点、即ち、DMAター
ミナルカウント信号が活動状態になっているときを検出
し、マイクロプロセッサーがIEEE488バス上の他
の装置に応答する必要があるかどうか決定過程にある
間、第一の装置が”データ有効”を表明しないようにす
ることにより防止できる。
【0010】
【実施例】以下の図や説明では、〜記号は論理否定、+
記号はOR論理、&記号はAND論理を意味する。図1
を参照しながら説明する。制御インターフェイス100
は制御マイクロプロセッサー102とIEEE488バ
ス104を接続し、そのIEEE488バス104は例
えばデジタル電圧計、スペクトラムアナライザー、オッ
シロスコープやその他の機器のごとくIEEE488バ
スを経由してコマンドやメッセージを送受するようにな
っている一つ以上の装置106に接続されている。本発
明のある観点ではマイクロプロセッサー102がDMA
データの転送を制御しまたある特別なデータの転送シー
ケンスの終了を示すためのターミナルカウント信号TC
を出力するようなDMA制御部108を含むことを前提
としている。
【0011】IEEE488バス104はまたGPIB
(汎用インターフェイスバス)とも呼ばれる。信号か信
号ラインの名前の前にローマ字のNが付いているとき
は、それに負論理の信号か信号ラインを意味する。ここ
では説明に誤解が生じないように、全ての信号は正論理
表記に統一されている。
【0012】次に、図2を用いて説明をする。本発明に
よる制御インターフェイス100はマイクロプロセッサ
ーポート120とIEEE488ポート104の二つの
ポートを含んでいる。本発明の好ましい実施例は、マイ
クロプロセッサーを使用のコントローラーがサポート1
20へ接続され多様な装置106がIEEE488バス
104へ接続されているという観点から説明されてい
る。この同じ回路100はしかし装置106の内部にあ
るマイクロプロセッサーをIEEE488バス104へ
接続する為に用いることもできる。以上のようにインタ
ーフェイス100は装置かコントローラーをIEEE4
88バスへ接続するための汎用回路である。IEEE4
88バス104の構成を図3に示す。次のラインよりな
る。 1)8ビットのデータバス 2)バス104上の新しいデータが一時的にアサートさ
れないようにアサートされるラインであるNRFD(ア
サート準備不可)。具体的には、DAV(データ有効)
信号のアサートがなされないようにされている。 3)バス上のデータの1バイトがアサートされたとき、
アサートされるDAVライン 4)メッセージの1バイトを受信中の装置がそのメッセ
ージを読み込んだ時、真論理となるNDAC(データ受
付不可)ライン。複数の装置が同時通信メッセージを読
み込んでいるとき、NDACは最も低速度の装置へのバ
イトの引き渡しが完了したときのみNDACは真とな
る。 5)多数の装置のインターフェイス機能(即ちインター
フェイス中のステートマシン)をリセットするためにア
サートされるIFC(インターフェイスクリヤー)ライ
ン。 6)IEEE488バス上で一つ以上の装置をアドレス
指定するより前に制御装置によりアサートされるATN
(アテンション)ライン。ATNがアサートされると、
データバス上にて装置アドレスがアサートされる。 7)装置がコントローラーにより処理される必要がある
ときにそれらの装置によりアサートされるSRQ(サー
ビスリクエスト)ライン。 8)コントローラーよりのコマンドに応答するためにI
EEE488バス上の装置に命令するのにコントローラ
ーより使用されるREN(リモートイネーブル)ライ
ン。 9)EOI(end or identify)ライ
ン:Endラインはマルチラインメッセージの最終バイ
トを示すために、identifyラインは処理を要請
している装置を識別するためにコントローラーにより使
用される。マイクロプロセッサーポート120はインタ
ーフェイスの操作モードを定義するためとIEEE48
8バス104へまたはIEEE488バスから送発信さ
れるコマンドやメッセージを記憶させておくための一組
のアドレス指定できるデータレジスター122から13
0までを含む。図4を説明する。ポート120のデータ
レジスター122から130は、コントローラーよりI
EEE488バス104へデータ、マルチラインメッセ
ージとコマンドを転送する汎用レジスターである8ビッ
トのコマンド/データ出力用レジスター(CDOR)1
22を含む。また、IEEE488バス104上の他の
装置からデータやメッセージバイトを受信するためにマ
イクロプロセッサー102により使用される8ビットの
データ入力用レジスター(DIR)123がある。キー
レジスター124はマイクロプロセッサーとの通信モー
ドを指定するビットフラグを含む。200nsT1のみ
が本発明に関連する。
【0013】CDOR122が制御回路はデータの新し
いバイトがCDORに書き込まれるたびにローカルメッ
セージnba(new byte availabl
e)を出力する。補助レジスターBとI、126と12
8は、そのあるものは以下に説明されるが、IEEE4
88規格により通常は要求されない機能の目的に使用さ
れる。
【0014】レジスター130は、以下に詳しく説明さ
れるが、SYNCビットとSYNCIEビットを記憶す
る。このレジスター130の他のビットはENDビット
とDI(データイン)ビットを含む。ENDビットは、
EOIラインがアサートされてGPIB104上の装置
よりメッセージバイトをインターフェイス100が読む
時はいつもセットされて、メッセージの最終バイトが転
送済みということを示す。DIビットは、インターフェ
イス100がGPIB上の装置からメッセージバイトを
読みとる時はいつもセットされる。
【0015】再度図2を参照しながら説明する。マイク
ロプロセッサーポート120はまた、ローカルコマンド
を生成するためマイクロプロセッサーバスからのアドレ
ス、データ、や読み込み/書き込み信号を復号するデコ
ーダー132を含む。デコーダ132により生成するロ
ーカルコマンドのうち本発明に関連するものは次のもの
を含む:cont(連続モード)、rddir(レジス
ターのデータ読みとり)、wrcdor(コマンド/デ
ータ出力レジスターへの書き込み)、rdhf(ハンド
シェイクホールドオフの解放)、hlda(全てにたい
しホールドオフ)、hlde(endモードにたいしホ
ールドオフ)、hldi(即時ホールドオフ)、hol
doff(ホールドオフ、即ち、さらなるデータの転送
を停止)、pon(パワーオンリセット)、clear
sync(sync状態より抜けでるためにsync
ビットをクリヤー)、set sync(syncビッ
トをセット)、seoi(EOIを転送)、とCDOR
122により生成されたnba(new byte a
vailable)信号をリセットするためのnbaf
(new byte available fals
e)。
【0016】IEEE488バスハンドシェイクの同期
がとれた時を検出するのに使用されるSYNCステート
マシン140がある。ソースハンドシェイクステートマ
シン142はメッセージかデータをバス104へ発信す
るときに使用される。ソースとはマイクロプロセッサー
からGPIB104に接続の装置へデータを送り出すと
いうことである。
【0017】アクセプターハンドシェイクステートマシ
ン144は、GPIB104上の装置からマルチライン
メッセージを読みとる(即ち、受信する)時、使用され
る。トーカーステートマシン146はGPIB上の装置
へのその装置固有のメッセージの転送を制御するために
使用される。リスナーステートマシン148はGPIB
上の装置からそれら装置固有のメッセージの受信を制御
するために使用される。サービスリクエストステートマ
シン150は活動状態にあるバスコントローラーからの
処理を依頼するためにIEEE488バス上のSRQ信
号をアサートする。コントローラーステートマシン16
0はGPIB104上の装置へインターフェイスメッセ
ージ(たとえば、トリガー、クリアー、やアドレス指定
メッセージ)転送するためにいつソースハンドシェイク
ステートマシン142が使用されるかを決定している。
コントローラーステートマシン160はまたGPIB上
の装置による処理リクエストもまた取り扱う。
【0018】図2に示されたステートマシンは、それぞ
れのステートマシンがその他のステートマシンよりの信
号を使用できるように、内部バスと信号ライン162に
より相互接続されている。T1の生成によるCDORへの重複書き込み 図5Aと図5Bに示されるように、IEEE488規格
に従い、マルチラインメッセージかコントローラーによ
り転送されるデータがIEEE488バス上で有効とな
る以前少なくとも350ナノセコンドのデータ整定時間
(T1)が必要となる。ある条件では、システムの構成
によっては、データ整定時間(T1)は500ナノセコ
ンドか2マイクロセコンドでなければならないというこ
とも考慮されねばならない。さらに、各々のメッセージ
の第一バイトは追加整定時間を必要とする。
【0019】IEEE488インターフェイスの以前の
実施例ではコントローラーの書き込みストローブのトレ
ーリングエッジにて、このデータ整定時間、即ち、T1
のカウントを開始していた。しかし、多くの条件下で
は、書き込みストローブのトレーリングエッジよりまえ
少なくとも150ナノセコンドの間はマイクロプロセッ
サーのデータバス上にてデータは有効である。したがっ
て、書き込みストローブの最後の150ナノセコンドへ
データ整定時間(T1)を重ねればデータ通信スピード
改善される。少なくともコントローラーバス上のデータ
が上記のごとく150ナノセコンドの間有効であるとわ
かっている条件下では。
【0020】本発明は、書き込みストローブのトレーリ
ングエッジより350nsの代わりに200nsだけカ
ウントするようにソースハンドシェイクに、セットされ
た場合は、指示するような200nsT1ビットをセッ
トする事による重ね合わせを利用している。透過ラッチ
でCDORレジスターを実施する事により、GPIB上
の必要なデータの設定(T1遅れ)にCDORの書き込
みを重ねることが可能となる。重ね合わせにより、GP
IB転送完了に要する時間は重ね合わせの幅だけ短くで
きる。これにより、GPIBを経由してのより高速な転
送速度が実現できる。コマンド/データ出力レジスターCDOR 図4に示すごとく、コマンド/データ出力レジスター
(CDOR)は、インターフェイスがGPIBトーカー
かアクティブコントローラーの時コンピューターからG
PIB104へデータを移すのに使用される8ビットの
書き込み専用のレジスターである。出力データは個別に
このレジスターによりラッチされDIR(データ入力レ
ジスター)よりの読み込みによっても破壊はされない。
バイトがCDORに書き込まれると、GPIBソースハ
ンドシェイク(SH)機能が起動され(即ち、ローカル
メッセージnba、new byte availableが真)、そのバ
イトはGPIBへ転送される。このレジスターはまた直
接記憶アクセス(DMA)コントローラーにより書き込
みができる。CDORは透過ラッチであり、従って、書
き込みサイクルの間マイクロプロセッサーのデータバス
上に何か変化があればそれはGPIBデータバスに反映
される。キーレジスター(KEYR) キーレジスターは書き込み専用のレジスターである。K
EYRのビットパターンは図4に示される。200ns
T1遅れビットがマイクロプロセッサーによりセットさ
れれば、インターフェイス100がGPIB104にた
いしデータを発信するために使用されるときは、インタ
ーフェイス100は非常に短いデータ整定時間(200
ナノセコンド)を生成する。 補助レジスターB(AUXRB) AUXRB内のTRIビットはインターフェイス回路の
ソースハンドシェイクのタイミングT1を決定する。T
RIは三状態GPIBドライバーが使用されていれば高
速データ転送速度(T1≧500ns)実現するために
マイクロプロセッサーによりセットされる。TRIがセ
ットされると初めのデータバイトが転送された後、ソー
スハンドシェイクのT1としての高速度タイミングが可
能にする。TRIをクリヤーすると低速度タイミング
(T1≧2マイクロセコンド)を可能とする。T1遅れ
は、AUXRIのVSTDビットをセットするかキーレ
ジター124の200nsT1ビットをセットする事に
より、さらに短くできる。補助レジスターI(AUXRI) AUXRIのVSTDビットをセットすると、ソースハ
ンドシェイク機能によるデータセットアップの為のT1
遅れの値が、ATNのアサート解除の後転送される二番
目とそれに続くデータバイトの為に、350nsに設定
される。もしこのビットがクリヤーされると、T1の値
はAUXRBのTRIビットにより決定される。ソースハンドシェイク(SH) ソースハンドシェイクステートマシンはIEEE48
8.1規格に示されている状態図とは異なっている。状
態SWNSとSIWSは除去されている。これら状態は
新バイトが使用可能(nba)というローカルメッセー
ジが偽転送した場合を記録していた。好ましい実施例に
おけるソースハンドシェイクの状態図を図6に示す。
【0021】ソースアイドルステート(SIDS):
SIDSではソースハンドシェイク機能は割り込み禁止
とされる。ソースハンドシェイク機能はSIDSでオン
となり、インターフェイス100がバイトをGPIB1
04へ発信してやる必要があるような状態(アクティブ
ステート状態(TACS)、直列ポートアクティブ状態
(SPAS)、かまたはコントローラーアクティブ状態
(CACS))にインターフェイス100があるとき、
ソースハンドシェイク機能はSIDSからSGNSへ移
る。ソースハンドシェイク機能は上記状態の何れもがア
クティブでないときはt2以内にSIDSに復帰する
(t2はIEEE488.1規格で説明定義されてい
る。) ソース生成状態(SGNS): SGNSではインター
フェイス100はGPIB104のDIOライン上でC
DORを駆動しているが、また、コマンドバイトかデー
タバイトかまたは新バイト使用可能(nba)メッセー
ジを出すより前に使用可能となるように直列ポート応答
を待って待機している。ソーストハンドシェイク機能は
ローカルメッセージnbaが真となった時、SGNSよ
りSDYS1へ移る。
【0022】ソース遅延状態1(SDYS1): SD
YS1ではソーストハンドシェイク機能は少なくともT
1の間はGPIB104のDIOライン上でCDORに
新バイトを駆動する。T1の時間が経過するとソースト
ハンドシェイク機能はSDYS1を出てSDYS2に移
る。 ソース遅延状態2(SDYS2): SDYS2ではD
IOラインは少なくともT1の間は有効なデータですで
に駆動されており、ソーストハンドシェイク機能はDA
V(データ有効)をアサートする前に全てのリスナーが
NRFD(データへの準備できていない)のアサート解
除するのを待っている。ソーストハンドシェイク機能は
NRFDをアサートするリスナーがまったくなくなると
直ちに、SDYS2を出てSTRSに移る。
【0023】ソース転送状態(STRS): STRS
ではソーストハンドシェイク機能はDAVをアサート
し、GPIB DIOライン上のデータが有効であるこ
とを示す。全てのリスナーがNDAC(データ読みとり
しない)のアサートの解除を一度おこなうと、ソースト
ハンドシェイク機能はSTRSを出てSGNSに復帰す
る。nbaが真のときは、ソーストハンドシェイク機能
はSGNSよりSDYS1へ移る。
【0024】ソーストハンドシェイク機能はT1遅延時
間により指定される時間だけSDYS1にとどまり、G
PIB DIOラインのCDORの内容を駆動する。T
1はTRI、VSTDと200nsT1ビットの値とH
STSにより決定される(図7と次の表を参照)。HS
TSはATNのアサート解除が転送された後の最初のデ
ータバイトの後に入力される。これにより、ATNが真
となるまでの次に続く全てのバイトのバス整定時間が短
くできる。インターフェイスがアクティブコントローラ
ーの時(即ち、ATNがアサートされている時)はHS
TSはいつも偽である。 200ns TRI VSTD 〜HSTS HSTS T1ビット コマンドと 続くデータ 第一データバイト バイトの のT1遅延 T1遅延 ──────────────────────────────────── 0 0 0 2.0usec 2.0usec 0 0 1 1.1usec 1.1usec 0 1 0 2.0usec 500ns 0 1 1 1.1usec 350ns 1 × × 同 上 200ns+重 ね合せの幅 上記の表での時間値は書き込みパルスのトレーリングエ
ッジより遅延である。従って、TRIとVSTDがセッ
トされ、200nsT1がクリヤーされると、まだ15
0nsの重ね合わせがあり、さらに書き込みパルスのト
レーリングエッジの後350nsの遅れがあり、これら
全て合計するとIEEE488規格で要求されている5
00nsのT1遅延を満足する。
【0025】図5Bに示すように、この計画案は五つの
予想T1トリガー信号を出力する多出力時間カウンター
180により実行できる。このカウンター180はソー
ストハンドシェイクステートマシン(図6参照)がSD
YS1状態にある時にのみイネーブルされる。簡単なマ
ルチプレクサー182により、HSTS、TRI、VS
TDと200nsT1信号の値に基づき、上記五つの信
号より最も適する信号を選択し、T1信号として出力す
るが、これはまたソーストハンドシェイクステートマシ
ンでSDYS1よりSDYS2に遷移するために使用さ
れる。
【0026】T1により指定された時間が経過すると、
SDYS2が入力される。GPIBハンドシェイクの同期検出 本発明はIEEE488インターフェイスによるマルチ
バイトメッセージ処理を改良する。具体的には、割り込
み信号を用いてバス上の全てのリスナーによりIEEE
488メッセージの最終バイトが読みとり完了したこと
をマイクロプロセッサーに通信する方法を本発明は提供
する。改良機能を駆動するためには、マイクロプロセッ
サーは図4に示されるレジスター130のSYNC I
E(同期割り込みイネーブル)ビットに1を書き込む。
SYNC IEビットがセットされ、SYNCステート
マシン(図2)がSYNC状態にはいると、割り込み信
号がマイクロプロセッサーの送られて、メッセージの終
わったことを示す。 SYNC機能 SYNC機能はIEEE488規格には定義されていな
い。それはインターフェイスの特別なSYNCビットを
制御し、GPIBが転送の終了に同期をとることを完了
したことを示す(最後のバイトが転送された後DAVが
アサート解除されたときにGPIBは同期が取れたとい
う)。SYNCビットは、GPIBハンドシェイクが完
了していれば、転送の完了時にセットされる。
【0027】SYNC機能は遷移の為のたいへん複雑な
項を持つ一つのステートマシンとして現実に実用化でき
るかもしれないが、その利用法は、DMA(直接記憶ア
クセス)読み込み、DMA読み込み、プログラムI/O
読み込み、プログラムI/O書き込みの為には、実質的
に異なるので、四つの状態図が図の中に含まれる。その
全ての場合につきSYNCビットはSYNC状態でのみ
セットされる。さらに、SYNCビットがセットされか
つマイクロプロセッサーが前もってSYNCIEビット
をセットしているときのみ、割り込みは(マイクロプロ
セッサーに指示するために)生成される。プログラムされたI/O書き込みSYNC機能 SYNCステートマシンのプログラムされたI/O書き
込みヴァージョンの状態図が図8に示される。SYNC
ステートマシンがこのモードとなるためにはインターフ
ェイス回路はTACS(トーカーアクティブステート)
かCACS(コントローラーアクティブステート)でな
ければならず、メッセージ発信のためにDMAを使用し
てはならない。
【0028】同期した状態(SYNC): SYNCで
は、インターフェイス100は現在のデータ転送と同期
し、GPIBは同期がとれていて、SYNCビットはセ
ットされている。もしSYNCビットがクリヤーされ
(クリヤーsyncパルスが発信される)ステートマシ
ンはSYNCを出てWCWSへ遷移する。マイクロプロ
セッサーのドライバーソフトウェアーはクリヤーsyn
cのコマンドを生成するが、そのコマンドは、CDOR
にたいしプログラムされたI/O転送の最終データバイ
トを書き込む前にSYNCビットをクリヤーするため、
インターフェイスへクリヤーsyncパルスを生成させ
る。
【0029】書き込みサイクル待ち状態(WCWS):
WCWSでは、クリヤーsyncパルスは真である
が、ステートマシンはクリヤーsyncパルスが偽とな
るのを待っている。クリヤーsyncパルスが偽となる
と直ちにステートマシンはWCWSからDVWSへ遷移
する。 データ有効待ち状態(DVWS): DVWSでは、ス
テートマシンはバイトが発信されるのを待っている。D
AV(データ有効)がアサートされているとき(最終バ
イトが発信されているとき)ステートマシンはDVWS
を出てWSNSへ入る。
【0030】同期待ち状態(WSNS): WSNSで
は、DAVは転送の最終バイトの為にアサートされてい
て、ステートマシンは、SYNCビットがセットされる
前に、DAVがアサート解除となるのを待っている。ス
テートマシンは、DAVが偽となるとSYNC状態に帰
る。DMA書き込みSYNC機能 DMA書き込み期間のSYNCステートマシンの状態図
を図9に示す。SYNCステートマシンがこのモードと
なるためにはインターフェイスはTACSかCACSで
なければならない。
【0031】同期した状態(SYNC): SYNCで
は、インターフェイス100は現在のデータ転送と同期
し、GPIBは同期がとれていて、SYNCビットはセ
ットされている。もし、クリヤーsyncのコマンド発
信されると、SYNCステートマシンはSYNCを出て
TCWSに入る。ドライバーソフトウェアは、DMA書
き込み操作を始める前にSYNCビットをクリヤーしな
ければならない。
【0032】ターミナルカウント待ち状態(TCW
S): TCWS状態では、SYNCステートマシン
は、TC(ターミナルカウント)がアサート(DMA転
送の最終バイトがCDORに書き込まれたとき)された
状態で、CDORへDMA書き込みアクセスがなされる
のを待っている。マイクロプロセッサーのDMAコント
ローラがCDORへ(TC信号により示されるように)
メッセージの最終バイト書き込んだ瞬間に、SYNCス
テートマシンはTCWSからDVWSへ入る。
【0033】データ有効待ち状態(DVWS): DV
WSでは、最終バイトはCDORに書き込まれていて、
SYNCステートマシンはバイトが発信されるのを待っ
ている。DAVがアサートされるとき(最終バイトが発
信されているとき)SYNCステートマシンはDVWS
からWSNSへ入る。 同期待ち状態(WSNS): WSNSでは、DAVは
アサートされて、SYNCステートマシンは、SYNC
ビットがセットされる前に、DAVがアサート解除され
るのを待っている。DAVが偽となると、SYNCステ
ートマシンはSYNC状態に帰る。
【0034】DMA書き込み操作中に、SYNC機能が
有効となるためには、CDORの最終バイトの書き込み
サイクルの間、DMAコントローラーはTC信号をアサ
ートできなければならない。プログラムされたI/O読み込みSYNC機能 プログラムされたI/O読み込みの期間のSYNCステ
ートマシンの状態図を図10に示す。SYNCステート
マシンがこのモードとなるためには、インターフェイス
はLACS(リスナーアクティブステート)でなければ
ならない。
【0035】同期した状態(SYNC): SYNCで
は、インターフェイス100は現在のデータ転送と同期
し、GPIBは同期がとれていて、SYNCビットはセ
ットされている。DAVがアサートされると、SYNC
ステートマシンはSYNCを出てWSNSへ遷移する。 同期待ち状態(WSNS): WSNSでは、DAVが
アサートされる。DAVのアサートが解除されると、S
YNCステートマシンはSYNCへかえる。プログラム
されたI/O読み込み時、DAVが偽のときSYNCビ
ットはセットされ、DAVが真のとき、SYNCビット
はクリヤーされる。
【0036】プログラムされたI/O読み込み時には、
SYNCビットは各バイトごとに切り替わり、したがっ
て、SYNCビットは、DIRから転送の最終バイトの
読み込みが終わってしまうまでは、ポールされたり、割
り込みのためイネーブルされたりしてはならない。プロ
グラムされたI/O読み込み時には、クリヤーsync
のコマンドは発信されてはならない。DMA読み込みSYNC機能 DMA読み込み時のSYNCステートマシンの状態図を
図11に示す。SYNCステートマシンがこのモードと
なるためにはインターフェイスはLACSになければな
らない。
【0037】同期した状態(SYNC): SYNCで
は、インターフェイス100は現在のデータ転送と同期
し、GPIBは同期がとれていて、SYNCビットはセ
ットされている。もしSYNCビットがクリヤーされ
(クリヤーsyncパルスが発信される)ステートマシ
ンはSYNCを出てWCWSへ遷移する。ドライバーソ
フトウェアーはDMA転送を開始する前にSYNCビッ
トへクリヤーしなければならない。
【0038】書き込みサイクル待ち状態(WCWS):
WCWSでは、クリヤーsyncパルスは真である
が、ステートマシンはクリヤーsyncパルスが偽とな
るのを待っている。クリヤーsyncパルスが偽となる
と直ちにステートマシンはWCWSからWSNSへ遷移
する。 同期待ち状態(WSNS): WSNSでは、クリヤー
syncパルスが受信されて、DAVがアサートされ
る。DAVのアサートが解除されると、SYNCステー
トマシンはWSNSをぬけてSYNSへはいる。
【0039】同期状態(SYNS): SYNSでは、
GPIBは同期がとられる(DAVはアサートされてい
ない)。DAVがアサートされると、SYNCステート
マシンはSYNSを抜けでてWSNSにはいる。もし、
LBRSがアクティブなら(DMAコントローラーによ
りDMA転送の最終バイトが読みとられたことを意味す
る)、SYNCステートマシンはSYNSを抜け出てS
YNCへ帰る。
【0040】非最終バイト読み込み状態(〜LBR
S): LBRSでは、SYNCステートマシンは、D
MA転送の最終バイトをDMAコントローラーが読むの
を待っている。セットsyncコマンドが発信されたか
または、TC(ターミナルカウンタ)が真のときDIR
が(DMAコントローラー)DACKアクセスにより読
み込まれたときに、SYNCステートマシンは〜LBR
Sを抜けでてLBRSに入る。
【0041】最終バイト読み込み状態(LBRS):
LBRSでは、DMA転送の最終バイトはDIRから読
み込まれているか、セットsyncコマンドが発信され
ているかである。マイクロプロセッサーがクリヤーsy
ncコマンドを発信したとき、SYNCステートマシン
はLBRSを抜けでて〜LBRSに帰る。 SYNC機能が動作し始めると、それはバイトごとに、
WSNSとSYNSを交互に切り替わる。SYNSでは
LBRSが真なら、SYNC機能はSYNCに移る。D
IR(データ入力レジスター)からの最終バイトを読み
とっている間ターミナルカウントまで行くとこの動作は
自動的に行われる。しかし、そうならなければ(即ち、
タイムアウトか早期終了が検出されたら)、LBRSは
セットsyncコマンドを発信する事によりセットさ
れ、したがって、SYNCビットがセットされる(即
ち、GPIBは同期がとられる)。DMA転送でのハンドシェイクホールドオフと自動最終
バイト処理 IEEE Std488はローカルメッセージrfd
(データにたいする準備)、を定義しているが、これは
マイクロプロセッサーによりデータの各バイトが受信さ
れる前に、発信される。このrfdメッセージはバスの
NRFDライン上で転送される(図3参照)。ローカル
メッセージの発信はGPIBの信号ラインに、トーカー
が次のデータバイトをGPIBを上を転送するのを許容
するように影響を与える。最大のデータ転送速度を得る
ためこのローカルメッセージはインターフェイスがもう
1バイト受信準備できたときはいつでもデータ転送サイ
クルの間は自動的にアサートされる。
【0042】データ転送の最終バイトの後、しかし、マ
イクロプロセッサーはローカルrfdメッセージをイン
ヒビットして、トーカー装置がさらにバイトを送信しな
いようにしてやる必要がある。例えば、マイクロプロセ
ッサーで走っているアプリケーションソフトが装置より
100バイト読みとることを要求し、何かの理由でその
装置が100バイトよりも多くの送信すべきバイトを持
っているとすると、101番目のバイトの転送はアプリ
ケーションソフトが特にさらなるバイトを要求するまで
インヒビットされる。100バイトの受信が完了した瞬
間にはマイクロプロセッサーにとってはアプリケーショ
ンがさらにバイトを必要としているか、不足している
か、またはアプリケーションが次のバス動作を意図して
いるのか解らないので、最も安全なコースは続くバイト
の到着をインヒビットする事である。続くバイトの到着
を阻止するために、先行技術を使用した装置は、次の
(即ち、最終の)のバイト受信された後、インターフェ
イスがrfdローカルメッセージを発信しないように効
果的に指示するため、転送の最終のすぐ前のバイトと最
終のバイトの間にソフトウェアの介入を必要としてい
た。このようなソフトウェアーはシステムの性能を劣化
させるだけでなく、インターフェイスを制御するドライ
バーソフトウェアを大幅に複雑化している。これによる
と、全ての入力データの転送は次の二つの部分に分割さ
れる必要がある。即ち、グループとして転送される、通
常DMAによる、初めのn−1のバイトとそれに続く1
バイトの第二の転送である。これら二つの転送の間、マ
イクロプロセッサーのソフトウェアはインターフェイス
に標準rfdメッセージを発信しないように指示する。
転送を分割する複雑さに加えて、二つに分解された部分
の間に発生しうる非同期のGPIB事象(例えば、EN
Dメッセージの入力)があり、これらは、様々な競合条
件を発生させてしまい、それらを避けるためには、先行
技術のみを使用するとすれば、非常に複雑なソフトウェ
アが必要となってしまう。
【0043】本発明は、全転送が始まらないうちに、最
終バイトrfdインヒビットコマンドを前もってプログ
ラムすることにより、ソフトウェアの介入の必要性を軽
減している。全転送はそれを分割する事無しに、実行で
き、インターフェイスはrfdをインヒビットするため
に最終バイトより前に自身をプログラムできる。この特
徴は処理能力を向上させ、先行技術を使用した装置では
必要とされていた以前のソフトウェア介入を無くするこ
とにより、ソフトウェアの複雑さを大幅に減じている。
【0044】書き込み操作(GPIB上の装置にデータ
が転送されること)にも同様な条件が存在する。最終バ
イトが送信される前に、IEEE488インターフェイ
スは、GPIBのEOIラインをアサートする事によ
り、最終バイトとともにENDメッセージを送信するよ
うにプログラムされなければならない。先行技術を使用
したインターフェイスでこのプログラムを実行しようと
すると、すでに述べたように、ソフトウェアの介在が必
要であったし、処理能力が低下とソフトウェアの複雑さ
がもたらされていた。本発明によると、最終バイトのプ
ログラムを前もって準備し、ソフトウェア介入無しに全
転送を実行させている。
【0045】マイクロプロセッサーの直接記憶アクセス
(DMA)コントローラーは、DMA転送の最終ワード
がバイトに達した時を決定するのに使用されるカウンタ
ーを含む。DMAコントローラーは、マイクロプロセッ
サーにより読みとられたり、書き込まれたりする最終ワ
ードがバイトの値にDMAコントローラーが達した時
に、アサートされるような信号、ここではTCと呼ばれ
る、を出力する。次に説明されるように、この本発明に
よるTC信号はデータがGPIBから読みとられている
ときハンドシェイクホールドオフをトリガーするために
使用され、データがGPIBに発信されているときは、
ENDメッセージの生成をトリガーするのに使用され
る。
【0046】ACCビットをセットするとGPIB D
MA転送で自動キャリーサイクルがイネーブルされる。
GPIB DMA読みとりの間、ACCビットがセット
されると、アクセプターハンドシェイク機能はDMAコ
ントローラーにより読みとられた最終バイト(即ち、読
みとり中、そこでTC信号が生成されたバイト)でRF
D(データ準備)ホールドオフを実行する。フィニィシ
ュハンドシェイク補助コマンドを発信するとホールドオ
フは解除される。 アクセプターハンドシェイク IEEE488インターフェイス100のアクセプター
ハンドシェイクの状態図は図12に示される。次の表は
アクセプターハンドシェイクの各状態の出力と動作を列
挙している。 状態 RFD DAC その他の動作 AIDS (T) (T) アクセプターハンドシェイクはアイドル ANRS F F RFDホールドオフ状態 ACRS (T) F データ受信可能状態 ADYS F F ATNが偽のとき −データをDIRへラッチ −DI(データ入力)ビットをセットし 適当なら、ENDビットもセットAT Nが真のとき −コマンドがデコードされ、適当な割り 込みがセットされる。
【0047】 −もしコマンドがDAC(データ受信) ホールドオフを必要とすれば、SDH Sがセットされる。 ACDS F F DACホールドオフ状態 AWNS F (T) DAVがアサート解除する(新しいサイ クルが始まる)のを待っている。
【0048】本発明によるアクセプターハンドシェイク
の実行方法はIEEE488.1規格に示されている状
態図とは異なっている。IEEE488.1のACDS
状態はADYSとACDSの二つの状態に分けられてい
る。ADYSはDAVがアサートされた後に入ることが
でき、かつまたデータがDIRにストローブされ、GP
IBコマンドの受信に付き動作できるような状態であ
る。アクセプターハンドシェイクにより生成される全割
り込み状態ビットはこの状態によりセットされる。AC
DS状態にはADYS状態に入って1クロックサイクル
(Tah2)後入り、装置がDAC(データ受信完了)
ホールドオフの間そこにとどまるようなホールド状態と
して使用される。ANRSはRFDホールドオフ状態で
ある。RFDホールドオフ状態を解除するためには、A
TNがアサートされるか、ローカルメッセージrdyが
クリヤーされなければならない。
【0049】ローカルメッセージrdyは次のように定
義される。rdy=〜ANHS1&〜ANHS2&〜r
ddir&〜dhdfアクセプターハンドシェイク機能
がACRSにあり、ATNが偽であれば、rhdfかh
ldiコマンドを発信するかまたはDIR(rddi
r)を読み込むかすればANRSに遷移する。この遷移
はIEEE488規格では許可されていない。従って、
ACRSにて、上記動作を実行しないようにする事は制
御プログラムの責任となる。
【0050】アクセプターステートマシンはアクセプタ
ーハンドシェイク機能を実行するためされた五つの状態
図を使用している。図13に示されるADHS状態図は
DACホールドオフを実行するのに使用される。ADH
Sは、その受信によりDACホールドオフ(状態図では
SDHSで表される)を実行する為にインターフェイス
が構成されるているようなコマンドを受信すれば、セッ
トされる。ATNがアサートされ、ADHSが真なら、
アクセプターハンドシェイクは、ADHSかATNが偽
となるまでACDSにとどまる。DACホールドオフは
ADHSをクリヤーする有効か非有効のコマンドを発信
することで解除できる。
【0051】四つの状態図(ANHS1&2、AEHS
とCCHDF)はRFDホールドオフを実行するために
構成される。ANHS1(図14に示される)は、AT
Nが偽のとき、ADYSでセットされる。ANHS1は
データバイトが受信済みであり、そしてRFDホールド
オフが次のデータバイトが送信されないようにするため
に生起するということを示している。いくつかの特別ホ
ールドオフの条件の一つがイネーブルされていなけれ
ば、データバイトがDIRから読みとられたときホール
ドオフは解除される。特別なホールドオフ条件(状態図
ではホールドオフで表されている)は全ホールドオフ
(hlda)モード、連続(cont)モード、継続
(hlde)モード、とAEHSセット、AEHS2や
CCHDFを含む。もし特別なホールトドオフ条件の一
つがセットされるとハンドシェイクホールドオフ解除
(rfdf)補助コマンドがRFDホールドオフを解除
するために発信されなければならない。ここで、 ホールドオフ=hlda+cont+hlde & A
EHS+CCHDF 図15に示されるANHS2の状態図はハンドシェイク
を即時にホールドオフにするため使用される。ANHS
2は即時ホールドオフ(hldi)補助コマンドを発信
してセットされ、ハンドシェイクホールドオフ解除(r
hdf)コマンドを発信することによってクリヤーされ
る。ANHS2はpon(パワーオンリセット)によっ
てクリヤーされず、従って、ponがセットされてい
て、インターフェイス回路が構成されている間、制御プ
ログラムは即時ホールドオフ(hldi)コマンドを発
信する事ができる。
【0052】AEHS状態図(図16)はEND条件の
受信を記録するために実施され、RFDホールドオフが
後で実行されるようになる、AEHSはEND条件を受
信する(即ち、メッセージの最終バイトが受信されると
き)とすぐにセットされ、ハンドシェイクホールドオフ
解除(rhdf)コマンドが発信されると、クリヤーさ
れる。
【0053】キャリーサイクルホールドオフ状態図(図
17)は、TCがアサートされて、DIR(rddi
r)のDMA読み込みが発生するとそれを記録するため
に、実施され、もし自動キャリーサイクルビット(AC
C)がセットされるとRFDホールドオフが実行される
ようになっている。ACCビットがクリヤーされるかA
NHS1が偽のとき、CCHDFはクリヤーされる。 EOI生成機能 EOI生成状態図は図18に示される。EOI状態図
は、データバイトを発信する間インターフェイスにより
EOIのアサートを制御するために使用される。もしイ
ンターフェイスがTACS(トーカーアクティブステー
ト)の状態にある時、転送EOI補助コマンド(seo
i)が発信され、続いて、CDOR(wrcdor)の
書き込みが行われると、EOI生成ステートマシンはE
RASに入り、GPIB EOIラインをアサートす
る。ソーストハンドシェイクがSDYS1+SDYS2
に入ると、この機能は即時にENASに入る。ERAS
かENASかのどちらかと、SDYSかSTRSかのど
ちらかにいるときは、EOIはアサートされたままであ
る。もしEOIを次のバイトと共に送信したければ、こ
の機能ERASへ帰す為にCDORが書き込まれないう
ちにseoiは発信されなければならない。CDOR
(wrcdor)に対する次の書き込みはこの機能をE
NISに遷移させる。
【0054】補助コマンドnbaf(偽可用新バイト)
やローカルメッセージponは常にEOI生成機能をク
リヤーし、アイドル状態のENISに強制的に遷移させ
る。自動キャリーサイクル特性がイネーブル(ACC=
1)されると、TACSにて、TC信号がアサートされ
た状態でCDOR(wrcdor)が書き込まれると
き、EOI生成機能はENISからENRSへまたはE
NASからERASへ遷移する。このことはCDORへ
書き込まれたGPIBデータを送信する一方、EOIを
アサートさせる。 代替実施例 本発明は具体的な実施例の幾つかを参照しながら説明し
たが、説明は例証であって、発明の限界と解釈されては
ならない。請求項で定義されている発明の精神と範囲を
はずれないでその分野の専門家が思い付くは様々な改良
が有り得る。
【0055】
【発明の効果】IEEE488インターフェイスはマイ
クロプロセッサーをIEEE488バスに接続された一
つかそれ以上の装置へ結合する。書き込みパルスのトレ
ーリングエッジより以前のあるあらかじめ定義された期
間だけマイクロプロセッサーのバスのデータが有効であ
ることが既知の場合、メッセージ転送速度はバス整定時
間T1の一部分をマイクロプロセッサーの書き込みパル
スに重ね合わせることにより、改善できる。ハンドシェ
イク同期の改善は入力メッセージの最終バイトの受信が
完了した事をマイクロプロセッサーへ連絡する割り込み
信号を生成する事になりなされる。マイクロプロセッサ
ーのDMAコントローラーにより生成されるターミナル
カウント信号はマイクロプロセッサーにより送信される
多重バイトメッセージの終端を検出するために使用され
る。IEEE488バスデータライン上でメッセージの
最終バイトがアサートされた時、インターフェイスは自
動的にIEEE488バスにEOI信号を生成する。こ
れは、先行技術を用いたインターフェイスで使用されて
いるプロトコールに比し、マイクロプロセッサーによる
多重バイトメッセージの転送を大幅に簡略化する。DM
Aコントローラのターミナルカウント信号はまたIEE
E488バス上の装置によってマイクロプロセッサーへ
送られるデータの損失が起きないようにする為に使用さ
れている。これら損失の代表的なものは第一の装置より
長いメッセージを受信している途中にマイクロプロセッ
サーが他の装置を処理しなければならなくなったときに
発生する。このデータ損失は、メッセージ転送の区切り
点、即ち、DMAターミナルカウント信号がアクティブ
になった時を検出し、第一の装置がデータ有効とアサー
トしないようにホールドオフする事により防止されてい
る。
【図面の簡単な説明】
【図1】IEEE488インターフェイスにより一つ以
上の装置に接続されたコントローラーのブロックダイヤ
グラムである。
【図2】本発明によるコントローラーインターフェイス
主要構成部分のブロックダイヤグラムである。
【図3】IEEE488バスの信号ラインを示す。
【図4】本発明によるインターフェイスでのマイクロプ
ロセッサーポートのレジスターの幾つかを示す。
【図5】(a)はIEEE488バスにマイクロプロセ
ッサーにより転送されるデータをアサートするためのタ
イムチャート、(b)はデータのアサートを行う回路の
ブロックダイヤグラムを示す。
【図6】ソーストハンドシェイク動作の状態図を示す。
【図7】TRIビット、VSTDビット、や200ns
のT1と共にIEEE488バス上のデータセットアッ
プ時間を決定している高速T1状態図(HSTS)を示
す。
【図8】インターフェイスがプログラムされた入出力
(I/O)書き込みモードにあるときのGPIB同期ス
テートマシンの状態表現である。
【図9】インターフェイスが直接記憶(DMA)アクセ
ス書き込みモードにあるときのGPIB同期ステートマ
シンの状態表現である。
【図10】インターフェイスがプログラムI/O読み出
しモードにあるときのGPIB同期ステートマシンの状
態表現である。
【図11】インターフェイスがDMA読み込みモードの
時のGPIB同期ステートマシンの状態表現である。
【図12】アクセプターハンドシェイク動作の状態図を
示す。このアクセプターハンドシェイクの状態はまた図
13から図17に示されるステートマシンによっても実
行される。
【図13】ADHS信号(アクセプターDACホールド
オフ状態)の値を決定する状態図を示す。
【図14】ANHS1信号(アクセプターNRFDホー
ルドオフ状態1)の値を決定する状態図を示す。
【図15】ADHS2信号(アクセプターNRFDホー
ルドオフ状態2)の値を決定する状態図を示す。
【図16】AEHS信号(アクセプター終了ホールドオ
フ状態)の値を決定する状態図を示す。
【図17】CCHDF信号(キャリーサイクルホールド
オフ機能)の値を決定する状態図を示す。このステート
マシンはターミナルカウントでの読み込みサイクルの期
間で最終バイト処理機能を実行する。
【図18】GPIBバスのEOI信号(END−OR−
ENDTIFY)を発生する状態図を示す。
フロントページの続き (72)発明者 ブライアン ケイ オドム アメリカ合衆国 テキサス州 78752 オ ースティン カメロン 378−7610 (72)発明者 ウィリアム シー ノーリン ジュニア アメリカ合衆国 テキサス州 78759 オ ースティン ヴァケーロ トレイル 10101

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 データをマイクロプロセッサへ送信また
    は該マイクロプロセッサーより受信するマイクロプロセ
    ッサーポートで、マイクロプロセッサーデータバスライ
    ンと該マイクロプロセッサーより書き込みパルスを受信
    するための書き込みラインとを含み、上記書き込みパル
    スの各々はあらかじめ定義された時間幅とトレーリング
    エッジを持つような上記マイクロプロセッサーポート
    と;データラインをデータ有効(DAV)ラインを含む
    ようなIEEE488バスと;該IEEE488バス上
    で該マイクロプロセッサーポートにより受信されたデー
    タをアサートするため、該マイクロプロセッサーポート
    と該IEEE488バスへ結合されたトーカー回路手段
    及び;該トーカー回路手段が該IEEE488バス上で
    あらかじめ定義された整定期間だけアサートした後該I
    EEE488バスの該DAVライン上の信号をアサート
    するために、該トーカー回路手段と該IEEE488バ
    スへ結合されたソースハンドシェイク手段で、上記書き
    込みパルスの各々のトレーリングエッジよりあらかじめ
    定義された時間だけ前から該整定期間を開始する重ね合
    わせ手段をも含み該ソースハンドシェイク手段より構成
    されていて、マイクロプロセッサーとIEEE488バ
    スを結合しているバスインターフェイスで該書き込みパ
    ルスの部分とあらかじめ定義された該整定期間を重ね合
    わせることにより該マイクロプロセッサーのデータ転送
    速度を改善していることを特徴とするインターフェイ
    ス。
  2. 【請求項2】 該重ね合わせを行わせる為の重ね合わせ
    イネーブルスイッチを含む該インターフェイスにて、該
    重ね合わせイネーブルスイッチがイネーブルされていな
    いとき該書き込みパルスの各々のトレーリングエッジに
    てあらかじめ定義された該整定期間を開始させる該トー
    カー回路を有することを特徴とする請求項1に記載のイ
    ンターフェイス。
  3. 【請求項3】 多重データでの最後のデータの転送時に
    ターミナルカウント(TC)を生成する直接記憶アクセ
    スコントローラーを持つマイクロプロセッサーへデータ
    の送信また該マイクロプロセッサーよりのデータの受信
    をするマイクロプロセッサーポートで、マイクロプロセ
    ッサーデータバスラインと該直接記憶アクセスコントロ
    ーラーよりのTC信号を受信するためのターミナルカウ
    ントラインとを含む該マイクロプロセッサーポートと;
    データラインと終了/識別(EOI)ラインを含むIE
    EE488バスと;該IEEE488バスへ該マイクロ
    プロセッサーポートにより受信されたデータをアサート
    (発信)するために、該マイクロプロセッサーポートと
    該IEEE488バスに結合されたトーカー回路手段
    と;該直接記憶アクセスコントローラーから該マイクロ
    プロセッサーポートがTC信号を受信したときと、該ト
    ーカー回路が該IEEE488バスでデータをアサート
    したとき、該IEEE488バスの該EOIライン上で
    END信号をアサートするために、該トーカー回路手段
    と該IEEE488バスとに結合されたソースハンドシ
    ェイク手段よりなり、直接記憶アクセスコントローラー
    を持つマイクロプロセッサーとIEEE488バスを結
    合するインターフェイスで、該IEEE488バスへ該
    インターフェイスにより発信された各データ転送の最終
    バイトとともにEND信号が自動的に送信さることを特
    徴とする該インターフェイス。
  4. 【請求項4】 データをマイクロプロセッサへ送信また
    は該マイクロプロセッサーより受信するマイクロプロセ
    ッサーポートで、割り込み信号ポートを持ち、該マイク
    ロプロセッサーの割り込み信号ポートに割り込み信号を
    送信するために少なくともう一つのラインを持っている
    ような該マイクロプロセッサーポートと;データライン
    と終了/識別(EOI)ラインとデータ受け入れ不可
    (NRFD)ラインよりなるIEEE488バスと;該
    IEEE488バスより該マイクロプロセッサーへ該マ
    イクロプロセッサーポート経由でデータ発信する為に、
    該マイクロプロセッサーポートと該IEEE488バス
    とに結合されたリスナー回路手段及び;該リスナー回路
    手段がデータを該マイクロプロセッサーポート経由で該
    マイクロプロセッサーへデータを送信している間、該I
    EEE488バスの該EOIラインでEND信号がいつ
    アサートされるかを検出するためと、また、該マイクロ
    プロセッサーポート経由で該マイクロプロセッサーの割
    り込み信号ポートに割り込み信号を送信するために、該
    リスナー回路手段と該IEEE488バスとに結合され
    ているアクセプターハンドシェイク手段により構成さ
    れ、直接記憶アクセスコントローラーを持つマイクロプ
    ロセッサーとIEEE488バスを結合して、該インタ
    ーフェイスにより該IEEE488バスから該マイクロ
    プロセッサーへデータ転送の最終バイトが送信されたこ
    とを割り込み信号によって該マイクロプロセッサーが自
    動的に連絡を受けるようになっていることを特徴とする
    該インターフェイス。
  5. 【請求項5】 該アクセプターハンドシェイク手段が該
    マイクロプロセッサーへ割り込み信号が送れるように同
    期割り込みイネーブルスイッチを含むような該インター
    フェイスで、かかるアクセプターハンドシェイク手段は
    該同期割り込みイネーブルスイッチがイネーブルされて
    いないと該マイクロプロセッサーへはデータ転送の終わ
    りに割り込み信号を送らないことを特徴とする請求項4
    記載のインターフェイス。
  6. 【請求項6】 多重データでの最後のデータの転送時に
    ターミナルカウント(TC)を生成する直接記憶アクセ
    スコントローラーを持つマイクロプロセッサーへデータ
    の送信また該マイクロプロセッサーよりのデータの受信
    をするマイクロプロセッサーポートで、マイクロプロセ
    ッサーデータバスラインと該直接記憶アクセスコントロ
    ーラーよりのTC信号を受信するためのターミナルカウ
    ントラインとを含む該マイクロプロセッサーポートと;
    データラインと終了/識別(EOI)ラインとデータ受
    け入れ不可(NRFD)ラインよりなるIEEE488
    バスと;該IEEE488バスより該マイクロプロセッ
    サーへ該マイクロプロセッサーポート経由でデータ発信
    する為に、該マイクロプロセッサーポートと該IEEE
    488バスとに結合されたリスナー回路手段及び;該リ
    スナー回路がデータを該IEEE488バスから該マイ
    クロプロセッサーへマイクロプロセッサーポート経由で
    データを送信している間、該直接記憶アクセスコントロ
    ーラーから該マイクロプロセッサーポートがTC信号を
    受信したとき、IEEE488バスのNRFDライン上
    でホールドオフ信号をアサートするために、該リスナー
    回路手段と該IEEE488バスとに結合されるアクセ
    プターハンドシェイク手段より構成され、直接記憶アク
    セスコントローラーを持つマイクロプロセッサーとIE
    EE488バスを結合して、該IEEE488バスから
    該マイクロプロセッサーへの多重DMAデータの転送に
    際しその最終データが送信されると、該アクセプターハ
    ンドシェイク手段は自動的にデータホールドオフを実行
    することを特徴とするインターフェイス。
JP16259991A 1990-07-03 1991-07-03 Ieee488インターフェイスとメッセージ処理法 Expired - Lifetime JP3377798B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/548,293 US5287528A (en) 1990-07-03 1990-07-03 IEEE 488 interface for message handling method
US548293 1990-07-03

Publications (2)

Publication Number Publication Date
JPH05181790A true JPH05181790A (ja) 1993-07-23
JP3377798B2 JP3377798B2 (ja) 2003-02-17

Family

ID=24188208

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16259991A Expired - Lifetime JP3377798B2 (ja) 1990-07-03 1991-07-03 Ieee488インターフェイスとメッセージ処理法

Country Status (4)

Country Link
US (2) US5287528A (ja)
EP (2) EP0465221B1 (ja)
JP (1) JP3377798B2 (ja)
DE (2) DE69132786T2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994027233A1 (en) * 1993-05-10 1994-11-24 Taligent, Inc. Audio synchronization system
JP3608804B2 (ja) * 1993-05-14 2005-01-12 株式会社ソニー・コンピュータエンタテインメント バス制御装置
US5572525A (en) * 1995-05-31 1996-11-05 National Instruments Corporation GPIB extender with find listener protocol capabilities
US5649129A (en) * 1995-06-07 1997-07-15 National Instruments Corporation GPIB system including controller and analyzer
US5649123A (en) * 1995-06-07 1997-07-15 National Instruments Corporation GPIB system with improved parallel poll response detection
US6256660B1 (en) * 1997-04-08 2001-07-03 International Business Machines Corporation Method and program product for allowing application programs to avoid unnecessary packet arrival interrupts
US6167480A (en) * 1997-06-25 2000-12-26 Advanced Micro Devices, Inc. Information packet reception indicator for reducing the utilization of a host system processor unit
US10820949B2 (en) 1999-04-07 2020-11-03 Intuitive Surgical Operations, Inc. Medical robotic system with dynamically adjustable slave manipulator characteristics
US6594552B1 (en) * 1999-04-07 2003-07-15 Intuitive Surgical, Inc. Grip strength with tactile feedback for robotic surgery
US6831926B1 (en) 2000-10-27 2004-12-14 The Boeing Company Legacy signals databus adapter/coupler
US6567966B2 (en) * 2001-02-14 2003-05-20 Agilent Technologies, Inc. Interweaved integrated circuit interconnects
US7594026B1 (en) * 2001-04-25 2009-09-22 Zarlink Semiconductor (U.S.) Inc. Method and apparatus for multi-phy communication without an ATM bus master
US6898723B2 (en) * 2002-04-01 2005-05-24 Mitac International Corp. Method for verifying clock signal frequency of computer sound interface that involves checking whether count value of counter is within tolerable count range
US7005846B2 (en) * 2002-07-17 2006-02-28 Agilent Technologies, Inc. System and method for application control in measurement devices
EP2341445B1 (en) * 2009-12-30 2017-09-06 Intel Deutschland GmbH Method for high speed data transfer
EP2434404B1 (en) * 2010-09-27 2017-08-23 Intel Deutschland GmbH Method and arrangement for streaming data profiling
US11030903B2 (en) * 2018-05-30 2021-06-08 Ford Global Technologies, Llc Vehicle-to-infrastructure communication

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4319338A (en) * 1979-12-12 1982-03-09 Allen-Bradley Company Industrial communications network with mastership determined by need
US4402055A (en) * 1981-01-27 1983-08-30 Westinghouse Electric Corp. Automatic test system utilizing interchangeable test devices
US4396995A (en) * 1981-02-25 1983-08-02 Ncr Corporation Adapter for interfacing between two buses
US4534011A (en) * 1982-02-02 1985-08-06 International Business Machines Corporation Peripheral attachment interface for I/O controller having cycle steal and off-line modes
US4523310A (en) * 1983-01-28 1985-06-11 Gould Computer Systems Inc. Synchronous communications multiplexer
US4680788A (en) * 1983-08-31 1987-07-14 Data General Corporation Microprocessor based control and switching device
US4727370A (en) * 1985-12-17 1988-02-23 Ampex Corporation Method and system for synchronous handshake generation
US4982325A (en) * 1988-03-18 1991-01-01 At&T Bell Laboratories Applications processor module for interfacing to a database system

Also Published As

Publication number Publication date
DE69128985D1 (de) 1998-04-09
US5572684A (en) 1996-11-05
EP0465221A2 (en) 1992-01-08
JP3377798B2 (ja) 2003-02-17
EP0465221B1 (en) 1998-03-04
DE69132786D1 (de) 2001-11-29
EP0805400B1 (en) 2001-10-24
EP0805400A1 (en) 1997-11-05
DE69128985T2 (de) 1998-09-10
US5287528A (en) 1994-02-15
DE69132786T2 (de) 2002-05-08
EP0465221A3 (en) 1993-02-24

Similar Documents

Publication Publication Date Title
JP3377798B2 (ja) Ieee488インターフェイスとメッセージ処理法
JP3604398B2 (ja) 並列パケット化されたモジュール期調停高速制御およびデータバス
US7039734B2 (en) System and method of mastering a serial bus
US5812875A (en) Apparatus using a state device and a latching circuit to generate an acknowledgement signal in close proximity to the request signal for enhancing input/output controller operations
US5479395A (en) Serial bus system
US4984190A (en) Serial data transfer system
US4999769A (en) System with plural clocks for bidirectional information exchange between DMA controller and I/O devices via DMA bus
JPH10510646A (ja) 周辺装置接続バスでのバースト同報通信
JPH02227765A (ja) デジタル・コンピユータのデータ転送装置
JPH02227766A (ja) デジタル・コンピユータのデータ転送装置
JPH0612905B2 (ja) 通信インターフェイス
US5315706A (en) High speed IEEE 488 bus interface system and method
CA2336385A1 (en) Improved inter-device serial bus protocol
US5694586A (en) Controller using time-domain filter connected to a signal line to control a time at which signal line is sampled for receipt of information transfer signal
US5812878A (en) System for DMA transfer wherein controller waits before execution of next instruction until a counter counts down from a value loaded by said controller
JP2762506B2 (ja) 回線制御装置
US20020099890A1 (en) Apparatus and method for processing interruptions in a data transmission over a bus
US5553300A (en) Semiconductor microscope data interface for computer
JP2581041B2 (ja) デ−タ処理装置
JPH0646736B2 (ja) 通信障害検出方式
JPS6113845A (ja) 通信制御装置
JPH077954B2 (ja) 制御装置
JPH05344106A (ja) 半二重ベースバンド伝送方式
JPS63187943A (ja) 通信制御装置
JPS61131155A (ja) Gpib制御回路

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071206

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081206

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091206

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101206

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111206

Year of fee payment: 9

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111206

Year of fee payment: 9