JPH02171948A - プログラマブル出力ポート - Google Patents

プログラマブル出力ポート

Info

Publication number
JPH02171948A
JPH02171948A JP28467389A JP28467389A JPH02171948A JP H02171948 A JPH02171948 A JP H02171948A JP 28467389 A JP28467389 A JP 28467389A JP 28467389 A JP28467389 A JP 28467389A JP H02171948 A JPH02171948 A JP H02171948A
Authority
JP
Japan
Prior art keywords
data
output
computer
signal
state machine
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.)
Pending
Application number
JP28467389A
Other languages
English (en)
Inventor
Kenneth K Hillen
ケニース・ケー・ヒレン
Christopher D Shaver
クリストファー・ディー・シェイバー
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.)
Tektronix Inc
Original Assignee
Tektronix Inc
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 Tektronix Inc filed Critical Tektronix Inc
Publication of JPH02171948A publication Critical patent/JPH02171948A/ja
Pending 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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、コンピュータの出力ポート、特に、種々の異
なるインタフェース仕様を有する複数の出力装置とコン
ピュータとの間のインタフェースを選択的に構築し得る
プログラマブル出力ポートに関する。
[従来技術及び発明が解決しようとする課題]コンピュ
ータは、一般に、プリンタの如き出力装置(又は外部装
置)との間でコンピュータのバスに接続されたポートを
介してデータの送受信を行う。コンピュータがポートの
特定のバス・アドレスにデータを送ると、ポートは、出
力装置に送信するのに好適なデータに変換し、この変換
されたデータが出力装置に送信される。ポートは、ステ
ータス・データ、警報データ又は他のデータを出力装置
からコンピュータに送る際に、普通は、人力データをレ
ジスタに記憶し、コンピュータに割り込みかけ、コンピ
ュータは、バスを介してデ−タを記憶したレジスタから
データを読み出す。
種々の入出力データ形式、外部バス構造及び通信プロト
コルを含むコンピュータと通信する為に、外部装置には
、広範囲の種々のインタフェースが必要である。特定の
出力装置とコンピュータ間のインタフェースを作るには
、ポートには、入力データを出力装置及びコンピュータ
に都合の良い形式に変換する適切な論理手段が必要であ
り、出力装置及びコンピュータの外部バスの為の適切な
入出力端子も必要であり、更に、これらのバスに好適な
通信プロトコルを設ける為の適切な内部論理手段も必要
になる。コンピュータ・システムが類似したインタフェ
ース仕様の多数の出力装置と通信する際に、手動スイッ
チ又はコンビコータが操作可能なスイッチを用いて、こ
れらの出力装置の1つと1つのポートを選択的に接続し
ても良い。
しかし、コンビコータが、異なるインタフェース仕様の
多数の出力装置を駆動しようとする際には、各出力装置
用に別々にポートを設けなければならなくなる。多数の
異なるポートを設けることは、費用も嵩む上に広いスペ
ースも必要になる。
従って、本発明の目的は、種々の異なるインタフェース
仕様を有する多数の出力装置とコンピュータが容易に通
信し得るようにするプログラマブル出力ポートを提供す
ることである。
[課題を解決する為の手段及び作用] 本発明のプログラマブル出力ポートは、異なるインタフ
ェース仕様を採用している多数の出力装置の何れに対し
ても、コンビコータとの間のインタフェースを選択的に
再構築することを可能にしている。選択された1つの出
力装置と通信する前に、コンピュータは、ポートを構築
するプログラミング・データを送り、選択された出力装
置に対する正しいインタフェースを設け、この選択され
た出力装置とコンピュータのポートの入出力端子間を適
切に接続する。その後、コンビ二一夕は、このポートを
介して選択された出力装置との通信を行う。
本発明によれば、プログラマブル出力ポートに設けられ
たプログラマブル・ゲート・アレイにより、この出力ポ
ートに必要な通信(ハンドシェーキング)、データ経路
指定(ルーチング)及びデータ変換等の論理動作が実行
される。プログラミング・データのプログラムに従って
、ゲート・アレイは、選択された出力装置の仕様に適合
するように動作する。
この結果、種々の異なるインタフェース仕様を必要とす
る出力装置に対して、柔軟に対応可能なプログラマブル
出力ポートを提供している。
[実施例コ 第1図は、本発明に係るプログラマブル出力ポートの好
適実施例の構成を示すブロック図である。
この出カポ−)(10)は、コンビコータ(12)と多
数の出力装置(図示せず)との間を選択的に接続するこ
とが出来る。出力装置は、例えば、プリンタであり、コ
ンビコータから入力データ又はコマンドを受け、それら
コマンドに応じてステータス・データ、警報データ又は
他のデータ等をコンピュータに転送する。これら出力装
置は、コンビコータとのデータの送受信の際に異なるイ
ンタフェース仕様を必要とするかも知れない。例えば、
外部バス構造の違い、入出力データ形式の違い、及び通
信プロトコルの違い等である。選択された1つの出力装
置と通信する前に、コンビコータ(12)は、バス(1
4)を介してプログラミング・データをポート (10
)に送る。このプログラミング・データにより、ポート
(10)は、選択された出力装置に対する正しいインタ
フェースを構築し、このボー)(10)の入出力端子と
選択された出力装置の人出力線とを適切に接続する。
ポート(10)を適切に設定した後、コンピュータ(1
2)は、ボー)(10)を介して選択された出力装置と
通信を行う。その後、他の出力装置と通信を行う前には
、その他の出力装置に好適なインタフェース仕様に適合
するようにポート(lO)を再構築する。
ボー)(10)に内蔵されたプログラマブル・ゲート・
アレイ (16)は、このポートに必要な通信、データ
経路指定及びデータ変換論理等の機能を有する。第1図
では、ゲート・アレイ (16)は、破線で囲まれた部
分の回路で実現されている。
ゲート・アレイ (16)は、好適には、XILINX
社の製造したXC2018型論理セル・アレイを含んで
いる。この論理セル・アレイに関しては、XILINX
社から1986年に出版されたプログラマブル・ゲート
・アレイ・デザイン・ハンドブックに詳細に記載されて
いる。この装置は、構築可能な100個の論理ブロック
のアレイと、構築可能な74個の入出力(Ilo)ブロ
ックのセットとを有している。各入出カブロックは、論
理ブロック・アレイと外部ピンとの間の人出力インタフ
ェースを選択的に設定するものである。各論理ブロック
は、組合わせ論理セクション、記憶素子並びに経路指定
及び制御セクションを有する。
組合わせ論理セクションは、4つまでのビット入力信号
をプログラムによって選択されたプール関数により処理
した出力を発生する。各論理ブロックの中の記憶素子は
、フリップ・フロップ、即ちラッチとして選択的に動作
し、この論理ブロックが発生又は受は取ったデータ・ビ
ットを遅延又は記憶することが出来る。各論理ブロック
内の経路指定及び制御セクションは、組合わせ論理セク
ション、記憶素子及び論理ブロックの入出力端子の相互
接続を調整することが出来る。ゲート・アレイ内のプロ
グラムにより変更可能な経路指定回路は、種々の入出力
回路及び論理回路の入出力端子を選択的に接続し、所望
の論理回路を構成する。
コンピュータ(12)は、一連のプログラミング・デー
タをゲート・アレイ (16)に送り、このゲート・ア
レイをプログラミングする。このプログラミング・デー
タは、入出力回路として動作する人出カブロックを指定
し、各論理ブロックにより実行されるプール関数を指定
し、論理ブロック間及び論理ブロック内のデータ経路を
指定し、更にゲート・アレイ (16)の他の構成も指
定する。コンピュータ(12)は、従来のバス・インタ
フェース回路く20)を介してゲート・アレイ(16)
のプログラミング入力端子(18)にプログラミング・
データ及び制御信号を供給する。
ゲート・アレイ (16)の外に、ボー)(10)は、
入力MUX (マルチプレクサ>(22)を含んでいる
。この入力MIX(22)は、複数の出力装置から選択
された1つの装置からの8本までの線をゲート・アレイ
 (16)の入力端子(24)に接続している。出力M
UX(26)は、ゲート・アレイ (16)の8本まで
の出力端子(28)を選択された1つの出力−装置の種
々の線に接続している。ポート(10)は、従来バス・
インタフェース回路(32)を介してバス(14)に接
続されたF■FO(ファースト・イン・ファースト・ア
ウト)バッファく30)も含んでいる。FIFOバッフ
ァ (30)は、コンビコータ (12)からのデータ
列を受は記憶する。FIFOバッファ(30)の出力端
子は、ゲート・アレイ (16)のデータ入力端子に接
続されている。ゲート・レイ (16)の出力端子(3
6)に発生した出力信号がFIFOバッファ(30)を
連続的に出力イネーブルすると、FIFOバッファ(3
0)は、記憶しているデータ列の各要素をゲート・アレ
イ(16)の入力端子(34)に連続的に供給する。
上述のように、選択された1つの出力装置と通信を開始
する以前に、コンピュータ(12)は、ゲート・アレイ
 (16)のプログラミング入力端子(18)に構築デ
