JPH0991100A - データ伝送制御装置 - Google Patents

データ伝送制御装置

Info

Publication number
JPH0991100A
JPH0991100A JP7250532A JP25053295A JPH0991100A JP H0991100 A JPH0991100 A JP H0991100A JP 7250532 A JP7250532 A JP 7250532A JP 25053295 A JP25053295 A JP 25053295A JP H0991100 A JPH0991100 A JP H0991100A
Authority
JP
Japan
Prior art keywords
block size
peripheral device
response
printer
data transmission
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
JP7250532A
Other languages
English (en)
Inventor
Sensaburou Nakamura
泉三郎 中村
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.)
TEC CORP
Original Assignee
TEC 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 TEC CORP filed Critical TEC CORP
Priority to JP7250532A priority Critical patent/JPH0991100A/ja
Publication of JPH0991100A publication Critical patent/JPH0991100A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】コンピュータ装置と周辺装置と通信線路の組合
わせが、逆方向伝送が可能であっても、逆方向伝送が不
可能であっても、周辺装置の受信バッファの容量に応じ
て伝送するブロックサイズを決定してデータ伝送を行
う。 【解決手段】ホストコンピュータ装置は、双方向通信機
能が使用できるか否かをチェックし、双方向通信が可能
なときには、プリンタに受信バッファの空き容量を問い
合わせ、空き容量以下の値をブロックサイズとして決定
してデータ伝送を行う。また、双方向通信が不可能なと
きには、機器情報のチェックルーチンを使用してプリン
タにブロックサイズの候補値を最大値から順次小さくし
て尋ね、プリンタからの回答がYes(真)になったと
き、そのとき尋ねた候補値のブロックサイズに決定して
データ伝送を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータ装置
から通信線路を介して周辺装置に複数バイトからなるブ
ロック単位でデータを伝送するときの同期制御を行うデ
ータ伝送制御装置に関する。
【0002】
【従来の技術】例えば、セントロニクス仕様のパラレル
インターフェースによるデータ伝送は、図17に示すよ
うに、送信側は、1バイト単位にデータ(Data)ライン
にデータをセットし、Strobe信号をハイレベルからロー
レベルに変化させる。受信側は、Strobe信号がハイレベ
ルからローレベルに変化するのを検出すると、Busy信号
をローレベルからハイレベルに変化させてデータライン
のデータを読み取る。そして、nAck信号をハイレベルか
らローレベルに変化させて、一定時間後nAck信号をハイ
レベルに戻し、Busy信号をローレベルに戻す。
【0003】送信側は、nAck信号のハイレベルへの変化
及びBusy信号のローレベルへの変化を検出すると、1バ
イトの送信が完了したことを確認し、次のバイトの送信
に移る。この方式においては、送信側は、1バイト単位
でnAck信号とBusy信号により受信側のステータスを確認
し、送信の同期を取っている。また、特開平5−173
728号公報のものは、1バイト単位でステータスの確
認を行わずに複数バイトをホストコンピュータからプリ
ンタへ転送する構成を開示している。この装置では、ホ
スト側はプリンタ側のバッファの空き領域の容量を得
て、そのバイト数だけはステータスを確認せずに転送す
る構成になっている。
【0004】すなわち、特開平5−173728号公報
においては、図18に示すように、CPU(中央処理装
置)1、ROM(リード・オンリー・メモリ)2、RA
M(ランダム・アクセス・メモリ)3、表示装置4、入
力装置5、記憶装置6、通信装置7等を備えたホストコ
ンピュータと、CPU8、ROM9、RAM10、出力
制御装置11、この出力制御装置11に制御される出力
装置12、通信装置13、空き領域カウンタ14等を備
えたプリンタとを通信線路15を介して接続し、空き領
域カウンタ14でRAM10内の受信バッファの空き領
域の容量をカウントし、ホスト側からプリンタ側へ通信
装置7、通信線路15及び通信装置13を介してデータ
を伝送する場合に、ホスト側の通信装置7により空き領
域カウンタ14の値を読出し線16を介して読出してプ
リンタ側の受信バッファの空き領域の容量を検出する構
成になっている。
【0005】また、特開平6−282501号公報のも
のは、バイト数を固定値とし、この固定値のバイト数を
送信している最中はステータスを確認せずに転送する構
成になっている。このような各公報に記載されたデータ
の伝送方式の原理について述べると、図19に示すよう
に、送信側はDataとnStrobe (Dataの有効性、Dataの区
切りを示す。)を用いてT1 からT3 までの間、データ
を送信する。T2 において、受信側は、Busy信号を発生
させるが、送信側は、T3 まではこれを検知せず、T3
でこれを確認し、T4 まで次のデータの転送を停止す
る。この方式においては、ステータスを確認せずにデー
タを送信するバイト数の単位、すなわち、ブロックサイ
ズを適切に決める必要がある。
【0006】受信側は、受信バッファに1ブロックのデ
ータを受信する空き領域を必要とする。もし、この容量
がなければ、Busy状態としてブロックの受信を拒否しな
ければならない。従って、ブロックのサイズは受信バッ
ファの容量よりも小さくなければならない。一方、ブロ
ックのサイズが小さすぎると、単位バイト数当たりのス
テータスの確認回数が増えるため、転送速度が遅くな
る。従って、データを高速に転送することが求められる
場合はブロックのサイズを大きくする必要がある。
【0007】
【発明が解決しようとする課題】特開平5−17372
8号公報のものでは、受信側、すなわち、プリンタ側か
ら送信側、すなわち、ホスト側に対して受信バッファの
空き領域サイズを逆方向伝送する機能がなければならな
いという制約があった。また、特開平6−282501
号公報のものでは、データ伝送するブロックのサイズが
常に固定されているため、受信側の受信バッファの容量
が大きい場合にブロックサイズを大きくして伝送すると
いう制御ができず高速化を図ることができなかった。そ
こで、請求項1記載の発明は、送信側であるコンピュー
タ装置と受信側である周辺装置とこれらを接続する通信
線路の組合わせが、逆方向伝送が可能な組合わせであっ
ても、逆方向伝送が不可能な組合わせであっても、コン
ピュータ装置は周辺装置の受信バッファの容量に応じて
伝送するブロックサイズを決定してデータ伝送を行うこ
とができ、従って、状況に応じて最も高速なデータ伝送
ができ、しかも、コンピュータ装置と周辺装置と通信線
路との多様な組合わせが可能で、市販の通信線路の使用
も可能となり、汎用性を向上できると共に経済性を向上
できるデータ伝送制御装置を提供する。
【0008】また、請求項2記載の発明は、送信側であ
るコンピュータ装置と受信側である周辺装置とこれらを
接続する通信線路の組合わせが、逆方向伝送が可能な組
合わせであっても、逆方向伝送が不可能な組合わせであ
っても、コンピュータ装置は逆方向伝送が可能な組合わ
せのときには周辺装置の受信バッファの容量に応じて伝
送するブロックサイズを決定してデータ伝送を行うこと
ができ、従って、状況に応じて最も高速なデータ伝送が
でき、また、逆方向伝送が不可能な組合わせのときには
周辺装置が最低限備えている受信バッファのサイズを伝
送するブロックサイズに決定してデータ伝送を行うこと
ができ、従って、確実なデータ伝送ができ、しかも、コ
ンピュータ装置と周辺装置と通信線路との多様な組合わ
せが可能で、市販の通信線路の使用も可能となり、汎用
性を向上できると共に経済性を向上できるデータ伝送制
御装置を提供する。
【0009】
【課題を解決するための手段】請求項1記載の発明は、
データを送信するコンピュータ装置とデータを受信する
周辺装置との間で、通信線路を介して複数バイトからな
るブロック単位でデータ伝送の同期制御を行うデータ伝
送制御装置において、コンピュータ装置は、周辺装置に
対して双方向通信機能があるか否かを問い合わせる通信
機能問合わせ手段と、この通信機能問合わせ手段による
問合せに対して周辺装置から双方向通信機能の正常な応
答があったか否かを検出する応答検出手段と、この応答
検出手段が正常な応答があったことを検出したとき、周
辺装置に対して受信バッファの空き容量を問合わせる容
量問合わせ手段と、この容量問合わせ手段による問合わ
せにより周辺装置から受信バッファの空き容量を受信す
ると、この空き容量以下のバイト数をデータ伝送のブロ
ックサイズに決定する第1のブロックサイズ決定手段
と、応答検出手段が正常応答でないことを検出したと
き、周辺装置に対して、最初に予め設定した最大ブロッ
クサイズを設定して周辺装置が受信可能か否かの問合わ
せを行い、周辺装置から否定応答があるとブロックサイ
ズを1段階小さく設定して同じく周辺装置が受信可能か
否かの問合わせを行い、周辺装置から肯定応答があると
そのとき設定しているブロックサイズをデータ伝送のブ
ロックサイズに決定する第2のブロックサイズ決定手段
とを備えたものである。
【0010】これにより、コンピュータ装置は、周辺装
置との間で双方向通信が可能か否かをチェックし、双方
向通信が可能なときには周辺装置に対して受信バッファ
の空き容量を問合わせ、この空き容量に応じたブロック
サイズを設定してデータ伝送を行う。また、周辺装置と
の間で双方向通信が不可能なときにはブロックサイズを
設定している最大ブロックから順に小さくして周辺装置
が受信可能なブロックサイズを周辺装置からの肯定応答
によって検出し、この検出したブロックサイズを設定し
てデータ伝送を行う。
【0011】また、請求項2記載の発明は、データを送
信するコンピュータ装置とデータを受信する周辺装置と
の間で、通信線路を介して複数バイトからなるブロック
単位でデータ伝送の同期制御を行うデータ伝送制御装置
において、コンピュータ装置は、周辺装置に対して双方
向通信機能があるか否かを問い合わせる通信機能問合わ
せ手段と、この通信機能問合わせ手段による問合せに対
して周辺装置から双方向通信機能の正常な応答があった
か否かを検出する応答検出手段と、この応答検出手段が
正常な応答があったことを検出したとき、周辺装置に対
して受信バッファの空き容量を問合わせる容量問合わせ
手段と、この容量問合わせ手段による問合わせにより周
辺装置から受信バッファの空き容量を受信すると、この
空き容量以下のバイト数をデータ伝送のブロックサイズ
に決定する第1のブロックサイズ決定手段と、応答検出
手段が正常応答でないことを検出したとき、予め設定し
た固定値のブロックサイズをデータ伝送のブロックサイ
ズに決定する第2のブロックサイズ決定手段とを備えた
ものである。
【0012】これにより、コンピュータ装置は、周辺装
置との間で双方向通信が可能か否かをチェックし、双方
向通信が可能なときには周辺装置に対して受信バッファ
の空き容量を問合わせ、この空き容量に応じたブロック
サイズを設定してデータ伝送を行う。また、周辺装置と
の間で双方向通信が不可能なときには予め設定した固定
値のブロックサイズを設定してデータ伝送を行う。
【0013】
【発明の実施の形態】以下、本発明の一実施の形態を図
面を参照して説明する。図1に示すようにホストコンピ
ュータ装置21と周辺装置、例えばプリンタ22を通信
線路23によって接続している。前記ホストコンピュー
タ装置21は、装置全体を制御するCPU(中央処理装
置)24、このCPU24が実行するプログラムや他の
情報を格納したROM(リード・オンリー・メモリ)2
5、CPU24がプログラムを実行するときにデータを
一時格納するなどデータ処理に使用するメモリ等を設け
たRAM(ランダム・アクセス・メモリ)26、CRT
ディスプレイや液晶表示器等の表示装置27、キーボー
ドやマウス等の入力装置28、ハードディスク装置等か
らなり、CPU24が実行するプログラムや他の情報を
格納した記憶装置29及び前記プリンタ22との通信制
御を行う通信装置30を備え、これらをバスライン31
によって電気的に接続している。
【0014】前記プリンタ22は、装置全体を制御する
CPU32、このCPU32が実行するプログラムや他
の情報を格納したROM(リード・オンリー・メモリ)
33、CPU32がプログラムを実行するときにデータ
を一時格納するなどデータ処理に使用するメモリや受信
バッファ等を設けたRAM(ランダム・アクセス・メモ
リ)34、データを印字出力する出力装置35を駆動制
御する出力制御装置36及び前記ホストコンピュータ装
置21との通信制御を行う通信装置37を備え、これら
をバスライン38によって電気的に接続している。
【0015】ホストコンピュータ装置21からプリンタ
22に対して通信線路23を介してデータ伝送を行うと
き、ホストコンピュータ装置21のCPU24は、図2
に示すブロックサイズ決定処理を行うようになってい
る。すなわち、S1にて、双方向通信機能が使用できる
か否かをチェックする。この双方向通信機能チェック
は、図3に示すように、S11にて通信線路23の信号
線を双方向通信の規定に沿って双方向通信の状態にセッ
トし(通信機能問合わせ手段)、S12にて、プリンタ
22が正常応答を返すか否かを信号線から検出する(応
答検出手段)。
【0016】プリンタ22が正常応答を返したことを検
出すると、S2にて双方向通信が可能であると判断し、
S3にて特定機能チェックAを行う。また、プリンタ2
2が正常応答を返さないことを検出すると、S2にて双
方向通信が不可能であると判断し、S4にて特定機能チ
ェックBを行う。特定機能チェックAは、図4に示すよ
うに、S31にて、双方向通信機能を使用してプリンタ
22に特定機能問い合わせコマンドを送信し、S32に
てプリンタ22からの返答を受信し、S33にて特定機
能があるか否かを判定する。ここで、特定機能とは、ブ
ロック単位でデータを伝送する機能、すなわち、複数の
バイトの伝送に際してステータスの確認を行わずに伝送
する機能を示している。特に、プリンタ側の受信バッフ
ァにブロックサイズの空き容量がない場合はBusy信号を
発生する機能を含んでいる。
【0017】特定機能チェックBは、図5に示すよう
に、S41にて機器情報のチェックに特定機能チェック
をセットし、S42にて特定機能の有無を「機器情報の
チェック」ルーチンを使用して調べる。そして、S43
にて真偽を確認する。特定機能チェックAを行った場合
は、S5にて特定機能があるか否かを判定し、特定機能
があれば、S6にてブロックサイズの決定Aの処理を行
う。また、特定機能が無ければ、ブロックサイズ決定を
失敗としてこのブロックサイズ決定処理を終了する。特
定機能チェックBを行った場合は、S7にて特定機能が
あるか否かを判定し、特定機能があれば、S6にてブロ
ックサイズの決定Bの処理を行う。また、特定機能が無
ければ、ブロックサイズ決定を失敗としてこのブロック
サイズ決定処理を終了する。
【0018】ブロックサイズの決定Aの処理は、双方向
通信機能を使用し、S61にてプリンタ22に受信バッ
ファの空き容量問い合わせコマンドを送信し(容量問い
合わせ手段)、S62にてプリンタ22から受信バッフ
ァの空き容量情報を受信し、S63にて空き容量以下の
値をブロックサイズとして決定する(第1のブロックサ
イズ決定手段)。例えば、このときの値として処理のし
やすい値を選択するように設定することもできる。例え
ば、一般に、偶数のバイト数の方が奇数のバイト数より
も処理しやすいため偶数のバイト数を選択する。
【0019】ブロックサイズの決定Bの処理は第2のブ
ロックサイズ決定手段を構成し、「機器情報のチェッ
ク」ルーチンを使用して、プリンタ22に空き容量があ
る値m以上であるか否かを尋ねる。この質問のコマンド
は、ブロックサイズの候補値毎に予め定められ、ホスト
コンピュータ装置21とプリンタ22の両方に記憶して
いる。ブロックサイズの候補値としては、例えば、10
0Kバイト、50Kバイト、10Kバイト、5Kバイ
ト、1Kバイト、300バイト等を定める。質問のコマ
ンドは必ずしも1バイトに限定するものではない。
【0020】すなわち、ブロックサイズの決定Bの処理
は、図7に示すように、S81にて先ず値mを最大ブロ
ックサイズに設定する。上記の例では100Kバイトと
なる。そして、S82にて機器情報のチェックに空き情
報はm以上かのチェックをセットし、S83にてプリン
タ22の受信バッファの空き情報を「機器情報のチェッ
ク」ルーチンを使用して調べる。そして、S84にて真
偽を確認する。プリンタ22からの回答が真であれば、
S85にて設定した値mをブロックサイズとして決定す
る。プリンタ22からの回答が偽であれば、S86にて
設定したmが最小ブロックサイズか否かをチェックし、
最小ブロックサイズでなければ、S87にてmの値を1
段階小さいサイズにし、再度S82にて機器情報のチェ
ックに空き情報はm以上かのチェックをセットし、S8
3にてプリンタ22の受信バッファの空き情報を「機器
情報のチェック」ルーチンを使用して調べる。また、m
がすでに最小ブロックサイズになっていればブロックサ
イズの設定は失敗としてこの処理を終了する。
【0021】前述したS42及びS83で行う「機器情
報のチェック」ルーチンは、図8に基づいて行うように
なっている。先ず、S91にて待機状態でエラー信号線
をチェックする。すなわち、セントロニクス準拠でデー
タもエラーもない初期状態で開始すると見て、エラー信
号線がエラー状態でないことを確認する。そして、エラ
ー状態で無ければ、S92にて機器情報問い合わせコマ
ンドをプリンタ22に送信する。この場合のコマンドは
1バイトでも複数バイトでもよい。なお、エラー状態で
あればこの機器情報のチェックは失敗としてこの処理を
終了する。
【0022】続いて、S93にてコマンドの最終バイト
の送信中に、プリンタ22からBusy信号線がハイレベル
(アクティブ)となっているときにエラー信号線をチェ
ックする。プリンタ22はコマンドに対してYes
(真)を返す場合はエラー信号線をセットしない。すな
わち、変化させない。また、No(偽)を返す場合はBu
sy信号線がハイレベルとなっているときにエラー信号線
をエラー状態にセットする。ホストコンピュータ装置2
1はこれを調べてプリンタ22の回答とする。
【0023】エラー状態で無ければ、S94にてBusy信
号線がローレベルになった後、再度エラー信号線をチェ
ックする。そして、このときもエラー状態で無ければ、
プリンタ22からの回答を真として検出する。また、エ
ラー状態であれば、この機器情報のチェックは失敗とし
てこの処理を終了する。また、S93のチェックにてエ
ラー状態を検出すると、S95にてBusy信号線がローレ
ベルになった後、再度エラー信号線をチェックする。そ
して、このときもエラー状態で無ければ、プリンタ22
からの回答を偽として検出する。また、エラー状態であ
れば、この機器情報のチェックは失敗としてこの処理を
終了する。このようにBusy信号線がハイレベルとローレ
ベルとでエラー信号線をチェックするのは、コマンドに
よる質問とは別の理由によりエラー信号線がセットされ
ていないことを確認するためである。
【0024】図3に示した双方向通信機能のチェックに
おける通信線路23の各信号線の状態について説明す
る。先ず、双方向通信機能の正常動作として、IEEE
のP1284「パーソナルコンピュータに対する双方向
パラレル周辺装置インターフェースの標準信号方式」に
示される動作を説明する。前述したように図17は、セ
ントロニクス準拠の印刷データ送信のタイミング図であ
り、IEEEのP1284においては互換モードと呼ば
れている。
【0025】各信号線の変化を順を追って説明すると、 1.ホストコンピュータ装置21はデータバスにデータ
の値をセットする。 2.ホストコンピュータ装置21はnStrobe をローレベ
ルに変えてデータバスの値が有効であることを示す。 3.プリンタ22は受信処理を行うため、Busy信号をハ
イレベルにする。 4.ホストコンピュータ装置21はnStrobe をローレベ
ルに変えて所定時間後、nStrobe をハイレベルに戻す。 5.ホストコンピュータ装置21はデータバスにデータ
の値をセットした後、所定時間はデータの値を保持す
る。 6.プリンタ22はnAckをローレベルにする。 7.プリンタ22はnAckをハイレベルに戻す。 8.プリンタ22はBusy信号をローレベルに戻す。
【0026】となり、これにより1バイトの伝送を終了
する。
【0027】次に、IEEEのP1284における双方
向通信(逆方向通信)のタイミングを説明する。双方向
通信においてもホストコンピュータ装置21からプリン
タ22へのデータ伝送はセントロニクス準拠のタイミン
グと同じ動作になる。図9は逆方向伝送のタイミング図
である。ここでは、物理的なインターフェースはセント
ロニクス準拠としているが、データバスは双方向に使用
可能である。なお、図9の信号線の名称R/nW、AckDataR
eq、HostBusy、HostClk 、PtrClk、PtrBusy 、nDataAva
il、XFlag は、セントロニクス規格でのnSelectIn 、PE
rror、nAutoFeed 、nStrobe 、nAck、Busy、nFault、Se
lectにそれぞれ対応している。ホストコンピュータ装置
21からプリンタ22へのデータ伝送の際の各信号線の
意味と働きは従来と同じである。
【0028】逆方向伝送(プリンタ22からホストコン
ピュータ装置21へのデータ伝送)について説明する
と、 1.初期状態はセントロニクス準拠のモードである。先
ず、ホストコンピュータ装置21はHostClk をハイレベ
ルにする。 2.ホストコンピュータ装置21はデータバスにValue
をセットする。Value はこれから入る逆方向伝送のモー
ドを指定する値で、例えば、01h などとする。
【0029】3.ホストコンピュータ装置21はR/nWを
ハイレベルに、HostBusyをローレベルにして、セントロ
ニクス準拠のモードとは異なるモード(逆方向伝送モー
ド)に入ることを示す。 4.プリンタ22はこれに答えて、AckDataReqをハイレ
ベルに、PtrClkをローレベルに、nDataAvailをハイレベ
ルに、XFlag をハイレベルにして、逆方向伝送モードに
入ることを示す。ここで、ホストコンピュータ装置21
はR/nWをハイレベルに、HostBusyをローレベルにした
後、一定時間内にプリンタ22がこの信号線の変化をし
なければプリンタ22が逆方向伝送機能を持たないと判
断する。 5.ホストコンピュータ装置21はHostClk をローレベ
ルにして、Value の値をプリンタ22に取り込ませる。
プリンタ22はValue の値に応じて逆方向伝送モードの
用意をする。
【0030】6.一定時間後、ホストコンピュータ装置
21はHostClk をハイレベルに戻し、HostBusyをハイレ
ベルに戻す。 7.プリンタ22はnDataAvailをローレベルに、AckDat
aReqをローレベルにして、プリンタ22からホストコン
ピュータ装置21へ伝送すべきデータが存在することを
示す。 8.プリンタ22はPtrClkをハイレベルにする。
【0031】9.プリンタ22がnDataAvailをローレベ
ル、AckDataReqをローレベルにすると、その後ホストコ
ンピュータ装置21はデータバスをプリンタ22からの
伝送に使用できるように状態を変更する。 10.ホストコンピュータ装置21はHostBusyをローレ
ベルにしてデータを受信できることを示す。 11.プリンタ22は逆方向に伝送するデータをデータ
バスにセットする。 12.プリンタ22はPtrClkをローレベルにしてデータ
をホストコンピュータ装置21に取込ませる。
【0032】13.ホストコンピュータ装置21は受信
処理を行うため、HostBusyをハイレベルにする。また、
HostClk はローレベルに戻される。 14.プリンタ22は各信号線の状態を現在の状態に合
わせる。 15.プリンタ22はHostBusyのハイレベル、HostClk
のローレベルを確認してPtrClkをハイレベルにする。 16.ホストコンピュータ装置21はHostClk をハイレ
ベルにする。 17.ホストコンピュータ装置21はもしも次のデータ
をプリンタ22から受信できるのであれば、HostBusyを
ローレベルにする。 18.データバスはプリンタ22が逆方向に伝送するデ
ータをデータバスにセットしてから一定時間保持され
る。 19.ホストコンピュータ装置21はR/nWをローレベル
に、HostBusyをハイレベルにして逆方向伝送モードの終
了を要求する。
【0033】20.プリンタ22はデータバスをホスト
コンピュータ装置21からの伝送に使用できるように状
態を変更し、PtrBusy をハイレベルに、nDataAvailをハ
イレベルにする。 21.プリンタ22はPtrClkをローレベルに、XFlag を
ハイレベルに維持して、逆方向伝送モードの終了の作業
中であることを示す。 22.ホストコンピュータ装置21はHostBusyをローレ
ベルにする。 23.プリンタ22はAckDataReq、nDataAvail、XFlag
を現在の状態に合わせる。 24.プリンタ22はPtrClkをハイレベルにしてプリン
タ側が逆方向伝送モードを終了したことを示す。 25.ホストコンピュータ装置21はHostBusyをハイレ
ベルにして逆方向伝送モードを終了したことを示す。 26.プリンタ22はPtrBusy を現在の状態に合わせ
る。ローレベルであれば受信可能状態となる。
【0034】図10は図9のタイミングの途中までを示
す図で、図中T1 において、ホストコンピュータ装置2
1は、R/nWをハイレベルに、HostBusyをローレベルにし
て、逆方向伝送モードに入ることを示す。図中T2 にお
いて、プリンタ22はこれに答えて、AckDataReqをハイ
レベルに、PtrClkをローレベルに、nDataAvailをハイレ
ベルに、XFlag をハイレベルにして、逆方向伝送モード
が使用可能であることを示す。T1 から一定時間内にこ
の変化が起きなければ、ホストコンピュータ装置21は
プリンタ22が逆方向伝送機能を持たないと判断する。
なお、プリンタ22が逆方向伝送機能を持たない場合と
は、プリンタ22の通信装置37が逆方向伝送機能を持
たないか、通信線路23の機能により逆方向伝送ができ
ない場合である。
【0035】前述した図17に示したセントロニクス準
拠の方式でデータ伝送を行う通信線路を通信線路23に
流用した場合、逆方向伝送ができない場合がある。すな
わち、セントロニクス準拠の方式でデータ伝送を行う通
信線路の場合、nAck信号線が存在しなくても、ホストコ
ンピュータ装置21でBusy信号線を確認することによ
り、データ伝送が可能である。また、エラー発生時には
Select、PError、nFaultの3つの信号線が変化してエラ
ーを知らせるが、例えばPError信号線が存在しなくても
問題はない。そのため、経済的な理由から、これらの信
号線を省いた通信線路が使用されている場合がある。し
かしながら、このように信号線の一部を省略した通信線
路を流用した場合は、逆方向伝送はできない。すなわ
ち、図10のタイミングT2 に示されるような信号線の
変化が起きないことになる。図3に示した双方向通信機
能のチェックはこのような機能をチェックすることにな
る。
【0036】図11は、セントロニクス準拠の伝送にお
ける通常のタイミング図で、図8のコマンド伝送におい
ても、複数バイトのコマンド伝送のうち、最終バイトを
除くバイトはこのタイミングに従って伝送する。最終バ
イトは例えば図12に示すタイミングで伝送する。これ
は、nAckがローレベルになると、その期間Select、PErr
or、nFaultがエラー状態に変化することで、プリンタ2
2からの回答がNoであることを示す。この期間の長さ
Te は例えば100μsec と十分長く設定し、ホストコ
ンピュータ装置21が検出に失敗しないようにしてい
る。プリンタ22の回答がYesの場合は、Select、PE
rror、nFaultは変化しない。Select、PError、nFaultの
3つの信号線が同時に変化するので、これらの信号線の
うち1つが有効であれば、ホストコンピュータ装置21
がプリンタ22の回答を得ることができる。例えば、通
信線路においてSelect、nFaultの2つの信号線が断線し
ていても問題はない。
【0037】また、図13は最終バイトを伝送するタイ
ミングの他の例で、この例ではTeの長さによりホスト
コンピュータ装置21の検出を保証するのではなく、ホ
ストコンピュータ装置21がnAck、Select、PError、nF
aultを読み取った後に、nStrobe を一度反転させる(ロ
ーレベルにし、一定時間後にハイレベルにする。)こと
により、ホストコンピュータ装置21がエラー信号線を
検出することを保証する。プリンタ22は、nStrobe の
変化があってからnAck、Select、PError、nFaultを元に
戻す。この図13のタイミングでは、nAck信号線は必須
ではない。ホストコンピュータ装置21は、Busy信号線
がローレベルに戻るまでの間に、すべてのエラー信号線
とnStrobe 信号線の変化がなければ、プリンタ22の回
答をYesと判断する。
【0038】このように、この装置では、ホストコンピ
ュータ装置21は、プリンタ22との間で双方向通信が
可能か否かをチェックし、双方向通信が可能なときには
プリンタ22に対して受信バッファの空き容量をコマン
ドで問合わせ、プリンタ22から空き容量情報を受信す
ると、この空き容量以下の値を送信するデータのバイト
数、すなわち、ブロックサイズを決定する。そして、こ
の決定したブロックサイズに基づいてデータ伝送を行
う。
【0039】また、プンタ22との間で双方向通信が不
可能なときには、予め設定した複数のブッロックサイズ
から先ず最大ブロックサイズの値mを設定して、プリン
タ22に機器情報問い合わせコマンドを送信する。そし
て、Busy状態でエラー信号線をチェックし、エラー状態
を検出すると、値mを1段階小さいブロックサイズの値
にして同様にプリンタ22に機器情報問い合わせコマン
ドを送信する。そして、Busy状態でエラー信号線をチェ
ックし、エラー状態を検出すると、値mをさらに1段階
小さいブロックサイズの値にして同様にプリンタ22に
機器情報問い合わせコマンドを送信する。
【0040】こうしてブロックサイズの値mを1段階ず
つ小さくしていきながらBusy状態でエラー信号線をチェ
ックし、最初にエラー状態とならなかったときの値mに
基づいて送信するデータのバイト数、すなわち、ブロッ
クサイズを決定する。そして、この決定したブロックサ
イズに基づいてデータ伝送を行う。
【0041】このように、ホストコンピュータ装置21
とプリンタ22とこれらを接続する通信線路23の組合
わせが、逆方向伝送が可能な組合わせであっても、逆方
向伝送が不可能な組合わせであっても、ホストコンピュ
ータ装置21はプリンタ22の受信バッファの容量に応
じて伝送するブロックサイズを決定できる。従って、ホ
ストコンピュータ装置21はプリンタ22に対して常に
状況に応じて最も高速なデータ伝送ができる。しかも、
ホストコンピュータ装置21とプリンタ22と通信線路
23と組み合わせがどのような組み合わせであっても高
速なデータ伝送が可能となり、従って、多様な組合わせ
が可能で、市販の通信線路の使用も可能となり、汎用性
を向上できると共に経済性を向上できる。
【0042】なお、この実施の形態において、ブロック
の送信毎に伝送の誤りの有無を確認する機能を持たせれ
ばより好ましい実施の形態となる。すなわち、印刷デー
タの送信処理は、図14に示すように、S101にてプ
リンタ22に1ブロックを送信した後、伝送誤りがある
か否かを調べ、もし、誤りがあればS102にてそのブ
ロックを再送信する。なお、この再送信は一定回数の再
送信(一定回数の伝送誤りの繰返し)を行ったときには
印刷停止となる処理を行うのが望ましい。
【0043】伝送誤りがなければ、S103にてステー
タスをチェックし、エラーが無く、また、ビジーでもな
ければ、S101に戻って次の1ブロックの送信に移
る。そして全ブロックの送信を終了するとこの処理を終
了する。また、S103のステータスチェックにおいて
エラーを検出すると、S104にて印刷を中止してこの
処理を終了する。
【0044】伝送誤りがあるか否かを調べる方法は各種
知られているが、例えば、ブロックの最後に1バイトの
データを追加し、パリティ又はチェックサム(データバ
イトの総和の下1バイト)の値を入れる方法がある。図
19に示すようなブロック単位での伝送において、T1
からT2 までが1ブロックの伝送であるが、この最後に
1バイトのパリティ又はチェックサムの値を挿入すれば
よい。
【0045】次にこの発明の他の実施形態を図面を参照
して説明する。図15はブロックサイズの決定Bの他の
実施形態を示す流れ図で、前述した図7のブロックサイ
ズの決定Bに代えてこのブロックサイズの決定Bの処理
を使用する。この実施の形態は請求項2に対応する実施
の形態である。
【0046】この実施の形態でのブロックサイズの決定
Bの処理は、第2のブロックサイズ決定手段を構成し、
予めホストコンピュータ装置21に記憶している固定値
を使用してブロックサイズを決定する。すなわち、プリ
ンタ22の受信バッファの空き容量を取得することが困
難な場合に使用し、プリンタ22が最低限備えている受
信バッファのサイズを予めホストコンピュータ装置21
に記憶しておき、図2のブロックサイズの決定処理にお
いてS8のブロックサイズの決定Bの処理を行うとき、
図15に示すように、S106にて最小バッファサイズ
以下の固定値をブロックサイズとして決定する。そし
て、この決定したブロックサイズに基づいてデータ伝送
を行う。この場合は、受信バッファの能力を全て使用し
た伝送はできないが確実なデータ伝送が可能となる。
【0047】図16は機器情報のチェックの他の実施形
態を示す流れ図で、前述した図8の機器情報のチェック
に代えてこの機器情報のチェックの処理を使用する。こ
の実施の形態は、エラー信号線が有効であるか否かを確
認してから処理を行う点で図8のチェック処理よりも好
ましい。この実施の形態の機器情報のチェック処理で
は、通信制御コマンド(a) と通信制御コマンド(b) を使
用する。このコマンドの値(1バイト)は、予め定めて
ホストコンピュータ装置21とプリンタ22の両方に記
憶する。
【0048】通信制御コマンド(a) は、このコマンドの
送信のビジー(Busy)状態においてプリンタ22がエラ
ー信号線をセットする約束のコマンドであり、通信制御
コマンド(b) は、エラー信号線をセットしない約束のコ
マンドである。この2つのコマンドを使用することで、
プリンタ22が機器情報問い合わせコマンドの返答以外
の理由でエラー状態となっているか否かを確認し、か
つ、エラー信号線が使用可能であることを確認する。
【0049】先ず、S111にて通信制御コマンド(a)
をプリンタ22に送信し、S112にてビジー状態でエ
ラー信号線をチェックし、エラー信号線の1つが使用可
能であることを確認する。そして、エラー状態を検出す
ると、S113にて通信制御コマンド(b) をプリンタ2
2に送信し、S114にてビジー状態でエラー信号線を
チェックし、プリンタ22が他の理由でエラー状態とな
っていないことを確認する。
【0050】続いて、プリンタ22が他の理由でエラー
状態となっていないことを確認すると、S115にて機
器情報問い合わせコマンドをプリンタ22に送信し、S
116にてビジー状態でエラー信号線をチェックする。
そして、エラー状態でなければ、S117にて通信制御
コマンド(b) をプリンタ22に送信し、S118にてビ
ジー状態でエラー信号線をチェックし、プリンタ22が
他の理由でエラー状態となっていないことを再度確認す
る。この結果、エラー状態でなければ、プリンタ22か
らの回答を真として検出する。また、エラー状態であれ
ば、この機器情報のチェックは失敗としてこの処理を終
了する。また、S116のチェックにおいて、エラー状
態を検出すると、S119にて通信制御コマンド(b) を
プリンタ22に送信し、S120にてビジー状態でエラ
ー信号線をチェックし、プリンタ22が他の理由でエラ
ー状態となっていないことを再度確認する。この結果、
エラー状態でなければ、プリンタ22からの回答を偽と
して検出する。また、エラー状態であれば、この機器情
報のチェックは失敗としてこの処理を終了する。
【0051】このチェック処理における、S112、S
114、S116、S118、S120のビジー状態で
のエラー信号線チェックは以下のように行っている。す
なわち、コマンドの最終バイトの送信中に、プリンタ2
2からBusy信号線がハイレベル(アクティブ)となって
いるときにエラー信号線をチェックし、プリンタ22は
コマンドに対してYes(真)を返す場合はエラー信号
線をセットしない。すなわち、変化させない。また、N
o(偽)を返す場合はBusy信号線がハイレベルとなって
いるときにエラー信号線をエラー状態にセットする。ホ
ストコンピュータ装置21はこれを調べてプリンタ22
の回答とする。なお、ビジー状態でエラー信号線をチェ
ックするときの信号線レベルは、前述した図12と図1
3の2つのタイミングの適用ができる。なお、前述した
実施の形態では、周辺装置としてプリンタを使用した場
合について述べたが必ずしもこれに限定するものではな
く、表示装置や記憶装置を使用したものであってもよ
い。
【0052】
【発明の効果】以上、請求項1記載の発明によれば、送
信側であるコンピュータ装置と受信側である周辺装置と
これらを接続する通信線路の組合わせが、逆方向伝送が
可能な組合わせであっても、逆方向伝送が不可能な組合
わせであっても、コンピュータ装置は周辺装置の受信バ
ッファの容量に応じて伝送するブロックサイズを決定し
てデータ伝送を行うことができ、従って、状況に応じて
最も高速なデータ伝送ができ、しかも、コンピュータ装
置と周辺装置と通信線路との多様な組合わせが可能で、
市販の通信線路の使用も可能となり、汎用性を向上でき
ると共に経済性を向上できる。
【0053】また、請求項2記載の発明によれば、送信
側であるコンピュータ装置と受信側である周辺装置とこ
れらを接続する通信線路の組合わせが、逆方向伝送が可
能な組合わせであっても、逆方向伝送が不可能な組合わ
せであっても、コンピュータ装置は逆方向伝送が可能な
組合わせのときには周辺装置の受信バッファの容量に応
じて伝送するブロックサイズを決定してデータ伝送を行
うことができ、従って、状況に応じて最も高速なデータ
伝送ができ、また、逆方向伝送が不可能な組合わせのと
きには周辺装置が最低限備えている受信バッファのサイ
ズを伝送するブロックサイズに決定してデータ伝送を行
うことができ、従って、確実なデータ伝送ができ、しか
も、コンピュータ装置と周辺装置と通信線路との多様な
組合わせが可能で、市販の通信線路の使用も可能とな
り、汎用性を向上できると共に経済性を向上できる。
【図面の簡単な説明】
【図1】本発明の一実施の形態を示すブロック図。
【図2】同実施の形態におけるホストコンピュータ装置
のCPUによるブロックサイズ決定処理を示す流れ図。
【図3】図2における双方向通信機能のチェック処理を
示す流れ図。
【図4】図2における特定機能チェックA処理を示す流
れ図。
【図5】図2における特定機能チェックB処理を示す流
れ図。
【図6】図2におけるブロックサイズの決定A処理を示
す流れ図。
【図7】図2におけるブロックサイズの決定B処理を示
す流れ図。
【図8】図5及び図7の機器情報のチェック処理を示す
流れ図。
【図9】IEEEのP1284に準拠した逆方向伝送の
タイミング図。
【図10】同実施例における双方向通信の開始時期のタ
イミング図。
【図11】セントロニクス準拠の1バイトの伝送のタイ
ミング図。
【図12】同実施例においてビジー状態でエラー信号線
をチェックするときのタイミング図。
【図13】同実施例においてビジー状態でエラー信号線
をチェックするときの他の例のタイミング図。
【図14】同実施例においてブロック単位で伝送誤りを
確認して伝送を行う制御を適用した場合のホストコンピ
ュータ装置のCPUによる印刷データ送信処理を示す流
れ図。
【図15】本発明の他の実施の形態におけるホストコン
ピュータ装置のCPUによるブロックサイズの決定B処
理を示す流れ図。
【図16】本発明の他の実施の形態におけるホストコン
ピュータ装置のCPUによる機器情報のチェック処理を
示す流れ図。
【図17】セントロニクス準拠のタイミング図。
【図18】従来例を示すブロック図。
【図19】ブロック単位でのデータ伝送の原理を示すタ
イミング図。
【符号の説明】
21…ホストコンピュータ装置 22…プリンタ(周辺装置) 23…通信線路 24,32…CPU(中央処理装置)

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 データを送信するコンピュータ装置とデ
    ータを受信する周辺装置との間で、通信線路を介して複
    数バイトからなるブロック単位でデータ伝送の同期制御
    を行うデータ伝送制御装置において、 前記コンピュータ装置は、前記周辺装置に対して双方向
    通信機能があるか否かを問い合わせる通信機能問合わせ
    手段と、この通信機能問合わせ手段による問合せに対し
    て前記周辺装置から双方向通信機能の正常な応答があっ
    たか否かを検出する応答検出手段と、この応答検出手段
    が正常な応答があったことを検出したとき、前記周辺装
    置に対して受信バッファの空き容量を問合わせる容量問
    合わせ手段と、この容量問合わせ手段による問合わせに
    より前記周辺装置から受信バッファの空き容量を受信す
    ると、この空き容量以下のバイト数をデータ伝送のブロ
    ックサイズに決定する第1のブロックサイズ決定手段
    と、前記応答検出手段が正常応答でないことを検出した
    とき、前記周辺装置に対して、最初に予め設定した最大
    ブロックサイズを設定して前記周辺装置が受信可能か否
    かの問合わせを行い、前記周辺装置から否定応答がある
    とブロックサイズを1段階小さく設定して同じく前記周
    辺装置が受信可能か否かの問合わせを行い、前記周辺装
    置から肯定応答があるとそのとき設定しているブロック
    サイズをデータ伝送のブロックサイズに決定する第2の
    ブロックサイズ決定手段とを備えたことを特徴とするデ
    ータ伝送制御装置。
  2. 【請求項2】 データを送信するコンピュータ装置とデ
    ータを受信する周辺装置との間で、通信線路を介して複
    数バイトからなるブロック単位でデータ伝送の同期制御
    を行うデータ伝送制御装置において、 前記コンピュータ装置は、前記周辺装置に対して双方向
    通信機能があるか否かを問い合わせる通信機能問合わせ
    手段と、この通信機能問合わせ手段による問合せに対し
    て前記周辺装置から双方向通信機能の正常な応答があっ
    たか否かを検出する応答検出手段と、この応答検出手段
    が正常な応答があったことを検出したとき、前記周辺装
    置に対して受信バッファの空き容量を問合わせる容量問
    合わせ手段と、この容量問合わせ手段による問合わせに
    より前記周辺装置から受信バッファの空き容量を受信す
    ると、この空き容量以下のバイト数をデータ伝送のブロ
    ックサイズに決定する第1のブロックサイズ決定手段
    と、前記応答検出手段が正常応答でないことを検出した
    とき、予め設定した固定値のブロックサイズをデータ伝
    送のブロックサイズに決定する第2のブロックサイズ決
    定手段とを備えたことを特徴とするデータ伝送制御装
    置。
