(57)【要約】      （修正有）【課題】高分解能で受信タイミングを把握することができる複数の演算装置相互のデータ受信タイミング算出方法並び装置を提供する。【解決手段】複数の演算装置相互にデータを送信し、前記複数の演算装置それぞれへの前記データの受信タイミングを算出する複数の演算装置相互のデータ受信タイミング算出方法において、前記演算装置のうちの１つを送信装置、他の演算装置を受信装置とし、前記送信装置から、シーケンシャル番号をふったデータを前記受信装置に送信し、前記受信装置は、前記データを内部に保有するバッファメモリに蓄積するとともに、前記バッファメモリに蓄積されたデータからシーケンシャル番号を２回以上連続で読み取り、該シーケンシャル番号の変化から前記データの受信タイミングを算出し、前記送信装置として使用する演算装置を前記データの送信１回ごとに順次変えていき、各送信装置から受信装置への受信タイミングを算出する。【選択図】図５
2011109405.tif 000002
【特許請求の範囲】
【請求項１】
複数の演算装置相互にデータを送信し、前記複数の演算装置それぞれへの前記データの受信タイミングを算出する複数の演算装置相互のデータ受信タイミング算出方法において、
前記演算装置のうちの１つを送信装置、他の演算装置を受信装置とし、
前記送信装置から、シーケンシャル番号をふったデータを前記受信装置に送信し、
前記受信装置は、前記データを内部に保有するバッファメモリに蓄積するとともに、前記バッファメモリに蓄積されたデータからシーケンシャル番号を２回以上連続で読み取り、該シーケンシャル番号の変化から前記データの受信タイミングを算出し、
前記送信装置として使用する演算装置を前記データの送信１回ごとに順次変えていき、各送信装置から受信装置への受信タイミングを算出することを特徴とする複数の演算装置相互のデータ受信タイミング算出方法。
【請求項２】
前記複数の演算装置全てから１回づつ前記データの送信を行う過程を１巡としたとき、
１巡目、２巡目、３巡目それぞれで、前記シーケンシャル番号の更新の読み取り始めのタイミングを異ならせ、
前記１巡目、２巡目、３巡回目で読み取ったシーケンシャル番号の変化から前記複数の演算装置の受信タイミングを算出することを特徴とする請求項１記載の複数の演算装置相互のデータ受信タイミング算出方法。
【請求項３】
前記送信装置のバッファメモリに競合する処理信号がある場合、当該処理によるデータ送信の遅れ時間を補正することを特徴とする請求項１又は２記載の複数の演算装置相互のデータ受信タイミング算出方法。
【請求項４】
請求項１記載の複数の演算装置相互のデータ受信タイミング算出方法を用いて、複数の演算装置の位相を同期させる同期方法であって、
１の受信装置における複数の送信装置からの受信タイミングを、請求項１記載の演算装置相互のデータ受信タイミング算出方法によって算出し、算出された複数の送信装置からの受信タイミングの中央値ｍｉを求め、
前記１の受信装置の開始タイミングを位相ずれ量ｍｉ×Ｋ（Ｋはフィードバックゲイン）だけ同期の処理を行うことを特徴とする複数の演算装置の位相を同期させる同期方法。
【請求項５】
相互にデータを送信可能な複数の演算装置と、前記複数の演算装置それぞれへの前記データの受信タイミングを算出する手段とを有する複数の演算装置相互のデータ受信タイミング算出装置において、
前記演算装置のうちの１つを送信装置、他の演算装置を受信装置とし、
前記送信装置は、シーケンシャル番号をふったデータを前記受信装置に送信する送信手段を有し、
前記受信装置は、前記データを蓄積するバッファメモリと、前記バッファメモリに蓄積されたデータからシーケンシャル番号を２回以上連続で読み取り、該シーケンシャル番号の変化から前記データの受信タイミングを算出する算出手段を有し、
前記送信装置を前記データの送信１回ごとに順次変えることで、各送信装置から受信装置への受信タイミングを算出する受信タイミング算出手段を設けたことを特徴とする複数の演算装置相互のデータ受信タイミング算出装置。
【請求項６】
前記受信タイミング算出手段は、
前記複数の演算装置全てから１回づつ前記データの送信を行う過程を１巡としたとき、
１巡目、２巡目、３巡目それぞれで、前記シーケンシャル番号の更新の読み取り始めのタイミングを異ならせ、前記１巡目、２巡目、３巡回目で読み取ったシーケンシャル番号の変化から前記複数の演算装置の受信タイミングを算出することを特徴とする請求項５記載の複数の演算装置相互のデータ受信タイミング算出装置。
【請求項７】
前記送信装置のバッファメモリに競合する処理信号がある場合、当該処理によるデータ送信の遅れ時間を補正する補正手段を備えることを特徴とする請求項５又は６記載の複数の演算装置相互のデータ受信タイミング算出手段。
【請求項８】
請求項５記載の複数の演算装置相互のデータ受信タイミング算出装置を用いて、複数の演算装置の位相を同期させる同期装置であって、
１の受信装置における複数の送信装置からの受信タイミングを、請求項５記載の演算装置相互のデータ受信タイミング算出方法によって算出し、算出された複数の送信装置からの受信タイミングの中央値ｍｉを求める中央値算出手段と、
前記１の受信装置の開始タイミングを位相ずれ量ｍｉ×Ｋ（Ｋはフィードバックゲイン）だけ同期の処理を行う同期処理手段と、を設けることを特徴とする複数の演算装置の位相を同期させる同期装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の演算装置相互のデータ受信タイミング算出方法並び装置及び複数の演算装置の位相を同期させる同期方法並びに装置に関するものである。
【背景技術】
【０００２】
例えば発電用に用いられる蒸気タービンやガスタービンなどの大型のタービンや、化学プラントなどの大型プラントにおいては、運転員の負担軽減や制御精度の向上のためにプロセス制御が採用されている。
【０００３】
プロセス制御においては、処理を行う演算装置が１つである場合には、演算装置が例えば故障などにより正常に動作しなくなった場合にはプロセス制御の継続が不可能となる。そこで、同じ処理を行わせる演算装置を複数設けて、１つの演算装置が故障などにより正常に動作しなくなった場合においても、正常にプロセス制御の継続が可能となるようにしている。
【０００４】
前述のように同じ処理を行わせる演算装置を複数設けて行うプロセス制御（以下多重化処理という）においては、一般的に、各演算装置は水晶発信子を分周した一定周期毎で動作している。
この場合、電源投入時の初期化処理によって、各演算装置は完全同期した状態で動作開始されるが、演算装置の水晶発信子に存在する周波数の機差が累積してしまい、そのまま動作を継続すると徐々に各演算装置間の位相差が拡大してしまう可能性がある。そのため、演算装置間相互に通信を行うことで通信タイミングを把握し、演算装置間の同期補正処理を行う必要がある。
【０００５】
複数の装置を非同期通信により位相を合わせる技術として、特許文献１には１つの通信網に接続された複数のノードがそれぞれ有する時計について、その時刻差を測定し、前記時計を同期させる技術が開示されている。これは、１つの通信網に接続されたノードａ及びノードｂ間でＮ回メッセージ送受信を繰り返し、その結果得られた時刻差の標本値が正規分布していない場合には変数変換を施し正規分布に近づけた上で統計処理を行い、その統計処理により求められた数値を前記変数変換の逆変換するものである。これにより、例えば、サーバ・クライアント方式において、サーバとクライアントが１つの通信網内で異なるノードに備えられているような場合に、このサーバとクライアントがアプリケーションプログラムを実行する上での時刻差によるエラーの発生の回避をすることができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１０−３０３９８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に開示された技術においては、前記複数の装置に、サーバとクライアントといった主従関係が必要となる。
複数の演算装置に同じ処理を行わせるプロセス制御における多重化処理では、複数の演算装置のうちどの演算装置が故障などにより正常に動作しなくなっても、他の演算装置が継続して代行処理を行う必要がある。複数の演算装置にサーバとクライアントのような主従関係がある場合、例えば主となるサーバが正常に動作しなくなった場合には、プロセス制御そのものが正常に動作しなくなることから、多重化処理においては複数の演算装置にサーバとクライアントのような主従関係を持たせることは適切ではない。そのため、特許文献１に開示された技術をプロセス制御における多重化処理に適用することは難しい。
【０００８】
そこで、サーバとクライアントのような主従関係を持たせることなく、複数の演算装置の位相ずれを把握するためには、複数の演算装置相互にデータの通信を行い、データの送信側から送信された通信パケットを、受信側で受信タイミングを正確に把握し、該通信パケットの受信到着タイミングのずれから位相ずれを把握する必要がある。
【０００９】
複数の演算装置相互のデータ通信によるデータの受信の有無を把握するには、以下の２通りの手法が考えられる。
【００１０】
図１は演算装置相互のデータ通信によるデータ受信の有無を把握する２つの手法を簡易的に示した説明図である。
１つ目の手法として、図１（Ａ）に示したような、データの受信側の演算装置から、データの受信完了時に受信完了した旨の信号を発しＣＰＵに通知する手法が考えられる。
図１（Ａ）においては、時刻ｔａ０で中央演算処理装置（以下、ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔと称する）から送信側通信メモリにデータの送信要求があると、送信側通信メモリは一定時間（ｔａ１−ｔａ０）だけかけて受信側メモリにデータを転送し、時刻ｔａ１にデータの転送を完了する。データの転送が完了すると、時刻ｔａ２で受信側の通信メモリからＣＰＵにデータの受信が完了した旨を通知する。該通知を受信すると、時刻ｔａ３でＣＰＵから受信側通信メモリにデータの読出要求をし、一定時間（ｔａ４−ｔａ３）だけかけて受信側メモリからデータを読み出し、時刻ｔａ４にデータの読出しが完了する。
【００１１】
また、２つ目の手法として、図１（Ｂ）に示したような、シーケンシャル番号を振ったデータを使用し、受信側の演算装置でシーケンシャル番号を振ったデータを受信後、規定時間毎に受信側の演算装置のデータを読み出してシーケンシャル番号の更新の有無によりデータ受信の有無を掌握する手法が考えられる。当該２つ目の手法は、送信側の演算装置からデータを送信する毎にシーケンシャル番号をインクリメントすることで、受信側の演算装置でのシーケンシャル番号が更新されていればデータの受信有り、更新されていなければデータの受信無しと判断することができる。
図１（Ｂ）においては、時刻ｔｂ０でＣＰＵから送信側通信メモリにデータの送信要求があると、送信側通信メモリは一定時間（ｔｂ１−ｔｂ０）だけかけて受信側メモリにデータを転送し、時刻ｔｂ１にデータの転送を完了する。一方受信側通信メモリは、規定時刻ｔｂ２でＣＰＵから受信側通信メモリにデータの読出要求をし、一定時間（ｔｂ３−ｔｂ２）だけかけて受信側メモリからデータを読み出し、時刻ｔｂ３にデータの読出しが完了する。
【００１２】
前記１つ目の手法においては、受信完了した旨の信号を生成する装置が必要となるため、複数の演算装置相互のデータ通信によるデータの受信タイミングの把握をするために必要な装置全体が複雑なものとなるため、プロセス制御に使用するには実用的ではない。
【００１３】
前記２つ目の手法においては、前記１つ目の手法のように受信完了した旨の信号を生成する装置を必要としないため、複数の演算装置相互のデータ通信によるデータの受信タイミングの把握をするために必要な装置全体は非常に簡単なものとなるが、受信側の演算装置で受信したデータの読み出しに一定のデータ転送時間を要するため、受信タイミングはデータ転送時間で規定された粗い精度となってしまうという課題がある。
【００１４】
従って、本発明はかかる従来技術の問題に鑑み、簡単な装置で、複数の演算装置相互に非同期通信を行い、高分解能で受信タイミングを把握することができる複数の演算装置相互のデータ受信タイミング算出方法並び装置を提供することを目的とする。また、該受信タイミング算出方法及び装置により算出された受信タイミングを元に、各演算装置間の位相合わせを行う同期方法及び装置を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記課題を解決するため本発明においては、複数の演算装置相互にデータを送信し、前記複数の演算装置それぞれへの前記データの受信タイミングを算出する複数の演算装置相互のデータ受信タイミング算出方法において、前記演算装置のうちの１つを送信装置、他の演算装置を受信装置とし、前記送信装置から、シーケンシャル番号をふったデータを前記受信装置に送信し、前記受信装置は、前記データを内部に保有するバッファメモリに蓄積するとともに、前記バッファメモリに蓄積されたデータからシーケンシャル番号を２回以上連続で読み取り、該シーケンシャル番号の変化から前記データの受信タイミングを算出し、前記送信装置として使用する演算装置を前記データの送信１回ごとに順次変えていき、各送信装置から受信装置への受信タイミングを算出することを特徴とする。
【００１６】
これにより、受信完了した旨の信号を生成する装置などは必要なく、簡単な装置で受信タイミングを算出することが可能となる。
また、受信装置として使用する演算装置では、バッファメモリに蓄積されたデータからシーケンシャル番号を２回以上連続で読み取ることで、送信装置として使用する演算装置から送信されたデータの受信タイミングを精度よく算出することができる。
さらに、演算装置が演算装置内に設けたバッファメモリを介してデータの送受信を行う場合、バッファメモリでの競合が発生する可能性があるが、複数の演算装置のうち１つを送信装置、他の演算装置を受信装置とし、送信装置となった演算装置は送信に、受信装置となった演算装置は受信に専念させることで前記バッファメモリにおける送受信時の競合を回避することが可能である。
【００１７】
また、前記複数の演算装置全てから１回づつ前記データの送信を行う過程を１巡としたとき、
１巡目、２巡目、３巡目それぞれで、前記シーケンシャル番号の更新の読み取り始めのタイミングを異ならせ、前記１巡目、２巡目、３巡回目で読み取ったシーケンシャル番号の変化から前記複数の演算装置の受信タイミングを算出することを特徴とする。
【００１８】
これにより、受信データの読み取りの手段を変更することなく、見かけの受信タイミングの算出精度を向上させることができる。受信タイミングの算出精度の向上により、後述する同期の性能も向上させることができる。
【００１９】
また、前記送信装置のバッファメモリに競合する処理信号がある場合、当該処理によるデータ送信の遅れ時間を補正することを特徴とする。
これにより、他の演算装置の受信全てに対する位相ずれ判定時の誤差要因となり得る同期タイミングの基準となる送信時による遅延を排除することができる。これにより、送信競合による遅延時間の長さに依存しない結果を得られるため、誤差要因を小さく抑えることが可能となる。
【００２０】
また、請求項１記載の複数の演算装置相互のデータ受信タイミング算出方法を用いて、複数の演算装置の位相を同期させる同期方法であって、１の受信装置における複数の送信装置からの受信タイミングを、請求項１記載の演算装置相互のデータ受信タイミング算出方法によって算出し、算出された複数の送信装置からの受信タイミングの中央値ｍｉを求め、前記１の受信装置の開始タイミングを位相ずれ量ｍｉ×Ｋ（Ｋはフィードバックゲイン）だけ同期の処理を行うことを特徴とする。
【００２１】
これにより、送受信タイミングの相互干渉があっても、起動タイミングを補正する事により、全ての演算装置の同期補正を行うことができる。また、同期の基準として中央値を採用しているため、突飛な値に対してもロバスト性が強く安定して収束して同期補正を行うことができる。
【００２２】
また、課題を解決するための装置発明として、相互にデータを送信可能な複数の演算装置と、前記複数の演算装置それぞれへの前記データの受信タイミングを算出する手段とを有する複数の演算装置相互のデータ受信タイミング算出装置において、前記演算装置のうちの１つを送信装置、他の演算装置を受信装置とし、前記送信装置は、シーケンシャル番号をふったデータを前記受信装置に送信する送信手段を有し、前記受信装置は、前記データを蓄積するバッファメモリと、前記バッファメモリに蓄積されたデータからシーケンシャル番号を２回以上連続で読み取り、該シーケンシャル番号の変化から前記データの受信タイミングを算出する算出手段を有し、前記送信装置を前記データの送信１回ごとに順次変えることで、各送信装置から受信装置への受信タイミングを算出する受信タイミング算出手段を設けたことを特徴とする。
【００２３】
また、前記受信タイミング算出手段は、前記複数の演算装置全てから１回づつ前記データの送信を行う過程を１巡としたとき、１巡目、２巡目、３巡目それぞれで、前記シーケンシャル番号の更新の読み取り始めのタイミングを異ならせ、前記１巡目、２巡目、３巡回目で読み取ったシーケンシャル番号の変化から前記複数の演算装置の受信タイミングを算出することを特徴とする。
【００２４】
また、前記送信装置のバッファメモリに競合する処理信号がある場合、当該処理によるデータ送信の遅れ時間を補正する補正手段を備えることを特徴とする。
【００２５】
また、請求項５記載の複数の演算装置相互のデータ受信タイミング算出装置を用いて、複数の演算装置の位相を同期させる同期装置であって、１の受信装置における複数の送信装置からの受信タイミングを、請求項５記載の演算装置相互のデータ受信タイミング算出方法によって算出し、算出された複数の送信装置からの受信タイミングの中央値ｍｉを求める中央値算出手段と、前記１の受信装置の開始タイミングを位相ずれ量ｍｉ×Ｋ（Ｋはフィードバックゲイン）だけ同期の処理を行う同期処理手段とを設けることを特徴とする。
【発明の効果】
【００２６】
以上記載のごとく本発明によれば、簡単な装置で、複数の演算装置相互に非同期通信を行い、高分解能で受信タイミングを把握することができる複数の演算装置相互のデータ受信タイミング算出方法並び装置を提供することを目的とする。また、該受信タイミング算出方法及び装置により算出された受信タイミングを元に、各演算装置間の位相合わせを行う同期方法及び装置を提供することができる。
【図面の簡単な説明】
【００２７】
【図１】演算装置相互のデータ通信によるデータ受信の有無を把握する２つの手法を簡易的に示した説明図である。
【図２】実施例１に係る非同期通信による多重化同期システムの全体構成を示す概略図である。
【図３】実施例１に係る演算装置の内部構成を示す概略図である。
【図４】実施例１における送信手順の説明図である。
【図５】実施例１における演算装置の受信タイミングを検出する手法の説明図である。
【図６】演算装置について受信の有無から位置ずれ指標について説明する説明図である。
【図７】演算装置についての位相の制御方法の原理図である。
【図８】演算装置ＬＳ１の位相のみ遅れている状態の説明図である。
【図９】競合により演算装置ＬＳ１の送信のみ位相が遅れている状態の説明図である。
【図１０】競合により演算装置ＬＳ１の２回目受信のみ位相が遅れている状態の説明図である。
【図１１】実施例１における同期補正の数値例である。
【図１２】、図１１に示した実施例１における数値例のうち、ＬＳｋの中央値を抜き出したものである。
【図１３】図１１に示した実施例１における数値例のうち、ＬＳｋの中央値をグラフ化したものである。
【図１４】実施例２における送信手順の説明図である。
【図１５】実施例２におけるゾーン分割計測による位相制御の効果を示したグラフである。
【発明を実施するための形態】
【００２８】
以下、図面を参照して本発明の好適な実施例を例示的に詳しく説明する。但しこの実施例に記載されている構成部品の寸法、材質、形状、その相対的配置等は特に特定的な記載がない限りは、この発明の範囲をそれに限定する趣旨ではなく、単なる説明例に過ぎない。
【実施例１】
【００２９】
図２は、実施例１に係る非同期通信による多重化同期システムの全体構成を示す概略図である。
図２に示すように、実施例１に係る多重化同期システムは、４個の演算装置ＬＳ１、ＬＳ２、ＬＳ３、ＬＳ４、及びｎ個の入出力端末装置（以下Ｉ／Ｏ端末装置：Ｉｎｐｕｔ／Ｏｕｔｐｕｔ端末装置と称する）ＩＯ１、ＩＯ２、ＩＯ３・・・ＩＯｎから構成されている。また、各演算装置ＬＳ１〜ＬＳ４、及びＩＯ端末装置ＩＯ１〜ＩＯｎは、図２に示すようにＡ系及びＢ系の２系統でＬＡＮ接続されている。
また、演算装置ＬＳ１〜ＬＳ４は前記ＬＡＮとは別に回線１、２、３、４で接続されており、回線１は演算装置ＬＳ１からＬＳ２、ＬＳ３及びＬＳ４へ、回線２は演算装置ＬＳ２からＬＳ１、ＬＳ３及びＬＳ４へ、回線３は演算装置ＬＳ３からＬＳ１、ＬＳ２及びＬＳ４へ、回線４は演算装置ＬＳ４からＬＳ１、ＬＳ２及びＬＳ３へデータ送信が可能に構成されている。
図２に示したような構成においては、演算装置ＬＳ１〜ＬＳ４には主従関係がなく、同一構成にて多重化しており、相互に非同期通信を行うことにより同じ処理を同じタイミングで実施する。
なお、実施例１においては演算装置を４つ設けているが、本発明は演算装置が４つに限られるものではない。
【００３０】
図３は、実施例１に係る演算装置の内部構成を示す概略図である。図３においては演算装置ＬＳ１のみを図示しているが、演算装置ＬＳ２、ＬＳ３、ＬＳ４についても同様の構成である。
図３に示すように、実施例１に係る演算装置ＬＳ１は、ＣＰＵ１０、通信データ用バッファメモリ１１、一括送信装置１２、受信装置１３ａ、１３ｂ、１３ｃ、及び送受信装置１３ｄ、１３ｅから構成されている。
【００３１】
演算装置ＬＳ１では、他の演算装置やＩ／Ｏ端末装置からのデータは、受信装置又は送受信装置を介して一度通信データ用バッファメモリに蓄積された後、ＣＰＵのローカルメモリに転送されるように構成されている。
即ち、演算装置ＬＳ２からのデータは受信装置１３ａで受信されて通信データ用バッファメモリ１１に蓄積された後、ＣＰＵ１０のローカルメモリに転送される。同様に、演算装置ＬＳ３からのデータは受信装置１３ｂで受信されて通信データ用バッファメモリ１１に蓄積された後、ＣＰＵ１０のローカルメモリに転送され、演算装置ＬＳ４からのデータは受信装置１３ｃで受信されて通信データ用バッファメモリ１１に蓄積された後、ＣＰＵ１０のローカルメモリに転送される。また、Ｉ／Ｏ端末装置（ＩＯ１〜ＩＯｎ）とＣＰＵ１０は、通信データ用バッファメモリ１１から送受信装置１３ｄを介してＡ系ＬＡＮ経由で送受信すると共に、同じ通信データを送受信装置１３ｅを介してＢ系ＬＡＮ経由で送受信を行う二重系の通信形態となっている。
【００３２】
また、演算装置ＬＳ１では、ＣＰＵ１０のローカルメモリのデータは、一度通信データ用バッファメモリ１１に蓄積された後、一括送信装置１２を介して他の演算装置ＬＳ２、ＬＳ３及びＬＳ４に送信されるように構成されている。
【００３３】
以上のような構成の演算装置ＬＳ１においては、通信データ用バッファメモリ１１では読み出しと書き込みが行われることとなる。通信データ用バッファメモリ１１で読み出しと書き込みが同時に発生した即ち競合が起きた場合には、先に読み出し、書き込みが行われたデータの処理を行い、該処理が終了するまで次の処理は待つこととなる。
【００３４】
次に、他の演算装置からのデータの受信タイミングの算出について説明する。
実施例１においては、装置の簡単化を目的とし、図１（Ｂ）に示したように、シーケンシャル番号を振ったデータを使用し、受信側の演算装置でシーケンシャル番号を振ったデータを受信後、規定時間毎に受信側の演算装置のデータを読み出してシーケンシャル番号の更新の有無によりデータ受信の有無を掌握する手法を採用する。
【００３５】
前述の通り、演算装置ＬＳ１では１つの通信データ用バッファメモリ１１を介して全ての通信を行っているため、送受信処理の競合が発生すると後から発生した送受信処理は、先に発生した送受信処理が完了するまで待たされることとなる。なお、演算装置ＬＳ１に限らず、演算装置ＬＳ２〜ＬＳ４についても同様である。
【００３６】
そこで、まず各演算装置間の送受信時の競合を以下のようにして回避する。
図４は、実施例１における送信手順の説明図である。
図４に示すように、１回目の送信処理では演算装置ＬＳ１から送信を行い、演算装置ＬＳ１から送信されたデータを演算装置ＬＳ２、ＬＳ３、ＬＳ４で受信する。２回目の送信処理では演算装置ＬＳ２から送信を行い、演算装置ＬＳ２から送信されたデータを演算装置ＬＳ１、ＬＳ３、ＬＳ４で受信する。３回目の送信処理では演算装置ＬＳ３から送信を行い、演算装置ＬＳ３から送信されたデータを演算装置ＬＳ１、ＬＳ２、ＬＳ４で受信する。４回目の送信処理では演算装置ＬＳ４から送信を行い、演算装置ＬＳ４から送信されたデータを演算装置ＬＳ１、ＬＳ２、ＬＳ３で受信する。即ち、各送信処理においては、４つの演算装置のうち１つは送信に専念し、他の３つの演算装置は受信に専念する。そして送信処理１回毎に送信に専念する演算装置を順番に変えていく。
演算装置に一定周期毎に制御演算を実行させ、図４に示すように送信処理を巡回しながら一斉に送信、他の演算装置はその回は受信に専念することにより、各演算装置間の送受信時の競合発生を回避することができる。
【００３７】
次に、実施例１における各演算装置の受信タイミングを簡易的な方法にて高分解能で検出する手法について図５を用いて説明する。図５は実施例１における演算装置の受信タイミングを検出する手法の説明図である。図５において、○はデータ受信有り、×はデータ受信無し、−は既にデータ受信済みを意味している。また、データ受信前のシーケンシャル番号がｎ−１、データ受信後のシーケンシャル番号がｎである例を示しており、受信データのシーケンシャル番号がｎに更新されているかどうかを調べることで、受信データの有無が分かる。
実施例１においては、図１（Ｂ）を用いて既に説明したような、規定時間毎に受信側の演算装置のデータを読み出してシーケンシャル番号の更新の有無によりデータ受信の有無を掌握する手法を基にしており、規定時間になると図５に示すように受信側の演算装置においては立て続けにＣＰＵが受信データの確認を２回実施する。また、送信毎にインクリメントするシーケンシャルＮｏをデータに付加することにより、受信側でシーケンシャルＮｏが更新されたか否かで新たなデータを受信したかを判断するものとする。
【００３８】
送信は１度の処理につき１度しか行われないため、受信結果により以下の３通りの受信タイミングのどのケースになるかで、データ受信完了タイミングの存在範囲を把握することができる。
図５において、図５（Ａ）は１回目のデータ受信チェック期間以前にデータを受信しているケース（ケース１と称する）であり、この場合１回目のデータ受信においてシーケンシャル番号はｎに更新されている。なお、１回目のデータ受信においてシーケンシャル番号が更新済み、即ちデータ受信済みであるので、ケース１においては２回目のデータ受信を行う必要はない。
図５（Ｂ）は１回目のデータ受信チェック期間中にデータを受信しているケース（ケース２と称する）であり、この場合１回目のデータ受信においてはシーケンシャル番号はｎ−１であるが、２回目のデータ受信においてはシーケンシャル番号はｎに更新されている。
図５（Ｃ）は２回目のデータ受信チェック期間中以降にデータを受信しているケース（ケース３と称する）であり、この場合１回目、２回目のデータ受信何れにおいてもシーケンシャル番号はｎ−１のまま更新されていない。
【００３９】
ここで、１回目のデータ受信チェック期間の中央をデータ受信完了タイミングの基準とし、ケース２では受信タイミングｔ＝±０とする。ケース１、ケース３では、データ受信完了タイミングの区間が片端しか規定されていないが、後述する位相制御方法により、やがてケース２に移行すると期待できるため、データ受信完了タイミングの位置ずれ指標をケース１では仮にｔ＝−Ｔ、ケース３ではｔ＝Ｔ［Ｔは固定値］とすることで、受信タイミングを定量的に評価することが可能となる。位置ずれの指標値Ｔは、後述する位相制御時に位相補正のフィードバックゲインと掛け合わせることにより、影響度を調整することができるため、値の大きさは重要ではない。
【００４０】
図６は演算装置ＬＳ１について受信の有無から位置ずれ指標について説明する説明図である。
演算装置ＬＳｉが受信する時の設定基準位置からの時間差をｔｉｊ（ｉは受信するＬＳの番号、ｊは送信するＬＳの番号、ｉ＝１〜４、ｊ＝１〜４）と表す。なお、完全同期している時は、全ての演算装置は、設定基準位置からの時間差がないため、ｔｉｊ＝０と示される。
ここで、送信したＬＳが自ら受信を行うことができないため、ｉ＝ｊにおいては、常に自分自身とのずれｔｉｉ＝０とみなす。
【００４１】
以上により、２回連続でデータ受信の有無を確認することで、非常に簡単なデータ受信検出方法で他の演算装置から送信されたデータの受信タイミングを把握することができる。
【００４２】
次に、位相の補正制御について説明する。図７は実施例における位相の制御方法の原理図である。図７は、演算装置ＬＳｉについての位相の制御方法の原理図であり、演算装置ＬＳｉ以外の演算装置については位相ずれがなく正しいタイミングでデータの送信がなされているものと仮定する。
【００４３】
ＬＳｉに対して、観測した受信タイミングｔｉ１、ｔｉ２、ｔｉ３、ｔｉ４から、以下の（１）式によってｍｉを求める。
ｍｉ＝ｍｅｄｉａｎ（ｔｉ１、ｔｉ２、ｔｉ３、ｔｉ４）・・・（１）
ここで、ｍｅｄｉａｎは中央値を意味する。
（１）式によりｍｉを求め、位相ずれ量ｍｉ×Ｋだけ、演算装置ＬＳｉを進めたり、遅らせたりすることで、同期をあわせることができる。ここでＫはフィードバックゲインでありＫ＞０である。
【００４４】
しかし、演算装置ＬＳｉの開始タイミングを変化させると、演算装置ＬＳｉの受信タイミングのみならず、他の演算装置に対する送信タイミングも変化する。
図８は演算装置ＬＳ１の位相のみ遅れている状態の説明図である。演算装置ＬＳ１からのデータ送信時には、演算装置ＬＳ１の位相遅れ分だけ、他の演算装置ＬＳ２、ＬＳ３、ＬＳ４では遅く受信が観測される。また、他の演算装置ＬＳ２、ＬＳ３、ＬＳ４から送信されたデータは、演算装置ＬＳ１における受信時には相対的にＬＳ１の位相遅れ分だけ早く観測される。
よって、演算装置ＬＳｉがａｉだけ遅いタイミングでＬＳｊに送信した時に観測される受信タイミング値を、受信側を列、送信側を行とした行列Ａｉ（位相進みをマイナス、位相遅れをプラスで表記）で表すと、以下の（２）式で表すことができる。
【数１】
2011109405.tif 000003
【００４５】
従って、図７を参照し、演算装置ＬＳｉの開始タイミングを変化させると演算装置ＬＳｉの受信タイミングのみならず他の演算装置に対する送信タイミングも変化することを考慮して、ＬＳｉの同期補正を行うためには、
同期合わせの補正量ａｉ＝ＬＳｉの受信タイミング値より求めた中央値ｍｉ・・・（３）
だけ、ＬＳｉの起動タイミングを補正すればよい。なお、調整の程度はフィードバックゲインＫで調整すればよい。
【００４６】
図１１は実施例１における同期補正の数値例である。図１１の数値例を用いて同期補正が可能であることを説明する。なお、図１１においてフィードバックゲインＫはＫ＝１としている。
各演算装置の位相の影響は一次独立なので、重ね合わせ可能である。各演算装置の位相のずれの影響をＡとすると、Ａは以下の（４）式で表すことができる。
【数２】
2011109405.tif 000004
【００４７】
ここで、（１）式を（３）式に代入し、その値を（２）式に適用後、（４）式より全ＬＳに対する同期補正量Ａを求める。
各ＬＳが観測した受信タイミング値を、以下のＤ［ｎ］で表す。
【数３】
2011109405.tif 000005
但し、ｎは巡回数
（ＬＳ１→ＬＳ２→ＬＳ３→ＬＳ４の順で各１回送信＝１巡と呼ぶ）
【００４８】
このとき、同期補正後の受信タイミング値は、以下となる。
【数４】
2011109405.tif 000006
【００４９】
図１２は、図１１に示した実施例１における数値例のうち、ＬＳｋの中央値を抜き出したものであり、図１３は図１１に示した実施例１における数値例のうち、ＬＳｋの中央値をグラフ化したものである。なお、図１３において縦軸はＬＳの中央値、横軸は巡回数を示している。図１２、図１３に示すように実施例１においては巡回数が増えるに従い中央値が小さくなり、精度よく同期補正がなされていることが確認できる。
【００５０】
なお、前述した演算装置ＬＳｉ以外の演算装置については位相ずれがなく正しいタイミングでデータの送信がなされているものとの仮定に対し、実際は前述した通り演算装置ＬＳｉの開始タイミングを変化させると、演算装置ＬＳｉの受信タイミングのみならず、他の演算装置に対する送信タイミングも変化するという相互干渉があるため、中央値はその影響を受ける。
しかしながら、図１２、図１３、図１４の例に示す通り、中央値はゼロに向かって収束するため、各々演算装置の位相ずれも徐々に解消するため特に問題はない。
【００５１】
これにより、送受信タイミングの相互干渉があっても、起動タイミングを補正することにより、全ての演算装置の同期補正を行うことができる。また、同期の基準として中央値を採用しているため、突飛な値が検出されてもロバスト性が強く安定して収束して同期補正を行うことができる。
【実施例２】
【００５２】
図１４は実施例２における送信手順の説明図である。図１４において、図５と同様に○はデータ受信有り、×はデータ受信無し、−は既にデータ受信済みを意味している。実施例２においては、データ受信検出期間を図１４に示したように一定期間（以下、ゾーンと称する）ごとに分割する。
演算装置に使用される水晶発信子は一般に機差１００ｐｐｍ程度であり、演算装置の位相ずれは少しずつ大きくなってくるが、１０サイクル程度では位相ずれの差はほとんど変わらないと考えることができる。
そこで、実施例１において図４を用いて説明した１巡目（ＬＳ１送信→ＬＳ２送信→ＬＳ３送信→ＬＳ４送信の４サイクルを意味する）に対し、図１４に示すように２巡目、３巡目以降は、受信検出ゾーンの１／３だけ進んだ又は遅れたタイミングで受信する。
【００５３】
ここで、１巡目→２巡目→３巡目の一連の挙動を１セットと呼ぶ。
１セットの各ケースが図５を用いて説明したケース１〜３の何れに属するかでデータ受信完了タイミングの存在範囲を絞り込むことができる。
図１４において、パターンＡでは、１巡目、２巡目、３巡目の何れにおいても１回目のデータ受信チェック期間以前にデータ受信完了している。つまり、受信チェック期間をゾーンＩＩに有する３巡目以前にデータ受信完了しているため、データ受信完了タイミングがゾーンＩに存在することが分かる。
パターンＢでは、１巡目、２巡目よりゾーンＩＩ以前にデータ受信完了しており、３巡目よりゾーンＩＩ又はゾーンＩＩＩでデータ受信完了していることが分かり、併せるとゾーンＩＩにデータ受信完了タイミングが存在することが分かる。
パターンＣでは、１巡目よりゾーンＩＩＩ、ＩＶ、Ｖの何れか、２巡目よりゾーンＩＶ以前、３巡回目よりゾーンＩＩ、ＩＩＩの何れかでデータ受信完了していることが分かり、併せるとゾーンＩＩＩにデータ受信完了タイミングが存在することが分かる。
パターンＤでは、１巡目よりゾーンＩＩＩ、ＩＶ、Ｖの何れか、２巡目よりゾーンＩＶ以前、３巡目よりゾーンＩＶ以降でデータ受信完了していることが分かり、併せるとゾーンＩＶにデータ受信完了タイミングが存在することが分かる。
パターンＥでは、１巡目よりゾーンＩＩＩ、ＩＶ、Ｖの何れか、２巡目よりゾーンＶ、ＶＩの何れか、３巡回目よりゾーンＩＶ以降でデータ受信完了していることが分かり、併せるとゾーンＶにデータ受信完了タイミングが存在することが分かる。
パターンＦでは、１巡目よりゾーンＶＩ以降、２巡目よりゾーンＶ、ＶＩの何れか、３巡回目よりゾーンＩＩＩ以降でデータ受信完了していることが分かり、併せるとゾーンＶＩにデータ受信完了タイミングが存在することが分かる。
パターンＧでは、１巡目よりゾーンＶＩ以降、２巡目よりゾーンＶＩＩ以降、３巡回目よりゾーンＩＩＩ以降でデータ受信完了していることが分かり、併せるとゾーンＶＩＩにデータ受信完了タイミングが存在することが分かる。
【００５４】
以上のように、図１４においてパターンＡ〜Ｇに示すようにゾーンＩ〜ＶＩＩ、およびゾーン範囲外のどのタイミングで通信データを受信したかを把握することができ、図５を用いて説明した実施例１より細かく受信タイミングを把握することができる。
【００５５】
次に、位相の補正制御について説明する。
ここで、１セット＝３巡目（＝１２サイクル）の計測終了後に、各演算装置ごとに受信結果により、図１４に示す各ゾーンに対応した位置ずれ指標を求める。
位置ずれ指標は、１回目のデータ受信チェック期間に要する時間（受信所要時間Ｔ）を３の長さとして、ゾーンＩＶの中央から各ゾーン中央までの長さを示す指標である。なお、ゾーンＩ、ＶＩＩは片端のみ規定されているだけなので、適当な値を設定する。
位相制御の手法については、実施例１において前述の図７を用いて説明した位相補正方法を用いることで実現できる。
図１５は実施例２におけるゾーン分割計測による位相制御の効果を示したグラフである。図１５（Ａ）はゾーン分割を行わない場合の位相制御の効果を示したグラフ、図１５（Ｂ）はゾーン分割を行った実施例２における位相制御の効果を示したグラフである。図１５（Ａ）、図１５（Ｂ）ともに、上側のグラフは縦軸が各演算装置における位相ずれ量、横軸は経過時間を示し、図１５（Ａ）、図１５（Ｂ）ともに下側のグラフは縦軸が発生頻度、横軸が位相ずれ量を示している。
図１５（Ａ）、図１５（Ｂ）から明らかであるように、ゾーン分割計測により、見かけの計測精度が向上するため、各演算装置の位相ずれ、バラツキとも向上していることが分かる。
【実施例３】
【００５６】
実施例１及び実施例２においては、個々の演算装置ＬＳ１〜ＬＳ４内で把握できる受信タイミングに基づき位相の進み、遅れの判断を行っていたため、競合が発生した場合、競合による時間遅れは誤差要因として影響を受ける。
そこで、実施例３においては、競合の影響を分離する手法について説明する。
【００５７】
例えば図４に示すように、巡回でデータ送信時に演算装置が把握した受信タイミング情報を通信データとして他の演算装置に送信することで、間接的に自ら送信したデータを他の演算装置がどのような受信タイミングで把握しているか確認することができる。
【００５８】
受信タイミング情報は以下の３種類の重ね合わせの結果となる。
（ａ）通常の演算装置の位相進み、遅れによる時間の相対的な進み、遅れ
（ｂ）送信時に発生した競合による遅延
（ｃ）受信時に発生した競合による遅延
【００５９】
前記（ａ）については図８を用いて既に説明した。
前述の（２）式、及び（４）式を用いて位相の遅れ、進みによる影響をＡとすると、Ａは以下の（６）式で表すことができる。
【数５】
2011109405.tif 000007
【００６０】
前記（ｂ）については、図９を用いて説明する。図９は競合により演算装置ＬＳ１の送信のみ位相が遅れている状態の説明図である。演算装置ＬＳ１からのデータ送信時には、競合により演算装置ＬＳ１の位相遅れ分だけ、他の演算装置ＬＳ２、ＬＳ３、ＬＳ４では遅く受信が観測される。なお、他の演算装置が送信するときには競合による演算装置ＬＳ１の送信の位相の遅れの影響は受けない。
よって、演算装置ＬＳ１がｂ１だけ遅いタイミングで他の演算装置に送信した時に観測される受信タイミング値を、受信側を列、送信側を行とした行列Ｂ１（位相進みをマイナス、位相遅れをプラスで表記）で表すと、以下の（７）式で表すことができる。
【数６】
2011109405.tif 000008
【００６１】
同様にして、演算装置ＬＳ２がｂ２だけ遅いタイミングで他の演算装置に送信した時に観測される受信タイミング値Ｂ２、演算装置ＬＳ３がｂ３だけ遅いタイミングで他の演算装置に送信した時に観測される受信タイミング値Ｂ３、演算装置ＬＳ４がｂ２だけ遅いタイミングで他の演算装置に送信した時に観測される受信タイミング値Ｂ４で表すと、各演算装置の位相の影響は一次独立なので、重ね合わせ可能である。各演算装置の送信時に発生した競合による位相のずれの影響をＢとすると、Ｂは以下の（８）式で表すことができる。
【数７】
2011109405.tif 000009
【００６２】
前記（Ｃ）については、図１０を用いて説明する。図１０は競合により演算装置ＬＳ１の２回目受信のみ位相が遅れている状態の説明図である。なおこの時、演算装置ＬＳ２からデータが送信されている。演算装置ＬＳ１の２回目データ送信時には、競合により演算装置ＬＳ１の位相遅れ分だけ、他の演算装置ＬＳ３、ＬＳ４では遅く受信が観測される。なお、その他の演算装置の送受信に関しては競合による演算装置ＬＳ１の２回目の受信の位相の遅れの影響は受けない。
よって、演算装置ＬＳ１の２回目がｃ１２だけ遅いタイミングで受信した時に観測される受信タイミング値を、受信側を列、送信側を行とした行列Ｃ１２（位相進みをマイナス、位相遅れをプラスで表記）で表すと、以下の（９）式で表すことができる。
【数８】
2011109405.tif 000010
【００６３】
同様にして、１回目から４回目について、演算装置ＬＳ１〜ＬＳ４それぞれの受信が競合によって遅いタイミングで受信した時に観測される受信タイミング値を行列で表すと、各演算装置の位相の影響は一次独立なので、重ね合わせ可能である。各演算装置の送信時に発生した競合による位相のずれの影響をＣとすると、Ｃは以下の（１０）式で表すことができる。
【数９】
2011109405.tif 000011
【００６４】
ここで、１巡後に求めた、全演算装置の受信タイミングを、時間の流れを列、ＬＳ１、ＬＳ２、ＬＳ３、ＬＳ４の情報を行とした行列Ｄとすると、行列Ｄは以下の（１１）式で表すことができる。
【数１０】
2011109405.tif 000012
【００６５】
このとき、以下の（１２）式が成立する。
【数１１】
2011109405.tif 000013
【００６６】
（１２）式において、Ｃの競合は個々の要素単独でしか発生しないため、Ａ、Ｂと比べて影響度が小さく無視できるものとすると、（１３）式が成立する。
【数１２】
2011109405.tif 000014
【００６７】
（６）式、（８）式、（１１）式を（１３）式に代入すると、以下の（１４）式が成立する。
【数１３】
2011109405.tif 000015
【００６８】
（１４）式のＡの要素は歪対称行列なので、ｎ行全て＋ｎ列全ての式を加算するとＡの要素は消去することができ、以下の（１５）〜（１８）式が成立する。
【数１４】
2011109405.tif 000016
【００６９】
（１５）＋（１６）＋（１７）＋（１８）／６を計算すると、以下の（１９）式が得られる。
【数１５】
2011109405.tif 000017
【００７０】
（（１５）−（１９））／２、（（１６）−（１９））／２、（（１７）−（１９））／２、（（１８）−（１９））／２をそれぞれ計算すると、以下の（２０）〜（２３）式が得られる。
【数１６】
2011109405.tif 000018
【００７１】
（２０）〜（２３）式で送信競合による受信タイミングへの影響分を求めた後、Ｄ´＝Ｄ−Ｂを計算し、送信時の競合の影響を排除した全演算装置の受信タイミング値Ｄ´をＤの代わりに用いて、図７、図８、図１１を用いて実施例１により説明した手法で位相補正を行う。
【００７２】
これにより、他の演算装置の受信全てに対する位相ずれ判定時の誤差要因となり得る同期タイミングの基準となる送信時による遅延を排除することができる。これにより、送信競合による遅延時間の長さに依存しない結果を得られるため、誤差要因を小さく抑えることが可能となる。
【産業上の利用可能性】
【００７３】
簡単な装置で、複数の演算装置相互に非同期通信を行い、高分解能で受信タイミングを把握することができる複数の演算装置相互のデータ受信タイミング算出方法並び装置として利用することができる。また、該受信タイミング算出方法及び装置により算出された受信タイミングを元に、各演算装置間の位相合わせを行う同期方法及び装置として利用することができる。
【符号の説明】
【００７４】
ＬＳ１、ＬＳ２、ＬＳ３、ＬＳ４    演算装置
１０    バッファメモリ
【図１】
2011109405.tif 000019
【図２】
2011109405.tif 000020
【図３】
2011109405.tif 000021
【図４】
2011109405.tif 000022
【図５】
2011109405.tif 000023
【図６】
2011109405.tif 000024
【図７】
2011109405.tif 000025
【図８】
2011109405.tif 000026
【図９】
2011109405.tif 000027
【図１０】
2011109405.tif 000028
【図１１】
2011109405.tif 000029
【図１２】
2011109405.tif 000030
【図１３】
2011109405.tif 000031
【図１４】
2011109405.tif 000032
【図１５】
2011109405.tif 000033