(57)【要約】【課題】複数のＣＰＵ間で既存のシリアル通信の信号線のみを使って、正確な時刻同期が取れるようにする。【解決手段】送信側ＣＰＵと受信側ＣＰＵで時刻を同期させる時刻同期システムにおいて、送信側ＣＰＵは、所定の送信タイミングにしたがって時刻送信を報知する報知信号と報知信号送信時刻Ｔ＋ｎ／Ｎを送信し、受信側ＣＰＵは、報知信号送信時刻に報知信号が送信側ＣＰＵから受信側ＣＰＵに伝達されるまでに要する時間ｑと報知信号受信時刻Ｔ’＋ｍ１／Ｍから時刻較正実行までの経過時間ｐ＋ｍ２／Ｍ−ｍ１／Ｍを加算した時刻に時刻校正する。また、送信側ＣＰＭは、所定のインターバルでインターバル信号を送信しており、受信側ＣＰＭは、インターバル信号を受信し、１インターバルあたりのクロックパルス数を求めて、インターバル設定値Ｍを変更するインターバル校正を行う。【選択図】図４
2010101793.tif 000002
【特許請求の範囲】
【請求項１】
送信側ＣＰＵと受信側ＣＰＵで時刻を同期させる時刻同期システムにおいて、
前記送信側ＣＰＵは、所定の送信タイミングにしたがって現在時刻送信を報知する報知信号を送信する報知信号送信手段と、報知信号の送信時刻を取得する報知信号送信時刻取得手段と、報知信号送信時刻を送信する報知信号送信時刻送信手段とを備え、
前記受信側ＣＰＵは、報知信号を受信する報知信号受信手段と、報知信号を受信した時刻を取得する報知信号受信時刻取得手段と、報知信号送信時刻を受信する報知信号送信時刻受信手段と、報知信号送信時刻に報知信号が送信側ＣＰＵから受信側ＣＰＵに伝達されるまでに要する時間と報知信号受信時刻から時刻校正実行までの経過時間を加算した時刻に時刻校正する時刻校正手段とを備えたことを特徴とする時刻同期システム。
【請求項２】
前記送信タイミングは、最初は短い時間間隔で、次第に長くなるように設定され、所定時間後からは一定の時間間隔になることを特徴とする請求項１に記載の時刻同期システム。
【請求項３】
前記報知信号を複数回受信した場合、または、前記時刻校正を行う時刻が前記報知信号受信時刻から所定時間以上経過している場合は、前記時刻校正を行わないことを特徴とする請求項１又は２に記載の時刻同期システム。
【請求項４】
前記送信側ＣＰＵは、所定のインターバルでインターバル信号を送信するインターバル信号送信手段を備え、
前記受信側ＣＰＵは、前記インターバル信号を受信した時刻を取得するインターバル信号受信時刻取得手段と、今回のインターバル信号受信時刻と前回のインターバル信号受信時刻とから、１インターバルあたりのクロックパルス数を算出するクロックカウント手段と、受信側ＣＰＵに設定されているインターバル設定値を送信側ＣＰＵと受信側ＣＰＵとでインターバルが一致するように校正するインターバル校正手段とを備えたことを特徴とする請求項１、２又は３に記載の時刻同期システム。
【請求項５】
前回のインターバル信号を受信した時刻と今回のインターバル信号を受信した時刻とから１インターバルあたりのクロックパルス数を算出し、該クロックパルス数が、クロックの周波数から算出された１インターバルあたりのクロックパルス数に対して±１％以内であれば、前記インターバル校正を行うことを特徴とする請求項４に記載の時刻同期システム。
【請求項６】
前記インターバル校正は、所定数のインターバルにおける１インターバルあたりのクロックパルス数の平均値を用いてインターバル校正をすることを特徴とする請求項４又は５に記載の時刻同期システム。
【請求項７】
前記インターバル校正は、前記所定数のインターバルに達しないうちは、それまでに得られた１インターバルあたりのクロックパルス数の平均値で校正し、前記所定数のインターバルに達した後には、受信側ＣＰＵのインターバル設定値と前記所定数のインターバルにおける１インターバルあたりのクロックパルス数の平均値とを比較して、前記インターバル設定値を＋１又は−１だけ増減することを特徴とする請求項６に記載の時刻同期システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のＣＰＵの間で時刻同期を取る時刻同期システムに関する。
【背景技術】
【０００２】
測量機には、角度測定を行うための測角用ＣＰＵ、距離測定を行うための測距用ＣＰＵ等、複数のスレーブＣＰＵと、これらのスレーブＣＰＵを管理制御するマスターＣＰＵ（メインＣＰＵ）が備えられている。（下記非特許文献１参照）。
【０００３】
一般に、ＣＰＵにはクロック（水晶発振器）が内蔵されており、クロックからは正確な周期でクロックパルスが出力されている。このため、ＣＰＵは、クロックパルスを常に計数すること（以下、クロックカウントと記載する。）により、いつでも現在時刻又はある時点からの経過時間を知ることができる。そして、複数のＣＰＵを使用する場合には、各クロックには誤差があるので、複数のＣＰＵ間で定期的に時刻合わせをすること、すなわち時刻同期を取ることが必要である。しかし、測量機の場合、複数のＣＰＵ間で正確な時刻同期を取ることはしていなかった。
【非特許文献１】日本測量機器工業会、最新測量機器便覧、山海堂、２００３年７月２９日、Ｐ．１２８
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、最近では、移動するターゲットを追尾しながら、ターゲットまでの距離と角度を正確に測定する測量機も要求されてきた。移動するターゲットを追尾しながら、ターゲットまでの距離と角度を正確に測定するには、測角用ＣＰＵと測距用ＣＰＵの間で時刻が正確に同期を取られている必要がある。このためには、マスターＣＰＵから測角用ＣＰＵと測距用ＣＰＵの間にマスターＣＰＵのクロックを基礎に同期を取るための信号線を接続すれば簡単に解決する。しかし、これでは、測量機に内蔵されるＣＰＵが多い場合、信号線が増えて、装置が大型化してしまうという問題がある。
【０００５】
本発明は、前記問題に鑑みてなされたもので、複数のＣＰＵ間で既存のシリアル通信の信号線のみを使って、高精度な時刻同期が取れるようにすること課題とする。
【課題を解決するための手段】
【０００６】
前記課題を解決するため、請求項１に係る発明では、送信側ＣＰＵと受信側ＣＰＵで時刻を同期させる時刻同期システムにおいて、
前記送信側ＣＰＵは、所定の送信タイミングにしたがって現在時刻送信を報知する報知信号を送信する報知信号送信手段と、報知信号の送信時刻を取得する報知信号送信時刻取得手段と、報知信号送信時刻を送信する報知信号送信時刻送信手段とを備え、
前記受信側ＣＰＵは、報知信号を受信する報知信号受信手段と、報知信号を受信した時刻を取得する報知信号受信時刻取得手段と、報知信号送信時刻を受信する報知信号送信時刻受信手段と、報知信号送信時刻に報知信号が送信側ＣＰＵから受信側ＣＰＵに伝達されるまでに要する時間と報知信号受信時刻から時刻校正実行までの経過時間を加算した時刻に時刻校正する時刻校正手段とを備えたことを特徴とする。
【０００７】
請求項２に係る発明では、請求項１に係る発明において、前記送信タイミングは、最初は短い時間間隔で、次第に長くなるように設定され、所定時間後からは一定の時間間隔になることを特徴とする。
【０００８】
請求項３に係る発明では、請求項１又は２に係る発明において、前記報知信号を複数回受信した場合、または、前記時刻校正を行う時刻が前記報知信号受信時刻から所定時間以上経過している場合は、前記時刻校正を行わないことを特徴とする。
【０００９】
請求項４に係る発明では、請求項１、２又は３に係る発明において、
前記送信側ＣＰＵは、所定のインターバルでインターバル信号を送信するインターバル信号送信手段を備え、
前記受信側ＣＰＵは、前記インターバル信号を受信した時刻を取得するインターバル信号受信時刻取得手段と、今回のインターバル信号受信時刻と前回のインターバル信号受信時刻とから、１インターバルあたりのクロックパルス数を算出するクロックカウント手段と、受信側ＣＰＵに設定されているインターバル設定値を送信側ＣＰＵと受信側ＣＰＵとでインターバルが一致するように校正するインターバル校正手段とを備えたことを特徴とする。
【００１０】
請求項５に係る発明では、請求項４に係る発明において、前回のインターバル信号を受信した時刻と今回のインターバル信号を受信した時刻とから１インターバルあたりのクロックパルス数を算出し、該クロックパルス数が、クロックの周波数から算出された１インターバルあたりのクロックパルス数に対して±１％以内であれば、前記インターバル校正を行うことを特徴とする。
【００１１】
請求項６に係る発明では、請求項４又は５に係る発明において、前記インターバル校正は、所定数のインターバルにおける１インターバルあたりのクロックパルス数の平均値を用いてインターバル校正をすることを特徴とする。
【００１２】
請求項７に係る発明では、請求項６に係る発明において、前記インターバル校正は、前記所定数のインターバルに達しないうちは、それまでに得られた１インターバルあたりのクロックパルス数の平均値で校正し、前記所定数のインターバルに達した後には、受信側ＣＰＵのインターバル設定値と前記所定数のインターバルにおける１インターバルあたりのクロックパルス数の平均値とを比較して、前記インターバル設定値を＋１又は−１だけ増減することを特徴とする。
【発明の効果】
【００１３】
請求項１に係る発明によれば、送信側ＣＰＵと受信側ＣＰＵで時刻を同期させる時刻同期システムにおいて、前記送信側ＣＰＵは、所定の送信タイミングにしたがって現在時刻送信を報知する報知信号を送信する報知信号送信手段と、報知信号の送信時刻を取得する報知信号送信時刻取得手段と、報知信号送信時刻を送信する報知信号送信時刻送信手段とを備え、前記受信側ＣＰＵは、報知信号を受信する報知信号受信手段と、報知信号を受信した時刻を取得する報知信号受信時刻取得手段と、報知信号送信時刻を受信する報知信号送信時刻受信手段と、報知信号送信時刻に報知信号が送信側ＣＰＵから受信側ＣＰＵに伝達されるまでに要する時間と報知信号受信時刻から時刻校正実行までの経過時間を加算した時刻に時刻校正する時刻校正手段とを備えたから、所定のタイミングで受信側ＣＰＵを送信側ＣＰＵと一致するように時刻校正でき、各ＣＰＵが常に時刻同期した状態に維持できる。しかも、時刻校正の際、報知信号送信時刻に報知信号が送信側ＣＰＵから受信側ＣＰＵに伝達されるまでに要する時間と報知信号受信時刻から時刻校正実行までの経過時間を加算した時刻に時刻校正するから、時刻同期の誤差を極力小さくできる。
【００１４】
請求項２に係る発明によれば、時刻校正を行う送信タイミングは、最初は短い時間間隔で、次第に長くなるように設定されたから、受信側ＣＰＵが、時刻同期を取れていない状態から短時間に時刻同期取れた状態に移行できる。そして、所定時間後からは送信タイミングを一定の時間間隔としたから、定期的に時刻同期が取れて、各ＣＰＵの時刻同期が失われることが少なくなる。
【００１５】
請求項３に係る発明によれば、報知信号を複数回受信した場合、または、時刻校正を行う時刻が報知信号受信時刻から所定時間以上経過している場合は、時刻校正を行わないから、明らかに誤った時刻同期や、誤差の大きな時刻同期を避けることができる。
【００１６】
請求項４に係る発明によれば、送信側ＣＰＵは、所定のインターバルでインターバル信号を送信するインターバル信号送信手段を備え、受信側ＣＰＵは、前記インターバル信号を受信した時刻を取得するインターバル信号受信時刻取得手段と、今回のインターバル信号受信時刻と前回のインターバル信号受信時刻とから、１インターバルあたりのクロックパルス数を算出するクロックカウント手段と、受信側ＣＰＵに設定されているインターバル設定値を送信側ＣＰＵと受信側ＣＰＵとでインターバルが一致するように校正するインターバル校正手段とを備えたから、一度時刻校正すると、各ＣＰＵ間の時間の進み方が同じになり、時刻校正の間隔を延ばすことが可能となる。
【００１７】
請求項５に係る発明によれば、前回のインターバル信号を受信した時刻と今回のインターバル信号を受信した時刻とから１インターバルあたりのクロックパルス数を算出し、該クロックパルス数が、クロックの周波数から算出された１インターバルあたりのクロックパルス数に対して±１％以内である場合に、前記インターバル校正を行うから、インターバル信号が送信されなかった場合や、明らかに誤ったクロックパルス数のカウント値が得られた場合のインターバル校正が防止できる。
【００１８】
請求項６に係る発明によれば、インターバル校正は、所定数のインターバルにおける１インターバルあたりのクロックパルス数の平均値を用いてインターバル校正をするから、さらに高精度なインターバル校正ができる。
【００１９】
請求項７に係る発明によれば、インターバル校正は、所定数のインターバルに達しないうちは、それまでに得られた１インターバルあたりのクロックパルス数の平均値で校正し、所定数のインターバルに達した後には、受信側ＣＰＵのインターバル設定値と前記所定数のインターバルにおける１インターバルあたりのクロックパルス数の平均値とを比較して、前記インターバル設定値を＋１又は−１だけ増減するから、短時間で時刻同期が取れ、それ以後は高精度なインターバル校正ができる。
【発明を実施するための最良の形態】
【００２０】
本発明は、測量機等に備えられるマスターＣＰＵ（メインＣＰＵ）と、測角用ＣＰＵや測距用ＣＰＵ等のスレーブＣＰＵとの間、または、スレーブＣＰＵ間で、時刻同期を取る時刻同期システムに関する。
【００２１】
この時刻同期システムの一実施例として、説明を簡単にするため、２つのスレーブＣＰＵ間での時刻同期を考える。一方の送信側ＣＰＵは、後述するインターバル（時間間隔）校正と時刻校正が定期的に実行されているとする。以下、このような状態をステータス良好と記載し、ステータス良好でない状態をステータス不良と記載する。他方の受信側ＣＰＵは、ステータス不良であるとする。送信側ＣＰＵがステータス良好である場合、受信側ＣＰＵのインターバル校正及び時刻校正を行う。なお、マスターＣＰＵは、常にステータス良好として扱うので、常にインターバルと時刻の送信を行う。
【００２２】
以下、図面に基づいて、本発明の一実施例を説明する。図１は、本発明のインターバル校正プログラムのフローチャートである。図２は、インターバル校正の方法を説明する図である。図３は、本発明の時刻校正プログラムのフローチャートである。図４は、時刻校正の方法を説明する図である。
【００２３】
まず、インターバル校正について説明する。２つのＣＰＵでインターバル校正プログラムをスタートさせると、図１に示したように、送信側ＣＰＵは、ステップＳ１１に進んで、送信側ＣＰＵのクロックパルスの計数値（以下、クロックカウント値と記載する。）から所定のインターバル（例えば、１ｍｓ）が経過したか否かを調べる。もし、所定のインターバルに到達していない場合は、ステップＳ１１に戻る。所定のインターバルに達したときは、ステップＳ１２に進んで、送信側ＣＰＵから受信側ＣＰＵに向けてインターバル信号を送信し、ステップＳ１１に戻る。
【００２４】
以下、送信側ＣＰＵは、ステップＳ１１〜Ｓ１２を繰り返して、図２に示したように、あるインターバルの最初の時刻Ｔ１、すなわちクロックカウント値が０のときから、クロックパルスをＮ個カウントして時刻Ｔ２になったとき、クロックカウント値を０にリセットするとともに、インターバル信号を出すことにより、所定のインターバルでインターバル信号を送信している。なお、インターバル信号は、必ずしもクロックカウント値が０のときに出す必要はなく、予め定めた０以外のクロックカウント値のときに出してもよい。
【００２５】
このインターバル信号の送信は、送信側ＣＰＵがステータス良好で、送信側ＣＰＵから何の信号も送信されておらず、即座にインターバル信号の送信が可能なときにのみ送信される。他の割り込み処理等により、即座にインターバル信号の送信が不可能なときには、インターバル信号は送信されない。
【００２６】
一方、受信側ＣＰＵは、インターバル校正プログラムをスタートすると、ステップＳ２１に進んで、インターバル信号を受信したか否か調べる。もしインターバル信号を受信していなければ、ステップＳ２１に戻る。もしインターバル信号を受信していれば、直ちにステップＳ２２に進んで、現在時刻、即ちインターバル信号受信時刻を受信側ＣＰＵのクロックカウント値から取得する。
【００２７】
次に、ステップＳ２３に進んで、前回のインターバル信号を受信した時刻と今回のインターバル信号を受信した時刻との差から１インターバルあたりのクロックパルス数を算出する。次にステップＳ２４に進んで、ステップＳ２３で算出した１インターバルあたりのクロックパルス数が、クロックの周波数から算出された１インターバルあたりのクロックパルス数に対して±１％以内であれば、送信側ＣＰＵと受信側ＣＰＵとでインターバルが一致するように、受信側ＣＰＵのインターバルを校正する。
【００２８】
この受信側ＣＰＵのインターバル校正については、図２に基づいて、さらに詳細に説明する。受信側ＣＰＵは、Ｍ個のクロックパルスをカウントすることにより所定のインターバルを決定しており、このＭをインターバル設定値として記憶している。すなわち、あるインターバルの最初の時刻Ｔ１’にクロックカウント値が０からクロックパルスをカウントし、クロックパルスをＭ個カウントして時刻Ｔ２’になって、１インターバルを完了したとき、クロックカウント値を０にリセットしている。もし、あるインターバル信号を受信した直後のクロックカウント値がｍ１であったとすると、このときの時刻は、Ｔ１’＋（ｍ１／Ｍ）となる。次のインターバル信号を受信した直後のクロックカウント値がｍ2であったとすると、このときの時刻は、Ｔ2’＋（ｍ2／Ｍ）となる。
【００２９】
インターバルの校正とは、受信側ＣＰＵで、あるインターバル信号を受信してから次のインターバル信号を受信するまでの１インターバル（例えば、１ｍｓ）あたりのクロックパルス数を数えて、このクロックパルス数に応じてインターバル設定値Ｍの値を修正することである。１インターバルあたりのクロックパルス数は、今回と前回のインターバル信号を受信した時刻の差｛Ｔ2’＋（ｍ2／Ｍ）｝−｛Ｔ１’＋（ｍ１／Ｍ）｝から算出される。
【００３０】
クロック周波数は、主に温度変化に伴ってゆっくり変化するので、所定回前のインターバル信号を受信した時刻からの所定数のインターバルにおける１インターバルあたりのクロックパルス数の平均値を用いてインターバル校正をする。具体的には、所定数のインターバルが得られない場合は、それまでに得られた１インターバルあたりのクロックパルス数の平均値を用いてインターバル校正を行い、所定数のインターバルが得られたときは、得られた１インターバルあたりのクロックパルス数の平均値とそれまで設定されていたインターバル設定値Ｍとの大小を比較し、インターバル設定値Ｍを＋１又は−１だけ増減する。このようなインターバル校正によると、誤ったインターバル校正を防止できる。
【００３１】
インターバル校正を終えると、ステップＳ２１に戻る。以下、インターバル信号を受信する度に、受信側ＣＰＵのインターバル校正が行われ、両ＣＰＵ間でインターバルが一致するようにされる。なお、インターバル校正が所定時間以上なされていない場合は、ステータス不良として、インターバル校正が行われていないことが分かるようにする。
【００３２】
次に、時刻校正プログラムについて説明する。時刻校正プログラムをスタートさせると、図３に示したように、送信側ＣＰＵは、ステップＳ３１へ進んで、現在時刻送信を知らせるための報知信号の送信タイミングになったか否かを検出する。送信タイミングは、最初は短い時間間隔で、次第に長くなるように設定され、所定時間後（５秒後）からは一定の時間間隔になる。例えば、送信タイミングは、０ｍｓ後、２５６ｍｓ後、５１２ｍｓ後、１０２４ｍｓ後、２０４８ｍｓ後、４０９６ｍｓ後と、前回の２倍の時間間隔となるように、しだいに長くなっているが、４０９６ｍｓ後は、４０９６ｍｓの一定間隔にする。なお、送信タイミングは、必ずしも正確な規則に従う必要はない。送信タイミングでないときは、ステップＳ３１に戻る。
【００３３】
送信タイミングのときは、ステップＳ３２に進んで、送信側ＣＰＵから受信側ＣＰＵに向けて、報知信号を送信する。そして直ちに、ステップＳ３３に進んで、図４に示したように、報知信号送信時刻を送信側ＣＰＵのクロックカウント値ｎから現在時刻のＴ＋ｎ／Ｎと算出する。次にステップＳ３４に進んで、報知信号送信時刻Ｔ＋ｎ／Ｎを送信側ＣＰＵから受信側ＣＰＵに送信する。次にステップＳ３５に進んで、次回の送信タイミングを決定して、ステップＳ３１に戻る。以後、ステップＳ３１〜Ｓ３５を繰り返して、所定のタイミングでもって、送信側ＣＰＵから受信側ＣＰＵに報知信号及び報知信号送信時刻が送信される。
【００３４】
ところで、受信側ＣＰＵに別の受信側ＣＰＵが直列に接続されていて、この受信側ＣＰＵから別の受信側ＣＰＵにインターバル信号を送信している場合に受信側ＣＰＵの時刻校正すると、そのインターバルが狂うので、別の受信側ＣＰＵへはインターバル信号の送信を２回分行わないようにする。このような場合、送信側ＣＰＵの送信タイミングは、時間間隔最小の最初の状態に戻して、短時間で同期を取れるようにする。
【００３５】
一方、受信側ＣＰＵでは、時刻校正プログラムをスタートさせると、ステップＳ４１に進んで、報知信号を受信したかどうか調べる。もし、報知信号を受信していなければ、ステップＳ４１に戻る。もし、報知信号を受信していれば、ステップＳ４２に進んで、図４に示したように、クロックカウント値ｍ１から報知信号受信時刻Ｔ’＋ｍ１／Ｍを取得し、直ちにステップＳ４３に進んで、送信側ＣＰＵから送信されてくる報知信号送信時刻Ｔ＋ｎ／Ｎを受信できるように待機する。送信側ＣＰＵから送られてくる報知信号送信時刻Ｔ＋ｎ／Ｎを受信したら、ステップＳ４４に進んで、クロックカウント値ｍ２から現在時刻Ｔ’＋ｐ＋ｍ２／Ｍ、すなわち時刻校正実行時刻を取得する。
【００３６】
続いて、ステップＳ４４で取得した時刻Ｔ’＋ｍ１／ＭとステップＳ４２で取得した時刻Ｔ’＋ｐ＋ｍ２／Ｍの差ｐ＋ｍ２／Ｍ−ｍ1／Ｍから、報知信号を受信してから時刻校正実行までの経過時間を算出する。次に、ステップＳ４５に進んで、受信側ＣＰＵの時刻を送信側ＣＰＵの時刻に合わせる時刻校正を行い、ステップＳ４１に戻る。この時刻校正の際には、送信側ＣＰＵから送信されてくる報知信号送信時刻Ｔ＋ｎ／Ｎに、報知信号が送信側ＣＰＵから受信側ＣＰＵに伝達されるまでに要する時間（ボーレートから計算されるシリアル通信にかかる伝送時間）ｑと、報知信号を受信してから時刻校正を行うまでの経過時間ｐ＋ｍ２／Ｍ−ｍ1／Ｍとを加えた時刻Ｔ＋ｎ／Ｎ＋ｐ＋ｍ２／Ｍ−ｍ1／Ｍに、受信側ＣＰＵの時刻を合わせる。以下、所定のタイミングでもって、受信側ＣＰＵの時刻校正がされていく。
【００３７】
この時刻校正の際には、受信側ＣＰＵの処理が追いつかずに複数の報知信号を受け取ってしまった場合、時刻校正を行う時刻が報知信号受信から所定時間以上経過している場合には、誤差が増えるため時刻校正を行わない。なお、時刻校正が所定時間以上なされない場合は、ステータス不良とし、時刻校正が行われていないことが分かるようにする。
【００３８】
こうして、受信側ＣＰＵは、インターバル校正及び時刻校正により、送信側ＣＰＵと時刻同期を取ることができる。
【００３９】
本実施例によれば、所定のタイミングで受信側ＣＰＵを送信側ＣＰＵの時刻に一致させるように時刻校正しているから、各ＣＰＵを常に時刻同期した状態に維持できる。この際、送信側ＣＰＵからの報知信号送信時刻に、報知信号が送信側ＣＰＵから受信側ＣＰＵに伝達されるまでに要する時間と、受信側ＣＰＵが報知信号を受信してから時刻校正するまでの経過時間を加算した時刻に時刻校正するから、時刻同期の誤差を極力小さくできる。また、時刻校正を行うタイミングは、最初は短い時間間隔で、次第に長くなるように設定されたから、受信側ＣＰＵが、時刻同期を取れていない状態から短時間に時刻同期取れた状態に移行できる。そして、所定時間後からは、各ＣＰＵが一定のタイミングで定期的に時刻同期が取れて、時刻同期が失われることが防止できる。さらに、受信側ＣＰＵが報知信号を複数回受信した場合や、受信側ＣＰＵにおいて時刻校正を行う時刻が報知信号受信から所定時間以上経過している場合は、時刻校正を行わないようにしたから、明らかに誤った時刻同期や、誤差の大きな時刻同期を避けることができる。
【００４０】
さらに、本実施例では、所定のインターバルでインターバル校正されているので、一度時刻校正すると、その後の両ＣＰＵ間での時刻の進み方の差が小さくなり、時刻校正の間隔を延ばすことが可能となる。しかも、前回のインターバル信号を受信した時刻と今回のインターバル信号を受信した時刻とから１インターバルあたりのクロックカウント値を算出し、該クロックカウント値が、クロックの周波数から算出されたクロックカウント値に対して±１％以内のときに、インターバル校正を行うから、報知信号が送信されなかった場合や、明らかに誤ったクロックカウント値が得られた場合のインターバル校正が防止でき、各ＣＰＵ間の時刻のずれをいっそう小さくできる。さらに、インターバル校正は、所定数のインターバルに達しないうちは、それまでに得られた１インターバルあたりのクロックパルス数の平均値で校正し、所定数のインターバルに達した後には、受信側ＣＰＵのインターバル設定値と前記所定数のインターバルにおける１インターバルあたりのクロックパルス数の平均値とを比較して、前記インターバル設定値を＋１又は−１だけ増減するから、短時間で時刻同期が取れ、それ以後、高精度なインターバル校正が維持できる。
【００４１】
ところで、本発明は、前記実施例に限るわけではなく、種々の変形が可能である。例えば、前記実施例では、２つのＣＰＵ間での時刻同期のみを説明したが、送信側ＣＰＵに複数の受信側ＣＰＵを直列又は並列に接続することも可能である。
【図面の簡単な説明】
【００４２】
【図１】本発明のインターバル校正プログラムのフローチャート。
【図２】インターバル校正の方法を説明する図。
【図３】本発明の時刻校正プログラムのフローチャート。
【図４】時刻校正の方法を説明する図
【図１】
2010101793.tif 000003
【図２】
2010101793.tif 000004
【図３】
2010101793.tif 000005
【図４】
2010101793.tif 000006