JP7250532A 1995-09-28 1995-09-28 データ伝送制御装置 Pending JPH0991100A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7250532A JPH0991100A (ja) 1995-09-28 1995-09-28 データ伝送制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7250532A JPH0991100A (ja) 1995-09-28 1995-09-28 データ伝送制御装置

Publications (1)

Publication Number Publication Date
JPH0991100A true JPH0991100A (ja) 1997-04-04

Family

ID=17209305

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7250532A Pending JPH0991100A (ja) 1995-09-28 1995-09-28 データ伝送制御装置

Country Status (1)

Country Link
JP (1) JPH0991100A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009515250A (ja) * 2005-11-07 2009-04-09 エルジー エレクトロニクス インコーポレイティド 近距離通信ホストコントローラインターフェイス
US7590133B2 (en) 1998-02-24 2009-09-15 Canon Kabushiki Kaisha Data communication system, data communication method, and data communication apparatus
US7623426B2 (en) 2004-09-30 2009-11-24 Teac Corporation Optical disk apparatus

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7590133B2 (en) 1998-02-24 2009-09-15 Canon Kabushiki Kaisha Data communication system, data communication method, and data communication apparatus
US7623426B2 (en) 2004-09-30 2009-11-24 Teac Corporation Optical disk apparatus
JP2009515250A (ja) * 2005-11-07 2009-04-09 エルジー エレクトロニクス インコーポレイティド 近距離通信ホストコントローラインターフェイス