ータ(即ち、プログラミング・データ)を転送する。こ
の構築データは、コンピュータ(12)がバス(14)
を介して通信したり、MUX(22)及び(26)を介
して出力装置と通信したりする等、種々の動作を実行出
来るように、ゲート・アレイ (16)の論理回路を構
築する。この構築データは、MUX(22)及び(26
)のスイッチング制御入力端に接続されたゲート・アレ
イ (16)の出力端(40)及び(42)の論理レベ
ルも適切に設定する。この設定ニヨリ、コレら(7)M
UX (22)及び(26)は、選択された出力装置の
入出力線を論理アレイ(16)の入出力端(24)及び
(28)に接続する。
ゲート・アレイ (16)によって実現された具法的な
論理回路の構成は、各選択された出力装置に要求される
インタフェースの仕様に依存している。しかし、第1図
において、ゲート・アレイ(16)を表す破線の内部の
ブロック図に示した論理回路の機能編成は、個々のブロ
ックが適切に構築された場合に多くの形式の出力装置に
適合し得る。第1図に示しているように、ゲート・アレ
イ (16)によって実現される代表的な論理回路は、
入力端(34)及び出力端(28)間に接続されたデー
タ処理回路(38)を含んでいる。このデータ処理回路
(38)は、コンピュータ(12)からFIFOバッフ
ァ(30)を介してデータを受け、このデータを外部装
置(即ち出力装置)に転送出来るような形式に変換し、
このデータを出力MUX(26)を介して選択された外
部装置に供給する。ステート・マシン(46)が回路(
38)の種々の動作モードを選択及び制御する信号を発
生する。
コンピュータ(12)は、アドレス可能な制御レジスタ
群(48)のアドレスに従ってバス(14)上のコマン
ドや他のデータを制御レジスタ群(48)に書き込むこ
とも出来る。ゲート・アレイ(16)で構成されたデコ
ーダ(52)は、アドレスをデコードして制御レジスタ
群(48)の適当な1つの制御レジスタの入力をイネー
ブルする。この1つの制御レジスタの内容は、データ処
理回路(38)に追加入力する信号をとなる。
1つの動作モードにおいて、データ処理回路(38)は
、この制御レジスタ群(48ンの1つに記憶されたコマ
ンドを出力MUX(26)を介して出力し得る。制御レ
ジスタ群(48)の1以上のレジスタ内のデータにより
、ステート・マシン(46)の動作が制御される。
ステート・マシン(46)は、ポート(10)と出力装
置間で通信が行われる際に、通信(ハンドシェーキング
)信号を送受信する。ステート・マシン(46)は、入
力MUX (22>を介して出力装置からのハンドラ1
−キング信号を受け、出力MUX(26)を介してハン
ドシェーキング信号を出力装置に送信する。ステート・
マシン(46ンは、出力端子(36)に、FIFOバッ
ファ(30)を出力イネーブルする信号も発生し、制御
レジスタ群(48)の内容を読み出した後にこれら種々
の制御レジスタ (48)をリセット(即ちクリア)す
る信号を発生し得る。出力回路(50)は、入力MUX
(22)を介して出力装置から送られたデータを記憶す
る。ステート・マシン(46)の1つ以上の出力信号に
応じて割込回路(54)は、割り込み信号INTをコン
ピュータ(12)に供給する。コンビコータ(12)は
、この割込信号に迭じて、割込回路(54)に記憶され
ているアクセス・データを読み出し、その割込の出所を
判断し、例えば、出力回路(50)のデータを読み出す
等の適切な処理を実行する。
ボー)(10)は、その時点で接続されている出力!4
置のインタフェース仕様に応じていくつかの動作モード
で作動する。例えば、データ転送モードでは、コンピュ
ータ(12)は、一連のデータをFIFOバッファ(3
0)に送り、ポート(10)は、このFIFOバッファ
(30)の中のデータを出力MUX(26)を介して選
択された出力装置に供給する。コンピュータ(12)は
、最初に、FIFOバフファ(30)に記憶させるデー
タ列を送り、その後、制御レジスタ群(48)を介して
ステート・マシン(46)に制御データを送り、ステー
ト・マシン(46)をデータ転送モードに設定する。そ
の後、ステート・マシン(46)は、FIFOバッファ
(30)を、順次出力イネーブルし、このバッファ内の
一連の各ワードをデータ処理回路(38)に送る。ステ
ート・マシン(46)は、データ処理回路(38)に適
当な制御信号を入力し、FIFOバッファ(30)から
読み出したデータ・ワードを出力装置に転送するのに好
適な形式に変換させ、この変換された各データ・ワード
が出力MUX(26)を介して出力装置に転送される。
ステート・マシン(46)は、ステート・マシン(46
)は、出力装置から入力MUX(22)を介して供給さ
れるハンドシェーキング信号も監視し、適当なハンドシ
ェーキング信号を出力MUX(26)を介して出力装置
に送信し、出力装置へのデータ転送を制御する。
FIFOバッファ (30)に記憶されたデータ列の各
ワードは、そのワードがデータ列の最後のワードである
か否かを示すビットを含んでいる。
ボー)(10)が、FIFOバッファ(30)のデータ
列の各ワードを読み出すと、各ワードのデータ列の最後
か否かを示すビットがステート・マシン(46)に人力
される。FIFOバッファ(30)から出力装置にデー
タを転送する処理は、ステート・マシン(46) カF
 I FOバッファ(30)の最後のワードを示すビッ
トを検出するまで継続する。この最後のデータ・ワード
を指示するビットを検出した時点で、ステート・マシン
〈46)の制御により割込回路(54〉は、コンピュー
タ (12)に割込を行う。その後、コンビμ−タ(1
2)は、割込回路(54)の中のデータを読み出し、割
込の内容を判断し、そして、例えば、FIFOバッファ
(30)に別のデータ列を送る等の適当な処理を実行す
る。
ポート (10)は、コンピュータ(12)が出力装置
にコマンドを送るコマンド・モードでも動作し得る。例
えば、コマンドは、出力装置を特定の動作モードに設定
したり、又は出力装置に内部設定や警報のステータスを
示すデータを送り返させたりする。コンピュータ (1
2)は、制御レジスタ群(48)の1つのレジスタにこ
のコマンドを記憶させ、制御レジスタ群(48)の別の
レジスタに適当なコマンド・モードを示すデータを設定
する。これに応じて、ステート・マシン(46)は、デ
ータ処理回路(38)に制御信号を送り、データ処理回
路(38)は、レジスタ群(48)からそのコマンドを
読み出し、このコマンドを出力装置に送信するのに適し
た形式に変換し、この変換済みのコマンドを出力MUX
(26)を介して出力装置に送信する。
コマンドにより、出力装置の現在の内部設定又は警報の
ステータスを示すデータを送り返すように出力装置に命
令し得る。そのような場合、ステート・マシン(46)
の制御により、出力回路(50)は、ステータス・デー
タを記憶し、ぞの後、割込回路(54)を介してコンビ
二−タ(12)に割込をかける。この割込に応じて、コ
ンピュータ(12)は、割込回路(54)からその割込
の内容を示すデータを読み出し、その後、出力回路(5
0)からステータス・データを読み出す。
第2図は、第1図の割込回路(54)の構成の一例を更
に詳細に示すブロック図である。第1図のコンピュータ
(12)は、バス(14)を介してマスク・レジスタ 
(62)にマスク・データ・ワードを書込む。マスク・
レジスタ(62〉の各ビットは、セパレート型のDフリ
ップ・フロップ(60)のD入力端を夫々制御する。コ
ンピュータ (12)は、バス(14)の1ライン上に
あるクリア・ビットを設定し、クリア・ラッチ(64)
を介してフリップ・フロップ(60)のクリア入力端を
設定してフリップ・フロップ(60)をクリアする。ラ
ッチ(64)及びレジスタ(62)は、バス(14)上
の特定のアドレスに応じて、第1図のアドレス・デコー
ダ(52)により選択的にイネーブル状態に設定される
。フリップ・フロップ(60)の各Q出力は、割込信号
INTを発生するオア・ゲー)(66)の入力を別々に
駆動する。トライステート・バッファ (68)は、バ
ス(14)上の特定のアドレスに応じて第1図のアドレ
ス・デコーダ(52)からの信号によりイネーブルされ
ると、バス(14)の別々のラインに接続されたフリッ
プ・フロップ(60)のQ出力をラッチする。
マスク・レジスタ (62)のマスク・データの各ビッ
トは、ステート・マシン〈46)の対応する制御出力ビ
ットが割込を開始すると、論理「1」に設定される。ス
テート・マシン(46)は、制御出力信号を発生し、1
つのフリップ・フロップ(60)にクロック信号を供給
し、このフリップ・フロップは、D入力がマスク・レジ
スタ(62)のビット信号により論理「1」になってい
れば、Q出力をセットする。このフリップ・フロップの
Q出力は、オア・ゲート(66)を介して割込信号IN
Tを「l」に駆動する。コンピュータ(12)は、トラ
イステート・バッファ(68)の出力を読み出し、この
出力の論理「1」の特定のビットから、コンピュータ(
12)は、ステート・マシン(46)のどの信号出力が
割込信号を生じさせたかを判断する。これにより、コン
ピュータ(12)は、この割込の目的を判断し、それに
適合した動作を実行する。
ボー)(10)の種々の動作モードにおいて、コンピュ
ータ(12)は、ある種の割込動作を実行したくない場
合もある。コンピュータ(12)は、マスク・レジスタ
(62)のビットを論理「0」に設定することにより、
ステート・マシン(46)からの特定の制御出力により
割込が生じないようにすることが出来る。
第1図のゲート・アレイ (16)により実現されてい
る特定の内部構造及び種々のブロックの動作は、選択さ
れている出力装置のインタフェース仕様によって決まる
が、特定の出力装置に対するゲート・アレイ (16)
の詳細な構成の一例は、本発明を理解する上で大きな意
義がある。その一例として、第3図は、コンピュータ(
12)と出力装置(外部装置)(TO)との間のインタ
フェースとなるボー)(10)の詳細なブロック図を示
している。装N(TO)は、例えば、プリンタの如き外
部出力装置であり、ステート・マシン(72)及び双方
向型の直列・並列/並列・直列シフト・レジスタ(74
)を含み、更に、入力データに応じてプリンタの動作を
制御し、コンピュータ (12)からのコマンドに応じ
てプリンタのステータス信号を発生するその他の回路網
(76)も含んでいる。
ある動作モードでは、シフト・レジスタ (74)は、
ボー)(10)からの8ビツトの直列形式のコマンドC
MDを受け、このコマンドを並列データ・ワードに変換
し、これを回路網(76)に供給する。このコマンドは
、例えば、出力装置(70)の内部設定又は警報の現在
のステータスを指示する8ビツトのステータス・ワード
5TATを回路wi(76)に出力させる。他の動作モ
ードでは、シフト・レジスタ(74)は、回路網(7G
)からの8ビツトの並列ステータス・ワード5TATを
記憶し、その後、このワードを直列形式でポート(10
)に供給する。ステート・マシン(72)は、シフト・
レジスタ(74)を通過し、回路(76)に人出力する
信号の動きを制御する信号を発生する。ステート・マシ
ン(72)は、更に、2つのハンドシェーキング出力信
号■BSYO及びVCLKをポート(10)に転送し、
ボー)(10)から2つのハンドシェーキング入力信号
ID5TAO及びSCKを受ける。
この例では、第1図のデータ処理回路(38)は、2つ
のシフト・レジスタ(78) 及び(79)で構成され
ている。シフト・レジスタ(78)は、FIFOバッフ
ァ(30)から並列データ・ワードDATAを受け、こ
のデータを出力MUX(26)を介して直列形式で出力
装置(70)に送る。ある動作モードでは、シフト・レ
ジスタ(79)は、制御レジスタ(48)からコマンド
CMDを読み出し、そのコマンドを出力M U X(2
6)を介して出力装置(70)に直列形式で送る。また
別の動作モードでは、シフト・レジスタ(79)は、入
力MUX(22)を介して出力装置(70)から8ビッ
ト直列ステータス・ワード5TATを受け、記憶する。
本実施例では、第1図の出力回路(50)は、デコーダ
(52)からの信号に応じて、シフト・レジスタ (7
9)内の並列ステータス・ワード5TATをバス(14
)のデータ・ライン上にラッチするラッチ(51)で構
成されている。
第4図及び第5図は、第3図のステート・マシン(46
)のデータ転送及びコマンド/ステータス動作モードの
例を夫々示す状態図である。第4図は、FIFOバッフ
ァ(30)から出力装置(70)にポート(10)が一
連のデータを送信する際のデータ送信動作モードを示し
ている。第3図及び第4図を参照すると、コンピュータ
(12)は、バス(14)及びバス・インタフェース回
路(32)を介してF I FOバッファ(30)にデ
ータ列を送信している。コンピュータ(12)は、その
後、制御レジスタ(48)に制御データを記憶させる。
この制御データの1ビットDMODEの状態により、ス
テート・マシン(46)は、データ送信モードか、又は
コマンド/ステータス・モードかの何れであるかを判断
する。制御レジスタ(48)内の別のビットRDYは、
ステート・マシン(46)に現在のモードで動作を開始
するように命令する。
第3図及び第4図において、ステート・マシン(46)
は、DMODE信号が最初に真になったときに状態S1
0に入る。状態SIOで、ステート・マシン(46)は
、RD  FIFO信号を発生してFIF○バッファ(
30)を出力イネーブルし、バッファ (30)は、記
憶したデータ・ワードがあれば、そのワードをシフト・
レジスタ(78)に送る。このRD  FIFO信号は
、更にシフト・レジスタ(78)を入力イネーブル状態
にし、FIFOバッファ (30)からのデータ・ワー
ドを記憶させる。出力装置(70)のステート・マシン
(72)は、回路網(76)が次のDATAビットを受
ける準備が出来ると、ハンドシェーキング信号VCLK
を発生する。このVCLK信号は入力MUX (22)
を介してステート・マシン(46)に送られ、ステート
・マシン(46)は、このVCLK信号をシフト・レジ
スタ、(78)の制御端子へ送る。ステート・マシン(
72)がVCLK信号を発生するときは常に、シフト・
レジスタ (78)は、記憶しているDATAワードを
次のビットヘシフトさせ、この出力ビットを出力MUX
(26)を介して回路網(76)に送る。ステート・マ
シン(46)は、RDYビット又はVCLK信号が偽(
論理「0」)である限り、状態SlOに留まっている。
尚、第4図及び第5図において、信号の名称の前の符号
「/」は、その信号が偽、即ち論理「0」であることを
示している。従って、例えば、r / RD Y Jは
RDY信号が偽であることを意味し、rRDYJは、R
DY信号が真であることを意味する。また、「+」は論
理和を、「*」は論理積を表している。
ステート・マシン(46)は、RDY及びVCLKの両
信号が共に真であることを検出すると、状態Sllに入
り、VCLK信号が再度発生する(真になる)まで待機
する。次にVCLK信号が6回続けて真になると、ステ
ート・マシン(46)は、一連の5つの状B512〜S
17まで進む。
状!SITに達すると、シフト・レジスタ (78)に
記憶された8ビツトのデータ・ワードの中の全部で7ビ
ツトが出力装置(70)に転送される。
VCLK信号が次に真になると、シフト・レジスタ(7
8)の最後のビットが出力装置(70)に転送される。
コンビコータ(12)は、FIFOバフファ(30)の
最後のデータ・ワードに付随しているrMARKJビッ
トを真に設定し、データ列の最後の印を付ける。このM
ARKビットはステート・マシン(46)に供給される
。ステート・マシ7(46)l;!、F IFOバーz
7y (30)のMARK信号の真状態を検出していな
いときには、状態517から状態SlOに戻る。状態S
10では、RD  FIFO信号が再度真となり、FI
FOバッファ(30)から別のデータ・ワードがシフト
・レジスタ (78)に転送される。RDYビットは、
真のままなので、ステート・マシン(46)は、シフト
・レジスタ(78)が次の・ワードの最初の7ビツトを
シフト出力するにつれて、状態SIOから状態S17ま
でのサイクルを再度進行する。
状態S17のときに、ステート・マシン(46)がMA
RKビットの真を検出すると、次のVCLK信号に応じ
てステート・マシン(46)は、状!/aS18に入る
。状=stgで、ステート・マシン(46)は、RDY
  CLR信号を出力し、制御レジスタ(48)内のR
