(57)【特許請求の範囲】
【請求項１】
通信デバイスにおける無線アセンブリの電力消費を動的に調節する方法であって、
第１の通信プロトコルに従って動作する第１の無線インターフェースユニットのアクティビティを示す第１の信号を、前記無線アセンブリの電力管理ユニットで受信する段階と、
第２の通信プロトコルに従って動作する第２の無線インターフェースユニットのアクティビティを示す第２の信号を、前記無線アセンブリの前記電力管理ユニットで受信する段階であって、前記第２の通信プロトコルは前記第１の通信プロトコルとは異なる、前記受信する段階と、
前記第１の信号に基づいて、前記第１の無線インターフェースユニットの前記アクティビティをサポートするために必要な第１の電圧レベルを決定する段階と、
前記第２の信号に基づいて、前記第２の無線インターフェースユニットの前記アクティビティをサポートするために必要な第２の電圧レベルを決定する段階と、
前記第１の無線インターフェースユニットの前記アクティビティと前記第２の無線インターフェースユニットの前記アクティビティとをサポートするために必要な供給電圧レベルとして、前記第１の電圧レベルおよび前記第２の電圧レベルのうちのより大きな方を選択する段階と、
前記第１の電圧レベルおよび前記第２の電圧レベルのうちのより大きな方が、前記第１の無線インターフェースユニットおよび前記第２の無線インターフェースユニットの両方に供給されるように、前記供給電圧レベルに基づいて、前記無線アセンブリに供給される供給電圧を調節する段階と
を備える方法。
【請求項２】
前記第１の電圧レベルを決定する段階は、
前記第１の無線インターフェースユニットのアクティビティをサポートするために必要な前記第１の電圧レベルを決定すべく、前記第１の無線インターフェースユニットのアクティビティに対応するインデックスに従って第１の電圧テーブルにアクセスする段階を有し、
前記第２の電圧レベルを決定する段階は、
前記第２の無線インターフェースユニットのアクティビティをサポートするために必要な前記第２の電圧レベルを決定すべく、前記第２の無線インターフェースユニットのアクティビティに対応するインデックスに従って第２の電圧テーブルにアクセスする段階を有する、
請求項１に記載の方法。
【請求項３】
前記無線アセンブリの中央処理装置（ＣＰＵ）のアクティビティを示す第３の信号を、前記無線アセンブリの前記電力管理ユニットで受信する段階であって、前記ＣＰＵは、前記第１の無線インターフェースユニットおよび前記第２の無線インターフェースユニットの少なくとも一方のオペレーションを制御するべく、メモリに格納された複数のコンピュータ可読命令を実行する、前記受信する段階と、
前記ＣＰＵの前記アクティビティをサポートするために前記ＣＰＵによって必要とされるクロック周波数を決定する段階と
を更に備え、
前記第１の電圧レベルを決定する段階および前記第２の電圧レベルを決定する段階は、更に、前記ＣＰＵのアクティビティをサポートするために必要な前記クロック周波数に基づく
請求項１または２に記載の方法。
【請求項４】
前記決定されたクロック周波数に従って、前記ＣＰＵに対応するクロック信号を調節する段階と、
前記ＣＰＵへ前記調節されたクロック信号を供給する段階と
を更に備える
請求項３に記載の方法。
【請求項５】
前記クロック信号を調節する段階は、
前記無線アセンブリへ供給される供給電圧が、前記決定されたクロック周波数をサポートするために十分なレベルである、と決定することに応じて、前記クロック周波数を調節する段階を備える
請求項４に記載の方法。
【請求項６】
前記ＣＰＵの前記アクティビティをサポートするために前記ＣＰＵによって必要とされる前記クロック周波数を決定する段階は、
前記ＣＰＵのアクティビティに対応するインデックスに従って、周波数および電圧テーブルにアクセスする段階と、
前記ＣＰＵの前記アクティビティをサポートするために必要な周波数値および電圧値を含むテーブルエントリを取得する段階とを備える
請求項３から５のいずれか１項に記載の方法。
【請求項７】
前記テーブルエントリは、前記周波数値に対する周波数源が、（ｉ）前記ＣＰＵの外部の位相同期ループ、又は（ｉｉ）前記ＣＰＵの内部の基準周波数生成器のいずれであるかを示す周波数源インジケータをさらに含む
請求項６に記載の方法。
【請求項８】
ホストアセンブリインターフェースユニットを介して前記無線アセンブリに接続されたホストアセンブリのアクティビティを示す第４の信号を、前記無線アセンブリの前記電力管理ユニットで受信する段階と、
前記ホストアセンブリの前記アクティビティをサポートするために前記ホストアセンブリインターフェースユニットによって必要とされる電圧レベルを決定する段階と
を更に備え、
前記第１の電圧レベルを決定する段階および前記第２の電圧レベルを決定する段階は、更に、前記ホストアセンブリインターフェースユニットをサポートするために必要な前記電圧レベルに基づく
請求項３から７のいずれか１項に記載の方法。
【請求項９】
前記供給電圧レベルに従って、前記無線アセンブリに供給される前記供給電圧を調節する段階は、前記無線アセンブリに供給電圧を供給する電圧源へ、制御信号を提供する段階を含む
請求項１から８のいずれか１項に記載の方法。
【請求項１０】
前記電圧源は、（ｉ）降圧発生器又は（ｉｉ）低ドロップアウト電圧（ＬＤＯ）電圧発生器の一方である
請求項９に記載の方法。
【請求項１１】
無線デバイスの無線アセンブリであって、
第１の通信プロトコルに従って動作する第１の無線インターフェースユニットと第２の通信プロトコルに従って動作する第２の無線インターフェースユニットとを少なくとも含む複数の無線インターフェースユニットと、
動的電力管理ユニットと
を備え、
前記動的電力管理ユニットは、
前記第１の無線インターフェースユニットのアクティビティを示す第１の信号を受信し、
前記第２の無線インターフェースユニットのアクティビティを示す第２の信号を受信し、
前記第１の無線インターフェースユニットの前記アクティビティをサポートするために必要な第１の電圧レベルを、前記第１の信号に基づいて決定し、
前記第２の無線インターフェースユニットの前記アクティビティをサポートするために必要な第２の電圧レベルを、前記第２の信号に基づいて決定し、
前記第１の無線インターフェースユニットの前記アクティビティと前記第２の無線インターフェースユニットの前記アクティビティとをサポートするために必要な供給電圧レベルとして、前記第１の電圧レベルおよび前記第２の電圧レベルのうちのより大きな方を選択し、
前記第１の電圧レベルおよび前記第２の電圧レベルのうちのより大きな方が、前記第１の無線インターフェースユニットおよび前記第２の無線インターフェースユニットの両方に供給されるように、前記無線アセンブリの供給電圧を、前記供給電圧レベルに基づいて調節する
無線アセンブリ。
【請求項１２】
前記動的電力管理ユニットは、
前記第１の無線インターフェースユニットのアクティビティをサポートするために必要な前記第１の電圧レベルを決定すべく、前記第１の無線インターフェースユニットのアクティビティに対応するインデックスに従って、第１の電圧テーブルにアクセスし、
前記第２の無線インターフェースユニットのアクティビティをサポートするために必要な前記第２の電圧レベルを決定すべく、前記第２の無線インターフェースユニットのアクティビティに対応するインデックスに従って、第２の電圧テーブルにアクセスする、
請求項１１に記載の無線アセンブリ。
【請求項１３】
中央処理装置（ＣＰＵ）をさらに備え、
前記中央処理装置は、前記第１の無線インターフェースユニットおよび前記第２の無線インターフェースユニットの少なくとも一方のオペレーションを制御すべく、メモリに格納された複数のコンピュータ可読命令を実行し、
前記動的電力管理ユニットは、更に、
前記ＣＰＵのアクティビティを示す第３の信号を、前記ＣＰＵから受信し、
前記ＣＰＵの前記アクティビティをサポートするために前記ＣＰＵによって必要とされるクロック周波数を決定し、
前記第１の電圧レベルおよび前記第２の電圧レベルを、前記ＣＰＵのアクティビティをサポートするために必要な前記クロック周波数に更に基づいて決定する
請求項１１または１２に記載の無線アセンブリ。
【請求項１４】
前記動的電力管理ユニットは、前記決定されたクロック周波数に従って、前記ＣＰＵに対応するクロック信号を調節し、
前記調節されたクロック信号は、前記ＣＰＵへ供給される
請求項１３に記載の無線アセンブリ。
【請求項１５】
前記動的電力管理ユニットは、前記無線アセンブリに供給される供給電圧が前記決定されたクロック周波数をサポートするのに十分なレベルである、と決定することに応じて、前記クロック信号を調節する
請求項１４に記載の無線アセンブリ。
【請求項１６】
前記動的電力管理ユニットは、
前記ＣＰＵのアクティビティに対応するインデックスに従って、周波数および電圧テーブルにアクセスし、
前記ＣＰＵの前記アクティビティをサポートするために必要な周波数値および電圧値を含むテーブルエントリを取得する
請求項１３から１５のいずれか１項に記載の無線アセンブリ。
【請求項１７】
前記テーブルエントリは、前記周波数値に対する周波数源が、（ｉ）前記ＣＰＵの外部の位相同期ループ、又は（ｉｉ）前記ＣＰＵの内部の基準周波数生成器のいずれであるかを示す周波数源インジケータを更に含む
請求項１６に記載の無線アセンブリ。
【請求項１８】
前記無線アセンブリをホストアセンブリに接続するホストアセンブリインターフェースユニットを更に備え、
前記動的電力管理ユニットは、更に、
ホストアセンブリインターフェースユニットを介して前記無線アセンブリに接続されるホストアセンブリのアクティビティを示す第４の信号を受信し、
前記ホストアセンブリの前記アクティビティをサポートするために前記ホストアセンブリインターフェースユニットによって必要とされる電圧レベルを決定し、
前記ホストアセンブリインターフェースユニットをサポートするために必要な前記電圧レベルに更に基づいて、前記第１の電圧レベルおよび前記第２の電圧レベルを決定する
請求項１３から１７のいずれか１項に記載の無線アセンブリ。
【請求項１９】
前記動的電力管理ユニットは、電圧レギュレータが制御信号に基づいて、前記無線アセンブリへ提供される供給電圧を調節するように、前記無線アセンブリへ前記供給電圧を供給する電圧源へ、前記制御信号を提供する
請求項１１から１８のいずれか１項に記載の無線アセンブリ。
【請求項２０】
前記電圧源は、（ｉ）降圧発生器、又は（ｉｉ）低ドロップアウト電圧（ＬＤＯ）電圧発生器の一方である
請求項１９に記載の無線アセンブリ。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願に対する相互参照
本開示は、「無線ＳＯＣの電力消費を減少させるＤＶＦＳベースの技術を用いる方法」と題された、２０１２年１０月２４日出願の米国仮特許出願第６１／７１７，９１２号の利益を主張し、その開示は、その全体の参照によりこれによって本開示において明確に組み込まれる。
【０００２】
本開示は、概して、通信デバイスに関し、より具体的に、無線デバイスにおいて節電オペレーションを改善するための技術に関する。
【背景技術】
【０００３】
複数の通信デバイスは、比較的普及した利用を享受する。複数の携帯電話はありふれたものになっている。多くのユーザは、彼らのラップトップコンピュータを複数の無線ローカルエリアネットワーク（ＷＬＡＮ）へ、家および道路上で接続する。複数の運転手は、運転中に、ハンズフリーコール動作のための複数の無線イヤホンヘッドセットを用いる。実際、多くの自動車製造者は、車両に直接組み込まれたハンズフリー動作を提供する。
【０００４】
これらのデバイスは、従来、多数の異なるネットワーキングプロトコルのうちの一つにおいて動作しうる。複数のＷＬＡＮデバイスは例えば一般的に、１９９９年に最初に公表された、様々な電気電子学会（ＩＥＥＥ）８０２．１１規格無線プロトコルの一つにおいて動作する。これらのプロトコルは、ＩＥＥＥ  ８０２．１１ａ，８０２．１１ｂ，８０２．１１ｎ，および８０２．１１ｇを含み、複数の異なるスペクトル帯および／または複数の異なる多重化ＳＳ方式（ｍｕｌｔｉｐｌｅｘｉｎｇ  ｏｒ  ｓｐｒｅａｄ  ｓｐｅｃｔｒｕｍ  ｓｃｈｅｍｅ）において動作する。プロトコルが作成されたＷｉＦｉにより、ＷＬＡＮを確立することができる。一般に、複数のＷＬＡＮデバイスは、複数の通信が、ホスト、基地局、又は他のアクセスポイントを通じてルーティングされる、インフラストラクチャネットワークトポロジーにおいて用いられる。他の無線プロトコルは、ブルートゥースプロトコルであり、これは、一般に、携帯電話端末機と無線イヤホンヘッドセットの間のような、複数のデバイス間でのピアツーピア通信のためのアドホックネットワークトポロジー構成において用いられる。他の例として、複数の近距離無線通信（ＮＦＣ）プロトコルは、お互いに極めて近接した２つのデバイス間でのピアツーピア通信のためのものである。いずれかのネットワーク構成は、複数のラップトップコンピュータ、ハンドヘルドコンピュータ、プリンタ、記憶媒体、および複数のホスト、ルータ、スイッチ等のような他のネットワーク機器を含む任意の数のデバイスをサポートしうる。いくつかの例では、ブルートゥースプロトコルの場合、複数の無線デバイスは、複数の携帯電話又は複数のウォーキートーキーのような複数のハンドヘルド通信機でありうる。
【０００５】
さらに最近では、複数の通信デバイスは、同一デバイスにおいて複数のネットワークプロトコル（例えばブルートゥース、ＷＬＡＮ、およびＮＦＣ）をサポートするように設計された。例えば、携帯電話は、ブルートゥースチャネルを介してヘッドセットで音声データを送信および受信し、音声、ビデオ、イメージ、テキスト、および他のデータを、８０２．１１チャネルを介して、別々に送信および受信することができうる。さらに、そのようなデバイスはしばしば、他の複数の無線通信機能、例えば周波数変調（ＦＭ）ブロードキャスト無線感受を含む。
【０００６】
概して、複数の無線デバイスは、多くの異なる電源を用いて動作しうる。いくつかのデバイスは、一定のＡＣ電源を用い、一方他は、バッテリ電力を切って動作し、一方他は、どちらかから動作する。ネットワーク上の複数のデバイスのための様々な電源の場合、電力消費は、ネットワークオペレーションの重要な見地となっており、そのため、無線デバイスオペレーションの重要な見地となっている。
【発明の概要】
【０００７】
１つの実施形態では、通信デバイスにおける無線アセンブリの電力消費を動的に調節する方法であって、第１の通信プロトコルに従って動作するように構成された第１の無線インターフェースユニットのアクティビティを示す第１の信号を、無線アセンブリの電力管理ユニットで受信する段階と、第２の通信プロトコルに従って動作するよう構成された第２の無線インターフェースユニットのアクティビティを示す第２の信号を、無線アセンブリの電力管理ユニットで受信する段階とを含む。第２の通信プロトコルは第１の通信プロトコルとは異なる。方法はまた、第１の信号および第２の信号に基づいて、第１の無線インターフェースユニットのアクティビティと第２の無線インターフェースユニットのアクティビティとをサポートするために必要な供給電圧レベルを決定する段階を含む。方法はさらに、供給電圧レベルに基づいて、無線アセンブリに供給される供給電圧を調節する段階を含む。
【０００８】
他の複数の実施形態では、方法は、以下の複数の特徴のうちの１または複数の任意の組み合わせを含む。
【０００９】
第１の信号および第２の信号に基づいて、第１の無線インターフェースユニットのアクティビティと第２の無線インターフェースユニットのアクティビティとをサポートするのに必要な供給電圧レベルを決定する段階は、第１の無線インターフェースユニットのアクティビティをサポートするのに必要な第１の電圧レベルを決定すべく、第１の無線インターフェースユニットのアクティビティに対応するインデックスに従って第１の電圧テーブルにアクセスする段階を含む。
【００１０】
第１の信号および第２の信号に基づいて、第１の無線インターフェースユニットのアクティビティと第２の無線インターフェースユニットのアクティビティとをサポートするのに必要な供給電圧レベルを決定する段階は、第２の無線インターフェースユニットのアクティビティをサポートするのに必要な第２の電圧を決定すべく、第２の無線インターフェースユニットのアクティビティに対応するインデックスに従って第２の電圧テーブルにアクセスする段階を含む。
【００１１】
第１の信号および第２の信号に基づいて、第１の無線インターフェースユニットのアクティビティと第２の無線インターフェースユニットのアクティビティとをサポートするのに必要な供給電圧レベルを決定する段階は、第１の無線インターフェースユニットのアクティビティと第２の無線インターフェースユニットのアクティビティとをサポートするのに必要な供給電圧レベルとして、第１の電圧レベルおよび第２の電圧レベルのうちのより大きな方を選択する段階を含む。
【００１２】
方法はさらに、無線アセンブリの中央処理装置（ＣＰＵ）のアクティビティを示す第３の信号を、無線アセンブリの電力管理ユニットで受信する段階を含み、ＣＰＵは、第１の無線インターフェースユニットおよび第２の無線インターフェースユニットの少なくとも一方のオペレーションを制御するべく、メモリに格納された複数のコンピュータ可読命令を実行するように構成される。
【００１３】
方法はさらに、ＣＰＵのアクティビティをサポートするのにＣＰＵによって必要とされるクロック周波数を決定する段階を含む。
【００１４】
供給電圧レベルを決定する段階は、さらに、ＣＰＵのアクティビティをサポートするのに必要なクロック周波数に基づく。
【００１５】
方法はさらに、決定されたクロック周波数に従って、ＣＰＵに対応するクロック信号を調節する段階と、調節されたクロック信号をＣＰＵへ供給する段階とを含む。
【００１６】
クロック信号を調節する段階は、無線アセンブリへ供給される供給電圧が、決定されたクロック周波数をサポートするのに十分なレベルであることを決定することに応じて、クロック周波数を調節する段階を含む。
【００１７】
ＣＰＵのアクティビティをサポートするのにＣＰＵによって必要とされるクロック周波数を決定する段階は、ＣＰＵのアクティビティに対応するインデックスに従って、周波数および電圧テーブルにアクセスする段階と、ＣＰＵのアクティビティをサポートするのに必要な周波数値および電圧値を含むテーブルエントリを取得する段階とを備える。
【００１８】
テーブルエントリは、周波数値に対する周波数源が、（ｉ）ＣＰＵの外部の位相同期ループ、又は（ｉｉ）ＣＰＵの内部の基準周波数生成器のいずれであるかを示す周波数源インジケータをさらに含む。
【００１９】
方法はさらに、ホストアセンブリインターフェースユニットを介して無線アセンブリに接続されたホストアセンブリのアクティビティを示す第４の信号を、無線アセンブリの電力管理ユニットで受信する段階を含む。
【００２０】
方法はさらに、ホストアセンブリのアクティビティをサポートするのにホストアセンブリインターフェースユニットによって必要とされる電圧レベルを決定する段階を含む。
【００２１】
供給電圧レベルを決定する段階は、さらに、ホストアセンブリインターフェースをサポートするのに必要な電圧レベルに基づく。
【００２２】
供給電圧レベルに従って、無線アセンブリに供給される供給電圧を調節する段階は、無線アセンブリに供給電圧を供給する電圧源へ、制御信号を提供する段階を含む。
【００２３】
電圧源は、（ｉ）降圧発生器又は（ｉｉ）低ドロップアウト電圧（ＬＤＯ）電圧発生器の一方である。
【００２４】
別の実施形態において、無線デバイスの無線アセンブリは、第１の通信プロトコルに従って動作するように構成された第１の無線インターフェースユニットと第２の通信プロトコルに従って動作するように構成された第２の無線インターフェースユニットとを少なくとも含む複数の無線インターフェースユニットを備える。無線デバイスはさらに、第１の無線インターフェースユニットのアクティビティを示す第１の信号を受信し、第２の無線インターフェースユニットのアクティビティを示す第２の信号を受信するように構成された動的電力管理ユニットを備える。動的電力管理ユニットはまた、第１の無線インターフェースユニットのアクティビティと第２の無線インターフェースユニットのアクティビティとをサポートするのに必要な供給電圧レベルを、第１の信号および第２の信号に基づいて決定するように構成される。動的電力管理ユニットはさらに、無線アセンブリの供給電圧を、供給電圧レベルに基づいて調節するように構成される。
【００２５】
別の実施形態では、無線アセンブリは、以下の複数の特徴のうちの１または複数の任意の組み合わせを備える。
【００２６】
動的電力管理ユニットは、第１の無線インターフェースユニットのアクティビティをサポートするのに必要な第１の電圧レベルを決定すべく、第１の無線インターフェースユニットのアクティビティに対応するインデックスに従って、第１の電圧テーブルにアクセスするように構成される。
【００２７】
動的電力管理ユニットは、第２の無線インターフェースユニットのアクティビティをサポートするのに必要な第２の電圧レベルを決定すべく、第２の無線インターフェースユニットのアクティビティに対応するインデックスに従って、第２の電圧テーブルにアクセスするように構成される。
【００２８】
動的電力管理ユニットは、第１の無線インターフェースユニットのアクティビティと第２の無線インターフェースユニットのアクティビティとをサポートするのに必要な供給電圧レベルとして、第１の電圧レベルおよび第２の電圧レベルのうちのより大きな方を選択するように構成される。
【００２９】
無線アセンブリは、中央処理装置（ＣＰＵ）をさらに備え、中央処理装置は、第１の無線インターフェースユニット又は第２の無線インターフェースユニットの少なくとも一方のオペレーションを制御すべく、メモリに格納された複数のコンピュータ可読命令を実行するように構成される。
【００３０】
動的電力管理ユニットはさらに、ＣＰＵのアクティビティを示す第３の信号を、ＣＰＵから受信するように構成される。
【００３１】
動的電力管理ユニットはさらに、ＣＰＵのアクティビティをサポートするのにＣＰＵによって必要とされるクロック周波数を決定するように構成される。
【００３２】
動的電力管理ユニットはさらに、供給電圧レベルを、ＣＰＵのアクティビティをサポートするのに必要なクロック周波数にさらに基づいて決定するように構成される。
【００３３】
動的電力管理ユニットは、決定されたクロック周波数に従って、ＣＰＵに対応するクロック信号を調節するように構成される。
【００３４】
調節されたクロック信号は、ＣＰＵへ供給される。
【００３５】
動的電力管理ユニットは、無線アセンブリに供給される供給電圧が決定されたクロック周波数をサポートするのに十分なレベルであることを決定することに応じて、クロック信号を調節するように構成される。
【００３６】
動的電力管理ユニットは、ＣＰＵのアクティビティに対応するインデックスに従って、周波数および電圧テーブルにアクセスし、ＣＰＵのアクティビティをサポートするのに必要な周波数値および電圧値を含むテーブルエントリを取得するように構成される。
【００３７】
テーブルエントリは、周波数値に対する周波数源が、（ｉ）ＣＰＵの外部の位相同期ループ、又は（ｉｉ）ＣＰＵの内部の基準周波数生成器のいずれであるかを示す周波数源インジケータをさらに含む。
【００３８】
無線アセンブリはさらに、無線アセンブリをホストアセンブリに接続するホストインターフェースユニットを備える。
【００３９】
動的電力管理ユニットはさらに、ホストアセンブリインターフェースユニットを介して無線アセンブリに接続されるホストアセンブリのアクティビティを示す第４の信号を受信するように構成される。
【００４０】
動的電力管理ユニットはさらに、ホストアセンブリのアクティビティをサポートするのにホストアセンブリインターフェースユニットによって必要とされる電圧レベルを決定するように構成される。
【００４１】
動的電力管理ユニットはさらに、ホストアセンブリインターフェースユニットをサポートするのに必要な電圧レベルにさらに基づいて、供給電圧レベルを決定するように構成される。
【００４２】
動的電力管理ユニットは、電圧レギュレータが制御信号に基づいて、無線アセンブリへ提供される供給電圧を調節するように、無線アセンブリへ供給電圧を供給する電圧源へ、制御信号を提供するように構成される。
【００４３】
電圧源は、（ｉ）降圧発生器、又は低ドロップアウト電圧（ＬＤＯ）電圧発生器の一方である。
【図面の簡単な説明】
【００４４】
【図１】実施形態により、無線デバイスの電力消費を効率的に管理すべく、動的電圧および周波数スケーリングを用いる例の無線デバイスのブロック図である。
【００４５】
【図２】実施形態およびシナリオにより、無線デバイスの実際のニーズに基づいて、無線デバイスにおいて供給電圧を動的に調節する方法を示すタイミング図である。
【００４６】
【図３】他の実施形態およびシナリオにより、無線デバイスの実際のニーズに基づいて、無線デバイスにおいて供給電圧およびクロック周波数を動的に調節する方法を示すタイミング図である。
【００４７】
【図４】実施形態およびシナリオにより、無線デバイスの実際のニーズに基づいて、無線デバイスにおいて供給電圧を動的に調節する方法を示すタイミング図である。
【００４８】
【図５】実施形態により、動的電圧および周波数スケーリングシステムの例の実装のブロック図である。
【００４９】
【図６】実施形態により、周波数および電圧テーブルの例の実施形態を示す。
【００５０】
【図７Ａ】実施形態により、ソフトウェアドメイン電圧および周波数要求ユニットの例の実装の様々な部分のブロック図である。
【図７Ｂ】実施形態により、ソフトウェアドメイン電圧および周波数要求ユニットの例の実装の様々な部分のブロック図である。
【００５１】
【図８】実施形態により、ハードウェアドメイン電圧要求ユニットの例の実装のブロック図である。
【００５２】
【図９】実施形態により、電圧制御ユニットの例の実装のブロック図である。
【００５３】
【図１０】実施形態により、周波数制御ユニットの例の実装のブロック図である。
【００５４】
【図１１】実施形態により、周波数コントローラの例の実装である。
【００５５】
【図１２】実施形態により、通信デバイスにおいて、無線アセンブリの電力消費を動的に調節する例の方法１２００のフロー図である。
【発明を実施するための形態】
【００５６】
図１は、実施形態により、無線デバイス１００の電力消費を効率的に管理するべく、動的電圧および周波数スケーリングを用いる例の無線デバイス１００のブロック図である。無線デバイス１００は、ホストアセンブリ１０２および無線アセンブリ１０４を含む。ホストアセンブリ１０２は、概して、ホストアセンブリ１０２のオペレーションを制御するプロセッサ１０６を含む。いくつかの実施形態において、プロセッサ１０６は、例えば、インターフェース１０８を介して無線アセンブリ１０４から受信された複数のパケットの処理のような、ホストアセンブリ１０２のオペレーションの制御以外の複数の機能を実行する。ホストアセンブリ１０４はまた、無線アセンブリ１０４にホストアセンブリ１０６を接続する１または複数のインターフェースユニット１０８を含む。図１の例の実施形態において、複数のインターフェースユニット１０８は、セキュアデジタル入力／出力（ＳＤＩＯ）インターフェース１０８―１、ユニバーサル非同期受信機／送信機（ＵＡＲＴ）インターフェース１０８―２およびペリフェラルコンポーネントインターコネクトエクスプレス（ＰＣＩＥ）インターフェース１０８―３を含む。複数の他の実施形態において、ホストアセンブリ１０２は、図１に示されるインターフェースユニット１０８のうちの１または複数を省略し、および／または、ユニバーサルシリアルバス（ＵＳＢ）インターフェース、又はホストアセンブリ１０２を無線アセンブリ１０４に接続するのに適切な任意の他のインターフェースのような、図１に示されない１または複数のインターフェースを含む。
【００５７】
無線アセンブリ１０４は、複数の無線通信インターフェースユニット１１０を含み、複数の無線通信インターフェースユニット１１０の各々は、各自の無線通信プロトコルに従って動作するように構成される。図１の例の実施形態において、複数の無線通信インターフェースユニット１１０は、ＩＥＥＥ８０２．１１通信プロトコルのようなＷＬＡＮ通信プロトコルに従って動作するように構成された無線ローカルエリアネットワーク（ＷＬＡＮ）ユニット１１０―１、ＢＴ通信プロトコルに従って動作するように構成されるブルートゥース（ＢＴ）ユニット１１０―２、ＦＭ無線通信プロトコルに従って動作するように構成された周波数変調（ＦＭ）無線ユニット１１０―３、および適切なＮＦＣ通信プロトコルに従って動作するように構成される近距離無線通信（ＮＦＣ）ユニット１１０―４を含む。他の複数の実施形態において、無線アセンブリ１０４は、図１に示されるモジュール１１０のうちの１または複数を省略し、および／または、図１に示されない１または複数の無線インターフェースを含み、これは例えば、ワールドワイドインターオペラビリティフォーマイクロウェーブアクセス（ＷｉＭＡＸ）インターフェース、又は任意の適切な通信ネットワークへの無線アセンブリ１０４および／または通信ネットワークに接続されるデバイスの間での通信を可能にするように構成される任意の他の適切なインターフェースである。
【００５８】
無線アセンブリ１０４はさらに、無線アセンブリ１０４をホストアセンブリ１０２に接続する、ホストアセンブリ１０２の１または複数のインターフェースユニット１０８に対応する、１または複数のインターフェースユニット１１２を含む。図１の例の実施形態において、複数のホストインターフェースユニット１１２は、セキュアデジタル入力／出力（ＳＤＩＯ）インターフェース１１２―１、ユニバーサル非同期受信機／送信機（ＵＡＲＴ）インターフェース１１２―２、およびペリフェラルコンポーネントインターコネクトエクスプレス（ＰＣＩＥ）インターフェース１１２―３を含む。他の複数の実施形態において、無線アセンブリ１０４は、図１に示されたインターフェース１１２のうちの１または複数を省略し、および／または図１に示されない１または複数のインターフェースを含み、これは例えば、ユニバーサルシリアルバス（ＵＳＢ）又は無線アセンブリ１０４をホストアセンブリ１０２に接続するのに適した任意の他のインターフェースである。
【００５９】
無線アセンブリ１０４はさらに、１または複数の中央処理装置（ＣＰＵ）１１４、および複数のＣＰＵ１１４を無線アセンブリ１０４の他の複数のコンポーネントと相互接続するシステムバス１１６を含む。図を不明瞭にするのを避けるべく、システムバス１１６への接続の全てが示されるわけではないことが留意される。実施形態において、例えば、ホストインターフェースユニットの各々は、システムバス１１６に接続される。実施形態において、１または複数のＣＰＵ１１４は、複数の無線通信インターフェースユニット１１０のオペレーションを制御し、概して、複数の無線インターフェース１１０に関連付けられた複数の機能を実行するように構成され、例えば、複数の無線インターフェース１１０を介して複数のデータユニット（例えばパケット）を送信および受信する。１つの実施形態において、第１のＣＰＵ（例えばＣＰＵ１１４―１）は、ＷＬＡＮユニット１１０―１に関連付けられた複数の機能のオペレーションを制御し、概して当該機能を実行し、第２のＣＰＵ（例えばＣＰＵ１１４―２）は、ＢＴユニット１１０―２、ＦＭユニット１１０―３およびＮＦＣユニット１１０―４の各々に関連付けられた複数の機能のオペレーションを制御し、概して当該機能を実行し、ＢＴユニット１１０―２、ＦＭユニット１１０―３およびＮＦＣユニット１１０―４の各々は、ＷＬＡＮモジュール１１０−１を動作させるのに必要な処理帯域幅に比べて小さな処理帯域幅を必要とする。他の複数の実施形態において、インターフェースユニット１１０の制御は、他の適切な複数の方法において複数のＣＰＵ１１４間で分割される。さらに、無線アセンブリ１０４は、２つのＣＰＵ１１４を含むように図１に示されるが、無線アセンブリ１０４は、いくつかの実施形態において、複数の無線通信インターフェースユニット１１０の全ての制御を担う単一のＣＰＵを含む。さらに他の実施形態において、無線アセンブリ１０４は、他の適切な数（例えば３，４，５，６等）のＣＰＵ１１４を含む。
【００６０】
実施形態により、複数の無線通信インターフェースユニット１１０および複数のホストインターフェースユニット１１２は、プロセッサ／ＡＳＩＣコンポーネント又は無線アセンブリ１０４の他のデジタル又はアナログコンポーネントのような、無線アセンブリ１０４の複数のハードウェアコンポーネントであり、これらのコンポーネントは、ときに、個別に又は全体として、本開示で利便性のために、複数のハードウェアドメインコンポーネント１１８と参照される。一方、ＣＰＵ１１４およびシステムバス１１６は概して、複数のソフトウェアコンポーネントであり、例えば、（例えば、ＣＰＵ１１４の場合）メモリに格納される複数のコンピュータ可読命令を実装し、（例えば、システムバス１１６の場合）無線アセンブリ１０４の様々なコンポーネント間でデータ転送するように構成された複数のプロセッサであり、これらのコンポーネントは、本開示で利便性のために、個別に又は全体として、複数のソフトウェアドメインコンポーネント１１９と参照される。
【００６１】
様々な実施形態において、特定のハードウェアドメインコンポーネント１１８又は特定のソフトウェアドメインコンポーネント１１９によって必要とされる供給電圧は、特定のコンポーネント１１８、１１９のアクティビティに依存する。例えば、実施形態において、複数の無線通信インターフェースユニット１１０の各々は、アクティブモード又はスリープモードで動作可能である。概して、実施形態において、無線インターフェースユニット１１０は、スリープモードで適切に動作するのに必要な供給電圧に比べて、アクティブモードで適切に動作するために異なる供給電圧を必要とする。さらに、実施形態において、アクティブモードで動作する際、無線インターフェースユニット１１０によって実際に必要とされる供給電圧は、無線インターフェースユニット１１０によって実行されている特定の機能に依存する。ただの例として、実施形態において、スリープモードにおいて、ＷＬＡＮユニット１１０―１は、第１の値（例えば０．８Ｖ、０．９Ｖ、又は任意の他の適切な値）を有する供給電圧で動作可能であり、アクティブモードにおいて、ＷＬＡＮユニット１１０―１は、第２の値、例えば１Ｖと１．１５Ｖの間の値を有する供給電圧を必要とし、これは例えば、ＷＬＡＮユニット１１０―１によって実行される特定の機能に依存する特定の電圧を有する。実施形態において、例えば、ＷＬＡＮユニット１１０―１は、データユニットを受信する際に１．１５Ｖの供給電圧を必要とし、しかし、データユニットを送信すべく、１．１Ｖのみの供給電圧を必要とする。実施形態において、同様に、他の例として、データユニットを送信するべくＢＴユニット１１０―２によって必要とされる供給電圧は、１．０Ｖのような第１の値であり、通信チャネルスキャンを実行すべくＢＴユニット１１０―２によって必要とされる供給電圧は、０．９Ｖのような第２の値である。
【００６２】
実施形態において、インターフェースモジュール１１２によって必要とされる供給電圧は、実施形態においてホストアセンブリ１０２がインターフェースモジュール１１２を介して実行している複数の現在の機能に依存する。例えば、ＷＬＡＮユニット１１０―１を介した送信のためにホストアセンブリ１０２のプロセッサ１０６からデータユニットを受信すべくＰＣＩＥインターフェース１１２―３によって必要とされる供給電圧は、ホストプロセッサ１０６がスリープ状態のとき、又は現在ＰＣＩＥインターフェース１１２―１以外のインターフェースを介して無線アセンブリ１０４と通信しているとき、ＰＣＩＥインターフェース１１２―３によって必要とされる供給電圧とは異なる（例えばより高い）。いくつかの実施形態において、同様に、複数のＣＰＵ１１４およびシステムバス１１６の各々によって必要とされる供給電圧は、ＣＰＵ１１４の現在のモード又は状態、複数のＣＰＵ１１４によって実行されているアクティビティ又は複数のアクティビティ、システムバス１１６のアクティビティ等に依存する。さらに、ＣＰＵ１１４および／またはシステムバス１１６は、非レガシーデータユニット（例えば、非レガシー通信プロトコルに準拠するパケット）を送信するような、１つのアクティビティを実行するより、レガシーデータユニット（例えば、レガシー通信プロトコルに準拠するパケット）を送信するような、他方のアクティビティを実行するために異なるクロック周波数を必要とする。
【００６３】
下記の様々な実施形態において、無線アセンブリ１０４の供給電圧、および／または無線アセンブリ１０４の複数のソフトウェアドメインコンポーネント１１９に提供される複数のクロック周波数は、オペレーションの現在のモードおよび／または無線アセンブリ１０４の様々なコンポーネントによって実行されている現在の複数のアクティビティに基づいて、動的に調節される。少なくともいくつかの実施形態において、無線アセンブリ１０４の様々なコンポーネントの実際のニーズに従って、供給電圧および／または無線アセンブリ１０４に提供されているクロック周波数を動的に調節することにより、無線アセンブリ１０４によって消費される電力を著しく減少させる。
【００６４】
実施形態において、無線アセンブリ１０４は、無線アセンブリ１０４の供給電圧および／または無線アセンブリ１０４の複数のソフトウェアコンポーネント１１９に供給される複数のクロック周波数を効率的に制御するよう構成された、動的電圧および周波数スケーリング（ＤＶＦＳ）ユニット１２０のような、動的電力管理ユニットを含む。図１の実施形態において、ＤＶＦＳユニット１２０は、無線アセンブリ１０４へ供給電圧を提供する電圧レギュレータ１２６と、無線アセンブリ１０４の様々なソフトウェアコンポーネント１１９へ複数のクロック信号を提供する周波数コントローラ１２８とに接続される。  実施形態において、ＤＶＦＳユニット１２０は、少なくとも部分的に、ハードウェア、複数のファームウェア命令を実装するプロセッサ、又はそれらのいくつかの組み合わせとして、実装される。例えば、いくつかの実施形態において、ＤＶＦＳユニット１２０は、カスタム集積回路、特定用途向け集積回路（ＡＳＩＣ）等として実装される。電圧レギュレータ１２６は、１つの実施形態では、降圧レギュレータである。他の複数の実施形態では、電圧レギュレータ１２６は、例えば低損失（低ドロップアウト）（ＬＤＯ）レギュレータのような、他の適切な電圧レギュレータである。実施形態において、周波数制御ユニット１２８は、複数のＣＰＵ１１４の複数のクロックおよび／またはシステムバス１１６のクロックを制御すべく、信号を選択するためのロジックを含む。
【００６５】
実施形態において、概して言えば、ＤＶＦＳユニット１２０は、無線アセンブリ１０４の様々なコンポーネントのアクティビティをモニタリングし、無線アセンブリ１０４の複数のコンポーネントのアクティビティに基づいて、無線アセンブリ１０４へ供給される供給電圧のレベルを動的に調節するように構成される。さらに、実施形態において、ＤＶＦＳユニット１２０は、複数のソフトウェアコンポーネント１１９のアクティビティに基づいて、無線アセンブリ１０４の複数のソフトウェアコンポーネント１１９へ供給される複数のクロック信号を調節するように構成される。実施形態に依存して、ＤＶＦＳユニット１２０は、（ｉ）１または複数の通信モジュール１１０からの、１または複数の通信モジュール１１０の現在のアクティビティを示す１または複数の信号１２２―１のセット、（ｉｉ）１または複数のインターフェースモジュール１１２からの、ホストアセンブリ１０２が１または複数のインターフェースモジュール１１２を介して実行する（又は、まもなく実行する必要がある）複数の現在のアクティビティを示す１または複数の信号１２２―２のセット、および（ｉｉｉ）１または複数のＣＰＵ１１４および／またはシステムバス１１６からの、複数のＣＰＵ１１４および／またはシステムバス１１６の現在のアクティビティを示す１または複数の信号１２２―３のセットのうちの１または複数を受信するように構成される。実施形態により、オペレーションにおいて、ＤＶＦＳユニット１２０は、１または複数の信号１２２―１、１２２―２および／または１２２―３を受信し、受信した１または複数の信号１２２―１、１２２―２および／または１２２―３に基づいて、無線アセンブリ１０４の様々なコンポーネント１１８、１１９によって現在必要とされる供給電圧レベルを決定する。実施形態において、ＤＶＦＳユニット１２０は、複数のソフトウェアコンポーネント１１９から受信した各自の信号１２２―３に基づいて、複数のソフトウェアコンポーネント１１９の各々によって現在必要とされるクロック周波数を決定する。
【００６６】
実施形態および／またはシナリオにおいて、ＤＶＦＳユニット１２０は、信号１２４―１を生成し、信号１２４―１を電圧レギュレータユニット１２６に提供して、無線アセンブリ１０４の様々なコンポーネントの現在のニーズに基づいて、無線アセンブリ１０４の供給電圧を調節する。同様に、実施形態および／またはシナリオにおいて、ＤＶＦＳユニット１２０は、複数のソフトウェアコンポーネント１１９の各々についての各自の信号１２４―２を生成し、各自の信号１２４―２を周波数制御ユニット１２６に提供して、複数のソフトウェアコンポーネント１１９の現在のニーズに基づいて、複数のソフトウェアコンポーネント１１９の複数のクロック周波数を調節する。
【００６７】
ＤＶＦＳユニット１２０が、無線アセンブリ１０４の供給電圧および無線アセンブリ１０４の複数のソフトウェアコンポーネント１１９の個別のクロック周波数を制御すべく、無線アセンブリ１０４に設けられるため、ＣＰＵ１１４―１およびＣＰＵ１１４―２は、少なくともいくつかの実施形態および／またはシナリオにおいて、複数の無線インターフェースユニット１１０の複数のパワーセーブオペレーションを実行する必要がない。さらに、複数の無線インターフェースユニット１１０の供給電圧がＤＶＦＳユニット１２０によって制御されるため、無線インターフェースユニット１１０は、少なくともいくつかの状況において、無線インターフェースユニット１１０のオペレーションを制御することを担うＣＰＵ１１４から独立して動作できる。例えば、インターフェースユニット１１０と概してインターフェースユニット１１０のオペレーションを制御することを担うＣＰＵ１１４とが両方スリープモードで動作する場合、インターフェースユニット１１０が起きて、ＣＰＵ１１４と独立にＣＰＵ１１４を起こさずに、動作を実行できる。ただの一つの具体的な例として、１つの例の実施形態およびシナリオにおいて、概してＢＴインターフェース１１０―２のオペレーションを担うＣＰＵ１１４―２がスリープ状態のままでいる間、ＢＴインターフェース１１０―２は、起きて通信チャネルスキャンを実行できる。さらに、実施形態において、ＣＰＵ１１４―２は、例えば、スキャンの結果として見られるデバイスとの接続を確立すべく、必要な場合に起きることができる。
【００６８】
図２は、他の実施形態および／またはシナリオにより、無線デバイスの実際のニーズに基づいて、無線デバイスにおける供給電圧を動的に調節する方法の実施形態を示すタイミング図１５０である。タイミング図１５０は、説明の簡略化のために、図１を参照して記載されうる。しかし、他の複数の実施形態において、図１の無線デバイス１００とは異なる適切なデバイスは、図２に示される方法を用いうる。
【００６９】
図２において、ＷＬＡＮインターフェース１１０―１およびＢＴインターフェース１１０―２は、最初にアクティブモードにおいて動作している。ＤＶＦＳユニット１２０は、１．１Ｖの公称電圧を出力すべく、適宜に電圧レギュレータ１２６を制御する。時点１５２では、ＷＬＡＮインターフェース１１０―１は、スリープ状態に入る用意ができ、それに従って、信号をＤＶＦＳユニット１２０へ送信し、ＷＬＡＮインターフェース１１０―１がスリープモードに入っていることをＤＶＦＳユニット１２０に示す。このシナリオにおいて、ＢＴインターフェース１１０―２は、アクティブのままで、インターフェースＢＴインターフェース１１０―２がアクティブモードで動作していることをＤＶＦＳユニット１２０に示し続ける。信号を受信することに応じて、ＤＶＦＳユニット１２０は、無線アセンブリ１０４のための供給電圧が、ＢＴインターフェース１１０―２のアクティブモードに対応する１．０Ｖまで現在下げられることができることを決定し、電圧レギュレータ１２６の出力電圧を１．０Ｖまで下げるべく、適宜に電圧レギュレータ１２６を制御する。後に、時点１５４において、ＷＬＡＮインターフェース１１０―１は起きて、例えば、アクセスポイントと通信して、アクセスポイントが無線デバイス１００に送信する任意のデータを有するかを決定する。ＤＶＦＳユニット１２０は、ＷＬＡＮインターフェース１１０―１が起きていることを示す信号を、ＷＬＡＮインターフェース１１０―１から受信して、無線アセンブリ１０４の供給電圧が現在ＷＬＡＮインターフェース１１０―１のアクティブ状態に対応する公称１．１Ｖまで上げられる必要があることを決定する。ＤＶＦＳユニット１２０は、電圧レギュレータ１２６の出力電圧を１．１Ｖまで戻すべく、適宜に電圧レギュレータ１２６を制御する。
【００７０】
図３は、他の実施形態および／またはシナリオにより、無線デバイスの実際のニーズに基づいて、無線デバイスにおいて供給電圧を動的に調節する方法の実施形態を示すタイミング図１６０である。タイミング図１６０は、説明の簡略化のために、図１を参照して説明される。しかし、他の複数の実施形態において、図１の無線デバイス１００とは異なる適切なデバイスは、図３に示される方法を用いうる。
【００７１】
図３において、ＷＬＡＮインターフェース１１０―１は、最初に１．１Ｖの公称電圧で動作しており、レガシーモードで動作している。このモードにおいて、ＷＬＡＮインターフェース１１０―１のオペレーションを制御する、ＣＰＵ１１４―１のクロック周波数が、例えば１６０ＭＨｚにセットされる。時点１６２において、ＷＬＡＮインターフェース１１０―１は、例えば非レガシーパケットを送信するべく、非レガシーモードに入ることを望む。ＷＬＡＮインターフェース１１０―１は、ＤＶＦＳユニット１２０に、ＣＰＵ１１４―１のクロック周波数が例えば３２０ＭＨｚのような非レガシーモードオペレーションのために必要なクロック周波数にまで増加される必要があることを示すべく、適宜にＤＶＦＳユニット１２０に知らせる。ＤＶＦＳは、３２０ＭＨｚクロックでのＣＰＵ１１４―１のオペレーションのために必要な１．１５Ｖにまで増加させるべく、電圧レギュレータ１２６の電圧出力を制御し、３２０ＭＨｚにまでクロック周波数を増加させるべく、周波数コントローラ１２８を制御することによって、応答する。実施形態において、３２０ＭＨｚにまでクロック周波数を増加させるべく周波数コントローラ１２８を制御する前に、１．１５Ｖのより高い電圧レベルが、電圧レギュレータ１２６によって達せられたことを、ＤＶＦＳユニット１２０が保証する。
【００７２】
その後に、時点１６４において、ＷＬＡＮインターフェース１１０―１はレガシーモードに戻ることを望む。このモードにおいて、ＣＰＵ１１４―１のクロック周波数は、１６０ＭＨｚに再度セットされうる。ＷＬＡＮインターフェース１１０―１は、ＣＰＵ１１４―１のクロック周波数が１６０ＭＨｚにまで低減されうることをＤＶＦＳユニット１２０に示すべく、ＤＶＦＳユニット１２０に適宜知らせる。１６０ＭＨｚクロックでのＣＰＵ１１４―１のオペレーションに必要とされる１．１０Ｖにまで電圧レギュレータ１２６の出力を減らすべく電圧レギュレータ１２６を制御し、１６０ＭＨｚにクロック周波数をセットするべく周波数コントローラ１２８を制御することによって、ＤＶＦＳが応答する。この場合、供給電圧レベルは、前の電圧レベルに対して上げられるよりむしろ下げられ、１６０ＭＨｚにまでクロック周波数を低減するべく周波数コントローラ１２８を制御する前に、電圧レギュレータ１２６によって新しい電圧レベルが達せられるということを、ＤＶＦＳユニット１２０が保証する必要は無い。従って、図３の実施形態において、示されたシナリオにおいて、電圧レギュレータ１２８によって１．１Ｖに電圧レベルの移行が完了される前に、１６０ＭＨｚにクロック周波数を低減するべく、ＤＶＦＳユニット１２０が周波数コントローラ１２８を制御する。
【００７３】
図４は、実施形態により、無線デバイスの実際のニーズに基づいて、無線デバイスにおいて供給電圧を動的に調節する方法の実施形態を示すタイミング図１７０である。タイミング図１７０は、説明の簡略化のために、図１を参照して説明される。しかし、他の複数の実施形態において、図１の無線デバイス１００とは異なる適切なデバイスが、図４に示された方法を用いうる。
【００７４】
図４において、無線アセンブリ１０４は、最初に１．１Ｖの公称電圧で電力供給される。時点１７２において、無線アセンブリ１０４は、インターフェース１１０、１１２、複数のＣＰＵ１１４およびシステムバス１１６が、図４の場合は０．９Ｖであるスリープ電圧で動作できる、スリープモードに入る。従って、ＤＶＦＳユニット１２０は、０．９Ｖのスリープ電圧を生成すべく、電圧レギュレータ１２６を制御する。その後、時点１７４において、ホストアセンブリ１０２は、無線アセンブリ１０４を起こし、公称電圧レベルがホストアセンブリ１０２によって要求されていることをＤＶＦＳユニット１２０に示す信号をＤＶＦＳユニット１２０に送信する。ホストアセンブリ１０２から信号を受信することに応じて、ＤＶＦＳユニット１２０は、１．１Ｖの要求された公称電圧を生成すべく、電圧レギュレータ１２６を制御する。実施形態において、１．１Ｖの公称電圧により、無線アセンブリ１０４がアクティブ状態で現在動作することを可能にする。
【００７５】
図５は、実施形態により、動的電圧および周波数スケーリングシステム２００の例の実装のブロック図である。実施形態において、図１のＤＶＦＳユニット１２０は、ＤＶＦＳシステム２００を実装する。他の複数の実施形態において、ＤＶＦＳシステム２００は、無線デバイス１００の別の適切なコンポーネントによって少なくとも部分的に実装され、又は、無線デバイス１００以外の適切なデバイスによって実装される。同様に、ＤＶＦＳモジュール１０２および／または無線デバイス１００の別のコンポーネントは、ＤＶＦＳシステム２００以外のＤＶＦＳシステムを実装する。説明の簡略化のために、システム２００は、図１を参照して以下説明される。
【００７６】
ＤＶＦＳシステム２００は、ソフトウェアドメイン電圧およびクロック周波数要求ユニット２０２、およびハードウェアドメイン電圧要求ユニット２０４を含む。実施形態により、ソフトウェアドメイン周波数および電圧要求ユニット２０２は、無線アセンブリ１０４のＣＰＵ１１４および／またはシステムバス１１６のような無線アセンブリ１０４の複数のソフトウェアドメインコンポーネント１１９のアクティビティをモニタリングし、無線アセンブリ１０４の複数のソフトウェアコンポーネント１１９のアクティビティに基づいて、電圧要求信号および各自のクロック周波数要求信号を生成する。実施形態において、ソフトウェアドメイン周波数および電圧要求ユニット２０２は、ソフトウェアコンポーネント１１９の各々から、ソフトウェアドメインコンポーネント１１９の現在のアクティビティを示す各自の信号２０１を受信する。例として、例のシナリオにおいて、ＣＰＵ１１４―１およびＣＰＵ１１４―２がスリープモードで動作しており、システムバス１１６が用いられていない場合、ソフトウェアドメイン電圧およびクロック周波数要求生成器２０２によって受信された各自の信号２０１は、ＣＰＵ１１４―１とＣＰＵ１１４―２の両方が、現在スリープ状態であり、システムバス１１６が用いられていないことを示す。この場合、ユニット２０２は、無線アセンブリ１０４の複数のソフトウェアコンポーネント１１９のオペレーションのために現在必要とされる電圧レベルが、例えば０．９Ｖのようなスリープモード電圧であることを決定し、複数のソフトウェアドメインコンポーネント１１９のオペレーションのために現在必要とされる決定された電圧を示す電圧要求を生成する。さらに、同一の実施形態およびシナリオを続けて、ユニット２０２は、ソフトウェアコンポーネントの各々を適切に動作させるのに必要なクロック周波数が例えば３０ＭＨｚのような公称クロック周波数であることを決定し、ソフトウェアコンポーネント１１９の各々に対応する各自のクロック周波数要求を生成する。別の例のシナリオにおいて、ユニット２０２は、ＣＰＵ１１４―１がアクティブモードで動作しており、ＷＬＡＮインターフェース１１０―１を介したパケットの送信のような、所定のＷＬＡＮ動作を実行している（又は実行の準備をしている）ことを示す信号を、ＣＰＵ１１４―１から受信し、ＣＰＵ１１４―２が、アクティブモードで動作しており、ＢＴインターフェース１１０―２を介したパケットの送信のような所定のＢＴ動作を実行している（又は実行の準備をしている）ことを示す信号２０１を、ＣＰＵ１１４―２から受信する。実施形態において、この場合、ユニット２０２は、ＣＰＵ１１４―１の現在のアクティビティに基づいてＣＰＵ１１４―１によって必要とされる電圧レベルを決定し、ＣＰＵ１１４―２の現在のアクティビティに基づいてＣＰＵ１１４―２によって必要とされる電圧レベルを決定し、決定された複数の電圧レベルのうちの大きな方を示すべく、ソフトウェアドメイン電圧要求を生成する。同様に、実施形態において、ユニット２０２は、ＣＰＵ１１４―１によって実行されている現在の動作に基づいて、ＣＰＵ１１４―１によって必要とされるクロック周波数を決定し、ＣＰＵ１１４―２によって実行されている現在の動作に基づいて、ＣＰＵ１１４―２によって必要とされるクロック周波数を決定し、ＣＰＵ１１４―１およびＣＰＵ１１４―２によって必要とされる各自のクロック周波数を示す各自のクロック周波数要求を生成する。
【００７７】
実施形態において、例えば信号によって示されるアクティビティに対応するインデックスを用いて、メモリに格納された、クロックおよび電圧テーブルにアクセスすることによりソフトウェアドメインコンポーネントから受信される信号に基づいて、ソフトウェアドメインコンポーネント１１９（例えばＣＰＵ１１４、システムバス１１６）によって必要とされる供給電圧およびクロック周波数を、ソフトウェアドメイン周波数および電圧要求ユニット２０２が決定する。簡単に図６を参照すると、ソフトウェアドメインコンポーネント１１９（例えばＣＰＵ１１４―１）に対応する周波数および電圧テーブル３００の例の実施形態が示される。実施形態において、ソフトウェアドメイン周波数および電圧要求ユニット２０２は、複数のソフトウェアコンポーネント１１９のそれぞれ１つについて、テーブル３００のような各自の周波数および電圧テーブルにアクセスし、ソフトウェアコンポーネント１１９のアクティビティに基づいて、ソフトウェアコンポーネント１１９のために必要とされる供給電圧およびクロック周波数を決定するように構成される。実施形態において、複数のソフトウェアコンポーネント１１９に対応する各自のクロックおよび電圧テーブル３００は、複数のソフトウェアドメインコンポーネント１１９のオペレーションに関連付けられた各自のエントリを格納すべく、無線アセンブリ１０４の初期化中に構成される。
【００７８】
図６を引き続き参照して、テーブル３００の各エントリは、ソフトウェアコンポーネント１１９のアクティビティに対応し、アクティビティに必要とされるクロック周波数を示すクロック周波数フィールドと、アクティビティに必要とされる供給電圧を示す電圧レベルフィールドとを含む。さらに、実施形態において、テーブル３００の各エントリは、ソフトウェアドメインコンポーネント１１９に供給される周波数が、ソフトウェアドメインコンポーネント１１９に外部から供給される位相同期ループ（ＰＬＬ）、又はソフトウェアコンポーネント１１９に提供される基準クロックをスケーリングすることによってクロックを生成するソフトウェアコンポーネント１１９の内部のクロック周波数生成器のいずれによって生成されるべきかを示す、クロックソースインジケータを含む。実施形態において、テーブル３００は、１６個のエントリを含み、ソフトウェアコンポーネント１１９の１６個のアクティビティに必要な複数の供給電圧レベルおよび複数のクロック周波数を規定する。他の複数の実施形態において、テーブル３００は、他の適切な数のエントリを含み、ソフトウェアコンポーネント１１９の他の数のアクティビティに対応する電圧およびクロック周波数を示すことが可能である。図６の実施形態において、テーブル３００における各クロック周波数および各電圧レベルは、４ビット値で示されるが、これは必須ではなく、テーブル３００における各クロック周波数および／または各電圧値は、他の複数の実施形態において、他の適切な数のビットで示される。実施形態において、ユニット２０２は、ユニット２０２が複数のソフトウェアコンポーネント１１９から受信する複数のアクティビティ信号に基づいて生成されたインデックスを用いて、テーブル３００にアクセスし、対応するアクティビティ信号によって示されるアクティビティを実行するためにソフトウェアコンポーネント１１９によって現在必要とされる供給電圧レベルおよびクロック周波数と、ソフトウェアドメインコンポーネントにクロック周波数を供給するために用いられるソースとを取得する。
【００７９】
図５を再度参照すると、ソフトウェアドメインユニット２０２によって生成された複数のクロック周波数要求は、周波数制御ユニット２０８に提供される。実施形態において、周波数制御ユニット２０８は概して、複数の周波数要求を周波数コントローラ１２８に供給する。以下より詳細に説明されるように、実施形態において、要求したクロック周波数で動作すべくクロック周波数を要求したソフトウェアコンポーネントによって必要とされる電圧が、周波数コントローラ１２８に周波数要求を供給する前にソフトウェアコンポーネントに提供されることを、周波数制御ユニット２０８が保証する。
【００８０】
実施形態において、ハードウェアドメイン電圧要求ユニット２０４は、ソフトウェアドメインユニット２０２と同様の方法で動作して、複数のハードウェアコンポーネント１１８のアクティビティに基づいて、無線アセンブリ１０４の複数のハードウェアコンポーネント１１８のオペレーションのために現在必要とされる電圧値を決定する。実施形態において、ハードウェアドメイン電圧要求ユニット２０４は、複数のハードウェアコンポーネント１１８の各々について、ハードウェアコンポーネント１１８のアクティビティを示す各自の信号２０３、２０５を受信し、複数のハードウェアドメインコンポーネント１１８の現在のニーズに基づいて、複数のハードウェアコンポーネント１１８のオペレーションのために現在必要な最大供給電圧を示す電圧要求信号を生成する。実施形態において、例えば、ユニット２０４は、複数のハードウェアドメインコンポーネント１１８の複数の異なるアクティビティと、ハードウェアコンポーネント１１８が適切にこれらの動作を実行できるようにすべくハードウェアコンポーネント１１８に供給される必要がある複数の供給電圧レベルとの間の複数の関連付けを格納する、図６のテーブル３００と同様の、適切な電圧テーブルにアクセスし、複数のハードウェアコンポーネント１１８に対応する各自の電圧テーブルによって示される複数のハードウェアコンポーネント１１８によって現在必要とされる最大の電圧レベルを選択する。
【００８１】
実施形態において、ユニット２０２によって生成されたソフトウェアドメイン電圧要求と、ユニット２０４によって生成されたハードウェアドメイン電圧要求とは、現在無線アセンブリ１０４によって供給される必要がある電圧レベルを選択する電圧要求セレクタ２０６に提供される。実施形態において、例えば、電圧要求セレクタは、ユニット２０２から受信されるソフトウェアドメインコンポーネント電圧要求と、ユニット２０４から受信されるハードウェアドメインコンポーネント電圧要求とのうちの大きな方を選択する。実施形態において、電圧セレクタ２０６は、電圧レギュレータ１２６の移行中には、ソフトウェアドメインユニット２０２およびハードウェアドメインユニット２０４からの複数の電圧要求を無視するように構成される。すなわち、この実施形態において、電圧セレクタ２０６は、前の電圧要求が電圧レギュレータ１２６によって満たされていた新しい電圧要求ユニットを生成することをブロックされる。
【００８２】
電圧セレクタ２０６は、実施形態により、新しい電圧要求を電圧制御ユニット２１０に提供する。電圧制御ユニット２１０は、セレクタ２０６からの電圧要求を受信し、電圧要求が、電圧レギュレータ１２６によって現在出力されている電圧より、小さい、等しい、又は大きいかを決定する。実施形態において、電圧要求が電圧レギュレータ１２６の現在の出力より小さい又は大きいと決定したことに応じて、ユニット２１０は、電圧レギュレータ１２６の調節を開始し、調節が完了し、新しい電圧が電圧レギュレータ１２６によって達せられるまで、セレクタ２０６からの複数の新しい要求をブロックする。さらに、いくつかの実施形態では、電圧セレクタ２０６は、コンポーネント１１８、１１９の各々について、各自の信号を生成し、コンポーネント１１８、１１９により要求された電圧が電圧レギュレータ１２６により達せられたことを示し、それにより、コンポーネント１１８、１１９により要求された複数の動作が現在実行可能であることをコンポーネント１１８、１１９に示す。実施形態において、ソフトウェアコンポーネント１１９によって必要とされる電圧レベルが電圧レギュレータ１２６によって達せられるまで、電圧制御ユニット２１０は、新しいクロック周波数がソフトウェアコンポーネント１１９に供給されないようにし、その少なくともいくつかの状況において、新しいクロック周波数は、ソフトウェアコンポーネント１１９に提供される現在のクロック周波数と比較してより高い。例えば、実施形態において、電圧制御ユニット２１０は、周波数制御ユニット２０８に信号を提供し、電圧レギュレータ１２６の出力電圧がクロック周波数を必要とするソフトウェアコンポーネント１１９によって必要とされる電圧より小さい場合に、周波数制御ユニット２０８が周波数セレクタ１２８へクロック周波数要求を送信することをブロックし、ソフトウェアコンポーネント１１９によって必要とされる電圧レベルが電圧レギュレータ１２６によって達せられた場合には周波数制御ユニット２０８をブロック解除する。少なくともいくつかの実施形態において、電圧制御ユニット２１０はまた、電圧要求ロック信号を生成し、ソフトウェアドメイン周波数および電圧要求ユニット２０２、ハードウェアドメイン電圧要求ユニット２０４、および周波数制御ユニット２０８の１つ１つに電圧要求ロック信号を提供する。実施形態において、電圧要求ロック信号は、前に要求された電圧への移行が電圧レギュレータ１２６によって完了されるまで、新しい電圧要求の処理をブロックする。実施形態において、電圧要求ロック信号はまた、新しいクロック周波数におけるオペレーションのために必要な又は少なくとも十分な電圧が電圧レギュレータ１２６によって達せられるまで、新しいクロック周波数要求の処理をブロックする。
【００８３】
図７Ａ−７Ｂは、実施形態により、図５のソフトウェアドメイン電圧および周波数要求ユニット２０２としての利用に適切なソフトウェアドメイン電圧および周波数要求ユニット４００の例の実装を示す複数のブロック図である。説明の簡略化のために、ソフトウェアドメイン電圧および周波数要求ユニット４００は、参照図１および５で以下説明される。しかし、他の複数の実施形態では、ソフトウェアドメイン電圧および周波数要求ユニット４００は、図５のシステム２００以外の複数のシステムによって、および／または図１の無線デバイス１００以外の複数の無線デバイスによって用いられる。同様に、他の複数の実施形態において、システム２００および／または無線デバイス１００は、ユニット４００以外の複数のソフトウェアドメイン電圧および周波数要求ユニットを用いる。
【００８４】
図７Ａは、実施形態により、ユニット４００の周波数および電圧要求部分４０１ａのブロック図である。周波数および電圧要求部分４０１ａは、対応する複数のソフトウェアコンポーネント１１９から受信した複数の信号に基づいて、１または複数のソフトウェアコンポーネント１１９の各々のアクティビティに対応する各自のインデックスを選択する、マルチプレクサ４０２のような１または複数の選択ユニットを含む。図７の実施形態において、周波数および電圧要求部分４０１ａは、ＣＰＵ１１４―１のアクティビティに対応するアクティビティインデックスを選択する第１のマルチプレクサ（ＭＵＸ）４０２−１と、ＣＰＵ１１４―２のアクティビティに対応するアクティビティインデックスを選択する第２のＭＵＸ４０２―２と、システムバス１１６のアクティビティに対応するアクティビティインデックスを選択する第３のＭＵＸ４０２―３とを含む。複数のマルチプレクサ４０２は、ＣＰＵ１１４−１、ＣＰＵ１１４―２、およびシステムバス１１６の現在のアクティビティに対応するスリープモードインデックス又はアクティブモードインデックスを選択するべく、それぞれＣＰＵ１１４−１、ＣＰＵ１１４―２、およびシステムバス１１６の現在の動作状態（例えば、アクティブ又は非アクティブ、又はスリープ）を示す各自の信号４０３によって制御される。実施形態において、複数のマルチプレクサ４０２の複数の出力は、ＣＰＵ１１４−１、ＣＰＵ１１４―２、およびシステムバス１１６の現在のアクティビティに対応するインデックスに基づいて、ＣＰＵ１１４−１、ＣＰＵ１１４―２、およびシステムバス１１６の各々によって必要とされるクロック周波数および対応する電圧レベルを決定すべく、周波数および電圧テーブル４０４の適切なものに提供される。実施形態において、複数の周波数および電圧テーブル４０４は、図３の電圧および周波数テーブル３００と同一又は同様にフォーマットされる。他の複数の実施形態において、他の適切な複数の電圧および周波数テーブルフォーマットは、テーブル４０４によって用いられる。
【００８５】
いくつかの実施形態では、複数のソフトウェアコンポーネント１１９の現在のアクティビティ示す複数の信号が、ユニット４０２を動作させるために用いられるクロックレートより大きなクロックレートで、ソフトウェアコンポーネント１１９からユニット４００へ提供される。例えば、実施形態において、ユニット４００は、「スリープ」クロックレート又は「基準」クロックレートのような最も低いシステムクロックレートで動作し、一方少なくともいくつかの状況では、複数のソフトウェアコンポーネント１１９は、最も低いシステムクロックレートより高いクロックレートで動作し、最も低いシステムクロックレートより高いクロックレートで、ユニット４００へ、複数のソフトウェアコンポーネント１１９のアクティビティを示す複数の信号を提供する。実施形態により、ユニット４００の周波数および電圧要求部分４０１ａは、複数のソフトウェアコンポーネント１１９の複数のアクティビティに対応する複数のインデックスが、ユニット４０２によって用いられるクロックレートと同期して電圧および周波数テーブル４０４へ提供されることを保証すべく、同期ブロック（不図示）を含む。実施形態において、周波数および電圧要求部分４０１ａは、ソフトウェアコンポーネント１１９から前に受信した複数の要求の同期中に、ユニット４００がソフトウェアコンポーネント１１９から受信する複数の要求を無視するように構成される。
【００８６】
テーブル４０４は、特定のソフトウェアコンポーネント１１９に対応し、ソフトウェアコンポーネント１１９の現在のアクティビティに基づいて選択されたソフトウェアコンポーネント１１９のためのクロック周波数および電圧を規定するエントリを出力する。複数のテーブル４０４の複数の出力は、電圧レギュレータ１２６の複数の電圧移行中に複数の新しい要求をブロックすべく、各自の要求ブロックユニット４１０に提供される。図７Ａは、実施形態により、ＣＰＵ１１４―１に対応する、要求処理ユニット４１０―１の例の実装を示す。実施形態において、それぞれＣＰＵ１１４―２およびシステムバス１１６に対応する要求処理ユニット４１０―２、４１０−３は、要求処理ユニット４１０―１の複数のコンポーネントと同一又は同様の複数のコンポーネントを含み、要求処理ユニット４１０―１と同一又は同様の方法で動作する。
【００８７】
実施形態において、要求処理ユニット４１０―１は、複数のマルチプレクサ（ＭＵＸ）４１２を含み、当該複数のマルチプレクサは各自の電圧要求ロック信号４１４によって制御されて、複数の新しい要求が電圧要求ロック信号４１４によってブロックされない場合には、ユニット４１０−１の各自の出力信号４１６―１、４１７―１、４１８―１を、テーブル４０４―１から取得された各自の新たな値にセットし、又は、複数の新しい要求が電圧要求ロック信号４１４によってブロックされる場合には、（例えば前の要求に対応する）各自の電流値で複数の出力信号４１６を維持する。実施形態において、電圧要求ロック信号４１４は、電圧制御ユニット２１０によって生成され、その例の実装は、図９に対して以下より詳細に説明される。
【００８８】
図７Ａを引き続き参照して、第１のＭＵＸ４１２−１は、テーブル４０４―１から取得した新しいクロックソースを示す新しいクロックソース要求信号４０５を、第１の入力として受信し、クロックソースレジスタ４２０に格納された値によって示される現在のクロックソースを、第２の入力として受信する。ＭＵＸ４１２−２の出力は、レジスタ４２０に提供される。実施形態において、ＭＵＸ４１２−１は、複数の新しい要求が電圧要求ロック信号４１４によってブロックされない場合には、クロックソース信号４１６―１を、新しいクロックソース信号４０５によって示される値にセットし、複数の新しい要求が電圧要求ロック信号４１４によってブロックされる場合には（例えば、前の要求に対応する）現在のクロックソース表示でクロックソース信号４１６―１を維持する。
【００８９】
第２のＭＵＸ４１２―２は、テーブル４０４―１から取得した新しいクロック周波数を示す新しいクロック周波数要求信号４０６を、第１の入力として受信し、レジスタ４２２に格納された現在のクロック周波数の値を、第２の入力として受信する。ＭＵＸ４１２−２の出力は、レジスタ４２２に提供される。実施形態において、ＭＵＸ４１２−２は、複数の新しい要求が電圧要求ロック信号４１４によってブロックされない場合には、周波数要求信号４１７―１を、新しいクロック周波数信号４０６によって示される値にセットし、複数の新しい要求が電圧要求ロック信号４１４によってブロックされる場合には、（例えば前の要求に対応する）現在のクロック周波数でクロック周波数要求信号４１７―１を維持する。
【００９０】
第３のＭＵＸ４１２―３は、テーブル４０４―１から取得した新しい電圧レベルを示す新しい電圧要求信号４０７を第１の入力として受信し、電圧レジスタ４２４に格納された現在の電圧レベルの値を、第２の入力として受信する。ＭＵＸ４１２−３の出力は、レジスタ４２４に提供される。実施形態において、ＭＵＸ４１２−３は、複数の新しい要求が電圧要求ロック信号４１４によってブロックされない場合には、電圧要求信号４１８―１を、新しい電圧要求信号４０５によって示される新しい電圧レベルにセットし、複数の新しい要求が電圧要求ロック信号４１４によってブロックされる場合には（例えば前の要求に対応する）現在の電圧で、電圧要求信号４１８―１を維持する。
【００９１】
実施形態において、要求処理ユニット４１０―２は、クロックソース信号４１６―２、ａ４１７−２と、ＣＰＵ１１４―２に対応する電圧レベル要求信号４１８―２とを生成すべく、ＣＰＵ１１４―２に対応する周波数テーブル４０４―２の出力を処理する。同様に、実施形態において、要求処理ユニット４１０―２は、クロックソース信号４１６―３、ａ４１７−３と、ＣＰＵ１１４―２に対応する電圧レベル要求信号４１８―３とを生成すべく、システムバス１１６に対応する周波数テーブル４０４―３の出力を処理する。
【００９２】
実施形態において、複数のクロックソース信号４１６および複数のクロック周波数信号４１７は、複数のソフトウェアコンポーネントに対応する各自の制御信号を生成する周波数制御ユニットへさらなる処理のために提供される。周波数制御ユニットの例の実装が、図１０を参照して以下より詳細に説明される。
【００９３】
複数の電圧レベル要求信号４１８は、実施形態において、図７Ｂに示される電圧選択部分４０１ｂに提供される。電圧選択部分４０１ｂは、複数のソフトウェアコンポーネント１１９によって共同して必要とされる電圧レベルを示すソフトウェア電圧要求４３０を生成する。実施形態において、例えば、電圧選択部分４０１ｂは、複数のソフトウェアコンポーネント１１９の各々について、複数のソフトウェアコンポーネント１１９によって必要とされる電圧レベルとして決定された複数の電圧レベルのうちの最大の電圧レベルを選択する。図７Ｂを参照して、電圧選択部分４０１ｂは、複数の電圧レベル要求４１８によって示される複数の電圧レベルのうちの最大のものを選択する複数のマルチプレクサ４３２を含む。電圧選択部分４０１ｂはまた、レジスタ４３４を含み、例えば、当該レジスタは、基準クロックがユニット４００に供給されない場合、例えば、基準クロックが無線アセンブリ１０４の全体のスリープモード中にディセーブルである場合に用いられるオーバーライド電圧値を格納する。複数のマルチプレクサ４３２によって選択される最大の電圧値は、マルチプレクサ４３６へ第１の入力として提供され、レジスタ４３４に格納されるオーバーライド値は、マルチプレクサ４３４に第２の入力として提供される。実施形態において、マルチプレクサ４３４は、信号４３８によって制御され、複数のマルチプレクサ４３２―２の出力又はレジスタ４３４に格納されたオーバーライド値のいずれかを、基準クロックがユニット４００のためにイネーブルであるか否かに依存して選択する。特に、実施形態において、ユニット４００に対する基準クロックがイネーブルである場合、マルチプレクサ４３４は、マルチプレクサ４３２―２の出力を選択し、マルチプレクサ４３２―２の出力を、ユニット４００のソフトウェア電圧要求出力４４０として提供する。一方、この実施形態において、例えば無線アセンブリ１０４の全体のスリープモード中に、ユニット４００によって使用される基準クロックがディセーブルである場合、マルチプレクサ４１４は、ユニット４００のソフトウェア電圧要求出力４４０として、オーバーライドレジスタ４３４に格納されたオーバーライド値を選択する。
【００９４】
図８は、実施形態により、図５のハードウェアドメイン電圧要求ユニット２０４として利用されるのに適したハードウェアドメイン電圧要求ユニット５００の例の実装のブロック図である。説明の簡略化のために、ハードウェアドメイン電圧要求ユニット５００は、参照図１および５で以下説明される。しかし、他の複数の実施形態において、ハードウェアドメイン電圧要求ユニット５００は、図５のシステム２００以外の複数のシステムによって、および／または図１の無線デバイス１００以外の複数の無線デバイスによって利用される。同様に、システム２００および／または無線デバイス１００は、他の複数の実施形態において、ユニット５００以外の複数のハードウェアドメイン電圧要求ユニットを用いる。
【００９５】
ハードウェアドメイン電圧要求ユニット５００は、複数のＡＮＤゲートのような複数の結合的な接続部５０２、および複数のマルチプレクサ５０４のような複数の選択モジュールを含む。複数のＡＮＤゲート５０２の各々は、各自のハードウェアコンポーネント１１８の現在の又は要求された状態を示す信号、およびハードウェアコンポーネント１１８によって現在要求される電圧レベルを示す信号を受信し、ハードウェアコンポーネント１１８の現在又は要求された状態が、ハードウェアコンポーネント１１８のアクティブ状態に対応する場合、ハードウェアコンポーネント１１８のアクティビティに対応する電圧レベルを、マルチプレクサ５０４に提供する。実施形態において、ユニット５００は、ハードウェアコンポーネント１１８のアクティビティに対応するインデックスに基づいて、電圧要求に対応する電圧レベルを決定する。実施形態において、例えば、ユニット５００は、各ハードウェアコンポーネント１１８に対応する各自の電圧テーブルにアクセスし、ハードウェアコンポーネント１１８のための電圧要求を決定する。
【００９６】
複数のマルチプレクサ５０４は、複数のハードウェアコンポーネント１１８によって要求される複数の電圧を示す複数の信号を受信し、複数のハードウェアコンポーネント１１８によって要求される複数の電圧のうちの最も大きなものに対応する電圧要求５０５を選択する。実施形態において、選択された電圧要求５０５は、図６に対して以下説明される電圧決定ユニット６００のような電圧決定ユニットによって生成された電圧要求ロック信号により制御される、マルチプレクサ５０６に提供される。実施形態において、ＭＵＸ５０６は、電圧要求ロック信号５０８によって制御され、要求された電圧５０５がユニット５００によって出力されることをブロック又はブロック解除する。実施形態において、前の要求に対応する電圧が電圧レギュレータユニット１２６によって達せられるまで、ＭＵＸ５０６は、要求された電圧５０５がユニット５００によって出力されることをブロックする。図８に示された例の実装において、ユニット５００は、ユニット５００によって出力される前の電圧要求又は新しい電圧要求の対応を保持する現在のハードウェア要求レジスタ５１０を含む。実施形態において、電圧要求ロック信号５０８がアサートされる場合、ＭＵＸ５０６は、ユニット５００の出力電圧要求出力を選択して、レジスタ５１０に格納された前に要求された電圧に効果的にセットする。一方、実施形態において、電圧要求ロック信号５０８がアサートされない場合、ＭＵＸ５０６は、レジスタ５１０を新しい電圧要求５０５にセットし、それにより、ユニット５００の電圧要求出力を新しい電圧要求５０５に効果的にセットする。実施形態において、電圧要求ロック信号５０８は、図９に対して以下説明される電圧要求ロック信号６０３に対応する。
【００９７】
図９は、実施形態により、図５の電圧制御ユニット２１０として利用するのに適した電圧制御ユニット６００の例の実装のブロック図である。説明の簡略化のために、電圧制御ユニット６００は、参照図１および５で以下説明される。しかし、他の複数の実施形態では、電圧制御ユニット６００は、図５のシステム２００以外の複数のシステムによって、および／または、図１の無線デバイス１００以外の複数の無線デバイスによって利用される。同様に、システム２００および／または無線デバイス１００は、他の複数の実施形態において、ユニット６００以外の複数の電圧制御ユニットを利用する。
【００９８】
実施形態において、電圧制御ユニット６００は、電圧セレクタユニット２０６（図５）からの電圧要求６０１を受信し、要求された電圧が、現在電圧レギュレータ１２６（図１）によって生成されている電圧より大きい、より小さい、又は等しいかを決定する。電圧要求がレギュレータ１２６の現在の電圧出力より大きい又は小さいと決定することに応じて、電圧制御ユニット６００は、実施形態において、電圧要求ロック信号６０３をアサートする。さらに、電圧要求が電圧レギュレータ１２６の現在の電圧出力より大きいと決定することに応じて、電圧制御ユニット６００は、実施形態において、周波数要求ロック信号６０５をアサートする。
【００９９】
要求された電圧が電圧レギュレータ１２６の現在の出力と等しいと決定したことに応じて、電圧制御ユニット６００は、電圧要求信号ロック６０３をディアサートし、電圧セレクタユニット２０６が電圧制御ユニット６００に新しい電圧要求を提供することを可能にする。電圧レギュレータ１２６の現在の出力より大きい又はより小さい新しい電圧要求が電圧制御ユニット６００によって受信された場合、電圧制御ユニット６００は、電圧要求ロック信号６０３および必要であれば周波数要求ロック信号６０５を再度アサートし、電圧要求６０１によって要求される新たな値へ移行するべく電圧レギュレータ１２６を制御する制御信号６０８を生成する。電圧制御ユニット６００が、電圧レギュレータ１２６による新しい要求された電圧への移行がいつ完了するかを決定することを可能にするべく、電圧制御ユニットはまた、タイマカウンタ６１０を起動し、電圧レギュレータ１２６によってサポートされる最も小さい変化によって変化すように電圧レギュレータ１２６によって必要とされる時間の量に対するタイマカウンタ６１０を動作させる。電圧レギュレータ１２６によってサポートされる最も小さい変化と、最も小さいサポートされる変化に対応する移行を完了させるべく電圧レギュレータ１２６によって必要とされる時間の量とは、それぞれ電圧粒度レジスタ６１２および移行時間レジスタ６１４に電圧制御ユニット６００において格納される。電圧制御ユニット６００は、タイマカウンタ６１０の出力を、移行時間レジスタ６１２に格納された値と比較し、タイマカウンタ６１０の出力が移行時間レジスタ６１２に格納された値と等しい場合は、電圧レギュレータ１２６が電圧レギュレータ１２６によってサポートされる電圧の最も小さい変化によって移行を完了させたかを決定する。電圧制御ユニット６００は、レギュレータ１２６の出力電圧のさらなる変化が、電圧セレクタ２０６から受信した電圧要求によって示される電圧レベルに達する必要があるかを決定する。さらなる移行が必要な場合は、電圧制御ユニット６００がタイマ６１０を再度起動する。要求された電圧が達されなかった場合、電圧レギュレータ１２６のさらなる移行が必要ではなく、電圧制御ユニット６００が電圧要求ロック６０３、および必要な場合は周波数要求ロック信号６０５をディアサートし、レギュレータ電圧レジスタ６０４を電圧要求６０１の値にセットする。
【０１００】
いくつかの実施形態において、電圧制御ユニット６００はまた、各自のコンポーネント１１８、１１９に、各自のコンポーネント１１８、１１９によって要求された電圧レベルが電圧レギュレータ１２６によって達せられたことを示す、信号６２０のセットを出力するように構成される。実施形態において、複数の信号６２０は、コンポーネント１１８、１１９に、コンポーネント１１８、１１９がコンポーネント１１８、１１９によって要求されたアクティビティを現在実行可能であることを示す。実施形態において、電圧制御ユニット６００はさらに、現在電圧レギュレータ１２６によって達している電圧レベルを示す電圧レギュレータ到達レベル信号６１６を出力する。
【０１０１】
図１０は、実施形態により、図５の周波数制御ユニット２０８によって利用されるのに適した周波数制御ユニット７００の例の実装のブロック図である。実施形態において、図５の周波数制御ユニット２０８は、複数のソフトウェアコンポーネント１１９の１つ１つに対応し、ソフトウェアコンポーネント１１９の対応する一つのためのクロック周波数を制御するべく用いられる、周波数制御ユニット７００のような、各自の周波数制御ユニットを含む。説明の簡略化のために、周波数コントローラ７００は、参照図１および５で以下説明される。しかし、他の複数の実施形態では、周波数コントローラ７００は、図５のシステム２００以外の複数のシステムによって、および／または図１の無線デバイス１００以外の複数の無線デバイスによって利用される。同様に、システム２００および／または無線デバイス１００は、他の複数の実施形態では、周波数コントローラ７００以外の複数の周波数コントローラを利用する。
【０１０２】
クロック周波数制御ユニット７００は、示された実施形態ではマルチプレクサ７０２、マルチプレクサ７０４、およびマルチプレクサ７０８を含む、複数のマルチプレクサを含む。オペレーションにおいて、周波数コントローラ７００は、クロックソース信号４１６―１（図７Ａ）およびクロック周波数要求信号４１７―１（図７Ａ）を受信する。クロック周波数要求信号は、ＭＵＸ７０２に第１の入力として提供され、レジスタ７０６に格納された、現在のクロック周波数を示す信号が、ＭＵＸ７０２に第２の入力として提供される。マルチプレクサ７０８は、特定のクロックソース（例えばＰＬＬ又は内部ＣＰＵクロックソース）が、安定で、クロック周波数要求信号４１７―１によって示された要求されたクロック周波数を生成するのに利用可能であるかを示す複数の信号を、各自の入力として受信する。クロックソース信号４１６―１は、マルチプレクサ７０８を制御して、クロックソース信号４１６―１によって示されるクロックソースに対応する適切な安定インジケータを選択する。実施形態において、ＭＵＸ７０８によって選択された安定インジケータは、ＭＵＸ７０２を制御して、適切なクロックソースがＭＵＸ７０８の出力信号によって安定であると示されている場合には、周波数要求信号４１７―１を出力し、適切なクロックソースがＭＵＸ７０８の出力によって不安定であると示されている場合には、現在の周波数信号を出力する。
【０１０３】
ＭＵＸ７０２の出力は、ＭＵＸ７０４に第１の入力として提供され、レジスタ７０６に格納された、現在のクロック周波数を示す信号は、ＭＵＸ７０４に第２の入力として提供される。ＭＵＸ７０４は概して、新しい周波数要求によって示されたクロック周波数で動作するべくＣＰＵ１１４―１によって必要とされた十分な電圧が、ＣＰＵ１１４―１に提供されている場合のみ、新しい周波数要求信号が周波数コントローラ１２８に提供されることを保証する。実施形態において、周波数制御ユニット７００は、電圧制御ユニット６００（図９）から、周波数要求ロック信号６０５を受信する。周波数制御ユニット７００はまた、周波数および電圧要求ユニット４００から、信号４１７―１によって示されたクロック周波数要求に対応する電圧レベル要求信号４１８−１を受信する。さらに、周波数制御ユニット７００は、電圧制御ユニット６００から、電圧レギュレータ１２６の現在達せられた電圧を示す電圧レギュレータ到達電圧信号６１６を受信する。実施形態において、コンパレータ７１２は、信号６１６により示される現在達せられた電圧を、信号４１８―１によって示される電圧レベルと比較して、信号４１８―１によって示された、要求された電圧レベルが、信号６１６によって示された現在達せられた電圧（ｉ）より小さい又は（ｉｉ）より大きいもしくは等しいかを決定する。コンパレータ７１２の出力および周波数要求ロック信号６０５は、ＡＮＤゲート７１０に提供される。ＡＮＤゲート７１０の出力はＭＵＸ７０４を制御する。信号４１８―１により示された電圧レベルが信号６１６により示された電圧レベルより大きい又は等しく、周波数要求が周波数要求ロック信号６０５によりブロックされていない場合、ＭＵＸ７０４は、レジスタ７０６を、信号４１７―１により示される新しいクロック周波数にセットする。一方、信号４１８―１により示される電圧レベルが信号６１６により示される電圧レベルより小さい場合および／または周波数要求が周波数要求ロック信号６０５によりブロックされている場合、ＭＵＸ７０４は、レジスタ７０６に格納された現在のクロック周波数の値でレジスタ７０６の値を維持する。レジスタ７０６に格納された値は、周波数制御ユニット７００のクロック周波数出力信号７２０として提供される。実施形態において、クロック周波数信号７２０、およびクロックソース信号４１６―１に対応するクロックソース信号７１９は、周波数コントローラ１２８に提供される。実施形態において、周波数コントローラ１２８は、クロックソース信号７１９および周波数信号７２０に基づいて、ＣＰＵ１１４―１のためのクロック周波数信号を生成する。
【０１０４】
簡単に図１１では、図１の周波数コントローラ１２８として利用するのに適した周波数コントローラ８００の例の実装が示される。実施形態において、周波数コントローラ８００は、図６の周波数および電圧テーブル３００に示される周波数値に対応する信号のような、周波数要求に対応する信号によって制御される。要求されたクロック周波数を示す信号の受信に応じて、周波数コントローラ８００は、要求されたクロック周波数に対応するクロック信号を出力する。少なくともいくつかの実施形態において、クロック周波数要求はまた、要求されたクロックのために用いられるソースを示すため、単純で単一の段階的選択ロジックが用いられて、周波数コントローラ８００によってクロック信号を選択し、クロックに要求されたクロック周波数を提供する。
【０１０５】
図１２は、実施形態により、通信デバイスにおいて無線アセンブリの電力消費を動的に調節する例の方法１２００のフロー図である。それぞれ図１および５を参照して、いくつかの実施形態では、方法４００は、概して、無線デバイス１００において、特にシステム２００によって実行される。他の複数の実施形態では、方法４００は、無線デバイス１００の他の複数の適切なコンポーネントによって、又は他の複数の適切な通信デバイスによって実行される。同様に、無線デバイス１００および／またはシステム２００は、他の複数の実施形態において、電力消費を動的に調節する他の適切な複数の方法を実行する。
【０１０６】
ブロック１２０２において、図１のＤＶＦＳユニット１２０のような電力管理ユニットは、第１の無線インターフェースユニットのアクティビティを示す第１の信号を受信する。例えば、電力管理ユニットは、実施形態において、ＷＬＡＮインターフェースユニット１１０―１から第１の信号を受信する。第１の信号は、この実施形態では、ＢＴインターフェースユニット１１０―２のアクティビティを示す。例えば、実施形態において、第１の信号は、ＷＬＡＮインターフェースユニット１１０―１がパワーセーブモード又はアクティブモードのいずれで動作しているかを示し、また、ＷＬＡＮインターフェースユニット１１０―１によって、パケットの受信、パケットの送信、スキャンの実行等、どの機能又はどの複数の機能が、現在実行されているか（又は実行されようとしているか）を示す。  別の実施形態において、電力管理ユニットは、ＷＬＡＮインターフェースユニット１１０―１以外の無線通信インターフェースユニットから第１の信号を受信する。第１の信号は、この実施形態では、ＷＬＡＮインターフェースユニット１１０―１以外の無線通信インターフェースユニットのアクティビティを示す。
【０１０７】
ブロック１２０４において、図１のＤＶＦＳユニット１２０のような電力管理ユニットは、第１の無線インターフェースユニットのアクティビティを示す第２の信号を受信する。例えば、電力管理ユニットは、実施形態において、ＢＴインターフェースユニット１１０―２から第２の信号を受信する。第２の信号は、この実施形態において、ＢＴインターフェースユニット１１０―２のアクティビティを示す。実施形態において、例えば、第２の信号は、ＢＴインターフェースユニット１１０―２がパワーセーブモード又はアクティブモードのいずれで動作しているかを示し、また、ＢＴインターフェースユニット１１０―２によって、パケットの受信、パケットの送信、スキャンの実行等のようないずれの機能又はいずれの複数の機能が現在実行されているか（又は実行されようとしているか）を示す。別の実施形態において、電力管理ユニットは、ＢＴインターフェースユニット１１０―２以外の無線通信インターフェースユニットから第２の信号を受信する。第２の信号は、この実施形態では、ＢＴインターフェースユニット１１０―２以外の無線通信インターフェースユニットのアクティビティを示す。
【０１０８】
ブロック１２０６において、電力管理ユニットは、ブロック１２０２で受信した第１の信号によって示された、第１の無線インターフェースユニットのアクティビティと、ブロック１２０４で受信された第２の信号によって示された第２の無線インターフェースユニットのアクティビティとをサポートするのに必要な供給電圧レベルを決定する。例えば、例の実施形態において、電力管理ユニットは、第１の信号および第２の信号によって示された各自のアクティビティを実行するのに第１の無線インターフェースユニットおよび第２の無線ユニットによって必要とされる各自の電圧を決定し、第１の無線インターフェースユニットおよび第２の無線インターフェースユニットによって必要とされる電圧のうちのより大きな方を選択する。他の複数の実施形態において、ブロック１２０６で、第１の無線インターフェースユニットのアクティビティをサポートするのに必要な供給電圧レベルを決定する他の複数の方法がある。
【０１０９】
ブロック１２０８において、電力管理ユニットは、ブロック１２０６で決定された供給電圧レベルに基づいて、無線アセンブリに供給される供給電圧を調節する。実施形態において、例えば、電力管理ユニットは、電圧レギュレータの出力電圧を、ブロック１２０６において決定された供給電圧レベルにセットすべく、無線アセンブリの供給電圧を生成する電圧レギュレータを制御する。
【０１１０】
説明したように、上記の様々な技術が、ハードウェア、ファームウェア、ソフトウェア、又はハードウェア、ファームウェアおよび／またはソフトウェアの組み合わせにおいて実装されうる。ソフトウェアにおいて実装される場合、ソフトウェアは、コンピュータ、プロセッサ、集積回路、ハードディスクドライブ、光ディスクドライブ、テープドライブ等の、磁気ディスク、光ディスク、又は他の記憶媒体上、ＲＡＭ又はＲＯＭ又はフラッシュメモリ内のような任意のコンピュータ可読メモリに格納されうる。同様に、ソフトウェアは、例えば、コンピュータ可読ディスク又は他の移動可能コンピュータストレージメカニズム上又は通信媒体を介してを含む、任意の既知の又は所望の配信方法で、ユーザ又はシステムに供されうる。通信媒体は一般的に、複数のコンピュータ可読命令、データ構造体、プログラムモジュール、又は他のデータを、搬送波又は他の転送メカニズムのような変調データ信号に取り入れる。用語「変調データ信号」は、信号に情報をエンコードするような方法でセット又は変更されたその特性の１または複数を有する信号を意味する。例として、限定しないが、通信媒体は、有線ネットワーク又は直接有線接続のような有線媒体、およびアコースティック、無線周波数、赤外線および他の無線媒体のような無線媒体を含む。このため、ソフトウェアは、電話線、ＤＳＬライン、ケーブルテレビ線、無線通信チャネル、インターネット等（これらは、移動可能記憶媒体を介したそのようなソフトウェアの提供と同一又は交換可能であるとしてみられる）のような通信チャネルを介してユーザ又はシステムに供されうる。ハードウェアに実装された場合、ハードウェアは、複数のディスクリートコンポーネント、集積回路、特定用途向け集積回路（ＡＳＩＣ）等のうちの１または複数を含みうる。
【０１１１】
本願発明が複数の固有の例を参照して説明されたが、図示する意図のみで、発明は限定されず、上記明確に記載したものに加えて、複数の変更、追加又は削除が、発明の意図および範囲を逸脱することなく開示の複数の実施形態に行われうることは、当業者には明確である。
【図１】
0006273586.tif 000002
【図２】
0006273586.tif 000003
【図３】
0006273586.tif 000004
【図４】
0006273586.tif 000005
【図５】
0006273586.tif 000006
【図６】
0006273586.tif 000007
【図７Ａ】
0006273586.tif 000008
【図７Ｂ】
0006273586.tif 000009
【図８】
0006273586.tif 000010
【図９】
0006273586.tif 000011
【図１０】
0006273586.tif 000012
【図１１】
0006273586.tif 000013
【図１２】
0006273586.tif 000014