(57)【要約】 【課題】印刷装置、および、印刷装置と接続可能な第１装置の何れもマスタとして動作可能な印刷装置および印刷システムを提供する。【解決手段】外部コントローラ１００と接続可能な印刷装置２００は、外部コントローラ１００と通信するコマンド／ステータスインタフェース制御部２０４および画像データインタフェース制御部２０５と、記憶装置２０３と、印刷制御部２０２と、外部コントローラ１００からのマスタ設定情報に従って、印刷装置２００がマスタ装置として動作するか否かを設定し、印刷画像データの転送が行われる場合、印刷装置２００がマスタ装置として動作する設定であれば、外部コントローラ１００に対して印刷画像データの読み出しを要求する制御を行う一方、印刷装置２００がマスタ装置として動作しない設定であれば、外部コントローラ１００からの印刷画像データの転送を待つ制御を行うデータ転送制御部２０１と、を備える。【選択図】図１
2013196589.tif 000002
【特許請求の範囲】
【請求項１】
画像データを記憶する第１記憶部を備えた第１装置と接続可能な印刷装置であって、
前記第１装置と通信する通信部と、
前記第１装置から送信される前記画像データを記憶する第２記憶部と、
前記第２記憶部に記憶された前記画像データに基づく印刷を行う印刷部と、
前記第１装置からの、前記第１装置および前記印刷装置の何れがマスタ装置として動作するのかを示すマスタ設定情報に従って、前記印刷装置がマスタ装置として動作するか否かを設定する設定部と、
前記画像データの転送が行われる場合、前記印刷装置がマスタ装置として動作する設定であれば、前記第１装置に対して、前記第１記憶部に記憶された前記画像データの読み出しを要求する制御を行う一方、前記印刷装置がマスタ装置として動作しない設定であれば、前記第１装置からの前記画像データの転送を待つ制御を行う制御部と、を備える、
印刷装置。
【請求項２】
前記第１装置および前記印刷装置は、前記マスタ設定情報を含む制御情報の通信に用いられる第１バスと、前記画像データの通信に用いられる第２バスとを介して接続され、前記第２バスの規格は、ＰＣＩ−Ｅｘｐｒｅｓｓである、
請求項１の印刷装置。
【請求項３】
前記画像データの転送が行われる場合、前記制御部は、前記印刷装置がマスタ装置として動作する設定であれば、前記第１記憶部から前記画像データを読み出す要求を、前記第２バスを介して前記第１装置へ送信する制御を行う一方、前記印刷装置がマスタ装置として動作しない設定であれば、前記第１装置から前記第２バスを介して送信される前記画像データを待つ制御を行う、
請求項２の印刷装置。
【請求項４】
第１装置と、前記第１装置と接続可能な印刷装置とを備える印刷システムであって、
前記第１装置は、
前記印刷装置と通信する第１通信部と、
前記画像データを記憶する第１記憶部と、
前記第１装置の起動時に、前記第１装置および前記印刷装置の何れがマスタ装置として動作するのかを示すマスタ設定情報を設定する第１設定部と、
前記画像データの転送が行われる場合、前記マスタ設定情報が、前記第１装置がマスタ装置として動作することを示していれば、前記第１記憶部に記憶された前記画像データを前記印刷装置へ転送する制御を行う一方、前記マスタ設定情報が、前記第１装置がマスタ装置として動作しないことを示していれば、前記印刷装置からの、前記第１記憶部に記憶された前記画像データの読み出し要求を待つ制御を行う第１制御部と、を備え、
前記印刷装置は、
前記第１装置と通信する第２通信部と、
前記第１装置から受信した前記画像データを記憶する第２記憶部と、
前記第１記憶部に記憶された前記画像データに基づく印刷を行う印刷部と、
前記印刷装置の起動時に、前記第１装置に対して、前記マスタ設定情報の送信を要求する要求部と、
前記第１装置から受信した前記マスタ設定情報に従って、前記印刷装置がマスタ装置として動作するか否かを設定する第２設定部と、
前記画像データの転送が行われる場合、前記印刷装置がマスタ装置として動作する設定であれば、前記第１装置に対して、前記第１記憶部に記憶された前記画像データの読み出しを要求する制御を行う一方、前記印刷装置がマスタ装置として動作しない設定であれば、前記第１装置からの前記画像データの転送を待つ制御を行う第２制御部と、を備える、
印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置および印刷システムに関する。
【背景技術】
【０００２】
プリンタコントローラと印刷装置との間を接続するインタフェースにおいては、印刷装置のカラー化や高解像度化に伴い、大量の画像データを高速に転送する必要が出てきた。そこで前記インタフェースにおいて、物理的な伝送経路を複数に分離し、画像データを転送する伝送経路（以下、「バス」と呼ぶ場合がある）を個別に設けることで、画像データの転送を高速化する技術が知られている。
【０００３】
例えば特許文献１には、画像データを高速に転送することで印刷速度を向上させる目的で、コントローラとプリンタエンジンとの間で制御情報の通信に用いるバスと画像データの通信に用いるバスとを個別に設ける構成が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示されたデータ転送方法においては、コントローラ側がマスタとなって印刷装置へデータ転送することしかできなかった。このような転送方式を、例えば印刷装置が複数種類のコントローラに接続され得る印刷システムに適用する場合、印刷装置に接続されるコントローラによっては、コントローラ側がマスタになって印刷装置へデータを転送するよりも、印刷装置側がマスタとなってコントローラからデータを読み出す形態の方が都合のよい場合がある。しかしながら、従来の技術では、このような場合に対応できないという問題がある。
【０００５】
本発明は、上記に鑑みてなされたものであって、印刷装置、および、印刷装置と接続可能な第１装置の何れもマスタとして動作可能な印刷装置および印刷システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、画像データを記憶する第１記憶部を備えた第１装置と接続可能な印刷装置であって、前記第１装置と通信する通信部と、前記第１装置から送信される前記画像データを記憶する第２記憶部と、前記第２記憶部に記憶された前記画像データに基づく印刷を行う印刷部と、前記第１装置からの、前記第１装置および前記印刷装置の何れがマスタ装置として動作するのかを示すマスタ設定情報に従って、前記印刷装置がマスタ装置として動作するか否かを設定する設定部と、前記画像データの転送が行われる場合、前記印刷装置がマスタ装置として動作する設定であれば、前記第１装置に対して、前記第１記憶部に記憶された前記画像データの読み出しを要求する制御を行う一方、前記印刷装置がマスタ装置として動作しない設定であれば、前記第１装置からの前記画像データの転送を待つ制御を行う制御部と、を備える。
【０００７】
また、本発明は、第１装置と、前記第１装置と接続可能な印刷装置とを備える印刷システムであって、前記第１装置は、前記印刷装置と通信する第１通信部と、前記画像データを記憶する第１記憶部と、前記第１装置の起動時に、前記第１装置および前記印刷装置の何れがマスタ装置として動作するのかを示すマスタ設定情報を設定する第１設定部と、前記画像データの転送が行われる場合、前記マスタ設定情報が、前記第１装置がマスタ装置として動作することを示していれば、前記第１記憶部に記憶された前記画像データを前記印刷装置へ転送する制御を行う一方、前記マスタ設定情報が、前記第１装置がマスタ装置として動作しないことを示していれば、前記印刷装置からの、前記第１記憶部に記憶された前記画像データの読み出し要求を待つ制御を行う第１制御部と、を備え、前記印刷装置は、前記第１装置と通信する第２通信部と、前記第１装置から受信した前記画像データを記憶する第２記憶部と、前記第１記憶部に記憶された前記画像データに基づく印刷を行う印刷部と、前記印刷装置の起動時に、前記第１装置に対して、前記マスタ設定情報の送信を要求する要求部と、前記第１装置から受信した前記マスタ設定情報に従って、前記印刷装置がマスタ装置として動作するか否かを設定する第２設定部と、前記画像データの転送が行われる場合、前記印刷装置がマスタ装置として動作する設定であれば、前記第１装置に対して、前記第１記憶部に記憶された前記画像データの読み出しを要求する制御を行う一方、前記印刷装置がマスタ装置として動作しない設定であれば、前記第１装置からの前記画像データの転送を待つ制御を行う第２制御部と、を備える。
【発明の効果】
【０００８】
本発明によれば、印刷装置、および、印刷装置と接続可能な第１装置の何れもマスタとして動作することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、印刷システムの構成例を示すブロック図である。
【図２】図２は、外部コントローラがマスタ装置として動作する場合のデータ転送の概要を示す図である。
【図３】図３は、印刷装置がマスタ装置として動作する場合のデータ転送の概要を示す図である。
【図４】図４は、データ転送開始要求コマンドおよびデータ転送開始応答コマンドの一例を示す図である。
【図５】図５は、外部コントローラの起動時における、第１マスタ設定フラグの設定処理の一例を示すフローチャートである。
【図６】図６は、印刷装置の起動時における、第２マスタ設定フラグの設定処理の一例を示すフローチャートである。
【図７】図７は、外部コントローラのデータ転送制御の一例を示すフローチャートである。
【図８】図８は、印刷装置のデータ転送制御の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照しながら、本発明に係る印刷装置および印刷システムの実施の形態を詳細に説明する。図１は、本実施形態の印刷システム１０の構成例を示すブロック図である。図１に示すように、印刷システム１０は、外部コントローラ１００と印刷装置２００とを備える。
【００１１】
まず、外部コントローラ１００の構成について説明する。外部コントローラ１００は、データ転送制御部１０１とホストインタフェース制御部１０２と記憶装置１０３とコマンド／ステータスインタフェース制御部１０４と画像データインタフェース制御部１０５とを備える。データ転送制御部１０１は、印刷装置２００との間の画像データの転送を制御する。ホストインタフェース制御部１０２は、ＰＣ等のホスト装置３０との通信を制御する。記憶装置１０３は各種のデータを記憶する。
【００１２】
外部コントローラ１００および印刷装置２００は、各種コマンドやステータス情報を含む制御情報の通信に用いられる第１バスＢ１と、画像データの通信に用いられる第２バスＢ２とを介して接続される。また、第２バスＢ２の規格として、ＰＣＩ−Ｅｘｐｒｅｓｓが採用されている。コマンド／ステータスインタフェース制御部１０４は、第１バスＢ１を介した制御情報の通信を印刷装置２００との間で行う。画像データインタフェース制御部１０５は、第２バスＢ２を介した画像データの通信を印刷装置２００との間で行う。
【００１３】
外部コントローラ１００は、起動時に、外部コントローラ１００および印刷装置２００の何れが画像データ転送の際にマスタ装置（画像データ転送を制御する側の装置）として動作するのかを示すマスタ設定情報を設定する。詳細な内容については後述するが、外部コントローラ１００は、自身がマスタ装置として動作する場合は、データ転送制御部１０１内の第１マスタ設定フラグを「１」に設定する一方、印刷装置２００がマスタ装置として動作する場合は、第１マスタ設定フラグを「０」に設定する。なお、これに限らず、例えば外部コントローラ１００は、自身がマスタ装置として動作する場合は、第１マスタ設定フラグを「０」に設定する一方、印刷装置２００がマスタ装置として動作する場合は、第１マスタ設定フラグを「１」に設定する構成であってもよい。また、この例では、マスタ設定情報の一例としてフラグを用いているが、これに限られるものではない。その後、印刷装置２００からの要求に応じて、コントローラ側の設定内容を示すマスタ設定コマンドを印刷装置２００へ送信する。この例では、マスタ設定コマンドは、マスタ設定情報（第１マスタ設定フラグ）の内容を含んでいる。
【００１４】
外部コントローラ１００の起動完了後、ホスト装置３０より印刷ジョブが送信された場合、ホストインタフェース制御部１０２が印刷ジョブを受信し、その受信した印刷ジョブに含まれるＰＤＬデータ（ページ記述言語（ＰＤＬ）で記述された画像データ）を言語解釈し、印刷用の画像データ（以下、「印刷画像データ」と呼ぶ）を生成して記憶装置１０３に記憶する。
【００１５】
その後、データ転送制御部１０１は、印刷画像データの転送開始を要求するデータ転送開始要求コマンドを、第１バスＢ１を介して印刷装置２００へ送信するよう、コマンド／ステータスインタフェース制御部１０４を制御する。その後、印刷装置２００からの、データ転送開始要求コマンドに対する応答であるデータ転送開始応答コマンドをコマンド／ステータスインタフェース制御部１０４で受信すると、データ転送制御部１０１は、第１マスタ設定フラグを参照し、コントローラ側がマスタに設定されている場合は、記憶装置１０３から印刷画像データを読み出し、その読み出した印刷画像データを、ライトデータパケットとして第２バスＢ２を介して印刷装置２００へ転送するよう、画像データインタフェース制御部１０５を制御する。
【００１６】
一方、印刷装置側がマスタに設定されている場合は、データ転送制御部１０１は、印刷装置２００からの、記憶装置１０３に記憶された印刷画像データの読み出しを要求するデータリードリクエストパケットの受信を待つ制御を行う。そして、印刷装置２００からのデータリードリクエストパケットを画像データインタフェース制御部１０５で受信すると、記憶装置１０３から印刷画像データを読み出し、リードデータパケットして印刷装置２００へ送信する。
【００１７】
本実施形態の外部コントローラ１００は、ＣＰＵ（Central  Processing  Unit）、ＲＯＭ、ＲＡＭなどを備えた通常のコンピュータを利用したハードウェア構成となっている。上述のデータ転送制御部１０１、ホストインタフェース制御部１０２、コマンド／ステータスインタフェース制御部１０４、および、画像データインタフェース制御部１０５の各々の機能は、ＣＰＵがＲＯＭ等に格納されたプログラムをＲＡＭ上で展開して実行することにより実現されるが、これに限らず、例えば上述のデータ転送制御部１０１、ホストインタフェース制御部１０２、コマンド／ステータスインタフェース制御部１０４、および、画像データインタフェース制御部１０５のうちの少なくとも一部を個別の回路（ハードウェア回路）で実現することもできる。
【００１８】
次に、印刷装置２００の構成について説明する。図１に示すように、印刷装置２００は、データ転送制御部２０１と印刷制御部２０２と記憶装置２０３とコマンド／ステータスインタフェース制御部２０４と画像データインタフェース制御部２０５とを備える。データ転送制御部２０１は、外部コントローラ１００との間の画像データの転送を制御する。
印刷制御部２０２は、外部コントローラ１００からの印刷画像データに基づく印刷を行う。記憶装置２０３は、各種のデータを記憶する。
【００１９】
コマンド／ステータスインタフェース制御部２０４は、第１バスＢ１を介した制御情報の通信を外部コントローラ１００との間で行う。画像データインタフェース制御部２０５は、第２バスＢ２を介した画像データの通信を外部コントローラ１００との間で行う。
【００２０】
印刷装置２００は、起動時に、マスタ設定コマンドの転送を要求するマスタ設定要求コマンドを、コマンド／ステータスインタフェース制御部２０４を介して外部コントローラ１００へ送信する。そして、マスタ設定要求コマンドに対する応答として、外部コントローラ１００から送信されたマスタ設定コマンドをコマンド／ステータスインタフェース制御部２０４で受信した場合、受信したマスタ設定コマンドの内容に従って、自身が画像データ転送の際にマスタ装置として動作するか否かを設定する。本実施形態では、印刷装置２００は、受信したマスタ設定コマンドが、印刷装置２００自身がマスタ装置として動作することを示す場合は、データ転送制御部２０１内の第２マスタ設定フラグを「１」に設定する一方、外部コントローラ１００がマスタ装置として動作することを示す場合は、第２マスタ設定フラグを「０」に設定する。なお、これに限らず、例えば受信したマスタ設定コマンドが、印刷装置２００自身がマスタ装置として動作することを示す場合は、第２マスタ設定フラグを「０」に設定する一方、外部コントローラ１００がマスタ装置として動作することを示す場合は、第２マスタ設定フラグを「１」に設定してもよい。要するに、印刷装置２００がマスタ装置として動作するか否かの設定方法は任意である。
【００２１】
印刷装置２００の起動完了後、外部コントローラ１００からのデータ転送開始要求コマンドをコマンド／ステータスインタフェース制御部２０４で受信すると、データ転送制御部２０１は、その受信したデータ転送開始要求コマンドに対する応答として、データ転送開始応答コマンドを外部コントローラ１００へ送信するよう、コマンド／ステータスインタフェース制御部２０４を制御する。
【００２２】
その後、データ転送制御部２０１は、第２マスタ設定フラグを参照し、コントローラ側がマスタ装置に設定されている場合には、外部コントローラ１００から送信されるライトデータパケットの受信を待つよう、画像データインタフェース制御部２０５を制御する。そして、データ転送制御部２０１は、外部コントローラ１００からのライトデータパケットを画像データインタフェース制御部２０５で受信した場合、その受信したライトデータパケットを記憶装置２０３へ格納するよう、画像データインタフェース制御部２０５を制御する。その後、データ転送制御部２０１は、印刷制御部２０２へ印刷開始を指示し、印刷制御部２０２は記憶装置２０３からデータを読み出して印刷を行う。
【００２３】
一方、印刷装置側がマスタ装置に設定されている場合には、データ転送制御部２０１は、画像データインタフェース制御部２０５に対してデータ転送開始を指示し、画像データインタフェース制御部２０５は外部コントローラ１００に対してデータリードリクエストパケットを発行する。そして、データ転送制御部２０１は、外部コントローラ１００からリードデータパケットを受信した場合、その受信したデータを記憶装置２０３へ格納するよう、画像データインタフェース制御部２０５を制御する。その後、データ転送制御部２０１は印刷制御部２０２へ印刷開始を指示し、印刷制御部２０２は記憶装置２０３からデータを読み出して印刷を行う。
【００２４】
次に、図２を参照しながら、外部コントローラ１００がマスタ装置として動作する場合のデータ転送の概要を説明する。図２に示すように、外部コントローラ１００の画像データインタフェース制御部１０５が、記憶装置１０３に割り当てられたメモリアドレス空間から印刷画像データを読み出し、ＰＣＩに割り当てられたアドレス空間へ書き込むと、ライトデータパケットが印刷装置２００へ転送される。印刷装置２００の画像データインタフェース制御部２０５は、外部コントローラ１００からのライトデータパケットを受信すると、その受信したデータを、記憶装置２０３に割り当てられたメモリアドレス空間へ書き込む。
【００２５】
次に、図３を参照しながら、印刷装置２００がマスタ装置として動作する場合のデータ転送の概要を説明する。図３に示すように、印刷装置２００の画像データインタフェース制御部２０５が、ＰＣＩに割り当てられたアドレス空間から読み出しを行うと、データリードリクエストパケットが外部コントローラ１００へ転送される。外部コントローラ１００の画像データインタフェース制御部１０５では、データリードリクエストパケットを受信すると、記憶装置１０３に割り当てられたメモリアドレス空間からデータを読み出して、リードデータパケットとして印刷装置２００へ転送する。印刷装置２００の画像データインタフェース制御部２０５はリードデータパケットを受信すると、そのデータを記憶装置２０３に割り当てられたメモリアドレス空間へ書き込む。
【００２６】
図４は、本実施例で使用される、データ転送開始要求コマンド及びデータ転送開始応答コマンドの一例を示す図である。図４に示すように、データ転送開始要求コマンドは、コマンド識別子、印刷ジョブ名、データサイズにて構成される。また、データ転送開始応答コマンドは、コマンド識別子、印刷ジョブ名にて構成される。
【００２７】
次に、図５を参照しながら、外部コントローラ１００の起動時における、第１マスタ設定フラグの設定処理（第１マスタ設定処理と呼ぶ）について説明する。図５に示すように、外部コントローラ１００の立ち上げシーケンス（起動シーケンス）内の第１マスタ設定処理が開始されると（ステップＳ１００）、データ転送制御部１０１は、予め設定された設定情報により、外部コントローラ１００自身がマスタ装置として動作するのか否かを判断する（ステップＳ１０１）。外部コントローラ１００自身がマスタ装置として動作すると判断した場合（ステップＳ１０１の結果：ＹＥＳの場合）、データ転送制御部１０１は、第１マスタ設定フラグを「１」に設定する（ステップＳ１０２）。一方、外部コントローラ１００自身がマスタ装置として動作しないと判断した場合（ステップＳ１０１の結果：ＮＯの場合）、データ転送制御部１０１は、第１マスタ設定フラグを「０」に設定する（ステップＳ１０３）。
【００２８】
次に、コマンド／ステータスインタフェース制御部１０４は、印刷装置２００からのマスタ設定要求コマンドを受信するのを待つ（ステップＳ１０４）。印刷装置２００からのマスタ設定要求コマンドをコマンド／ステータスインタフェース制御部１０４で受信した場合（ステップＳ１０４の結果：ＹＥＳの場合）、データ転送制御部１０１は、第１マスタ設定フラグの設定内容をマスタ設定コマンドとして印刷装置２００へ送信するよう、コマンド／ステータスインタフェース制御部１０４を制御する（ステップＳ１０５）。印刷装置２００へのマスタ設定コマンドの送信後、印刷装置側で第２マスタ設定フラグを設定する処理（後述の第２マスタ設定処理）が行われるので、コマンド／ステータスインタフェース制御部１０４は、印刷装置２００からのマスタ設定完了通知を受信するのを待つ。そして、印刷装置２００からのマスタ設定完了通知を受信した場合（ステップＳ１０６の結果：ＹＥＳの場合）、第１マスタ設定処理は終了する。
【００２９】
一方、印刷装置２００からのマスタ設定要求コマンドをコマンド／ステータスインタフェース制御部１０４で受信していない場合（ステップＳ１０４の結果：ＮＯの場合）、予め設定された待ち時間の間、受信待ち状態となる。規定の待ち時間内にマスタ設定要求コマンドを受信すれば（ステップＳ１０４の結果：ＹＥＳ）、コマンド／ステータスインタフェース制御部１０４は、マスタ設定コマンドを印刷装置２００へ送信する（ステップＳ１０５）。一方、マスタ設定要求コマンドを受信していない状態が規定の待ち時間にわたって継続した場合（ステップＳ１０７の結果：ＹＥＳの場合）、印刷装置２００が応答不可能であると判断し、第１マスタ設定処理は終了する。
【００３０】
次に、図６を参照しながら、印刷装置２００の起動時における、第２マスタ設定フラグの設定処理（第２マスタ設定処理と呼ぶ）について説明する。図６に示すように、印刷装置２００の立ち上げシーケンス（起動シーケンス）内の第２マスタ設定処理が開始されると（ステップＳ２００）、データ転送制御部２０１は、マスタ設定要求コマンドを外部コントローラ１００へ送信するよう、コマンド／ステータスインタフェース制御部２０４を制御する（ステップＳ２０１）。
【００３１】
次に、コマンド／ステータスインタフェース制御部２０４は、外部コントローラ１００からのマスタ設定コマンドを受信するのを待つ。外部コントローラ１００からのマスタ設定コマンドをコマンド／ステータスインタフェース制御部２０４で受信した場合（ステップＳ２０２の結果：ＹＥＳの場合）、その受信したマスタ設定コマンドから第１マスタ設定フラグの設定内容を取り出して、データ転送制御部２０１へ渡す。第１マスタ設定フラグが「１」に設定されている場合（ステップＳ２０３の結果：ＹＥＳの場合）、データ転送制御部２０１は、第２マスタ設定フラグを「０」に設定する（ステップＳ２０４）。一方、第１マスタ設定フラグが「０」に設定されている場合（ステップＳ２０３の結果：ＮＯの場合）、データ転送制御部２０１は、第２マスタ設定フラグを「１」に設定する（ステップＳ２０５）。
【００３２】
第２マスタ設定フラグの設定が完了した後、データ転送制御部２０１は、外部コントローラ１００に対してマスタ設定完了通知を送信するよう、コマンド／ステータスインタフェース制御部２０４を制御し（ステップＳ２０６）、第２マスタ設定処理は終了する。
【００３３】
一方、外部コントローラ１００からのマスタ設定コマンドをコマンド／ステータスインタフェース制御部１０４で受信していない場合（ステップＳ２０２の結果：ＮＯの場合）、予め設定された待ち時間の間、受信待ち状態となる。規定の待ち時間内にマスタ設定コマンドを受信すれば、上述の第２マスタ設定フラグの設定が行われる。一方、マスタ設定コマンドを受信していない状態が規定の待ち時間にわたって継続した場合（ステップＳ２０７の結果：ＹＥＳの場合）、外部コントローラ１００が応答不可能であると判断し、第２マスタ設定処理は終了する。
【００３４】
次に、図７を参照しながら、外部コントローラ１００のデータ転送制御について説明する。まず、ホストインタフェース制御部１０２は、ホスト装置３０から受信した印刷ジョブから印刷画像データを生成して記憶装置１０３に格納する。印刷ジョブの処理が完了した後、ホストインタフェース制御部１０２は、印刷ジョブ名と、記憶装置１０３内の印刷画像データが格納される領域の先頭アドレスと、印刷対象のデータサイズとをデータ転送制御部１０１へ渡す（ステップＳ３００）。次に、データ転送制御部１０１は、コマンド／ステータスインタフェース制御部１０４に対して、印刷ジョブ名とデータサイズを渡し、印刷装置２００へのデータ転送開始要求コマンドの送信を指示する（ステップＳ３０１）。この指示を受けたコマンド／ステータスインタフェース制御部１０４は、データ転送開始要求コマンドを印刷装置２００へ送信する（ステップＳ３０２）。その後、コマンド／ステータスインタフェース制御部１０４は、データ転送開始要求コマンドに対する応答として、データ転送開始応答コマンドを印刷装置２００から受信するのを待つ。
【００３５】
印刷装置２００からのデータ転送開始応答コマンドをコマンド／ステータスインタフェース制御部１０４で受信した場合（ステップＳ３０３の結果：ＹＥＳの場合）、データ転送制御部１０１は、第１マスタ設定フラグが「１」に設定されているか否かを判断する（ステップＳ３０４）。
【００３６】
第１マスタ設定フラグが「１」に設定されている場合（ステップＳ３０４の結果：ＹＥＳの場合）、データ転送制御部１０１は、画像データインタフェース制御部１０５に対して、印刷画像データの転送元アドレス、転送先アドレス、データサイズを渡し、印刷画像データの転送開始を指示する（ステップＳ３０５）。ここで、転送元アドレスは、記憶装置１０３内の印刷画像データが格納される領域の先頭アドレスであり、転送先アドレスは、ＰＣＩ−Ｅｘｐｒｅｓｓに割り当てられたＰＣＩアドレス空間の先頭アドレスとなる。
【００３７】
データ転送制御部１０１からの指示を受けた画像データインタフェース制御部１０５は、記憶装置１０３内の転送元アドレスが示す領域から印刷画像データを読み出してＰＣＩアドレス空間の転送先アドレスへ書き込むことで、その読み出した印刷画像データを、ＰＣＩ−Ｅｘｐｒｅｓｓのライトデータパケットとして印刷装置２００へ送信する（ステップＳ３０６）。この時点で印刷ジョブのデータサイズ分の転送が完了している場合（ステップＳ３０７の結果：ＹＥＳの場合）、処理は終了する。一方、データサイズ分の転送が完了していない場合（ステップＳ３０７の結果：ＮＯの場合）、転送したデータサイズ分だけ転送元アドレスおよび転送先アドレスを更新し、前述の転送元アドレスからの印刷画像データの読み出し処理と、転送先アドレスへの印刷画像データの書き込み処理とを繰り返す。
【００３８】
一方、前述のステップＳ３０４において、第１マスタ設定フラグが「０」に設定されている場合（ステップＳ３０４の結果：ＮＯの場合）、データ転送制御部１０１は、画像データインタフェース制御部１０５に対して、印刷画像データの転送元アドレス、データサイズを渡し、印刷装置２００からのリードリクエスト待ちを指示する（ステップＳ３０８）。
【００３９】
データ転送制御部１０１からの指示を受けた画像データインタフェース制御部１０５は、印刷装置２００からのＰＣＩ−Ｅｘｐｒｅｓｓのデータリードリクエストパケットの受信を待つ（ステップＳ３０９）。画像データインタフェース制御部１０５は、データリードリクエストパケットを受信した場合（ステップＳ３０９の結果：ＹＥＳの場合）、記憶装置１０３内の転送元アドレスが示す領域から印刷画像データを読み出し、ＰＣＩ−Ｅｘｐｒｅｓｓのリードデータパケットとして印刷装置２００へ転送する（ステップＳ３１０）。この時点で印刷ジョブのデータサイズ分の転送が完了している場合（ステップＳ３１１の結果：ＹＥＳの場合）、処理は終了する。一方、データサイズ分の転送が完了していない場合（ステップＳ３１１の結果：ＮＯの場合）、転送したデータサイズ分だけ転送元アドレスを更新し、前述のデータリードリクエストパケットの受信、転送元アドレスが示す領域からの印刷画像データの読み出し、および、リードデータパケットの転送の処理を繰り返す。
【００４０】
次に、図８を参照しながら、印刷装置２００のデータ転送制御について説明する。まず、コマンド／ステータスインタフェース制御部２０４は、外部コントローラ１００からのデータ転送開始要求コマンドを受信した場合（ステップＳ４００の結果：ＹＥＳの場合）、その受信したデータ転送開始要求コマンドからデータサイズを取り出してデータ転送制御部２０１へ渡す。データ転送制御部２０１は、記憶装置２０３内に印刷ジョブのデータサイズ分の格納領域を確保し（ステップＳ４０１）、外部コントローラ１００に対してデータ転送開始応答コマンドを送信するよう、コマンド／ステータスインタフェース制御部２０４に指示する。この指示を受けたコマンド／ステータスインタフェース制御部２０４は、データ転送開始要求コマンドに対する応答として、データ転送開始応答コマンドを外部コントローラ１００へ送信する（ステップＳ４０２）。
【００４１】
次に、データ転送制御部２０１は、第２マスタ設定フラグが「１」に設定されているか否かを判断する（ステップＳ４０３）。第２マスタ設定フラグが「１」に設定されている場合（ステップＳ４０３の結果：ＹＥＳの場合）、つまり、印刷装置２００がマスタ装置として動作する設定であれば、データ転送制御部２０１は、画像データインタフェース制御部２０５に対して、印刷画像データの転送元アドレス、転送先アドレス、データサイズを渡し、印刷画像データの転送開始を指示する（ステップＳ４０４）。この場合、転送元アドレスは、ＰＣＩ−Ｅｘｐｒｅｓｓに割り当てられたＰＣＩアドレス空間の先頭アドレスとなり、転送先アドレスは、記憶装置２０３内の印刷画像データが格納される領域の先頭アドレスとなる。
【００４２】
データ転送制御部２０１の指示を受けた画像データインタフェース制御部２０５は、ＰＣＩアドレス空間の転送元アドレスをリードアクセスすることで、ＰＣＩ−Ｅｘｐｒｅｓｓのデータリードリクエストパケットを外部コントローラ１００へ送信する（ステップＳ４０５）。その後、画像データインタフェース制御部２０５は、外部コントローラ１００からのリードデータパケットの受信を待ち、外部コントローラ１００からのリードデータパケットを受信した場合（ステップＳ４０６の結果：ＹＥＳの場合）、受信したリードデータパケットから印刷画像データを取り出して、記憶装置２０３内の転送先アドレスが示す領域に書き込む（ステップＳ４０７）。この時点で印刷ジョブのデータサイズ分の転送が完了している場合（ステップＳ４０８の結果：ＹＥＳの場合）、処理は終了する。一方、データサイズ分の転送が完了していない場合（ステップＳ４０８の結果：ＮＯの場合）、転送したデータサイズ分だけ転送元アドレスおよび転送先アドレスを更新し、前述の転送元アドレスからの印刷画像データの読み出し処理と、転送先アドレスへの印刷画像データの書き込み処理とを繰り返す。
【００４３】
一方、前述のステップＳ４０３において、第２マスタ設定フラグが「０」に設定されている場合（ステップＳ４０３の結果：ＮＯの場合）、つまり、印刷装置２００がマスタ装置として動作しない設定であれば、データ転送制御部２０１は、画像データインタフェース制御部２０５に対して、外部コントローラ１００からのライトデータパケットの受信待ちを指示する（ステップＳ４０９）。
【００４４】
データ転送制御部２０１の指示を受けた画像データインタフェース制御部２０５は、外部コントローラ１００からのライトデータパケットの受信を待ち、外部コントローラ１００からのライトデータパケットを受信した場合（ステップＳ４１０の結果：ＹＥＳの場合）、受信したライトデータパケットから印刷画像データを取り出して、記憶装置２０３内の転送先アドレスが示す領域に書き込む（ステップＳ４１１）。この時点で印刷ジョブのデータサイズ分の転送が完了している場合（ステップＳ４１２の結果：ＹＥＳの場合）、処理は終了する。一方、データサイズ分の転送が完了していない場合（ステップＳ４１２の結果：ＮＯの場合）、転送したデータサイズ分だけ転送元アドレス及び転送先アドレスを更新し、前述のライトデータパケットの受信と、転送先アドレスへの印刷画像データの書き込み処理とを繰り返す。
【００４５】
以上に説明したように、本実施形態では、印刷装置２００のデータ転送制御部２０１は、印刷装置２００の起動時に、外部コントローラ１００からのマスタ設定コマンドの内容に従って、印刷装置２００がマスタ装置として動作するか否かを設定する（第２マスタ設定フラグの設定を行う）。そして、データ転送制御部２０１は、外部コントローラ１００からのデータ転送開始要求コマンドをコマンド／ステータスインタフェース制御部２０４で受信した場合（印刷画像データの転送が行われる場合）、印刷装置２００がマスタ装置として動作する設定であれば、外部コントローラ１００に対して、記憶装置１０３内の印刷画像データの読み出しを要求する制御を行う一方、印刷装置２００がマスタ装置として動作しない設定であれば、外部コントローラ１００からの印刷画像データの転送を待つ制御を行う。つまり、本実施形態では、外部コントローラ１００から送信されるマスタ設定コマンドに応じて、第２マスタ設定フラグが切り替わることにより、印刷装置２００がマスタ装置として動作するか否かが切り替わる。本実施形態によれば、印刷装置２００および外部コントローラ１００の何れもマスタ装置として動作することが可能になるという有利な効果を奏する。
【００４６】
以上、本発明の実施形態について説明したが、本発明は上述の実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の変形が可能である。上述の外部コントローラ１００の記憶装置１０３は請求項の「第１記憶部」に対応し、外部コントローラ１００のコマンド／ステータスインタフェース制御部１０４および画像データインタフェース制御部１０５は、請求項の「第１通信部」に対応し、外部コントローラ１００のデータ転送制御部１０１は、請求項の「第１設定部」および「第１制御部」に対応する。また、上述の印刷装置２００の記憶装置２０３は請求項の「第２記憶部」に対応し、印刷装置２００のコマンド／ステータスインタフェース制御部２０４および画像データインタフェース制御部２０５は、請求項の「通信部（第２通信部）」に対応し、印刷装置２００の印刷制御部２０２は請求項の「印刷部」に対応し、印刷装置２００のデータ転送制御部２０１は、請求項の「要求部」、「設定部（第２設定部）」、および「制御部（第２制御部）」に対応する。
【００４７】
また、上述の実施形態では、外部コントローラ１００が請求項の「第１装置」に対応し、印刷装置２００が請求項の「印刷装置」に対応している。なお、上述の実施形態では、外部コントローラ１００および印刷装置２００の各々が独立した個別の装置として設けられているが、これに限らず、例えば複合機（ＭＦＰ）などの単体の画像形成装置が、前述のデータ転送制御部１０１、ホストインタフェース制御部１０２、記憶装置１０３、コマンド／ステータスインタフェース制御部１０４、画像データインタフェース制御部１０５の各々の機能を有するコントローラ部（請求項の「第１装置」に対応）と、前述のデータ転送制御部２０１、印刷制御部２０２、記憶装置２０３、コマンド／ステータスインタフェース制御部２０４、画像データインタフェース制御部２０５の各々の機能を有するプリンタエンジン（請求項の「印刷装置」に対応）と、を備える構成であってもよい。
【００４８】
なお、上述の実施形態の外部コントローラ１００および印刷装置２００の各々で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【００４９】
さらに、上述の実施形態の外部コントローラ１００および印刷装置２００の各々で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述の実施形態の外部コントローラ１００および印刷装置２００の各々で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【符号の説明】
【００５０】
１０  印刷システム
１００  外部コントローラ
１０１  データ転送制御部
１０２  ホストインタフェース制御部
１０３  記憶装置
１０４  コマンド／ステータスインタフェース制御部
１０５  画像データインタフェース制御部
２００  印刷装置
２０１  データ転送制御部
２０２  印刷制御部
２０３  記憶装置
２０４  コマンド／ステータスインタフェース制御部
２０５  画像データインタフェース制御部
【先行技術文献】
【特許文献】
【００５１】
【特許文献１】特開２００２−２５４７６３号公報
【図１】
2013196589.tif 000003
【図２】
2013196589.tif 000004
【図３】
2013196589.tif 000005
【図４】
2013196589.tif 000006
【図５】
2013196589.tif 000007
【図６】
2013196589.tif 000008
【図７】
2013196589.tif 000009
【図８】
2013196589.tif 000010