DYビットを偽に設定する。また、状!!JAS l 
8で、ステート・マシン(46)は、MARK  IN
T信号を割込回路(54)に送信する。この信号により
、割込回路(54)は、割込信号INTをコンピュータ
(12)に供給する。コンピュータ(12)は、割込回
路(54)からのデータを読み込むが、このデータは、
MARK  INT信号が割込の原因であることを示し
ている。これにより、ポート(10)がFIFOバッフ
ァ(30)に記憶されたデータ列を出力装置(70)に
転送完了したことがコンピュータ(12)に伝達される
。状B518の後で、ステート・マシン(46)は、状
態S10に戻る。この時点でRDY信号は偽となってい
る。ステート・マシン(46)は、コンピュータ(12
)がFIFOバッファ(30)のデータを更に転送させ
、RDY信号を再び真に設定するまで、状態S10に留
まっている。
第5図は、第3図のポー) (10)のコマンド及びス
テータス動作モードの動作を示す状態図である。コンピ
ュータ(12)は、ポート (10)を介して出力装置
(70)にコマンドを送り、それに応じて出力装置(7
0)は、ポー) (10)を介してステータス・データ
をコンピュータ(12)に返す。第3図及び第5図にお
いて、コンピュータ(12)は、最初に、コマンドを含
むデータ・ワードCMDをポート(lO)の制御レジス
タ(48)の中に記憶する。コンピュータ(12)は、
その後、制御レジスタ(48)のDMODEピットを偽
に設定して、ステート・マシン(46)にコマンド及び
ステータス動作モードで動作するように命令する。その
後、コンピュータ(12)は、制御レジスタ(48)の
RDYビットを真に設定する。
ステート・マシン(46)は、DMODEビットが最初
に偽になったときに状態S20に入る。
状as20では、ステート・マシン(46)は、ID5
TAO信号を真に設定し、CMDデータ・ワードが出力
ポート (10)からシフト・レジスタ(74)に送ら
れることを出力装置(70)のステート・マシン(72
)に伝達する。I DSTAO信号は、シフト・レジス
タ(79)内をシフトするデータの方向も制御する。I
D5TAO信号が真になると、シフト・レジスタ(79
)がイネーブルされ、このシフト・レジスタ(79)は
、制御レジスタ(48)からのCMDデータ・ワードを
記憶する。状態S20で、ステート・マシン(46)は
、2つの計数値TC及びCOをリセットするのに内部で
使用されるCNTRCLR信号も発生するが、これに関
しては後述する。
ステート・マシン(46)が制御レジスタ(48)内の
RDYビットが真であることを検出すると、ステート・
マシン(46)は、状B521に切換わり、SCK信号
及びLSC信号を発生する。このLSC信号は、シフト
・レジスタ(79)からのCMDワード・データの第1
ビツトをシフトする。このCMDデータ・ワードの第1
ビツトは、出力MUX(26)を通過して出力装置(7
0)のシフト・レジスタ(74)に送られる。ステート
・マシン(46)のSCK信号出力は、出力MUX(2
6>を介してステート・マシン(72)に送られ、これ
により、ステート・マシン(72)は、CMDデータ・
ワードをシフトする制御信号をシフト・レジスタ(74
)に送る。次の8クロツク・サイクル期間中に、ステー
ト・マシン(46)は、内部計数値TCを0から8まで
インクリメントする。このTC計数値が8に達すると、
TCビットが偽に設定される。TCビットが真である限
り、ステート・マシン(46)は、状t!S21に留ま
っており、SCK信号及びLSC信号を8回再出力し、
シフト・レジスタ(79)からのCMDデータ・ワード
の8ビツトを順次シフトさせ、シフト・レジスタ (7
4)に送る。
このTCビットが偽になると、ステート・マシン(46
)は、状態S22に入る。ステート・マシン(46)は
、この状態S22に留まっている間は、別の計数値をイ
ンクリメントし、システム・クロックの各サイクル期間
中にSCK信号を出力する。この計数値が2になると、
ステート・マシン(46)は、COビットを真に設定す
る。このCOビットが真になると、ステート・マシンく
46)は状態S23に入る。従って、状態S22では、
ステート・マシン(46)は、2つの追加scK信号パ
ルスをステート・マシン(72)に送ることになる。ス
テート・マシン(46)は、その後、状!323に入る
と、CNTRCLR信号を出力してTC計数値及びCO
計数値をリセットする。
ステート・マシン(46)が状態s22の時ニステート
・マシン(72)に送られた2つのSCK (ff 号
ハルスにより、ステート・マシン(72)は、IBSY
O信号を偽に設定すると共に、CMDワードをシフト・
レジスタ(74)から回路網(76)に転送する。回路
網(76)は、このコマンドに応じて、5TATUSワ
ードをシフト・レジスタ (74)に人力する。ステー
ト・マシン(72)は、シフト・レジスタ (74)に
このST A T U Sワードを記憶し、その後、I
BSYO信号を再度出力し、これにより、ステート・マ
シン(46)は、状態S24に遷移する。ステート・マ
シン(46)は、状B524に入ると、ID5TAO信
号を偽に設定し、5TATデータ・ワードのビットをシ
フト・レジスタ(79)に転送開始することをステート
・マシン(72)に伝える。この偽に設定されたID5
TAO信号は、シフト・レジスタ(79)にも5TAT
データ・ワードのビットのシフトを開始するように命令
する。
ステート・マシン(46)は、計数値COが2に達する
まで、状態S 24に留まり、各クロック・サイクル毎
にSCK信号を再出力し、計数値COをインクリメント
する。その後、ステート・マシン(46)は、状態S2
5に入り、計数値TCが8に達するまで、各システム・
クロックのサイクル期間毎に、数値TCをインクリメン
トし、SCK信号及びLSC信号を再出力する。SCK
信号の各パルス毎に、ステート・マシン(72)は、5
TATデータのビットをシフトしてシフト・レジスタ(
74)から出力させ、LSC信号の各パルス毎に、この
5TAT信号がシフトしてシフト・レジスタ(79)に
入力する。計数値TCが8に達すると、TCビットは偽
に設定され、ステート・マシン(46〉は状態S26に
移る。この状態S26では、ステート・マシン(46)
は、STΔT  INT信号及びRDY  CLR信号
を出力し、それにより、制御レジスタ(48)内のRD
Yビットを偽に設定する。その後、ステート・マシン(
46)は、状!?l520に再度入り、RDYビットの
状態が再び真に設定され、コンピュータ(12)が出力
装置(70)に別のコマンドを転送しようとしているこ
とが示されるのを待つ。
状態S26で出力された5TAT  INT信号により
、割込回路(54)は、コンピュータ(12)に割込信
号INTを送る。この割込に応じて、コンピュータ(1
2)は、割込回路(54)からの割込データを読み込み
、この割込が5TAT  INT信号に基づいているか
否かを判断する。
そう判断すると、コンピュータ (12)は、シフト・
レジスタ(79)の5TATデータ・ワードを読み込み
、デコーダ(52)を介してラッチ(51)をイネーブ
ルし、それにより、シフト・レジスタ (79)に記憶
された8ビツトの5TATデータ・ワードをバス(14
)上に出力する。
以上で、コマンド及びステータス動作モードが完了する
第6図は、第1図の出カポ−)(10)によってインタ
フェースされるN個の出力装置群を監視する為に、コン
ビ二−タ(12)がバックグラウンド処理として実行す
るアイドル(遊び)ルーチンの流れ図である。第1図及
び第6図を参照して以下説明する。ステップ(80)で
、コンピュータ(12)は、第1の出力装置(装置1)
と通信するようにポー)(10)を構築する為に、適当
なプログラミング・データをゲート・アレイ(16)の
プログラミング端子(18)に送る。
その後、コンピュータ(12)は、ステップ(82)で
装置1のステータス(状態)をチエツクする為に、ポー
) (10)を介してコマンドを装置lに送り、ポート
(10)からの割込信号を待ち、割込回路(54)から
の割込信号の種類を判断し、出力回路(50)から戻さ
れたステータス・データを読み込む。その後、コンピュ
ータ(12)は、ステータス(84)で、第2の出力装
置(装置2)と通信するようにポート(10)を構築し
、上述のステップ(80)及び(82)と同様に、ステ
ップ(86)で装置2のステータスをチエツクする。こ
の過程がコンピュータ(12)により継続的に実行され
、一連の出力装置の各々と順に通信出来るようにポー)
 (10)は順次1築され、その度毎に各出力装置のス
テータスがチエツクされる。ステップ(88)において
、コンピュータ(12)が出力装置Nと通信できるよう
にボー)(10)を構築した後、ステップ(90)で、
コンピュータ(12)は、装置Nのステータスをチエツ
クする。かくて、以上の過程を繰返す為、ステータス(
80)に処理は戻る。
コンビ二−タ(12)は、第6図に示したアイドル・ル
ーチンと同時に、1以上の他の処理も実行し得る。これ
らの処理を実行することにより、第1図のボー)(10
)を介して選択された出力装置にデータを転送すること
が出来る。コンピュータ(12)により実行される処理
が出力装置にデータを]送しようとする場合、第6図の
アイドル・ルーチンの処理は、次の「ステータス・チエ
ツク」の完了後に割込により中断され、コンピュータ(
12)は、アイドル・ルーチンを再開する前にその割込
ルーチンを実行する。第7図は、出力データ要求に応じ
てコンビ二−タ(12)が実行する割込ルーチンの処理
を示す流れ図である。
この処理に関して、第1図及び第7図を参照して説明す
る。コンピュータ(12)は、ステップ(92)で、選
択された出力装置と通信するようにボー)(10)を構
築する為に、適当なプログラミング・データをゲート・
アレイ (16)のプログラミング端子に送る。その後
、ステップ(94)で、出力装置に転送するデータをF
IFOバッファ(30)に書込み、更に、ステップ(9
6)で、制御レジスタ(48)に適当な制御データを書
込み、ステート・マシン(46)にFIFOバッフγ(
30)から出力装置へデータを転送するように命令する
。ステップ(98)で、コンピュータ(12)は、ボー
)(10)がデータの転送を完了したことを示す割込信
号I N Tを検出するまで待機する。その後、ステッ
プ(100)で、出力回路(50)からの割込データを
読み込んで割込要求の出所を確認する。ステップ(10
2>にて、割込信号INTがデータ転送の完了以外の何
らかの理由に起因するものであると判断されるとくノー
ならば)、コンピュータ(12〉は、ステップ(104
)で、適当な割込処理ルーチンをコールした後、第6図
のアイドル・ルーチンに戻る。ステップ(I O2)で
イエスと判断されると、処理は、直接アイドル・ルーチ
ンに戻る。
上述のように、再構築可能な出力ポートは、インタフェ
ース使用の異なる複数の出力装置の何れともコンピュー
タとのインタフェースを選択的に実現することが出来る
。上述の好適実施例ポートは、ポートの構築に必要なハ
ンドシェーキング、データ経路指定及びデータ変換論理
回路等を実現するプログラマブル・ゲート・アレイを含
んでいる。このポートを介して選択された出力装置と通
信をする以前に、コンビコータは、プログラミング・デ
ータをゲート・アレイに送り、ポートの機能を適切に構
築することが出来る。
以上本発明の好適実施例について説明したが、本発明は
ここに説明した実施例のみに限定されるものではなく、
本発明の要旨を逸脱することなく必要に応じて種々の変
形及び変更を実施し得ることは当業者には明らかである
[発明の効果] 本発明のプログラマブル出力ポートによれば、選択され
た出力装置のインタフェース仕様に適合するインタフェ
ースをコンビ二一夕からのプログラミング・データに応
じて自動的に構築し得るので、異なるインタフェース仕
様の複数の出力装置とコンピュータを1つの装置で完全
にインタフェースし得る。よって、本発明のプログラマ
ブル出力ポートは、極めて汎用性が高く、従来より遥か
に低コストで仕様の異なる複数の出力装置とコンビコー
タとの間のインタフェースを実現出来る。
【図面の簡単な説明】
第1図は、本発明のプログラマブル出力ポートの好適実
施例の構成を示すブロック図、第2図は、第1図の割込
回路の詳細な構成を示すブロック図、第3図は、出力ポ
ート及び出力装置の構成の一例を示すブロック図、第4
図及び第5図は、第3図のステート・マシン(46)の
動作例を示す状態図、第6図は、第1図の出力ポートに
よってインタフェースされる複数の出力装置群を監視す
る為に、コンピュータがバックグラウンド処理として実
行するアイドル・ルーチンの流れ図、第7図は、データ
出力要求に応じて第1図のコンビ二一夕が実行する割込
ルーチンの処理を示す流れ図である。 (14)は第1接続手段、(16)は構築手段(プログ
ラマブル・ゲート・アレイ)、(22)及び(26)は
第2接続手段である。 代 理 人 松 隈 秀 盛 /D M Of)E FIG、 6

