プロセッサ、及び制御方法
【課題】低消費電流で被制御デバイスの間欠動作を制御する。
【解決手段】被制御デバイスから入力されるデータを処理する第1の動作モードと、前記被制御デバイスから入力されるデータを処理せず前記第1の動作モードより消費電流が小さい第2の動作モードとを有する処理部を有し、さらに、前記処理部が前記第2の動作モードのときにクロックをカウントするカウンタと、前記カウンタによる前記クロックのカウント値が基準値に達するごとに前記被制御デバイスを所定の時間動作させるための動作信号を出力する信号出力部と、前記カウント値が前記基準値に達するごとに前記基準値を増加させて前記信号出力部に設定する設定部とを含むタイマ部とを有するプロセッサによれば、低消費電流で被制御デバイスの間欠動作を制御できる。
【解決手段】被制御デバイスから入力されるデータを処理する第1の動作モードと、前記被制御デバイスから入力されるデータを処理せず前記第1の動作モードより消費電流が小さい第2の動作モードとを有する処理部を有し、さらに、前記処理部が前記第2の動作モードのときにクロックをカウントするカウンタと、前記カウンタによる前記クロックのカウント値が基準値に達するごとに前記被制御デバイスを所定の時間動作させるための動作信号を出力する信号出力部と、前記カウント値が前記基準値に達するごとに前記基準値を増加させて前記信号出力部に設定する設定部とを含むタイマ部とを有するプロセッサによれば、低消費電流で被制御デバイスの間欠動作を制御できる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デバイスを制御するプロセッサ、及びデバイスの制御方法に関する。
【背景技術】
【0002】
携帯用機器などでは、省電力化のため、加速度センサや温湿度センサといったデバイスを間欠動作させることが求められる。自らの動作モードを制御する機能を有さないセンサを間欠動作させる場合、その動作は、タイマ装置など(たとえば、特許文献1、2)により制御される。あるいは、センサによる検知データを処理するために設けられるマイクロプロセッサ(以下、単にプロセッサという)が、かかる制御を担う場合もある。かかるプロセッサは、たとえばクロックをカウントしてセンサの動作周期を計測し、動作周期ごとにセンサを一定時間動作させそれ以外の時間は停止または電源をカットするという制御を繰り返す。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平7−311695号公報
【特許文献2】特開2000−91889号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、プロセッサによりセンサの動作周期を計測することは、その分、プロセッサの消費電流の増加につながる。さらに、たとえば、動作周期を次第に長くすることで単位時間あたりのセンサの動作時間を減らすような制御を行う場合、センサを停止させる時間が延びることで、センサの動作電流を削減することはできるが、プロセッサは常に動作しているので、プロセッサの消費電流は削減ができない。それどころか、動作時間の設定をその都度実施してしまうため、かえって消費電流が増えてしまう結果となる。かかる消費電流の増加は、センサを間欠動作させることによる省電力化を削減するので問題となる。
【0005】
そこで、本発明の目的は、低消費電流で被制御デバイスの間欠動作を制御できるプロセッサ、及びデバイスの制御方法を提供することにある。
【課題を解決するための手段】
【0006】
上記の目的を達成するために、一実施形態におけるプロセッサは、処理部とタイマ部とを有する。処理部は、被制御デバイスから入力されるデータを処理する第1の動作モードと、前記被制御デバイスから入力されるデータを処理せず前記第1の動作モードより消費電流が小さい第2の動作モードとを有する。また、タイマ部は、前記処理部が前記第2の動作モードのときにクロックをカウントするカウンタと、前記カウンタによる前記クロックのカウント値が基準値に達するごとに前記被制御デバイスを所定の時間動作させるための動作信号を出力する信号出力部と、前記カウント値が前記基準値に達するごとに前記基準値を増加させて前記信号出力部に設定する設定部とを有する。
【発明の効果】
【0007】
以下に説明する実施形態によれば、低消費電流のプロセッサにより被制御デバイスの間欠動作を制御できる。
【図面の簡単な説明】
【0008】
【図1】本実施形態におけるプロセッサの構成例を示す図である。
【図2】センサ20の動作周期を示す図である。
【図3】第1実施例におけるタイマ部6の詳細な構成を示す図である。
【図4】第1実施例における動作信号出力部10の動作手順を示すフローチャート図である。
【図5】第1実施例におけるプロセッサ2の動作を示すためのタイミング図である。
【図6】第1実施例におけるプロセッサ2の動作を示すためのタイミング図である。
【図7】第1実施例におけるプロセッサ2の動作を示すためのタイミング図である。
【図8】第2実施例におけるタイマ部6の詳細な構成を示す図である。
【図9】第2実施例における動作信号出力部10の動作手順を示すフローチャート図である。
【図10】第2実施例におけるプロセッサ2の動作を説明するためのタイミング図である。
【図11】第2実施例におけるプロセッサ2の動作を説明するためのタイミング図である。
【図12】第2実施例におけるプロセッサ2の動作を説明するためのタイミング図である。
【図13】第1変形例におけるプロセッサ2の構成を示す図である。
【図14】第2変形例におけるプロセッサ2の構成を示す図である。
【図15】記憶部26の構成例を示す図である。
【図16】第3変形例におけるプロセッサ2の構成を示す図である。
【図17】本実施形態のプロセッサが活動量計測に用いられる場合の構成を示す図である。
【図18】実施例におけるプロセッサ2の動作シーケンスを示す図である。
【発明を実施するための形態】
【0009】
以下、図面にしたがって本発明の実施の形態について説明する。但し、適用される技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【0010】
図1は、本実施形態におけるプロセッサの構成例を示す。プロセッサ2は、たとえば携帯電話機などの携帯機器において、被制御デバイスからのデータを処理するとともに、被制御デバイスの間欠動作を制御するマイクロプロセッサである。被制御デバイスは、ここではセンサ20である。センサ20は、たとえば、携帯機器の加速度、温湿度、または電界強度といった状態を検知する、加速度センサ、温湿度センサ、または電界強度センサなどである。また、プロセッサ2は、センサ20による検知データを処理する処理部4と、センサ20の間欠動作を制御するタイマ部6とを有する。
【0011】
各部について詳細に説明する前に、タイマ部6により制御されるセンサ20の間欠動作について説明する。図2には、横軸を経過時間として、センサ20の動作周期OCn(n=1、2、・・・)、動作時間OT、及び休止時間PTnが示される。センサ20の1つの動作周期OCnは、動作時間OTと休止時間PTnとからなる。タイマ部6の制御により、センサ20は、各動作周期OCnにおいて、一定の動作時間OTで検知動作を行い、休止時間PTnで動作を休止する。ここで、たとえばプロセッサ2が携帯電話機に搭載され、センサ20により加速度、温湿度、電界強度などを検知する場合、動作時間OTはたとえば10ミリ秒である。一方、初期設定の動作周期OC1は、たとえば40ミリ秒であり、したがって休止時間PT1は、たとえば30ミリ秒である。本実施形態では、さらに、タイマ部6により、動作周期OCnが次第に長くなるような(つまり、休止時間PTnが次第に長くなるような)制御が行われる。
【0012】
図1に戻り、各部の詳細について説明する。処理部4は、センサ20から入力される検知データを処理する第1の動作モードと、それより消費電流が小さい第2の動作モードを有する、たとえばCPU(Central Processing Unit)である。第1の動作モードは、通常の動作を行うための通常モードである。これに対し、第2の動作モードは、電流を消費しない休止モード、または微量な待機電流を消費する待機モードである。以下では、休止モードを例として説明がなされる。処理部4は、通常モードのときにタイマ部6のカウンタ8を起動信号SSにより起動し、処理部4自身は休止モードに移行する。そして、処理部4は、センサ20から入力される検知データを処理を必要とするときに、通常モードに移行して動作する。センサ20から入力される検知データは、たとえば、加速度、温湿度、電界強度などの検知データである。
【0013】
タイマ部6は、カウンタ8、動作信号出力部10、基準値設定部12が動作することで、処理部4が休止モードのときにセンサ20の間欠動作を制御する。タイマ部6と処理部4とは、同系統の電源で動作してもよいし、別系統の電源で動作してもよい。いずれの場合であっても、処理部4が休止モードのときには処理部4への処理クロックCLKが停止され、もしくは電流供給が停止され、その一方で、タイマ部6には動作に必要な電流とクロックCLKが供給される。
【0014】
タイマ部6では、カウンタ8が、処理部4に起動され、クロックCLKをカウントする。クロックCLKは、クロック発生器16から、処理部4とカウンタ8とに入力される。なお、処理部4とカウンタ8は、異なるクロック供給源を有してもよい。クロックCLKのカウント値CNTは、動作信号出力部10に入力される。動作信号出力部10には、これに加え、動作周期基準値Ref1が基準値設定部12から入力される。
【0015】
動作信号出力部10は、クロックCLKのカウント値CNTが動作周期基準値Ref1に達するごとに、センサ20を所定時間動作させるための動作信号DSを出力する。動作周期基準値Ref1は、センサ20の動作周期に対応し、具体的には、動作周期をクロックCLKの周期で除算して求められるクロック数である。また、動作信号DSは、たとえば、HレベルとLレベルとを有する矩形波信号である。動作信号出力部10は、たとえばPLD(Programmable Logic Device)と、矩形波信号を生成する回路とを有する。動作信号出力部10は、後に詳述する動作により、センサ20の動作時間にHレベル、休止時間にLレベルとなるような動作信号DSを出力する。センサ20は、たとえば、動作信号DSがHレベルのときにONされ、LレベルのときにOFFされる、図示されない電源スイッチを有する。あるいは、センサ自身が省電力モードを所有する場合に、省電力モード信号に接続することも可能である。これにより、動作信号DSがたとえばHレベルのときにセンサ20が電源供給を受けて動作し、Lレベルのときにセンサ20が動作を休止(もしくは省電力)モードに移行する。
【0016】
また、動作信号出力部10は、カウント値CNTが動作周期基準値Ref1に達するごとに、両者が一致したことを示す一致信号CMPを、カウンタ8と基準値設定部12に出力する。一致信号CMPは、たとえばパルス信号である。カウンタ8は、一致信号CMPに応答して、カウント値CNTをゼロクリアする。ただし、後述するように、カウント値CNTをゼロクリアしない構成も可能である。一方、基準値設定部12は、一致信号CMPに応答して、動作周期基準値Ref1を増加させて動作信号出力部10に設定する。そうすることで、センサ20の動作周期が長くなる。かかる制御動作を繰り返すことで、センサ20を間欠動作させながら、動作周期(または、次にセンサ20を動作させるまでの休止時間)を次第に長くすることができる。
【0017】
センサ20は、動作時に加速度、温湿度、電界強度などの検知を行い、アナログの検知信号MSをAD変換器18に出力する。AD変換器18は、アナログの検知信号MSをデジタル信号化し、検知データMDとして処理部4に入力する。あるいは、センサ20がデジタルの検知データを出力する場合、AD変換器18の代わりにシリアルインターフェースをプロセッサ2に設けてもよい。その場合、シリアルインターフェースがセンサ20からの検知データを受信して処理部4に伝送する。
【0018】
処理部4は、休止モード時に検知データMDが入力されると、これを割り込み信号として認識し、割り込み信号に応答して通常モードに移行する。このために、センサ20には、検知される信号に所定の閾値よりも大きい変化があったときに、検知データMDを割り込み信号として出力する機能を用意しておく。もちろん、ADC18からの信号として、MD以外に割り込み信号を別途用意する方法でも実現が可能である。そして、処理部4は、図示が省略されるメモリに格納される処理プログラムに従って、検知データMDの処理を実行する。通常モードでは、たとえば、図示しない回路からセンサ20にセンサ動作信号が常時供給され、センサ20から出力される検知データMSはすべてAD変換器18を介してAD変換され検知データMDとして処理部4に供給される。処理されたデータは、たとえば図示されないバスを介するなどして、他のプロセッサに出力することも可能である。
【0019】
また、処理部4は、検知データMDを処理する場合、初期化信号RSを基準値設定部12に出力し、これにより動作周期基準値Ref1を初期化する。これは、一度検知データMDが得られると、継続的に検知データMDが得られる蓋然性が高いことによる。たとえば、プロセッサ2が携帯電話機などに搭載される場合、携帯電話機が静止しているときには、センサ20の検知対象である携帯電話機の加速度、周囲の温湿度、あるいは電界強度は急激に変化しない。よって、その間は、センサ20の間欠動作時に停止時間を長く設定させても、必要な検知データを取得する機会は確保できる。しかし、携帯電話機がユーザに携行されて移動するときには、センサ20による検知対象の状態が急激に変化する。その場合、精度よく検知データを取得するために、検知頻度を高くすることが求められる。よって、処理部4が検知データMDを処理する際に動作周期基準値Ref1を初期化信号RSにより初期化することで、センサ20の動作周期を短くできる。こうして、必要な検知データMDを継続して確実に取得し、処理することができる。
【0020】
なお、動作信号DSは、AD変換器18にも入力され、センサ20の動作時にAD変換器18を動作させる。そうすることで、AD変換器18を間欠的に動作させながら、センサ20からの検知信号をAD変換できる。あるいは、AD変換器18の代わりにシリアルインターフェースを設ける場合、シリアルインターフェースが動作信号DSにより起動される。このようにして、センサ20やAD変換器18(またはシリアルインターフェース)を間欠動作させることで、これらを常時動作させる場合より消費電流を低減することができる。
【0021】
このように、処理部4が休止モードのときにタイマ部6がセンサ20の間欠動作の制御を間欠時間の長さの設定も合わせて行うことで、処理部4が制御を行う場合よりも、プロセッサ2全体としての消費電流を減少させることができる。
【0022】
次に、タイマ部6の詳細な構成と動作について説明する。まず、各動作周期が開始されるときにカウンタ8のカウント値CNTが一致信号CMPによりゼロクリアされる場合について説明する(第1実施例)。次いで、カウント値CNTがゼロクリアされない場合について説明する(第2実施例)。
【0023】
[第1実施例: カウント値CNTがゼロクリアされる場合]
図3は、第1実施例におけるタイマ部6の詳細な構成を示す。第1実施例では、基準値設定部12は、動作周期基準値Ref1を保持するシフトレジスタ12aと、動作時間基準値Ref2を保持するレジスタ12bとを有する。動作時間基準値Ref2は、動作信号DSをHレベルに維持する時間に対応し、具体的には、センサ20の動作時間をクロックCLKの周期で除算して求められるクロック数である。動作信号出力部10は、シフトレジスタ12aが保持する動作周期基準値Ref1とレジスタ12bが保持する動作時間基準値Ref2とを、カウンタ8からのクロックCLKのカウント値CNTと比較し、比較結果に応じてHレベルまたはLレベルの動作信号DSをセンサ20へ出力する。また、動作信号出力部10は、カウント値CNTが動作周期基準値Ref1に達したときに、一致信号CMPをカウンタ8、シフトレジスタ12a、及びレジスタ12bに出力する。
【0024】
カウンタ8は、処理部4からの起動信号SSにより起動されてクロックCLKのカウントを開始する。そして、カウンタ8は、一致信号CMPが入力されるごとにカウント値CNTをゼロクリアし、次の動作周期のカウントを開始する。また、シフトレジスタ12aは、入力される一致信号CMPに応答して、動作周期基準値Ref1をビットシフトさせて2のべき乗し、動作信号出力部10に出力する。そうすることで、動作周期基準値Ref1が増加されて動作信号出力部10に設定される。また、シフトレジスタ12aは、処理部4が検知データMDを処理する際、処理部4からの初期化信号RSに応答して動作周期基準値Ref1を初期化する。そして、レジスタ12bは、入力される一致信号CMPに応答して、動作時間基準値Ref2を動作信号出力部10に設定する。
【0025】
図4は、第1実施例における動作信号出力部10の動作手順を示すフローチャート図である。この手順は、たとえば、1クロックごとに実行される。動作信号出力部10は、カウント値CNTが動作時間基準値Ref2より小さいとき(S2のYes)、Hレベルの動作信号DSを出力する(S4)。これにより、センサ20が動作する。一方、カウント値CNTが動作時間基準値Ref2以上であり(S2のNo)、かつ動作周期基準値Ref1より小さいとき(S6のYes)、動作信号出力部10は、Lレベルの動作信号DSを出力する(S8)。これにより、センサ20は動作を休止する。そして、カウント値CNTが動作周期基準値Ref1以上のとき(S6のNo)、つまり動作周期が終了したとき、動作信号出力部10は、一致信号CMPを出力する(S10)。これにより、カウンタ8はカウント値CNTをゼロクリアする。よって、次のクロックで実行される手順S2ではカウント値CNTが動作時間基準値Ref2より小さくなり、Hレベルの動作信号DSが出力される(S4)。また、一致信号CMPにより、動作周期基準値Ref1が増加する。
【0026】
上記のような動作により、動作信号DSによりセンサ20を間欠動作させながら、動作周期基準値Ref1を増加させることで動作周期を長くすることができる。たとえば、10ミリ秒の動作時間OTに対し、動作周期OCnを、たとえば、OC1=20ミリ秒、OC2=40ミリ秒、OC3=80ミリ秒、・・・と次第に長くすることができる。その場合、休止時間PTnは、PT1=10ミリ秒、PT2=30ミリ秒、PT3=70ミリ秒、・・・と次第に長くなる。
【0027】
図5は、第1実施例におけるプロセッサ2の動作を説明するためのタイミング図である。図5(A)には、処理部4の動作モードMOD、処理部4に入力されるクロックCLK(4)、カウンタ8に入力されるクロックCLK(8)、クロックCLK(8)のカウント値CNT、基準値設定部12が設定する動作周期基準値Ref1、動作信号出力部10が出力する一致信号CMP、及び動作信号DSが示される。また、図5(B)には、プロセッサ2とセンサ20とにより消費される電流が模式的に示される。なお、図5(A)、(B)において、横軸は経過時間を示す。
【0028】
図5(A)では、説明の便宜上、クロックCLKの動作時間と動作周期基準値Ref1とが簡略化されて示される。まず、処理部4は、通常モードOmdでカウンタ8を起動する。そして、処理部4は、カウンタ8を起動した後、休止モードPmdに移行する。また、これに伴い、処理部4へのクロックCLK(4)の入力が停止される。
【0029】
カウンタ8が起動されることにより、クロックCLK(8)のカウントが開始され、動作周期OC1が開始される。なお、ここでは、動作周期OC1は、動作時間を有さず、休止時間から開始される。クロックCLK(8)のカウント値CNTは、クロックCLK(8)にしたがって「0、1、2、・・・」と増加する。一方、動作周期基準値Ref1の初期値は、たとえば「2」である。カウント値CNTが「2」に達するまで、動作周期OC1が継続する。
【0030】
カウント値CNTが「2」に達すると、一致信号CMPが出力される。すると、これに応答して、カウント値CNTが「0」クリアされる。そして、次のクロックからカウントが再開され、動作周期OC2が開始される。動作周期OC2が開始されると動作信号DSがHレベルになり、センサ20が動作する。そして、一定の動作時間後、動作信号DSはLレベルになり、センサ20が動作を休止する。また一方で、一致信号CMPに応答して、動作周期基準値Ref1が、たとえばビットシフトにより2倍される。よって、動作周期基準値Ref1の値「2」が2倍されて「4」になる。そして、カウント値CNTが「4」に達するまで、動作周期OC2が継続する。
【0031】
カウント値CNTが「4」に達すると、一致信号CMPが出力される。そして、カウント値CNTが「0」クリアされる。そして、カウントが再開され、動作周期OC3が開始される。そして、動作信号DSがHレベルになり、その間センサ20が動作する。そして、動作時間後、動作信号DSはLレベルになり、センサ20が動作を休止する。一方で、一致信号CMPに応答して、動作周期基準値Ref1がビットシフトによりさらに2倍(あるいは、初期値「2」が2の2乗倍)されて「8」になる。そして、カウント値CNTが「8」に達するまで、動作周期OC3が継続する。
【0032】
カウント値CNTが「8」に達すると、一致信号CMPが出力される。そして、カウント値CNTが「0」クリアされる。そして、カウントが再開され、動作周期OC4が開始される。そして、動作信号DSがHレベルになり、その間センサ20が動作する。そして、その後動作信号DSはLレベルになり、センサ20が動作を休止する。一方で、一致信号CMPに応答して、動作周期基準値Ref1がビットシフトによりさらに2倍(あるいは、初期値「2」が2の3乗倍)されて「16」になる。そして、カウント値CNTが「16」に達するまで、動作周期OC4が継続する。
【0033】
なお、シフトレジスタ12aのビットシフトにより動作周期基準値Ref1を増加させ、シフトレジスタ12aがオーバーフローしたとき、動作周期基準値Ref1は、シフトレジスタ12aが保持しうる最大値に固定される。たとえば、シフトレジスタ12aの最上位ビットが「1」になったときにマスク値「1」を保持するようなマスクレジスタを設け、それ以降のシフトレジスタ12aの最上位ビットをマスクレジスタのマスク値「1」によりマスクすることで、動作周期基準値Ref1を最大値に固定することができる。
【0034】
このように、本実施形態によれば、動作周期を長くしながら、センサ20を間欠動作させることができる。その際、処理部4が動作を休止したままで、カウンタ8や動作信号出力部10の動作はもとより、基準値設定部12が動作周期基準値を設定する動作が実行される。このときの消費電流は、図5(B)に示すようになる。たとえば、処理部4が休止モードPmdのときにタイマ部6が動作することで、電流C1が消費される。そして、処理部4が通常モードOmdで動作するときに、さらに電流C2が消費され、全体として電流C1+C2が消費される。また、センサ20が動作するとき、センサ20により電流C3が消費され、全体として電流C1+C3が消費される。
【0035】
ここで、処理部4が通常モードのままで、カウンタ8や動作信号出力部10が動作する場合を図6に示す。図6(A)には、図5(A)と同様に、処理部4の動作モードMOD、処理部4に入力されるクロックCLK(4)、カウンタ8に入力されるクロックCLK(8)、クロックCLKのカウント値CNT、基準値設定部12が設定する動作周期基準値Ref1、動作信号出力部10が出力する一致信号CMP、及び動作信号DSが示される。
【0036】
図5(A)と異なる点について説明すると、図6(A)では、処理部4の動作モードMODが通常モードOmdのままであり、処理部4へのクロックCLK(4)の入力が継続される。
【0037】
また、図6(B)には、図6(A)の場合における処理部4とセンサ20により消費される電流が模式的に示される。図6(B)に示されるように、処理部4が通常モードOmdのとき、タイマ部6により電流C1が消費され、さらに処理部4により電流C2が消費される。よって、常時、少なくとも電流C1+C2が消費される。そして、センサ20の動作時には、さらに電流C3が消費され、全体として電流C1+C2+C3が消費される。
【0038】
図5(B)と図6(B)との比較において示されるように、図6(B)では常時電流C1+C2が消費され、センサ20の動作時にはさらに電流C3が消費されるのに対し、図5(B)では処理部4が休止モードPmdのときは、消費電流をタイマ部6による電流C1におさえることができる。このように、本実施形態では、処理部4が休止モードの状態でタイマ部6がセンサ20の間欠動作を制御するので、処理部4が通常モードのままでセンサ20の間欠動作を制御する場合より、消費電流を低減することができる。
【0039】
図7は、第1実施例において、検知データMDが取得され、処理部4が通常モードに移行する例を示す。図7(A)には、図5(A)と同様に、処理部4の動作モードMOD、処理部4に入力されるクロックCLK(4)、カウンタ8に入力されるクロックCLK(8)、クロックCLKのカウント値CNT、基準値設定部12が設定する動作周期基準値Ref1、動作信号出力部10が出力する一致信号CMP、及び動作信号DSが示される。
【0040】
図5(A)と異なる点について説明すると、図7(A)では、動作周期OC4、OC5、・・・でHレベルの動作信号DSに応答してセンサ20が動作した際、検知データMDが取得され、処理部4が通常モードOmdに移行してこれを処理する(矢印D1)。また、このとき処理部4は、初期化信号RSにより動作周期基準値Ref1を「2」に初期化する。よって、各動作周期が短くなる。
【0041】
また、動作周期OC4、OC5、・・・で処理部4が検知データMDを処理する際、図7(B)に示すように、タイマ部6による電流C1と、処理部4による電流C2の合計C1+C2が消費される(矢印D2)。しかし、検知データMDが取得されない間は処理部4が休止モードPmdにあり、そのときの消費電流はC1であるので、たとえば図6(B)との比較しても、全体としての消費電流は低減される。
【0042】
[第2実施例: カウント値CNTがゼロクリアされない場合]
図8は、第2実施例におけるタイマ部6の詳細な構成を示す。第2実施例では、タイマ部6において、カウンタ8、動作信号出力部10、及び基準値設定部12(シフトレジスタ12a、レジスタ12b)に加え、カウンタ8aと比較器10aとが設けられる。カウンタ8aは、動作信号出力部10からの一致信号CMPに応答して、カウンタ8と同じクロックCLKのカウントを開始する。このとき、カウント値がゼロクリアされてから、カウントが開始される。
【0043】
比較器10aは、カウンタ8aによるクロックCLKのカウント値CNT´とレジスタ12bから入力される動作時間基準値Ref2を比較する。そして、比較器10aは、カウント値CNT´と動作時間基準値Ref2との大小関係をたとえばHレベルまたはLレベルで示す比較信号CMP´を、カウンタ8a、レジスタ12b、及び動作信号出力部10に出力する。
【0044】
カウント値CNT´が動作時間基準値Ref2に達したことを比較信号CMP´が示すとき、カウンタ8aはカウント値CNT´をゼロクリアし、また、レジスタ12bは比較器10aに動作時間基準値Ref2を入力する。
【0045】
動作信号出力部10は、比較信号CMP´と、カウント値CNTと動作周期基準値Ref1の比較結果とに基づいて、HレベルまたはLレベルの動作信号DSと一致信号CMPとを出力する。カウント値CNTは、起動信号SSにより起動され、クロックCLKをカウントするカウンタ8から入力される。動作信号出力部10は、カウント値CNT´が動作時間基準値Ref2に達していないことを比較信号CMP´が示すとき、Hレベルの動作信号DSを出力する。また、カウント値CNT´が動作時間基準値Ref2に達したことを比較信号CMP´が示し、かつカウント値CNTが動作周期基準値Ref1に達していなければ、動作信号出力部10は、Lレベルの動作信号DSを出力する。そして、カウント値CNTが動作周期基準値Ref1に達したときに、動作信号出力部10は、一致信号CMPによりカウンタ8aのカウント値CNT´をゼロクリアする。そうすることで、次の動作周期が開始され、カウント値CNT´が動作時間基準値Ref2未満となり、Hレベルの動作信号DSが出力される。
【0046】
また、一致信号CMPは、シフトレジスタ12aに入力される。シフトレジスタ12aは、一致信号CMPに応答して、動作周期基準値Ref1をビットシフトにより増加させて動作信号出力部10に設定する。また、シフトレジスタ12aは、処理部4が検知データMDを処理する際、処理部4からの初期化信号RSに応答して動作周期基準値Ref1を初期化する。
【0047】
図9は、第2実施例における動作信号出力部10の動作手順を示すフローチャート図である。この手順は、たとえば、クロックCLKの1クロックごとに実行される。また、図9では、図4で示した手順と、手順2aが異なる。
【0048】
動作信号出力部10は、カウンタ8aによるカウント値CNT´が動作時間基準値Ref2より小さいとき(S2aのYes)、Hレベルの動作信号DSを出力する(S4)。カウント値CNT´が動作時間基準値Ref2以上であり(S2aのNo)、かつカウンタ8によるカウント値CNTが動作周期基準値Ref1より小さいとき(S6のYes)、動作信号出力部10は、Lレベルの動作信号DSを出力する(S8)。
【0049】
そして、カウント値CNTが動作周期基準値Ref1以上のとき(S6のNo)、つまり動作周期が終了したときに、動作信号出力部10は、一致信号CMPを出力する(S10)。これにより、カウンタ8aはカウント値CNT´をゼロクリアする。よって、次のクロックCLKで実行される手順S2ではカウント値CNT´が動作時間基準値Ref2より小さくなり、Hレベルの動作信号DSが出力される(S4)。また、一致信号CMPにより、動作周期基準値Ref1が増加する。
【0050】
図10は、第2実施例におけるプロセッサ2の動作を説明するためのタイミング図である。図10(A)には、処理部4の動作モードMOD、処理部4に入力されるクロックCLK(4)、カウンタ8に入力されるクロックCLK(8)、クロックCLK(8)のカウント値CNT、基準値設定部12が設定する動作周期基準値Ref1、及び、動作信号出力部10が出力する動作信号DSが示される。また、図10(B)には、プロセッサ2とセンサ20により消費される電流が模式的に示される。
【0051】
第1実施例の図5(A)と異なる点について説明すると、図10(A)では、カウント値CNTが動作周期基準値Ref1に達しても、カウント値CNTは「0」クリアされることなく、クロックCLKにしたがって継続して増加する。これにより、動作周期OCnの変化率が、第1実施例の場合より小さくなる。
【0052】
なお、図10(A)の場合の消費電力は、図10(B)に示される。たとえば、処理部4が休止モードPmdのときにタイマ部6が動作することで、電流C1が消費される。そして、処理部4が通常モードOmdで動作するときに、さらに電流C2が消費され、全体として電流C1+C2が消費される。また、センサ20が動作するとき、センサ20により電流C3が消費され、全体として電流C1+C3が消費される。
【0053】
図11は、第2実施例において、処理部4が通常モードのままで、カウンタ8や動作信号出力部10が動作する場合を示す。図11(A)には、図10(A)と同様に、処理部4の動作モードMOD、処理部4に入力されるクロックCLK(4)、カウンタ8に入力されるクロックCLK(8)、クロックCLK(8)のカウント値CNT、基準値設定部12が設定する動作周期基準値Ref1、及び、動作信号出力部10が出力する動作信号DSが示される。
【0054】
図10(A)と異なる点について説明すると、図11(A)では、処理部4の動作モードMODが通常モードOmdのままであり、処理部4へのクロックCLK(4)の入力が継続される。
【0055】
また、図11(B)には、図11(A)の場合における処理部4とセンサ20により消費される電流が模式的に示される。図11(B)に示されるように、処理部4が通常モードOmdのとき、タイマ部6により電流C1が消費され、さらに処理部4により電流C2が消費される。よって、常時、少なくとも電流C1+C2が消費される。そして、センサ20の動作時には、さらに電流C3が消費され、全体として電流C1+C2+C3が消費される。
【0056】
図10(B)と図11(B)との比較において示されるように、本実施形態によれば、カウント値CNTがゼロクリアされない場合でも、処理部4が休止モードの状態でタイマ部6がセンサ20の間欠動作を制御する。よって、処理部4が通常モードのままでセンサ20の間欠動作を制御する場合と比べ、消費電流を低減することができる。
【0057】
図12は、第2実施例において、検知データMDが取得され、処理部4が通常モードに移行する例を示す。図12(A)には、図10(A)と同様に、処理部4の動作モードMOD、処理部4に入力されるクロックCLK(4)、カウンタ8に入力されるクロックCLK(8)、クロックCLKのカウント値CNT、基準値設定部12が設定する動作周期基準値Ref1、及び、動作信号出力部10が出力する動作信号DSが示される。
【0058】
図10(A)と異なる点について説明すると、図12(A)では、動作周期OC5、OC6、・・・の各動作周期でHレベルの動作信号DSに応答してセンサ20が動作した際、検知データMDが取得され、処理部4が通常モードOmdに移行してこれを処理する(矢印D3)。また、このとき処理部4は、初期化信号RSにより動作周期基準値Ref1を「2」に初期化する。よって、各動作周期が短くなる。
【0059】
また、動作周期OC5、OC6、・・・で処理部4が検知データMDを処理する際、図12(B)に示すように、タイマ部6による電流C1と、処理部4による電流C2の合計C1+C2が消費される(矢印D4)。しかし、検知データMDが取得されない間は処理部4が休止モードPmdにあり、そのときの消費電流はC1であるので、たとえば図11(B)と比較しても、全体としての消費電流は低減される。
【0060】
次に、変形例について説明する。
【0061】
[第1変形例]
第1変形例は、上述した第1、第2実施例のいずれかに対応する変形例である。
【0062】
図13は、第1変形例におけるプロセッサ2の構成を示す。図13では、図1に示した構成に加え、比較器22とレジスタ24が追加される。比較器22には、センサ20からの検知データMDが入力され、また、レジスタ24が保持する閾値Thvが入力される。閾値Thvは、たとえば、実験等により予め任意に設定される検知データMDの閾値である。比較器22は、検知データMDが閾値Thvを上回るとき、処理部4に割込み信号ISを出力して処理部4を休止モードから通常モードに移行させる。そして、比較器22は、処理部4に検知データMDを伝送する。こうして、通常モードに移行した処理部4が、検知データMDを処理する。
【0063】
第1変形例によれば、閾値Thvを設けて検知データを選別することで、処理部4が通常モードに移行する場合を限定することができる。よって、無駄に電流が消費されることを、より確実に防止できる。
【0064】
[第2変形例]
第2変形例は、上述した第1、第2実施例のいずれかに対応する変形例である。
【0065】
図14は、第2変形例におけるプロセッサ2の構成を示す。図14では、プロセッサ2は、図1に示した構成に加え、記憶部26を有する。ここでは、基準値設定部12の外部であってタイマ部6の内部に記憶部26が設けられる例が示される。ただし、記憶部26は、基準値設定部12の内部、あるいは、タイマ部6の外部に設けてもよい。また、基準値設定部12は、シフトレジスタ12aの代わりに、レジスタ12cを有する。
【0066】
第2変形例では、記憶部26は、動作周期基準値Ref1´を格納する。動作周期基準値Ref1´は、初期値がシフトレジスタにより2のべき乗倍される代わりに、たとえば、「2」、「4」、「6」、「8」、・・・というように単調増加、あるいは、任意の増加関数にしたがって増加するような、一連の値である。動作周期基準値Ref1´を格納する記憶部26には、一致信号CMPが入力される。そして、これに応答して、過去に出力した動作周期基準値Ref1´より値が大きい動作周期基準値Ref1´が読み出される。そして、読み出された動作周期基準値Ref1´は、基準値設定部12内部のレジスタ12cに保持され、動作信号出力部10に設定される。
【0067】
図15は、記憶部26の構成例を示す。記憶部26は、たとえば、動作周期基準値Ref1´を格納するメモリ26aと、メモリコントローラ26bとを有する。値が順次増加する動作周期基準値Ref1´「2」、「4」、「6」、「8」、・・・は、たとえばメモリ26aの連続したアドレスに順次格納される。そして、メモリコントローラ26bが、一致信号CMPが入力されるごとに順次連続するアドレスにアクセスを行い、過去に出力した値より大きい値を読み出して、基準値設定部12のレジスタ12cに出力する。
【0068】
このような第2変形例によれば、センサ20の動作周期を長くする際の増加幅を柔軟に設定することができる。そして、一致信号CMPに応答して記憶部26から動作周期基準値Ref1´が読み出されるので、処理部4が休止モードであっても、センサ20の間欠動作を実行させ、動作周期を長くする制御が可能になる。よって、プロセッサ2全体としての消費電流を低減することができる。
【0069】
なお、第2変形例では、図3または図8のシフトレジスタ12aをレジスタ12cに置き換えることで、カウンタ8のカウント値CNTがゼロクリアされる場合、またはされない場合のいずれにも適用できる。さらに、処理部4が検知データMDを処理する際、レジスタ12cに格納される動作周期基準値Ref1´は、処理部4からの初期化信号RSにより所定の初期値(たとえば、上記の例では「2」)に設定される。
【0070】
[第3変形例]
第3変形例は、第1変形例と第2変形例の組合せにかかる変形例である。
【0071】
図16は、第3変形例におけるプロセッサ2の構成を示す。第3変形例では、プロセッサ2は、図1に示した構成に加え、比較器22、レジスタ24、及び、記憶部26を有する。そして、記憶部26には、動作周期基準値Ref1´に加え、検知データMDに対する複数の閾値Thv´が格納される。記憶部26から、一致信号CMPが入力されるごとに、たとえば、過去の値より小さい値の閾値Thv´が読み出されて、レジスタ24に保持される。そして、レジスタ24に保持される閾値Thv´は、比較器22により検知データMDと比較される。
【0072】
第3変形例によれば、たとえば、センサ20の動作周期が長くなるにつれて閾値Thv´の値を小さくすることができる。よって、動作周期が短いうちは、大きい閾値Thv´を用いることで頻繁に処理部4が起動されて電流の無駄な消費が増加することを防止しつつ、動作周期が長くなってからは、小さい閾値Thv´を用いることで検知データMDの処理をする機会をより確実に確保することができる。
【実施例】
【0073】
図17は、本実施形態のプロセッサが携帯電話機における活動量(ユーザの歩行量)計測に用いられる場合の構成を示す。プロセッサ2、センサ20は、アプリケーション部30とともに、ユーザにより携行される携帯電話機100に搭載される。この場合、センサ20は、ユーザが歩行することにより生じる加速度を検知する加速度センサである。センサ20は、タイマ部6の制御のもと、間欠動作する。ユーザの歩行を示す加速度が検知されない間は、センサ20の動作周期は次第に長くなり、消費電流が低減される。そして、ユーザが歩行することでセンサ20が加速度を検知すると、検知データMDが処理部4に送られる。処理部4は、検知データMDをたとえばプロセッサ2内部の書き換え可能な不揮発性メモリ28に格納する。その際、処理部4は、検知データMDが示す活動量を累計する。また、このとき、センサ20の動作周期は、動作周期基準値が初期化されることで、短く設定される。
【0074】
アプリケーション部30は、たとえば、活動量管理用のアプリケーションプログラムと、これを実行するCPUとを有する。アプリケーション部30は、たとえば、ユーザの操作により休止モードから通常モードに移行し、プロセッサ2から検知データMDの累計を取得し、活動量を加工してユーザに提示する。
【0075】
図18は、上記構成におけるプロセッサ2の動作シーケンスを示す。図18(A)には、ユーザの歩行時と非歩行時における、センサ20の動作と、処理部4の動作とが概略的に示される。横軸は、経過時間を示す。
【0076】
まず、ユーザの非歩行時には、タイマ部6の制御により、センサ20が間欠動作する。このとき、上述した制御により、動作周期OCn(n=1、2、3、・・・)は次第に長くなる。一方、ユーザが歩行しないことで、センサ20は検知信号を出力しない。よって、処理部4には検知データが入力されないので、休止モードPmdのままである。
【0077】
次に、ユーザが歩行を開始し歩行時に移行すると、センサ20が検知信号を出力し、処理部4が通常モードOmdに移行して検知データを処理する(矢印D5)。このとき、図18(B)に示されるように、処理部4は、メモリ26に格納された活動量のバックアップデータをRAMや内部のレジスタに読み出す(RD1)。次いで、処理部4は、活動量を累計する処理を行う(PR1)。ユーザが歩行を開始したことを示す一定以上の加速度が検知された場合、処理部4は検知データMDを処理するごとに、タイマ部6における動作周期基準値Ref1を初期化する。そうすることで、非歩行時には頻繁に検知動作を実行して無駄に電流を消費するといったことを回避しつつ、歩行時には活動量を検知する機会を確実に確保できる。そして、処理部4は、累計された活動量をメモリ26に格納し(WR1)、休止モードPmdに移行する。
【0078】
このような動作が、ユーザの歩行時には、センサ20が間欠動作するごとに実行される。あるいは、ユーザが歩行を開始したことを示す加速度が検知された場合、処理部4はセンサ20の動作周期に依存しない独自の周期で通常モードOmdに移行して、処理を行ってもよい。その場合、処理部4の動作周期はセンサ20の動作周期OCnより短くてもよい。
【0079】
図18(A)において、ユーザが歩行を中止し、たとえば、任意に設定可能な所定回数連続して加速度が検知されない場合、処理部4はセンサ20により検知データが検出されるまで、休止モードPmdに移行する(矢印D6)。そのとき、図18(C)に示すように、処理部4は、メモリ26から活動量データを読出し(RD2)、ユーザの歩行中止を判断すると(PR2)、活動量データをメモリ26にバックアップする(WR2)。そして、非歩行時には処理部4が休止モードの状態で、タイマ部6によりセンサ20の間欠動作が制御される。
【0080】
以上説明したように、本実施形態によれば、低消費電流のプロセッサにより被制御デバイスの間欠動作を制御できる。
【0081】
以上の実施の形態をまとめると、次の付記のとおりである。
【0082】
(付記1)
被制御デバイスから入力されるデータを処理する第1の動作モードと、前記被制御デバイスから入力されるデータを処理せず前記第1の動作モードより消費電流が小さい第2の動作モードとを有する処理部と、
前記処理部が前記第2の動作モードのときにクロックをカウントするカウンタと、前記カウンタによる前記クロックのカウント値が基準値に達するごとに前記被制御デバイスを所定の時間動作させるための動作信号を出力する信号出力部と、前記カウント値が前記基準値に達するごとに前記基準値を増加させて前記信号出力部に設定する設定部とを含むタイマ部とを有するプロセッサ。
【0083】
(付記2)
付記1において、
前記処理部は、前記第1の動作モードで前記カウンタを起動して、前記第2の動作モードに移行するプロセッサ。
【0084】
(付記3)
付記2において、
前記処理部は、前記データが所定の条件を満たすときに、前記第2の動作モードから前記第1の動作モードに移行して当該データを処理するプロセッサ。
【0085】
(付記4)
付記1乃至3のいずれかにおいて、
前記設定部は、前記カウント値が前記基準値に達するごとに前記基準値をビットシフトして2のべき乗倍するシフトレジスタを有する、
プロセッサ。
【0086】
(付記5)
付記1乃至3のいずれかにおいて、
複数の前記基準値を格納する記憶部から、前記カウント値が前記基準値に達するごとに、過去に読み出された前記基準値より値が大きい前記基準値が読み出され、
前記設定部は、前記カウント値が前記基準値に達するごとに、前記記憶部から読み出される基準値を前記信号出力部に設定するプロセッサ。
【0087】
(付記6)
付記1乃至5のいずれかにおいて、
前記クロックのカウンタ値は、前記カウント値が前記基準値に達するごとにクリアされるプロセッサ。
【0088】
(付記7)
付記1乃至5のいずれかにおいて、
前記クロックのカウンタ値は、前記カウント値が前記基準値に達しても継続して増加するプロセッサ。
【0089】
(付記8)
付記1乃至6のいずれかに記載の被制御デバイスとプロセッサを有する電子機器であって、
前記被制御デバイスは当該電子機器の状態を検知する、
電子機器。
【0090】
(付記9)
デバイスの制御方法であって、
前記デバイスから入力されるデータを処理する第1の動作モードと、前記被制御デバイスから入力されるデータを処理せず前記第1の動作モードより消費電流が小さい第2の動作モードとを有する処理部が、クロックをカウントするカウンタを前記第1の動作モードで起動し、前記第2の動作モードに移行し、
前記カウンタによる前記クロックのカウント値が基準値に達するごとに前記デバイスを所定の時間動作させるための動作信号を出力し、
前記カウント値が前記基準値に達するごとに前記基準値を増加させる、
デバイスの制御方法。
【符号の説明】
【0091】
2:プロセッサ、4:処理部、6:タイマ部、8:カウンタ、10:動作信号出力部、
12:基準値設定部、20:センサ、26:記憶部
【技術分野】
【0001】
本発明は、デバイスを制御するプロセッサ、及びデバイスの制御方法に関する。
【背景技術】
【0002】
携帯用機器などでは、省電力化のため、加速度センサや温湿度センサといったデバイスを間欠動作させることが求められる。自らの動作モードを制御する機能を有さないセンサを間欠動作させる場合、その動作は、タイマ装置など(たとえば、特許文献1、2)により制御される。あるいは、センサによる検知データを処理するために設けられるマイクロプロセッサ(以下、単にプロセッサという)が、かかる制御を担う場合もある。かかるプロセッサは、たとえばクロックをカウントしてセンサの動作周期を計測し、動作周期ごとにセンサを一定時間動作させそれ以外の時間は停止または電源をカットするという制御を繰り返す。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平7−311695号公報
【特許文献2】特開2000−91889号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、プロセッサによりセンサの動作周期を計測することは、その分、プロセッサの消費電流の増加につながる。さらに、たとえば、動作周期を次第に長くすることで単位時間あたりのセンサの動作時間を減らすような制御を行う場合、センサを停止させる時間が延びることで、センサの動作電流を削減することはできるが、プロセッサは常に動作しているので、プロセッサの消費電流は削減ができない。それどころか、動作時間の設定をその都度実施してしまうため、かえって消費電流が増えてしまう結果となる。かかる消費電流の増加は、センサを間欠動作させることによる省電力化を削減するので問題となる。
【0005】
そこで、本発明の目的は、低消費電流で被制御デバイスの間欠動作を制御できるプロセッサ、及びデバイスの制御方法を提供することにある。
【課題を解決するための手段】
【0006】
上記の目的を達成するために、一実施形態におけるプロセッサは、処理部とタイマ部とを有する。処理部は、被制御デバイスから入力されるデータを処理する第1の動作モードと、前記被制御デバイスから入力されるデータを処理せず前記第1の動作モードより消費電流が小さい第2の動作モードとを有する。また、タイマ部は、前記処理部が前記第2の動作モードのときにクロックをカウントするカウンタと、前記カウンタによる前記クロックのカウント値が基準値に達するごとに前記被制御デバイスを所定の時間動作させるための動作信号を出力する信号出力部と、前記カウント値が前記基準値に達するごとに前記基準値を増加させて前記信号出力部に設定する設定部とを有する。
【発明の効果】
【0007】
以下に説明する実施形態によれば、低消費電流のプロセッサにより被制御デバイスの間欠動作を制御できる。
【図面の簡単な説明】
【0008】
【図1】本実施形態におけるプロセッサの構成例を示す図である。
【図2】センサ20の動作周期を示す図である。
【図3】第1実施例におけるタイマ部6の詳細な構成を示す図である。
【図4】第1実施例における動作信号出力部10の動作手順を示すフローチャート図である。
【図5】第1実施例におけるプロセッサ2の動作を示すためのタイミング図である。
【図6】第1実施例におけるプロセッサ2の動作を示すためのタイミング図である。
【図7】第1実施例におけるプロセッサ2の動作を示すためのタイミング図である。
【図8】第2実施例におけるタイマ部6の詳細な構成を示す図である。
【図9】第2実施例における動作信号出力部10の動作手順を示すフローチャート図である。
【図10】第2実施例におけるプロセッサ2の動作を説明するためのタイミング図である。
【図11】第2実施例におけるプロセッサ2の動作を説明するためのタイミング図である。
【図12】第2実施例におけるプロセッサ2の動作を説明するためのタイミング図である。
【図13】第1変形例におけるプロセッサ2の構成を示す図である。
【図14】第2変形例におけるプロセッサ2の構成を示す図である。
【図15】記憶部26の構成例を示す図である。
【図16】第3変形例におけるプロセッサ2の構成を示す図である。
【図17】本実施形態のプロセッサが活動量計測に用いられる場合の構成を示す図である。
【図18】実施例におけるプロセッサ2の動作シーケンスを示す図である。
【発明を実施するための形態】
【0009】
以下、図面にしたがって本発明の実施の形態について説明する。但し、適用される技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【0010】
図1は、本実施形態におけるプロセッサの構成例を示す。プロセッサ2は、たとえば携帯電話機などの携帯機器において、被制御デバイスからのデータを処理するとともに、被制御デバイスの間欠動作を制御するマイクロプロセッサである。被制御デバイスは、ここではセンサ20である。センサ20は、たとえば、携帯機器の加速度、温湿度、または電界強度といった状態を検知する、加速度センサ、温湿度センサ、または電界強度センサなどである。また、プロセッサ2は、センサ20による検知データを処理する処理部4と、センサ20の間欠動作を制御するタイマ部6とを有する。
【0011】
各部について詳細に説明する前に、タイマ部6により制御されるセンサ20の間欠動作について説明する。図2には、横軸を経過時間として、センサ20の動作周期OCn(n=1、2、・・・)、動作時間OT、及び休止時間PTnが示される。センサ20の1つの動作周期OCnは、動作時間OTと休止時間PTnとからなる。タイマ部6の制御により、センサ20は、各動作周期OCnにおいて、一定の動作時間OTで検知動作を行い、休止時間PTnで動作を休止する。ここで、たとえばプロセッサ2が携帯電話機に搭載され、センサ20により加速度、温湿度、電界強度などを検知する場合、動作時間OTはたとえば10ミリ秒である。一方、初期設定の動作周期OC1は、たとえば40ミリ秒であり、したがって休止時間PT1は、たとえば30ミリ秒である。本実施形態では、さらに、タイマ部6により、動作周期OCnが次第に長くなるような(つまり、休止時間PTnが次第に長くなるような)制御が行われる。
【0012】
図1に戻り、各部の詳細について説明する。処理部4は、センサ20から入力される検知データを処理する第1の動作モードと、それより消費電流が小さい第2の動作モードを有する、たとえばCPU(Central Processing Unit)である。第1の動作モードは、通常の動作を行うための通常モードである。これに対し、第2の動作モードは、電流を消費しない休止モード、または微量な待機電流を消費する待機モードである。以下では、休止モードを例として説明がなされる。処理部4は、通常モードのときにタイマ部6のカウンタ8を起動信号SSにより起動し、処理部4自身は休止モードに移行する。そして、処理部4は、センサ20から入力される検知データを処理を必要とするときに、通常モードに移行して動作する。センサ20から入力される検知データは、たとえば、加速度、温湿度、電界強度などの検知データである。
【0013】
タイマ部6は、カウンタ8、動作信号出力部10、基準値設定部12が動作することで、処理部4が休止モードのときにセンサ20の間欠動作を制御する。タイマ部6と処理部4とは、同系統の電源で動作してもよいし、別系統の電源で動作してもよい。いずれの場合であっても、処理部4が休止モードのときには処理部4への処理クロックCLKが停止され、もしくは電流供給が停止され、その一方で、タイマ部6には動作に必要な電流とクロックCLKが供給される。
【0014】
タイマ部6では、カウンタ8が、処理部4に起動され、クロックCLKをカウントする。クロックCLKは、クロック発生器16から、処理部4とカウンタ8とに入力される。なお、処理部4とカウンタ8は、異なるクロック供給源を有してもよい。クロックCLKのカウント値CNTは、動作信号出力部10に入力される。動作信号出力部10には、これに加え、動作周期基準値Ref1が基準値設定部12から入力される。
【0015】
動作信号出力部10は、クロックCLKのカウント値CNTが動作周期基準値Ref1に達するごとに、センサ20を所定時間動作させるための動作信号DSを出力する。動作周期基準値Ref1は、センサ20の動作周期に対応し、具体的には、動作周期をクロックCLKの周期で除算して求められるクロック数である。また、動作信号DSは、たとえば、HレベルとLレベルとを有する矩形波信号である。動作信号出力部10は、たとえばPLD(Programmable Logic Device)と、矩形波信号を生成する回路とを有する。動作信号出力部10は、後に詳述する動作により、センサ20の動作時間にHレベル、休止時間にLレベルとなるような動作信号DSを出力する。センサ20は、たとえば、動作信号DSがHレベルのときにONされ、LレベルのときにOFFされる、図示されない電源スイッチを有する。あるいは、センサ自身が省電力モードを所有する場合に、省電力モード信号に接続することも可能である。これにより、動作信号DSがたとえばHレベルのときにセンサ20が電源供給を受けて動作し、Lレベルのときにセンサ20が動作を休止(もしくは省電力)モードに移行する。
【0016】
また、動作信号出力部10は、カウント値CNTが動作周期基準値Ref1に達するごとに、両者が一致したことを示す一致信号CMPを、カウンタ8と基準値設定部12に出力する。一致信号CMPは、たとえばパルス信号である。カウンタ8は、一致信号CMPに応答して、カウント値CNTをゼロクリアする。ただし、後述するように、カウント値CNTをゼロクリアしない構成も可能である。一方、基準値設定部12は、一致信号CMPに応答して、動作周期基準値Ref1を増加させて動作信号出力部10に設定する。そうすることで、センサ20の動作周期が長くなる。かかる制御動作を繰り返すことで、センサ20を間欠動作させながら、動作周期(または、次にセンサ20を動作させるまでの休止時間)を次第に長くすることができる。
【0017】
センサ20は、動作時に加速度、温湿度、電界強度などの検知を行い、アナログの検知信号MSをAD変換器18に出力する。AD変換器18は、アナログの検知信号MSをデジタル信号化し、検知データMDとして処理部4に入力する。あるいは、センサ20がデジタルの検知データを出力する場合、AD変換器18の代わりにシリアルインターフェースをプロセッサ2に設けてもよい。その場合、シリアルインターフェースがセンサ20からの検知データを受信して処理部4に伝送する。
【0018】
処理部4は、休止モード時に検知データMDが入力されると、これを割り込み信号として認識し、割り込み信号に応答して通常モードに移行する。このために、センサ20には、検知される信号に所定の閾値よりも大きい変化があったときに、検知データMDを割り込み信号として出力する機能を用意しておく。もちろん、ADC18からの信号として、MD以外に割り込み信号を別途用意する方法でも実現が可能である。そして、処理部4は、図示が省略されるメモリに格納される処理プログラムに従って、検知データMDの処理を実行する。通常モードでは、たとえば、図示しない回路からセンサ20にセンサ動作信号が常時供給され、センサ20から出力される検知データMSはすべてAD変換器18を介してAD変換され検知データMDとして処理部4に供給される。処理されたデータは、たとえば図示されないバスを介するなどして、他のプロセッサに出力することも可能である。
【0019】
また、処理部4は、検知データMDを処理する場合、初期化信号RSを基準値設定部12に出力し、これにより動作周期基準値Ref1を初期化する。これは、一度検知データMDが得られると、継続的に検知データMDが得られる蓋然性が高いことによる。たとえば、プロセッサ2が携帯電話機などに搭載される場合、携帯電話機が静止しているときには、センサ20の検知対象である携帯電話機の加速度、周囲の温湿度、あるいは電界強度は急激に変化しない。よって、その間は、センサ20の間欠動作時に停止時間を長く設定させても、必要な検知データを取得する機会は確保できる。しかし、携帯電話機がユーザに携行されて移動するときには、センサ20による検知対象の状態が急激に変化する。その場合、精度よく検知データを取得するために、検知頻度を高くすることが求められる。よって、処理部4が検知データMDを処理する際に動作周期基準値Ref1を初期化信号RSにより初期化することで、センサ20の動作周期を短くできる。こうして、必要な検知データMDを継続して確実に取得し、処理することができる。
【0020】
なお、動作信号DSは、AD変換器18にも入力され、センサ20の動作時にAD変換器18を動作させる。そうすることで、AD変換器18を間欠的に動作させながら、センサ20からの検知信号をAD変換できる。あるいは、AD変換器18の代わりにシリアルインターフェースを設ける場合、シリアルインターフェースが動作信号DSにより起動される。このようにして、センサ20やAD変換器18(またはシリアルインターフェース)を間欠動作させることで、これらを常時動作させる場合より消費電流を低減することができる。
【0021】
このように、処理部4が休止モードのときにタイマ部6がセンサ20の間欠動作の制御を間欠時間の長さの設定も合わせて行うことで、処理部4が制御を行う場合よりも、プロセッサ2全体としての消費電流を減少させることができる。
【0022】
次に、タイマ部6の詳細な構成と動作について説明する。まず、各動作周期が開始されるときにカウンタ8のカウント値CNTが一致信号CMPによりゼロクリアされる場合について説明する(第1実施例)。次いで、カウント値CNTがゼロクリアされない場合について説明する(第2実施例)。
【0023】
[第1実施例: カウント値CNTがゼロクリアされる場合]
図3は、第1実施例におけるタイマ部6の詳細な構成を示す。第1実施例では、基準値設定部12は、動作周期基準値Ref1を保持するシフトレジスタ12aと、動作時間基準値Ref2を保持するレジスタ12bとを有する。動作時間基準値Ref2は、動作信号DSをHレベルに維持する時間に対応し、具体的には、センサ20の動作時間をクロックCLKの周期で除算して求められるクロック数である。動作信号出力部10は、シフトレジスタ12aが保持する動作周期基準値Ref1とレジスタ12bが保持する動作時間基準値Ref2とを、カウンタ8からのクロックCLKのカウント値CNTと比較し、比較結果に応じてHレベルまたはLレベルの動作信号DSをセンサ20へ出力する。また、動作信号出力部10は、カウント値CNTが動作周期基準値Ref1に達したときに、一致信号CMPをカウンタ8、シフトレジスタ12a、及びレジスタ12bに出力する。
【0024】
カウンタ8は、処理部4からの起動信号SSにより起動されてクロックCLKのカウントを開始する。そして、カウンタ8は、一致信号CMPが入力されるごとにカウント値CNTをゼロクリアし、次の動作周期のカウントを開始する。また、シフトレジスタ12aは、入力される一致信号CMPに応答して、動作周期基準値Ref1をビットシフトさせて2のべき乗し、動作信号出力部10に出力する。そうすることで、動作周期基準値Ref1が増加されて動作信号出力部10に設定される。また、シフトレジスタ12aは、処理部4が検知データMDを処理する際、処理部4からの初期化信号RSに応答して動作周期基準値Ref1を初期化する。そして、レジスタ12bは、入力される一致信号CMPに応答して、動作時間基準値Ref2を動作信号出力部10に設定する。
【0025】
図4は、第1実施例における動作信号出力部10の動作手順を示すフローチャート図である。この手順は、たとえば、1クロックごとに実行される。動作信号出力部10は、カウント値CNTが動作時間基準値Ref2より小さいとき(S2のYes)、Hレベルの動作信号DSを出力する(S4)。これにより、センサ20が動作する。一方、カウント値CNTが動作時間基準値Ref2以上であり(S2のNo)、かつ動作周期基準値Ref1より小さいとき(S6のYes)、動作信号出力部10は、Lレベルの動作信号DSを出力する(S8)。これにより、センサ20は動作を休止する。そして、カウント値CNTが動作周期基準値Ref1以上のとき(S6のNo)、つまり動作周期が終了したとき、動作信号出力部10は、一致信号CMPを出力する(S10)。これにより、カウンタ8はカウント値CNTをゼロクリアする。よって、次のクロックで実行される手順S2ではカウント値CNTが動作時間基準値Ref2より小さくなり、Hレベルの動作信号DSが出力される(S4)。また、一致信号CMPにより、動作周期基準値Ref1が増加する。
【0026】
上記のような動作により、動作信号DSによりセンサ20を間欠動作させながら、動作周期基準値Ref1を増加させることで動作周期を長くすることができる。たとえば、10ミリ秒の動作時間OTに対し、動作周期OCnを、たとえば、OC1=20ミリ秒、OC2=40ミリ秒、OC3=80ミリ秒、・・・と次第に長くすることができる。その場合、休止時間PTnは、PT1=10ミリ秒、PT2=30ミリ秒、PT3=70ミリ秒、・・・と次第に長くなる。
【0027】
図5は、第1実施例におけるプロセッサ2の動作を説明するためのタイミング図である。図5(A)には、処理部4の動作モードMOD、処理部4に入力されるクロックCLK(4)、カウンタ8に入力されるクロックCLK(8)、クロックCLK(8)のカウント値CNT、基準値設定部12が設定する動作周期基準値Ref1、動作信号出力部10が出力する一致信号CMP、及び動作信号DSが示される。また、図5(B)には、プロセッサ2とセンサ20とにより消費される電流が模式的に示される。なお、図5(A)、(B)において、横軸は経過時間を示す。
【0028】
図5(A)では、説明の便宜上、クロックCLKの動作時間と動作周期基準値Ref1とが簡略化されて示される。まず、処理部4は、通常モードOmdでカウンタ8を起動する。そして、処理部4は、カウンタ8を起動した後、休止モードPmdに移行する。また、これに伴い、処理部4へのクロックCLK(4)の入力が停止される。
【0029】
カウンタ8が起動されることにより、クロックCLK(8)のカウントが開始され、動作周期OC1が開始される。なお、ここでは、動作周期OC1は、動作時間を有さず、休止時間から開始される。クロックCLK(8)のカウント値CNTは、クロックCLK(8)にしたがって「0、1、2、・・・」と増加する。一方、動作周期基準値Ref1の初期値は、たとえば「2」である。カウント値CNTが「2」に達するまで、動作周期OC1が継続する。
【0030】
カウント値CNTが「2」に達すると、一致信号CMPが出力される。すると、これに応答して、カウント値CNTが「0」クリアされる。そして、次のクロックからカウントが再開され、動作周期OC2が開始される。動作周期OC2が開始されると動作信号DSがHレベルになり、センサ20が動作する。そして、一定の動作時間後、動作信号DSはLレベルになり、センサ20が動作を休止する。また一方で、一致信号CMPに応答して、動作周期基準値Ref1が、たとえばビットシフトにより2倍される。よって、動作周期基準値Ref1の値「2」が2倍されて「4」になる。そして、カウント値CNTが「4」に達するまで、動作周期OC2が継続する。
【0031】
カウント値CNTが「4」に達すると、一致信号CMPが出力される。そして、カウント値CNTが「0」クリアされる。そして、カウントが再開され、動作周期OC3が開始される。そして、動作信号DSがHレベルになり、その間センサ20が動作する。そして、動作時間後、動作信号DSはLレベルになり、センサ20が動作を休止する。一方で、一致信号CMPに応答して、動作周期基準値Ref1がビットシフトによりさらに2倍(あるいは、初期値「2」が2の2乗倍)されて「8」になる。そして、カウント値CNTが「8」に達するまで、動作周期OC3が継続する。
【0032】
カウント値CNTが「8」に達すると、一致信号CMPが出力される。そして、カウント値CNTが「0」クリアされる。そして、カウントが再開され、動作周期OC4が開始される。そして、動作信号DSがHレベルになり、その間センサ20が動作する。そして、その後動作信号DSはLレベルになり、センサ20が動作を休止する。一方で、一致信号CMPに応答して、動作周期基準値Ref1がビットシフトによりさらに2倍(あるいは、初期値「2」が2の3乗倍)されて「16」になる。そして、カウント値CNTが「16」に達するまで、動作周期OC4が継続する。
【0033】
なお、シフトレジスタ12aのビットシフトにより動作周期基準値Ref1を増加させ、シフトレジスタ12aがオーバーフローしたとき、動作周期基準値Ref1は、シフトレジスタ12aが保持しうる最大値に固定される。たとえば、シフトレジスタ12aの最上位ビットが「1」になったときにマスク値「1」を保持するようなマスクレジスタを設け、それ以降のシフトレジスタ12aの最上位ビットをマスクレジスタのマスク値「1」によりマスクすることで、動作周期基準値Ref1を最大値に固定することができる。
【0034】
このように、本実施形態によれば、動作周期を長くしながら、センサ20を間欠動作させることができる。その際、処理部4が動作を休止したままで、カウンタ8や動作信号出力部10の動作はもとより、基準値設定部12が動作周期基準値を設定する動作が実行される。このときの消費電流は、図5(B)に示すようになる。たとえば、処理部4が休止モードPmdのときにタイマ部6が動作することで、電流C1が消費される。そして、処理部4が通常モードOmdで動作するときに、さらに電流C2が消費され、全体として電流C1+C2が消費される。また、センサ20が動作するとき、センサ20により電流C3が消費され、全体として電流C1+C3が消費される。
【0035】
ここで、処理部4が通常モードのままで、カウンタ8や動作信号出力部10が動作する場合を図6に示す。図6(A)には、図5(A)と同様に、処理部4の動作モードMOD、処理部4に入力されるクロックCLK(4)、カウンタ8に入力されるクロックCLK(8)、クロックCLKのカウント値CNT、基準値設定部12が設定する動作周期基準値Ref1、動作信号出力部10が出力する一致信号CMP、及び動作信号DSが示される。
【0036】
図5(A)と異なる点について説明すると、図6(A)では、処理部4の動作モードMODが通常モードOmdのままであり、処理部4へのクロックCLK(4)の入力が継続される。
【0037】
また、図6(B)には、図6(A)の場合における処理部4とセンサ20により消費される電流が模式的に示される。図6(B)に示されるように、処理部4が通常モードOmdのとき、タイマ部6により電流C1が消費され、さらに処理部4により電流C2が消費される。よって、常時、少なくとも電流C1+C2が消費される。そして、センサ20の動作時には、さらに電流C3が消費され、全体として電流C1+C2+C3が消費される。
【0038】
図5(B)と図6(B)との比較において示されるように、図6(B)では常時電流C1+C2が消費され、センサ20の動作時にはさらに電流C3が消費されるのに対し、図5(B)では処理部4が休止モードPmdのときは、消費電流をタイマ部6による電流C1におさえることができる。このように、本実施形態では、処理部4が休止モードの状態でタイマ部6がセンサ20の間欠動作を制御するので、処理部4が通常モードのままでセンサ20の間欠動作を制御する場合より、消費電流を低減することができる。
【0039】
図7は、第1実施例において、検知データMDが取得され、処理部4が通常モードに移行する例を示す。図7(A)には、図5(A)と同様に、処理部4の動作モードMOD、処理部4に入力されるクロックCLK(4)、カウンタ8に入力されるクロックCLK(8)、クロックCLKのカウント値CNT、基準値設定部12が設定する動作周期基準値Ref1、動作信号出力部10が出力する一致信号CMP、及び動作信号DSが示される。
【0040】
図5(A)と異なる点について説明すると、図7(A)では、動作周期OC4、OC5、・・・でHレベルの動作信号DSに応答してセンサ20が動作した際、検知データMDが取得され、処理部4が通常モードOmdに移行してこれを処理する(矢印D1)。また、このとき処理部4は、初期化信号RSにより動作周期基準値Ref1を「2」に初期化する。よって、各動作周期が短くなる。
【0041】
また、動作周期OC4、OC5、・・・で処理部4が検知データMDを処理する際、図7(B)に示すように、タイマ部6による電流C1と、処理部4による電流C2の合計C1+C2が消費される(矢印D2)。しかし、検知データMDが取得されない間は処理部4が休止モードPmdにあり、そのときの消費電流はC1であるので、たとえば図6(B)との比較しても、全体としての消費電流は低減される。
【0042】
[第2実施例: カウント値CNTがゼロクリアされない場合]
図8は、第2実施例におけるタイマ部6の詳細な構成を示す。第2実施例では、タイマ部6において、カウンタ8、動作信号出力部10、及び基準値設定部12(シフトレジスタ12a、レジスタ12b)に加え、カウンタ8aと比較器10aとが設けられる。カウンタ8aは、動作信号出力部10からの一致信号CMPに応答して、カウンタ8と同じクロックCLKのカウントを開始する。このとき、カウント値がゼロクリアされてから、カウントが開始される。
【0043】
比較器10aは、カウンタ8aによるクロックCLKのカウント値CNT´とレジスタ12bから入力される動作時間基準値Ref2を比較する。そして、比較器10aは、カウント値CNT´と動作時間基準値Ref2との大小関係をたとえばHレベルまたはLレベルで示す比較信号CMP´を、カウンタ8a、レジスタ12b、及び動作信号出力部10に出力する。
【0044】
カウント値CNT´が動作時間基準値Ref2に達したことを比較信号CMP´が示すとき、カウンタ8aはカウント値CNT´をゼロクリアし、また、レジスタ12bは比較器10aに動作時間基準値Ref2を入力する。
【0045】
動作信号出力部10は、比較信号CMP´と、カウント値CNTと動作周期基準値Ref1の比較結果とに基づいて、HレベルまたはLレベルの動作信号DSと一致信号CMPとを出力する。カウント値CNTは、起動信号SSにより起動され、クロックCLKをカウントするカウンタ8から入力される。動作信号出力部10は、カウント値CNT´が動作時間基準値Ref2に達していないことを比較信号CMP´が示すとき、Hレベルの動作信号DSを出力する。また、カウント値CNT´が動作時間基準値Ref2に達したことを比較信号CMP´が示し、かつカウント値CNTが動作周期基準値Ref1に達していなければ、動作信号出力部10は、Lレベルの動作信号DSを出力する。そして、カウント値CNTが動作周期基準値Ref1に達したときに、動作信号出力部10は、一致信号CMPによりカウンタ8aのカウント値CNT´をゼロクリアする。そうすることで、次の動作周期が開始され、カウント値CNT´が動作時間基準値Ref2未満となり、Hレベルの動作信号DSが出力される。
【0046】
また、一致信号CMPは、シフトレジスタ12aに入力される。シフトレジスタ12aは、一致信号CMPに応答して、動作周期基準値Ref1をビットシフトにより増加させて動作信号出力部10に設定する。また、シフトレジスタ12aは、処理部4が検知データMDを処理する際、処理部4からの初期化信号RSに応答して動作周期基準値Ref1を初期化する。
【0047】
図9は、第2実施例における動作信号出力部10の動作手順を示すフローチャート図である。この手順は、たとえば、クロックCLKの1クロックごとに実行される。また、図9では、図4で示した手順と、手順2aが異なる。
【0048】
動作信号出力部10は、カウンタ8aによるカウント値CNT´が動作時間基準値Ref2より小さいとき(S2aのYes)、Hレベルの動作信号DSを出力する(S4)。カウント値CNT´が動作時間基準値Ref2以上であり(S2aのNo)、かつカウンタ8によるカウント値CNTが動作周期基準値Ref1より小さいとき(S6のYes)、動作信号出力部10は、Lレベルの動作信号DSを出力する(S8)。
【0049】
そして、カウント値CNTが動作周期基準値Ref1以上のとき(S6のNo)、つまり動作周期が終了したときに、動作信号出力部10は、一致信号CMPを出力する(S10)。これにより、カウンタ8aはカウント値CNT´をゼロクリアする。よって、次のクロックCLKで実行される手順S2ではカウント値CNT´が動作時間基準値Ref2より小さくなり、Hレベルの動作信号DSが出力される(S4)。また、一致信号CMPにより、動作周期基準値Ref1が増加する。
【0050】
図10は、第2実施例におけるプロセッサ2の動作を説明するためのタイミング図である。図10(A)には、処理部4の動作モードMOD、処理部4に入力されるクロックCLK(4)、カウンタ8に入力されるクロックCLK(8)、クロックCLK(8)のカウント値CNT、基準値設定部12が設定する動作周期基準値Ref1、及び、動作信号出力部10が出力する動作信号DSが示される。また、図10(B)には、プロセッサ2とセンサ20により消費される電流が模式的に示される。
【0051】
第1実施例の図5(A)と異なる点について説明すると、図10(A)では、カウント値CNTが動作周期基準値Ref1に達しても、カウント値CNTは「0」クリアされることなく、クロックCLKにしたがって継続して増加する。これにより、動作周期OCnの変化率が、第1実施例の場合より小さくなる。
【0052】
なお、図10(A)の場合の消費電力は、図10(B)に示される。たとえば、処理部4が休止モードPmdのときにタイマ部6が動作することで、電流C1が消費される。そして、処理部4が通常モードOmdで動作するときに、さらに電流C2が消費され、全体として電流C1+C2が消費される。また、センサ20が動作するとき、センサ20により電流C3が消費され、全体として電流C1+C3が消費される。
【0053】
図11は、第2実施例において、処理部4が通常モードのままで、カウンタ8や動作信号出力部10が動作する場合を示す。図11(A)には、図10(A)と同様に、処理部4の動作モードMOD、処理部4に入力されるクロックCLK(4)、カウンタ8に入力されるクロックCLK(8)、クロックCLK(8)のカウント値CNT、基準値設定部12が設定する動作周期基準値Ref1、及び、動作信号出力部10が出力する動作信号DSが示される。
【0054】
図10(A)と異なる点について説明すると、図11(A)では、処理部4の動作モードMODが通常モードOmdのままであり、処理部4へのクロックCLK(4)の入力が継続される。
【0055】
また、図11(B)には、図11(A)の場合における処理部4とセンサ20により消費される電流が模式的に示される。図11(B)に示されるように、処理部4が通常モードOmdのとき、タイマ部6により電流C1が消費され、さらに処理部4により電流C2が消費される。よって、常時、少なくとも電流C1+C2が消費される。そして、センサ20の動作時には、さらに電流C3が消費され、全体として電流C1+C2+C3が消費される。
【0056】
図10(B)と図11(B)との比較において示されるように、本実施形態によれば、カウント値CNTがゼロクリアされない場合でも、処理部4が休止モードの状態でタイマ部6がセンサ20の間欠動作を制御する。よって、処理部4が通常モードのままでセンサ20の間欠動作を制御する場合と比べ、消費電流を低減することができる。
【0057】
図12は、第2実施例において、検知データMDが取得され、処理部4が通常モードに移行する例を示す。図12(A)には、図10(A)と同様に、処理部4の動作モードMOD、処理部4に入力されるクロックCLK(4)、カウンタ8に入力されるクロックCLK(8)、クロックCLKのカウント値CNT、基準値設定部12が設定する動作周期基準値Ref1、及び、動作信号出力部10が出力する動作信号DSが示される。
【0058】
図10(A)と異なる点について説明すると、図12(A)では、動作周期OC5、OC6、・・・の各動作周期でHレベルの動作信号DSに応答してセンサ20が動作した際、検知データMDが取得され、処理部4が通常モードOmdに移行してこれを処理する(矢印D3)。また、このとき処理部4は、初期化信号RSにより動作周期基準値Ref1を「2」に初期化する。よって、各動作周期が短くなる。
【0059】
また、動作周期OC5、OC6、・・・で処理部4が検知データMDを処理する際、図12(B)に示すように、タイマ部6による電流C1と、処理部4による電流C2の合計C1+C2が消費される(矢印D4)。しかし、検知データMDが取得されない間は処理部4が休止モードPmdにあり、そのときの消費電流はC1であるので、たとえば図11(B)と比較しても、全体としての消費電流は低減される。
【0060】
次に、変形例について説明する。
【0061】
[第1変形例]
第1変形例は、上述した第1、第2実施例のいずれかに対応する変形例である。
【0062】
図13は、第1変形例におけるプロセッサ2の構成を示す。図13では、図1に示した構成に加え、比較器22とレジスタ24が追加される。比較器22には、センサ20からの検知データMDが入力され、また、レジスタ24が保持する閾値Thvが入力される。閾値Thvは、たとえば、実験等により予め任意に設定される検知データMDの閾値である。比較器22は、検知データMDが閾値Thvを上回るとき、処理部4に割込み信号ISを出力して処理部4を休止モードから通常モードに移行させる。そして、比較器22は、処理部4に検知データMDを伝送する。こうして、通常モードに移行した処理部4が、検知データMDを処理する。
【0063】
第1変形例によれば、閾値Thvを設けて検知データを選別することで、処理部4が通常モードに移行する場合を限定することができる。よって、無駄に電流が消費されることを、より確実に防止できる。
【0064】
[第2変形例]
第2変形例は、上述した第1、第2実施例のいずれかに対応する変形例である。
【0065】
図14は、第2変形例におけるプロセッサ2の構成を示す。図14では、プロセッサ2は、図1に示した構成に加え、記憶部26を有する。ここでは、基準値設定部12の外部であってタイマ部6の内部に記憶部26が設けられる例が示される。ただし、記憶部26は、基準値設定部12の内部、あるいは、タイマ部6の外部に設けてもよい。また、基準値設定部12は、シフトレジスタ12aの代わりに、レジスタ12cを有する。
【0066】
第2変形例では、記憶部26は、動作周期基準値Ref1´を格納する。動作周期基準値Ref1´は、初期値がシフトレジスタにより2のべき乗倍される代わりに、たとえば、「2」、「4」、「6」、「8」、・・・というように単調増加、あるいは、任意の増加関数にしたがって増加するような、一連の値である。動作周期基準値Ref1´を格納する記憶部26には、一致信号CMPが入力される。そして、これに応答して、過去に出力した動作周期基準値Ref1´より値が大きい動作周期基準値Ref1´が読み出される。そして、読み出された動作周期基準値Ref1´は、基準値設定部12内部のレジスタ12cに保持され、動作信号出力部10に設定される。
【0067】
図15は、記憶部26の構成例を示す。記憶部26は、たとえば、動作周期基準値Ref1´を格納するメモリ26aと、メモリコントローラ26bとを有する。値が順次増加する動作周期基準値Ref1´「2」、「4」、「6」、「8」、・・・は、たとえばメモリ26aの連続したアドレスに順次格納される。そして、メモリコントローラ26bが、一致信号CMPが入力されるごとに順次連続するアドレスにアクセスを行い、過去に出力した値より大きい値を読み出して、基準値設定部12のレジスタ12cに出力する。
【0068】
このような第2変形例によれば、センサ20の動作周期を長くする際の増加幅を柔軟に設定することができる。そして、一致信号CMPに応答して記憶部26から動作周期基準値Ref1´が読み出されるので、処理部4が休止モードであっても、センサ20の間欠動作を実行させ、動作周期を長くする制御が可能になる。よって、プロセッサ2全体としての消費電流を低減することができる。
【0069】
なお、第2変形例では、図3または図8のシフトレジスタ12aをレジスタ12cに置き換えることで、カウンタ8のカウント値CNTがゼロクリアされる場合、またはされない場合のいずれにも適用できる。さらに、処理部4が検知データMDを処理する際、レジスタ12cに格納される動作周期基準値Ref1´は、処理部4からの初期化信号RSにより所定の初期値(たとえば、上記の例では「2」)に設定される。
【0070】
[第3変形例]
第3変形例は、第1変形例と第2変形例の組合せにかかる変形例である。
【0071】
図16は、第3変形例におけるプロセッサ2の構成を示す。第3変形例では、プロセッサ2は、図1に示した構成に加え、比較器22、レジスタ24、及び、記憶部26を有する。そして、記憶部26には、動作周期基準値Ref1´に加え、検知データMDに対する複数の閾値Thv´が格納される。記憶部26から、一致信号CMPが入力されるごとに、たとえば、過去の値より小さい値の閾値Thv´が読み出されて、レジスタ24に保持される。そして、レジスタ24に保持される閾値Thv´は、比較器22により検知データMDと比較される。
【0072】
第3変形例によれば、たとえば、センサ20の動作周期が長くなるにつれて閾値Thv´の値を小さくすることができる。よって、動作周期が短いうちは、大きい閾値Thv´を用いることで頻繁に処理部4が起動されて電流の無駄な消費が増加することを防止しつつ、動作周期が長くなってからは、小さい閾値Thv´を用いることで検知データMDの処理をする機会をより確実に確保することができる。
【実施例】
【0073】
図17は、本実施形態のプロセッサが携帯電話機における活動量(ユーザの歩行量)計測に用いられる場合の構成を示す。プロセッサ2、センサ20は、アプリケーション部30とともに、ユーザにより携行される携帯電話機100に搭載される。この場合、センサ20は、ユーザが歩行することにより生じる加速度を検知する加速度センサである。センサ20は、タイマ部6の制御のもと、間欠動作する。ユーザの歩行を示す加速度が検知されない間は、センサ20の動作周期は次第に長くなり、消費電流が低減される。そして、ユーザが歩行することでセンサ20が加速度を検知すると、検知データMDが処理部4に送られる。処理部4は、検知データMDをたとえばプロセッサ2内部の書き換え可能な不揮発性メモリ28に格納する。その際、処理部4は、検知データMDが示す活動量を累計する。また、このとき、センサ20の動作周期は、動作周期基準値が初期化されることで、短く設定される。
【0074】
アプリケーション部30は、たとえば、活動量管理用のアプリケーションプログラムと、これを実行するCPUとを有する。アプリケーション部30は、たとえば、ユーザの操作により休止モードから通常モードに移行し、プロセッサ2から検知データMDの累計を取得し、活動量を加工してユーザに提示する。
【0075】
図18は、上記構成におけるプロセッサ2の動作シーケンスを示す。図18(A)には、ユーザの歩行時と非歩行時における、センサ20の動作と、処理部4の動作とが概略的に示される。横軸は、経過時間を示す。
【0076】
まず、ユーザの非歩行時には、タイマ部6の制御により、センサ20が間欠動作する。このとき、上述した制御により、動作周期OCn(n=1、2、3、・・・)は次第に長くなる。一方、ユーザが歩行しないことで、センサ20は検知信号を出力しない。よって、処理部4には検知データが入力されないので、休止モードPmdのままである。
【0077】
次に、ユーザが歩行を開始し歩行時に移行すると、センサ20が検知信号を出力し、処理部4が通常モードOmdに移行して検知データを処理する(矢印D5)。このとき、図18(B)に示されるように、処理部4は、メモリ26に格納された活動量のバックアップデータをRAMや内部のレジスタに読み出す(RD1)。次いで、処理部4は、活動量を累計する処理を行う(PR1)。ユーザが歩行を開始したことを示す一定以上の加速度が検知された場合、処理部4は検知データMDを処理するごとに、タイマ部6における動作周期基準値Ref1を初期化する。そうすることで、非歩行時には頻繁に検知動作を実行して無駄に電流を消費するといったことを回避しつつ、歩行時には活動量を検知する機会を確実に確保できる。そして、処理部4は、累計された活動量をメモリ26に格納し(WR1)、休止モードPmdに移行する。
【0078】
このような動作が、ユーザの歩行時には、センサ20が間欠動作するごとに実行される。あるいは、ユーザが歩行を開始したことを示す加速度が検知された場合、処理部4はセンサ20の動作周期に依存しない独自の周期で通常モードOmdに移行して、処理を行ってもよい。その場合、処理部4の動作周期はセンサ20の動作周期OCnより短くてもよい。
【0079】
図18(A)において、ユーザが歩行を中止し、たとえば、任意に設定可能な所定回数連続して加速度が検知されない場合、処理部4はセンサ20により検知データが検出されるまで、休止モードPmdに移行する(矢印D6)。そのとき、図18(C)に示すように、処理部4は、メモリ26から活動量データを読出し(RD2)、ユーザの歩行中止を判断すると(PR2)、活動量データをメモリ26にバックアップする(WR2)。そして、非歩行時には処理部4が休止モードの状態で、タイマ部6によりセンサ20の間欠動作が制御される。
【0080】
以上説明したように、本実施形態によれば、低消費電流のプロセッサにより被制御デバイスの間欠動作を制御できる。
【0081】
以上の実施の形態をまとめると、次の付記のとおりである。
【0082】
(付記1)
被制御デバイスから入力されるデータを処理する第1の動作モードと、前記被制御デバイスから入力されるデータを処理せず前記第1の動作モードより消費電流が小さい第2の動作モードとを有する処理部と、
前記処理部が前記第2の動作モードのときにクロックをカウントするカウンタと、前記カウンタによる前記クロックのカウント値が基準値に達するごとに前記被制御デバイスを所定の時間動作させるための動作信号を出力する信号出力部と、前記カウント値が前記基準値に達するごとに前記基準値を増加させて前記信号出力部に設定する設定部とを含むタイマ部とを有するプロセッサ。
【0083】
(付記2)
付記1において、
前記処理部は、前記第1の動作モードで前記カウンタを起動して、前記第2の動作モードに移行するプロセッサ。
【0084】
(付記3)
付記2において、
前記処理部は、前記データが所定の条件を満たすときに、前記第2の動作モードから前記第1の動作モードに移行して当該データを処理するプロセッサ。
【0085】
(付記4)
付記1乃至3のいずれかにおいて、
前記設定部は、前記カウント値が前記基準値に達するごとに前記基準値をビットシフトして2のべき乗倍するシフトレジスタを有する、
プロセッサ。
【0086】
(付記5)
付記1乃至3のいずれかにおいて、
複数の前記基準値を格納する記憶部から、前記カウント値が前記基準値に達するごとに、過去に読み出された前記基準値より値が大きい前記基準値が読み出され、
前記設定部は、前記カウント値が前記基準値に達するごとに、前記記憶部から読み出される基準値を前記信号出力部に設定するプロセッサ。
【0087】
(付記6)
付記1乃至5のいずれかにおいて、
前記クロックのカウンタ値は、前記カウント値が前記基準値に達するごとにクリアされるプロセッサ。
【0088】
(付記7)
付記1乃至5のいずれかにおいて、
前記クロックのカウンタ値は、前記カウント値が前記基準値に達しても継続して増加するプロセッサ。
【0089】
(付記8)
付記1乃至6のいずれかに記載の被制御デバイスとプロセッサを有する電子機器であって、
前記被制御デバイスは当該電子機器の状態を検知する、
電子機器。
【0090】
(付記9)
デバイスの制御方法であって、
前記デバイスから入力されるデータを処理する第1の動作モードと、前記被制御デバイスから入力されるデータを処理せず前記第1の動作モードより消費電流が小さい第2の動作モードとを有する処理部が、クロックをカウントするカウンタを前記第1の動作モードで起動し、前記第2の動作モードに移行し、
前記カウンタによる前記クロックのカウント値が基準値に達するごとに前記デバイスを所定の時間動作させるための動作信号を出力し、
前記カウント値が前記基準値に達するごとに前記基準値を増加させる、
デバイスの制御方法。
【符号の説明】
【0091】
2:プロセッサ、4:処理部、6:タイマ部、8:カウンタ、10:動作信号出力部、
12:基準値設定部、20:センサ、26:記憶部
【特許請求の範囲】
【請求項1】
被制御デバイスから入力されるデータを処理する第1の動作モードと、前記被制御デバイスから入力されるデータを処理せず前記第1の動作モードより消費電流が小さい第2の動作モードとを有する処理部と、
前記処理部が前記第2の動作モードのときにクロックをカウントするカウンタと、前記カウンタによる前記クロックのカウント値が基準値に達するごとに前記被制御デバイスを所定の時間動作させるための動作信号を出力する信号出力部と、前記カウント値が前記基準値に達するごとに前記基準値を増加させて前記信号出力部に設定する設定部とを含むタイマ部とを有するプロセッサ。
【請求項2】
請求項1において、
前記処理部は、前記第1の動作モードで前記カウンタを起動して、前記第2の動作モードに移行するプロセッサ。
【請求項3】
請求項1または2において、
前記設定部は、前記カウント値が前記基準値に達するごとに前記基準値をビットシフトして2のべき乗倍するシフトレジスタを有するプロセッサ。
【請求項4】
請求項1または2において、
複数の前記基準値を格納する記憶部から、前記カウント値が前記基準値に達するごとに、過去に読み出された前記基準値より値が大きい前記基準値が読み出され、
前記設定部は、前記カウント値が前記基準値に達するごとに、前記記憶部から読み出される基準値を前記信号出力部に設定するプロセッサ。
【請求項5】
請求項1乃至4のいずれかに記載の被制御デバイスとプロセッサを有する電子機器であって、
前記被制御デバイスは当該電子機器の状態を検知する、
電子機器。
【請求項6】
デバイスの制御方法であって、
前記デバイスから入力されるデータを処理する第1の動作モードと、前記被制御デバイスから入力されるデータを処理せず前記第1の動作モードより消費電流が小さい第2の動作モードとを有する処理部が、クロックをカウントするカウンタを前記第1の動作モードで起動し、前記第2の動作モードに移行し、
前記カウンタによる前記クロックのカウント値が基準値に達するごとに前記デバイスを所定の時間動作させるための動作信号を出力し、
前記カウント値が前記基準値に達するごとに前記基準値を増加させる、
デバイスの制御方法。
【請求項1】
被制御デバイスから入力されるデータを処理する第1の動作モードと、前記被制御デバイスから入力されるデータを処理せず前記第1の動作モードより消費電流が小さい第2の動作モードとを有する処理部と、
前記処理部が前記第2の動作モードのときにクロックをカウントするカウンタと、前記カウンタによる前記クロックのカウント値が基準値に達するごとに前記被制御デバイスを所定の時間動作させるための動作信号を出力する信号出力部と、前記カウント値が前記基準値に達するごとに前記基準値を増加させて前記信号出力部に設定する設定部とを含むタイマ部とを有するプロセッサ。
【請求項2】
請求項1において、
前記処理部は、前記第1の動作モードで前記カウンタを起動して、前記第2の動作モードに移行するプロセッサ。
【請求項3】
請求項1または2において、
前記設定部は、前記カウント値が前記基準値に達するごとに前記基準値をビットシフトして2のべき乗倍するシフトレジスタを有するプロセッサ。
【請求項4】
請求項1または2において、
複数の前記基準値を格納する記憶部から、前記カウント値が前記基準値に達するごとに、過去に読み出された前記基準値より値が大きい前記基準値が読み出され、
前記設定部は、前記カウント値が前記基準値に達するごとに、前記記憶部から読み出される基準値を前記信号出力部に設定するプロセッサ。
【請求項5】
請求項1乃至4のいずれかに記載の被制御デバイスとプロセッサを有する電子機器であって、
前記被制御デバイスは当該電子機器の状態を検知する、
電子機器。
【請求項6】
デバイスの制御方法であって、
前記デバイスから入力されるデータを処理する第1の動作モードと、前記被制御デバイスから入力されるデータを処理せず前記第1の動作モードより消費電流が小さい第2の動作モードとを有する処理部が、クロックをカウントするカウンタを前記第1の動作モードで起動し、前記第2の動作モードに移行し、
前記カウンタによる前記クロックのカウント値が基準値に達するごとに前記デバイスを所定の時間動作させるための動作信号を出力し、
前記カウント値が前記基準値に達するごとに前記基準値を増加させる、
デバイスの制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2013−8311(P2013−8311A)
【公開日】平成25年1月10日(2013.1.10)
【国際特許分類】
【出願番号】特願2011−142061(P2011−142061)
【出願日】平成23年6月27日(2011.6.27)
【出願人】(308014341)富士通セミコンダクター株式会社 (2,507)
【Fターム(参考)】
【公開日】平成25年1月10日(2013.1.10)
【国際特許分類】
【出願日】平成23年6月27日(2011.6.27)
【出願人】(308014341)富士通セミコンダクター株式会社 (2,507)
【Fターム(参考)】
[ Back to top ]