(57)【要約】【課題】メインシステムとサブシステムを接続するＰＣＩ Ｅｘｐｒｅｓｓを省電力状態にした上で、サブシステムを省電力状態にすること。【解決手段】メインシステム２１０とサブシステム１００とがＰＣＩｅ１３０を介して接続される画像処理装置２００であって、メインシステム２１０のメインＣＰＵ２１１は、画像処理装置２００をスリープ状態に移行させる場合に、ＰＣＩｅ１３０を介して、サブシステム１００のＰＣＩｅ制御部１０４を省電力状態（Ｄ３）に移行させる。サブシステム１００の電力制御部１０６は、ＰＣＩｅ制御部１０４が省電力状態に移行した場合に、少なくともＰＣＩｅ制御部１０４への電力供給を停止する。【選択図】図１
2016170649.tif 000002
【特許請求の範囲】
【請求項１】
第１のシステムと第２のシステムとがインタフェースを介して接続される情報処理装置であって、
前記第２のシステムは、
前記インタフェースを介した前記第１のシステムとの通信を制御する通信手段と、
前記第２のシステムの電力供給を制御する電力制御手段と、有し、
前記第１のシステムは、
前記情報処理装置をスリープ状態に移行させる場合に、前記インタフェースを介して、前記通信手段を省電力状態に移行させる第１の制御手段、を有し、
前記電力制御手段は、前記通信手段が前記省電力状態に移行した場合に、少なくとも前記通信手段への電力供給を停止する、ことを特徴とする情報処理装置。
【請求項２】
前記第２のシステムは、
前記電力制御手段の電力供給を指示する第２の制御手段をさらに有し、
前記通信手段は、前記省電力状態へ移行する場合に、前記第２の制御手段に対する割り込みを発生するものであり、
前記第２の制御手段は、前記割り込みを受信した場合、少なくとも前記通信手段及び前記第２の制御手段への電力供給を停止するよう前記電力制御手段に指示する、ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第２のシステムは、
前記電力制御手段の電力供給を指示する第２の制御手段をさらに有し、
前記第２の制御手段は、定期的に前記通信手段の状態を監視し、前記通信手段が前記省電力状態に移行したことを検知した場合、少なくとも前記通信手段及び前記第２の制御手段への電力供給を停止するよう前記電力制御手段に指示する、ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記インタフェースは、ＰＣＩ Ｅｘｐｒｅｓｓであることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記省電力状態は、Ｄ３ｃｏｌｄ状態である、ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記第２のシステムは、ＰＣＩ Ｅｘｐｒｅｓｓ Ｅｎｄ Ｐｏｉｎｔとして、前記第１のシステムと接続されることを特徴とする請求項４又は５に記載の情報処理装置。
【請求項７】
前記第２のシステムは、外部装置と接続可能な接続手段を有し、
前記第２の制御手段は、前記通信手段が前記省電力状態に移行して、少なくとも前記通信手段への電力供給を停止する場合、少なくとも前記接続手段、及び、前記接続手段でデータ受信があった場合に前記情報処理装置を省電力状態から復帰させるために必要な箇所への電力供給を維持するように前記電力制御手段に指示することを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記接続手段は、ＵＳＢインタフェースを介してＵＳＢデバイスと接続可能であることを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記接続手段は、ネットワークを介してネットワークデバイスと接続可能であることを特徴とする請求項７に記載の情報処理装置。
【請求項１０】
前記情報処理装置は、画像処理装置であることを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
第１のシステムと第２のシステムとがインタフェースを介して接続される情報処理装置の制御方法であって、
前記第１のシステム内の第１の制御手段が、前記情報処理装置をスリープ状態に移行させる場合に、前記インタフェースを介して、前記インタフェースを介した前記第１のシステムとの通信を制御する前記第２のシステム内の通信手段を、省電力状態に移行させるステップと、
前記第２のシステムの電力供給を制御する前記第２のシステム内の電力制御手段が、前記通信手段が前記省電力状態に移行した場合に、少なくとも前記通信手段への電力供給を停止するステップと、
を有することを特徴とする情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メインシステムとサブシステムとがＰＣＩ Ｅｘｐｒｅｓｓ等のインタフェースを介して接続される情報処理装置の制御に関する。
【背景技術】
【０００２】
従来より、ＣＰＵ等が自身を搭載するデバイスの電力制御を行う技術がある。
特許文献１では、ネットワークインタフェース部内の電力制御部が、ネットワークからのパケット信号が所定時間検出されない場合等に、自身を搭載するネットワークインタフェース部内の一部の電力供給を停止する技術が開示されている。
【０００３】
また、従来より、画像形成装置における複数の機器間をＰＣＩ Ｅｘｐｒｅｓｓ（以下ＰＣＩｅ）で接続する技術がある。
特許文献２では、複数のユニットをＰＣＩｅで接続する技術が開示されている。
通常、ＰＣＩｅで接続されるサブシステムは、メインシステム（ルートコンプレックス）の指示に基づいて動作を行う。電力制御も同様に、メインシステムの指示に基づいて行われる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１６６１２号公報
【特許文献２】特開２００５−３２３１５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述したメインシステムとサブシステムがＰＣＩｅで接続される装置では、メインシステムおよびサブシステムを含むシステム全体を省電力状態に移行する場合には、以下の２つの処理が必要である。
〔処理１〕メインシステムがＰＣＩｅのレジスタを操作してＰＣＩｅを省電力状態に移行させる処理。
〔処理２〕メインシステムがＰＣＩｅを経由してサブシステムの電力制御部のレジスタを操作し、サブシステムを一部電源ＯＦＦの省電力状態に移行させる処理。
【０００６】
なお、上述した〔処理１〕のＰＣＩｅを省電力状態に移行させる処理が必要な理由は、適切な処理を行って通信を遮断した後に、接続されたサブシステムの電源をＯＦＦする必要があるからである。
また、上述した〔処理２〕のサブシステムを一部電源ＦＦの省電力状態に移行させる処理が必要な理由は、サブシステムに搭載されたＵＳＢＤ等から信号を受信した際にシステム全体を省電力状態から復帰させるためである。
【０００７】
しかし、前述した２つの処理において、先にサブシステムの電力制御を行ってサブシステムの一部電源をＯＦＦにすると、ＰＣＩｅ通信において異常が発生してしまう。逆に、先にＰＣＩｅを省電力状態にして通信を遮断すると、ＰＣＩｅを経由してサブシステムの電力制御が行うことができないという課題があった。
【０００８】
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、メインシステムとサブシステムを接続するＰＣＩ Ｅｘｐｒｅｓｓを省電力状態にした上で、サブシステムを省電力状態にすることを可能にする仕組みを提供することである。
【課題を解決するための手段】
【０００９】
本発明は、第１のシステムと第２のシステムとがインタフェースを介して接続される情報処理装置であって、前記第２のシステムは、前記インタフェースを介した前記第１のシステムとの通信を制御する通信手段と、前記第２のシステムの電力供給を制御する電力制御手段と、有し、前記第１システムは、前記情報処理装置をスリープ状態に移行させる場合に、前記インタフェースを介して、前記通信手段を省電力状態に移行させる第１の制御手段、を有し、前記電力制御手段は、前記通信手段が前記省電力状態に移行した場合に、少なくとも前記通信手段への電力供給を停止する、ことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、第１のシステムと第２のシステムとを接続するインタフェース（ＰＣＩ Ｅｘｐｒｅｓｓ等）の通信手段を省電力状態にした上で、第２のシステムを省電力状態に移行することを可能にする。
【図面の簡単な説明】
【００１１】
【図１】本実施例を示す情報処理装置を適用可能な画像処理装置のブロック図
【図２】メインシステム上のメインＣＰＵが実行するシーケンスを例示するフローチャート
【図３】サブシステム上のＣＰＵが実行するシーケンスを例示するフローチャート
【図４】メインシステム上のＣＰＬＤが電力制御を行うシーケンスを例示するフローチャート
【図５】サブシステム上のＵＳＢ−Ｄ制御部および電力制御部、メインシステム上のＣＰＬＤのハードウェア的な動作の流れを例示するフローチャート
【図６】メインシステム上のメインＣＰＵが処理を行うソフトシーケンスを例示するフローチャート
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面を用いて説明する。
【実施例１】
【００１３】
図１は、本発明の一実施例を示す情報処理装置を適用可能な画像処理装置の構成を例示するブロック図である。
図１において、２００は、本発明の情報処理装置の一例を示す画像処理装置である。
図１に示すように、画像処理装置２００は、大きくシステム全体を制御するメインシステム２１０と、主にプリンタやスキャナが接続されるサブシステム１００とに別れる。メインシステム２１０とサブシステム１００は、ＰＣＩｅ（ＰＣＩ Ｅｘｐｒｅｓｓ）１３０により接続される。
【００１４】
メインシステム２１０は、内部にメインＣＰＵ２１１を抱え、画像処理装置２００全体を制御する。画像処理装置２００全体を制御するプログラムは、ＨＤＤやＳＳＤ等の外部記憶装置２１３に格納され、システム動作時には、メインメモリ２１２に展開され、メインＣＰＵ２１１がそのプログラムを実行し、システム全体を制御する。
メインシステムバス２１６は、メインシステム２１０内部の各ブロックを接続し、そのバス上をプログラム及びデータが流れ、システム内部での通信を可能としている。
【００１５】
メインシステム２１０は、ＰＣＩｅ Ｒｏｏｔ Ｃｏｍｐｌｅｘ２１４を有し、サブシステム１００とＰＣＩｅ１３０を通して接続されている。メインシステム２１０とサブシステム１００とは、サブシステム１００をＰＣＩｅのスレーブデバイスとして互いに通信を行う。メインＣＰＵ２１１は、必要に応じてＰＣＩｅ空間にマッピングしたサブシステム１００内部のブロックを直接操作することが可能になる。
【００１６】
Ｃｏｍｐｌｅｘ Ｐｒｏｇｒａｍｍａｂｌｅ Ｌｏｇｉｃ Ｄｅｖｉｃｅ（以下ＣＰＬＤ）２１５は、画像処理装置２００内部で発生する様々な信号を検知し、ＣＰＬＤ内部にもつファームウェアで発生する信号に基づき制御を行うブロックである。本発明においては、ＣＰＬＤ２１５は、上記の信号制御の他、後述する電力制御部１０６が発生する信号を検知するため、信号線１７０を経由して電力制御部１０６と接続される。さらに、ＣＰＬＤ２１５は、メインＣＰＵ２１１が待機状態（Ｓ３状態）に移行した信号を検知するため、信号線２１７を経由してメインＣＰＵ２１１と接続される。メインシステム２１０内部には、他に複数のブロックが存在するが、説明を簡略化するため説明と図示を省略する。
【００１７】
続いて、サブシステム１００について説明する。
サブシステム１００は、ＤＤＲメモリ制御部１０１、ＣＰＵ１０３、ＰＣＩｅ制御部１０４、ＵＳＢデバイス（以下ＵＳＢ−Ｄ）制御部１０５、電力制御部１０６、リセット制御部１０７、スキャナ制御部１５０、プリンタ制御部１６０等を有する。
【００１８】
ＤＤＲメモリ制御部１０１は、ブートプログラムやＯＳ、アプリケーションプログラムを含む、外部に設置されたＤＤＲメモリ１２０へのアクセスを制御する。ＣＰＵ１０３は、ＤＤＲメモリ１２０上の動作プログラムをフェッチして各モジュールの制御を行う。システムバス１１０は、サブシステム１００に示す各ブロックの間を通信するためのバスである。
【００１９】
ＰＣＩｅ制御部１０４は、ＰＣＩｅ１３０を介して、外部デバイスとデータ通信を行う。例えば、サブシステム１００は、ＰＣＩｅ Ｅｎｄ Ｐｏｉｎｔとして、ＰＣＩｅ１３０を介してＰＣＩｅ ＲｏｏｔＣｏｍｐｌｅｘ２１４と接続される。
メインＣＰＵ２１１は、ＰＣＩｅ Ｒｏｏｔ Ｃｏｍｐｌｅｘ２１４を介して、ＰＣＩｅ制御部１０４やＤＤＲメモリ制御部１０１の初期設定を行った後に、サブシステム１００のブートプログラムをＤＤＲメモリ１２０に転送し、ＣＰＵ１０３のリセットを解除して該ブートプログラムを実行させる。このようにしてサブシステム１００のブートが実行される。
【００２０】
ＵＳＢ−Ｄ制御部１０５は、ＵＳＢインタフェース（ＵＳＢ Ｉ／Ｆ）１４０を介して、外部のＵＳＢホストデバイスと接続可能であり、ＵＳＢ Ｉ／Ｆ１４０に接続されたＵＳＢホストデバイスとデータ通信を行う。例えば、サブシステム１００は、ＵＳＢ−Ｄｅｖｉｃｅとして、ＵＳＢ Ｉ／Ｆ１４０を介して、不図示のＵＳＢ Ｈｏｓｔ（パーソナルコンピュータ（ＰＣ）等）と接続され、ＰＣから受信したデータをＤＤＲメモリ１２０に格納して、内部でデータ処理を行う。
【００２１】
また、ＵＳＢ−Ｄ制御部１０５は、メインＣＰＵ２１１とＣＰＵ１０３からの指示に応じて、ＵＳＢ−Ｄ待機状態に移行する。ＵＳＢ−Ｄ待機状態時は、ＵＳＢ−Ｄ制御部１０５は、ＵＳＢ Ｉ／Ｆ１４０から所定パケットを受信すると、所定パケットに対する応答パケットを、ＵＳＢ Ｉ／Ｆ１４０経由で外部デバイスに送信する。同時に、ＵＳＢ−Ｄ制御部１０５は、電力制御部１０６及び信号線１７０を経由して、ＣＰＬＤ２１５に対して、待機状態解除信号を通知する。この通知を受けたＣＰＬＤ２１５は、メインコントローラ部２１０に対して待機状態解除処理を実行すると共に、サブシステム１００に対しても待機状態解除処理を実行する。
【００２２】
なお、図示しないが、サブシステム１００は、Ｅｔｈｅｒｎｅｔ（登録商標）等のネットワークを介したネットワークデバイスとの通信を制御するネットワーク制御部を備えていてもよい。このネットワーク制御部も、ＵＳＢ−Ｄ制御部１０５と同報に待機状態に移行する。該待機状態時は、ネットワークから所定パケットを受信すると、ネットワーク制御部は、所定パケットに対する応答パケットを、ネットワーク経由で外部デバイスに送信する。また、同時に、ネットワーク制御部は、ＵＳＢ−Ｄ制御部１０５と同様に、電力制御部１０６及び信号線１７０を経由して、ＣＰＬＤ２１５に対して、待機状態解除信号を通知するようにしてもよい。この通知を受けたＣＰＬＤ２１５は、ＵＳＢ−Ｄ制御部１０５から待機状態解除信号を受けた場合と同様に、メインコントローラ部２１０に対して待機状態解除処理を実行すると共に、サブシステム１００に対しても待機状態解除処理を実行する。なお、ネットワーク制御部が接続するネットワークは、有線であっても無線であってもよい。
【００２３】
リセット制御部１０７は、ＣＰＵ１０３からの指示に応じて、ＤＤＲメモリ制御部１０１、ＣＰＵ１０３、ＰＣＩｅ制御部１０４、ＵＳＢ−Ｄ制御部１０５のリセット制御を行う。
【００２４】
スキャナ制御部１５０は、ＣＰＵ１０３からの要求に応じて、外部に接続されたスキャナ１５１からのデータ受信制御を行う。プリンタ制御部１６０は、ＣＰＵ１０３からの要求に応じて、外部に接続されたプリンタ１６１へのデータ送信制御を行う。
【００２５】
以下、図２、図３、図４に示すフローチャートを用いて、本発明の根幹をなす、ＵＳＢ待機モードへの移行処理シーケンスについて説明する。ＵＳＢ待機モードとは、画像処理装置２００のスリープ状態の１つであり、ＵＳＢホストからパケットが投入された場合に、画像処理装置２００がスリープ状態から復帰するものである。
【００２６】
以下に図２のフローチャートの説明をする。
図２は、メインシステム２１０上のメインＣＰＵ２１１が実行するシーケンスを例示するフローチャートである。このフローチャートの処理は、メインＣＰＵ２１１が外部記憶装置２１３等からメインメモリ２１２に展開されたプログラムを実行することにより実現される。
【００２７】
まず、Ｓ５０１において、メインＣＰＵ２１１は、画像処理装置２００をＵＳＢ待機モードに移行してよい（ＵＳＢ待機モード移行可能）か否かを判断する。具体的には、メインＣＰＵ２１１は、一定期間ＵＳＢ−Ｄ経由またはネットワーク（不図示）経由での外部ＪＯＢ要求がない、または、機器に設定されている省電力モードへの移行時間が到達したか等の複数の条件を確認し、これらの条件に合致する場合には、ＵＳＢ待機モードに移行可能と判断する。一方、これらの条件に合致しない場合にはＵＳＢ待機モードに移行可能でないと判断する。なお、ＵＳＢ待機モードに移行する条件は、上述したものに限定されるものではなく、その他の条件であってもよい。
【００２８】
そして、ＵＳＢ待機モードに移行可能でないと判断した場合（Ｓ５０１でＮｏの場合）、メインＣＰＵ２１１は、その判断を繰り返す。
一方、ＵＳＢ待機モードに移行可能であると判断した場合（Ｓ５０１でＹｅｓの場合）、メインＣＰＵ２１１は、Ｓ５０２に処理を進める。
【００２９】
Ｓ５０２において、メインＣＰＵ２１１は、ＰＣＩｅ Ｒｏｏｔ Ｃｏｍｐｌｅｘ２１４経由で、ＵＳＢＤ制御部１０５にアクセスし、不図示のＵＳＢＨｏｓｔ（ＰＣ等）と接続がされているか否かを確認する。
そして、ＵＳＢ接続がなされていると判断した場合（Ｓ５０２でＹｅｓの場合）、メインＣＰＵ２１１は、Ｓ５０３に処理を進める。
【００３０】
Ｓ５０３において、メインＣＰＵ２１１は、ＵＳＢ−Ｄ制御部１０５およびＣＰＬＤ２１５に対して待機時設定を行う。具体的には、メインＣＰＵ２１１が、ＵＳＢ−Ｄ制御部１０５の持つレジスタ設定を変更し（ＵＳＢ待機モードフラグをＯＮにし）、待機モード時に外部のＵＳＢホストデバイスからパケットを受信した場合にＮＡＫ応答を返送する設定、及び、外部のＵＳＢホストデバイスからパケットを受信したことを電力制御部１０６経由でＣＰＬＤ２１５に伝える信号を出す設定を行う。加えて、メインＣＰＵ２１１は、ＣＰＬＤ２１５の持つレジスタ設定を変更し（後述するＵＳＢ−Ｄ待機フラグをＯＮにし）、待機モード移行時にＵＳＢＤ制御部１０５の電源を落とさない設定を行う。該Ｓ５０３の処理の後、メインＣＰＵ２１１は、Ｓ５０４に処理を進める。
【００３１】
一方、上記Ｓ５０２において、ＵＳＢ接続がなされていないと判断した場合（Ｓ５０２でＮｏの場合）、メインＣＰＵ２１１は、Ｓ５０３の処理をスキップし、Ｓ５０４に処理を進める。
【００３２】
Ｓ５０４において、メインＣＰＵ２１１は、ＰＣＩｅ Ｒｏｏｔ Ｃｏｍｐｌｅｘ２１４経由で、ＰＣＩｅ制御部１０４に対して、ＰＣＩｅでの省電力状態を意味するＤ３ステート（Ｄ３ｃｏｌｄ状態）への移行処理を行う。このＤ３ステートへの移行処理に伴い、ＰＣＩｅ制御部１０４からＣＰＵ１０３へ割り込みが通知される。この割り込みに応じて、ＣＰＵ１０３は、図３を用いて後述する割り込みハンドラの処理を開始する。該Ｓ５０４の処理の後、メインＣＰＵ２１１は、Ｓ５０５に処理を進める。
【００３３】
Ｓ５０５において、メインＣＰＵ２１１は、メインシステム２１０上に動作するオペレーティングシステム（ＯＳ）のＳｌｅｅｐ移行処理を実行する。具体的には、ファイルシステムを使用しているシステム等では、ＦｉｌｅのＳｙｎｃ動作や、各レジスタのＳｕｓｐｅｎｄ処理を行う。そして、該ＯＳのＳｌｅｅｐ移行処理が完了すると、メインＣＰＵ２１１は、信号線２１７を介してメインＣＰＵ２１１が待機状態（Ｓ３状態）に移行した信号をＣＰＬＤ２１５に通知する。該Ｓ５０５の処理で、メインシステム２１０上のＵＳＢ待機モード移行処理は終了する。これにより画像処理装置２００はスリープ状態に移行する。
【００３４】
以下に図３のフローチャートの説明をする。
図３は、サブシステム１００上のＣＰＵ１０３が実行するシーケンスを例示するフローチャートである。このフローチャートの処理は、ＣＰＵ１０３が外部記憶装置２１３等からＤＤＲメモリ１２０に展開されたプログラムを実行することにより実現される。なお、本フローチャートの処理は、前述した図２のＳ５０４の処理により、ＣＰＵ１０３へ割り込みが通知されたことに起因して開始される。
【００３５】
まず、Ｓ６０１において、ＣＰＵ１０３は、ＵＳＢ−Ｄ制御部１０５の持つレジスタにアクセスし、ＵＳＢ待機モードに設定されている（ＵＳＢ待機モードフラグがＯＮ）か否かを判断する。
【００３６】
そして、ＵＳＢ待機モードに設定されている（ＵＳＢ待機モードフラグがＯＮ）と判断した場合（Ｓ６０１でＹｅｓの場合）、ＣＰＵ１０３は、Ｓ６０２において、ＵＳＢ待機モード移行前処理を行う。具体的には、ＣＰＵ１０３がサブシステム１００上に存在するレジスタをＵＳＢ待機モード用の値に設定にする。設定内容の詳細は、本発明の根幹に関係しない処理であるため説明を割愛する。該Ｓ６０２の処理の後、ＣＰＵ１０３は、Ｓ６０４に処理を進める。
【００３７】
一方、上記Ｓ６０１において、ＵＳＢ待機モードに設定されていない（ＵＳＢ待機モードフラグがＯＦＦ）と判断した場合（Ｓ６０１でＮｏの場合）、ＣＰＵ１０３は、Ｓ６０３において、待機モード移行前処理を行う。なお、図４を用いて後述するが、ＵＳＢ待機モードに設定されていない場合、ＣＰＬＤ２１５により、サブシステム１００への電源停止処理（サブシステム全電源ＯＦＦ）が行われるため、上記Ｓ６０３の待機モード移行前処理では、特に処理を行わず電源停止処理を待つ状態にしてもよい。該Ｓ６０３の処理の後、ＣＰＵ１０３は、Ｓ６０４に処理を進める。
【００３８】
Ｓ６０４において、ＣＰＵ１０３は、電力制御部１０６のレジスタを制御することで、所定モジュールの電源遮断指示を行う。具体的には、ＣＰＵ１０３は、例えば、サブシステム１００上にあるＵＳＢ−Ｄ制御部１０５、電力制御部１０６、リセット制御部１０７以外の部分の電力停止処理の開始を指示する。少なくとも、ＣＰＵ１０３は、ＵＳＢ−Ｄ制御部１０５、及び、ＵＳＢ−Ｄ制御部１０５でデータ受信があった場合に画像処理装置２００を省電力状態（ＵＳＢ待機モード）から復帰させるために必要な箇所への電力供給を維持するように指示する。この指示に応じて、電力制御部１０６は、所定時間の遅延の後に、所定モジュール（例えば、サブシステム１００上にあるＵＳＢ−Ｄ制御部１０５、電力制御部１０６、リセット制御部１０７以外の部分）の電力供給を停止する。この電力停止処理が完了すると、電力制御部１０６は、信号線１７０を経由してＣＰＬＤ２１５にＤＯＮＥ信号を通知する。
【００３９】
上記Ｓ６０４の電力停止処理が完了する前に、ＣＰＵ１０３は、Ｓ６０５において、リセット制御部１０７のレジスタを制御することで、所定モジュールのリセット処理を行う。具体的には、ＣＰＵ１０３は、リセット制御部１０７へのレジスタアクセスを行い、ＣＰＵ１０３自身のリセット処理の開始を指示する。
【００４０】
なお、本フローチャートの処理は、ＣＰＵ１０３へ割り込み通知に起因して開始されると記載したが、割り込み通知ではなく、例えばＣＰＵ１０３が定期的にＰＣＩｅ制御部１０４の状態を表すレジスタを参照して（ポーリングにより）、ＰＣＩｅが省電力状態（例えばＤ３等の待機状態）への移行が指示されたと判定されたときに本フローチャートの処理を開始してもよい。すなわち、ＣＰＵ１０３は、ＰＣＩｅ制御部１０４が省電力状態に移行したことを検知可能であり、ＰＣＩｅ制御部１０４が省電力状態に移行したことを検知した場合、本フローチャートの処理を開始する構成であればよい。
【００４１】
また、サブシステム１００がネットワーク制御部を備えている場合、上記Ｓ６０４において、ネットワーク制御部の電力供給も維持するようにしてもよい。
【００４２】
以下に図４のフローチャートの説明をする。
図４は、ＣＰＬＤ２１５がメインＣＰＵ２１１とサブシステム１００の状態を監視して電力制御を行うシーケンスを例示するフローチャートである。本フローチャートの処理は、ＣＰＬＤ２１５がＣＰＬＤ２１５内に書き込まれたプログラム（ファームウェア）に基づいて動作することにより実現される。なお、この処理は、メインシステム２１０が通常状態の場合に実行される。
【００４３】
ＣＰＬＤ２１５は、自身のレジスタにアクセスし、待機モード移行時にＵＳＢＤ制御部１０５の電源を落とさない設定がなされている（ＵＳＢ−Ｄ待機フラグがＯＮ）か否かを判断する（Ｓ９０１）。これは前述したＳ５０３やＳ６０２の処理が行われたかどうかと等価の意味を持つ。
【００４４】
上記Ｓ９０１において、待機モード移行時にＵＳＢＤ制御部１０５の電源を落とさない設定がなされている（ＵＳＢ−Ｄ待機フラグがＯＮ）と判断した場合（Ｓ９０１でＹｅｓの場合）、ＣＰＬＤ２１５は、Ｓ９０４に処理を進める。
【００４５】
Ｓ９０４において、ＣＰＬＤ２１５は、信号線２１７を介してメインＣＰＵ２１１が待機状態（Ｓ３状態）に移行した信号が通知され、且つ、電力制御部１０６からＤＯＮＥ信号が通知されたか否かを判断する。つまり、前述した図２のＳ５０５の処理、加えて図３のＳ６０４の処理が完了し、メインシステム２１０及びサブシステム１００が待機状態に移行する準備が整ったか否かを判断することを意味する。
【００４６】
そして、ＣＰＬＤ２１５は、メインＣＰＵ２１１が待機状態（Ｓ３状態）に移行した信号が通知されていない、又は、電力制御部１０６からＤＯＮＥ信号が通知されていないと判断した場合（Ｓ９０４でＮｏの場合）、ＣＰＬＤ２１５は、Ｓ９０４の判断を継続する。
一方、ＣＰＬＤ２１５は、メインＣＰＵ２１１が待機状態（Ｓ３状態）に移行した信号が通知され、且つ、電力制御部１０６からＤＯＮＥ信号が通知されたと判断した場合（Ｓ９０４でＹｅｓの場合）、ＣＰＬＤ２１５は、Ｓ９０５に処理を進める。
【００４７】
Ｓ９０５において、ＣＰＬＤ２１５は、サブシステム１００の一部（例えばサブシステム１００のうちＵＳＢ待機モードに必要でないモジュール、つまりＵＳＢ−Ｄ制御部１０５及び電力制御部１０６、リセット制御部１０７以外の部分）の電力供給を停止する（電源ＯＦＦする）。ここでは、図３のＳ６０４で遮断される電源のさらに上流で電源ＯＦＦを行う。本Ｓ９０５の処理の後、ＣＰＬＤ２１５は、Ｓ９０６に処理を進める。
Ｓ９０６において、ＣＰＬＤ２１５は、メインシステム２１０においても、待機モードから復帰するために必要なモジュール、つまりＣＰＬＤ２１５以外のモジュールの電力供給を停止する（電源ＯＦＦする）。
これにより、消費電力を最小にしつつ、ＵＳＢ待機モードを実現することができる。
【００４８】
また、上記Ｓ９０１において、待機モード移行時にＵＳＢＤ制御部１０５の電源を落とさない設定がなされていない（ＵＳＢ−Ｄ待機フラグがＯＦＦ）と判断した場合（Ｓ９０１でＮｏの場合）、ＣＰＬＤ２１５は、Ｓ９０２に処理を進める。
Ｓ９０２において、ＣＰＬＤ２１５は、信号線２１７を介してメインＣＰＵ２１１が待機状態（Ｓ３状態）に移行した信号が通知されたか否かを判断する。
【００４９】
そして、メインＣＰＵ２１１が待機状態（Ｓ３状態）に移行した信号が通知されていないと判断した場合（Ｓ９０２でＮｏの場合）、ＣＰＬＤ２１５は、Ｓ９０１に処理を戻す。
一方、ＣＰＬＤ２１５は、メインＣＰＵ２１１が待機状態（Ｓ３状態）に移行した信号が通知されたと判断した場合（Ｓ９０２でＹｅｓの場合）、ＣＰＬＤ２１５は、Ｓ９０３に処理を進める。
【００５０】
Ｓ９０３において、ＣＰＬＤ２１５は、サブシステム１００の全てのモジュールの電力供給を停止し（電源ＯＦＦし）、Ｓ９０６において、メインシステム２１０のうちＣＰＬＤ２１５以外のモジュールの電力供給を停止する（電源ＯＦＦする）。
これにより、ＵＳＢ待機モードである必要がない場合、つまりＵＳＢ Ｈｏｓｔ（ＰＣ等）と接続がなされていない場合は、サブシステム１００の全モジュールの電力供給を停止することで、さらに消費電力を抑えることができる。なお、上記Ｓ９０３では、図３のＳ６０４で遮断される電源のさらに上流で電源ＯＦＦを行うものとする。
【００５１】
なお、サブシステム１００がネットワーク制御部を備え、該ネットワーク制御部がネットワークに接続されている場合にも、Ｓ９０４に処理を進めるようにしてもよい。この場合、上記Ｓ９０５において、ネットワーク制御部の電力供給も維持するようにしてもよい。
【００５２】
以下、図５、図６のフローチャートを用いて、ＵＳＢ待機モードからの復帰処理シーケンスについて説明する。
【００５３】
以下、図５のフローチャートについて説明する。
図５は、サブシステム１００上のＵＳＢ−Ｄ制御部１０５および電力制御部１０６、そしてメインシステム２１０上のＣＰＬＤ２１５のハードウェア的な動作の流れを例示するフローチャートである。
【００５４】
図２、図３及び図４のシーケンスを終了した画像処理装置２００は、ＵＳＢ待機モードになっている。このＵＳＢ待機モードにおいて、ＵＳＢ−Ｄ制御部１０５は、ＵＳＢホストからパケットをＵＳＢ Ｉ／Ｆ１４０経由で投入されるかを監視し、ＵＳＢパケットの投入を待っている（Ｓ７０１）。
【００５５】
ＵＳＢ−Ｄ制御部１０５は、ＵＳＢホストからパケットをＵＳＢ Ｉ／Ｆ１４０経由で受信したと判断した場合（Ｓ７０１でＹｅｓの場合）、Ｓ７０２に処理を進める。
Ｓ７０２において、ＵＳＢ−Ｄ制御部１０５は、ＮＡＫ応答をＵＳＢホストに対して応答すると同時に、電力制御部１０６に対してパケット受信割り込みを通知する。
【００５６】
上記Ｓ７０２の受信割り込み通知を受けた電力制御部１０６は、ＣＰＬＤ２１５に対して、ＵＳＢ−Ｄ制御部からの受信割り込み通知を連絡する（Ｓ７０３）。
上記Ｓ７０３の受信割り込み通知の連絡を受けたＣＰＬＤ２１５は、メインシステム２１０及びサブシステム１００に対する待機状態解除処理を実行する（Ｓ７０４）。具体的には、ＣＰＬＤ２１５は、メインシステム２１０全体、及び、サブシステム１００全体への電力供給を開始する。さらに、該電力供給によりメインＣＰＵ２１１が起動すると、ＣＰＬＤ２１５は、メインＣＰＵ２１１に対してＵＳＢ待機モード復帰指令を送信する。ＵＳＢ待機モード復帰のハードウェア処理は、これで終了し、続いて以下に図６に示すソフトシーケンスを説明する。
【００５７】
以下、図６のフローチャートについて説明する。
図６は、メインＣＰＵ２１１が処理を行うソフトシーケンスを例示するフローチャートである。このフローチャートの処理は、メインＣＰＵ２１１が外部記憶装置２１３等からメインメモリ２１２に展開されたプログラムを実行することにより実現される。
【００５８】
メインＣＰＵ２１１は、ＣＰＬＤ２１５からのＵＳＢ待機モード復帰指令を受けると、ＯＳのレジューム処理を開始する（Ｓ８０１）。
続いて、Ｓ８０２において、メインＣＰＵ２１１は、各ドライバの復帰処理を行う。具体的には、本発明にかかる部分では、メインＣＰＵ２１１は、ＰＣＩｅに関するレジューム処理、及びＵＳＢ−Ｄに関するレジューム処理を行う。該Ｓ８０２の処理でＰＣＩｅのレジューム処理が完了すると、ＰＣＩｅリンクが確立し、ＰＣＩｅデバイスとしてのサブシステム１００が、メインＣＰＵ２１１から制御可能になる。
【００５９】
次に、Ｓ８０３において、メインＣＰＵ２１１は、リセット制御部１０７に、ＤＤＲメモリ制御部１０１に対してのリセット解除指示を行う。
その後、Ｓ８０４において、メインＣＰＵ２１１は、ＤＤＲメモリ制御部１０１に対して初期設定を行う。この処理により、メインＣＰＵ２１１から、ＤＤＲメモリ１２０がアクセス可能になる。
上記Ｓ８０４の処理が終了すると、ＣＰＵ２１１は、サブシステム１００の処理プログラムをＤＤＲメモリ１２０にロードする（Ｓ８０５）。
【００６０】
該Ｓ８０５の処理の後、メインＣＰＵ２１１は、リセット制御部１０７のレジスタを制御することにより、サブシステム１００のＣＰＵ１０３のリセットを解除する（Ｓ８０６）。この処理によりサブシステム１００は、自身上に存在するＣＰＵ１０３の制御下で動作し始めることが可能になる。また、上記Ｓ８０２の処理の後、ＵＳＢ−Ｄのドライバのレジューム処理が行われたことにより、メインＣＰＵ２１１によりＵＳＢ−Ｄ制御部１０５が制御可能になり、ＵＳＢホストからの受信パケットを処理できるようになる。具体的には、上記Ｓ７０２処理で設定したＮＡＫ応答設定を解除し、データ受信を再開する。
【００６１】
以上の処理によって、サブシステム１００は、通常の動作モードに復帰し、メインシステム２１０と共に画像処理装置２００がＵＳＢ−Ｄ待機モードから復帰する。
【００６２】
なお、本実施例では、本発明を、ＵＳＢインタフェースを介して外部のＵＳＢデバイスと接続可能な構成例を用いて説明した。しかし、サンダーボルト（ｔｈｕｎｄｅｒｂｏｌｔ）等の他のインタフェースを用いて外部のデバイスと接続可能な構成でもよい。
【００６３】
以上示したように、本実施例の画像処理装置２００では、メインシステム（Ｒｏｏｔ Ｃｏｍｐｌｅｘ）とサブシステム（Ｅｎｄ Ｐｏｉｎｔ）がＰＣＩｅで接続されるシステム全体を省電力状態に移行する場合、メインシステム２１０がＰＣＩｅのレジスタを操作してＰＣＩｅ制御部１０４を省電力（Ｄ３）状態への移行を指示し、指示に応じてＰＣＩｅ制御部１０４が省電力状態に移行し、該移行に伴いサブシステム１００のＣＰＵ１０３に割り込みを通知し、該割り込みを受けてＣＰＵ１０３が、電力制御部１０６のレジスタを操作してサブシステム１００を一部電源ＯＦＦの省電力状態へ移行させる構成を有する。この構成により、メインシステム２１０とサブシステム１００を接続するＰＣＩｅを省電力状態にした上で、サブシステム１００を省電力状態にすることを可能にすることができる。
【００６４】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
【００６５】
（その他の実施例）
本発明は、上述の実施例の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施例の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【００６６】
２１０    メインシステム
２１１    メインＣＰＵ
２１４    ＰＣＩｅ Ｒｏｏｔ Ｃｏｍｐｌｅｘ
２１５    ＣＰＬＤ
１００    サブシステム
１０４    ＰＣＩｅ制御部
１０５    ＵＳＢ−Ｄ制御部
１０６    電力制御部
１３０    ＰＣＩｅ
【図１】
2016170649.tif 000003
【図２】
2016170649.tif 000004
【図３】
2016170649.tif 000005
【図４】
2016170649.tif 000006
【図５】
2016170649.tif 000007
【図６】
2016170649.tif 000008