JP3768668B2 - インターフェース装置及び制御方法及び印刷装置 - Google Patents

インターフェース装置及び制御方法及び印刷装置 Download PDF

Info

Publication number
JP3768668B2
JP3768668B2 JP00039698A JP39698A JP3768668B2 JP 3768668 B2 JP3768668 B2 JP 3768668B2 JP 00039698 A JP00039698 A JP 00039698A JP 39698 A JP39698 A JP 39698A JP 3768668 B2 JP3768668 B2 JP 3768668B2
Authority
JP
Japan
Prior art keywords
buffer
reception
interface device
data
speed
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 - Fee Related
Application number
JP00039698A
Other languages
English (en)
Other versions
JPH11194920A (ja
Inventor
範之 鈴木
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP00039698A priority Critical patent/JP3768668B2/ja
Priority to US09/218,415 priority patent/US6311237B1/en
Publication of JPH11194920A publication Critical patent/JPH11194920A/ja
Application granted granted Critical
Publication of JP3768668B2 publication Critical patent/JP3768668B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、例えばプリンタ装置等の周辺装置に好適なインターフェース装置および制御方法及びそれを用いた印刷装置に関するものである。
【0002】
【従来の技術】
パーソナルコンピュータ等のホスト装置とプリンタ装置等の周辺装置間でデータを伝送するのに、セントロニクス社仕様のパラレルインターフェース(以下、セントロニクスインターフェースと呼ぶ)が広く用いられてきたのは周知の通りである。さらに今日では、IEEEにおいて上記セントロニクスインターフェースと上位互換の、双方向パラレルインターフェース標準が規定されている。(IEEE Std 1284-1994:Standard Signaling Method for a Bi-directional Parallel Peripheral Interface for Personal Computer.以下、IEEE1284と呼ぶ。)
双方向通信では、例えばプリンタ装置等の周辺装置の動作状況をホスト装置側で監視できるようになるため、ユーザに対してより一層使い勝手の良い操作環境を提供することができる。しかも、単に操作が簡単になるというだけでなく、周辺装置側において動作状況を報知したり、あるいは作業指示を行ったりする操作パネルを簡素化することができるため、結果として装置を安価に提供することが可能となる。
【0003】
さて、セントロニクスインターフェースを備えたプリンタ装置の構成例が特開平8−221250に開示されている。ホスト装置から送られてきたデータは、特開平8−221250号の記載にもあるように、一旦、リングバッファに蓄えられる。リングバッファに蓄えられたデータは、プリンタ装置の印字記録動作に伴い、蓄積された順に取り込まれていくが、
Figure 0003768668
である場合には、データはリングバッファにどんどん溜まっていく。この際、プリンタ装置はリングバッファの残容量が所定量以下になった時点、すなわちバッファフル時にBusy信号をアサートして、ホスト装置からのそれ以上のデータ伝送を抑制する。データの取り込みが進行してリングバッファの残容量が所定量以上に回復すると、Busy信号はネゲートされて、ホスト装置からのデータ伝送が再開される。
【0004】
またプリンタ装置に、例えばインク・記録用紙がなくなったなどの異常事態が発生した場合にはオフラインとなり、この場合にもBusy信号はアサートされ、ホスト装置からのデータ伝送は抑制される。当該異常事態がユーザの手によって修復された後、オンラインキーが押下されると、Busy信号はネゲートされて、ホスト装置からのデータ伝送が再開される。
【0005】
以上はセントロニクスインターフェース、言い換えるならIEEE1284インターフェースのコンパチブルモード時の例であるが、ECPモードの時も基本的な動作には差異はなく、バッファフル時や異常事態発生時には、ホスト装置からのデータ伝送が抑制される(ECPモード時のデータ伝送の抑制には、プリンタ装置側においてIEEE1284に規定されるEvent36を実行しなければよい)。
【0006】
一方、今日のパーソナルコンピュータでは、特開平9−34596号にも開示されているように、キーボード、シリアルポート、2次記憶装置等々のI/O回路は、1〜2個程度のチップセットを用いて構成するのが主流となっている。
【0007】
このようなチップセットは、パーソナルコンピュータ向けとして、幾つかの半導体メーカーから市販されている。例えば米国ナショナルセミコンダクター社のPC87303VULというチップは、IEEE1284パラレルポート、シリアルポート、フロッピーディスクコントローラ、IDEハードドライブデコーダ、キーボードコントローラ、リアルタイムクロック等の回路が1チップ内に納められている。
【0008】
ところで、このようなチップセットのIEEE1284パラレルポート回路には、送受信兼用のFIFOが搭載されていることが多い。送受信兼用であるので、FIFOが空にならないうちは、送受信動作を切り替えることができない様になっている。(強制的に送受信動作を切り替えることも可能ではあるが、その場合はFIFO内の残留データをクリアするしかない。)
さてIEEE1284インターフェースを採用した場合、プリンタ装置側で何らかの異常事態が発生した時には、その状況がECPモードのリバース転送、あるいはニブルモードを用いてパーソナルコンピュータ側に報知される。この時、上記チップセット内のIEEE1284パラレルポート回路は、当然受信動作を行う。
【0009】
【発明が解決しようとする課題】
しかしながら、プリンタ装置側の異常事態発生は全くランダムなタイミングで起こる。したがって、その時直ちにパーソナルコンピュータからのデータ伝送を抑制してしまうと、上記チップセットのFIFO内に未伝送のデータを残してしまうことになるので、送受信動作の切り替えをすることができず、結果として異常事態の報知を行うことができなくなってしまう。
【0010】
プリンタ装置側のリングバッファに十分な残容量が残っている場合には、データ伝送の抑制を直ちにではなく、若干遅らせてやることでFIFOを空にしてやることが可能である。しかしながら、バッファフル状態の時に異常事態が発生してしまった場合にはどうすることもできなくなってしまう。つまり従来技術に置いては、双方向であるIEEE1284インターフェースを採用していても、場合によっては双方向通信がうまく機能しないのである。
【0011】
このことの根本的な解決策は、送受信兼用ではなく、送信、受信で独立してFIFOを持つことである。そのような構成のチップセットを製造し、当該チップセットを用いてパーソナルコンピュータを製造することは、技術的に当然可能である。
【0012】
しかしながらこの解決策では、既に市場に出てしまった何百台というパーソナルコンピュータを救済することができない。
【0013】
本発明は、上記従来技術の問題点に鑑みてなされたものであり、その目的はパーソナルコンピュータ側に何らのハードウェア的変更を加えることなく、周辺装置側の工夫のみで双方向通信を正常に機能させるインターフェース装置及び制御方法及び印刷装置を提供することにある。
【0014】
【課題を解決するための手段】
上記目的を達成するために、本発明は次のような構成から成る。
【0015】
バッファフル状態を通知された場合にデータ送信を停止する外部装置からデータを受信する受信手段と、
受信したデータを格納する、所定量の予備容量を含む受信バッファと、
異常事態を検知する異常検知手段と、
前記受信バッファの残容量が前記予備容量以下となったバッファフル状態を検知して前記外部装置にその旨通知する状態検知手段と、
前記異常検知手段により異常を検知した場合に、前記状態検知手段によりバッファフル状態を検知しているならば前記外部装置に対するその旨の通知を無効にしてから前記外部装置に対して異常の発生を通知する制御手段とを備える。
【0016】
或いは、送受信兼用のバッファを介してデータを送信または受信するホスト装置と接続されたインターフェース装置であって、
前記ホスト装置により送信されたデータを受信する受信手段と、
前記ホスト装置の前記バッファ以上の容量が確保された予備領域を有する、前記受信手段により受信される受信データを格納する受信バッファと、
異常状態が検出された場合には、前記予備領域を使用するように前記受信バッファを制御する制御手段とを備える。
【0017】
或いは、印刷装置であって、上記のいずれかに記載のインターフェース装置により外部装置と接続され、前記インターフェース装置を介して受信したデータに基づいて画像を印刷する印刷手段を備える。
【0018】
【発明の実施の形態】
(第1の実施の形態)
以下に本発明の第1の実施形態につき説明する。図1は、本発明を実施したインターフェース装置を備えたプリンタ装置のブロック図である。図中、CPU10は、プリンタ装置全体の制御を行う。ROM/RAM11のうち、ROM部にはプログラム、フォントデータなどが記憶されており、RAM部は印字バッファのほか、各種作業領域として利用する。印字部12は、モータや印字ヘッド及びそれらを駆動する回路などから構成される。また、印字部12には各種センサが取り付けられており、インクや記録用紙がなくなったり、記録用紙の搬送に弊害(いわゆる、紙詰まり)があったりなどの異常事態を割り込み要求信号として出力できるようになっている。IEEE1284インターフェース回路13には、後述するバッファフル信号あるいはCPU10からの指示に基づいて、不図示のホスト装置からのデータ伝送を抑制する為のデータ伝送抑制回路が内包されている。このデータ伝送の抑制は、コンパチブルモードにあってはBusy信号をアサートすることで、ECPモードにあってはEvent36の実行を保留することで実施される。また、IEEE1284インターフェース回路13は、コンパチブルモードあるいはECPモードで通信しているときに、CPU10からの指示に基づいてnFault信号あるいはnPeriphRequest信号を任意にアサート/ネゲートできるようになっている。また、FD21は、データやプログラムを外部から供給するためのフロッピーディスクドライブ等の取り外し可能な記憶媒体である。これはROMカセット等、データ交換可能な記憶媒体であれば種類は問わない。また、データ交換が不要であれば備えられていなくとも良い。
【0019】
RAM16は受信バッファとして用いられる。図1ではRAM素子をROM/RAM11とRAM16の双方に具備しているが、1ユニットのRAM素子のみで、システムを構成する場合は、ROM/RAM11にはRAM素子を具備せず、RAM16だけを有するようにしてもよい。この場合は、RAM16の一部を受信バッファとして利用し、他の部分は各種作業領域として用いる。DMAコントローラ14は、IEEE1284インターフェース回路13にホスト装置から伝送データが到来した時に、RAM16に当該伝送データをDMA転送する。また、ROM/RAM11の印字バッファ部に必要なだけデータがそろった時に、当該データを印字部12の印字ヘッド(不図示)にDMA転送する際にも使用される。
【0020】
ライトポインタ17及びリードポインタ18は、それぞれカウンタ回路等からなる。DMA転送は、ライトポインタ値が指し示すアドレスに実施される。また、DMAコントローラ14が、伝送データをDMA転送する度ごとにライトポインタ値が1増加するように構成されている。ポインタ値の増加の結果、受信バッファ領域を超えた場合は、受信バッファの先頭アドレスに戻る。
【0021】
リードポインタアドレスアクセスポート15を、CPU10がリードすると、リードポインタ値が指し示す位置のアドレス信号がRAM16に対して出力される。つまり、本ポートをリードすることで、受信バッファからデータを取り込むことができるようになっている。
【0022】
さらに、リードポインタアドレスアクセスポート15をCPU10がリードすると、リードポインタ値が1増加するように構成されている。増加の結果、受信バッファ領域を超えた場合は、受信バッファの先頭アドレスに戻る。したがって、ライトポインタ17とリードポインタ18とで、受信バッファとしていわゆるリングバッファを構成する。なお、ライトポインタ17、リードポインタ18のポインタ値は、装置立ち上げ時等にCPU10によって任意の値に初期化できるようになっている。
【0023】
バッファフル判定回路19は、受信バッファのオーバーフローを防止する為に、ライトポインタ17とリードポインタ18のポインタ値から受信バッファ残容量値を計算して、該残容量が所定値以下になった時に、IEEE1284インターフェース回路13にバッファフル信号を出力する。IEEE1284インターフェース回路13は、バッファフル信号が出力されると、ホスト装置からのデータ伝送を抑制する動作を実施する。受信バッファからのデータの取り込みが進行して、受信バッファ残容量値が所定値にまで回復すると、バッファフル信号は出力されなくなり、データ伝送の抑制は解除される。詳細については後述するが、バファウル判定回路19では、バッファフルの判定を、2つの異なる受信バッファ残容量値で、2回行なうようになっている。また、バッファフル信号およびその反転信号はCPU10に対する割込み要求信号としても出力されていて、バッファフルおよびバッファフル解除をCPU10に報知可能なようになっている。操作パネル20は、電源キー、リジュームキーなどのキーや、ステータス表示用のLEDなどから構成される。リジュームキーは、ホストとの通信が不可能な状態(オフライン状態)から、通信が可能な状態(オンライン状態)に復帰させるためのスイッチである。
<バッファフル判定回路>
図2は、バッファフル判定回路19の詳細な構成を示すブロック図である。図において、受信バッファ残容量値計算回路30は、ライトポインタ値と、リードポインタ値と、受信バッファサイズ設定ポート31にCPU10から設定される受信バッファ全容量値とから、受信バッファの残容量値を計算する。残容量値は次式にて算出することができる。
【0024】
Figure 0003768668
第1バッファフル量設定ポート32には、CPU10の指示に基づいて一回目のバッファフル判定をする為の残容量値が設定される。当該設定値と受信バッファ残容量値計算回路30から出力される実際の残容量値とは、マグニチュードコンパレータ35で比較され、
第1バッファフル量設定値≧受信バッファ残容量値 (4)
である場合には、JKフリップフロップ38のJ端子にセット信号が出力される。
【0025】
第2バッファフル量設定ポート33には、CPU10の指示に基づいて二回目のバッファフル判定をするための残容量値が設定される。当該設定値と受信バッファ残容量値計算回路30から出力される実際の残容量値とは、マグニチュードコンパレータ35で比較され、
第2バッファフル量設定値≧受信バッファ残容量値 (5)
である場合には、JKフリップフロップ39のJ端子にセット信号が出力される。
【0026】
バッファフル解除量設定ポート34には、CPU10の指示に基づいてバッファフル解除を判定するための残容量値が設定される。当該設定値と受信バッファ残容量値計算回路30から出力される実際の残容量値とは、マグニチュードコンパレータ35で比較され、
バッファフル解除量設定値<受信バッファ残容量値 (6)
である場合には、JKフリップフロップ38,39のK端子にリセット信号が出力される。
【0027】
JKフリップフロップ38,39の出力信号は、OR素子42で論理和が取られ、その論理和信号がバッファフル信号としてIEEE1284インターフェース回路13に出力される。ただし、JKフリップフロップ38の出力信号は、AND素子41により、第1バッファフル有効無効設定ポート40の出力信号によってマスクされる。第1バッファフル有効無効設定ポート40の有効・無効出力は、CPU10が任意に設定できるようになっており、有効・無効の設定に対してそれぞれHi、Lowが出力される。
【0028】
第1バッファフル量の設定値と、第2バッファフル量の設定値は
Figure 0003768668
に設定される。従って、まずはじめに第1バッファフル量でバッファフルと判定され、ホスト装置からのデータ伝送が抑制される。しかし、必要であれば第1バッファフル量でのバッファフル判定は無効にすることができる。この場合、データ伝送の抑制は一時的に解除され、受信バッファの残容量が第2バッファフル量に到達するまでは受信動作が第2バッファフル量に到達するまでは受信動作が継続される。
【0029】
そして、第1、第2バッファフル量のいずれについてバッファフルになった場合でも、バッファフル解除量にまで受信バッファの残容量が回復すると、データ伝送の抑制は解除されて受信動作が再開される。
【0030】
また、図2には不図示であるが、JKフリップフロップ38,39の出力信号はCPU10で読み出し可能になっており、現在第1あるいは第2バッファフル量でバッファフル状態にあるか否かが認知できるようになっている。さらに、装置立ち上げ時等にCPU10からJKフリップフロップ38,39を初期化できるようになっている。
<バッファフルの判定>
次に、図3〜図6のフローチャートを用いて、どのようなときに第1バッファフル量でのバッファフル判定を無効とするのかについて説明する。これらフローチャートの手順は、図1におけるCPU10により、ROM/RAM11に格納されたプログラムを実行することで実現される。
【0031】
図3は初期化処理のフローチャートである。電源投入後、まずステップ100において、ライトポインタ値とリードポインタ値とを初期化する。次いでステップ101において、図2で説明した各設定ポートを初期化する。例えば、受信バッファ全容量値を256kバイト、第1バッファフル量を12kバイト、第2バッファフル量を64バイト、バッファフル解除量を24kバイトに設定する。また、第1バッファフル有効無効設定は有効に設定しておく。続いて、ステップ102において、JKフリップフロップ38,39を初期化しておく。
【0032】
以上の初期化処理後は、特にフローチャートで図示しないが、本実施例のプリンタ装置はプリンタとしての通常の動作を行う。
【0033】
図4は、図2のバッファフル信号43によるバッファフルの割込み要求信号がCPU10に到来した場合の、割り込み処理のフローチャートである。ステップ200において、バッファフル状態になったことをROM/RAM11のRAM部の作業領域に記憶しておく。なお、ステップ200の処理期間中は、他の割り込みの受け付けを禁止しておく。次にステップ201において、第1バッファフル量でのバッファフルであるか、第2バッファフル量でのバッファフルであるかを判定する。どちらであるかは、JKフリップフロップ38,39の出力信号から判定可能である。第2バッファフル量でのバッファフルの場合は、何もせずに割り込み処理を終了する。
【0034】
次いで、ステップ202においてプリンタ装置に何らかの異常事態が発生しているか否かを判定する。異常事態が何も発生していなければ、何もせずに割り込み処理を終了する。何らかの異常事態が発生している場合は、ステップ203において第1バッファフル有効無効設定を無効に設定する。
【0035】
図5は、印字部12のセンサからの割り込み要求信号がCPU10に到来した場合の、割り込み処理のフローチャートである。
【0036】
まず、ステップ300において印字動作を継続することができない異常事態の発生であるか否かを判定する。異常事態でない場合は、ステップ301において当該センサ信号に対応する処理を実行して、割り込み処理を終了する。一方、異常事態であった場合には、ステップ302において異常事態が発生したことをROM/RAM11のRAM部の作業領域に記憶しておく。図2のステップ202における異常事態発生の判定は、実際には係る作業領域に記憶しておいた情報に基づいて行なわれる。なお、ステップ302の処理期間中は、他の割り込みの受け付けを禁止しておく。そしてステップ303において、ホスト装置に異常事態が発生したことを報知すべく、コンパチブルモード時にあってはnFault信号を、またECPモード時にあってはnPeriphRequst信号をアサートする。これらの信号は、ともにIEEE1284に規定された信号である。
【0037】
次にステップ304においてバッファフル状態にあるか否かを判定する。当該判定は、ステップ200において作業領域に記憶しておいた情報に基づいて行われる。バッファフル状態にある場合は、ステップ305において第1バッファフル有効無効設定を無効に設定する。次いでステップ306で、プリンタ装置からホスト装置へのニブルモードあるいはECPモードのリバース転送でのデータの伝送が可能と判定された場合は、ステップ307においてホスト装置に異常事態の発生を報知する。報知のための送信の終了後、ステップ308において、ステップ303でアサートしたnFalt信号またはnPeriphRequst信号をネゲートし、さらにCPU10の指示によりホスト装置からのデータ伝送を抑制する。このためには、例えばコンパチブルモードであればBusy信号をアサートする。この段階でプリンタ装置はオフライン状態となる。
【0038】
ステップ306での判定の結果、ホスト装置が逆向きのデータ伝送、すなわちプリンタからホストへのデータ伝送を許可していない場合は、そのままステップ309に至る。
【0039】
ステップ309では、オフライン状態からの復帰のために操作パネル20のリジュームキーが押下されたか否かを判定する。リジュームキーが押下された場合は、すなわちオフライン状態からの復帰が指示された場合は、ステップ310に至り、ステップ302で記憶しておいた異常事態の発生情報をクリアする。なお、ステップ310の処理期間中は、他の割り込みの受け付けを禁止しておく。次いでステップ311で、CPU10の指示によるデータ伝送の抑制を解除し、割り込み処理を終了する。例えば、コンパチブルモードにおいては、ステップS308でBusy信号をアサートしたのであればそれをネゲートしてデータ伝送の抑制を解除する。
【0040】
リジュームキーが未だ押下されない場合、すなわちオフライン状態の解除が指示されていない場合はステップ312に至る。ステップ312では、ホスト装置に対する異常事態の発生の報知が終了しているか否かを判定する。終了している場合はステップ309から、また終了していない場合はステップ306からの処理を継続する。
【0041】
図6は、図2におけるバッファフルの反転信号44により、バッファフル解除の割り込み要求信号がCPU10に到来した場合の、割り込み処理のフローチャートである。ステップ400において、ステップ200で記憶しておいたバッファフル状態の情報をクリアする。次いでステップ401において第1バッファフル有効無効設定を有効に設定する。
【0042】
このようにして異常事態が発生した場合にバッファフル/バッファフル解除の処理を行なうことで、次のような動作上の特徴が生じる。
(1)プリンタに異常事態が発生しても、直ちにはホスト装置からのデータ伝送を抑制しない。
(2)データ伝送の抑制は、ホスト装置に対して異常事態発生の報知が終了した後に行う。
(3)図7の受信バッファの模式図(リングバッファなので輪状にしてある)にあるように、第1バッファフル量aから第2バッファフル量(a+b)までの12kバイト(図中b)を予備領域とし、通常は先頭から第1バッファフル量まで約244kバイト(図中a)を使用する。
(4)第1バッファフル量である244kbyteの領域を使いきるとバッファフルになり、ホスト装置からのデータ伝送は抑制される。通常は、このまま受信バッファの空き領域の回復を待って上記データ伝送の抑制を解除する。
(5)バッファフル時に異常事態が発生したり、異常事態が発生した後にバッファフルになってしまった場合には、(4)での第1バッファフル量を基準としたバッファフル状態を解除して(図5のステップ305)、上記予備領域にデータを受信する。
【0043】
ここで予備領域のサイズをホスト側のチップセットのFIFOと同容量以上にしておけば、ホスト装置側のチップセットのFIFOに未伝送のデータを残留させることがない。したがって、第1バッファフルが生じた時点でホストからのデータ転送を抑制しておけば、ホストのチップセットのFIFOにデータが残留することなく、ホストからのデータ転送を止めることができる。このため、ホストがそのFIFOを受信時にも利用するとしても、プリンタからホストへのデータの転送が可能になり、常に双方向通信を実施することが可能になる。
【0044】
このように、ホスト装置側で、送信FIFOと受信FIFOとを独立してもたずに兼用している場合に、印刷装置で生じた異常を、FIFO内のデータを失わせることなくホストからのデータ送信を中断させた上で、ホストに通知することができる。
【0045】
従って、既に市場に出てしまったコンピュータとの組み合わせにおいても、IEEE1284インタフェースが持つ双方向通信の機能を十分に活用したプリンタ装置を提供することができる。
【0046】
また、IEEE1284など既存のプロトコルに違反するところがないため、パーソナルコンピュータ側の動作には従来との互換性が保たれる。つまり本発明を採用したプリンタ装置に接続する場合と、そうでないプリンタ装置に接続する場合とで、パーソナルコンピュータ側の動作を変更する必要がない。
(第2の実施の形態)
上記第1の実施の形態では、受信バッファの予備領域にデータを受信してホスト装置側のFIFOを空にし、その後にプリンタ装置から異常事態の発生をホスト装置に報知するようになっている。この方式が正しく機能するには、ホスト装置がnFault信号あるいはnPeriphRequst信号がアサートされたのを検知したら、適当な区切りで送信を中断して、プリンタ装置からホスト装置へのデータ伝送を許可してやることが前提となっている。
【0047】
ところがホスト装置によっては、nFault信号あるいはnPeriphRequst信号のアサート/ネゲートに関係なく、概ね4秒程度のインターバルでしかプリンタ装置からホスト装置へのデータ伝送の許可しないものがあることがわかった。このようなホスト装置の場合、上記実施例では予備領域を12kバイトとしているから、
12k[バイト]/4[秒]=3k[バイト/秒] (8)
となって、受信速度が3kバイト/秒を超えると異常事態の発生をホスト装置に報知する前に上記予備領域を使い果たしてしまう。IEEE1284インターフェースの転送速度は遅いものでも数十kバイト/秒以上であるから、3kバイト/秒は容易に超える。
【0048】
本発明における第2の実施形態では、このことに対処するために更なる工夫をした。図8は本実施例におけるプリンタ装置のブロック図である。図中、符号10〜12、14〜20は図1で説明したものと全く同じである。IEEE1284インターフェース13’は、図1のIEEE1284インターフェース回路13と異なり、内部にCPU10からの指示に基づき受信速度を低速化する低速受信制御回路を備えている。
【0049】
受信速度を低速化するには、コンパチブルモードにあっては、図9に示すようにnAck信号をアサートする前に付加時間Tdを挿入すればよい。また、ECPモードにあっては、図10に示すようにIEEE1284に規定されるEvent32の前、あるいは図11に示すようにEvent36の前に付加時間Tdを挿入すればよい。付加時間Tdの長さは予備領域の大きさとインターバル間隔から決めることができる。本実施例では2m秒とする。この場合、受信速度は概ね、
1[バイト]/2m[秒]=500[バイト/秒] (9)
程度となり、上記の3kバイト/秒を下回る。
【0050】
次に、いつ受信速度を低速化するのかについて説明する。図12は、第2の実施例における印字部12のセンサからの割り込み要求信号がCPU10に到来した場合の、割り込み処理のフローチャートである。図中、ステップ300〜312の処理は図5の場合と同じである。図5に示したフローチャートと異なるのは、ステップ303とステップ304との間にステップ303’が挿入され、またステップ310とステップ311との間にステップ310’が挿入されている点である。本実施形態では、異常事態が発生したらステップ303’において低速化の指示を行い、リジュームキーが押下された後、ステップ310’において低速化の指示を解除する。
【0051】
つまり本実施形態では、異常事態発生後は受信速度が低下するので、仮に予備領域への受信が始まっていても、予備領域を使い尽くしてしまう前にプリンタ装置からホスト装置へのデータ伝送が許可されて、異常事態の発生をホスト装置に報知しすることが可能になる。
(第3の実施の形態)
受信速度の低速化は、以下のように実施してもよい。図13は第3の実施の形態におけるバッファフルの割り込み要求信号がCPU10に到来した場合の、割り込み処理のフローチャートである。図中、ステップ200〜203の処理は図4の場合と同じである。図4に示したフローチャートと異なるのは、ステップ203’が、追加されている点である。
【0052】
また図14は、第3の実施の形態における印字部12のセンサからの割り込み要求信号がCPU10に到来した場合の、割り込み処理のフローチャートである。図12に示したフローチャートと異なるのは、ステップ303’が、ステップ304とステップ305の間に挿入されている点である。
【0053】
本実施形態では、異常事態が発生して予備領域への受信を開始したら、ステップ203’またはステップ303’において低速化の指示を行い、リジュームキーが押下された後、ステップ310’において低速化の指示を解除する。
【0054】
つまり本実施形態においては、予備領域に受信している間は受信速度が低下し、予備領域を使い尽くしてしまう前にプリンタ装置からホスト装置へのデータ伝送が許可されて、異常事態の発生をホスト装置に報知することが可能になる。
【0055】
以上説明してきたように第2、第3の実施形態によれば、概ね4秒程度のインターバルでしかプリンタ装置からホスト装置へのデータ伝送の許可しないホスト装置に対しても、プリンタで生じた異常事態を通報することが可能となる。
【0056】
なお第1〜第3の実施例ともIEEE1284インターフェースを備えたプリンタ装置を例に説明を行なったが、本発明を他のインターフェースに応用することももちろん可能である。また、プリンタ装置に限らず、他の周辺装置に本発明を応用しても、優れた効果を発揮する。
【0057】
【他の実施形態】
なお、本発明は、複数の機器(例えばホストコンピュータ,インタフェイス機器,リーダ,プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機,ファクシミリ装置など)に適用してもよい。
【0058】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても達成される。
【0059】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0060】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
【0061】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0062】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0063】
【発明の効果】
以上説明してきたように本発明によれば、ホスト装置側で、送信FIFOと受信FIFOとを独立してもたずに兼用している場合に、印刷装置で生じた異常を、FIFO内のデータを失わせることなくホストからのデータ送信を中断させた上で、ホストに通知することができる。
【0064】
更に、ホスト側の制御は従前であり、印刷装置側の制御によって上記効果を得ているために、既に市場に出てしまったコンピュータとの組み合わせにおいても、双方向通信の機能を十分に活用したプリンタ装置を提供することができるという優れた効果を有する。
【0065】
また本発明を実施しても、IEEE1284など既存のプロトコルに違反するところがないため、パーソナルコンピュータ側の動作には従来との互換性が保たれる。つまり本発明を採用したプリンタ装置に接続する場合と、そうでないプリンタ装置に接続する場合とで、パーソナルコンピュータ側の動作を変更する必要がない。
【0066】
【図面の簡単な説明】
【図1】本発明を実施したプリンタ装置の構成図である。
【図2】バッファフル判定回路の構成図である。
【図3】割り込み処理のフローチャートである。
【図4】割り込み処理のフローチャートである。
【図5】割り込み処理のフローチャートである。
【図6】割り込み処理のフローチャートである。
【図7】受信バッファの模式図である。
【図8】第2の実施例におけるプリンタ装置の構成図である。
【図9】受信速度の低速化を説明するためのタイミング図である。
【図10】受信速度の低速化を説明するためのタイミング図である。
【図11】受信速度の低速化を説明するためのタイミング図である。
【図12】第2の実施例における割り込み処理のフローチャートである。
【図13】第3の実施例における割り込み処理のフローチャートである。
【図14】第3の実施例における割り込み処理のフローチャートである。
【符号の説明】
10 CPU
11 ROM/RAM
12 印字部
13 IEEE1284インターフェース回路
14 DMAコントローラ
15 リードポインタアドレスアクセスポート
16 RAM
17 ライトポインタ
18 リードポインタ
19 バッファフル判定回路
20 操作パネル

Claims (15)

  1. バッファフル状態を通知された場合にデータ送信を停止する外部装置からデータを受信する受信手段と、
    受信したデータを格納する、所定量の予備容量を含む受信バッファと、異常事態を検知する異常検知手段と、
    前記受信バッファの残容量が前記予備容量以下となったバッファフル状態を検知して前記外部装置にその旨通知する状態検知手段と、
    前記異常検知手段により異常を検知した場合に、前記状態検知手段によりバッファフル状態を検知しているならば前記外部装置に対するその旨の通知を無効にしてから前記外部装置に対して異常の発生を通知する制御手段と
    を備えることを特徴とするインターフェース装置。
  2. 前記状態検知手段は更に、前記予備容量が所定量以下の場合に、前記制御手段により無効にできないバッファフル状態を外部装置に通知することを特徴とする請求項1に記載のインターフェース装置。
  3. 前記外部装置は当該インターフェース装置とのデータの交換に送受信兼用バッファを用い、前記予備容量は、少なくとも前記送受信兼用バッファ容量と同じであることを特徴とする請求項1に記載のインターフェース装置。
  4. 前記受信手段による受信速度を低速化させる受信速度低速化手段を更に備え、前記制御手段は、前記検知手段により異常事態が検知されたなら受信速度を低速にすることを特徴とした請求項1に記載のインターフェース装置。
  5. 前記受信手段による受信速度を低速化させる受信速度低速化手段を更に備え、前記制御手段は、外部装置に対するバッファフル状態の通知を無効にしてから受信速度を低速にすることを特徴とした請求項1に記載のインターフェース装置。
  6. 前記予備容量を設定する設定手段を更に備えることを特徴とする請求項1に記載のインターフェース装置。
  7. 前記制御手段は、異常を検知していない場合にバッファフル状態を検知した場合には、バッファフル状態をそのまま外部装置に通知することを特徴とする請求項1に記載のインターフェース装置。
  8. 請求項1乃至のいずれかに記載のインターフェース装置により外部装置と接続され、前記インターフェース装置を介して受信したデータに基づいて画像を印刷する印刷手段を備えることを特徴とする印刷装置。
  9. 受信バッファのバッファフル状態を通知された場合にデータ送信を停止する外部装置と接続される周辺装置を制御する制御方法であって、
    異常が検知された場合に、受信バッファの残容量が前記予備容量以下となったバッファフル状態が検知されているならば、前記外部装置に対するバッファフル状態の通知を無効にしてから前記外部装置に対して異常の発生を通知することを特徴とする制御方法。
  10. 送受信兼用のバッファを介してデータを送信または受信するホスト装置と接続されたインターフェース装置であって、
    前記ホスト装置により送信されたデータを受信する受信手段と、
    前記ホスト装置の前記バッファ以上の容量が確保された予備領域を有する、前記受信手 段により受信される受信データを格納する受信バッファと、
    異常状態が検出された場合には、前記予備領域を使用するように前記受信バッファを制御する制御手段と
    を備えることを特徴とするインターフェース装置。
  11. 前記制御手段は、異常状態を表すデータを受信する前記ホスト装置の前記バッファがバッファフルとならないように前記予備領域を使用すべく前記受信バッファを制御することを特徴とする請求項10に記載のインターフェース装置。
  12. 前記受信手段によるデータ受信速度を低下させる低速化手段を更に備え、
    前記制御手段は、前記受信バッファの利用可能な残容量が前記予備領域の容量よりも大きな所定値と等しいか、あるいは該所定値よりも小さい場合に受信速度を低下させ、前記ホスト装置に送信すべきデータが生成された場合に、受信速度を元の速度に戻すことを特徴とする請求項10に記載のインターフェース装置。
  13. 前記受信手段によるデータ受信速度を低下させる低速化手段を更に備え、
    前記制御手段は、前記受信バッファの利用可能な残容量が前記予備領域の容量よりも大きな所定値と等しいか、あるいは該所定値よりも小さい場合に受信速度を低下させ、所定時間経過後に、受信速度を元の速度に戻すことを特徴とする請求項10に記載のインターフェース装置。
  14. 前記所定値は、前記インターフェース装置が受信処理を実行できない最長の期間に、前記低下された受信速度でデータを受信でき格納できる容量であることを特徴とする請求項11に記載のインターフェース装置。
  15. ホスト装置と接続されたインターフェース装置の制御方法であって、
    前記ホスト装置の送受信兼用のバッファを介してデータを送信または受信する工程と、
    前記ホスト装置の前記バッファ以上の容量が確保された予備領域を有する、前記インターフェース装置の受信バッファに受信データを格納する工程と、
    異常状態が検出された場合には、前記予備領域を使用するように前記受信バッファを制御する工程と
    を有することを特徴とする制御方法。
JP00039698A 1998-01-05 1998-01-05 インターフェース装置及び制御方法及び印刷装置 Expired - Fee Related JP3768668B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP00039698A JP3768668B2 (ja) 1998-01-05 1998-01-05 インターフェース装置及び制御方法及び印刷装置
US09/218,415 US6311237B1 (en) 1998-01-05 1998-12-22 System including single host buffer for transmit and receive data and reception buffer in interface device having stand-by area for use by host buffer when abnormal state is detected

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00039698A JP3768668B2 (ja) 1998-01-05 1998-01-05 インターフェース装置及び制御方法及び印刷装置

Publications (2)

Publication Number Publication Date
JPH11194920A JPH11194920A (ja) 1999-07-21
JP3768668B2 true JP3768668B2 (ja) 2006-04-19

Family

ID=11472656

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00039698A Expired - Fee Related JP3768668B2 (ja) 1998-01-05 1998-01-05 インターフェース装置及び制御方法及び印刷装置

Country Status (1)

Country Link
JP (1) JP3768668B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6025303B2 (ja) * 2011-02-14 2016-11-16 キヤノン株式会社 印刷制御装置、方法及びプログラム
WO2013129031A1 (ja) 2012-02-29 2013-09-06 三菱電機株式会社 データ転送装置、データ転送方法及びデータ転送プログラム

Also Published As

Publication number Publication date
JPH11194920A (ja) 1999-07-21

Similar Documents

Publication Publication Date Title
EP3273326B1 (en) Control apparatus and power control method for control apparatus
JP3882452B2 (ja) 受信装置及び通信装置
US6311237B1 (en) System including single host buffer for transmit and receive data and reception buffer in interface device having stand-by area for use by host buffer when abnormal state is detected
US10275191B2 (en) Information processing apparatus including nonvolatile storage device, and control method for same
JP3768668B2 (ja) インターフェース装置及び制御方法及び印刷装置
US5926650A (en) Method and system utilizing a negotiation phase to transfer commands and data in separate modes over a host/peripheral interface
US6952276B2 (en) Printer detecting data precisely in response to change in data transmission speed
US7925799B2 (en) Serial ATA interface control circuit and power management method wherein start and completion of data transfer is monitored during DMA operations using memory control unit
JP4295420B2 (ja) プリンタ制御装置のブランク頁印刷方法
JP5736847B2 (ja) 画像形成装置およびその制御方法
US6388761B1 (en) Multi-function peripheral device
US20050198428A1 (en) Interface apparatus and image forming apparatus
US20040243862A1 (en) Apparatus, method and program product for preventing system mode change by mistaken instruction
JP3298392B2 (ja) 画像処理装置
US20030053130A1 (en) Recording apparatus, interface control apparatus, and interface control method
JP3210364B2 (ja) 印刷装置および印刷装置のデータ受信方法
JP2005209230A (ja) 記憶装置
JP3846089B2 (ja) インターフェース装置、その制御方法および情報記録媒体
US20230101600A1 (en) Information processing apparatus and control method for information processing apparatus
JP2000267826A (ja) 画像出力制御装置および画像出力制御方法
JP2577377Y2 (ja) 印字制御装置
JP2004110619A (ja) データ通信装置
JP2004181769A (ja) 印刷装置
JP2950725B2 (ja) 画像通信装置
JPH11227264A (ja) 印刷制御装置、印刷制御方法、及び記憶媒体

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20031210

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20031210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051226

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060202

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100210

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100210

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110210

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120210

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130210

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees