(57)【要約】【課題】印刷装置において、ホストコンピュータからの送信要求を受けた回数をカウントし、あらかじめ設定した回数の要求を受け付けた後に割り込みを発生することで、データ送信のスピードを容易に調整し、また、送信要求を受ける度に割り込みを発生する場合と比較して割り込み発生の頻度を減じて処理の効率を高めること。【解決手段】印刷装置１００であって、前記印刷装置１００はＵＳＢインターフェース方式にてデータ通信をホストコンピュータ３００との間で行う構成とし、また前記ホストコンピュータ３００より送信データ要求の回数をカウントする手段を備え、前記カウント手段が一定の値を示したときに前記ホストコンピュータ３００からの送信データ要求に対して割り込みを発生する手段を備え、前記送信データ要求の回数カウント手段の初期値は可変であり、初期値を保持する手段を備える構成とする。【選択図】　　　　図１
2004042538.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置であって、前記印刷装置はＵＳＢインターフェース方式にてデータ通信をホストコンピュータとの間で行う事を特徴とする印刷装置。
【請求項２】
前記印刷装置は上記ホストコンピュータより送信データ要求の回数をカウントする手段を備えることを特徴とする印刷装置。
【請求項３】
前記印刷装置は上記カウント手段が一定の値を示したときに上記ホストコンピュータからの送信データ要求に対して割り込みを発生する手段を有することを特徴とする印刷装置。
【請求項４】
上記送信データ要求の回数カウント手段の初期値は可変であり、初期値を保持する手段を有することを特徴とする印刷装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はレーザービームプリンタやインクジェットプリンタ、複写機、プロッタ等の印刷媒体を被印刷媒体に作用させ画像情報を印刷する印刷装置に関するものである。
【０００２】
【従来の技術】
印刷装置はホストコンピュータとのデータ通信方式においてＵＳＢインターフェース方式を採用するようになった。
【０００３】
ＵＳＢインターフェースはホストコンピュータと周辺機器を接続するための一般的な通信方式であり、印刷装置においては双方向のデータ通信を行い、印刷装置から見た場合において印刷データの受信やステータスの送信を行うものである。
【０００４】
ＵＳＢインターフェースにおいてはホストコンピュータが通信のマスターとなり、データ送信／データ受信ともに通信開始のきっかけはトークンと呼ばれる制御パケットをホストコンピュータから印刷装置に対して送信し、印刷装置が応答を行うという方法で成立している。
【０００５】
印刷装置においてはデータ送信に関してはバルクイン転送という方式で通信を行う。
【０００６】
この転送方式においてはホストコンピュータがＩＮトークンと呼ばれる送信データ要求パケットを印刷装置に対して送信し、印刷装置側は送信データが存在する場合にはホストコンピュータにデータパケットを送信する。
【０００７】
ホストコンピュータからのデータ要求は印刷装置からデータが送信されるまで繰り返される。
【０００８】
印刷装置ではホストコンピュータからのデータ要求を受け取ると割り込みを発生して送信処理準備を行っている。
【０００９】
【発明が解決しようとする課題】
しかしながら、上記例においては次のような課題があった。
【００１０】
ホストコンピュータからのデータ要求が連続的に繰り返し発行された場合に、印刷装置内部ではデータ要求割り込みが繰り返し発生する。すると印刷装置では割り込み処理の負荷が高くなり、印刷データの解析や用紙への印刷など他処理の効率低下を招くことになる。
【００１１】
また、ＵＳＢインターフェースにおいては印刷装置側からデータ送信スピードを調整するにはホストからのデータ要求に対してＮＡＫ応答とデータ送信の度合いを調整して実現する。
【００１２】
これをデータ要求割り込みで実現するためには割り込みを複数回受けてから送信データの準備を行うなど煩雑な処理を行う必要があった。
【００１３】
本発明は上記問題点に鑑みてなされたものであって、印刷装置において、ホストコンピュータからの送信要求を受けた回数をカウントし、あらかじめ設定した回数の要求を受け付けた後に割り込みを発生することでデータ送信のスピードを容易に調整することができ、また、送信要求を受ける度に割り込みを発生する場合と比較して割り込み発生の頻度を減じて処理の効率を高めることのできる印刷装置を提供することを目的としている。
【００１４】
【課題を解決するための手段】
本発明は、前記の課題を解決することを目的としたもので、前記の課題を解決する一手段として以下の構成を備える。
【００１５】
（１）印刷装置であって、前記印刷装置はＵＳＢインターフェース方式にてデータ通信をホストコンピュータとの間で行う構成とする。
【００１６】
（２）前記印刷装置は上記ホストコンピュータより送信データ要求の回数をカウントする手段を備える構成とする。
【００１７】
（３）前記印刷装置は上記カウント手段が一定の値を示したときに上記ホストコンピュータからの送信データ要求に対して割り込みを発生する手段を備える構成とする。
【００１８】
（４）上記送信データ要求の回数カウント手段の初期値は可変であり、初期値を保持する手段を備える構成とする。
【００１９】
【発明の実施の形態】
以下、本発明にかかる一実施例の印刷装置を図面を参照して説明する。
【００２０】
図１は本発明の詳細なブロック図である。同図において、３００はホストコンピュータ、２００はインターフェースケーブル、１００は印刷装置（プリンタ）である。
【００２１】
印刷装置１００は以下のブロックから構成され、内部バス１０７で接続される。
【００２２】
１０１はホストコンピュータと通信を行うＵＳＢインターフェースコントローラ、１０２は１０２ａのメモリと１０２ｂのＣＰＵから構成され全体を制御する制御部、１０３は画像データを格納する展開メモリ、１０４は送受信データを格納する送受信バッファメモリ、１０５はＵＳＢインターフェースと送受信バッファメモリ１０４間をデータ転送するためのＤＭＡコントローラ、１０６は記録紙等に永久可視像を形成するプリンタエンジンである。
【００２３】
ＵＳＢインターフェースコントローラ１０１は一般的に印刷装置で使われるコントロール転送、バルクイン転送、バルクアウト転送のエンドポイントを備え、ホストコンピュータと双方向のデータ通信を行う機能を備える構成とする。
【００２４】
次に本実施例におけるＵＳＢインターフェース１０１の詳細を説明する。
【００２５】
４００はシリアル通信コントローラ部、４０１はＮＡＫ割り込み発生部、
４０２はバルクインエンドポイント制御部、４０３はＮＡＫカウント数レジスタ、４０４はＮＡＫカウンタ、シリアル通信コントローラ部４００はホストコンピュータ３００とＵＳＢのシリアル通信を行うものである。
【００２６】
印刷装置１００に必要なコントロール転送，バルククイン転送，バルクアウト転送の各転送モードで通信が可能な構成とする。
【００２７】
シリアル通信コントローラ部４００でホストより受信したデータは制御部１０２又はＤＭＡコントローラ１０５により送受信バッファメモリ１０４へと転送され、逆に送信するデータは送受信バッファメモリ１０４より制御部１０２又はＤＭＡコントローラ１０５にてシリアル通信コントローラ部４００へ転送されホストコンピュータ３００へと送信される。
【００２８】
なおＵＳＢインターフェースコントローラ１０１内部の信号の動作に関しては後述のタイミングチャートでも説明することする。
【００２９】
シリアル通信コントローラ部４００はバルクインエンドポイント制御部４０２を備える。
【００３０】
バルクインエンドポイント制御部４０２はホストコンピュータ３００へコントロール転送モード又はバルクイン転送モードにてシリアル送信を行うもので、後述のＮＡＫ割り込み発生部４０１と接続される。
【００３１】
出力信号のＳＥＮＤ＿ＮＡＫ信号はＨＩ−ｔｒｕｅの信号で、ホストコンピュータ３００からのＩＮトークンパケット対して送信データが存在せずＮＡＫを返答した場合にＨＩ−ｔｒｕｅのパルスを発生する構成にする。
【００３２】
出力信号のＳＥＮＤ＿ＡＣＫ信号はＨＩ−ｔｒｕｅの信号で、ホストコンピュータ３００からのＩＮトークンパケット対して送信データパケットを送信した場合にＨＩ−ｔｒｕｅのパルスを発生する構成にする。
【００３３】
ＮＡＫ割り込み発生部４０１は本発明の最も特徴的な部分である。
【００３４】
ＮＡＫ割り込み発生部４０１はＮＡＫカウント数レジスタ４０３、ＮＡＫカウンタ４０４、論理ＡＮＤゲート４０５で構成する。
【００３５】
ＮＡＫカウント数レジスタ４０３はＮＡＫ応答割り込みを発生するまでの連続ＮＡＫ応答の発生回数を保持するもので、制御部１０２が値を設定するものである。
【００３６】
例えばＮＡＫ割り込みを発生しないＮＡＫ回数を５回にする場合には５を保持値として設定するものとする。この設定の場合、６回目のＮＡＫに対して割り込みが発生することになる。
【００３７】
ＮＡＫカウンタ４０４は、ダウンカウンタで印刷装置１００の初期化時及び制御部１０２からのアクセスにより、ＮＡＫカウント数レジスタ４０３の値を初期値としてロードする構成とする。
【００３８】
また、図に示したように入力信号としてＳＥＮＤ＿ＮＡＫ、ＳＥＮＤ＿ＡＣＫをバルクインエンドポイント制御部４０２と接続する。
【００３９】
上記２信号はＨＩ−ｔｒｕｅの論理レベル信号であり、ＳＥＮＤ＿ＡＣＫ信号がＨＩレベルを示すとＮＡＫカウンタ４０４にＮＡＫカウント数レジスタ４０３の保持値をロードする構成とする。
【００４０】
またＳＥＮＤ＿ＮＡＫ信号がＨＩレベルを示すとカウント値をデクリメント（１減ずる）する構成とする。
【００４１】
出力信号としてはＺＥＲＯ＿ＣＮＴを論理ＡＮＤゲート４０５へ接続する。
【００４２】
ＺＥＲＯ＿ＣＮＴはＨＩ−ｔｒｕｅのレベル信号で、ＮＡＫカウンタ４０４のカウント値が０を示した場合にＨＩ−ｔｒｕｅとなり、それ以外の状態ではＬＯを示す。
【００４３】
論理ＡＮＤゲート４０５はＮＡＫカウンタ４０４からＺＥＲＯ＿ＣＮＴ信号、バルクインエンドポイント制御部４０２からＳＥＮＤ＿ＮＡＫ信号を入力する。
【００４４】
入力信号を論理ＡＮＤしてＮＡＫ＿ＩＮＴ＿ＲＥＱ信号に出力する。
【００４５】
ＮＡＫ＿ＩＮＴ＿ＲＥＱはＨＩ−ｔｒｕｅの論理レベル信号で、ＮＡＫカウンタ４０４のカウント値が０の状態でＳＥＮＤ＿ＮＡＫ信号がＨＩレベルとなるとそのままＨＩレベルを出力し、制御部１０２に割り込み通知するものである。
【００４６】
ＮＡＫ＿ＩＮＴ＿ＲＥＱ信号を内部バス１０７と接続する。
【００４７】
図２はＩＮトークンに対するプリンタの応答を示す図である。
【００４８】
ＵＳＢインターフェース通信におけるバルクイン転送のパターンを示す。
同図で上のパターンはホストコンピュータ３００から発行されたＩＮトークンパケットに対して印刷装置１００はＮＡＫパケットを返答している。
【００４９】
印刷装置１００からホストコンピュータ３００へ送信すべきデータがなく応答できないことを示している。
【００５０】
同図で下のパターンはホストコンピュータ３００から発行されたＩＮトークンパケットに対して印刷装置１００はデータパケットを返答している。するとホストコンピュータ３００は送信データを受け付けたことを示すためにＡＣＫパケットを発行する。
【００５１】
印刷装置１００からホストコンピュータ３００へデータ送信が完了したことを示している。
【００５２】
図３は連続したＩＮトークンに対する応答例を示す図である。同図では印刷装置１００がデータパケットを送信するまでホストコンピュータ３００が送信データ要求（ＩＮトークンパケット）を発行し続ける様子を示したものである。
【００５３】
ＮＡＫ応答に対して毎回割り込みを発生した場合、送信データの準備ができるまで割り込みが発生し続けることになる。
【００５４】
図４は本実施例におけるＮＡＫ応答割り込みが発生する様子を示すタイミングチャートである。
【００５５】
ホストコンピュータ３００が印刷装置１００に対してデータ要求を連続して発行する。
【００５６】
本例においては３回連続してＮＡＫ応答を行った以降のＮＡＫ応答に対して本発明のＮＡＫ割り込み発生部４０１が割り込みを発生することを示すものである。
【００５７】
タイミングチャートの上部においてはＵＳＢケーブル２００上で行われる通信パケットのやりとりの様子を示し、下部においては印刷装置１００内部のＵＳＢインターフェースコントローラ１０１の内部信号の波形を示している。
【００５８】
ＮＡＫカウンタとはＮＡＫカウンタ４０４が保持する値を示すものである。
他の信号は図１で説明したシリアル通信コントローラ部４００の内部信号である。
【００５９】
ＮＡＫカウント数レジスタ４０３は連続したＮＡＫ返答に対して割り込みを発生しない回数を保持するもので、本例では３回ＮＡＫ返答を許容するように３に設定されている。
【００６０】
ＮＡＫカウンタ４０４の値は制御部１０２が初期化時及び制御部１０２からのアクセスにより、ＮＡＫカウント数レジスタ４０３の値をロードする。よって値は３を保持している。
【００６１】
タイミングｔ０１において、ホストコンピュータ３００が発行したＩＮトークンパケットに対してシリアル通信コントローラ部４００がＮＡＫパケットを返答したのでＳＥＮＤ＿ＮＡＫ信号にＨＩ−ｔｒｕｅのパルスをバルクインエンドポイント制御部４０２が発生する。
【００６２】
このパルスによりＮＡＫカウンタの値がデクリメントされカウンタの値が２になる。
【００６３】
タイミングｔ０２からｔ０３まで、上記と同じくホストコンピュータ３００が発行するＩＮトークンパケットに対してＮＡＫパケットを返答する処理を繰り返す。
【００６４】
これによりＮＡＫカウンタの値はデクリメントを繰り返しタイミングｔ０３の後で値が０になる。
【００６５】
この間、ＮＡＫカウンタの値は０でないためＺＥＲＯ＿ＣＮＴ信号はＬＯレベルを保持し、ＮＡＫ＿ＩＮＴ＿ＲＥＱ信号もＬＯレベルを出力するので、制御部１０２に対してＮＡＫ応答割り込みを発生しない。
【００６６】
タイミングｔ０４において、ＮＡＫカウンタの値が０の状態で、ＮＡＫカウンタ４０４が出力するＺＥＲＯ＿ＣＮＴ信号がＨＩ−ｔｒｕｅを保持している。
【００６７】
この状態でＮＡＫ応答を行うとＳＥＮＤ＿ＮＡＫ信号がＨＩ−ｔｒｕｅとなり、論理ＡＮＤゲート４０５出力のＮＡＫ＿ＩＮＴ＿ＲＥＱ信号がＨＩ−ｔｒｕｅパルスを発生し、制御部１０２に対してＮＡＫ応答割り込みを発生する。
【００６８】
タイミングｔ０５において、同様にＮＡＫカウンタの値が０のままであるのでＮＡＫ応答に対してＮＡＫ＿ＩＮＴ＿ＲＥＱ信号がＨＩ−ｔｒｕｅパルスを発生し、制御部１０２に対してＮＡＫ応答割り込みを発生する。
【００６９】
本タイミング以降、ホストコンピュータ３００からのデータ要求に対してＮＡＫ応答を行う度にＮＡＫ応答割り込みが発生するものである。
【００７０】
タイミングｔ０６において、ホストコンピュータ３００からのデータ要求に対してデータパケットを送出しホスト側の受領を示すために発行されたＡＣＫパケットを受信したのでバルクインエンドポイント制御部４０２がＳＥＮＤ＿ＡＣＫ信号にＨＩ−ｔｒｕｅパルスを発生する。
【００７１】
同タイミングにおいてＮＡＫカウンタ４０４はＳＥＮＤ＿ＡＣＫのＨＩ−ｔｒｕｅパルスが入力されるのでＮＡＫカウント数レジスタ４０３の値をロードし、保持値が０から３になる。
【００７２】
よってＺＥＲＯ＿ＣＮＴ信号もＨＩ−ｔｒｕｅからＬＯになる。
【００７３】
新たにホストコンピュータ３００がＩＮトークンパケットを繰り返し発行すると上記処理を繰り返し、３回のＮＡＫパケット返送以降、データパケットを送出するまでＮＡＫ応答割り込みが発生する。
【００７４】
印刷装置１００においてはホストコンピュータ３００からのデータ要求開始からデータパケット送出までのタイミングをＮＡＫパケット送出の回数により容易に制御できるようになり、送信スピードの制御をファームウエアにて容易に行うことができるようになる。
【００７５】
図５は本実施例におけるＮＡＫ応答割り込みが発生しない場合の様子を示すタイミングチャートである。
【００７６】
本発明を、ＮＡＫ応答が一定回数連続した場合を異常状態と見なし、その場合に制御部１０２に割り込み通知をするという目的で使用する場合の例を示すタイミングチャートである。
【００７７】
データ送信においてＤＭＡコントローラ１０５を用いて送受信バッファメモリ１０４のデータをＵＳＢインターフェースコントローラ１０１に対して供給する場合を想定するものである。
【００７８】
通常状態ではＤＭＡコントローラ１０５を用いたデータ送信においてはデータ送信開始後はホストコンピュータ３００からのデータ要求に対してＮＡＫ応答を行うこと無にデータパケットを準備することが可能な設計である。
【００７９】
但し、ＤＭＡコントローラ１０５の処理能力の不足（他のチャネルのメモリアクセスによるトラフィック負荷）やなんらかの異常状態でデータがＵＳＢインターフェースコントローラ１０１に対して送信データの準備が遅れる場合も考えられる。
【００８０】
その様な状態を制御部１０２に通知するためにＮＡＫ応答割り込みを用いる例を以下に説明する。
【００８１】
ホストコンピュータ３００が印刷装置１００に対してデータ要求を連続して発行する。
【００８２】
本例においては１０回連続してＮＡＫ応答を行った以降のＮＡＫ応答に対して本発明のＮＡＫ割り込み発生部４０１が割り込みを発生する設定を行う場合で、５回のＮＡＫ応答の次にデータパケット送信を行ったのでＮＡＫ応答割り込みが発生しなかった場合の様子を示すものである。
【００８３】
タイミングチャートの上部においてはＵＳＢケーブル２００上で行われる通信パケットのやりとりの様子を示し、下部においては印刷装置１００内部のＵＳＢインターフェースコントローラ１０１の内部信号の波形を示している。
【００８４】
ＮＡＫカウンタとはＮＡＫカウンタ４０４が保持する値を示すものである。
他の信号は図１で説明したシリアル通信コントローラ部４００の内部信号である。
【００８５】
ＮＡＫカウント数レジスタ４０３は連続したＮＡＫ返答に対して割り込みを発生しない回数を保持するもので、本例では１０回ＮＡＫ返答を許容するように１０に設定されている。
【００８６】
ＮＡＫカウンタの値は制御部１０２が初期化時及び１０２の制御部からのアクセスにより、ＮＡＫカウント数レジスタ４０３の値をロードする。よって値は１０を保持している。
【００８７】
タイミングｔ１１において、ホストコンピュータ３００が発行したＩＮトークンパケットに対してシリアル通信コントローラ部４００がＮＡＫパケットを返答したのでＳＥＮＤ＿ＮＡＫ信号にＨＩ−ｔｒｕｅのパルスをバルクインエンドポイント制御部４０２が発生する。
【００８８】
このパルスによりＮＡＫカウンタの値がデクリメントされカウンタの値が９になる。
【００８９】
タイミングｔ１２からｔ１５まで、上記と同じくホストコンピュータ３００が発行するＩＮトークンパケットに対してＮＡＫパケットを返答する処理を繰り返す。
【００９０】
これによりＮＡＫカウンタの値はデクリメントを繰り返しタイミングｔ１５の後で値が５になる。
【００９１】
この間、ＮＡＫカウンタの値は０でないためＺＥＲＯ＿ＣＮＴ信号はＬＯレベルを保持し、ＮＡＫ＿ＩＮＴ＿ＲＥＱ信号もＬＯレベルを出力するので、制御部１０２に対してＮＡＫ応答割り込みを発生しない。
【００９２】
タイミングｔ１６において、ホストコンピュータ３００からのデータ要求に対してデータパケットを送出しホスト側の受領を示すために発行されたＡＣＫパケットを受信したのでバルクインエンドポイント制御部４０２がＳＥＮＤ＿ＡＣＫ信号にＨＩ−ｔｒｕｅパルスを発生する。
【００９３】
同タイミングにおいてＮＡＫカウンタ４０４はＳＥＮＤ＿ＡＣＫのＨＩ−ｔｒｕｅパルスが入力されるのでＮＡＫカウント数レジスタ４０３の値をロードし、保持値が５から１０になる。
よってＺＥＲＯ＿ＣＮＴ信号はＬＯレベルのままである。
【００９４】
上記の一連処理においてはＮＡＫカウンタが０までカウントダウンすること無く、データパケットが送出されたのでＮＡＫ応答割り込みは発生しない。
【００９５】
すなわちデータ送信処理は異常状態になく、制御部１０２に対して割り込み通知を行う必要がなかったわけである。
【００９６】
ＮＡＫ応答が連続して発生し、図４で説明したのと同じくＮＡＫカウンタが０までカウントダウンするとＮＡＫ応答割り込みが発生する。すると制御部１０２は異常状態を検出することが可能となる。
【００９７】
【発明の効果】
以上説明したように本発明によれば、印刷装置において、ホストコンピュータからの送信要求を受けた回数をカウントし、あらかじめ設定した回数の要求を受け付けた後に割り込みを発生することで、データ送信のスピードを容易に調整できるという効果がある。
【００９８】
また、送信要求を受ける度に割り込みを発生する場合と比較して印刷装置本来の処理に対する割り込み発生の頻度を減じて処理の効率を高めるという効果もある。
【００９９】
さらには、データ送信をＤＭＡコントローラを用いる処理系の場合にホストコンピュータからの送信要求に対して一定回数データ転送を行わなかった場合の異常検出を容易に実現するという効果もある。
【図面の簡単な説明】
【図１】本発明の詳細なブロック図
【図２】ＩＮトークンに対するプリンタの応答を示す図
【図３】連続したＩＮトークンに対する応答例を示す図
【図４】本実施例におけるＮＡＫ応答割り込みが発生する場合を示すタイミングチャート
【図５】本実施例におけるＮＡＫ応答割り込みが発生しない場合を示すタイミングチャート
【符号の説明】
１００　印刷装置
１０１　ＵＳＢインターフェースコントローラ
１０２　制御部
１０２ａ　メモリ
１０２ｂ　ＣＰＵ
１０３　展開メモリ
１０４　送受信バッファメモリ
１０５　ＤＭＡコントローラ
１０６　プリンタエンジン
１０７　内部バス
２００　ＵＳＢインターフェースケーブル（ＵＳＢケーブル）
３００　ホストコンピュータ
４００　シリアル通信コントローラ部
４０１　ＮＡＫ割り込み発生部
４０２　バルクインエンドポイント制御部
４０３　ＮＡＫカウント数レジスタ
４０４　ＮＡＫカウンタ
４０５　論理ＡＮＤゲート
【図１】
2004042538.tif 000003
【図２】
2004042538.tif 000004
【図３】
2004042538.tif 000005
【図４】
2004042538.tif 000006
【図５】
2004042538.tif 000007