(57)【要約】【課題】連続した割り込みに対して処理速度の低下を抑えることができる印刷装置を提供すること。【解決手段】印刷装置１は、ＰＣ２２に接続され、第１の割込信号を出力するＰＣ‐ＵＳＢ回路１９と、第１の割込み信号に基づいて第２の割込信号を出力するＩ／Ｆ制御部１１と、スキャナ制御部１２、メモリカード制御部１３、及びプリンタ制御部１４のうち少なくとも１つの制御を行うとともに、第２の割込信号に応答してＰＣ‐ＵＳＢ回路１９の入出力制御を行うＣＰＵ１０とを備える。Ｉ／Ｆ制御部１１は、ＣＰＵ１０によるＰＣ‐ＵＳＢ回路１９の入出力制御後、所定期間第２の割込信号の出力を停止させる。【選択図】      図１
2005110078.tif 000002
【特許請求の範囲】
【請求項１】
外部機器に接続され、第１の割込信号を出力するインタフェースと、
前記第１の割込み信号に基づいて第２の割込信号を出力するインタフェース制御手段と、
少なくとも１つの被制御手段を制御するとともに、前記第２の割込信号に応答して前記インタフェースの入出力制御を行う処理制御手段と、
前記処理制御手段による前記インタフェースの入出力制御後、所定期間前記第２の割込信号の出力を停止する停止手段と、
を備えた印刷装置。
【請求項２】
タイマ値を記憶した記憶手段を備え、
前記停止手段は、前記タイマ値で示される期間にわたって前記第２の割込信号の出力を停止する請求項１に記載の印刷装置。
【請求項３】
前記処理制御手段は、前記第２の割込信号に基づいて前記停止手段に対してタイマ起動信号を出力し、
前記停止手段は、前記タイマ起動信号に基づいて前記タイマ値で示される期間を計時する請求項２に記載の印刷装置。
【請求項４】
前記処理制御手段は、前記第２の割込信号が入力された場合に前記インタフェースにおける前記第１の割込信号の出力を禁止し、前記タイマ起動信号を出力した後に前記インタフェースにおける前記第１の割込信号の出力を可とする請求項３に記載の印刷装置。
【請求項５】
前記処理制御手段は、前記複数の被制御手段に応じて前記タイマ値を算出する請求項２〜４のいずれか１項に記載の印刷装置。
【請求項６】
前記処理制御手段は、前記第２の割込信号が入力される度に前記タイマ値を算出する請求項２〜５のいずれか１項に記載の印刷装置。
【請求項７】
前記処理制御手段は、前記被制御手段の動作に対応する設定値を加算または減算することによって前記タイマ値を算出する請求項２〜６のいずれか１項に記載の印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置に関するものである。
【背景技術】
【０００２】
従来、スタンドアロン型の複合機が開発されている（例えば特許文献１参照）。この種の複合機は、ホストコンピュータ等の外部機器から送信される画像や文字の印刷に加えて、原稿台に載置された用紙を走査して取り込んだ画像や文字を印刷したり、スロットに差し込まれたメモリカードに記録された画像や文字を印刷したりすることができる。このように、複合機は１台で複数の機能を有するため、設備投資額の抑制や設置スペースの削減に貢献できる。
【０００３】
また、近年、プラグアンドプレイ機能に代表される使い勝手の良さから、複合機とホストコンピュータとをＵＳＢインタフェースケーブルによって接続することが一般的になってきている。
【特許文献１】特開２００２−３００３３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上記複合機では、原稿台に載置された用紙を読み取る走査処理やメモリカードに対するデータの読出し・書込み処理等に対して、ＵＳＢの通信処理を優先するために割り込みが発生する。このため、例えば、ホストコンピュータから複合機にデータが連続して送信されると、割り込みが連続して発生するため、その間、複合機は走査処理等を実行することができなくなり、処理速度が低下してしまうといった問題があった。
【０００５】
本発明は、こうした実情に鑑みてなされたものであって、その目的は、連続した割り込みに対して処理速度の低下を抑えることができる印刷装置を提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明は、外部機器に接続され、第１の割込信号を出力するインタフェースと、前記第１の割込み信号に基づいて第２の割込信号を出力するインタフェース制御手段と、少なくとも１つの被制御手段を制御するとともに、前記第２の割込信号に応答して前記インタフェースの入出力制御を行う処理制御手段と、前記処理制御手段による前記インタフェースの入出力制御後、所定期間前記第２の割込信号の出力を停止する停止手段と、を備えた。
【０００７】
この発明によれば、停止手段によって所定期間にわたり第２の割込信号の出力が停止されるため、処理制御手段は、この間、被制御手段の制御を行うことができる。従って、連続した割り込みに対して処理速度の低下を抑えることができる。
【０００８】
本発明では、タイマ値を記憶した記憶手段を備え、前記停止手段は、前記タイマ値で示される期間にわたって前記第２の割込信号の出力を停止する。
この発明によれば、停止手段により第２の割込信号の出力が停止される期間を示すタイマ値は、記憶手段に記憶される。このため、停止手段は、タイマ値を算出する必要がない。従って、停止手段の処理上の負担を軽減できる。
【０００９】
本発明では、前記処理制御手段は、前記第２の割込信号に基づいて前記停止手段に対してタイマ起動信号を出力し、前記停止手段は、前記タイマ起動信号に基づいて前記タイマ値で示される期間を計時する。
【００１０】
この発明によれば、処理制御手段は、タイマ起動信号の出力によって停止手段における第２の割込信号の出力を制御できる。このため、処理制御手段は、自らにかかる処理上の負荷が軽いときにはタイマ起動信号を出力しないことで、外部機器から入力されるデータの処理を実行できる。従って、外部機器から入力されるデータの処理効率を向上させることができる。
【００１１】
本発明では、前記処理制御手段は、前記第２の割込信号が入力された場合に前記インタフェースにおける前記第１の割込信号の出力を禁止し、前記タイマ起動信号を出力した後に前記インタフェースにおける前記第１の割込信号の出力を可とする。
【００１２】
この発明によれば、処理制御手段がタイマ起動信号を出力するまで、インタフェースにおける第１の割込信号の出力を停止させることができる。従って、処理制御手段は確実にタイマ起動信号を出力することができ、連続した割り込みに対して処理速度の低下を確実に抑えることができる。
【００１３】
本発明では、前記処理制御手段は、前記複数の被制御手段に応じて前記タイマ値を算出する。
この発明によれば、停止手段が第２の割込信号を出力しない期間の長さを処理制御手段にかかる処理上の負荷に応じて変更することができる。このため、処理制御手段における無駄な時間を排除でき、連続した割り込みに対して処理速度の低下を一層抑えることができる。
【００１４】
本発明では、前記処理制御手段は、前記第２の割込信号が入力される度に前記タイマ値を算出する。
この発明によれば、第２の割込信号が入力された時点での処理制御手段の負荷をタイマ値に反映させることができる。従って、停止手段が第２の割込信号の出力を停止させる期間を処理制御手段の処理上の負荷に合わせて最適な値に設定でき、処理制御手段における無駄な時間を一層排除することができる。
【００１５】
本発明では、前記処理制御手段は、前記被制御手段の動作に対応する設定値を加算または減算することによって前記タイマ値を算出する。
この発明によれば、簡単な演算によってタイマ値を求めることができる。従って、処理制御手段の処理上の負担を軽減できる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明をスタンドアロン型の印刷装置に具体化した一実施形態を図１〜図５に従って説明する。
図１に示すように、印刷装置１は、処理制御手段としてのＣＰＵ（中央演算処理装置）１０、インタフェース制御手段及び停止手段としてのＩ／Ｆ制御部１１、スキャナ制御部１２、メモリカード制御部１３、及びプリンタ制御部１４を備えている。本実施形態では、スキャナ制御部１２、メモリカード制御部１３、及びプリンタ制御部１４は被制御手段に相当する。ＣＰＵ１０、Ｉ／Ｆ制御部１１、スキャナ制御部１２、メモリカード制御部１３、プリンタ制御部１４は、それぞれデータバス１５によって相互に接続されている。また、このデータバス１５には、プログラムＲＯＭ１６及びＳＤＲＡＭ１７も接続されている。
【００１７】
Ｉ／Ｆ制御部１１には、データバス１８を介してインタフェースとしてのＰＣ−ＵＳＢ回路１９及びＵＳＢホスト回路２０が接続されている。即ち、Ｉ／Ｆ制御部１１は、ＣＰＵ１０とＰＣ−ＵＳＢ回路１９との間に設けられている。
【００１８】
ＰＣ−ＵＳＢ回路１９には、ＵＳＢ（Universal Serial Bus）インタフェースケーブル２１が接続可能であり、このＵＳＢインタフェースケーブル２１を介して印刷装置１とパーソナルコンピュータ（ＰＣ）２２とが接続される。また、ＵＳＢホスト回路２０には、同様にＵＳＢインタフェースケーブル２３が接続可能であり、このＵＳＢインタフェースケーブル２３を介して印刷装置１とハードディスク装置やデジタルカメラ等の外部機器とが接続可能となっている。
【００１９】
ＣＰＵ１０は、メモリ１０ａを備えている。メモリ１０ａには、ビジーレジスタ、スキャナ用動作レジスタ、メモリカード用動作レジスタ、プリンタ用動作レジスタのそれぞれの記憶領域が確保されている。ビジーレジスタ、各動作レジスタには、データバス１５を介してスキャナ制御部１２、メモリカード制御部１３、及びプリンタ制御部１４がそれぞれアクセス可能である。また、メモリ１０ａには、最小タイマ値Ｔ０と設定値Ｔ１〜Ｔ６とが予め記録されている。
【００２０】
最小タイマ値Ｔ０は、ＣＰＵ１０がスキャナ制御部１２、メモリカード制御部１３、及びプリンタ制御部１４のいずれも制御していないときに設定される値であり、本実施形態では、印刷装置１の表面にユーザインタフェースとして設けられた操作パネル（図示しな）の操作状況を監視するために必要な時間が設定されている。
【００２１】
設定値Ｔ１〜Ｔ３は、プリンタ制御部１４の動作に対応付けられて設定された値であり、具体的には、設定値Ｔ１は給紙処理に必要な時間に基づいて設定され、設定値Ｔ２は排紙処理に必要な時間に基づいて設定され、設定値Ｔ３は印刷処理に必要な時間に基づいて設定されている。設定値Ｔ４は、スキャナ制御部１２の動作に対応付けられて設定された値であり、具体的には、設定値Ｔ４は原稿台上の用紙を走査する走査処理に必要な時間に基づいて設定されている。設定値Ｔ５及び設定値Ｔ６は、メモリカード制御部１３の動作に対応付けられて設定された値であり、具体的には、設定値Ｔ５はデータの読出し（リード）処理に必要な時間に基づいて設定され、設定値Ｔ６はデータの書込み（ライト）処理に必要な時間に基づいて設定されている。また、設定値Ｔ１〜Ｔ６は、より多くの時間を要する処理程大きな値となるように設定されている。
【００２２】
ビジーレジスタには、スキャナ制御部１２が動作中である旨を示す走査フラグと、メモリカード制御部１３が動作中である旨を示すメモリカードフラグと、プリンタ制御部１４が動作中である旨を示すプリンタフラグとの各領域が確保されている。
【００２３】
スキャナ用動作レジスタは、スキャナ制御部１２がどのような作業を行っているかを示す一つまたは複数のフラグから構成され、本実施形態においては原稿台上の用紙を走査中である旨を示す走査フラグから構成されている。
【００２４】
メモリカード用動作レジスタは、メモリカード制御部１３がどのような作業を行っているかを示す一つまたは複数のフラグから構成されている。本実施形態においてメモリカード用動作レジスタは、図示しないメモリカードに記録されたデータを読み出し中である旨を示すリードフラグと、スキャナ制御部１２によって取り込まれたデータやＰＣ２２から入力されたデータをメモリカードに書き込み中である旨を示すライトフラグから構成されている。
【００２５】
プリンタ用動作レジスタは、プリンタ制御部１４がどのような作業を行っているかを示す一つまたは複数のフラグから構成されている。本実施形態においてプリンタ用動作レジスタは、給紙中である旨を示す給紙フラグと、排紙中である旨を示す排紙フラグと、印刷中である旨を示す印刷フラグとから構成されている。
【００２６】
スキャナ制御部１２は、ＣＣＤ（電荷結合素子）２４、Ａ／Ｄ変換回路２５、スキャナ入力回路２６を備えている。スキャナ制御部１２は、図示しない原稿台に載置された用紙上のイメージを走査することによって光学的に読み取り、この走査によりＣＣＤ２４に蓄えられた電荷をＡ／Ｄ変換回路２５によってＡ／Ｄ変換する。そして、スキャナ制御部１２は、Ａ／Ｄ変換された画像データや文字データ（以下、画像データ等という）をスキャナ入力回路２６に入力する。スキャナ入力回路２６は、入力された画像データ等をＣＰＵ１０の指示に従ってＳＤＲＡＭ１７に記録する。
【００２７】
また、スキャナ入力回路２６は、原稿台に用紙が載置され、操作パネル上の走査ボタン（図示せず）が操作された場合にビジーレジスタの走査フラグをセットする。そして、スキャナ制御部１２は、走査により得られた画像データ等のＳＤＲＡＭ１７への記録が完了した際に走査フラグをリセットする。例えば、フラグのセットはそのフラグに割り当てられたビットを「１」にすることを指し、フラグのリセットはそのビットを「０」にすることを指す。
【００２８】
更に、スキャナ制御部１２は、原稿台上の用紙のイメージを走査する際に、スキャナ用動作レジスタの走査フラグをセットする。そして、スキャナ制御部１２は、原稿台の用紙の走査が完了すると走査フラグをリセットする。
【００２９】
メモリカード制御部１３は、カード型記録媒体（以下、単にメモリカードという）が装着可能なメモリカードスロット２７と、メモリカード入出力回路２８とを備えている。メモリカード制御部１３は、ＣＰＵ１０からの指示に基づいて、メモリカード入出力回路２８を介してメモリカードに記録された画像データ等を読み出す。
【００３０】
メモリカード制御部１３は、メモリカードから画像データ等の読み出しを開始する際に、メモリカード用動作レジスタのリードフラグをセットし、メモリカード等から画像データ等の読み出しが完了したときにリードフラグをリセットする。そして、メモリカード制御部１３は、読み出した画像データ等をＳＤＲＡＭ１７に記憶する。
【００３１】
メモリカード制御部１３は、ＣＰＵ１０からの指示に基づいて、ＰＣ２２から送信された画像データ等、またはスキャナ制御部１２によって取り込まれた用紙の画像データ等をメモリカードスロット２７に装着されたメモリカードに書き込む。メモリカード制御部１３は、メモリカードに画像データ等の書き込みを開始する際に、メモリカード用動作レジスタのライトフラグをセットし、メモリカードへの画像データ等の書き込みが完了した際にライトフラグをリセットする。
【００３２】
また、メモリカード制御部１３は、動作中において、ビジーレジスタのメモリカードフラグをセットし、その動作を完了したときにメモリカードフラグをリセットする。つまり、メモリカード制御部１３がメモリカードから画像データ等を読み出しているときにはメモリカードフラグとリードフラグとが共にセットされ、メモリカード制御部１３がメモリカードに画像データ等を書き込んでいるときにはメモリカードフラグとライトフラグとが共にセットされる。一方、メモリカード制御部１３が画像データ等の読み出しや書き込み以外の作業を行っている場合には、メモリカードフラグがセットされ、リードフラグ及びライトフラグは共にリセットされる。
【００３３】
プリンタ制御部１４は、プリンタヘッド２９及びヘッド制御ユニット３０を備えている。プリンタヘッド２９は、紙、ＯＨＰフィルム等の印刷媒体の搬送路に対向した面に各色用のノズルを多数個有し、ヘッド制御ユニット３０の指示に基づいて、紙送り方向と垂直の主走査方向に往復走行しながら、各色のインク滴をその色に対応したノズルから吐出する。この結果、印刷媒体上に画像が形成される。
【００３４】
ヘッド制御ユニット３０は、プリンタヘッド２９を走行させるキャリッジ（図示せず）のモータの駆動を制御しつつ、ＣＰＵ１０から送信される各色の印刷データに基づいて、インク滴の吐出の有無や、吐出するインク滴の量を制御する。
【００３５】
プリンタ制御部１４は、動作中において、ビジーレジスタのプリンタフラグをセットし、その動作を完了したときにプリンタフラグをリセットする。また、プリンタ制御部１４は、給紙中には給紙フラグを、排紙中には排紙フラグを、印刷中には印刷フラグをそれぞれセットする。そして、プリンタ制御部１４は、それぞれの作業を終了するとその作業に対応するフラグをリセットする。
【００３６】
ＰＣ−ＵＳＢ回路１９は、ＰＣ２２からのコマンドデータや画像データ等の受信や、ＰＣ２２へのステータス情報の送信等、ＰＣ２２との双方向通信の制御を行う。
ＵＳＢホスト回路２０は、ＣＰＵ１０の指示に基づいて、ＵＳＢインタフェースケーブル２３を介してデジタルスチルカメラ等の外部機器から画像データ等を読み込み、そのデータを、データバス１５，１８を介してＳＤＲＡＭ１７に格納する。
【００３７】
Ｉ／Ｆ制御部１１は、記憶手段としてのメモリ１１ａとカウンタ１１ｂとを備えている。Ｉ／Ｆ制御部１１は、ＣＰＵ１０から入力されたタイマ値Ｔをメモリ１１ａに記録し、ＣＰＵ１０からタイマ起動信号が入力されるとカウンタ１１ｂを作動させて経過時間をカウントアップする。そして、Ｉ／Ｆ制御部１１は、カウンタ１１ｂの値がタイマ値Ｔと一致するか否かを判断し、一致しない場合にはＰＣ−ＵＳＢ回路１９から入力された割込信号をＣＰＵ１０に出力しないようになっている。
【００３８】
なお、本実施形態では、ＣＰＵ１０、Ｉ／Ｆ制御部１１、ＰＣ−ＵＳＢ回路１９、ＵＳＢホスト回路２０、スキャナ入力回路２６、メモリカード入出力回路２８、及びヘッド制御ユニット３０は、ＣＰＵ組込みＡＳＩＣ（Application-specific integrated circuit）３１上に実装されている。
【００３９】
プログラムＲＯＭ１６には、ＣＰＵ１０が動作するためのコンピュータプログラムが格納されている。ＣＰＵ１０は、プログラムＲＯＭ１６に格納されているプログラムコードを読み出し、そのプログラムコードに従った処理を実行する。
【００４０】
ＣＰＵ１０は、Ｉ／Ｆ制御部１１から割込信号が入力されると、タイマ値Ｔの値を初期化し（例えば、タイマ値Ｔ＝「０」にする）、タイマ値算出処理を実行してタイマ値Ｔを算出する。そこで、このタイマ値算出処理について、図２及び図３に示すフローチャートに従って詳細に説明する。
【００４１】
まず、ステップ１００に示すように、ＣＰＵ１０はビジーレジスタの値が「０」であるか否かを判断する。即ち、ＣＰＵ１０は、プリンタフラグ、走査フラグ、メモリカードの全てのフラグが「０」であるか否かを判断する。ステップ１００においてビジーレジスタの値が「０」の場合、ＣＰＵ１０はステップ１０１においてタイマ値Ｔに最小タイマ値Ｔ０を設定して処理を終了する。
【００４２】
ステップ１００においてビジーレジスタの値が「０」でないと判断した場合、ＣＰＵ１０はステップ１０２において、ビジーレジスタ中のプリンタフラグの値が「１」であるか否かを判断する。プリンタフラグの値が「１」であると判断した場合、ＣＰＵ１０は、ステップ１０３において給紙フラグの値が「１」であるか否かを判断する。給紙フラグの値が「１」であると判断した場合、ＣＰＵ１０は、ステップ１０４においてタイマ値Ｔに設定値Ｔ１を加算する。
【００４３】
ステップ１０３において給紙フラグの値が「０」であると判断した場合、ＣＰＵ１０は、ステップ１０５の処理において排紙フラグの値が「１」であるか否かを判断する。排紙フラグの値が「１」であると判断した場合、ＣＰＵ１０は、ステップ１０６においてタイマ値Ｔに設定値Ｔ２を加算する。ステップ１０５において排紙フラグの値が「０」であると判断した場合、ＣＰＵ１０は、ステップ１０７において印刷フラグの値が「１」であるか否かを判断する。印刷フラグの値が「１」であると判断した場合、ＣＰＵ１０は、ステップ１０８においてタイマ値Ｔに設定値Ｔ３を加算する。
【００４４】
ステップ１０２〜１０８に示すように、ＣＰＵ１０は、プリンタ制御部１４が動作中でプリンタフラグの値が「１」の場合、プリンタ制御部１４がどのような作業を行っているのかを給紙フラグの値、排紙フラグの値、及び印刷フラグの値から判断する。そして、ＣＰＵ１０は、プリンタ制御部１４の動作に応じて設定値Ｔ１〜Ｔ３をタイマ値Ｔに加算して新たなタイマ値Ｔを算出する。
【００４５】
ステップ１０７において印刷フラグの値が「０」であると判断した場合、ＣＰＵ１０は、ステップ１０９において走査フラグの値が「１」であるか否かを判断する。走査フラグの値が「１」であると判断した場合、ＣＰＵ１０は、ステップ１１０においてタイマ値Ｔに設定値Ｔ４を加算する。即ち、ＣＰＵ１０は、スキャナ制御部１２が走査中である場合、タイマ値Ｔに設定値Ｔ４を加算して新たなタイマ値Ｔを算出する。
【００４６】
ステップ１０９において走査フラグの値が「０」であると判断した場合、ＣＰＵ１０は、ステップ１１１においてメモリカードフラグの値が「１」であるか否かを判断する。メモリカードフラグの値が「１」であると判断した場合、ＣＰＵ１０は、ステップ１１２においてリードフラグの値が「１」であるか否かを判断する。リードフラグの値が「１」であると判断した場合、ＣＰＵ１０はステップ１１３においてタイマ値Ｔに設定値Ｔ５を加算する。
【００４７】
ステップ１１２においてリードフラグの値が「０」であると判断した場合、ＣＰＵ１０は、ステップ１１４においてライトフラグの値が「１」であるか否かを判断する。ライトフラグの値が「１」であると判断した場合、ＣＰＵ１０は、ステップ１１５においてタイマ値Ｔに設定値Ｔ６を加算して処理を終了する。
【００４８】
ステップ１１１〜１１５に示すように、ＣＰＵ１０は、メモリカード制御部１３が動作中でメモリカードフラグの値が「１」の場合、メモリカード制御部１３がどのような作業を行っているのかをリードフラグの値及びライトフラグの値から判断する。そして、ＣＰＵ１０は、メモリカード制御部１３の動作に応じて設定値Ｔ５，Ｔ６をタイマ値Ｔに加算して新たなタイマ値Ｔを算出する。
【００４９】
このように、ＣＰＵ１０は、割込信号が入力されたときのビジーフラグ及び各動作フラグの値に基づいてタイマ値Ｔを算出する。従って、タイマ値Ｔは、各制御部１２，１３，１４が動作中か否か、また動作中であればその制御部が行っている作業の内容によって異なる値となる。
【００５０】
以上のように構成された印刷装置１において、ＣＰＵ１０、Ｉ／Ｆ制御部１１、及びＰＣ−ＵＳＢ回路１９との間で行われる処理の流れについて、図４及び図５に基づいて詳細に説明する。本実施形態においてＣＰＵ１０は、スキャナ制御部１２、メモリカード制御部１３、及びプリンタ制御部１４の各制御よりも、ＵＳＢ通信によってＩ／Ｆ制御部１１から入力された割込信号に係る処理を優先して行うようになっている。ここでは、ＵＳＢの転送方法としてバルク転送を用いた場合について説明する。なお、ＵＳＢの転送方法としては、コントロール転送、インタラプト転送、アイソクロナス転送等を用いてもよい。また、以下、メモリカードスロット２７に装着されたメモリカードの画像データをＰＣ２２が印刷装置１から読み出す態様を例にとって説明する。
【００５１】
ＰＣ−ＵＳＢ回路１９は、割込信号の出力が許可された状態において、ＰＣ２２からＳＯＦ（Start of Frame）パケットが入力されると、Ｉ／Ｆ制御部１１に対して割込信号を出力する（ステップ２００）。Ｉ／Ｆ制御部１１は、割込信号が入力されると、この割込信号をＣＰＵ１０に対して出力する（ステップ２０１）。
【００５２】
ＣＰＵ１０は、割込信号が入力されると割込マスク信号を出力する（ステップ２０２）。Ｉ／Ｆ制御部１１は、この割込信号をＰＣ−ＵＳＢ回路１９に出力する（ステップ２０３）。ＰＣ−ＵＳＢ回路１９は、割込マスク信号が入力されると、Ｉ／Ｆ制御部１１に対する割込信号の出力を停止して割り込みマスクをセットする（ステップ２０４）。このように、ＣＰＵ１０から出力された割込マスク信号によって、ＰＣ−ＵＳＢ回路１９からＩ／Ｆ制御部１１への割込信号の出力が停止される。
【００５３】
割り込みマスクをセットした後に、画像データの送信を要求する旨のＩＮトークンパケットが入力されると、ＰＣ−ＵＳＢ回路１９は、その応答としてＮＡＫパケットを返す（ステップ２０５）。その後、連続してＩＮトークンパケットが入力されても、ＰＣ−ＵＳＢ回路１９は、割り込みマスクがセットされている場合にはその応答としてＮＡＫパケットを出力し続ける。
【００５４】
ＣＰＵ１０は、割込マスク信号を出力した後、入力された割込信号に基づいてＰＣ−ＵＳＢ回路１９が受信したパケットの処理（ＵＳＢイベントの処理）を行う（ステップ２０６）。ＳＯＦパケットを受信した旨を示す割込信号が入力された場合、ＣＰＵ１０は、Ｉ／Ｆ制御部１１を介してＰＣ−ＵＳＢ回路１９にＡＣＫ信号を出力する。
【００５５】
ＵＳＢイベントの処理が完了すると、ＣＰＵ１０は、タイマ値算出処理を行ってタイマ値Ｔを算出（ステップ２０７）してＩ／Ｆ制御部１１に対して出力する（ステップ２０８）。
【００５６】
Ｉ／Ｆ制御部１１は、入力されたタイマ値Ｔをメモリ１１ａに記録する（ステップ２０９）。
ＣＰＵ１０は、タイマ値Ｔを出力した後、タイマ起動信号をＩ／Ｆ制御部１１に対して出力する（ステップ２１０）。そして、ＣＰＵ１０は、割込許可信号を出力する（ステップ２１２）。Ｉ／Ｆ制御部１１は、この割込許可信号をＰＣ−ＵＳＢ回路１９に出力する（ステップ２１３）。ＰＣ−ＵＳＢ回路１９は、割込許可信号に応答して割り込みマスクをクリアする（ステップ２１４）。
【００５７】
次にＰＣ−ＵＳＢ回路１９は、ＰＣ２２からパケットが入力された場合、割込マスクが解除されているためＩ／Ｆ制御部１１に割込信号を出力する（ステップ２１５）。一方、ＣＰＵ１０は、ステップ２１２において割込許可信号を出力することによりＵＳＢ通信に係る割込処理から開放される。
【００５８】
Ｉ／Ｆ制御部１１は、タイマ起動信号が入力されると、カウンタ１１ｂを作動させてタイマ起動信号が入力されてからの経過時間を計測する（ステップ２１１）。詳しくは、Ｉ／Ｆ制御部１１は、カウンタ１１ｂをカウントアップすることによってタイマ起動信号が入力されてからの経過時間を計測する。このカウンタ１１ｂが作動している期間においてＩ／Ｆ制御部１１は、ＰＣ−ＵＳＢ回路１９から入力された割込信号をＣＰＵ１０に出力しないようになっている。
【００５９】
そのため、ＰＣ−ＵＳＢ回路１９は、ステップ２１４において割り込みマスクをクリアした後にＰＣ２２からＩＮトークンパケットが入力されると、Ｉ／Ｆ制御部１１に割込信号を出力する（ステップ２１５）。この割込信号が入力されたときにカウンタ１１ｂが作動しているため、Ｉ／Ｆ制御部１１は、割込信号をＣＰＵ１０に出力しない。
【００６０】
このように、カウンタ１１ｂが作動している間はＣＰＵ１０に割込信号が入力されないため、ＣＰＵ１０は、ＵＳＢ通信に係る割込処理以外の処理、例えばステップ２１６に示すように、スキャナ制御部１２及びプリンタ制御部１４の制御を行うことができる。
【００６１】
ＰＣ−ＵＳＢ回路１９は、Ｉ／Ｆ制御部１１においてカウンタ１１ｂが作動している場合、出力した割込信号に対する応答がないため、ＰＣ２２にＮＡＫパケットを出力する（ステップ２１７）。このＰＣ−ＵＳＢ回路１９からのＮＡＫパケットの出力は、Ｉ／Ｆ制御部１１においてカウンタ１１ｂが作動している間にわたって行われる。
【００６２】
カウンタ１１ｂの値がタイマ値Ｔに等しくなると、Ｉ／Ｆ制御部１１はカウンタ１１ｂを停止させる（ステップ２１８）。そして、Ｉ／Ｆ制御部１１は、ＰＣ−ＵＳＢ回路１９から入力された割込信号をＣＰＵ１０に出力するようになる。
【００６３】
ＣＰＵ１０は、Ｉ／Ｆ制御部１１から割込信号が入力される度に、ステップ２０２，２０６〜２０８，２１０，２１２，２１６に示す処理を実行する。ＣＰＵ１０は、ＩＮトークンパケットをＰＣ−ＵＳＢ回路１９が受信した旨を示す割込信号が入力された場合、ステップ２０６に示すＵＳＢイベントの処理においてメモリカードの画像データをパケット単位に分割して出力する。その後、ＣＰＵ１０に割込信号が入力される度に、印刷装置１からパケット単位の画像データがＰＣ２２に対して出力され、メモリカードに記録された画像データがＰＣ２２に読み出される。
【００６４】
従って、本実施形態によれば以下のような効果を得ることができる。
（１）タイマ値Ｔで示される期間にわたってＣＰＵ１０には割込信号が入力されないため、ＣＰＵ１０は、この期間、ＰＣ２２から入力されるパケットの処理以外の処理、即ちスキャナ制御部１２、メモリカード制御部１３、及びプリンタ制御部１４の制御を行うことができる。従って、連続した割り込みに対してスキャナ制御部１２、メモリカード制御部１３、及びプリンタ制御部１４の処理速度の低下を抑えることができる。
【００６５】
（２）タイマ値Ｔは、Ｉ／Ｆ制御部１１のメモリ１１ａに記録される。このため、Ｉ／Ｆ制御部１１は、タイマ値Ｔを算出するための処理を何ら行う必要がない。従って、Ｉ／Ｆ制御部１１の処理上の負担を軽減できる。
【００６６】
（３）Ｉ／Ｆ制御部１１は、ＣＰＵ１０から入力されたタイマ起動信号に基づいてカウンタ１１ｂを作動させる。つまり、Ｉ／Ｆ制御部１１は、タイマ起動信号が入力されない場合にはカウンタ１１ｂを作動させず、ＣＰＵ１０に対する割込信号の出力を停止しない。ＣＰＵ１０は、割込信号が入力される度にＵＳＢイベントの処理（図４のステップ２０６）を実行する。このため、ＣＰＵ１０は、自らにかかる処理上の負荷が軽いときにはタイマ起動信号を出力しないことで、ＵＳＢイベントの処理をスキャナ制御部１２等が行う処理に優先させて行うことができる。従って、ＰＣ２２から入力されるパケットの処理効率を向上させることができる。
【００６７】
（４）ＣＰＵ１０は、割込信号が入力されると、割込マスク信号を出力してＰＣ−ＵＳＢ回路１９における割り込みマスクをセットし、タイマ起動信号を出力した後に割込許可信号を出力してＰＣ−ＵＳＢ回路１９における割り込みマスクをリセットする。ＰＣ−ＵＳＢ回路１９は、割り込みマスクがセットされている場合、Ｉ／Ｆ制御部１１に対する割込信号の出力を停止する。このため、ＣＰＵ１０がタイマ起動信号を出力するまで、ＰＣ−ＵＳＢ回路１９からＣＰＵ１０への割込信号の入力を停止させることができる。従って、ＣＰＵ１０は確実にタイマ起動信号を出力することができ、連続した割り込みに対して処理速度の低下を確実に抑えることができる。
【００６８】
（５）タイマ値Ｔは各制御部１２，１３，１４の動作内容に応じて設定され、ＣＰＵ１０にかかる処理上の負荷が大きいときには大きな値となり、これとは反対に、ＣＰＵ１０にかかる処理上の負荷が小さいときには小さな値となる。即ち、Ｉ／Ｆ制御部１１がＣＰＵ１０に対して割込信号を出力しない期間の長さをＣＰＵ１０にかかる処理上の負荷に応じて変更することができる。このため、ＣＰＵ１０は、タイマ値Ｔが固定値の場合に比較して、例えばスキャナ制御部１２の走査処理を終えても割込信号が入力されないでＵＳＢ通信に係る割込処理を行えないといったことがなくなる。従って、ＣＰＵ１０における無駄な時間を排除でき、連続した割り込みに対して各制御部１２，１３，１４の処理速度の低下を一層抑えることができる。
【００６９】
（６）ＣＰＵ１０は、割込信号が入力される度にタイマ値Ｔを算出する。このため、割込信号が入力された時点でのＣＰＵ１０の負荷状態をタイマ値Ｔに反映させることができる。従って、Ｉ／Ｆ制御部１１がＣＰＵ１０に対して割込信号を出力しない期間を、ＵＳＢ通信に係る処理を実行する際におけるＣＰＵ１０の処理上の負荷に合わせて最適な長さに設定でき、ＣＰＵ１０における無駄な時間を一層排除することができる。
【００７０】
（７）ＣＰＵ１０は、割込信号が入力されたときのビジーフラグの値及び各動作フラグの値に応じて最小タイマ値Ｔ０または設定値Ｔ１〜Ｔ６を加算してタイマ値Ｔを算出する。このように、ＣＰＵ１０は、加算という簡単な演算によってタイマ値Ｔを求める。従って、ＣＰＵ１０の処理上の負担を軽減できる。
【００７１】
（８）ＣＰＵ１０は、各制御部１２，１３，１４の動作状況や各制御部１２，１３，１４が行う作業をビジーフラグ及び動作フラグの値によって判断している。動作フラグの値は、「１」及び「０」の２値によって表されている。従って、ＣＰＵ１０は各制御部１２，１３，１４の動作状況を簡単に判断することができ、ＣＰＵ１０の処理上の負担を一層軽減できる。
【００７２】
なお、本発明の実施形態は以下のように変更してもよい。
（変形例１）本実施形態においてタイマ値Ｔは、ＣＰＵ１０に割込信号が入力されたときのビジーレジスタ及び各動作レジスタ内のフラグの値に基づいて算出されていた。しかし、タイマ値Ｔは、予め設定された固定値でもよい。このようにすれば、ＣＰＵ１０がタイマ値Ｔを算出する際に実行する処理が不要になる。また、このようにタイマ値Ｔが固定値の場合、Ｉ／Ｆ制御部１１が備えるメモリ１１ａに予めタイマ値Ｔが記録されていてもよい。こうすれば、ＣＰＵ１０がタイマ値Ｔを出力する処理を省略することができ、ＣＰＵ１０の処理上の負荷を軽減できる。
【００７３】
（変形例２）ＣＰＵ１０は、ビジーレジスタと各動作レジスタとに基づいてタイマ値Ｔを算出していた。しかし、ＣＰＵ１０は、ビジーレジスタのみ、または各動作レジスタのみにもとづいてタイマ値Ｔを算出するように変更されてもよい。このようにすれば、ＣPＵ１０がタイマ値Ｔを算出するまでの時間を短縮できる。
【００７４】
（変形例３）本実施形態において、各動作レジスタを構成するフラグの数を増加させてもよい。つまり、各制御部の作業内容を更に細分化し、それぞれの作業にフラグを割り当ててもよい。例えば、本実施形態におけるスキャナ用動作レジスタは、走査フラグによって構成されていた。しかし、スキャナ用動作レジスタは、走査フラグと、ＳＤＲＡＭ１７に画像データ等を記録していることを示す記録フラグとを備えてもよい。このようにすれば、ＣＰＵ１０は、スキャナ制御部１２の動作状況を詳細に把握することができる。従って、ＣＰＵ１０にかかる負荷を一層反映したタイマ値Ｔを算出することができる。
【００７５】
（変形例４）本実施形態におけるＩ／Ｆ制御部１１は、カウンタ１１ｂを作動させてカウントアップすることによってタイマ起動信号が入力されてからの経過時間を計測した。しかし、タイマ起動信号が入力されてからの経過時間を計測する方法は、カウンタ１１ｂを用いる方法に限定されない。例えば、Ｉ／Ｆ制御部１１はタイマを備え、このタイマを作動させることによりタイマ起動信号が入力されてからの経過時間を計測するように変更されてもよい。
【００７６】
（変形例５）本実施形態においては、ＰＣ２２と印刷装置１とは、ＰＣ−ＵＳＢ回路を介してＵＳＢインタフェースケーブルによって接続されていた。しかし、ＰＣ２２と印刷装置１との接続はＵＳＢインタフェース等の有線接続に限定されず、例えば、ブルートゥース（Bluetooth：登録商標）等の近距離無線通信によって接続されてもよい。
【００７７】
（変形例６）本実施形態における設定値Ｔ１〜Ｔ６は固定値であった。しかし、設定値Ｔ１〜Ｔ６は可変値でもよい。例えば、操作パネルの操作に応じて設定値Ｔ１〜Ｔ６が変更されるようにしてもよい。このようにすれば、ユーザの要求（例えば、ＵＳＢ通信に係る処理もある程度優先させて行いたい等）をタイマ値Ｔに反映させることができ、印刷装置１の利便性を向上させることができる。
【００７８】
次に、本実施形態及び他の実施形態から把握できる技術的思想を以下に追記する。
（１）請求項１〜７のいずれか１項に記載の印刷装置において、前記外部機器と前記インタフェースとはＵＳＢインタフェースによって有線接続されていること。
【図面の簡単な説明】
【００７９】
【図１】本実施形態における印刷装置の電気ブロック図。
【図２】ＣＰＵが行うタイマ値算出処理のフローチャート。
【図３】ＣＰＵが行うタイマ値算出処理のフローチャート。
【図４】ＰＣ−ＵＳＢ回路、Ｉ／Ｆ制御部、及びＣＰＵ間のシーケンス図。
【図５】ＰＣ−ＵＳＢ回路、Ｉ／Ｆ制御部、及びＣＰＵ間のシーケンス図。
【符号の説明】
【００８０】
１…印刷装置、１０…処理制御手段としてのＣＰＵ、１１…インタフェース制御手段及び停止手段としてのＩ／Ｆ制御部、１１ａ…記憶手段としてのメモリ、１２…被制御手段としてのスキャナ制御部、１３…被制御手段としてのメモリカード制御部、１４…被制御手段としてのプリンタ制御部、１９…インタフェースとしてのＰＣ−ＵＳＢ回路、２２…外部機器としてのＰＣ、Ｔ…タイマ値、Ｔ１〜Ｔ６…設定値。
【図１】
2005110078.tif 000003
【図２】
2005110078.tif 000004
【図３】
2005110078.tif 000005
【図４】
2005110078.tif 000006
【図５】
2005110078.tif 000007