(57)【要約】【課題】ホストデバイスと複数のスレーブデバイスとがＰＣＩバスのような入出力バスによって接続された通信システムにおいて、簡単な構成により、スレーブデバイスが他のスレーブデバイスを認識してホストデバイスを介することなくスレーブデバイス同士が直接通信することができる通信システムを提供すること。【解決手段】本発明の通信システム１は、ホストデバイスは、入出力バスに接続されている第１スレーブデバイスを検出する手段と、検出した第１スレーブデバイスにアクセスするために必要なデバイス情報を当該第１スレーブデバイスから取得してその旨を第２スレーブデバイスに通知する手段と、を備え、第２スレーブデバイスは、通知を受けた場合にホストデバイスからデバイス情報を取得する取得手段と、取得したそのデバイス情報に基づいて第１スレーブデバイスにアクセスし、該第１スレーブデバイスとの間で通信準備を行う通信準備手段と、を備える。【選択図】      図１
2006338232.tif 000002
【特許請求の範囲】
【請求項１】
ホストデバイスと複数のスレーブデバイスとが入出力バスにより接続された通信システムにおいて、前記ホストデバイスは、前記入出力バスに接続されている第１スレーブデバイスを検出する手段と、検出した前記第１スレーブデバイスにアクセスするために必要なデバイス情報を当該第１スレーブデバイスから取得してその旨を第２スレーブデバイスに通知する手段と、を備え、前記第２スレーブデバイスは、前記通知を受けた場合に前記ホストデバイスから前記デバイス情報を取得する取得手段と、取得したそのデバイス情報に基づいて前記第１スレーブデバイスにアクセスし、該第１スレーブデバイスとの間で通信準備を行う通信準備手段と、を備えることを特徴とする通信システム。
【請求項２】
前記ホストデバイスは、前記第１スレーブデバイスから取得した前記デバイス情報を格納するメモリを備えており、前記第２スレーブデバイスの前記取得手段は、前記通知を受けた場合に前記メモリから前記デバイス情報を読み出すことにより、前記ホストデバイスから前記デバイス情報を取得するものであることを特徴とする請求項１記載の通信システム。
【請求項３】
前記第１スレーブデバイスは、自デバイスと接続された他のデバイスが情報を書込むための領域が前記他のデバイス毎に設けられたメモリを備えており、前記第２スレーブデバイスの前記通信準備手段は、前記第１スレーブデバイスのメモリに設けられた前記第２スレーブデバイス専用の領域に通信に必要な情報を書込むことにより、前記通信準備を行うことを特徴とする請求項１又は２記載の通信システム。
【請求項４】
前記入出力バスは、ＰＣＩバスであることを特徴とする請求項１乃至３のいずれか１に記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストデバイスと複数のスレーブデバイスとが入出力バスによって接続された通信システムに関する。
【背景技術】
【０００２】
ホストデバイスとスレーブデバイスとがＰＣＩ（Peripheral Component Interconnect）バスによって接続された通信システムでは、ＰＣＩバスに接続するデバイス（スレーブデバイス）の特性、種類、動作方式等を設定するためのコンフィグレーションレジスタ（Configuration Register）が各スレーブデバイスに設けられている（例えば、特許文献１参照。）。
【０００３】
上記のような通信システムにおいて、ホストデバイスは、システム起動時にスレーブデバイスを認識した場合、そのスレーブデバイスのコンフィグレーションレジスタにアクセスしてベースアドレスの書込みやデバイスＩＤの読み出し等の動作環境の設定を行う。そして、ホストデバイスは、その設定に基づいてスレーブデバイスとの間で通信を行う。
【特許文献１】特開平１１−２８２７９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、ホストデバイスと複数のスレーブデバイスとがＰＣＩバスのような入出力バスによって接続された通信システムでは、ＰＣＩ規格が基本的にホストデバイスとスレーブデバイスとの間で通信を行うために規定されたものであり、上記のようなスレーブデバイスの認識はホストデバイスのみが行っている。そのため、スレーブデバイスが他のスレーブデバイスを認識することができず、スレーブデバイス同士がホストデバイスを介することなく直接通信することができないという問題点があった。
【０００５】
本発明は、かかる課題に鑑みてなされたものであり、ホストデバイスと複数のスレーブデバイスとがＰＣＩバスのような入出力バスによって接続された通信システムにおいて、簡単な構成により、スレーブデバイスが他のスレーブデバイスを認識してホストデバイスを介することなくスレーブデバイス同士が直接通信することができる通信システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、請求項１記載の通信システムは、ホストデバイスと複数のスレーブデバイスとが入出力バスにより接続された通信システムにおいて、前記ホストデバイスは、前記入出力バスに接続されている第１スレーブデバイスを検出する手段と、検出した前記第１スレーブデバイスにアクセスするために必要なデバイス情報を当該第１スレーブデバイスから取得してその旨を第２スレーブデバイスに通知する手段と、を備え、前記第２スレーブデバイスは、前記通知を受けた場合に前記ホストデバイスから前記デバイス情報を取得する取得手段と、取得したそのデバイス情報に基づいて前記第１スレーブデバイスにアクセスし、該第１スレーブデバイスとの間で通信準備を行う通信準備手段と、を備えることを特徴としている。
【０００７】
請求項２記載の通信システムは、請求項１に記載の通信システムにおいて、前記ホストデバイスは、前記第１スレーブデバイスから取得した前記デバイス情報を格納するメモリを備えており、前記第２スレーブデバイスの前記取得手段は、前記通知を受けた場合に前記メモリから前記デバイス情報を読み出すことにより、前記ホストデバイスから前記デバイス情報を取得するものであることを特徴としている。
【０００８】
請求項３記載の通信システムは、請求項１又は２に記載の通信システムにおいて、前記第１スレーブデバイスは、自デバイスと接続された他のデバイスが情報を書込むための領域が前記他のデバイス毎に設けられたメモリを備えており、前記第２スレーブデバイスの前記通信準備手段は、前記第１スレーブデバイスのメモリに設けられた前記第２スレーブデバイス専用の領域に通信に必要な情報を書込むことにより、前記通信準備を行うことを特徴としている。
【０００９】
請求項４記載の通信システムは、請求項１乃至３のいずれか１に記載の通信システムにおいて、前記入出力バスは、ＰＣＩバスであることを特徴としている。
【発明の効果】
【００１０】
請求項１及び４に記載の通信システムによれば、第２スレーブデバイスは、ホストデバイスが取得したデバイス情報を取得して第１スレーブデバイスにアクセスし、第１スレーブデバイスとの間で通信準備を行う。そのため、第２スレーブデバイスは、通信準備が完了した後に第１スレーブデバイスと直接通信することができる。したがって、ホストデバイスが第１スレーブデバイスから取得したデバイス情報をホストデバイスから取得するという簡単な構成により、スレーブデバイスが他のスレーブデバイスを容易に認識することができ、ホストデバイスを介することなくスレーブデバイス同士が直接通信することができる。
【００１１】
請求項２及び４に記載の通信システムによれば、第２スレーブデバイスは、通知を受けた場合に、ホストデバイスのメモリからデバイス情報を読み出すという処理を行うことにより、第１スレーブデバイスにアクセスするために必要な情報を容易に取得することができる。
【００１２】
請求項３及び４に記載の通信システムによれば、第２スレーブデバイスが通信の相手先となる第１スレーブデバイスに設けられた自デバイス専用の領域に通信に必要な情報を書込むという処理を、２つのスレーブデバイスが相互に行うようにすることで、複雑なシーケンスを行うことなく容易に通信準備を行うことができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施形態に係る通信システムをカラーコピー機能、ファクシミリ通信機能、ネットワークスキャナ機能、ネットワークプリンタ機能等を併せ持つ複合機に適用した場合について、図面に基づき説明する。図１は、本実施形態に係る通信システム（コンピュータシステム）１の構成例を示したブロック図である。この通信システム１は、ホストデバイスと複数のスレーブデバイスとがＰＣＩバス（入出力バス）２により接続されてなるものであり、本実施形態においては、ホストデバイスであるＭＦＰコントローラ３と、スレーブデバイスであるカラー画像処理ボード４、プリンタコントローラ５、及びネットワークボード６がＰＣＩバス２により接続されている。
【００１４】
なお、このＰＣＩバス（Peripheral Component Interconnect Bus）２は、ＰＣＩ ＳＩＧ（PCI Special Interest Group）により規格が策定されている３２ビットバスであり、ＰＣＩバス２を構成するＰＣＩバス２ａ（２）とＰＣＩバス２ｂ（２）は、２本のＰＣＩバスを相互接続するための回路であるＰＣＩブリッジ７により接続されている。
【００１５】
ＭＦＰコントローラ（ホストデバイス）３は、通信システム１のホストデバイスとして機能するものである。具体的には、複数の色成分からなるカラー画像データ（例えば、ＲＧＢ表色系のカラー画像データ）を原稿から読取るスキャナ（原稿読取部）９から出力されたカラー画像データに対して、色空間変換や圧縮（符号化）等の画像処理を行い、ＰＣＩバス２を介してカラー画像処理ボード４又はネットワークボード６へ転送（送信）する処理や、外部装置（不図示）との間で原稿のカラー画像データをファクシミリ送受信する処理等を行う。
【００１６】
このＭＦＰコントローラ３は、制御部（ＣＰＵ：Central Processing Unit）１０、ＰＣＩホストコントローラ１１、割込みコントロールレジスタ１２、ＲＡＭ（Random Access Memory）１３を備えており、これら各部１０乃至１３はホストシステムバス１４によって通信可能に接続されている。
【００１７】
制御部１０は、ＭＦＰコントローラ３を構成する各部を制御する。ＰＣＩホストコントローラ１１は、スレーブデバイス（カラー画像処理ボード４、プリンタコントローラ５、又はネットワークボード６）との間でＰＣＩバス２を介して行われる通信を制御するものである。割込みコントロールレジスタ１２は、通信システム１を構成する各デバイスが他のデバイスに割込みを発生させる際に、割込み要求を書込むためのメモリである。
【００１８】
この割込みコントロールレジスタ１２は、自デバイス３の制御部１０と割込み信号線１６によって接続されるとともに、各スレーブデバイス４乃至６の制御部２５と割込み信号線１７乃至１９によって接続されており、割込み要求元（コマンド送信側）のデバイスによってこの割込みコントロールレジスタ１２に割込み要求が書込まれると、割込み要求先（コマンド受信側）のデバイスに割込み信号が出力されるようになっている。
【００１９】
ＲＡＭ（メモリ）１３は、制御部１０の主メモリ、ワークエリア等として機能し、各種設定情報を格納している。図２に示すように、このＲＡＭ１３には、サブコンフィグレーションエリア２１、コマンドエリア２２、及びユニット管理エリア２３が設けられている。
【００２０】
コマンドエリア２２は、ＰＣＩバス２を介して自デバイス３と接続されたスレーブデバイス４乃至６が、自デバイス３に対するコマンドやレスポンス、データサイズの小さいデータ等を書込むための領域であり、このコマンドエリア２２を利用してスレーブデバイス４乃至６との通信が行われる。サブコンフィグレーションエリア２１は、コマンドエリア２２のサイズ、コマンドエリア２２のアドレス、スレーブデバイス４乃至６からの割込み要因等が書込まれる領域である。ユニット管理エリア２３は、スレーブデバイスにアクセスするために必要なデバイス情報が書込まれる領域である。
【００２１】
なお、ＭＦＰコントローラ３は、上記の各部１０乃至１３の他に、図示しないが、制御部１０によりＭＦＰコントローラ３の各部が制御されるためのプログラムを格納するＲＯＭ、スキャナ９から出力されたＲＧＢ表色系のカラー画像データを例えばＹＣｒＣｂ表色系のカラー画像データに変換する色空間変換回路、画像データを圧縮又は伸張するコーデック、画像データを格納する画像メモリ、外部装置との間でファクシミリ通信を行うためのモデムとＮＣＵ（Network Control Unit）からなる通信部等を備えている。
【００２２】
カラー画像処理ボード４は、通信システム１のスレーブデバイスとして機能するものであり、ＭＦＰコントローラ３から転送されてきた画像データを用紙に印字出力するために必要な画像処理を行う。具体的には、ＭＦＰコントローラ３から出力されたＹＣｒＣｂ表色系のカラー画像データを例えばＣＭＹＫの各色彩データに変換する色空間変換や、色空間変換された色彩データを２値化（又は４値化）する階調減少処理等を行う。
【００２３】
このカラー画像処理ボード４は、制御部（ＣＰＵ）２５ａ（２５）、ＰＣＩコントローラ２６ａ（２６）、ＲＡＭ（メモリ）２７ａ（２７）等を備えており、これら各部２５ａ乃至２７ａは、ローカルバス２８によって通信可能に接続されている。
【００２４】
制御部２５ａは、自デバイス４を構成する各部を制御する。なお、制御部２５ａは、割込みコントローラ（不図示）を搭載しており、割込み信号線１７を介して割込みコントロールレジスタ１２から割込み信号を受信した場合に、制御部２５ａに対して割込みを発生させることができる。ＰＣＩコントローラ２６ａは、他のデバイス（ここでは、ＭＦＰコントローラ３、プリンタコントローラ５、又はネットワークボード６）との間でＰＣＩバス２を介して行われる通信を制御するものである。なお、このＰＣＩコントローラ２６ａは、デバイスの特性、種類、動作方式等を設定するためのレジスタである、いわゆるコンフィグレーションレジスタを内蔵しており、ＰＣＩホストコントローラ１１によってコンフィグレーション（初期化処理）が行われるようになっている。なお、このコンフィグレーションレジスタにアクセスできるのは、ホストデバイス３のＰＣＩホストコントローラ１１のみである。
【００２５】
ＲＡＭ２７ａは、制御部２５ａの主メモリ、ワークエリア等として機能し、各種設定情報を格納している。また、図示しないが、このＲＡＭ２７ａには、ＭＦＰコントローラ３のＲＡＭ１３と同様に、サブコンフィグレーションエリア及びコマンドエリアが設けられている。コンフィグレーションエリア及びコマンドエリアについては、プリンタコントローラ５のメモリ（ＲＡＭ２７ｂ）に設けられているものを例として後に詳述する。
【００２６】
なお、このカラー画像処理ボード４は、上記の２５ａ乃至２７ａの他に、図示しないが、制御部２５ａによってカラー画像処理ボード４の各部が制御されるためのプログラムを格納するＲＯＭ、ＹＣｒＣｂ表色系のカラー画像データをＣＭＹＫの各色彩データに変換する色空間変換回路、色空間変換された色彩データを誤差拡散処理などにより２値化又は４値化する階調減少処理回路等を備えている。
【００２７】
プリンタコントローラ５は、通信システム１のスレーブデバイスとして機能するものであり、カラー画像処理ボード４から転送されてきた画像データ（色彩データ）、ネットワークボード６から転送されてきた画像データに基づいてプリンタ３０を制御する。
【００２８】
このプリンタコントローラ５は、制御部（ＣＰＵ）２５ｂ（２５）、ＰＣＩコントローラ２６ｂ（２６）、ＲＡＭ（メモリ）２７ｂ（２７）を備えており、これら各部２５ｂ乃至２７ｂは、ローカルバス３１によって通信可能に接続されている。なお、これら制御部２５ｂ、ＰＣＩコントローラ２６ｂ、及びＲＡＭ２７ｂは、上記のカラー画像処理ボード４の制御部２５ａ、ＰＣＩコントローラ２６ａ、及びＲＡＭ２７ａとそれぞれ同様の構成及び機能を有するものである。
【００２９】
また、このプリンタコントローラ５は、上記の２５ｂ乃至２７ｂの他に、制御部２５ｂによってプリンタコントローラ５の各部が制御されるためのプログラムを格納するＲＯＭ、プリンタ３０を制御するビデオＡＳＩＣ（Application Specific Integrated Circuit）等を備えており、ＰＣＩバス２を介してカラー画像処理ボード４から転送されてきたカラー画像データやネットワークボード６から転送されてきたカラー画像データに基づいてプリンタ３０を制御して印刷処理を実行する。
【００３０】
一方、プリンタ３０は、画像データの画像を用紙に記録するものであって、カラー画像データ及びモノクロ画像データの双方の画像を用紙に記録することが可能なものである。このプリンタ３０における記録方式としては、例えば、電子写真方式やインクジェット方式等の各種記録方式を用いることができる。
【００３１】
ネットワークボード６は、通信システム１のスレーブデバイスとして機能するものであり、ＭＦＰコントローラ３からＰＣＩバス２を介して転送されてきたカラー画像データをそのまま、又はモノクロ画像データに変換してＬＡＮ３２上のクライアントＰＣ３３へ転送する処理、クライアントＰＣ３３から出力された画像データをファクシミリ送信するために、ＰＣＩバス２を介してＭＦＰコントローラ３へ転送する処理、クライアントＰＣ３３から出力された画像データを印字出力するために、ＰＣＩバス２を介してプリンタコントローラ５へ転送する処理等を行う。
【００３２】
このネットワークボード６は、制御部（ＣＰＵ）２５ｃ（２５）、ＰＣＩコントローラ２６ｃ（２６）、ＲＡＭ（メモリ）２７ｃ（２７）等を備えており、これら各部２５ｃ乃至２７ｃは、ローカルバス３４によって通信可能に接続されている。なお、この制御部２５ｃ、ＰＣＩコントローラ２６ｃ、及びＲＡＭ２７ｃは、カラー画像処理ボード４の制御部２５ａ、ＰＣＩコントローラ２６ａ、及びＲＡＭ２７ａとそれぞれ同様の機能及び構成を有するものである。
【００３３】
なお、この制御部２５ｃは、ＬＡＮ３２上のクライアントＰＣ３３と通信を行うためのＬＡＮコントローラ３５を搭載しており、上記のようにＬＡＮ３２上のクライアントＰＣ３３との間で各種データを送受信することが可能である。また、このネットワークボード６は、上記の２５ｃ乃至２７ｃの他に、制御部２５ｃによってネットワークボード６の各部が制御されるためのプログラムを格納するＲＯＭ、カラー画像データをモノクロ画像データに変換するカラーモノクロ変換回路、多値のモノクロ画像データを２値化する２値化回路、２値化されたモノクロ画像データをＭＨ、ＭＲ、ＭＭＲ、ＪＢＩＧ方式等により圧縮するコーデック等を備えている。
【００３４】
図３は、プリンタコントローラ５のＲＡＭ２７ｂの構成を概略的に示した図である。このＲＡＭ２７ｂには、サブコンフィグレーションエリア３７とコマンドエリア３８が設けられている。まず、コマンドエリア３８について以下に説明する。このコマンドエリア３８は、自デバイス５とＰＣＩバス２を介して接続された他のデバイス３、４、又は６が自デバイス５に対するコマンドやレスポンス、データサイズの小さいデータ（例えば、１０４バイト未満のデータ）等を書込むための領域であり、プリンタコントローラ５がＰＣＩバス２を介して通信可能なデバイス毎に複数の領域に論理的に分割されている。このコマンドエリア３８は、本実施形態においては、ＭＦＰコントローラ用コマンドエリア３９と、カラー画像処理ボード用コマンドエリア４０と、ネットワークボード用コマンドエリア４１と、追加デバイス用コマンドエリア４２と、に論理的に分割されている。
【００３５】
ここで、ＭＦＰコントローラ用コマンドエリア３９は、ＭＦＰコントローラ３のＰＣＩホストコントローラ１１が制御部１０の制御命令に基づいてＰＣＩバス２を介してプリンタコントローラ５に対するコマンドやレスポンス等を書込む領域である。カラー画像処理ボード用コマンドエリア４０は、カラー画像処理ボード４のＰＣＩコントローラ２６ａが制御部２５ａの制御命令に基づいてＰＣＩバス２を介してプリンタコントローラ５に対するコマンドやレスポンス等を書込む領域である。ネットワークボード用コマンドエリア４１は、ネットワークボード６のＰＣＩコントローラ２６ｃが制御部２５ｃの制御命令に基づいてＰＣＩバス２を介してプリンタコントローラ５に対するコマンドやレスポンス等を書込む領域である。追加デバイス用コマンドエリア４２は、通信システム１に新たなスレーブデバイスが追加された場合に、その追加されたスレーブデバイスのＰＣＩコントローラがＰＣＩバス２を介してプリンタコントローラ５に対するコマンドやレスポンス等を書込む領域であり、スレーブデバイスの追加（増設）に対応するために予め設けられた領域である。
【００３６】
このように、プリンタコントローラ５のＲＡＭ２７ｂには、ＰＣＩバス２を介して自デバイス５と接続された他のデバイス３、４、又は６がコマンドやレスポンス等の各種データを書込むためのエリア（領域）３９乃至４１が前記他のデバイス毎に設けられている。
【００３７】
そして、各デバイス毎のコマンドエリア３９乃至４２は、それぞれ更にヘッダエリアとデータエリアとに論理的に分割されているが、このヘッダエリアとデータエリアについて、ここではカラー画像処理ボード用コマンドエリア４０を例にして説明する。カラー画像処理ボード用コマンドエリア４０のヘッダエリア４３には、ヘッダタイプ、コマンドメールボックスＩＤ、レスポンスメールボックスＩＤ、コマンドナンバー（コマンド）、データアドレス（先頭アドレス）、データカウント（データサイズ）等が、データエリア４４には、データサイズの小さいデータやレスポンス等が、自デバイス５と接続された他のデバイス（この領域では、カラー画像処理ボード４）によって書込まれるようになっている。
【００３８】
ヘッダタイプは、コマンド送信側のデバイス（カラー画像処理ボード４）によるカラー画像処理ボード用コマンドエリア４０の使用状況を示すメモリ情報であり、カラー画像処理ボード用コマンドエリア４０が未使用であることを示す情報、カラー画像処理ボード用コマンドエリア４０がプリンタコントローラ５に対するコマンドによって使用中であることを示す情報、又はカラー画像処理ボード用コマンドエリア４０がプリンタコントローラ５に対するレスポンスによって使用中であることを示す情報のいずれかである。プリンタコントローラ５の制御部２５ｂは、ローカルバス３１を介してＲＡＭ２７ｂにアクセスし、このヘッダエリア４３のヘッダタイプを取得することにより、カラー画像処理ボード４によるカラー画像処理ボード用コマンドエリア４０の使用状況を判断することができる。
【００３９】
コマンドメールボックスＩＤは、コマンド発行（送信）側のデバイス（ここでは、カラー画像処理ボード４）がレスポンス待ちする場合のメールボックスＩＤであり、レスポンス待ちしない場合には、コマンドメールボックスＩＤとして「０」がセットされる。レスポンスメールボックスＩＤは、レスポンスを発行した側（カラー画像処理ボード４）がコマンド待ちする場合のメールボックスＩＤであり、コマンド待ちしない場合には、レスポンスメールボックスＩＤとして「０」がセットされる。
【００４０】
コマンドナンバー（コマンド）は、ここでは、カラー画像処理ボード４がプリンタコントローラ５に対して要求する処理を示すスカラ値であり、プリンタコントローラ５の制御部２５ｂは、ヘッダエリア４３に書込まれているコマンドナンバーを取得して自デバイス５が実行すべき処理が何であるかを判別することができるようになっている。
【００４１】
データアドレス（以下、「先頭アドレス」という。）は、ＰＣＩ空間上のアドレスであり、一方のデバイスから他方のデバイスへデータを転送する場合に、転送すべきデータが格納されている場所の先頭を示すアドレス、又は、転送後のデータを書込むべき場所の先頭を示すアドレスである。例えば、カラー画像処理ボード４からプリンタコントローラ５へデータを転送する場合には、ＲＡＭ２７ａにおいてその転送すべきデータが格納されている場所の先頭を示すアドレス、又はＲＡＭ２７ｂにおいて転送後のデータを書込むべき場所の先頭を示すアドレスである。
【００４２】
データカウント（データサイズ）は、コマンドエリア３８以外の領域を使用してデータを転送する場合に、その転送すべきデータのデータサイズを示すものである。したがって、例えばカラー画像処理ボード４からプリンタコントローラ５へデータを転送する場合に、プリンタコントローラ５の制御部２５ｂは、このヘッダエリア４３の先頭アドレス及びデータカウントに基づいて、自デバイス５に転送されるべきデータがカラー画像処理ボード４のＲＡＭ２７ａ上のどの位置に格納されているかを特定することができる。
【００４３】
データエリア４４に書込まれるデータは、具体的には、カラー画像処理ボード４のＰＣＩコントローラ２６ａがＰＣＩバス２を介して書込んだデータサイズの小さいデータ（例えば、データサイズが１０４バイト未満のデータ）や、プリンタコントローラ５に対するカラー画像処理ボード４のレスポンス等である。なお、データエリア４４の容量を超えるデータサイズが大きいデータは、ＲＡＭ２７ｂにおけるコマンドエリア３８以外の領域に書込まれるようになっている。
【００４４】
また、ＭＦＰコントローラ用コマンドエリア３９には、ＭＦＰコントローラ３のＰＣＩホストコントローラ１１によって、ネットワークボード用コマンドエリア４１には、ネットワークボード６のＰＣＩコントローラ２６ｃによって、データの書込みを行うデバイスが異なる点を除いて、上記のカラー画像処理ボード用コマンドエリア４０と同様の情報が書込まれるようになっている。
【００４５】
さらにまた、デバイス３、４、及び６についても、ＰＣＩバス２を介して自デバイスと接続された他のデバイスがコマンドやレスポンス等を書込むためのコマンドエリアがそれぞれ設けられているが、これらのデバイス３、４、及び６のコマンドエリアは、自デバイスに接続されてコマンドエリアに書込みを行うデバイスの組合わせが異なるだけで、図３に基づいて説明したコマンドエリア３８と同様に構成されているため、その詳細な説明は省略する。
【００４６】
図４は、プリンタコントローラ５のＲＡＭ２７ｂに設けられているサブコンフィグレーションエリア３７を概略的に示した図である。図示するように、サブコンフィグレーションエリア３７は、デバイス情報エリア４６と、ＭＦＰコントローラ用エリア４７と、カラー画像処理ボード用エリア４８と、ネットワークボード用エリア４９と、追加デバイス用エリア５０と、に論理的に分割されている。
【００４７】
デバイス情報エリア４６は、サブコンフィグレーションエリア３７が設けられたＲＡＭ２７ｂを備えるデバイス（プリンタコントローラ５）に関する情報が格納される領域であり、デバイスＩＤ、ユニット（Unit）番号、ステータス（Status）、コマンドエリアサイズ、コマンドエリア０オフセット、ユニット（Unit）管理アドレス等の情報が書込まれるようになっている。
【００４８】
デバイスＩＤは、このサブコンフィグレーションエリア３７を有するデバイスの識別子であり、ここでは、プリンタコントローラ５を示す情報である。ユニット番号は、デバイス（ここでは、プリンタコントローラ５）がどのコマンドユニットを使うかを示す情報である。
【００４９】
ステータスは、ＰＣＩコントローラ２６ｂに内蔵されているコンフィグレーションレジスタに対する初期化処理が完了したか否かを示す情報である。ＰＣＩホストコントローラ１１は、コンフィグレーションサイクルにおいてＰＣＩコントローラ２６ｂに内蔵されているコンフィグレーションレジスタのコンフィグレーション（初期化処理）を行ってＰＣＩコントローラ２６ｂの動作環境の設定を終えると、その旨の情報をステータスとしてデバイス情報エリア４６に書込む。プリンタコントローラ５は、この情報の書込みを受けた後に、ＰＣＩコントローラ２６ｂによってＭＦＰコントローラ３のＲＡＭ１３に設けられているユニット管理エリア２３にアクセスすることができるようになっている。
【００５０】
コマンドエリアサイズは、コマンドエリア３８のサイズ（容量）を示す情報である。コマンドエリア０オフセットは、サブコンフィグレーションエリア３７の先頭アドレスからのオフセットにより、コマンドエリア３８の先頭アドレスを示した情報である。他のデバイス（カラー画像処理ボード４やネットワークボード６）は、サブコンフィグレーションエリア３７にアクセスできた場合に、デバイス情報エリア４６からコマンドエリアサイズ及びコマンドエリア０オフセットの情報を読み出すことにより、プリンタコントローラ５との間で通信を行うために必要な情報であるコマンドエリア３８の位置情報を取得することができる。これにより、ＲＡＭ２７ｂにおけるコマンドエリア３８の場所（ＰＣＩメモリ空間アドレス）を特定することができる。
【００５１】
ユニット管理アドレスは、ホストデバイスであるＭＦＰコントローラ３のＲＡＭ１３に設けられているユニット管理エリア２３のＰＣＩ空間上のアドレスである。このユニット管理アドレスは、ＰＣＩコントローラ２６ｂのコンフィグレーションレジスタに対するコンフィグレーションを終えたＰＣＩホストコントローラ１１によって書込まれる。
【００５２】
ＭＦＰコントローラ用エリア４７は、ＭＦＰコントローラ３がプリンタコントローラ５との通信に必要な情報やプリンタコントローラ５に対して割込みを発生させる際に割込み要因を書込む領域であり、ＭＦＰコントローラ３専用の領域である。カラー画像処理ボード用エリア４８は、カラー画像処理ボード４がプリンタコントローラ５との通信に必要な情報やプリンタコントローラ５に対して割込みを発生させる際に割込み要因を書込む領域であり、カラー画像処理ボード４専用の領域である。ネットワークボード用エリア４９は、ネットワークボード６がプリンタコントローラ５との通信に必要な情報やプリンタコントローラ５に対して割込みを発生させる際に割込み要因を書込む領域であり、ネットワークボード６専用の領域である。
【００５３】
これらのＭＦＰコントローラ用エリア４７、カラー画像処理ボード用エリア４８、ネットワークボード用エリア４９、又は追加デバイス用エリア５０には、受信コマンドバージョン（ＲｘＣｏｍｍａｎｄＶｅｒｓｉｏｎ）、ＴｘデバイスＩＤ、及び初期化ステータス（Ｓｔａｔｕｓ）の通信に必要な情報が通信準備の際に書込まれ、通信準備が完了して実際に通信が行われる際に、割込み要因が書込まれる（セットされる）ようになっている。
【００５４】
カラー画像処理ボード用エリア４８を例にして説明すると、受信コマンドバージョンは、カラー画像処理ボード４によってコマンドエリア３８（詳しくはカラー画像処理ボード用コマンドエリア４０）に書込まれるコマンドのバージョンを示す情報であり、コマンドの追加に対応できるようになっている。制御部２５ｂは、通信準備の際にこの受信コマンドバージョンを読み出してコマンドエリア３８に書込まれるコマンドのバージョンを認識する。ＴｘデバイスＩＤは、受信コマンドバージョン等が書込まれるエリアに書込みを行うデバイスの識別子であり、ここではカラー画像処理ボード４を示す情報である。
【００５５】
初期化ステータスは、プリンタコントローラ５がＰＣＩバス２に未接続であることを示す情報、カラー画像処理ボード用エリア４８への通信に必要な情報の書込みが完了したことを示す情報、又は、カラー画像処理ボード４との通信準備が完了したことを示す情報のいずれかである。プリンタコントローラ５が未接続である場合には、その旨を示す情報が制御部２５ｂにより書込まれており、カラー画像処理ボード４のＰＣＩコントローラ２６ａは、通信に必要な情報、すなわち受信コマンドバージョン及びＴｘデバイスＩＤの書込みを行った後に、初期化ステータスを通信準備に必要な情報の書込みが完了したことを示す情報に書換える。そして、プリンタコントローラ５の制御部２５ｂは、初期化ステータスから通信に必要な情報が書込まれたと判断すると、受信コマンドバージョンの読み出しを行い、初期化ステータスを通信準備が完了したことを示す情報に書換える。このように、カラー画像処理ボード４とプリンタコントローラ５との間で通信準備が行われるようになっている。なお、カラー画像処理ボード４は、通信準備を行う際に、コマンドエリアサイズやコマンドエリア０オフセットの読み出しも併せて行う。
【００５６】
ところで、ＰＣＩコントローラ２６ｂが内蔵するコンフィグレーションレジスタへは、ＭＦＰコントローラ３のＰＣＩホストコントローラ１１しかアクセスすることができないが、このように、ＰＣＩコントローラ２６ａやＰＣＩコントローラ２６ｃがアクセスすることができるＲＡＭ２７ｂのサブコンフィグレーションエリア３７に通信に必要な情報をセットしておくことにより、カラー画像処理ボード４やネットワークボード６がそれらの通信に必要な情報を取得してホストデバイス３を介することなく、プリンタコントローラ５と直接通信することが可能となる。
【００５７】
割込み要因は、カラー画像処理ボード４がプリンタコントローラ５に対して割込みを発生させる際に、その要因を示す情報である。ここで、割込み要因としては、カラー画像処理ボード用コマンドエリア４０に書込まれたコマンドやレスポンスの読み出しを要求する割込み要因（ＲＥＱ）と、プリンタコントローラ５によってカラー画像処理ボード４のＲＡＭ２７ａのコマンドエリアに書込まれたコマンドやレスポンスの読み出しが完了したことを通知するための割込み要因（ＡＣＫ）と、プリンタコントローラ５にリセットを要求するための割込み要因（ＲＥＳＥＴ）と、同期を図るための割込み要因（ＳＹＮＣ）が用意されている。
【００５８】
例えば、カラー画像処理ボード４がカラー画像処理ボード用コマンドエリア４０にコマンドを書込んでプリンタコントローラ５に割込みを発生させる場合、ＰＣＩコントローラ２６ａは、カラー画像処理ボード用エリア４８の割込み要因（ＲＥＱ）に「１」を書込み、割込みコントロールレジスタ１２にプリンタコントローラ５への割込み要求を書込む。これに対し、割込みコントロールレジスタ１２から割込み信号線１８を介してプリンタコントローラ５の制御部２５ｂへ割込み信号が送信される。これを受けて、制御部２５ｂは、サブコンフィグレーションエリア３７から割込み要因として「１」がセットされている領域を検索する。そして、カラー画像処理ボード用エリア４８の割込み要因（ＲＥＱ）として「１」がセットされていることを検出すると、カラー画像処理ボード用コマンドエリア４０にコマンドが書込まれていると判断し、カラー画像処理ボード用コマンドエリア４０からコマンドを読み出し、そのコマンドに対応する処理を実行する。そして、割込み要因をクリアする。すなわち、割込み要因（ＲＥＱ）を「１」から「０」に書換える。
【００５９】
このように、カラー画像処理ボード用エリア４８には、カラー画像処理ボード４がプリンタコントローラ５と通信を行うために必要な情報がカラー画像処理ボード４のＰＣＩコントローラ２６ａによって書込まれるようになっている。なお、受信コマンドバージョン、ＴｘデバイスＩＤ、初期化ステータスについては、上記のように通信準備の段階で書込みが行われるようになっている。
【００６０】
また、ＭＦＰコントローラ用エリア４７及びネットワークボード用エリア４９についても、書込みを行うデバイスが異なる点を除いて、同様の情報が書込まれるようになっている。なお、このようなサブコンフィグレーションエリアは、全てのデバイス３乃至６のメモリ（ＲＡＭ）にも設けられているが、いずれのデバイスのサブコンフィグレーションエリアも構成は同じで、サブコンフィグレーションエリアに受信コマンドバージョンやＴｘデバイスＩＤ等の書込みを行うデバイスの組合わせが異なるだけであるため、他のデバイス３、４、及び６のサブコンフィグレーションエリアについては、その説明を省略する。
【００６１】
図５は、ホストデバイスであるＭＦＰコントローラ３のＲＡＭ１３に設けられているユニット管理エリア２３を例示した図である。図示するように、ユニット管理エリア２３は、ユニット管理情報エリア５２と、ＭＦＰコントローラ用デバイス情報エリア５３と、カラー画像処理ボード用デバイス情報エリア５４と、プリンタコントローラ用デバイス情報エリア５５と、ネットワークボード用デバイス情報エリア５６と、追加デバイス用デバイス情報エリア５７と、に論理的に分割されている。
【００６２】
ユニット管理情報エリア５２には、ホストステータス（Host Status）及びコマンドエリアサイズがＰＣＩホストコントローラ１１によって書込まれるようになっている。ホストステータスは、ＭＦＰコントローラ３がスレーブデバイス４乃至６の初期化処理（コンフィグレーション）の実行中であることを示す情報、又は、ＭＦＰコントローラ３が全てのスレーブデバイス４乃至６の初期化処理を完了したことを示す情報のいずれかである。コマンドエリアサイズは、ＲＡＭ１３に設けられているコマンドエリア２２のサイズ（容量）を示す情報である。
【００６３】
ＭＦＰコントローラ用デバイス情報エリア５３、カラー画像処理ボード用デバイス情報エリア５４、プリンタコントローラ用デバイス情報エリア５５、及びネットワークボード用デバイス情報エリア５６には、デバイスＩＤ、ユニット（Unit）番号、ステータス（Status）、サブコンフィグレーションエリアＰＣＩメモリ空間アドレス等がＰＣＩホストコントローラ１１によって書込まれるようになっている。
【００６４】
デバイスＩＤ及びユニット番号は、スレーブデバイスが有するサブコンフィグレーションエリアからＰＣＩホストコントローラ１１が取得した情報である。ステータスは、スレーブデバイスを検出していないことを示す情報、又はスレーブデバイスを検出済であること、すなわちスレーブデバイスの初期化処理が完了していること、を示す情報のいずれか一方の情報である。サブコンフィグレーションエリアＰＣＩメモリ空間アドレスは、スレーブデバイスのＲＡＭ２７に設けられているサブコンフィグレーションエリアのＰＣＩメモリ空間上の先頭アドレスである。
【００６５】
例えば、ＰＣＩホストコントローラ１１は、プリンタコントローラ５のＰＣＩコントローラ２６ｂに内蔵されているコンフィグレーションレジスタのコンフィグレーション（初期化処理）を完了し、ＭＦＰコントローラ用エリア４７に受信コマンドバージョン、ＴｘデバイスＩＤ、及び初期化が完了したことを示す情報を初期化ステータスとして書込む。次に、サブコンフィグレーションエリア３７から取得したデバイス情報、すなわち、デバイスＩＤ、ユニット番号、サブコンフィグレーションエリア３７のサブコンフィグレーションエリアＰＣＩメモリ空間アドレスをプリンタコントローラ用デバイス情報エリア５５に書込む。そして、ステータスとして検出済みを示す情報を書込む。このようにしてユニット管理エリア２３のプリンタコントローラ用デバイス情報エリア５５にプリンタコントローラ５にアクセスするために必要な情報がセットされると、スレーブデバイス（カラー画像処理ボード４やネットワークボード６）は、プリンタコントローラ用デバイス情報エリア５５に書込まれている情報を参照してプリンタコントローラ５のサブコンフィグレーションエリア３７にアクセスすることができる。すなわち、プリンタコントローラ５を認識して、上記のようなプリンタコントローラ５との通信準備を行うことができる。
【００６６】
以下、通信システム１起動時のコンフィグレーションサイクルにおいて、ホストデバイスであるＭＦＰコントローラ３によって行われる処理動作について、図６に示すフローチャート及び図７に基づいて説明する。なお、図６に示すフローチャートに基づいて説明するＭＦＰコントローラ３の処理動作は、図外のＲＯＭに格納されているプログラムに基づいて制御部１０が発行する命令に従って行われる。また、ここでは、第１スレーブデバイスがプリンタコントローラ５で、第２スレーブデバイスがカラー画像処理ボード４である場合について主に説明するが、第１スレーブデバイスと第２スレーブデバイスの組合わせはこれに限定されるものではない。すなわち、第１スレーブデバイスと第２スレーブデバイスの組合わせは任意であり、例えば、第１スレーブデバイスがカラー画像処理ボード４で第２スレーブデバイスがプリンタコントローラ５であってもよい。
【００６７】
ＭＦＰコントローラ３のＰＣＩホストコントローラ１１は、通信システム１起動時のコンフィグレーションサイクルにおいて、ＰＣＩバス２へのスレーブデバイスの接続の有無を監視し、スレーブデバイスを検出したか否かを判断する（Ｓ１）。このように、ＭＦＰコントローラ３のＰＣＩホストコントローラ１１は、ＰＣＩバス２に接続されているプリンタコントローラ５（第１スレーブデバイス）を検出する。
【００６８】
ここで、ＰＣＩホストコントローラ１１は、プリンタコントローラ５を検出したと判断した場合（Ｓ１：ＹＥＳ）、コンフィグレーションを実行する（Ｓ２）。具体的には、ＰＣＩコントローラ２６ｂに内蔵されているコンフィグレーションレジスタ６０にアクセスし、ベースアドレスの書込みや、デバイスＩＤ、バージョン情報等の読み出しを行う。なお、ここで行われるコンフィグレーションレジスタ６０に対するコンフィグレーションは、ＰＣＩ規格に準拠したものであるため、その詳細な説明は省略する。
【００６９】
続いて、ＰＣＩホストコントローラ１１は、Ｓ２のコンフィグレーションによりプリンタコントローラ５から取得したデバイス情報をユニット管理エリア２３にセットする（Ｓ３）。ところで、ＭＦＰコントローラ３は、プリンタコントローラ５から取得したデバイス情報を格納するユニット管理エリア２３が設けられたＲＡＭ１３を備えており、ＰＣＩホストコントローラ１１は、Ｓ２においてコンフィグレーションレジスタ６０から取得したデバイスＩＤ、ユニット番号、プリンタコントローラ５のＲＡＭ２７ｂに設けられているサブコンフィグレーションエリア３７のＰＣＩメモリ空間上のアドレス（先頭アドレス）をユニット管理エリア２３内のプリンタコントローラ用デバイス情報エリア５５に書込む。そして、プリンタコントローラ用デバイス情報エリア５５のステータスをプリンタコントローラ５を検出済みであることを示す情報に書換える。
【００７０】
次に、ＰＣＩホストコントローラ１１は、コンフィグレーションが完了していないスレーブデバイスがあるか否かを判断する（Ｓ４）。すなわち、Ｓ２及びＳ３の処理動作を行っていないスレーブデバイスがあるか否かを判断する。なお、この判断処理は、ユニット管理エリア２３のデバイス情報エリア５３乃至５６の各エリアのステータスを参照することにより判断することができる。ここで、コンフィグレーションが完了していないスレーブデバイスがあると判断した場合（Ｓ４：ＹＥＳ）、そのスレーブデバイス（カラー画像処理ボード４やネットワークボード６）に対して、プリンタコントローラ５を例として説明したのと同様に、Ｓ２及びＳ３の処理動作を行う。
【００７１】
逆に、コンフィグレーションが完了していないスレーブデバイスはないと判断した場合（Ｓ４：ＮＯ）、すなわち、ここでは、デバイス情報エリア５３乃至５６の全てについて、デバイスＩＤ、ユニット番号、及びサブコンフィグレーションエリアＰＣＩメモリ空間アドレスの書込みと、ステータスの変更が完了したと判断した場合、Ｓ５に進む。
【００７２】
すなわち、ＰＣＩホストコントローラ１１は、各スレーブデバイスのサブコンフィグレーションエリアにユニット管理アドレスを書込むとともに、コンフィグレーションの完了を各スレーブデバイスに通知する（Ｓ５）。言い換えれば、検出したスレーブデバイスにアクセスするために必要な情報を取得したことを各スレーブデバイスに通知する。
【００７３】
具体的には、プリンタコントローラ５に対し、サブコンフィグレーションエリア３７内のデバイス情報エリア４６にユニット管理エリア２３の先頭アドレスであるユニット管理アドレスを書込むとともに、デバイス情報エリア４６のステータスをコンフィグレーション（初期化処理）が完了したことを示す情報に書換える。そして、このようなプリンタコントローラ５のサブコンフィグレーションエリア３７に対して行われるのと同様の処理を、カラー画像処理ボード４のＲＡＭ２７ａ及びネットワークボード６のＲＡＭ２７ｃにそれぞれ設けられているサブコンフィグレーションエリア（不図示）に対して行う。
【００７４】
このように、ＭＦＰコントローラ３のＰＣＩホストコントローラ１１は、Ｓ２乃至Ｓ５の一連の処理動作を行うことにより、検出した第１スレーブデバイス（例えばプリンタコントローラ５）にアクセスするために必要なデバイス情報を当該第１スレーブデバイスから取得してその旨を第２スレーブデバイス（例えば、カラー画像処理ボード４）に通知する。
【００７５】
以上の説明から明らかなように、例えば、カラー画像処理ボード４の制御部２５ａは、ＲＡＭ２７ａに設けられたサブコンフィグレーションエリアからユニット管理アドレスを読み出し、ＰＣＩコントローラ２６ａによりＭＦＰコントローラ３のＲＡＭ１３に設けられているユニット管理エリア２３にアクセスすることができる。そして、ユニット管理エリア２３のプリンタコントローラ用デバイス情報エリア５５から、プリンタコントローラ５のデバイスＩＤ、ユニット番号、及びサブコンフィグレーションエリアＰＣＩメモリ空間アドレスを取得することができる。また、ネットワークボード用デバイス情報エリア５６から、ネットワークボード６のデバイスＩＤ、ユニット番号、及びサブコンフィグレーションエリアＰＣＩメモリ空間アドレスを取得することができる。つまり、プリンタコントローラ５やネットワークボード６にアクセスするために必要な情報をホストデバイス３から簡単に取得することができる。
【００７６】
次に、上記のようにコンフィグレーションの完了が通知された場合に、スレーブデバイスにおいて行われる処理動作について、図７及び図８に示すフローチャートに基づいて説明する。ところで、図８のフローチャートに示す処理動作は、カラー画像処理ボード４、プリンタコントローラ５、及びネットワークボード６の全てのスレーブデバイスにおいて行われるが、ここでは、カラー画像処理ボード４が図８に示す処理動作を行う場合を例として以下に説明する。なお、図８に示すフローチャートに基づいて説明するカラー画像処理ボード４の処理動作は、カラー画像処理ボード４が備える図外のＲＯＭに格納されているプログラムに基づいて制御部２５ａが発行する命令に従って行われる。
【００７７】
まず、カラー画像処理ボード４の制御部２５ａは、コンフィグレーションの完了通知があったか否かを判断する（Ｓ１１）。具体的には、図示しないが、ＲＡＭ２７ａに設けられているサブコンフィグレーションエリアのデバイス情報エリアにユニット管理アドレスが書込まれ、デバイス情報エリアのステータスが、コンフィグレーション（初期化処理）が完了したことを示す情報に書換えられているか否かを判断する。
【００７８】
ここで、コンフィグレーションの完了通知があったと判断した場合（Ｓ１１：ＹＥＳ）、すなわち、デバイス情報エリアにユニット管理アドレスが書込まれ、ステータスがコンフィグレーションが完了したことを示す情報に書換えられていると判断した場合、ホストデバイス３のユニット管理エリア２３にアクセスする（Ｓ１２）。すなわち、制御部２５ａは、デバイス情報エリアに書込まれているユニット管理アドレスを読み出し、ＰＣＩコントローラ２６ａは、制御部２５ａが読み出したユニット管理アドレス、すなわち、ＲＡＭ１３のユニット管理エリア２３にアクセスする。
【００７９】
次に、カラー画像処理ボード４のＰＣＩコントローラ２６ａは、他のデバイス、すなわち、ＭＦＰコントローラ３、プリンタコントローラ５、及びネットワークボード６のデバイス情報を取得する（Ｓ１３）。具体的には、アクセスしたユニット管理エリア２３内のＭＦＰコントローラ用デバイス情報エリア５３、プリンタコントローラ用デバイス情報エリア５５、及びネットワークボード用デバイス情報エリア５６から、デバイスＩＤ、ユニット番号、及びサブコンフィグレーションエリアＰＣＩメモリ空間アドレスを読み出す。
【００８０】
このように、第２スレーブデバイス（カラー画像処理ボード４）は、コンフィグレーションの完了通知、すなわち、第１スレーブデバイス（プリンタコントローラ５）からデバイス情報を取得したことを示す通知を受けた場合に、ホストデバイス（ＭＦＰコントローラ３）からデバイス情報を取得する。なお、カラー画像処理ボード４のＰＣＩコントローラ２６ａは、上記の通知を受けた場合に、ＲＡＭ１３のユニット管理エリア２３からデバイス情報を読み出すことにより、ホストデバイス３からデバイス情報を取得するものであるため、他のデバイスのデバイス情報を容易に取得することができる。
【００８１】
続いて、カラー画像処理ボード４のＰＣＩコントローラ２６ａは、取得したデバイス情報に基づいて他のデバイスにアクセスし、そのデバイスとの間で通信準備を行う（Ｓ１４）。例えば、プリンタコントローラ用デバイス情報エリア５５から読み出したデバイスＩＤ、ユニット番号、及びサブコンフィグレーションエリアＰＣＩメモリ空間アドレスに基づいてプリンタコントローラ５のＲＡＭ２７ｂに設けられているサブコンフィグレーションエリア３７にアクセスする。そして、サブコンフィグレーションエリア３７内の自デバイス４専用の領域、すなわち、カラー画像処理ボード用エリア４８に、受信コマンドバージョン及びＴｘデバイスＩＤ（カラー画像処理ボード４のデバイスＩＤ）を書込む。
【００８２】
このように、カラー画像処理ボード４（第２スレーブデバイス）のＰＣＩコントローラ２６ａは、取得したそのデバイス情報に基づいてプリンタコントローラ５（第１スレーブデバイス）にアクセスし、プリンタコントローラ５との間で通信準備を行う。
【００８３】
ところで、プリンタコントローラ５は、自デバイス５と接続された他のデバイスが情報を書込むための領域が他のデバイス毎に設けられたＲＡＭ２７ｂ、言い換えれば、図４に示すようなサブコンフィグレーションエリア３７が設けられたＲＡＭ２７ｂを備えており、カラー画像処理ボード４のＰＣＩコントローラ２６ａは、プリンタコントローラ５のＲＡＭ２７ｂに設けられたカラー画像処理ボード４専用の領域（カラー画像処理ボード用エリア４８）に通信に必要な情報を書込み、デバイス情報エリア４６からコマンドエリアサイズやコマンドエリア０オフセット等の情報を読み出すことにより、通信準備を行う。
【００８４】
そして、カラー画像処理ボード４の制御部２５ａは、Ｓ１４の処理動作の後、通信準備が完了していないターゲットがあるか否かを判断する（Ｓ１５）。すなわち、Ｓ１３においてデバイス情報を取得した全てのデバイスに対して、プリンタコントローラ５を例に説明した上記Ｓ１４の処理動作を行ったか否かを判断する。そして、通信準備が完了していないターゲットのデバイスがあると判断した場合（Ｓ１５：ＹＥＳ）、そのターゲットのデバイスに対してＳ１４の処理動作を行う。逆に、通信準備が完了していないターゲットがないと判断した場合（Ｓ１５：ＮＯ）、処理を完了する。
【００８５】
なお、カラー画像処理ボード４を例にして説明した図８に示すフローチャートの処理動作は、プリンタコントローラ５、ネットワークボード６、そして、ＭＦＰコントローラ３によっても行われるようになっており、２つのデバイス間で、コマンドバージョン、ＴｘデバイスＩＤ等の通信に必要な情報を書込む処理と、コマンドエリアサイズやコマンドエリア０オフセット等の通信に必要な情報を読み出す処理とが相互に行われるようになっている。
【００８６】
具体的には、カラー画像処理ボード４のＰＣＩコントローラ２６ａがサブコンフィグレーションエリア３７のカラー画像処理ボード用エリア４８に通信に必要な情報を書込む処理及びデバイス情報エリア４６から通信に必要な情報を読み出す処理と並行して、プリンタコントローラ５のＰＣＩコントローラ２６ｂがカラー画像処理ボード４のＲＡＭ２７ａに設けられているサブコンフィグレーションエリアのプリンタコントローラ用エリアに通信に必要な情報を書込む処理及びデバイス情報エリアから通信に必要な情報を読み出す処理が行われるようになっている。
【００８７】
このように、２つのスレーブデバイス間で相互に通信に必要な情報の書込み及び読み出しを行って通信準備を行うことにより、ホストデバイス（ＭＦＰコントローラ３）を介することなく、スレーブデバイス同士が直接通信することが可能となる。
【００８８】
以下、ホストデバイス（ＭＦＰコントローラ３）を介することなく、スレーブデバイス同士が直接通信する場合の一例として、コマンド送信側のカラー画像処理ボード４からコマンド受信側のプリンタコントローラ５に対して、コマンドとともにデータサイズの小さいデータが転送される場合の通信について図９のシーケンス図及び図１０に基づいて説明する。
【００８９】
なお、図９に示すカラー画像処理ボード４の処理動作は、カラー画像処理ボード４が備える図外のＲＯＭに格納されているプログラムに基づいて制御部２５ａが発行する命令に従って行われ、プリンタコントローラ５の処理動作は、プリンタコントローラ５が備える図外のＲＯＭに格納されているプログラムに基づいて制御部２５ｂが発行する命令に従って行われる。
【００９０】
まず、コマンド送信側のカラー画像処理ボード４の制御部２５ａは、コマンド受信側のプリンタコントローラ５のカラー画像処理ボード用コマンドエリア４０のセマフォを獲得する。具体的には、ＲＡＭ２７ａの所定領域にカラー画像処理ボード用コマンドエリア４０の使用権を獲得するための情報を書込んでカラー画像処理ボード用コマンドエリア４０のヘッダエリア４３とデータエリア４４のセマフォを獲得する。
【００９１】
そして、制御部２５ａは、カラー画像処理ボード用コマンドエリア４０のヘッダエリア４３にヘッダタイプ及びコマンド（コマンドナンバー）を書込む。具体的には、ＰＣＩコントローラ２６ａにより、カラー画像処理ボード用コマンドエリア４０がコマンドにより使用中であることを示すヘッダタイプ、及びプリンタコントローラ５へ転送すべきデータの取扱いを示すコマンドをＰＣＩバス２を介してＰＣＩコントローラ２６ｂに送信する。これに対し、ＰＣＩコントローラ２６ｂは、受信したヘッダタイプ及びコマンドをローカルバス３１を介してカラー画像処理ボード用コマンドエリア４０のヘッダエリア４３に書込む。
【００９２】
このように、カラー画像処理ボード４が、ＰＣＩコントローラ２６ａによって、プリンタコントローラ５のＲＡＭ２７ｂに設けられたカラー画像処理ボード４専用のカラー画像処理ボード用コマンドエリア４０にコマンドを書込む。
【００９３】
続いて、制御部２５ａは、転送すべきデータをカラー画像処理ボード用コマンドエリア４０のデータエリア４４に書込む。具体的には、ＰＣＩコントローラ２６ａにより、転送すべきデータをＰＣＩバス２を介してＰＣＩコントローラ２６ｂに送信する。これに対し、ＰＣＩコントローラ２６ｂは、受信したデータをローカルバス３１を介してＲＡＭ２７ｂのカラー画像処理ボード用コマンドエリア４０のデータエリア４４に書込む。なお、ここでは、コマンド及び転送すべきデータをカラー画像処理ボード用コマンドエリア４０に書込んでいるが、コマンド以外のデータを転送する必要がない場合には、データエリア４４への書込みは不要である。
【００９４】
カラー画像処理ボード４の制御部２５ａは、このようにしてカラー画像処理ボード用コマンドエリア４０にコマンド及び転送すべきデータを書込むと、その旨をコマンド受信側のプリンタコントローラ５に通知するために、割込みを発生させる。具体的には、ＰＣＩコントローラ２６ａにより、プリンタコントローラ５に対して割込みを発生させるための割込み要因をＲＡＭ２７ｂのサブコンフィグレーションエリア３７内のカラー画像処理ボード用エリア４８に書込む。詳しくは、カラー画像処理ボード用エリア４８の割込み要因（ＲＥＱ）を「０」から「１」に書換える。そして、ＭＦＰコントローラ３が備える割込みコントロールレジスタ１２にプリンタコントローラ５への割込み要求を書込む。
【００９５】
このようにして、カラー画像処理ボード４からプリンタコントローラ５への割込み要求が割込みコントロールレジスタ１２にセットされると、割込みコントロールレジスタ１２から割込み信号線１８を介してプリンタコントローラ５の制御部２５ｂへ割込み信号が送信される。これを受けて、制御部２５ｂは、ローカルバス３１を介してＲＡＭ２７ｂのサブコンフィグレーションエリア３７から「１」が書込まれている割込み要因を検索し、カラー画像処理ボード用エリア４８の割込み要因（ＲＥＱ）として「１」がセットされていることを検出することにより、カラー画像処理ボード用コマンドエリア４０にコマンドが書込まれたことを判断することができる。
【００９６】
プリンタコントローラ５の制御部２５ｂは、カラー画像処理ボード用コマンドエリア４０のヘッダエリア４３からコマンドを読み出すとともに、データエリア４４からデータを読み出す。そして、データエリア４４から読み出したデータに対して、ヘッダエリア４３から読み出したコマンドに対応する処理を実行し、カラー画像処理ボード用コマンドエリア４０からコマンド及びデータを読み出したことをコマンド送信側のカラー画像処理ボード４に通知するために、カラー画像処理ボード４に対して割込みを発生させる。なお、この割込みは、上記のカラー画像処理ボード４からプリンタコントローラ５への割込みと割込みの方向が逆となり、割込み要因が異なる点を除いてカラー画像処理ボード４からプリンタコントローラ５への割込みと同様に行われるため、ここでの詳細な説明は省略する。
【００９７】
カラー画像処理ボード４の制御部２５ａは、プリンタコントローラ５からの割込みを受けると、カラー画像処理ボード用コマンドエリア４０に書込んだコマンド及びデータがプリンタコントローラ５の制御部２５ｂによって読み出されて不要になったと判断する。そして、ヘッダエリア４３に、カラー画像処理ボード用コマンドエリア４０が未使用であることを示すヘッダタイプを書込み、ＲＡＭ２７ａの所定領域にカラー画像処理ボード用コマンドエリア４０の使用権を返却するための情報を書込んでカラー画像処理ボード用コマンドエリア４０のヘッダエリア４３とデータエリア４４のセマフォを返却して通信を完了する。
【００９８】
このように、本実施形態に係る通信システム１では、スレーブデバイスが他のスレーブデバイスを容易に認識してスレーブデバイス同士が直接通信を行うことができる。そのため、例えば、データサイズの大きいカラー画像データをスレーブデバイス間で転送する場合に、ホストデバイス３を介することなく、効率よくカラー画像データを転送することができる。
【００９９】
また、本実施の形態で示した通信システム１の構成は、本発明に係る通信システムの一態様にすぎず、本発明の要旨を逸脱しない範囲内で適宜設計変更できることは勿論であり、ホストデバイスと複数のスレーブデバイスとからなる通信システムであれば、本実施形態において説明した複合機の他に、複写機、ファクシミリ装置等としても実現可能である。
【産業上の利用可能性】
【０１００】
本発明は、例えば、ホストデバイスと複数のスレーブデバイスとが入出力バスによって接続された通信システムに適用可能である。
【図面の簡単な説明】
【０１０１】
【図１】本発明の実施形態に係る通信システムの構成例を示したブロック図である。
【図２】ＭＦＰコントローラが備えるＲＡＭの構成を概略的に示した図である。
【図３】コマンドエリアについて説明するための図である。
【図４】サブコンフィグレーションエリアの構成を示した図である。
【図５】ユニット管理エリアの構成を示した図である。
【図６】システム起動時に、ホストデバイスにおいて行われる処理動作を示したフローチャートである。
【図７】スレーブデバイスが他のスレーブデバイスのデバイス情報をホストデバイスから取得する処理について説明するための図である。
【図８】コンフィグレーションの完了通知を受けた場合に、スレーブデバイスにおいて行われる処理動作を示したフローチャートである。
【図９】コマンド送信側からコマンド受信側にコマンド及びデータサイズの小さいデータを送信し、コマンド受信側が受信したデータに対してコマンドに対応する処理を行う場合に、両デバイスにおいて行われる処理動作を示したシーケンス図である。
【図１０】コマンド送信側からコマンド受信側へコマンドとともにデータサイズの小さいデータが転送される通信について説明するための図である。
【符号の説明】
【０１０２】
１    通信システム
２    ＰＣＩバス（入出力バス）
３    ＭＦＰコントローラ（ホストデバイス）
４    カラー画像処理ボード（スレーブデバイス）
５    プリンタコントローラ（スレーブデバイス）
６    ネットワークボード（スレーブデバイス）
１０、２５ａ、２５ｂ、２５ｃ    制御部
１３、２７ａ、２７ｂ、２７ｃ    ＲＡＭ
２１、３７    サブコンフィグレーションエリア
２２、３８    コマンドエリア
２３    ユニット管理エリア
２６ａ、２６ｂ、２６ｃ    ＰＣＩコントローラ
４６    デバイス情報エリア
４７    ＭＦＰコントローラ用エリア
４８    カラー画像処理ボード用エリア
４９    ネットワークボード用エリア
５２    ユニット管理情報エリア
５３    ＭＦＰコントローラ用デバイス情報エリア
５４    カラー画像処理ボード用デバイス情報エリア
５５    プリンタコントローラ用デバイス情報エリア
５６    ネットワークボード用デバイス情報エリア
６０    コンフィグレーションレジスタ
【図１】
2006338232.tif 000003
【図２】
2006338232.tif 000004
【図３】
2006338232.tif 000005
【図４】
2006338232.tif 000006
【図５】
2006338232.tif 000007
【図６】
2006338232.tif 000008
【図７】
2006338232.tif 000009
【図８】
2006338232.tif 000010
【図９】
2006338232.tif 000011
【図１０】
2006338232.tif 000012