Claims (1)

  1. 【特許請求の範囲】 異なるインタフェース仕様を有する複数の出力装置から
    選択された装置とコンピュータとの間をインタフェース
    するプログラマブル出力ポートであって、 上記コンピュータからのプログラミング・データに従っ
    て、上記選択された装置のインタフェース仕様に適合し
    た動作をするように、上記コンピュータ及び選択された
    出力装置間のインタフェースを構築する構築手段と、 該構築手段及び上記コンピュータ間に設けられ、上記コ
    ンピュータからの上記プログラミング・データ及び入力
    データを上記構築手段に送る第1接続手段と、 上記構築手段と上記複数の出力装置との間に設けられ、
    上記構築手段の出力データを上記選択された出力装置に
    送る第2接続手段とを具えることを特徴とするプログラ
    マブル出力ポート。
JP28467389A 1988-11-04 1989-10-31 プログラマブル出力ポート Pending JPH02171948A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US26747788A 1988-11-04 1988-11-04
US267,477 1988-11-04

Publications (1)

Publication Number Publication Date
JPH02171948A true JPH02171948A (ja) 1990-07-03

Family

ID=23018948

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28467389A Pending JPH02171948A (ja) 1988-11-04 1989-10-31 プログラマブル出力ポート

Country Status (2)

