(57)【要約】【課題】  精度の低い安価な発振器を用いて、基準時刻の取得頻度を低く抑えることができる時計精度修正装置を提供する。【解決手段】  外部から所定のタイミングで基準時刻を取得して、該基準時刻を現在時刻に更新する時計精度修正装置において、所定の周波数のクロックパルスを出力する発振器と、クロックパルスを分周比レジスタに設定されている分周比により分周して基本タイマパルス出力する分周カウンタと、基本タイマパルスを累積カウントして現在時刻を出力する時刻出力手段と、取得した基準時刻と現在時刻と差から分周比を算出し、算出した分周比を分周比レジスタに設定する分周比補正手段とを備える。【選択図】    図１
2006047101.tif 000002
【特許請求の範囲】
【請求項１】
外部から所定のタイミングで基準時刻を取得して、該基準時刻を現在時刻に更新する時計精度修正装置において、
所定の周波数のクロックパルスを出力する発振器と、
前記クロックパルスを分周比レジスタに設定されている分周比により分周して基本タイマパルスを出力する分周カウンタと、
前記基本タイマパルスを累積カウントして現在時刻を出力する時刻出力手段と、
取得した基準時刻と前記現在時刻と差から前記分周比を算出し、算出した分周比を前記分周比レジスタに設定する分周比補正手段と
を備えたことを特徴とする時計精度修正装置。
【請求項２】
前記分周比補正手段は、取得した基準時刻と前記現在時刻と差に基づいて、外部から基準時刻を取得するタイミングを決定することを特徴とする請求項１に記載の時計精度修正装置。
【請求項３】
前記分周比補正手段は、次回の基準時刻取得までの間に時刻出力手段から出力する現在時刻の誤差が所定値を超えない範囲で前記基準時刻を取得するタイミングを決定することを特徴とする請求項２に記載の時計精度修正装置。
【請求項４】
所定の周波数のクロックパルスを出力する発振器と、前記クロックパルスを分周比レジスタに設定されている分周比により分周して基本タイマパルスを出力する分周カウンタと、前記基本タイマパルスを累積カウントして現在時刻を出力する時刻出力手段とを備え、外部から所定のタイミングで基準時刻を取得して、該基準時刻を現在時刻に更新する時計精度修正装置を制御する制御プログラムであって、
取得した基準時刻と前記現在時刻と差から前記分周比を算出し、算出した分周比を前記分周比レジスタに設定する分周比補正処理を
コンピュータに行わせることを特徴とする制御プログラム。
【請求項５】
前記分周比補正処理は、取得した基準時刻と前記現在時刻と差に基づいて、外部から基準時刻を取得するタイミングを決定することを特徴とする請求項４に記載の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器内に内蔵される時計機能の精度を修正する時計精度修正装置に関する。
【背景技術】
【０００２】
従来からコンピュータネットワークに接続される情報処理装置において、時刻サーバから基準時刻を取得して、内部に実装された時計の時刻を補正する技術が知られている。これは、情報処理装置が有する内蔵時計において、時間の経過とともに発生する標準時刻との誤差が、あらかじめ設定した許容範囲内に収まるように、内蔵時計ごとに修正時間間隔を算出し、修正の間隔を動的に変化させ、また誤差を想定することにより、ネットワークに負荷をかけることなく自己修正を行うものである（例えば、特許文献１参照）。
【特許文献１】特開平１０−０９１２７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、電子機器内の時計の精度を高く保つには、高精度の発振器を原振とした基本タイマを用いて、外部から取得する基準時刻を取得後に、内部の時計を更新したり、外部から基準時刻を取得する時間間隔を短くする方法等がある。
しかしながら、高精度の発振器は高価であるため、電子機器の製造コストが高くなるという問題がある。また、基準時刻を取得する間隔を短くすると、基準時刻を出力する時刻サーバの負荷が増大するとともに、ネットワークのトラフィックが増大するという問題もある。
【０００４】
本発明は、このような事情に鑑みてなされたもので、精度の低い安価な発振器を用いて、基準時刻の取得頻度を低く抑えることができる時計精度修正装置及び制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
請求項１に記載の発明は、外部から所定のタイミングで基準時刻を取得して、該基準時刻を現在時刻に更新する時計精度修正装置において、所定の周波数のクロックパルスを出力する発振器と、前記クロックパルスを分周比レジスタに設定されている分周比により分周して基本タイマパルスを出力する分周カウンタと、前記基本タイマパルスを累積カウントして現在時刻を出力する時刻出力手段と、取得した基準時刻と前記現在時刻と差から前記分周比を算出し、算出した分周比を前記分周比レジスタに設定する分周比補正手段とを備えたことを特徴とする。
【０００６】
請求項２に記載の発明は、前記分周比補正手段は、取得した基準時刻と前記現在時刻と差に基づいて、外部から基準時刻を取得するタイミングを決定することを特徴とする。
【０００７】
請求項３に記載の発明は、前記分周比補正手段は、次回の基準時刻取得までの間に時刻出力手段から出力する現在時刻の誤差が所定値を超えない範囲で前記基準時刻を取得するタイミングを決定することを特徴とする。
【０００８】
請求項４に記載の発明は、所定の周波数のクロックパルスを出力する発振器と、前記クロックパルスを分周比レジスタに設定されている分周比により分周して基本タイマパルスを出力する分周カウンタと、前記基本タイマパルスを累積カウントして現在時刻を出力する時刻出力手段とを備え、外部から所定のタイミングで基準時刻を取得して、該基準時刻を現在時刻に更新する時計精度修正装置を制御する制御プログラムであって、取得した基準時刻と前記現在時刻と差から前記分周比を算出し、算出した分周比を前記分周比レジスタに設定する分周比補正処理をコンピュータに行わせることを特徴とする。
【０００９】
請求項５に記載の発明は、前記分周比補正処理は、取得した基準時刻と前記現在時刻と差に基づいて、外部から基準時刻を取得するタイミングを決定することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、安価な発振器を使用することが可能となるため、電子機器の製造コストを低く抑えることができる。また稼働時間が延びるにつれて時計の精度を高めることができるため、基準時刻を出力する時刻サーバの負荷とネットワークのトラフィックを低く抑えることができるという効果が得られる。また、修正動作中の出力誤差が所定値をこえないようにしたため、出力時刻を使用しながら修正動作を行うことができ、製品出荷時の調整や使用開始前の修正動作を行う必要がないという効果も得られる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の一実施形態による時計精度修正装置を図面を参照して説明する。図１は同実施形態の構成を示すブロック図である。この図において、符号１は、５０ＭＨｚのクロックパルスを出力する発振器である。符号２は、発振器１より出力されるクロックパルスを分周して基本タイマパルスを出力する分周カウンタであり、分周比は変更可能であり、初期値として、５０ＭＨｚを５０Ｈｚに分周する（分周比１Ｍクロック）ように設定されている。符号３は、分周カウンタ２の分周比を保持する分周比レジスタであり、分周カウンタ２は、このレジスタに保持されている分周比を用いて、クロックパルスの分周処理を行う。符号４は、分周カウンタ２の分周比を記憶する不揮発性のメモリである。符号５は、分周カウンタ２が出力する基本タイマパルスを累積カウントして現在の時刻を出力する時刻出力部である。符号６は、基準時刻を出力する時刻サーバである。符号７は、時刻サーバ６に対して基準時刻取得要求を送信し、時刻サーバ６から出力される基準時刻データをネットワークを介して受信する時刻取得部である。符号８は、時刻取得部７が取得した基準時刻と時刻出力部５から出力される現在時刻との差から分周カウンタ２が出力する基本タイマパルスの精度を求め、この精度に基づいて割り出した修正分周比を分周比レジスタ３に保持するとともに、メモリ４に基本タイマパルスの精度情報を記憶する分周比補正部である。
以下の説明において発振器１は、最大で±０．５％の誤差を有しているものとして説明する。
【００１２】
次に、図２を参照して、時計精度の修正動作を説明する。まず、分周比補正部８は、メモリ４に初期値として発振器１の特性に基づく基本タイマ精度情報を記憶する（ステップＳ１）。基本タイマ精度情報とは、分周カウンタ２が出力する基本タイマパルスの精度である。すなわち、基本タイマパルスは、初期状態において、５０ＭＨｚ＋０．５％のクロックパルスを出力する発振器１を用いているため、最大で２００パルス当たり１パルスの誤差が生じることになり、これが基本タイマ精度である。
【００１３】
次に、時刻取得部７は、時刻サーバ６に対して基準時刻取得要求を送信し、時刻サーバ６から基準時刻を取得する（ステップＳ２）。そして、時刻取得部７は、取得した基準時刻を時刻出力部５へ通知する（ステップＳ３）。これにより、時刻出力部５が出力する現在時刻が基準時刻に更新される。次に、分周比補正部８は、メモリ４に記憶されている基本タイマ精度情報を基に、次の基準時刻取得間隔を設定し、時刻取得部７へ通知する（ステップＳ４）。基準時刻取得間隔は、新たに基準時刻を取得するまでの間の時計の誤差を±１秒以内に収めるための値である。そして、分周比補正部８は、基本タイマ時間間隔を基準時刻取得間隔で除算して、得られた値を新たな基本タイマ精度情報として、メモリ４へ記憶する（ステップＳ５）
【００１４】
次に、時刻取得部７は、分周比補正部８から通知された基準時刻取得間隔に基づいて、時刻サーバ６より基準時刻を取得する（ステップＳ６）。時刻取得部７は、ここで取得した基準時刻を分周比補正部８へ通知する。これを受けて、分周比補正部８は、現在時刻出力部５から出力される現在時刻と取得した基準時刻との差から修正分周比を算出する（ステップＳ７）。そして、分周比補正部８は、算出した修正分周比を分周レジスタ３とメモリ４へ書き込む（ステップＳ８）。これにより、分周カウンタ２の分周比が変更されて、基本タイマパルスの精度が向上する。
【００１５】
次に、具体的な値を用いて処理動作を説明する。
まず、基準時刻取得間隔の初期値を２００秒（＝２０ｍ秒×１万）とする。この初期値は、次の基準時刻取得までの誤差を±１秒以内に収めるための値である。そして、２００秒後の誤差が＋１秒（＋０．５％）であったとすると、分周比を１Ｍ×１．００５＝１００５０００クロックに補正する。この時点で２００秒のスケールでは一見誤差の補正ができたように見えるが、実際には発振器の誤差は最大で＋０．５％であり実際の誤差の値は未知である。したがって、さらに基本タイマの１単位である±２０ｍ秒（２００秒±２０ｍ秒であるので±０．０１％）の誤差範囲の誤差を補正するために、次の基準時刻取得間隔を１万秒後（２０ｍ秒×５０万）とする。これも次の基準時刻取得までの誤差を±１秒以内に収めるための値である。
【００１６】
次に、１万秒後の誤差が−１秒（−０．０１％）であった場合、分周比を１００５０００×０．９９９９＝１００４８９９．５クロックとする。端数の０．５を切り上げるとすれば分周比は１００４９００クロックとなる。そして、５０万秒後の誤差が＋１秒（＋０．０００２％）であった場合は、分周比を１００４９００×１．０００００２＝１００４９０２．１クロックとし、端数の０．１を切り上げるとすれば分周比は１００４９０３クロックとなる。この時点で上記と同様に更に±２０ｍ秒（５０万秒で±２０ｍ秒なので±４×１０−６％）の誤差範囲の誤差が考えられるが、誤差が±１秒に収まるように次の取得時間を算出して更に分周比を補正しようとすると、次の取得時間２５００万秒後に−１秒（−４×１０−６％）あった場合、分周比は１００４９０３×（１−４×１０−８）＝１００４９０２．９６となり、分周比の設定可能能力を超えたため、この取得時間２５００万秒後の分周比修正は無意味となる。従って、上記取得時間５０万秒後に行った分周比修正で１００４９０３クロックを得た時点で分周比修正の処理を終了する。この処理によって、結果的に発振器１が有している誤差＋０．４９０３％に対して補正を行ったことになる。
【００１７】
このように、本発明では補正の精度は発振器１ではなく分周カウンタ２によって決まり、発振器１に生じた誤差に基づいて、分周比を段階的に補正することによって時計の精度を次第に向上させることができる。もちろん、最初の基準時刻取得間隔を十分に長い時間（上記の例では１Ｍ秒）とすれば、一回の補正で補正作業を終了することができるが、この修正動作の間に生じる出力時刻のずれが大きくなるため、修正動作中に出力される時刻は実質的に使用することができない。しかし、本発明の修正方法を用いれば、修正動作中の出力誤差を１秒以内に収めるようにして、出力時刻を使用しながら修正動作を行うことができるため、製品出荷時の調整や使用開始前の修正動作を行う必要がない。
【００１８】
また、分周比補正部８が、図２に示すステップＳ３〜Ｓ８の処理動作を繰り返し行うことにより、時刻出力部５から出力される現在時刻の精度を向上させることが可能になる。また、基本タイマパルスの精度が向上することにより、基準時刻を取得する間隔を延ばすことが可能になるため、時刻サーバ６と時刻取得部７との間の通信トラフィックを低減することができる。
【００１９】
なお、図１における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより時計精度修正処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００２０】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施形態の構成を示すブロック図である。
【図２】図１に示す装置の動作を示すフローチャートである。
【符号の説明】
【００２２】
１・・・発振器、２・・・分周カウンタ、３・・・分周比レジスタ、４・・・メモリ、５・・・時刻出力部、６・・・時刻サーバ、７・・・時刻取得部、８・・・分周比補正部
【図１】
2006047101.tif 000003
【図２】
2006047101.tif 000004