[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JPH0638613B2 - データのパケット化方法 - Google Patents

データのパケット化方法

Info

Publication number
JPH0638613B2
JPH0638613B2 JP20179088A JP20179088A JPH0638613B2 JP H0638613 B2 JPH0638613 B2 JP H0638613B2 JP 20179088 A JP20179088 A JP 20179088A JP 20179088 A JP20179088 A JP 20179088A JP H0638613 B2 JPH0638613 B2 JP H0638613B2
Authority
JP
Japan
Prior art keywords
box
peripheral
packet
host
channel
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.)
Expired - Lifetime
Application number
JP20179088A
Other languages
English (en)
Other versions
JPS6468160A (en
Inventor
エリック ニューマン ブルース
Original Assignee
ディジタル イクイプメント コーポレーション
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 ディジタル イクイプメント コーポレーション filed Critical ディジタル イクイプメント コーポレーション
Publication of JPS6468160A publication Critical patent/JPS6468160A/ja
Publication of JPH0638613B2 publication Critical patent/JPH0638613B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Selective Calling Equipment (AREA)

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、一般に、コンピュータシステムに係り、より
詳細には、種々の装置間で通信を行なうシステムにおい
てデータをパケット化する方法に係る。
従来の技術 大型のコンピュータシステム、特に、グラフイックディ
スプレイを備えたシステムにおいては、コンピュータシ
ステムに入力を供給するために複数の種々の形式の周辺
装置が設けられている。例えば、1つのシステムは、キ
ーボード、マウス、タブレット、ライトペン、ダイヤル
ボックス、スイッチボックス、等々を入力として有して
いる。複数のこのような周辺装置を有するシステムにお
いては、これら周辺装置の各々から入力を収集しそして
その種々の入力を単一のラインを経てコンピュータシス
テムへ再送信することのできる装置を有することが効果
的である。このような装置は、各個々の周辺装置に対し
てリピータとして働くという点でここでは周辺リピータ
ボックスと称する。
発明が解決しようとする課題 このようなシステムにおいては、周辺装置及びコンピュ
ータシステムと通信するために周辺ボックスのデータプ
ロトコルを設定することが必要である。これは、簡単
で、トラブルがなく且つ効率的であることが理想であ
る。
そこで本発明の目的は、簡単で、トラブルがなく且つ効
率的な周辺装置とコンピュータシステムとの間の通信の
ための周辺データボックスのデータプロトコルを設定す
ることである。
すなわち、本発明の目的は、このような通信を助成する
データのパケット化方法を提供することであり、特に、
周辺リピータが受け取るメッセージのバイトとバイトと
の間の時間が所定の時間を超えた場合に周辺装置からホ
スト装置へのメッセージの終了を周辺リピータを介して
感知する方法を提供することである。
本発明の別の目的は、ホストコンピュータシステムと周
辺装置との間の通信を周辺リピータを介して全般的に支
援する、データをパケット化する方法を提供することで
ある。
課題を解決するための手段 本発明の方法は、このような通信を助成するデータのパ
ケット化方法である。ここでは周辺リピータボックスの
設定について開示するが、この方法はデータ送信システ
ムに一般に適用できる。
本発明の周辺リピータボックス(PRボックス)は、と
りわけ、周辺装置をモニタの場所で付勢できるようにす
るために使用される。PRボックスは、通常のRS−2
32−C又はRS−423接続を用いて、多数の周辺チ
ャンネルから種々の周辺信号を収集し、これらは次いで
パケット化され、そしてRS−232−C信号を用い
て、ホスト装置、例えば、コンピュータ及び/又はグラ
フィックコントロールプロセッサへ送られる。ホスト装
置から周辺装置への送信も同様に処理され、即ち、ホス
ト装置からパケットを受け取り、データのパケットを分
解し、そしてチャンネルを通してデータを適当な周辺直
列ラインユニット(SLU)へ送るようにする。
本発明のグラフィックリピータボックスは、参考として
ここに取り上げる同日出願の「グラフィックワークステ
ーションのためのコンソールエミュレーション及び高性
能のグラフィックステーション(Console Emulation Fo
r A Graphics Workstation and High Performance Grap
hics Work-station)」と題する特許出願に開示された
形式のグラフィックシステムに用いるのに特に適してい
る。
PRボックスとホスト装置との間の通信は、エラーのな
い信頼性の高い送信を行なう新規なプロトコルで行なわ
れる。
PRボックスは、周辺装置から入ってくるメッセージ及
び周辺装置へ送り出されるメッセージをバッファするた
めの円形の待ち行列及びバッファを備えたシステムを使
用している。メッセージは、送信のためのパケットとし
て構成される。本発明の方法によれば、周辺装置からの
メッセージの完了はバイトをカウントすることによって
検出される。
あるいは又、受信したバイトとバイトとの間の時間が所
定の長さを越えた場合には、これを用いてメッセージの
終了を感知することができる。
PRボックスとシステムとの間の通信をアクティブな状
態に保つために、「活性状態保持(キープアライブ)」
タイマが使用される。これにより、所定の時間内に他の
通信が生じない場合に「キープアライブ」メッセージが
送られる。
ここに開示するPRボックスの実施例によってサポート
される周辺装置は、キーボード、マウス、タブレット及
びダイヤルボックスを含む。
更に、ここに示す実施例では、ボタンボックスチャンネ
ル、スペアキーボードチャンネル及び汎用スペアRS−
232−Cチャンネルを設けるように将来拡張するめに
3つの他のチャンネルが設けられる。
発明の効果 本発明の方法によれば、周辺リピータが受け取るメッセ
ージのバイトとバイトとの間の時間が所定の時間を超え
た場合に周辺装置からホスト装置へのメッセージの終了
を周辺リピータを介して感知することができる。
さらに、ホストコンピュータシステムと周辺装置との間
の通信を周辺リピータを介して全般的に支援することが
できる。
よって、本発明によれば、周辺装置とコンピュータシス
テムとの間の通信のための信頼性の高い周辺データボッ
クスのデータプロトコルを設定することができる。
実施例 第1図は、発明の周辺リピータボックスがシステムに組
み込まれたところを示すコンピュータシステムのブロッ
ク図である。ここに示すシステムはグラフィックシステ
ムである。然し乍ら、本発明は他のコンピュータシステ
ムにも適用できる。従って、モニタ11が示されてお
り、これは、RGB同軸ケーブル(coax)13から映像
入力を受け取る。この同軸ケーブルは、グラフィック計
算を行なうコンピュータ装置14に接続されている。図
示されたように、装置14には、グラフィックエンジン
即ちグラフィックプロセッサ15と、メインコンピュー
タ17、例えばVax 8250システムと、Micr
ovaxコンピュータのようなコントロールプロセッサ
として働くコンピュータ19とが含まれている。コンピ
ュータ17はコンピュータ19に対するホスト装置であ
りそしてコンピュータ19は以下に述べるPRボックス
21に対するホスト装置である。従って、以下、ホスト
装置という表現は、コンピュータ19を意味するものと
する。システムのこの部分の動作は、本発明と同日に出
願された「グラフィックワークステーションのためのコ
ンソールエミュレーション及び高性能のグラフィックス
テーション(Console Emulation For A Graphics Works
tation and High Performance Graphics Workstatio
n)」と題する特許出願に詳細に述べられている。周辺
リピータボックス21は、これに接続できる種々の周辺
装置と共に第1図に示されている。これら周辺装置に
は、キーボード23、マウス25、タブレット27、ノ
ブ29(即ち、ダイヤルボックス)、ボタン31、スペ
アのRS232チャンネル33及びスペアのキーボード
入力25が含まれる。
周辺リピータボックスは、マイクロプロセッサを内蔵し
たシステムであり、ここに示す実施例では、モニタの下
に配置される。これは、ホスト装置と周辺装置との間に
流れる情報を処理する役目を果たす。又、これは、始動
時にそれ自身の内部状態を自己チェックする自走サブシ
ステムである。このタスクが完了すると、それ自身を初
期化し、ホスト装置又は周辺装置からの動作情報を連続
的に走査する。
支援される全ての周辺装置に接続するために、4つの周
辺チャンネル(キーボード23、マウス25、タブレッ
ト27及びノブ29に対する)及び1つのコマンドチャ
ンネル(ホスト装置と通信するための)が設けられてい
る。更に、将来の拡張又は特殊な周辺装置、例えば、第
1図のスペアキーボード35、ボタンボックス31及び
スペア33のための3つのスペアチャンネルも設けられ
ている。
サブシステムは、第2図に示されたように最小のシステ
ムで構成される。従って、8031マイクロプロセッサ
CPU41が示されており、これには、通常そうである
ように、12MHzのクリスタル発振子を有するクロック
/リセットユニット43が組み合わされている。803
1CPUには通常のコントロールデコードブロック45
が接続されており、これはCPUをバス47に接続す
る。バス47は、CPUを、16KのRAM51及び8
KのROM53を含むメモリ49に接続する。8031
CPUは、オンチップROMを有しておらず、オンチッ
プRAMは有しているが充分なものではない。このた
め、8031CPUは、4つの使用可能な汎用ポートの
うちの3つをアドレス、データ及びコントロールに使用
する拡張バス形態で用いられる。これらポートは、ブロ
ック45を経てバス47に接続される。この拡張バス形
態に対して外部アドレス機能をイネーブルすることは、
EA(外部アクセス)ピンを(ジャンパにより)アース
することによって行なわれる。
下位のアドレスとデータは8031CPUでマルチプレ
クスされ、アドレスは、8031CPUから出力される
ALE(アドレスラッチイネーブル)信号によりストロ
ーブされる74LS373オクタルラッチでアドレス時
間中にラッチされる。
バス47は診断レジスタ55にも接続される。この診断
レジスタは、8個のLEDより成るディスプレイ57へ
出力を与える。又、バス47には、ファンクションレジ
スタ59も接続され、このレジスタは、以下で詳細に述
べる3色(トリカラー)LED61へ出力を与える。
又、第2図には直流電力モニタ63も示されており、こ
のモニタは、以下で述べるように過少又は過大電圧状態
を指示するために2色(バイカラー)LED64に出力
を与える。
又、バス47は、ブロック62に含まれた直列ラインユ
ニット(SLU)0−7及びモデムコントロールにも接
続される。ブロック62は、オクタル非同期受信/送信
器、即ちOCTALARTとして知られているものであ
る。この装置は、米国マサチューセッツ州メイナードの
デジタルイクイップメント社によってDC349として
製造されているものである。基本的に、このOCTAL
ARTは、8個の同じ通信チャンネル(実際には、8個
のUARTS)と、全体的なモデムコントロール信号に
対する概要情報と、割込みのための割込みチャンネル定
義とを与える2つのレジスタとを備えている。直列ライ
ンユニット0−6は、第1図に示された7つの周辺装置
に接続される。SLU7は第1図に示されたホストリン
クである。SLUの出力はトランシーバ69を経て接続
され、トランシーバの出力は、種々のコネクタが差し込
まれる分配パネル71に接続される。ブロック69は、
±12ボルトのバイポーラ電源から動作するEIAライ
ンドライバ(型式9636)を備えており、これらドラ
イバは、信号を、TTLレベルから、約±10ボルトの
バイポーラRS−232−C適合の信号レベルに変換す
る。
ホストチャンネル(SLU7)、キーボードチャンネル
及びスペアチャンネルは、装置検出器能を有していな
い。他の5つのチャンネルの入力ラインは、OCTAL
ART62の対応するSLUのDCD(データキャリア
検出)ピンに接続されている。ピンがチャンネルコネク
タ側にあってそれがアースされている場合には、OCT
ALARTの入力側が高レベルとなり、そのチャンネル
に装置が存在することを指示する。
ブロック62のデータセット変更概要レジスタは、これ
らピンの1つの状態が変化し、即ち、高レベルから低レ
ベルに又は低レベルから高レベルに変化する場合に割込
みを生じさせる。これは、システムが動作モードに入っ
た後に装置が追加されているか除去されているかを指示
する。始動時に、8031CPUは、この機能を有する
装置のうちのどれが接続されているかを判断するために
このレジスタを読み取り、この情報を構成バイト(ソフ
トウェアの記憶領域)に入力し、これは、自己テストレ
ポートの一部分としてホスト装置に送られる。この機能
により、どの周辺装置がどのポートに接続されたかを知
ることができ、ひいては、周辺装置の互換性を許すこと
ができる。PRボックスは、周辺装置が差し込まれたり
外されたりするたびに、ホスト装置にメッセージを送っ
て、ホスト装置が周辺装置に質問したりそれに維持され
たテーブルを更新したりできるようにする。
自走動作モードにおいては、PRボックスがホスト装置
からSLU7を経てデータパケットを受け取り、そのデ
ータの完全性を照合する。データが良好なものである場
合には、PRボックスが確認信号ACKをホスト装置に
送り、パケットからデータ又はコマンドを取り出しそし
てそれに関連したSLUを経て指定の周辺装置にそれを
送る。データが不良である場合、即ち、チェック和エラ
ーがある場合には、PRボックスはNAK信号をホスト
装置に送り、再送信を要求すると共に、その受け取った
パケットを破棄する。これら通信については、第5C図
ないし第9C図を参照して以下で詳細に述べる。
又、PRボックスは、作動モード中に診断LEDを切り
換えると共にボーレートを変更するためにそれ自身をテ
ストしそして状態/形態を報告するコマンドを受け取る
こともできる。
自己テストモードでは、マイクロプロセッササブシステ
ムの完全性が照合される。OCTALARTの内部ルー
プバックが終了した後に、サブシステムはそれ自体を再
初期化し、作動モードに復帰する。自己テストは、始動
時、又はホスト装置から実行自己テストコマンドを受け
取ったときに開始される。これは、PRボックス論理の
機能性をチェックする。
自己テストにおいて内部ループバックサブテストが行な
われ、システムはソフトウェア制御のもとでPRボック
ス論理の完全性を照合することができる。自己テストが
行なわれている間には、ホスト装置とPRボックスとの
間に論理的な接続がない。これは、自己テスト中のみに
ついていえることである。PRボックスが自己テストの
内部ループバック部分を実行しているときには周辺装置
に何の作用も及ばない。というのは、OCTALART
67のUARTラインの送信ピンにデータが出力されな
いからである。更に、周辺装置から送られるデータは、
ループバックテスト中にはPRボックスに何の作用も及
ぼさない。というのは、OCTALART67のUAR
T受信ピンに現われる全てのデータが無視されるからで
ある。
テストされるべきチャンネル上の適当なループバックを
使用して個々の周辺チャンネルに対して外部からループ
バックテストが行なわれる。これは、ホストのファーム
ウェアから行なわれる。周辺リピータは、この動作から
透過的(トランスパレント)である。これは、以下で述
べるように周辺装置の互換性を許容するテストである。
ホストチャンネルループバックコネクタのジャンパによ
って製造テストモードが与えられる。このジャンパは、
始動時に8031CPUにおいて感知される。このモー
ドにおいては、モジュールが全てのチャンネルにおいて
全てのテストを実行し、(自己テストの場合と同様
に)、装置存在テストと、外部からの周囲チャンネルル
ープバックテストとを続けて実行する。修理を助けるた
めにエラー機能性に対するループが実施されている。
8個のLED57が取り付けられた8ビットの診断レジ
スタ55は、PRボックスの状態と、或るシステム状態
とを与える(メインシステムの或る基本的な機能性を仮
定すれば)。このレジスタは、自己テスト又は製造テス
ト中にその動的な状態を指示して、作動モードに入る際
に、発生することのあるソフトのエラー又はハードのエ
ラーを指示するためにPRボックスによって使用され
る。MBS(ビット7)は、PRボックスのエラーが生
じたことを指示するために使用され、ビット6は、シス
テムエラーが表示されたことを指示するために使用され
る。ビット6が点いた場合には、ビット7に拘りなく、
表示されるエラーコードはシステムエラーである。これ
により、6つのビットがエンコードされたエラー応答を
与えるために残される。(LEDのエラーコードは、以
下にリストする。) 電力モニタ回路 ±12ボルトの供給電圧をモニタするための回路63
は、+5ボルトの電源によって動作する。単一の赤/緑
バイカラーLED64は、電力モニタ回路63の出力に
接続される。出力インジケータは、次の通りである。
LED指示 説明 緑 全ての電圧が範囲内にある。
赤 +、−又は両方の12ボルト供給電圧
が仕様から15%ずれるか又は完全に落ちる。
なし +5ボルト供給電圧、全ての供給電圧
が落ちるか又は交流が存在しない。
直流電力モニタは、±12ボルト電源の公称値において
約15%範囲がずれる過少電圧及び過大電圧をチェック
するための1組の4つの比較器である。この回路は、+
5ボルトから動作し、各比較器の適当な基準入力に加え
られる+2ボルト精度の基準を用いている。その出力は
バイカラーLED64に接続される。各比較器の他方の
入力に接続された高精度抵抗分割器は、テスト電圧を基
準入力と同じ範囲までスケールダウンする。
ファンクションモニタ 第2図に示すように、3状態LED61は、2ビットの
ファンクションレジスタ59に接続されている。これ
は、PRボックスがそのときにどんなモード又はファン
クションを実行しているかの可視指示を与えるのに用い
られる。
LED指示 説明 黄 自己テストモードが実行されている。
赤 製造テストが実行されている。
緑 動作モードがアクティブである。
PRボックスの動作の概要 PRボックスのROM53は、自己テスト及び動作のフ
ァームウェアを含んでいる。このファームウェアは4K
バイトのROMに収容されるが、これに対しては8Kバ
イトを指定してある。ファームウェアのフローダイアグ
ラムは第3A図ないし第3C図に示す。
ブロック301によって指示された始動時には、内蔵の
診断機能がブロック303で指示したようにPRボック
スの制御を行なう。この診断機能では、PRボックス論
理に基づいてテストが実行され、8031CPUのポー
ト1にあるピン7がアースされた場合に(製造モードを
表わす)外部ループバック及びテストが実行される。製
造モードにおいては、診断機能が永久的にループ305
をたどり、動作モードには入らない。これは、始動時に
ループバックコネクタ(ピン7)を検出することにより
行なわれる。製造モード中にエラーに遭遇した場合に
は、診断機能がそのエラーに遭遇したテストを永久にた
どることになる。
LED57及び61が取り付けられたレジスタ55及び
59(第2図)は、システムボックスの外部から見るこ
とができる。上記した診断レジスタ55は、8ビット巾
で赤色のLEDが付いている。これらのLEDは、PR
ボックス及び/又はシステムのエラーを報告する。又、
上記したように、ファンクションレジスタ59は、2ビ
ット巾であって、単一の赤/黄/緑のLEDが付いてい
る。製造モードにあるときには、ブロック303で示す
ようにファンクションLEDが赤となる。始動時には、
製造モード以外である間に、ファンクションLEDが黄
色になる。動作モードにおいては、これが緑色になる。
始動時に行なわれる種々のテストがブロック307−3
14で示されている。第3B図のブロック315でチェ
ックされるように、製造モードにある場合には、ブロッ
ク316及び317のテストを行なってからループ30
5へのブロック318に入る。
始動時に、PRボックスがPRシステムを使用不能にす
るようなエラー、即ち、8031CPUの割込みエラー
を生じた場合には、ファンクションLEDが黄色に保持
され、診断レジスタにエラーコードを入力する試みがな
され、PRボックスが作動モードに入らない。
エラーが全くないか又はシステムを使用不能にすること
のないエラーがありそしてシステムが製造モードにない
場合には、経路320が第3C図のブロック401をた
どり、ファンクションLEDが緑色になり、ホストがA
CK/NAK診断報告のためにホストとPRボックスと
の間にリンクを確立するのを待機する。リンクが確立さ
れない場合には、NOホストのエラーコードが診断LE
Dに入力され、PRボックスが動作モードに入る。通信
リンクがその後に確立された場合には、エラーコードが
クリアされる。
ソフトのエラーがある(診断レジスタ又はファンクショ
ンレジスタ)場合には、PRボックスが第3C図の動作
モードに入り、バックグランドプロセスを実行する。然
し乍ら、LEDの指示は不正確なこともある。デッドシ
ステム、即ち8031CPUの故障の場合を除いて、P
Rボックスは動作モードに入って、もし可能であれば、
自己テストに不合格となった点(テスト番号)を表示し
ようとする。
始動時の診断が完了した後、制御権が動作ファームウェ
アに移行される。このモードにおいては、ファームウェ
アがホストとPRボックスとの間のリンクをアクティブ
な状態に保ち、周辺装置とホストとの間のMUX/DE
MUXコマンド/データを保持する。この動作について
は以下で詳細に述べる。
このシステムの診断/オペレーティングシステムは、R
OMをベースとするもので、8031マイクロプロセッ
サから実行される。PRボックスのファームウェアは、
既存の周辺装置に適合し、以下で述べるホストPRボッ
クスリンクに対して開発された通信プロトコルに固守さ
れる。
診断は、PRボックスの始動時に実行すべきファームウ
ェアの第1の部分である。この診断は、動作ファームウ
ェアに制御権が移る前に既知の状態においてシステムか
ら退出する。PRボックスのテストが完了すると、シス
テムRAM51が初期化され、待ち行列がクリアされ、
OCTALART67のUARTが欠乏速度及びデータ
フォーマットにセットされ、診断及びモードレジスタ5
5及び57が適当な値にセットされ、システム状態領域
がPRボックスの状態を含むようにセットされる。
診断が完了すると、診断報告がホストに送られ、PRボ
ックスは動作モードに入る。他のメッセージが送られな
い場合には、PRボックスは、ACK/NAKを10秒
間待機した後、「ノー・通信リンク」に対するエラーコ
ードを診断レジスタ55に入力する。他の全てのパケッ
トに対してACK/NAKタイマが設けられており、こ
れは20ミリ秒で時間切れする。動作モードになると、
UARTSは、周辺装置とホストとの間で通信を行なえ
るようにする。ホストのリンクをアクティブな状態に保
つためにキープアライブタイマも付勢される。
動作モード このモードにおいては、PRボックス21は、周辺装置
とホスト19との間に配置される中央通信装置である。
(第1図のブロック図を参照されたい。)このモードを
詳細に述べる前に、PRボックスに使用される幾つかの
基本的な用語及びメモリの割当てについて説明しなけれ
ばならない。
メモリ1ページは長さが256バイトである。メモリの
開始ページの下位アドレスは0であり、上位バイトは0
から255までである。この説明においては、「ポー
ト」という用語は「チャンネル」と交換可能に使用さ
れ、周辺ポートを意味する。
8031CPUは、128バイトのオンチップRAMを
有している。128バイトのうち、36は、前部、後
部、受信及び送信待ち行列ポインタとして使用される。
各受信及び送信待ち行列ポインタとして使用される。各
受信及び送信待ち行列ごとに前部及び後部待ち行列ポイ
ンタがある。受信及び送信待ち行列は各SLUポートご
とに割当てられており、コマンド待ち行列はPRボック
スに割当てられている。8個のポートと1つのコマンド
チャンネルがあるから、18個の待ち行列と、36個の
ポインタとがあることになる。各待ち行列ポインタに与
えられた名称を以下にリストする。
受信及び送信待ち行列は、オフチップRAMに維持され
る。各待ち行列入力は、受信したバッファのアドレスで
あるか又は送信される用意のできたバッファのアドレス
である。各入力は1ワードの長さであり、1ワードは1
6ビットである。第1のバイトは下位アドレスであり、
第2バイトは上位アドレスである。バッファは移動され
ず、バッファアドレスのみが移動される。重要なメモリ
位置に指定された名称を以下にリストする。
全てのポインタ、待ち行列、バッファ及びテーブルをア
クセルする方法は、ベースアドレス(又はベースペー
ジ)を得て、現在のチャンネル番号(又は又はチャンネ
ル番号の倍数)に加えることにより行なわれる。例え
ば、チャンネル3待ち行列をアクセスするためには、受
信待ち行列のベースページが取り出される。全ての前部
待ち行列のベースである上位アドレス、例えば、BAS
E_Rx_PAGEが取り出され、それにチャンネル番
号(この場合は、3)が加えられる。これが行なわれる
と、FRONT_RX_QUE_PTRによって指示さ
れた値とオフセット3との和がチャンネル3の前部ポイ
ンタのための下位アドレスとして用いられる。チャンネ
ル番号は、OCTALART割込みの際に割込みを生じ
させるチャンネルの番号を記憶するOCTALARTの
レジスタから読み取ることによって容易に得られる。従
って、例えば、チャンネル3からのデータが送られてき
た場合には、それによってOCTALART割込みが生
じる。チャンネル(3)はOCTALARTレジスタに
記憶される。PRボックスは、このレジスタを読み取
り、その値(3)をベース値に加え、このようにして、
チャンネル3に対するポインタ等のための必要なアドレ
スを迅速且つ容易に得る。従って、全ての待ち行列、バ
ッファ等は、共通のサビルーチン及び割込みサブルーチ
ンによって一般的に処理できるが、チャンネル7は、ホ
ストが接続されたチャンネルであるから、若干異なった
やり方で処理される。
全ての待ち行列及びバッファは、循環形である。待ち行
列は、長さが1ページしかないということにより循環形
である。上位ページアドレスは、8031CPUのP2
レジスタに直接ロードされる。前部/後部の受信/送信
待ち行列ポインタは、外部アクセスに使用することので
きる8031CPUのレジスタR0又はR1に直接ロー
ドされる。ポインタは1バイト(R0/R1)であるか
ら、これらがFE(16進)によって増加(2だけ)さ
れたときには、自動的に0にセットされる。(FE(1
6進)+2=100(16進)であるが、これは1バイ
ト値であるから、1が捨て去られる。)P2及びRO/
R1は個別のレジスタでありそして1が上位アドレスバ
イト(P2)に桁上げされないので、データチェックの
必要はない。
動作モードにおいて、PRボックスが全てのチャンネル
を周辺装置のためのデフォールトボーレートに初期化す
ると、特定のチャンネル上にあることを予想する。デフ
ォールトボーレートは、第5図のテーブルに設定されて
いる。この予想において、PRボックスは、各々の周辺
装置とやり取りされるデータを最大限に処理するために
バッファのサイズの割当ても行なう。バッファのサイズ
は、バッファスペースにオーバーライトすることなく最
大256個のパケットを記憶するように選択される。こ
れは、ホストに送信する用意のできた待ち行列に128
個のパケットを備えていると共に、ホストの送信待ち行
列に移動すべく待機している周辺装置の受信待ち行列に
別の128個のパケットを備えている。例えば、チャン
ネルφバッファは、単一文字装置でるキーボードを受け
入れるまえに768バイト(3/4K)に初期化され
る。キーボードから受け取ったバッファに記憶された各
パケットは、3つのバイト、即ち、チャンネル番号、サ
イズバイト及びデータバイトで構成される。256個の
パケットを記憶するためには、割当てられたバッファが
256×3=768バイト(3/4K)の長さである。
ホストとPRボックスとの間に通信が確立されると、ホ
スト装置は、各周辺装置に質問を発して、どの形式の周
辺装置が接続されたかを確認すると共に、必要に応じて
ボーレートの調整を行なう。
PRボックスが実行するメインルーチンは、上記したバ
ックグランド処理である。バックグランド処理とは、デ
ータを受信したか又はデータ送信の準備中であるかを決
定するための受信及び送信待ち行列の連続走査のことで
ある。バックグランド処理は、ホスト装置からコマンド
を受信したかどうかを絶えず検査してそのようなコマン
ドの迅速な評価を与える。言い換えれば、バックグラン
ド処理は、ホスト装置又は周辺装置による動作を検査し
てPRボックスがその動作に応答して詳細な処理を実行
することが必要であるかどうかを検査する。
第3C図は、バックグランドプロセスを示すフローチャ
ートである。第1に、ブロック401において、ファー
ムウェアのこの部分に入ると、ファンクションレジスタ
の出力が緑色になる。
次いで、ブロック403に示すように、このプロセスで
は、受信及び送信待ち行列を走査して、それらが空であ
るかどうかを調べる。これは、各待ち行列に対し、前部
待ち行列ポインタを後部待ち行列ポインタと比較するこ
とによって行なう。前部ポインタと後部ポインタとが等
しい場合には、待ち行列が空であり、それらが等しくな
い場合には、或る処置をとらねばならない。バックグラ
ンドルーチンに用いられる値1は、もちろん、チャンネ
ル番号である。この場合には、ベース値にiが加えられ
て、前部ポインタ及び後部ポインタをチェックするに必
要なアドレスが得られる。
第4A図ないし第4E図は、周辺装置から受信待ち行列
にデータが受け取られたときに何が起きるかを示してい
ると共に、本発明による循環形待ち行列及び循環形バッ
ファの使用を示している。第4A図は、パケットを受け
取る前の待ち行列及びバッファの最初の状態を示してい
る。図示されているのは、チャンネル2に対する待ち行
列410と、チャンネル2のバッファ415と、受信チ
ャンネルRx0−Rx7及び送信チャンネルTx0−T
x7の各々に対して次に使用できるメモリ位置のポイン
タを含むテーブル417とである。前記したように、デ
ータはバッファからバッファへと移動されず、アドレス
のみが待ち行列から待ち行列へと移動される。従って、
チャンネル2については、バッファ2がデータを受け取
ると共に、このデータはこのバッファからホスト装置へ
送られる。このパケットに対する受信の始めに、待ち行
列410は空であり、即ち、前部ポインタ411は後部
ポインタ412に等しい。前部及び後部のポインタ41
0及び411が受信待ち行列410(Rx Que
ue)の最上部にくる前に多数のパケットが受け取られ
ることがある。テーブル417におけるRx2に対する
ポインタ416は、44FD(16進)であるバッファ
415の次の空バッファスペースを指す。
第4B図は、チャンネル2に対する第1の受信割込みが
生じた後に何が起きるかを示している。アドレスは、チ
ャンネル番号(2)をベースアドレスに加えることによ
って上記したように得られる。この例では「A」である
文字が読み取られる。Rx_Bufferポインタ41
6のアドレスは、Rx Queue410へ移動さ
れる。パケットは、チャンネル番号418、パケット4
19のサイズ(これは1に初期化される)及び読み取っ
た文字(420に示すように「A」である)と共に、C
hannel 2 Buffer415へロードされ
る。この動作により、チャンネル2に対する以下で詳細
に述べる文字間タイマをスタートさせる。
次の空バッファスペースは、ポインタ416のテーブル
417にセーブされる。次の空バッファスペースポイン
タは3D00(16進)にある。最後の空バッファスペ
ースポインタは、バッファの最後の位置である44FF
(16進)にあった。空バッファスペースポインタを急
激に4500(16進)に落して次のSLUデータスペ
ースに入りそしてデータを失うのではなくて、空バッフ
ァスペースはChannel 2Bufferのスター
ト点に巻き戻される。以下で述べるようにパケットのサ
イズとパケットの数が割当てられているので、オーバー
ランは生じない。これは、PRボックスソフトウェアに
円形バッファを使用することを実証している。
第4B図について上記したものと同じ事象シーケンスが
第4C図及び第4D図に示すように繰り返される。文字
(B及びC)が読み取られてチャンネル2のバッファ4
15のスタート点に記憶され、それに応じてパケットサ
イズ419が増加される。各文字は、テーブル417の
ポインタ416(空バッファスペースポインタ)が指示
するChannel Buffer415のアドレ
スに移動される。ポインタ416が増加され、文字間タ
イマが再スタートされる。この事象シーケンスは、文字
間タイマの時間が経過するまで継続される。
第4A図ないし第4E図は、各待ち行列のパケットを一
度に1つづつしか示さないように簡単化されている。実
際に、各待ち行列は多数の入力を有することができそし
て各ポートはパケットを同時に受信/送信することがで
きる。送信待ち行列、受信待ち行列、バッファ及びそれ
に関連したポインタをPRボックスの各チャンネル専用
とすることにより、この動作を行なうことができる。
第4E図は、文字間タイマの時間が経過したときに、後
部ポインタ412が次の自由位置(FE(16進)+2
=00)に急激に落されることを示している。これによ
り、後部ポインタが待ち行列のスタート点にもっていか
れ、この場合も、P2及びR0/R1レジスタの前記し
た使い方によりPRボックスソフトウェアに円形待ち行
列を使用することを実証している。
PRボックスの全ての受信及び送信データは、割込みル
ーチンによって処理される。例えば、第4A図ないし第
4E図の段階中に、周辺装置からホスト装置へ送られる
べきデータパケットを設定するためのルーチンがある。
これらのパケットは、その周辺装置に対して受け取った
文字の数が最大許容パケットサイズ(6バイト)に等し
い場合、又はその周辺装置に対する文字間タイマが時間
切れした場合に、パケット化が完了したと考えられる。
例えば、タブレットのレポートサイズは5バイトである
から、第5バイトの後に時間切れし、完全なパケットと
なる。文字間タイマの時間切れは、1つのバイトを受け
取ることなくほゞ2つの文字時間が経過した場合に生じ
る。
周辺装置の時間切れは、初期化コードがスタートする前
に初期化された文字間タイマによって処理される。タイ
マにロードされる値は、ボーレートに関連したものであ
る。各チャンネルごとに1つのタイマ位置がある。第6
図のテーブルは、種々のボーレートについて使用される
タイマの値のリストを含んでいる。タイマの値は、第7
図について以下で詳細に述べるように、タイマ0割込み
ルーチンにおいて減少される。例えば、タブレットが5
バイト長さのレポートを4800ボーで送る場合につい
て考える。4800ボー及び11ビット/文字において
は、1つの文字を送信するのに約2.3ミリ秒を要す
る。従って、このレポートを送る場合には、約5ミリ秒
後にタイマの時間が経過し、バッファは完了とマークさ
れる。
第4B図について上記したように、ポート0−6(周辺
ポート)に第1の文字が受け取られたときには、そのポ
ートのバッファ415の第1の自由スペースのアドレス
が待ち行列410に記憶される。現在ポート番号が41
8においてその位置に記憶される。次のバッファ位置4
19はサイズであり、1に初期化される。最後に、読み
取られた文字、例えば「A」は、バッファに記憶され
る。それに続くバイトはバッファ415に記憶され、そ
してサイズバイト419が増加される。
従って、各バイトが読み取られた後に、そのポートのタ
イマが1つの文字の送信時間の約2倍に初期化される。
この文字間タイマ値は、ホストがいずれかのチャンネル
のボーレートを変更する場合に調整される。パケットは
閉じられ、第4A図ないし第4E図の第i番目の後部ポ
インタ412は、タイマが0までカウントするか(時間
切れ)又はサイズが6に等しいときに2だけ落される。
ここで、iは第6E図に示すようにチャンネル番号であ
る。
バックグランドプロセスにより、例えば、第4E図のよ
うに空でないRx待ち行列が見つかった後に、受信待ち
行列の前部ポインタ411のバッファアドレスがTx−
7待ち行列(ホスト)420の後部ポインタ422へ移
動される。前部受信ポインタ411又はRx待ち行列
は、次の位置(送信すべきより多くのデータバッファを
有してもよいし有していなくてもよい)まで落され、そ
してTx Queの後部ポインタ422は、次の自
由位置まで落される。これが第4F図に示されている。
一般に、送信器は、まだオンになっていない場合、AC
K/NACK又はキープアライブを送る必要がある場合
或いは待ち行列が空でない場合にポート7に対してオン
に切り換えられる。コマンド待ち行列が空でない場合に
は、コマンドパーサが実行される。最後の文字が送られ
たときに送信器の割込みによって送信器自体がオフに切
り換えられる。バックグランドルーチン、送信、受信及
び時間割込みは、全て、互いに非同期で実行する。
従って、受信待ち行列が空でなくそして待ち行列がポー
ト0ないし6に対するものであるか又はコマンド待ち行
列である場合には、その待ち行列の前部の待ち行列入力
がポート7に対する送信待ち行列420の後部ポインタ
422へ押し込まれる。入力がちょうど取り込まれた受
信待ち行列の前部ポインタ411は、第4F図について
上記したように2だけ増加される。上記説明では、いか
に情報を周辺装置からバッファに受け取り、バッファの
位置を受信(Rx)待ち行列に記憶しそしてホストに送
信されるべきTx Queに転送するかについて述
べた。
周辺装置(0−6)又はPRボックス(コマンドチャン
ネル)に対するホストからのパケットは同様に処理さ
れ、即ち、先ず、Rx 7待ち行列に位置が記憶されそ
して各々のTx待ち行列に転送される。
ポート7の受信待ち行列、即ちRx Que(ホス
ト)が空でない場合には、バッファの第1バイト(待ち
行列入力における)は、入力を指示しなければならない
ポートを含む。そのポート値は適当な送信待ち行列を選
択するのに使用され、そしてバッファアドレス+1がそ
の送信待ち行列に押し込まれる値となる。行き先がポー
ト7(即ち、PRボックスへのコマンド)である場合に
は、これがコマンド待ち行列に押し込まれる。
ポート7に受け取られた第1の文字は、ACK、NAC
K又はSOHでなければならない。SOHである場合に
は、PRボックスがパケットを受け取ることが予想され
る。それに続く全ての文字がチャンネル7のバッファに
記憶される。最後のデータ文字が読み取られた後に、受
け取ったチェック和が計算されたチェック和と比較され
る。これらが等しければ、ACKがホストに送られ、チ
ャンネル7の後部ポインタが2だけ落される。チェック
和が一致しないか又は文字間タイマの時間が経過した
(ホストについては10ミリ秒)場合には、NACKが
ホストに送られ、チャンネル7の後部ポインタが増加さ
れない(PRボックスは、それが記憶するデータを無視
する)。
入力がポート0−6に対する送信待ち行列に押し込まれ
そしてこの待ち行列が空でない場合には、送信器の割込
みがこのチャンネルに対してオンにされる(もしまだオ
ンでなければ)。
ポート0−6における送信器の割込みでは、送信を行な
うべきバッファに対し第i番目の送信器待ち行列前部ポ
インタのアドレスが得られる。第1のバイトは送信され
ないバイトであるが、それに続くバイトは、サイズがゼ
ロになるまで送信される。割込みが終了して全てのデー
タバイトが送信されると、第i番目の送信器の前部ポイ
ンタが2だけ落され、そのポートの割込みがオフにされ
る。
ACK、NACK又はパケットをホストに送るといった
幾つかの理由で、ポート7において送信器割込みを行な
うことができる。ポート7(ホストポート)の送信器割
込みでは、キープアライブタイプが10秒に再初期化さ
れる。
PRボックスがパケットをホストに送信すべき場合に
は、割込みにおいて第1回目に、SOHを送信する。割
込みルーチンにおいて第2回目には、第4G図に示すよ
うにチャンネル7の送信器待ち行列420に対し前部ポ
インタ421によって指示されたパケットアドレスを得
る。そのアドレスにおける第1バイトは、パケットが送
られてくるチャンネルである。PRボックスは、このバ
イトを取り出し、これを送り、そしてチャンネル7に対
する位置にあるTx Bufferテーブル417に送
り込むべき次のバイトのアドレスを記憶する。例えば、
第4G図は、第4A図ないし第4E図に示したように得
られたチャンネル2に対する情報を送信するところを示
している。その次のときには、パケットのサイズを送信
し、そのサイズを使用して、サイズが0になるまで次に
続くデータバイトを送信する。各バイトが送られるにつ
れて、Tx buffer(7)が次のバイトを指すよ
うに増加される。又、各バイトが送られるにつれて、そ
れがチェック和に計算され、サイズが0となったときに
チェック和が送られる。チェック和が送られた後に、A
CK又はNACKを待機するためにタイマが20mSに
初期化され、割込みがオフにされる。ACKが受け取ら
れた場合には、チャンネル7の前部ポインタが第6H図
に示すように2だけ落される。タイマの時間が経過する
と、このポインタが2だけ落されると共に、LEDがエ
ラーコードによってホスト装置が応答しないことを指示
する。ACK/NACKが受け取られるか又はタイマの
時間が経過するまではホスト装置に別のパケットを送る
ことができない。
前記したように、ホスト装置は、物理的なチャンネルア
ドレスにデータを送る。ホスト装置は、どの装置が特定
のチャンネルに差し込まれるかを指示するテーブルを保
持する。ホスト装置は、装置が自己テストレポートを送
るように要求することによってどの装置が特定のチャン
ネルにあるかを知らせることができる。これは、交換可
能な共通のコネクタを有する装置(即ち、マウス及びタ
ブレット、ダイヤルボックス及びデジットボックス、
等)に対して行なわれる。PRボックスは、装置存在ビ
ットを探すことによって装置がチャンネルに接続されて
いるかどうかを判断しようとする。マウス、タブレッ
ト、ボタンボックス、ダイヤルボックス、及びスペアキ
ーボードチャンネルは、装置存在ビットを有している。
これらビットを用いることにより、PRボックスは、装
置が存在することを知らせることができるが、どんな装
置であるかは知らせることができない。
PRボックスが自己テストレポートを送るときには、1
つのバイトがシステムの現在形態を表わしている(装置
存在ビットを有する装置のみ)。スペアチャンネル、ホ
ストチャンネル又はキーボードチャンネル上に装置があ
るかどうかを識別するような試みはなされない。
受信割込みは、装置が差し込まれ/引き抜かれる場合に
チャンネル1−4及び6において行なわれる。これが行
なわれる場合には、ホスト装置にメッセージが送られ
る。次いで、ホスト装置は、そのポートに質問を出し
て、どの周辺装置が存在するかを調べると共に、その情
報をテーブルに記録する。これは、周辺装置にコマンド
を送ることによってボーレートをセットし、PRボック
スにコマンドを送ってその当該ポートに対するUART
ボーレートをセットする。又、ボーレートは、他の時間
に、例えば過剰な送信エラーが生じる場合にはホスト装
置によって低いデータ送信速度にリセットされてもよ
い。
タイマ0の割込みは、文字間タイマのためのカウンタ
と、既にオフに切り換えられているポートのためのカウ
ンタと、ACK/NACKカウンタとを含んでいる。第
7図は、タイマ0を示すフローダイヤグラムである。
第7図に示すように、タイマの割込みはほゞ1.38m
Sごとに生じる。割込みが生じたときには、ブロック5
01で示すように、レジスタがセーブされ、レジスタバ
ンクが変更される。次いで、ブロック503で示すよう
に、次の割込み時間が1.38mSとしてロードされ
る。次の段階は、文字間タイマの受信器時間切れテーブ
ルのベースアドレスを得ることである。このテーブル
は、第5図及び第6図に示したものと同じ情報を含んで
おり、即ち、各チャンネルごとに、文字間タイミングの
値が与えられる。次のブロックは、i=0でプロセスが
スタートすることを示している。換言すれば、ブロック
507で示すように、チャンネル0でスタートする。判
断ブロック509に入り、最初にこれに入ったときに
は、受信器iの時間切れが0がに等しいかどうかのチェ
ックがなされる。これが0に等しくなければ、ブロック
511に入り、時間切れが1だけ減少される。再び判断
ブロック513においてチェックがなされ、時間切れが
0に達したかどうか判断される。その答えがイエスであ
る場合には、ブロック515で示すようにメッセージの
終了であり、上記したように、待ち行列iの後部ポイン
タが落される。判断ブロック509において時間切れが
0に等しくなった場合には、このチャンネルに対して何
も行なわれないことを意味する。判断ブロック513の
答えがノーである場合には、時間切れが生じないことを
意味する。いずれの場合にも、ブロック517に入り、
iが次のチャンネルに増加される。これに続いて、判断
ブロック519に入り、iが7に等しいかどうか判断さ
れる。もしそうでなければ、プログラムはループ520
によって判断ブロック509までループバックし、次の
チャンネルの時間切れをチェックする。ブロック519
の答えがイエスであることによって指示されるようにチ
ャンネル7に到達したときには、判断ブロック521に
入る。ここで、PRボックスがホストチャンネルを経て
受信するかどうかを明らかにするためにチェックがなさ
れる。もしそうであれば、ブロック521により、時間
切れが1だけ減少される。次いで、ブロック523にお
いて、時間切れが0に等しいかどうかのチェックが行な
われる。もしそうであれば、ホストチャンネルに時間切
れがあり、ブロック525で示されたように多数のステ
ップが行なわれる。時間切れが生じなければ、プログラ
ムはブロック527へまっすぐ進む。そこに示されたよ
うに、オフにされたポートにおいて時間切れのチェック
が行なわれる。これは、上記した同じ一連のステップを
用いて行なわれる。
ブロック527を通過した後、PRボックスがACK又
はNACKを待機しているかどうか判断するブロックに
入る。判断ブロック529の答えがノーである場合に
は、ただちにブロック531に入り、これは、レジスタ
が復帰されそして割込みからメインプログラムへの復帰
がなされることを指示する。PRボックスが待機してい
る場合には、ブロック533に入り、ACK/NACK
タイマが減少される。次いで、ブロック535において
チェックがなされ、タイマが0であるかどうか調べられ
る。もしそうでなければ、ブロック531に入る。一
方、タイマが0である場合には、ACK/NACKを待
機し、送信器7フラグがクリアされ、送信器7待ち行列
の前部ポインタがブロック537で示すように落され
る。次いで、ブロック539に入り、システム始動時で
ない場合には、第2図のLED52にホストゴーンエラ
ーが点灯される。ここで、ホストゴーンエラーとは、ホ
スト装置とPRボックスとの間のリンクが現在設定され
ていないエラー状態のことである。本願明細書の第21
頁第17行ないし第22頁第7行に記載されているよう
に、ホスト装置とPRボックスとの間のリンクを確認す
るホスト装置からの確認(ACK)信号を待っている場
合には、PRボックスが“NOホスト”エラー(PRボ
ックスが始動状態の場合)又は“ホストゴーン”エラー
(PRボックスが動作中の場合)のいずれかの発生を表
示するLEDを点灯する。その後、ブロック531に再
び入る。第9C図に示すように、終了メッセージ515
が生じたことがブロック541によって示されると、メ
ッセージが終了した第i番目のチャンネルに関連した受
信器の後部ポインタが2だけ減少される。次いで、ブロ
ック543で示すように、受信進行中フラグがクリアさ
れるのに続いて、ブロック545で示すように受信時間
切れがクリアされる。その後、判断ブロック547にお
いてチェックがなされて、iがホストチャンネルに等し
いかどうかの判断がなされる。もしそうであれば、ブロ
ック549の動作が行なわれる。これを行なうときに
は、或いはブロック547の答えがノーであるときに
は、プログラムが第9A図のブロック517に復帰す
る。(フアームウェアの各所でEND MSGが使用さ
れる。) タイマは、0でない場合にのみ減少される。タイマが0
でなくそして0に移行したときには、或る動作がとられ
る。文字間タイマの時間が経過すると、第i番目の受信
器に対する後部ポインタ412が2だけ落される。既に
オフにされているポートのタイマの時間が経過すると、
そのポートがオンにされる。ポートは、相当に多くのデ
ータを得てその待ち行列をオーバーフローさせるときに
オフになる。次いで、ポートは10mS間オフにされ
る。ACK/NACKタイマの時間が経過すると、チャ
ンネル7送信器の前部ポインタ421が2だけ落され、
ホストが応答しないというエラーがLED57に入れら
れる。
タイマ1の割込みは、「キープアライブ」タイマのカウ
ンタを含む。これは、各入力の際に1だけ減少される。
これが0に移行すると、第5C図のバックグランドプロ
セスによって「キープアライブ」メッセージがホストに
送られるようにフラグがセットされる。
従って、ホストからパケットを受け取る割込みルーチン
は、第5C図のバックグランドプロセスによって解読す
るようにそれらをメモリに設定する。又、このバックグ
ランドプロセスでは、割込みルーチンによってデータパ
ケットをホスト装置及び周辺装置に送信するプロセスも
設定される。
パケットの定義 前記したように、周辺装置からPRボックスによって受
け取られるバイトは、ホスト装置に送られるべきパケッ
トに分類される。パケットの定義は、次の通りである。
ヘッダバイトフィールドは第8図に示す。
3ビットの装置コードは、使用可能な全てのビットを利
用する。キーボード、マウス、タブレット、ダイヤルボ
ックス、ボタンボックス、PRボックスシステム及び2
つのスペアポートに対して装置コードがある。ホストチ
ャンネルは、PRボックスシステムの一部分であると考
えられ、即ち、ホストチャンネルは、111というDE
VIDを用いている。
第8図の受信エラービットは、装置コードによって識別
された当該装置に関する問題を指示するのに用いられ
る。このビットは、PRボックスが装置に関連したUA
RTに対するパリティ、フレーミング又はハードウェア
オーバーランエラーを見つけたときにセットされる。
受信エラービット=エラーの発生を指示する論理1。
応答ビットは、PRボックスがホストによってなされた
要求に応答しておりそしてそれに続くレポート又はデー
タがPRボックス又は周辺装置によって発せられたもの
でないことをホスト装置に指示するのに用いられる。こ
のビットは、各々自己テストコマンド及び状態レポート
コマンドのもとで以下に述べるコマンドT及びRに応答
するために用いられる。
応答ビット=ホスト装置からの手前の要求に対する応答
であることを指示する論理1。PRボックスコマンドに
対してのみ用いられる。
キープアライブビットは、規定の時間(例えば、10
秒)内にトランザクションが生じなかった場合にその時
間内にホスト装置に0を送信するのに用いられる。ホス
トのウオッチドッグタイマは、10秒にセットされる。
この機能は、まだPRボックスが接続されているが送信
すべきデータを有していないことをホスト装置に知らせ
る。
キープアライブ=キープアライブ機能のみを指示する論
理1。
装置変更ビットは、装置存在ビットを有する装置がPR
ボックスに接続されたか/そこから切り離れたかを指示
するようにセットされる。このビットがセットされたと
きには、パケットが1メッセージバイトを含む。これ
は、形態バイトである。この形態バイトは、システムに
差し込まれる装置存在ピンを有する装置ごとにセットさ
れた1つのビットを有している。
装置変更ビット=装置の状態が変化したことを指示する
論理1。
システムエラービットは、ホスト装置にエラーレポート
を送るために用いられる。このビットがセットされたと
きには、パケットに1つのデータバイトがある。このデ
ータバイトはエラーコードである。現在存在するエラー
コードは、次の通りである。
1.01H ホストから送られた不良コマンド 2.02H 装置待ち行列がオーバーフロー 次のような2つのエラー検出方法が用いられる。
1.送信のためのチェック和(桁上げとの加算) 2.各バイトに対する奇数パリティ キープアライブビットがセットされた場合には、応答ビ
ット及びエラービットがホスト装置によって無視され
る。キープアライブを伴うDEVIDは、PRボックス
装置でなければならない。
送信プロトコル 送信プロトコルは次の通りである。
発信装置はそのデータを送り、ACK(全てOK)又は
NAK(或るものは追跡、再送信しない)を待機する。
状態情報は、発信装置であるホストがASCII AC
K/NAK文字の返送以外の何かを予想するという点で
若干異なるビットである。これは、応答ビットが使用さ
れる場合である。
NAKがPRボックス又はホストのいずれかによって受
け取られると、ソース装置が前に送信したものを再送信
する。NAKを送信した装置は、その前の送信を消去
し、新たな要求として再送信に応答する。
第9A図ないし第9C図は、各々、ホスト装置によって
発生されたデータ、PRボックスによって発生されたデ
ータ及びホスト装置によって要求されたレポートを示し
ている。
自己テストコマンドが通常のデータとして周辺装置に直
接送られる場合には、返送されてくる応答が同様に即ち
データとして処理され、応答ビットはセットされず、D
EV ID(装置識別子)は周辺装置のそれとなる。P
Rボックスは、個々の周辺装置を個々にテストするため
の特殊なコマンドを有していない。
装置オーバーランエラーが生じたときには、データが失
われることがある。PRボックスがオーバーランエラー
を生じそしてその待ち行列が空になる前にその装置から
データを受信し続ける場合には、その装置に対する受信
が10mS間オフにされる。
この10mSの後に、再び受信がオンになり、入ってく
るデータがホスト装置に送られるべく待ち行列に入れら
れる。この10mSの間に、その受信はオフになり、デ
ータが失われる。
周辺装置からのデータは、PRボックスにより、パケッ
ト当たり最大6バイトに制限される。周辺装置がバイト
間にゼロ時間周期を伴わずに6つより多くの連続するデ
ータバイトを送出する場合には、PRボックスは、パケ
ットを最大6個のデータバイトに分割する。ホストから
PRボックスへのパケットは、データ制限チェックをも
たない。然し乍ら、ホスト装置は、パケットのデータサ
イズを安全のために9データバイトに制限する。PRボ
ックスは、9データバイトの256個までのパケットを
安全に記憶することができ、待ち行列のオーバーフロー
状態の際にホスト装置に警告する。ホスト装置が多量の
パケットを送信する場合には、それらを低い頻度で、即
ち、パケット間に大きな時間ギャップをとって18デー
タバイトの128パケットというようにして送信しなけ
ればならない。
上記したように、装置からのデータのパケット化は、タ
イマによって処理される。PRボックスが周辺装置の文
字長さの2倍に等しい「ゼロ」時間周期を「見た」とき
には、パケットがオフに閉ざされ、ホスト装置に送るた
めに待ち行列に入れられる。(上記の例を参照された
い。)又、ホスト装置からの送信については、2バイト
のパケット間に10mSゼロ時間といデフォールトがあ
る。この時間が経過すると、ホスト装置にNAKが送ら
れる。ホスト装置のデフォールト速度が変化した場合に
は、タイマが文字長さの2倍の時間周期に復帰する。
前記したように、キープアライブ用(約10秒)及びA
CK/NAK用(約20mS)のタイマもある。
PRボックスへのコマンド 自己テストコマンド T−PRシステムをテストし、自己テストレポート(形
態を含む)を送信する。
注:テストTは、10秒未満の時間中、PRボックスを
ホスト装置から一時的に切断する。
状態レポートコマンド R−周辺装置の形態を含むPRシステムの状態を報告す
る。
ボーレート変更コマンド(2つの形態) 0 Cnx :「n」はチャンネル番号であり(0−
キーボード…7−PRホストリンク)そして「x」はボ
ーレートである。
0 Cnxyz :「n」はスペアチャンネル(5)
であり、「x」はボーレートであり、「y」はパリティ
(ASCII 0(16進4F)−奇数、ASCII
E(16進45)−偶数又はASCII N(16進4
E)−なし)でありそして「z」はビット/文字(16
進5、6、7又は8)/である。
注:パリティ及びビット/文字はスペアポートについて
しか変更できないが、スペアチャンネルのボーレートは
パリティ及びビット/文字を変えることなく変更でき
る。その他のポートはボーレートのみを変更できる。
【図面の簡単な説明】
第1図は、本発明のPRボックスを使用することのでき
るコンピュータシステムのブロック図、 第2図は、本発明のPRボックスの基本的なブロック
図、 第3A図ないし第3C図は、本発明のPRボックスで実
行されるファームウェアのフローダイヤグラム、 第4A図ないし第4H図は、本発明による円形待ち行列
及び変形バッファを用いてパケットを送信するところを
示す図、 第5図は、本発明の好ましい実施例に用いられる種々の
周辺装置に対するデフォールトボーレートの表、 第6図は、本発明によるパケット間タイミングどりに用
いられる各ボーレートに関連した文字時間を示す表、 第7A図ないし第7C図は、パケット間タイミングどり
に用いられる基本的なタイミングを示すフローダイヤグ
ラム、 第8図は、本発明に用いられるヘッダバイトフイールド
の形態を示す図、そして 第9A図ないし第9C図は、本発明のメッセージ送信プ
ロトコルを示す図である。 11……モニタ 13……RGB同軸ケーブル 14……コンピュータ装置 15……グラフイックエンジン 17……メインコンピュータ 19……コンピュータ 21……PRボックス 23……キーボード 25……マウス、27……タブレット 29……ノブ 31……ダイヤルボックスボタン 33……スペアチャンネル 35……スペアキーボード入力 41……マイクロプロセッサCPU 43……クロック/リセットユニット 45……コントロールデコードブロック 47……バス、51……RAM 53……診断レジスタ 55……診断レジスタ 57……ディスプレイ 59……ファンクションレジスタ 61……トリカラーLED 63……直流電力モニタ 64……バイカラーLED 69……トランシーバ

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】ホスト装置と、周辺リピータと、少なくと
    も1つの周辺装置とを具備したシステムにおいて、上記
    周辺リピータのデータをパケット化してそれを上記ホス
    ト装置に送る方法であって、 メッセージバイト長さを設定し、 所与の周辺装置からのメッセージの文字をパケットに蓄
    積し、そして パケットのサイズが上記メッセージバイト長さに等しく
    なったときにパケットを終了して送信する、 ことからなり、更に、 各周辺装置は設定されたボーレートを有し、 少なくとも1バイトを受け取った後において、周辺装置
    から後続のバイトを受け取ることなく最後のバイトを受
    け取った時間から上記ボーレートに基づく所定の時間が
    経過した場合にパケットを終了してそれを送信する、 ことを特徴とする方法。
  2. 【請求項2】上記時間は、上記レートで2つの文字を送
    信するに必要な送信時間にほぼ等しい請求項1に記載の
    方法。
  3. 【請求項3】上記周辺装置のボーレートは変更可能であ
    り、ボーレートを変えるときに上記時間を調整すること
    を更に含む請求項2に記載の方法。
  4. 【請求項4】ホスト装置と、少なくとも1つの周辺装置
    が接続された周辺リピータを含むシステムにおいて、上
    記周辺装置からのデータをパケット化してそしてそれを
    上記ホスト装置に送信する方法であって、 a)上記周辺装置のボーレートを設定し、 b)上記周辺装置からのメッセージのバイトを前記周辺
    リピータにおいてパケットに蓄積し、そして c)上記周辺リピータが少なくとも1バイトを受け取っ
    た後において、周辺装置から後続のバイトを受け取るこ
    となく最後のバイトを受け取った時間から上記ボーレー
    トに基づく所定の時間が経過した場合にパケットを終了
    してそれを送信する、 ことを特徴とする方法。
  5. 【請求項5】上記時間は、上記レートで2つの文字を送
    信するのに必要な送信時間にほぼ等しい請求項4に記載
    の方法。
  6. 【請求項6】上記周辺装置のボーレートは変更可能であ
    り、そしてボーレートを変えるときに上記時間を調整す
    ることを更に含む請求項4に記載の方法。
  7. 【請求項7】メッセージバイト長さを設定し、そしてパ
    ケットのサイズが上記長さに等しくなったときにパケッ
    トを終了してそれを送信する請求項4に記載の方法。
JP20179088A 1987-08-13 1988-08-12 データのパケット化方法 Expired - Lifetime JPH0638613B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US85098 1987-08-13
US07/085,098 US5123091A (en) 1987-08-13 1987-08-13 Data processing system and method for packetizing data from peripherals

Publications (2)

Publication Number Publication Date
JPS6468160A JPS6468160A (en) 1989-03-14
JPH0638613B2 true JPH0638613B2 (ja) 1994-05-18

Family

ID=22189453

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20179088A Expired - Lifetime JPH0638613B2 (ja) 1987-08-13 1988-08-12 データのパケット化方法

Country Status (7)

Country Link
US (1) US5123091A (ja)
EP (1) EP0303991B1 (ja)
JP (1) JPH0638613B2 (ja)
KR (1) KR920005287B1 (ja)
AU (1) AU599508B2 (ja)
CA (1) CA1321843C (ja)
DE (1) DE3851676T2 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4862355A (en) 1987-08-13 1989-08-29 Digital Equipment Corporation System permitting peripheral interchangeability during system operation
DE69028462T2 (de) * 1989-08-11 1997-03-27 Ibm Vorrichtung zur Verbindung von einer Steuereinheit mit parallelem Bus mit einem Kanal mit serieller Verbindung
US5404453A (en) * 1990-09-13 1995-04-04 Ncr Corporation Terminals coupling system using bridge interfaces, located inside the host controller, with timer to determine start and end of transmission period
JP2601960B2 (ja) * 1990-11-15 1997-04-23 インターナショナル・ビジネス・マシーンズ・コーポレイション データ処理方法及びその装置
USH1507H (en) * 1993-04-23 1995-12-05 The United States Of America As Represented By The Secretary Of The Navy Demand assigned multiple access (DAMA) device controller interface
JP3478565B2 (ja) * 1993-08-06 2003-12-15 ブラザー工業株式会社 パラレルインタフェース回路
US5598581A (en) * 1993-08-06 1997-01-28 Cisco Sytems, Inc. Variable latency cut through bridge for forwarding packets in response to user's manual adjustment of variable latency threshold point while the bridge is operating
US5761450A (en) * 1994-02-24 1998-06-02 Intel Corporation Bus bridge circuit flushing buffer to a bus during one acquire/relinquish cycle by providing empty address indications
JPH07261922A (ja) * 1994-03-18 1995-10-13 Internatl Business Mach Corp <Ibm> タッチパッド、入力装置及びコンピュータ・システム
US5598535A (en) * 1994-08-01 1997-01-28 International Business Machines Corporation System for selectively and cumulatively grouping packets from different sessions upon the absence of exception condition and sending the packets after preselected time conditions
US6108809A (en) * 1994-11-11 2000-08-22 Siemens Aktiengesellschaft Method for sending messages from a lower-level controller to a higher-level controller
US5680403A (en) * 1995-12-14 1997-10-21 Pitney Bowes Inc. Multiplex serial data communications with a single UART for a postage meter mailing machine system
US6098122A (en) * 1998-03-27 2000-08-01 International Business Machines Corporation Method and apparatus for adaptively blocking outgoing communication requests and adjusting the blocking factor according to the volume of requests being received in an information handling system
US6332173B2 (en) * 1998-10-31 2001-12-18 Advanced Micro Devices, Inc. UART automatic parity support for frames with address bits
US6260098B1 (en) * 1998-12-17 2001-07-10 International Business Machines Corporation Shared peripheral controller
GB0021988D0 (en) 2000-09-07 2000-10-25 Nokia Mobile Phones Ltd Management of portable radiotelephones
US20030115375A1 (en) * 2001-12-17 2003-06-19 Terry Robison Methods and apparatus for delayed event dispatching
US8407671B2 (en) * 2008-01-13 2013-03-26 Apple Inc. Accessory validation system
JP2016122382A (ja) * 2014-12-25 2016-07-07 株式会社リコー システム、描画方法、情報処理装置、プログラム

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3693155A (en) * 1971-03-23 1972-09-19 Nat Telecommunications System Communication system
US4019174A (en) * 1971-12-08 1977-04-19 Monarch Marking Systems, Inc. Data collecting and transmitting system
JPS5846899B2 (ja) * 1979-07-31 1983-10-19 富士通株式会社 パケット伝送方式
JPS5730448A (en) * 1980-07-30 1982-02-18 Nippon Telegr & Teleph Corp <Ntt> Packet transmission system
US4454577A (en) * 1981-06-18 1984-06-12 The Bendix Corporation Linked data systems
US4408323A (en) * 1981-06-29 1983-10-04 Bell Telephone Laboratories, Incorporated Processor facilities for integrated packet and voice switching
IT1144965B (it) * 1981-10-20 1986-10-29 Cselt Centro Studi Lab Telecom Sistema a controllo distribuito per l accesso multiplo casuale alla linea di trasmissione di una rete locale per voce e dati
US4577314A (en) * 1983-03-31 1986-03-18 At&T Bell Laboratories Digital multi-customer data interface
US4577317A (en) * 1983-04-15 1986-03-18 Ics Electronics Corporation Method for extending a parallel data bus
EP0162173B1 (fr) * 1984-05-23 1989-08-16 International Business Machines Corporation Sytème numérique de transmission de la voix par paquets
JPS60247347A (ja) * 1984-05-23 1985-12-07 Hitachi Ltd 計測情報伝送方式
JPS6041347A (ja) * 1984-07-20 1985-03-05 Hitachi Ltd パケツト組立分解装置
JPS6220041A (ja) * 1985-07-19 1987-01-28 Nec Corp デ−タ処理装置の非同期デ−タ転送回路
JPS6240562A (ja) * 1985-08-17 1987-02-21 Casio Comput Co Ltd フアイル転送装置
FR2587159B1 (fr) * 1985-09-12 1987-11-13 Coatanea Pierre Equipements de multiplexage et demultiplexage pour liaison numerique synchrone a debit et rapiditite de modulation variables
US4730308A (en) * 1985-10-04 1988-03-08 International Business Machines Corporation Interface between a computer bus and a serial packet link
US4748618A (en) * 1986-05-21 1988-05-31 Bell Communications Research, Inc. Telecommunications interface
FR2601474A1 (fr) * 1986-07-08 1988-01-15 Pragma Dispositif pour l'echange d'informations entre un telecopieur et un micro-ordinateur

