JP2806080B2 - リアルタイムクロック制御方法 - Google Patents
リアルタイムクロック制御方法Info
- Publication number
- JP2806080B2 JP2806080B2 JP3145810A JP14581091A JP2806080B2 JP 2806080 B2 JP2806080 B2 JP 2806080B2 JP 3145810 A JP3145810 A JP 3145810A JP 14581091 A JP14581091 A JP 14581091A JP 2806080 B2 JP2806080 B2 JP 2806080B2
- Authority
- JP
- Japan
- Prior art keywords
- time
- real
- tick
- ticker
- cycle
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
- Electric Clocks (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Description
【0001】
【産業上の利用分野】本発明はリアルタイムオペレーテ
ィングシステムでのリアルタイムクロック制御方法に関
するものである。
ィングシステムでのリアルタイムクロック制御方法に関
するものである。
【0002】
【従来の技術】以下、従来のリアルタイムクロック制御
方法について説明する。
方法について説明する。
【0003】図3は従来のリアルタイムクロック制御方
法を実装するハードウェアの構成図、図4は従来のリア
ルタイムクロック制御方法のフローチャートを示すもの
である。図3において、31はバッテリバックアップさ
れたハードウェアタイマ、32は周期的な割り込み信号
を発生するチッカー、33はCPUやメモリ,I/O等
で構成されるコンピュータ装置である。
法を実装するハードウェアの構成図、図4は従来のリア
ルタイムクロック制御方法のフローチャートを示すもの
である。図3において、31はバッテリバックアップさ
れたハードウェアタイマ、32は周期的な割り込み信号
を発生するチッカー、33はCPUやメモリ,I/O等
で構成されるコンピュータ装置である。
【0004】以上のように構成されたハードウェア上で
のリアルタイムクロック制御方法について、以下その動
作について図4を用いて説明する。
のリアルタイムクロック制御方法について、以下その動
作について図4を用いて説明する。
【0005】まず、リアルタイムオペレーティングシス
テムの起動時には、時間情報の初期値をハードウェアタ
イマ31から読出し、リアルタイムオペレーティングシ
ステムの管理するソフトウエアタイマであるシステムク
ロックに設定する。次に、チッカー32からの割り込み
処理ルーチンを準備する。続いて、チッカー32からの
周期的な割り込み信号チックにより、割り込み処理ルー
チン内でチックは所定数のカウントがなされ、リアルタ
イムクロックが生成される。このリアルタイムクロック
によってシステムクロックがカウントアップされてい
く。
テムの起動時には、時間情報の初期値をハードウェアタ
イマ31から読出し、リアルタイムオペレーティングシ
ステムの管理するソフトウエアタイマであるシステムク
ロックに設定する。次に、チッカー32からの割り込み
処理ルーチンを準備する。続いて、チッカー32からの
周期的な割り込み信号チックにより、割り込み処理ルー
チン内でチックは所定数のカウントがなされ、リアルタ
イムクロックが生成される。このリアルタイムクロック
によってシステムクロックがカウントアップされてい
く。
【0006】このようにして、リアルタイムオペレーテ
ィングシステムの起動時にハードウェアタイマ32から
複写された時間情報を基にリアルタイムオペレーティン
グシステム内で時刻が進んでいく。
ィングシステムの起動時にハードウェアタイマ32から
複写された時間情報を基にリアルタイムオペレーティン
グシステム内で時刻が進んでいく。
【0007】
【発明が解決しようとする課題】しかしながら上記従来
の構成では、コンピュータ装置33が優先順位の高いI
/O処理等で、チッカー32からの割り込みを次の割り
込み迄に処理できなかった場合、システムクロックが遅
れる。また、チッカー32の基準クロック周期が1秒の
整数分の1でない場合は丸めによる誤差が生じ、蓄積さ
れ、次第に時間がずれるという問題点を有していた。
の構成では、コンピュータ装置33が優先順位の高いI
/O処理等で、チッカー32からの割り込みを次の割り
込み迄に処理できなかった場合、システムクロックが遅
れる。また、チッカー32の基準クロック周期が1秒の
整数分の1でない場合は丸めによる誤差が生じ、蓄積さ
れ、次第に時間がずれるという問題点を有していた。
【0008】本発明は上記従来の問題点を解決するもの
で、チック取り逃がし等による時間ずれや、ハードウエ
ア側での分周誤差が蓄積しないリアルタイムクロック制
御方法を提供することを目的とする。
で、チック取り逃がし等による時間ずれや、ハードウエ
ア側での分周誤差が蓄積しないリアルタイムクロック制
御方法を提供することを目的とする。
【0009】
【課題を解決するための手段】この目的を達成するため
に本発明のリアルタイムクロック制御方法は、リアルタ
イムクロックの基準信号であるチックの周期を任意に設
定できるチッカーと、前記チッカーとは独立したハード
ウェアタイマの時刻を取得できるコンピュータハードウ
ェア上で稼働するリアルタイムオペレーティングシステ
ムに於いて、所定の監視周期毎に、前記チックをソフト
ウェアで所定数カウントすることで得られるリアルタイ
ムクロックにより時刻が刻まれるシステムクロックと前
記ハードウェアタイマとの時刻の差を、該記監視周期中
に発生したチック数で等分した時間を該監視周期中のチ
ック周期に加え、前記チッカーに再設定しチック周期を
加速、或は減速することで時刻のずれを吸収する。
に本発明のリアルタイムクロック制御方法は、リアルタ
イムクロックの基準信号であるチックの周期を任意に設
定できるチッカーと、前記チッカーとは独立したハード
ウェアタイマの時刻を取得できるコンピュータハードウ
ェア上で稼働するリアルタイムオペレーティングシステ
ムに於いて、所定の監視周期毎に、前記チックをソフト
ウェアで所定数カウントすることで得られるリアルタイ
ムクロックにより時刻が刻まれるシステムクロックと前
記ハードウェアタイマとの時刻の差を、該記監視周期中
に発生したチック数で等分した時間を該監視周期中のチ
ック周期に加え、前記チッカーに再設定しチック周期を
加速、或は減速することで時刻のずれを吸収する。
【0010】また、所定の監視周期毎に、上記システム
クロックと上記ハードウェアタイマとの時刻を比較し、
所定の時刻差以下であれば所定のチック周期をチッカー
に設定し、時刻差が有れば該監視周期中に発生したチッ
ク数で等分した時間を該監視周期中のチック周期に加
え、前記チッカーに再設定し所定のチック周期と加減速
したチック周期とで時刻のずれを吸収するものである。
クロックと上記ハードウェアタイマとの時刻を比較し、
所定の時刻差以下であれば所定のチック周期をチッカー
に設定し、時刻差が有れば該監視周期中に発生したチッ
ク数で等分した時間を該監視周期中のチック周期に加
え、前記チッカーに再設定し所定のチック周期と加減速
したチック周期とで時刻のずれを吸収するものである。
【0011】
【作用】本発明は上記した方法により、リアルタイムオ
ペレーティングシステムの起動時にハードウェアタイマ
から複写された時間情報を基に、リアルタイムオペレー
ティングシステムが管理するシステムクロックはチッカ
ーからの周期的割り込みであるチックを所定数カウント
することで得られるリアルタイムクロックをカウントし
て時刻が進んでいく。ここで仮に、ある監視周期内で数
チックの処理ができなかったとすると、この監視周期内
で幾らかの時刻の遅れが生じたことになる。次の監視周
期内は遅れた時刻を、発生したチック数(監視周期/チ
ック周期)で等分した時間分短いチック周期をチッカー
に設定することで、この遅れを緩やかに吸収する。その
他にもチッカーの基準クロック周期が1秒の整数分の1
でない場合は誤差が生じ蓄積され、次第に時刻がずれ
る。この誤差で時刻が進もうとした場合は上記と同様に
調整された長いチック周期で進みを緩やかに吸収する。
或は、時刻のずれが検出されなかった場合には所定のチ
ック周期を用い、新たな時刻ずれの検出で上記と同様に
チック周期を変化させ時刻のずれを吸収する。
ペレーティングシステムの起動時にハードウェアタイマ
から複写された時間情報を基に、リアルタイムオペレー
ティングシステムが管理するシステムクロックはチッカ
ーからの周期的割り込みであるチックを所定数カウント
することで得られるリアルタイムクロックをカウントし
て時刻が進んでいく。ここで仮に、ある監視周期内で数
チックの処理ができなかったとすると、この監視周期内
で幾らかの時刻の遅れが生じたことになる。次の監視周
期内は遅れた時刻を、発生したチック数(監視周期/チ
ック周期)で等分した時間分短いチック周期をチッカー
に設定することで、この遅れを緩やかに吸収する。その
他にもチッカーの基準クロック周期が1秒の整数分の1
でない場合は誤差が生じ蓄積され、次第に時刻がずれ
る。この誤差で時刻が進もうとした場合は上記と同様に
調整された長いチック周期で進みを緩やかに吸収する。
或は、時刻のずれが検出されなかった場合には所定のチ
ック周期を用い、新たな時刻ずれの検出で上記と同様に
チック周期を変化させ時刻のずれを吸収する。
【0012】
【実施例】以下、本発明の第1の実施例について、図面
を参照しながら説明する。
を参照しながら説明する。
【0013】本発明の実施例におけるリアルタイムクロ
ック制御方法を稼働させるハードウェアの構成は、図3
の従来例で示したリアルタイムクロック制御方法のハー
ドウェアの構成図と同様である。図3において、各構成
要素の関係についても従来例と同様である。
ック制御方法を稼働させるハードウェアの構成は、図3
の従来例で示したリアルタイムクロック制御方法のハー
ドウェアの構成図と同様である。図3において、各構成
要素の関係についても従来例と同様である。
【0014】図1(a),(b)は本発明の第1の実施
例を示すリアルタイムクロック制御方法のフローチャー
トである。以下、その動作について説明する。
例を示すリアルタイムクロック制御方法のフローチャー
トである。以下、その動作について説明する。
【0015】まず、図1(a)に示すように、リアルタ
イムオペレーティングシステムの起動時には時間情報
(時刻情報)の初期値をハードウェアタイマ31から読
出し、リアルタイムオペレーティングシステムの管理す
るソフトウエアタイマであるシステムクロックに設定す
る。次に、チッカー32からの割り込み処理ルーチンを
準備する(従来例で用いた図4中のチック割込み処理ル
ーチンと同様)。続いて、チッカー32からの周期的な
割り込み信号チックにより、割り込み処理ルーチン内で
チックは所定数のカウントがなされ、リアルタイムクロ
ックが生成される。このリアルタイムクロックによって
システムクロックがカウントアップされていく。このよ
うにして、リアルタイムオペレーティングシステムの起
動時にハードウェアタイマ32から複写された時間情報
を基にリアルタイムオペレーティングシステム内で時刻
が進んでいく。
イムオペレーティングシステムの起動時には時間情報
(時刻情報)の初期値をハードウェアタイマ31から読
出し、リアルタイムオペレーティングシステムの管理す
るソフトウエアタイマであるシステムクロックに設定す
る。次に、チッカー32からの割り込み処理ルーチンを
準備する(従来例で用いた図4中のチック割込み処理ル
ーチンと同様)。続いて、チッカー32からの周期的な
割り込み信号チックにより、割り込み処理ルーチン内で
チックは所定数のカウントがなされ、リアルタイムクロ
ックが生成される。このリアルタイムクロックによって
システムクロックがカウントアップされていく。このよ
うにして、リアルタイムオペレーティングシステムの起
動時にハードウェアタイマ32から複写された時間情報
を基にリアルタイムオペレーティングシステム内で時刻
が進んでいく。
【0016】リアルタイムオペレーティングシステムの
起動後に、図1(b)に示すプロセスAをオペレーティ
ングシステムに登録する。このプロセスAはnチックス
リープした後に、ハードウェアタイマの時間情報及びシ
ステムクロックの時間情報を取得し、この時刻の差をn
等分したものを前回のチック周期に加えチック周期を増
減する一連の操作を繰り返すものである。
起動後に、図1(b)に示すプロセスAをオペレーティ
ングシステムに登録する。このプロセスAはnチックス
リープした後に、ハードウェアタイマの時間情報及びシ
ステムクロックの時間情報を取得し、この時刻の差をn
等分したものを前回のチック周期に加えチック周期を増
減する一連の操作を繰り返すものである。
【0017】以上のように本実施例によれば、図1
(b)のプロセスAによって、チッカーの基準クロック
周期が1秒の整数分の1でない場合でも、遅れ或は進み
の一方向に動こうとするシステムクロックの時刻のずれ
の蓄積を自動的に吸収することができる。
(b)のプロセスAによって、チッカーの基準クロック
周期が1秒の整数分の1でない場合でも、遅れ或は進み
の一方向に動こうとするシステムクロックの時刻のずれ
の蓄積を自動的に吸収することができる。
【0018】図2は本発明の第2の実施例を示すリアル
タイムクロック制御方法のフローチャートである。図1
(b)と異なるのは、ハードウェアタイマの時間情報及
びシステムクロックの時間情報を取得し、この時刻の差
の有無によってチック周期の制御に変化がある点であ
る。以下、その動作について説明する。
タイムクロック制御方法のフローチャートである。図1
(b)と異なるのは、ハードウェアタイマの時間情報及
びシステムクロックの時間情報を取得し、この時刻の差
の有無によってチック周期の制御に変化がある点であ
る。以下、その動作について説明する。
【0019】第1の実施例と同様に、リアルタイムオペ
レーティングシステムの起動後に、図2に示すプロセス
Bをオペレーティングシステムに登録する。このプロセ
スBはnチックスリープした後に、ハードウェアタイマ
の時間情報及びシステムクロックの時間情報を取得し、
先ずこの時間情報を比較し時刻差がなければリアルタイ
ムオペレーティングシステムの起動時にチッカーに設定
した所定のチック周期をチッカーに設定し、時刻差が有
ればn等分した時刻差を前回のチック周期に加え、チッ
ク周期を増減するようチッカーに再設定するものであ
る。
レーティングシステムの起動後に、図2に示すプロセス
Bをオペレーティングシステムに登録する。このプロセ
スBはnチックスリープした後に、ハードウェアタイマ
の時間情報及びシステムクロックの時間情報を取得し、
先ずこの時間情報を比較し時刻差がなければリアルタイ
ムオペレーティングシステムの起動時にチッカーに設定
した所定のチック周期をチッカーに設定し、時刻差が有
ればn等分した時刻差を前回のチック周期に加え、チッ
ク周期を増減するようチッカーに再設定するものであ
る。
【0020】以上のように本実施例によれば、図2のプ
ロセスBによって、チックの処理よりも優先順位の高い
処理等で、チックの取り逃がしが発生した場合でも、シ
ステムクロックの時刻の遅れの発生を自動的に吸収する
ことができる。
ロセスBによって、チックの処理よりも優先順位の高い
処理等で、チックの取り逃がしが発生した場合でも、シ
ステムクロックの時刻の遅れの発生を自動的に吸収する
ことができる。
【0021】なお、第1,第2の実施例において、時刻
の差の範囲に制限を設け、チック周期の変動量を抑制し
ても良い。また、ハードウェアタイマは同一コンピュー
タ装置上ではなく別の装置から時刻情報を伝送すること
でも同様の効果が得られる。
の差の範囲に制限を設け、チック周期の変動量を抑制し
ても良い。また、ハードウェアタイマは同一コンピュー
タ装置上ではなく別の装置から時刻情報を伝送すること
でも同様の効果が得られる。
【0022】
【発明の効果】以上のように本発明は所定の監視周期毎
に、チックをソフトウェアで所定数カウントすることで
得られるリアルタイムクロックにより時刻が刻まれるシ
ステムクロックとハードウェアタイマとの時刻の差を、
監視周期中に発生したチック数で等分した時間を前回監
視時のチック周期に加え、チッカーに再設定することを
繰り返しチック周期を加速、或は減速する。或は、所定
の監視周期毎に、システムクロックとハードウェアタイ
マとの時刻を比較し、時刻差がなければ所定のチック周
期をチッカーに設定し、時刻差が有れば監視周期中に発
生したチック数で等分した時間を前回監視時のチック周
期に加え、チッカーに再設定することを繰り返し所定の
チック周期と加減速したチック周期を用いることによ
り、時刻のずれを吸収することができる。
に、チックをソフトウェアで所定数カウントすることで
得られるリアルタイムクロックにより時刻が刻まれるシ
ステムクロックとハードウェアタイマとの時刻の差を、
監視周期中に発生したチック数で等分した時間を前回監
視時のチック周期に加え、チッカーに再設定することを
繰り返しチック周期を加速、或は減速する。或は、所定
の監視周期毎に、システムクロックとハードウェアタイ
マとの時刻を比較し、時刻差がなければ所定のチック周
期をチッカーに設定し、時刻差が有れば監視周期中に発
生したチック数で等分した時間を前回監視時のチック周
期に加え、チッカーに再設定することを繰り返し所定の
チック周期と加減速したチック周期を用いることによ
り、時刻のずれを吸収することができる。
【図1】(a)本発明の第1の実施例におけるリアルタ
イムクロック制御方法のBootUpからプロセスAが
登録される迄のフローテャート (b)第1の実施例におけるリアルタイムクロック制御
方法のプロセスAのフローテャート
イムクロック制御方法のBootUpからプロセスAが
登録される迄のフローテャート (b)第1の実施例におけるリアルタイムクロック制御
方法のプロセスAのフローテャート
【図2】本発明の第2の実施例におけるリアルタイムク
ロック制御方法のプロセスBのフローテャート
ロック制御方法のプロセスBのフローテャート
【図3】従来例のリアルタイムクロック制御方法を実装
するハードウェアの構成を示すブロック図
するハードウェアの構成を示すブロック図
【図4】従来例のリアルタイムクロック制御方法のフロ
ーテャート
ーテャート
31 ハードウェアタイマ 32 チッカー 33 コンピュータ装置
Claims (2)
- 【請求項1】 リアルタイムクロックの基準信号である
チックの周期を任意に設定できるチッカーと、前記チッ
カーとは独立したハードウェアタイマの時刻を取得でき
るコンピュータハードウェア上で稼働するリアルタイム
オペレーティングシステムに於いて、 所定の監視周期毎に、前記チックをソフトウェアで所定
数カウントすることで得られるリアルタイムクロックに
より時刻が刻まれるシステムクロックと前記ハードウェ
アタイマとの時刻の差を、該監視周期中に発生したチッ
ク数で等分した時間を該監視周期中のチック周期に加
え、前記チッカーに再設定しチック周期を加速、或は減
速することで時刻のずれを吸収するリアルタイムクロッ
ク制御方法。 - 【請求項2】 リアルタイムクロックの基準信号である
チックの周期を任意に設定できるチッカーと、前記チッ
カーとは独立したハードウェアタイマの時刻を取得でき
るコンピュータハードウェア上で稼働するリアルタイム
オペレーティングシステムに於いて、 所定の監視周期毎に、前記チックをソフトウェアで所定
数カウントすることで得られるリアルタイムクロックに
より時刻が刻まれるシステムクロックと前記ハードウェ
アタイマとの時刻を比較し、所定の時刻差以下であれば
所定のチック周期を前記チッカーに設定し、時刻差が有
れば該監視周期中に発生したチック数で等分した時間を
該監視周期中のチック周期に加え、前記チッカーに再設
定し所定のチック周期と加減速したチック周期とで時刻
のずれを吸収するリアルタイムクロック制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3145810A JP2806080B2 (ja) | 1991-06-18 | 1991-06-18 | リアルタイムクロック制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3145810A JP2806080B2 (ja) | 1991-06-18 | 1991-06-18 | リアルタイムクロック制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04369013A JPH04369013A (ja) | 1992-12-21 |
JP2806080B2 true JP2806080B2 (ja) | 1998-09-30 |
Family
ID=15393666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3145810A Expired - Fee Related JP2806080B2 (ja) | 1991-06-18 | 1991-06-18 | リアルタイムクロック制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2806080B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101283911B1 (ko) * | 2011-11-08 | 2013-07-16 | 재단법인대구경북과학기술원 | 운영체제의 알람 관리방법 및 그 운영체제, 그 기록매체 |
US10049060B2 (en) | 2016-03-11 | 2018-08-14 | Kabushiki Kaisha Toshiba | Semiconductor device and control method of the same |
-
1991
- 1991-06-18 JP JP3145810A patent/JP2806080B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101283911B1 (ko) * | 2011-11-08 | 2013-07-16 | 재단법인대구경북과학기술원 | 운영체제의 알람 관리방법 및 그 운영체제, 그 기록매체 |
US10049060B2 (en) | 2016-03-11 | 2018-08-14 | Kabushiki Kaisha Toshiba | Semiconductor device and control method of the same |
Also Published As
Publication number | Publication date |
---|---|
JPH04369013A (ja) | 1992-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6615305B1 (en) | Interrupt pacing in data transfer unit | |
JP2806080B2 (ja) | リアルタイムクロック制御方法 | |
US5388261A (en) | Apparatus and method for handling frame overruns in a digital signal processing system | |
CA1262174A (en) | Clock regenerator | |
Toussaint et al. | Chasing Linux jitter sources for uncompressed video | |
JPH09500992A (ja) | スカラ割込み−認識システム | |
JPH08119553A (ja) | エレベータの制御装置 | |
JP2689778B2 (ja) | 電子制御装置の暴走検知装置 | |
JPH02252034A (ja) | ウォッチドッグタイマ設定方式 | |
JP3018414B2 (ja) | 階層型マルチプロセッサシステム | |
JPH01290041A (ja) | 割込み制御回路 | |
JP3122563B2 (ja) | 位相同期回路 | |
JP2580575B2 (ja) | 移動体制御装置 | |
JP2024130970A (ja) | タイマ回路及び集積回路 | |
US5878382A (en) | Method and apparatus for timing and monitoring inactivity periods | |
JPS6051141B2 (ja) | プログラム暴走検出方式 | |
US6298101B1 (en) | Method and apparatus for accurately aligning a series of detection windows with a synchronization pattern in a data storage device | |
JPH04107792A (ja) | マイクロコンピュータ | |
JP2000138588A (ja) | パルス幅信号変換回路 | |
JPH04367944A (ja) | 故障検出方法および装置 | |
JP2680299B2 (ja) | 同期式カウンタのリセット回路 | |
JP2580824B2 (ja) | クロック障害検出回路 | |
JPS63137314A (ja) | タイマ管理方式 | |
JPH0535672A (ja) | 入力信号の周期計測方法 | |
JPS6161538A (ja) | 同期信号検出方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |