(57)【要約】【課題】消費電力量の低減を行なう。【解決手段】ＢＵプロセッサ７００は、電源が供給されている状態においては、各回路へのＰＬＬ回路７１０によるクロックの供給が停止するスリープモードと、動作周波数が予め定められた第１周波数に決定されるスタンバイモードと、動作周波数が第１周波数よりも高い第２周波数に決定されるアクティブモードとのいずれかに切替えられるので、電源供給される状態において動作周波数の切替えと、動作する回路個数の切替えとによる消費電力の低減を行なう。【選択図】図１
2009088818.tif 000002
【特許請求の範囲】
【請求項１】
無線ネットワークを介して通信する情報通信端末であって、
他の前記情報通信端末とフレームを用いて通信する通信部と、
前記通信部の各回路に電源を供給する電源部と、
前記通信部の各回路の動作周波数を決定する周波数決定部と、
前記周波数決定部によって決定された前記動作周波数を有するクロックを、前記通信部の各回路に供給するクロック回路と、を備え、
前記通信部は、
前記電源が供給されている状態においては、前記クロック回路による前記通信部の各回路への前記クロックの供給が停止するスリープモードと、前記周波数決定部によって前記動作周波数が予め定められた第１周波数に決定されるスタンバイモードと、前記周波数決定部によって前記動作周波数が前記第１周波数よりも高い第２周波数に決定されるアクティブモードとのいずれかに切替えられる、情報通信端末。
【請求項２】
前記電源が供給されている状態においては前記フレームの通信を待機する通信待機期間に設定され、
前記通信待機期間では、前記スタンバイモードと、前記アクティブモードとが交互に繰返される、請求項１に記載の情報通信端末。
【請求項３】
前記通信部はタイマを含み、
前記通信待機期間では、前記タイマによる計時時間に従い、前記スタンバイモードと、前記アクティブモードとが交互に繰返される、請求項２に記載の情報通信端末。
【請求項４】
前記通信部で受信される前記フレームを用いた情報処理部をさらに備え、
前記前記通信部は、前記情報処理部で実行される所定のアプリケーションプログラムから与えられる指示に従い、前記スリープモードと、前記スタンバイモードと、前記アクティブモードとのいずれかに切替えられる、請求項１から３のいずれかに記載の情報通信端末。
【請求項５】
前記無線ネットワークは、アドホック通信ネットワークである、請求項１から４のいずれか１項に記載の情報通信端末。
【請求項６】
無線ネットワークを介して通信する情報通信端末に搭載される無線通信装置であって、
他の前記情報通信端末とフレームを用いて通信する通信部と、
前記通信部の各回路に電源を供給する電源部と、
前記通信部の各回路の動作周波数を決定する周波数決定部と、
前記周波数決定部によって決定された前記動作周波数を有するクロックを、前記通信部の各回路に供給するクロック回路と、を備え、
前記通信部は、
前記電源が供給されている状態においては、前記クロック回路による前記通信部の各回路への前記クロックの供給が停止するスリープモードと、前記周波数決定部によって前記動作周波数が予め定められた第１周波数に決定されるスタンバイモードと、前記周波数決定部によって前記動作周波数が前記第１周波数よりも高い第２周波数に決定されるアクティブモードとのいずれかに切替えられる、無線通信装置。
【請求項７】
第１の情報通信端末と、前記第１の情報通信端末と通信する第２の情報通信端末とを備える無線通信ネットワークであって、
前記第１の情報通信端末は、
前記第２の情報通信端末とフレームを用いて通信する通信部と、
前記通信部の各回路に電源を供給する電源部と、
前記通信部の各回路の動作周波数を決定する周波数決定部と、
前記周波数決定部によって決定された前記動作周波数を有するクロックを、前記通信部の各回路に供給するクロック回路と、を備え、
前記通信部は、
前記電源が供給されている状態においては、前記クロック回路による前記通信部の各回路への前記クロックの供給が停止するスリープモードと、前記周波数決定部によって前記動作周波数が予め定められた第１周波数に決定されるスタンバイモードと、前記周波数決定部によって前記動作周波数が前記第１周波数よりも高い第２周波数に決定されるアクティブモードとのいずれかに切替えられる、無線通信ネットワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報通信端末、無線通信装置および無線通信ネットワークに関し、特に、消費電力の低減を行なうことができる情報通信端末、無線通信装置および無線通信ネットワークに関する。
【背景技術】
【０００２】
近年、複数の情報通信端末において、基地局（アクセス・ポイント）を使用しない無線通信が普及しつつある。なお、このような無線通信のできる端末のみで構成されるネットワークは、アドホック・ネットワーク（ad hoc network）と呼ばれる。
【０００３】
アドホック・ネットワークにおける通信が可能な端末に関する技術は種々開示されており、たとえば、特許文献１には、動作モードを遷移させて不特定多数の間で簡易にデータの交換を行なえる携帯型通信装置が開示されている。
【特許文献１】特開２０００−１１５０１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述した特許文献１では、不特定多数のものが相互にメッセージのやり取りを行なうことができるようにするために、各携帯型通信装置は、基本的に５秒間隔で自己のメッセージの送信を繰返している。このようなメッセージ送信を繰返す中において、省エネモード（送信間隔が長い動作モード）やスリープモード（休止）が検出されているときには、省エネモードやスリープモードに移行することが開示されている。このモードは、送信間隔を長くしたり、送信または受信の一方を中止したり、送信電波を弱くしたり、間欠的に動作するようにしたりしているが、これらモードに移行する条件は、所定時間内の受信の有無によるものであるために、細かな消費電力量の調整は困難であった。
【０００５】
無線ＬＡＮ（Local Area Network）アドホック・ネットワークにおいて、各端末は携帯型ゆえに消費電力の低減が要求されていた。しかしながら従来は上述したように、常時受信待機を行なうか、または所定期間データを受信できないときにはスリープモード、または省エネモードに移行するに過ぎず、より細かな電力消費の低減対策をする提案はなされていなかった。
【０００６】
それゆえにこの発明の目的は、より細かな消費電力量の調整を可能とする情報通信端末、無線通信装置および無線通信ネットワークを提供することである。
【課題を解決するための手段】
【０００７】
この発明のある局面に従うと、無線ネットワークを介して通信する情報通信端末は、他の情報通信端末とフレームを用いて通信する通信部と、通信部の各回路に電源を供給する電源部と、通信部の各回路の動作周波数を決定する周波数決定部と、周波数決定部によって決定された動作周波数を有するクロックを、通信部の各回路に供給するクロック回路と、を備える。そして、通信部は、電源が供給されている状態においては、クロック回路による通信部の各回路へのクロックの供給が停止するスリープモードと、周波数決定部によって動作周波数が予め定められた第１周波数に決定されるスタンバイモードと、周波数決定部によって動作周波数が第１周波数よりも高い第２周波数に決定されるアクティブモードとのいずれかに切替えられる。
【０００８】
好ましくは、電源が供給されている状態においてはフレームの通信を待機する通信待機
期間に設定され、通信待機期間では、スタンバイモードと、アクティブモードとが交互に繰返される。
【０００９】
好ましくは、通信部はタイマを含み、通信待機期間では、タイマによる計時時間に従い、スタンバイモードと、アクティブモードとが交互に繰返される。
【００１０】
好ましくは、通信部で受信されるフレームを用いた情報処理部をさらに備え、通信部は、情報処理部で実行される所定のアプリケーションプログラムから与えられる指示に従い、スリープモードと、スタンバイモードと、アクティブモードとのいずれかに切替えられる。
【００１１】
好ましくは、無線ネットワークは、アドホック通信ネットワークである。
この発明の他の局面に従うと、無線ネットワークを介して通信する情報通信端末に搭載される無線通信装置は、他の情報通信端末とフレームを用いて通信する通信部と、通信部の各回路に電源を供給する電源部と、通信部の各回路の動作周波数を決定する周波数決定部と、周波数決定部によって決定された動作周波数を有するクロックを、通信部の各回路に供給するクロック回路と、を備える。そして、通信部は、電源が供給されている状態においては、クロック回路による通信部の各回路へのクロックの供給が停止するスリープモードと、周波数決定部によって動作周波数が予め定められた第１周波数に決定されるスタンバイモードと、周波数決定部によって動作周波数が第１周波数よりも高い第２周波数に決定されるアクティブモードとのいずれかに切替えられる。
【００１２】
この発明のさらに他の局面に従うと、第１の情報通信端末と、第１の情報通信端末と通信する第２の情報通信端末とを備える無線通信ネットワークにおいては、第１の情報通信端末は、第２の情報通信端末とフレームを用いて通信する通信部と、通信部の各回路に電源を供給する電源部と、通信部の各回路の動作周波数を決定する周波数決定部と、周波数決定部によって決定された動作周波数を有するクロックを、通信部の各回路に供給するクロック回路と、を備える。そして、通信部は、電源が供給されている状態においては、クロック回路による通信部の各回路へのクロックの供給が停止するスリープモードと、周波数決定部によって動作周波数が予め定められた第１周波数に決定されるスタンバイモードと、周波数決定部によって動作周波数が第１周波数よりも高い第２周波数に決定されるアクティブモードとのいずれかに切替えられる。
【発明の効果】
【００１３】
本発明によれば、通信部は、電源が供給されている状態においては、通信部の各回路へのクロックの供給が停止するスリープモードと、周波数決定部によって動作周波数が予め定められた第１周波数に決定されるスタンバイモードと、周波数決定部によって動作周波数が第１周波数よりも高い第２周波数に決定されるアクティブモードとのいずれかに切替えられるので、電源供給される状態において動作周波数を切替えることによる消費電力の低減と、動作する回路個数の切替え（スリープモードではクロック供給が停止するので動作する回路はない）による消費電力の低減とを行なうことができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の無線通信ネットワークの実施の形態について図面を参照して説明する。
本実施の形態では、無線ＬＡＮ（Local Area Network）の規格の一つである、ＩＥＥＥ８０２．１１規格に基づいて通信が行なわれる場合を想定する。
【００１５】
図１と２は本実施の形態に係る端末１の機能構成とハードウェア構成のそれぞれを指し、図３はＩＥＥＥ８０２．１１規格に準拠するフレームの構成を示し、図４は本実施の形態に係る無線通信ネットワークであるアドホック・ネットワークの構成の一例を模式的に
示す。
【００１６】
まず、図４を参照して、ネットワーク１０には、本発明の情報通信端末の一実施の形態である端末ＳＴＡとＳＴＢが含まれる。ネットワーク１０に含まれる端末の台数は２台に限定されず、３台以上であってもよい。ネットワーク１０は、複数の情報通信端末によって構成される、基地局を使用しない無線通信ネットワーク（アドホック・ネットワーク）である。端末ＳＴＡおよびＳＴＢは同様の機能及びハードウェア構成を有する端末１に相当する。
【００１７】
図２は、図１の端末１のハードウェア構成を模式的に示す図である。
図２を参照して、端末１は、主にホストシステム１００と通信回路２００から構成される。ホストシステム１００は、当該ホストシステム１００の動作を全体的に制御するＣＰＵ（Central Processing Unit）を含む。また、ホストシステム１００では、種々のアプリケーションが実行される。各アプリケーションのプログラムは、ＨＤ（ハードディスク）１０２に格納されている。また、ホストシステム１００は、ＣＰＵ１０１のワークエリアとなるＲＡＭ（Random Access Memory）１０３、情報を表示するディスプレイ１０４、音声を出力するスピーカ１０５、キーやボタンなどの外部からの情報の入力に用いられる入力部１０６、端末１の各部に電力を供給するための電源部１１０を含む。電源部１１０は電池などのバッテリまたは図示のない商用電源からの電力を受ける。さらにホストシステム１００は、通信回路２００との間で情報（信号またはデータ）のやり取りを行なうインターフェイス１０７、リセット信号ＲＳＴを出力するＩ／Ｏ部１０８、ウェイク信号ＷＡＫＥを出力するＩ／Ｏ部１０９ならびにスタンバイ信号ＡＴＡＮＤＢＹ、アクティブ信号ＡＣＴＩＶＥおよびスリープ信号ＳＬＥＥＰを出力するＩ／Ｏ部１１１を含む。
【００１８】
通信回路２００は、ベースバンド／ＭＡＣ（Media Access Control）回路２５０、ＲＦ（Radio Frequency）回路２０５、バラン２０４、アンテナ２０３、ＥＥＰＲＯＭ（Electronically Erasable and Programmable Read Only Memory）２０６、２０７、電源回路２０１、および、クロック回路２０２を含む。
【００１９】
クロック回路２０２は、ベースバンド／ＭＡＣ回路２５０とＲＦ回路２０５にクロック信号を供給する。電源回路２０１は電源部１１０から受けた電力のベースバンド／ＭＡＣ回路２５０とＲＦ回路２０５に対する供給を制御する。
【００２０】
ＲＦ回路２０５は、アンテナ２０３を介してデータの送受信を行なう。アンテナ２０３とＲＦ回路２０５との間に、バラン２０４が設けられている。
【００２１】
ベースバンド／ＭＡＣ回路２５０は、ベースバンド／ＭＡＣ回路２５０内の各部を制御するとともに各部と信号・データの入出力を行なうＣＰＵ２５１、インターフェイス２５２、ＭＡＣ／ＰＨＹ部３５０、リセット部３５１、ウェイク部３５２、および信号受付部３５３を含む。リセット部３５１はホストシステム１００から出力されたリセット信号ＲＳＴを入力しベースバンド／ＭＡＣ回路２５０の各部に与える。ウェイク部３５２はホストシステム１００から出力されたウェイク信号ＷＡＫＥを入力して、クロック回路２０２に与える。信号受付部３５３はホストシステム１００から出力されたスタンバイ信号ＡＴＡＮＤＢＹ、アクティブ信号ＡＣＴＩＶＥおよびスリープ信号ＳＬＥＥＰを入力する。インターフェイス２５２は、ホストシステム１００に対するインターフェイスであり、ホストシステム１００と上記以外の信号およびデータを入出力する。
【００２２】
ＭＡＣ／ＰＨＹ部３５０は、外部バスコントローラ２５３、プログラムメモリ２５４、共有メモリ２５５、タイマ２５６、コントロールＭＡＣ部２５７、ＡＤＣ（analog-digital converter）２５８、および、ＤＡＣ（digital-analog converter）２５９を含む。
【００２３】
ＣＰＵ２５１は、ホストシステム１００から、データをネットワークに対して送信する指示を受けると、インターフェイス２５２に、ホストシステム１００内のメモリ（たとえば、ＲＡＭ１０３）に格納された当該データを取出させる。なお、ホストシステム１００は、送信を指示するデータを生成し、当該データを上記メモリに格納した後、当該データの送信指示を通信回路２００へ送信する。また、インターフェイス２５２によって取出されたデータは、ネットワークに対して送信するフレームの「ユーザ・データ・ボディ部」を構成するデータとして、プログラムメモリ２５４に一時的に格納される。
【００２４】
そして、ＣＰＵ２５１は、プログラムメモリ２５４に格納されたデータに対してＭＡＣヘッダとＦＣＳ（Frame Check Sequence）を含む種々のデータを付加することにより、ネットワークに対して送信するフレームを生成し、プログラムメモリ２５４に格納するとともに、共有メモリ２５５において当該フレームを生成した旨のフラグを立てる。ここで、ネットワークに送信されるフレームの一例であるBeaconフレームの構成を、図３を参照して説明する。
【００２５】
図３は、ＩＥＥＥ８０２．１１規格に準拠するフレームの構成を示す図である。
図３を参照して、フレーム３００は、ＭＡＣヘッダ部３１０と、フレーム・ボディ部３２０と、ＦＣＳ部３３０とを含む。
【００２６】
ＭＡＣヘッダ部３１０は、ＤＡ（Destination Address）３１１、ＳＡ（Source Address）３１２およびＩＢＳＳＩＤ３１３を含む。ＤＡ３１１は、フレーム３００の宛先アドレスである。ＳＡ３１２は、フレーム３００の送信元アドレスである。ＤＡ３１１およびＳＡ３１２は、６バイトのＭＡＣアドレスである。これらのアドレスは、ＥＥＰＲＯＭ２０６に格納されている。また、ＩＢＳＳＩＤ３１３は、アドホック・ネットワークを識別するためのネットワーク識別情報である。本実施の形態では、端末１は、送信するデータ（ホストシステム１００においてアプリケーションから送信の要求がなされたデータ）の属性に応じて、データ送信の際に異なるＩＢＳＳＩＤを利用することができる。具体的には、ＭＡＣヘッダ部３１０を構成するＩＢＳＳＩＤ３１３の値が、送信されるデータの属性に応じて変更される。
【００２７】
フレーム・ボディ部３２０は、ビーコン・フレーム・ボディ部３２１と、ユーザ・データ・ボディ部３２２とを含む。ビーコン・フレーム・ボディ部３２１は、ＳＳＩＤ（Service Set Identifier）を含む。ＳＳＩＤ３２１１は、たとえば、ネットワークの名称を特定する情報とされ、３２バイト以内の文字列として設定される。ユーザ・データ・ボディ部３２２は、通信される実際のデータ（ホストシステム１００で実行されるアプリケーションから送信を要求されたデータ）を含む。ユーザ・データ・ボディ部３２２は、たとえば、１５００バイトのデータを含む。
【００２８】
なお、図３のフレーム３００は、Beaconフレームであるため、フレーム・ボディ部３２０にはビーコン・フレーム・ボディ部等のデータを含むが、フレーム３００が他の用途のフレームである場合には、フレーム・ボディ部３２０に含まれるデータは適宜変更される。
【００２９】
ＦＣＳ部３３０は、フレームの誤り検出に使用される情報（ＦＣＳ）を含む。
図２に戻って、プログラムメモリ２５４に格納された送信用のフレームは、コントロールＭＡＣ部２５７によって、ＤＡＣ２５９へ送られた後、アナログデータに変換されて、ＲＦ回路２０５、バラン２０４、アンテナ２０３を介して、ネットワークへと送信される。
【００３０】
通信回路２００において、ネットワークを介して送信されてきたデータが受信される際の動作について説明する。アンテナ２０３およびバラン２０４を介してＲＦ回路２０５に送られてきたフレームは、ＡＤＣ２５８においてデジタルデータに変換された後、コントロールＭＡＣ部２５７に送られる。コントロールＭＡＣ部２５７は、デジタル信号に変換されたフレームに対して、フレーム先頭検出、時間および周波数の同期処理を行なった後、誤り訂正復号を行なう。そして、コントロールＭＡＣ部２５７は、さらに、当該フレームのＤＡ３１１がＥＥＰＲＯＭ２０７に予め格納されている当該通信回路２００のＭＡＣアドレスと一致するか否かを判断し、一致すると判断すると、フレームからＭＡＣヘッダ部３１０とＦＣＳ部３３０を取除いた後、プログラムメモリ２５４に、残ったデータ（フレーム・ボディ部３２０）を転送する。なお、一致しないと判断すると、コントロールＭＡＣ部２５７は、受信したフレームを破棄する。
【００３１】
また、コントロールＭＡＣ部２５７は、受信したフレーム・ボディ部３２０をプログラムメモリ２５４に格納したときに、共有メモリ２５５において、その旨を示すフラグをセットする。ＣＰＵ２５１は、当該フラグがセットされたことに応じて、プログラムメモリ２５４に格納されたフレーム・ボディ部３２０を、インターフェイス２５２を介して、ホストシステム１００へ送る。
【００３２】
図１を参照して、端末１の機能構成は、ＨＯＳＴプロセッサ４００、ＢＵプロセッサ７００およびＲＦプロセッサ８００、ならびに基準クロックを発生させるためのクリスタル発振子６００および９００を備える。
【００３３】
ＨＯＳＴプロセッサ４００は、ホストシステム１００に対応する。ＨＯＳＴプロセッサ４００は、ＨＯＳＴ  ＣＰＵコア５００、マスタデータＩ／Ｆ（インターフェイス）４０１および制御信号入出力部４０２を備える。ＨＯＳＴ  ＣＰＵコア５００は、アプリケーション部５０１、パワー管理部５０２、Ｉ／Ｆコントローラ５０３、Ｉ／Ｏコントローラ５０４およびクロックコントローラ５０５を含む。パワー管理部５０２はデバイスドライバの１機能を果たし、パワーセーブコントロールに関するサービスをアプリケーション部５０１に提供する。クロックコントローラ５０５はクリスタル発振子６００を制御する。Ｉ／Ｆコントローラ５０３はマスタデータＩ／Ｆ４０１との間での入出力を制御し、Ｉ／Ｏコントローラ５０４は制御信号入出力部４０２との間での入出力を制御する。マスタデータＩ／Ｆ４０１と制御信号入出力部４０２は、図２のインターフェイス１０７、Ｉ／Ｏ部１０８、１０９および１１１に相当する。
【００３４】
アプリケーション部５０１は、各種のアプリケーションプログラムを実行する。その実行は入力部１０６からのユーザ入力に従う場合もある。後述のＡＰＩコールおよび電力モードの遷移指示は、このようなアプリケーションプログラムの実行に従い出力されるコマンドを指す。
【００３５】
ＢＵプロセッサ７００は、ベースバンド／ＭＡＣ回路２５０に相当する部分を含む。ＢＵプロセッサ７００は、インターフェイス２５２に相当するスレーブデータＩ／Ｆ７０１、クロック回路２０２に相当するクロックジェネレータ７０２、およびクロック回路２０２に相当するＰＬＬ（Phase-Locked Loop）回路７１０、ＣＰＵ２５１に相当するＣＰＵコア７０４、ＭＡＣ／ＰＨＹ部３５０に相当するＭＡＣ／ＰＨＹペリフェラル７０７を含む。ＲＦプロセッサ８００はＲＦ回路２０５に相当する。ＣＰＵコア７０４は、パワーセーブコントローラ７０６を有するファームウェア７０５を含む。
【００３６】
クロックジェネレータ７０２は、電力モードステートマシン７０３を含む。電力モードステートマシン７０３は、ＢＵプロセッサ７００の電力モードの状態管理を行なうハードウェアブロックである。パワーセーブコントローラ７０６は、パワースケジューリングを
行なうためのファームウェア７０５の１機能であり、場面毎の処理レベルによる電力モードの切替え、ＲＦプロセッサ８００のＯＮ／ＯＦＦなどの制御を行なう。
【００３７】
クロックジェネレータ７０２およびＰＬＬ回路７１０は、ＢＵプロセッサ７００の動作周波数を決定し供給する。具体的には、動作周波数として、ＣＰＵコア７０４にはＣＰＵクロックを供給し、他の各部にはシステムクロックを供給する。一般的に、同じシステム（回路）構成であれば動作周波数が高いほど処理（動作する）速度は早くなり、応じて単位時間あたりの消費電力量も増加する。
【００３８】
パワーセーブコントローラ７０６はＣＰＵクロックおよびシステムクロックの周波数（周期）それぞれを決定するための２種類の分周率を電力モードステートマシン７０３に与える。電力モードステートマシン７０３は、与えられるシステムクロックのための分周率（以下、システム分周率という）をＰＬＬ回路７１０に出力するので、ＰＬＬ回路７１０は、このとき入力している基準発振信号から、入力するシステム分周率に従う周期の信号（クロック）を生成し、電力モードステートマシン７０３に出力する。電力モードステートマシン７０３はこれを入力し、各部にシステムクロックとして供給する。
【００３９】
また、電力モードステートマシン７０３は、与えられるＣＰＵクロックのための分周率（以下、ＣＰＵ分周率という）をＰＬＬ回路７１０に出力するので、ＰＬＬ回路７１０は、このとき入力している基準発振信号から、入力するＣＰＵ分周率に従う周期の信号（クロック）を生成し、電力モードステートマシン７０３に出力する。電力モードステートマシン７０３はこれを入力し、ＣＰＵコア７０４にＣＰＵクロックとして供給する。
【００４０】
電力モードステートマシン７０３は、電力モードに応じて、クリスタル発振子６００および９００のいずれか一方からの出力信号（発振信号）を選択的に入力する。選択されたクリスタル発振子からの出力信号は、ＰＬＬ回路７１０に上述の基準発振信号として与えられる。ここでは、クリスタル発振子６００は、たとえば３２ｋＨｚの周期の信号を安定的に発振し、クリスタル発振子９００はたとえば４０ＭＨｚの周期の信号を安定して発振する。
【００４１】
このように、ＰＬＬ回路７１０および電力モードステートマシン７０３を介して各部に供給されるクロック（システムクロックおよびＣＰＵクロック）は各部の動作周波数を決定するように作用するので、当該クロックの周波数を切替えることにより、各部の動作周波数を切替えることが可能となる。この結果、ＢＵプロセッサ７００に対し電源回路２０１から供給される電力の消費量を、各部の動作周波数に応じて変化させることができる。
【００４２】
図５には、電力モードステートマシン７０３とパワーセーブコントローラ７０６を実現する回路構成の一例が示される。なお、図５の回路の一部はソフトウェアにより実現されてもよい。図５を参照して当該回路は、ＣＰＵ７３１（ＣＰＵ２５１に相当する）、現在の電力モードステートを指すデータ７３６および分周率のデータ７３７を格納するメモリ７３２、ＰＬＬ回路７１０、ＨＯＳＴプロセッサ４００およびクリスタル発振子６００からの入力ならびにクリスタル発振子６００または９００からの入力を受付ける入力Ｉ／Ｆ７３５、ＨＯＳＴプロセッサ４００、ＰＬＬ回路７１０、ＭＡＣ／ＰＨＹペリフェラル７０７およびＣＰＵコア７０４への出力を行なうための出力Ｉ／Ｆ７３４ならびに切替部７３３を含む。メモリ７３２のデータ７３６および分周率のデータ７３７は、メモリ７３２への電源供給が断たれても保持される。
【００４３】
切替部７３３は、ＣＰＵ７３１の制御の下に、入力Ｉ／Ｆ７３５を介して、クリスタル発振子６００および９００のいずれか一方からの信号を入力するよう切替え制御する。入力Ｉ／Ｆ７３５を介して入力されたクリスタル発振子６００（または９００）からの信号
は、出力Ｉ／Ｆ７３４を介して、ＣＰＵ７３１の制御の下にＰＬＬ回路７１０に出力される。
【００４４】
また、分周率のデータ７３７は予め格納されるデータであって、電力モードステートのそれぞれに対応してＣＰＵ分周率およびシステム分周率のデータを有する。
【００４５】
ここでＢＵプロセッサ７００は、電力モードとして、アクティブモード、スタンバイモードおよびスリープモードの３種類のステートをサポートする。各電力モードにおいて供給されるＣＰＵクロックおよびシステムクロックの周波数は異なるので、ＢＵプロセッサ７００における消費電力量を電力モードに応じて切替えることができる。電力モードの切替えがされる毎に、現在の電力モードのステートを指す情報はデータ７３６としてメモリ７３２に格納される。したがって、ＣＰＵ７３１は、データ７３６をメモリ７３２から読出し判定することにより、ＢＵプロセッサ７００の現在の電力モードの種類を検出することができる。
【００４６】
図６には、本実施の形態によるＢＵプロセッサ７００の電力モードの遷移が模式的に示される。図６を参照して、アクティブモードは、いわゆる通常動作のモードであり、リセット状態の解除後は、アクティブモードに遷移する。アクティブモードにおいては、システムクロックは１２０ＭＨｚであり、ＣＰＵクロックは６０ＭＨｚである。
【００４７】
スタンバイモードでは、システムクロックは３２ｋＨｚでありＣＰＵクロックは１６ｋＨｚである。スタンバイモードであってもＰＬＬ回路７１０は通常の動作をしているので、アクティブモードへ瞬時に復帰することができる。
【００４８】
スリープモードでは、クロックコントローラ５０５によってクリスタル発振子６００からＢＵプロセッサ７００への３２ｋＨｚの基準発振信号の供給が停止されて、ＢＵプロセッサ７００におけるシステムクロックおよびＣＰＵクロックの供給は完全に停止する。このことにより、ＢＵプロセッサ７００では、スリープモードにおいてはスタンバイモードよりもさらに大幅な消費電力の低減をすることができる。
【００４９】
本実施の形態では、スリープモードに移行すると、ＣＰＵ７３１の制御の元にＰＬＬ回路７１０およびＩ／Ｏセルが動作を停止するが、スリープモード期間においてもＭＡＣ／ＰＨＹペリフェラル７０７のタイマ２５６のみは動作するように制御される。
【００５０】
図２と図６を参照して電力モード遷移と制御信号について説明する。ＢＵプロセッサ７００の電力モードステートマシン７０３はパワーセーブコントロールに使用する信号として、次の信号を入力する。まず、クリスタル発振子６００から出力される３２ｋＨｚの発振信号とクリスタル発振子９００から出力される４０ＭＨｚの発振信号、およびＨＯＳＴプロセッサ４００のパワー管理部５０２を介してアプリケーション部５０１から出力されたウェイクアップ信号ＷＡＫＥを入力する。また、パワーセーブコントローラ７０６から入力する電力モードのステート信号ＰＷＲ−ＳＴを、ＨＯＳＴプロセッサ７００のパワー管理部５０２を経由してアプリケーション部５０１に与える。
【００５１】
パワーセーブコントローラ７０６は、電力モードのステート信号ＰＷＲ−ＳＴを生成し電力モードステートマシン７０３に与える。ステート信号ＰＷＲ−ＳＴの値は０：アクティブモード、１：スタンバイモードおよび２：スリープモードを表わす。また、ＨＯＳＴプロセッサ４００のパワー管理部５０２を介してアプリケーション部５０１から出力されたスタンバイ信号ＳＴＡＮＤＢＹ、アクティブ信号ＡＣＴＩＶＥおよびスリープ信号ＳＬＥＥＰを入力する。
【００５２】
ＢＵプロセッサ７００は、スタンバイモード時に、クリスタル発振子６００から入力する３２ｋＨｚの発振信号をシステムクロックとして動作する。
【００５３】
ウェイクアップ信号ＷＡＫＥはスリープモードからアクティブモードへの復帰を指示するための信号である。ＢＵプロセッサ７００は、電源ＯＮされたとき（電源回路２０１から電力供給が開始されるとき）、またはＨＯＳＴプロセッサ４００からリセット信号ＲＳＴが与えられるとリセット状態に移行する。リセット状態においてはＢＵプロセッサ７００には、システムクロックおよびＣＰＵクロックは停止しており、すべての回路動作が停止する。
【００５４】
リセット状態に移行した後に、ＨＯＳＴプロセッサ４００からリセット解除の指示信号が与えられると、リセット状態からアクティブモードに遷移する。
【００５５】
アクティブモードにあるとき、スタンバイ信号ＳＴＡＮＤＢＹが与えられるとスタンバイモードに移行し、スリープ信号ＳＬＥＥＰが与えられるとスリープモードに移行する。
【００５６】
スタンバイモードにあるとき、アクティブ信号ＡＣＴＩＶＥが与えられるとアクティブモードに移行し、ウェイクアップ信号ＷＡＫＥが与えられると、応じてアクティブモードに移行する。
【００５７】
パワー管理部５０２は、アプリケーション部５０１からの指示に基づきＢＵプロセッサ７００の電力モードの設定および変更を指示するための、すなわち図６に従う状態遷移のための信号を生成し、ＢＵプロセッサ７００に出力するよう動作する。また、ＢＵプロセッサ７００から電力モードのステート信号ＰＷＲ−ＳＴを入力し、ＢＵプロセッサ７００の現在の電力モードを取得（検知）する。
【００５８】
パワーセーブコントローラ７０６は、以下のようなパワーセーブに関する機能を実現する。まず、内部スケジューラにより、処理アイドリング時のスタンバイモードへの遷移と、イベント発生時のスタンバイモードからの復帰を自身（セルフ）で行なう。これを後述のセルフスタンバイ機能という。また、ＨＯＳＴコミュニケーション機能を実現する。つまり、ＨＯＳＴ内のパワー管理部５０２と通信し、アプリケーション部５０１からコールされたＡＰＩに従った処理を行なう。また、ＲＦパワーコントロール機能を実現する。つまり、ＲＦプロセッサ８００の電力制御を行なう。
【００５９】
ここで、電力モードのコントロールシーケンスについて図７〜図１０を参照し説明する。図７を参照しスタンバイシーケンスについて説明する。スタンバイシーケンスは、アクティブモードからスタンバイモードへの遷移、またはスタンバイモードからアクティブモードへの復帰のシーケンスを指す。
【００６０】
図７を参照して、ＢＵプロセッサ７００がアクティブモードにあるとき、アプリケーション部５０１からスタンバイモードへの遷移を指示するＡＰＩコールが出力されると、当該出力に基づきパワー管理部５０２はスタンバイ信号ＳＴＡＮＤＢＹ（コマンド）を発行（出力）する。
【００６１】
ＢＵプロセッサ７００のパワーセーブコントローラ７０６は、当該コマンドを受付け、電力モードステートマシン７０３を用いて電力モードを遷移させる。この遷移により、ＢＵプロセッサ７００は、スタンバイモードに移行するとともに、遷移した電力モードを指すステート信号ＰＷＲ−ＳＴ（ＳＴＮＤＢＹ）が出力されてパワー管理部５０２に与えられるので、パワー管理部５０２は、当該信号ＰＷＲ−ＳＴをＡＰＩリターンとしてアプリケーション部５０１に出力する。
【００６２】
スタンバイモードにおいて、アプリケーション部５０１からアクティブへの復帰を指示するＡＰＩコールが出力されると、当該出力に基づきパワー管理部５０２はアクティブ信号ＡＣＴＩＶＥ（コマンド）を出力する。パワーセーブコントローラ７０６は、当該信号を受付け、電力モードステートマシン７０３を介して電力モードをスタンバイモードからアクティブモードに遷移させる。この遷移の結果に基づき、パワーセーブコントローラ７０６は“ＡＣＴＩＶＥ”を指示するステート信号ＰＷＲ−ＳＴを生成し、電力モードステートマシン７０３を介してパワー管理部５０２に出力する。パワー管理部５０２は、ステート信号ＰＷＲ−ＳＴを入力し、この入力した信号に基づきＡＰＩリターンをアプリケーション部５０１に出力する。
【００６３】
図８を参照してスリープシーケンスについて説明する。図８のスリープシーケンスは、アクティブモードからスリープモードへの遷移、またはスリープモードからアクティブモードへの復帰のシーケンスを指す。
【００６４】
ＢＵプロセッサ７００がアクティブモードにあるとき、アプリケーション部５０１によりスリープへの遷移を指示するＡＰＩコールが出力されると、パワー管理部５０２はこれを入力し、スリープ信号ＳＬＥＥＰを出力する。ＢＵプロセッサ７００のパワーセーブコントローラ７０６は当該信号を入力し、電力モードステートマシン７０３を介してＢＵプロセッサ７００の電力モードを、アクティブモードからスリープモードに遷移させるとともに、遷移の結果を示す電力モード（ＳＬＥＥＰ）を示すステート信号ＰＷＲ−ＳＴを生成し、電力モードステートマシン７０３に出力する。
【００６５】
電力モードステートマシン７０３は入力したステート信号ＰＷＲ−ＳＴをパワー管理部５０２に出力する。
【００６６】
パワー管理部５０２は、ステート信号ＰＷＲ−ＳＴ（“ＳＬＥＥＰ”）を入力すると、クロックコントローラ５０５を介してＢＵプロセッサ７００に対するクリスタル発振子６００の基準発振信号の供給を停止させる。また、入力したステート信号ＰＷＲ−ＳＴに基づくＡＰＩリターンをアプリケーション部５０１に出力する。
【００６７】
その後、アプリケーション部５０１がアクティブへの復帰を指示するＡＰＩコールを出力すると、パワー管理部５０２は、このＡＰＩコールに基づき、クロック回路５０５を制御して、クリスタル発振子６００の基準発振信号の供給をＢＵプロセッサ７００に対して再開させる。これにより、ＢＵプロセッサ７００は、クリスタル発振子６００からの３２ｋＨｚの基準発振信号の供給される。続いて、パワー管理部５０２は、ウェイクアップ信号ＷＡＫＥをＢＵプロセッサ７００に出力する。
【００６８】
ＢＵプロセッサ７００の電力モードステートマシン７０３は、ウェイクアップ信号ＷＡＫＥを入力し、応じてスリープモードが解除されて起動する。具体的にはＰＬＬ回路７１０が動作を再開するので、ＢＵプロセッサ７００の各部にＣＰＵクロックまたはシステムクロックが供給再開される。これにより、各部は動作を再開する。
【００６９】
電力モードがスリープモードからアクティブモードへ遷移したとき、パワーセーブコントローラ７０６はステート信号ＰＷＲ−ＳＴ（“ＡＣＴＩＶＥ”）を生成し電力モードステートマシン７０３に与える。電力モードステートマシン７０３はステート信号ＰＷＲ−ＳＴをパワー管理部５０２に出力するので、パワー管理部５０２は、入力したステート信号ＰＷＲ−ＳＴに基づくＡＰＩリターンを生成し、アプリケーション部５０１に出力する。
【００７０】
ＢＵプロセッサ７００は上述のように電力モードを遷移させる状態において、ＨＯＳＴプロセッサ４００はＢＵプロセッサ７００と通信して現在の電力モードを検知することができる。この点について図９と図１０を参照し説明する。
【００７１】
図９には、ＢＵプロセッサ７００が常時アクティブモードで動作中においてＨＯＳＴプロセッサ４００が電力モードをモニタするシーケンスが示される。まず、アプリケーション部５０１により電力モード監視のためのＡＰＩコール“ｇｅｔ”が出力されると、パワー管理部５０２は、当該ＡＰＩコール（“ｇｅｔ”）に基づき、ステート信号ＰＷＲ−ＳＴの値をチェックする指示をＢＵプロセッサ７００に出力する。
【００７２】
ＢＵプロセッサ７００のパワーセーブコントローラ７０６が、当該指示信号を入力すると、ＣＰＵ７３１はメモリ７３２からデータ７３６を読出し、読出したデータ７３６に基づき現在の動作モードを示すステート信号ＰＷＲ−ＳＴ（“ＡＣＴＩＶＥ”）を生成し電力モードステートマシン７０３に出力する。電力モードステートマシン７０３は、入力したステート信号ＰＷＲ−ＳＴをパワー管理部５０２に出力する。パワー管理部５０２は、入力したステート信号ＰＷＲ−ＳＴに基づき、ＡＰＩリターン（“ＡＣＴＩＶＥ”）を生成し、アプリケーション部５０１に出力する。
【００７３】
このような、アプリケーション部５０１がＡＰＩコール“ｇｅｔ”を出力してからＡＰＩリターンを得るまでの一連の手順（シーケンス）は、アプリケーション部５０１がＡＰＩコールを出力する毎に繰返される。これにより、ＨＯＳＴプロセッサ４００はＢＵプロセッサ７００における現在の電力モードを監視（検知）することが可能となる。
【００７４】
図１０には、ＢＵプロセッサ７００がセルフスタンバイ動作中において、ＨＯＳＴプロセッサ４００からの電力モードをモニタするためのシーケンスが示される。ここで、ＢＵプロセッサ７００のセルフスタンバイ動作とは、自己で判断してアクティブモードからスタンバイモードへと遷移し、またスタンバイモードからアクティブモードに遷移することを指す。この電力モードの遷移においても、遷移する毎に、上述したようにＣＰＵ７３１はデータ７３６を現在の電力モードの種類を指すように更新し、切替部７３３を介してクリスタル発振子６００および９００の切替えを行ない、また電力モードに応じた分周率のデータ７３７の読出しを行なう。
【００７５】
ここでは、ＢＵプロセッサ７００は、電源が供給されている状態においては他の端末１とのフレームの通信を行うために待機する通信待機期間に設定される。通信待機期間はアクティブモードとスタンバイモードを含む。たとえば、アクティブモードにおいて、ＣＰＵ２５１は、ＲＦ回路２０５を介して外部に送信すべきデータをホストシステム１００から入力しないことをコントロールＭＡＣ部２５７によって通知される期間が、タイマ２５６が所定期間を計時しても継続したと検知した場合、または外部の端末１から図３のフレームによるデータを、コントロールＭＡＣ部２５７を介して、タイマ２５６が所定期間を計時しても受信しないことを検出すると、ＨＯＳＴプロセッサ４００の指示がなくとも自己判断によってアクティブモードからスタンバイモードへと強制的に遷移させる。
【００７６】
遷移後のスタンバイモードにおいては、タイマ２５６が計時する予め定められた一定期間だけスタンバイモードが継続したことが検知されると（これを、タイムアウトという）、ＨＯＳＴプロセッサ４００の指示がなくとも、スタンバイモードからアクティブモードへと強制的に遷移させる。
【００７７】
ここでは通信の待機期間をタイマ２５６を用いて計時しながら、動的にスタンバイモードとアクティブモードとの間の遷移を行なわせているが、通信の待機期間の長さに拘わらず、一定のインターバルでスタンバイモードとアクティブモードとの間の遷移を繰返し行
なうようにしてもよい。
【００７８】
このようなセルフスタンバイモードにおいてもＢＵプロセッサ７００における無駄な電力の消費を抑えることができる。
【００７９】
ＢＵプロセッサ７００においてセルフスタンバイに従い電力モード遷移が行なわれ状態においても、アプリケーション部５０１は、図１０に示すようにＡＰＩコール（“ｇｅｔ”）を発行することにより、図９と同様にして、現在の電力モードを示すステート信号ＰＷＲ−ＳＴに基づくＡＰＩリターン（“ＡＣＴＩＶＥ”または“ＳＴＡＮＤＢＹ”）を入力することができる。したがって、ＨＯＳＴプロセッサ４００は、ＢＵプロセッサ７００がセルフスタンバイモードにあっても、電力モードをモニタ（検知）することができる。
【００８０】
上述のシーケンスにおいて図５の回路における動作を図１１〜図１３のフローチャートに従い説明する。ここでは説明を簡単にするためにセルフスタンバイによる電力モードの遷移処理は略す。
【００８１】
まず、図１１を参照して、ＢＵプロセッサ７００におけるリセット状態からの状態遷移について説明する。図６に示されるようにリセット状態においては、ＨＯＳＴプロセッサ４００からリセット解除信号が与えられることによって初めて他のモードへ遷移する。ＣＰＵ７３１は、メモリ７３２から読出すデータ７３６に基づき、現在のステートがリセット状態であることを検知すると想定する。
【００８２】
まず、ＣＰＵ７３１は、ＨＯＳＴプロセッサ４００から、遷移の指示信号（コマンド）が与えられるか否かを、入力Ｉ／Ｆ７３５を介して検知する（ステップＳ５）。遷移の指示信号が検知されない期間はステップＳ５が繰返される。
【００８３】
一方、遷移の指示信号を入力すると（ステップＳ５でＹＥＳ）、ＣＰＵ７３１は、与えられた指示信号がリセット解除の指示信号であるか否かを判定する（ステップＳ７）。リセット解除の指示信号であると判定すると（ステップＳ７でＹＥＳ）、アクティブモードに遷移するために、クリスタル発振子６００および９００のうち、クリスタル発振子９００の方の基準発振信号を入力するよう、切替部７３３に指示するので、入力Ｉ／Ｆ７３５からは、切替部７３３の制御の下に、クリスタル発振子９００からの発振信号が出力Ｉ／Ｆ７３４を介してＰＬＬ回路７１０に与えられる。このとき、ＣＰＵ７３１は、与えられたリセット解除指示信号に基づき、メモリ７３２に格納された当該リセット解除信号に対応の、すなわちアクティブモードに対応するＣＰＵ分周率およびシステム分周率のデータ７３７を読出し、出力Ｉ／Ｆ７３４を介してＰＬＬ回路７１０に与える。したがってＰＬＬ回路７１０は、クリスタル発振子９００から入力する発振信号を、与えられる分周率に従い分周し出力する。
【００８４】
ＰＬＬ回路７１０から出力される分周された信号によって、ＣＰＵコア７０４には、６０ＭＨｚのＣＰＵクロックが与えられ、ＢＵプロセッサ７００の他の各部に対しては、１２０ＭＨｚのシステムクロックが与えられる（ステップＳ９）。その後、ＣＰＵ７３１は、メモリ７３２のデータ７３６を、“アクティブモード”を示すように更新する（ステップＳ１１）。
【００８５】
次に、ＣＰＵ７３１は、入力Ｉ／Ｆ７３５を介して、ＨＯＳＴプロセッサ４００からの遷移指示（コマンド）を入力するか否かを判定する（ステップＳ１３）。遷移指示を入力したと判定すると（ステップＳ１３でＹＥＳ）、入力した遷移指示が“ＳＬＥＥＰ”または“ＳＴＡＮＤＢＹ”へのモード遷移を指示するか否かを判定する。本実施の形態では、図６に示されるように、アクティブモードにあるときには、ＨＯＳＴプロセッサ４００か
らは、指示信号ＳＴＡＮＤＢＹまたはＳＬＥＥＰのいずれか一方が与えられる。
【００８６】
“ＳＴＡＮＤＢＹ”が与えられたことが判定されると（ステップＳ１３でＹＥＳ、ステップＳ１５）、ＣＰＵ７３１は、切替部７３３を介して、入力Ｉ／Ｆ７３５から入力する発振信号を、クリスタル発振子６００側からの入力に切替えるよう制御する。これにより、ＰＬＬ回路７１０に与えられる基準発振信号の入力先は、クリスタル発振子９００側からクリスタル発振子６００側に切替えられる。
【００８７】
また、このとき、ＣＰＵ７３１は、与えられる“ＳＴＡＮＤＢＹ”信号に対応の、すなわちスタンバイモードに対応のＣＰＵ分周率およびシステム分周率のデータ７３７をメモリ７３２から読出し、ＰＬＬ回路７１０に与える。したがって、ＰＬＬ回路７１０は、入力する分周率７３７に基づき、与えられる基準発振信号を分周することによって、３２ｋＨｚのシステムクロックおよび１６ｋＨｚのＣＰＵクロックを生成し、入力Ｉ／Ｆ７３５を介し出力する。したがって、ＣＰＵコア７０４にはＣＰＵクロック（１６ｋＨｚ）が与えられ、ＢＵプロセッサ７００の他の各部にはシステムクロック（３２ｋＨｚ）が与えられる。
【００８８】
このようにＢＵプロセッサ７００においては、スタンバイモードではアクティブモードと同じ数の回路が動作するが、その動作のための信号の周波数はアクティブモードに比べて低いので、アクティブモードよりも単位時間あたりの消費電力量を削減することができる。
【００８９】
一方、“ＳＬＥＥＰ”の遷移指示信号が与えられたと判定されると（ステップＳ１３でＹＥＳ、ステップＳ１５）、ステップＳ１９において、ＣＰＵ７３１は、切替部７３３を介してクリスタル発振子６００側からの基準発振信号を入力するように動作するが、パワー管理部５０２は“ＳＬＥＥＰ”の遷移指示信号を出力したことに応じてクロックコントローラ５０５を介してクリスタル発振子６００のＢＵプロセッサ７００への基準発振信号の供給を停止する。また、ＰＬＬ回路７１０の動作も停止する。これによりシステムクロックおよびＣＰＵクロックの供給が停止する。
【００９０】
このとき、“ＳＬＥＥＰ”の遷移指示信号が与えられたことに応じてＣＰＵ７３１はＭＡＣ／ＰＨＹペリフェラル７０７のタイマ２５６のみに起動指示を与える。これによりタイマ２５６はスリープモードにおいては供給される電力を用いてタイマカウント動作を行なう（ステップＳ１９）。このように、スリープモードにおいてはタイマ２５６のみが動作し、他の回路はＰＬＬ回路７１０によるＣＰＵクロックおよびシステムクロックが供給されず動作を停止するので、スタンバイモードに比べ消費電力をより削減できる。
【００９１】
次に、ＣＰＵ７３１はメモリ７３２のデータ７３６を遷移したモードに従い“スタンバイモード”、または“スリープモード”のいずれかを指すよう更新する。なお、スリープモードに状態遷移した場合であっても（ステップＳ１９）、メモリ７３２へのデータ更新は極めて短時間で行われるので、その書替え期間はＣＰＵクロック供給の停止前に終了すると想定する。
【００９２】
図１２には、スタンバイモードにおいて状態遷移するためのシーケンスが示される。図６に示されるように、スタンバイモードにあるときには、ＨＯＳＴプロセッサ４００から与えられるアクティブ指示信号にのみ基づき、状態を遷移させる。アクティブ指示信号が与えられたとき、スタンバイモードからアクティブモードに遷移する。
【００９３】
ＣＰＵ７３１は、ＨＯＳＴプロセッサ４００から遷移指示信号が与えられるか否かを判定し、遷移指示信号があった場合、その信号が“ＡＣＴＩＶＥ”を指示するか否かを判定
する（ステップＳ２５でＹＥＳ、ステップＳ２７）。
【００９４】
“ＡＣＴＩＶＥ”を指示すると判定すると（ステップＳ２７でＹＥＳ）、ＣＰＵ７３１は、切替部７３３を制御して、入力Ｉ／Ｆ７３５から入力する基準発振信号を、クリスタル発振子９００側からの信号を入力するように制御する。これにより、入力Ｉ／Ｆ７３５を介してクリスタル発振子９００からの基準発振信号が入力されて、入力された基準発振信号は出力Ｉ／Ｆ７３４を介してＰＬＬ回路７１０に与えられる。
【００９５】
このとき、ＣＰＵ７３１は、与えられた状態遷移指示信号（“ＡＣＴＩＶＥ”）に対応の、すなわちアクティブモードに対応のＣＰＵ分周率およびシステム分周率のデータ７３７をメモリ７３２から読出しＰＬＬ回路７１０に与える。したがって、ＰＬＬ回路７１０は、クリスタル発振子９００から与えられる基準発振信号を、電力モードステートマシン７０３から与えられた分周率のデータに従い分周し、システムクロック（１２０ＭＨｚ）およびＣＰＵクロック（６０ＭＨｚ）の信号を生成し出力する。これにより、ＣＰＵコア７０４に対しては６０ＭＨｚのＣＰＵクロックが供給されて、ＢＵプロセッサ７００の他の各部に対しては、１２０ＭＨｚのシステムクロックが与えられる。その後、ＣＰＵ７３１は、メモリ７３２のデータ７３６を“アクティブモード”を指示するように更新する（ステップＳ３１）。
【００９６】
図１３を参照して、スリープモードにおける状態遷移について説明する。ＢＵプロセッサ７００がスリープモードにあるとき、ＨＯＳＴプロセッサ４００からの“ＷＡＫＥ”の遷移指示信号はウェイク部３５２を介してクロック回路２０２に出力される。またＨＯＳＴプロセッサ４００で“ＷＡＫＥ”の遷移指示信号が出力されるとき、パワー管理部５０２はクロックコントローラ５０５を制御してクリスタル発振子６００からの基準発振信号のＢＵプロセッサ７００への供給停止を解除するので、当該基準発振信号のＰＬＬ回路７１０への供給が開始する。この時点ではＰＬＬ回路７１０は供給される基準発振信号に基づき予め定められた分周率、または基準発振信号の供給停止前に与えられていた分周率に従いシステムクロックおよびＣＰＵクロックを生成し出力する。これによって、ＢＵプロセッサ７００のＣＰＵコア７０４にはＣＰＵクロックが供給されて、他の各部にはシステムクロックが供給されて、全ての回路が動作する状態となる。
【００９７】
この状態において、まず、ＣＰＵ７３１はＨＯＳＴプロセッサ４００から遷移指示信号を入力したと判定すると（ステップＳ３３でＹＥＳ）、入力した遷移指示が“ＷＡＫＥ”を指すと判定する（ステップＳ３５でＹＥＳ）。
【００９８】
続いて、ＣＰＵ７３１は、切替部７３３を制御して、入力Ｉ／Ｆ７３５から入力する基準発振信号として、クリスタル発振子９００側からの信号を入力するように制御する。これにより、入力Ｉ／Ｆ７３５を介してクリスタル発振子９００からの基準発振信号が入力されて、入力された基準発振信号は出力Ｉ／Ｆ７３４を介してＰＬＬ回路７１０に与えられる。
【００９９】
このとき、ＣＰＵ７３１は、与えられた状態遷移指示信号（“ＷＡＫＥ”）に対応の、すなわちアクティブモードに対応のＣＰＵ分周率およびシステム分周率のデータ７３７をメモリ７３２から読出しＰＬＬ回路７１０に与える。したがって、ＰＬＬ回路７１０は、クリスタル発振子９００から与えられる基準発振信号を、電力モードステートマシン７０３から与えられた分周率のデータに従い分周し、システムクロック（１２０ＭＨｚ）およびＣＰＵクロック（６０ＭＨｚ）を生成し出力する。これにより、ＣＰＵコア７０４に対しては６０ＭＨｚのＣＰＵクロックが供給されて、ＢＵプロセッサ７００の他の各部に対しては１２０ＭＨｚのシステムクロックが与えられる（ステップＳ３７）。
【０１００】
その後、ＣＰＵ７３１は、メモリ７３２のデータ７３６を“アクティブモード”を指示するように更新する（ステップＳ３９）。
【０１０１】
以上のようにＢＵプロセッサ７００内の回路に供給されるでクロック信号の周波数（動作周波数）および動作する回路個数の異なる３つのステート（スリープ、スタンバイ、アクティブ）を切替えることで、消費電力を低減することができる。
【０１０２】
今回開示された各実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。また、各実施の形態に開示された技術は、可能な限り組み合わされて実現されることが意図される。
【図面の簡単な説明】
【０１０３】
【図１】本発明の実施の形態に係る端末の機能構成を模式的に示す図である。
【図２】本発明の実施の形態に係る端末のハードウェア構成を模式的に示す図である。
【図３】本発明の実施の形態に係るネットワークにおいて送受信されるフレーム（Beaconフレーム）の構成を模式的に示す図である。
【図４】本発明の実施の形態に係るアドホック・ネットワークの構成の一例を模式的に示す図である。
【図５】本発明の実施の形態に係る端末における電力モード遷移を制御するための回路構成の一例を示す図である。
【図６】本発明の実施の形態に係る電力モードの遷移を模式的に示す図である。
【図７】本発明の実施の形態に係るスタンバイシーケンスを示す図である。
【図８】本発明の実施の形態に係るスリープシーケンスを示す図である。
【図９】本発明の実施の形態に係るモードモニタシーケンス（通常動作中）を説明するための図である。
【図１０】本発明の実施の形態に係るモードモニタシーケンス（セルフスタンバイ動作中）を説明するための図である。
【図１１】本発明の実施の形態に係る端末のリセット状態で開始されるＢＵプロセッサの処理フローチャートである。
【図１２】本発明の実施の形態に係る端末のスタンバイモードで開始されるＢＵプロセッサの処理フローチャートである。
【図１３】本発明の実施の形態に係る端末のスリープモードで開始されるＢＵプロセッサの処理フローチャートである。
【符号の説明】
【０１０４】
１  端末、１０  ネットワーク、５０１  アプリケーション部、５０２  パワー管理部、６００，９００  クリスタル発振子、７０３  電力モードステートマシン、７０６  パワーセーブコントローラ、７１０  ＰＬＬ回路、７３６  現在ステートのデータ、７３７
分周率のデータ。
【図１】
2009088818.tif 000003
【図２】
2009088818.tif 000004
【図３】
2009088818.tif 000005
【図４】
2009088818.tif 000006
【図５】
2009088818.tif 000007
【図６】
2009088818.tif 000008
【図７】
2009088818.tif 000009
【図８】
2009088818.tif 000010
【図９】
2009088818.tif 000011
【図１０】
2009088818.tif 000012
【図１１】
2009088818.tif 000013
【図１２】
2009088818.tif 000014
【図１３】
2009088818.tif 000015