JPH05134779A - カレンダiC補正方法 - Google Patents

カレンダiC補正方法

Info

Publication number
JPH05134779A
JPH05134779A JP4017222A JP1722292A JPH05134779A JP H05134779 A JPH05134779 A JP H05134779A JP 4017222 A JP4017222 A JP 4017222A JP 1722292 A JP1722292 A JP 1722292A JP H05134779 A JPH05134779 A JP H05134779A
Authority
JP
Japan
Prior art keywords
time
calendar
cpu
error
correction method
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.)
Granted
Application number
JP4017222A
Other languages
English (en)
Other versions
JP2896004B2 (ja
Inventor
Noriaki Kawahara
規明 河原
Motoharu Suzuki
元治 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuji Facom Corp
Original Assignee
Fuji Facom Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuji Facom Corp filed Critical Fuji Facom Corp
Priority to JP4017222A priority Critical patent/JP2896004B2/ja
Publication of JPH05134779A publication Critical patent/JPH05134779A/ja
Application granted granted Critical
Publication of JP2896004B2 publication Critical patent/JP2896004B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electric Clocks (AREA)

Abstract

(57)【要約】 【目的】温度による周波数変化の大きい水晶発振子で動
作するカレンダiCの計時誤差を温度変化の少ない水晶
発振子で動作するCPUで監視して補正する際のCPU
の時刻補正処理の時間が前記計時誤差に介入することを
防ぐ。 【構成】カレンダiC2の1分毎の割込要求iNTに同
期したタイミングで、そのつど1回、CPU1はCPU
クロックで動くフリーランカウンタ5の値を読込み、前
回の読込値と今回の読込値との差分からカレンダiC2
の計時誤差を求める。但しこの誤差にはCPU水晶3の
誤差も含まれるので、この誤差分はRAM7に予め格納
されたCPU用水晶誤差7aを読出して補正する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、時刻を計時するカレ
ンダiCと、この時刻を読出すマイコンを備えたシステ
ムにおいて、カレンダiCの計時誤差を補正する方法に
関する。なお以下各図において同一の符号は同一もしく
は相当部分を示す。
【0002】
【従来の技術】図3はこの種の従来のシステムの構成例
を示す。同図において2はカレンダiC、4はこのカレ
ンダiCにクロック周波数を与えるカレンダiC用水晶
発振子(なお以下水晶発振子を単に水晶とも略記す
る)、1はこのカレンダiC2の計時時刻を必要時に読
出すCPU(マイコンとも呼ぶ)である。
【0003】ところでコンピュータにカレンダ機能を付
加することは一般に広く行われている。カレンダ機能は
多くの場合、図3のように主たる処理を行うCPU1と
は独立したカレンダiC2を用いて計時を行っている。
そしてCPU1がカレンダiC2内の時刻レジスタを読
み出すことによって、時刻を得ている。
【0004】
【発明が解決しようとする課題】図3のようなシステム
においては、カレンダの精度はカレンダiC2に接続さ
れる水晶発振子4のもつ発振周波数特性に左右される。
一般的に広く使われているカレンダiC用の水晶発振子
は、図4に示す温度特性を持つため、温度が変化すると
発振周波数が比較的大きく変化し、時刻に誤差が生じて
しまう。
【0005】図4のような温度特性の水晶発振子が使わ
れているのは次の3点の要求があるためである。 バッテリバックアップのような低電圧時でも、発振し
続けること。 バッテリ消費をできるだけ少なくするために発振周波
数は低いこと。 安価であること。
【0006】これらの要求を満足させるために選べる水
晶は図4に示す温度特性をもつものしかない。そのた
め、一般に温度が変化すると精度も変化するという問題
が従来のシステムでは存在していた。また、特殊な水晶
加工により、温度による精度変化が小さい水晶振動子も
知られているが高価である。
【0007】そこで本発明はこの問題を解消できるカレ
ンダiC補正方法を提供することを課題とする。
【0008】
【課題を解決するための手段】前記の課題を解決するた
めに、請求項1のカレンダiC補正方法は、カレンダi
C用の水晶発振子(4など)の出力クロックによって計
時動作を行うカレンダiC(2など)と、CPU用の水
晶発振子(3など)の出力クロックによって駆動される
CPU(1など)とを備えたシステムにおいて、前記C
PUが前記CPU用水晶発振子の出力クロックに基づく
計時時間(以下第1の計時時間という)を基準として前
記カレンダiCの計時時間(以下第2の計時時間とい
う)を補正するようにするものとする。
【0009】また請求項2のカレンダiC補正方法で
は、請求項1に記載のカレンダiC補正方法において、
前記CPUは所定周期ごとに前記第1の計時時間に対す
る前記第2の計時時間の誤差を(メモリ6などに格納し
て)積算し、この誤差の積算値が時刻変更の最小単位に
達するごとに前記補正を行うものであるようにする。ま
た請求項3のカレンダiC補正方法では、請求項1また
は請求項2に記載のカレンダiC補正方法において、前
記第1の計時時間は前記CPU用水晶発振子の出力クロ
ック(CLKなど)を計数するカウンタ(フリーランカ
ウンタ5など)を介して計時されるものであるようにす
る。
【0010】また請求項4のカレンダiC補正方法は、
カレンダiC用の水晶発振子(4など)の出力クロック
によって計時動作を行うカレンダiC(2など)と、C
PU用の水晶発振子(3など)の出力クロックによって
駆動されるCPU(1など)とを備えたシステムにおい
て、前記CPU用水晶発振子の周波数誤差データ(7a
など)を記憶する手段(バッテリバックアップRAM7
など)を備え、前記CPUが前記CPU用水晶発振子の
出力クロックに基づく計時時間を、さらに前記周波数誤
差データを参照して修正してなる計時時間(以下第1の
計時時間という)を基準として前記カレンダiCの計時
時間(以下第2の計時時間という)を補正するようにす
るものとする。
【0011】また請求項5のカレンダiC補正方法で
は、請求項4に記載のカレンダiC補正方法において、
前記CPUは所定周期ごとに前記第1の計時時間に対す
る前記第2の計時時間の誤差を(メモリ6などに格納し
て)積算し、この誤差の積算値が時刻変更の最小単位に
達するごとに前記補正を行うものであるようにする。ま
た請求項6のカレンダiC補正方法では、請求項4また
は請求項5に記載のカレンダiC補正方法において、前
記第1の計時時間は前記CPU用水晶発振子の出力クロ
ック(CLKなど)を計数するカウンタ(フリーカウン
タ5など)の計数値に前記の修正を行って計時されるも
のであるようにするものとする。
【0012】また請求項7のカレンダiC補正方法で
は、請求項3に記載のカレンダiC補正方法において、
前記CPUは、前記カレンダiCが自身の計時する所定
の時間間隔毎に発生する割込要求(1分割込iNTな
ど)に同期して、そのつど1回前記カウンタの計数値を
読取り前記補正を行うものであるようにする。また請求
項8のカレンダiC補正方法では、請求項6に記載のカ
レンダiC補正方法において、前記CPUは、前記カレ
ンダiCが自身の計時する所定の時間間隔毎に発生する
割込要求(1分割込iNTなど)に同期して、そのつど
1回前記カウンタの計数値を読取り前記補正を行うもの
であるようにする。
【0013】
【作用】マイコンにカレンダiCの誤差を監視させて、
進みすぎた時刻を遅らせたり、遅れすぎた時刻を進ませ
たりすることによって、時刻の補正をするものである。
即ちマイコンが、マイコンに接続されている水晶発振器
をもとに動いているカウンタによって計時する時間と、
カレンダiCが計時する時間とを比較し、カレンダiC
の誤差を検出しカレンダiC内の時刻レジスタを書き換
えることによって時刻補正を行う(請求項1ないし
3)。
【0014】マイコンに接続される水晶発振子には図5
に示すような周波数変化の小さい温度特性を持つものが
一般的に使われている。マイコンが必要とする周波数帯
は高く、しかもバッテリバックアップ時の動作を要求し
ていないため、図5のような温度特性を持つ水晶発振子
を得ることが容易にかつ安価に実現できるためこのよう
な水晶発振子が一般的に使用されている。
【0015】マイコン用水晶の温度変化に対する周波数
偏差はカレンダiC用水晶のそれと比べて、数分の1か
ら10分の1程度しかない。従って、マイコンの計時す
る時間を基準としてカレンダiC内の時刻レジスタを読
み出し、誤差を抽出して時刻を書き換えてやれば時刻補
正ができる。このように補正した結果、カレンダiCの
時刻はカレンダ用水晶の精度にかかわりなく常にマイコ
ン用水晶の持つ誤差内に納まる。そして誤差は補正前の
数分の1から10分の1程度になる。
【0016】但し温度変化に対する周波数偏差は小さい
が規定の発振周波数からは外れたマイコン用水晶を利用
する場合には、さらに不揮発性のメモリ7を追加し、こ
の不揮発性メモリ7へマイコン用水晶の発振周波数誤差
を格納する。そしてマイコンが、その時刻補正処理過程
において、収集したカレンダiC誤差から、メモリ7に
格納されたマイコン用水晶の誤差データをさしひき修正
して、最終的にカレンダ誤差を求める(請求項4ないし
6)。
【0017】またカレンダiCの計時誤差を具体的に求
める際、カレンダiCが例えば1分の計時毎に発生する
割込要求に同期して、マイコンがマイコンクロックを計
数するフリーランカウンタ5の計数値を、そのつど1回
読取る方法を用いることにより、マイコンの時刻補正処
理時間が計時誤差に介入することを防ぐ(請求項7,
8)
【0018】
【実施例】先ず図1および図2を用いて請求項1ないし
3に関わる発明(便宜上第1の発明という)の実施例を
説明する。図1はこの第1発明の一実施例としてのシス
テム構成図で図3に対応するものである。また、図2は
図1のCPUの要部動作を示すフローチャートである。
【0019】図1において、カレンダiC2はアラーム
機能を持ち、アラームレジスタに設定した時刻に達した
時に(この例では1分毎に)CPU1に割込信号iNT
を出力することができるものを使用した。但し第1発明
の実現においては、必ずしもカレンダiCにこのような
アラーム機能は必要としない。しかしこの実施例におい
てはCPU1の仕事量軽減のためにアラーム機能付きの
カレンダiC2を用いた。また3はCPU1を駆動する
水晶発振子(マイコン用水晶ともいう)であり、5はC
PU用水晶発振子3から作られるCPUクロックCLK
でカウント動作をするフリーランカウンタで、カウント
周期は1msecである。また6はCPU1によって読み書
きされるメモリである。
【0020】次に図2を用いてCPU1の要部動作を説
明する。なお以下S1〜S10の符号は図2内のステッ
プを示す。CPU1はカレンダiC2から時刻を読出し
てメモリ6に格納すると共に、カウンタiC2に対し、
1分後に割込み信号iNTを出すよう設定する(S
1)。しかし、カレンダiC2の知らせてくる1分間に
は、カレンダ用水晶4のもつ誤差が含まれている。設定
してすぐ、CPU1はフリーランカウンタ5から、その
時点のフリーランカウンタ値5aを読出してメモリ6に
格納し(S2)、カレンダiC2からの割込を待つ(S
3)。
【0021】次に、カレンダiC2からの割込みが発生
したら処理が次へ進む(S3,分岐有)。即ち割込み発
生後、フリーランカウンタ5を読み出し(S4)、この
読み出し値から前回の読み出し値をさしひくと、カレン
ダiC2が1分といっている時間がCPUクロックを基
準とした値で求まる(S5)。例えば、カレンダiC用
水晶4の周波数偏差が0の時は、カレンダiC2が起こ
す1分の割込間隔にカウンタ値は60000 カウントになる
(1分間=60000msec )。また、カレンダ用水晶4の誤
差が-50ppmだとすると、カウンタは60003 カウントにな
る。同じく誤差が+50ppmの時は59997 カウントになる。
カウント値が60000 より多いか少ないかで、進みぎみか
遅れぎみかを検出する。
【0022】このようにして誤差が検出されたならば
(S5,分岐有)、次にメモリ6へ誤差の積算値を格納
する(S6)。そして時刻変更ができる最小単位の時刻
誤差に達したら(S7,分岐Y)、時刻変更を行う。即
ち進みぎみなら時刻を遅らせ(S8→S9)、遅れぎみ
なら時刻を進める(S8→S10)。例えば、使用して
いるカレンダiCの時刻変更が秒単位で可能ならば、積
算値が1秒(1000カウント)に達したところで時刻の変
更を行う。
【0023】次に図6ないし図9を用いて請求項4ない
し6に関わる発明(便宜上第2の発明という)の実施例
を説明する。上述した第1発明の方法で補正を行ってい
るボードは、規定の発振周波数のマイコン水晶を実装す
ることができれば、最良の補正効果を得ることができ
る。しかし、マイコン用水晶も発振周波数の温度変化は
小さいものの、値段の高いものは図8のように発振周波
数のばらつきが数ppmと小さく、安いものは図9のよ
うにばらつきが100ppm程度と大きい。しかし今、
仮にカレンダ水晶誤差が0ppmで、−50ppmのマ
イコン水晶を実装してしまったら、カレンダは−50p
pm程度の誤差を生み出してしまう。
【0024】これは次の理由による。即ちマイコン用水
晶が基準であるため、たとえカレンダiCが0ppm誤
差の水晶によって誤差ゼロの時間間隔で時刻を知らせて
きても、マイコン側が持つフリーランカウンタ5は50
ppmゆるい速度でカウントしているためにカウント数
が50ppm少ない。マイコンはこれをカレンダ側が5
0ppm短い時間間隔で時刻を知らせてきていると誤認
し、カレンダが進みすぎであると結論づける。そのた
め、実際には必要のない時刻修正を行って、カレンダi
Cの時刻を遅らせてしまう。つまりカレンダは結果とし
て50ppmほど遅れてしまう。
【0025】そこでこの第2発明は、低コストのマイコ
ン用水晶を利用し、−50ppmのマイコン用水晶をの
せた場合でも、カレンダ誤差を正しく認識してカレンダ
の誤差を最小限にすることができるようなカレンダiC
補正方法を提供しようとするものである。即ちこの第2
発明においてはこの例の場合、フリーランカウンタのカ
ウント数が、50ppm少ないというところまでは従来
とかわらない。しかしカレンダが進んでいるのか遅れて
いるのか、最終的な判断をする前に不揮発性メモリから
マイコン用水晶の誤差データを読み出し、フリーランカ
ウンタ自身の誤差が−50ppmあるのだということに
より修正する(図7のステップS4A)。するとカレン
ダの誤差は0であるという結果を得て時刻修正を行わな
いのである。ただし、マイコン用水晶の周波数誤差はア
ナログ値で存在する一方で、誤差データを書込むメモ
リ、誤差計算値はディジタルであるため、ここに、ディ
ジタル化時の丸めの誤差が生じる。この丸めの誤差が第
2の発明によるカレンダiC補正方法において最終的に
残るカレンダ誤差となる。
【0026】図6はこの第2発明の一実施例としてのシ
ステム構成図で図1に対応するものである。図6におい
ては図1に対しカレンダiC2内にバッテリバックアッ
プされた4ビットのRAM7が内蔵されている点が異な
る。但し一般的にはこのRAM7はカレンダiC2の外
部にあっても差支えない。なおカレンダiC2は図1と
同様にアラーム機能を持ちアラームレジスタに設定した
時刻に達した時に(この例では1分毎に)CPU1に割
込信号iNTを出力することができる。
【0027】ところで前記のバックアップメモリ7には
マイコン用水晶3の周波数誤差が格納されている。この
格納作業は、個々のマイコンボードの出荷試験時に行
い、発振周波数測定をして求められた誤差値を書きこ
む。この書込まれた誤差データはRAM7がバッテリバ
ックアップされているため、以後書き換えない限り、電
源がOFFされても残っている。フリーランカウンタ5
は図1と同様にCPU用水晶3からつくられるCPUク
ロックCLKでカウントするカウンタでカウント周期は
1msecである。
【0028】図7は図6のCPU1の補正処理の第1の
実施例を示すフローチャートで図2に対応するものであ
る。図7では図2に対しステップS4Aが付加されてい
る点が異なる。次に図6を参照しつつ図7を説明する
と、CPU1はカレンダiC2に対し、1分後に割込み
を出すよう設定する(S1)。しかしカレンダiC2の
知らせてくる1分間にはカレンダ用水晶4のもつ誤差が
含まれている。設定してすぐCPUはフリーランカウン
タ5からその時点のフリーランカウンタ値((A)とす
る)を読出してメモリ6に収納し(S2)、カレンダi
C2からの割込を待つ(S3)。次にカレンダiC2か
らの割込が発生したら(S3,分岐有)、処理が次へ進
む。
【0029】割込み発生後、フリーランカウンタ5の値
を読み出し、前回の読出値(A)をさしひくと、カレン
ダiC2が1分といっている時間がCPUクロックCL
Kを基準とした値((B)とする)で求まる(S4)。
例えばカレンダiC用水晶4の周波数偏差が0で、か
つ、マイコン用水晶3の誤差が0の時は、カレンダiC
2が起こす1分の割込間隔でのカウンタ5のカウント値
(B)は60000 カウントになる(1分間=60000msec)。
また、カレンダ用水晶4の誤差が−50ppm 、マイコン用
水晶3の誤差が0の時はカウント値(B)は60003 カウ
ントになる。またカレンダ用水晶4の誤差が+50ppm、
マイコン用水晶3の誤差が0の時はカウント値(B)は
59997 カウントになる。カウント値(B)が60000 より
多いか少ないかで進みぎみか遅れぎみかを検出する。
【0030】検出したカウント値(B)にはマイコン水
晶3自身の誤差も含まれている場合がある。例えば、カ
レンダ用水晶4の誤差が+50ppm でマイコン水晶の誤差
も+50ppm のときは、カウント値(B)は60000 であ
る。そこで、バッテリバックアップRAM7からマイコ
ン用水晶3の誤差7aを読出して該カウント値(B)か
ら差引くことでカウント値(B)を修正する(S4
A)。すると残りはカレンダiC用水晶4の誤差になる
のでそれをメモリ6の誤差積算値の更新に使用する(S
5,S6)。積算値が時刻変更ができる最小単位の時刻
誤差に達したら(S7,分岐Y)、時刻変更を行う。進
みぎみなら時刻を遅らせ(S8,S9)、遅れぎみなら
時刻を進める(S8,S10)。例えば使用しているカ
レンダiC2の時刻変更が秒単位で可能ならば、積算値
が1秒(1000カウント)に達したところで時刻の変更を
行なう。
【0031】次に図10ないし図13を用いて図6のC
PU1の補正処理の第2の実施例を説明する。図7で述
べた図6のCPU1の第1実施例の補正処理(便宜上補
正処理(2−1)とする)を行った場合、この補正処理
の実行時間が無視できない場合には誤った補正を行うと
いう問題がある。
【0032】図10はこの問題を説明するためのタイム
チャートで、上から順にCPU1のメインプログラムの
実行、カレンダiC2の割込、CPU1の補正処理プロ
グラムの実行、補正処理(2−1)に基づくフリーラン
カウンタ5の計数値の読込、の夫々のタイミングを示
す。ここでは、1分間毎にカレンダiC2からの割込が
CPU1に上がり、フリーランカウンタ5の値と比較し
て誤差を求めて時刻補正を行っている。ここでフリーラ
ンカウンタ5の分解能1msec、カレンダiC2の時刻補
正最小単位1sec のハードウェアにおいて、カレンダi
C2の誤差ゼロで発振しているとすると、正しい補正が
行われるためには、CPU1はカレンダiC2が通知し
てくる1分間が60000 カウントであると認識しなければ
ならないが、補正処理プログラム実行時間が長い場合に
は、60000 カウントに満たなくなる。これはカレンダi
C2が連続して時刻を刻んでいるのに対し、CPU1は
フリーランカウンタ5の値の読み出しを、補正処理プロ
グラムの終り(読出値An)と始め(読出値Bn)で行
っているためである。但しここで読出値A,Bに対する
添字nはこの補正処理プログラムのそれまでの累計実行
回数(実行番号)を一般的に示すものとする。従ってプ
ログラム実行に時間がかかっている場合、その分だけカ
ウントされなくなる。
【0033】例えば、CPU1の補正処理プログラムの
実行時間がTexe msecかかっているとすると、 CPU1が認識するカレンダの1分間=Bn −An =60000 −Texe +αn −αn-1 =(60000−Texe )+(αn −αn-1) ≒(60000−Texe )msec となる。なおαn −αn-1 は、図10に示す割込応答時
間差であり、正の値の時も、負の値の時もあり、この後
の誤差積算時に相殺されてゼロに近づいていくため、誤
差検出には影響が無い。したがって、式からの変形
が可能となる。
【0034】結局、CPU1は補正処理プログラム実行
時間Texe を、カレンダが遅れている時間は誤認して、
このTexe msecを誤差として積み上げて行く。この誤認
した誤差がカレンダiCの時刻補正最小単位の1sec に
達した時、誤った時刻補正を行ってしまうことになる。
図13は図11,図12で後述する図6のCPU1の第
2実施例の補正処理(便宜上補正処理(2−2)とす
る)に基づくフリーランカウンタ5の読込タイミングを
図10に対応して示すタイムチャートである。
【0035】図13に示すように補正処理(2−2)で
は、1分毎に読み出していたフリーランカウンタの値A
n(n≠0;以下同様)の代りに、二回目以降は、前回
の値Bn−1を用いて、今回の値Bnとの差分を求め、
最終的にカレンダ誤差を求めるようにする。この方法に
よれば、フリーランカウンタ5の値を読み出すのが、カ
レンダiC2の知らせてくる割込要求と同期したタイミ
ングでのみ行われるようになっているので、補正プログ
ラムの実行時間の長さにかかわらず、カレンダ誤差を正
しく認識できるようになる。従って時刻補正を誤って行
うこともなくなる。
【0036】図11は補正処理(2−2)を実行する場
合における図6のマイコンシステムの全体の処理の流れ
を示しており、図12は補正処理プログラムの詳細な流
れを示す。即ち図11ではカレンダiC2からの割込が
あるたびに、図12の補正処理プログラムがコールされ
る。そしてこの補正処理プログラム実行の後、メイン処
理へリターンする。
【0037】次に図6,図13を参照しつつ、図11,
図12を説明する。なお以下S21〜S23の符号は図
11中の、またS31〜S44の符号は図12中の夫々
のステップを示す。電源投入直後、まずCPU1は図1
1のメイン処理においてカレンダiC2に対して、1分
後に割込を出すように設定する(S21)。設定した直
後にCPU1はフリーランカウンタ5からその時点のフ
リーランカウンタ値A0を読み出しメモリ6に格納して
(S23)、メイン処理を行う中で(S23)、1分後
に来るカレンダiC2から割込を待つ。割込が発生した
ら図12の補正処理プログラムがコールされる。
【0038】図12ではまずフリーランカウンタ5の値
B0を読み出し(S31)、前回の読み出し値A0との
差分C=(B0−A0)を取ると、カレンダiC2が1
分といっている時間がCPU用水晶発振子3によるクロ
ックを基準とした値で求められる(S32)。ここで次
の割込時のためにフリーランカウンタ値B0を次のAの
値A1にする(S33)。前記Cの値にはマイコン用水
晶発振子3の誤差も含まれているので、バックアップメ
モリ7内に予め格納してあるマイコン用水晶の誤差値7
aを差し引いて補正する。その結果はDに納められる
(S34)。
【0039】次に、カレンダ水晶の誤差を求めるため
に、更にDの値から60000 を引く。引いた残りEがその
1分間でカレンダiCが生じた誤差である(S35)。
ここで、60000 とは、〔正確な1分=60000 カウント〕
であることに起因したもので、つまり、もしカレンダi
C2が誤差ゼロで動作した場合、〔D=60000 〕であ
り、算出される誤差Eは、 E=D−60000 =60000 −60000 =0 である。そこでこの誤差Eが有れば(S36,分岐
Y)、この誤差Eを積算してFとする(S37)。そし
て、この誤差積算値Fが、時刻変更ができる最小単位に
まで達した時に(S38,分岐Y)、時刻補正を行う。
この時刻補正の手順としては進みぎみなら時刻を遅らせ
(S39→S40)、遅れぎみならば時刻を進める(S
39→S42)。例えば、使用しているカレンダiCの
時刻変更が秒単位で可能ならば、誤差積算値が1秒(10
00カウント)に達したところで時刻の補正を行う。
【0040】その後、誤差積算値Fから時刻変更最小単
位を加減算しておく(S41,S43)。即ち時刻を1
秒遅らせて時刻補正したら1000を引き、1秒進ませて時
刻補正をしたら1000を足しておく。最小単位に満たない
誤差は誤差積算値に残しておく。そしてカレンダiC2
から時刻を読取り、次の“分”桁上がり時に割込が発生
するように設定して(S44)、図12の補正処理プロ
グラムから図11のメイン処理(S23)へリターンす
る。次回の“分”桁上がり時の割込で再度、図12の補
正処理プログラムが走る。
【0041】なお図12で述べた(図6のCPU1によ
る)フリーランカウンタ5の読取方法は図1の(第1発
明の)CPU1に適用しても有効であることは明らかで
ある。
【0042】
【発明の効果】カレンダiC用の水晶発振子4の出力ク
ロックによって計時動作を行うカレンダiC2と、CP
U用の水晶発振子3の出力クロックCLKによって駆動
されるCPU1とを備えたシステムにおいて、請求項1
ないし3又は7に関わる発明(第1発明)によれば前記
CPU1が基準周波数に対する誤差の小さい前記CPU
用水晶発振子3の出力クロックCLKを計数するフリー
ランカウンタ5の計時時間を基準として前記カレンダi
C2の計時時間を補正するようにし、また請求項3ない
し6又は8に関わる発明(第2発明)によれば、前記C
PU用水晶発振子3の周波数の基準発振周波数に対する
誤差が無視できない場合、このCPU用水晶発振子3の
周波数誤差データ7aを記憶するバッテリバックアップ
RAM7を備え、前記CPU1が前記CPU用水晶発振
子3の出力クロックCLKを計数するフリーカウンタ5
の計時時間を、さらに前記周波数誤差データ7aを参照
して修正してなる計時時間を基準として前記カレンダi
C2の計時時間を補正するようにしたので、カレンダの
誤差を小さくすることができた。カレンダ水晶4の発振
周波数の誤差-56ppm(日差4.8 秒)のマイコン補正を行
わせたものは、誤差が+3.8ppm (日差0.3 秒)へと改善
されたことが確認されている。
【0043】なお第1発明の補正方法によれば、補正後
の誤差はマイコンクロック(つまりCPU水晶3)の誤
差に左右され、また第2発明の補正方法によれば、補正
後の誤差は、マイコン用水晶の誤差を不揮発性メモリ7
へ書きこむ時の丸めの誤差に左右される。なお一般には
様々な性能のマイコンシステムが存在するが、どんなに
高性能のマイコンシステムであっても実行時間Texe は
ゼロにはならない。コストの制約から実行時間の長いマ
イコンシステムも存在する。しかし前述した第1発明,
第2発明に夫々包含される請求項7,8に関わる発明に
よれば、さらにカレンダiC2による1分毎の割込要求
に同期して、そのつど1回、フリーランカウンタ5から
読取った計数値を用いてカレンダ誤差を求めるようにし
たので、マイコンの実行時間の長さにかかわらず、カレ
ンダ誤差を正しく認識することができるようになるた
め、マイコンによるカレンダiC2の補正方法をスピー
ドの遅い低コストのマイコンシステムにも適用すること
が可能になった。
【図面の簡単な説明】
【図1】請求項1ないし3に関わる発明の実施例として
のシステム構成図
【図2】図1のCPUの要部動作説明用のフローチャー
【図3】図1に対応する従来のシステム構成図
【図4】カレンダiC用水晶発振子の一般的な周波数温
度特性を示す図
【図5】CPU用水晶発振子の一般的な周波数温度特性
を示す図
【図6】請求項4ないし7に関わる発明の実施例として
のシステム構成図
【図7】図6のCPUの補正処理の第1の実施例を示す
フローチャート
【図8】高価なCPU用水晶発振子の周波数温度特性の
バラツキ例を示す図
【図9】比較的安価なCPU用水晶発振子の周波数温度
特性のバラツキ例を示す図
【図10】図7に基づくフリーランカウンタの読取のタ
イミングを示すタイムチャート
【図11】図6のCPUの補正処理の第2の実施例とし
てのメイン処理を示すフローチャート
【図12】図11のメイン処理によって起動される割込
処理の詳細を示すフローチャート
【図13】図11,12に基づくフリーランカウンタの
読取のタイミングを示すタイムチャート
【符号の説明】
1 CPU 2 カレンダiC 3 CPU用水晶発振子 4 カレンダiC用水晶発振子 5 フリーランカウンタ 6 メモリ 7 バッテリバックアップRAM 7a CPU用水晶誤差 iNT 割込信号

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】カレンダiC用の水晶発振子の出力クロッ
    クによって計時動作を行うカレンダiCと、CPU用の
    水晶発振子の出力クロックによって駆動されるCPUと
    を備えたシステムにおいて、 前記CPUが前記CPU用水晶発振子の出力クロックに
    基づく計時時間(以下第1の計時時間という)を基準と
    して前記カレンダiCの計時時間(以下第2の計時時間
    という)を補正するようにしたことを特徴とするカレン
    ダiC補正方法。
  2. 【請求項2】請求項1に記載のカレンダiC補正方法に
    おいて、前記CPUは所定周期ごとに前記第1の計時時
    間に対する前記第2の計時時間の誤差を積算し、この誤
    差の積算値が時刻変更の最小単位に達するごとに前記補
    正を行うものであることを特徴とするカレンダiC補正
    方法。
  3. 【請求項3】請求項1または請求項2に記載のカレンダ
    iC補正方法において、前記第1の計時時間は前記CP
    U用水晶発振子の出力クロックを計数するカウンタを介
    して計時されるものであることを特徴とするカレンダi
    C補正方法。
  4. 【請求項4】カレンダiC用の水晶発振子の出力クロッ
    クによって計時動作を行うカレンダiCと、CPU用の
    水晶発振子の出力クロックによって駆動されるCPUと
    を備えたシステムにおいて、 前記のCPU用水晶発振子の周波数誤差データを記憶す
    る手段を備え、 前記CPUが前記CPU用水晶発振子の出力クロックに
    基づく計時時間を、さらに前記周波数誤差データを参照
    して修正してなる計時時間(以下第1の計時時間とい
    う)を基準として前記カレンダiCの計時時間(以下第
    2の計時時間という)を補正するようにしたことを特徴
    とするカレンダiC補正方法。
  5. 【請求項5】請求項4に記載のカレンダiC補正方法に
    おいて、前記CPUは所定周期ごとに前記第1の計時時
    間に対する前記第2の計時時間の誤差を積算し、この誤
    差の積算値が時刻変更の最小単位に達するごとに前記補
    正を行うものであることを特徴とするカレンダiC補正
    方法。
  6. 【請求項6】請求項4または請求項5に記載のカレンダ
    iC補正方法において、前記第1の計時時間は前記CP
    U用水晶発振子の出力クロックを計数するカウンタの計
    数値に前記の修正を行って計時されるものであることを
    特徴とするカレンダiC補正方法。
  7. 【請求項7】請求項3に記載のカレンダiC補正方法に
    おいて、前記CPUは、前記カレンダiCが自身の計時
    する所定の時間間隔毎に発生する割込要求に同期して、
    そのつど1回前記カウンタの計数値を読取り前記補正を
    行うものであることを特徴とするカレンダiC補正方
    法。
  8. 【請求項8】請求項6に記載のカレンダiC補正方法に
    おいて、前記CPUは、前記カレンダiCが自身の計時
    する所定の時間間隔毎に発生する割込要求に同期して、
    そのつど1回前記カウンタの計数値を読取り前記補正を
    行うものであることを特徴とするカレンダiC補正方
    法。
JP4017222A 1991-05-18 1992-02-03 カレンダiC補正方法 Expired - Fee Related JP2896004B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4017222A JP2896004B2 (ja) 1991-05-18 1992-02-03 カレンダiC補正方法

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP11357191 1991-05-18
JP3-113571 1991-09-17
JP23521391 1991-09-17
JP3-235213 1991-09-17
JP4017222A JP2896004B2 (ja) 1991-05-18 1992-02-03 カレンダiC補正方法

Publications (2)

Publication Number Publication Date
JPH05134779A true JPH05134779A (ja) 1993-06-01
JP2896004B2 JP2896004B2 (ja) 1999-05-31

Family

ID=27281727

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4017222A Expired - Fee Related JP2896004B2 (ja) 1991-05-18 1992-02-03 カレンダiC補正方法

Country Status (1)

Country Link
JP (1) JP2896004B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002094490A (ja) * 2000-09-11 2002-03-29 Ntt Communications Kk 時刻供給システム及び時刻供給装置
JP2006155493A (ja) * 2004-12-01 2006-06-15 Fujitsu Ten Ltd タイマ装置
JP2007240666A (ja) * 2006-03-06 2007-09-20 Nanao Corp 温度推定方法、補正方法及び表示装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002094490A (ja) * 2000-09-11 2002-03-29 Ntt Communications Kk 時刻供給システム及び時刻供給装置
JP2006155493A (ja) * 2004-12-01 2006-06-15 Fujitsu Ten Ltd タイマ装置
JP2007240666A (ja) * 2006-03-06 2007-09-20 Nanao Corp 温度推定方法、補正方法及び表示装置
JP4673772B2 (ja) * 2006-03-06 2011-04-20 株式会社ナナオ 表示装置及び補正方法

Also Published As

Publication number Publication date
JP2896004B2 (ja) 1999-05-31

Similar Documents

Publication Publication Date Title
US8713346B2 (en) Resuming piecewise calibration of a real-time-clock unit after a measured offset that begins at the next calibration period
JP2624176B2 (ja) 電子時計及び時刻補正方法
US6971036B2 (en) Methods and apparatus for low power delay control
JP2007078405A (ja) ソフトウェア時計の計時プログラム
US4114363A (en) Electronic timepiece
US7194648B2 (en) Process for time synchronization of at least two clocks in a microprocessor system
JP2896004B2 (ja) カレンダiC補正方法
EP2884351B1 (en) Sensor signal acquisition data
US10466655B1 (en) Electronic timepiece and control method of electronic timepiece
CN212364801U (zh) 烟感探测器mcu的rtc校准电路
JPH0631731B2 (ja) 温度補償機能付時計装置
JP4711546B2 (ja) リアルタイムクロックの温度補正方法およびリアルタイムクロックを備えた処理装置
JP2003270369A (ja) リアルタイムクロックの時刻補正方法及び時刻補正装置
JP2002311173A (ja) 電子時計、電子時計の時刻誤差補正方法および時刻誤差補正プログラム
JP2900154B1 (ja) オートカレンダ付電子時計
JP3281757B2 (ja) 電子時計に於ける発振誤差の自動補正装置
JP5037755B2 (ja) 温度変化測定装置及びその方法
JPH05274057A (ja) 計時装置
JPS61785A (ja) 時刻管理方法
JP3421508B2 (ja) 時計lsiの補正回路
JPS59165116A (ja) 電子計算機の時計機構
JPS5926311Y2 (ja) 電子式時計
JPS6027955B2 (ja) 電子時計
JPS6041749B2 (ja) 時刻補正機構
JP2003240884A (ja) 電子式時計装置,電子式時計装置の時刻補正方法および時刻補正プログラム

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080305

Year of fee payment: 9

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090305

Year of fee payment: 10

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090305

Year of fee payment: 10

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090305

Year of fee payment: 10

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090305

Year of fee payment: 10

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100305

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees