(57)【要約】【課題】マスタチップから複数のスレーブチップに対するレジスタ設定等のアクセスを容易に行うことができるデータ転送装置を提供する。【解決手段】マスタチップおよび複数のスレーブチップをリング状に接続し、マスタチップからのシリアルデータを、リングを通って複数のスレーブチップに順次転送し、再びマスタチップに戻るようにする。このリングを基本リングと拡張リングに分け、拡張リングに接続されるスレーブチップにも、シリアルデータを転送する。また、リングに番号を付与し、分岐した拡張リングを管理する。【選択図】図１２
2007104539.tif 000002
【特許請求の範囲】
【請求項１】
シリアルデータおよびシリアルデータ転送用の同期クロックを送信するマスタチップと、
前記マスタチップとともにリングに接続され、前記マスタチップからのシリアルデータを前記同期クロックに従って受け取る複数のスレーブチップとを備え、
前記スレーブチップは、前記受け取ったマスタチップからのシリアルデータを前記リングに接続された次のスレーブチップに転送することを特徴とするデータ転送装置。
【請求項２】
前記リングに接続された最後尾でないスレーブチップは、前記シリアルデータを受け取ると、次のスレーブチップに前記シリアルデータを転送し、
前記リングに接続された最後尾のスレーブチップは、前記シリアルデータを前記マスタチップに戻すことを特徴とする請求項１記載のデータ転送装置。
【請求項３】
前記マスタチップからのシリアルデータは、前記リングに接続された複数のスレーブチップのコンフィグレーション、前記スレーブチップ内のレジスタのライト、リード、リセット等のトランザクションを含み、
前記スレーブチップは、前記シリアルデータを受け取ると、当該シリアルデータに含まれるトランザクションを解析し、
前記シリアルデータを前記マスタチップに戻すことで、前記トランザクションが終了することを特徴とする請求項２記載のデータ転送装置。
【請求項４】
前記リングは、前記マスタチップおよび前記複数のスレーブチップが接続された基本リング、および特定の前記スレーブチップである分岐スレーブチップが接続された拡張リングから構成されることを特徴とする請求項１記載のデータ転送装置。
【請求項５】
前記分岐スレーブチップは、前記シリアルデータを、前記拡張リングに接続された拡張スレーブチップに転送し、前記拡張リングに接続された最後尾でない拡張スレーブチップは、次の拡張スレーブチップに前記シリアルデータを転送し、前記拡張リングに接続された最後尾の拡張スレーブチップは、前記シリアルデータを前記分岐スレーブチップに戻し、
前記分岐スレーブチップは、前記戻されたシリアルデータを、前記基本リングに接続された次のスレーブチップあるいは前記マスタチップに転送することを特徴とする請求項４記載のデータ転送装置。
【請求項６】
前記拡張リングにリング番号を付与し、前記リング番号を前記シリアルデータに含めることを特徴とする請求項４または５記載のデータ転送装置。
【請求項７】
前記トランザクションは、コマンド部およびデータ部を有することを特徴とする請求項３記載のデータ転送装置。
【請求項８】
前記コマンド部には、前記トランザクションの種類を判断するための第１の識別子、前記コマンド部であるか前記データ部であるかを判断するための第２の識別子、前記データ部のデータ幅を判断するための第３の識別子、レジスタのアドレス情報、リング番号、およびスレーブチップを判断するチップ識別情報が含まれることを特徴とする請求項７記載のデータ転送装置。
【請求項９】
前記データ部には、前記トランザクションの種類を判断するための第１の識別子、前記コマンド部であるか前記データ部であるかを判断するための第２の識別子、前記データ部のデータ幅を判断するための第３の識別子、およびレジスタのアドレス情報が含まれることを特徴とする請求項７記載のデータ転送装置。
【請求項１０】
前記スレーブチップは、前記トランザクションのコマンド部を受け取ると、前記第１の識別子、前記第２の識別子、前記第３の識別子、レジスタのアドレス情報、リング番号、およびスレーブチップを判断するためのチップ識別情報を判定し、該当するトランザクションのみ処理することを特徴とする請求項８記載のデータ転送装置。
【請求項１１】
前記スレーブチップは、前記トランザクションが前記スレーブチップ内のレジスタにデータを書き込むためのライトのトランザクションである場合、前記トランザクションの受け取りと並行して、前記トランザクションを次のスレーブチップに転送することを特徴とする請求項３記載のデータ転送装置。
【請求項１２】
前記マスタチップは、前記スレーブチップに発行した前記ライトのトランザクションが戻ってくる前に、次のトランザクションを発行可能であることを特徴とする請求項１１記載のデータ転送装置。
【請求項１３】
前記スレーブチップは、前記トランザクションが前記スレーブチップ内のレジスタのデータを読み取るためのリードのトランザクションである場合、前記トランザクションの受け取りと並行して、前記トランザクションのコマンド部を次のスレーブチップに転送し、前記リードのトランザクションが該当する場合、前記レジスタのデータを読み取り、前記トランザクションのデータ部として次のスレーブチップに転送し、
前記マスタチップは、前記リードのトランザクションのデータ部を受け取ると、前記リードのトランザクションが終了したと判断することを特徴とする請求項３記載のデータ転送装置。
【請求項１４】
前記マスタチップは、前記リードのトランザクションの終了を判断するまで、次のトランザクションを発行しないことを特徴とする請求項１３記載のデータ転送装置。
【請求項１５】
前記マスタチップは、コンフィグレーションのトランザクションを発行し、前記リングおよび前記スレーブチップにそれぞれ識別可能なリング番号およびチップ番号を付与し、  前記トランザクションのコマンド部に付加することを特徴とする請求項７記載のデータ転送装置。
【請求項１６】
前記マスタチップは、前記スレーブチップに対し、前記コンフィグレーションのトランザクションを複数回発行可能であることを特徴とする請求項１５記載のデータ転送装置。
【請求項１７】
前記トランザクションは、一定のデータ幅を有し、
前記マスタチップおよび前記スレーブチップは、前記データ幅の単位で前記トランザクションを管理することで、有効なトランザクションが転送されているか否かを判断することを特徴とする請求項３記載のデータ転送装置。
【請求項１８】
前記マスタチップはコンフィグレーションのトランザクションを発行し、
前記分岐スレーブチップは、前記コンフィグレーションのトランザクションを含むシリアルデータを前記拡張リングに接続された拡張スレーブチップに転送することを特徴とする請求項５記載のデータ転送装置。
【請求項１９】
マスタチップおよび複数のスレーブチップが接続されたリングを通じてシリアルデータを転送するデータ転送方法であって、
前記マスタチップは、同期クロックに従って、シリアルデータを前記リングを通って前記スレーブチップに転送するステップと、
前記スレーブチップは、前記リングを通って転送されるシリアルデータを前記同期クロックに従って、前記マスタチップまたは前記リングに接続された１つ前のスレーブチップから受け取り、前記受け取ったシリアルデータを前記リングに接続された次のスレーブチップに転送するステップとを有することを特徴とするデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のチップ間でデータ転送を行うデータ転送装置およびデータ転送方法に関する。
【背景技術】
【０００２】
従来、複数のチップ間でレジスタの設定を行う場合、マスタのチップから全てのスレーブのチップに対し、レジスタ設定用として、アドレスバス、ライト用のデータバス、リード用のデータバス、信号線がそれぞれ接続されていた（例えば、特許文献１参照）。これらのバス、チップセレクト信号やリセット信号等の信号線は、チップが組み込まれる基板上で全て接続される。
【０００３】
そして、アドレスバス、ライト用のデータバス、リード用のデータバス、およびチップセレクト信号、リセット信号等の信号線は、マスタのチップに接続されるスレーブのチップの個数に比例して増加する。また、各チップには、レジスタ設定用として、入出力ピン、リセットピンが必要であり、これらのピン数の増加も生じる。
【０００４】
また、シリアルでデータを転送する場合、マスタのチップとスレーブのチップとを１対１に接続して、データ転送を行わなければならない。このとき、レジスタのライトやリードを行うために、マスタのチップからスレーブのチップの方向にデータが転送される信号線と、スレーブのチップからマスタのチップの方向にデータが転送される信号線の少なくとも２本の信号線が必要となる。
【０００５】
さらに、１つのマスタのチップから全てのスレーブのチップに直接データを転送する場合、マスタのチップから各スレーブのチップ方向に転送される信号線と、各スレーブのチップからマスタのチップ方向に転送される信号線とからなる１対の信号線がスレーブのチップ個数分必要となる。そして、マスタのチップは、各スレーブのチップに対するデータ転送を制御する。このようなデータ転送装置として、例えば特許文献１に記載のものが知られている。
【特許文献１】特開２０００−１４２７３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来のデータ転送装置では、以下に掲げる問題があった。これらのレジスタ設定用の信号の多くは、チップの処理動作前の初期設定を行う際に使用されたり、チップの処理動作途中で設定を行う際に使用される程度であり、データ処理に比べ、頻繁に通信される必要がない。また、レジスタ設定の処理速度も低速で十分であるので、チップ間でレジスタ設定を行う際、レジスタ設定用の信号をバスデータではなくシリアルデータで通信することも可能である。しかし、この程度の処理速度の要求であっても、バスの信号線を使ってチップ間を接続し、その結果、配線を増加させ、複雑化させている場合が多い。従来では、配線性を考慮し、配線数を極力少なくすることで、システム全体の配線の低減や設計容易化に繋がる対策が施されていなかった。
【０００７】
また、マスタのチップからスレーブのチップにシリアルデータを転送する場合、データ転送の関係は１対１であるので、１個のマスタのチップからデータを転送できるスレーブのチップは１個だけであった。スレーブのチップが多く存在する場合、マスタのチップによる制御の負担が重くなっていた。
【０００８】
また、シリアルデータを転送する際、１個のマスタのチップから複数のスレーブのチップにデータを転送する場合、対象となるスレーブのチップを識別するためのチップセレクト信号を別に用意する必要があった。そして、アクセス時にそのチップセレクト信号を有効（アサート）にする必要があった。このチップセレクト信号は、スレーブのチップ個数分だけ必要であり、信号線の増加に繋がっていた。
【０００９】
また、シリアルの信号線が長くなると、その分だけ外来のノイズを受けることになり、転送データの品質が悪くなるばかりでなく、１回の転送時間が非常に長くなる。１本のシリアルの信号線に複数のスレーブのチップが接続された場合、不必要なスレーブのチップにまでシリアルのデータ転送が送られることになる。スレーブのチップ個数が多くなるほど、１回の転送時間が長くかかることになる。
【００１０】
そこで、本発明は、マスタチップから複数のスレーブチップに対するレジスタ設定等のアクセスを容易に行うことができ、しかもチップ間で接続される信号線の配線数を著しく減らすことができるデータ転送装置およびデータ転送方法を提供することを目的とする。また、本発明は、マスタのチップによる制御の負担を軽減できるデータ転送装置およびデータ転送方法を提供することを他の目的とする。また、本発明は、データ転送にかかる１回の転送時間を抑えることができるデータ転送装置およびデータ転送方法を提供することを他の目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明のデータ転送装置は、シリアルデータおよびシリアルデータ転送用の同期クロックを送信するマスタチップと、前記マスタチップとともにリングに接続され、前記マスタチップからのシリアルデータを前記同期クロックに従って受け取る複数のスレーブチップとを備え、前記スレーブチップは、前記受け取ったマスタチップからのシリアルデータを前記リングに接続された次のスレーブチップに転送することを特徴とする。
【００１２】
本発明のデータ転送方法は、マスタチップおよび複数のスレーブチップが接続されたリングを通じてシリアルデータを転送するデータ転送方法であって、前記マスタチップは、同期クロックに従って、シリアルデータを前記リングを通って前記スレーブチップに転送するステップと、前記スレーブチップは、前記リングを通って転送されるシリアルデータを前記同期クロックに従って、前記マスタチップまたは前記リングに接続された１つ前のスレーブチップから受け取り、前記受け取ったシリアルデータを前記リングに接続された次のスレーブチップに転送するステップとを有することを特徴とする。
【発明の効果】
【００１３】
本発明の請求項１に係るデータ転送装置によれば、スレーブチップは、受け取ったマスタチップからのシリアルデータをリングに接続された次のスレーブチップに転送する。これにより、マスタチップから複数のスレーブチップに対するレジスタ設定等のアクセスを容易に行うことができ、しかもチップ間で接続される信号線の配線数を著しく減らすことができる。また、マスタチップによる制御の負担を軽減できる。さらに、データ転送にかかる１回の転送時間を抑えることができる。
【００１４】
請求項３に係るデータ転送装置によれば、マスタチップから各スレーブチップに対してコンフィグレーション、レジスタのリード、ライト、リセットを制御することができる。請求項４に係るデータ転送装置によれば、拡張リングを形成することで、マスタチップからデータ転送可能なスレーブチップを増やすことができる。請求項５に係るデータ転送装置によれば、マスタチップは拡張リングに接続された全てのスレーブチップを管理することができる。また、基本リングに流れるシリアルデータを分岐スレーブチップを介して拡張リングにも転送することができる。請求項６に係るデータ転送装置によれば、リング番号によって、マスタチップは、接続されている多重のリングを管理でき、必要な拡張リングのみにシリアルデータを転送することができる。また、必要なリングにのみシリアルデータが転送されるので、転送レートを上げることができる。
【００１５】
請求項１１に係るデータ転送装置によれば、特定のスレーブチップ内のレジスタのみ書き込むことができる。請求項１８に係るデータ転送装置によれば、分岐スレーブチップ内で受信したコンフィグレーションのトランザクションを参照することによって、拡張リングに接続されているスレーブチップを管理することができる。
【発明を実施するための最良の形態】
【００１６】
本発明のデータ転送装置およびデータ転送方法の実施の形態について図面を参照しながら説明する。本実施形態のデータ転送装置は、ネットワークシステムに適用される。
【００１７】
（ネットワークシステム全体）
図１は実施の形態におけるネットワークシステムの構成を示す図である。ローカルエリアネットワーク（ＬＡＮ）１１０には、データベースサーバ１０２、データベースクライアント１０３、電子メールサーバ１０４、電子メールクライアント１０５、ＷＷＷサーバ１０６、ＤＮＳサーバ１０７、画像入出力システム１００等が接続されている。画像入出力システム１００は、後述するように、主にリーダ部２００およびプリンタ部３００から構成されている（図２参照）。
【００１８】
また、ＬＡＮ１１０には、ルータ１１１が設けられており、ＬＡＮ１１０はルータ１１１を介してインタネット／イントラネット１１２と連結する。インタネット／イントラネット１１２には、データベースサーバ１２１、ＷＷＷサーバ１２２、電子メールサーバ１２３、画像入出力システム１４０等が接続されている。尚、画像入出力システム１４０は画像入出力システム１００と同様の構成を有する。
【００１９】
このネットワークシステムでは、複数のサーバからプリントジョブを実行すると、ＬＡＮ１１０を介して画像入出力システム１００にプリントジョブおよび画像データが送られ、プリンタ部３００からプリントアウトが行われる。また、リーダ部２００から読み込まれた画像データをＬＡＮ１１０上に供給することも可能である。また、リーダ部２００から読み込まれた画像データを、ＰＳＴＮまたはＩＳＤＮ１３０を介して送信したり、ＰＳＴＮまたはＩＳＤＮ１３０を介して受信した画像データをプリンタ部３００からプリントアウトすることも可能である。データベースサーバ１０２は、画像入出力システム１００によって読み込まれた２値画像および多値画像データをデータベースとして管理する。
【００２０】
図２は画像入出力システム１００の概略的構成を示す図である。リーダ部２００は、原稿画像を光学的に読み取り、画像データに変換する。リーダ部２００は、原稿を読み取るスキャナユニット２１０、および原稿用紙を搬送する原稿給紙ユニット２５０から構成される。プリンタ部３００は、記録紙を搬送し、その上に画像データを可視画像として印字して機外に排紙する。また、プリンタ部３００は、複数種類の記録紙カセットを有する給紙ユニット３６０、画像データを記録紙に転写・定着させる機能を有するマーキングユニット３１０、および排紙ユニット３７０から構成される。排紙ユニット３７０は、印字された記録紙にソートやステイプル等の後処理を施して機外に出力する機能を有する。
【００２１】
コントローラユニット１５０は、リーダ部２００およびプリンタ部３００と電気的に接続され、さらにＬＡＮ１１０、ＰＳＴＮまたはＩＳＤＮ１３０、インタネット／イントラネット１１２等のネットワークと接続されている。コントローラユニット１５０は、リーダ部２００を制御し、原稿の画像データを読み込む。また、コントローラユニット１５０は、プリンタ部３００を制御し、プリントデータおよび画像データを記録紙に出力するコピー機能を有する。また、コントローラユニット１５０は、近距離無線通信のインタフェースからの制御信号を受けて、ＬＡＮ１１０からのプリントジョブの実行を行い、プリンタ部３００を制御し、プリントデータおよび画像データを記録紙に出力するプリンタ機能を有する。また、コントローラユニット１５０は、ネットワークを介して受信したコードデータを画像データに変換し、プリンタ部３００に出力するプリンタ機能を有する。また、コントローラユニット１５０は、リーダ部２００から読み取った画像データをコードデータに変換し、ＬＡＮ１１０を介してＰＣに送信するスキャナ機能を有する。
【００２２】
操作部１６０は、液晶タッチパネルで構成されており、コントローラユニット１５０と電気的に接続され、画像入出力システム１００を操作するためのユーザインタフェースを提供する。
【００２３】
図３はリーダ部２００およびプリンタ部３００の内部構成を示す図である。リーダ部２００内の原稿給送ユニット２５０は、原稿を先頭順に１枚ずつプラテンガラス２１１上に給送し、原稿の読み取り動作を終了した後、プラテンガラス２１１上の原稿を排出する。
【００２４】
原稿がプラテンガラス２１１上に搬送されると、ランプ２１２を点灯し、そして光学ユニット２１３の移動を開始させ、原稿を露光・走査する。原稿からの反射光は、ミラー２１４、２１５、２１６およびレンズ２１７によってＣＣＤイメージセンサ（以下、ＣＣＤという）２１８に導かれる。そして、走査された原稿の画像は、ＣＣＤ２１８によって読み取られる。
【００２５】
リーダ画像処理部２２２は、ＣＣＤ２１８から出力される画像データに所定の処理を施し、コントローラユニット１５０に出力する。プリンタ画像処理部３５２は、コントローラユニット１５０から送られる画像信号をレーザードライバ３１７に出力する。レーザドライバ３１７は、レーザ発光部３１３、３１４、３１５、３１６を駆動し、プリンタ画像処理部３５２から出力された画像データに応じたレーザ光を発光させる。
【００２６】
このレーザ光は、ミラー３４０、３４１、３４２、３４３、３４４、３４５、３４６、３４７、３４８、３４９、３５０、３５１によって、感光ドラム３２５、３２６、３２７、３２８に照射される。この結果、感光ドラム３２５、３２６、３２７、３２８には、レーザ光に応じた潜像が形成される。現像器３２１、３２２、３２３、３２４は、それぞれブラック（Ｂｋ）、イエロー（Ｙ）、シアン（Ｃ）、マゼンダ（Ｍ）のトナーによって、潜像を現像する。現像された各色のトナーは、用紙に転写され、フルカラーのプリントアウトがなされる。
【００２７】
用紙カセット３６０、３６１および手差しトレイ３６２のいずれかから、レーザ光の照射開始と同期したタイミングで給紙された用紙は、レジストローラ３３３を経て、転写ベルト３３４上に吸着され、搬送される。そして、感光ドラム３２５、３２６、３２７、３２８に付着された現像剤を記録紙に転写する。現像剤が転写された記録紙は定着部３３５に搬送され、定着部３３５の熱と圧力により現像剤は記像紙に定着される。定着部３３５を通過した記録紙は、排出ローラ３３６によって排紙ユニット３７０に排出される。排紙ユニット３７０は、排出された記録紙を束ねて記録紙を仕分けしたり、仕分けされた記録紙のステイプルを行う。
【００２８】
また、両面記録が設定されている場合、排出ローラ３３６まで記録紙を搬送した後、排出ローラ３３６の回転方向を逆転させ、フラッパ３３７によって再給紙搬送路３３８に導く。再給紙搬送路３３８に導かれた記録紙は、前述したタイミングで転写ベルト３３４に給紙される。
【００２９】
（リーダ画像処理部）
図４はリーダ画像処理部２２２の構成を示すブロック図である。リーダ画像処理部２２２は、クランプ＆Ａｍｐ．＆Ｓ／Ｈ＆Ａ／Ｄ部４０１およびシェーディング部４０２から構成される。リーダ画像処理部２２２では、プラテンガラス２１１上の原稿は、ＣＣＤ２１８に読み取られて電気信号に変換される。ＣＣＤ２１８は、カラーセンサの場合、ＲＧＢのカラーフィルタを１ラインＣＣＤ上にＲＧＢ順にインラインに載せたものでよい。また、３ラインＣＣＤからなり、各ＣＣＤにＲフィルタ、Ｇフィルタ、Ｂフィルタをそれぞれ並べたものでもよい。さらに、フィルタをオンチップ化、あるいはフィルタをＣＣＤと別の構成にしたものでもよい。
【００３０】
ＣＣＤ２１８からのアナログ画像信号は、リーダ画像処理部２２２に入力されると、クランプ＆Ａｍｐ．＆Ｓ／Ｈ＆Ａ／Ｄ部４０１でサンプルホールド（Ｓ／Ｈ）される。そして、アナログ画像信号のダークレベルは基準電位にクランプされる。また、アナログ画像信号は、所定量に増幅された後、Ａ／Ｄ変換される。例えば、ＲＧＢ各８ビットのデジタル信号に変換される。この後、ＲＧＢ信号は、シェーディング部４０２で、シェーディング補正および黒補正が施された後、コントローラユニット１５０に出力される。
【００３１】
（コントローラユニット）
図５はシステム制御部２１５０のハードウェア構成を示す図である。図６はコントローラユニット１５０に形成される基本リングおよび拡張リングを示す図である。コントローラユニット１５０は、システム制御部２１５０、プリンタ画像処理部３５２、画像処理部３５３、リーダ画像処理部３５４等を有する。
【００３２】
システム制御部２１５０は、コントローラユニット１５０全体を制御するものであり、１つのチップからなる。プリンタ画像処理部３５２、画像処理部３５３およびリーダ画像処理部３５４は、それぞれ別々のチップからなり、システム制御部２１５０と接続され、画像データおよび制御信号を送受信してデータの処理を行う。
【００３３】
システム制御部２１５０、プリンタ画像処理部３５２、画像処理部３５３およびリーダ画像処理部３５４は、それぞれレジスタ設定用として、１ビットのシリアルデータの送受信機能およびチップのポートを有する。このチップのポートは、シリアルデータ受信用のポート５１０、シリアルデータ受信用の同期用のクロックポート５１１、シリアルデータ送信用のポート５１２、およびシリアルデータ送信用の同期用のクロックポート５１３からなる。
【００３４】
システム制御部２１５０、プリンタ画像処理部３５２、画像処理部３５３およびリーダ画像処理部３５４の各シリアルデータ用のポートは、１本の信号線によってリング状に接続されている。シリアルデータ用の信号線５００および同期用のクロック信号線５０１は、それぞれペアとなって各チップ間に接続されている。これらの各チップ間に接続された信号線５００、５０１のリングが基本リングに相当する。
【００３５】
システム制御部２１５０は、シリアルデータの転送において、マスタのチップである。一方、プリンタ画像処理部３５２、画像処理部３５３およびリーダ画像処理部３５４は、シリアルデータの転送において、全てスレーブのチップである。
【００３６】
メモリ３５６、３５７、３５８は、プリンタ部３００内のプリンタ用ドラムにおける画像データの遅延量を制御するためのメモリであり、各色成分ＹＭＣＫ毎のメモリを有し、各色成分毎の画像データを数ページ分保持することができる。ここでは、ＳＤＲＡＭが使用される。メモリ３５６、３５７、３５８は、プリンタ画像処理部３５２に対し、１本の信号線によってリング状に接続されている。シリアルデータ用の信号線５００および同期用のクロック信号線５０１は、それぞれペアとなって、各メモリ間に接続されている。この各メモリ間に接続された信号線のリングが拡張リングに相当する。この場合、プリンタ画像処理部３５２は分岐スレーブのチップに相当する。
【００３７】
同様に、メモリ３５９は、リーダ画像処理部３５４における画像データ格納用のメモリである。ここでは、ＳＤＲＡＭが使用される。メモリ３５９は、リーダ画像処理部３５４に対し、１本の信号線によってリング状に接続されている。シリアルデータ用の信号線５００および同期用のクロック信号線５０１は、それぞれペアとなって、各メモリ間に接続されている。この各メモリ間に接続された信号線のリングは拡張リングに相当する。この場合、リーダ画像処理部３００は分岐スレーブのチップに相当する。
【００３８】
システム制御部２１５０内のマスタインタフェース２１４７およびスレーブインタフェース２１４８は、プリンタ画像処理部３５２、画像処理部３５３およびリーダ画像処理部３５４とシリアルデータの送受信を行うためのインタフェースである。マスタインタフェース２１４７は、シリアルデータ用の信号線５００およ同期用のクロック信号線５０１を介してプリンタ画像処理部３５２と接続されるとともに、システムバスブリッジ２００７にも接続されている。一方、スレーブインタフェース２１４８は、シリアルデータ用の信号線５００および同期用のクロック信号線５０１を介してリーダ画像処理部３５４と接続されるとともに、システムバスブリッジ２００７にも接続されている。
【００３９】
画像処理部３５３は、プリンタおよびリーダ用の画像処理を行う画像処理ブロックである。
【００４０】
コントローラユニット１５０は、画像入力装置であるリーダ部２００、リーダ画像処理部２２２、および画像出力デバイスであるプリンタ部３００と接続される。その一方で、ＬＡＮ１１０や公衆回線、ＷＡＮ等のネットワークに接続され、画像情報やデバイス情報の入出力やＰＤＬデータのイメージ展開を行う。システム制御部２１５０内のＣＰＵ２００１は、システム全体を制御するプロセッサである。ＣＰＵ２００１は、ＣＰＵバス２１２６に接続され、さらに、システムバスブリッジ２００７に接続される。
【００４１】
操作部インタフェース２００６は、操作部１６０とのインタフェース部であり、操作部１６０で表示される画像データを操作部１６０に出力する。ＣＰＵ２００１によって処理されるデータを格納するためのメモリとして、ＲＡＭ２００２、ＲＯＭ２００３が用意されており、それぞれＲＡＭコントローラ２１２４、ＲＯＭコントローラ２１２５によってアクセス制御される。
【００４２】
外部記憶装置としてのハードディスクドライブ（ＨＤＤ）２００４は、システムソフトウェア、プリントのジョブの情報、画像データ等を格納する。ＨＤＤ２００４へのアクセスは、汎用バスインタフェース２１４２に接続されたＰＣＩバス２１４３を介してディスクコントローラ２１４４によって行われる。ＬＡＮコントローラ２０１０は、ＭＡＣ回路２１４５、ＰＨＹ／ＰＭＤ回路２１４６を介してＬＡＮ１１０に接続され、情報の入出力を行う。
【００４３】
（チップ間のシリアルデータ転送の構成）
上記構成を有するデータ転送装置の動作を示す。ここでは、マスタのチップと各スレーブのチップを接続しているリングが多重リングを形成している場合、マスタのチップから発行されるトランザクションの中にリングを管理するリング番号の情報を入れる。このリング番号により拡張したリングに対してもトランザクションを行う。
【００４４】
具体的に、シリアルデータ用の信号線５００は、システム制御部２１５０、プリンタ画像処理部３５２、画像処理部３５３およびリーダ画像処理部３５４間を接続する基本リングとして機能する。コントローラユニット１５０は、シリアルデータ用の信号線５００および同期用のクロック信号線５０１を用いて、シリアルデータの転送を行う（図６参照）。さらに、分岐スレーブであるプリンタ画像処理部３５２およびリーダ画像処理部３５４は、それぞれの拡張リングを介して、メモリ３５６、３５７、３５８およびメモリ３５９にシリアルデータの転送を行う。
【００４５】
図７はマスタチップおよびスレーブチップ間でシリアルデータの転送を行う際に各チップ内に設けられるインタフェースを示す図である。システム制御部２１５０は、プリンタ画像処理部３５２、画像処理部３５３、リーダ画像処理部３５４、メモリ３５６、３５７、３５８、３５９に対し、基本リングおよび拡張リングを用いて、各チップ内部のレジスタのリードおよびライトアクセスを行う。
【００４６】
システム制御部２１５０内のマスタインタフェース２１４７から送信されるシリアルデータは、シリアルデータ用の信号線５００を通る。また、クロック信号線５０１のクロックに同期したタイミングで、プリンタ画像処理部３５２内の第１のスレーブインタフェース５３０に送られる。
【００４７】
プリンタ画像処理部３５２内の第１のスレーブインタフェース５３０は、受信したシリアルデータのリング番号を参照し、リング番号がメモリ３５６、３５７、３５８に対する拡張リングである場合、拡張リングにシリアルデータを送信する。そして、拡張リングを経由したシリアルデータは、プリンタ画像処理部３５２内の第１のマスタインタフェース５３１に戻ってくる。この後、このシリアルデータは、第１のマスタインタフェース５３１からシリアルデータ用の信号線５００を通り、クロック信号線５０１のクロックに同期したタイミングで、画像処理部３５３内の第２のスレーブインタフェース５３２に送られる。
【００４８】
一方、プリンタ画像処理部３５２内の第１のスレーブインタフェース５３０は、リング番号が拡張リングでない場合、システム制御部２１５０内のマスタインタフェース２１４７から受信したシリアルデータを、第１のマスタインタフェース５３１から画像処理部３５３内の第２のスレーブインタフェース５３２に送る。
【００４９】
プリンタ画像処理部の場合と同様に、シリアルデータは、画像処理部３５３内の第２のスレーブインタフェース５３２で受信される。この後、画像処理部３５３内の第２のマスタインタフェース５３３からシリアルデータ用の信号線５００を通り、クロック信号線５０１のクロックに同期したタイミングで、リーダ画像処理部３５４内の第３のスレーブインタフェース５３４に送られる。
【００５０】
プリンタ画像処理部、画像処理部の場合と同様に、シリアルデータは、リーダ画像処理部３５４内の第３のスレーブインタフェース５３４で受信される。この後、リーダ画像処理部３５４内の第３のスレーブインタフェース５３４は、シリアルデータのリング番号を参照し、リング番号がメモリ３５９に対する拡張リングである場合、拡張リングにシリアルデータを送信する。拡張リングを通ったシリアルデータは、リーダ画像処理部３５４内の第３のマスタインタフェース５３５に戻ってくる。そして、このシリアルデータは、第３のマスタインタフェース５３５から、シリアルデータ用の信号線５００を通り、クロック信号線５０１のクロックに同期したタイミングで、システム制御部２１５０内のスレーブインタフェース２１４８に送られる。
【００５１】
一方、リーダ画像処理部３５４内の第３のスレーブインタフェース５３４は、リング番号が拡張リングでない場合、第２のマスタインタフェース５３３から受信したシリアルデータを、第３のマスタインタフェース５３５からシステム制御部２１５０内のスレーブインタフェース２１４８に送る。
【００５２】
ここで、第１のスレーブインタフェース５３０および第１のマスタインタフェース５３１は、プリンタ画像処理部３５２内の内部バス５４０に接続されており、送受信されるシリアルデータを内部バスに展開する。同様に、画像処理部３５３内の第２のスレーブインタフェース５３２および第２のマスタインタフェース５３３は、画像処理部３５３内の内部バス５４１に接続されており、送受信されるシリアルデータを内部バスに展開する。同様に、リーダ画像処理部３５４内の第３のスレーブインタフェース５３４および第３のマスタインタフェース５３５は、リーダ画像処理部３５４内の内部バス５４２に接続されており、送受信されるシリアルデータを内部バスに展開する。
【００５３】
また、内部バス５４０、５４１、５４２は、各チップ内部のレジスタに対するリードおよびライトアクセス用のバスであり、この内部バスを介して、チップ内部のレジスタのアクセスが行われる。同様に、メモリ３５６、３５７、３５８、３５９もそれぞれ内部バスを有しており、メモリチップ内のデータアクセスが行われる。
【００５４】
（シリアルデータ、トランザクションの形式）
シリアルデータおよびトランザクション形式の概略を示す。ここでは、マスタチップおよびスレーブチップは、転送されるシリアルデータを全て数ビット単位で１つのトランザクションとして扱い、このトランザクション単位でシリアルデータが有効であるか否かを判断する。トランザクション単位でシリアルデータを転送する際、有効なトランザクションのデータの開始点を判別する。そのために、トランザクション単位の最初の１ビットだけをスタートビットとして常にハイレベル（Ｈ）状態にし、無効なトランザクションの間、常にローレベル（Ｌ）状態にする。これにより、有効なトランザクションの開始点を判別し、トランザクション単位で扱うデータが所定ビット数分転送された時点で、そのトランザクションの転送が終了したと判断する。
【００５５】
トランザクションを、シリアルデータの転送種類を判別するためのコマンドの情報と、転送を行いたいデータの情報とに分け、それぞれコマンドの情報のトランザクション（コマンド部）およびデータの情報のトランザクション（データ部）とする。
【００５６】
さらに、複数のスレーブのチップを個々に識別するために、マスタのチップは、スレーブのチップに対してコンフィグレーションのトランザクションを発行する。このコンフィグレーションのトランザクションによって、各スレーブのチップにユニークな番号を付与し、この番号をスレーブのチップを識別するチップＩＤとする。同様に、複数のリングを個々に識別するリング番号を把握するために、マスタのチップはスレーブのチップに対してコンフィグレーションのトランザクションを発行する。
【００５７】
コマンド部には、データ部かコマンド部かを識別する識別子（Ｃ／Ｄ識別子）、ライトのトランザクションかリードのトランザクションかを識別する識別子（Ｗ／Ｒ識別子）、データの転送幅を識別する識別子（ＢｉｔＭｏｄｅ）の情報が含まれる。更に、リングを識別するリング番号、スレーブチップを識別するチップＩＤの識別子（ＣｈｉｐＩＤ）、およびリードまたはライト用のアドレスの情報が含まれる。データ部には、Ｃ／Ｄ識別子、Ｗ／Ｒ識別子、ＢｉｔＭｏｄｅ、およびリードまたはライト用のデータの情報が含まれる。これらの情報は、各スレーブチップに転送された際、それぞれのスレーブチップにおいて判定される。
【００５８】
図８はトランザクションに用いられるシリアルデータのデータ形式を示す図である。トランザクションに用いられるシリアルデータは、コマンド部７０３およびデータ部７０４に別れており、コマンド部およびデータ部の順でデータ転送が行われる。コマンド部およびデータ部の各ヘッダ内には、トランザクションの動作を示す識別子が盛り込まれている。ヘッダの後には、コマンド部の場合、アドレスデータの情報が含まれ、データ部の場合、レジスタのデータの情報が含まれる。
【００５９】
前述したように、マスタチップおよびスレーブチップは、転送されるシリアルデータを、全て数ビット単位で１つのトランザクションとして扱い、このトランザクション単位でシリアルデータが有効であるか否かを判断する。トランザクション単位でシリアルデータを転送する際、有効なトランザクションのデータの開始点が判別される。即ち、トランザクション単位の最初の１ビットであるＳＴＵＦＦＥＤ＿  ＢＩＴ７０１を常にハイレベル（Ｈ）状態にし、無効なトランザクションである間、常にローレベル（Ｌ）状態にする。これにより、有効なトランザクションの開始点が判別され、トランザクション単位で扱うデータのビット数分が転送された時点で、そのトランザクションの転送が終了したと判断される。また、トランザクション単位において、マスタのチップでパリティビット７０２を付加することにより、エラーのトランザクションが検出される。
【００６０】
（チップ間のシリアルデータ転送を用いたコンフィグレーション動作）
コンフィグレーション動作の概略を示す。複数のスレーブのチップに各トランザクションを発行するために、マスタのチップは、システムリセット後、最初にスレーブのチップに対してコンフィグレーションのトランザクションを発行する。コンフィグレーションのトランザクションによって、マスタのチップは、各リングにリング番号を割り振り、かつ各スレーブのチップにＣｈｉｐＩＤを割り振る。
【００６１】
コンフィグレーションのトランザクションには、コマンド部のみが存在する。このコマンド部には、Ｃ／Ｗ識別子（例えば、コマンド部の場合、Ｃ／Ｗ識別子をアクテイブ、データ部の場合、非アクティブとする）の情報が含まれている。更に、Ｔｙｐｅ識別子（例えば、コンフィグレーショントランザクションの場合、００）、リング番号（マスタのチップから発行する際のリング番号を値０とする）、ＣｈｉｐＩＤ（マスタのチップから発行する際のＣｈｉｐＩＤを値０とする）の情報が含まれている。
【００６２】
マスタのチップが発行したコンフィグレーションのトランザクションが、全てのスレーブのチップを経由して、マスタのチップに戻り、マスタのチップが受信し終えるまで、マスタのチップは、次のトランザクションの発行を行わない。
【００６３】
各スレーブのチップは、コンフィグレーションのトランザクションを受信した場合、各スレーブのチップ内のＣｈｉｐＩＤデータ用のレジスタに、コンフィグレーションのトランザクション中のＣｈｉｐＩＤのデータに値１加算した値を保持する。
【００６４】
そして、ＣｈｉｐＩＤデータ用のレジスタに保持されたＣｈｉｐＩＤの値を、コンフィグレーションのトランザクション中のＣｈｉｐＩＤのデータに上書きし、次のスレーブまたはマスタのチップにコンフィグレーションのトランザクションとして送る。これにより、コンフィグレーションのトランザクション中のＣｈｉｐＩＤのデータによって全てのスレーブのチップに番号付けが行われる。
【００６５】
スレーブのチップに拡張リングがある分岐スレーブのチップである場合、分岐スレーブのチップがコンフィグレーションのトランザクションを受信すると、コンフィグレーションのトランザクション中のリング番号のデータに値１加算した値を、リング番号データ用のレジスタに保持する。そして、ＣｈｉｐＩＤデータ用のレジスタも同様に値１加算したデータを保持する。
【００６６】
そして、分岐スレーブのチップは、拡張リングにコンフィグレーションのトランザクションを送る。この際、拡張リングに送られるコンフィグレーションのトランザクション中のＣｈｉｐＩＤを値０とする。拡張リングに接続されたスレーブのチップにＣｈｉｐＩＤデータが付加されると、拡張リングに接続されている全てのスレーブのチップを通った後、分岐スレーブのチップにコンフィグレーションのトランザクションが戻ってくる。分岐スレーブのチップは、この拡張リングから戻ってきたコンフィグレーションのトランザクション中のＣｈｉｐＩＤデータを拡張リングのＣｈｉｐＩＤデータ（拡張リングＣｈｉｐＩＤ）として、分岐スレーブのチップ内の拡張リングＣｈｉｐＩＤ用レジスタに保持する。
【００６７】
分岐スレーブのチップは、基本リングに接続されている次のスレーブのチップまたはマスタのチップにコンフィグレーションのトランザクションを送る。このとき、コンフィグレーションのトランザクション中のＣｈｉｐＩＤデータは、分岐スレーブのチップ内で保持された分岐スレーブのＣｈｉｐＩＤデータである。これにより、分岐スレーブに接続されている拡張リングのスレーブのＣｈｉｐＩＤは、分岐スレーブのチップ内で管理される。また、コンフィグレーションのトランザクションによって、マスタのチップに送られるＣｈｉｐＩＤのデータは、基本リングに接続されているスレーブのチップのみを示すことになる。
【００６８】
コンフィグレーションのトランザクションは、全てのスレーブのチップを介して、最後にマスタのチップに送られてくる。マスタのチップは、送られてきたコンフィグレーショントランザクションのリング番号およびＣｈｉｐＩＤの値を参照し、拡張されたリングの個数および基本リングに接続されているスレーブのチップの個数を判断する。例えば、リング番号がＭであり、ＣｈｉｐＩＤの値がＮである場合、Ｍ個の拡張リングが存在し、かつＮ個のスレーブのチップが基本リングに接続されていることを示す。
【００６９】
具体的に、チップ間のシリアルデータ転送を用いたコンフィグレーション動作を示す。図９はコンフィグレーション動作の流れを示す図である。まず、システム制御部２１５０内のＣＰＵ２００１から発行された、レジスタのコンフィグレーション動作命令は、ＣＰＵバス２１２６を介してシステムバスブリッジ２００７に送られる。さらに、このコンフィグレーション動作命令は、システムバスブリッジ２００７からマスタインタフェース２１４７に送られる（Ｔ１）。
【００７０】
ここで、コンフィグレーション動作命令は、マスタインタフェース２１４７に対して発行され、各リングに制御可能なスレーブのチップが何個接続されているかをＣＰＵ２００１が判断するための命令セットである。このコンフィグレーション動作命令の中には、マスタインタフェース２１４７に対してコンフィグレーションのトランザクションを発行する命令、および発行されたコンフィグレーションのトランザクションがマスタインタフェース２１４７に戻ってきた際にリング番号の値とＣｈｉｐＩＤの値を読み込む命令が含まれている。また、チップ（Ｃｈｉｐ）ＩＤの値は、マスタインタフェース２１４７に接続されている基本リングのスレーブのチップ数を表す。リング番号は、マスタインタフェース２１４７に接続されている拡張リングの数を表す。
【００７１】
マスタインタフェース２１４７は、ＣＰＵ２００１からのコンフィグレーション動作の命令を受けると、リング番号およびＣｈｉｐＩＤをそれぞれ値０に設定し、コンフィグレーションのトランザクションを作成する（Ｔ２）。そして、マスタインタフェース２１４７で作成されたコンフィグレーションのトランザクションは、シリアルデータとして、クロック信号線５０１のクロックに同期したタイミングで、マスタインタフェース２１４７からプリンタ画像処理部３５２に送られる（Ｔ３）。
【００７２】
プリンタ画像処理部３５２内の第１のスレーブインタフェース５３０は、コンフィグレーションのトランザクションを受けると、受信したリング番号およびＣｈｉｐＩＤにそれぞれ値１加算した値を、プリンタ画像処理部３５２における拡張リング番号およびＣｈｉｐＩＤとして保存する（Ｔ４）。プリンタ画像処理部３５２には、拡張リングが存在するので、コンフィグレーションのトランザクションを拡張リングに送信する（Ｔ５）。このとき、コンフィグレーションのトランザクション中のＣｈｉｐＩＤを値０に設定し、コンフィグレーションのトランザクションは拡張リングに送られる。
【００７３】
そして、拡張リングに接続されているメモリ３５６、３５７、３５８から、第１のマスタインタフェース５３１にコンフィグレーションのトランザクションが戻ってくる（Ｔ６）。このとき、コンフィグレーションのトランザクション中のＣｈｉｐＩＤは、拡張リングに接続されているスレーブのチップのＣｈｉｐＩＤに相当する。そして、第１のマスタインタフェース５３１により、拡張リング上の各スレーブのチップのＣｈｉｐＩＤは管理される。
【００７４】
この後、プリンタ画像処理部３５２におけるリング番号およびＣｈｉｐＩＤをコンフィグレーションのトランザクションに付加し（Ｔ７）、第１のマスタインタフェース５３１から第２のスレーブインタフェース５３２にコンフィグレーションのトランザクションを送信する（Ｔ８）。
【００７５】
同様に、コンフィグレーションのトランザクションは、画像処理部３５３、リーダ画像処理部３５４の各スレーブのチップを通り、最後に、システム制御部２１５０内のスレーブインタフェース２１４８に送られる（Ｔ１０〜Ｔ１８）。但し、画像処理部３５３には、拡張リングが接続されていない。
【００７６】
システム制御部２１５０内のスレーブインタフェース２１４８は、コンフィグレーションのトランザクションを受信すると、リング番号およびＣｈｉｐＩＤの情報を取得する。そして、システムバスブリッジ２００７およびＣＰＵバス２１２６を介して、ＣＰＵ２００１にリング番号およびＣｈｉｐＩＤのデータを送る（Ｔ１９）。
【００７７】
このリング番号およびＣｈｉｐＩＤの数値は、システム制御部２１５０からアクセス可能なリングの個数およびスレーブのチップの個数を表し、それぞれの番号（ＩＤ）となる。この場合、プリンタ画像処理部３５２のＣｈｉｐＩＤは値１である。画像処理部３５３のＣｈｉｐＩＤは値２である。リーダ画像処理部３５４のＣｈｉｐＩＤは値３である。したがって、ＣＰＵ２００１は、スレーブのチップが３個接続されていると認識する。また、メモリ３５６は、リング番号１に接続されたＣｈｉｐＩＤが値１のスレーブのチップであると認識される。
【００７８】
ここで、拡張リングに接続されているスレーブのチップの管理を示す。前述したように、コンフィグレーションのトランザクションによって、マスタのチップは、拡張されたリングの個数および基本リングに接続されているスレーブのチップの個数を判断する。その後、マスタのチップは、拡張リングのスレーブのチップ個数を判断するために、対象のリング番号に対し、レジスタリードのトランザクションを行う。レジスタリードのトランザクション中のコマンド部にあるリング番号を対象のものに設定し、かつリードするレジスタを、該当するリング番号を有する分岐スレーブのチップ内の拡張リングＣｈｉｐＩＤ用のレジスタに設定する。レジスタリードのトランザクション中のリング番号に該当する分岐スレーブのチップは、レジスタリードのトランザクションを受けた後、拡張リングＣｈｉｐＩＤのデータをマスタのチップに送る。
【００７９】
マスタのチップは、レジスタリードのトランザクションを受けると、所望の拡張リングに対する拡張リングＣｈｉｐＩＤのデータを得ることができる。例えば、リング番号がＭの拡張リングに接続されているスレーブのチップ個数を知りたい場合、マスタのチップからリング番号をＭに設定し、レジスタリードのトランザクションを発行する。その後、マスタのチップに返ってきたレジスタリードのトランザクション中のリング番号およびレジスタのリードデータを参照する。そして、読み出されたレジスタデータがＮの場合、拡張リングＭには、Ｎ個のスレーブのチップが接続されていることになる。このように、レジスタリードのトランザクションを行うことで、マスタのチップから所望の拡張リングにおけるスレーブのチップ個数を把握することができる。
【００８０】
（チップ間のシリアルデータ転送を用いたライト動作）
ライト動作の概略を示す。複数のスレーブのチップの中から特定のスレーブのチップに対し、スレーブのチップ内のレジスタにデータを書き込む場合、マスタのチップは、スレーブのチップにコマンド部を発行し、続けてデータ部を発行する。
【００８１】
コマンド部では、Ｃ／Ｗ識別子がアクテイブに設定され、Ｗ／Ｒ識別子がアクテイブに設定され、ＢｉｔＭｏｄｅに所定のデータ幅情報が設定される。また、リング番号およびＣｈｉｐＩＤに所定の値（対象となるスレーブのチップのコンフィグレーション値）が設定され、所定のレジスタのアドレス値が設定される。ここで、Ｃ／Ｗ識別子は、コマンド部の場合にアクテイブであり、データ部の場合に非アクティブである。Ｗ／Ｒ識別子は、ライトのトランザクションの場合にアクテイブであり、リードのトランザクションの場合に非アクテイブである。一方、データ部では、Ｃ／Ｗ識別子が非アクテイブに設定され、Ｗ／Ｒ識別子がアクテイブに設定され、ＢｉｔＭｏｄｅに所定のデータ幅情報が設定され、所定のレジスタに書き込むデータ値が設定される。
【００８２】
マスタのチップは、発行したライトのトランザクションが、各スレーブのチップを介してマスタのチップに戻って来ない間も、連続してライトのトランザクションを発行することが可能である。このため、ライトのトランザクションに関し、マスタのチップは、各スレーブのチップにデータが書き込まれたか否かをライトのトランザクションによって確認することはない。マスタのチップは、スレーブのチップからリング状の信号線に送られてきたトランザクションを受信し、そのトランザクションにパリティのエラーがあるか否かのみを判断する。
【００８３】
各スレーブのチップは、マスタのチップまたはスレーブのチップから転送される各トランザクションを受信し、そのトランザクション中に含まれる前述した識別子およびデータの設定情報を読み込み、その受信したトランザクションが該当するトランザクションであるか否かを判断する。そして、該当するトランザクションである場合、スレーブのチップ内部のレジスタにデータを書き込む。一方、スレーブのチップに該当しないトランザクションの場合、次のスレーブのチップまたはマスタのチップに転送する。この結果、ライトのトランザクションが次々に処理される。
【００８４】
また、分岐スレーブのチップの場合、マスタのチップまたはスレーブのチップから転送される各トランザクションを受信し、そのスレーブのチップに該当しないトランザクションの場合、拡張リングにライトのトランザクションを送信する。拡張リングに接続されたスレーブのチップは、基本リングに接続されたスレーブのチップと同様の動作を繰り返す。そして、最後に、分岐スレーブのチップにライトのトランザクションが戻ってくる。この後、分岐スレーブのチップは、拡張リングから受信したライトのトランザクションを、次の基本リングに接続されるスレーブのチップまたはマスタのチップに送信する。これにより、マスタのチップは所望のスレーブのチップのレジスタに書き込むことが可能である。
【００８５】
具体的に、チップ間のシリアルデータ転送を用いたライト動作を示す。図１０はライト動作の流れを示す図である。まず、システム制御部２１５０内のＣＰＵ２００１から発行された、レジスタのライト動作命令はＣＰＵバス２１２６を介してシステムバスブリッジ２００７に送られる。さらに、ライト動作を行うレジスタのアドレスがプリンタ画像処理部３５２、画像処理部３５３およびリーダ画像処理部３５４のいずれかである場合、ライト動作命令は、システムバスブリッジ２００７からマスタインタフェース２１４７に送られる（Ｔ３１）。
【００８６】
ここで、ライト動作命令には、マスタインタフェース２１４７を介して制御可能なスレーブのチップ内のレジスタに対し、ＣＰＵ２００１がライト動作を行うためのリング番号、ＣｈｉｐＩＤ、アドレスおよびライトデータの情報が含まれている。
【００８７】
マスタインタフェース２１４７は、ライト動作命令を受けると、該当するスレーブのチップのリング番号、ＣｈｉｐＩＤおよびアドレスの情報を用いて、ライトのコマンド部を作成する（Ｔ３２）。マスタインタフェース２１４７で作成されたライトのコマンド部のトランザクションは、シリアルデータとして、クロック信号線５０１のクロックに同期したタイミングで、マスタインタフェース２１４７からプリンタ画像処理部３５２に送られる（Ｔ３３）。
【００８８】
コマンド部のトランザクションを発行した後、マスタインタフェース２１４７は、ライトデータの情報を用いて、ライトのデータ部を作成する（Ｔ３４）。マスタインタフェース２１４７で作成されたライトのデータ部は、シリアルデータとして、マスタインタフェース２１４７からクロック信号線５０１のクロックに同期したタイミングで、プリンタ画像処理部３５２に送られる（Ｔ３５）。
【００８９】
プリンタ画像処理部３５２の第１のスレーブインタフェース５３０は、ライトのコマンド部のトランザクションを受けると、リング番号が拡張リングに該当する場合、ライトのコマンドを拡張リングに送信する（Ｔ３６）。そして、拡張スレーブからライトのコマンドが戻ってきた後（Ｔ３８）、クロック信号線のクロックに同期したタイミングで、第１のマスタインタフェース５３１からライトのコマンドを画像処理部３５３に送信する（Ｔ３９）。
【００９０】
一方、リング番号が基本リング（リング番号＝０）であって、かつＣｈｉｐＩＤ、ライトアドレスが該当する場合、データ部のトランザクションからライトのデータを内部バス５４０に書き込む（Ｔ３７）。これと同時に並行して、クロック信号線のクロックに同期したタイミングで、第１のスレーブインタフェース５３０に送られてきたシリアルデータを、次の画像処理部３５３に送信する（Ｔ３９）。尚、第１のスレーブインタフェース５３０で受信したシリアルデータにパリティのエラーがあった場合、トランザクションにエラーがあったものとみなし、拡張リングへの転送を禁止し、あるいは内部バス５４０にライトデータの書き込みを行わない。同様のライト動作が、画像処理部３５３およびリーダ画像処理部３５４の各スレーブのチップにおいても行われる（Ｔ４０〜Ｔ４４）。但し、画像処理部３５３には、拡張リングが接続されていない。
【００９１】
そして、システム制御部２１５０内のスレーブインタフェース２１４８は、リーダ画像処理部３５４内の第３のマスタインタフェース５３５から送信されたシリアルデータを受信する（Ｔ４５）。このとき、パリティのエラーが無いことを確認し、ライトのトランザクションが終了したと認識する（Ｔ４６）。尚、スレーブインタフェース２１４８で受信したシリアルデータにパリティのエラーがあった場合、トランザクションにエラーがあったものとみなし、エラーコードをＣＰＵ２００１に対して発行することで、エラー処理を行う。
【００９２】
（チップ間のシリアルデータ転送を用いたリード動作）
リード動作の概略を示す。複数のスレーブのチップ中から特定のスレーブチップに対し、スレーブのチップ内のレジスタのデータを読み出す場合、マスタのチップは、スレーブのチップにコマンド部のみを発行する。
【００９３】
コマンド部では、Ｃ／Ｗ識別子がアクテイブに設定され、Ｗ／Ｒ識別子が非アクテイブに設定され、ＢｉｔＭｏｄｅが所定のデータ幅情報に設定される。また、リング番号およびＣｈｉｐＩＤが所定の値（対象となるスレーブのチップのコンフィグレーション値）に設定され、所定のレジスタのアドレス値が設定される。
【００９４】
マスタのチップは、発行したリードのコマンド部が、各スレーブのチップを介して、マスタのチップに戻り、該当するスレーブのチップから発行されるリードのデータ部を受信し終えるまで、次のトランザクションを発行しない。
【００９５】
マスタのチップは、スレーブのチップに転送したリードのコマンド部がスレーブのチップで受信されると、そのコマンド部をスレーブのチップから次のスレーブのチップまたはマスタのチップに転送する。このとき、該当するスレーブのチップは、リードのデータ部を発行する。
【００９６】
マスタのチップは、リードのコマンド部を受信した後、リードのデータ部を受信する。そして、マスタのチップは、このリードのデータ部を受信し終えるまで、リードのデータ部の受信待ち状態になる。マスタのチップがリードのトランザクションを受信し終えると、次のトランザクションの転送を行う。
【００９７】
各スレーブのチップは、マスタのチップまたはスレーブのチップから転送される各トランザクションを受信し、そのトランザクション中に含まれる前述した識別子およびデータの設定情報を読み込む。そして、受信したトランザクションが該当するトランザクションであるか否かを判断する。該当するトランザクションである場合、スレーブのチップ内部のレジスタのデータを読み出す。
【００９８】
該当するスレーブのチップは、レジスタのデータをリードのデータ部に転送する。このとき、該当するスレーブのチップは、リードのデータ部を発行する際に必要な前述した識別子およびデータの設定情報を付加し、リードのデータ部とする。一方、スレーブのチップは、リードのトランザクションが該当しない場合、次のスレーブのチップまたはマスタのチップにリードのトランザクションをそのまま転送する。
【００９９】
分岐スレーブのチップの場合、マスタのチップまたはスレーブのチップから転送される各トランザクションを受信すると、そのスレーブのチップに該当しないトランザクションの場合、拡張リングにリードのトランザクションを送信する。
【０１００】
拡張リングに接続されたスレーブのチップは、基本リングに接続されたスレーブのチップと同様の動作を繰り返す。そして、最後に、リードのトランザクションは分岐スレーブのチップまで戻ってくる。この後、分岐スレーブのチップは、拡張リングから受信したリードのトランザクションを、基本リングに接続された次のスレーブのチップまたはマスタのチップに送信する。
【０１０１】
マスタのチップは、リードのトランザクションを発行した後、スレーブのチップから最初にリードのコマンド部を受信し、その後、リードのデータ部を受け取ることになる。マスタのチップは、リードのコマンド部を受信すると、リング番号およびＣｈｉｐＩＤからリードを行ったスレーブチップを確定し、アドレスの情報からリードを行ったレジスタのアドレスを確定する。同様に、マスタのチップは、リードのデータ部を受信する際、データの情報からリードを行ったレジスタのデータ値を確定する。これにより、マスタのチップは、所望のスレーブチップ内のレジスタのデータを読み出すことが可能である。
【０１０２】
具体的に、チップ間のシリアルデータ転送を用いたリード動作を示す。図１１はリード動作の流れを示す図である。まず、システム制御部２１５０内のＣＰＵ２００１から発行された、レジスタのリード動作命令は、ＣＰＵバス２１２６を介してシステムバスブリッジ２００７に送られる。さらに、リード動作を行うレジスタのアドレスがプリンタ画像処理部３５２、画像処理部３５３およびリーダ画像処理部３５４のいずれかである場合、リード動作命令は、システムバスブリッジ２００７からマスタインタフェース２１４７に送られる（Ｔ６１）。ここで、リード動作命令には、マスタインタフェース２１４７を介して制御可能なスレーブのチップ内のレジスタに対し、ＣＰＵ２００１がリード動作を行うためのリング番号、ＣｈｉｐＩＤおよびアドレスの情報が含まれている。
【０１０３】
マスタインタフェース２１４７は、リード動作命令を受けると、該当するスレーブのチップのリング番号、ＣｈｉｐＩＤおよびアドレスの情報を用いて、リードのコマンド部を作成する（Ｔ６２）。マスタインタフェース２１４７で作成されたリードのコマンド部はシリアルデータとして、クロック信号線５０１のクロックに同期したタイミングで、マスタインタフェース２１４７からプリンタ画像処理部３５２に送られる（Ｔ６３）。
【０１０４】
プリンタ画像処理部３５２がリードのコマンド部を受け、リング番号が基本リングであり、ＣｈｉｐＩＤおよびリードアドレスが該当する場合、第１のスレーブインタフェース５３０は内部バス５４０にリードデータのアクセスを行う（Ｔ６４）。そして、第１のスレーブインタフェース５３０が内部バス５４０からリードデータを受けると、第１のマスタインタフェース５３１はリードデータのトランザクションを作成する（Ｔ６５）。さらに、作成したリードデータのトランザクションをシリアルデータに変換した後、信号線５００に送信する（Ｔ６８）。このトランザクションの送信は、クロック信号線５０１のクロックに同期したタイミングで行われる。また、リング番号が拡張リングでない場合、第１のマスタインタフェース５３１は、第１のスレーブインタフェース５３０による受信と並行して、前述したシリアルデータを信号線５００に送信する。このシリアルデータの送信は、クロック信号線５０１のクロックに同期したタイミングで行われる。
【０１０５】
一方、リング番号が拡張リングに該当する場合、拡張リングにリードのコマンドを送信する（Ｔ６６）。そして、第１のマスタインタフェース５３１は、拡張リング上のスレーブチップからリードのコマンドが戻ってくると（Ｔ６７）、基本リングに接続された次のスレーブチップにリードのコマンドを送信する（Ｔ６８）。
【０１０６】
同様のリード動作が、画像処理部３５３およびリーダ画像処理部３５４の各スレーブチップにおいても行われる（Ｔ６９〜Ｔ７６）。但し、画像処理部３５３には、拡張リングが接続されていない。即ち、画像処理部３５３内の第２のスレーブインタフェース５３２、リーダ画像処理部３５４内の第３のスレーブインタフェース５３４は、リードのコマンドを受信する。すると、リング番号が基本リングであり、ＣｈｉｐＩＤおよびリードアドレスが該当する場合、それぞれ内部バス５４１、５４２にリードデータのアクセスを行う（Ｔ６９、Ｔ７２）。そして、第２のマスタインタフェース５３３あるいは第３のマスタインタフェース５３５は、それぞれリードデータのトランザクションを作成する（Ｔ７０、Ｔ７３）。そして、作成したリードデータのトランザクションをシリアルデータに変換した後、信号線５００に送信する（Ｔ７１、Ｔ７６）。また、リング番号が拡張リングでない場合、第２のマスタインタフェース５３３あるいは第３のマスタインタフェース５３５は、それぞれ第２のスレーブインタフェース５３２あるいは第３のスレーブインタフェース５３４よる受信と並行して、前述したシリアルデータを信号線５００に送信する。
【０１０７】
一方、リング番号が拡張リングに該当する場合、拡張リングにリードのコマンドを送信する（Ｔ７４）。そして、第３のマスタインタフェース５３５は、拡張リング上のスレーブチップからリードのコマンドが戻ってくると（Ｔ７５）、システム制御部２１５０にリードのコマンドを送信する（Ｔ７６）。
【０１０８】
システム制御部２１５０内のスレーブインタフェース２１４８は、リーダ画像処理部３５４内の第３のマスタインタフェース５３５から送信されたシリアルデータのうち、リードのコマンドを受信した後、リードデータのトランザクションを受信する（Ｔ７７）。スレーブインタフェース２１４８は、リードデータのトランザクションを受信した後、受信したリードデータのトランザクションから、必要なレジスタのリードデータを取得し、システムバスブリッジ２００７、ＣＰＵバス２１２６を介してＣＰＵ２００１に送る（Ｔ７８）。
【０１０９】
このとき、スレーブインタフェース２１４８は、リードのコマンド部およびデータ部にパリティのエラーが無いことを確認し、リードのトランザクションが終了したと認識する（Ｔ７９）。一方、スレーブインタフェース２１４８で受信したシリアルデータにパリティのエラーがあった場合、トランザクションにエラーがあったとみなし、エラーコードをＣＰＵ２００１に対して発行することでエラー処理を行う。
【０１１０】
このように、本実施形態のデータ転送装置によれば、マスタチップから複数のスレーブチップに対し、コンフィグレーション、レジスタのリード／ライト等の動作を行うことができる。また、チップ間で接続される信号線の配線数を著しく減らすことができる。また、マスタチップによる制御の負担を軽減できる。また、データ転送にかかる１回の転送時間を抑えることができる。
【０１１１】
尚、本発明は、上記実施形態の構成に限られるものではなく、特許請求の範囲で示した機能、または本実施形態の構成が持つ機能が達成できる構成であればどのようなものであっても適用可能である。
【０１１２】
例えば、基本リングに接続されるスレーブチップの数は任意でよく、また、分岐スレーブも任意の配置および数でよい。図１２は基本リングおよび拡張リングを有するデータ転送装置の基本的な構成を示す図である。マスタチップ１から各スレーブチップにシリアルデータの転送を行う場合を示す。基本リング６には、マスタチップ１およびスレーブチップ２、３、４、５が接続されている。そして、基本リング６には、シリアルデータが転送される。また、スレーブチップ２、４は分岐スレーブであり、それぞれに拡張リング１４、２４が形成される。この場合、拡張リング１４はリング番号１となり、拡張リング２４はリング番号２となる。拡張リングの数および配置は任意である。
【０１１３】
また、特定のスレーブのチップ、あるいは全てのスレーブのチップに対してリセットを行う場合、マスタのチップは、リセットのトランザクションを発行する。前述したコンフィグレーションと同様の動作により、特定のスレーブのチップ、あるいは全てのスレーブのチップはリセットされる。
【図面の簡単な説明】
【０１１４】
【図１】実施の形態におけるネットワークシステムの構成を示す図である。
【図２】画像入出力システム１００の概略的構成を示す図である。
【図３】リーダ部２００およびプリンタ部３００の内部構成を示す図である。
【図４】リーダ画像処理部２２２の構成を示すブロック図である。
【図５】システム制御部２１５０のハードウェア構成を示す図である。
【図６】コントローラユニット１５０に形成される基本リングおよび拡張リングを示す図である。
【図７】マスタチップおよびスレーブチップ間でシリアルデータの転送を行う際に各チップ内に設けられるインタフェースを示す図である。
【図８】トランザクションに用いられるシリアルデータのデータ形式を示す図である。
【図９】コンフィグレーション動作の流れを示す図である。
【図１０】ライト動作の流れを示す図である。
【図１１】リード動作の流れを示す図である。
【図１２】基本リングおよび拡張リングを有するデータ転送装置の基本的な構成を示す図である。
【符号の説明】
【０１１５】
３５２  プリンタ画像処理部
３５３  画像処理部
３５４  リーダ画像処理部
３５６、３５７、３５８、３５９  メモリ
５００  シリアルデータ用の信号線
５０１  同期用のクロック信号線
２００１  ＣＰＵ
２１４７  マスタインタフェース
２１４８  スレーブインタフェース
２１５０  システム制御部
【図１】
2007104539.tif 000003
【図２】
2007104539.tif 000004
【図３】
2007104539.tif 000005
【図４】
2007104539.tif 000006
【図５】
2007104539.tif 000007
【図６】
2007104539.tif 000008
【図７】
2007104539.tif 000009
【図８】
2007104539.tif 000010
【図９】
2007104539.tif 000011
【図１０】
2007104539.tif 000012
【図１１】
2007104539.tif 000013
【図１２】
2007104539.tif 000014