(57)【要約】【課題】ＲＴＣの温度偏差による誤差量を低減すると共に、システム時刻と標準時刻との誤差量も低減することにより、計時システムの精度向上を可能とした組込装置を提供する。【解決手段】本発明の組込装置は、バッテリバックアップされたＲＴＣ４と、このＲＴＣ４に設けられた温度偏差の大きな第１の水晶振動子５と、第１の水晶振動子５の温度を検出するセンサ６を有する。システム時刻とリアルタイムクロック時刻との差分時間ΔｔＲＴＣと、第１の水晶振動子の温度偏差に基づく誤差時間ΔｔＡＰＰを加算することで、単位時間当たりのシステム時刻の誤差時間ΔｔＳＹＳを算出する。【選択図】図１
2017020852.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵに接続され、バッテリバックアップされたリアルタイムクロックと、このリアルタイムクロックに設けられた温度偏差の大きな第１の水晶振動子と、第１の水晶振動子の温度を検出するセンサと、
前記ＣＰＵに接続されたシステム時計と、このシステム時計に設けられた温度偏差が少ない第２の水晶振動子と、
前記第１の水晶振動子の温度が変化している期間、システム時計の単位時間毎に、前記第１の水晶振動子の温度を測定して記憶する温度取得部と、
前記第１の水晶振動子の温度を取得する毎に、前記リアルタイムクロックからその取得時刻を取得する現在時刻取得部と、
前記リアルタイムクロックから取得した現在時刻と、前記リアルタイムクロックの現在時刻におけるシステム時刻との差分時間を検出し、この差分時間を周波数偏差ΔＦに換算する周波数偏差換算部と、
前記周波数換算部によって得られた複数の区間ｎの周波数偏差Ｆｎと、前記温度取得部によって得られた複数の区間ｎの第１の水晶振動子の温度Ｔｎに関する複数の測定データ（Ｆｎ、Ｔｎ）に基づいて、第１の水晶振動子の周波数偏差ΔＦＡＰＰの近似式を算出する近似式の算出部と、
前記システム時刻とリアルタイムクロック時刻との差分時間ΔｔＲＴＣと、前記近似式で得られた前記第１の水晶振動子の周波数偏差ΔＦＡＰＰに基づく誤差時間ΔｔＡＰＰを加算することで、単位時間当たりのシステム時刻の誤差時間ΔｔＳＹＳを算出するシステム時刻の誤差算出部と、
前記システム時刻の誤差時間ΔｔＳＹＳに基づいて、システム時刻の補正量ΔｔＣＯＬを算出する時刻補正部を備えている組込装置。
【請求項２】
前記時刻補正部が、補正されたシステム時刻を前記リアルタイムクロックに反映させるものである請求項１に記載の組込装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リアルタイムクロック（以下、ＲＴＣという）とシステム時計を有する組込装置に関する。
【背景技術】
【０００２】
組込装置は、特定の機能を実現するためにコンピュータシステムを組み込んだ家電製品やその他の機械や装置を言う。組込装置の時刻管理は、ＲＴＣと内部タイマー等で使用するシステム時計の２系統で行われているものが多い。システム時計は、ＯＳによって管理される時計であり、電源が投入されていない場合には動作しない。一方、ＲＴＣは、バックアップ電池などにより、電源が投入されていなくても動作する。電源が投入されると、ＢＩＯＳなどの制御ソフトウェアが起動し、ＲＴＣから時刻情報を読み出し、システム時計に設定する。
【０００３】
この場合、組込装置が、電波時計やネットワーク・タイム・プロトコル（ＮＴＰ）等の外部に設けられた時計から標準時刻を取得できる場合には、標準時刻に基づいてシステム時計やＲＴＣの調時を行うことができる。
【０００４】
しかし、電源オフ時や外部機器との通信が不可能な環境、状況などにおいて、外部から標準時刻を取得できない場合には、ＲＴＣからの情報に基づいてシステム時計が調時されることから、ＲＴＣへ供給しているクロックの精度に比例して誤差が生じる。すなわち、ＲＴＣ用クロックでは、極めて低い消費電力で現在時刻の保有を可能にするなどの理由から音叉型水晶振動子を用いることが一般的となっているが、この音叉型水晶振動子にて発振するＲＴＣ用クロック（３２．７６８ｋＨｚ）は、その温度偏差が＋２５℃を頂点に負の２次曲線となる特性を持っている（図４参照）。
【０００５】
そのため、ＲＴＣ用クロックの温度が、偏差量の小さい頂点温度、すなわち２５℃近辺で動作する場合は誤差の影響も小さいが、頂点温度から離れた高温または低温の状態が長期間続いた場合、標準時刻との誤差が大きくなる。従って、ＲＴＣの時計誤差の設計を行う場合は、常温（＋２５℃）の周波数偏差のほかに、２次曲線の温度偏差も加味する必要がある。
【０００６】
一方、システム時計は、ＲＴＣ用とは別にシステム時計用のクロック源を持ち、そのクロックは、ＡＴカット型水晶振動子を使用しているものが多い。システム時計用クロックは、ＲＴＣ用クロックに比べ、温度による偏差が小さい反面、周波数偏差が大きい特徴を持つ。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００２−３６５３８３号公報
【特許文献２】特開２００３−２７０３６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ＲＴＣはバッテリバックアップにより組込装置の電源オフ時においても計時を行っており、一方、システム時計は電源オフ時にはクリアされ、電源投入時においてＲＴＣからの時刻を受信して計時を開始する。また、電源オン時には、通常、１日１回などの決められた間隔で、システム時計の時刻（以下、システム時刻という）をＲＴＣに反映させている。
【０００９】
しかし、電源オン時においてシステム時刻をＲＴＣに反映させた場合、システム時計は周波数偏差が大きいことから、周波数偏差に基づく標準時刻との誤差量が大きい状態でＲＴＣにシステム時刻を書き込むことになる。その結果、ＲＴＣに設定された時刻と標準時刻との誤差量も大きくなる。
【００１０】
特に、組込装置は、電源を投入した直後と、電源投入後一定の時間が経過した状態とでは、装置自体やそれに組み込まれたコンピュータシステムのＣＰＵなどからの発熱により温度が異なることから、ＲＴＣ自体も標準時刻との間で温度偏差に基づく誤差が存在する。そのため、ＲＴＣの時刻を基準としてシステム時計の周波数偏差に基づく誤差を算出することは困難であった。
【００１１】
例えば、特許文献１では、ＲＴＣに設けた温度センサの値を読み取り、この温度情報と予め用意しておいた温度偏差に基づいて補正値を計算することで、計時時刻を補正する。しかし、特許文献１の発明は、ＲＴＣ自体の温度偏差による誤差を低減することは可能であっても、システム時計の周波数偏差を考慮していないことから、システム時刻と標準時刻との誤差を低減することはできなかった。
【００１２】
特許文献２では、温度偏差の大きい音叉型水晶振動子を用いたＲＴＣと、温度偏差の小さいＡＴカット型水晶振動子を用いたカウンタを併用することで、ＲＴＣの温度偏差による誤差を低減している。しかし、特許文献２の発明も、ＲＴＣ自体の温度偏差による誤差を低減することは可能であっても、ＡＴカット型水晶振動子を用いたカウンタの出力をシステム時計に反映するものではないため、システム時刻と標準時刻との誤差を低減することはできなかった。
【００１３】
本発明の目的は、ＲＴＣの温度偏差による誤差を低減すると共に、システム時刻と標準時刻との誤差も低減することにより、計時システムの精度向上を可能とした組込装置を提供することにある。
【課題を解決するための手段】
【００１４】
本発明の組込装置は、次のような構成を有することを特徴とする。
（１）ＣＰＵに接続され、バッテリバックアップされたリアルタイムクロックと、このリアルタイムクロックに設けられた温度偏差の大きな第１の水晶振動子と、第１の水晶振動子の温度を検出するセンサ。
（２）前記ＣＰＵに接続されたシステム時計と、このシステム時計に設けられた温度偏差が少ない第２の水晶振動子。
（３）前記第１の水晶振動子の温度が変化している期間、システム時計の単位時間毎に、前記第１の水晶振動子の温度を測定して記憶する温度取得部。
（４）前記第１の水晶振動子の温度を取得する毎に、前記リアルタイムクロックからその取得時刻を取得する現在時刻取得部。
（５）前記リアルタイムクロックから取得した現在時刻と、前記リアルタイムクロックの現在時刻におけるシステム時刻との差分時間を検出し、この差分時間を周波数偏差ΔＦに換算する周波数偏差換算部。
（６）前記周波数換算部によって得られた複数の区間ｎの周波数偏差Ｆｎと、前記温度取得部によって得られた複数の区間ｎの第１の水晶振動子の温度Ｔｎに関する複数の測定データ（Ｆｎ、Ｔｎ）に基づいて、第１の水晶振動子の周波数偏差ΔＦＡＰＰの近似式を算出する近似式の算出部。
（７）前記システム時刻とリアルタイムクロック時刻との差分時間ΔｔＲＴＣと、前記近似式で得られた前記第１の水晶振動子の周波数偏差ΔＦＡＰＰに基づく誤差時間ΔｔＡＰＰを加算することで、単位時間当たりのシステム時刻の誤差時間ΔｔＳＹＳを算出するシステム時刻の誤差算出部。
（８）前記システム時刻の誤差時間ΔｔＳＹＳに基づいて、システム時刻の補正量ΔｔＣＯＬを算出する時刻補正部。
【００１５】
前記時刻補正部が、補正されたシステム時刻を前記リアルタイムクロックに反映させることも、本発明の一態様である。
【発明の効果】
【００１６】
本発明によれば、ＲＴＣの温度偏差とシステム時計の周波数偏差を考慮してシステム時刻の補正を行い、システム時刻およびＲＴＣ時刻と標準時刻との誤差を小さくした組込装置を得ることができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の組込装置の第１実施形態を示すブロック図。
【図２】第１実施形態の動作を示すフローチャート。
【図３】第１実施形態における時刻補正の流れを示すグラフ。
【図４】ＲＴＣ用クロックの周波数温度特性を示すグラフ。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態を、図面に従って具体的に説明する。
【００１９】
［１．第１実施形態］
（１）構成
本実施形態の組込装置は、図１に示すように、コンピュータシステムを構成するＣＰＵ１、及びＣＰＵ１に接続されたＲＯＭ２とＲＡＭ３を備えている。ＣＰＵ１にはＲＴＣ４が接続され、ＲＴＣ４はＲＴＣ用クロック５からの発振周波数により計時する。ＲＴＣ用クロック５は周波数偏差が少なく温度偏差が大きい音叉型水晶振動子（請求項の第１の水晶振動子に相当する）から構成され、ＲＴＣ用クロック５の発振周波数は、３２．７６８ｋＨｚである。ＲＴＣ用クロック５にはその温度を測定するセンサ６が設けられ、温度センサ６の出力はＣＰＵ１に入力される。ＣＰＵ１にはシステム時計７が接続され、システム時計７はシステム時計用クロック８によって駆動される。このシステム時計用クロック８は、温度偏差の少ないＡＴカット型水晶振動子（請求項の第２の水晶振動子に相当する）によって構成される。
【００２０】
ＣＰＵ１は、組込装置に搭載されたコンピュータプログラムを実行することにより、次のような各手段を実現する。
（１） ＲＴＣ用クロック５の温度取得部１０
（２） ＲＴＣ４の現在時刻取得部１１
（３） 周波数偏差への換算部１２
（４） ＲＴＣ用クロック偏差の近似式の算出部１３
（５） システム時刻の誤差算出部１４
（６） 時刻補正部１５
【００２１】
（１） ＲＴＣ用クロック５の温度取得部１０
温度取得部１０は、組込装置の電源オンからＲＴＣ用クロック５の温度が変化（通常は温度が上昇）している期間、システム時計７の単位時間毎に以下を測定し、複数（３区間以上）のデータをバッファリングする。すなわち、温度取得部１０は、システム時計７の単位時間毎にセンサ６からＲＴＣ用クロック５の温度を取得し、その温度値をＲＡＭ３に記憶する。
【００２２】
（２） ＲＴＣ４の現在時刻取得部１１
現在時刻取得部１１は、センサ６からＲＴＣ用クロック５の温度を取得する毎に、ＲＴＣ４からその取得時刻を現在時刻（μｓｅｃオーダー）として取得し、ＲＡＭ３に記憶する。
【００２３】
（３） 周波数偏差への換算部１２
周波数偏差への換算部１２は、ＲＡＭ３に記憶された「ＲＴＣ４の現在時刻」と、「ＲＴＣ４の現在時刻」におけるシステム時刻との差分時間（単位：ｓｅｃ）を検出し、この差分時間を周波数偏差ΔＦ（単位：ｐｐｍ（parts per million））に換算する。なお、電源オンの時点では、ＲＴＣ４にバックアップされているリアルタイムクロックをシステム時計７に反映させることで、ＲＴＣ４とシステム時計７とは同期され、両者間には差分時間は存在しない。
【００２４】
しかし、電源オンに伴いＲＴＣ４の温度が上昇すると、ＲＴＣ用クロック５の温度偏差によりＲＴＣ４とシステム時計７との間で差分時間が生じる。システム時計用クロック８は、温度偏差の少ないＡＴカット型水晶振動子によって構成されるため、温度上昇によってもシステム時刻の偏差は生じない。そこで、周波数偏差への換算部１２は、ＲＴＣ４とシステム時計７との差分時間を取得し、差分時間を周波数偏差ΔＦに変換する。
【００２５】
（４） ＲＴＣ用クロック偏差の近似式の算出部１３
近似式の算出部１３は、前記（３） によって得られた複数の区間ｎの周波数偏差Ｆｎと、（１） によって得られた複数の区間ｎのＲＴＣ用クロック温度Ｔｎに関する複数の測定データ（Ｆｎ、Ｔｎ）を下記の偏差式Ｆｎに代入し、ガウス・ジョルダンの消去法及び最小二乗法を利用して周波数偏差の近似式ΔＦＡＰＰを算出する。
【００２６】
偏差式Ｆｎ＝Ｂ（Ｔｎ−ＴＴＯＰ）２＋Ｆ
偏差式Ｆｎにおいて、下記は不明値である。
Ｂ：二次温度係数、
ＴＴＯＰ：頂点温度（図４の周波数−温度特性における周波数偏差が０の温度）、
Ｆ：ＲＴＣ用クロックの各温度における周波数偏差、
【００２７】
近似式ΔＦＡＰＰ＝ａ０Ｔ２＋ａ１Ｔ＋ａ２
近似式ΔＦＡＰＰにおいて、
ａ０、ａ１、ａ２：算出された係数、
Ｔ：現在の温度
である。
【００２８】
（５） システム時刻の誤差算出部１４
システム時刻の誤差算出部１４は、次の手順により単位時間当たりの標準時刻とシステム時刻の誤差を算出する。
（ａ） システム時刻の一定周期でＲＴＣ時刻を読み出し、システム時刻とＲＴＣ時刻との差分時間ΔｔＲＴＣ（単位：μｓｅｃ）を算出する。すなわち、システム時刻の誤差時間のうち、システム時計用クロック８が有する周波数偏差については、システム時計７とＲＴＣ４との差分時間ΔｔＲＴＣによって算出する。
【００２９】
（ｂ） 現在の温度を（４） で求めた近似式に代入し、ＲＴＣ用クロック５の周波数偏差ΔＦＡＰＰ（単位：ｐｐｍ）を算出する。すなわち、前記（ａ） において、差分時間ΔｔＲＴＣの基準となるＲＴＣ４が有する周波数偏差ΔＦＡＰＰについては、前記近似式に基づいて算出する。
（ｃ） ＲＴＣ用クロック６の周波数偏差ΔＦＡＰＰを誤差時間ΔｔＡＰＰ（単位：μｓｅｃ）に換算する。
【００３０】
（d） 単位時間当たりのシステム時刻の誤差時間ΔｔＳＹＳ（単位：μｓｅｃ）＝ΔｔＲＴＣ＋ΔｔＡＰＰを算出する。前記（ａ） で算出した差分時間ΔｔＲＴＣと、前記（ｂ） （ｃ） で算出したＲＴＣ用クロックの周波数偏差ΔＦＡＰＰに基づく誤差時間ΔｔＡＰＰを加算することで、単位時間当たりのシステム時刻の誤差時間ΔｔＳＹＳを得る。
【００３１】
（６） 時刻補正部１５
時刻補正部１５は、一定周期（例えば、１日に１回、定時刻）で時刻補正を実施する。この時刻補正は次のような手順で行われる。
（ａ） 時刻補正のタイミングを契機として、次の式により時刻補正量を算出する。
時刻補正量ΔｔＣＯＬ＝ΔｔＳＹＳ×時刻補正周期÷システム時刻の誤差計測周期
（ｂ） 算出された時刻補正量ΔｔＣＯＬを加味した時刻を、システム時刻に反映する。
（ｃ） 補正されたシステム時刻をＲＴＣ４へ書き込む。
【００３２】
（２）作用
前記のような構成を有する本実施形態の作用を図２に示すフローチャートに従って説明する。本実施形態は、組込装置に対する電源オンの後に発生する、ＲＴＣ用クロック５の温度変化の状態を、図３に示す（１） 温度変化期間、（２） 温度安定期間、（３） 時刻補正期間の３つの期間に区分し、各期間において次のような処理を行う。
【００３３】
（１） 温度変化期間
組込装置の電源がオンになると（ステップ１）、ＲＴＣ４はバッテリバックアップされていたＲＴＣ時刻をシステム時計７に出力し、両者を同期させる。その状態で、システム時計７の一定周期毎に、ＲＴＣ用クロック５の温度とＲＴＣ４の現在時刻を測定し、ＲＡＭ３に記憶する（ステップ２）。
【００３４】
前記ステップ２に示すクロック温度とＲＴＣ時刻の測定を４回以上繰り返した後は（ステップ３のＹＥＳ）、複数の測定値毎に、ＲＴＣ４の現在時刻とシステム時計７の現在時刻との差分時間を周波数偏差ΔＦに換算する（ステップ４）。このようにして得られた複数の測定値から換算した周波数偏差△Ｆに基づいて、温度変化に伴うＲＴＣ４の周波数偏差の近似式を算出する（ステップ５）。その状態で、センサ６の温度変化を監視し、温度が安定した場合には（ステップ６のＹＥＳ）、次の誤差時間の算出処理に移る。
【００３５】
（２） 温度安定期間
ＲＴＣ用クロック５の温度が安定した後は、一定周期でＲＴＣ４の時刻を読み出し、期待時刻（温度偏差のないシステム時計７の時刻）との差分時間ΔｔＲＴＣを算出する（ステップ７）。次いで、現在の温度を近似式に代入し、差分時間ΔｔＲＴＣの基準となるＲＴＣ用クロック５が有する周波数偏差ΔＦＡＰＰを算出する（ステップ８）。算出されたＲＴＣ用クロック５の周波数偏差ΔＦＡＰＰを誤差時間ΔｔＡＰＰに換算する（ステップ９）。その後、差分時間ΔｔＲＴＣと誤差時間ΔｔＡＰＰに基づいて、単位時間当たりのシステム時刻の誤差時間ΔｔＳＹＳを算出する（ステップ１０）。
【００３６】
（３） 時刻補正期間
前記（１） （２） の様にして、単位時間当たりのシステム時刻の誤差時間ΔｔＳＹＳが算出された後は、日替わりしたか否かを判定し（ステップ１１）、日替わりした場合には、１日分の時刻補正量ΔｔＣＯＬを算出する（ステップ１２）。算出された時刻補正量ΔｔＣＯＬを加味した時刻をシステム時刻に反映し（ステップ１３）、次いで、そのシステム時刻をＲＴＣ４に書き込む（ステップ１４）。以下、電源オンが継続される間は温度安定期間が続くので、日替わりしたか否かを判定し、日替わりする毎に１日当たりの時刻補正量ΔｔＣＯＬに基づいてシステム時計７とＲＴＣ４との時刻補正を行う。
【００３７】
（３）効果
本実施形態によれば、次のような作用効果が発揮される。
【００３８】
本実施形態において、大きな周波数偏差で動作するシステム時刻の標準時刻との誤差は、周波数偏差の少ないＲＴＣ用クロック５とシステム時計７とを比較することで得られる。また、システム時計７の比較対象となるＲＴＣ４の温度偏差による誤差は、前記の近似式から得られる周波数偏差ΔＦＡＰＰに基づいて算出することができる。そのため、本実施形態によれば、ＲＴＣ用クロック５の有する大きな温度偏差と、システム時計用クロック８の有する大きな周波数偏差の両者に起因する誤差を何れも補正することが可能になるため、精度の高いシステム時刻およびＲＴＣ時刻を得ることができる。
【００３９】
よって、計算で求められた補正時間を一定周期でシステム時刻へ反映することにより、標準時間との誤差を小さくすることができる。また、システム時刻をＲＴＣに反映することにより、システム時刻とＲＴＣ時刻も一致する。さらに、ＲＴＣ用クロックは、経年変化による偏差も存在するが、ある一定期間で時刻補正量を再計算することで経年変化にも対応できる。
【００４０】
［２．他の実施形態］
本発明は、前記の実施形態に限定されるものではなく、例えば、次のような他の実施形態も包含する。
（１）ＲＴＣ用クロック５の温度偏差について、電源オンから温度安定期間に達するまでの温度を計測するだけでなく、温度安定期間になった後に、周囲の気温、室温などの温度変化に対応させることも可能である。その場合、温度偏差に関する近似式自体をセンサ６からの測定温度に基づいて変化させることも可能であるが、長期的な周期で変動する温度変化の場合には、別途温度−周波数特性を記録した補正テーブルなどをＲＯＭ２に記憶させておき、それを参照して、温度偏差を補正することができる。
（２）組込装置の電源オフ時において、システム時計や温度センサの電源遮断を、ＲＴＣ用クロック５の温度が一定になるまで遅延させ、その間、温度上昇時と同様な処理を行うことで、ＲＴＣ用クロック５の温度低下時の温度偏差による誤差を検出し、バッテリバックアップされるＲＴＣ時刻をより正確にすることができる。
【符号の説明】
【００４１】
１…ＣＰＵ
２…ＲＯＭ
３…ＲＡＭ
４…ＲＴＣ
５…ＲＴＣ用クロック
６…温度センサ
７…システム時計
８…システム時計用クロック
１０…ＲＴＣ用クロック５の温度取得部
１１…ＲＴＣ４の現在時刻取得部
１２…周波数偏差への換算部１２
１３…近似式の算出部
１４…システム時刻の誤差算出部
１５…時刻補正部
【図１】
2017020852.tif 000003
【図２】
2017020852.tif 000004
【図３】
2017020852.tif 000005
【図４】
2017020852.tif 000006