JP3990331B2 - 時刻補正制御回路と時刻補正制御方法および時刻補正制御用プログラム - Google Patents

時刻補正制御回路と時刻補正制御方法および時刻補正制御用プログラム Download PDF

Info

Publication number
JP3990331B2
JP3990331B2 JP2003297142A JP2003297142A JP3990331B2 JP 3990331 B2 JP3990331 B2 JP 3990331B2 JP 2003297142 A JP2003297142 A JP 2003297142A JP 2003297142 A JP2003297142 A JP 2003297142A JP 3990331 B2 JP3990331 B2 JP 3990331B2
Authority
JP
Japan
Prior art keywords
register
value
correction value
frequency counter
circuit
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.)
Expired - Fee Related
Application number
JP2003297142A
Other languages
English (en)
Other versions
JP2005070932A (ja
Inventor
雅彦 高遠
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.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno Ltd
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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP2003297142A priority Critical patent/JP3990331B2/ja
Publication of JP2005070932A publication Critical patent/JP2005070932A/ja
Application granted granted Critical
Publication of JP3990331B2 publication Critical patent/JP3990331B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Measurement Of Unknown Time Intervals (AREA)

Description

本発明は時刻補正制御回路と時刻補正制御方法および時刻補正制御用プログラムに関し、特に、プロセッサの動作周波数で歩進するカウンタを備えた情報処理装置において、プロセッサの外部からの定期的な割り込みにより、補正値を生成して実時間の誤差を少なくする時刻補正制御回路と時刻補正制御方法および時刻補正制御用プログラムに関する。
一般に、情報処理装置において、内部の周波数カウンタから実時間を生成する場合、内部の周波数の精度が低いと実時間に狂いが生じてくるという欠点がある。
従来技術として、特開平7−244540号公報がある(特許文献1参照。)。
これは、温度変化等の影響を受け易い市販の時計用ICをそのまま使用し、簡単に高精度の時計用ICとして機能させるもので、計時用ICである時計回路手段の他に高精度発振手段を設け、高精度発振手段からのクロック信号をもとに高精度時計制御手段で一定時間、例えば1分を計測する。
この一定時間の計測毎に高精度制御手段から時計用ICである時計回路手段に補正信号を送出し、時刻情報の補正動作を行わせる。これによって高精度発振手段の精度で時計回路手段を動作させる。
また、従来技術として、特開平11−6888号公報がある(特許文献2参照。)。
これは、表示時間測定時に、タイマ割り込み要求信号のカウント回数を任意に可変とすることで、表示時間誤差を補正し、性能を向上させることにある。予め定められた所定周期を有する第1のシステムクロックでプログラムを動作させ、周期に誤差を有する第2のシステムクロックでタイマを動作させ、タイマ割り込み要求が発生するまでの時間をプログラムにより測定し、その結果から第2のシステムクロックの発信周波数を算出する。
第2のシステムクロックの発信周波数を基にタイマ割り込み要求信号カウント回数とソフトウェアウェイト回数を設定し、タイマ割り込み要求信号をタイマ割り込み要求信号カウント回数分カウントすると共に、ソフトウェアウェイトをソフトウェアウェイト回数分実行し、微調整するように構成した。
また、従来技術として、特開2002−73204号公報がある(特許文献3参照。)。
これは、外部時計の刻みに依存することなく、また補正からの経過時間によらずに、インターバルタイマからの割込みと時刻更新時間との関係を崩すことなく、システム時刻を外部時刻に対して所定の誤差内に保つもので、誤差検出機構により外部時刻とシステム時刻との誤差範囲を検出し、インターバルタイマ周期変換機構により検出した誤差範囲の最大値と最小値を2つの新たなインターバルタイマ周期へ変換し、切替機構により2つの新たなインターバルタイマ周期を切替周期で必要に応じて切り替える。
これにより、外部時刻に対して常に一定の誤差以内にシステム時刻を保つことが可能となる。
また、従来技術として、特開平5−165545号公報がある(特許文献4参照。)。
これは、オペレーションシステムを構築した計算機におけるシステム内タイマの管理装置において、アプリケーション開発等の段階においても時刻管理機能のメンテナンスや時刻管理精度の設定等を容易化し、しかもシステム簡素化を可能とするもので、計算機におけるシステム内タイマの管理機能をアプリケーションソフトウエアを用いて構築する。
この管理機能では、インタフェース部を介して時計装置から外部時刻データおよび時刻設定完了通知を入力し、これらの情報に基づいて所定の処理を選択する。つまり、外部時刻とシステム時刻の誤差に拘わらずに外部時刻をシステム時刻に取り込む時刻設定処理や、外部時刻を基準としてシステム内タイマの時刻を補正する補正処理、異常警報等の異常処理のいずれかを選択する。
特開平7−244540号公報([要約])
特開平11−6888号公報([要約]) 特開2002−73204号公報([要約]) 特開平5−165545号公報([要約])
情報処理装置において、内部の周波数カウンタから実時間を生成する場合、内部の周波数の精度が低いと実時間に狂いが生じてくるという欠点がある。
(発明の目的)
本発明の目的は、プロセッサ内部の周波数カウンタを利用して、実時間を生成する場合に、外部からの割り込みをトリガとして補正値を生成することで実時間の誤差を少なくする時刻補正制御回路と時刻補正制御方法および時刻補正制御用プログラムを提供することにある。
第1の発明の時刻補正制御回路は、割り込み信号を発生する割り込み信号回路と、前記割り込み信号回路からの割り込み信号を受信して補正値の生成を制御する制御回路と、プロセッサを歩進するためのクロックを発生するプロセッサクロックと、前記プロセッサクロックの動作周波数により歩進する周波数カウンタと、前記割り込み信号回路からの割り込み間隔に応じた周波数カウント値を保持する定数レジスタと、前回の割り込み時の前記周波数カウンタの値を格納する保持レジスタと、前記定数レジスタと前記周波数カウンタと前記保持レジスタから補正値を生成する補正値生成回路と、前記補正値生成回路で生成した補正値を格納する補正値レジスタと、前記周波数カウンタと前記補正値レジスタから実時間を生成する実時間変換回路と、前記実時間変換回路により生成された実時間の変換結果を格納する時刻格納レジスタと、ソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出す実時間読み出し回路とを備え、前記制御回路は前記割り込み信号回路から送られてくる一定間隔での割り込み信号を受信し、割り込み信号毎に、前記補正値生成回路を起動し、前記補正値生成回路は前記周波数カウンタの値と前記保持レジスタの値との差分値を前記定数レジスタの値により除算することで周波数カウンタの補正を行い補正値を算出し、前記補正値を前記補正値レジスタに格納し、前記実時間変換回路が前記周波数カウンタの周波数カウンタの値を読み出し、前記補正値レジスタに格納した前記補正値により前記読み出した周波数カウンタの値を補正し、前記補正された前記周波数カウンタの値を実時間に変換し、前記変換された実時間を前記時刻格納レジスタに格納し、前記実時間読み出し回路を経てソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出すことを特徴とする。
第2の発明の時刻補正制御方法は、割り込み信号を発生する割り込み信号回路と、前記割り込み信号回路からの割り込み信号を受信して補正値の生成を制御する制御回路と、プロセッサを歩進するためのクロックを発生するプロセッサクロックと、前記プロセッサクロックの動作周波数により歩進する周波数カウンタと、前記割り込み信号回路からの割り込み間隔に応じた周波数カウント値を保持する定数レジスタと、前回の割り込み時の前記周波数カウンタの値を格納する保持レジスタと、前記定数レジスタと前記周波数カウンタと前記保持レジスタから補正値を生成する補正値生成回路と、前記補正値生成回路で生成した補正値を格納する補正値レジスタと、前記周波数カウンタと前記補正値レジスタから実時間を生成する実時間変換回路と、前記実時間変換回路により生成された実時間の変換結果を格納する時刻格納レジスタと、ソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出す実時間読み出し回路とを備えた時刻補正制御回路における時刻補正制御方法であって、前記制御回路は前記割り込み信号回路から送られてくる一定間隔での割り込み信号を受信し、割り込み信号毎に、前記補正値生成回路を起動し、前記補正値生成回路は前記周波数カウンタの値と前記保持レジスタの値との差分値を前記定数レジスタの値により除算することで周波数カウンタの補正を行い補正値を算出し、前記補正値を前記補正値レジスタに格納し、前記実時間変換回路が前記周波数カウンタの周波数カウンタの値を読み出し、前記補正値レジスタに格納した前記補正値により前記読み出した周波数カウンタの値を補正し、前記補正された前記周波数カウンタの値を実時間に変換し、前記変換された実時間を前記時刻格納レジスタに格納し、前記実時間読み出し回路を経てソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出すことを特徴とする時刻補正制御方法。
第3の発明の時刻補正制御用プログラムは、割り込み信号を発生する割り込み信号回路と、前記割り込み信号回路からの割り込み信号を受信して補正値の生成を制御する制御回路と、プロセッサを歩進するためのクロックを発生するプロセッサクロックと、前記プロセッサクロックの動作周波数により歩進する周波数カウンタと、前記割り込み信号回路からの割り込み間隔に応じた周波数カウント値を保持する定数レジスタと、前回の割り込み時の前記周波数カウンタの値を格納する保持レジスタと、前記定数レジスタと前記周波数カウンタと前記保持レジスタから補正値を生成する補正値生成回路と、前記補正値生成回路で生成した補正値を格納する補正値レジスタと、前記周波数カウンタと前記補正値レジスタから実時間を生成する実時間変換回路と、前記実時間変換回路により生成された実時間の変換結果を格納する時刻格納レジスタと、ソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出す実時間読み出し回路とを備えた時刻補正制御回路における時刻補正制御処理において、前記制御回路は前記割り込み信号回路から送られてくる一定間隔での割り込み信号を受信し、割り込み信号毎に、前記補正値生成回路を起動し、前記補正値生成回路は前記周波数カウンタの値と前記保持レジスタの値との差分値を前記定数レジスタの値により除算することで周波数カウンタの補正を行い補正値を算出し、前記補正値を前記補正値レジスタに格納し、前記実時間変換回路が前記周波数カウンタの周波数カウンタの値を読み出し、前記補正値レジスタに格納した前記補正値により前記読み出した周波数カウンタの値を補正し、前記補正された前記周波数カウンタの値を実時間に変換し、前記変換された実時間を前記時刻格納レジスタに格納し、前記実時間読み出し回路を経てソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出す処理をコンピュータに実行させるためのプログラム。
第4の発明の時刻補正制御回路は、割り込み信号を発生する割り込み信号回路と、前記割り込み信号回路からの割り込み信号を受信して補正値の生成を制御する制御回路と、プロセッサを歩進するためのクロックを発生するプロセッサクロックと、前記プロセッサクロックの動作周波数により歩進する周波数カウンタと、前記割り込み信号回路からの割り込み間隔に応じた周波数カウント値を保持する定数レジスタと、前回の割り込み時の前記周波数カウンタの値を格納する保持レジスタと、前記定数レジスタと前記周波数カウンタと前記保持レジスタから補正値を生成する補正値生成回路と、前記補正値生成回路で生成した補正値を格納する補正値レジスタと、前記周波数カウンタと前記補正値レジスタから実時間を生成する実時間変換回路と、前記実時間変換回路により生成された実時間の変換結果を格納する時刻格納レジスタと、ソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出す実時間読み出し回路とを備え、前記制御回路は前記割り込み信号回路から送られてくる一定間隔での割り込み信号を受信し、割り込み信号毎に、前記補正値生成回路を起動し、前記補正値生成回路は前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値を読み込み、前記補正値生成回路は読み込んだ前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値の差分を取り、前記補正値生成回路は前記定数レジスタに保持されている割り込み間隔に相当する予め時刻補正制御回路として設定されたレジスタの値を読み込み、前記補正値生成回路は前記定数レジスタに設定されている前記読み込んだレジスタの値と、前記先に差分を取った現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値との差分のさらなる差分をとり、前記さらなる差分を定数レジスタのレジスタの値で割り1カウンタ当たりの補正値を算出し、前記算出した補正値を補正値として前記補正値レジスタに格納し、前記実時間変換回路は、現在の周波数カウンタから誤差のある周波数カウンタの値X2を読み出し、実時間変換回路は、誤差のない補正された周波数カウンタ値Yを得るために、補正値を補正値レジスタから読み出し、Y=X2/(1+補正値)により誤差のある周波数カウンタの値X2を補正することにより誤差のない補正された周波数カウンタ値Yに変換し、前記実時間変換回路は、前記周波数カウンタ値Yを実時間への変換係数で割り実時間を算出し、前記算出した実時間を時刻格納レジスタに格納し、前記実時間読み出し回路を経てソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出すことを特徴とする。
第5の発明の時刻補正制御方法は、割り込み信号を発生する割り込み信号回路と、前記割り込み信号回路からの割り込み信号を受信して補正値の生成を制御する制御回路と、プロセッサを歩進するためのクロックを発生するプロセッサクロックと、前記プロセッサクロックの動作周波数により歩進する周波数カウンタと、前記割り込み信号回路からの割り込み間隔に応じた周波数カウント値を保持する定数レジスタと、前回の割り込み時の前記周波数カウンタの値を格納する保持レジスタと、前記定数レジスタと前記周波数カウンタと前記保持レジスタから補正値を生成する補正値生成回路と、前記補正値生成回路で生成した補正値を格納する補正値レジスタと、前記周波数カウンタと前記補正値レジスタから実時間を生成する実時間変換回路と、前記実時間変換回路により生成された実時間の変換結果を格納する時刻格納レジスタと、ソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出す実時間読み出し回路とを備えた時刻補正制御回路における時刻補正制御方法であって、前記制御回路は前記割り込み信号回路から送られてくる一定間隔での割り込み信号を受信し、割り込み信号毎に、前記補正値生成回路を起動し、前記補正値生成回路は前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値を読み込み、前記補正値生成回路は読み込んだ前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値の差分を取り、前記補正値生成回路は前記定数レジスタに保持されている割り込み間隔に相当する予め時刻補正制御回路として設定されたレジスタの値を読み込み、前記補正値生成回路は前記定数レジスタに設定されている前記読み込んだレジスタの値と、前記先に差分を取った現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値との差分のさらなる差分をとり、前記さらなる差分を定数レジスタのレジスタの値で割り1カウンタ当たりの補正値を算出し、前記算出した補正値を補正値として前記補正値レジスタに格納し、前記実時間変換回路は、現在の周波数カウンタから誤差のある周波数カウンタの値X2を読み出し、実時間変換回路は、誤差のない補正された周波数カウンタ値Yを得るために、補正値を補正値レジスタから読み出し、Y=X2/(1+補正値)により誤差のある周波数カウンタの値X2を補正することにより誤差のない補正された周波数カウンタ値Yに変換し、前記実時間変換回路は、前記周波数カウンタ値Yを実時間への変換係数で割り実時間を算出し、前記算出した実時間を時刻格納レジスタに格納し、前記実時間読み出し回路を経てソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出すことを特徴とする時刻補正制御方法。
第6の発明の時刻補正制御用プログラムは、割り込み信号を発生する割り込み信号回路と、前記割り込み信号回路からの割り込み信号を受信して補正値の生成を制御する制御回路と、プロセッサを歩進するためのクロックを発生するプロセッサクロックと、前記プロセッサクロックの動作周波数により歩進する周波数カウンタと、前記割り込み信号回路からの割り込み間隔に応じた周波数カウント値を保持する定数レジスタと、前回の割り込み時の前記周波数カウンタの値を格納する保持レジスタと、前記定数レジスタと前記周波数カウンタと前記保持レジスタから補正値を生成する補正値生成回路と、前記補正値生成回路で生成した補正値を格納する補正値レジスタと、前記周波数カウンタと前記補正値レジスタから実時間を生成する実時間変換回路と、前記実時間変換回路により生成された実時間の変換結果を格納する時刻格納レジスタと、ソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出す実時間読み出し回路とを備えた時刻補正制御回路における時刻補正制御処理において、前記制御回路は前記割り込み信号回路から送られてくる一定間隔での割り込み信号を受信し、割り込み信号毎に、前記補正値生成回路を起動し、前記補正値生成回路は前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値を読み込み、前記補正値生成回路は読み込んだ前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値の差分を取り、前記補正値生成回路は前記定数レジスタに保持されている割り込み間隔に相当する予め時刻補正制御回路として設定されたレジスタの値を読み込み、前記補正値生成回路は前記定数レジスタに設定されている前記読み込んだレジスタの値と、前記先に差分を取った現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値との差分のさらなる差分をとり、前記さらなる差分を定数レジスタのレジスタの値で割り1カウンタ当たりの補正値を算出し、前記算出した補正値を補正値として前記補正値レジスタに格納し、前記実時間変換回路は、現在の周波数カウンタから誤差のある周波数カウンタの値X2を読み出し、実時間変換回路は、誤差のない補正された周波数カウンタ値Yを得るために、補正値を補正値レジスタから読み出し、Y=X2/(1+補正値)により誤差のある周波数カウンタの値X2を補正することにより誤差のない補正された周波数カウンタ値Yに変換し、前記実時間変換回路は、前記周波数カウンタ値Yを実時間への変換係数で割り実時間を算出し、前記算出した実時間を時刻格納レジスタに格納し、前記実時間読み出し回路を経てソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出す処理をコンピュータに実行させるためのプログラム。
第7の発明の時刻補正制御回路は、割り込み信号を発生する割り込み信号回路と、前記割り込み信号回路からの割り込み信号を受信して補正値の生成を制御する制御回路と、プロセッサを歩進するためのクロックを発生するプロセッサクロックと、前記プロセッサクロックの動作周波数により歩進する周波数カウンタと、前記割り込み信号回路からの割り込み間隔に応じた周波数カウント値を保持する定数レジスタと、前回の割り込み時の前記周波数カウンタの値を格納する保持レジスタと、前記定数レジスタと前記周波数カウンタと前記保持レジスタから補正値を生成する補正値生成回路と、前記補正値生成回路で生成した補正値を格納する補正値レジスタと、前記周波数カウンタと前記補正値レジスタから実時間を生成する実時間変換回路と、前記実時間変換回路により生成された実時間の変換結果を格納する時刻格納レジスタと、ソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出す実時間読み出し回路とを備え、前記制御回路は前記割り込み信号回路から送られてくる一定間隔での割り込み信号を受信し、割り込み信号毎に、前記補正値生成回路を起動し、前記補正値生成回路は前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値を読み込み、前記補正値生成回路は読み込んだ前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値の差分を取り、前記制御回路は前記周波数カウンタにカウントアップされている現在の周波数カウンタ値を保持レジスタに格納し、前記保持レジスタに格納した周波数カウンタ値を次の割り込み発生時の、前回の割り込み時の周波数カウンタ値とし、前記補正値生成回路は前記定数レジスタに保持されている割り込み間隔に相当する予め時刻補正制御回路として設定されたレジスタの値を読み込み、前記補正値生成回路は前記定数レジスタに設定されている前記読み込んだレジスタの値と、前記先に差分を取った現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値との差分のさらなる差分をとり、前記さらなる差分を定数レジスタのレジスタの値で割り1カウンタ当たりの補正値を算出し、前記算出した補正値を補正値として前記補正値レジスタに格納し、前記実時間変換回路は、現在の周波数カウンタから誤差のある周波数カウンタの値X2を読み出し、実時間変換回路は、誤差のない補正された周波数カウンタ値Yを得るために、補正値を補正値レジスタから読み出し、Y=X2/(1+補正値)により誤差のある周波数カウンタの値X2を補正することにより誤差のない補正された周波数カウンタ値Yに変換し、前記実時間変換回路は、前記周波数カウンタ値Yを実時間への変換係数で割り実時間を算出し、前記算出した実時間を時刻格納レジスタに格納し、前記実時間読み出し回路を経てソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出すことを特徴とする。
第8の発明の時刻補正制御方法は、割り込み信号を発生する割り込み信号回路と、前記割り込み信号回路からの割り込み信号を受信して補正値の生成を制御する制御回路と、プロセッサを歩進するためのクロックを発生するプロセッサクロックと、前記プロセッサクロックの動作周波数により歩進する周波数カウンタと、前記割り込み信号回路からの割り込み間隔に応じた周波数カウント値を保持する定数レジスタと、前回の割り込み時の前記周波数カウンタの値を格納する保持レジスタと、前記定数レジスタと前記周波数カウンタと前記保持レジスタから補正値を生成する補正値生成回路と、前記補正値生成回路で生成した補正値を格納する補正値レジスタと、前記周波数カウンタと前記補正値レジスタから実時間を生成する実時間変換回路と、前記実時間変換回路により生成された実時間の変換結果を格納する時刻格納レジスタと、ソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出す実時間読み出し回路とを備えた時刻補正制御回路における時刻補正制御方法であって、前記制御回路は前記割り込み信号回路から送られてくる一定間隔での割り込み信号を受信し、割り込み信号毎に、前記補正値生成回路を起動し、前記補正値生成回路は前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値を読み込み、前記補正値生成回路は読み込んだ前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値の差分を取り、前記制御回路は前記周波数カウンタにカウントアップされている現在の周波数カウンタ値を保持レジスタに格納し、前記保持レジスタに格納した周波数カウンタ値を次の割り込み発生時の、前回の割り込み時の周波数カウンタ値とし、前記補正値生成回路は前記定数レジスタに保持されている割り込み間隔に相当する予め時刻補正制御回路として設定されたレジスタの値を読み込み、前記補正値生成回路は前記定数レジスタに設定されている前記読み込んだレジスタの値と、前記先に差分を取った現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値との差分のさらなる差分をとり、前記さらなる差分を定数レジスタのレジスタの値で割り1カウンタ当たりの補正値を算出し、前記算出した補正値を補正値として前記補正値レジスタに格納し、前記実時間変換回路は、現在の周波数カウンタから誤差のある周波数カウンタの値X2を読み出し、実時間変換回路は、誤差のない補正された周波数カウンタ値Yを得るために、補正値を補正値レジスタから読み出し、Y=X2/(1+補正値)により誤差のある周波数カウンタの値X2を補正することにより誤差のない補正された周波数カウンタ値Yに変換し、前記実時間変換回路は、前記周波数カウンタ値Yを実時間への変換係数で割り実時間を算出し、前記算出した実時間を時刻格納レジスタに格納し、前記実時間読み出し回路を経てソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出すことを特徴とする時刻補正制御方法。
第9の発明の時刻補正制御用プログラムは、割り込み信号を発生する割り込み信号回路と、前記割り込み信号回路からの割り込み信号を受信して補正値の生成を制御する制御回路と、プロセッサを歩進するためのクロックを発生するプロセッサクロックと、前記プロセッサクロックの動作周波数により歩進する周波数カウンタと、前記割り込み信号回路からの割り込み間隔に応じた周波数カウント値を保持する定数レジスタと、前回の割り込み時の前記周波数カウンタの値を格納する保持レジスタと、前記定数レジスタと前記周波数カウンタと前記保持レジスタから補正値を生成する補正値生成回路と、前記補正値生成回路で生成した補正値を格納する補正値レジスタと、前記周波数カウンタと前記補正値レジスタから実時間を生成する実時間変換回路と、前記実時間変換回路により生成された実時間の変換結果を格納する時刻格納レジスタと、ソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出す実時間読み出し回路とを備えた時刻補正制御回路における時刻補正制御処理において、前記制御回路は前記割り込み信号回路から送られてくる一定間隔での割り込み信号を受信し、割り込み信号毎に、前記補正値生成回路を起動し、前記補正値生成回路は前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値を読み込み、前記補正値生成回路は読み込んだ前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値の差分を取り、前記制御回路は前記周波数カウンタにカウントアップされている現在の周波数カウンタ値を保持レジスタに格納し、前記保持レジスタに格納した周波数カウンタ値を次の割り込み発生時の、前回の割り込み時の周波数カウンタ値とし、前記補正値生成回路は前記定数レジスタに保持されている割り込み間隔に相当する予め時刻補正制御回路として設定されたレジスタの値を読み込み、前記補正値生成回路は前記定数レジスタに設定されている前記読み込んだレジスタの値と、前記先に差分を取った現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値との差分のさらなる差分をとり、前記さらなる差分を定数レジスタのレジスタの値で割り1カウンタ当たりの補正値を算出し、前記算出した補正値を補正値として前記補正値レジスタに格納し、前記実時間変換回路は、現在の周波数カウンタから誤差のある周波数カウンタの値X2を読み出し、実時間変換回路は、誤差のない補正された周波数カウンタ値Yを得るために、補正値を補正値レジスタから読み出し、Y=X2/(1+補正値)により誤差のある周波数カウンタの値X2を補正することにより誤差のない補正された周波数カウンタ値Yに変換し、前記実時間変換回路は、前記周波数カウンタ値Yを実時間への変換係数で割り実時間を算出し、前記算出した実時間を時刻格納レジスタに格納し、前記実時間読み出し回路を経てソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出す処理をコンピュータに実行させるためのプログラム。
第10の発明の時刻補正制御回路は、割り込み信号を発生する割り込み信号回路と、前記割り込み信号回路からの割り込み信号を受信して補正値の生成を制御する制御回路と、プロセッサを歩進するためのクロックを発生するプロセッサクロックと、前記プロセッサクロックの動作周波数により歩進する周波数カウンタと、前記割り込み信号回路からの割り込み間隔に応じた周波数カウント値を保持する定数レジスタと、前回の割り込み時の前記周波数カウンタの値を格納する保持レジスタと、前記定数レジスタと前記周波数カウンタと前記保持レジスタから補正値を生成する補正値生成回路と、前記補正値生成回路で生成した補正値を格納する補正値レジスタと、前記周波数カウンタと前記補正値レジスタから実時間を生成する実時間変換回路と、前記実時間変換回路により生成された実時間の変換結果を格納する時刻格納レジスタと、ソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出す実時間読み出し回路とを備え、前記制御回路は前記割り込み信号回路から送られてくる一定間隔での割り込み信号を受信し、割り込み信号毎に、前記補正値生成回路を起動し、前記補正値生成回路は前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値を読み込み、前記補正値生成回路は読み込んだ前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値の差分を第1の演算レジスタに値X1として格納し、前記制御回路は前記周波数カウンタにカウントアップされている現在の周波数カウンタ値を保持レジスタに格納し、前記保持レジスタに格納した周波数カウンタ値を次の割り込み発生時の、前回の割り込み時の周波数カウンタ値とし、前記補正値生成回路は前記定数レジスタに保持されている割り込み間隔に相当する予め時刻補正制御回路として設定されたレジスタの値を読み込み、前記補正値生成回路は前記定数レジスタに設定されているレジスタの値と第1の演算レジスタの値X1の差分をとり、前記差分を定数レジスタのレジスタの値で割り1カウンタ当たりの補正値を算出し、前記算出した補正値を補正値として前記補正値レジスタに格納し、前記実時間変換回路は、現在の周波数カウンタから誤差のある周波数カウンタの値X2を読み出し、第2の演算レジスタに値X2として格納し、実時間変換回路は、誤差のない補正された周波数カウンタ値Yを得るために、補正値を補正値レジスタから読み出し、Y=X2/(1+補正値)により誤差のある周波数カウンタの値X2を補正することにより誤差のない補正された周波数カウンタ値Yに変換し、前記実時間変換回路は、前記周波数カウンタ値Yを実時間への変換係数で割り実時間を算出し、前記算出した実時間を時刻格納レジスタに格納し、前記実時間読み出し回路を経てソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出すことを特徴とする。
第11の発明の時刻補正制御方法は、割り込み信号を発生する割り込み信号回路と、前記割り込み信号回路からの割り込み信号を受信して補正値の生成を制御する制御回路と、プロセッサを歩進するためのクロックを発生するプロセッサクロックと、前記プロセッサクロックの動作周波数により歩進する周波数カウンタと、前記割り込み信号回路からの割り込み間隔に応じた周波数カウント値を保持する定数レジスタと、前回の割り込み時の前記周波数カウンタの値を格納する保持レジスタと、前記定数レジスタと前記周波数カウンタと前記保持レジスタから補正値を生成する補正値生成回路と、前記補正値生成回路で生成した補正値を格納する補正値レジスタと、前記周波数カウンタと前記補正値レジスタから実時間を生成する実時間変換回路と、前記実時間変換回路により生成された実時間の変換結果を格納する時刻格納レジスタと、ソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出す実時間読み出し回路とを備えた時刻補正制御回路における時刻補正制御方法であって、前記制御回路は前記割り込み信号回路から送られてくる一定間隔での割り込み信号を受信し、割り込み信号毎に、前記補正値生成回路を起動し、前記補正値生成回路は前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値を読み込み、前記補正値生成回路は読み込んだ前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値の差分を第1の演算レジスタに値X1として格納し、前記制御回路は前記周波数カウンタにカウントアップされている現在の周波数カウンタ値を保持レジスタに格納し、前記保持レジスタに格納した周波数カウンタ値を次の割り込み発生時の、前回の割り込み時の周波数カウンタ値とし、前記補正値生成回路は前記定数レジスタに保持されている割り込み間隔に相当する予め時刻補正制御回路として設定されたレジスタの値を読み込み、前記補正値生成回路は前記定数レジスタに設定されているレジスタの値と第1の演算レジスタの値X1の差分をとり、前記差分を定数レジスタのレジスタの値で割り1カウンタ当たりの補正値を算出し、前記算出した補正値を補正値として前記補正値レジスタに格納し、前記実時間変換回路は、現在の周波数カウンタから誤差のある周波数カウンタの値X2を読み出し、第2の演算レジスタに値X2として格納し、実時間変換回路は、誤差のない補正された周波数カウンタ値Yを得るために、補正値を補正値レジスタから読み出し、Y=X2/(1+補正値)により誤差のある周波数カウンタの値X2を補正することにより誤差のない補正された周波数カウンタ値Yに変換し、前記実時間変換回路は、前記周波数カウンタ値Yを実時間への変換係数で割り実時間を算出し、前記算出した実時間を時刻格納レジスタに格納し、前記実時間読み出し回路を経てソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出すことを特徴とする時刻補正制御方法。
第12の発明の時刻補正制御用プログラムは、割り込み信号を発生する割り込み信号回路と、前記割り込み信号回路からの割り込み信号を受信して補正値の生成を制御する制御回路と、プロセッサを歩進するためのクロックを発生するプロセッサクロックと、前記プロセッサクロックの動作周波数により歩進する周波数カウンタと、前記割り込み信号回路からの割り込み間隔に応じた周波数カウント値を保持する定数レジスタと、前回の割り込み時の前記周波数カウンタの値を格納する保持レジスタと、前記定数レジスタと前記周波数カウンタと前記保持レジスタから補正値を生成する補正値生成回路と、前記補正値生成回路で生成した補正値を格納する補正値レジスタと、前記周波数カウンタと前記補正値レジスタから実時間を生成する実時間変換回路と、前記実時間変換回路により生成された実時間の変換結果を格納する時刻格納レジスタと、ソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出す実時間読み出し回路とを備えた時刻補正制御回路における時刻補正制御処理において、前記制御回路は前記割り込み信号回路から送られてくる一定間隔での割り込み信号を受信し、割り込み信号毎に、前記補正値生成回路を起動し、前記補正値生成回路は前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値を読み込み、前記補正値生成回路は読み込んだ前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値の差分を第1の演算レジスタに値X1として格納し、前記制御回路は前記周波数カウンタにカウントアップされている現在の周波数カウンタ値を保持レジスタに格納し、前記保持レジスタに格納した周波数カウンタ値を次の割り込み発生時の、前回の割り込み時の周波数カウンタ値とし、前記補正値生成回路は前記定数レジスタに保持されている割り込み間隔に相当する予め時刻補正制御回路として設定されたレジスタの値を読み込み、前記補正値生成回路は前記定数レジスタに設定されているレジスタの値と第1の演算レジスタの値X1の差分をとり、前記差分を定数レジスタのレジスタの値で割り1カウンタ当たりの補正値を算出し、前記算出した補正値を補正値として前記補正値レジスタに格納し、前記実時間変換回路は、現在の周波数カウンタから誤差のある周波数カウンタの値X2を読み出し、第2の演算レジスタに値X2として格納し、実時間変換回路は、誤差のない補正された周波数カウンタ値Yを得るために、補正値を補正値レジスタから読み出し、Y=X2/(1+補正値)により誤差のある周波数カウンタの値X2を補正することにより誤差のない補正された周波数カウンタ値Yに変換し、前記実時間変換回路は、前記周波数カウンタ値Yを実時間への変換係数で割り実時間を算出し、前記算出した実時間を時刻格納レジスタに格納し、前記実時間読み出し回路を経てソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出す処理をコンピュータに実行させるためのプログラム。
本発明は、プロセッサ内部の周波数カウンタを利用して、実時間を生成する場合に、外部からの割り込みをトリガとして補正値を生成することで精度を向上できるという効果がある。
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
図1は本発明の時刻補正制御回路と時刻補正制御方法および時刻補正制御用プログラムの一実施の形態を示すブロック図である。
図1を参照すると、本発明の時刻補正制御回路は、外部で割り込み信号を発生する割り込み信号回路10と、割り込み信号回路10からの割り込み信号を受信する制御回路1と、プロセッサ(図示されてない)を歩進するためのクロックを発生するプロセッサクロック9と、プロセッサクロック9の動作周波数により歩進する周波数カウンタ2と、割り込み信号回路10からの割り込み間隔に応じた周波数カウント値を保持する定数レジスタ3と、前回の割り込み時の周波数カウンタ2の値を格納する保持レジスタ4と、定数レジスタ3と周波数カウンタ2と保持レジスタ4から補正値を生成する補正値生成回路5と、補正値生成回路5で生成した補正値を格納する補正値レジスタ6と、周波数カウンタ2と補正値レジスタ6から実時間を生成する実時間変換回路7と、実時間変換回路7により生成された実時間の変換結果を格納する時刻格納レジスタ8と、ソフトウェアが実時間を必要とするとき時刻格納レジスタ8から実時間を読み出す実時間読み出し回路11から構成されている。
尚、割り込みをトリガとした補正方法は、図1では金物として説明しているが、周波数カウンタ以外の論理は、ファームウェアでもよく特に限定はしない。
割り込みにより時刻補正ファームウェアを起動して補正値を生成することも包含している。
次に、本発明を実施するための最良の形態の動作について、図1、図2、および図3を参照して説明する。
図2は本発明の時刻補正制御回路と時刻補正制御方法および時刻補正制御用プログラムの一実施の形態の時刻補正の動作を示す流れ図である。
図3は本発明の時刻補正制御回路と時刻補正制御方法および時刻補正制御用プログラムの一実施の形態の時刻変換の動作を示す流れ図である。
制御回路1は、プロセッサの外部からの割り込み信号回路10からの割り込み信号である信号線101を受信して補正値の生成を制御する回路である。
割り込み信号線101は、外部の高精度なタイマで創出される割り込み信号回路10から送られてくる一定間隔での割り込み指示である。
周波数カウンタ2は、プロセッサを歩進させるプロセッサクロック9からのクロックによりカウントアップするフリーランニングのレジスタである。
定数レジスタ3は割り込み信号線101の割り込み間隔に応じた周波数カウンタの値を格納するレジスタである。
この定数レジスタ3に格納される周波数カウンタの値はプロセッサクロック9からのクロックにより作成されるカウンタや実時間の補正を行うための基準となるもので、極めて高精度な値で、正確な割り込み間隔を表す周波数カウント値である。
この定数レジスタ3の周波数カウント値は予め正確な割り込み間隔として決定された値(狂いのない絶対時間に相当もの)が固定的な基準値として定数レジスタ3に設定されている。
保持レジスタ4は、割り込み信号線101による割り込みイベント毎に周波数カウンタ2の周波数カウンタ値を格納するレジスタで、割り込み信号線101による割り込み発生する度に前回の割り込み時の周波数カウンタ2の周波数カウンタ値を格納しているものである。
制御回路1は、割り込み信号線101により、外部からの割り込み指示を受信すると制御回路1は、信号線102により補正値生成回路5を動作させる。
外部からの割り込み処理は一定間隔毎に通知され、通知される毎に図2に示す本発明の時刻補正制御回路と時刻補正制御方法および時刻補正制御用プログラムの一実施の形態の時刻補正の動作を示す流れ図の処理を行う。
最初に外部の割り込み回路10から割り込み信号線101による割り込みが制御回路1に通知されると、制御回路1は信号線102により補正値生成回路5を起動する。
補正値生成回路5は信号線201により周波数カウンタ2にカウントアップされている現在の周波数カウンタ値(今回の割り込み時の周波数カウンタ値)と信号線401により保持レジスタ4に保持されているレジスタの値(前回の割り込み時の周波数カウンタ2の周波数カウンタ値)を読み込む。
補正値生成回路5は読み込んだ周波数カウンタ2にカウントアップされている現在の周波数カウンタ値と保持レジスタ4に保持されているレジスタの値の差分を演算のために補正値生成回路5の中にある一時的に保存する演算レジスタ(図示されてない)に値X1として格納します(ステップS21)。
つぎに、制御回路1は信号線103により周波数カウンタ2にカウントアップされている現在の周波数カウンタ値(今回の割り込み時の周波数カウンタ値)を保持レジスタ4に格納します(ステップS22)。
この保持レジスタ4に格納された周波数カウンタ値が次の割り込み信号線101による割り込みが発生した時の、前回の割り込み時の周波数カウンタ値となるのである。
次に、補正値生成回路5は信号線301により定数レジスタ3に保持されているレジスタの値を読み込む。
定数レジスタ3には、割り込み間隔に相当する予めシステムとしての時刻補正制御回路での設定されたカウンタ値が格納されている。
次に、補正値生成回路5はこの定数レジスタ3に設定されているカウンタ値と演算レジスタの値X1の差分をとり、この差分を定数レジスタ3のカウンタ値で割り1カウンタ当たりの補正値を算出し、この値を信号線501により補正値として補正値レジスタ6に格納する(ステップS23)。
定数レジスタ3には、割り込み間隔に相当する予めシステムとして設定されたカウンタ値が格納されていて、この定数レジスタ3に設定されているカウンタ値と演算レジスタの値X1の差分が、内部のカウンタと外部の割り込み間隔の差、つまり誤差となります。
この誤差を定数レジスタ3の値で割ると1カウンタ当たりの補正値が算出できます。
これらのステップS21、ステップS22、およびステップS23の動作をさらに詳しく説明すると、補正値生成回路5は周波数カウンタ2の周波数カウンタ値と前回の割り込み時の周波数カウント値を格納している保持レジスタ4の周波数カウント値を信号線201と信号線401により受け取り、差分値X1(誤差分)を生成する。
生成した差分値X1(誤差分)と定数レジスタ3の値(基準値)の差分値を取り、この差分値を定数レジスタ3の値(基準値)で除算することで1カウンタ当たりの補正値を算出し、その結果を信号線501により補正値レジスタ6に出力する。
制御回路1から信号線104の指示により、補正値は補正値レジスタ6に格納される。
また信号線103の指示によりこの時の周波数カウンタ2の周波数カウンタ値が保持レジスタ4に格納される。
つぎに、実時間を得るための時刻への変換は、図3の本発明の時刻補正制御回路と時刻補正制御方法および時刻補正制御用プログラムの一実施の形態の時刻変換の動作を示す流れ図を参照して説明する。
実時間変換回路7は、まず、信号線202により現在の周波数カウンタ2から周波数カウンタ値X2を読み出し、実時間変換回路7の中にある一時的に保存する演算レジスタ(図示されてない)に値X2として格納します(ステップS31)。
次に、その演算レジスタの値X2を補正し、誤差のない補正された周波数カウンタ値Yを得るために、実時間変換回路7は、信号線601により補正値を補正値レジスタ6から読み出し、Y=X2/(1+補正値)により補正することにより変換された誤差のない補正された周波数カウンタ値Yを得ることができる(ステップS32)。
次に、実時間変換回路7は、この周波数カウンタ値Yを実時間への変換係数Tで割り実時間を算出し、信号線701で時刻格納レジスタ8に格納する(ステップS33)。
以上のようにして時刻格納レジスタ8に補正され実時間として格納され値を信号線801により実時間の必要時ソフトウェアが実時間読み出し回路11がら読み出すことができる。
以上、実時間を得るための時刻への変換を実際の数値を上げて説明すると、
例えば
周波数カウンタ :520サイクル
保持レジスタ :300サイクル
定数レジスタ :200サイクル
とすると、
割り込み間隔は定数レジスタの値:200サイクルから200サイクルに1回となります。
この時に周波数カウンタ2の現在の周波数カウンタ値:520サイクルと保持レジスタ4に保持されているレジスタの値:300サイクルの差分値Xは520−300=220サイクルとなり、外部の割り込み200サイクルに対して内部のプロセッサクロック9からのクロックによりカウントアップする周波数カウンタ2の周波数カウンタ値は220サイクルであり20サイクルのズレが発生していることになります。
このときの補正値は20/200=0.1となります。
次に、現在の周波数カウンタ値がX=880サイクルとすると、実時間への変換では、周波数カウンタ値:X=880サイクルを読み出して補正し、Y=880/(1+0.1)=800サイクルによる補正後の正確な周波数カウンタ値:Y=800サイクルが得られることになる。
補正がない場合はX=880サイクルで補正後はY=800サイクルとなり80サイクルの誤差が発生していることになります。
ここで、実時間への変換係数TをT=1000サイクル/秒(1サイクルは0.001秒)とすると補正後の正確な周波数カウンタ値:Y=800サイクルであることから実時間がY/T=800/1000=0.8秒として変換され正確な実時間が得られることになる。
次に、本発明を第2の実施の形態について図面を参照して詳細に説明する。
図1は本発明の時刻補正制御回路と時刻補正制御方法および時刻補正制御用プログラムの一実施の形態を示すブロック図であり、本発明の第2の実施の形態についても最良の形態と同じ構成であり図1を参照して詳細に説明する。
次に、本発明を実施するための第2の形態の動作について、図1、図2、および図3を参照して説明する。
制御回路1は、プロセッサの外部からの割り込み信号回路10からの割り込み信号である信号線101を受信して補正値の生成を制御する回路である。
割り込み信号線101は、外部の高精度なタイマで創出される割り込み信号回路10から送られてくる一定間隔での割り込み指示である。
周波数カウンタ2は、プロセッサを歩進させるプロセッサクロック9からのクロックによりカウントアップするフリーランニングのレジスタである。
定数レジスタ3は割り込み信号線101の割り込み間隔に応じた周波数カウンタの値を格納するレジスタである。
この定数レジスタ3に格納される周波数カウンタの値はプロセッサクロック9からのクロックにより作成されるカウンタや実時間の補正を行うための基準となるもので、極めて高精度な値で、正確な割り込み間隔を表す周波数カウント値である。
この定数レジスタ3の周波数カウント値は予め正確な割り込み間隔として決定された値(狂いのない絶対時間に相当もの)が固定的な基準値として定数レジスタ3に設定されている。
保持レジスタ4は、割り込み信号線101による割り込みイベント毎に周波数カウンタ2の周波数カウンタ値を格納するレジスタで、割り込み信号線101による割り込み発生する度に前回の割り込み時の周波数カウンタ2の周波数カウンタ値を格納しているものである。
制御回路1は、割り込み信号線101により、外部からの割り込み指示を受信すると制御回路1は、信号線102により補正値生成回路5を動作させる。
外部からの割り込み処理は一定間隔毎に通知され、通知される毎に図2に示す本発明の時刻補正制御回路と時刻補正制御方法および時刻補正制御用プログラムの一実施の形態の時刻補正の動作を示す流れ図の処理を行う。
最初に外部の割り込み回路10から割り込み信号線101による割り込みが制御回路1に通知されると、制御回路1は信号線102により補正値生成回路5を起動する。
補正値生成回路5は信号線201により周波数カウンタ2にカウントアップされている現在の周波数カウンタ値(今回の割り込み時の周波数カウンタ値)と信号線401により保持レジスタ4に保持されているレジスタの値(前回の割り込み時の周波数カウンタ2の周波数カウンタ値)を読み込む。
補正値生成回路5は読み込んだ周波数カウンタ2にカウントアップされている現在の周波数カウンタ値と保持レジスタ4に保持されているレジスタの値の差分を取り一時的に値X1として補正値生成回路5に保留します(ステップS21)。
つぎに、制御回路1は信号線103により周波数カウンタ2にカウントアップされている現在の周波数カウンタ値(今回の割り込み時の周波数カウンタ値)を保持レジスタ4に格納します(ステップS22)。
この保持レジスタ4に格納された周波数カウンタ値が次の割り込み信号線101による割り込みが発生した時の、前回の割り込み時の周波数カウンタ値となるのである。
次に、補正値生成回路5は信号線301により定数レジスタ3に保持されているレジスタの値を読み込む。
定数レジスタ3には、割り込み間隔に相当する予めシステムとしての時刻補正制御回路での設定されたカウンタ値が格納されている。
次に、補正値生成回路5はこの定数レジスタ3に設定されているカウンタ値とステップS21で一時的に値X1として補正値生成回路5に保留した値X1とのさらなる差分をとり、このさらなる差分を定数レジスタ3のカウンタ値で割り1カウンタ当たりの補正値を算出し、この値を信号線501により補正値として補正値レジスタ6に格納する(ステップS23)。
定数レジスタ3には、割り込み間隔に相当する予めシステムとして設定されたカウンタ値が格納されていて、この定数レジスタ3に設定されているカウンタ値と演算レジスタの値X1の差分が、内部のカウンタと外部の割り込み間隔の差、つまり誤差となります。
この誤差を定数レジスタ3の値で割ると1カウンタ当たりの補正値が算出できます。
これらのステップS21、ステップS22、およびステップS23の動作をさらに詳しく説明すると、補正値生成回路5は周波数カウンタ2の周波数カウンタ値と前回の割り込み時の周波数カウント値を格納している保持レジスタ4の周波数カウント値を信号線201と信号線401により受け取り、差分値X1(誤差分)を生成する。
生成した差分値X1(誤差分)と定数レジスタ3の値(基準値)のさらなる差分値を取り、このさらなる差分値を定数レジスタ3の値(基準値)で除算することで1カウンタ当たりの補正値を算出し、その結果を信号線501により補正値レジスタ6に出力する。
制御回路1から信号線104の指示により、補正値は補正値レジスタ6に格納される。
また信号線103の指示によりこの時の周波数カウンタ2の周波数カウンタ値が保持レジスタ4に格納される。
つぎに、実時間を得るための時刻への変換は、図3の本発明の時刻補正制御回路と時刻補正制御方法および時刻補正制御用プログラムの一実施の形態の時刻変換の動作を示す流れ図を参照して説明する。
実時間変換回路7は、まず、信号線202により現在の周波数カウンタ2から周波数カウンタ値X2を読み出します(ステップS31)。
次に、その演算レジスタの値X2を補正し、誤差のない補正された周波数カウンタ値Yを得るために、実時間変換回路7は、信号線601により補正値を補正値レジスタ6から読み出し、Y=X2/(1+補正値)により補正することにより変換された誤差のない補正された周波数カウンタ値Yを得ることができる(ステップS32)。
次に、実時間変換回路7は、この周波数カウンタ値Yを実時間への変換係数Tで割り実時間を算出し、信号線701で時刻格納レジスタ8に格納する(ステップS33)。
以上のようにして時刻格納レジスタ8に補正され実時間として格納され値を信号線801により実時間の必要時ソフトウェアが実時間読み出し回路11がら読み出すことができる。
本発明の時刻補正制御回路と時刻補正制御方法および時刻補正制御用プログラムの一実施の形態を示すブロック図である。 本発明の時刻補正制御回路と時刻補正制御方法および時刻補正制御用プログラムの一実施の形態の時刻補正の動作を示す流れ図である。 本発明の時刻補正制御回路と時刻補正制御方法および時刻補正制御用プログラムの一実施の形態の時刻変換の動作を示す流れ図である。
符号の説明
1 制御回路
2 周波数カウンタ
3 定数レジスタ
4 保持レジスタ
5 補正値生成回路
6 補正値レジスタ
7 実時間変換回路
8 時刻格納レジスタ
9 プロセッサクロック
10 割り込み信号回路
11 実時間読み出し回路

Claims (12)

  1. 割り込み信号を発生する割り込み信号回路と、前記割り込み信号回路からの割り込み信号を受信して補正値の生成を制御する制御回路と、プロセッサを歩進するためのクロックを発生するプロセッサクロックと、前記プロセッサクロックの動作周波数により歩進する周波数カウンタと、前記割り込み信号回路からの割り込み間隔に応じた周波数カウント値を保持する定数レジスタと、前回の割り込み時の前記周波数カウンタの値を格納する保持レジスタと、前記定数レジスタと前記周波数カウンタと前記保持レジスタから補正値を生成する補正値生成回路と、前記補正値生成回路で生成した補正値を格納する補正値レジスタと、前記周波数カウンタと前記補正値レジスタから実時間を生成する実時間変換回路と、前記実時間変換回路により生成された実時間の変換結果を格納する時刻格納レジスタと、ソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出す実時間読み出し回路とを備え、前記制御回路は前記割り込み信号回路から送られてくる一定間隔での割り込み信号を受信し、割り込み信号毎に、前記補正値生成回路を起動し、前記補正値生成回路は前記周波数カウンタの値と前記保持レジスタの値との差分値を前記定数レジスタの値により除算することで周波数カウンタの補正を行い補正値を算出し、前記補正値を前記補正値レジスタに格納し、前記実時間変換回路が前記周波数カウンタの周波数カウンタの値を読み出し、前記補正値レジスタに格納した前記補正値により前記読み出した周波数カウンタの値を補正し、前記補正された前記周波数カウンタの値を実時間に変換し、前記変換された実時間を前記時刻格納レジスタに格納し、前記実時間読み出し回路を経てソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出すことを特徴とする時刻補正制御回路。
  2. 割り込み信号を発生する割り込み信号回路と、前記割り込み信号回路からの割り込み信号を受信して補正値の生成を制御する制御回路と、プロセッサを歩進するためのクロックを発生するプロセッサクロックと、前記プロセッサクロックの動作周波数により歩進する周波数カウンタと、前記割り込み信号回路からの割り込み間隔に応じた周波数カウント値を保持する定数レジスタと、前回の割り込み時の前記周波数カウンタの値を格納する保持レジスタと、前記定数レジスタと前記周波数カウンタと前記保持レジスタから補正値を生成する補正値生成回路と、前記補正値生成回路で生成した補正値を格納する補正値レジスタと、前記周波数カウンタと前記補正値レジスタから実時間を生成する実時間変換回路と、前記実時間変換回路により生成された実時間の変換結果を格納する時刻格納レジスタと、ソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出す実時間読み出し回路とを備えた時刻補正制御回路における時刻補正制御方法であって、前記制御回路は前記割り込み信号回路から送られてくる一定間隔での割り込み信号を受信し、割り込み信号毎に、前記補正値生成回路を起動し、前記補正値生成回路は前記周波数カウンタの値と前記保持レジスタの値との差分値を前記定数レジスタの値により除算することで周波数カウンタの補正を行い補正値を算出し、前記補正値を前記補正値レジスタに格納し、前記実時間変換回路が前記周波数カウンタの周波数カウンタの値を読み出し、前記補正値レジスタに格納した前記補正値により前記読み出した周波数カウンタの値を補正し、前記補正された前記周波数カウンタの値を実時間に変換し、前記変換された実時間を前記時刻格納レジスタに格納し、前記実時間読み出し回路を経てソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出すことを特徴とする時刻補正制御方法。
  3. 割り込み信号を発生する割り込み信号回路と、前記割り込み信号回路からの割り込み信号を受信して補正値の生成を制御する制御回路と、プロセッサを歩進するためのクロックを発生するプロセッサクロックと、前記プロセッサクロックの動作周波数により歩進する周波数カウンタと、前記割り込み信号回路からの割り込み間隔に応じた周波数カウント値を保持する定数レジスタと、前回の割り込み時の前記周波数カウンタの値を格納する保持レジスタと、前記定数レジスタと前記周波数カウンタと前記保持レジスタから補正値を生成する補正値生成回路と、前記補正値生成回路で生成した補正値を格納する補正値レジスタと、前記周波数カウンタと前記補正値レジスタから実時間を生成する実時間変換回路と、前記実時間変換回路により生成された実時間の変換結果を格納する時刻格納レジスタと、ソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出す実時間読み出し回路とを備えた時刻補正制御回路における時刻補正制御処理において、前記制御回路は前記割り込み信号回路から送られてくる一定間隔での割り込み信号を受信し、割り込み信号毎に、前記補正値生成回路を起動し、前記補正値生成回路は前記周波数カウンタの値と前記保持レジスタの値との差分値を前記定数レジスタの値により除算することで周波数カウンタの補正を行い補正値を算出し、前記補正値を前記補正値レジスタに格納し、前記実時間変換回路が前記周波数カウンタの周波数カウンタの値を読み出し、前記補正値レジスタに格納した前記補正値により前記読み出した周波数カウンタの値を補正し、前記補正された前記周波数カウンタの値を実時間に変換し、前記変換された実時間を前記時刻格納レジスタに格納し、前記実時間読み出し回路を経てソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出す処理をコンピュータに実行させるための時刻補正制御用プログラム。
  4. 割り込み信号を発生する割り込み信号回路と、前記割り込み信号回路からの割り込み信号を受信して補正値の生成を制御する制御回路と、プロセッサを歩進するためのクロックを発生するプロセッサクロックと、前記プロセッサクロックの動作周波数により歩進する周波数カウンタと、前記割り込み信号回路からの割り込み間隔に応じた周波数カウント値を保持する定数レジスタと、前回の割り込み時の前記周波数カウンタの値を格納する保持レジスタと、前記定数レジスタと前記周波数カウンタと前記保持レジスタから補正値を生成する補正値生成回路と、前記補正値生成回路で生成した補正値を格納する補正値レジスタと、前記周波数カウンタと前記補正値レジスタから実時間を生成する実時間変換回路と、前記実時間変換回路により生成された実時間の変換結果を格納する時刻格納レジスタと、ソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出す実時間読み出し回路とを備え、前記制御回路は前記割り込み信号回路から送られてくる一定間隔での割り込み信号を受信し、割り込み信号毎に、前記補正値生成回路を起動し、前記補正値生成回路は前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値を読み込み、前記補正値生成回路は読み込んだ前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値の差分を取り、前記補正値生成回路は前記定数レジスタに保持されている割り込み間隔に相当する予め時刻補正制御回路として設定されたレジスタの値を読み込み、前記補正値生成回路は前記定数レジスタに設定されている前記読み込んだレジスタの値と、前記先に差分を取った現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値との差分のさらなる差分をとり、前記さらなる差分を定数レジスタのレジスタの値で割り1カウンタ当たりの補正値を算出し、前記算出した補正値を補正値として前記補正値レジスタに格納し、前記実時間変換回路は、現在の周波数カウンタから誤差のある周波数カウンタの値X2を読み出し、実時間変換回路は、誤差のない補正された周波数カウンタ値Yを得るために、補正値を補正値レジスタから読み出し、Y=X2/(1+補正値)により誤差のある周波数カウンタの値X2を補正することにより誤差のない補正された周波数カウンタ値Yに変換し、前記実時間変換回路は、前記周波数カウンタ値Yを実時間への変換係数で割り実時間を算出し、前記算出した実時間を時刻格納レジスタに格納し、前記実時間読み出し回路を経てソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出すことを特徴とする時刻補正制御回路。
  5. 割り込み信号を発生する割り込み信号回路と、前記割り込み信号回路からの割り込み信号を受信して補正値の生成を制御する制御回路と、プロセッサを歩進するためのクロックを発生するプロセッサクロックと、前記プロセッサクロックの動作周波数により歩進する周波数カウンタと、前記割り込み信号回路からの割り込み間隔に応じた周波数カウント値を保持する定数レジスタと、前回の割り込み時の前記周波数カウンタの値を格納する保持レジスタと、前記定数レジスタと前記周波数カウンタと前記保持レジスタから補正値を生成する補正値生成回路と、前記補正値生成回路で生成した補正値を格納する補正値レジスタと、前記周波数カウンタと前記補正値レジスタから実時間を生成する実時間変換回路と、前記実時間変換回路により生成された実時間の変換結果を格納する時刻格納レジスタと、ソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出す実時間読み出し回路とを備えた時刻補正制御回路における時刻補正制御方法であって、前記制御回路は前記割り込み信号回路から送られてくる一定間隔での割り込み信号を受信し、割り込み信号毎に、前記補正値生成回路を起動し、前記補正値生成回路は前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値を読み込み、前記補正値生成回路は読み込んだ前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値の差分を取り、前記補正値生成回路は前記定数レジスタに保持されている割り込み間隔に相当する予め時刻補正制御回路として設定されたレジスタの値を読み込み、前記補正値生成回路は前記定数レジスタに設定されている前記読み込んだレジスタの値と、前記先に差分を取った現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値との差分のさらなる差分をとり、前記さらなる差分を定数レジスタのレジスタの値で割り1カウンタ当たりの補正値を算出し、前記算出した補正値を補正値として前記補正値レジスタに格納し、前記実時間変換回路は、現在の周波数カウンタから誤差のある周波数カウンタの値X2を読み出し、実時間変換回路は、誤差のない補正された周波数カウンタ値Yを得るために、補正値を補正値レジスタから読み出し、Y=X2/(1+補正値)により誤差のある周波数カウンタの値X2を補正することにより誤差のない補正された周波数カウンタ値Yに変換し、前記実時間変換回路は、前記周波数カウンタ値Yを実時間への変換係数で割り実時間を算出し、前記算出した実時間を時刻格納レジスタに格納し、前記実時間読み出し回路を経てソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出すことを特徴とする時刻補正制御方法。
  6. 割り込み信号を発生する割り込み信号回路と、前記割り込み信号回路からの割り込み信号を受信して補正値の生成を制御する制御回路と、プロセッサを歩進するためのクロックを発生するプロセッサクロックと、前記プロセッサクロックの動作周波数により歩進する周波数カウンタと、前記割り込み信号回路からの割り込み間隔に応じた周波数カウント値を保持する定数レジスタと、前回の割り込み時の前記周波数カウンタの値を格納する保持レジスタと、前記定数レジスタと前記周波数カウンタと前記保持レジスタから補正値を生成する補正値生成回路と、前記補正値生成回路で生成した補正値を格納する補正値レジスタと、前記周波数カウンタと前記補正値レジスタから実時間を生成する実時間変換回路と、前記実時間変換回路により生成された実時間の変換結果を格納する時刻格納レジスタと、ソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出す実時間読み出し回路とを備えた時刻補正制御回路における時刻補正制御処理において、前記制御回路は前記割り込み信号回路から送られてくる一定間隔での割り込み信号を受信し、割り込み信号毎に、前記補正値生成回路を起動し、前記補正値生成回路は前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値を読み込み、前記補正値生成回路は読み込んだ前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値の差分を取り、前記補正値生成回路は前記定数レジスタに保持されている割り込み間隔に相当する予め時刻補正制御回路として設定されたレジスタの値を読み込み、前記補正値生成回路は前記定数レジスタに設定されている前記読み込んだレジスタの値と、前記先に差分を取った現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値との差分のさらなる差分をとり、前記さらなる差分を定数レジスタのレジスタの値で割り1カウンタ当たりの補正値を算出し、前記算出した補正値を補正値として前記補正値レジスタに格納し、前記実時間変換回路は、現在の周波数カウンタから誤差のある周波数カウンタの値X2を読み出し、実時間変換回路は、誤差のない補正された周波数カウンタ値Yを得るために、補正値を補正値レジスタから読み出し、Y=X2/(1+補正値)により誤差のある周波数カウンタの値X2を補正することにより誤差のない補正された周波数カウンタ値Yに変換し、前記実時間変換回路は、前記周波数カウンタ値Yを実時間への変換係数で割り実時間を算出し、前記算出した実時間を時刻格納レジスタに格納し、前記実時間読み出し回路を経てソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出す処理をコンピュータに実行させるための時刻補正制御用プログラム。
  7. 割り込み信号を発生する割り込み信号回路と、前記割り込み信号回路からの割り込み信号を受信して補正値の生成を制御する制御回路と、プロセッサを歩進するためのクロックを発生するプロセッサクロックと、前記プロセッサクロックの動作周波数により歩進する周波数カウンタと、前記割り込み信号回路からの割り込み間隔に応じた周波数カウント値を保持する定数レジスタと、前回の割り込み時の前記周波数カウンタの値を格納する保持レジスタと、前記定数レジスタと前記周波数カウンタと前記保持レジスタから補正値を生成する補正値生成回路と、前記補正値生成回路で生成した補正値を格納する補正値レジスタと、前記周波数カウンタと前記補正値レジスタから実時間を生成する実時間変換回路と、前記実時間変換回路により生成された実時間の変換結果を格納する時刻格納レジスタと、ソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出す実時間読み出し回路とを備え、前記制御回路は前記割り込み信号回路から送られてくる一定間隔での割り込み信号を受信し、割り込み信号毎に、前記補正値生成回路を起動し、前記補正値生成回路は前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値を読み込み、前記補正値生成回路は読み込んだ前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値の差分を取り、前記制御回路は前記周波数カウンタにカウントアップされている現在の周波数カウンタ値を保持レジスタに格納し、前記保持レジスタに格納した周波数カウンタ値を次の割り込み発生時の、前回の割り込み時の周波数カウンタ値とし、前記補正値生成回路は前記定数レジスタに保持されている割り込み間隔に相当する予め時刻補正制御回路として設定されたレジスタの値を読み込み、前記補正値生成回路は前記定数レジスタに設定されている前記読み込んだレジスタの値と、前記先に差分を取った現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値との差分のさらなる差分をとり、前記さらなる差分を定数レジスタのレジスタの値で割り1カウンタ当たりの補正値を算出し、前記算出した補正値を補正値として前記補正値レジスタに格納し、前記実時間変換回路は、現在の周波数カウンタから誤差のある周波数カウンタの値X2を読み出し、実時間変換回路は、誤差のない補正された周波数カウンタ値Yを得るために、補正値を補正値レジスタから読み出し、Y=X2/(1+補正値)により誤差のある周波数カウンタの値X2を補正することにより誤差のない補正された周波数カウンタ値Yに変換し、前記実時間変換回路は、前記周波数カウンタ値Yを実時間への変換係数で割り実時間を算出し、前記算出した実時間を時刻格納レジスタに格納し、前記実時間読み出し回路を経てソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出すことを特徴とする時刻補正制御回路。
  8. 割り込み信号を発生する割り込み信号回路と、前記割り込み信号回路からの割り込み信号を受信して補正値の生成を制御する制御回路と、プロセッサを歩進するためのクロックを発生するプロセッサクロックと、前記プロセッサクロックの動作周波数により歩進する周波数カウンタと、前記割り込み信号回路からの割り込み間隔に応じた周波数カウント値を保持する定数レジスタと、前回の割り込み時の前記周波数カウンタの値を格納する保持レジスタと、前記定数レジスタと前記周波数カウンタと前記保持レジスタから補正値を生成する補正値生成回路と、前記補正値生成回路で生成した補正値を格納する補正値レジスタと、前記周波数カウンタと前記補正値レジスタから実時間を生成する実時間変換回路と、前記実時間変換回路により生成された実時間の変換結果を格納する時刻格納レジスタと、ソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出す実時間読み出し回路とを備えた時刻補正制御回路における時刻補正制御方法であって、前記制御回路は前記割り込み信号回路から送られてくる一定間隔での割り込み信号を受信し、割り込み信号毎に、前記補正値生成回路を起動し、前記補正値生成回路は前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値を読み込み、前記補正値生成回路は読み込んだ前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値の差分を取り、前記制御回路は前記周波数カウンタにカウントアップされている現在の周波数カウンタ値を保持レジスタに格納し、前記保持レジスタに格納した周波数カウンタ値を次の割り込み発生時の、前回の割り込み時の周波数カウンタ値とし、前記補正値生成回路は前記定数レジスタに保持されている割り込み間隔に相当する予め時刻補正制御回路として設定されたレジスタの値を読み込み、前記補正値生成回路は前記定数レジスタに設定されている前記読み込んだレジスタの値と、前記先に差分を取った現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値との差分のさらなる差分をとり、前記さらなる差分を定数レジスタのレジスタの値で割り1カウンタ当たりの補正値を算出し、前記算出した補正値を補正値として前記補正値レジスタに格納し、前記実時間変換回路は、現在の周波数カウンタから誤差のある周波数カウンタの値X2を読み出し、実時間変換回路は、誤差のない補正された周波数カウンタ値Yを得るために、補正値を補正値レジスタから読み出し、Y=X2/(1+補正値)により誤差のある周波数カウンタの値X2を補正することにより誤差のない補正された周波数カウンタ値Yに変換し、前記実時間変換回路は、前記周波数カウンタ値Yを実時間への変換係数で割り実時間を算出し、前記算出した実時間を時刻格納レジスタに格納し、前記実時間読み出し回路を経てソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出すことを特徴とする時刻補正制御方法。
  9. 割り込み信号を発生する割り込み信号回路と、前記割り込み信号回路からの割り込み信号を受信して補正値の生成を制御する制御回路と、プロセッサを歩進するためのクロックを発生するプロセッサクロックと、前記プロセッサクロックの動作周波数により歩進する周波数カウンタと、前記割り込み信号回路からの割り込み間隔に応じた周波数カウント値を保持する定数レジスタと、前回の割り込み時の前記周波数カウンタの値を格納する保持レジスタと、前記定数レジスタと前記周波数カウンタと前記保持レジスタから補正値を生成する補正値生成回路と、前記補正値生成回路で生成した補正値を格納する補正値レジスタと、前記周波数カウンタと前記補正値レジスタから実時間を生成する実時間変換回路と、前記実時間変換回路により生成された実時間の変換結果を格納する時刻格納レジスタと、ソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出す実時間読み出し回路とを備えた時刻補正制御回路における時刻補正制御処理において、前記制御回路は前記割り込み信号回路から送られてくる一定間隔での割り込み信号を受信し、割り込み信号毎に、前記補正値生成回路を起動し、前記補正値生成回路は前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値を読み込み、前記補正値生成回路は読み込んだ前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値の差分を取り、前記制御回路は前記周波数カウンタにカウントアップされている現在の周波数カウンタ値を保持レジスタに格納し、前記保持レジスタに格納した周波数カウンタ値を次の割り込み発生時の、前回の割り込み時の周波数カウンタ値とし、前記補正値生成回路は前記定数レジスタに保持されている割り込み間隔に相当する予め時刻補正制御回路として設定されたレジスタの値を読み込み、前記補正値生成回路は前記定数レジスタに設定されている前記読み込んだレジスタの値と、前記先に差分を取った現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値との差分のさらなる差分をとり、前記さらなる差分を定数レジスタのレジスタの値で割り1カウンタ当たりの補正値を算出し、前記算出した補正値を補正値として前記補正値レジスタに格納し、前記実時間変換回路は、現在の周波数カウンタから誤差のある周波数カウンタの値X2を読み出し、実時間変換回路は、誤差のない補正された周波数カウンタ値Yを得るために、補正値を補正値レジスタから読み出し、Y=X2/(1+補正値)により誤差のある周波数カウンタの値X2を補正することにより誤差のない補正された周波数カウンタ値Yに変換し、前記実時間変換回路は、前記周波数カウンタ値Yを実時間への変換係数で割り実時間を算出し、前記算出した実時間を時刻格納レジスタに格納し、前記実時間読み出し回路を経てソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出す処理をコンピュータに実行させるための時刻補正制御用プログラム。
  10. 割り込み信号を発生する割り込み信号回路と、前記割り込み信号回路からの割り込み信号を受信して補正値の生成を制御する制御回路と、プロセッサを歩進するためのクロックを発生するプロセッサクロックと、前記プロセッサクロックの動作周波数により歩進する周波数カウンタと、前記割り込み信号回路からの割り込み間隔に応じた周波数カウント値を保持する定数レジスタと、前回の割り込み時の前記周波数カウンタの値を格納する保持レジスタと、前記定数レジスタと前記周波数カウンタと前記保持レジスタから補正値を生成する補正値生成回路と、前記補正値生成回路で生成した補正値を格納する補正値レジスタと、前記周波数カウンタと前記補正値レジスタから実時間を生成する実時間変換回路と、前記実時間変換回路により生成された実時間の変換結果を格納する時刻格納レジスタと、ソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出す実時間読み出し回路とを備え、前記制御回路は前記割り込み信号回路から送られてくる一定間隔での割り込み信号を受信し、割り込み信号毎に、前記補正値生成回路を起動し、前記補正値生成回路は前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値を読み込み、前記補正値生成回路は読み込んだ前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値の差分を第1の演算レジスタに値X1として格納し、前記制御回路は前記周波数カウンタにカウントアップされている現在の周波数カウンタ値を保持レジスタに格納し、前記保持レジスタに格納した周波数カウンタ値を次の割り込み発生時の、前回の割り込み時の周波数カウンタ値とし、前記補正値生成回路は前記定数レジスタに保持されている割り込み間隔に相当する予め時刻補正制御回路として設定されたレジスタの値を読み込み、前記補正値生成回路は前記定数レジスタに設定されているレジスタの値と第1の演算レジスタの値X1の差分をとり、前記差分を定数レジスタのレジスタの値で割り1カウンタ当たりの補正値を算出し、前記算出した補正値を補正値として前記補正値レジスタに格納し、前記実時間変換回路は、現在の周波数カウンタから誤差のある周波数カウンタの値X2を読み出し、第2の演算レジスタに値X2として格納し、実時間変換回路は、誤差のない補正された周波数カウンタ値Yを得るために、補正値を補正値レジスタから読み出し、Y=X2/(1+補正値)により誤差のある周波数カウンタの値X2を補正することにより誤差のない補正された周波数カウンタ値Yに変換し、前記実時間変換回路は、前記周波数カウンタ値Yを実時間への変換係数で割り実時間を算出し、前記算出した実時間を時刻格納レジスタに格納し、前記実時間読み出し回路を経てソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出すことを特徴とする時刻補正制御回路。
  11. 割り込み信号を発生する割り込み信号回路と、前記割り込み信号回路からの割り込み信号を受信して補正値の生成を制御する制御回路と、プロセッサを歩進するためのクロックを発生するプロセッサクロックと、前記プロセッサクロックの動作周波数により歩進する周波数カウンタと、前記割り込み信号回路からの割り込み間隔に応じた周波数カウント値を保持する定数レジスタと、前回の割り込み時の前記周波数カウンタの値を格納する保持レジスタと、前記定数レジスタと前記周波数カウンタと前記保持レジスタから補正値を生成する補正値生成回路と、前記補正値生成回路で生成した補正値を格納する補正値レジスタと、前記周波数カウンタと前記補正値レジスタから実時間を生成する実時間変換回路と、前記実時間変換回路により生成された実時間の変換結果を格納する時刻格納レジスタと、ソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出す実時間読み出し回路とを備えた時刻補正制御回路における時刻補正制御方法であって、前記制御回路は前記割り込み信号回路から送られてくる一定間隔での割り込み信号を受信し、割り込み信号毎に、前記補正値生成回路を起動し、前記補正値生成回路は前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値を読み込み、前記補正値生成回路は読み込んだ前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値の差分を第1の演算レジスタに値X1として格納し、前記制御回路は前記周波数カウンタにカウントアップされている現在の周波数カウンタ値を保持レジスタに格納し、前記保持レジスタに格納した周波数カウンタ値を次の割り込み発生時の、前回の割り込み時の周波数カウンタ値とし、前記補正値生成回路は前記定数レジスタに保持されている割り込み間隔に相当する予め時刻補正制御回路として設定されたレジスタの値を読み込み、前記補正値生成回路は前記定数レジスタに設定されているレジスタの値と第1の演算レジスタの値X1の差分をとり、前記差分を定数レジスタのレジスタの値で割り1カウンタ当たりの補正値を算出し、前記算出した補正値を補正値として前記補正値レジスタに格納し、前記実時間変換回路は、現在の周波数カウンタから誤差のある周波数カウンタの値X2を読み出し、第2の演算レジスタに値X2として格納し、実時間変換回路は、誤差のない補正された周波数カウンタ値Yを得るために、補正値を補正値レジスタから読み出し、Y=X2/(1+補正値)により誤差のある周波数カウンタの値X2を補正することにより誤差のない補正された周波数カウンタ値Yに変換し、前記実時間変換回路は、前記周波数カウンタ値Yを実時間への変換係数で割り実時間を算出し、前記算出した実時間を時刻格納レジスタに格納し、前記実時間読み出し回路を経てソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出すことを特徴とする時刻補正制御方法。
  12. 割り込み信号を発生する割り込み信号回路と、前記割り込み信号回路からの割り込み信号を受信して補正値の生成を制御する制御回路と、プロセッサを歩進するためのクロックを発生するプロセッサクロックと、前記プロセッサクロックの動作周波数により歩進する周波数カウンタと、前記割り込み信号回路からの割り込み間隔に応じた周波数カウント値を保持する定数レジスタと、前回の割り込み時の前記周波数カウンタの値を格納する保持レジスタと、前記定数レジスタと前記周波数カウンタと前記保持レジスタから補正値を生成する補正値生成回路と、前記補正値生成回路で生成した補正値を格納する補正値レジスタと、前記周波数カウンタと前記補正値レジスタから実時間を生成する実時間変換回路と、前記実時間変換回路により生成された実時間の変換結果を格納する時刻格納レジスタと、ソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出す実時間読み出し回路とを備えた時刻補正制御回路における時刻補正制御処理において、前記制御回路は前記割り込み信号回路から送られてくる一定間隔での割り込み信号を受信し、割り込み信号毎に、前記補正値生成回路を起動し、前記補正値生成回路は前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値を読み込み、前記補正値生成回路は読み込んだ前記周波数カウンタにカウントアップされている現在の周波数カウンタ値と前記保持レジスタに保持されているレジスタの値の差分を第1の演算レジスタに値X1として格納し、前記制御回路は前記周波数カウンタにカウントアップされている現在の周波数カウンタ値を保持レジスタに格納し、前記保持レジスタに格納した周波数カウンタ値を次の割り込み発生時の、前回の割り込み時の周波数カウンタ値とし、前記補正値生成回路は前記定数レジスタに保持されている割り込み間隔に相当する予め時刻補正制御回路として設定されたレジスタの値を読み込み、前記補正値生成回路は前記定数レジスタに設定されているレジスタの値と第1の演算レジスタの値X1の差分をとり、前記差分を定数レジスタのレジスタの値で割り1カウンタ当たりの補正値を算出し、前記算出した補正値を補正値として前記補正値レジスタに格納し、前記実時間変換回路は、現在の周波数カウンタから誤差のある周波数カウンタの値X2を読み出し、第2の演算レジスタに値X2として格納し、実時間変換回路は、誤差のない補正された周波数カウンタ値Yを得るために、補正値を補正値レジスタから読み出し、Y=X2/(1+補正値)により誤差のある周波数カウンタの値X2を補正することにより誤差のない補正された周波数カウンタ値Yに変換し、前記実時間変換回路は、前記周波数カウンタ値Yを実時間への変換係数で割り実時間を算出し、前記算出した実時間を時刻格納レジスタに格納し、前記実時間読み出し回路を経てソフトウェアが実時間を必要とするとき前記時刻格納レジスタから実時間を読み出す処理をコンピュータに実行させるための時刻補正制御用プログラム。
JP2003297142A 2003-08-21 2003-08-21 時刻補正制御回路と時刻補正制御方法および時刻補正制御用プログラム Expired - Fee Related JP3990331B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003297142A JP3990331B2 (ja) 2003-08-21 2003-08-21 時刻補正制御回路と時刻補正制御方法および時刻補正制御用プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003297142A JP3990331B2 (ja) 2003-08-21 2003-08-21 時刻補正制御回路と時刻補正制御方法および時刻補正制御用プログラム

Publications (2)

Publication Number Publication Date
JP2005070932A JP2005070932A (ja) 2005-03-17
JP3990331B2 true JP3990331B2 (ja) 2007-10-10

Family

ID=34403084

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003297142A Expired - Fee Related JP3990331B2 (ja) 2003-08-21 2003-08-21 時刻補正制御回路と時刻補正制御方法および時刻補正制御用プログラム

Country Status (1)

Country Link
JP (1) JP3990331B2 (ja)

Also Published As

Publication number Publication date
JP2005070932A (ja) 2005-03-17

Similar Documents

Publication Publication Date Title
US7545228B1 (en) Dynamic temperature compensation for a digitally controlled oscillator using dual MEMS resonators
KR20070016434A (ko) 알티씨 장치 및 알티씨 장치의 현재시각 보정 방법
US7728684B2 (en) Crystal reference clock and radio localization receiver
JP2004274157A (ja) A/d変換出力データの非直線性補正方法及び非直線性補正装置
CN112506266B (zh) 芯片时钟源的计时校准方法、装置及带有时钟源的芯片
JP2007078405A (ja) ソフトウェア時計の計時プログラム
JPH03218494A (ja) 時間精度自動修正時計
KR101942719B1 (ko) 리얼 타임 클럭 장치
KR20120072661A (ko) 리얼타임클럭 주파수 오프셋 검출장치 및 그 방법
JP3990331B2 (ja) 時刻補正制御回路と時刻補正制御方法および時刻補正制御用プログラム
JP2000315121A (ja) Rtc回路
US8253456B2 (en) Time correction circuit and electronic apparatus
WO2014112398A1 (ja) 流量算出機能を有する電子計量装置
CN111897202A (zh) 烟感探测器mcu的rtc校准电路及校准方法
JP2017020852A (ja) 組込装置
JP2013061258A (ja) アナログ電子時計
JP2005140595A (ja) 電波時計及びその時刻修正方法
JP4515080B2 (ja) 時刻修正装置及び時刻修正方法
JP2000074962A (ja) 周期計測装置および周期計測方法、並びに記録媒体
JP2003270369A (ja) リアルタイムクロックの時刻補正方法及び時刻補正装置
JPH0271190A (ja) 計算機システムの時間校正方式
JP2730312B2 (ja) 計時機構の誤差補正回路
JP5037755B2 (ja) 温度変化測定装置及びその方法
JPH1114775A (ja) 電子時計の自動表示時刻補正方法
JP2004334577A (ja) タイマ装置

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050314

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070625

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070703

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070719

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

Free format text: PAYMENT UNTIL: 20100727

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3990331

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110727

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110727

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120727

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120727

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130727

Year of fee payment: 6

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees