(57)【要約】【課題】リアルタイムＯＳを搭載した機器において各種の機能を良好に実現しつつ、より省電力化を図る。【解決手段】システムクロック信号を生成する発振器１１０と、システムクロック信号よりも低い周波数のＲＴＣ用のクロック信号（ＲＴＣ）を生成する、発振器１１０より消費電力が小さい発振器１５０と、リアルタイムＯＳを搭載するＣＰＵ１３０と、機能部１４０、１４５とを有し、リアルタイムＯＳにおいて周期的にカーネルを起動してＣＰＵ１３０におけるタスクの実行状態や、機能部１４０、１４５の動作状態を判断するための割り込み信号を生成するＲＴＯＳ用信号生成回路を発振器１５０から出力されるＲＴＣ用のクロック信号に基づいて動作させて、この割り込み信号及びＣＰＵ１３０におけるタスクの実行状態に基づいて、発振器１１０におけるシステムクロック信号の生成動作の停止を制御する。【選択図】図３
2016081365.tif 000002
【特許請求の範囲】
【請求項１】
第１のクロック信号を生成する第１の発振器と、
前記第１のクロック信号よりも低い周波数の第２のクロック信号を生成する第２の発振器と、
リアルタイムオペレーションシステムを搭載し、前記第１のクロック信号に基づいて動作して、タスクを実行する演算回路部と、
前記第２のクロック信号に基づいて割り込み信号を生成する信号生成回路と、
前記割り込み信号及び前記タスクの実行状態に基づいて、前記第１の発振器における前記第１のクロック信号の生成動作の停止を制御する制御回路部と、
を有することを特徴とする電子機器。
【請求項２】
前記第１のクロック信号に基づいて動作を行う機能部を有し、
前記演算回路部は、前記割り込み信号に基づいて、前記タスクの実行状態、及び、前記機能部の動作状態を監視することを特徴とする請求項１に記載の電子機器。
【請求項３】
前記演算回路部は、前記タスクの実行状態、及び、前記機能部の動作状態に応じて、前記電子機器の動作モードを切り替えることを特徴とする請求項２に記載の電子機器。
【請求項４】
前記動作モードは、実行する前記タスクがあり、前記機能部が動作している動作状態である第１の動作モードと、実行する前記タスクがなく、前記機能部が動作している動作状態である第２の動作モードと、実行する前記タスクがなく、前記機能部が動作していない動作状態である第３の動作モードと、を有していることを特徴とする請求項３に記載の電子機器。
【請求項５】
前記制御回路部は、前記第３の動作モードにおいて、前記第１の発振器における前記第１のクロック信号の生成動作を停止させることを特徴とする請求項４に記載の電子機器。
【請求項６】
前記動作モードに応じて、前記演算回路部及び前記機能部への前記第１のクロック信号の供給状態を制御するスイッチを有することを特徴とする請求項４に記載の電子機器。
【請求項７】
前記スイッチは、前記第２の動作モードにおいて、前記演算回路部への前記第１のクロック信号の供給を停止する状態に制御されることを特徴とする請求項６に記載の電子機器。
【請求項８】
前記電子機器は、時計機能を備え、前記第２のクロック信号に基づいて刻時動作を行うことを特徴とする請求項１乃至７のいずれかに記載の電子機器。
【請求項９】
第１の発振器により第１のクロック信号を生成し、
第２の発振器により前記第１のクロック信号よりも周波数の低い第２のクロック信号を生成し、
前記第１のクロック信号に基づいて動作して、タスクを実行させ、
前記第２のクロック信号に基づいて割り込み信号を生成し、
前記割り込み信号及び前記タスクの実行状態に基づいて、前記第１の発振器における前記第１のクロック信号の生成動作の停止を制御することを特徴とする電子機器の制御方法。
【請求項１０】
コンピュータに、
第１の発振器により第１のクロック信号を生成させ、
第２の発振器により前記第１のクロック信号よりも周波数の低い第２のクロック信号を生成させ、
前記第１のクロック信号に基づいて動作して、タスクを実行させ、
前記第２のクロック信号に基づいて割り込み信号を生成させ、
前記割り込み信号及び前記タスクの実行状態に基づいて、前記第１の発振器における前記第１のクロック信号の生成動作の停止を制御させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リアルタイムオペレーティングシステムを搭載した電子機器及びその制御方法、制御プログラムに関する。
【背景技術】
【０００２】
近年、人体に装着して、ランニングやサイクリング、スイミング、トレッキング等の運動時や日常生活における各種のデータを記録して分析するための様々な製品（便宜的に、「ウェアラブル機器」と記す）が開発され、市販されている。また、携帯電話機やスマートフォン（高機能型携帯電話機）、タブレット端末等の携帯型の情報機器も広く普及している。このような機器は、一般にバッテリ電源から供給される電力により駆動し、演算処理装置において所定のアプリケーションプログラムを実行することにより、各種の機能が実現される。
【０００３】
一方、上述したウェアラブル機器や携帯型の情報機器は、近年、各種のセンサ類や通信機能等を搭載して高機能化が進んでいる。このような機器の高機能化に伴う、処理動作の増加や複雑化を解決するオペレーティングシステムとしては、リアルタイム処理能力を有するマルチタスクオペレーティングシステムである、リアルタイムオペレーティングシステム（ＲＴＯＳ；以下、「リアルタイムＯＳ」と略記する）が知られている。リアルタイムＯＳを搭載した機器においては、各種の機能を実現するタスクの管理等を行うために、周期的なタイマー割り込みによりカーネルを起動して処理を行う。また、バッテリ電源により駆動する機器においては、上記の高機能化に加えて、駆動時間を長くするための省電力化も求められている。
【０００４】
リアルタイムＯＳを搭載した機器において、省電力化を実現するための手法としては、例えば特許文献１等に、実行するタスクがないときにはＣＰＵ等の演算処理装置を起動させる割り込みを発生するリアルタイムＯＳのシステムタイマーの割り込み周期を長く設定して、演算処理装置を低電力モードに移行させる手法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２２０４５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
リアルタイムＯＳを搭載した機器においては、一般に、周期的に演算処理装置のカーネルを起動するための割り込みタイマーは、機器を制御する基準となるシステムクロック信号に基づいて割り込み信号を生成している。ここで、システムクロック信号は、通常、演算処理装置や、演算処理装置に接続されるその他の機能部や周辺回路等を動作させるための基本クロック信号であるが、上記のように、システムクロック信号に基づいてリアルタイムＯＳの割り込み信号が生成されているため、演算処理装置やペリフェラル（周辺回路等を制御するための機能部）における実行タスクがない場合であっても、カーネルを周期的に起動させるために割り込みタイマーを動作させる必要がある。そのため、システムクロック信号を停止することができず（すなわち、システムクロック信号を発振する発振器自体を停止することができず）、機器をより低消費電力の動作モードに移行して、さらなる省電力化を図ることができないという問題を有していた。
【０００７】
そこで、本発明は、上述した問題点に鑑み、リアルタイムＯＳを搭載した機器において各種の機能を良好に実現しつつ、より省電力化を図ることができる電子機器及びその制御方法、制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る電子機器は、
第１のクロック信号を生成する第１の発振器と、
前記第１のクロック信号よりも低い周波数の第２のクロック信号を生成する第２の発振器と、
リアルタイムオペレーションシステムを搭載し、前記第１のクロック信号に基づいて動作して、タスクを実行する演算回路部と、
前記第２のクロック信号に基づいて割り込み信号を生成する信号生成回路と、
前記割り込み信号及び前記タスクの実行状態に基づいて、前記第１の発振器における前記第１のクロック信号の生成動作の停止を制御する制御回路部と、
を有することを特徴とする。
【０００９】
本発明に係る電子機器の制御方法は、
第１の発振器により第１のクロック信号を生成し、
第２の発振器により前記第１のクロック信号よりも周波数の低い第２のクロック信号を生成し、
前記第１のクロック信号に基づいて動作して、タスクを実行させ、
前記第２のクロック信号に基づいて割り込み信号を生成し、
前記割り込み信号及び前記タスクの実行状態に基づいて、前記第１の発振器における前記第１のクロック信号の生成動作の停止を制御することを特徴とする。
【００１０】
本発明に係る制御プログラムは、
コンピュータに、
第１の発振器により第１のクロック信号を生成させ、
第２の発振器により前記第１のクロック信号よりも周波数の低い第２のクロック信号を生成させ、
前記第１のクロック信号に基づいて動作して、タスクを実行させ、
前記第２のクロック信号に基づいて割り込み信号を生成させ、
前記割り込み信号及び前記タスクの実行状態に基づいて、前記第１の発振器における前記第１のクロック信号の生成動作の停止を制御させることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、リアルタイムＯＳを搭載した機器において各種の機能を良好に実現しつつ、より省電力化を図ることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明に係る電子機器の複数の適用例を示す概略構成図である。
【図２】本発明に係る電子機器の一実施形態を示す機能ブロック図である。
【図３】一実施形態に係る電子機器における制御方法の一例を示すフローチャートである。
【図４】実施形態に係る電子機器のリアルタイムＯＳの動作状態の遷移を示す概念図である。
【図５】一実施形態に係る電子機器の、比較対象となる構成例を示す概略ブロック図である。
【図６】一実施形態に係る電子機器における作用効果の優位性を説明するための実験データの一例を示す表である。
【図７】一実施形態に係る電子機器における作用効果の優位性を説明するための実験データの一例を示すグラフである。
【発明を実施するための形態】
【００１３】
以下、本発明に係る電子機器及びその制御方法、制御プログラムについて、実施形態を示して詳しく説明する。
＜電子機器＞
図１は、本発明に係る電子機器の複数の適用例を示す概略構成図である。また、図２は、本発明に係る電子機器の一実施形態を示す機能ブロック図である。
【００１４】
本発明は、例えば各種のセンサ類や通信機能、時計機能等を有する電子機器に適用される。具体的には、電子機器は、例えば図１（ａ）に示すような腕時計型やリストバンド型の外観を有するスポーツウォッチ１０やスマートウォッチ、図１（ｂ）に示すような登山等のアウトドア機器（例えばＧＰＳロガーやナビゲーション端末）２０、図１（ｃ）に示すようなスマートフォン３０やタブレット端末等に適用される。以下、説明の都合上、これらの機器を「電子機器ＤＶＣ」と総称する。
【００１５】
本実施形態に係る電子機器ＤＶＣは、例えば図２に示すように、組み込み用マイクロプロセッサの形態を有するＭＣＵ（Micro Controller Unit）１００と、ＭＣＵ１００に接続されたセンサ部２１０やＧＰＳ受信回路２２０、通信機能部やメモリ部等の周辺回路２３０と、を有している。
【００１６】
ＭＣＵ１００は、概略、発振器１１０と、ＰＬＬ／分周器１２０と、ＣＰＵ（演算回路部）１３０と、機能部１４０、１４５と、発振器１５０と、リアルタイムＯＳ用信号生成回路（以下、「ＲＴＯＳ用信号生成回路」と記す）１６０と、リアルタイムクロック信号生成部（以下、「ＲＴＣ生成部」と記す）１７０と、制御回路１８０と、電源供給部１９０と、を有している。
【００１７】
発振器（第１の発振器）１１０は、システムクロック信号（第１のクロック信号）を発振する水晶発振器を有し、例えば１６ＭＨｚの比較的高い周波数のシステムクロック信号を生成して出力する。ＰＬＬ／分周器１２０は、発振器１１０から出力されたシステムクロック信号を、ＰＬＬ（phase locked loop；位相同期回路）により分周して、所定の周波数の動作クロック信号を生成し、ＣＰＵ１３０や、センサ部２１０が接続された機能部１４０、周辺回路２３０が接続された機能部１４５等に供給する。また、発振器１１０は、後述する制御回路１８０から出力される制御信号に基づいて、システムクロック信号の生成動作の停止及び開始が制御される。
【００１８】
ＣＰＵ（演算回路部）１３０は、発振器１１０及びＰＬＬ／分周器１２０により生成される動作クロック信号に基づいて、所定のアプリケーションプログラムを実行して各種のタスクを実行する。これにより、ＣＰＵ１３０は、センサ部２１０における各種センサのセンシング動作や、ＧＰＳ受信回路２２０における位置情報や時刻情報の取得動作、周辺回路２３０における各種データや信号の送受信や入出力等の、各種の動作を制御する。また、ＣＰＵ１３０は、リアルタイムＯＳを搭載し、後述するＲＴＯＳ用信号生成回路１６０から周期的に出力される割り込み信号に基づいて、リアルタイムＯＳのカーネルを所定の周期で起動して、各種タスクの実行状態や機能部１４０、１４５の動作状態を管理する。そして、ＣＰＵ１３０は、上記の割り込み信号、及び、タスクの実行状態、機能部１４０、１４５の動作状態に基づいて、ＭＣＵ１００の動作モードをＲＵＮモード、ＳＬＥＥＰモード、ＳＴＯＰモードのいずれかに制御する。なお、ＭＣＵ１００の動作状態については、詳しく後述する。
【００１９】
機能部１４０、１４５は、ＭＣＵ１００に接続される後述するセンサ部２１０や周辺回路２３０等を制御するためのインターフェース機能部であって、発振器１１０及びＰＬＬ／分周器１２０により生成される動作クロック信号に基づいて、センサ部２１０や周辺回路２３０等との間で、所定の通信規格により各種のデータや信号を送受信する。ここで、機能部１４０は、例えばＩ２Ｃ（Inter-Integrated Circuit）等の同期シリアル通信規格のインターフェースを介してセンサ部２１０に接続することにより、各種のセンサと同期を取りつつセンサデータ等を送受信する。また、機能部１４５は、例えばＳＰＩ（Serial Peripheral Interface）等のシリアル通信規格のインターフェースを介して周辺回路２３０に接続することにより、所定のデータや信号を送受信する。なお、機能部１４０、１４５に適用される通信規格は、上記のＩ２ＣやＳＰＩに限定されるものではなく、例えばＵＳＢ（Universal Serial Bus）等の周知の通信規格を適用するものであってもよい。
【００２０】
また、上述したＣＰＵ１３０及び機能部１４０、１４５には、各々、発振器１１０及びＰＬＬ／分周器１２０により生成される動作クロック信号の供給状態を制御するためのスイッチＳＷａ、ＳＷｂ、ＳＷｃが設けられている。これらのスイッチＳＷａ、ＳＷｂ、ＳＷｃは、タスクの実行状態や機能部１４０、１４５の動作状態に基づいて、ＣＰＵ１３０によりオン（クロック信号供給）、オフ（クロック信号遮断）状態が制御される。
【００２１】
発振器（第２の発振器）１５０は、ＭＣＵ１００の基準時計や電子機器ＤＶＣに設けられた時計機能（図示を省略）を実現するための、リアルタイムクロック信号（ＲＴＣ；第２のクロック信号）を生成するための基準クロックを発振する水晶発振器を有し、例えば３２．７６８ＫＨｚの比較的低い周波数のクロック信号を生成して、ＲＴＯＳ用信号生成回路１６０及びＲＴＣ生成部１７０に分周して常時供給する。ここで、発振器１５０により生成される基準クロック信号は、システムクロック信号に比較して周波数が低いので、発振器１５０の消費電力は発振器１１０の消費電力よりも小さい（低い）。
【００２２】
ＲＴＯＳ用信号生成回路１６０は、発振器１５０から出力された基準クロック信号に基づいて、リアルタイムＯＳのカーネルを周期的に起動させるための割り込み信号を生成して出力する。これにより、ＣＰＵ１３０は、リアルタイムＯＳのカーネルを所定の周期（例えば、５１２Ｈｚ）で起動して、各種タスクの実行状態や機能部１４０、１４５の動作状態を管理する。また、この割り込み信号に基づいて、後述する制御回路１８０により発振器１１０の動作状態が制御される。
【００２３】
ＲＴＣ生成部１７０は、発振器１５０から出力された基準クロック信号に基づいて、ＭＣＵ１００の基準時計であるリアルタイムクロック信号を生成する。電子機器ＤＶＣに時計機能が設けられている場合には、このリアルタイムクロック信号に基づいて刻時動作及び時刻表示が行われる。また、ＲＴＣ生成部１７０は、後述するＧＰＳ受信回路２２０において受信されるＧＰＳ信号に含まれる時刻情報に基づいて時刻補正を行うものであってもよい。
【００２４】
制御回路（制御回路部）１８０は、ＲＴＯＳ用信号生成回路１６０から出力される割り込み信号、及び、タスクの実行状態、機能部１４０、１４５の動作状態に基づいて、システムクロック信号を発振する発振器１１０の動作状態（システムクロック信号の生成動作の停止及び開始）を制御する。なお、図２においては、制御回路１８０を独立した構成として表記したが、ＣＰＵ１３０の内部に設けられるものであってもよいし、所定のプログラム（ソフトウェア）により同等の機能が実現されるものであってもよい。
【００２５】
電源供給部１９０は、例えばＭＣＵ１００の内部に設けられ、ＭＣＵ１００の各構成に駆動用電力を供給する。電源供給部１９０は、電子機器ＤＶＣが携帯型の機器である場合には、例えば市販のボタン型電池等の一次電池や、リチウムイオン電池等の二次電池を電源として電力を供給する。また、電源供給部１９０は、上記の一次電池や二次電池のほか、振動や光、熱、電磁波等のエネルギーにより発電する環境発電（エナジーハーベスト）技術による電源等を、単独で、あるいは、併用して適用するものであってもよい。なお、図２においては、電源供給部１９０をＭＣＵ１００の内部に設けた構成を示したが、ＭＣＵ１００の外部に設けられるものであってもよい。
【００２６】
センサ部２１０は、例えば加速度センサ２１２や磁気センサ２１４、気圧センサ２１６等を備え、Ｉ２Ｃ等の通信規格のインターフェースを介して機能部１４０に接続されている。センサ部２１０の各センサは、機能部１４０を介して、取得したセンサデータや各種の信号をＭＣＵ１００との間で送受信する。ここで、本実施形態に係る電子機器ＤＶＣをランニングウォッチ等の運動支援装置に適用する場合には、センサ部２１０はユーザの運動状態に関連する各種の物理的又は生体的なデータ（センサデータ）を取得するためのセンサ手段として機能する。なお、センサ部２１０は、上記の各センサに限定されるものではなく、上記のセンサに加えて、あるいは、上記のセンサに替えて、角速度センサ（ジャイロセンサ）や心拍センサ、脈拍センサ、温湿度センサ等の、電子機器ＤＶＣの使用用途等に応じた各種のセンサを備えるものであってもよい。
【００２７】
ＧＰＳ受信回路２２０は、ＧＰＳ（Global Positioning System；全地球測位システム）を構成する複数のＧＰＳ衛星からの電波を、ＧＰＳアンテナ（図示を省略）を介して受信することにより、ＧＰＳ衛星からのＧＰＳ信号に含まれる地理的な位置情報を取得して、測位データとして出力する。また、ＧＰＳ受信回路２２０は、上記ＧＰＳ信号に含まれる時刻情報を取得して、ＭＣＵ１００のＲＴＣ生成部１７０に出力する。これにより、当該ＲＴＣ１７０における時刻補正が行われる。
【００２８】
周辺回路２３０は、通信機能部やメモリ部、表示部を含む出力部等（いずれも図示を省略）を有し、ＳＰＩ等の通信規格のインターフェースを介して機能部１４５に接続されている。周辺回路２３０は、機能部１４５を介して、各種のデータや信号をＭＣＵ１００との間で送受信する。
【００２９】
（動作モード）
次に、上述した構成を有するＭＣＵ１００の動作モードについて説明する。
ＭＣＵ１００は、ＲＴＯＳ用信号生成回路１６０から出力される割り込み信号、及び、タスクの実行状態、機能部１４０、１４５の動作状態に基づいて、動作モードをＲＵＮモード、ＳＬＥＥＰモード、ＳＴＯＰモードのいずれかに切り替えて動作する。ここで、本実施形態においては、ＲＵＮモード、ＳＬＥＥＰモード、ＳＴＯＰモードのいずれの動作モードにおいても、発振器１５０における基準クロック信号の生成動作は継続され、ＲＴＯＳ用信号生成回路１６０及びＲＴＣ生成部１７０に当該基準クロック信号が常時供給される。
【００３０】
ＲＵＮモード（第１の動作モード）は、ＣＰＵ１３０において何らかのタスクを実行している状態（後述する図４の「実行状態」に対応する）、又は、何らかのタスクの実行を準備している状態（後述する図４の「実行可能状態」に対応する）であって、図２に示したＣＰＵ１３０及び機能部１４０、１４５を所定のプログラムにしたがって、実行させることができる動作モードである。このＲＵＮモードにおいては、スイッチＳＷａ〜ＳＷｃはオン状態が維持されて、ＣＰＵ１３０及び機能部１４０、１４５への動作クロック信号の供給が継続される。
【００３１】
また、ＳＬＥＥＰモード（第２の動作モード）は、ＣＰＵ１３０において実行するタスクなく（後述する図４で、全てのタスクが「待ち状態」又は、「休止状態」にある状態）、かつ、機能部１４０、１４５において接続されたセンサ部２１０や周辺回路２３０等との各種のデータや信号を送受信する動作が維持されている状態である。このＳＬＥＥＰモードにおいては、スイッチＳＷａがオフ制御されて、ＣＰＵ１３０への動作クロック信号の供給が遮断される。また、スイッチＳＷｂ、ＳＷｃはオン状態が維持されて、機能部１４０、１４５への動作クロック信号の供給が継続される。
【００３２】
また、ＳＴＯＰモード（第３の動作モード）は、ＣＰＵ１３０において実行するタスクなく（後述する図４で、全てのタスクが「待ち状態」又は、「休止状態」にある状態）、かつ、機能部１４０、１４５においてセンサ部２１０や周辺回路２３０等とのデータや信号の送受信動作が停止された状態である。このＳＴＯＰモードにおいては、発振器１１０におけるシステムクロック信号の生成動作が停止して、ＣＰＵ１３０及び機能部１４０、１４５への動作クロック信号の供給が遮断される。ここで、発振器１１０におけるシステムクロック信号の生成動作は、ＲＴＯＳ用信号生成回路１６０から出力される割り込み信号等に基づいて制御される。システムクロック信号の生成動作の停止中に、ＲＴＯＳ用信号生成回路１６０において割り込み信号が発生した場合、又は、機能部１４０、１４５においてセンサ部２１０や周辺回路２３０等から割込みが発生した場合には、制御回路１８０から出力される制御信号に基づいて、発振器１１０におけるシステムクロック信号の生成動作が再開される。これにより、ＣＰＵ１３０及び機能部１４０、１４５に動作クロック信号が供給されることにより、ＳＴＯＰモードからＲＵＮモードに移行して、タスクが実行されたり、センサ部２１０や周辺回路２３０等とのデータや信号の送受信動作が行われたりする。
【００３３】
ここで、上述した各動作モードにおいては、発振器１１０がシステムクロック信号の生成動作を行い、ＣＰＵ１３０において所定のタスクが実行されるとともに、機能部１４０、１４５においてセンサ部２１０や周辺回路２３０等とのデータや信号の送受信動作が実行されるＲＵＮモードにおける消費電力が最も大きくなる。次いで、ＣＰＵ１３０への動作クロック信号の供給が遮断されたＳＬＥＥＰモードの消費電力が２番目に大きくなり、発振器１１０におけるシステムクロック信号の生成動作が停止し、ＣＰＵ１３０及び機能部１４０、１４５への動作クロック信号の供給が遮断されたＳＴＯＰモードの消費電力が最も小さくなる。
【００３４】
＜電子機器の制御方法＞
次に、本実施形態に係る電子機器における制御方法について、図面を参照して説明する。ここで、以下のフローチャートに示す電子機器の制御方法は、上述したリアルタイムＯＳを搭載したＣＰＵ１３０が所定のアプリケーションプログラムに従って処理を実行することにより実現される。
【００３５】
図３は、本実施形態に係る電子機器における制御方法の一例を示すフローチャートであり、図４は、本実施形態に係る電子機器のリアルタイムＯＳの動作状態の遷移を示す概念図である。ここでは、上述した電子機器ＤＶＣの構成（図２参照）を適宜参照しながら説明する。
【００３６】
本実施形態に係る電子機器ＤＶＣの制御方法においては、例えば図３のフローチャートに示すような一連の処理が実行される。まず、ユーザが電源スイッチ（図示を省略）をオン操作することにより、電源供給部１９０から電子機器ＤＶＣの各構成に駆動用電力が供給されて、電子機器ＤＶＣが起動する。これにより、ＭＣＵ１００の発振器１１０が起動し、スイッチＳＷａ、ＳＷｂ、ＳＷｃがオン状態に制御されて、システムクロック信号に基づく動作クロック信号がＣＰＵ１３０及び機能部１４０、１４５に供給され、ＣＰＵ１３０が所定のアプリケーションプログラムを実行して、機能部１４０、１４５に接続されたセンサ部２１０やメモリ部を含む周辺回路２３０の初期化等の初期設定動作を実行する（ステップＳ１０２）。そして、ＣＰＵ１３０は、アプリケーションプログラムに基づいて、所定のタスクを実行するとともに、センサ部２１０におけるセンシング動作やＧＰＳ受信回路２２０における位置情報や時刻情報の取得動作、周辺回路２３０における各種データや信号の送受信や入出力等の、各種の動作を実行する。すなわち、ＭＣＵ１００は、所定のタスクが実行状態又は実行可能状態にあるＲＵＮモードで動作する。
【００３７】
次いで、ＣＰＵ１３０は、ＲＵＮモードでのタスクの実行中に、タイマー割り込みがあるか否かを監視する（ステップＳ１０４）。ここで、本実施形態においては、発振器１５０から出力される、リアルタイムクロック信号を生成するための基準クロック信号に基づいて、ＲＴＯＳ用信号生成回路１６０により割り込み信号が生成されて、周期的に出力される。ステップＳ１０４において、タイマー割り込みがある場合（すなわち、ＲＴＯＳ用信号生成回路１６０から割り込み信号が出力されている場合）には、ＣＰＵ１３０は、この割り込み信号を受信するとリアルタイムＯＳのカーネルを所定の周期で起動して、各種タスクの実行状態や機能部１４０、１４５の動作状態を管理する動作を実行する。
【００３８】
そして、ＣＰＵ１３０は、リアルタイムＯＳのカーネルが起動すると、実行可能状態のタスクがあるか否かを判定する（ステップＳ１０６）。実行可能状態のタスクがある場合には、ＣＰＵ１３０は、当該タスクのうちで最も優先度が高いタスクをディスパッチして、実行状態に移行させて所定の処理を実行する（ステップＳ１０８）。その後、ステップＳ１０４に戻って、タイマー割り込みが発生する度にリアルタイムＯＳのカーネルを起動して同様の処理動作を繰り返す。
【００３９】
一方、ステップＳ１０６において、実行可能状態のタスクがない場合には、ＣＰＵ１３０は、動作状態にある、つまり動作中の機能部１４０、１４５があるか否かを判定する（ステップＳ１１０）。すなわち、ＣＰＵ１３０により、機能部１４０、１４５に接続されたセンサ部２１０や周辺回路２３０等との各種のデータや信号を送受信する動作が実行されているか否かが判定される。動作状態にある機能部１４０、１４５がある場合には、ＣＰＵ１３０は、ＭＣＵ１００の動作モードをＳＬＥＥＰモードに移行する（ステップＳ１１２）。すなわち、スイッチＳＷａをオフ状態に制御して、ＣＰＵ１３０への動作クロック信号の供給を遮断するとともに、動作状態にある機能部への動作クロック信号の供給を継続する動作モードへ移行する。このＳＬＥＥＰモードにおいては、ＭＣＵ１００は、タスクの実行可能状態への移行を待機している待ち状態にある。その後、ステップＳ１０４に戻って、タイマー割り込みが発生する度に、発振器１１０を動作させるとともにスイッチＳＷａをオン状態に制御して、ＣＰＵ１３０を起動するとともに、リアルタイムＯＳのカーネルを起動して同様の処理動作を繰り返す。
【００４０】
一方、ステップＳ１１０において、動作状態にある、つまり動作中の機能部１４０、１４５がない場合には、ＣＰＵ１３０は、ＭＣＵ１００の動作モードをＳＴＯＰモードに移行する（ステップＳ１１４）。すなわち、発振器１１０におけるシステムクロックの生成動作を停止して、ＣＰＵ１３０及び機能部１４０、１４５への動作クロック信号の供給を遮断した動作モードへ移行する。このＳＴＯＰモードにおいては、ＭＣＵ１００は、システムクロック信号に関連する発振器１１０や、ＣＰＵ１３０、機能部１４０が全て休止した休止状態にある。その後、ステップＳ１０４に戻って、タイマー割り込みが発生する度に、発振器１１０を動作させるとともにスイッチＳＷａをオン状態に制御して、ＣＰＵ１３０を起動するとともに、リアルタイムＯＳのカーネルを起動して同様の処理動作を繰り返す。また、ＳＴＯＰモードにおいて、例えばユーザによる操作に起因する外部割り込みや、ＲＴＣ生成部１７０からの割り込みが生じた場合には、発振器１１０におけるシステムクロック信号の生成動作を再開して、ＣＰＵ１３０及び機能部１４０、１４５に動作クロック信号を供給してＲＵＮモードに移行する。
【００４１】
なお、図３に示したフローチャートにおいては図示を省略したが、ＣＰＵ１３０は、上述した一連の処理動作の実行中に、処理動作を中断又は終了させる入力操作や動作状態の変化を常時監視して、当該入力操作や状態変化を検出した場合には、処理動作を強制的に終了する。具体的には、ＣＰＵ１３０は、ユーザによる電源スイッチのオフ操作や、電源供給部１９０における電池残量の低下、実行中の機能やアプリケーションの異常等を検出して、一連の処理動作を強制的に中断して終了する。
【００４２】
このように、本実施形態においては、リアルタイムＯＳのカーネルを周期的に起動して、ＣＰＵ１３０におけるタスクの実行状態や、機能部１４０、１４５の動作状態を判断し、その判断結果に基づいて、電子機器ＤＶＣのＭＣＵ１００を適切な消費電力の動作モードで駆動させることを特徴とする。また、本実施形態においては、リアルタイムＯＳにおいて周期的にカーネルを起動するための割り込み信号を生成するＲＴＯＳ用信号生成回路を、消費電力が大きい発振器１１０から出力されるシステムクロック信号に基づいて動作させるのではなく、消費電力が小さい発振器１５０から出力されるＲＴＣ用のクロック信号（ＲＴＣ）に基づいて動作させることを特徴とする。
【００４３】
（作用効果の検証）
次に、本実施形態に係る電子機器、及び、その制御方法の作用効果について、比較例を示して詳しく説明する。
図５は、本実施形態に係る電子機器及びその制御方法における作用効果の優位性を説明するための、比較対象となる構成例を示す概略ブロック図である。ここで、上述した実施形態と同等の構成については、同等の符号を付して説明を簡略化する。
【００４４】
本実施形態係る電子機器の比較対象となる構成例（以下、「比較例」と記す）は、例えば図５に示すように、ＭＣＵ１００Ｐの発振器１１０において発振されたシステムクロック信号に基づいてＰＬＬ／分周器１２０により動作クロック信号が生成され、ＣＰＵ１３０や、機能部１４０、１４５、ＲＴＯＳ用信号生成回路１６０Ｐの各々に供給される構成を有している。すなわち、リアルタイムＯＳのカーネルを周期的に起動するための割り込み信号を生成するためのＲＴＯＳ用信号生成回路１６０Ｐとして、システムクロック信号に基づいて動作する、例えばSysTickタイマー回路が使用される。
【００４５】
このように、比較例のＭＣＵ１００Ｐにおいては、リアルタイムＯＳのカーネルを起動させるための割り込み信号を出力するＲＴＯＳ用信号生成回路１６０Ｐがシステムクロック信号に基づいて動作している。そのため、比較例においては、ＣＰＵ１３０や機能部１４０、１４５において実行タスクがない場合に、ＭＣＵ１００Ｐを上述したＳＴＯＰモードに移行させると、ＲＴＯＳ用信号生成回路１６０Ｐへの動作クロック信号の供給も停止してしまい、ＣＰＵ１３０を定期的に起動させることができなくなってしまう。これは換言すると、比較例においては、発振器１１０におけるシステムクロック信号の生成動作を停止することができず（ＳＴＯＰモードに移行することができず）、ＭＣＵ１００ＰをＲＵＮモードとＳＬＥＥＰモードとの２つのモードで切り替えて動作することになる。このため、発振器１１０における消費電力を削減することができないことを意味している。
【００４６】
これに対して、上述した実施形態に示したＭＣＵ１００においては、発振器１５０から出力される、リアルタイムクロック信号を生成するための基準クロック信号に基づいて、ＲＴＯＳ用信号生成回路１６０によりリアルタイムＯＳのカーネルを起動させるための割り込み信号を生成して出力する。これにより、本実施形態においては、発振器１１０におけるシステムクロック信号の生成動作を停止したＳＴＯＰモードに移行することができ、ＭＣＵ１００をＲＵＮモードとＳＬＥＥＰモードとＳＴＯＰモードとの３つのモードで切り替えて動作することができる。ここで、発振器１５０により生成される基準クロック信号は、システムクロック信号に比較して周波数が十分低いので、発振器１１０に比較して発振器１５０を低消費電力で駆動することができる。したがって、リアルタイムＯＳを搭載した電子機器において、各種の機能を良好に実現しつつ、消費電力をより削減することができ、機器の駆動時間を長くすることができる。
【００４７】
図６は、本実施形態に係る電子機器における作用効果の優位性を説明するための実験データの一例を示す表であり、図７は、本実施形態に係る電子機器における作用効果の優位性を説明するための実験データの一例を示すグラフである。
【００４８】
本実施形態に係る構成（図２参照）と、比較例の構成（図５参照）とにおける消費電流を、以下の条件で測定した結果を図６に示す。
（測定条件）
（１）発振器１１０においてシステムクロック信号を１６ＭＨｚで発振
（２）加速度センサ２１２において５０Ｈｚのサンプリング周波数でデータ取得
（３）磁気センサ２１４において１６Ｈｚのサンプリング周波数でデータ取得
（４）気圧センサ２１６において１０Ｈｚのサンプリング周波数でデータ取得
（５）ＧＰＳ受信回路２２０は未動作
【００４９】
具体的には、図６に示すように、比較例の構成においてはＭＣＵ１００Ｐに流れる電流の平均値（表中、「ＭＣＵ電流」と表記）が５．８８ｍＡ、電源供給部１９０の出力端に流れる電流の平均値（表中、「電池端電流」と表記）が７．８７ｍＡであった。これに対して、本実施形態に係る構成においては、ＭＣＵ１００に流れる電流の平均値（ＭＣＵ電流）が３．１７ｍＡ、電源供給部１９０の出力端に流れる電流の平均値（電池端電流）が５．６３ｍＡであった。これにより、比較例に対する本実施形態における電流の削減率は、ＭＣＵ１００に流れる電流（ＭＣＵ電流）が４６％、電源供給部１９０の出力端に流れる電流（電池端電流）が２８％に達し、消費電流を大幅に削減することができることが判明した。
【００５０】
また、本実施形態と比較例とにおける、各動作モードでの電流値の変化を図７に模式的に示す。
具体的には、比較例の構成においては、システムクロック信号に基づいてＲＴＯＳ用信号生成回路１６０Ｐが動作しているため、図７（ａ）に示すように、ＭＣＵ１００Ｐは動作モードをＳＴＯＰモードに移行することができず、ＲＵＮモードと、ＲＵＮモードよりも消費電流が少ない（５ｍＡ）のＳＬＥＥＰモードとの２つのモードで切り替えて動作する。
【００５１】
一方、本実施形態の構成においては、リアルタイムクロック信号を生成するための基準クロック信号に基づいてＲＴＯＳ用信号生成回路１６０が動作しているので、図７（ｂ）に示すように、ＭＣＵ１００は動作モードを、ＲＵＮモードと、消費電流が５ｍＡのＳＬＥＥＰモードと、ＳＬＥＥＰモードよりも消費電流がさらに少ない（４００μＡ）のＳＴＯＰモードとの３つのモードで切り替えて動作する。特に、本実施形態においては、ＣＰＵ１３０や機能部１４０、１４５における実行タスクがなく、かつ、タイマー割り込みが発生していない期間では、図７（ｃ）に示すように、ＭＣＵ１００をＳＴＯＰモードに移行させることができるので、比較例に対して消費電流を大幅に削減することができる（図中、ハッチング部分参照）。
【００５２】
なお、上述した実施形態においては、ＳＴＯＰモードにおいて、制御回路１８０から出力される制御信号に基づいて、発振器１１０におけるシステムクロック信号の生成動作の停止及び開始を制御する場合について説明したが、本発明はこれに限定されるものではない。例えば、制御回路１８０から出力される制御信号に基づいて、電源供給部１９０から発振器１１０、さらには、システムクロック信号に基づいて動作する各構成への駆動用電力の遮断及び供給を制御することにより、発振器１１０におけるシステムクロック信号の生成動作の停止及び開始や、各構成の動作状態を制御するものであってもよい。
【００５３】
また、本実施形態においては、ＭＣＵ１００に接続されたＧＰＳ受信回路２２０により位置情報や時刻情報を取得する構成を示した。ここで、ＧＰＳ受信回路２２０における消費電力は、電子機器ＤＶＣに設けられる構成の中でも比較的大きい（例えば２０〜２５ｍＡ）。そのため、電子機器ＤＶＣの省電力化の観点から、ＧＰＳ受信回路２２０を間欠動作させて、極力動作させないように制御することが望ましい。具体的には、例えば１０分間のうち１分間のみＧＰＳ受信回路２２０を動作させて、残りの９分間はＧＰＳ受信回路２２０を停止させる制御を行う。この場合、ＧＰＳ受信回路２２０が動作していない期間では位置情報や時刻情報の取得が不可能になるので、センサ部２１０に備えられた加速度センサ２１２、磁気センサ２１４、気圧センサ２１６を用いたデッドレコニング（推測航法又は自律航法）により、現在位置を算出して補間するものであってもよい。
【００５４】
また、本実施形態においては、ＭＣＵ１００として、発振器１１０、１５０やＣＰＵ１３０、機能部１４０、１４５、ＲＴＯＳ用信号生成回路１６０等が単一のＬＳＩに搭載された構成を示したが、本発明はこれに限定されるものではない。例えば、発振器１１０から出力されるシステムクロック信号に基づいて動作する構成部分と、発振器１５０から出力されるＲＴＣに基づいて動作する構成部分と、電源供給部１９０を含む構成部分との、少なくともいずれか一つが別個のチップ上に搭載された構成を有するものであってもよい。これにより、電子機器の設計自由度を向上させることができる。
【００５５】
以上、本発明のいくつかの実施形態について説明したが、本発明は、上述した実施形態に限定されるものではなく、特許請求の範囲に記載された発明とその均等の範囲を含むものである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【００５６】
（付記）
［１］
第１のクロック信号を生成する第１の発振器と、
前記第１のクロック信号よりも低い周波数の第２のクロック信号を生成する第２の発振器と、
リアルタイムオペレーションシステムを搭載し、前記第１のクロック信号に基づいて動作して、タスクを実行する演算回路部と、
前記第２のクロック信号に基づいて割り込み信号を生成する信号生成回路と、
前記割り込み信号及び前記タスクの実行状態に基づいて、前記第１の発振器における前記第１のクロック信号の生成動作の停止を制御する制御回路部と、
を有することを特徴とする電子機器。
【００５７】
［２］
前記第１のクロック信号に基づいて動作を行う機能部を有し、
前記演算回路部は、前記割り込み信号に基づいて、前記タスクの実行状態、及び、前記機能部の動作状態を監視することを特徴とする［１］に記載の電子機器。
【００５８】
［３］
前記演算回路部は、前記タスクの実行状態、及び、前記機能部の動作状態に応じて、前記電子機器の動作モードを切り替えることを特徴とする［２］に記載の電子機器。
【００５９】
［４］
前記動作モードは、実行する前記タスクがあり、前記機能部が動作している動作状態である第１の動作モードと、実行する前記タスクがなく、前記機能部が動作している動作状態である第２の動作モードと、実行する前記タスクがなく、前記機能部が動作していない動作状態である第３の動作モードと、を有していることを特徴とする［３］に記載の電子機器。
【００６０】
［５］
前記制御回路部は、前記第３の動作モードにおいて、前記第１の発振器における前記第１のクロック信号の生成動作を停止させることを特徴とする［４］に記載の電子機器。
【００６１】
［６］
前記動作モードに応じて、前記演算回路部及び前記機能部への前記第１のクロック信号の供給状態を制御するスイッチを有することを特徴とする［４］に記載の電子機器。
【００６２】
［７］
前記スイッチは、前記第２の動作モードにおいて、前記演算回路部への前記第１のクロック信号の供給を停止する状態に制御されることを特徴とする［６］に記載の電子機器。
【００６３】
［８］
前記電子機器は、時計機能を備え、前記第２のクロック信号に基づいて刻時動作を行うことを特徴とする［１］乃至［７］のいずれかに記載の電子機器。
【００６４】
［９］
第１の発振器により第１のクロック信号を生成し、
第２の発振器により前記第１のクロック信号よりも周波数の低い第２のクロック信号を生成し、
前記第１のクロック信号に基づいて動作して、タスクを実行させ、
前記第２のクロック信号に基づいて割り込み信号を生成し、
前記割り込み信号及び前記タスクの実行状態に基づいて、前記第１の発振器における前記第１のクロック信号の生成動作の停止を制御することを特徴とする電子機器の制御方法。
【００６５】
［１０］
コンピュータに、
第１の発振器により第１のクロック信号を生成させ、
第２の発振器により前記第１のクロック信号よりも周波数の低い第２のクロック信号を生成させ、
前記第１のクロック信号に基づいて動作して、タスクを実行させ、
前記第２のクロック信号に基づいて割り込み信号を生成させ、
前記割り込み信号及び前記タスクの実行状態に基づいて、前記第１の発振器における前記第１のクロック信号の生成動作の停止を制御させることを特徴とする制御プログラム。
【符号の説明】
【００６６】
１００    ＭＣＵ
１１０、１５０    発振器
１３０    ＣＰＵ
１４０、１４５    機能部
１６０    ＲＴＯＳ用信号生成回路
１７０    ＲＴＣ生成部
１８０    制御回路
１９０    電源供給部
２１０    センサ部
２２０    ＧＰＳ受信回路
２３０    周辺回路
ＤＶＣ    電子機器
【図１】
2016081365.tif 000003
【図２】
2016081365.tif 000004
【図３】
2016081365.tif 000005
【図４】
2016081365.tif 000006
【図５】
2016081365.tif 000007
【図６】
2016081365.tif 000008
【図７】
2016081365.tif 000009