Country Link
EP (1) EP0367284A3 (ja)
JP (1) JPH02171948A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5999992A (en) * 1993-12-17 1999-12-07 International Business Machines System and method for controlling the direction of data flow between computing elements

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9108599D0 (en) * 1991-04-22 1991-06-05 Pilkington Micro Electronics Peripheral controller
JP2536984B2 (ja) * 1991-09-26 1996-09-25 インターナショナル・ビジネス・マシーンズ・コーポレイション 周辺装置の制御方法、フロッピ・ディスク装置の制御方法、周辺装置、フロッピ・ディスク装置、及び、デ―タ処理システム
US5386518A (en) * 1993-02-12 1995-01-31 Hughes Aircraft Company Reconfigurable computer interface and method
GB2323000B (en) * 1994-04-15 1998-11-04 Vlsi Technology Inc Serial interface circuit
US5710939A (en) * 1995-05-26 1998-01-20 National Semiconductor Corporation Bidirectional parallel data port having multiple data transfer rates, master, and slave operation modes, and selective data transfer termination

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8708031D0 (en) * 1987-04-03 1987-05-07 Roneo Alcatel Ltd Franking machine

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5999992A (en) * 1993-12-17 1999-12-07 International Business Machines System and method for controlling the direction of data flow between computing elements

