(57)【要約】【構成】時刻同期システム１０は、複数の電子機器（たとえばセンサ装置）１２と、当該電子機器を充電するための少なくとも１つのクレイドル１４を含む。クレイドル１４は、たとえばＮＴＰサーバ１６からの時刻情報のような標準時に同期するための時刻情報を取得しており、当該正確な時刻情報を定期的に電子機器１２に与える。電子機器１２では、所定の時間をかけて計時を行い、外部のクレイドル１４から与えられる時刻情報に基づいて、内部のクロックに応じたカウント値に基づく時刻変換パラメータを補正する。また、補正が行われる度に、計時にかける時間間隔を長く設定して、さらに補正を行う。【効果】すべての電子機器における時刻を高精度に同期させることができる。【選択図】図１
2008051761.tif 000002
【特許請求の範囲】
【請求項１】
複数の電子機器と当該複数の電子機器のそれぞれを充電する少なくとも１つのクレイドルとを含む時刻同期システムであって、
前記クレイドルは、
標準時刻に同期する時刻情報を取得する時刻情報取得手段、および
接続された前記電子機器に時刻情報を定期的に送信する時刻情報送信手段を備え、
前記複数の電子機器のそれぞれは、
クロックに応じてカウントするカウント手段、
カウント値を時刻に変換するためのパラメータを記憶する記憶手段、
前記クレイドルから前記時刻情報を受信する時刻情報受信手段、
計時開始から補正を行うまでの時間間隔を示す補正間隔を設定する補正間隔設定手段、
受信した前記時刻情報に基づいて前記補正間隔の時間が経過したか否かを判定する判定手段、および
前記判定手段によって前記補正間隔の時間が経過したと判定されたとき、計時開始からの前記カウント手段によるカウント値に基づいて、前記パラメータを補正する補正手段を備える、時刻同期システム。
【請求項２】
前記補正間隔設定手段は、前記補正手段によって補正が行われるごとに、前記補正間隔をより長い時間に設定する、請求項１記載の時刻同期システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は時刻同期システムに関し、特にたとえば、複数の電子機器のそれぞれをクレイドルで充電する際に時刻補正を行う時刻同期システムに関する。
【背景技術】
【０００２】
装置内で時刻を管理するには、現在時刻を取得することがまず必要である。特許文献１に記載された携帯機器の自動時刻補正システムでは、クレイドルから正確な時刻情報を送信して、携帯機器の内蔵時計の時刻情報を更新するようにしている。
【０００３】
しかしながら、高精度な内蔵時計を持たない装置では、受信した時刻情報に置き換えたところで、やがて時刻は正確ではなくなってしまう。
【０００４】
一方、ＣＰＵで時刻を管理する方法がある。具体的には、自分のクロックをカウンタで数えて、クロック数を経過時間に換算して、現在時刻を管理する。
【特許文献１】特開２００５−１４７８８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、この時刻管理方法には、ＣＰＵクロックの個体差に起因する問題がある。たとえば計測に同時に使用されるような複数のセンサ装置では、正確な計測のためには時刻が同期している必要があるが、個体差が大きいために、複数のセンサ装置で精度よく時刻を同期させることができなかった。
【０００６】
それゆえに、この発明の主たる目的は、複数の電子機器の時刻を高精度に同期させることができる、時刻同期システムを提供することである。
【課題を解決するための手段】
【０００７】
請求項１の発明は、複数の電子機器と当該複数の電子機器のそれぞれを充電する少なくとも１つのクレイドルとを含む時刻同期システムであって、クレイドルは、標準時刻に同期する時刻情報を取得する時刻情報取得手段、および接続された電子機器に時刻情報を定期的に送信する時刻情報送信手段を備え、複数の電子機器のそれぞれは、クロックに応じてカウントするカウント手段、カウント値を時刻に変換するためのパラメータを記憶する記憶手段、クレイドルから時刻情報を受信する時刻情報受信手段、計時開始から補正を行うまでの時間間隔を示す補正間隔を設定する補正間隔設定手段、受信した時刻情報に基づいて補正間隔の時間が経過したか否かを判定する判定手段、および判定手段によって補正間隔の時間が経過したと判定されたとき、計時開始からのカウント手段によるカウント値に基づいて、パラメータを補正する補正手段を備える、時刻同期システムである。
【０００８】
請求項１の発明では、時刻同期システム（１０：後述する実施例で相当する参照符号。以下同じ。）は、複数の電子機器（１２）と少なくとも１つのクレイドル（１４）とを含む。クレイドルは電子機器を充電するための装置である。このクレイドルでは、時刻情報取得手段（４８、５４、６０、６２、Ｓ３、Ｓ５）によって、標準時刻に同期する時刻情報がたとえば定期的に取得される。そして、時刻情報送信手段（４８、５６、６４、Ｓ９、Ｓ１１、Ｓ１３）によって、当該時刻情報が、接続された電子機器に定期的に送信される。これに応じて、電子機器では、時刻情報受信手段（２６、２８、２８ａ、Ｓ２１）によって、当該時刻情報が受信される。この電子機器は、クロックに応じてカウントするカウント手段（Ｓ３３、Ｓ３５、Ｓ４５、Ｓ４７、Ｓ６１、Ｓ６３）を備えており、記憶手段（３４）には、カウント値を時刻に変換するためのパラメータが記憶されている。つまり、この電子機器では、クロックのカウント値が経過時間に換算されることによって、時刻管理が行われる。カウント値を時刻に変換するためのパラメータに関しては、装置ごとに個体差が大きいので、この電子機器では、クレイドルから得られる正確な時刻情報とカウント手段によるカウント値とを基にして計時を行って、このパラメータを補正する。具体的には、補正間隔設定手段（２６、Ｓ２９、Ｓ５７）によって、補正間隔が設定される。補正間隔は、計時開始から補正を行うまでの時間間隔を示す。この補正間隔の時間が経過したか否かを、受信した時刻情報に基づいて、判定手段（２６、Ｓ４９）によって判定する。当該補正間隔の時間が経過したと判定されたときは、補正手段（２６、Ｓ５１）によって、計時開始からのカウント値に基づいてパラメータが補正される。このようにして、各電子機器において、外部（クレイドル）からの正確な時刻情報と内部のカウント値とに基づいて、パラメータを補正するようにしたので、高精度の時間管理手段（内蔵時計）なしで各電子機器での時刻管理の個体差を解消することができ、高精度に全ての電子機器の時刻を一致させることができる。
【０００９】
請求項２の発明は、請求項１記載の時刻同期システムであり、補正間隔設定手段は、補正手段によって補正が行われるごとに、補正間隔をより長い時間に設定する。
【００１０】
請求項２の発明では、補正間隔設定手段（Ｓ５７）が、補正のたびに補正間隔をより長い時間に設定する。これによって、補正が行われるごとに計時にかける時間が徐々に長くされてパラメータが補正される。したがって、パラメータの補正の精度をより高めることができる。
【発明の効果】
【００１１】
この発明によれば、電子機器を充電するためのクレイドルから正確な時刻情報を提供し、各電子機器におけるクロックに応じたカウント値を時刻に変換するためのパラメータを補正するようにしたので、各電子機器での時間管理の個体差を吸収することができ、各電子機器で時刻を高精度に同期させることができる。また、補正が行われるごとに補正間隔を徐々に長く取るようにする場合には、より高精度な補正を行うことができる。
【００１２】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００１３】
図１を参照して、この実施例の時刻同期システム（以下、単に「システム」とも言う。）１０は、複数のセンサ装置１２と、複数のセンサ装置１２のそれぞれを充電するための複数のクレイドル１４とを含む。システム１０は、複数のセンサ装置１２の時刻を同期させるためのものであり、たとえば充電中に時刻同期のための補正が行われる。充電の際には、センサ装置１２とクレイドル１４とは図示しないケーブルによって接続され、クレイドル１４からセンサ装置１２に対して充電用電源と正確な時刻情報とが提供される。
【００１４】
クレイドル１４はＮＴＰ（Network Time Protocol ）サーバ１６から標準時と同期をとるための時刻情報を取得する。そのため、クレイドル１４は、図示しないＬＡＮケーブルによってＬＡＮに接続され、ルータ１８およびインターネット２０のようなネットワークを介してＮＴＰサーバ１６に接続される。
【００１５】
この実施例のクレイドル１４は、ＮＴＰサーバ１６から時刻情報を取得するために必要な情報を内部に保持せず、ＤＨＣＰ（dynamic host configuration protocol ）によって取得する。具体的には、クレイドル１４は、ＤＨＣＰ（RFC2131 ,RFC2132）を利用して、ＤＨＣＰサーバ２２から、自分のＩＰアドレス、サブネットマスク、ルータ１８のＩＰアドレス、およびＮＴＰサーバ１６のＩＰアドレスを取得する。そして、クレイドル１４は、ＳＮＴＰ（Simple Network Time Protocol）  Ｖｅｒｓｉｏｎ４（RFC2030 ）を利用してＮＴＰサーバ１６から時刻情報を取得し、時刻を合わせている。なお、ロケールは、使用国または地域のもの、たとえばＪＳＴ（日本標準時）に固定される。
【００１６】
なお、この実施例では、各クレイドル１４が、インターネット２０上のＮＴＰサーバ１６から時刻情報を取得するようにしているが、他の実施例では、ＬＡＮ内にＮＴＰサーバ１６を設けておき、各クレイドル１４は、当該内部のＮＴＰサーバ１６から時刻情報を取得するようにしてよい。
【００１７】
図２にはセンサ装置１２の電気的な構成が示される。この実施例のセンサ装置１２は、加速度センサ２４を備えており、たとえばウェアラブルセンサとして人や物に装着され、その動きおよび姿勢等を計測するために使用される。
【００１８】
なお、このシステム１０で時刻同期をさせるセンサ装置１２の検出対象は任意であり、温度、音、映像、画像などであってもよい。このシステム１０での補正によって複数のセンサ装置１２での高精度な時刻同期が可能になるので、典型的には、複数が同時に使用されるような計測システムのセンサ装置１２への適用が好ましい。たとえば、複数の人のそれぞれにこのセンサ装置１２を装着すれば、複数の人の動き等の計測において、正確で同期の取れたデータを取得することができる。あるいは、或る人の腕や足等に複数のセンサ装置１２を分散して装着すれば、当該人の腕や足等の同時刻の動き等を精度よく計測できる。
【００１９】
図２を参照して、センサ装置１２はＣＰＵ２６を含み、ＣＰＵ２６には、上述の加速度センサ２４が接続され、さらに、Ｂｌｕｅｔｏｏｔｈ（登録商標）モジュール２８、ＬＥＤ３０および外部コネクタ３２が接続される。
【００２０】
ＣＰＵ２６には、ワークメモリとしてＲＡＭ（図示せず）が内蔵されており、また、ＥＥＰＲＯＭ３４が内蔵されている。このセンサ装置１２は高精度の内蔵時計ＩＣを有しておらず、電源オフ時には、図示しないリアルタイムクロックで時刻を管理し、動作時には、クロック（ＣＰＵクロックないしクロックパルス）をカウントして当該カウント値を変換することによって時刻の管理を行っている。ＥＥＰＲＯＭ３４には、クロックのカウント値を時刻に変換するためのパラメータの初期値が記憶されている。パラメータの補正が行われるまでは、この初期値に基づいて時刻が算出される。
【００２１】
なお、このセンサ装置１２およびクレイドル１４の出荷前に時刻補正を予め実行することによって、補正されたパラメータをメーカ推奨値として予めＥＥＰＲＯＭ３４に記憶させておくようにしてもよい。この場合、このメーカ推奨値を参照することによって、センサ装置１２における時刻管理の精度を予め高めておくことができる。
【００２２】
Ｂｌｕｅｔｏｏｔｈモジュール２８およびアンテナ２８ａは、このセンサ装置１２が図示しない動作計測システムで使用される際に当該動作計測システムのコンピュータとの間で通信するために設けられており、上記コンピュータからの各種コマンドなどのデータを受信し、または、検出された加速度などの情報を含む計測データを上記コンピュータに送信する。
【００２３】
ＬＥＤ３０は、このセンサ装置１２の状態を表示するために設けられており、たとえば、通信中、通信待ち受け中および充電中であることをそれぞれ示す青色、緑色および橙色ＬＥＤを含む。
【００２４】
外部コネクタ３２は、このセンサ装置１２をクレイドル１４と接続するために設けられる。クレイドル１４からの時刻情報は、この外部コネクタ３２からＣＰＵ２６に与えられる。また、クレイドル１４からの充電用電源は、この外部コネクタ３２から充電回路３６を介してバッテリ３８に与えられる。バッテリ３８は、レギュレータ４０および４２ならびにリセットＩＣ４４を介してＣＰＵ２６に接続され、レギュレータ４０および４２には電源スイッチ４６が接続される。
【００２５】
このセンサ装置１２では、ＣＰＵ２６は、Ｂｌｕｅｔｏｏｔｈモジュール２８または外部コネクタ３２を介して各種コマンドを取得すると、当該コマンドに応じた処理を実行する。後述するように、クロックカウント値を時刻に変換するパラメータを補正するための処理は、時刻情報を含む時刻コマンドを外部コネクタ３２を介して取得したときに開始される。
【００２６】
図３にはクレイドル１４の電気的な構成の一例が示される。クレイドル１４はプロセサ４８を含み、プロセサ４８には、ＥＥＰＲＯＭ５０、ＤＲＡＭ５２、ネットワークコントローラ５４、ＲＳ２３２Ｃインタフェース５６、および外部コネクタ５８が接続されている。
【００２７】
ネットワークコントローラ５４にはＴＲＡＮＳ６０を介してコネクタ（ＲＪ４５）６２が接続されている。コネクタ６２には、図示しないＬＡＮケーブルが接続され、これによって、このクレイドル１４はＬＡＮに接続される。プロセサ４８は、ネットワークコントローラ５４およびＴＲＡＮＳ６０を用いて、上述のＮＴＰサーバ１６等とデータを送受信し、時刻情報を定期的に取得する。
【００２８】
ＲＳ２３２Ｃインタフェース５６にはコネクタ（ＤＳＵＢ９）６４が接続される。このクレイドル１４は、上述のように図示しないケーブルによってセンサ装置１２と接続される。つまり、このケーブルは、クレイドル１４の外部コネクタ５８およびコネクタ６４と、センサ装置１２の外部コネクタ３２とを接続する。プロセサ４８は、時刻情報を含む時刻コマンドを、ＲＳ２３２Ｃインタフェース５６に定期的に出力し、これによって時刻情報をセンサ装置１２に定期的に送信する。
【００２９】
なお、この時刻情報の通知を、クレイドル１４にＢｌｕｅｔｏｏｔｈモジュールを設けてＢｌｕｅｔｏｏｔｈによって行うことも考えられるが、Ｂｌｕｅｔｏｏｔｈの通信遅れの再現性が必ずしも高くない。そのため、この実施例では、時刻情報の通知は、有線で、かつ、複雑な衝突回避などのプロトコルを必要としないＲＳ２３２Ｃを用いて行うようにしている。
【００３０】
クレイドル１４にはＡＣアダプタ７０によって電源が与えられる。ＡＣアダプタ７０はレギュレータ６６を介してプロセサ４８に接続される。また、レギュレータ６６は電源スイッチ６８と接続されている。さらに、ＡＣアダプタ７０は、外部コネクタ５８にも接続されている。クレイドル１４にセンサ装置１２が接続されたときには、この外部コネクタ５８から充電用の電源がセンサ装置１２に与えられる。
【００３１】
このシステム１０では、センサ装置１２をクレイドル１４に接続してセンサ装置１２の充電をしている際に、センサ装置１２の時刻補正が行われる。
【００３２】
具体的には、クレイドル１４は、時刻情報をＮＴＰサーバ１６に問い合わせることによって、正確な時刻情報を取得している。この問合せは、たとえば、定期的に（１時間程度ごとなど）または電源がオンされるごとのような所定のタイミングで行われる。
【００３３】
そして、クレイドル１４は、正確な時刻情報を含む時刻コマンドを定期的に（６０秒ごとなど）センサ装置１２に与える。センサ装置１２は、クレイドル１４からの時刻コマンドに応じて時刻補正処理を実行する。
【００３４】
時刻補正処理では、クレイドル１４から定期的に送信されてくる時刻情報に基づく計時と、クロックのカウントに基づく計時とが行われる。そして、受信時刻に基づく経過時間とカウント値とに基づいて、クロックのカウント値を時刻に変換するためのパラメータの補正が行われる。補正の計算は、たとえば６４ビット整数を用いて、ＰＰＭ（1/1000000、パルス／分）の単位でなされる。
【００３５】
また、補正が行われると、計時にかける時間間隔をより長い時間に設定して、補正を繰り返す。このように、補正の度に計時にかける時間間隔を徐々に長くしながら、パラメータを補正するようにしている。なお、計時開始から補正を行うまでの時間間隔を補正間隔と呼ぶものとする。この実施例では、補正間隔の最小をたとえば６０秒に設定する。この最小値は、補正間隔の初期値でもあり、クレイドル１４による時刻情報の送信周期を考慮するとともに、パラメータの補正に適切な計時時間となるように実験により設定される。そして、この実施例では、補正が行われる度に、補正間隔はたとえば２倍に設定される。したがって、補正のための計時の時間間隔は、１分、２分、４分、８分、１６分となる。なお、この実施例では、同期が得られる時間を６００秒とみなして、それを超える場合、補正間隔をそれ以上延ばさないようにしている。つまり、補正間隔は最大で１６分に制限される。したがって、この実施例では、クレイドル１４とセンサ装置１２とが接続されている限り、時刻情報の最初の通知から最大３１分かけて補正が行われることとなる。
【００３６】
図４にはクレイドル１４のプロセサ４８の動作の一例が示される。クレイドル１４の電源スイッチ６８がオンされると、処理が開始される。まず、ステップＳ１で、ＤＨＣＰによってＮＴＰサーバ１６の情報を取得する。具体的には、クレイドル１４はＬＡＮにＤＨＣＰによりＩＰアドレスの割り当てを受けるためのデータをブロードキャストする。これに応じて、ＤＨＣＰサーバ２２から、クレイドル１４のＩＰアドレスが通知される。また、ＤＨＣＰサーバ２２は、ＩＰアドレスのほかにサブネットマスク、デフォルトゲートウェイ（ルータ１８）のＩＰアドレス、およびＮＴＰサーバ１６のＩＰアドレスを通知する。これによって、クレイドル１４はＮＴＰサーバ１６との間でデータを送受信することが可能になる。
【００３７】
次に、ステップＳ３で、ＮＴＰサーバ１６へ時刻の問合せを行うべきタイミングであるか否かを判定する。たとえば、起動後の最初の問合せであるか否かが判定され、また、前回の問合せから所定の時間（たとえば１時間程度）が経過したか否かが判定される。
【００３８】
ステップＳ３で“ＹＥＳ”であれば、ステップＳ５で、ＮＴＰサーバ１６に時刻の問い合わせを行って正確な時刻情報を取得する。具体的には、ＮＴＰサーバ１６に時刻情報の要求を送信する。この要求（問合せ）に応じて、ＮＴＰサーバ１６は時刻情報をクレイドル１４に送信する。この時刻情報は、ＵＴＣ（協定世界時）と同期をとるための時刻情報である。これに応じて、クレイドル１４のプロセサ４８は時刻情報を受信する。この受信した時刻情報によって、クレイドル１４の図示しないリアルタイムクロックでは、時刻を標準時に合わせることができる。したがって、クレイドル１４は正確な時刻情報をセンサ装置１２に提供することが可能になる。なお、この処理はクレイドル１４とＮＴＰサーバ１６との間の通信を伴う処理であるので、ステップＳ５の処理はステップＳ３以降の他の処理と並列的に実行される。あるいは、起動後の最初の問合せに関しては、ステップＳ５の処理が完了するまで時刻情報送信処理が開始されないようにしてもよい。
【００３９】
一方、ステップＳ３で“ＮＯ”の場合には、ステップＳ７で、コネクタが接続されているか否かが判断される。具体的には、外部コネクタ５８およびコネクタ６４の接続状態を検出して、この判定を行う。ステップＳ７で“ＮＯ”の場合、たとえばセンサ装置１２とクレイドル１４との接続が解除されたときには、時刻情報をセンサ装置１２に提供できないので、処理を終了する。
【００４０】
続いて、ステップＳ９およびステップＳ１１で、センサ装置１２へ時刻情報を通知すべきタイミングであるか否かを判定する。具体的には、ステップＳ９で、起動後の最初の時刻情報の送信であるか否かを判断し、“ＹＥＳ”であれば、処理はステップＳ１３に進む。
【００４１】
一方、ステップＳ９で“ＮＯ”であれば、ステップＳ１１で、前回の送信から一定時間（この実施例では６０秒）が経過したか否かを判断する。ステップＳ１１で“ＹＥＳ”であれば処理はステップＳ１３へ進み、“ＮＯ”であれば処理はステップＳ３へ戻る。
【００４２】
ステップＳ１３では、時刻情報を含む時刻コマンドをセンサ装置１２に送信する。時刻コマンドをＲＳ２３２Ｃインタフェース５６に送出するにあたって、時刻情報は、たとえば時分秒ミリ秒のフォーマットで＋０９００（ＪＳＴ）に補正される。ステップＳ１３を終了すると、処理はステップＳ３に戻る。このようにして、クレイドル１４は、一定時間ごとに、標準時刻に同期する時刻情報をセンサ装置１２に与えている。
【００４３】
図５および図６には、センサ装置１２のＣＰＵ２６の時刻補正処理における動作の一例が示される。センサ装置１２の電源スイッチ４６がオンされると、時刻補正処理が開始され、まず、ステップＳ１で時刻コマンドをクレイドル１４から受信したか否かを判断する。ステップＳ２１で“ＮＯ”の場合、ステップＳ２３で、コネクタが接続されているか否かを判断する。具体的には、外部コネクタ３２の接続状態を検出して、この判定を行う。ステップＳ２３で“ＮＯ”の場合には、クレイドル１４から時刻コマンドを受信することができないので、この時刻補正処理を終了する。ステップＳ２３で“ＹＥＳ”の場合には、処理はステップＳ２１に戻る。
【００４４】
一方、ステップＳ２１で“ＹＥＳ”であれば、つまり、クレイドル１４から定期的に送信されてくる時刻コマンドを受信したときには、ステップＳ２５で、時刻情報を設定する。具体的には、受信した時刻コマンドから時刻情報を抽出して、当該時刻を現時刻として設定する。
【００４５】
ステップＳ２７では、クレイドル１４からの最初の時刻情報の通知であるか否かを判断する。ステップＳ２７で“ＹＥＳ”であれば、ステップＳ２９で、補正間隔を初期値（この実施例では６０秒）に設定する。これにより、最初の補正は１分間をかけた計時によって行われる。ステップＳ３１では、受信した時刻情報を計時開始時刻として、内蔵メモリ（図示せず）に記憶する。続いて、ステップＳ３３でカウンタをリセットして、カウント値をクリアし、ステップＳ３５でカウントをスタートする。これによって、クロックに応じたカウントがなされる。
【００４６】
このようにして、クレイドル１４からの最初の通知に応じて、最初の補正のための計時が開始される。ステップＳ３５を終了すると、処理はステップＳ２１へ戻る。上述のように、クレイドル１４は一定時間ごとに時刻コマンドを送信するので、このセンサ装置１２では、一定時間後に時刻コマンドが受信されることとなり、ステップＳ２１の判定で“ＹＥＳ”と判断され、ステップＳ２５の処理の後、ステップＳ２７の判定で“ＮＯ”と判断される。
【００４７】
ステップＳ２７で“ＮＯ”の場合、ステップＳ３７で、カウント値と時刻変換パラメータから経過時間を算出する。このカウント値に基づいて算出された経過時間を内部経過時間と呼ぶものとする。
【００４８】
続くステップＳ３９で、受信した時刻情報と計時開始時刻から経過時間を算出する。この受信した時刻情報に基づいて算出された経過時間を外部経過時間と呼ぶものとする。
【００４９】
そして、ステップＳ４１で、内部経過時間と外部経過時間との差が倍以上であるか否かを判断する。つまり、一方が他方の２倍以上または１／２以下であるか否かを判定する。両経過時間に差があり過ぎる場合には、通信エラーなど何らかの問題が生じていると考えられる。ステップＳ４１で“ＹＥＳ”の場合、この実施例では、現在設定されている補正間隔のままで計時をやり直すようにしている。具体的には、ステップＳ４３で、受信した時刻情報を計時開始時刻として改めて記憶する。そして、ステップＳ４５でカウンタをリセットし、ステップＳ４７でカウントをスタートする。ステップＳ４７を終了すると、処理はステップＳ２１へ戻る。したがって、一定時間後に時刻コマンドを受信したときに、ステップＳ４１の判定が再び行われることとなる。
【００５０】
ステップＳ４１で“ＮＯ”の場合には、図６のステップＳ４９で、計時開始から補正間隔の時間が経過したか否かが、外部経過時間に基づいて判断される。ステップＳ４９で“ＮＯ”の場合には、処理は図５のステップＳ２１へ戻る。補正間隔に相当する時間が経過するまでは、補正のための計時が続けられる。
【００５１】
一方、ステップＳ４９で“ＹＥＳ”であれば、つまり、設定された補正間隔の時間が経過したときには、ステップＳ５１で、カウント値と経過時間（外部経過時間）とを基に、ＥＥＰＲＯＭ３４に記憶されている時刻変換パラメータを補正する。そして、ステップＳ５３で、補正したパラメータをＥＥＰＲＯＭ３４に記憶する。これ以後は、カウント値に基づいて時刻を算出する際には、この補正したパラメータが参照される。
【００５２】
このように、クレイドル１４で外部（ＮＴＰサーバ１６）からの正確な時刻情報を取得し、当該クレイドル１４からの正確な時刻情報を基にしてセンサ装置１２の内部の時刻管理で使用されるパラメータを補正するので、このセンサ装置１２では高精度な時刻管理を行うことが可能である。また、他のセンサ装置１２も同様にクレイドル１４からの正確な時刻情報によってパラメータ補正を行うので、各センサ装置１２の時刻管理における個体差を解消することができる。したがって、各センサ装置１２では正確でかつ他のセンサ装置１２と同期した時刻を算出することができ、たとえば、当該正確でかつ同期した時刻情報をセンサ情報（この実施例では加速度データ）にタイムスタンプとして付与することができるし、また、当該正確でかつ同期した時刻情報に基づいて所定の時刻に計測を開始したりすることもできる。
【００５３】
続いて、ステップＳ５５で、補正間隔が所定値（たとえば６００秒）を超えたか否かを判断する。ここでは、徐々に長くされる補正間隔がその上限に達したか否かを判定している。この上限値は、同期が取れるとみなす時間であり、実験により得られる。なお、この実施例では、補正間隔の初期値が１分であり、次のステップＳ５７で補正間隔を２倍にするようにしているので、補正間隔が８分である４回目の補正までは、“ＮＯ”と判断され、補正間隔が１６分である５回目の補正を終了したときは、“ＹＥＳ”と判断される。
【００５４】
ステップＳ５５で“ＮＯ”の場合、ステップＳ５７で補正間隔を前回より長い時間に設定し、この実施例では２倍にする。このように、補正が行われるごとに補正間隔を徐々に長くするようにしているので、補正の精度をより高めることができる。また、充電にかける時間に応じて適宜な時間で補正を行うことができる。
【００５５】
ステップＳ５９では、受信した時刻情報を、更新した補正間隔による補正ための計時開始時刻として記憶する。続いて、ステップＳ６１でカウンタをリセットし、ステップＳ６３でカウントをスタートして、処理は図５のステップＳ２１に戻る。このようにして、前回よりも長く設定された補正間隔による補正のための計時が開始される。図５のステップＳ２３で“ＮＯ”と判断されない場合には、つまり、センサ装置１２がクレイドル１４と接続されている限り、処理が継続される。一方、たとえば充電が終了するなどして、ユーザによってセンサ装置１２がクレイドル１４から取り外されたときには、ステップＳ２３で“ＮＯ”と判断されて処理が終了される。この場合、その前の補正間隔での補正によって得られたパラメータがＥＥＰＲＯＭ３４に記憶されており、当該パラメータが補正後のパラメータとして時刻管理に使用される。
【００５６】
また、図６のステップＳ５５で“ＹＥＳ”の場合には、処理を終了する。これは、この実施例では、上述のように、補正間隔が１６分である５回目の補正が終了したときである。なお、他の実施例では、センサ装置１２とクレイドル１４が接続されている限り、補正間隔をこの最大値１６分に維持したままで補正を続けるようにしてもよい。
【００５７】
この実施例によれば、センサ装置１２を充電する際に、クレイドル１４から標準時刻に同期する正確な時刻情報を提供して、時刻変換パラメータを補正するようにしたので、各センサ装置１２での時間管理の個体差を吸収することができ、すべてのセンサ装置１２の時刻を高精度に同期させることができる。また、センサ装置１２の充電のためにクレイドル１４に接続するだけで時刻補正も行えるので、複数のセンサ装置１２の時刻を容易に同期させることができる。
【００５８】
しかも、補正のたびに補正間隔を徐々に長く設定するようにしているので、より高精度な補正を行うことができる。実験によれば、２４時間のセンサ装置１２の動作で１００ミリ秒程度の誤差にとどめることが可能になった。また、充電にかけることのできる時間に応じて適切な補正を行うことができる。たとえば、ユーザが充電にわずかの時間しかかけられないような状況では、最小補正時間（この実施例では、補正間隔の初期値である６０秒）だけクレイドル１４に接続しておけば、時刻補正を行うことができる。一方、充電に十分な時間をかけられる状況では、たとえばセンサ装置１２をクレイドル１４に接続して放置しておけば、より長い時間をかけて、より高精度な補正を行うことができる。
【００５９】
なお、上述の実施例では、補正間隔を徐々に長くするようにしたが、他の実施例では、センサ装置１２の種類、使用時間、および充電にかけられる時間やその頻度などの使用条件を考慮して、補正間隔は適宜な値に固定されていてもよく、また、充電の際に補正は１回だけ行われるようにしてもよい。
【００６０】
また、上述の各実施例では、図１に示すように、システム１０には標準時刻に同期する複数のクレイドル１４が備えられたが、複数のセンサ装置１２が複数のクレイドル１４によって同時に充電されなくても精度よく同期させることができるので、複数のセンサ装置１２と同数のクレイドル１４を準備する必要はなく、システム１０は少なくとも１つのクレイドル１４を備えればよい。つまり、少数のクレイドル１４によって、多数のセンサ装置１２の時刻を精度よく同期させることができる。
【００６１】
また、上述の各実施例では、クレイドル１４がＮＴＰサーバ１６から標準時に同期するための時刻情報を取得するようにしたが、クレイドル１４は他の方法で正確な時刻情報を取得してもよい。たとえば、各クレイドル１４にＧＰＳ受信機を設けて、受信したＧＰＳ信号から時刻情報を得るようにしてもよい。あるいは、各クレイドル１４は電波時計を備えて、標準電波から正確な時刻情報を取得するようにしてもよい。
【００６２】
また、上述の各実施例では、システム１０は、センサ装置１２のように、データを計測して当該計測データに正確な時刻情報を付与することが望まれる装置のために構成されたが、このシステム１０に適用される装置の用途は計測に限られず適宜変更され得る。たとえば、複数の装置で同一時刻に動作を開始することが必要とされるシステムにおいて用いられる装置や、複数の装置が正確な時刻で順次動作をすることが必要とされるシステムにおいて用いられる装置等が考えられる。つまり、この時刻同期システム１０は、上述のようなウェアラブルセンサや、携帯コンピュータ、携帯機器など、クレイドル１４によって充電される電子機器に対して適用可能であり、また、高精度な内蔵時計を持てないような、小型あるいは低コストが要求されるような電子機器に対して適用可能である。
【図面の簡単な説明】
【００６３】
【図１】この発明の一実施例の時刻同期システムの構成を示す図解図である。
【図２】図１のセンサ装置の電気的な構成の一例を示すブロック図である。
【図３】図１のクレイドルの電気的な構成の一例を示すブロック図である。
【図４】図１のクレイドルの動作の一例を示すフロー図である。
【図５】図１のセンサ装置における時刻補正処理の動作の一例の一部を示すフロー図である。
【図６】図５の続きを示すフロー図である。
【符号の説明】
【００６４】
１０  …時刻同期システム
１２  …センサ装置（電子機器）
１４  …クレイドル
１６  …ＮＴＰサーバ
２６  …ＣＰＵ
３２  …外部コネクタ
４８  …プロセサ
５６  …ＲＳ２３２Ｃインタフェース
５８  …外部コネクタ
６４  …コネクタ
【図１】
2008051761.tif 000003
【図２】
2008051761.tif 000004
【図３】
2008051761.tif 000005
【図４】
2008051761.tif 000006
【図５】
2008051761.tif 000007
【図６】
2008051761.tif 000008