(57)【要約】【課題】ＵＳＢの通信やジョブ実行の高速化を実現しつつ、省電力化についても実現できる電子機器、通信処理方法及びプログラム等の提供。【解決手段】電子機器１０は、ＵＳＢの通信バスＢＳを介して通信を行う通信部３０と、通信部３０の制御を行う処理部２０を含む。処理部２０は、通信バスＢＳに接続されるホスト機器から省電力移行要求を受信したときに、省電力移行条件が成立している場合は、省電力移行要求を許可して、通信バスＢＳを省電力状態に移行させ、省電力移行条件が成立していない場合は、省電力移行要求を拒否して、通信バスＢＳを省電力状態に移行させないようにする。【選択図】図１
2019057132.tif 000002
【特許請求の範囲】
【請求項１】
ＵＳＢの通信バスを介して通信を行う通信部と、
前記通信部の制御を行う処理部と、
を含み、
前記処理部は、
前記通信バスに接続されるホスト機器から省電力移行要求を受信したときに、省電力移行条件が成立している場合は、前記省電力移行要求を許可して、前記通信バスを省電力状態に移行させ、前記省電力移行条件が成立していない場合は、前記省電力移行要求を拒否して、前記通信バスを省電力状態に移行させないことを特徴とする電子機器。
【請求項２】
請求項１において、
前記処理部は、
電子機器の状態が第１の状態である場合は、前記省電力移行条件が成立していると判定し、電子機器の状態が第２の状態である場合は、前記省電力移行条件が成立していないと判定することを特徴とする電子機器。
【請求項３】
請求項２において、
前記第１の状態は、前記第２の状態よりも電子機器が低消費電力となる状態であることを特徴とする電子機器。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記処理部は、
前記省電力移行要求が、前記通信バスを第１の省電力状態に移行させる要求である場合は、前記省電力移行条件が成立していると判定し、前記省電力移行要求が、前記通信バスを第２の省電力状態に移行させる要求である場合は、前記省電力移行条件が成立していないと判定することを特徴とする電子機器。
【請求項５】
請求項４において、
前記第２の省電力状態は、前記第１の省電力状態よりも、消費電力が小さい及び通常状態への復帰時間が長いの少なくとも一方となる省電力状態であることを特徴とする電子機器。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記処理部は、
前記通信バスを介して発行されたコマンドが第１のコマンドである場合は、前記省電力移行条件が成立していると判定し、前記コマンドが第２のコマンドである場合は、前記省電力移行条件が成立していないと判定することを特徴とする電子機器。
【請求項７】
請求項６において、
前記処理部は、
前記通信バスを介して発行されたコマンドが、コマンドに続いて送るべき情報がないコマンドである場合は、前記省電力移行条件が成立していると判定し、コマンドに続いて送るべき情報があるコマンドである場合は、前記省電力移行条件が成立していないと判定することを特徴とする電子機器。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記処理部は、
前記通信部が前記ホスト機器から一連のデータを受信する場合に、前記一連のデータの転送中は、前記省電力移行条件が成立していないと判定し、前記一連のデータの転送終了後は、前記省電力移行条件が成立していると判定することを特徴とする電子機器。
【請求項９】
請求項８において、
前記一連のデータは印刷データであり、
前記処理部は、
印刷開始コマンドの受信後であり、且つ、印刷終了コマンドの受信前は、前記省電力移行条件が成立していないと判定し、前記印刷終了コマンドの受信後は、前記省電力移行条件が成立していると判定することを特徴とする電子機器。
【請求項１０】
請求項１乃至９のいずれかにおいて、
前記ＵＳＢの通信バスは、ＵＳＢ３．０又はＵＳＢ３．１の規格に準拠した通信バスであることを特徴とする電子機器。
【請求項１１】
ＵＳＢの通信バスを用いた通信処理方法であって、
前記通信バスに接続されるホスト機器から省電力移行要求を受信したときに、省電力移行条件が成立している場合は、前記省電力移行要求を許可して、前記通信バスを省電力状態に移行させ、
前記ホスト機器から前記省電力移行要求を受信したときに、前記省電力移行条件が成立していない場合は、前記省電力移行要求を拒否して、前記通信バスを省電力状態に移行させないことを特徴とする通信処理方法。
【請求項１２】
ＵＳＢの通信バスを介して通信を行う通信部と、
前記通信部の制御を行う処理部として、
コンピューターを機能させ、
前記処理部は、
前記通信バスに接続されるホスト機器から省電力移行要求を受信したときに、省電力移行条件が成立している場合は、前記省電力移行要求を許可して、前記通信バスを省電力状態に移行させ、前記省電力移行条件が成立していない場合は、前記省電力移行要求を拒否して、前記通信バスを省電力状態に移行させないことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器、通信処理方法及びプログラム等に関する。
【背景技術】
【０００２】
ホスト機器とペリフェラルデバイスとの間でシリアルの通信バスを介して高速に通信を行うための規格としてＵＳＢ（Universal Serial Bus）が知られている。例えばＵＳＢ３．０では、従来のＵＳＢ２．０のＨＳ（High Speed）モードに加えて、５Ｇｂｐｓでの高速通信が可能なＳＳ（Super Speed）モードが用意されている。このようなＵＳＢ３．０のＳＳモードの通信を実現するペリフェラルデバイスの従来技術としては特許文献１に開示される技術がある。特許文献１では、ＵＳＢ３．０のＳＳのプロトコル回路等を有するＳＳ処理部と、ＵＳＢ２．０のプロトコル回路等を有するＮｏｎ−ＳＳ処理部を、ペリフェラルデバイスに設けている。そしてペリフェラルデバイスのＳＳ処理部とＮｏｎ−ＳＳ処理部が低電力状態になるようにホスト機器が制御する処理について開示されている。具体的には、ＳＳ処理部については、ＵＳＢ３．０の規格で定められるＵ１、Ｕ２又はＵ３の低電力状態になるように制御する。Ｎｏｎ−ＳＳ処理部については、ＵＳＢ２．０の規格で定められるＬ１（スリープ）又はＬ２（サスペンド）の低電力状態になるように制御する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−２１８２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＵＳＢの通信バスを省電力状態にすると、ＵＳＢの通信の際に、まず初めに、省電力状態を非省電力状態に復帰させる必要がある。このため、この復帰期間がタイムロスとなって、ＵＳＢの通信の開始が遅れてしまうという問題が生じる。またホスト機器によってはコマンドを発行する毎に省電移行要求を行う場合があり、省電力移行要求に対して処理を行う電子機器の処理負荷が過大になってしまうという問題もある。一方、ＵＳＢを用いた通信システムでは、省電力化についても実現する必要がある。
【０００５】
本発明の幾つかの態様によれば、ＵＳＢの通信やジョブ実行の高速化を実現しつつ、省電力化についても実現できる電子機器、通信処理方法及びプログラム等を提供できる。
【課題を解決するための手段】
【０００６】
本発明の一態様は、ＵＳＢの通信バスを介して通信を行う通信部と、前記通信部の制御を行う処理部と、を含み、前記処理部は、前記通信バスに接続されるホスト機器から省電力移行要求を受信したときに、省電力移行条件が成立している場合は、前記省電力移行要求を許可して、前記通信バスを省電力状態に移行させ、前記省電力移行条件が成立していない場合は、前記省電力移行要求を拒否して、前記通信バスを省電力状態に移行させない電子機器に関係する。
【０００７】
本発明の一態様によれば、省電力移行条件が成立している場合には、ホスト機器からの省電力移行要求が許可されて、省電力状態に移行するため、省電力化を実現できる。一方、省電力移行条件が成立していない場合には、ホスト機器からの省電力移行要求が拒否されるようになるため、復帰時間がタイムロスとなってコマンドの実行が遅れてしまうのを防止できるようになる。従って、ＵＳＢの通信やジョブ実行の高速化と省電力化とを両立して実現できる電子機器等の提供が可能になる。
【０００８】
また本発明の一態様では、前記処理部は、電子機器の状態が第１の状態である場合は、前記省電力移行条件が成立していると判定し、電子機器の状態が第２の状態である場合は、前記省電力移行条件が成立していないと判定してもよい。
【０００９】
このようにすれば、電子機器の状態に応じて、省電力移行条件の成立の可否を判定して、ホスト機器からの省電力移行要求を許可したり、拒否したりすることが可能になる。
【００１０】
また本発明の一態様では、前記第１の状態は、前記第２の状態よりも電子機器が低消費電力となる状態であってもよい。
【００１１】
このようにすれば、電子機器が、第２の状態よりも消費電力が小さい第１の状態である場合には、省電力移行要求が許可され、第１の状態よりも消費電力が大きい第２の状態である場合には、省電力移行要求が拒否されるようになる。
【００１２】
また本発明の一態様では、前記処理部は、前記省電力移行要求が、前記通信バスを第１の省電力状態に移行させる要求である場合は、前記省電力移行条件が成立していると判定し、前記省電力移行要求が、前記通信バスを第２の省電力状態に移行させる要求である場合は、前記省電力移行条件が成立していないと判定してもよい。
【００１３】
このようにすれれば、第１の省電力状態への省電力移行要求である場合は、省電力移行要求が許可されて、第１の省電力状態に移行するようになり、第２の省電力状態への省電力移行要求である場合には、省電力移行要求が拒否されて、第２の省電力状態には移行しないようになる。
【００１４】
また本発明の一態様では、前記第２の省電力状態は、前記第１の省電力状態よりも、消費電力が小さい及び通常状態への復帰時間が長いの少なくとも一方となる省電力状態であってもよい。
【００１５】
例えば第２の省電力状態は、第１の省電力状態よりも、消費電力が小さく且つ復帰時間が長い省電力状態である。或いは、第２の省電力状態は、第１の省電力状態よりも、消費電力が小さいか、又は、復帰時間が長い省電力状態であってもよい。
【００１６】
また本発明の一態様では、前記処理部は、前記通信バスを介して発行されたコマンドが第１のコマンドである場合は、前記省電力移行条件が成立していると判定し、前記コマンドが第２のコマンドである場合は、前記省電力移行条件が成立していないと判定してもよい。
【００１７】
このようにすれば、通信バスを介して発行されたコマンドの種類や内容に応じて、省電力移行条件の成立の可否を判定して、ホスト機器からの省電力移行要求を許可したり、拒否したりすることが可能になる。
【００１８】
また本発明の一態様では、前記処理部は、前記通信バスを介して発行されたコマンドが、コマンドに続いて送るべき情報がないコマンドである場合は、前記省電力移行条件が成立していると判定し、コマンドに続いて送るべき情報があるコマンドである場合は、前記省電力移行条件が成立していないと判定してもよい。
【００１９】
このようにすれば、コマンドに続いて送るべき情報があるコマンドの場合には、ホスト機器からの省電力移行要求を拒否することで、高速化を図れるようになる。一方、コマンドに続いて送るべき情報がないコマンドの場合には、省電力移行要求を許可することで、省電力化を図れるようになる。
【００２０】
また本発明の一態様では、前記処理部は、前記通信部が前記ホスト機器から一連のデータを受信する場合に、前記一連のデータの転送中は、前記省電力移行条件が成立していないと判定し、前記一連のデータの転送終了後は、前記省電力移行条件が成立していると判定してもよい。
【００２１】
このようにすれば、一連のデータの転送中には、省電力移行要求が拒否されるため、省電力状態に移行してしまう事態を防止できるようになる。そして、一連のデータの転送終了後は、省電力移行要求が許可されるため、一連のデータの転送終了後に省電力状態に移行して、省電力化を図れるようになる。
【００２２】
また本発明の一態様では、前記一連のデータは印刷データであり、前記処理部は、印刷開始コマンドの受信後であり、且つ、印刷終了コマンドの受信前は、前記省電力移行条件が成立していないと判定し、前記印刷終了コマンドの受信後は、前記省電力移行条件が成立していると判定してもよい。
【００２３】
このようにすれば、一連の印刷データの受信中は、省電力状態に移行しないようになり、印刷データの高速転送が可能になる。そして、印刷終了コマンドを受信した後は、省電力移行要求を許可することで、省電力状態に移行するようになり、省電力化を図れる。
【００２４】
また本発明の一態様では、前記ＵＳＢの通信バスは、ＵＳＢ３．０又はＵＳＢ３．１の規格に準拠した通信バスであってもよい。
【００２５】
但し、本発明の通信バスは、これに限定されず、ＵＳＢ３．０又はＵＳＢ３．１を発展させた規格に準拠した通信バスであってもよい。
【００２６】
また本発明の他の態様は、ＵＳＢの通信バスを用いた通信処理方法であって、前記通信バスに接続されるホスト機器から省電力移行要求を受信したときに、省電力移行条件が成立している場合は、前記省電力移行要求を許可して、前記通信バスを省電力状態に移行させ、前記ホスト機器から前記省電力移行要求を受信したときに、前記省電力移行条件が成立していない場合は、前記省電力移行要求を拒否して、前記通信バスを省電力状態に移行させない通信処理方法に関係する。
【００２７】
また本発明の他の態様は、ＵＳＢの通信バスを介して通信を行う通信部と、前記通信部の制御を行う処理部として、コンピューターを機能させ、前記処理部は、前記通信バスに接続されるホスト機器から省電力移行要求を受信したときに、省電力移行条件が成立している場合は、前記省電力移行要求を許可して、前記通信バスを省電力状態に移行させ、前記省電力移行条件が成立していない場合は、前記省電力移行要求を拒否して、前記通信バスを省電力状態に移行させないプログラムに関係する。
【図面の簡単な説明】
【００２８】
【図１】本実施形態の電子機器の構成例。
【図２】ＰＣ（ホスト機器）とプリンター（電子機器）のＵＳＢ接続の説明図。
【図３】ＵＳＢの通信処理についての説明図。
【図４】移行可能な省電力状態についての説明図。
【図５】従来の問題点を説明する通信シーケンス図。
【図６】本実施形態の手法を説明する通信シーケンス図。
【図７】本実施形態の手法の第１の適用例を説明する通信シーケンス図。
【図８】本実施形態の手法の第２の適用例を説明する通信シーケンス図。
【図９】省電力状態Ｕ１、Ｕ２の説明図。
【図１０】本実施形態の手法の第３の適用例を説明する通信シーケンス図。
【図１１】通常状態Ｕ０から省電力状態Ｕ１への移行許可の通信シーケンス図。
【図１２】通常状態Ｕ０から省電力状態Ｕ１への移行拒否の通信シーケンス図。
【図１３】省電力状態Ｕ１から通常状態Ｕ０への復帰の通信シーケンス図。
【図１４】通常状態Ｕ０から省電力状態Ｕ２への移行許可の通信シーケンス図。
【図１５】通常状態Ｕ０から省電力状態Ｕ２への移行拒否の通信シーケンス図。
【図１６】省電力状態Ｕ２から通常状態Ｕ０への復帰の通信シーケンス図。
【図１７】通常状態Ｌ０から省電力状態Ｌ１への移行許可の通信シーケンス図。
【図１８】通常状態Ｌ０から省電力状態Ｌ１への移行拒否の通信シーケンス図。
【図１９】省電力状態Ｌ１から通常状態Ｌ０への復帰の通信シーケンス図。
【図２０】Ｕ０、Ｕ１、Ｕ２のステート遷移図。
【図２１】省電力状態Ｕ１からＵ２へのタイムアウトによる移行を説明する通信シーケンス図。
【図２２】タイムアウト時間の経過前に強制的に通常状態Ｕ０に復帰させる手法の通信シーケンス図。
【発明を実施するための形態】
【００２９】
以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【００３０】
１．電子機器
図１に本実施形態の電子機器１０の構成例を示す。電子機器１０は、処理部２０、通信部３０を含む。また電子機器１０は、記憶部５０、操作部６０、表示部７０、印刷部８０を更に含むことができる。これらの処理部２０、通信部３０、記憶部５０、操作部６０、表示部７０、印刷部８０は、電子機器１０の内部バス等の信号配線を介して電気的に接続されている。
【００３１】
なお電子機器１０は図１の構成に限定されず、これらの一部の構成要素（例えば操作部、表示部又は印刷部等）を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。また電子機器１０は、例えばプリンター（印刷装置）である。或いは電子機器１０は、スキャナー、ファクシミリ装置又はコピー機であってもよい。電子機器１０は、複数の機能を有する複合機（ＭＦＰ：Multifunction Peripheral）であってもよく、印刷機能を有する複合機もプリンターの一例である。或いは電子機器１０は、プロジェクター、頭部装着型表示装置、ウェアラブル機器（リスト型ウェアラブル機器等）、生体情報測定機器（脈拍計、歩数計又は活動量計等）、ロボット、映像機器（カメラ等）、携帯情報端末（スマートフォン、携帯ゲーム機等）又は物理量計測機器等であってもよい。
【００３２】
処理部２０（プロセッサー、コントローラー）は、電子機器１０の各部（通信部、記憶部、印刷部等）の制御を行ったり、本実施形態の各種の処理を行う。例えば処理部２０は、メインＣＰＵ２１、サブＣＰＵ２２などの複数のＣＰＵ（ＭＰＵ、マイコン）を含むことができる。メインＣＰＵ２１（メイン制御基板）は、電子機器１０の各部の制御や全体的な制御を行う。サブＣＰＵ２２は、例えば電子機器１０がプリンターである場合には、印刷についての各種の処理を行う。或いは通信処理のためのＣＰＵを更に設けてもよい。
【００３３】
処理部２０が行う本実施形態の各処理（各機能）は、プロセッサー（ハードウェアを含むプロセッサー）により実現できる。例えば本実施形態の各処理は、プログラム等の情報に基づき動作するプロセッサーと、プログラム等の情報を記憶するメモリー（記憶装置）により実現できる。ここでのプロセッサーは、例えば各部の機能が個別のハードウェアで実現されてもよいし、或いは各部の機能が一体のハードウェアで実現されてもよい。例えば、プロセッサーはハードウェアを含み、そのハードウェアは、デジタル信号を処理する回路及びアナログ信号を処理する回路の少なくとも一方を含むことができる。例えば、プロセッサーは、回路基板に実装された１又は複数の回路装置（例えばＩＣ等）や、１又は複数の回路素子（例えば抵抗、キャパシター等）で構成することができる。プロセッサーは、例えばＣＰＵであってもよい。ただし、プロセッサーはＣＰＵに限定されるものではなく、ＧＰＵ（Graphics Processing Unit）、或いはＤＳＰ（Digital Signal Processor）等、各種のプロセッサーを用いることが可能である。またプロセッサーはＡＳＩＣによるハードウェア回路でもよい。
【００３４】
通信部３０（通信インターフェース）は、少なくとも１つの通信デバイス（通信ＩＣ、インターフェースＩＣ）により実現できる。通信部３０は例えばＵＳＢの通信処理を行う。例えば通信部３０は、ＵＳＢの通信バスＢＳを介してホスト機器（外部機器）との間で高速シリアル通信のインターフェース処理を行う。この場合には通信部３０は、ＵＳＢのデバイスコントローラーのＩＣ等により実現される。或いは通信部３０が、ブルートゥース（Bluetoothは登録商標）やＷｉ−Ｆｉ（登録商標）の規格に準拠した無線通信処理を行ってもよい。
【００３５】
記憶部５０（記憶装置、メモリー）は、データやプログラムなどの各種の情報を記憶する。処理部２０や通信部３０は例えば記憶部５０をワーク領域として動作する。記憶部５０は、ＳＲＡＭ、ＤＲＡＭなどの半導体メモリーであってもよいし、レジスターであってもよいし、ハードディスク装置（ＨＤＤ）などの磁気記憶装置であってもよいし、光学ディスク装置等の光学式記憶装置であってもよい。例えば、記憶部５０はコンピューターにより読み取り可能な命令を格納しており、当該命令が処理部２０（プロセッサー）により実行されることで、電子機器１０の各部（通信部、処理部）の機能が実現されることになる。ここでの命令は、プログラムを構成する命令セットの命令でもよいし、処理部２０（プロセッサー）のハードウェア回路に対して動作を指示する命令であってもよい。
【００３６】
操作部６０（操作パネル）は、ユーザーが入力操作を行うためのものであり、操作ボタン、キー又はタッチセンサーなどにより実現できる。表示部７０（ディスプレイ）は、各種の情報を表示するものであり、液晶や有機ＥＬなどのディスプレイにより実現できる。なお操作部６０及び表示部７０は、例えばタッチパネルにより一体的に構成してもよい。
【００３７】
印刷部８０は印刷エンジンにより実現される。印刷エンジンとは、印刷媒体への画像の印刷を実行する機械的構成である。印刷エンジンは、例えば搬送機構やインクジェット方式の吐出ヘッド、当該吐出ヘッドを含むキャリッジの駆動機構等を含む。印刷エンジンは、搬送機構により搬送される印刷媒体（紙や布）に対して、吐出ヘッドからインクを吐出することで、印刷媒体に画像を印刷する。なお、印刷エンジンの具体的構成はここで例示したものに限られず、レーザー方式でトナーにより印刷するものでもよい。また印刷部８０は、印刷エンジンの稼働状態に関わる各種の物理量を検出するセンサーや、検出結果をカウントするカウンター等を含んでもよい。センサーやカウンターを用いることで、例えば搬送機構の駆動量（モーターの回転量）や、吐出ヘッドの往復回数、インクの消費量等の情報を取得できる。
【００３８】
例えば図１の処理部２０、通信部３０は、プログラムに基づいて本実施形態の各処理を行うことができる。このプログラムは、例えばコンピューターにより読み取り可能な媒体である情報記憶媒体に格納できる。情報記憶媒体は、例えば光ディスク、メモリーカード、ＨＤＤ、或いは半導体メモリー（ＲＯＭ）などにより実現できる。処理部２０、通信部３０は、情報記憶媒体に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体には、本実施形態の各部としてコンピューター（入力装置、処理部、記憶部、出力部を備える装置）を機能させるためのプログラム（各部の処理をコンピューターに実行させるためのプログラム）が記憶される。
【００３９】
図２は、電子機器１０の一例であるプリンター２１０と、ホスト機器９０の一例であるＰＣ２２０（パーソナルコンピューター）とが、ＵＳＢの通信バスＢＳを有するＵＳＢケーブル２３０により接続されている。そしてプリンター２１０は、ＰＣ２２０からＵＳＢケーブル２３０（通信バスＢＳ）を介して印刷データを受信する。またプリンター２１０の各種のステータス情報はプリンター２１０からＵＳＢケーブル２３０を介してＰＣ２２０に送信される。またプリンター２１０が例えばスキャナーの機能も有する複合機である場合には、プリンター２１０のスキャナーにより読み取ったデータが、プリンター２１０からＵＳＢケーブル２３０を介してＰＣ２２０に送信される。
【００４０】
次にＵＳＢ３．０の通信処理について図３を用いて説明する。なお、以下では、通信バスＢＳがＵＳＢ３．０の規格に準拠したバスである場合を主に例にとり説明するが、本実施形態における通信バスＢＳは、ＵＳＢ３．１などのＵＳＢ３．０を発展させた規格に準拠したバスであってもよい。ＵＳＢ３．１ではＵＳＢ３．０よりもデータ転送速度が高速化されており、ＵＳＢ３．０の５Ｇｂｐｓのデータ転送モード（Super Speed（Gen1））に加えて、更に高速な１０Ｇｂｐｓのデータ転送モード（Super Speed Plus（Gen2））が追加されている。
【００４１】
図３に示すように電子機器１０の通信部３０は、例えばＵＳＢデバイスコントローラー（ＩＣ）により実現され、ＳＳ処理部３４とＮｏｎ−ＳＳ処理部３６を有する。ＳＳ処理部３４は、例えばＵＳＢ３．０（又はＵＳＢ３．１。以下、同様）に準拠したＳＳ（Super Speed）モードの物理層やリンク層やプロトコル層の処理などを行う。Ｎｏｎ−ＳＳ処理部３６は、例えばＵＳＢ２．０のＨＳ（High Speed）モード、ＦＳ（Full Speed ）モード、ＬＳ（Low Speed）モードの物理層やリンク層やプロトコル層の処理などを行う。
【００４２】
ホスト機器９０の通信部９２は、例えばＵＳＢホストコントローラー（ＩＣ）により実現され、ＳＳ処理部９４とＮｏｎ−ＳＳ処理部９６を有する。ＳＳ処理部９４は、例えばＵＳＢ３．０に準拠したＳＳモードの物理層やリンク層やプロトコル層の処理などを行う。Ｎｏｎ−ＳＳ処理部９６は、例えばＵＳＢ２．０のＨＳモード、ＬＳモード、ＦＳモードの物理層やリンク層やプロトコル層の処理などを行う。
【００４３】
ＵＳＢの通信バスＢＳを有するＵＳＢケーブル２３０は、電子機器１０のＵＳＢコネクター２３２（ダウンストリームポート）とホスト機器９０のＵＳＢコネクター２３４（アップストリームポート）に接続される。
【００４４】
ＵＳＢ３．０では、ＵＳＢ２．０のＨＳモードに加えて、ＳＳモードが導入されている。ＨＳモードでは、同じ通信線を送信と受信で切り替えて通信する半二重通信が行われるが、ＳＳモードでは、送信と受信の各々に専用の通信線を持つ全二重通信が行われる。このため図３に示すように、ＵＳＢケーブル２３０の通信バスＢＳは、ＳＳ用の通信線（送信用通信線、受信用通信線）と、ＨＳなどのＮｏｎ−ＳＳ用の通信線（送受信兼用の通信線）を有している。このようにＳＳモードでは、全二重通信を行うことで、ＨＳモードの１０倍程度である５Ｇｂｐｓの高速転送を実現している。そしてＵＳＢ３．０では、ＵＳＢ２．０との下位互換を維持しながら、大きく変更された物理層の差を吸収するために、リンク層に種々の役割を持たせている。具体的には、リンク層は、リンク・トレーニング、パワーマネージメント、フレーミング、フロー・コントロールとバッファーのマネージメントを行う。
【００４５】
ＵＳＢ３．０では、対向側の接続状態を知る手段として、ＰＣＩ Ｅｘｐｒｅｓｓと同様に、レシーバー検出と呼ばれる処理が行われる。レシーバー検出は、対向側が接続状態にあるか否かを電気的且つ周期的に判断するものである。そしてレシーバー検出により、対向側の存在を把握できた場合に、リンク・トレーニングのシーケンスを実施して、物理的及び論理的に接続状態を確認する。即ちリンク先のデバイスとの同期が取られ、リンクが確立される。
【００４６】
具体的にはＵＳＢ３．０では、ＬＴＳＳＭ（Link Training Status State Machine）によりシリアル通信バスのリンク・ステートが管理される。このＬＴＳＳＭによりリンクのパワーマネージメントが行われる。例えばＵＳＢ３．０の全二重通信では、リンクがアクティブになると、アイドル状態であってもアイドル信号を使用して通信が継続される。このため、電力消費量が多くなり、ＬＴＳＳＭによるパワーマネージメントにより、必要のないデバイスは通信を止めて省電力状態に移行できるようにしている。
【００４７】
具体的にはＬＴＳＳＭによるパワーマネージメントのステートとして、Ｕ０、Ｕ１、Ｕ２、Ｕ３のステートが規定されている。Ｕ０は、通常状態であり、リンク先とのパケット転送が行われるステートである。Ｕ１は、省電力状態であり、リンク先とのパケット転送は行われず、例えば送信／受信回路が停止する。即ちＵ１では、パケットの転送が停止し、リンクの両側が省電力状態に移行する。但し低周波バースト信号であるＬＦＰＳ（Low Frequency Periodic Signaling）の送信が可能な程度にシステムの稼働状態を維持しておくことが要求される。Ｕ２は、Ｕ１よりも低電力の省電力状態であるが、Ｕ１よりも復帰時間（latency）がかかるステートであり、例えばクロック生成回路の停止などが行われる。Ｕ１からＵ２へは、例えばタイマーによるタイムアウトがトリガーとなって遷移する。このタイマーは、ＬＦＰＳ．Ｐｉｎｇを受信するごとにリセット／リスタートされる。つまり、リンクの両側がどちらもＵ１に移行し、定期的にＬＦＰＳ．Ｐｉｎｇを送り続けている限り、Ｕ１のステートが維持される。Ｕ３は、サスペンド状態に移行させるステートであり、最も低消費電力のステートである。
【００４８】
リンク層では、パワーマネージメント用のリンク・コマンドとして、ＬＧＯ＿ＵＸ（Ｕ１、Ｕ２、Ｕ３への移行要求）、ＬＡＵ（移行要求の許可）、ＬＸＵ（移行要求の拒否）、ＬＰＭＡ（ＬＡＵの受信通知）が用意されている。これらのリンク・コマンドを用いることで、リンク層によりパワーマネージメントを行えるようになるため、プロトコル層やアプリケーション層の処理負荷を軽減できる。
【００４９】
２．本実施形態の手法
図４に示すように、ホスト機器９０がＵＳＢ３．０に非対応である場合には、ＵＳＢの通信速度はＨＳになり、省電力状態Ｌ１への移行が可能になる。例えばＵＳＢ２．０においても、ＬＰＭ（Link Power Management）のステートとして、Ｌ１（スリープ）、Ｌ２（サスペンド）などのステートが追加で定義されている。一方、ホスト機器９０がＵＳＢ３．０に対応している場合には、ＵＳＢの通信速度はＳＳになり、例えば省電力状態Ｕ１、Ｕ２への移行が可能になる。これらのＬ１、Ｕ１、Ｕ２は、ホスト側からの移行要求に対してデバイス側が拒否可能な省電力状態である。例えばＬ２、Ｕ３などは、ホスト側から移行要求に対して拒否できないステートである。
【００５０】
そして、ＵＳＢの通信バスＢＳが省電力状態になると、ＵＳＢの通信の際に、まず初めに、省電力状態から復帰する必要がある。このため、この復帰時間がタイムロスとなって、ＵＳＢの通信の開始が遅れてしまうという問題が発生する。
【００５１】
例えば図５に示すように、ホスト機器９０（ＵＳＢホスト）が電子機器１０（ＵＳＢデバイス）に対して省電力移行要求（省電力状態への移行要求）を行い、電子機器１０が移行要求を許可すると、ＵＳＢの通信バスＢＳは省電力状態になる。このように省電力状態になったときに、ホスト機器９０がコマンドを送信したい場合には、省電力復帰要求（省電力状態への復帰要求）を行い、電子機器１０が、この復帰要求を許可する必要がある。そして復帰要求の許可により、通信バスＢＳが通常状態に復帰し、その後にホスト機器９０がコマンドを送信する必要がある。このためホスト機器９０は、直ぐにはコマンドを送信できず、復帰時間のタイムラグ分だけ、コマンドの送信が遅れてしまう。例えば電子機器１０がプリンターであり、コマンドが印刷コマンドである場合には、印刷の開始が遅れてしまい、ユーザーを待たせてしまうという問題が発生する。
【００５２】
そこで本実施形態では、省電力移行要求を強制的に拒否させることで、ＵＳＢの通信の高速化を図る手法を採用する。即ち図６に示すように、ホスト機器９０からの省電力移行要求に対して、電子機器１０が拒否できるようする。例えば省電力移行条件が成立している場合は、省電力移行要求を許可し、省電力移行条件が成立していない場合は、省電力移行要求を拒否できるようにする。これにより、図５のように通信バスＢＳが省電力状態に移行してしまうのが防止され、図６に示すように通信バスＢＳ（リンク層のステート）が通常状態に維持される。従って、ホスト機器９０は、直ぐにコマンドを送信できるようになり、ＵＳＢの通信の高速化を実現できる。プリンターを例にとれば、印刷コマンドを直ぐに送信できるようになり、ユーザーの印刷の待ち時間を短縮できるようになる。
【００５３】
具体的には図１に示すように本実施形態の電子機器１０は、ＵＳＢの通信バスＢＳを介して通信を行う通信部３０と、通信部３０の制御を行う処理部２０を含む。例えば本実施形態のプログラムは、ＵＳＢの通信バスＢＳを介して通信を行う通信部３０と、通信部３０の制御を行う処理部２０として、コンピューター（電子機器）を機能させる。そして処理部２０は、通信バスＢＳに接続されるホスト機器９０から省電力移行要求を受信したときに、省電力移行条件が成立している場合は、省電力移行要求を許可して、通信バスＢＳ（リンク・ステート）を省電力状態（例えばＵ１、Ｕ２）に移行させる。一方、処理部２０は、省電力移行条件が成立していない場合は、省電力移行要求を拒否して、通信バスＢＳ（リンク・ステート）を省電力状態に移行させないようにする。即ち図６に示すようにホスト機器９０からの省電力移行要求を拒否して、通信バスＢＳを通常状態（例えばＵ０）に維持する。このようにＵＳＢの通信バスＢＳを用いた本実施形態の通信処理方法では、ホスト機器９０から省電力移行要求を受信したときに、省電力移行条件が成立している場合は、省電力移行要求を許可して、通信バスＢＳを省電力状態に移行させ、省電力移行条件が成立していない場合は、省電力移行要求を拒否して、通信バスＢＳを省電力状態に移行させないようにする。
【００５４】
このようにすれば、省電力移行条件が成立している場合には、ホスト機器９０からの省電力移行要求が許可されて、省電力状態に移行するため、省電力化を実現できる。一方、省電力移行条件が成立していない場合には、ホスト機器９０からの省電力移行要求が拒否されるため、復帰時間がタイムロスとなってコマンドの実行が遅れてしまうのを防止でき、ＵＳＢの通信やジョブ実行の高速化を図れるようになる。電子機器１０がプリンターである場合には、例えば印刷の待ち時間の短縮化などを実現できる。従って、ＵＳＢの通信やジョブ実行の高速化と省電力化とを両立して実現することが可能になる。
【００５５】
例えばホスト機器９０によっては、コマンドを発行する毎に省電力移行要求を行う場合がある。このようなホスト機器９０に通信バスＢＳを介して接続される電子機器１０は、この省電力移行要求を拒否できないと、コマンドが発行される毎に省電力状態に移行してしまうようになり、ＵＳＢの通信やジョブ実行の高速化が妨げられたり、省電力移行要求に対応するための電子機器１０の処理負荷が過大になってしまうという問題が生じる。この点、本実施形態では、省電力移行条件が成立していない場合には、ホスト機器９０からの省電力移行要求が拒否されるため、このような問題の発生を防止できる。
【００５６】
なお省電力移行条件は、例えば省電力状態への移行を許可又は拒否するかを判断するための基準となる条件である。省電力移行条件は、例えば電子機器１０の状態（通常状態、省電力状態等）、省電力移行要求の対象となる省電力状態の内容や種類、或いは発行されたコマンドの内容や種類などに基づいて設定される。また後述するように、省電力移行要求は、例えばＬＧＯ＿Ｕ１、ＬＧＯ＿Ｕ２又はＬＰＭなどである。省電力移行要求の許可は、例えばＬＡＵ、ＡＣＫなどである。省電力移行要求の拒否は、例えばＬＸＵ、ＮＡＫなどである。
【００５７】
図７は本実施形態の手法の第１の適用例を説明する図である。図７では、ＵＳＢデバイスである電子機器１０が複数の状態を持つ場合に、その状態に応じて省電力移行要求への応答を切り替えて、ＵＳＢの通信等の高速化と低消費電力とを両立して実現する。
【００５８】
例えば図７に示すように、電子機器１０が通常状態（広義には第２の状態）である場合は、ホスト機器９０からの省電力移行要求を拒否するようにする。即ち、電子機器１０が、スリープ状態等の省電力状態ではなく、通常状態（アイドル状態）である場合には、省電力移行条件が成立していないと判断して、省電力移行要求を拒否する。一方、電子機器１０が省電力状態（広義には第１の状態）である場合は、ホスト機器９０からの省電力移行要求を許可するようにする。即ち、電子機器１０が、スリープ状態、クロックダウン状態又はディープスリープ状態等の省電力状態である場合には、省電力移行条件が成立していると判断して、省電力移行要求を許可する。
【００５９】
このように本実施形態では、処理部２０は、電子機器１０の状態が第１の状態である場合は、省電力移行条件が成立していると判定し、電子機器１０の状態が第２の状態である場合は、省電力移行条件が成立していないと判定する。即ち、電子機器１０が省電力状態等の第１の状態である場合は、省電力移行条件が成立していると判定し、ホスト機器９０からの省電力移行要求を許可して、ＵＳＢの通信バスＢＳを省電力状態に移行させる。一方、電子機器１０が通常状態等の第２の状態である場合は、省電力移行条件が成立していないと判定し、ホスト機器９０からの省電力移行要求を拒否して、ＵＳＢの通信バスＢＳを省電力状態に移行させないようにする。ここで例えば第１の状態は、第２の状態よりも電子機器１０が低消費電力となる状態である。即ち、第１の状態（例えばスリープ状態）での電子機器１０の消費電力は、第２の状態（例えば通常状態）での電子機器１０の消費電力よりも小さい。
【００６０】
このようにすれば、電子機器１０の状態に応じて、省電力移行条件の成立の可否を判定して、ホスト機器９０からの省電力移行要求を許可したり、拒否することが可能になる。従って、電子機器１０の状態を反映させた省電力移行条件の成立の可否判定が可能になり、適正な省電力移行制御を実現できる。例えば電子機器１０が、通常状態である場合には、ホスト機器９０がコマンドの発行後に送って来る省電力移行要求を拒否して、通信バスＢＳを通常状態に維持できる。従って、図６に示すように、次にホスト機器９０がコマンドを発行した場合に、当該コマンドを直ぐに実行できるようになる。電子機器１０がプリンターである場合を例にとれば、ホスト機器９０が印刷コマンドを送る毎に通信バスＢＳが省電力状態に移行してしまう事態を回避でき、ホスト機器９０が送って来る印刷コマンドを次々に処理できるようになる。一方、電子機器１０が省電力状態である場合には、ホスト機器９０からの省電力移行要求を許可して、電子機器１０のみならず、ＵＳＢの通信バスＢＳについても省電力状態に移行するようになる。従って、電子機器１０や電子機器１０及びホスト機器９０を含むシステムの更なる省電力化を図れるようになる。
【００６１】
例えば電子機器１０がプリンターである場合に、電子機器１０の通常状態は、アイドル状態である。このアイドル状態は、プリンターからの印刷指示（印刷コマンド）を受けて、直ぐに印刷処理を実行可能な待機状態である。また電子機器１０の省電力状態は、スリープ状態、クロックダウン状態又はディープスリープ状態などである。スリープ状態は、例えばプリンターの一部のユニットが省電力状態に設定される状態である。例えば図１の印刷部８０である印刷エンジンや、操作部６０や表示部７０である操作パネルが省電力状態に設定される。具体的には印刷エンジンの一部の機能が停止したり、操作パネルのディスプレイのバックライトが消灯する。クロックダウン状態では、スリープ状態に加えて、例えば図１のメインＣＰＵ２１などの動作クロックの周波数を低下させる。ディープスリープ状態では、プリンターの一部のユニットが電源オフ状態に設定され、メインＣＰＵ２１も電源オフ状態に設定される。例えば記憶部５０も電源オフ状態に設定される。通信部３０は例えば省電力状態に設定される。
【００６２】
なお、省電力移行条件が成立していると判定される電子機器１０の第１の状態や、省電力移行条件が成立していないと判定される電子機器１０の第２の状態としては、種々の状態を想定できる。例えば第１の状態が電子機器１０の省電力状態であり、第２の状態が電子機器１０の通常状態（アイドル状態）であってもよい。或いは、第１の状態が電子機器１０のクロックダウン状態であり、第２の状態がスリープ状態であったり、第１の状態がディープスリープ状態であり、第２の状態がクロックダウン状態であってもよい。このように、第２の状態より消費電力が小さい第１の状態において、省電力移行条件が成立していると判定することで、電子機器１０や電子機器１０及びホスト機器９０を含むシステムの更なる省電力化を図れる。また、第１の状態より消費電力が大きい第２の状態において、省電力移行条件が成立していないと判定することで、ＵＳＢの通信やジョブ実行の高速化を図れるようになる。
【００６３】
図８は本実施形態の手法の第２の適用例を説明する図である。図８では、省電力移行要求の対象となる省電力状態に応じて、省電力移行要求への応答を切り替えて、ＵＳＢの通信等の高速化と低消費電力を両立して実現する。
【００６４】
例えば図８に示すように、ホスト機器９０からの省電力移行要求が、省電力状態Ｕ２（広義には第２の省電力状態）への移行要求である場合には、この省電力移行要求を拒否するようにする。即ち、省電力移行条件が成立していないと判断して、省電力移行要求を拒否できるようにする。一方、ホスト機器９０から来た移行要求が、省電力状態Ｕ１（広義には第１の省電力状態）への移行要求である場合には、ホスト機器９０からの省電力移行要求を許可する。即ち、省電力移行条件が成立していると判断して、省電力移行要求を許可する。
【００６５】
このように本実施形態では、処理部２０は、省電力移行要求が、通信バスＢＳを第１の省電力状態に移行させる要求である場合は、省電力移行条件が成立していると判定し、省電力移行要求が、通信バスＢＳを第２の省電力状態に移行させる要求である場合は、省電力移行条件が成立していないと判定する。即ち第１の省電力状態への移行要求である場合には、省電力移行条件が成立していると判定し、ホスト機器９０からの省電力移行要求を許可して、ＵＳＢの通信バスＢＳを省電力状態に移行させる。一方、第２の省電力状態への移行要求である場合には、省電力移行条件が成立していないと判定し、ホスト機器９０からの省電力移行要求を拒否して、通信バスＢＳを省電力状態に移行させないようにする。
【００６６】
ここで例えば第２の省電力状態は、第１の省電力状態よりも、消費電力が小さい及び通常状態への復帰時間が長いの少なくとも一方となる省電力状態である。例えば第２の省電力状態は、第１の省電力状態よりも、消費電力が小さく且つ復帰時間が長い省電力状態である。或いは、第２の省電力状態は、第１の省電力状態よりも、消費電力が小さいか、又は、復帰時間が長い省電力状態であってもよい。具体的には、図９に示すように、第１の省電力状態の一例である省電力状態Ｕ１は、消費電力は大きいが、省電力状態からの復帰時間が短い。一方、第２の省電力状態の一例である省電力状態Ｕ２は、消費電力は小さいが、省電力状態からの復帰時間が長い。
【００６７】
このように省電力状態Ｕ２は、省電力状態からの復帰時間が長いため、この復帰時間がタイムロスとなって、ＵＳＢの通信の開始が遅れてしまう。例えば図５のように、省電力状態Ｕ２の長い復帰時間の間、次のコマンドを送信できなくなるため、ＵＳＢの通信やジョブ実行の高速化を妨げてしまう。省電力状態Ｕ２の復帰時間（latency）は例えばｍｓのオーダー（low ms range）であるため、このような長い復帰時間を待つことは、高速化の大きな妨げとなってしまう。
【００６８】
この点、本実施形態では、図８に示すように、ホスト機器９０からの省電力状態Ｕ２への移行要求を、電子機器１０が拒否する。即ち処理部２０は、省電力状態Ｕ２への移行要求である場合には、省電力移行条件が成立していないと判定して、移行要求を拒否する。従って、ｍｓのオーダーとなる復帰時間を待たなくても済むようになり、ＵＳＢの通信やジョブ実行の高速化を図れる。
【００６９】
一方、省電力状態Ｕ１は、Ｕ２に比べて消費電力は大きいものの、省電力状態からの復帰時間が短く、例えばμｓのオーダーの復帰時間である。従って、省電力状態Ｕ１への移行要求を図８に示すように許可しても、省電力状態Ｕ２を許可する場合に比べて、それほど高速化の妨げにはならない。そして省電力状態Ｕ１への移行要求を許可することで、省電力化を図れる。即ち、省電力状態Ｕ１への移行要求は許可する一方で、省電力状態Ｕ２への移行要求を拒否することで、ＵＳＢの通信やジョブ実行の高速化と省電力化とを両立して実現することが可能になる。
【００７０】
例えばホスト機器９０によっては、コマンドを発行する毎に省電力移行要求を行う場合がある。そしてコマンドを発行する毎に行われる省電力移行要求がＵ１である場合には、移行要求を許可しても、復帰時間が短いため、それほど高速化の妨げとならない。そしてＵ１への移行要求を許可することで、省電力化を実現できる。即ち、高速化の方をある程度犠牲にして、省電力化の方を優先する。一方、Ｕ２への移行要求である場合には、これを許可すると、ｍｓのオーダーの復帰時間の間、待たなくなってしまうため、Ｕ２への移行要求については拒否して、通信やジョブ実行の高速化を図る。即ち、省電力化の方をある程度犠牲にして、高速化の方を優先する。なお以上では、第１の省電力状態がＵ１であり、第２の省電力状態がＵ２である場合を主に例にとり説明したが、本実施形態はこれに限定されず、第１、第２の省電力状態はＵ１、Ｕ２以外の省電力状態であってもよい。
【００７１】
図１０は本実施形態の手法の第３の適用例を説明する図である。図１０では、ホスト機器９０から電子機器１０が受信したコマンドに応じて、省電力移行要求への応答を切り替えて、ＵＳＢの通信等の高速化と低消費電力を両立して実現する。
【００７２】
例えば図１０は電子機器１０がプリンターである場合の通信シーケンスの例であり、ホスト機器９０が電子機器１０に印刷開始コマンドを送信している。そしてこのようにホスト機器９０から受信したコマンドが印刷開始コマンドである場合には、図１０に示すようにホスト機器９０からの省電力移行要求を拒否する。具体的には印刷終了コマンドを受信するまで、ホスト機器９０からの省電力移行要求を拒否する。そしてホスト機器９０から印刷終了コマンドを受信した場合には、ホスト機器９０からの省電力移行要求を許可する。このように第３の適用例では、ホスト機器９０から受信したコマンド（印刷開始コマンド、印刷終了コマンド）に応じて、省電力移行要求への応答（拒否、許可）を切り替えている。
【００７３】
このように本実施形態では処理部２０は、通信バスＢＳを介して発行されたコマンドが第１のコマンドである場合は、省電力移行条件が成立していると判定し、コマンドが第２のコマンドである場合は、省電力移行条件が成立していないと判定する。即ちホスト機器９０から受信したコマンドが第１のコマンド（例えば印刷終了コマンド）である場合には、省電力移行条件が成立していると判定し、ホスト機器９０からの省電力移行要求を許可して、ＵＳＢの通信バスＢＳを省電力状態に移行させる。一方、処理部２０は、ホスト機器９０から受信したコマンドが第２のコマンド（例えば印刷開始コマンド）である場合には、省電力移行条件が成立していないと判定し、ホスト機器９０からの省電力移行要求を拒否して、通信バスＢＳを省電力状態に移行させないようにする。
【００７４】
このようにすれば、通信バスＢＳを介して発行されたコマンドの種類や内容に応じて、省電力移行条件の成立の可否を判定して、ホスト機器９０からの省電力移行要求を許可したり、拒否することが可能になる。従って、コマンドの種類や内容を反映させた省電力移行条件の成立の可否判定が可能になり、適正な省電力移行制御を実現できる。
【００７５】
例えば図１０に示すように、ホスト機器９０から受信したコマンドが印刷開始コマンドである場合には、印刷開始コマンドの受信後に、通信バスＢＳを介した印刷データの受信が行われる。そして、このような印刷データの受信期間において、ホスト機器９０からの省電力移行要求を許可してしまうと、一連の印刷データの転送が停止してしまい、省電力状態からの復帰時間の間、ユーザーを待たせてしまう事態が生じてしまう。
【００７６】
この点、本実施形態では、ホスト機器９０から受信したコマンドが印刷開始コマンドである場合には、その後のホスト機器９０からの省電力移行要求を拒否して、一連の印刷データの転送が停止しないようにする。これにより、省電力状態からの復帰時間の間、ユーザーを待たせてしまう事態の発生を防止できる。そして、ホスト機器９０から印刷終了コマンドを受信した場合には、その後のホスト機器９０からの省電力移行要求を許可して、省電力化を実現する。このようにすることで、ＵＳＢの通信やジョブ実行の高速化と低消費電力とを両立して実現できるようになる。
【００７７】
例えば本実施形態では、処理部２０は、通信バスＢＳを介して発行されたコマンドが、コマンドに続いて送るべき情報がないコマンドである場合は、省電力移行条件が成立していると判定する。一方、処理部２０は、コマンドに続いて送るべき情報があるコマンドである場合は、省電力移行条件が成立していないと判定する。即ち、コマンドに続いて送るべき情報がないコマンド（例えば印刷終了コマンド）を受信した場合には、省電力移行条件が成立していると判定して、その後のホスト機器９０からの省電力移行要求を許可して、省電力化を実現する。一方、コマンドに続いて送るべき情報があるコマンド（例えば印刷開始コマンド）を受信した場合には、省電力移行条件が成立していないと判定して、その後のホスト機器９０からの省電力移行要求を拒否して、高速化を実現する。
【００７８】
例えば印刷開始コマンドのように、コマンドに続いて送るべき情報（印刷データ）があるコマンドの場合に、ホスト機器９０からの省電力移行要求を許可してしまうと、当該情報の転送が停止してしまい、ユーザーを待たせてしまう問題が発生する。
【００７９】
この点、本実施形態では、このようなコマンドを受信した場合には、ホスト機器９０からの省電力移行要求を拒否するため、ユーザーを待たせてしまうなどの問題の発生を防止できる。一方、印刷終了コマンドのように、コマンドに続いて送るべき情報がないコマンドの場合には、ホスト機器９０からの省電力移行要求を許可しても、上記のような問題は発生しない。そして、省電力移行要求を許可することで、省電力化を図れるようになる。
【００８０】
なお、コマンドに続いて送るべき情報があるコマンドとしては、例えば、印刷開始コマンド等のジョブの実行開始指示コマンドや、電子機器１０のステータス情報（例えばインク残量、印刷回数情報、エラー情報）の取得コマンドなどの種々のコマンドを想定できる。例えば電子機器１０がスキャナーであったり、スキャナー機能を有する複合機である場合には、スキャナーの読み取りデータの転送をホスト機器９０が要求するコマンドも、コマンドに続いて送るべき情報があるコマンドになる。またコマンドに続いて送るべき情報がないコマンドとしては、例えば印刷終了コマンドなどのジョブの終了指示コマンドや、電子機器１０に対して動作設定を行うためのコマンドなどの種々のコマンドを想定できる。例えばホスト機器９０からジョブの終了指示コマンドを受信した場合には、その後、しばらくの間は、電子機器１０はジョブを実行しなくても済むと考えられる。従って、この場合には、ホスト機器９０からの省電力移行要求を許可して、省電力化を実現する。またホスト機器９０から、電子機器１０の動作モード等を設定するコマンドを受信した場合には、その後にホスト機器９０からジョブの実行開始コマンドを受信するまでの間は、ホスト機器９０からの省電力移行要求を許可することで、省電力化を図れるようになる。
【００８１】
また本実施形態では処理部２０は、通信部３０がホスト機器９０から一連のデータを受信する場合に、一連のデータの転送中は省電力移行条件が成立していないと判定し、一連のデータの転送終了後は、省電力移行条件が成立していると判定する。例えば、一連のデータの転送中は省電力移行条件が成立していないと判定して、ホスト機器９０からの省電力移行要求を拒否する。そして一連のデータの転送終了後は、省電力移行条件が成立していると判定して、ホスト機器９０からの省電力移行要求を許可する。
【００８２】
このようにすれば、一連のデータの転送中には、省電力移行要求が拒否されるため、省電力状態に移行しないようになり、一連のデータを高速に転送できるようになる。一方、一連のデータの転送終了後は、省電力移行要求が許可されるため、転送終了後に省電力状態に移行して、省電力化を図れるようになる。
【００８３】
具体的には図１０に示すように、一連のデータは印刷データである。そして処理部２０は、印刷開始コマンドの受信後であり、且つ、印刷終了コマンドの受信前は、省電力移行条件が成立していないと判定し、印刷終了コマンドの受信後は、省電力移行条件が成立していると判定する。即ち、印刷開始コマンドの受信後、且つ、印刷終了コマンドの受信前は、ホスト機器９０からの省電力移行要求を拒否し、印刷終了コマンドの受信後は、ホスト機器９０からの省電力移行要求を許可する。
【００８４】
このようにすることで、一連の印刷データの受信中は、省電力状態に移行しないようになり、印刷データの高速転送が可能になる。そして、印刷終了コマンドを受信した後は、省電力移行要求を許可することで、省電力状態に移行するようになり、省電力化を図れる。
【００８５】
例えばホスト機器９０のアプリケーションプログラムが、所定データ量の印刷データの印刷を指示した場合に、ホスト機器９０の通信部９２（図３）が、この所定データ量の印刷データを複数のデータブロックに分割して送信する場合がある。このときホスト機器９０によっては、１つのデータブロックを送信する毎に、省電力移行要求を行う場合がある。例えばハードウェア回路である通信部９２は、アプリケーションプログラムが指示した所定データ量の印刷データを、自動的に複数のデータブロックに分割する。そして省電力化を図るために、各データブロックの送信毎に、省電力移行要求を行う。そして、このようなデータブロック毎の省電力移行要求を許可してしまうと、所定データ量の印刷データ（一連の印刷データ）の転送終了までに、長い時間がかかってしまう問題が生じる。
【００８６】
この点、本実施形態によれば、ホスト機器９０が１つのデータブロックを送信した後に、省電力移行要求を行った場合にも、この省電力移行要求が拒否される。例えば、所定データ量の印刷データ（一連の印刷データ）の印刷開始コマンドを受信した後、この所定データ量の印刷データの印刷終了コマンドを受信するまでの間、ホスト機器９０からの省電力移行要求が拒否される。そして印刷終了コマンドを受信した後に、ホスト機器９０からの省電力移行要求が許可される。このようにすれば、アプリケーションプログラムにより指示された所定データ量の印刷データの転送が完了するまでの間は、省電力状態に移行しないようになるため、所定データ量の印刷データをＵＳＢの通信バスＢＳを介して高速に転送できるようになる。そして、所定データ量の印刷データの転送後に、省電力移行要求を許可することで、省電力化を図れるようになる。
【００８７】
３．省電力移行、省電力復帰の詳細
次に省電力移行や省電力復帰の通信シーケンスの詳細例について説明する。図１１、図１２、図１３は、通常状態Ｕ０から省電力状態Ｕ１への移行許可、移行拒否、復帰の通信シーケンス図である。なお以下では、ホスト機器９０をＵＳＢホストと記載し、電子機器１０をＵＳＢデバイスと記載して説明を行う。
【００８８】
通常状態Ｕ０から省電力状態Ｕ１に移行するためには、ＬＧＯ＿Ｕ１を使用する。このＬＧＯ＿Ｕ１はＵＳＢホストとＵＳＢデバイスの両方が送信できる。受信側は、ＬＧＯ＿Ｕ１を受信した場合に、ＬＡＵ（許可）又はＬＸＵ（拒否）で応答し、Ｕ１への移行の可否を通知する必要がある。そして図１１では、ＬＧＯ＿Ｕ１に対してＬＡＵ（許可）が返答されており、省電力状態Ｕ１への移行要求が許可されている。この場合にはＵＳＢホストがＬＰＭＡを送信して、省電力状態Ｕ１に移行する。このＬＰＭＡは、これから省電力状態になることを示すハンドシェイクのためのコマンドである。一方、図１２では、ＬＧＯ＿Ｕ１に対してＬＸＵ（拒否）が返答されており、省電力状態Ｕ１への移行要求が拒否されており、通常状態Ｕ０が維持される。
【００８９】
図１３に示すように、省電力状態Ｕ１から通常状態に復帰する場合、ＵＳＢホスト又はＵＳＢデバイスが、ＬＦＰＳ Ｈａｎｄｓｈａｋｅ（Ｕ１ｅｘｉｔ）を送信する。受信側は、これを受信すると、ＬＦＰＳ Ｈａｎｄｓｈａｋｅ（Ｕ１ｅｘｉｔ）で応答し、ＵＳＢホスト及びＵＳＢデバイスは、Ｕ０の復帰中状態であるＲｅｃｏｖｅｒｙ状態になる。Ｒｅｃｏｖｅｒｙ状態では、Ｌｉｎｋ Ｔｒａｉｎｉｎｇと呼ばれる同期通信が行われ、同期が完了したところで、ＵＳＢホスト及びＵＳＢデバイスは通常状態Ｕ０に復帰する。
【００９０】
図１４、図１５、図１６は、通常状態Ｕ０から省電力状態Ｕ２への移行許可、移行拒否、復帰の通信シーケンス図である。Ｕ２への移行シーケンスはＵ１への移行シーケンスと酷似しており、Ｕ１への移行の際に使用したＬＧＯ＿Ｕ１の代わりに、図１４に示すようにＬＧＯ＿Ｕ２を使用する。このＬＧＯ＿Ｕ２は、ＬＧＯ＿Ｕ１と同様に、ＵＳＢホストとＵＳＢデバイスの両方が送信できる。受信側はＬＧＯ＿Ｕ２を受信した場合に、ＬＡＵ（許可）又はＬＸＵ（拒否）で応答し、Ｕ２への移行の可否を通知する必要がある。そして図１４に示すように、ＬＧＯ＿Ｕ２に対してＬＡＵ（許可）が返答された場合に、送信側はＬＰＭＡを送信して省電力状態Ｕ２に移行する。一方、図１５に示すように、ＬＧＯ＿Ｕ２に対してＬＸＵ（拒否）が返答された場合は、通常状態Ｕ０が維持される。
【００９１】
図１５に示すように、省電力状態Ｕ２への復帰シーケンスは省電力状態Ｕ１への復帰シーケンスに酷似しているが、前述の図９で説明したようにＵ２はＵ１よりも復帰にかかる時間が長い。そしてＵ２からＵ０に復帰する場合に、ＵＳＢホスト又はＵＳＢデバイスがＬＦＰＳ Ｈａｎｄｓｈａｋｅ（Ｕ２ｅｘｉｔ）を送信する。受信側は、これを受信すると、ＬＦＰＳ Ｈａｎｄｓｈａｋｅ（Ｕ２ｅｘｉｔ）で応答し、ＵＳＢホスト及びＵＳＢデバイスはＵ０への復帰中状態であるＲｅｃｏｖｅｒｙ状態になる。Ｒｅｃｏｖｅｒｙ状態では、Ｌｉｎｋ  Ｔｒａｉｎｉｎｇと呼ばれる同期通信が行われ、同期が完了したところでＵＳＢホスト及びＵＳＢデバイスは通常状態Ｕ０に復帰する。
【００９２】
図１７、図１８、図１９は、通常状態Ｌ０から省電力状態Ｌ１への移行許可、移行拒否、復帰の通信シーケンス図である。図１７に示すように、通常状態Ｌ０から省電力状態Ｌ１へ移行するためには、ＬＰＭを使用する。これはＬＧＯ＿Ｕ１、ＬＧＯ＿Ｕ２とは異なり、ＵＳＢホストのみが送信できる。ＬＰＭに対して、ＵＳＢデバイスはＡＣＫ（許可）又はＮＡＫ（拒否）で応答し、省電力状態Ｌ１への移行の可否を通知する。図１７に示すように、ＬＰＭに対してＵＳＢデバイスがＡＣＫの応答をした場合に、省電力状態Ｌ１への移行要求が許可されて、省電力状態Ｌ１に移行する。一方、図１８に示すように、ＬＰＭに対してＵＳＢデバイスがＮＡＫの応答をした場合に、省電力状態Ｌ１への移行要求が拒否されて、通常状態Ｌ０が維持される。また図１９に示すように、省電力状態Ｌ１から通常状態Ｌ０に復帰する際は、ＲｅｓｕｍｅによってＬ１からＬ０に復帰することになる。
【００９３】
図２０は通常状態Ｕ０、省電力状態Ｕ１、Ｕ２のステート遷移図である。前述したように通常状態Ｕ０から省電力状態Ｕ１、Ｕ２への移行は、各々、ＬＧＯ＿Ｕ１、ＬＧＯ＿Ｕ２により行われる。これらのＬＧＯ＿Ｕ１、ＬＧＯ＿Ｕ２は拒否可能である。一方、省電力状態Ｕ１からＵ２への移行は、タイマーによるタイムアウトにより遷移する。タイマーの設定は、通信の接続時にＵＳＢホストにより行われる。タイマーは例えば２５６μｓ〜６５．０２４ｍｓの範囲で設定可能である。そして図２１に示すように省電力状態Ｕ１からＵ２へはタイムアウトにより自動的に遷移して移行する。このため省電力状態Ｕ２への移行要求を拒否した意味がなくなるように見えるが、少なくともＵ２への即時の移行だけは防ぐことができるので、Ｕ２の移行要求を拒否する意味はある。
【００９４】
なお、省電力状態Ｕ１からＵ２への移行を防ぐ手法もある。それは図２２に示すように、省電力状態Ｕ１に移行してから、タイマーによるタイムアウト時間が経過する前に、強制的に通常状態Ｕ０に復帰させる手法である。通常状態Ｕ０への復帰要求はＵＳＢデバイスが主導して出すことができる。他の手法としては、例えばタイムアウトを無効にする設定も可能である。その場合には、省電力状態Ｕ１からＵ２への移行はできなくなり、通常状態Ｕ０を経由しなければならなくなる。
【００９５】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語（第１の状態、第２の状態、第１の省電力状態、第２の省電力状態等）と共に記載された用語（省電力状態、通常状態、省電力状態Ｕ１、省電力状態Ｕ２等）、は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また、電子機器の構成や通信処理等も、本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【符号の説明】
【００９６】
ＢＳ…通信バス、Ｌ０…通常状態、Ｌ１…省電力状態、
Ｕ０…通常状態、Ｕ１、Ｕ２…省電力状態、
１０…電子機器、２０…処理部、２１…メインＣＰＵ、２２…サブＣＰＵ、
３０…通信部、３４…ＳＳ処理部、３６…Ｎｏｎ−ＳＳ処理部、５０…記憶部、
６０…操作部、７０…表示部、８０…印刷部、９０…ホスト機器、９２…通信部、
９４…ＳＳ処理部、９６…Ｎｏｎ−ＳＳ処理部、
２１０…プリンター、２２０…ＰＣ、２３０…ＵＳＢケーブル、
２３２、２３４…ＵＳＢコネクター
【図１】
2019057132.tif 000003
【図２】
2019057132.tif 000004
【図３】
2019057132.tif 000005
【図４】
2019057132.tif 000006
【図５】
2019057132.tif 000007
【図６】
2019057132.tif 000008
【図７】
2019057132.tif 000009
【図８】
2019057132.tif 000010
【図９】
2019057132.tif 000011
【図１０】
2019057132.tif 000012
【図１１】
2019057132.tif 000013
【図１２】
2019057132.tif 000014
【図１３】
2019057132.tif 000015
【図１４】
2019057132.tif 000016
【図１５】
2019057132.tif 000017
【図１６】
2019057132.tif 000018
【図１７】
2019057132.tif 000019
【図１８】
2019057132.tif 000020
【図１９】
2019057132.tif 000021
【図２０】
2019057132.tif 000022
【図２１】
2019057132.tif 000023
【図２２】
2019057132.tif 000024