JP2020150356A - カウンタ装置、システム時刻算出装置、情報処理装置、制御方法、時刻の算出方法及びプログラム - Google Patents
カウンタ装置、システム時刻算出装置、情報処理装置、制御方法、時刻の算出方法及びプログラム Download PDFInfo
- Publication number
- JP2020150356A JP2020150356A JP2019044609A JP2019044609A JP2020150356A JP 2020150356 A JP2020150356 A JP 2020150356A JP 2019044609 A JP2019044609 A JP 2019044609A JP 2019044609 A JP2019044609 A JP 2019044609A JP 2020150356 A JP2020150356 A JP 2020150356A
- Authority
- JP
- Japan
- Prior art keywords
- counter
- count value
- time
- conversion coefficient
- value
- 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
Links
Images
Landscapes
- Electric Clocks (AREA)
- Computer And Data Communications (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
Description
図示するように情報処理装置301は、CPUクロックカウンタ10と、1μ秒カウンタ生成部200と、カレンダ時刻変換部201と、NTP時刻取得部202と、NTP時刻取得部202と、1μ秒カウンタ変換部203と、カウント値比較部204と、換算係数算出部205と、設定時刻取得部206と、を備える。
NTP時刻取得部202は、NTPサーバ300から時刻情報(カレンダ時刻16)を取得する。
次に換算係数15の調整方法について図2および図3を参照して説明する。
図3は、本発明の第一実施形態によるカウンタの制御を説明する第2の図である。
システム起動直後を最初の測定ポイントの時刻T0とする。まず、カウント値比較部204が、1μ秒カウンタ変換部203が時刻T0に変換したカウント値12(Tb0)と、1μ秒カウンタ生成部200が時刻T0に生成したカウント値11(Ta0)との差分値13(Tc0)を、Ta0−Tb0によって算出する。この差分値13(Tc0)を時間補正の基準値とする。
図4は、本発明の第一実施形態による1μ秒カウンタ(カウント値11)の制御の一例を示すフローチャートである。
前提として、CPUクロックカウンタ10の設計値などに基づいて、CPUクロックカウンタ10のクロック周期を1μ秒に変換する換算係数15の初期値K0が予め算出され、1μ秒カウンタ生成部200は、このK0をCPUクロックカウンタ10のカウント値に乗じてカレンダ時刻変換部201へ出力するよう構成されているとする。
カウント値比較部204は、カウント値11の初期値(Ta0)から、カウント値12の初期値(Tb0)を減じて両者の差分値(Tc0)を算出する。カウント値比較部204は、基準となる差分値(Tc0)を記憶する。
換算係数算出部205は、更新後の換算係数15を、1μ秒カウンタ生成部200へ出力する。1μ秒カウンタ生成部200は、CPUクロックカウンタ10が出力するカウント値に、更新後の新たな換算係数15を乗じて生成したカウント値11をカレンダ時刻変換部201へ出力する。
以下、本発明の第二実施形態による1μ秒カウンタの制御方法について図5〜図6を参照して説明する。
第一実施形態では、NTPサーバ300との通信が可能であることを前提とした。しかし、通信障害などにより、NTPサーバ300から最新の時刻情報(カレンダ時刻16)が取得できない状況も生じ得る。この場合、1μ秒カウンタ変換部203は、NTPサーバ300から取得した時刻情報に基づいてカウント値12を生成することができず、第一実施形態の方法でカウント値11を補正することができない。すると、1μ秒カウンタ生成部200が参照する換算係数15の値は、通信回線が正常になるまで固定される。このとき、カウント値11の値は完全にCPUクロックカウンタ10のクロック数に比例した値となるが、CPUクロックカウンタ10のクロック周期には揺らぎがあり、そのクロック周期も装置によって個体差があるため、それを利用して生成されるカウント値11の精度は低くなる可能性がある。これを回避するため、第二実施形態に係る情報処理装置301aは、通信回線が正常な時にあらかじめ長時間CPUクロックカウンタ10のカウント値およびカウント値12の測定を行い、CPUクロックカウンタ10のクロック周期を平均化した値に基づいて換算係数15aを算出しておく。そして、NTPサーバ300から時刻情報が取得できない間は、CPUクロックカウンタ10の揺らぎを考慮して設定された換算係数15aを用いるようにし、1μ秒カウンタの精度を一定以上に保つ。
情報処理装置301aは、第一実施形態の構成に加え、事前換算係数算出部400と、時刻同期異常検出部401と、換算係数切り替え部402と、換算係数保持部403と、を備える。第二実施形態に係る構成のうち、第一実施形態と同じ構成には同じ符号を付し、それらの説明を省略する。
換算係数切り替え部402は、時刻同期異常検出部401が異常を検出した場合、通常動作時に使用している換算係数15から換算係数15aに切り替え、通信が正常に戻った場合は元の換算係数15に戻す切り替え制御を行う。
換算係数保持部403は、事前換算係数算出部400が算出した換算係数15aの値を保持する。
システム起動時の時刻をT0とする。事前換算係数算出部400は、時刻T0にCPUクロックカウンタ10が出力するカウント値Td0と、時刻T0に1μ秒カウンタ変換部203が出力するカウント値12の値Tn0を記憶する。さらに事前換算係数算出部400は、CPUクロックカウンタ10のクロックのゆらぎが平均化できるよう長時間(T1時間)待つ。T1時間が経過すると、事前換算係数算出部400は、T1時間後にCPUクロックカウンタ10が出力するカウント値Td1と、T1時間後に1μ秒カウンタ変換部203が出力するカウント値12の値Tn1を記憶する。そして、事前換算係数算出部400は、CPUクロックカウンタ10のクロックのゆらぎを平均化した換算係数15aの値Kaを、下記の式(1)によって算出する。
Ka=(Tn1−Tn0)/(Td1−Td0)・・・(1)
事前換算係数算出部400は、算出した値Kaを換算係数保持部403へ出力する。換算係数保持部403は、値Kaを記憶する。
図6は、本発明の第二実施形態による1μ秒カウンタの制御の一例を示すフローチャートである。
システム起動後、T1時間が経過するまでの間、NTPサーバ300との通信が可能であるとして説明を行う。
まず、ユーザの操作により情報処理装置301aのシステムが起動する(ステップS21)。事前換算係数算出部400は、システム起動直後(時刻T0)におけるCPUクロックカウンタ10のカウント値Td0と、1μ秒カウンタ変換部203のカウント値12の値Tn0を記憶する。
次に時刻同期異常検出部401は、NTPサーバ300との通信が正常かどうかを判定する(ステップS22)。通信が正常な場合(ステップS22;Yes)、換算係数切り替え部402は、1μ秒カウンタ生成部200が使用する換算係数に、換算係数15を設定する(ステップS23)。すると、図4を参照して説明した処理によって、換算係数算出部205が、換算係数15を更新等し、1μ秒カウンタ生成部200が生成するカウント値11の精度を維持する(ステップS24)。
なお、ステップS25では、一度換算係数15aを算出した後は、更新しないこととしたが、例えば、時間T1が経過する度に、最新の時間T1の開始と終了時点におけるCPUクロックカウンタ10のカウント値とカウント値12に基づいて、換算係数15aを算出してもよい。
図7に示すようにカウンタ装置100は、少なくとも第1カウンタ生成部101と、第2カウンタ変換部102と、換算係数算出部103を備える。
第1カウンタ生成部101は、CPUのクロックに同期して動作するCPUクロックカウンタのカウント値に換算係数を乗じて、特定の周期で動作する第1カウンタによる第1カウント値を算出する。
第2カウンタ変換部102は、時刻情報を、前記特定の周期で動作する第2カウンタによる第2カウント値に変換する。
換算係数算出部103は、第1カウント値と第2カウント値の差分の経時的変動が所定の範囲内となるように、換算係数を調整する。
上記の第一実施形態、第二実施形態の構成と対比すると、第1カウンタ生成部101は1μ秒カウンタ生成部200に対応し、第2カウンタ変換部102は1μ秒カウンタ変換部203に対応し、換算係数算出部103は換算係数算出部205に対応する。
一つの実施形態では、第1カウンタ生成部101のカウント値から第2カウンタ変換部102のカウント値を減じた差分値について、システム起動時における差分値Tc0と、システム起動後所定時間経過してからの差分値Tcxとの差が所定の範囲内に収まらない場合、換算係数算出部103は、その差が正である場合は第1カウンタ生成部101が進んでいると判断し、第1カウンタ生成部101のカウントを遅らせるように、換算係数を算出する。また差が負である場合は、第1カウンタ生成部101が遅れていると判断し、第1カウンタ生成部101のカウントを進めるように換算係数を算出する。
コンピュータ900は、CPU901、主記憶装置902、補助記憶装置903、入出力インタフェース904、通信インタフェース905を備える。上述の情報処理装置301,301aは、コンピュータ900に実装される。そして、上述した1μ秒カウンタ生成部200、カレンダ時刻変換部201、NTP時刻取得部202、NTP時刻取得部202、1μ秒カウンタ変換部203、カウント値比較部204、換算係数算出部205、設定時刻取得部206、事前換算係数算出部400、時刻同期異常検出部401、換算係数切り替え部402、換算係数保持部403の各機能は、プログラムの形式で補助記憶装置903に記憶されている。CPU901は、プログラムを補助記憶装置903から読み出して主記憶装置902に展開し、当該プログラムに従って上記処理を実行する。また、CPU901は、プログラムに従って、記憶領域を主記憶装置902に確保する。また、CPU901は、プログラムに従って、処理中のデータを記憶する記憶領域を補助記憶装置903に確保する。
例えば、実施形態では、カウンタの周期を1μ秒としたが、他の周期でもよい。
200・・・1μ秒カウンタ生成部
201・・・カレンダ時刻変換部
202・・・NTP時刻取得部
203・・・1μ秒カウンタ変換部
204・・・カウント値比較部
205・・・換算係数算出部
206・・・設定時刻取得部
300・・・NTPサーバ
301、301a・・・情報処理装置
400・・・事前換算係数算出部
401・・・時刻同期異常検出部
402・・・換算係数切り替え部
403・・・換算係数保持部
Claims (10)
- CPUのクロックに同期して動作するCPUクロックカウンタのカウント値に換算係数を乗じて、特定の周期で動作する第1カウンタによる第1カウント値を算出する第1カウンタ生成部と、
時刻情報を、前記特定の周期で動作する第2カウンタによる第2カウント値に変換する第2カウンタ変換部と、
前記第1カウント値と前記第2カウント値の差分の経時的変動が所定の範囲内となるように、前記換算係数を調整する換算係数算出部と、
を備えるカウンタ装置。 - 前記換算係数算出部は、システム起動時における前記差分である初期差分値を基準として、その後の前記差分が、前記初期差分値より所定の閾値以上乖離すると前記換算係数を更新する、
請求項1に記載のカウンタ装置。 - 前記差分が前記初期差分値より所定の閾値以上乖離した場合であって、前記差分が、前記初期差分値より小さい場合、
前記換算係数算出部は、前記換算係数の値をより大きな値に更新する、
請求項2に記載のカウンタ装置。 - 前記差分が前記初期差分値より所定の閾値以上乖離した場合であって、前記差分が、前記初期差分値より大きい場合、
前記換算係数算出部は、前記換算係数の値をより小さな値に更新する、
請求項2から請求項3の何れか1項に記載のカウンタ装置。 - 前記時刻情報を外部の装置から取得する場合に、前記時刻情報の取得における障害を検出する障害検出部と、
前記障害検出部が障害を検出した場合に、前記CPUクロックカウンタのカウント値に乗じる第2の換算係数を、前記障害が検出されない間の複数の時刻に計測した前記CPUクロックカウンタのカウント値および前記第2カウント値に基づいて算出する事前換算係数算出部と、
をさらに備える請求項1から請求項4の何れか1項に記載のカウンタ装置。 - 請求項1から請求項5の何れか1項に記載のカウンタ装置と、
前記第1カウント値をカレンダ時刻に変換するカレンダ時刻変換部と、
を備えるシステム時刻算出装置。 - 請求項1から請求項5の何れか1項に記載のカウンタ装置と、
NTPサーバから時刻情報を取得するNTP時刻取得部と、
を備える情報処理装置。 - CPUのクロックに同期して動作するCPUクロックカウンタに基づいて動作する第1カウンタの制御方法であって、
前記CPUクロックカウンタのカウント値に換算係数を乗じて、特定の周期で動作する前記第1カウンタによる第1カウント値を算出するステップと、
時刻情報を、前記特定の周期で動作する第2カウンタによる第2カウント値に変換するステップと、
前記第1カウント値と前記第2カウント値の差分の経時的変動が所定の範囲内となるように、前記換算係数を調整するステップと、
を有する制御方法。 - 請求項8に記載の制御方法で前記第1カウンタを制御し、
前記第1カウント値に基づいてカレンダ時刻を算出する、
時刻の算出方法。 - コンピュータを、
CPUのクロックに同期して動作するCPUクロックカウンタのカウント値に換算係数を乗じて、特定の周期で動作する第1カウンタによる第1カウント値を算出する手段、
時刻情報を、前記特定の周期で動作する第2カウンタによる第2カウント値に変換する手段、
前記第1カウント値と前記第2カウント値の差分の経時的変動が所定の範囲内となるように、前記換算係数を調整する手段、
として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019044609A JP6951019B2 (ja) | 2019-03-12 | 2019-03-12 | カウンタ装置、時刻算出装置、情報処理装置、制御方法、時刻の算出方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019044609A JP6951019B2 (ja) | 2019-03-12 | 2019-03-12 | カウンタ装置、時刻算出装置、情報処理装置、制御方法、時刻の算出方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020150356A true JP2020150356A (ja) | 2020-09-17 |
JP6951019B2 JP6951019B2 (ja) | 2021-10-20 |
Family
ID=72430808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019044609A Active JP6951019B2 (ja) | 2019-03-12 | 2019-03-12 | カウンタ装置、時刻算出装置、情報処理装置、制御方法、時刻の算出方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6951019B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114499732A (zh) * | 2022-02-09 | 2022-05-13 | 中央广播电视总台 | 一种时钟校准方法、装置、计算机设备及可读存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003029868A (ja) * | 2001-07-16 | 2003-01-31 | Citizen Watch Co Ltd | 情報携帯端末 |
JP2003207586A (ja) * | 2002-01-16 | 2003-07-25 | Seiko Epson Corp | 電子機器、及び、その内部時刻情報制御方法 |
JP2005283278A (ja) * | 2004-03-29 | 2005-10-13 | Toshiba Elevator Co Ltd | 情報表示システム |
WO2010143381A1 (ja) * | 2009-06-10 | 2010-12-16 | パナソニック株式会社 | トレース処理装置およびトレース処理システム |
JP2013118491A (ja) * | 2011-12-02 | 2013-06-13 | Fujitsu Ltd | 発振器の周波数誤差補正装置、周波数誤差補正方法、周波数誤差補正プログラム及び周波数誤差補正システム |
JP2014127982A (ja) * | 2012-12-27 | 2014-07-07 | Nec Saitama Ltd | 周波数ずれ検出システム、周波数ずれ検出装置、及び周波数ずれ検出方法 |
US20170070969A1 (en) * | 2014-02-28 | 2017-03-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Clock Synchronization With Hysteresis State Switching |
JP2018098711A (ja) * | 2016-12-15 | 2018-06-21 | 日本電信電話株式会社 | 時刻同期システム、クライアント端末装置、時刻同期方法及び時刻同期プログラム |
-
2019
- 2019-03-12 JP JP2019044609A patent/JP6951019B2/ja active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003029868A (ja) * | 2001-07-16 | 2003-01-31 | Citizen Watch Co Ltd | 情報携帯端末 |
JP2003207586A (ja) * | 2002-01-16 | 2003-07-25 | Seiko Epson Corp | 電子機器、及び、その内部時刻情報制御方法 |
JP2005283278A (ja) * | 2004-03-29 | 2005-10-13 | Toshiba Elevator Co Ltd | 情報表示システム |
WO2010143381A1 (ja) * | 2009-06-10 | 2010-12-16 | パナソニック株式会社 | トレース処理装置およびトレース処理システム |
JP2013118491A (ja) * | 2011-12-02 | 2013-06-13 | Fujitsu Ltd | 発振器の周波数誤差補正装置、周波数誤差補正方法、周波数誤差補正プログラム及び周波数誤差補正システム |
JP2014127982A (ja) * | 2012-12-27 | 2014-07-07 | Nec Saitama Ltd | 周波数ずれ検出システム、周波数ずれ検出装置、及び周波数ずれ検出方法 |
US20170070969A1 (en) * | 2014-02-28 | 2017-03-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Clock Synchronization With Hysteresis State Switching |
JP2018098711A (ja) * | 2016-12-15 | 2018-06-21 | 日本電信電話株式会社 | 時刻同期システム、クライアント端末装置、時刻同期方法及び時刻同期プログラム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114499732A (zh) * | 2022-02-09 | 2022-05-13 | 中央广播电视总台 | 一种时钟校准方法、装置、计算机设备及可读存储介质 |
CN114499732B (zh) * | 2022-02-09 | 2023-11-17 | 中央广播电视总台 | 一种时钟校准方法、装置、计算机设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP6951019B2 (ja) | 2021-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11316605B2 (en) | Method, device, and computer program for improving synchronization of clocks in devices linked according to a daisy-chain topology | |
EP2369438B1 (en) | Calibration method of a real time clock signal | |
CN102347814B (zh) | 基于主时钟频率差值的从时钟调整方法 | |
US10594424B2 (en) | Time synchronization slave apparatus capable of adjusting time synchronization period, and method of determining time synchronization period | |
US20200382233A1 (en) | Information processing apparatus and time synchronization method | |
JP6951019B2 (ja) | カウンタ装置、時刻算出装置、情報処理装置、制御方法、時刻の算出方法及びプログラム | |
US8281177B2 (en) | Distributed control system | |
US11689350B2 (en) | Synchronization between devices for PWM waveforms | |
US11310026B2 (en) | Communication system, communication device, and program | |
CN113157047B (zh) | 一种时间调整方法、装置、计算机设备及存储介质 | |
JP2007251925A (ja) | クロック生成回路 | |
JP6581254B1 (ja) | クロック調整装置及びプログラム | |
US11853116B2 (en) | Clock error-bound tracker | |
JP4616054B2 (ja) | 測定システム | |
WO2013078105A1 (en) | Metrology timekeeping systems and methods | |
US11137794B2 (en) | Systems and methods for synchronization of multiple processors | |
JP4651988B2 (ja) | 時計精度修正装置 | |
JP2013033374A (ja) | 分散型監視制御システム | |
JP7382980B2 (ja) | コントローラ、機器制御システム、時刻同期方法、および時刻同期プログラム | |
US9746876B2 (en) | Drift compensation for a real time clock circuit | |
JP2016225880A (ja) | 時刻同期装置、時刻同期方法及び時刻同期プログラム | |
US20180373495A1 (en) | Method and apparatus for controlling an average fill level of an asynchronous first-in-first-out, fifo | |
CN105323057B (zh) | 一种irig106系统的时钟同步方法 | |
JP2023122681A (ja) | 基準パルス補正装置及び基準パルス補正方法 | |
KR19990020307A (ko) | 망동기장치의 주파수 안정화 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200707 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210420 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210601 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210707 |
|
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: 20210824 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210916 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6951019 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |