JP2007327871A - 電子機器、時刻修正方法、及び記憶媒体 - Google Patents
電子機器、時刻修正方法、及び記憶媒体 Download PDFInfo
- Publication number
- JP2007327871A JP2007327871A JP2006159748A JP2006159748A JP2007327871A JP 2007327871 A JP2007327871 A JP 2007327871A JP 2006159748 A JP2006159748 A JP 2006159748A JP 2006159748 A JP2006159748 A JP 2006159748A JP 2007327871 A JP2007327871 A JP 2007327871A
- Authority
- JP
- Japan
- Prior art keywords
- time
- frequency
- sine wave
- voltage
- error
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Electric Clocks (AREA)
Abstract
【課題】 水晶時計の時刻が時間の経過とともにずれていく問題を解決した電子機器を提供する。
【解決手段】 時刻をカウントし現在時刻を出力する温度補償型水晶発振器リアルタイムクロックと、外部から入力される商用交流電源の正弦波電圧を降圧する変圧器と、該変圧器により降圧された電圧を正の電圧へと変換する差動増幅器と、該差動増幅器により出力される正弦波電圧を周期的にサンプリングして正弦波電圧値のデジタルデータとするAD変換器と、該正弦波電圧値のデジタルデータの中央電圧のクロス点を計数して累積回数を求め、該累積回数に対応する時間を、計数開始時点の前記温度補償型水晶発振器リアルタイムクロックの時刻に加算して時刻誤差を補正する電子回路とを備える。
【選択図】 図1
【解決手段】 時刻をカウントし現在時刻を出力する温度補償型水晶発振器リアルタイムクロックと、外部から入力される商用交流電源の正弦波電圧を降圧する変圧器と、該変圧器により降圧された電圧を正の電圧へと変換する差動増幅器と、該差動増幅器により出力される正弦波電圧を周期的にサンプリングして正弦波電圧値のデジタルデータとするAD変換器と、該正弦波電圧値のデジタルデータの中央電圧のクロス点を計数して累積回数を求め、該累積回数に対応する時間を、計数開始時点の前記温度補償型水晶発振器リアルタイムクロックの時刻に加算して時刻誤差を補正する電子回路とを備える。
【選択図】 図1
Description
本発明は、時計機能を利用する電子機器、時刻修正方法、及び記憶媒体に関する。
従来、時計機能を利用する電子機器として以下のようなものが知られている。
(1)(交流同期時計)商用交流電源の周波数50Hz、60Hzに同期し、交流の1秒間あたりの振幅回数を数え上げ、周波数50Hzならば振幅回数50を1秒、周波数60Hzならば振幅回数60を1秒と見なして時刻を刻む時計が市販されている。
(2)(水晶時計)水晶発振器の発振周波数を分周して時計の基準単位信号を生成し、時刻を刻む水晶時計が市販されている。
(3)(TCXO内蔵高精度リアルタイムクロック(RTC)IC)TCXO内蔵高精度RTCには、例えば、周波数32.768[kHz]として、温度補償型水晶発振器(TCXO)、水晶振動子を1つのパッケージに統合したICが市販されている。こうした市販ICには、0[℃]〜+40[℃]の範囲で±2.0[ppm]という高精度のものもある。
(4)(電波時計)電波時計はJJYの電波を受信し、水晶時計の時刻を補正するものが市販されている。
(5)(NTP/SNTPサーバ・クライアント・システム)原子時計等の正確な時計に接続されたコンピュータを時刻サーバとして、NTP/SNTPプロトコルによるネットワーク経由で、サーバから現在の正確な時刻をクライアント・コンピュータ側で取得し、時刻合わせをするNTPサーバ、SNTPサーバがインターネット上で運用されている。そうした時刻サーバに接続するクライアント・コンピュータ側では、通信遅延時間等も補正して現在時刻を得ている。
(6)(無線LANまたはPLCによる時計)無線LANまたはPLC(商用交流電源ライン上にデジタル変調された高周波を重畳する通信)を用い、オフィス内の基準時計から、商用電源線上に時計情報を配信し、他の複数の時計を同期させる方式が知られている。
(7)商用交流電源の周波数精度が高い特性と、温度センサを利用し、温度対発振周波数の変化特性から、水晶発振式リアルタイムクロックの誤差を修正する構成が知られている(例えば、特許文献1参照。)。
(8)商用交流電源の周波数に同期して時刻を刻むのを時計としての基本動作とし、停電があった場合は、予備電源を使ってその停電時刻を不揮メモリへ記憶し、不揮発メモリに記憶された停電時刻と停電期間の時間を加味して現在時刻への補正を行う構成が知られている(例えば、特許文献2参照。)。
(9)商用交流電源の周波数に同期して時刻を刻むのを時計としての基本動作とし、停電中には、水晶発振器などの基準信号発信機のクロック信号を基準信号へ交替させて時刻の維持を図る構成が知られている(例えば、特許文献3参照。)。
(10)過去に設定された時刻から、現在設定する現在時刻までの経過時間について、時計のずれ時間量が経過時間に比例すると考えて、時刻の修正量を比例の関係から計算して、時計の時刻を補正する構成が知られている(例えば、特許文献4参照。)。
(11)現在普及しているパソコンは、CPUのチップセットと呼ばれるローカルバスにリアルタイムクロックICを接続している。
(12)商用交流電源の周波数精度が高い特性を利用して、水晶発振式時計の誤差を一定時間周期で修正する構成が知られている(例えば、特許文献5参照。)。
以下、前述の従来技術に上げた番号(1)〜(12)に対応させて、その問題点としての課題を述べる。
(1)「交流同期時計」は、商用電源の交流周波数から50Hzまたは60Hzの信号を計数可能なパルス信号に変換して、1/50分周、または1/60分周のパルス信号を1秒信号として計数し、時刻データをデジタル・カウンタに記憶させ、その時刻データを表示している。現在の商用交流電源の周波数は、電気事業法による正確な周波数の維持努力が定められており、実績±0.02Hzの精度((株)東京電力:2006年2月現在)があるため、高精度の時計基準信号として利用するのに良好な特性をもっている。現在の実運用では、瞬間的な時間区間の絶対時差誤差は最大±5[s]であるが、時差の積算誤差が集積しないよう、累積時間時差が0[s]になるように電源周波数の調整がされている。
具体的には、周波数が低下して時差が−5[s]となった場合には、基準周波数を50.02[Hz]に変更し、時差が0となったら基準周波数を50.00[Hz]に戻し、周波数が上昇して時差が+5[s]となった場合は、基準周波数を49.98[Hz]に変更し、時差が0となったら基準周波数を50.00[Hz]に戻すという周波数制御がされている。
このため、商用交流電源を時計の基準信号としてそのまま使用する時計では、原理的に長期的に時差が0であるため、長時間でみると正確な時刻を刻む利点があるが、瞬間的時差として最大±5[s]の誤差の発生が避けられない問題がある。
一方、デジタル式交流同期時計は、前述の1[s]信号を得るにあたって、トランス等を用いて、交流電圧を一定の電圧に変換後、正弦波電圧を一定の閾値電圧で、コンパレータ素子などを使用し、High信号、Low信号を繰り返すパルス周期電圧信号へ変換することで、50Hzまたは60Hzの基準パルス信号を生成している。
しかし、商用交流電源には、他の電気装置からのスイッチングノイズ、雷やその誘導雷によるサージノイズの混入が避けられず、交流同期時計が、それらのノイズを時刻計数のためのパルス信号と誤認した場合に、時刻のずれが発生してしまう問題がある。また、商用交流電源の停電時に、交流周波数のカウントが出来ないため、時刻を刻めなくなる問題がある。
(2)水晶時計は、32.768kHzの水晶振動子を使用した発振器の出力周波数を1/32768(=2^15)分周して、1秒の基準パルスを得ているものが多い。水晶時計の精度は、この水晶発振器の発振周波数精度に依存して決まる。市販の32.768kHz水晶発振子の一例には、±40ppm程度の精度のものがある。水晶発振周波数が正確であることは良く知られているが、それでもこうした例で±40ppmの精度は、日間誤差±3.456秒以内、月間誤差±1分43秒以内、年間誤差約±21分以内というかなり大きな時刻誤差が起こってしまう特性的問題がある。
また、水晶発振器の特性として、温度に対して、その周波数誤差は、放物線特性となることが知られており、高温や低温では、その誤差は−150ppm以上にもなる。その精度は、日間誤差約13秒の遅れ、年間誤差1.3時間以上もの遅れになってしまう問題がある。
(3)TCXO内蔵高精度リアルタイムクロックICは、高精度ながらも、その時刻誤差は、−40[℃]〜0[℃]または+40[℃]〜+85[℃]の精度が±3.5ppmであり、1年で±1.8[分]に相当する。水晶発振器の周波数誤差は、温度T[K]での周波数変化Δfに対して次の式による放物線の特性となる。
Δf/f=k(T−T0)2+f0
ここで、fは水晶の公称周波数[Hz]、kはk<0となる定数で、Tは温度[K]、T0は変曲点の温度[K]、f0はT=T0での周波数偏差Δf/fの最大値である。このRTCは、内蔵のTCXOによって、温度に対する水晶曲線の放物線特性が相当分に平坦化される。こうした誤差に対して、TCXOやレジスタ補償という方法で、最も高精度化の図られたリアルタイムクロックでも、−40℃〜0℃または+40℃〜+85℃の精度は±3.5ppmであり、1年で±1.8分にも相当する誤差にまで及んでしまう問題がある。
ここで、fは水晶の公称周波数[Hz]、kはk<0となる定数で、Tは温度[K]、T0は変曲点の温度[K]、f0はT=T0での周波数偏差Δf/fの最大値である。このRTCは、内蔵のTCXOによって、温度に対する水晶曲線の放物線特性が相当分に平坦化される。こうした誤差に対して、TCXOやレジスタ補償という方法で、最も高精度化の図られたリアルタイムクロックでも、−40℃〜0℃または+40℃〜+85℃の精度は±3.5ppmであり、1年で±1.8分にも相当する誤差にまで及んでしまう問題がある。
(4)電波時計は、JJYの標準時刻電波(40kHz、60kHz)を受信して、その電波内の時刻情報で水晶時計の時刻を補正するものである。この方式の問題は、電波(長波帯)の受信できない場所、例えば、鉄筋コンクリートの建物内、地下鉄構内、地下街等のJJY電波の届かない場所、サービス地域外で時刻修正が出来ないことにより、水晶発振器の周波数精度に依存して、時刻に誤差が出てくる問題がある。
(5)NTP/SNTPサーバを利用した時刻修正は、ネットワークが利用できない環境のコンピュータ、または、NTPサーバ、SNTPサーバと接続の出来ないネットワークでは時刻修正ができない、NTP/SNTPサーバの常時サービスは必ずしも保証されず同サービスが停止されていると時刻修正が出来ない、という問題がある。
(6)無線LANまたはPLCによる時計では、基準となる時計サーバが、管理下の全ての時計を持つコンピュータへ時刻情報を配信し、それぞれの管理下のコンピュータが時刻情報を受信するシステムになるので、システム構成がそれ相当分複雑となり、コストが高くなる問題がある。また、PLCでは、用いる電波が短波帯であるため、短波利用機器等への電波受信障害が発生する問題もある。
(7)特許文献1の蓄電式空気調和装置では、商用交流電源と温度センサを用いて水晶発振周波数を補正する概念のみが示されているが、それを実現可能な手段、あるいは方式が記述されておらず、装置を具体化して実現出来ない。
(8)特許文献2の時計機能付制御装置、及び、(9)特許文献3の多段系統信号発生装置は、商用交流電源周波数を時計の基準信号として使用するが、前述のように、交流電源上に混入するノイズ除去の手段が無いために、電源ノイズを計数することによる時刻誤差を発生し得る問題がある。
(10)特許文献4の時刻データ作成方法は、水晶時計の時刻誤差が経過時間に比例するという仮定の元に成り立つ時刻補正方式である。しかし、水晶発振周波数は、実際には温度で変化する特性があり、また、温度特性も経年変化する特性がある。このため、この方式は、一定温度という条件下でないと正確な時刻修正を行うことは出来ず、温度変化による時刻誤差、水晶発振器の発振周波数の経時特性変化による時刻ずれを補正出来ない問題がある。
(11)パソコンの持つリアルタイムクロックによる時刻は、パソコン立ち上げ時にBIOSから読み出され、以降は、Windows(登録商標)がその値をベースに内部のソフトウェアタイマーで時刻が管理されるため、時刻がずれてくる問題がある。このため、単にパソコン内のリアルタイムクロックICの高精度化を測っただけでは、パソコンの時刻を正確にすることは出来ない問題がある。
(12)特許文献5の電子機器は、一定時間間隔で、水晶時計の誤差を交流周波数のカウント値から時刻補正するという方式上、一定時間の間隔を水晶発振器周波数のカウント誤差の累積が1秒以内になるような値にしないと、それ以上の時刻誤差が発生してしまう問題がある。
例えば、32.768kHzの水晶発振器において、±40ppmの誤差があり、3日周期での一定時間間隔で時刻を補正する場合を考える。3日間では、時計の誤差は±10.368秒もの誤差になり、ここで修正が入る迄には、1〜10秒程度の時刻のずれた時間区間が長時間継続することになる。このケースでは、時刻誤差を1秒未満に抑えるためには、少なくとも6時間56分40秒以内に時刻修正を行わなければならない。
ここで、仮に6時間間隔で時刻補正を行うと仮定する。このとき、6時間の間は継続して安定した交流周波数が計数される必要があるが、この間に商用交流電源にノイズが載ると6時間内のパルスカウント数がずれ、時刻修正がずれて行われる。
すなわち、特許文献5の、交流周波数からパルス信号を取り出す方式は、交流電源上に載るサージノイズや電気機器のノイズを除去する手段が考慮されておらず、単に、整流された脈流電圧について一定の閾値を越えた電圧をコンパレータでパルス波へ変換するという方式であるため、同閾値電圧を超えるような交流電源上のノイズが混入すると、そのノイズ成分も補正カウンタに加算されてしまい、正確な時計基準信号を取り出せず、時刻誤差が発生し得る問題がある。
このように、特許文献5により、水晶時計の時差を商用交流電源周波数の累積カウントで修正する方式は公知であるが、この方式には、時刻修正が行なわれる前の時間区間に、水晶発振器の発振周波数誤差による時差が発生する問題と、交流周波数の周期時間の正確さを観測していないために、他の電気製品のスイッチングノイズや、雷のサージノイズが交流電源に混入すると、交流周波数の正弦波信号と区別できず、誤った交流周波数の累積カウントによる時刻修正誤差が発生する問題がある。
従って、本発明は、高精度な水晶振動子を用いたRTCによる基準周波数を、商用周波数で補正する構成において、ノイズ混入時の時刻修正誤差の発生を防止し、正確な時刻を維持した時計機能を実現することを目的とする。
上記課題を解決するため、本発明では、時刻をカウントし現在時刻を出力する温度補償型水晶発振器リアルタイムクロックと、外部から入力される商用交流電源の正弦波電圧を降圧する変圧器と、該変圧器により降圧された電圧を正の電圧へと変換する差動増幅器と、該差動増幅器により出力される正弦波電圧を周期的にサンプリングして正弦波電圧値のデジタルデータとするAD変換器と、該正弦波電圧値のデジタルデータの中央電圧のクロス点を計数して累積回数を求め、該累積回数に対応する時間を、計数開始時点の前記温度補償型水晶発振器リアルタイムクロックの時刻に加算して時刻誤差を補正する電子回路と、
を備えたことを特徴とする。
を備えたことを特徴とする。
また、商用交流電源の正弦波電圧信号のサージ電圧を吸収するサージアブソーバと、電圧ノイズをフィルタリングするライン・フィルタとを前記変圧器の入力部前段に備え、さらに、前記変圧器と前記差動増幅器との間に、交流周波数を通過周波数帯域とするバンドパス・フィルタを備えたことを特徴とする。
また、商用交流電源の正弦波周波数を、AD変換器を用い一定周期でサンプリング入力し、マイクロコンピュータのプログラム制御で、同正弦波の中央電位クロス電位点間の時間周期を求め、交流電源の周波数の50Hz、60Hzを判定することを特徴とする。
また、水晶発振子の温度に対する周波数誤差を補正する補正回路を持った高精度リアルタイムクロックモジュールICを使用して、同ICによる開始時刻情報をメモリ装置に記憶し、一方、商用交流電源の正弦波電圧をAD変換器へ入力可能な電圧範囲に変換した後、AD変換器を使用してサンプリング・データ化して、同正弦波電圧の中央値をクロスする電位点を検出し、その電位点の出現回数を数え上げることで、その時計の基準単位情報を数え上げ、時刻経過情報としてメモリ装置に記憶し、時刻経過情報が一定値になった時に、前記リアルタイムクロックモジュールICから、終了時刻情報を読み取り、終了時刻情報と開始時刻情報の時差間での時刻経過情報の累積時間誤差を0と見做し、前記リアルタイムクロックモジュールICの持つ開始時刻情報の累積時刻誤差を補正することを特徴とする。
また、商用交流電源の通電状態・周波数変動が正常かどうかをAD変換器のデータのサンプリングにより判定するステップと、サンプリングされた交流正弦波電圧の周期時間値が、使用する商用交流電源の正弦波周波数の周期時間規定値に対して一定の誤差以内に収まるか否かを判別するステップとを更に備え、同周期誤差が一定範囲に無い場合は時刻修正の手順をリセットして再度行うことを特徴とする。
更に、正弦波電圧値のデジタルデータの中央電圧のクロス点を計数して累積回数を求め、該累積回数に対応する時間を、計数開始時点の前記温度補償型水晶発振器リアルタイムクロックの時刻に加算して時刻誤差を補正するプログラムを記憶した記憶媒体を特徴とする。
本発明により、水晶発振器の温度による周波数誤差、振動子個別の周波数誤差、振動子の経時特性変化から影響を受けない、正確な時刻修正が出来、その結果、正確な時刻情報を得ることが可能となる。
以下、本発明を、実施例に基づき詳細に説明する。
図1に、本発明の一実施例である電子機器及びこれに接続される上位装置を示す全体構成図である。
商用交流電源1は、実効値100V、周波数50Hzまたは60Hzの単相交流である。この商用電源は、100Vの周波数50Hz、60Hzのものに限定されず、例えば、実効値200V、50Hz、60Hz三相交流の商用電源へも、一相の周波数を利用することで適用可能である。
サージ・アブソーバ2は、雷、静電気放電、スイッチングなどにより発生するサージ、すなわち、過渡的な過大電圧から本電子機器を保護すると同時に、サージ電圧による交流正弦波のサンプリング誤りを防止する。サージ・アブソーバ2として使用できる代表的なものには、バリスタ、シリコン・サージ防護素子、ガス避雷管などがある。
ライン・フィルタ3は、交流電源に含まれるノイズ成分を減衰させる。
変圧器4は、AD変換器14への入力を目的として、実効値100V交流を±5Vpepへ変換する変圧トランスである。
バンドパス・フィルタ(BPF)5は、抵抗、コンデンサ、オペアンプを使用して、電源周波数の帯域50Hz〜60Hzを通過させ、電源周波数帯域から離れたノイズ周波数を減衰させる。図2に、バンドパス・フィルタ5の内部回路構成を示す。
差動増幅器6は、オペアンプにより、変圧器4出力の±5Vpepを、AD変換器14が入力できる電圧範囲である0〜+5Vへ変換する。図3に、差動増幅器6の内部回路構成を示す。また、図4に、差動増幅器の入力波形及Win及び出力波形Woutの例を示す。
ワンチップ型マイコン12は、内部にCPUコア15、ROM16、RAM17、AD変換器14、I/O回路13、汎用インタフェイス(I/F)回路18を持ち、それらが内部バス19で接続され、一つのパッケージとしたLSIである。
ROM16内に、本発明の時計機能を実現する制御プログラム20を格納し、CPUコア15は、そのプログラムを実行して、ROM16、RAM17、AD変換器14、I/O回路13、汎用インタフェイス(I/F)回路18を制御する。
AD変換器14は、差動増幅器6からの正弦波を0〜+5Vのアナログ電圧を入力し、それをデジタル値に変換したデータを、CPUコア15へ渡す。市販のワンチップ型マイコン12のAD変換器14は、複数のアナログ電圧の入力端子(チャネル)を持つものが多く、本実施例ではそのうちの1チャネルを交流電源起源の正弦波入力に使用する。
バックアップ電池9は、ダイオード10を介して高精度RTC11へ接続し、商用交流電源1が供給されず、このため直流安定化電源7からの5V電源が供給されない場合にも、高精度RTC11の動作を可能とするための電流を供給する。
I/O回路13は、CPUコア15の制御下で、高精度RTC11との信号のやりとりを仲介する。
汎用I/F回路18は、RS−232C等の汎用インタフェイス回路であって、これにより、上位装置のマイコン装置22との、コマンドやデータの書き込み、読み込みを行なう。
なお、マイコン装置22は、本電子機器の上位装置で、マイコン制御の汎用機能を実現する。マイコン装置22に接続する表示装置23は液晶モニタやCRT等を意味し、入力装置24はキーボード、マウス等を意味する。
高精度RTC11は、現在の日付と時刻をリアルタイムに、CPUの制御ではなく自立的に刻む市販のICである。本発明で利用する高精度RTC11は、内部にTCXOと呼ばれる温度補償された水晶発振器を持ち、さらに、温度による水晶発振器の周波数誤差を補正する回路を内蔵したものである。
次に、図1を使用して、本実施例の電子機器の電気信号とデジタルデータ情報の流れを説明する。ワンチップ型マイコン12動作用の5V電源は、直流安定化電源7により供給され、電源オンのタイミングで、リセット回路21がワンチップ型マイコン12にリセット信号を与え、これにより、制御プログラム20がプログラムを実行する。リセット回路21は、商用交流電源1が停電または接続を断たれた後に再通電された時にも動作し、同様に制御プログラム20がプログラムを先頭から実行する。
電子装置の初期時刻を設定する時、ユーザは、マイコン装置22を使用して、表示装置23の案内表示内容に従い、マウスやキーボードなどの入力装置24により、「初期設定時刻」を入力する。ユーザの入力した「初期設定時刻情報」は、RS−232C、USB等の汎用インタフェイスを利用し、汎用I/F回路18を介してワンチップ型マイコン12側へ送られる。これを受けたワンチップ型マイコン12は、I/O回路13を介して、TCXO内蔵高精度RTC11へ「初期設定時刻」を設定して、以降、高精度RTC11は自立的に時刻を刻む。以降、ワンチップ型マイコン12は、商用交流電源1が供給されている条件にて、一定周期(例えば、24時間毎)で、TCXO内蔵高精度RTC11からの現在時刻の情報を読み取り、交流正弦波の累積カウントを基準にして、時刻差の補正を行なう。
一方、上位装置であるマイコン装置22も、汎用I/F回路18を介して電子機器と通信し、必要時に電子機器の時刻情報を得る。
商用交流電源1の100V(実効電圧)周波数50Hzまたは60Hzからの正弦波電圧は、サージ・アブソーバ2を通過して、サージ電圧がある場合はここで吸収する。これにより、雷や誘導雷などのサージ・ノイズを拾うことによる交流正弦波周波数のサンプリングが正しくできなくなる問題の解決を図る。
サージ・アブソーバ2を通過した交流正弦波は、ライン・フィルタ3を通過して、他の交流電源に接続された電気機器の発生するスイッチング・ノイズや放送波など無線強電磁界による高周波電圧の誘導電圧ノイズ等をフィルタリングする。
ライン・フィルタ3を通過した100V交流は、変圧器4により、±5Vpepの交流へ減圧される。変圧器4は、巻き線式変圧トランスを用いることで、交流線上のコモンモード・ノイズ(同相ノイズ)をキャンセルする効果を得ることも出来る。
変圧器4により得られた交流正弦波±5Vpepは、サージ・アブソーバ2、ライン・フィルタ3、変圧器4を通過しているので、相当のノイズが除去されているが、さらに50Hz〜60Hzを通過帯域とするバンドパス・フィルタ(BPF)5でノイズの除去を行なう。BPF5は、50Hz〜60Hzというような低周波では、抵抗、コンデンサ、オペアンプを使用した、例えば、図2のようなものが一例として考えられる。このバンドパス・フィルタの例では、50Hz〜60Hz近辺にカットオフ周波数を設定しても、必要周波数帯域外の近接した不用周波数信号を除去することが回路特性上困難であるが、フィルタの通過周波数帯域をある程度離れた、例えば100Hz、200Hz程度の周波数ではフィルタ効果があり、数kHz程度の周波数になってくると、より大きなフィルタ効果(−30dB以上@1kHz)が期待できる。
こうして、BPF5を通過した信号は、ノイズが相当量減衰された純度の高い周波数50Hzまたは60Hzの正弦波±5Vpepの信号となり、さらに差動増幅器6により、AD変換器14の電圧入力範囲になるように、0〜+5Vの正弦波へ一次変換される。
AD変換器14は、制御プログラム20により制御されたCPUコア15の制御下で、0〜+5Vの正弦波を周期的にサンプリング入力してデジタルデータへ変換し、CPUコア15内部へ取り込む。
周期的にサンプリングされた正弦波電圧のデジタルデータを制御プログラム20は入力して、交流正弦波の中央電圧のクロス点を認識し、その累積カウントを求める。
高精度RTC11は、商用交流電源1が供給されていない場合でも、バックアップ電池9の供給する電力で、自立して時刻を刻む。その時刻は、32.768kHzで±3ppm程度の高精度を期待できる。
現在市販されているTCXOによらない32.768kHzの水晶振動子の周波数誤差は、±20ppm〜±40ppm程度なので、日間誤差:±1.7[秒]〜±3.5[秒]、月間誤差:±51[秒]〜±1分44[秒]、年間誤差:±10分31[秒]〜±21分2秒と、経過時間に対し相当量の時刻誤差が累積されてしまう。
これに対し、TCXO内蔵の高精度RTC11は、周波数誤差±3PPM程度で、日間誤差:±0.26[秒]、月間誤差:±7.8[秒]、年間誤差:±1分35[秒]と時刻誤差が小さくなる。
このように、高精度RTC11では、一般のTCXOによらない水晶発振器に比較して、相当量の周波数安定精度があり、電子装置をバッテリ駆動で動作させ、商用交流電源1から切り離した状態でも、時刻誤差の累積を最小のレベルにできる。
また、商用交流電源1が供給されている場合に、時計の時差の許容誤差を±1[秒]未満と仮定すると、時刻修正は約3日内に行なえば良いことになる。例えば、一定時間が連続1日(24時間)では、交流周波数の累積カウントが誤差0になる特性を利用して、1日1回の時刻修正で、日間秒誤差±1秒未満を容易に達成でき、商用交流電源1への電子機器への接続が続く限り、半永久的に時刻誤差は±1秒未満を維持できる。
ワンチップ型マイコン12は、前述の高精度RTC11から現在時刻を取得し、AD変換器14から得た正確な正弦波の累積カウント誤差と比較して、現在時刻の累積誤差が0となるように現在時刻を修正する。
この時刻修正の原理を、図5に示す波形グラフを用いて説明する。
図4のように、AD変換器14に入力される交流正弦波電圧は、0[V]〜+5[V]を電圧範囲として、時刻t[s]について、
v(t)=Vm(sin2πft+1)/2 ・・・式(1)
Vm=5[V]
f=50[Hz]
で表せる。
v(t)=Vm(sin2πft+1)/2 ・・・式(1)
Vm=5[V]
f=50[Hz]
で表せる。
式(1)の中間電圧の式は、
y=Vm/2=2.5[V] ・・・式(2)
で表せる。
y=Vm/2=2.5[V] ・・・式(2)
で表せる。
ここでv(t)は、一定時間h[時間]を決定すると、h[時間]以内に一定回数だけ式(2)の電圧(=2.5[V])をクロスする交流の中間電圧点がある。すなわち、交流周波数をf[Hz]と置くと、サンプリング時間h[時間]内に、式(2)の電圧をクロスする電圧点の個数Cは、
C=f×2×60×60×h+1[回] ・・・式(3)となる。
C=f×2×60×60×h+1[回] ・・・式(3)となる。
カウント開始時の高精度RTC11の時刻をT1[s]とし、交流周波数の上記電圧クロス点のカウントがC[回](言い換えると、一定時間h[時間])になったとき、即ち、カウント終了時の高精度RTC11の時刻をT2[s]とすると、
Δt=T2−T1−60×60×h[s] ・・・式(4)
式(4)が正弦波サンプリング区間=h[時間]=60×60×h[秒]間に発生した高精度RTC11の時差Δt[s]である。
Δt=T2−T1−60×60×h[s] ・・・式(4)
式(4)が正弦波サンプリング区間=h[時間]=60×60×h[秒]間に発生した高精度RTC11の時差Δt[s]である。
よって、時刻T2[s]の瞬間で、時差Δt[s]を修正した現在時刻T[s]は、
T=T2−Δt ・・・式(5)
=T1+60×60×h
で表せる。
T=T2−Δt ・・・式(5)
=T1+60×60×h
で表せる。
以上が、時刻修正の原理である。時刻修正の原理は、ある程度長い時間を経過すると交流電源周波数の累積カウント時点で正確に誤差が0[s]になる(累積カウント数から逆算した時間が、カウント開始時点からの時差となる)という特性に基づいている。このため、交流電源周波数の累積カウントをいかに正確に行なうかが、時刻精度を正確化するための重要なポイントになる。
次に、この交流電源周波数の累積カウントを正確に行なう本発明の原理を説明する。
式(2)で表される中間電位Vm/2をクロスする隣接する2点の電位点を検出するまでの時間は、1/(2×f)であり、この間にサンプリング周期ts[回]で、X[回]のAD変換のサンプリングを実行すると仮定すると、
ts×X≒1/(2×f) ・・・式(6)
が成立する。
ts×X≒1/(2×f) ・・・式(6)
が成立する。
式(6)の逆数をとると、
1/(ts×X)≒2×f ・・・式(6’)
を得る。
1/(ts×X)≒2×f ・・・式(6’)
を得る。
十分に小さな正の整数εを定義すると、式(6’)は、
|1/(ts×X)−2×f|<ε ・・・式(6”)
で表せる。
|1/(ts×X)−2×f|<ε ・・・式(6”)
で表せる。
ここで、例えば、サンプリング周期ts=1[ms]、交流周波数f=50[Hz]と仮定すると、50Hz半周期=10[ms]でのサンプリング数Xは、X≒10なので、交流周波数の誤差を10%以内とすれば、例えば、ε=10程度が実用的な値となる。
式(2)で表される中間電位Vm/2をクロスする電位点検出について、式(6”)の条件が成立する限り、その検出回数をカウントすれば、正確な交流正弦波という条件下で交流周波数の振幅回数を累積してカウントできる。ノイズの混入があった場合や、交流周波数がずれてしまった場合は、式(6”)が成り立たないので、累積カウントを最初からやり直せばよい。以上のようにして、交流電源の正弦波周波数を、正確に累積カウントすることができる。
上記説明してきた時刻修正の原理は、制御プログラム20により実現する。
以下、制御プログラム20の構造とアルゴリズムを説明する。
制御プログラムでは、3種類の割り込みを処理する。それぞれ、一定周期でAD変換のサンプリングをするためのタイマー割り込み、シリアルデータの送受信用UART(Universal Asynchronous Receiver and Transmitter)の1バイト受信終了割り込み、1バイト送信終了割り込みである。本実施例では、割り込みの優先度は、タイマー割り込みを最優先とし、その優先度の下に、受信終了割り込み、送信終了割り込みを置くことで、時間にずれのない正確なサンプリングを可能とする。
制御プログラム20は、次の構成による。
・初期化タスク
・時刻修正タスク
・送受信タスク
・タイマー割込式AD変換サンプリング処理
・受信割り込み処理
・送信割り込み処理
・タスクスケジューラ
これらのプログラムの機能について説明する。「初期化タスク」は、「時刻修正タスク」と「送受信タスク」を起動し、自タスクを停止する。「初期化タスク」の停止後、「送受信タスク」、「時刻修正タスク」が、マルチ・タスクとして時分割で並列に実行される。タスクの実行優先順位の条件は、時刻修正タスクの実行優先度が、送受信タスクより高いことを条件とする。
・初期化タスク
・時刻修正タスク
・送受信タスク
・タイマー割込式AD変換サンプリング処理
・受信割り込み処理
・送信割り込み処理
・タスクスケジューラ
これらのプログラムの機能について説明する。「初期化タスク」は、「時刻修正タスク」と「送受信タスク」を起動し、自タスクを停止する。「初期化タスク」の停止後、「送受信タスク」、「時刻修正タスク」が、マルチ・タスクとして時分割で並列に実行される。タスクの実行優先順位の条件は、時刻修正タスクの実行優先度が、送受信タスクより高いことを条件とする。
「送受信タスク」は、本発明の電子装置側で、シリアルデータによるマイコン装置22とのコマンド/データの送受信を行なう。
「タイマー割り込み式AD変換サンプリング処理」は、周期ts[s]の周期タイマー割り込み処理で、ts[s]毎のタイマー割り込み発生事象のタイミングで、AD変換器14のAD変換処理を開始させ、AD変換終了後に、タスク実行待ち状態になっている「時刻修正タスク」の待ちを解除する。
「受信割込処理」は、シリアルデータ通信の1バイト受信の割り込み発生毎に、受信バッファへ受信バイトの格納と、受信待ちによるタスク実行待ち状態になっている「送受信タスク」の待ち状態の解除を行なう。
「送信割込処理」は、シリアルデータ通信の1バイト送信終了割り込み毎に、送信終了待ちによってタスク実行待ち状態になっている「送受信タスク」の待ち状態の解除を行なう。
「タスクスケジューラ」は、タスクの起動(start)、タスクを停止状態にする(stop)、タスクを待ち状態にする(wait)、タスクの待ち状態を解除する(post)のシステムコールを用意し、タスク処理及び割り込み処理からのシステムコールがあった場合に、マルチ・タスクを、時分割に並列に実行する制御を行なう。
次に、各プログラムの処理手順をフローチャートにより説明する。
図5に、「初期化タスク」のフローチャートを示す。
「初期化タスク」は、直流安定化電源7から5V電圧が供給された時に、リセット回路21の発生するリセット信号解除のタイミングで実行を開始する。
ステップA010、A020にて、システムコール(start)を使用して、「時刻修正タスク」、「送受信タスク」の順番でそれぞれのタスクを起動し、それぞれタスク実行可能状態にする。その後、割り込み禁止を解除すると(A030)、以降、タイマー割り込みがts[s]毎に周期的に発生し、また、シリアル送受信の割り込み処理が可能となる。
ステップA040で自タスク停止(stop)の処理が実行されると、スケジューラが「初期化タスク」の状態を停止状態にし、ステップA010により実行可能状態となった「時刻修正タスク」へ実行を移す。ステップA040後に、ステップA010へ戻すのは、制御プログラムの内部論理によるリセット動作を想定し、制御プログラムを実行先頭へ戻すためである。
図7に、「時刻修正タスク」のフローチャートを示す。
「時刻修正タスク」は、「初期化タスク」により起動され、「初期化タスク」が停止に入った後に、「スケジューラ」から実行の制御が移され、プログラム実行を開始する。
ステップB010〜B030では、正弦波周波数が50Hzまたは60Hzと判定されるまでの繰り返し処理を実行する。正弦波周波数に周波数の異常が無い限り、通常は、「正弦波周波数の判定」手続きの実行で、変数fに50または60が、変数err_codeに0が格納され、ステップB040へ進む。
ここで一旦、説明を、ステップB020で呼び出される「正弦波周波数の判定」へ移す。
図8に、「正弦波周波数の判定」手続きのフローチャートを示す。
最初にステップC010で、正弦波の中間電位クロス点の立ち上がりフェーズのタイミングを捉える。
また、図13に、この正弦波の中間電位クロス点の立ち上がりタイミングを捉える考え方を示した。
すなわち、隣接した3点の交流正弦波の中間電位クロス点を捉え、それらの隣接したクロス点の時間差が、どちらも50Hzまたは60Hzの半周期に相当する時間幅であり、かつ、現在捉えている図13のタイミングt0において、正弦波が立ち上がりフェーズにある条件で、時刻t0でのクロス点検出タイミングで、ステップC010の実行を終了する。
こうして、交流正弦波の立ち上がりの中間電位クロス点を捉えたタイミングで、ステップC020〜C050では、変数Xに中間電位クロス点の2点間(半周期分)の、AD変換のサンプリング回数を求める。すなわち、最初にカウンタ変数Xを0にしておく。(ステップC020)
ステップC030では、自タスクを実行待ちとするwaitのシステムコールを実行する。すると、現在の実行タスクである「時刻修正タスク」が待ち状態になる。この状態で、タイマー割り込みが発生すると、プログラムの実行は「タイマー割込式AD変換サンプリング処理」へ移る。
ステップC030では、自タスクを実行待ちとするwaitのシステムコールを実行する。すると、現在の実行タスクである「時刻修正タスク」が待ち状態になる。この状態で、タイマー割り込みが発生すると、プログラムの実行は「タイマー割込式AD変換サンプリング処理」へ移る。
ここで、一旦、説明を「タイマー割込式AD変換サンプリング処理」に移す。
図9に、「タイマー割込式AD変換サンプリング処理」のフローチャートを示す。
「タイマー割込式AD変換サンプリング処理」は、ステップD010で、AD変換器14へAD変換開始を指示する。AD変換は変換を開始してから終了するまで、数μs程度の時間を要するので、ステップD020の判断ループでAD変換の終了を待つ。ここでAD変換の終了状態は、AD変換器14内部のステータスレジスタを読むことで検出できる。AD変換の終了を確認すると、その変換値を変数dに格納し(ステップD030)、「時刻修正タスク」の待ちを解除するために、postのシステムコールを実行し、割り込み処理を終了する。(ステップD990)
postのシステムコールの実行により、スケジューラは、一旦実行を停止したステップC030の次のステップであるステップC040へ制御を戻す。
postのシステムコールの実行により、スケジューラは、一旦実行を停止したステップC030の次のステップであるステップC040へ制御を戻す。
ステップC040では、サンプリングされたAD変換値dから、そのサンプリングされたデータdのタイミングが、正弦波電圧の中間電位クロス点であるかどうかを判定する。サンプリングしたAD変換値が、中間電位点かどうかを判定する方法は次による。
前回のサンプリング時刻をti、今回のサンプリング時刻をti+1とするとき、それぞれのAD変換値をd(ti)、d(ti+1)とする。次のいずれかの条件が成立した場合に、中間電位点がサンプリングされたと判定するものとする。
i) d(ti)<Vm/2[V] 且つ d(ti+1)≧Vm/2[V] の時
ii)d(ti)>Vm/2[V] 且つ d(ti+1)≦Vm/2[V] の時
さて、サンプリングデータdが中間電位クロス点でない場合は、ステップC050へ進み、カウンタ変数Xを+1する。このように、C030〜C050のループで、中間電位点が現れる瞬間まで、Xのカウントが進む。
i) d(ti)<Vm/2[V] 且つ d(ti+1)≧Vm/2[V] の時
ii)d(ti)>Vm/2[V] 且つ d(ti+1)≦Vm/2[V] の時
さて、サンプリングデータdが中間電位クロス点でない場合は、ステップC050へ進み、カウンタ変数Xを+1する。このように、C030〜C050のループで、中間電位点が現れる瞬間まで、Xのカウントが進む。
ステップC040で中間電位クロス点と判定されると、カウンタ変数Xには、交流正弦波の半周期区間でカウントされた、AD変換のサンプリング周期回数が格納されている。サンプリング周期は一定時間であってts[s]であるので、周波数f[Hz]は、半周期分の2倍時間の逆数をとって、
f=1/(ts×X×2)
で計算される。(ステップC060)
周波数f[Hz]が測定されたので、それが50HzかどうかをステップC070、60HzであるかをC090でチェックし、規定誤差(ε)未満であれば、周波数50Hzまたは60Hzと確定させ、「正弦波周波数の測定手続き」から呼び出し元の「時刻修正タスク」へ戻る。
f=1/(ts×X×2)
で計算される。(ステップC060)
周波数f[Hz]が測定されたので、それが50HzかどうかをステップC070、60HzであるかをC090でチェックし、規定誤差(ε)未満であれば、周波数50Hzまたは60Hzと確定させ、「正弦波周波数の測定手続き」から呼び出し元の「時刻修正タスク」へ戻る。
測定された交流周波数が、50Hzまたは60Hzより外れていれば、f=∞(マイコン中で表現できる最大の数)を設定して、周波数が規定外であることを意味するエラーコードを変数err_codeに設定して(C110、C120)「正弦波周波数の測定手続き」から呼び出し元の「時刻修正タスク」へ戻る。
説明を「時刻修正タスク」へ戻す。
こうして「正弦波周波数の測定」手続きから実行が戻ると、通常は正弦波周波数として変数fに50Hzまたは、60Hzが設定され、err_code=0(正常)となっている。ステップB030で周波数が正常に測定されなかった場合は、周波数の再測定のため、B010へ戻る。通常、交流正弦波は正常に50Hzまたは60Hzと測定されるので、ステップB040へ進む。
ステップB040にて、カウンタ変数Countには、式(2)の閾値電圧Vm/2をクロスする電位点の検出回数を格納する。このため、最初にカウンタ変数Count←0に初期設定する。
次に、交流正弦波の中間電位クロス点で、AD変換のサンプリング開始のタイミングをとる。(ステップB050)(AD変換のサンプリング開始タイミングのとり方は前述の通りである。)
ここで、正弦波のカウント開始タイミングで、高精度RTC11の現在時刻を変数T1へ記憶する。(ステップB060)
ステップB070〜B100のループ処理は、AD変換された交流電圧値dが交流の中間電位Vm/2を検出するまでのサンプリング回数を、カウンタ変数Xに求める。
ここで、正弦波のカウント開始タイミングで、高精度RTC11の現在時刻を変数T1へ記憶する。(ステップB060)
ステップB070〜B100のループ処理は、AD変換された交流電圧値dが交流の中間電位Vm/2を検出するまでのサンプリング回数を、カウンタ変数Xに求める。
まず、最初に変数X=0に初期設定し(ステップB070)、B080でAD変換値dが求まるまで、自タスク(時刻修正タスク)を待ち状態にする。ここで、タイマー割り込みが入ると、「タイマー割り込み式AD変換サンプリング処理」からAD変換値dが求まり、「時刻修正タスク」のタスク待ちが解除される。(ここで、「タイマー割り込み式AD変換サンプリング処理」割り込み処理の手順は既に前に説明しているので、その説明を省略する。)
こうして、ステップB070〜B100で、サンプリング回数Xが求まると、前述の式(6”)の条件をサンプリング回数Xが満たすかどうかをステップB110でチェックし、式(6”)の条件が成立するのであれば、交流周波数は正常範囲として、次のステップB120へ進み、式(6”)の条件が成立しないのであれば、時刻修正のシーケンスを最初からやり直すために、ステップB040まで戻る。
こうして、ステップB070〜B100で、サンプリング回数Xが求まると、前述の式(6”)の条件をサンプリング回数Xが満たすかどうかをステップB110でチェックし、式(6”)の条件が成立するのであれば、交流周波数は正常範囲として、次のステップB120へ進み、式(6”)の条件が成立しないのであれば、時刻修正のシーケンスを最初からやり直すために、ステップB040まで戻る。
ステップB120は、AD変換された電圧が交流中間電位(=Vm/2)をクロスした回数をカウンタ変数Xに+1加算する。
カウント変数Countが、式(3)に示した回数に達していなければ、交流中間電位のクロス点のサンプリングカウントを繰り返すために、ステップB070へ戻る。
カウント変数Countが、式(3)に示した回数に達していれば、ステップB140〜B170の時刻修正処理へ進む。
ステップB140では、h[時間]サンプリング終了瞬間の高精度RTC11の示す時刻を変数T2へ読み出す。
ステップB150では、式(4)に従って時差Δt[s]を計算する。
ステップB160では、式(5)に従って時差を補正した現在時刻Tを求める。
ステップB170では、その修正された時刻Tを高精度RTC11へ設定する。
ステップB180は、現在時刻Tを変数T1へ記憶し、ステップB070へ戻り、新たな時刻補正シーケンスを開始する。
以上のようにして、一定時間h[時間]に該当する交流周波数の累積カウントがされる毎に、高精度RTC11の時刻が修正される。
さて、以上のように「時刻修正タスク」が実行されることで、一定経過時間h[時間]毎に時刻修正が行なわれる一方で、その時刻情報は、シリアル通信により本電子機器から上位装置であるマイコン装置22へと送られる。この通信処理について、図10〜図12を用いて説明する。
図10に「送受信タスク」、図11に「受信割り込み処理」、図12に「送信割り込み処理」のフローチャートを示す。
この「送受信タスク」は、「初期化タスク」により実行可能とされる以降は、「時刻修正タスク」でwaitのシステム・コールが発行され、「時刻修正タスク」が待ち状態になった時に「スケジューラ」から実行が移される。タスクの実行優先度は、「送受信タスク」の方が「時刻修正タスク」より低いので、「時刻修正タスク」が待ち状態になったときに「送受信タスク」が実行される。
このシリアル送受信では、マイコン装置22側がマスターとなって、コマンドを電子機器側へ送信し、そのコマンドの応答を、電子機器側が行うことを仮定している。
図10により「送受信タスク」について説明する。
「スケジューラ」から「送受信タスク」への実行が移されると、上位装置であるマイコン装置22からのコマンドが受信されていないかどうか、受信バイト数をチェックする。(ステップE010)
本電子機器に何も受信されていない場合は、waitのシステムコールを発行し、自タスク(「送受信タスク」)を待ち状態にする。
本電子機器に何も受信されていない場合は、waitのシステムコールを発行し、自タスク(「送受信タスク」)を待ち状態にする。
上位装置のマイコン装置22からコマンドが送信されると、1バイト受信毎に割り込みが発生し、「受信割り込み処理」が実行される。「受信割り込み処理」は、受信バッファへ受信バイトを格納して(ステップF010)、postシステム・コール(F020)により、待ち状態の「送受信タスク」を実行可能状態として割り込み処理を終了する。
こうしてタスク待ちを解除された「送受信タスク」は、受信バッファからデータを読んで(ステップE030)、受信コマンドを処理し、上位装置のマイコン装置22へ応答すべき送信データを作成する。(ステップE040)
ステップE050〜E070は、上位装置のマイコン装置22へ応答すべきデータを送信する処理である。この送信処理は、1バイト送信毎にタスク待ち状態になり(ステップE070)、1バイト送信終了毎にその待ちがpostシステムコール(G010)により解除される。以上説明した手順により、「時刻修正タスク」、「送受信タスク」は、マルチ・タスクとして並列に動作し、時刻を修正しながら、上位装置のマイコン装置22へ時刻を知らせる。
ステップE050〜E070は、上位装置のマイコン装置22へ応答すべきデータを送信する処理である。この送信処理は、1バイト送信毎にタスク待ち状態になり(ステップE070)、1バイト送信終了毎にその待ちがpostシステムコール(G010)により解除される。以上説明した手順により、「時刻修正タスク」、「送受信タスク」は、マルチ・タスクとして並列に動作し、時刻を修正しながら、上位装置のマイコン装置22へ時刻を知らせる。
以上記載したような構成を採ることにより、本発明は下記の効果を奏する。
水晶発振器から生成する時計時刻を、商用交流電源周波数の累積カウントを基準に補正するので、水晶発振器の温度による周波数誤差、振動子個別の周波数誤差、振動子の経時特性変化から影響を受けない、正確な時刻修正が出来、その結果、正確な時刻情報を得ることが出来る。
また、交流周波数のカウント方法は、交流波を単純に閾値を基準にパルス信号へ変換するものではなく、交流周波数を1/2周期毎にその周期時間をAD変換器でサンプリング計測して、その正確さをチェックしているので、誤った周期の交流周波数を計数することが無くなり、従来の交流周波数基準とする時刻補正方式よりも、より確実に、正確な時刻を得ることが出来る。
また、AD変換器の入力には、サージ・アブソーバ、ライン・フィルタ、バンドパス・フィルタを通過させているので、交流電源上のノイズを除去し、上記の時刻補正シーケンスが途中で失敗する確率を下げ、時刻修正の信頼性を向上させている。
また、JJYの電波が受信できない環境でも、商用交流電源があれば、その周波数の高精度さによる正確な時刻情報を得ることが出来る。
また、NTP、SNTPサーバが利用できない環境でも、商用交流電源があれば、その周波数の高精度さによる正確な時刻情報を得ることが出来る。
また、そうしたサーバを利用するために必要なTCP/IPプロトコルやEthernet(登録商標)を制御するハードウェア、ソフトウェアを必要とせず、構成が単純であるため、実現しやすく、開発コストが低い。
また、停電が発生しても、水晶時計として自立して機能するので、止まることなく時刻を刻むことが出来、尚且つ、高精度RTCを使用することで、停電時または、商用交流電源から切り離された環境でも、電子装置の時刻誤差をより小さくできる。
また、パソコンのリアルタイムクロックは、チップセットと呼ばれるローカルバスに直接接続されているため、より高精度の別のリアルタイムクロックへの交換が出来ないが、本電子機器は、汎用インタフェイスを介して容易に接続して利用可能となる。
1:商用交流電源、2:サージ・アブソーバ、3:ライン・フィルタ、4:変圧器、5:バンドパスフィルタ(BPF)、6:差動増幅器、7:直流安定化電源、8:5V電源ライン、9:バックアップ電池、10:ダイオード、11:高精度リアルタイムクロック(RTC)IC、12:ワンチップ型マイコン、13:I/O回路、14:AD変換器、15:CPUコア、16:ROM、17:RAM、18:汎用インタフェイス回路、19:ワンチップ型マイコンの内部バス、20:制御プログラム、21:リセット回路、22:マイコン装置、23:表示装置、24:入力装置。
Claims (6)
- 時刻をカウントし現在時刻を出力する温度補償型水晶発振器リアルタイムクロックと、
外部から入力される商用交流電源の正弦波電圧を降圧する変圧器と、
該変圧器により降圧された電圧を正の電圧へと変換する差動増幅器と、
該差動増幅器により出力される正弦波電圧を周期的にサンプリングして正弦波電圧値のデジタルデータとするAD変換器と、
該正弦波電圧値のデジタルデータの中央電圧のクロス点を計数して累積回数を求め、該累積回数に対応する時間を、計数開始時点の前記温度補償型水晶発振器リアルタイムクロックの時刻に加算して時刻誤差を補正する電子回路と、
を備えたことを特徴とする電子機器。 - 商用交流電源の正弦波電圧信号のサージ電圧を吸収するサージアブソーバと、
電圧ノイズをフィルタリングするライン・フィルタとを前記変圧器の入力部前段に備え、
さらに、前記変圧器と前記差動増幅器との間に、交流周波数を通過周波数帯域とするバンドパス・フィルタを備えたことを特徴とする請求項1記載の電子機器。 - 商用交流電源の正弦波周波数を、AD変換器を用い一定周期でサンプリング入力し、マイクロコンピュータのプログラム制御で、同正弦波の中央電位クロス電位点間の時間周期を求め、交流電源の周波数の50Hz、60Hzを判定することを特徴とする電子機器。
- 水晶発振子の温度に対する周波数誤差を補正する補正回路を持った高精度リアルタイムクロックモジュールICを使用して、同ICによる開始時刻情報をメモリ装置に記憶し、一方、商用交流電源の正弦波電圧をAD変換器へ入力可能な電圧範囲に変換した後、AD変換器を使用してサンプリング・データ化して、同正弦波電圧の中央値をクロスする電位点を検出し、その電位点の出現回数を数え上げることで、その時計の基準単位情報を数え上げ、時刻経過情報としてメモリ装置に記憶し、時刻経過情報が一定値になった時に、前記リアルタイムクロックモジュールICから、終了時刻情報を読み取り、終了時刻情報と開始時刻情報の時差間での時刻経過情報の累積時間誤差を0と見做し、前記リアルタイムクロックモジュールICの持つ開始時刻情報の累積時刻誤差を補正することを特徴とする電子機器の時刻修正方法。
- 商用交流電源の通電状態・周波数変動が正常かどうかをAD変換器のデータのサンプリングにより判定するステップと、サンプリングされた交流正弦波電圧の周期時間値が、使用する商用交流電源の正弦波周波数の周期時間規定値に対して一定の誤差以内に収まるか否かを判別するステップとを更に備え、同周期誤差が一定範囲に無い場合は時刻修正の手順をリセットして再度行うことを特徴とする請求項4記載の電子機器の時刻修正方法。
- 正弦波電圧値のデジタルデータの中央電圧のクロス点を計数して累積回数を求め、該累積回数に対応する時間を、計数開始時点の前記温度補償型水晶発振器リアルタイムクロックの時刻に加算して時刻誤差を補正するプログラムを記憶した記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006159748A JP2007327871A (ja) | 2006-06-08 | 2006-06-08 | 電子機器、時刻修正方法、及び記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006159748A JP2007327871A (ja) | 2006-06-08 | 2006-06-08 | 電子機器、時刻修正方法、及び記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007327871A true JP2007327871A (ja) | 2007-12-20 |
Family
ID=38928435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006159748A Pending JP2007327871A (ja) | 2006-06-08 | 2006-06-08 | 電子機器、時刻修正方法、及び記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007327871A (ja) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010008294A (ja) * | 2008-06-27 | 2010-01-14 | Kyocera Corp | 通信装置及び時計補正方法 |
JP2011164674A (ja) * | 2010-02-04 | 2011-08-25 | Mitsubishi Electric Corp | 電子制御装置 |
JP2014025651A (ja) * | 2012-07-27 | 2014-02-06 | Noritz Corp | 燃焼装置 |
JP2014073015A (ja) * | 2012-09-28 | 2014-04-21 | Brother Ind Ltd | 電子機器、及び液体吐出装置 |
CN106612104A (zh) * | 2015-10-26 | 2017-05-03 | 深圳市博巨兴实业发展有限公司 | 一种实时时钟误差补偿装置及方法 |
CN108020808A (zh) * | 2017-11-21 | 2018-05-11 | 浙江晨泰科技股份有限公司 | 一种高可靠高精度电能表实时时钟设计方法 |
CN108268082A (zh) * | 2016-12-30 | 2018-07-10 | 展讯通信(上海)有限公司 | 功率控制方法及装置 |
US10320307B2 (en) | 2015-08-07 | 2019-06-11 | Nec Platforms, Ltd. | AC input/DC output power supply and control method thereof |
CN111045477A (zh) * | 2018-10-11 | 2020-04-21 | 精工爱普生株式会社 | 实时时钟装置、电子设备及移动体 |
CN111367355A (zh) * | 2020-05-12 | 2020-07-03 | 合肥联宝信息技术有限公司 | 一种用于电子设备的时间恢复方法及装置 |
CN111399418A (zh) * | 2020-03-30 | 2020-07-10 | 中国电子科技集团公司第五十四研究所 | 一种低功耗断电守时模块 |
CN116203823A (zh) * | 2023-02-16 | 2023-06-02 | 深圳市中冀联合技术股份有限公司 | 一种高精度时钟驯服方法 |
-
2006
- 2006-06-08 JP JP2006159748A patent/JP2007327871A/ja active Pending
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010008294A (ja) * | 2008-06-27 | 2010-01-14 | Kyocera Corp | 通信装置及び時計補正方法 |
JP2011164674A (ja) * | 2010-02-04 | 2011-08-25 | Mitsubishi Electric Corp | 電子制御装置 |
JP2014025651A (ja) * | 2012-07-27 | 2014-02-06 | Noritz Corp | 燃焼装置 |
JP2014073015A (ja) * | 2012-09-28 | 2014-04-21 | Brother Ind Ltd | 電子機器、及び液体吐出装置 |
US10320307B2 (en) | 2015-08-07 | 2019-06-11 | Nec Platforms, Ltd. | AC input/DC output power supply and control method thereof |
CN106612104A (zh) * | 2015-10-26 | 2017-05-03 | 深圳市博巨兴实业发展有限公司 | 一种实时时钟误差补偿装置及方法 |
CN106612104B (zh) * | 2015-10-26 | 2023-06-09 | 深圳市博巨兴微电子科技有限公司 | 一种实时时钟误差补偿装置及方法 |
CN108268082B (zh) * | 2016-12-30 | 2020-06-02 | 展讯通信(上海)有限公司 | 功率控制方法及装置 |
CN108268082A (zh) * | 2016-12-30 | 2018-07-10 | 展讯通信(上海)有限公司 | 功率控制方法及装置 |
CN108020808B (zh) * | 2017-11-21 | 2020-02-04 | 浙江晨泰科技股份有限公司 | 一种高可靠高精度电能表实时时钟设计方法 |
CN108020808A (zh) * | 2017-11-21 | 2018-05-11 | 浙江晨泰科技股份有限公司 | 一种高可靠高精度电能表实时时钟设计方法 |
CN111045477A (zh) * | 2018-10-11 | 2020-04-21 | 精工爱普生株式会社 | 实时时钟装置、电子设备及移动体 |
CN111045477B (zh) * | 2018-10-11 | 2024-01-05 | 精工爱普生株式会社 | 实时时钟装置、电子设备及移动体 |
CN111399418A (zh) * | 2020-03-30 | 2020-07-10 | 中国电子科技集团公司第五十四研究所 | 一种低功耗断电守时模块 |
CN111367355A (zh) * | 2020-05-12 | 2020-07-03 | 合肥联宝信息技术有限公司 | 一种用于电子设备的时间恢复方法及装置 |
CN116203823A (zh) * | 2023-02-16 | 2023-06-02 | 深圳市中冀联合技术股份有限公司 | 一种高精度时钟驯服方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007327871A (ja) | 電子機器、時刻修正方法、及び記憶媒体 | |
US20160225562A1 (en) | Enhanced circuit breakers and circuit breaker panels and systems and methods using the same | |
US7272201B2 (en) | System for synchronous sampling and time-of-day clocking using an encoded time signal | |
US6633825B2 (en) | Automatic calibration of time keeping for utility meters | |
JP2007078405A (ja) | ソフトウェア時計の計時プログラム | |
CN107844050B (zh) | 守时系统、守时电路及守时方法 | |
JP6282723B2 (ja) | クオーツ電子時計の高精度計時方法 | |
JP2009300128A (ja) | サンプリング同期装置、サンプリング同期方法 | |
CN105102991B (zh) | 信号处理装置 | |
JP4868488B2 (ja) | 電波時計 | |
CA2856377C (en) | Metrology timekeeping systems and methods | |
JP2012047705A (ja) | 時刻補正装置、及び制御方法 | |
US8253456B2 (en) | Time correction circuit and electronic apparatus | |
JP2005269759A (ja) | サンプリング同期方式および時間管理方式 | |
JP2004272403A (ja) | プロセス入出力装置及びこれを用いた監視制御システム | |
JP2007147484A (ja) | 時刻補正システム | |
JP4737095B2 (ja) | 単独運転検出装置及びその同期方法 | |
KR20170093356A (ko) | Plc에 내장된 rtc 장치의 시각 보정 방법 및 그 plc | |
JP2003270369A (ja) | リアルタイムクロックの時刻補正方法及び時刻補正装置 | |
JP2017020852A (ja) | 組込装置 | |
CN115421369B (zh) | 北斗卫星授时控制系统模块 | |
US7447279B2 (en) | Method and system for indicating zero-crossings of a signal in the presence of noise | |
JPWO2009040945A1 (ja) | 監視装置及びプログラム | |
CN104460310A (zh) | 基于北斗二代卫星系统授时机 | |
JP2004226243A (ja) | Gps受信時刻を利用した送電線路の故障点標定システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20081028 |