(57)【特許請求の範囲】
【請求項１】
クロック源と、該クロック源からのクロックをカウントする２進カウンタと、ＣＰＵと、該ＣＰＵが実行するプログラムを格納するＲＯＭと、一時的に情報を格納するＲＡＭと、上位装置との間で通信を行うための通信用カードと、前記の２進カウンタ、ＲＯＭ、ＲＡＭ、及び通信用カードと前記ＣＰＵとを接続するバスを備え、
前記ＣＰＵは、上位装置から前記通信用カードを介して入力された校正時刻と該校正時刻が入力された時点で前記２進カウンタから読み出した基準カウント値とを前記ＲＡＭに記憶する手段と、時刻情報を出力する際に、該時刻情報出力時点で読み出した前記２進カウンタのカウント値と前記基準カウント値とを比較することにより前記校正時刻からの経過時間を算出し、該経過時間に基づいてカレンダー計算プログラムを実行することにより、秒、分、時、日、曜日、月及び年を計算して時刻情報として出力する手段と、前記上位装置から２回目以降の校正時刻が入力されたときに、該校正時刻が入力された時点の前記２進カウンタの値を読込むとともに、前記ＲＡＭに記憶されている前回の校正時刻及び２進カウンタのカウント値と今回の校正時刻及び２進カウンタのカウント値との差をそれぞれ求め、両者の差が不一致のとき、その差を前記２進カウンタの精度上の誤差として検出し、以降の時刻表示の時に、この誤差情報を用いて前記出力する時刻情報を補正する手段とを備えていることを特徴とする２進カウンタを使用したカレンダー付き時計。
【請求項２】
前記ＣＰＵは、前記上位装置から２回目以降の校正時刻が入力されたときに、該校正時刻が入力された時点の前記２進カウンタの値を読込むとともに、前記ＲＡＭに記憶されている前回の校正時刻及び２進カウンタのカウント値を、今回の校正時刻及び２進カウンタのカウント値によって更新する手段を備えていることを特徴とする請求項１記載のカレンダー付き時計。
【請求項３】
電圧制御発振器によって構成されたクロック源と、該クロック源からのクロックをカウントする２進カウンタと、ＣＰＵと、該ＣＰＵが実行するプログラムを格納するＲＯＭと、一時的に情報を格納するＲＡＭと、上位装置との間で通信を行うための通信用カードと、レジスタと、該レジスタに蓄積されたデータをアナログ電圧に変換して前記電圧制御発振器に制御電圧として出力するＤ／Ａ変換器と、前記の２進カウンタ、ＲＯＭ、ＲＡＭ、通信用カード、及びレジスタと前記ＣＰＵとを接続するバスを備え、
前記ＣＰＵは、前記上位装置から前記通信用カードを介して入力された校正時刻と、該校正時刻が入力された時点で前記２進カウンタから読み出した基準カウント値とを前記ＲＡＭに記憶し、時刻情報を出力する際に、該時刻情報出力時点で読み出した前記２進カウンタのカウント値と前記基準カウント値とを比較することにより前記校正時刻からの経過時間を算出し、該経過時間に基づいてカレンダー計算プログラムを実行することにより、秒、分、時、日、曜日、月、及び年を計算する手段と、前記ＲＡＭに記憶された前記校正時刻及び基準カウント値を前記上位装置から前記校正時刻が入力される毎に更新する手段と、前記上位装置から校正時刻が入力される毎にその時点の前記２進カウンタの値を読込み、該入力された校正時刻と前記ＲＡＭに記憶されている校正時刻の間の校正時刻差と該入力時点における前記２進カウンタの値と前記ＲＡＭに記憶されている基準カウント値の間のカウント差をそれぞれ求め、さらに前記校正時刻差と前記カウント差の間の誤差を検出して前記レジスタに出力する手段を備えていることを特徴とする２進カウンタを使用したカレンダー付き時計。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、単純２進カウンターとソフトウェアを組み合わせたカレンダー付き時計に関する。
【０００２】
【従来の技術】
通常カレンダー付き時計は、例えば特公昭５８−３２３１号公報に記載されているように、専用ＩＣにて、秒、分、時、日、曜日、月、及び年を専用にカウントするカウンタの組み合わせによって構成される。この場合、日、月、年は閏年などがあるため、かなり複雑な補正回路が必要となる。
【０００３】
また、特開昭６３−２６８０５８号公報には、ワンチップのマイクロコンピュータに、バックアップ電源の供給される時計機能回路ブロックを設け、主電源の遮断日時を示すデータを記憶部に書込、主電源の投入時に上記記憶部に記憶されている上記電源遮断日時データを読み出して、マイクロコンピュータの演算処理部により現在の日時を算出するようにした万年カレンダー機能を内蔵する時計機能回路が記載されている。
【０００４】
【発明が解決しようとする課題】
上記特開昭６３−２６８０５８号公報記載の時計機能回路によれば、カレンダー付き時計を、秒、分、時、日、曜日、月、及び年を専用にカウントするカウンタの組み合わせによって構成する必要がないので、構成を簡単にすることができるが、カウンタに入力されるクロック源である発振回路としては高精度のものを用いる必要がある。
【０００５】
即ち、時計を構成するとき、クロックの源振の精度が問題になる。例えば、一ヶ月の誤差が１秒以内の時計を作ろうとすれば、源振の精度は０．３ｐｐｍ以内に抑える必要があり、高価な源振が必要になる。
【０００６】
本発明の目的は、時計の源振の精度として高精度のクロックを用いる必要がなく、かつハードウェアとしては単純２進カウンタのみを用いて秒、分、時、日、曜日、月、年を表示する精度の高いカレンダー付き時計を構成することにある。
【０００７】
【課題を解決するための手段】
本発明は、クロック源と、該クロック源からのクロックをカウントする２進カウンタと、ＣＰＵと、該ＣＰＵが実行するプログラムを格納するＲＯＭと、一時的に情報を格納するＲＡＭと、上位装置との間で通信を行うための通信用カードと、前記２進カウンタ、ＲＯＭ、ＲＡＭ、及び通信用カードと前記ＣＰＵとを接続するバスを備え、前記ＣＰＵは、上位装置から前記通信用カードを介して入力された校正時刻と該校正時刻が入力された時点で前記２進カウンタから読み出した基準カウント値とを前記ＲＡＭに記憶する手段と、時刻情報を出力する際に、該時刻情報出力時点で読み出した前記２進カウンタのカウント値と前記基準カウント値とを比較することにより前記校正時刻からの経過時間を算出し、該経過時間に基づいてカレンダー計算プログラムを実行することにより、秒、分、時、日、曜日、月及び年を計算して時刻情報として出力する手段とを備えていることを特徴とする。
【０００８】
本発明のカレンダー付き時計が最初に動作し始めたとき、２進カウンタはある値を示している。時計校正のために上位装置から通信用カードを介してＣＰＵに現在の年、月、曜日、日、時、分、秒（この校正時刻をＹ１とする）が入力されると、ＣＰＵはそのときの２進カウンタの値（Ｔ１）を読込み、この校正時刻Ｙ１とカウント値Ｔ１をＲＡＭに記憶する。
【０００９】
その後、ＣＰＵは、現在の時刻（Ｙｐ）を、現在の２進カウンタの値（Ｔｐ）とＲＡＭに記憶され得いる校正時刻Ｙ１及びカウント値Ｔ１とから、Ｙｐ＝Ｙ１＋（Ｔｐ−Ｔ１）を演算することにより求めることができる。
【００１０】
そして、読み出し表示時刻（この時刻をＹ１ａとする）になると、ＣＰＵは、そのときの２進カウンタの値（Ｔ１ａ）を読み出し、上記演算によってＹ１からの経過時間（秒単位）を知ることができ、カレンダー計算プログラムを実行することにより、分、時、日、曜日、月、年を計算してＹ１ａを求めて出力する。
【００１１】
更に本発明は、２回目の校正時刻Ｙ２があったときの２進カウンタの値Ｔ２を読込み、Ｙ２−Ｙ１の値とＴ２−Ｔ１の値の間に差がある場合、この差を２進カウンタの精度上の誤差として、以降の時刻表示の時に、この誤差情報を用いて読み出して時刻を補正することを特徴とする。
【００１２】
特に、通信機システムでは定期的に上位装置から時刻校正をする事ができるので、時刻校正毎に上記の誤差を求める事ができ、時計の源振の精度が悪くても常に正しい時刻に補正する事ができる。
【００１３】
本発明のカレンダー付き時計は時刻を読みとる頻度は低く、常に回路の電源が入っている装置等に有効である。例えば、本装置が通信機器の場合、通信記録を上位装置に報告する事が必要になる。この場合、ＣＰＵは通信が行われる毎にその時の時刻を知る必要があり、通信内容とその時の時刻を記憶しておき、あとで上位局に報告する事により、上位局にて通信記録を取ることができる。
【００１４】
このように時刻を読み出す頻度が低い場合には、この複雑な補正処理は通信が行われる毎にソフトウェアにて行えばよく、また、ＣＰＵのソフトウェアには閏年などの計算方法を持たせる事により、分、時、日、曜日、月、年の複雑なカウンタを使用せずに単純な２進カウンタのみでハードウェアが構成できて経済的な回路構成とすることができる。
【００１５】
２進カウンタは３２ビットあれば、クロック単位が１秒の場合には、１３６年のカウントが可能であり、このことからもハードウェアは簡単にできることがわかる。
【００１６】
以上のように、本発明は、分、時、日、曜日、月、年の複雑な補正処理を、ソフトウェアにて行い、カウンタは単純な２進カウンタを備えるだけでよく、源振のクロックの精度が悪くても補正により精度を保つことが可能となるので、ハードウェアのコストを低く押さえられる。
【００１７】
【発明の実施の形態】
図１は、本発明の第１の実施形態を示すブロック図である。図１において、ＣＰＵ１はＣＰＵバス７を通して、プログラムが格納されているＲＯＭ３、一時的に情報を格納するＲＡＭ２、及び時刻をカウントする単純２進カウンタ４と接続されている。
【００１８】
２進カウンタ４には、１秒単位のクロック８が入力されている。また、ＣＰＵ１は、通信用カード５を介して、上位装置６から通信回線１２を経由して送られて来る時刻校正信号を受け取る事ができる。また、ＣＰＵ１は通信用カード５から通信回線１２を経由して時刻を上位装置６に報告する事ができる。
【００１９】
次に、本実施の形態の動作について図１を参照して説明する。
【００２０】
図１の回路に電源が投入された時点で、ＣＰＵ１及び２進カウンタ４にはリセットがかかり、ＣＰＵ１は初期化、２進カウンタ４はクリアされる。上位装置６より通信回線１２を通して時刻設定信号が入力される。このときの値は現在の時刻（校正時刻Ｙ１）を示している。
【００２１】
ＣＰＵ１はこの校正時刻Ｙ１を受け取ると直ちに２進カウンタ４の値を読みとる。このときの２進カウンタ４の値をＴ１とする。そしてＣＰＵ１はこの校正時刻Ｙ１とカウント値Ｔ１をＲＡＭ２に記憶する。
【００２２】
次に、上位装置６に時刻報告をする場合（このときの時刻をＹ１ａとする）、２進カウンタ４のカウント値を読みとる。このときの２進カウンタ４の値をＴ１ａとする。ＣＰＵ１は、読み取ったカウント値Ｔ１ａとＲＡＭ２に記憶しているカウント値Ｔ１とから、Ｔ１ａ−Ｔ１＝ａを求め、記憶している校正時刻Ｙ１にａ（秒）を加算し、該加算結果から、分、時、日、曜日、月、年をカレンダー計算プログラムにより計算して時刻（Ｙ１ａ）を報告する。
【００２３】
カレンダー計算プログラム即ちソフトウェアは、６０秒を１分、６０分を１時間、２４時間を１日、７日を１週間、３０日（小の月  ４，６，９，１１月、２月は閏年が２９日それ以外は２８日）または３１日（大の月  １，３，５，６，７，８，１０，１２）を１ヶ月、１２ヶ月を１年、４で割れる年は閏年、但し１００で割れる年は閏年で無い、但し４００で割れる年は閏年とするように構成されており、ＣＰＵ１は、このソフトウェアにより分、時、日、曜日、月、年を求める。
【００２４】
その後、ＣＰＵ１が上位装置６から２回目の時刻補正（校正時刻Ｙ２）を受けると、ＣＰＵ１は直ちに２進カウンタ４の値を読み出す。このときの２進カウンタ４の値をＴ２とする。
【００２５】
ＣＰＵ１は、今回受信した校正時刻Ｙ２及び読み出したカウント値Ｔ２と、ＲＡＭ２に記憶している前回の校正時刻Ｙ１及びカウント値Ｔ１とから、ｃ＝Ｙ２−Ｙ１、ｂ＝Ｔ２−Ｔ１を求め、さらにｃとｂとの差ｚ（ｚ＝ｃ−ｂ）を求める。
【００２６】
校正時刻Ｙ１，Ｙ２は正確な時刻であるので、ｚが０でなければ、２進カウンタ４はｂ秒当たりｚ秒の誤差を生じていることになる。ＣＰＵ１は、以降の時刻計算において、この差ｚを、２進カウンタ４のｂ秒当たりの誤差補正値として使用する。
【００２７】
なお、２回目の時刻補正を受けたことにより、今後の時刻計算はＹ２、Ｔ２が基準となるので、校正時刻及びカウント値として記憶されていたＹ１及びＴ１はＹ２及びＴ２に更新される。
【００２８】
さらにその後、時刻報告をする場合、上記と同じように時刻を求めるが、その都度上記の誤差補正をする事により精度の高い時刻を表示する事ができる。
【００２９】
例えば、最初の校正時刻Ｙ１が２０００年２月１日１３時００分、そのときの２進カウンタ４のカウント値Ｔ１が１００００、２回目の校正時刻Ｙ２が２０００年２月２日１３時００分、そのときの２進カウンタ４のカウント値Ｔ２が９６４１２とすれば、ｃ＝２４時間（８６４００秒）、ｂ＝８６４１２秒、ｚ＝１２秒となる。つまりクロック８の誤差は２４時間に１２秒進んでいる事になるので、ＣＰＵ１は、以後時刻報告の時に時間当たり０．５秒遅らせた時刻を報告する。
【００３０】
図２は、本発明の第２の実施形態を示すブロック図である。本実施の形態は、クロック源としてＶＣＯ（電圧制御発振器）９を用いたことを特徴とする。
【００３１】
即ち本実施の形態では、ＣＰＵ１は、２回目の校正時刻を受けたときに求めた上記誤差ｚを、レジスタ１１にセットし、レジスタ１１の値をＤ／Ａ変換器１０にてアナログの電圧に変換してＶＣＯ９の周波数補正に用いる。
【００３２】
本実施の形態によれば、源振のクロック発振器は、誤差電圧が入力されるＶＣＯ９により発振周波数が校正され、源振のクロック周波数の精度を上げることが出来るので、第１の実施形態のように時刻報告毎に補正をしなくても良くなる。
【００３３】
なお、実施例では、２進カウンタに入力されるクロックを秒単位として説明したが、２進カウンタの桁数を多くして、クロックの単位を小さく、たとえば１０ｍＳにすれば分解能１０ｍＳの時計とすることができる。
【００３４】
【発明の効果】
本発明によれば、時計の源振の精度として高精度のクロックを用いる必要がなく、かつハードウェアとしては単純２進カウンタのみを用いて秒、分、時、日、曜日、月、年を表示する精度の高いカレンダー付き時計を低コストで実現することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態を示すブロック図である。
【図２】本発明の第２の実施形態を示すブロック図である。
【符号の説明】
１  ＣＰＵ
２  ＲＡＭ
３  ＲＯＭ
４  ２進カウンタ
５  通信用カード
６  上位装置
７  バス
８  クロック
９  ＶＣＯ（電圧制御発振器）
１０  Ｄ／Ａ変換器
１１  レジスタ
１２  通信回線
【図１】
0003546427.tif 000002
【図２】
0003546427.tif 000003