Similar Documents

Publication Publication Date Title
US5123089A (en) Apparatus and protocol for local area network
EP0076880A1 (en) A local area contention network data communication system
US7069305B2 (en) Computer system and a data transfer method thereof using remote direct memory access
JP3134819B2 (ja) データ処理装置
JP3684685B2 (ja) 双方向通信認識方法、双方向通信認識装置および記憶媒体
CN109154925A (zh) 通信设备、通信方法、程序和通信系统
US6058440A (en) Programmable and adaptive resource allocation device and resource use recorder
JPH0991100A (ja) データ伝送制御装置
JP3007926B2 (ja) データキャリア及び識別システム
JP2000174786A (ja) データ処理装置
CN101727421A (zh) Usb存储设备及其接口电路
US5509012A (en) Multi-bus real-time message transmitter
CN109753461B (zh) 一种dma设备及数据传输的方法
CN111490919A (zh) 一种主从机系统、设备终端及其通信校验方法
JPH06290144A (ja) 受信バッファ制御装置
JP2004046891A (ja) データ処理システム、データ処理装置、外部装置及びデータ伝送方法
JP3609701B2 (ja) 単方向シリアルデータ通信方式におけるエラーデータ報知方法及び報知システム
JP3860325B2 (ja) 通信決定方法及びそれに用いられるホスト、複数の端末装置並びにそのプログラムが記憶された記録媒体
JP2752456B2 (ja) チャネル装置
JPH01161562A (ja) データ転送網のデータ再送方式
JP2945123B2 (ja) 通信システム
JP2000049808A (ja) 赤外線通信機能を有する外部記憶装置、データ処理装置および通信システム
JP2000293454A (ja) データ通信装置、データ通信方法、および記録媒体
JP2677895B2 (ja) 多重伝送方式
JP2002057726A (ja) データ受信装置およびデータ受信方法、並びに画像形成装置