(57)【特許請求の範囲】
【請求項１】
ＣＰＵによるソフトウェアロジックを主体として上位装置よりデータを受信して印刷する記録装置であって、
上位装置からのストローブ信号より所定の出力状態に反転し、前記ＣＰＵからのデータ取得完了信号によりリセットされるフリップフロップと、
このフリップフロップが所定の出力状態に反転したタイミングに基づいて上位装置に対するビジー信号をアクティブにし、フリップフロップがリセットされたタイミングに基づいてビジー信号を非アクティブにするタイミングを決定して、上位装置にビジー信号を送信するビジー信号出力回路と、
前記フリップフロップがリセットされたタイミングに基づいて上位装置に対するアクノリッジ信号をアクティブにするタイミングおよびアクノリッジ信号を非アクティブにするタイミングを決定して、上位装置にアクノリッジ信号を送信するアクノリッジ信号出力回路と、を備え、
前記ビジー信号出力回路は、前記フリップフロップがリセットされたタイミングを所定時間遅延させてビジー信号を非アクティブにするタイミングを決定するビジー非アクティブ遅延回路を有し、
前記アクノリッジ信号出力回路は、前記フリップフロップがリセットされたタイミングを所定時間遅延させてアクノリッジ信号をアクティブにするタイミングを決定するアクノリッジアクティブ遅延回路と、前記フリップフロップがリセットされたタイミングを所定時間遅延させてアクノリッジ信号を非アクティブにするタイミングを決定するアクノリッジ非アクティブ遅延回路と、を有し、
前記ビジー非アクティブ遅延回路、前記アクノリッジアクティブ遅延回路およびアクノリッジ非アクティブ遅延回路の１つ以上は、前記ＣＰＵからの信号に基づいて、前記各所定時間を変更可能であることを特徴とする記録装置。
【請求項２】
前記アクノリッジアクティブ遅延回路およびアクノリッジ非アクティブ遅延回路は、前記ＣＰＵからの信号によって、前記フリップフロップからの信号に基づくタイミングの決定を禁止可能であることを特徴とする請求項１記載の記録装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、インクジェット型プリンタ等の記録装置、特に、ＣＰＵによるソフトウェアロジックを主体として上位装置よりデータを受信して印刷する記録装置のハンドシェイク処理に関する。
【０００２】
【従来の技術】
従来、プリンタ等の記録装置においては、上位装置とのパラレルインターフェイスのハンドシェイクは、記録装置に組み込まれたプログラムに基づくＣＰＵの処理にて行っていた。尚、本明細書と図面においては、”／”はローレベルでアクティブであることを示す。
【０００３】
例えば、図５に示すごとく、ハンドシェイク信号として、上位装置からのストローブ信号（ＳＴＢ／）がアクティブになると、ストローブ信号の立ち下がりのタイミングから計時を開始して、時間ｔａ後にビジー信号（ＢＵＳＹ）をアクティブにした後、上位装置が出力している８ビット（１バイト）のパラレルデータを読み取り、次にビジー信号がアクティブになってから時間ｔｂ後に、アクノリッジ信号（ＡＣＫ／）をアクティブにし、次にアクノリッジ信号がアクティブになってから時間ｔｃ後にビジー信号を非アクティブにし、更にそこから時間ｔｄ後にアクノリッジ信号を非アクティブにすると言う処理を、上位装置から１バイト送信されるごとに繰り返していた。
【０００４】
【発明が解決しようとする課題】
これらの時間ｔａ，ｔｂ，ｔｃ，ｔｄの内、アクノリッジ信号のアクティブ状態保持時間（ｔｃ＋ｔｄ）は、その最大値が規定されていて、立ち上げから立ち下げまでのタイミングの間隔は厳密な管理が必要とされていた。
【０００５】
このタイミングを厳密に検出してアクノリッジ信号を反転させるために、ＣＰＵはアクノリッジ信号がアクティブ状態に保持されている間は、一旦、他の処理をすべて中断して、ＣＰＵの処理を時間の測定に費やさなくてはならなかった。
このアクノリッジ信号がアクティブである保持時間は、１回につき少なくとも１０μ秒は必要であった。この保持時間もプリンタの解像度が低い場合は、データの送信速度は低速であり、一行印刷するデータを受信する間に生じるトータルの前記保持時間も、印刷速度に影響するほどではなかった。
【０００６】
しかし、近年、高品質の印刷の要求が高まっているため、プリンタの解像度が次第に高くなって来ている。高解像度、例えば、ドット解像度として、７２０ｄｐｉのプリンタでは１行（縦６０ドット×横８インチとする）で最大４３，２００バイトのデータを受信しなくてはならない。この４３，２００バイトのデータ受信には、約０．４３秒がアクノリッジ信号の保持時間計測のみに用いられることになる。
【０００７】
プリンタは、この１行を０．６秒で印刷するが、プリンタの最大の印刷速度にて印刷を行わせるには、この０．６秒の間に、ＣＰＵは上位装置からのデータの受信に加えて印字に必要な処理やその他の制御処理を実施する必要がある。しかし、０．６秒の内、約０．４３秒は、ただ時間を測定することのみに費やされ、残りの約０．１７秒のみが、各種の制御に用いられるに過ぎない。尚、ビジー信号のアクティブ・非アクティブの切替タイミングもＣＰＵが計測して行っているので、更に制御に割く時間が少なくなる。
【０００８】
このように、プリンタの解像度が向上すればするほど、より短い時間に、プリンタ制御に必要な処理を行わなくてはならない。そのため、プリンタの印刷速度を落とさずに印刷させるために、極めて高速のＣＰＵを採用することになり、コストアップにつながった。
【０００９】
本発明は、ハンドシェイクをハードウエアロジックにより実行することにより、単なる計時のために費やす時間を減少し、ＣＰＵに各種制御の時間を増加させて、高価なＣＰＵを用いなくても、印刷速度等に悪影響を与えることがないようにすると共に、上位装置のハンドシェイクの様式に適合させることが容易にできる記録装置を提供するものである。
【００１０】
【課題を解決するための手段及び発明の効果】
請求項１記載の発明は、
ＣＰＵによるソフトウェアロジックを主体として上位装置よりデータを受信して印刷する記録装置であって、
上位装置からのストローブ信号より所定の出力状態に反転し、前記ＣＰＵからのデータ取得完了信号によりリセットされるフリップフロップと、
このフリップフロップが所定の出力状態に反転したタイミングに基づいて上位装置に対するビジー信号をアクティブにし、フリップフロップがリセットされたタイミングに基づいてビジー信号を非アクティブにするタイミングを決定して、上位装置にビジー信号を送信するビジー信号出力回路と、
前記フリップフロップがリセットされたタイミングに基づいて上位装置に対するアクノリッジ信号をアクティブにするタイミングおよびアクノリッジ信号を非アクティブにするタイミングを決定して、上位装置にアクノリッジ信号を送信するアクノリッジ信号出力回路と、を備え、
前記ビジー信号出力回路は、前記フリップフロップがリセットされたタイミングを所定時間遅延させてビジー信号を非アクティブにするタイミングを決定するビジー非アクティブ遅延回路を有し、
前記アクノリッジ信号出力回路は、前記フリップフロップがリセットされたタイミングを所定時間遅延させてアクノリッジ信号をアクティブにするタイミングを決定するアクノリッジアクティブ遅延回路と、前記フリップフロップがリセットされたタイミングを所定時間遅延させてアクノリッジ信号を非アクティブにするタイミングを決定するアクノリッジ非アクティブ遅延回路と、を有し、
前記ビジー非アクティブ遅延回路、前記アクノリッジアクティブ遅延回路およびアクノリッジ非アクティブ遅延回路の１つ以上は、前記ＣＰＵからの信号に基づいて、前記各所定時間を変更可能であることを特徴とする記録装置である。
【００１１】
請求項２記載の発明は、
前記アクノリッジアクティブ遅延回路およびアクノリッジ非アクティブ遅延回路が、前記ＣＰＵからの信号によって、前記フリップフロップからの信号に基づくタイミングの決定を禁止可能であることを特徴とする請求項１記載の記録装置である。
【００１２】
請求項１の記録装置は、上位装置との通信におけるハンドシェイクをハードウエアロジックにより実行している。このため、ＣＰＵは、ハンドシェイクの厳密な時間測定のために他の制御処理が不可能となる状態から開放される。
【００１３】
また、このようなハンドシェイクのためのハードウエアロジックにおいては、単に上位装置からのデジタル信号の受信とその特定のタイミングから所定時間後に上位装置にデジタル信号を返すのみであることから、極めて簡単なデジタル回路でハンドシェイク機能を果たすことができる。
【００１４】
このように、ＣＰＵも、より高速な高価なＣＰＵを用いなくても良く、またハンドシェイクのためのデジタル回路も非常に簡単で安価なもので済む。このことから、大きくコストアップすること無く、記録装置の高解像度化に対処できる。
【００１５】
ハードウエアロジックの内、ビジー信号を出力する機能については、次のようなフリップフロップおよびビジー信号出力回路を採用することができる。フリップフロップは、上位装置からのストローブ信号により所定の出力状態に反転し、前記ＣＰＵからのデータ取得完了信号によりリセットされる。
【００１６】
ビジー信号出力回路は、このフリップフロップが所定の出力状態に反転したタイミングに基づいて上位装置に対するビジー信号をアクティブにし、フリップフロップがリセットされたタイミングに基づいてビジー信号を非アクティブにするタイミングを決定して、上位装置にビジー信号を送信する。
【００１７】
尚、後述するハードビジーセット用フリップフロップ（Ｈ−ＢＵＳＹ  Ｆ／Ｆ）２４がフリップフロップの一例であり、ビジー信号セット用フリップフロップ３０およびタイマＡがビジー信号出力回路の一例である。
【００１８】
前記ハードウエアロジックの内、アクノリッジ信号を出力する機能については、前記フリップフロップがリセットされたタイミングに基づいて上位装置に対するアクノリッジ信号をアクティブにするタイミング、およびこのようにしてアクティブとなったアクノリッジ信号を非アクティブにするタイミングを決定して、上位装置にアクノリッジ信号を送信するアクノリッジ信号出力回路を採用することができる。
【００１９】
尚、後述するアクノリッジ信号セット用フリップフロップ３２、タイマＢおよびタイマＣがアクノリッジ信号出力回路の一例である。
【００２０】
前記ビジー信号出力回路は、前記フリップフロップがリセットされたタイミングを所定時間遅延させてビジー信号を非アクティブにするタイミングを決定するビジー非アクティブ遅延回路を有することにより、適切にビジー信号を形成することができる。後述するタイマＡがビジー非アクティブ遅延回路の一例である。
【００２１】
また、アクノリッジ信号出力回路は、アクノリッジアクティブ遅延回路とアクノリッジ非アクティブ遅延回路とを有する。このアクノリッジアクティブ遅延回路が、前記フリップフロップがリセットされたタイミングを所定時間遅延させてアクノリッジ信号をアクティブにするタイミングを決定し、アクノリッジ非アクティブ遅延回路が、前記フリップフロップがリセットされたタイミングを所定時間遅延させてアクノリッジ信号を非アクティブにするタイミングを決定することにより、アクノリッジ信号出力回路は、適切にアクノリッジ信号を形成することができる。
【００２２】
尚、アクノリッジアクティブ遅延回路の所定時間は、アクノリッジ非アクティブ遅延回路の所定時間よりも短い。尚、後述するタイマＢがアクノリッジアクティブ遅延回路の一例であり、タイマＣがアクノリッジ非アクティブ遅延回路の一例である。
【００２３】
また、前記ビジー非アクティブ遅延回路、前記アクノリッジアクティブ遅延回路およびアクノリッジ非アクティブ遅延回路の１つ以上は、前記ＣＰＵからの信号に基づいて、前記各所定時間を変更可能な構成にされている。
【００２４】
これにより、ビジー信号やアクノリッジ信号の各タイミングを固定化することが無く、上位装置が異なるハンドシェイク方式の機種に変更されても、その上位装置のハンドシェイクの様式に適合させることが容易にできる。
【００２５】
尚、前記アクノリッジアクティブ遅延回路およびアクノリッジ非アクティブ遅延回路は、前記ＣＰＵからの信号によって、前記フリップフロップからの信号に基づくタイミングの決定を禁止可能な構成にされてもよい。
【００２６】
このようにすることにより、例えば、特別な場合に、上位装置からの信号に影響されないようにすることができる。また、このような状態にすれば、ＣＰＵの制御により、直接、アクノリッジ信号の出力を行わせるようにすることもできる。
【００２７】
すなわち、前記アクノリッジアクティブ遅延回路およびアクノリッジ非アクティブ遅延回路の一方または両方が、前記フリップフロップからの信号以外に、前記ＣＰＵからの信号によってもタイミングを決定可能とすることにより、直接、ＣＰＵがアクノリッジ信号を出力するのではなく、アクノリッジアクティブ遅延回路あるいはアクノリッジ非アクティブ遅延回路を介して、アクノリッジ信号を適切なタイミングに適切な形状で出力させることができる。
【００２８】
また、このことは、ビジー信号についても同じであり、ビジー信号出力回路が、フリップフロップからの信号以外に、ＣＰＵからの信号によっても上位装置に対するビジー信号をアクティブにするタイミングおよびビジー信号を非アクティブにするタイミングを決定可能とすることにより、ビジー信号についても、上位装置からの信号によらず、所望の適切なタイミングに所望の適切な形状で、ビジー信号を出力させることができる。
【００２９】
前記ビジー非アクティブ遅延回路、前記アクノリッジアクティブ遅延回路およびアクノリッジ非アクティブ遅延回路の１つ以上が、記録装置自身に対する使用者からの設定に基づいて、前記各所定時間の変更が可能としても良く、記録装置側での設定にて記録装置に適合させたビジー信号やアクノリッジ信号の各タイミングを設定することができる。
【００３０】
これらの記録装置としては、各種プリンタが挙げられるが、特に解像度が高いインクジェット型プリンタに有用であり、このほか、レーザプリンタにも有用である。勿論、ドットインパクトやサーマルプリンタ等の他の各種プリンタにも有用である。
【００３１】
【発明の実施の形態】
図１は本発明の一実施形態であるインクジェットプリンタ２のブロック図を示す。インクジェットプリンタ２には記録用のデータを送信するホストコンピュータ４が接続されている。
【００３２】
インクジェットプリンタ２は、ＣＰＵ６、ＲＯＭ８、ＲＡＭ１０、操作パネル１２、データ入出力部１４、印刷機構インターフェース１６、印刷機構部１８およびシステムバス２０を備えている。
ＣＰＵ６はデータ入出力部１４を介してホストコンピュータ４からデータを受信すると、そのデータが文字を表すコードデータであった場合には、そのコードに基づいてＲＯＭ８内に格納されている書体データから該当する文字のパターンを選択してＲＡＭ１０内の印刷バッファに展開し、そのドットパターンを印刷機構インターフェース１６を介して印刷機構部１８を制御することにより、記録用紙に記録する。印刷機構部１８はインクジェット式であり、インクを各種手段により記録用紙に噴射することにより画像を記録用紙上に印刷する。
【００３３】
また、ホストコンピュータ４からのデータがビットマップ形式のイメージデータである場合には、それをＲＡＭ１０内の印刷バッファに展開して、上述したごとく、印刷機構部１８にて記録用紙上に印刷する。
またこの他、ホストコンピュータ４からのコマンドにより、インクジェットプリンタ２自身の各種設定や、後述するハンドシェイク処理の各種設定を行うことができる。
【００３４】
ここで、データ入出力部１４は、ハンドシェイク処理を、通常は、ＣＰＵ６の制御によらず単独で実行する。このデータ入出力部１４のハード構成を図２の回路図に示す。
データ入出力部１４は、データレジスタ（ＤＴＲＧ）２２、ハードビジーセット用フリップフロップ（Ｈ−ＢＵＳＹ  Ｆ／Ｆ）２４、アンドゲート２６、オアゲート２８、ビジー信号セット用フリップフロップ３０、アクノリッジ信号セット用フリップフロップ３２、アンドゲート３４およびコントロールタイマ３６が備えられている。
【００３５】
データ入出力部１４全体の機能はホストコンピュータ４側とのハンドシェイク処理を行うものであり、通常は、図３（ａ）のタイミングチャートに示すごとく、ホストコンピュータ４からデータ信号ＤＡＴＡが出力された後、ホストコンピュータ４からのストローブ信号ＳＴＢ／がパルス的にアクティブとなることに基づいて、ビジー信号ＢＵＳＹをアクティブへ反転し、その後、ＣＰＵ６がデータレジスタ２２からデータを読み取ることにより出力される読取完了信号ＲＥＡＤに伴い、アクノリッジ信号ＡＣＫ／をパルス的にアクティブとすると共に、ビジー信号ＢＵＳＹを非アクティブへ反転させることでホストコンピュータ４から次のデータ送信を要求する機能を果たすものである。
【００３６】
データ入出力部１４の各構成の機能を、ホストコンピュータ４からの信号処理に基づいて説明する。
まず、ホストコンピュータ４から、１バイト分のデータとして、８ビットパラレル信号がデータ信号ＤＡＴＡとしてデータレジスタ２２に出力され、更に、ホストコンピュータ４からはストローブ信号ＳＴＢ／がパルス的に出力される。ストローブ信号ＳＴＢ／はハードビジーセット用フリップフロップ２４のセット端子Ｓに入力されているので、その立ち下がりにてラッチ出力がデータレジスタ２２になされて、データレジスタ２２に入力している８ビットパラレルデータがラッチされる。
【００３７】
また、ストローブ信号ＳＴＢ／の立ち下がりによるハードビジーセット用フリップフロップ２４の出力は、アンドゲート２６を介してＣＰＵ６に受信割込信号として出力される。アンドゲート２６は、予め設定されているＣＰＵ６からの受信割込モードであることを示すハイレベル信号がアンドゲート２６に出力されているので、ハードビジーセット用フリップフロップ２４からのアクティブへの反転はそのまま、ＣＰＵ６への受信割込信号として送信される。尚、ＣＰＵ６から、受信割込モードでなくポーリングモードを示すローレベル信号が出力されていれば、ホストコンピュータ４からのストローブ信号ＳＴＢ／により、ＣＰＵ６に受信割込がかかることはない。
【００３８】
また、ハードビジーセット用フリップフロップ２４からの同じ出力が、オアゲート２８を介してビジー信号セット用フリップフロップ３０のセット端子Ｓに入力されているのでビジー信号セット用フリップフロップ３０をアクティブ状態へ反転させる。したがって、ホストコンピュータ４へのビジー信号ＢＵＳＹは、反転してアクティブ状態となる。
【００３９】
更に、ＣＰＵ６への受信割込信号により、ＣＰＵ６ではデータレジスタ２２から８ビットのデータを読み取る処理が行われる。そして、その処理の最後に、ＣＰＵ６から読取完了信号ＲＥＡＤが出力される。この読取完了信号ＲＥＡＤはデータレジスタ２２に入力されてラッチを解除すると共に、ハードビジーセット用フリップフロップ２４のリセット端子Ｒに入力して、ハードビジーセット用フリップフロップ２４の出力をリセットして非アクティブ状態にする。このアクティブ状態から非アクティブ状態への信号の立ち下がりにより、オアゲート２８の出力を入力しているコントロールタイマ３６の３つのタイマＡ、タイマＢ、タイマＣが起動されてタイマカウントを開始する。タイマＡは所定時間ｔ０＋ｔ１後にパルス信号をビジー信号セット用フリップフロップ３０のリセット端子Ｒに出力し、ビジー信号ＢＵＳＹを非アクティブに反転させる。タイマＢは、所定時間ｔ０後にパルス信号をアクノリッジ信号セット用フリップフロップ３２のリセット端子Ｒに出力し、アクノリッジ信号セット用フリップフロップ３２の出力をローレベルとすることにより、アンドゲート３４から出力されるアクノリッジ信号ＡＣＫ／をアクティブとする。タイマＣは、所定時間ｔ０＋ｔ１＋ｔ２後にパルス信号をアクノリッジ信号セット用フリップフロップ３２のセット端子Ｓに出力し、アクノリッジ信号セット用フリップフロップ３２の出力をハイレベルとすることにより、アンドゲート３４から出力されるアクノリッジ信号ＡＣＫ／を非アクティブとする。
【００４０】
したがって、図３（ｂ）のタイミングチャートに示すごとく、時刻Ｔ０にハードビジーセット用フリップフロップ２４の出力が立ち下がると、データ入出力部１４は時刻Ｔ０から所定時間ｔ０後にアクノリッジ信号ＡＣＫ／を時間ｔ１＋ｔ２の間、パルス的に立ち下げ、更に時刻Ｔ０から所定時間ｔ０＋ｔ１後にビジー信号ＢＵＳＹを反転させて非アクティブとする。
【００４１】
このアクノリッジ信号ＡＣＫ／のパルスを受信したホストコンピュータ４は、次のデータ送信が可能であるとして、前述のごとく、データ信号ＤＡＴＡおよびストローブ信号ＳＴＢ／を出力し、以後、すべてのデータの送信がなされるまで、前述の処理が繰り返される。
【００４２】
前述したごとく、インクジェットプリンタ２とホストコンピュータ４との間の通信処理に関して、本インクジェットプリンタ２におけるＣＰＵ６は、割込信号によりデータの受信をするのみであり、通常のハンドシェイク処理は、すべてデータ入出力部１４のハードウエアロジックにて実現されている。特に、各所定時間のタイミングの計測は、コントロールタイマ３６内の各タイマＡ，Ｂ，Ｃによりなされているので、どのように厳しい時間測定条件であっても、まったくＣＰＵ６に負担がかかることがない。
【００４３】
したがって、ＣＰＵ６に高価な高速ＣＰＵを用いる必要がなく、本インクジェットプリンタ２のように、大量のイメージデータを高速に処理しなくてはならない場合にも、安価なＣＰＵで対応することが可能となる。尚、このようなハンドシェイク処理を行うハードウエア回路は図２に示したごとく、比較的簡易であることから図２に示すハードウエア回路を採用しても、ＣＰＵを高速化するほどのコストアップにはならない。
【００４４】
前記コントロールタイマ３６内の各タイマＡ，Ｂ，Ｃからパルスが出力されるタイマカウント値は可変とされており、ＣＰＵ６からの条件設定信号に基づき、任意に変更することができる。
例えば、ホストコンピュータ４側が、アクノリッジ信号ＡＣＫ／のパルス出力を伴わないビジー信号ＢＵＳＹの単独立ち下がりのみ必要なハンドシェイク方式の場合には、タイマＡのみ起動して、他のタイマＢ，Ｃについては起動させない状態を、予めＣＰＵ６からの条件設定信号によりコントロールタイマ３６に設定しておけば、アクノリッジ信号ＡＣＫ／についてはまったく変化せず、ビジー信号ＢＵＳＹのみを図３（ｂ）のビジー信号ＢＵＳＹのように反転させることができる。
【００４５】
また、図３（ｂ）の信号処理は、アクノリッジ信号ＡＣＫ／がアクティブである間に、ビジー信号ＢＵＳＹがアクティブ状態から非アクティブ状態に反転する、いわゆるセンタビジー方式にて実施したが、この他、図４（ａ）のタイミングチャートに示すごとく、時間ｔ１＝０に設定すること、すなわち、タイマＡは所定時間として時間ｔ０を、タイマＢは所定時間として時間ｔ０を、タイマＣは所定時間として時間ｔ０＋ｔ２を設定することによりアクノリッジ信号ＡＣＫ／の立ち下がりとビジー信号ＢＵＳＹの立ち下がりとが同時のアウトビジー方式とすることができる。
【００４６】
更に、図４（ｂ）のタイミングチャートに示すごとく、時間ｔ２＝０に設定すること、すなわち、タイマＡは所定時間として時間ｔ０＋ｔ１を、タイマＢは所定時間として時間ｔ０を、タイマＣは所定時間として時間ｔ０＋ｔ１を設定することによりアクノリッジ信号ＡＣＫ／の立ち上がりとビジー信号ＢＵＳＹの立ち下がりとが同時のインビジー方式に設定することもできる。
【００４７】
またセンタビジー方式の内でも、ｔ１：ｔ２＝７：５とする、いわゆる７−５ビジー方式に設定することもできる。
このように、ホストコンピュータ４に適合させたハンドシェイクに設定するために、アクノリッジ信号ＡＣＫ／のパルスの発生タイミングやその幅を任意に設定することが可能である。この場合もＣＰＵ６は時間を計測しているわけではないので、ＣＰＵ６に負担がかかることがない。
【００４８】
更に、このような任意な設定は、本インクジェットプリンタ２の製造時にタイマＡ，Ｂ，Ｃに予め設定しても良く、使用時に必要に応じてプログラムや操作パネル１２からの操作あるいはホストコンピュータ４側からのコマンドに基づいて、ＣＰＵ６が設定しなおす処理をＣＰＵ６のプログラムに設けても良い。
【００４９】
このようなタイマＡ，Ｂ，Ｃへの所定時間の変更以外に、必要に応じてＣＰＵ６から出力されるアクノリッジトリガー信号により、タイマＢ，Ｃに対して直接、起動信号を送信して、起動させても良い。この方法によれば、直接、ホストコンピュータ４とのハンドシェイクとは無関係に、任意のタイミングで独立したアクノリッジ信号ＡＣＫ／を出力させることができる。この場合もＣＰＵ６は時間を計測しても、紙なしエラーの復旧時等のデータの受信が停止している特別な場合であり、計時の負担は問題ない状態であるので、インクジェットプリンタ２の制御に支障が生じることはない。
【００５０】
また、コントロールタイマ３６に対するＣＰＵ６からの起動ではなく、アクノリッジ信号セット用フリップフロップ３２の出力を受けるアンドゲート３４に対して、プログラムや操作パネル１２からの操作あるいはホストコンピュータ４側からのコマンドに基づいて、ＣＰＵ６から出力されるソフトアクノリッジ信号ＡＣＫ／により、必要に応じてホストコンピュータ４へアクノリッジ信号ＡＣＫ／を出力しても良い。これは、紙なしエラー時等のデータの受信時でない状態で必要に応じて出力されるアクノリッジ信号ＡＣＫ／であり、前述の場合と同じく、時間の計測のためのみにＣＰＵ６が時間を取られたとしても問題は生じない。
【００５１】
同じく、ハードビジーセット用フリップフロップ２４の出力を受けているオアゲート２８についても、プログラムや操作パネル１２からの操作あるいはホストコンピュータ４側からのコマンドに基づいて、ＣＰＵ６から出力されるソフトビジー信号により、前述の場合のような必要に応じてホストコンピュータ４に対するビジー信号ＢＵＳＹをアクティブにしても良い。この場合、タイミング管理をＣＰＵ６にさせても、前述のごとく紙なし等の異常時であり、高速にデータを受信する必要はないので、問題は生じない。
【００５２】
また、前述した図３（ｂ）の例では、ハードビジーセット用フリップフロップ２４は、ストローブ信号ＳＴＢ／が立ち下がったタイミングで動作して、出力を反転すると共に、データレジスタ２２をラッチしたが、ハードビジーセット用フリップフロップ２４は、ＣＰＵ６からのストローブエッジ選択信号により、ストローブ信号ＳＴＢ／の立ち下がりで動作するか、立ち上がりで動作するかを設定することができる。これも、ホストコンピュータ４とのハンドシェイクの方式に合わせて、プログラムや操作パネル１２からの操作あるいはホストコンピュータ４側からのコマンドに基づいて、エッジ選択を実施することができる。
【００５３】
このように、本インクジェットプリンタ２は、通常、そのＣＰＵ６は、ハンドシェイクに関与しないので、従来のごとく、各種処理のための時間の多くの部分がハンドシェイクのタイミングをとるためだけに費やされてしまうことがない。したがって、インクジェットプリンタのような高解像度のプリンタでも、高速なＣＰＵを採用する必要がなく、更に、ハンドシェイクのためのハードウエア回路も簡単で低価格であるので、全体としてもコストアップを招かない。
【００５４】
また、単にハンドシェイクをハードウエアロジックで実施していると、ホストコンピュータ４の違いに応じた各種のハンドシェイク方式に対応するために、製造時に多数のデータ入出力部１４を揃えなくてはならないが、本インクジェットプリンタ２は、そのハンドシェイクの方式に適合させるために、プログラムや操作パネル１２からの操作あるいはホストコンピュータ４側からのコマンドに基づいて、コントロールタイマ３６の設定を変更することにより対処しているので、製造時に１種類のデータ入出力部１４のみでよく、コストアップを抑制することができる。
【００５５】
また、インクジェットプリンタ２側の紙なし状態等の際には、ホストコンピュータ４からの信号によらずに、ＣＰＵ６が直接、ホストコンピュータ４に対するハンドシェイクのタイミングを計算して、ハンドシェイク処理をしているので、エラーからの円滑な復旧が可能となる。
【００５６】
また、ビジー信号セット用フリップフロップ３０の出力はシステムバス２０を介して、ＣＰＵ６が読み取ることが可能であることから、ＣＰＵ６は必要に応じて、データ入出力部１４が独立して実施しているハンドシェイク処理の状態をチェックすることができ、必要に応じてその状態の検出結果を制御に利用することができる。
【００５７】
勿論、ＣＰＵ６は、アンドゲート３４が出力するアクノリッジ信号ＡＣＫ／も読み取ることにより、更に、詳細にハンドシェイク処理の状態をチェックしても良い。
［その他］
ＣＰＵ６は、受信処理が割込起動されると、データレジスタ２２にてラッチされている８ビットデータをそのまま読み込んでいたが、システムバス２０とデータレジスタ２２との間に、受信データのＭＳＢ／ＬＳＢ反転（すなわちＭＳＢとＬＳＢとを入れ替える）させる回路、あるいは受信データの１／０反転（すなわちビットが１であれば０とし、０であれば１とする）させる回路を備えて、ＣＰＵ６の指示に応じて起動したり、起動せずに受信データをそのまま取り込むようにしても良い。
【００５８】
前述した実施形態では、ＣＰＵ６から出力されるアクノリッジトリガー信号によりタイマＢ，Ｃに対して直接、起動信号を送信しても起動可能としていたが、更にタイマＡについても、ＣＰＵ６から出力されるアクノリッジトリガー信号により直接起動させても良い。
【図面の簡単な説明】
【図１】本発明の一実施形態であるインクジェットプリンタのブロック図である。
【図２】データ入出力部のハード構成の回路図である。
【図３】データ入出力部におけるハンドシェイクの一例を示すタイミングチャートである。
【図４】異なる設定状態におけるデータ入出力部のハンドシェイクの一例を示すタイミングチャートである。
【図５】一般的なハンドシェイクの一例を示すタイミングチャートである。
【符号の説明】
２…インクジェットプリンタ  ４…ホストコンピュータ  ６…ＣＰＵ
８…ＲＯＭ  １０…ＲＡＭ  １２…操作パネル  １４…データ入出力部
１６…印刷機構インターフェース  １８…印刷機構部  ２０…システムバス
２２…データレジスタ  ２４…ハードビジーセット用フリップフロップ
２６…アンドゲート  ２８…オアゲート
３０…ビジー信号セット用フリップフロップ
３２…アクノリッジ信号セット用フリップフロップ
３４…アンドゲート  ３６…コントロールタイマ
【図１】
0003612804.tif 000002
【図２】
0003612804.tif 000003
【図３】
0003612804.tif 000004
【図４】
0003612804.tif 000005
【図５】
0003612804.tif 000006