(57)【要約】【課題】既存のソフトウェアを変更せずに、エンジン部に拡張コントローラ部を接続して動作させることができるスイッチ装置を提供する。【解決手段】本発明のスイッチ装置は、エンジン部に接続するダウンストリームポートと、第１コントローラ部に接続する第１アップストリームポートと、第２コントローラ部に接続する第２アップストリームポートと、第１アップストリームポートから、ダウンストリームポートに送信される設定情報を受信した場合に、受信した設定情報をダウンストリームポートに転送する透過部と、第１又は第２アップストリームポートからダウンストリームポートに送信される第１コマンドを検知した場合に、アクセス権限がいずれにも設定されていなければ、第１コマンドを送信したコントローラ部にアクセス権限を付与し、第１コマンドをダウンストリームポートに送信するコマンド排他制御部とを備える。【選択図】図６
2014146278.tif 000002
【特許請求の範囲】
【請求項１】
エンジン部に接続するダウンストリームポートと、
第１コントローラ部に接続する第１アップストリームポートと、
第２コントローラ部に接続する第２アップストリームポートと、
前記第１アップストリームポートから、前記ダウンストリームポートに送信される前記第１コントローラ部と前記エンジン部との接続を確立するための設定情報を受信した場合に、受信した設定情報を前記ダウンストリームポートに転送する透過部と、
前記第１又は第２アップストリームポートから前記ダウンストリームポートに送信される前記エンジン部のコマンド送信割り込みマスクを解除する第１コマンドを検知した場合に、前記エンジン部にアクセスする権限を表すアクセス権限が第１又は第２コントローラのいずれかに設定されているか否かを判定し、前記アクセス権限がいずれにも設定されていなければ、前記第１コマンドを送信したコントローラ部にアクセス権限を付与し、前記第１コマンドを前記ダウンストリームポートに送信するコマンド排他制御部と
を備えるスイッチ装置。
【請求項２】
前記第１又は第２アップストリームポートから前記ダウンストリームポートに送信する第２コマンドを、前記第２コマンドに含まれるアプリケーションを識別する識別情報に応じて排他制御するアプリケーション排他制御部
を更に備える請求項１に記載のスイッチ装置。
【請求項３】
前記ダウンストリームポートから送信される第３コマンドを、前記アクセス権限を有する第１コントローラ部が接続された第１アップストリームポート、又は前記アクセス権限を有する第２コントローラ部が接続された第２アップストリームポートに転送する転送制御部
を更に備える請求項１又は２に記載のスイッチ装置。
【請求項４】
前記コマンド排他制御部は、
前記アクセス権限が第１又は第２コントローラ部に設定されているとき、アクセス権限を有しない第１コントローラ部又はアクセス権限を有しない第２コントローラ部から送信された前記第１コマンドを受信しても前記ダウンストリームポートに送信しない
請求項１乃至３のいずれか１項に記載のスイッチ装置。
【請求項５】
前記アプリケーション排他制御部は、
前記識別情報がプリンタ印刷アプリケーションであるコマンドと、前記識別情報がコピー印刷アプリケーションであるコマンドとを排他制御する
請求項１乃至４のいずれか１項に記載のスイッチ装置。
【請求項６】
前記第１アップストリームポートは、
前記第１コントローラ部から受信したコマンドを前記コマンド排他制御部と前記アプリケーション排他制御部とに送信し、
前記第２アップストリームポートは、
前記第２コントローラ部から受信したコマンドを前記コマンド排他制御部と前記アプリケーション排他制御部とに送信し、
前記コマンド排他制御部は、
前記アプリケーション排他制御部が動作しないときに動作し、前記アプリケーション排他制御部が動作するときには動作しない
請求項１乃至５のいずれか１項に記載のスイッチ装置。
【請求項７】
エンジン部と、
第１コントローラ部と、
第２コントローラ部と、
スイッチ装置とを備え、
前記スイッチ装置は、
エンジン部に接続するダウンストリームポートと、
第１コントローラ部に接続する第１アップストリームポートと、
第２コントローラ部に接続する第２アップストリームポートと、
前記第１アップストリームポートから、前記ダウンストリームポートに送信される前記第１コントローラ部と前記エンジン部との接続を確立するための設定情報を受信した場合に、受信した設定情報を前記ダウンストリームポートに転送する透過部と、
前記第１又は第２アップストリームポートから前記ダウンストリームポートに送信される前記エンジン部のコマンド送信割り込みマスクを解除する第１コマンドを検知した場合に、前記エンジン部にアクセスする権限を表すアクセス権限が第１又は第２コントローラのいずれかに設定されているか否かを判定し、前記アクセス権限がいずれにも設定されていなければ、前記第１コマンドを送信したコントローラ部にアクセス権限を付与し、前記第１コマンドを前記ダウンストリームポートに送信するコマンド排他制御部と
を備える画像処理装置。
【請求項８】
エンジン部に接続するダウンストリームポートと、第１コントローラ部に接続する第１アップストリームポートと、第２コントローラ部に接続する第２アップストリームポートとを備えるスイッチ装置の排他制御方法であって、
透過部が、前記第１アップストリームポートから、前記ダウンストリームポートに送信される前記第１コントローラ部と前記エンジン部との接続を確立するための設定情報を受信するステップと、
透過部が、受信した設定情報を前記ダウンストリームポートに転送するステップと、
コマンド排他制御部が、前記第１又は第２アップストリームポートから前記ダウンストリームポートに送信される前記エンジン部のコマンド送信割り込みマスクを解除する第１コマンドを検知するステップと、
コマンド排他制御部が、前記エンジン部にアクセスする権限を表すアクセス権限が第１又は第２コントローラのいずれかに設定されているか否かを判定するステップと、
コマンド排他制御部が、前記アクセス権限がいずれにも設定されていなければ、前記第１コマンドを送信したコントローラ部にアクセス権限を付与するステップと、
コマンド排他制御部が、前記第１コマンドを前記ダウンストリームポートに送信するステップと
を含む排他制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スイッチ装置、画像処理装置、及び排他制御方法に関する。
【背景技術】
【０００２】
エンジン部、及びコントローラ部により構成される画像形成装置において、エンジン部とコントローラ部との間でコマンドを送受信するためのインタフェースが知られている。当該インタフェースとして、例えば、ＰＣＩ−ＥＸＰＲＥＳＳ等のシリアルインタフェースが知られている。また、エンジン部とコントローラ部との物理的な接続が、１対１のＰＣＩ−ＥＸＰＲＥＳＳによる転送経路である場合に、当該転送経路を拡張するためにスイッチ装置を使用することが知られている。
【０００３】
スイッチ装置により当該転送経路を拡張する技術は、例えば、特許文献１に開示されている。特許文献１には、複数のＣＰＵノードを、スイッチ装置を介してシリアルバスにより相互接続したコンピュータシステムの発明が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、拡張コントローラ部を追加するために、当該転送経路を拡張するためのスイッチ装置を導入すると、コントローラ部とエンジン部の一方、又は双方のソフトウェアを変更しなくてはならなかった。
【０００５】
本発明は、上記に鑑みてなされたものであって、既存のソフトウェアを変更せずに、エンジン部に拡張コントローラ部を接続して動作させることができるスイッチ装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明のスイッチ装置は、エンジン部に接続するダウンストリームポートと、第１コントローラ部に接続する第１アップストリームポートと、第２コントローラ部に接続する第２アップストリームポートと、前記第１アップストリームポートから、前記ダウンストリームポートに送信される前記第１コントローラ部と前記エンジン部との接続を確立するための設定情報を受信した場合に、受信した設定情報を前記ダウンストリームポートに転送する透過部と、前記第１又は第２アップストリームポートから前記ダウンストリームポートに送信される前記エンジン部のコマンド送信割り込みマスクを解除する第１コマンドを検知した場合に、前記エンジン部にアクセスする権限を表すアクセス権限が第１又は第２コントローラのいずれかに設定されているか否かを判定し、前記アクセス権限がいずれにも設定されていなければ、前記第１コマンドを送信したコントローラ部にアクセス権限を付与し、前記第１コマンドを前記ダウンストリームポートに送信するコマンド排他制御部とを備える。
【０００７】
また、本発明の画像処理装置は、エンジン部と、第１コントローラ部と、第２コントローラ部と、スイッチ装置とを備え、前記スイッチ装置は、エンジン部に接続するダウンストリームポートと、第１コントローラ部に接続する第１アップストリームポートと、第２コントローラ部に接続する第２アップストリームポートと、前記第１アップストリームポートから、前記ダウンストリームポートに送信される前記第１コントローラ部と前記エンジン部との接続を確立するための設定情報を受信した場合に、受信した設定情報を前記ダウンストリームポートに転送する透過部と、前記第１又は第２アップストリームポートから前記ダウンストリームポートに送信される前記エンジン部のコマンド送信割り込みマスクを解除する第１コマンドを検知した場合に、前記エンジン部にアクセスする権限を表すアクセス権限が第１又は第２コントローラのいずれかに設定されているか否かを判定し、前記アクセス権限がいずれにも設定されていなければ、前記第１コマンドを送信したコントローラ部にアクセス権限を付与し、前記第１コマンドを前記ダウンストリームポートに送信するコマンド排他制御部とを備える。
【０００８】
また、本発明の排他制御方法は、エンジン部に接続するダウンストリームポートと、第１コントローラ部に接続する第１アップストリームポートと、第２コントローラ部に接続する第２アップストリームポートとを備えるスイッチ装置の排他制御方法であって、透過部が、前記第１アップストリームポートから、前記ダウンストリームポートに送信される前記第１コントローラ部と前記エンジン部との接続を確立するための設定情報を受信するステップと、透過部が、受信した設定情報を前記ダウンストリームポートに転送するステップと、コマンド排他制御部が、前記第１又は第２アップストリームポートから前記ダウンストリームポートに送信される前記エンジン部のコマンド送信割り込みマスクを解除する第１コマンドを検知するステップと、コマンド排他制御部が、前記エンジン部にアクセスする権限を表すアクセス権限が第１又は第２コントローラのいずれかに設定されているか否かを判定するステップと、コマンド排他制御部が、前記アクセス権限がいずれにも設定されていなければ、前記第１コマンドを送信したコントローラ部にアクセス権限を付与するステップと、コマンド排他制御部が、前記第１コマンドを前記ダウンストリームポートに送信するステップとを含む。
【発明の効果】
【０００９】
本発明によれば、既存のソフトウェアを変更せずに、エンジン部に更に拡張コントローラ部を接続して動作させることができるスイッチ装置を提供することができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、画像処理装置のエンジン部とコントローラ部の構成の一例を示すための全体図である。
【図２】図２は、画像処理装置のエンジン部とコントローラ部との間でコマンドを転送する構成の一例を説明するための詳細図である。
【図３】図３は、画像処理装置のコントローラ部からエンジン部へコマンドを送信するシーケンスの一例を示すシーケンス図である。
【図４】図４は、画像処理装置のエンジン部からコントローラ部へコマンドを送信するシーケンスの一例を示すシーケンス図である。
【図５】図５は、本実施の形態のスイッチ装置を介してエンジン部と、コントローラ部と、拡張コントローラ部とを接続した画像処理装置の構成の一例を示す図である。
【図６】図６は、本実施の形態のスイッチ装置の構成の一例を示す図である。
【図７】図７は、本実施の形態のスイッチ装置のアプリケーション排他制御部を説明するための図である。
【図８】図８は、本実施の形態のスイッチ装置のコマンド排他制御部を説明するための図である。
【図９】図９は、本実施の形態の画像処理装置のスキャナ動作時のコマンドシーケンスを説明するためのシーケンス図である。
【図１０】図１０は、本実施の形態の画像処理装置のプリンタ動作時のコマンドシーケンスを説明するためのシーケンス図である。
【図１１】図１１は、本実施の形態の画像処理装置のコピー動作時のコマンドシーケンスを説明するためのシーケンス図である。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して、スイッチ装置、画像処理装置、及び排他制御方法の実施の形態を詳細に説明する。
【００１２】
はじめに、スイッチ装置を接続する前の画像処理装置について説明する。図１は、画像処理装置２００のエンジン部１とコントローラ部３１の構成の一例を示すための全体図である。画像処理装置２００は、エンジン部１、及びコントローラ部３１を備える。
【００１３】
エンジン部１は、エンジンＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４、スキャナ装置５、プロッタ装置６、及びエンジンＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）７を備える。
【００１４】
エンジンＡＳＩＣ７は、バスＩ／Ｆ８、スキャナＩ／Ｆ９、プロッタＩ／Ｆ１０、及びエンドポイントコントローラ１１を備える。エンドポイントコントローラ１１は、レジスタ１２を備える。
【００１５】
コントローラ部３１は、コントローラＡＳＩＣ３２、ルートコンプレックスコントローラ３３、バスＩ／Ｆ３５、メモリコントローラ３６、コントローラＣＰＵ３７、ＲＡＭ３８、及びＲＯＭ３９を備える。ルートコンプレックスコントローラ３３は、レジスタ３４を備える。
【００１６】
まず、エンジン部１について説明する。エンジンＣＰＵ２は、エンジンＡＳＩＣ７を制御する。ＲＯＭ３は、エンジンＣＰＵ２により実行されるプログラム等を記憶する。ＲＡＭ４は、エンジンＣＰＵ２がプログラムを実行するとき等に利用されるメモリ領域である。スキャナ装置５は、原稿を読み取る装置である。スキャナ装置５は、スキャナアプリケーション等が利用する。プロッタ装置６は、原稿を印刷する装置である。プロッタ装置６は、プリンタ印刷アプリケーションや、コピー印刷アプリケーションにより実行される。エンジンＡＳＩＣ７は、スキャナ装置５、及びプロッタ装置６を制御する。また、エンジンＡＳＩＣ７は、コントローラ部３１とＰＣＩ−ＥＸＰＲＥＳＳインタフェースで接続される。エンジンＡＳＩＣ７は、エンジン部１とコントローラ部３１との間のコマンド転送、及び画像データ転送を行う。
【００１７】
次に、コントローラ部３１について説明する。コントローラＣＰＵ３７は、コントローラＡＳＩＣ３２を制御する。ＲＯＭ３９は、コントローラＣＰＵ３７により実行されるプログラム等を記憶する。コントローラＡＳＩＣ３２は、ＲＡＭ３８を制御する。また、コントローラＡＳＩＣ３２は、エンジン部１とＰＣＩ−ＥＸＰＲＥＳＳインタフェースで接続される。コントローラＡＳＩＣ３２は、エンジン部１とコントローラ部３１との間のコマンド転送、及び画像データ転送を行う。
【００１８】
図２は、画像処理装置２００のエンジン部１とコントローラ部３１との間でコマンドを転送する構成の一例を説明するための詳細図である。
【００１９】
まず、エンジン側の構成について説明する。エンジンＡＳＩＣ７は、バスＩ／Ｆ８、エンドポイントコントローラ１１、割り込みコントローラ１３、及びコミュニケーション制御部１４を備える。エンジンＣＰＵ２は、バスＩ／Ｆ８、及び割り込みコントローラ１３と接続される。
【００２０】
はじめに、エンジンＡＳＩＣ７のエンドポイントコントローラ１１について説明する。エンドポイントコントローラ１１は、コントローラ側のルートコンプレックスコントローラ３３と接続されている。エンドポイントコントローラ１１は、ＰＣＩ−ＥＸＰＲＥＳＳインタフェースのダウンストリーム側の処理を行う。
【００２１】
エンドポイントコントローラ１１は、レジスタ１２、ターゲット回路１８、マスター回路１９、トランザクション層データ処理部２０、データリンク層データ処理部２１、及び物理層データ処理部２２を備える。レジスタ１２は、エンドポイントコントローラ１１で使用される記憶領域である。ターゲット回路１８は、コントローラ側のマスター回路４３からデータの転送要求（データの読み込み又は書き込み）を受ける回路である。マスター回路１９は、コントローラ側のターゲット回路４４にデータの転送要求をする回路である。トランザクション層データ処理部２０は、トランザクション層のデータを処理する。データリンク層データ処理部２１は、データリンク層のデータを処理する。物理層データ処理部２２は、物理層のデータを処理する。
【００２２】
コミュニケーション制御部１４は、コマンド受信バッファ１５、コマンド送信バッファ１６、及びコントローラ側割り込み生成回路１７を備える。コマンド受信バッファ１５は、コントローラＡＳＩＣ３２がエンジンＡＳＩＣ７から受信するコマンドが格納される。コマンド送信バッファ１６は、コントローラＡＳＩＣ３２がエンジンＡＳＩＣ７に送信するコマンドが格納される。コントローラ側割り込み生成回路１７は、コマンド受信バッファ１５にデータが書き込まれたことを、コントローラＡＳＩＣ３２に通知するための割り込みメッセージを生成する。また、コントローラ側割り込み生成回路１７は、コマンド送信バッファ１６が空いたことを、コントローラＡＳＩＣ３２に通知するための割り込みメッセージを生成する。
【００２３】
割り込みコントローラ１３は、コミュニケーション制御部１４からエンジンＣＰＵ２への割り込み処理の通知を制御する。バスＩ／Ｆ８は、エンジンＣＰＵ２とコミュニケーション制御部１４との間でデータを送受信するためのインタフェースである。
【００２４】
次に、コントローラ側の構成について説明する。コントローラＡＳＩＣ３２は、ルートコンプレックスコントローラ３３、バスＩ／Ｆ３５、メモリコントローラ３６、アドレスデコーダ４５、アービタ４６、及び割り込みコントローラ４７を備える。コントローラＣＰＵ３７は、バスＩ／Ｆ３５、及び割り込みコントローラ４７と接続される。ＲＡＭ３８は、メモリコントローラ３６と接続される。
【００２５】
はじめに、コントローラＡＳＩＣ３２のルートコンプレックスコントローラ３３について説明する。ルートコンプレックスコントローラ３３は、エンジン側のエンドポイントコントローラ１１と接続されている。ルートコンプレックスコントローラ３３は、ＰＣＩ−ＥＸＰＲＥＳＳインタフェースのアップストリーム側の処理を行う。
【００２６】
ルートコンプレックスコントローラ３３は、レジスタ３４、物理層データ処理部４０、データリンク層データ処理部４１、トランザクション層データ処理部４２、マスター回路４３、及びターゲット回路４４を備える。レジスタ３４は、ルートコンプレックスコントローラ３３で使用される記憶領域である。物理層データ処理部４０は、ネットワークの物理層のデータを処理する。データリンク層データ処理部４１は、ネットワークのデータリンク層のデータを処理する。トランザクション層データ処理部４２は、ネットワークのトランザクション層のデータを処理する。マスター回路４３は、エンジン側のターゲット回路１８にデータの転送要求をする回路である。ターゲット回路４４は、エンジン側のマスター回路１９からデータの転送要求を受ける回路である。
【００２７】
バスＩ／Ｆ３５は、コントローラＣＰＵ３７とコントローラＡＳＩＣ３２との間のインタフェースである。アドレスデコーダ４５は、コントローラＣＰＵ３７からマスター回路４３への接続を有効にする端子をアクティブにするための回路である。アービタ４６は、ターゲット回路４４が、メモリコントローラ３６に接続するためのバスの使用権を制御する。メモリコントローラ３６は、コントローラＡＳＩＣ３２からＲＡＭ３８へのデータの読み書きを制御する。割り込みコントローラ４７は、ターゲット回路４４からコントローラＣＰＵ３７への割り込み処理の通知を制御する。
【００２８】
次に、コントローラＡＳＩＣ３２から、エンジンＣＰＵ２にコマンドを送信する方法について説明する。コントローラＡＳＩＣ３２からエンジンＣＰＵ２へのコマンド通知は、ＰＣＩ−ＥＸＰＲＥＳＳインタフェースを介して、次のようにして実現する。まず、コントローラＡＳＩＣ３２が、エンジンＡＳＩＣ７内のコマンド送信バッファ１６にコマンドのデータを書き込む。次に、エンジンＡＳＩＣ７が、エンジンＣＰＵ２に、コマンド送信バッファ１６にコマンドデータが書き込まれたことを通知する。次に、エンジンＣＰＵ２が、コマンド送信バッファ１６からコマンドのデータを読み出す。
【００２９】
図３は、画像処理装置２００のコントローラ部３１からエンジン部１へコマンドを送信するシーケンスの一例を示すシーケンス図である。
【００３０】
エンジンＣＰＵ２が、エンジンＡＳＩＣ７のコマンド受信割り込みマスクを解除する（ステップＳ１）。これにより、エンジンＡＳＩＣ７は、エンジンＣＰＵ２にコマンド受信割り込み通知を送信できるようになる。コマンド受信割り込み通知は、エンジンＣＰＵ２宛てのコマンドを受信していることを、エンジンＣＰＵ２に知らせる通知である。
【００３１】
コントローラＡＳＩＣ３２は、エンジンＡＳＩＣ７のコマンド送信割り込みマスクを解除する（ステップＳ２）。これにより、エンジンＡＳＩＣ７は、コントローラＡＳＩＣ３２にコマンド送信割り込み（コマンド送信バッファエンプティ）通知を送信できるようになる。コマンド送信割り込み（コマンド送信バッファエンプティ）通知は、エンジンＣＰＵ２にコマンドを送信できる状態（コマンド送信バッファ１６が空である状態）であることを、コントローラＡＳＩＣ３２に知らせる通知である。
【００３２】
エンジンＡＳＩＣ７は、コマンド送信割り込み（コマンド送信バッファエンプティ）通知をコントローラＡＳＩＣ３２に送信する（ステップＳ３）。コントローラＡＳＩＣ３２は、エンジンＡＳＩＣ７のコマンド送信バッファ１６に、コマンドデータを書き込む（ステップＳ４）。コントローラＡＳＩＣ３２は、エンジンＡＳＩＣ７のコマンド送信バッファ１６に、コマンドデータのサイズを書き込む（ステップＳ５）。
【００３３】
エンジンＡＳＩＣ７は、コマンド受信割り込み通知をエンジンＣＰＵ２に送信する（ステップＳ６）。エンジンＣＰＵ２は、エンジンＡＳＩＣ７のコマンド送信バッファ１６を参照して、読み出すコマンドデータのサイズを確認する（ステップＳ７）。エンジンＣＰＵ２は、エンジンＡＳＩＣ７のコマンド送信バッファ１６から、コマンドデータを読み出す（ステップＳ８）。
【００３４】
コントローラＡＳＩＣ３２は、エンジンＡＳＩＣ７のコマンド送信割り込みマスクを設定する（ステップＳ９）。これにより、エンジンＡＳＩＣ７が、コマンド送信割り込み（送信バッファエンプティ）通知を、コントローラＡＳＩＣ３２に送信できないようにする。
【００３５】
次に、エンジンＣＰＵ２から、コントローラＡＳＩＣ３２にコマンドを送信する方法について説明する。エンジンＣＰＵ２からコントローラＡＳＩＣ３２へのコマンド通知は、ＰＣＩ−ＥＸＰＲＥＳＳインタフェースを介して、次のようにして実現する。まず、エンジンＣＰＵ２が、エンジンＡＳＩＣ７内のコマンド受信バッファ１５にコマンドデータを書き込む。次に、エンジンＡＳＩＣ７が、ＭＳＩ（Ｍｅｓｓａｇｅ  Ｓｉｇｎａｌｅｄ  Ｉｎｔｅｒｒｕｐｔ）割り込みで、コントローラＡＳＩＣ３２に、コマンド受信バッファ１５にコマンドデータが書き込まれたことを通知する。次に、コントローラＡＳＩＣ３２が、コマンド受信バッファ１５からコマンドデータを読み出す。
【００３６】
図４は、画像処理装置２００のエンジン部１からコントローラ部３１へコマンドを送信するシーケンスの一例を示すシーケンス図である。
【００３７】
コントローラＡＳＩＣ３２が、エンジンＡＳＩＣ７のコマンド受信割り込みマスクを解除する（ステップＳ１１）。これにより、エンジンＡＳＩＣ７は、コントローラＡＳＩＣ３２にコマンド受信割り込み通知を送信できるようになる。コマンド受信割り込み通知は、コントローラＡＳＩＣ３２宛てのコマンドを受信していることを、コントローラＡＳＩＣ３２に知らせる通知である。
【００３８】
エンジンＣＰＵ２は、エンジンＡＳＩＣ７のコマンド送信割り込みマスクを解除する（ステップＳ１２）。これにより、エンジンＡＳＩＣ７は、エンジンＣＰＵ２にコマンド送信割り込み（コマンド受信バッファエンプティ）通知を送信できるようになる。コマンド送信割り込み（コマンド受信バッファエンプティ）通知は、コントローラＡＳＩＣ３２にコマンドを送信できる状態（コマンド受信バッファ１５が空である状態）であることを、エンジンＣＰＵ２に知らせる通知である。
【００３９】
エンジンＣＰＵ２は、コマンド送信割り込み（コマンド受信バッファエンプティ）通知をエンジンＣＰＵ２に送信する（ステップＳ１３）。エンジンＣＰＵ２は、エンジンＡＳＩＣ７のコマンド受信バッファ１５に、コマンドデータを書き込む（ステップＳ１４）。エンジンＣＰＵ２は、エンジンＡＳＩＣ７のコマンド受信バッファ１５に、コマンドデータのサイズを書き込む（ステップＳ１５）。
【００４０】
エンジンＡＳＩＣ７は、コマンド受信割り込み通知をコントローラＡＳＩＣ３２に送信する（ステップＳ１６）。コントローラＡＳＩＣ３２は、エンジンＡＳＩＣ７のコマンド受信バッファ１５を参照して、読み出すコマンドデータのサイズを確認する（ステップＳ１７）。コントローラＡＳＩＣ３２は、エンジンＡＳＩＣ７のコマンド受信バッファ１５から、コマンドデータを読み出す（ステップＳ１８）。
【００４１】
エンジンＣＰＵ２は、エンジンＡＳＩＣ７のコマンド送信割り込みマスクを設定する（ステップＳ１９）。これにより、エンジンＡＳＩＣ７が、コマンド送信割り込み（受信バッファエンプティ）通知を、エンジンＣＰＵ２に送信できないようにする。
【００４２】
図５は、本実施の形態のスイッチ装置６１を介してエンジン部１と、コントローラ部３１と、拡張コントローラ部５１とを接続した画像処理装置３００の構成の一例を示す図である。画像処理装置３００は、エンジン部１、コントローラ部３１（第１コントローラ部３１）、拡張コントローラ部５１（第２コントローラ部５１）、及びスイッチ装置６１を備える。コントローラ部３１とエンジン部１は、スイッチ装置６１を介して接続される。また、拡張コントローラ部５１とエンジン部１は、スイッチ装置６１を介して接続される。画像処理装置３００の初期設定時には、コントローラ部３１及び拡張コントローラ部５１からスイッチ装置６１にリセット信号が送信される。また、同様に、スイッチ装置６１からエンジン部１にリセット信号が送信される。画像処理装置３００のエンジン部１、及びコントローラ部３１の説明は、画像処理装置２００と同様であるため省略する。また、拡張コントローラ部５１の説明は、コントローラ部３１と同様であるため省略する。
【００４３】
本実施の形態のスイッチ装置６１について説明する。図６は、本実施の形態のスイッチ装置６１の構成の一例を示す図である。スイッチ装置６１は、ダウンストリームポート６２、透過部６９、アプリケーション排他制御部７１、コマンド排他制御部７２、転送制御部７３、第１アップストリームポート７４、及び第２アップストリームポート８１を備える。
【００４４】
ダウンストリームポート６２は、物理層データ処理部６３、データリンク層データ処理部６４、トランザクション層データ処理部６５、マスター回路６６、ターゲット回路６７、及びレジスタ６８を備える。ダウンストリームポート６２は、第１アップストリームポート７４、及び第２アップストリームポート８１の双方と、データを送受信する。ダウンストリームポート６２の説明は、コントローラＡＳＩＣ３２のルートコンプレックスコントローラ３３と同様であるため省略する。
【００４５】
第１アップストリームポート７４は、ターゲット回路７５、マスター回路７６、トランザクション層データ処理部７７、データリンク層データ処理部７８、物理層データ処理部７９、及びレジスタ８０を備える。第１アップストリームポート７４は、コントローラ部３１に接続される。第１アップストリームポート７４の説明は、エンジンＡＳＩＣ７のエンドポイントコントローラ１１と同様であるため省略する。
【００４６】
第２アップストリームポート８１は、ターゲット回路８２、マスター回路８３、トランザクション層データ処理部８４、データリンク層データ処理部８５、物理層データ処理部８６、及びレジスタ８７を備える。第２アップストリームポート８１は、拡張コントローラ部５１に接続される。第２アップストリームポート８１の説明は、エンジンＡＳＩＣ７のエンドポイントコントローラ１１と同様であるため省略する。
【００４７】
透過部６９は、コンフィグ判定部７０を備える。コンフィグ判定部７０は、ターゲット回路７５からマスター回路６６に送信されるデータが、コントローラ部３１からエンジン部１に送信される設定情報であるか否かを判定する。設定情報は、エンジン部１とコントローラ部３１との間の接続を確立するために必要なデータである。コンフィグ判定部７０は、ターゲット回路７５からマスター回路６６に送信されるデータが、設定情報である場合は、当該設定情報を透過する。すなわち、透過部６９は、当該設定情報に、データの追加や変更、又は削除等を行わずにダウンストリームポート６２のマスター回路６６に転送する。また、透過部６９は、マスター回路６６からターゲット回路７５に送信される応答データ（設定情報の応答データ）を透過する。これにより、エンジン部１とコントローラ部３１との間にスイッチ装置６１を追加しても、エンジン部１とコントローラ部３１を、ソフトウェア等の変更をすることなく動作させることができる。
【００４８】
コマンド排他制御部７２は、第１アップストリームポート７４又は第２アップストリームポート８１から送信されたコマンド送信割り込みマスクを解除するコマンド（以下「送信割り込みマスク解除コマンド」という。）を検知する。コマンド排他制御部７２は、送信割り込みマスク解除コマンドを先に送信しているコントローラ部（コントローラ部３１又は拡張コントローラ部５１）に、エンジン部１にアクセスできる権限（以下「アクセス権限」という。）を与える。すなわち、コマンド排他制御部７２は、アクセス権限が第１又は第２コントローラのいずれかに設定されているか否かを判定し、アクセス権限がいずれにも設定されていなければ、送信割り込みマスク解除コマンドを送信したコントローラ部（コントローラ部３１又は拡張コントローラ部５１）にアクセス権限を付与する。コマンド排他制御部７２は、当該送信割り込みマスク解除コマンドをダウンストリームポート６２に送信し、以降、アクセス権限を有するコントローラ部（コントローラ部３１又は拡張コントローラ部５１）のコマンドをダウンストリームポート６２に送信する。
【００４９】
この理由は、例えば、エンジンＡＳＩＣ７のコマンド送信バッファ１６の容量等が、対向のコントローラ部が１つの場合で設計されていた場合に、コントローラ部３１、及び拡張コントローラ部５１から同時期に送信されたコマンドを処理できないためである。このような場合を想定して、コマンド排他制御部７２は、コマンド送信バッファ１６がオーバーフローしないように、コマンドレベルで排他制御を行う。コマンド排他制御部７２によるコマンドの排他制御の詳細については後述する。
【００５０】
アプリケーション排他制御部７１は、アプリケーションのレベルでコマンドを排他制御する。これは、コマンド排他制御部７２が、いずれか一方のコントローラ（コントローラ部３１又は拡張コントローラ部５１）にアクセス権限を与えた場合であっても、アプリケーションに応じたコマンドの排他制御が必要な場合があるためである。アプリケーション排他制御部７１は、コントローラ部３１、又は拡張コントローラ部５１からエンジン部１に送信されるコマンドを参照し、当該コマンドを送信したアプリケーションを識別する。そして、アプリケーション排他制御部７１は、コマンドの受信タイミングが競合（同時期に受信）した場合、排他が必要なアプリケーションのコマンドの組み合わせであるか否かを判定する。アプリケーション排他制御部７１は、排他が必要なアプリケーションのコマンドの組み合わせである場合はコマンドを排他する。アプリケーション排他制御部７１によるコマンドの排他制御の詳細については後述する。
【００５１】
なお、ターゲット回路７５、及びターゲット回路８２は、アプリケーション排他制御部７１、及びコマンド排他制御部７２の双方に、同じコマンドのデータを送信する。アプリケーション排他制御部７１、及びコマンド排他制御部７２の動作については、アプリケーション排他制御部７１が優先して動作する。すなわち、スイッチ装置６１は、アプリケーション排他制御部７１、及びコマンド排他制御部７２のいずれか一方からエンジン部１にコマンドを送信することにより、コマンドの排他制御を行う。
【００５２】
転送制御部７３は、ターゲット回路６７から受信したデータを、アプリケーション排他制御部７１、又はコマンド排他制御部７２で記憶されたコマンド情報（コマンドの識別情報や、アクセス権限の情報等）に基づいて、マスター回路７６、又はマスター回路８３に転送する。
【００５３】
図７は、本実施の形態のスイッチ装置６１のアプリケーション排他制御部７１を説明するための図である。アプリケーション排他制御部７１は、受信コマンド解析部８８、コマンド送信制御部８９、第１代理送信バッファ９０、第２代理送信バッファ９１、アプリケーション判定部９２、及び送信コマンド解析部９３を備える。
【００５４】
送信コマンド解析部９３は、ターゲット回路７５、又はターゲット回路８２からコマンドを受信する。送信コマンド解析部９３は、コマンドを送信したアプリケーションを識別する情報（以下「識別情報」という。）や、コマンドが送信された時間等を参照する等によってコマンドを解析する。送信コマンド解析部９３は、識別情報に基づいて、コマンドの排他制御が必要か否かを判定する。例えば、送信コマンド解析部９３は、識別情報がコピー印刷アプリケーションであるコマンドと、識別情報がプリンタ印刷アプリケーションであるコマンドとが競合した場合は、コマンドの排他制御が必要であると判定する。送信コマンド解析部９３は、コマンドの排他制御が必要ない場合は、マスター回路６６にコマンドを送信する。送信コマンド解析部９３は、コマンドの排他制御が必要な場合は、アプリケーション判定部９２にコマンドを送信する。
【００５５】
アプリケーション判定部９２は、いずれか一方のコマンド（エンジン部１へのアクセスを許すコマンド）に、エンジン部１のアクセス権限を与える。アプリケーション判定部９２が、コマンドが競合した場合に、アクセス権限をどちらのコマンドに付与するか決定する方法は適宜定めてよい。例えば、コマンドの送信時刻（受信時刻）やコマンドの種類等に応じた優先度に基づいてアクセス権限を定めることができる。アプリケーション判定部９２は、アクセス権限を付与したコマンドをマスター回路６６に送信する。アプリケーション判定部９２は、アクセス権限を付与しなかったコマンドはバッファリングする。アプリケーション判定部９２は、第１アップストリームポート７４から受信したコマンドをバッファリングするときは、第１代理送信バッファ９０を使用する。アプリケーション判定部９２は、第２アップストリームポート８１から受信したコマンドをバッファリングするときは、第２代理送信バッファ９１を使用する。
【００５６】
受信コマンド解析部８８は、マスター回路６６からアプリケーション判定部９２が有するコマンド情報にリードアクセスがあった場合、当該コマンド情報を解析する。受信コマンド解析部８８は、当該解析の結果に基づいて、バッファリングされているコマンドの中からマスター回路６６に送信するコマンドを選択する。コマンド送信制御部８９は、第１代理送信バッファ９０、又は第２代理送信バッファ９１を参照し、受信コマンド解析部８８が選択したコマンドを、マスター回路６６に送信する。
【００５７】
転送制御部７３は、ターゲット回路６７から送信されるコマンドの転送先を切り換える転送先セレクタ１０１を備える。転送制御部７３は、ダウンストリームポート６２から割り込み通知又はコントローラ側（コントローラ部３１又は拡張コントローラ部５１）へのデータアクセス要求を受ける。転送制御部７３は、当該割り込み通知又は当該データアクセス要求を受けると、アプリケーション判定部９２が有するコマンド情報に基づいて、転送先セレクタ１０１により転送先を切り換える。
【００５８】
図８は、本実施の形態のスイッチ装置６１のコマンド排他制御部７２を説明するためので図である。コマンド排他制御部７２は、送信制御部９４、及び受信制御部９８を備える。送信制御部９４は、検知部９５、コントローラ判定部９６、及びアクセスセレクタ９７を備える。受信制御部９８は受信バッファ読み出し制御部９９を備える。受信バッファ読み出し制御部９９は、代理受信バッファ１００を備える。
【００５９】
検知部９５は、ターゲット回路７５又はターゲット回路８２から送信される送信割り込みマスク解除コマンドを検知する。コントローラ判定部９６は、当該検知の結果を受信する。当該検知の結果には、例えば、送信割り込みマスク解除コマンドの送信時刻（受信時刻）等が含まれる。コントローラ判定部９６は、当該検知の結果に応じて、いずれか一方のコントローラ（コントローラ部３１又は拡張コントローラ部５１）にエンジン部１へのアクセス権限を与える。アクセスセレクタ９７は、当該アクセス権限に応じてマスター回路６６に接続するコントローラを切り換える。
【００６０】
また、検知部９５は、アクセス権限を有するコントローラからコマンド送信マスクを設定するコマンド（以下「送信割り込みマスク設定コマンド」という。）を検知する。コントローラ判定部９６は、当該検知の結果を受信すると、当該コマンドを送信したコントローラに付与していたアクセス権限を解除する。これにより、送信制御部９４は、コマンド送信マスク解除コマンド待ちとなる。
【００６１】
なお、スイッチ装置６１は、アクセス権限のないコントローラ部からエンジン部１に送信される送信割り込み要求解除コマンドは、アップストリームポート（第１アップストリームポート７４又は第２アップストリームポート８１）で受信するがエンジン部１には送信しない。すなわち、アクセス権限のないコントローラが、エンジン部１にマスク解除要求をしても、送信割り込みが発生しないため待ち状態となる。送信制御部９４は、もう一方のコントローラに付与していたアクセス権限を解除した後に、エンジン部１に転送していなかった当該送信割り込み要求解除コマンドを送信する。アクセス権限の設定期間中、当該送信割り込みは、ＭＳＩ転送先セレクタによりアクセス権限のあるコントローラに通知する。これにより、アクセス権限のあるコントローラは、他のコントローラからエンジン部１に送信割り込み要求解除コマンドが送信されていることを検知できる。これにより、エンジン部１の占有時間を短縮する等の制御をすることができる。
【００６２】
受信制御部９８は、ダウンストリームポート６２のターゲット回路６７から通知されるコマンド受信割り込みを受けると、エンジンＡＳＩＣ７のコマンド受信バッファ１５からコマンドを読み出す。受信制御部９８は、読み出したコマンドを代理受信バッファ１００に保持する。受信バッファ読み出し制御部９９は、転送先セレクタ１０１の設定に応じて、マスター回路７６又はマスター回路８３を介して、コントローラ（コントローラ部３１又は拡張コントローラ部５１）に受信割り込みを通知する。受信割り込みの通知を受けたコントローラは、アップストリームポート（第１アップストリームポート７４又は第２アップストリームポート８１）を介して代理受信バッファ１００のコマンドを読み出す。
【００６３】
転送制御部７３は、ダウンストリームポート６２から割り込み通知又はコントローラ側（コントローラ部３１又は拡張コントローラ部５１）へのデータアクセス要求を受ける。転送制御部７３は、当該割り込み通知又は当該データアクセス要求を受けると、コントローラ判定部９６が有するコマンド情報に基づいて、転送先セレクタ１０１により転送先を切り換える。
【００６４】
図９は、本実施の形態の画像処理装置３００のスキャナ動作時のコマンドシーケンスを説明するためのシーケンス図である。以下では、コントローラ部３１からエンジン部１にスキャナ実行要求コマンドを送信する場合について説明する。なお、拡張コントローラ部５１からエンジン部１にスキャナ実行要求コマンドを送信する場合であっても同様である。
【００６５】
コントローラ部３１は、スキャナ実行要求コマンドをエンジン部１に送信する（ステップＳ２１）。エンジン部１は、スキャナ実行要求コマンドを受付可能であれば、コントローラ部３１にスキャナ実行受付コマンドを送信する（ステップＳ２２）。エンジン部１は、スキャナ転送準備要求コマンドをコントローラ部３１に送信する（ステップＳ２３）。コントローラ部３１は、メモリの確保等、スキャナデータの受け入れ準備ができた時点でスキャナ転送準備完了コマンドをエンジン部１に送信する（ステップＳ２４）。エンジン部１は、スキャナ読み取り開始コマンドをコントローラ部３１に送信する（ステップＳ２５）。エンジン部１は、スキャナ読み取り開始コマンドをコントローラ部３１に送信後、スキャナ読み取りを実行する。この間、スキャナデータがエンジン部１からコントローラ部３１に転送される。エンジン部１は、スキャナ読み取りが全て終わると、スキャナ読み取り終了コマンドをコントローラ部３１に送信する（ステップＳ２６）。
【００６６】
図１０は、本実施の形態の画像処理装置３００のプリンタ動作時のコマンドシーケンスを説明するためのシーケンス図である。以下では、コントローラ部３１からエンジン部１に印刷実行要求コマンドを送信する場合について説明する。なお、拡張コントローラ部５１からエンジン部１に印刷実行要求コマンドを送信する場合であっても同様である。
【００６７】
コントローラ部３１は、印刷実行要求コマンドをエンジン部１に送信する（ステップＳ３１）。エンジン部１は、印刷実行要求コマンドを受付可能であれば、コントローラ部３１に印刷実行受付コマンドを送信する（ステップＳ３２）。エンジン部１は、印刷実行開始コマンドをコントローラ部３１に送信する（ステップＳ３３）。エンジン部１は、給紙開始コマンドをコントローラ部３１に送信する（ステップＳ３４）。エンジン部１は、印刷画像転送準備要求コマンドをコントローラ部３１に送信する（ステップＳ３５）。コントローラ部３１は、印刷画像準備完了コマンドをエンジン部１に送信する（ステップＳ３６）。エンジン部１は、印刷が終了すると、書き込み完了コマンド、排紙完了コマンド及び印刷完了コマンドをコントローラ部３１に送信し印刷処理が完了する（ステップＳ３７、ステップＳ３８及びステップＳ３９）。
【００６８】
図１１は、本実施の形態の画像処理装置３００のコピー動作時のコマンドシーケンスを説明するためのシーケンス図である。以下では、コントローラ部３１のコピー動作（スキャナ実行要求コマンド及び印刷実行要求コマンドの送信）について説明する。なお、拡張コントローラ部５１のコピー動作であっても同様である。
【００６９】
画像処理装置３００は、スキャナ実行要求コマンドと印刷実行要求コマンドによりコピー動作を実現する。コントローラ部３１は、スキャナ実行要求コマンドをエンジン部１に送信する（ステップＳ４１）。エンジン部１は、スキャナ実行要求コマンドを受付可能であれば、コントローラ部３１にスキャナ実行受付コマンドを送信する（ステップＳ４２）。コントローラ部３１は、印刷実行要求コマンドをエンジン部１に送信する（ステップＳ４３）。エンジン部１は、印刷実行要求コマンドを受付可能であれば、コントローラ部３１に印刷実行受付コマンドを送信する（ステップＳ４４）。エンジン部１は、スキャナ転送準備要求コマンドをコントローラ部３１に送信する（ステップＳ４５）。コントローラ部３１は、メモリの確保等、スキャナデータの受け入れ準備ができた時点でスキャナ転送準備完了コマンドをエンジン部１に送信する（ステップＳ４６）。エンジン部１は、スキャナ読み取り開始コマンドをコントローラ部３１に送信する（ステップＳ４７）。エンジン部１は、スキャナ読み取り開始コマンドをコントローラ部３１に送信後、スキャナ読み取りを実行する。この間、スキャナデータがエンジン部１からコントローラ部３１に転送される。エンジン部１は、給紙開始コマンドをコントローラ部３１に送信する（ステップＳ４８）。エンジン部１は、印刷画像転送準備要求コマンドをコントローラ部３１に送信する（ステップＳ４９）。コントローラ部３１は、印刷画像準備完了コマンドをエンジン部１に送信する（ステップＳ５０）。エンジン部１は、スキャナ読み取りが全て終わると、スキャナ読み取り終了コマンドをコントローラ部３１に送信する（ステップＳ５１）。エンジン部１は、印刷が終了すると、書き込み完了コマンド、排紙完了コマンド及び印刷完了コマンドをコントローラ部３１に送信し印刷処理が完了する（ステップＳ５２、ステップＳ５３及びステップＳ５４）。
【００７０】
上述のように、エンジン部１は、読み取りについては、スキャナ入力同様のシーケンスで読み取りを行う。また、エンジン部１は、印刷については、給紙開始コマンド、及び印刷画像転送準備要求コマンドをコントローラに送信する。コントローラ部３１が印刷画像準備完了コマンドをエンジン部１に通知すると、コントローラ部３１からエンジン部１に印刷画像の転送を行い、エンジン部１で印刷を行う。
【００７１】
以上が、画像処理装置３００のスキャナ動作、プリンタ動作、及びコピー動作のコントローラ部３１（拡張コントローラ部５１）とエンジン部１との間のコマンドシーケンスの説明である。
【００７２】
拡張コントローラ部５１が、プリンタ機能を持ち、既存コントローラ（コントローラ部３１）でコピー機能を受け持つ場合、プロッタ装置６がプリンタ出力とコピー出力で競合する可能性がある。アプリケーション排他制御部７１の送信コマンド解析部９３は、排他対象であるプロッタコマンド（印刷実行要求コマンド）を、コントローラ部３１又は拡張コントローラ部５１から送信される送信バッファアクセス要求コマンドのパケットから判別し抽出する。アプリケーション判定部９２は、最初にプロッタ開始コマンドを要求（印刷実行要求コマンドを送信）したコントローラ部（コントローラ部３１又は拡張コントローラ部５１）をプロッタ装置６のオーナーに設定する（アクセス権限を与える）。転送制御部７３が、エンジン部１から、アクセス権限を有するコントローラ部（コントローラ部３１又は拡張コントローラ部５１）へ送信されるパケットからプロッタ処理完了通知コマンドを判別し抽出すると、アプリケーション判定部９２は、プロッタ装置６のオーナー設定を解除する（アクセス権限を解除する）。なお、プロッタ装置６の印刷処理が複数ページにわたる場合は、ページ数分のプロッタ開始コマンドとプロッタ処理完了通知コマンドとが発生する。そのため、アプリケーション判定部９２は、ページ数のカウントをしてページ数分のプロッタ処理完了通知コマンドを受信してから、プロッタ装置６のオーナー設定を解除する。スイッチ装置６１は、プロッタ装置６のオーナーがいずれかのコントローラ部（コントローラ部３１又は拡張コントローラ部５１）に設定されている間は、スイッチ内のダミー送信バッファ（第１代理送信バッファ９０又は第２代理送信バッファ９１）で、アクセス権限のないコントローラ部から送信されたプロッタコマンドを保留する。これにより、アプリケーション排他制御部７１は、プロッタ処理受付通知コマンドを、アクセス権限のないコントローラ部（コントローラ部３１又は拡張コントローラ部５１）に返さないことにより、アクセス権限のないコントローラ部の印刷処理を待たせる。
【００７３】
なお、スキャナ装置５のスキャナ動作と、プロッタ装置６のプリンタ動作のようにアプリケーションが競合しない場合は、アプリケーション排他制御部７１は動作しない。コマンド排他制御部７２が、コマンド単位の排他制御をすることにより、スキャナアプリケーションとプリンタ印刷アプリケーションを並行して動作させることができる。
【００７４】
なお、アプリケーション排他制御部７１が、コマンド排他制御部７２によりエンジン部１へのアクセス権限を有するコントローラ部（コントローラ部３１又は拡張コントローラ部５１）が送信したアプリケーションのコマンドと、当該アクセス権限を有さないコントローラ部のコマンドを同時期に受信した場合、当該アクセス権限を有さないコントローラ部のコマンドが先に処理される場合がある。これは、アプリケーション排他制御部７１が、コマンド排他制御部７２よりも優先して動作するためである。このときは、コマンド排他制御部７２は、当該アクセス権限を一時的に解除し、当該アクセス権限を有していなかったコントローラ部（コントローラ部３１又は拡張コントローラ部５１）に当該アクセス権限を与える。
【００７５】
本実施の形態のスイッチ装置６１によれば、透過部６９、及びコマンド排他制御部７２を備えることにより、コントローラ部３１とエンジン部１のソフトウェアを変更せずに、エンジン部１に拡張コントローラ部５１を接続して動作させることができる。
【符号の説明】
【００７６】
１  エンジン部
２  エンジンＣＰＵ
３  ＲＯＭ
４  ＲＡＭ
５  スキャナ装置
６  プロッタ装置
７  エンジンＡＳＩＣ
８  バスＩ／Ｆ
９  スキャナＩ／Ｆ
１０  プロッタＩ／Ｆ
１１  エンドポイントコントローラ
１２  レジスタ
１３  割り込みコントローラ
１４  コミュニケーション制御部
１５  コマンド受信バッファ
１６  コマンド送信バッファ
１７  コントローラ側割り込み生成回路
１８  ターゲット回路
１９  マスター回路
２０  トランザクション層データ処理部
２１  データリンク層データ処理部
２２  物理層データ処理部
３１  コントローラ部（第１コントローラ部）
３２  コントローラＡＳＩＣ
３３  ルートコンプレックスコントローラ
３４  レジスタ
３５  バスＩ／Ｆ
３６  メモリコントローラ
３７  コントローラＣＰＵ
３８  ＲＡＭ
３９  ＲＯＭ
４０  物理層データ処理部
４１  データリンク層データ処理部
４２  トランザクション層データ処理部
４３  マスター回路
４４  ターゲット回路
４５  アドレスデコーダ
４６  アービタ
４７  割り込みコントローラ
５１  拡張コントローラ部（第２コントローラ部）
６１  スイッチ装置
６２  ダウンストリームポート
６３  物理層データ処理部
６４  データリンク層データ処理部
６５  トランザクション層データ処理部
６６  マスター回路
６７  ターゲット回路
６８  レジスタ
６９  透過部
７０  コンフィグ判定部
７１  アプリケーション排他制御部
７２  コマンド排他制御部
７３  転送制御部
７４  第１アップストリームポート
７５  ターゲット回路
７６  マスター回路
７７  トランザクション層データ処理部
７８  データリンク層データ処理部
７９  物理層データ処理部
８０  レジスタ
８１  第２アップストリームポート
８２  ターゲット回路
８３  マスター回路
８４  トランザクション層データ処理部
８５  データリンク層データ処理部
８６  物理層データ処理部
８７  レジスタ
８８  受信コマンド解析部
８９  コマンド送信制御部
９０  第１代理送信バッファ
９１  第２代理送信バッファ
９２  アプリケーション判定部
９３  送信コマンド解析部
９４  送信制御部
９５  検知部
９６  コントローラ判定部
９７  アクセスセレクタ
９８  受信制御部
９９  受信バッファ読み出し制御部
１００  代理受信バッファ
１０１  転送先セレクタ
２００  画像処理装置
３００  画像処理装置
【先行技術文献】
【特許文献】
【００７７】
【特許文献１】特許第４３９８３８６号公報
【図１】
2014146278.tif 000003
【図２】
2014146278.tif 000004
【図３】
2014146278.tif 000005
【図４】
2014146278.tif 000006
【図５】
2014146278.tif 000007
【図６】
2014146278.tif 000008
【図７】
2014146278.tif 000009
【図８】
2014146278.tif 000010
【図９】
2014146278.tif 000011
【図１０】
2014146278.tif 000012
【図１１】
2014146278.tif 000013