JP5553500B2 - Time synchronization system - Google Patents
Time synchronization system Download PDFInfo
- Publication number
- JP5553500B2 JP5553500B2 JP2008274357A JP2008274357A JP5553500B2 JP 5553500 B2 JP5553500 B2 JP 5553500B2 JP 2008274357 A JP2008274357 A JP 2008274357A JP 2008274357 A JP2008274357 A JP 2008274357A JP 5553500 B2 JP5553500 B2 JP 5553500B2
- Authority
- JP
- Japan
- Prior art keywords
- time
- interval
- cpu
- notification signal
- calibration
- 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
Images
Landscapes
- Electric Clocks (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Description
本発明は、複数のCPUの間で時刻同期を取る時刻同期システムに関する。 The present invention relates to a time synchronization system that synchronizes time among a plurality of CPUs.
測量機には、角度測定を行うための測角用CPU、距離測定を行うための測距用CPU等、複数のスレーブCPUと、これらのスレーブCPUを管理制御するマスターCPU(メインCPU)が備えられている。(下記非特許文献1参照)。
The surveying instrument includes a plurality of slave CPUs such as an angle measuring CPU for performing angle measurement and a distance measuring CPU for performing distance measurement, and a master CPU (main CPU) for managing and controlling these slave CPUs. It has been. (See Non-Patent
一般に、CPUにはクロック(水晶発振器)が内蔵されており、クロックからは正確な周期でクロックパルスが出力されている。このため、CPUは、クロックパルスを常に計数すること(以下、クロックカウントと記載する。)により、いつでも現在時刻又はある時点からの経過時間を知ることができる。そして、複数のCPUを使用する場合には、各クロックには誤差があるので、複数のCPU間で定期的に時刻合わせをすること、すなわち時刻同期を取ることが必要である。しかし、測量機の場合、複数のCPU間で正確な時刻同期を取ることはしていなかった。
しかし、最近では、移動するターゲットを追尾しながら、ターゲットまでの距離と角度を正確に測定する測量機も要求されてきた。移動するターゲットを追尾しながら、ターゲットまでの距離と角度を正確に測定するには、測角用CPUと測距用CPUの間で時刻が正確に同期を取られている必要がある。このためには、マスターCPUから測角用CPUと測距用CPUの間にマスターCPUのクロックを基礎に同期を取るための信号線を接続すれば簡単に解決する。しかし、これでは、測量機に内蔵されるCPUが多い場合、信号線が増えて、装置が大型化してしまうという問題がある。 However, recently, a surveying instrument that accurately measures the distance and angle to the target while tracking the moving target has been required. In order to accurately measure the distance and angle to the target while tracking the moving target, it is necessary that the time is accurately synchronized between the angle measurement CPU and the distance measurement CPU. This can be easily solved by connecting a signal line for synchronization based on the clock of the master CPU from the master CPU to the CPU for angle measurement and the CPU for distance measurement. However, in this case, when there are many CPUs built in the surveying instrument, there is a problem that the number of signal lines increases and the apparatus becomes large.
本発明は、前記問題に鑑みてなされたもので、複数のCPU間で既存のシリアル通信の信号線のみを使って、高精度な時刻同期が取れるようにすること課題とする。 The present invention has been made in view of the above problems, and an object of the present invention is to achieve highly accurate time synchronization among a plurality of CPUs using only existing serial communication signal lines.
前記課題を解決するため、請求項1に係る発明では、送信側CPUと受信側CPUで時刻を同期させる時刻同期システムにおいて、
前記送信側CPUは、所定の送信タイミングにしたがって現在時刻送信を報知する報知信号を送信する報知信号送信手段と、報知信号の送信時刻を取得する報知信号送信時刻取得手段と、報知信号送信時刻を送信する報知信号送信時刻送信手段とを備え、
前記受信側CPUは、報知信号を受信する報知信号受信手段と、報知信号を受信した時刻を取得する報知信号受信時刻取得手段と、報知信号送信時刻を受信する報知信号送信時刻受信手段と、報知信号送信時刻に報知信号が送信側CPUから受信側CPUに伝達されるまでに要する時間と報知信号受信時刻から時刻校正実行までの経過時間を加算した時刻に時刻校正する時刻校正手段とを備えたことを特徴とする。
In order to solve the above-mentioned problem, in the invention according to
The transmission-side CPU includes notification signal transmission means for transmitting a notification signal for notification of current time transmission according to a predetermined transmission timing, notification signal transmission time acquisition means for acquiring the transmission time of the notification signal, and notification signal transmission time. A notification signal transmission time transmission means for transmitting,
The receiving CPU includes a notification signal receiving unit that receives a notification signal, a notification signal reception time acquisition unit that acquires a time when the notification signal is received, a notification signal transmission time reception unit that receives a notification signal transmission time, and a notification Time calibrating means for calibrating the time to a time obtained by adding the time required for the notification signal to be transmitted from the transmitting CPU to the receiving CPU at the signal transmission time and the elapsed time from the notification signal receiving time to the time calibration execution is provided. It is characterized by that.
請求項2に係る発明では、請求項1に係る発明において、前記送信タイミングは、最初は短い時間間隔で、次第に長くなるように設定され、所定時間後からは一定の時間間隔になることを特徴とする。 According to a second aspect of the present invention, in the first aspect of the invention, the transmission timing is initially set to be a short time interval and gradually longer, and after a predetermined time, the transmission timing is a constant time interval. And
請求項3に係る発明では、請求項1又は2に係る発明において、前記報知信号を複数回受信した場合、または、前記時刻校正を行う時刻が前記報知信号受信時刻から所定時間以上経過している場合は、前記時刻校正を行わないことを特徴とする。
In the invention according to
請求項4に係る発明では、請求項1、2又は3に係る発明において、
前記送信側CPUは、所定のインターバルでインターバル信号を送信するインターバル信号送信手段を備え、
前記受信側CPUは、前記インターバル信号を受信した時刻を取得するインターバル信号受信時刻取得手段と、今回のインターバル信号受信時刻と前回のインターバル信号受信時刻とから、1インターバルあたりのクロックパルス数を算出するクロックカウント手段と、受信側CPUに設定されているインターバル設定値を送信側CPUと受信側CPUとでインターバルが一致するように校正するインターバル校正手段とを備えたことを特徴とする。
In the invention according to claim 4, in the invention according to
The transmitting CPU includes interval signal transmitting means for transmitting an interval signal at a predetermined interval,
The receiving CPU calculates the number of clock pulses per interval from interval signal reception time acquisition means for acquiring the time at which the interval signal is received, and the current interval signal reception time and the previous interval signal reception time. It is characterized by comprising clock counting means and interval calibration means for calibrating the interval setting value set in the receiving CPU so that the intervals coincide between the transmitting CPU and the receiving CPU.
請求項5に係る発明では、請求項4に係る発明において、前回のインターバル信号を受信した時刻と今回のインターバル信号を受信した時刻とから1インターバルあたりのクロックパルス数を算出し、該クロックパルス数が、クロックの周波数から算出された1インターバルあたりのクロックパルス数に対して±1%以内であれば、前記インターバル校正を行うことを特徴とする。 In the invention according to claim 5, in the invention according to claim 4, the number of clock pulses per interval is calculated from the time when the previous interval signal was received and the time when the current interval signal was received. However, the interval calibration is performed if it is within ± 1% of the number of clock pulses per interval calculated from the clock frequency.
請求項6に係る発明では、請求項4又は5に係る発明において、前記インターバル校正は、所定数のインターバルにおける1インターバルあたりのクロックパルス数の平均値を用いてインターバル校正をすることを特徴とする。 The invention according to claim 6 is the invention according to claim 4 or 5, wherein the interval calibration is performed by using an average value of the number of clock pulses per interval in a predetermined number of intervals. .
請求項7に係る発明では、請求項6に係る発明において、前記インターバル校正は、前記所定数のインターバルに達しないうちは、それまでに得られた1インターバルあたりのクロックパルス数の平均値で校正し、前記所定数のインターバルに達した後には、受信側CPUのインターバル設定値と前記所定数のインターバルにおける1インターバルあたりのクロックパルス数の平均値とを比較して、前記インターバル設定値を+1又は−1だけ増減することを特徴とする。 In the invention according to claim 7, in the invention according to claim 6, the interval calibration is performed with an average value of the number of clock pulses per interval obtained until the predetermined number of intervals is reached. Then, after reaching the predetermined number of intervals, the interval setting value of the receiving CPU is compared with the average value of the number of clock pulses per interval in the predetermined number of intervals, and the interval setting value is set to +1 or It is characterized by increasing or decreasing by -1.
請求項1に係る発明によれば、送信側CPUと受信側CPUで時刻を同期させる時刻同期システムにおいて、前記送信側CPUは、所定の送信タイミングにしたがって現在時刻送信を報知する報知信号を送信する報知信号送信手段と、報知信号の送信時刻を取得する報知信号送信時刻取得手段と、報知信号送信時刻を送信する報知信号送信時刻送信手段とを備え、前記受信側CPUは、報知信号を受信する報知信号受信手段と、報知信号を受信した時刻を取得する報知信号受信時刻取得手段と、報知信号送信時刻を受信する報知信号送信時刻受信手段と、報知信号送信時刻に報知信号が送信側CPUから受信側CPUに伝達されるまでに要する時間と報知信号受信時刻から時刻校正実行までの経過時間を加算した時刻に時刻校正する時刻校正手段とを備えたから、所定のタイミングで受信側CPUを送信側CPUと一致するように時刻校正でき、各CPUが常に時刻同期した状態に維持できる。しかも、時刻校正の際、報知信号送信時刻に報知信号が送信側CPUから受信側CPUに伝達されるまでに要する時間と報知信号受信時刻から時刻校正実行までの経過時間を加算した時刻に時刻校正するから、時刻同期の誤差を極力小さくできる。 According to the first aspect of the present invention, in the time synchronization system in which the time is synchronized between the transmission side CPU and the reception side CPU, the transmission side CPU transmits a notification signal that notifies the current time transmission according to a predetermined transmission timing. A notification signal transmission unit; a notification signal transmission time acquisition unit configured to acquire a transmission time of the notification signal; and a notification signal transmission time transmission unit configured to transmit the notification signal transmission time. The receiving CPU receives the notification signal. Notification signal receiving means, notification signal reception time acquiring means for acquiring the time when the notification signal was received, notification signal transmission time receiving means for receiving the notification signal transmission time, and the notification signal from the transmitting CPU at the notification signal transmission time Time calibration that calibrates the time to the time required for transmission to the receiving CPU and the elapsed time from the notification signal reception time to the time calibration execution Because and a stage, can time calibrated to match the transmitting-side CPU to the reception-side CPU at a predetermined timing, can be maintained in the CPU is always time synchronization. In addition, at the time of time calibration, the time calibration is performed by adding the time required for the notification signal to be transmitted from the transmission CPU to the reception CPU at the notification signal transmission time and the elapsed time from the notification signal reception time to the time calibration execution. Thus, the time synchronization error can be minimized.
請求項2に係る発明によれば、時刻校正を行う送信タイミングは、最初は短い時間間隔で、次第に長くなるように設定されたから、受信側CPUが、時刻同期を取れていない状態から短時間に時刻同期取れた状態に移行できる。そして、所定時間後からは送信タイミングを一定の時間間隔としたから、定期的に時刻同期が取れて、各CPUの時刻同期が失われることが少なくなる。 According to the second aspect of the present invention, the transmission timing for performing time calibration is initially set to be gradually longer at short time intervals, so that the receiving CPU is in a short time from a state where time synchronization is not achieved. You can move to a time-synchronized state. Since the transmission timing is set to a constant time interval after a predetermined time, the time synchronization is regularly taken, and the time synchronization of each CPU is less lost.
請求項3に係る発明によれば、前記受信側CPUは、報知信号を複数回受信した場合、または、時刻校正を行う時刻が報知信号受信時刻から所定時間以上経過している場合は、時刻校正を行わないから、明らかに誤った時刻同期や、誤差の大きな時刻同期を避けることができる。
According to the invention of
請求項4に係る発明によれば、送信側CPUは、所定のインターバルでインターバル信号を送信するインターバル信号送信手段を備え、受信側CPUは、前記インターバル信号を受信した時刻を取得するインターバル信号受信時刻取得手段と、今回のインターバル信号受信時刻と前回のインターバル信号受信時刻とから、1インターバルあたりのクロックパルス数を算出するクロックカウント手段と、受信側CPUに設定されているインターバル設定値を送信側CPUと受信側CPUとでインターバルが一致するようにインターバル校正するインターバル校正手段とを備えたから、一度時刻校正すると、各CPU間の時間の進み方が同じになり、時刻校正の間隔を延ばすことが可能となる。
According to the fourth aspect of the present invention, the transmission side CPU includes interval signal transmission means for transmitting an interval signal at a predetermined interval, and the reception side CPU acquires the time at which the interval signal is received. An acquisition means; a clock count means for calculating the number of clock pulses per interval from the current interval signal reception time and the previous interval signal reception time; and an interval set value set in the reception CPU. Since the interval calibration means that calibrates the interval so that the interval is the same between the receiving CPU and the CPU on the receiving side, once the time is calibrated, the time progression between the CPUs becomes the same, and the time calibration interval can be extended. It becomes.
請求項5に係る発明によれば、前記インターバル校正手段は、前回のインターバル信号を受信した時刻と今回のインターバル信号を受信した時刻とから1インターバルあたりのクロックパルス数を算出し、該クロックパルス数が、クロックの周波数から算出された1インターバルあたりのクロックパルス数に対して±1%以内である場合に、前記インターバル校正を行うから、インターバル信号が送信されなかった場合や、明らかに誤ったクロックパルス数のカウント値が得られた場合のインターバル校正が防止できる。
According to the invention of claim 5, the interval calibration means calculates the number of clock pulses per interval from the time when the previous interval signal was received and the time when the current interval signal was received, and the number of clock pulses Is within ± 1% of the number of clock pulses per interval calculated from the clock frequency, the interval calibration is performed, so the interval signal is not transmitted, or the clock that is clearly wrong Interval calibration when a count value of the number of pulses is obtained can be prevented.
請求項6に係る発明によれば、インターバル校正は、所定数のインターバルにおける1インターバルあたりのクロックパルス数の平均値を用いてインターバル校正をするから、さらに高精度なインターバル校正ができる。 According to the invention of claim 6, since the interval calibration is performed using the average value of the number of clock pulses per interval in a predetermined number of intervals, the interval calibration can be performed with higher accuracy.
請求項7に係る発明によれば、インターバル校正は、所定数のインターバルに達しないうちは、それまでに得られた1インターバルあたりのクロックパルス数の平均値で校正し、所定数のインターバルに達した後には、受信側CPUのインターバル設定値と前記所定数のインターバルにおける1インターバルあたりのクロックパルス数の平均値とを比較して、前記インターバル設定値を+1又は−1だけ増減するから、短時間で時刻同期が取れ、それ以後は高精度なインターバル校正ができる。 According to the invention of claim 7, the interval calibration is performed with the average value of the number of clock pulses per interval obtained so far until the predetermined number of intervals is reached, and reaches the predetermined number of intervals. After that, the interval setting value of the receiving CPU is compared with the average value of the number of clock pulses per interval in the predetermined number of intervals, and the interval setting value is increased or decreased by +1 or −1. The time can be synchronized with, and after that, highly accurate interval calibration can be performed.
本発明は、測量機等に備えられるマスターCPU(メインCPU)と、測角用CPUや測距用CPU等のスレーブCPUとの間、または、スレーブCPU間で、時刻同期を取る時刻同期システムに関する。 The present invention relates to a time synchronization system that synchronizes time between a master CPU (main CPU) provided in a surveying instrument or the like and a slave CPU such as an angle measuring CPU or a distance measuring CPU, or between slave CPUs. .
この時刻同期システムの一実施例として、説明を簡単にするため、2つのスレーブCPU間での時刻同期を考える。一方の送信側CPUは、後述するインターバル(時間間隔)校正と時刻校正が定期的に実行されているとする。以下、このような状態をステータス良好と記載し、ステータス良好でない状態をステータス不良と記載する。他方の受信側CPUは、ステータス不良であるとする。送信側CPUがステータス良好である場合、受信側CPUのインターバル校正及び時刻校正を行う。なお、マスターCPUは、常にステータス良好として扱うので、常にインターバルと時刻の送信を行う。 As an example of this time synchronization system, consider time synchronization between two slave CPUs for the sake of simplicity. One transmitting CPU is assumed to periodically execute interval (time interval) calibration and time calibration described later. Hereinafter, such a state is described as a good status, and a state where the status is not good is described as a status failure. The other receiving CPU is assumed to have a status failure. When the status of the transmitting CPU is good, interval calibration and time calibration of the receiving CPU are performed. Since the master CPU always treats the status as good, it always transmits the interval and time.
以下、図面に基づいて、本発明の一実施例を説明する。図1は、本発明のインターバル校正プログラムのフローチャートである。図2は、インターバル校正の方法を説明する図である。図3は、本発明の時刻校正プログラムのフローチャートである。図4は、時刻校正の方法を説明する図である。 Hereinafter, an embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a flowchart of the interval calibration program of the present invention. FIG. 2 is a diagram for explaining an interval calibration method. FIG. 3 is a flowchart of the time calibration program of the present invention. FIG. 4 is a diagram for explaining a time calibration method.
まず、インターバル校正について説明する。2つのCPUでインターバル校正プログラムをスタートさせると、図1に示したように、送信側CPUは、ステップS11に進んで、送信側CPUのクロックパルスの計数値(以下、クロックカウント値と記載する。)から所定のインターバル(例えば、1ms)が経過したか否かを調べる。もし、所定のインターバルに到達していない場合は、ステップS11に戻る。所定のインターバルに達したときは、ステップS12に進んで、送信側CPUから受信側CPUに向けてインターバル信号を送信し、ステップS11に戻る。 First, interval calibration will be described. When the interval calibration program is started by the two CPUs, as shown in FIG. 1, the transmission side CPU proceeds to step S11 and describes the count value of the clock pulses of the transmission side CPU (hereinafter referred to as clock count value). ) To determine whether a predetermined interval (for example, 1 ms) has elapsed. If the predetermined interval has not been reached, the process returns to step S11. When the predetermined interval is reached, the process proceeds to step S12, an interval signal is transmitted from the transmission side CPU to the reception side CPU, and the process returns to step S11.
以下、送信側CPUは、ステップS11〜S12を繰り返して、図2に示したように、あるインターバルの最初の時刻T1、すなわちクロックカウント値が0のときから、クロックパルスをN個カウントして時刻T2になったとき、クロックカウント値を0にリセットするとともに、インターバル信号を出すことにより、所定のインターバルでインターバル信号を送信している。なお、インターバル信号は、必ずしもクロックカウント値が0のときに出す必要はなく、予め定めた0以外のクロックカウント値のときに出してもよい。 Thereafter, the transmitting CPU repeats steps S11 to S12, and counts N clock pulses from the first time T 1 of an interval, that is, when the clock count value is 0, as shown in FIG. when it is time T 2, it resets the clock count value to 0, by issuing the interval signal and transmits the interval signal at predetermined intervals. Note that the interval signal does not necessarily have to be output when the clock count value is 0, and may be output when the clock count value is a predetermined value other than 0.
このインターバル信号の送信は、送信側CPUがステータス良好で、送信側CPUから何の信号も送信されておらず、即座にインターバル信号の送信が可能なときにのみ送信される。他の割り込み処理等により、即座にインターバル信号の送信が不可能なときには、インターバル信号は送信されない。 This interval signal is transmitted only when the transmitting CPU has a good status, no signal is transmitted from the transmitting CPU, and the interval signal can be transmitted immediately. When the interval signal cannot be immediately transmitted due to other interrupt processing or the like, the interval signal is not transmitted.
一方、受信側CPUは、インターバル校正プログラムをスタートすると、ステップS21に進んで、インターバル信号を受信したか否か調べる。もしインターバル信号を受信していなければ、ステップS21に戻る。もしインターバル信号を受信していれば、直ちにステップS22に進んで、現在時刻、即ちインターバル信号受信時刻を受信側CPUのクロックカウント値から取得する。 On the other hand, when starting the interval calibration program, the receiving CPU proceeds to step S21 and checks whether or not an interval signal has been received. If no interval signal has been received, the process returns to step S21. If an interval signal has been received, the process immediately proceeds to step S22, and the current time, that is, the interval signal reception time is obtained from the clock count value of the receiving CPU.
次に、ステップS23に進んで、前回のインターバル信号を受信した時刻と今回のインターバル信号を受信した時刻との差から1インターバルあたりのクロックパルス数を算出する。次にステップS24に進んで、ステップS23で算出した1インターバルあたりのクロックパルス数が、クロックの周波数から算出された1インターバルあたりのクロックパルス数に対して±1%以内であれば、送信側CPUと受信側CPUとでインターバルが一致するように、受信側CPUのインターバルを校正する。 Next, proceeding to step S23, the number of clock pulses per interval is calculated from the difference between the time when the previous interval signal was received and the time when the current interval signal was received. Next, proceeding to step S24, if the number of clock pulses per interval calculated in step S23 is within ± 1% of the number of clock pulses per interval calculated from the clock frequency, the transmitting CPU And the receiving CPU are calibrated so that the intervals coincide with each other.
この受信側CPUのインターバル校正については、図2に基づいて、さらに詳細に説明する。受信側CPUは、M個のクロックパルスをカウントすることにより所定のインターバルを決定しており、このMをインターバル設定値として記憶している。すなわち、あるインターバルの最初の時刻T1’にクロックカウント値が0からクロックパルスをカウントし、クロックパルスをM個カウントして時刻T2’になって、1インターバルを完了したとき、クロックカウント値を0にリセットしている。もし、あるインターバル信号を受信した直後のクロックカウント値がm1であったとすると、このときの時刻は、T1’+(m1/M)となる。次のインターバル信号を受信した直後のクロックカウント値がm2であったとすると、このときの時刻は、T2’+(m2/M)となる。 The interval calibration of the receiving CPU will be described in more detail based on FIG. The receiving CPU determines a predetermined interval by counting M clock pulses, and stores this M as an interval set value. That is, at the first time T 1 ′ of a certain interval, the clock count value is counted from 0, and the clock count value is counted when M clock pulses are counted and time T 2 ′ is reached and one interval is completed. Is reset to 0. If, when the clock count value immediately after receiving the certain interval signal is a m 1, the time at this time is T 1 '+ (m 1 / M). If the clock count value immediately after receiving the next interval signal is m 2 , the time at this time is T 2 ′ + (m 2 / M).
インターバルの校正とは、受信側CPUで、あるインターバル信号を受信してから次のインターバル信号を受信するまでの1インターバル(例えば、1ms)あたりのクロックパルス数を数えて、このクロックパルス数に応じてインターバル設定値Mの値を修正することである。1インターバルあたりのクロックパルス数は、今回と前回のインターバル信号を受信した時刻の差{T2’+(m2/M)}−{T1’+(m1/M)}から算出される。 Interval calibration means that the receiving CPU counts the number of clock pulses per interval (for example, 1 ms) from the reception of a certain interval signal to the reception of the next interval signal, and the number of clock pulses Then, the value of the interval set value M is corrected. The number of clock pulses per interval is calculated from the difference between the time when the current and previous interval signals are received {T 2 '+ (m 2 / M)}-{T 1 ' + (m 1 / M)}. .
クロック周波数は、主に温度変化に伴ってゆっくり変化するので、所定回前のインターバル信号を受信した時刻からの所定数のインターバルにおける1インターバルあたりのクロックパルス数の平均値を用いてインターバル校正をする。具体的には、所定数のインターバルが得られない場合は、それまでに得られた1インターバルあたりのクロックパルス数の平均値を用いてインターバル校正を行い、所定数のインターバルが得られたときは、得られた1インターバルあたりのクロックパルス数の平均値とそれまで設定されていたインターバル設定値Mとの大小を比較し、インターバル設定値Mを+1又は−1だけ増減する。このようなインターバル校正によると、誤ったインターバル校正を防止できる。 Since the clock frequency mainly changes slowly with temperature change, interval calibration is performed using the average value of the number of clock pulses per interval in a predetermined number of intervals from the time when the interval signal was received a predetermined number of times before. . Specifically, when a predetermined number of intervals cannot be obtained, interval calibration is performed using the average value of the number of clock pulses per interval obtained so far, and when a predetermined number of intervals are obtained. The obtained average value of the number of clock pulses per interval is compared with the interval setting value M set so far, and the interval setting value M is increased or decreased by +1 or -1. Such interval calibration can prevent erroneous interval calibration.
インターバル校正を終えると、ステップS21に戻る。以下、インターバル信号を受信する度に、受信側CPUのインターバル校正が行われ、両CPU間でインターバルが一致するようにされる。なお、インターバル校正が所定時間以上なされていない場合は、ステータス不良として、インターバル校正が行われていないことが分かるようにする。 When the interval calibration is completed, the process returns to step S21. Thereafter, every time an interval signal is received, interval calibration of the receiving CPU is performed so that the intervals coincide between the two CPUs. When interval calibration has not been performed for a predetermined time or more, it is understood that interval calibration has not been performed as a status failure.
次に、時刻校正プログラムについて説明する。時刻校正プログラムをスタートさせると、図3に示したように、送信側CPUは、ステップS31へ進んで、現在時刻送信を知らせるための報知信号の送信タイミングになったか否かを検出する。送信タイミングは、最初は短い時間間隔で、次第に長くなるように設定され、所定時間後(5秒後)からは一定の時間間隔になる。例えば、送信タイミングは、0ms後、256ms後、512ms後、1024ms後、2048ms後、4096ms後と、前回の2倍の時間間隔となるように、しだいに長くなっているが、4096ms後は、4096msの一定間隔にする。なお、送信タイミングは、必ずしも正確な規則に従う必要はない。送信タイミングでないときは、ステップS31に戻る。 Next, the time calibration program will be described. When the time calibration program is started, as shown in FIG. 3, the transmission side CPU proceeds to step S31, and detects whether or not it is the transmission timing of the notification signal for notifying the current time transmission. The transmission timing is initially set to be a short time interval and gradually longer, and after a predetermined time (after 5 seconds), becomes a constant time interval. For example, the transmission timing is gradually longer, such as 0 ms later, 256 ms later, 512 ms later, 1024 ms later, 2048 ms later, 4096 ms later, and twice the previous time interval, but after 4096 ms, 4096 ms later. At regular intervals. Note that the transmission timing does not necessarily follow an exact rule. If it is not the transmission timing, the process returns to step S31.
送信タイミングのときは、ステップS32に進んで、送信側CPUから受信側CPUに向けて、報知信号を送信する。そして直ちに、ステップS33に進んで、図4に示したように、報知信号送信時刻を送信側CPUのクロックカウント値nから現在時刻のT+n/Nと算出する。次にステップS34に進んで、報知信号送信時刻T+n/Nを送信側CPUから受信側CPUに送信する。次にステップS35に進んで、次回の送信タイミングを決定して、ステップS31に戻る。以後、ステップS31〜S35を繰り返して、所定のタイミングでもって、送信側CPUから受信側CPUに報知信号及び報知信号送信時刻が送信される。 At the transmission timing, the process proceeds to step S32, and a notification signal is transmitted from the transmission CPU to the reception CPU. Then, the process immediately proceeds to step S33, and as shown in FIG. 4, the notification signal transmission time is calculated as T + n / N of the current time from the clock count value n of the transmission side CPU. Next, proceeding to step S34, the notification signal transmission time T + n / N is transmitted from the transmission CPU to the reception CPU. Next, the process proceeds to step S35, the next transmission timing is determined, and the process returns to step S31. Thereafter, steps S31 to S35 are repeated, and the notification signal and the notification signal transmission time are transmitted from the transmission side CPU to the reception side CPU at a predetermined timing.
ところで、受信側CPUに別の受信側CPUが直列に接続されていて、この受信側CPUから別の受信側CPUにインターバル信号を送信している場合に受信側CPUの時刻校正すると、そのインターバルが狂うので、別の受信側CPUへはインターバル信号の送信を2回分行わないようにする。このような場合、送信側CPUの送信タイミングは、時間間隔最小の最初の状態に戻して、短時間で同期を取れるようにする。 By the way, when another receiving CPU is connected in series to the receiving CPU and an interval signal is transmitted from this receiving CPU to another receiving CPU, when the time of the receiving CPU is calibrated, the interval becomes Since it goes out of order, the interval signal is not transmitted to another receiving CPU twice. In such a case, the transmission timing of the transmitting CPU is returned to the initial state with the minimum time interval so that synchronization can be achieved in a short time.
一方、受信側CPUでは、時刻校正プログラムをスタートさせると、ステップS41に進んで、報知信号を受信したかどうか調べる。もし、報知信号を受信していなければ、ステップS41に戻る。もし、報知信号を受信していれば、ステップS42に進んで、図4に示したように、クロックカウント値m1から報知信号受信時刻T’+m1/Mを取得し、直ちにステップS43に進んで、送信側CPUから送信されてくる報知信号送信時刻T+n/Nを受信できるように待機する。送信側CPUから送られてくる報知信号送信時刻T+n/Nを受信したら、ステップS44に進んで、クロックカウント値m2から現在時刻T’+p+m2/M、すなわち時刻校正実行時刻を取得する。
On the other hand, when the time calibration program is started, the receiving CPU proceeds to step S41 and checks whether a notification signal has been received. If the notification signal has not been received, the process returns to step S41. If, if the received broadcast signal, the process proceeds to step S42, as shown in FIG. 4, it acquires the broadcast signal reception time T '+
続いて、ステップS44で取得した時刻T’+m1/MとステップS42で取得した時刻T’+p+m2/Mの差p+m2/M−m1/Mから、報知信号を受信してから時刻校正実行までの経過時間を算出する。次に、ステップS45に進んで、受信側CPUの時刻を送信側CPUの時刻に合わせる時刻校正を行い、ステップS41に戻る。この時刻校正の際には、送信側CPUから送信されてくる報知信号送信時刻T+n/Nに、報知信号が送信側CPUから受信側CPUに伝達されるまでに要する時間(ボーレートから計算されるシリアル通信にかかる伝送時間)qと、報知信号を受信してから時刻校正を行うまでの経過時間p+m2/M−m1/Mとを加えた時刻T+n/N+p+m2/M−m1/Mに、受信側CPUの時刻を合わせる。以下、所定のタイミングでもって、受信側CPUの時刻校正がされていく。 Subsequently, the time calibration is performed after the notification signal is received from the difference p + m 2 / M−m 1 / M between the time T ′ + m 1 / M acquired in step S 44 and the time T ′ + p + m 2 / M acquired in step S 42. Calculate the elapsed time until execution. Next, the process proceeds to step S45, time calibration is performed to match the time of the receiving CPU with the time of the transmitting CPU, and the process returns to step S41. During this time calibration, the time required for the notification signal to be transmitted from the transmission CPU to the reception CPU at the notification signal transmission time T + n / N transmitted from the transmission CPU (serial calculated from the baud rate). (Communication transmission time) q and time T + n / N + p + m 2 / M-m 1 / M, which is the sum of elapsed time p + m 2 / M−m 1 / M from reception of the notification signal to time calibration The time of the receiving CPU is adjusted. Thereafter, the time of the receiving CPU is calibrated at a predetermined timing.
この時刻校正の際には、受信側CPUの処理が追いつかずに複数の報知信号を受け取ってしまった場合、時刻校正を行う時刻が報知信号受信から所定時間以上経過している場合には、誤差が増えるため時刻校正を行わない。なお、時刻校正が所定時間以上なされない場合は、ステータス不良とし、時刻校正が行われていないことが分かるようにする。 In this time calibration, if the processing of the receiving CPU has not caught up and received a plurality of notification signals, or if the time for time calibration has passed a predetermined time or more after receiving the notification signal, an error will occur. Time calibration is not performed. When time calibration is not performed for a predetermined time or more, it is determined that the status is bad and it is understood that time calibration is not performed.
こうして、受信側CPUは、インターバル校正及び時刻校正により、送信側CPUと時刻同期を取ることができる。 Thus, the receiving CPU can synchronize time with the transmitting CPU by interval calibration and time calibration.
本実施例によれば、所定のタイミングで受信側CPUを送信側CPUの時刻に一致させるように時刻校正しているから、各CPUを常に時刻同期した状態に維持できる。この際、送信側CPUからの報知信号送信時刻に、報知信号が送信側CPUから受信側CPUに伝達されるまでに要する時間と、受信側CPUが報知信号を受信してから時刻校正するまでの経過時間を加算した時刻に時刻校正するから、時刻同期の誤差を極力小さくできる。また、時刻校正を行うタイミングは、最初は短い時間間隔で、次第に長くなるように設定されたから、受信側CPUが、時刻同期を取れていない状態から短時間に時刻同期取れた状態に移行できる。そして、所定時間後からは、各CPUが一定のタイミングで定期的に時刻同期が取れて、時刻同期が失われることが防止できる。さらに、受信側CPUが報知信号を複数回受信した場合や、受信側CPUにおいて時刻校正を行う時刻が報知信号受信から所定時間以上経過している場合は、時刻校正を行わないようにしたから、明らかに誤った時刻同期や、誤差の大きな時刻同期を避けることができる。 According to the present embodiment, the time is calibrated so that the receiving CPU matches the time of the transmitting CPU at a predetermined timing, so that each CPU can always be kept in time synchronization. At this time, the time required for the notification signal to be transmitted from the transmission CPU to the reception CPU at the notification signal transmission time from the transmission CPU, and the time from the reception CPU receiving the notification signal to the time calibration. Since the time is calibrated at the time when the elapsed time is added, the time synchronization error can be minimized. In addition, since the timing for time calibration is initially set to be gradually longer at short time intervals, the receiving CPU can shift from a state where time synchronization is not achieved to a state where time synchronization can be achieved in a short time. Then, after a predetermined time, it is possible to prevent time synchronization from being lost because each CPU periodically synchronizes time at a fixed timing. Furthermore, when the receiving side CPU receives the notification signal a plurality of times, or when the time for performing the time calibration at the receiving side CPU has passed a predetermined time or more from the reception of the notification signal, the time calibration is not performed. Obviously wrong time synchronization and time synchronization with a large error can be avoided.
さらに、本実施例では、所定のインターバルでインターバル校正されているので、一度時刻校正すると、その後の両CPU間での時刻の進み方の差が小さくなり、時刻校正の間隔を延ばすことが可能となる。しかも、前回のインターバル信号を受信した時刻と今回のインターバル信号を受信した時刻とから1インターバルあたりのクロックカウント値を算出し、該クロックカウント値が、クロックの周波数から算出されたクロックカウント値に対して±1%以内のときに、インターバル校正を行うから、報知信号が送信されなかった場合や、明らかに誤ったクロックカウント値が得られた場合のインターバル校正が防止でき、各CPU間の時刻のずれをいっそう小さくできる。さらに、インターバル校正は、所定数のインターバルに達しないうちは、それまでに得られた1インターバルあたりのクロックパルス数の平均値で校正し、所定数のインターバルに達した後には、受信側CPUのインターバル設定値と前記所定数のインターバルにおける1インターバルあたりのクロックパルス数の平均値とを比較して、前記インターバル設定値を+1又は−1だけ増減するから、短時間で時刻同期が取れ、それ以後、高精度なインターバル校正が維持できる。 Furthermore, in this embodiment, since interval calibration is performed at a predetermined interval, once the time is calibrated, the difference in the time advance between the two CPUs is reduced, and the time calibration interval can be extended. Become. In addition, a clock count value per interval is calculated from the time when the previous interval signal is received and the time when the current interval signal is received, and the clock count value is calculated with respect to the clock count value calculated from the clock frequency. Since the interval calibration is performed within ± 1%, it is possible to prevent interval calibration when a notification signal is not transmitted or when an apparently incorrect clock count value is obtained. The gap can be made even smaller. Further, the interval calibration is performed with the average value of the number of clock pulses per interval obtained until the predetermined number of intervals is reached, and after reaching the predetermined number of intervals, Compare the interval setting value with the average value of the number of clock pulses per interval in the predetermined number of intervals, and increase or decrease the interval setting value by +1 or −1. Highly accurate interval calibration can be maintained.
ところで、本発明は、前記実施例に限るわけではなく、種々の変形が可能である。例えば、前記実施例では、2つのCPU間での時刻同期のみを説明したが、送信側CPUに複数の受信側CPUを直列又は並列に接続することも可能である。 By the way, the present invention is not limited to the above embodiment, and various modifications are possible. For example, in the above embodiment, only time synchronization between two CPUs has been described, but a plurality of receiving CPUs can be connected in series or in parallel to the transmitting CPU.
Claims (7)
前記送信側CPUは、所定の送信タイミングにしたがって現在時刻送信を報知する報知信号を送信する報知信号送信手段と、報知信号の送信時刻を取得する報知信号送信時刻取得手段と、報知信号送信時刻を送信する報知信号送信時刻送信手段とを備え、
前記受信側CPUは、報知信号を受信する報知信号受信手段と、報知信号を受信した時刻を取得する報知信号受信時刻取得手段と、報知信号送信時刻を受信する報知信号送信時刻受信手段と、報知信号送信時刻に報知信号が送信側CPUから受信側CPUに伝達されるまでに要する時間と報知信号受信時刻から時刻校正実行までの経過時間を加算した時刻に時刻校正する時刻校正手段とを備えたことを特徴とする時刻同期システム。 In the time synchronization system in which the time is synchronized between the sending CPU and the receiving CPU,
The transmission-side CPU includes notification signal transmission means for transmitting a notification signal for notification of current time transmission according to a predetermined transmission timing, notification signal transmission time acquisition means for acquiring the transmission time of the notification signal, and notification signal transmission time. A notification signal transmission time transmission means for transmitting,
The receiving CPU includes a notification signal receiving unit that receives a notification signal, a notification signal reception time acquisition unit that acquires a time when the notification signal is received, a notification signal transmission time reception unit that receives a notification signal transmission time, and a notification Time calibrating means for calibrating the time to a time obtained by adding the time required for the notification signal to be transmitted from the transmitting CPU to the receiving CPU at the signal transmission time and the elapsed time from the notification signal receiving time to the time calibration execution is provided. A time synchronization system characterized by that.
前記受信側CPUは、前記インターバル信号を受信した時刻を取得するインターバル信号受信時刻取得手段と、今回のインターバル信号受信時刻と前回のインターバル信号受信時刻とから、1インターバルあたりのクロックパルス数を算出するクロックカウント手段と、受信側CPUに設定されているインターバル設定値を送信側CPUと受信側CPUとでインターバルが一致するようにインターバル校正するインターバル校正手段とを備えたことを特徴とする請求項1、2又は3に記載の時刻同期システム。 The transmitting CPU includes interval signal transmitting means for transmitting an interval signal at a predetermined interval,
The receiving CPU calculates the number of clock pulses per interval from interval signal reception time acquisition means for acquiring the time at which the interval signal is received, and the current interval signal reception time and the previous interval signal reception time. 2. The clock counting means and interval calibration means for calibrating the interval set value set in the receiving CPU so that the intervals coincide between the transmitting CPU and the receiving CPU. 2. The time synchronization system according to 2 or 3.
The interval calibration calibrates with the average value of the number of clock pulses per interval obtained until the predetermined number of intervals is reached, and after reaching the predetermined number of intervals, the receiving CPU The interval setting value is compared with an average value of the number of clock pulses per interval in the predetermined number of intervals, and the interval setting value is increased or decreased by +1 or -1. Time synchronization system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008274357A JP5553500B2 (en) | 2008-10-24 | 2008-10-24 | Time synchronization system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008274357A JP5553500B2 (en) | 2008-10-24 | 2008-10-24 | Time synchronization system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010101793A JP2010101793A (en) | 2010-05-06 |
JP5553500B2 true JP5553500B2 (en) | 2014-07-16 |
Family
ID=42292562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008274357A Expired - Fee Related JP5553500B2 (en) | 2008-10-24 | 2008-10-24 | Time synchronization system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5553500B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013092515A (en) * | 2011-10-06 | 2013-05-16 | Sony Corp | Frequency difference detection device, frequency difference detection method, and program |
JP6610939B2 (en) * | 2015-11-18 | 2019-11-27 | 日本電気株式会社 | Time synchronization method, vibration sensor, vibration detection device, program, and recording medium |
CN105553594B (en) * | 2015-12-09 | 2018-02-16 | 沈阳东软医疗***有限公司 | A kind of PET clock synchronizing methods and device |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2705665B2 (en) * | 1995-09-27 | 1998-01-28 | 日本電気株式会社 | Time synchronization method |
JPH10164666A (en) * | 1996-12-02 | 1998-06-19 | Meidensha Corp | Time synchronizing method |
JP4847824B2 (en) * | 2006-08-28 | 2011-12-28 | 株式会社国際電気通信基礎技術研究所 | Time synchronization system |
-
2008
- 2008-10-24 JP JP2008274357A patent/JP5553500B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010101793A (en) | 2010-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9923656B2 (en) | Methods, systems, and computer readable media for testing recovered clock quality | |
CN107710753B (en) | Decentralized synchronous multisensor system | |
EP3284217A1 (en) | Methods, systems, and computer readable media for synchronizing timing among network interface cards (nics) in a network equipment test device | |
US10197974B2 (en) | Correction parameter calculation system and method | |
KR20170095234A (en) | Method of synchronising clocks of network devices | |
CN107229246B (en) | Optical measuring device | |
JP5553500B2 (en) | Time synchronization system | |
JP2014236443A (en) | Communication device, communication system, and communication method | |
US20190018145A1 (en) | Communications system | |
US20110206067A1 (en) | Synchronization signal detection apparatus | |
EP3021129A1 (en) | Joint position detection by sensor devices | |
KR20180006285A (en) | Optical measuring apparatus | |
JPWO2021049406A5 (en) | ||
US20110016232A1 (en) | Time stamping apparatus and method for network timing synchronization | |
JP2012195840A (en) | Communication apparatus and communication control method | |
JP5905811B2 (en) | Frequency synchronization accuracy monitoring method, frequency synchronization accuracy monitoring device, communication method, and communication system | |
JP6376911B2 (en) | Clock time comparison method and clock time correction method | |
JPH10142361A (en) | Time synchronization system of transmission network | |
JP6456787B2 (en) | Time synchronization apparatus and time synchronization method | |
EP3068076A1 (en) | Automatic determination of asymmetrical delay in transmission networks | |
US20160119115A1 (en) | Method for detecting in a receiver a transmitter local time | |
JP2013029488A (en) | Multi-point simultaneous measurement method for electric power station, multi-point simultaneous measurement system, and internal clock used therefor | |
JP2016152487A (en) | Time synchronization method and time synchronization device | |
JP5821324B2 (en) | Time error detection apparatus and method | |
JP2018006913A (en) | Information communication system and information communication equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110809 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121206 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121218 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131204 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131211 |
|
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: 20140527 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140527 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5553500 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |