(57)【要約】【課題】ＵＳＢホストコントローラを有する集積回路装置において消費電力を削減する。【解決手段】集積回路装置は、ＵＳＢを介してＵＳＢデバイスとの間で通信を行うＵＳＢホストコントローラと、通常動作状態において、前記ＵＳＢホストコントローラを制御して、前記ＵＳＢホストコントローラと前記ＵＳＢデバイスとの間の通信が可能になるようにするための処理を行い、スタンバイ状態において動作を停止する第１プロセッサと、前記スタンバイ状態において、前記ＵＳＢホストコントローラを制御して、前記通常動作状態に移行するための処理を行い、前記通常動作状態において動作を停止する第２プロセッサとを有する。前記ＵＳＢホストコントローラと前記ＵＳＢデバイスとの間で通信可能な状態を維持したまま、前記ＵＳＢホストコントローラに対する制御が、前記第１プロセッサによる制御と前記第２プロセッサによる制御との間で切り替えられる。【選択図】図１
2013020297.tif 000002
【特許請求の範囲】
【請求項１】
ＵＳＢ（universal serial bus）を介してＵＳＢデバイスとの間で通信を行うＵＳＢホストコントローラと、
通常動作状態において、前記ＵＳＢホストコントローラを制御して、前記ＵＳＢホストコントローラと前記ＵＳＢデバイスとの間の通信が可能になるようにするための処理を行い、スタンバイ状態において動作を停止する第１プロセッサと、
前記スタンバイ状態において、前記ＵＳＢホストコントローラを制御して、前記通常動作状態に移行するための処理を行い、前記通常動作状態において動作を停止する第２プロセッサとを備え、
前記ＵＳＢホストコントローラと前記ＵＳＢデバイスとの間で通信可能な状態を維持したまま、前記ＵＳＢホストコントローラに対する制御が、前記第１プロセッサによる制御と前記第２プロセッサによる制御との間で切り替えられる
集積回路装置。
【請求項２】
請求項１に記載の集積回路装置において、
前記第１プロセッサは、前記通常動作状態から前記スタンバイ状態への移行時に、前記ＵＳＢホストコントローラに対する制御を、前記第２プロセッサによる制御に切り替える
集積回路装置。
【請求項３】
請求項２に記載の集積回路装置において、
前記ＵＳＢデバイスは、無線ＬＡＮ（local area network）通信機能を有する無線ＬＡＮモジュールである
集積回路装置。
【請求項４】
請求項３に記載の集積回路装置において、
前記ＵＳＢデバイスは、無線によりデータを受信し、
前記第２プロセッサは、前記無線により受信されたデータが前記ＵＳＢデバイスに対するデータである場合には、前記通常動作状態への移行処理を行う
集積回路装置。
【請求項５】
請求項４に記載の集積回路装置において、
前記第２プロセッサは、前記ＵＳＢデバイスからのデータを受信する機能以外の機能の少なくとも一部を停止するように、前記ＵＳＢホストコントローラを制御する
集積回路装置。
【請求項６】
請求項４に記載の集積回路装置において、
前記第２プロセッサは、前記ＵＳＢデバイスに無線によりデータを送信する無線ＬＡＮアクセスポイントと前記ＵＳＢデバイスとの間の接続が切断された後、前記無線ＬＡＮアクセスポイントを再検出した場合には、前記通常動作状態への移行処理を行い、
前記第１プロセッサは、無線ＬＡＮ通信のための認証を行って、前記ＵＳＢデバイスと前記無線ＬＡＮアクセスポイントとの間の接続を再構築し、前記スタンバイ状態への移行処理を行う
集積回路装置。
【請求項７】
請求項２に記載の集積回路装置において、
前記第２プロセッサは、前記スタンバイ状態から前記通常動作状態への移行時に、前記ＵＳＢホストコントローラに対する制御を、前記第１プロセッサによる制御に切り替える
集積回路装置。
【請求項８】
請求項１に記載の集積回路装置において、
前記第２プロセッサは、前記スタンバイ状態から前記通常動作状態への移行時に、前記第１プロセッサの動作を再開させる
集積回路装置。
【請求項９】
ＵＳＢを介してＵＳＢデバイスとの間で通信を行うステップと、
通常動作状態において、第１プロセッサが、ＵＳＢホストコントローラを制御して、前記ＵＳＢホストコントローラと前記ＵＳＢデバイスとの間の通信が可能になるようにするための処理を行い、第２プロセッサが動作を停止するステップと、
スタンバイ状態において、前記第２プロセッサが、前記ＵＳＢホストコントローラを制御して、前記通常動作状態に移行するための処理を行い、前記第１プロセッサが動作を停止するステップと、
前記ＵＳＢホストコントローラと前記ＵＳＢデバイスとの間で通信可能な状態を維持したまま、前記ＵＳＢホストコントローラに対する制御を、前記第１プロセッサによる制御と前記第２プロセッサによる制御との間で切り替えるステップとを備える
集積回路装置の制御方法。
【請求項１０】
請求項９に記載の方法において、
前記ＵＳＢホストコントローラに対する制御を切り替えるステップは、前記通常動作状態から前記スタンバイ状態への移行時に、前記ＵＳＢホストコントローラに対する制御を、前記第２プロセッサによる制御に切り替える
集積回路装置の制御方法。
【請求項１１】
請求項１０に記載の方法において、
前記ＵＳＢデバイスは、無線ＬＡＮ通信機能を有する無線ＬＡＮモジュールである
集積回路装置の制御方法。
【請求項１２】
請求項１１に記載の方法において、
前記ＵＳＢデバイスが無線によりデータを受信するステップを更に有し、
前記ＵＳＢホストコントローラに対する制御を切り替えるステップは、前記無線により受信されたデータが前記ＵＳＢデバイスに対するデータである場合には、前記通常動作状態への移行処理を行う
集積回路装置の制御方法。
【請求項１３】
請求項１２に記載の方法において、
前記ＵＳＢデバイスからのデータを受信する機能以外の機能の少なくとも一部を停止するように、前記ＵＳＢホストコントローラを制御するステップを更に有する
集積回路装置の制御方法。
【請求項１４】
請求項１２に記載の方法において、
前記ＵＳＢデバイスに無線によりデータを送信する無線ＬＡＮアクセスポイントと前記ＵＳＢデバイスとの間の接続が切断された後、前記無線ＬＡＮアクセスポイントが再検出された場合に、前記通常動作状態への移行処理及び無線ＬＡＮ通信のための認証を行って、前記ＵＳＢデバイスと前記無線ＬＡＮアクセスポイントとの間の接続を再構築し、前記スタンバイ状態への移行処理を行うステップを更に有する
集積回路装置の制御方法。
【請求項１５】
請求項１０に記載の方法において、
前記ＵＳＢホストコントローラに対する制御を切り替えるステップは、前記スタンバイ状態から前記通常動作状態への移行時に、前記ＵＳＢホストコントローラに対する制御を、前記第１プロセッサによる制御に切り替える
集積回路装置の制御方法。
【請求項１６】
請求項９に記載の方法において、
前記ＵＳＢホストコントローラに対する制御を切り替えるステップは、前記スタンバイ状態から前記通常動作状態への移行時に、前記第１プロセッサの動作を再開させる
集積回路装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ＵＳＢ（universal serial bus）インタフェースを有する集積回路装置、及びその制御方法に関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータだけではなく、テレビ等のデジタル家電においても、ＵＳＢインタフェースの搭載が一般的になってきている。ＵＳＢは、記憶装置やデジタルカメラに保存されているデータの読み書きをするためだけではなく、テレビ電話システムにおいてカメラやマイクを接続するためや、無線ＬＡＮ（local area network）モジュール等の外部デバイスを接続して外部機器との間のインタフェースを拡張するため等に、使用されるようになってきている。
【０００３】
このように、デジタル家電は、他の機器と連携して動作するようになってきている。消費電力を低減するために、機器の一部の回路への電源供給やクロック供給を停止することにより、機器をスタンバイ状態にすることが行われる。しかし、他の機器と連携して動作する機器は、スタンバイ状態であっても、他の機器からのアクセスに応じて適切な動作を行わなければならないことがある。
【０００４】
例えば、特許文献１には、無線ＬＡＮを介して外部からアクセスを受けることによって、スタンバイ状態から復帰するシステムが記載されている。このシステムは、主機能を実現するためのメインシステムと、外部との通信を行うためのサブシステムを有する。サブシステムは、メインシステムとは独立したＣＰＵやシステムメモリを持ち、メインシステムとは独立して動作できる。また、サブシステムは、ＵＳＢホスト機能を持ち、ＵＳＢデバイスであるＵＳＢ無線ＬＡＮモジュールを接続して無線ＬＡＮ通信を行うことができる。
【０００５】
スタンバイ状態の時には、例えば、メインシステムへの電源供給が停止され、サブシステムのみが動作する。このため、スタンバイ状態における消費電力を削減することができる。サブシステムは、メインシステムとは独立して動作することができるので、スタンバイ状態の時も通常動作状態の時と同様にＵＳＢの制御を行い、無線ＬＡＮ通信を行うことができる。そして、無線ＬＡＮ通信を経由して、システムをウェイクアップさせるための信号を受信した場合には、サブシステムのＣＰＵからメインシステムへウェイクアップ信号を送ることで、メインシステムをウェイクアップさせる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−０８６０６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、特許文献１のシステムによると、サブシステムがＵＳＢに関する全ての制御を行う必要がある。このため、サブシステムの回路規模、消費電力や製造コストも比較的大きい。また、通常動作状態の時には、メインシステムだけではなくサブシステムをも動作させる必要があるので、通常動作状態の時の消費電力が増大してしまう。
【０００８】
本発明は、ＵＳＢホストコントローラを有する集積回路装置において消費電力を削減することを目的とする。
【課題を解決するための手段】
【０００９】
本開示による集積回路装置は、ＵＳＢ（universal serial bus）を介してＵＳＢデバイスとの間で通信を行うＵＳＢホストコントローラと、通常動作状態において、前記ＵＳＢホストコントローラを制御して、前記ＵＳＢホストコントローラと前記ＵＳＢデバイスとの間の通信が可能になるようにするための処理を行い、スタンバイ状態において動作を停止する第１プロセッサと、前記スタンバイ状態において、前記ＵＳＢホストコントローラを制御して、前記通常動作状態に移行するための処理を行い、前記通常動作状態において動作を停止する第２プロセッサとを有する。前記ＵＳＢホストコントローラと前記ＵＳＢデバイスとの間で通信可能な状態を維持したまま、前記ＵＳＢホストコントローラに対する制御が、前記第１プロセッサによる制御と前記第２プロセッサによる制御との間で切り替えられる。
【００１０】
これによると、ＵＳＢホストコントローラとＵＳＢデバイスとの間で通信可能な状態を維持したまま、ＵＳＢホストコントローラに対する制御が切り替えられる。このため、スタンバイ状態において動作する第２プロセッサは、通常動作状態に移行する際に、ＵＳＢホストコントローラとＵＳＢデバイスとの間を通信可能な状態にするための処理を行う必要がない。
【００１１】
本開示による集積回路装置の制御方法は、ＵＳＢを介してＵＳＢデバイスとの間で通信を行うステップと、通常動作状態において、第１プロセッサが、ＵＳＢホストコントローラを制御して、前記ＵＳＢホストコントローラと前記ＵＳＢデバイスとの間の通信が可能になるようにするための処理を行い、第２プロセッサが動作を停止するステップと、スタンバイ状態において、前記第２プロセッサが、前記ＵＳＢホストコントローラを制御して、前記通常動作状態に移行するための処理を行い、前記第１プロセッサが動作を停止するステップと、前記ＵＳＢホストコントローラと前記ＵＳＢデバイスとの間で通信可能な状態を維持したまま、前記ＵＳＢホストコントローラに対する制御を、前記第１プロセッサによる制御と前記第２プロセッサによる制御との間で切り替える切り替えステップとを有する。
【発明の効果】
【００１２】
本開示によれば、ＵＳＢホストコントローラとＵＳＢデバイスとの間で通信可能な状態が維持される。このため、スタンバイ状態においても、ＵＳＢホストコントローラはＵＳＢデバイスからのデータを受信可能であり、スタンバイ状態においてＵＳＢホストコントローラを制御するプロセッサは、ＵＳＢホストコントローラとＵＳＢデバイスとの間を通信可能な状態にするための処理を行う必要がなく、回路規模を抑え、消費電力を抑えることができる。このプロセッサは、通常動作状態においては動作を停止するので、ＵＳＢホストコントローラを有する集積回路装置において、通常動作状態の時の消費電力の増大を抑えることもできる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に係る集積回路装置の構成を示すブロック図である。
【図２】通常動作状態からスタンバイ状態へ移行する場合の、図１の集積回路装置における処理例を示すフローチャートである。
【図３】ｑＴＤと呼ばれるデータ構造についての説明図である。
【図４】スタンバイ状態から通常動作状態へ移行する場合の、図１の集積回路装置における処理例を示すフローチャートである。
【図５】再接続に関する図１の集積回路装置における処理例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について、図面を参照しながら説明する。図面において同じ参照番号で示された構成要素は、同一の又は類似の構成要素である。
【００１５】
図１は、本発明の実施形態に係る集積回路装置の構成を示すブロック図である。図１の集積回路装置１００は、メインブロック１０を有し、メインブロック１０は、第１プロセッサとしてのＣＰＵ１２と、ＲＯＭ（read-only memory）１４と、システムメモリ１６と、周辺ブロック１８と、内部バス５２とを有する。更に集積回路装置１００は、第２プロセッサとしてのスタンバイマイコン３２と、ＵＳＢホストコントローラ４０と、ＵＳＢ５４とを有する。ＣＰＵ１２、ＲＯＭ１４、システムメモリ１６、周辺ブロック１８、スタンバイマイコン３２、及びＵＳＢホストコントローラ４０は、内部バス５２を介して接続されている。
【００１６】
ＵＳＢ無線ＬＡＮモジュール（以下では無線ＬＡＮモジュールと称する）６２は、ＵＳＢデバイスであって、無線ＬＡＮ通信機能を有し、ＵＳＢ５４を介してＵＳＢホストコントローラ４０と通信を行う。無線ＬＡＮモジュール６２は、無線ＬＡＮアクセスポイント８２との間で無線によりデータ転送を行う。無線ＬＡＮとは、ＩＥＥＥ８０２．１１ａ／ｂ／ｇ／ｎ等の規格に従って無線通信によってデータを送受信するＬＡＮである。
【００１７】
ＲＯＭ１４は、省電力制御ソフトウェア１５Ａ、無線ＬＡＮドライバ１５Ｂ、及びＵＳＢドライバ１５Ｃを格納している。システムメモリ１６は、例えばＲＡＭ（random access memory）である。ＣＰＵ１２は、ＲＯＭ１４、システムメモリ１６、及びその他の周辺ブロック１８を用いて動作する。スタンバイマイコン３２は、スタンバイマイコン制御ソフトウェア３３を格納している。スタンバイマイコン３２は、他の回路ブロックを用いることなく動作する。
【００１８】
ＵＳＢホストコントローラ４０は、内蔵メモリ４２を有する。内蔵メモリ４２は、受信データ格納領域４４を有する。内蔵メモリ４２は、転送制御情報及び受信データ比較情報を格納する。ＣＰＵ１２は、省電力制御ソフトウェア１５Ａ、無線ＬＡＮドライバ１５Ｂ、及びＵＳＢドライバ１５Ｃを用いて、ＵＳＢホストコントローラ４０を制御する。スタンバイマイコン３２は、スタンバイマイコン制御ソフトウェア３３を用いて、ＵＳＢホストコントローラ４０を制御する。
【００１９】
集積回路装置１００は、通常動作状態とスタンバイ状態とを有する。通常動作状態は、ＣＰＵ１２やその周辺モジュールを有するメインブロック１０とＵＳＢホストコントローラ４０とが動作し、スタンバイマイコン３２が停止している状態である。通常動作状態では、ＵＳＢホストコントローラ４０は、ＣＰＵ１２によって制御される。この状態では、ＲＯＭ１４に格納された無線ＬＡＮドライバ１５ＢやＵＳＢドライバ１５Ｃ等の制御ソフトウェアや、システムメモリ１６等の周辺モジュールも、ＣＰＵ１２の制御下でＵＳＢ５４の転送制御に用いられる。無線ＬＡＮモジュール６２も、同様にＣＰＵ１２により制御される。無線ＬＡＮモジュール６２は、無線ＬＡＮアクセスポイント８２との接続に必要な情報（ＳＳＩＤ（service set identifier）、暗号方式情報、暗号化キー等)を用いることにより、無線ＬＡＮアクセスポイント８２と通信可能な状態になっている。
【００２０】
スタンバイ状態は、スタンバイマイコン３２とＵＳＢホストコントローラ４０とが動作し、メインブロック１０が停止している状態である。スタンバイ状態では、ＵＳＢホストコントローラ４０は、スタンバイマイコン３２によって制御される。スタンバイ状態と同様の状態を表す言葉として、「休止状態」、「待機状態」、「スリープモード」、「スタンバイモード」等がある。スタンバイマイコン３２は、スタンバイ状態において、ＵＳＢホストコントローラ４０を制御して、通常動作状態に移行するための処理を行う。しかし、その他の機能は限られており、スタンバイマイコン３２の回路規模及び消費電力は、ＣＰＵ１２より小さい。
【００２１】
集積回路装置１００は、ＵＳＢホストコントローラ４０とＵＳＢデバイスである無線ＬＡＮモジュール６２との間で通信可能な状態を維持したまま、すなわち、ＵＳＢの通信リンクを維持したまま、ＵＳＢホストコントローラ４０に対する制御を、ＣＰＵ１２による制御とスタンバイマイコン３２による制御との間で切り替える。以下では、より具体的にその説明を行う。
【００２２】
まず、ＣＰＵ１２は、通常動作状態において、ＵＳＢホストコントローラ４０を制御して、ＵＳＢホストコントローラ４０と無線ＬＡＮモジュール６２との間の通信が可能になるようにするための処理を行う。その後、図２の処理により、集積回路装置１００は、通常動作状態からスタンバイ状態に移行する。このとき、ＣＰＵ１２は、ＵＳＢホストコントローラ４０に対する制御を、スタンバイマイコン３２による制御に切り替える。
【００２３】
図２は、通常動作状態からスタンバイ状態へ移行する場合の、図１の集積回路装置１００における処理例を示すフローチャートである。集積回路装置１００は、通常動作状態にあるとする。図２のＳ１２では、ＣＰＵ１２は、省電力制御ソフトウェア１５Ａを実行して、ＵＳＢホストコントローラ４０に対して出力したＵＳＢ転送要求を、全て完了又は中断させ、実行中のＵＳＢ転送要求がない状態にする。このとき、無線ＬＡＮモジュール６２側から見ると、ＵＳＢホストコントローラ４０からの転送要求が一時的に来なくなっているが、ＵＳＢホストコントローラ４０と無線ＬＡＮモジュール６２との間では通信可能な状態を維持したままである（言い換えると、ＵＳＢの接続状態は確立されたままである）。
【００２４】
図３は、ｑＴＤ（queue element transfer descriptor）と呼ばれるデータ構造についての説明図である。ｑＴＤには、図３のように、制御情報と、アドレス情報としてのバッファポインタとが設定されている。制御情報は、例えば図３の０ＢＨ−０８Ｈで示されたデータであって、ＵＳＢデバイスに対してどのような転送を行うかを示す。バッファポインタは、転送されたデータが格納されるバッファとして用いられる受信データ格納領域４４を示す。
【００２５】
ＵＳＢ転送を開始する場合には、ｑＴＤのStatusフィールドＤ１２内のActiveビットＤ１４が１にセットされる。転送が完了した場合には、ＵＳＢホストコントローラ４０から割込みが発生するとともに、ActiveビットＤ１４がＵＳＢホストコントローラ４０により０にクリアされる。ｑＴＤに設定されたバッファポインタが示す領域には、ＵＳＢ転送により取得されたデータが格納される。
【００２６】
スタンバイ状態においては、無線ＬＡＮアクセスポイント８２から無線ＬＡＮモジュール６２に対して通信要求が発生したことが検出できるように、無線ＬＡＮモジュール６２の状態を定期的に取得する必要がある。このため、図２のＳ１４では、ＣＰＵ１２は、無線ＬＡＮドライバ１５Ｂを用いて、無線ＬＡＮモジュール６２の状態を取得するためのＵＳＢ転送リクエストを、ＵＳＢホストコントローラ４０の内蔵メモリ４２に格納する。ただし、この時点では、ｑＴＤのActiveビットＤ１４を１にセットせず、転送自体は実行しない。このようなスタンバイ状態において必要なＳ１４の転送の設定は、まず、ＣＰＵ１２によって、省電力制御ソフトウェア１５Ａから無線ＬＡＮドライバ１５Ｂに対して要求することにより開始される。
【００２７】
Ｓ１６では、ＣＰＵ１２は、受信データ比較情報を、ＵＳＢホストコントローラ４０の内蔵メモリ４２に格納する。受信データ比較情報は、ＵＳＢ転送リクエストが発行された際に、ＵＳＢホストコントローラ４０が無線ＬＡＮモジュール６２から受信したデータが、無線ＬＡＮアクセスポイント８２から無線ＬＡＮモジュール６２に対するデータか否かを判断するための情報である。
【００２８】
Ｓ１８では、ＣＰＵ１２は、ｑＴＤのバッファポインタ、ActiveビットＤ１４のアドレス、及び受信データ比較情報のアドレスを、転送制御情報としてＵＳＢホストコントローラ４０の内蔵メモリ４２に格納する。転送制御情報には、スタンバイマイコン３２からもアクセスできる。
【００２９】
Ｓ２０では、ＣＰＵ１２は、ＵＳＢホストコントローラ４０によるＣＰＵ１２への割込みＩＲ１を禁止し、スタンバイマイコン３２を起動する。Ｓ２２では、ＣＰＵ１２は、ＵＳＢホストコントローラ４０に対する制御をスタンバイマイコン３２による制御に切り替える。具体的には、ＣＰＵ１２は、スタンバイマイコン３２にスタンバイマイコン制御ソフトウェア３３の実行を開始させ、かつ、ＣＰＵ１２による省電力制御ソフトウェア１５Ａの実行を終了する。
【００３０】
Ｓ２４では、スタンバイマイコン３２は、ＣＰＵ１２を含むメインブロック１０の動作を停止させ、これにより、集積回路装置１００をスタンバイ状態に移行させる。具体的には、スタンバイマイコン３２は、メインブロック１０内の要素に対する電源制御部（図示せず）による電源供給又はクロック制御部（図示せず）によるクロック供給を停止することにより、メインブロック１０の動作を停止させる。また、スタンバイマイコン３２は、ＵＳＢホストコントローラ４０によるスタンバイマイコン３２への割込みＩＲ２を有効にし、スタンバイマイコン３２によってＵＳＢホストコントローラ４０からの割込みＩＲ２を検出できるようにする。Ｓ２４の終了後、集積回路装置１００は、スタンバイマイコン３２とＵＳＢホストコントローラ４０とが動作し、ＣＰＵ１２やその周辺モジュールを有するメインブロック１０が停止しているスタンバイ状態となる。
【００３１】
なお、スタンバイ状態においては、メインブロック１０以外のブロック（スタンバイマイコン３２及びＵＳＢホストコントローラ４０を除く）の動作を停止させてもよいし、メインブロック１０内のＣＰＵ１２以外の一部の要素の動作を停止させなくてもよい。
【００３２】
図４は、スタンバイ状態から通常動作状態へ移行する場合の、図１の集積回路装置１００における処理例を示すフローチャートである。スタンバイ状態において、スタンバイマイコン３２は、スタンバイ状態への移行前にＵＳＢホストコントローラ４０の内蔵メモリ４２に格納された転送制御情報を参照することにより、ＵＳＢホストコントローラ４０の制御が可能である。
【００３３】
Ｓ３２では、スタンバイマイコン３２は、ＵＳＢ転送を再開する。具体的には、スタンバイマイコン３２は、スタンバイマイコン制御ソフトウェア３３を用いて、ｑＴＤのActiveビットＤ１４を１にセットし、ＵＳＢホストコントローラ４０は、無線ＬＡＮモジュール６２に転送要求を行う。このとき、ＵＳＢデバイスである無線ＬＡＮモジュール６２から見ると、ＵＳＢホストコントローラ４０からの転送が再開されただけである。ＵＳＢホストコントローラ４０と無線ＬＡＮモジュール６２との間ではスタンバイ状態になる前から通信リンクが維持されている（通信可能な状態が維持されている）。
【００３４】
Ｓ３４では、無線ＬＡＮモジュール６２は、無線ＬＡＮアクセスポイント８２から無線によりデータを受信する。無線ＬＡＮモジュール６２は、無線により受信されたデータを、ＵＳＢ５４を経由してＵＳＢホストコントローラ４０に転送する。ＵＳＢホストコントローラ４０は、ＵＳＢ５４を経由して転送された何らかのデータを受信すると、スタンバイマイコン３２に割込みＩＲ２を行う。また、ＵＳＢホストコントローラ４０は、受信したデータを受信データ格納領域４４に格納する。受信データが格納された領域は、ｑＴＤのバッファポインタが示す。
【００３５】
Ｓ３６では、スタンバイマイコン３２は割込み処理を実行する。この割込み処理では、スタンバイマイコン３２は、ｑＴＤに設定されたバッファポインタが示す受信データ格納領域４４の内容を読み出し、読み出された情報を、あらかじめ無線ＬＡＮドライバ１５Ｂにより内蔵メモリ４２に格納された受信データ比較情報の一部、又は全部と比較する。比較結果に従って、スタンバイマイコン３２は、無線ＬＡＮアクセスポイント８２から送信されたデータが無線ＬＡＮモジュール６２に対するデータであるか否かを判定する。スタンバイマイコン３２は、無線ＬＡＮアクセスポイント８２から無線ＬＡＮモジュール６２へのデータをウェイクアップ信号と見なす。そのようなデータは、特定のデータ構造を持ったデータには限らない。受信されたデータが無線ＬＡＮモジュール６２に対するデータ（ウェイクアップ信号）である場合（言い換えると、スタンバイマイコン３２が、無線ＬＡＮモジュール６２に対する通信要求を検出した場合）には、Ｓ４０に進み、その他の場合にはＳ３８に進む。
【００３６】
Ｓ３８では、スタンバイマイコン３２は、受信データ格納領域４４を０等にクリアし、再度、ｑＴＤのActiveビットＤ１４を１に設定する。ＵＳＢホストコントローラ４０は、無線ＬＡＮモジュール６２に再び転送要求を行う。その後、Ｓ３４に戻る。スタンバイ状態におけるＳ３２，Ｓ３４，Ｓ３６，及びＳ３８の処理により、スタンバイマイコン３２は、ＵＳＢホストコントローラ４０を制御して、無線ＬＡＮモジュール６２からのデータを受信する。無線ＬＡＮアクセスポイント８２から無線ＬＡＮモジュール６２に対するデータが受信できるまで、無線ＬＡＮモジュール６２に対してのＵＳＢ転送要求が繰り返し発行される。
【００３７】
スタンバイマイコン３２は、Ｓ４０及びＳ４２の処理により、スタンバイ状態から通常動作状態への移行時に、ＵＳＢホストコントローラ４０に対する制御を、ＣＰＵ１２による制御に切り替える（ウェイクアップ処理）。Ｓ４０では、スタンバイマイコン３２は、受信したデータを内蔵メモリ４２の受信データ格納領域４４に格納する。Ｓ４２では、スタンバイマイコン３２は、ＵＳＢホストコントローラ４０からスタンバイマイコン３２への割込みＩＲ２を禁止し、ＣＰＵ１２の動作を再開させる。このとき、スタンバイマイコン３２は、メインブロック１０内の要素に対する電源供給及びクロック供給を再開させる。ＣＰＵ１２の起動後、ＣＰＵ１２は、省電力制御ソフトウェア１５Ａを実行し、スタンバイマイコン３２を停止させ、ＵＳＢホストコントローラ４０からＣＰＵ１２への割込みＩＲ１を有効にする。
【００３８】
Ｓ４４では、ＣＰＵ１２は、省電力制御ソフトウェア１５Ａによって無線ＬＡＮドライバ１５Ｂを起動する。ＣＰＵ１２は、ＵＳＢホストコントローラ４０の受信データ格納領域４４に格納されたデータを、無線ＬＡＮドライバ１５Ｂによって受け取り、無線ＬＡＮモジュール６２に対する転送を開始させる。
【００３９】
ＣＰＵ１２は、無線ＬＡＮドライバ１５Ｂによって受信データ格納領域４４のデータを取得するので、無線ＬＡＮアクセスポイント８２から送信されたデータを受け取ることができる。これにより、ウェイクアップ後の無線ＬＡＮ通信開始の際に認証処理を経由せず、無線ＬＡＮアクセスポイント８２と無線ＬＡＮモジュール６２との間の接続状態を保ったまま、データ転送の再開が可能になる。
【００４０】
図４のＳ４０，Ｓ４２，及びＳ４４により、ウェイクアップ処理が行われ、集積回路装置１００は通常動作状態に復帰する。ウェイクアップ処理後、ＵＳＢデバイスである無線ＬＡＮモジュール６２から見ると、ＵＳＢホストコントローラ４０からの転送要求が継続されており、ＵＳＢの通信リンクはウェイクアップ前から確立されたままである。
【００４１】
以上のように、図１の集積回路装置１００は、図２及び図４の処理により、ＵＳＢホストコントローラ４０とＵＳＢデバイスである無線ＬＡＮモジュール６２との間でＵＳＢの通信リンクを維持したまま（通信可能な状態を維持したまま）、ＵＳＢホストコントローラ４０に対する制御が、ＣＰＵ１２による制御とスタンバイマイコン３２による制御との間で切り替えられる。集積回路装置１００は、メインブロック１０を停止させて消費電力を低下させるスタンバイ状態においても、ＵＳＢの通信リンクを維持する。
【００４２】
このため、外部のＵＳＢデバイスからデータが転送されるウェイクアップ時にＵＳＢホストコントローラ４０とＵＳＢデバイスとの間で通信リンクを再び確立する必要がない。ＵＳＢホストコントローラ４０とＵＳＢデバイスとの間を通信可能な状態にするための制御を行う必要がないので、スタンバイマイコン３２の回路規模を抑え、その消費電力を抑えることができる。
【００４３】
また、必要な時にＵＳＢホストコントローラ４０とＵＳＢデバイスとの間でデータ転送を行うことができる。ＵＳＢデバイスとして無線ＬＡＮモジュール６２を用いる場合には、ＵＳＢの通信リンクが維持されているので、ウェイクアップ後に無線ＬＡＮ通信の認証処理を行う必要がなく、必要な時にはすぐに無線ＬＡＮ通信を開始することができる。このため、無線ＬＡＮを経由してデータを受信する機器に集積回路装置１００を用いると、その機器を必要な時だけ即時に起動して使用することができるので、その機器の電力の消費を抑えることができる。例えば、来客時に使用されるインターフォン・カメラシステムの映像を無線ＬＡＮを経由して転送する場合に、その映像を受けたスタンバイ状態のテレビが起動してその映像を表示したり、その映像を受けたスタンバイ状態の録画機器が起動してその映像を記録すること等が可能になる。
【００４４】
なお、無線ＬＡＮモジュール６２は一例であり、他の機能を有するモジュールをＵＳＢデバイスとして用いてもよい。例えば、有線ＬＡＮによる通信機能を有するモジュールをＵＳＢデバイスとして用いてもよい。
【００４５】
スタンバイマイコン３２は、無線ＬＡＮモジュール６２からのデータを受信する機能以外の機能の少なくとも一部を停止するように、ＵＳＢホストコントローラ４０を制御してもよい。これにより、消費電力を更に抑えることができる。
【００４６】
無線ＬＡＮモジュール６２と無線ＬＡＮアクセスポイント８２との間は無線で接続されているので、伝搬環境の変化により、両者の間の通信が切断されることがある。この無線接続を再接続するために、以上の処理の他に、集積回路装置１００は以下の（１）〜（３）の処理を更に行ってもよい。図５は、再接続に関する図１の集積回路装置１００における処理例を示すフローチャートである。
【００４７】
（１）ＵＳＢホストコントローラ４０の内蔵メモリ４２へのデータの格納
スタンバイ状態において、スタンバイマイコン３２は、無線ＬＡＮアクセスポイント８２から無線ＬＡＮモジュール６２に対するデータ（通信要求）が発生したことを検出する図４の処理に加え、無線ＬＡＮモジュール６２の状態を定期的に取得する処理を行う必要がある。無線ＬＡＮアクセスポイントとの間の通信が切断されたこと、及びその後無線ＬＡＮアクセスポイント８２を検出できたことを、スタンバイマイコン３２がスタンバイマイコン制御ソフトウェア３３を用いて検出できるようにするためである。
【００４８】
そのために、Ｓ５２において、ＣＰＵ１２は、無線ＬＡＮアクセスポイント検出のための情報をＵＳＢホストコントローラ４０の内蔵メモリ４２に格納する。具体的には、スタンバイ状態に移行する前に、例えば図２のＳ１４において、ＣＰＵ１２は、無線ＬＡＮドライバ１５Ｂを用いて、無線ＬＡＮモジュール６２の状態取得のためのＵＳＢ転送リクエストを、内蔵メモリ４２に格納する。このＵＳＢ転送リクエストは、既にＳ１４に関して説明したＵＳＢ転送リクエストに加えて格納される。
【００４９】
また、例えば図２のＳ１６において、ＣＰＵ１２は、無線ＬＡＮモジュール６２から受信したデータが、無線ＬＡＮアクセスポイント８２からこの無線ＬＡＮモジュール６２に対するデータであるか否かを判断するための受信データ比較情報を、内蔵メモリ４２に格納する。この受信データ比較情報は、既にＳ１６に関して説明した受信データ比較情報に加えて格納される。
【００５０】
（２）無線ＬＡＮモジュール６２と無線ＬＡＮアクセスポイント８２との間の無線接続の切断検出処理、及び再接続検出処理
図４のＳ３４，Ｓ３６，及びＳ３８と同様の手順で、スタンバイマイコン３２は、無線ＬＡＮアクセスポイント８２からの送信データを受信し、無線接続の切断及び再接続を検出する。ただし、Ｓ３６では、スタンバイマイコン３２は、同じＳＳＩＤ又はＭＡＣ（media access control）アドレスを一定期間受信できない場合には、無線ＬＡＮアクセスポイント８２との間の接続が切断され、通信が不可能になったと判定し、Ｓ３８に進む。また、切断と判定した後に、切断前と同じＳＳＩＤ又はＭＡＣアドレスを受信した場合には、スタンバイマイコン３２は、切断前と同じ無線ＬＡＮアクセスポイント８２を再検出したと判断し、以下の処理を行う。ＳＳＩＤ及びＭＡＣアドレスは、マネージメント・フレーム信号に含まれる。
【００５１】
（３）無線ＬＡＮモジュール６２と無線ＬＡＮアクセスポイント８２との間の再接続処理
切断前と同じ無線ＬＡＮアクセスポイント８２が再検出したと判断された場合には、Ｓ５４の処理が行われる。Ｓ５４では、スタンバイマイコン３２は、通常動作状態への移行処理であるウェイクアップ処理を行う。Ｓ５４の処理は、図４のＳ４０及びＳ４２とほぼ同様の処理である。
【００５２】
Ｓ５６の処理は、図４のＳ４４とほぼ同様の処理である。Ｓ５６では、ＣＰＵ１２は、ＵＳＢホストコントローラ４０の内蔵メモリ４２の情報を取得し、ウェイクアップの要因が、無線接続が切断された後の再接続の検出であることを、省電力制御ソフトウェア１５Ａに通知する。
【００５３】
Ｓ５８では、ＣＰＵ１２は、省電力制御ソフトウェア１５Ａ及び無線ＬＡＮドライバ１５Ｂを使用して、無線ＬＡＮモジュール６２と無線ＬＡＮアクセスポイント８２との間における無線ＬＡＮ通信のための認証を再び行い、無線ＬＡＮモジュール６２と無線ＬＡＮアクセスポイント８２との間の接続を再構築する。Ｓ６０では、ＣＰＵ１２及びスタンバイマイコン３２は、スタンバイ処理を行って、集積回路装置１００を再びをスタンバイ状態にする。Ｓ６０の処理は、図２の全体とほぼ同様の処理である。
【００５４】
本明細書における各機能ブロックは、典型的にはハードウェアで実現され得る。例えば各機能ブロックは、ＩＣ（集積回路）の一部として半導体基板上に形成され得る。ここでＩＣは、ＬＳＩ（large-scale integrated circuit）、ＡＳＩＣ（application-specific integrated circuit）、ゲートアレイ、ＦＰＧＡ（field programmable gate array）等を含む。代替としては各機能ブロックの一部又は全ては、ソフトウェアで実現され得る。例えばそのような機能ブロックは、プロセッサ及びプロセッサ上で実行されるプログラムによって実現され得る。換言すれば、本明細書で説明される各機能ブロックは、ハードウェアで実現されてもよいし、ソフトウェアで実現されてもよいし、ハードウェアとソフトウェアとの任意の組合せで実現され得る。
【００５５】
本発明の多くの特徴及び優位性は、記載された説明から明らかであり、よって添付の特許請求の範囲によって、本発明のそのような特徴及び優位性の全てをカバーすることが意図される。更に、多くの変更及び改変が当業者には容易に可能であるので、本発明は、図示され記載されたものと全く同じ構成及び動作に限定されるべきではない。したがって、全ての適切な改変物及び等価物は本発明の範囲に入るものとされる。
【産業上の利用可能性】
【００５６】
以上説明したように、本開示によれば、消費電力を抑えながら、必要な時にＵＳＢデバイスとの間でデータ転送を行うことができるので、本発明は、集積回路装置等について有用である。
【符号の説明】
【００５７】
１２  ＣＰＵ（第１プロセッサ）
１４  ＲＯＭ
１６  システムメモリ
１８  周辺ブロック
３２  スタンバイマイコン（第２プロセッサ）
４０  ＵＳＢホストコントローラ
５２  内部バス
５４  ＵＳＢ
６２  ＵＳＢ無線ＬＡＮモジュール
８２  無線ＬＡＮアクセスポイント
１００  集積回路装置
【図１】
2013020297.tif 000003
【図２】
2013020297.tif 000004
【図３】
2013020297.tif 000005
【図４】
2013020297.tif 000006
【図５】
2013020297.tif 000007