Also Published As

Publication number Publication date
EP0367284A2 (en) 1990-05-09
EP0367284A3 (en) 1990-12-05

Similar Documents

Publication Publication Date Title
US4630045A (en) Controller for a cross-point switching matrix
EP0254981B1 (en) Diagnostic circuit
US5400345A (en) Communications system to boundary-scan logic interface
JPS629948B2 (ja)
JPH04218861A (ja) 多重クラスタ信号プロセッサ
JPS58134325A (ja) インタフエ−ス
US4688171A (en) Serial bus for master/slave computer system
US7013415B1 (en) IC with internal interface switch for testability
JP2000242573A (ja) I2cバスを含むグローバル・シリアル・バスに製造テスト・インタフェースを接続するための方法および装置
JPH0573697A (ja) マイクロコンピユータ
JPH0320851A (ja) データプロセッサ
US5109494A (en) Passive processor communications interface
JPH02171948A (ja) プログラマブル出力ポート
US6356111B1 (en) Crosspoint switch array with broadcast and implied disconnect operating modes
EP0417905B1 (en) System scan path architecture
US4771282A (en) Terminal for data transmission system
US7032061B2 (en) Multimaster bus system
KR970007762B1 (ko) 반도체 집적회로 장치
JP2575895B2 (ja) 集積回路の制御信号切換装置
JPS61114693A (ja) 電気機械的空間スイツチングネツトワーク用装置
EP0293616A2 (en) Dynamic switch with task allocation capability
JPS5847B2 (ja) ワン チツプニユウシユツリヨクセイギヨカイロオモツ ジヨウホウシヨリシステム
JPH04291861A (ja) 入出力増設機器
JPH02207321A (ja) 双方向fifoメモリ
JP2000076199A (ja) デバッグ端子を有するマルチプロセッサ装置