Also Published As

Publication number Publication date
EP0303991B1 (en) 1994-09-28
EP0303991A3 (en) 1990-06-06
KR920005287B1 (ko) 1992-06-29
CA1321843C (en) 1993-08-31
KR890004224A (ko) 1989-04-20
AU2069588A (en) 1989-02-16
EP0303991A2 (en) 1989-02-22
DE3851676T2 (de) 1995-03-09
JPS6468160A (en) 1989-03-14
DE3851676D1 (de) 1994-11-03
AU599508B2 (en) 1990-07-19
US5123091A (en) 1992-06-16

Similar Documents

Publication Publication Date Title
US4862355A (en) System permitting peripheral interchangeability during system operation
JPH0638613B2 (ja) データのパケット化方法
US4860292A (en) Communication protocol
US4949248A (en) System for shared remote access of multiple application programs executing in one or more computers
EP0188522B1 (en) Polling method for data processing system
KR960012686B1 (ko) 통신 시스템용 스테이션 및 그 통신방법
US5230071A (en) Method for controlling the variable baud rate of peripheral devices
EP0013739B1 (en) Communication controller in a data processing system
EP0303288B1 (en) Peripheral repeater box
US6016309A (en) Apparatus for an automatic speed and data length selection of an asychronous data link
GB2062419A (en) Improvements in or relating to information retrieval
US5815690A (en) Deglitch method and apparatus to assure valid data sampling
US4379340A (en) Communications subsystem idle link state detector
Cisco IBM Channel Attach Commands
Cisco IBM Channel Attach Commands
Cisco IBM Channel Attach Commands
Cisco IBM Channel Attach Commands
Cisco IBM Channel Attach Commands
Cisco IBM Channel Attach Commands
Cisco IBM Channel Attach Commands
Cisco IBM Channel Attach Commands
Cisco IBM Channel Attach Commands
Cisco IBM Channel Attach Commands
Cisco IBM Channel Attach Commands
CN111597017A (zh) 双微处理器同步控制方法