JP6523497B1 - マスタ制御装置およびこれを用いた同期通信システム - Google Patents
マスタ制御装置およびこれを用いた同期通信システム Download PDFInfo
- Publication number
- JP6523497B1 JP6523497B1 JP2018005316A JP2018005316A JP6523497B1 JP 6523497 B1 JP6523497 B1 JP 6523497B1 JP 2018005316 A JP2018005316 A JP 2018005316A JP 2018005316 A JP2018005316 A JP 2018005316A JP 6523497 B1 JP6523497 B1 JP 6523497B1
- Authority
- JP
- Japan
- Prior art keywords
- control device
- message
- timing
- slave control
- slave
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0054—Detection of the synchronisation error by features other than the received signal transition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0664—Clock or time synchronisation among packet nodes using timestamps unidirectional timestamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
- H04L12/40019—Details regarding a bus master
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/403—Bus networks with centralised control, e.g. polling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/0858—One way delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
- H04L7/0033—Correction by delay
- H04L7/0037—Delay of clock signal
Abstract
Description
一般的に、各制御装置には独立したタイマが搭載されており、各制御装置はこのタイマを基に演算や制御処理のタイミングを決定しているが、複数の制御装置が連動する場合には、各制御装置の演算や制御処理のタイミングを同期させる必要がある。
特に、高精度な制御が求められる制御システムにおいて、各制御装置のタイミングのずれは大きく影響する。また、実運用時に限らず、開発段階において、制御装置間を同期させることが有用である。不具合発生時には、不具合を再現して原因を特定することがあり、各制御装置のタイミングのずれが、不具合再現に費やす時間が増大する。
このような背景より、複数の制御装置がネットワークを介して通信を行う場合、各制御装置のタイマを同期させ、演算や制御処理のタイミングを合わせるタイミング同期の要求が増している。
この特許文献2では、水晶発振子から供給される基準クロック信号に基づいて動作するマスタ制御装置が周期的なPWM(Pulse Width Modulation)信号を出力する。マスタ制御装置と共通のバスで接続されたスレーブ制御装置は、PWM信号の立ち下がりエッジを検出し、搭載したクロック生成回路にて、エッジ間隔に対応した周期の基準クロックを生成し、このクロックに基づいて動作し、また、PWM信号に含まれる時間情報に基づいて、自己が刻時する時間を補正することで、マスタ制御装置と時間を同期する。
これにより、各制御装置間のタイマを同期することができるが、この閉じたシステムのタイマに同期していることになり、実時間との同期を図ることができない。
また、通信の遅れによる補正は行っているが、通信以外のCPU(Central Processing Unit)内での処理の遅れなどが考慮されていないため、各制御装置が送信するローカルタイマ値には誤差が含まれ、それぞれのローカルタイマ値に異なる誤差を含む場合、各制御装置間で正確にタイムが同期しない可能性がある。
また、時間補正時における遅延時間について、マスタ制御装置にてローカルタイマ値を生成してから、このローカルタイマ値に基づく時間補正がスレーブ制御装置にて行われるまでのタイムラグを加味する、と記載されている。
しかしながら、特許文献2では、どのようにタイムラグを算出して加味をするのか、具体的な方法について、開示されていない。
しかしながら、これも特許文献1と同様に、マスタ制御装置がメッセージの送信完了するまで、およびスレーブ制御装置がメッセージの受信通知をするまでの遅れ時間は考慮されているが、演算処理や通信遅れ以外の遅れは考慮されていない。
また、スレーブ制御装置において、受信するマスタ制御装置のローカルタイムとの同期を確認する手段はあるが、受信するマスタ制御装置のローカルタイムに不確定要素が含まれるため、このローカルタイムと同期することがマスタ制御装置とスレーブ制御装置との同期が正しく行えたとは必ずしも言えない。
以下、同期通信システムの実施の形態について、図を参照して説明する。
図1は、この発明の実施の形態1による同期通信システムの概略を示す構成図である。
図1において、同期通信システムは、マスタ制御装置110、スレーブ制御装置120、およびスレーブ制御装置130を有する。これらのマスタ制御装置110、スレーブ制御装置120、スレーブ制御装置130の相互間は、通信バス940、例えば、CAN(Control Area Network)バスによって接続されている。
なお、マスタ制御装置110、スレーブ制御装置120、およびスレーブ制御装置130をまとめて制御装置と呼ぶことにする。
後述するプロセッサ911とタイマ912とメモリ913と補助記憶装置914と通信インタフェース915の各ハードウェアを有し、これらハードウェアは、信号線を介して互いに接続される。
プロセッサ911は、演算処理を行うIC(Integrated Circuit)であり、他のハードウェアを制御する。例えば、プロセッサ911は、CPU、DSP(Digital Signal Processor)、またはGPU(Graphics Processing Unit)である。
タイマ912は、発振回路からのクロック信号をカウントする。発振回路は、例えば、水晶発振子やセラミック振動子である。
補助記憶装置914は、不揮発性の記憶装置である。例えば、補助記憶装置914は、ROM(Read Only Memory)、HDD(Hard Disk Drive)、またはフラッシュメモリである。補助記憶装置に記憶されたデータは、必要に応じてメモリ913にロードされる。
通信インタフェース915は、例えば、CAN(Controller Area Network)、LIN(Local Interconnect Network)、FlexRay(登録商標)、Ethernet(登録商標)である。
プロセッサ921とタイマ922とメモリ923と補助記憶装置924と通信インタフェース925の各ハードウェアが、信号線を介して互いに接続されている。
これらのプロセッサ921、タイマ922、メモリ923、補助記憶装置924および通信インタフェース925は、それぞれプロセッサ911、タイマ912、メモリ913、補助記憶装置914および通信インタフェース915と同様のものである。
プロセッサ931、タイマ932、メモリ933、補助記憶装置934および通信インタフェース935は、それぞれプロセッサ911、タイマ912、メモリ913、補助記憶装置914および通信インタフェース915と同様のものである。
図2において、符号110、911〜915は図1におけるものと同一のものである。
図2のマスタ制御装置110は、後述するタイミング同期部111(マスタ側タイミング同期部)、メッセージ受信時間予測部112、タイミング同期判定部113(メッセージ受信差分計算部)、タイミング同期補正部114(タイミング補正量算出部)の各ソフトウェア要素を有する。ここで、ソフトウェア要素とは、ソフトウェアで実現される要素である。
また、補助記憶装置914には、OS(Operating System)が記憶されている。OSの少なくとも一部は、メモリ913にロードされて、プロセッサ911によって実行される。
つまり、プロセッサ911は、OSを実行することで、タイミング同期(マスタ)プログラムを実行する。
タイミング同期(マスタ)プログラムを実行して得られるデータは、メモリ913、補助記憶装置914、プロセッサ911内のレジスタまたはプロセッサ911内のキャッシュメモリといった記憶装置に記憶される。
メモリ913は、データを記憶する記憶部191として機能する。但し、他の記憶装置が、メモリ913の代わりに、または、メモリ913と共に、記憶部191として機能してもよい。
通信インタフェース915は、通信バス上に流れるメッセージを受信し、アナログ信号からデジタル信号に変換してデータを取得する受信部192と、デジタル信号をアナログ信号に変換し、規定のプロトコルに沿ったメッセージを通信バス上へ送信する送信部193として機能する。
図3において、符号120、130、921〜925、931〜935は図1におけるものと同一のものである。
スレーブ制御装置120、130は、それぞれタイミング同期部121、131(スレーブ側タイミング同期部)とメッセージ送信部122、132のソフトウェア要素を有する。
スレーブ制御装置120、130の補助記憶装置924、934には、それぞれタイミング同期部121、131とメッセージ送信部122、132として機能させるタイミング同期(スレーブ)プログラムが記憶されている。各タイミング同期(スレーブ)プログラムは、それぞれのメモリ923、933にロードされて、対応するそれぞれのプロセッサ921、931によって実行される。
また、各補助記憶装置924、934には、OSが記憶されている。OSの少なくとも一部は、それぞれのメモリ923、933にロードされて、対応するそれぞれのプロセッサ921、931によって実行される。
つまり、各プロセッサ921、931は、OSを実行することで、タイミング同期(スレーブ)プログラムを実行する。
スレーブ制御装置120のメモリ923およびスレーブ制御装置130のメモリ933は、データを記憶する記憶部231、241として機能する。但し、他の記憶装置が、メモリ923、933の代わりに、または、メモリ923、933と共に、記憶部231、241として機能してもよい。
スレーブ制御装置120、130の通信インタフェース925、935は、それぞれ、通信バス上に流れるメッセージを受信し、アナログ信号からデジタル信号に変換してデータを取得する受信部232、242と、デジタル信号をアナログ信号に変換し、規定のプロトコルに沿ったメッセージを通信バス上へ送信する送信部233、243として機能する。
図6において、スレーブ制御装置120、130の各OSで管理するスケジュールテーブルの情報であるスケジュールテーブル情報200を示し、スケジュールテーブルの周期210、スケジュールテーブル上で起動するタスクとその起動タイミングが記載されている。スケジュールテーブル201、202は、それぞれスレーブ制御装置120、130に対応している。
スケジュールテーブル201、202は、対応するスレーブ制御装置の補助記憶装置924、934に記憶され、メモリ上にロードされ、読み出される。
タスク211〜214については、図7で説明する。
なお、スレーブ制御装置の欄には、識別番号1、2が記憶されている。ここで、識別番号1はスレーブ制御装置120を示し、識別番号2はスレーブ制御装置130を示す。後述する図9、図12、図14でも同じである。
図7では、図6に示すスケジュールテーブル情報200の内、スレーブ制御装置120のスケジュールテーブル201に示すタスクとその起動タイミングを示している。
通信監理タスク211はスケジュールテーブルの周期10msのうちの3msで起動され、メッセージ送信タスク212は、5msで起動され、制御アプリ1タスク213は7msで起動され、メモリ管理タスク214は9msで起動されることを示している。
図8においては、スレーブ制御装置120内の同期カウンタ230と、スケジュールテーブル201で管理するタスクの起動タイミングが示されている。同期カウンタ230の周期は、スケジュールテーブル201の周期210と同じ“10”である。なお、A、B、Cについては後述する。
図9において、データベース300は、マスタ制御装置110の補助記憶装置914に格納されている。データベース300は、各スレーブ制御装置120、130のスケジュールテーブルの周期、メッセージ送信タスクの起動タイミング、メッセージ識別子、メッセージ遅延時間、予測時間の閾値を持つ。メッセージ識別子、メッセージ遅延時間、予測時間の閾値については後述する。
図11において、スレーブ制御装置120のスケジュールテーブルとグローバルタイムが示され、スケジュールテーブル上のメッセージ送信タスク起動位置が示されている。
さらに、後述するグローバルタイムT_g、メッセージ受信時間T_r、メッセージ受信予測時間T_p、スケジュールテーブルの位置T_c、起動待機時間T_n、メッセージ遅延時間T_dが示されている。
図12において、タイミング同期確認結果400は、スレーブ制御装置120とスレーブ制御装置130それぞれのメッセージ受信予測時間、メッセージ受信時間、差分に加えて、データベース300が保持する予測時間の閾値、を持つ。
図14において、スレーブ制御装置120、130それぞれの暫定補正量とカウント数とが示されている。ここで、カウント数は、暫定補正量を、各スレーブ制御装置120、130の差分dtから差し引き、その結果が、各々設ける閾値内に収まるスレーブ制御装置の数をカウントしたものである。
まず、図4に基づいて、マスタ制御装置110のタイミング同期部111によるマスタ側のタイミング同期処理について説明する。
ステップS101において、カウンタ部190は、ローカルタイムを取得し、記憶部191は、この取得したローカルタイムを記憶する。マスタ制御装置110で取得されるローカルタイムに、スレーブ制御装置120とスレーブ制御装置130の演算処理または制御のタイミングを同期させるため、マスタ制御装置110で取得されるローカルタイムをグローバルタイムと定義する。
ステップS201において、マスタ制御装置110によって送信されたタイミング同期メッセージを受信し、グローバルタイムを抽出する。抽出したグローバルタイムをスレーブ制御装置120、130のOSが管理する同期カウンタの周期に変換し、変換した値にスレーブ制御装置120、130の同期カウンタ値を更新する。
ここで、周期に変換とは、グローバルタイムの値を同期カウンタ230、240の周期において、どの位置に相当するか、変換することを指す。
同期カウンタ230、240の周期とは、スケジュールテーブルの周期と等しく、スケジュールテーブル上で管理するタスクの起動タイミングは、この同期カウンタ230、240の値によって決定される。
ステップS203において、算出された差分に応じて、スレーブ制御装置120、130内で規定するスケジュールテーブル上で管理するタスクの起動タイミングを変更する。
具体的な変更方法は、スケジュールテーブル上で管理するタスクの内、現在のスケジュールテーブルに位置が近いタスクから順に、タイミングの起動タイミングを規定値から前後させる。ただし、タイミングを前後させる幅には、制約を設けることができる。
ステップS201〜S203を、スレーブ制御装置120、130がそれぞれ実施することで、スレーブ制御装置120、130の制御タイミングは、マスタ制御装置110の制御タイミングと同期する。
図6のスレーブ制御装置120、130、それぞれのOSで管理するスケジュールテーブルには、スケジュールテーブルの周期、スケジュールテーブル上で起動するタスクとその起動タイミングが示されている。
図6のスケジュールテーブル情報200の各スケジュールテーブル201、202は、各スレーブ制御装置120、130の補助記憶装置924、934に記憶され、メモリ上にロードされ、読み出される。
図8は、スレーブ制御装置120内の同期カウンタ230と、スケジュールテーブルで管理するタスクの起動タイミングを示し、同期カウンタ230の周期は、スケジュールテーブルの周期210と同じ“10”である。
図8のAでは、同期カウンタ230は、マスタ制御装置110が送信するグローバルタイムへと変換されたことを示す。グローバルタイムが“26”の場合、同期カウンタ230の周期へ変換すると“6”となり、同期カウンタ値を“4”から“6”へと更新する。この処理は、ステップS201に該当する。
ただし、タスクの起動タイミングを規定値より早くする、または遅くする最大幅は、例えば、それぞれ“1”とする。この処理は、ステップS203に該当する。
また、上述のマスタ制御装置110とスレーブ制御装置120とのタイミング同期方法は、AUTOSARに準拠した方法であり、実施の形態1では、マスタ制御装置110とスレーブ制御装置120、130とは、AUTOSAR準拠、または同等のタイミング同期方法を有するものとする。
図9のデータベース300は、各スレーブ制御装置120、130のスケジュールテーブルの詳細なデータやタイミング同期の確認に必要なデータの集まりを有し、マスタ制御装置110の補助記憶装置914に格納されている。
ただし、事前に補助記憶装置914に記憶されたデータベース300を、メモリ913、プロセッサ911内のレジスタ、またはプロセッサ911内のキャッシュメモリにロードしてもよい。
ここで、スケジュールテーブルの周期とメッセージ送信タスクの起動タイミングは、スケジュールテーブル情報200を利用する。
メッセージ識別子は、メッセージ送信タスクにより送信されるメッセージ(第二のメッセージ)から、少なくとも1つのメッセージを選択し、この選択されたメッセージの識別子を格納している。
メッセージ遅延時間は、各スレーブ制御装置120、130がメッセージを送信してから、マスタ制御装置110がこのメッセージを受信するまでの時間を示し、例えば、事前にスレーブ制御装置ごとに測定したメッセージ遅延時間のノミナル値とする。
予測時間の閾値は、後述するメッセージ受信予測時間の許容幅を示し、例えば、メッセージ遅延時間と同様に、事前に各スレーブ制御装置120、130がメッセージを送信してから、マスタ制御装置110が、このメッセージを受信するまでの時間を測定し、その標準偏差を予測時間の閾値とする。
また、例えば、マスタ制御装置110は、車両外部との通信を可能とし、スレーブ制御装置の交換や新規の追加、等によるデータベース300を更新する機能を有しても良い。
図10のステップS301において、タイマ912のカウンタ部190よりマスタ制御装置110の現在の時間であるグローバルタイムT_gを取得し、記憶部191はこの取得するグローバルタイムT_gを記憶する。
図11では、現在の時間におけるグローバルタイムT_gは、62.8msであり、この値を記憶部191は記憶する。
メモリ913に読み出されたスケジュールテーブルの周期T_#と、メモリ913に記憶されたグローバルタイムT_gより、対象のスレーブ制御装置がマスタ制御装置110と正しく同期していた場合における、現在のスケジュールテーブルの位置T_cを算出する。
図11において、グローバルタイムT_g=62.8msでの現在のスケジュールテーブルの位置T_cは、補助記憶装置914のデータベース300より、スレーブ制御装置120のスケジュールテーブルの周期T_1が10msであることから、現在のスケジュールテーブルの位置T_c=2.8msと算出される。
スレーブ制御装置120のメッセージ送信タスク212の起動タイミングは、補助記憶装置914内のデータベース300より、5msの時である。図11において、現在のスケジュールテーブルの位置T_c=2.8msであるため、起動待機時間T_n=2.2msと計算される。
スレーブ制御装置120のメッセージ遅延時間T_dは、8.3ms、起動待機時間T_n=2.2ms、グローバルタイムT_g=62.8msであるため、メッセージ受信予測時間T_p=73.3msと算出する。
図11において、▽がメッセージ受信予測時間T_pを示す。記憶部191は、メッセージ受信予測時間T_p=73.3msを記憶する。
なお、マスタ制御装置110のメッセージ受信時間予測部112の機能は、ステップS301〜S330の処理に相当する。
このメッセージを受信後、マスタ制御装置110は、このメッセージを受信した時間であるメッセージ受信時間T_rを取得し、記憶部191はメッセージ受信時間T_rを記憶する。
メッセージ受信時間T_rは、例えば、CANドライバのメールボックスにメッセージを格納するときのタイマ値がタイムスタンプ値として書き込まれるタイムスタンプ機能を利用し、タイムスタンプ用のレジスタへアクセスして取得する。
図11において、スレーブ制御装置120のメッセージ送信タスク212より送信される、識別子が0x111のメッセージ受信時間T_rは、72.5msである。この場合、メッセージ受信予測時間T_p=73.3ms、メッセージ受信時間T_r=72.5msより、差分dtは0.8msと算出される。そして、記憶部191は、差分dt=0.8msを記憶する。
この差分を全て算出していない場合、次の対象スレーブ制御装置を決め、ステップS310〜S350を繰り返す。
記憶部191は、タイミング同期確認結果400を記憶し、タイミング同期確認結果400は、後述するタイミング同期補正の算出に利用される。
ステップS401(差分の一つを暫定補正量とする手段)において、記憶部191に記憶されたタイミング同期確認結果400に含まれる差分dtを1つ選択する。例えば、スレーブ制御装置120の差分dtである0.8msを選択し、これを暫定補正量として、ステップS410に進む。
具体的には、暫定補正量0.8msの場合、スレーブ制御装置120の差分dt=0.8msから暫定補正量分を引くと0.0ms、スレーブ制御装置130の差分dt=0.6msから暫定補正量分を引くと−0.2msとなる。
この場合、各スレーブ制御装置120、130に設けられた閾値は、0.5msと0.4msであり、それぞれ閾値の範囲に収まっているため、カウント数を2とする。
また、スレーブ制御装置130において、差分dtから暫定補正量を引いた値が負となる。閾値の範囲内に収まり、かつ負となる場合をカウントして、カウント数を2(1)とする。
ただし、スレーブ制御装置側でのメッセージ送信時の調停やバス上でのメッセージの衝突によるマスタ制御装置110の受信の遅れを考慮するため、差分dtが負かつ閾値の上限を超える場合、ステップS410の処理に含めない。
図14は、ステップS420からステップS430に進んだ際に、ステップS410にて算出されたカウント数と暫定補正量との関係を示している。
図14において、スレーブ制御装置120におけるカウント数は2(0)、スレーブ制御装置130におけるカウント数は2(1)であり、最大カウント数は2が重複する。この場合、差分dtから暫定補正量を引いた値が負となるカウント数が少ない暫定補正量である、0.6msを選ぶ。
また、差分dtから暫定補正量を引いた値が負となるカウント数も同じ場合は、暫定補正量の値が最も小さい値を選ぶ。
また、各種で算出するデータは、必ずしも1つである必要はなく、複数のデータをまとめてから、補正量を算出しても良い。
タイミング同期補正処理のステップS401〜S440では、タイミング同期補正に必要なオフセット項の算出とメモリでの保持を行う。
これによって算出されたオフセット項の追加は、図15で後述するように、マスタ側のタイミング同期処理のステップS101とS102の間に実行する。
ステップS101に次ぐステップS450において、ステップS101にて取得されたグローバルタイムT_gに、上述のステップS440で記憶されたオフセット項を加算する。
ステップS102は、ステップS450が加わることで、タイミング同期メッセージに含まれるグローバルタイムにオフセット項が付与されたメッセージを、スレーブ制御装置120と、スレーブ制御装置130に送信することになる。
また、スレーブ制御装置120、130は、スレーブ側タイミング同期処理のステップS201〜S203を変更することなく、同様の処理を実行することで、マスタ制御装置110とのタイミング同期のずれを補正することができる。
これにより、各制御装置間のタイミング同期のずれを小さくできる、つまり各制御装置によって構成される制御システムにおいて、高精度な制御を実現できる。
図16は、この発明の実施の形態1による同期通信システムの制御装置の機能がハードウェアで実現される場合を示す構成図である。
図16において、各制御装置110、120、130は、それぞれ処理回路990を有する。この処理回路990は、プロセッシングサーキットともいう。
処理回路990は、マスタ制御装置110では、タイミング同期部111とメッセージ受信時間予測部112とタイミング同期判定部113とタイミング同期補正部114とカウンタ部190と記憶部191と受信部192と送信部193とを実現する専用の電子回路である。
スレーブ制御装置120、130では、タイミング同期部121とメッセージ送信部122と同期カウンタ230、240と記憶部231、241と受信部232、242と送信部233、243とを実現する専用の電子回路である。
なお、各制御装置110、120、130は、処理回路990を代替する複数の処理回路を備えてもよい。複数の処理回路は、処理回路990の役割を分担する。
すなわち、本発明は、その発明の範囲内において、実施の形態を適宜、変形、省略することが可能である。
112 メッセージ受信時間予測部、113 タイミング同期判定部、
114 タイミング同期補正部、120 スレーブ制御装置、121 タイミング同期部、
122 メッセージ送信部、130 スレーブ制御装置、131 タイミング同期部、
132 メッセージ送信部、190 カウンタ部、191 記憶部、192 受信部、
193 送信部、200 スケジュールテーブル情報、201 スケジュールテーブル、
202 スケジュールテーブル、230 同期カウンタ、231 記憶部、
232 受信部、233 送信部、240 同期カウンタ、241 記憶部、
242 受信部、243 送信部、300 データベース、
400 タイミング同期確認結果、911 プロセッサ、912 タイマ、
913 メモリ、914 補助記憶装置、915 通信インタフェース、
921 プロセッサ、922 タイマ、923 メモリ、924 補助記憶装置、
925 通信インタフェース、931 プロセッサ、932 タイマ、933 メモリ、
934 補助記憶装置、935 通信インタフェース、940 通信バス、
990 処理回路
Claims (6)
- ネットワークを介して、複数のスレーブ制御装置と接続されたマスタ制御装置であって、
自身のローカルタイムを第一のメッセージに内包させて、複数の上記スレーブ制御装置に送信するマスタ側タイミング同期部、
上記ローカルタイムに応じて補正されたタイミングで、上記スレーブ制御装置から送信される第二のメッセージの受信時間と、予め算出したメッセージ受信予測時間との差分を上記スレーブ制御装置ごとに計算するメッセージ受信差分計算部、
およびこのメッセージ受信差分計算部により上記スレーブ制御装置ごとに計算された複数の上記差分を用いて、複数の上記スレーブ制御装置で共通のタイミングの補正量を算出するタイミング補正量算出部を備え、
上記タイミング補正量算出部により算出された補正量は、上記ローカルタイムに加算されることを特徴とするマスタ制御装置。 - 上記メッセージ受信差分計算部による計算に用いられる情報を記憶したデータベースを備え、
上記データベースは、
上記スレーブ制御装置が上記第二のメッセージを送信するタスクの起動タイミングを管理するスケジュールテーブルの情報と、上記予め算出されたメッセージ受信予測時間とを記憶していることを特徴とする請求項1に記載のマスタ制御装置。 - 上記データベースに記憶された上記スケジュールテーブル上の上記タスクの起動タイミングを用いて、上記メッセージ受信予測時間を算出するメッセージ受信時間予測部を備えたことを特徴とする請求項2に記載のマスタ制御装置。
- 上記タイミング補正量算出部は、
上記メッセージ受信差分計算部により計算された複数の上記スレーブ制御装置の上記差分の一つを暫定補正量とする手段と、
各スレーブ制御装置の差分と上記暫定補正量とを比較し、その差が閾値内にあるスレーブ制御装置の数を、上記暫定補正量ごとにカウントする手段と、
このカウントの数が最も多い暫定補正量を上記補正量と決定する手段とを有することを特徴とする請求項1から請求項3のいずれか一項に記載のマスタ制御装置。 - 請求項1から請求項4のいずれか一項に記載のマスタ制御装置、
およびこのマスタ制御装置とネットワークを介して接続され、上記マスタ制御装置との間でタイミング同期を行なう複数のスレーブ制御装置を備えたことを特徴とする同期通信システム。 - 上記各スレーブ制御装置は、
上記第二のメッセージを送信するタスクの起動タイミングを管理するスケジュールテーブルと、
上記マスタ制御装置から送信される第一のメッセージに含まれるローカルタイムに応じて、上記スケジュールテーブルの上記タスクの起動タイミングを補正して、上記第二のメッセージを上記マスタ制御装置に送信するスレーブ側タイミング同期部とを有することを特徴とする請求項5に記載の同期通信システム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018005316A JP6523497B1 (ja) | 2018-01-17 | 2018-01-17 | マスタ制御装置およびこれを用いた同期通信システム |
US16/050,210 US10756879B2 (en) | 2018-01-17 | 2018-07-31 | Master control device and synchronous communication system using same |
DE102019200278.1A DE102019200278A1 (de) | 2018-01-17 | 2019-01-11 | Master-Steuervorrichtung und diese verbindendes Synchronkommunikationssystem |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018005316A JP6523497B1 (ja) | 2018-01-17 | 2018-01-17 | マスタ制御装置およびこれを用いた同期通信システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6523497B1 true JP6523497B1 (ja) | 2019-06-05 |
JP2019125916A JP2019125916A (ja) | 2019-07-25 |
Family
ID=66730556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018005316A Active JP6523497B1 (ja) | 2018-01-17 | 2018-01-17 | マスタ制御装置およびこれを用いた同期通信システム |
Country Status (3)
Country | Link |
---|---|
US (1) | US10756879B2 (ja) |
JP (1) | JP6523497B1 (ja) |
DE (1) | DE102019200278A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114600416A (zh) * | 2019-11-01 | 2022-06-07 | 欧姆龙株式会社 | 控制系统、控制系统的通信控制方法以及控制装置 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6969455B2 (ja) * | 2018-03-13 | 2021-11-24 | オムロン株式会社 | 制御装置、制御システム、制御方法、および、制御プログラム |
US10805262B1 (en) * | 2019-06-10 | 2020-10-13 | Banner Engineering Corp. | Modbus system having actual and virtual slave addresses and slave sensors |
KR20210026528A (ko) * | 2019-08-30 | 2021-03-10 | 현대자동차주식회사 | 차량 내 통신 장치 및 그의 시간 동기화 방법 |
CN112152747B (zh) * | 2020-10-14 | 2023-07-21 | 长沙行深智能科技有限公司 | 一种车载多控制器时间同步方法及系统 |
EP4102777A1 (en) * | 2021-06-09 | 2022-12-14 | Continental Automotive Technologies GmbH | Lin bus system time synchronisation in a motor vehicle |
EP4113909A1 (en) | 2021-06-30 | 2023-01-04 | AptivTechnologies Limited | A lin communication circuit and a method of communicating between lin busses |
CN113886039B (zh) * | 2021-09-18 | 2023-12-22 | 中汽创智科技有限公司 | 一种调度表同步方法、装置、电子设备及存储介质 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3792386B2 (ja) * | 1998-01-22 | 2006-07-05 | 三菱電機株式会社 | 自動時刻修正方法および自動時刻修正装置 |
JP3308966B2 (ja) * | 2000-06-12 | 2002-07-29 | 松下電器産業株式会社 | ノード間同期装置及びノード間同期方法 |
JP2002014185A (ja) * | 2000-06-29 | 2002-01-18 | Nec Eng Ltd | 時刻同期化方式 |
US7016998B2 (en) * | 2000-11-27 | 2006-03-21 | Silicon Graphics, Inc. | System and method for generating sequences and global interrupts in a cluster of nodes |
US6831648B2 (en) * | 2000-11-27 | 2004-12-14 | Silicon Graphics, Inc. | Synchronized image display and buffer swapping in a multiple display environment |
US6944188B2 (en) * | 2001-02-21 | 2005-09-13 | Wi-Lan, Inc. | Synchronizing clocks across a communication link |
ATE427521T1 (de) * | 2001-07-26 | 2009-04-15 | Freescale Semiconductor Inc | Uhrensynchronisation in einem verteilten system |
GB0130208D0 (en) * | 2001-12-18 | 2002-02-06 | Nokia Corp | Synchronised window adaption |
JP4019840B2 (ja) | 2002-07-24 | 2007-12-12 | 株式会社デンソー | ネットワーク通信システム、およびこのネットワーク通信システムを用いた制御処理システム |
JP5122890B2 (ja) * | 2007-09-06 | 2013-01-16 | 株式会社日立製作所 | 通信システム及びその装置 |
FR2926424A1 (fr) * | 2008-01-10 | 2009-07-17 | Canon Kk | Procede d'acces a un medium dans un reseau de communication synchrone par un noeud emetteur, produit programme d'ordinateur, moyen de stockage et noeud emetteur. |
US8018950B2 (en) * | 2008-03-17 | 2011-09-13 | Wi-Lan, Inc. | Systems and methods for distributing GPS clock to communications devices |
US7876791B2 (en) * | 2008-07-24 | 2011-01-25 | Samsung Electronics Co., Ltd. | Synchronizing apparatus and method in packet network |
US8953645B2 (en) * | 2009-11-11 | 2015-02-10 | Mitsubishi Electric Corporation | Communication system, communication apparatus and time synchronization method |
US9001904B2 (en) * | 2010-03-03 | 2015-04-07 | Lantiq Deutschland Gmbh | Multi-carrier clock transport and synchronization |
CN102932905B (zh) * | 2011-08-10 | 2017-06-16 | 中兴通讯股份有限公司 | 自动补偿1588链路非对称性时延的实现方法及系统 |
JP2013092515A (ja) * | 2011-10-06 | 2013-05-16 | Sony Corp | 周波数差検出装置、周波数差検出方法、およびプログラム |
CN104247309B (zh) * | 2012-02-09 | 2017-11-10 | 马维尔以色列(M.I.S.L.)有限公司 | 使用多个网络路径的时钟同步 |
JP6205930B2 (ja) | 2013-07-17 | 2017-10-04 | 株式会社デンソー | 受信装置及び通信システム |
US9531395B2 (en) * | 2013-10-02 | 2016-12-27 | Khalifa University Of Science, Technology And Research | Method and devices for time and frequency synchronization using a phase locked loop |
US9806876B2 (en) * | 2015-03-30 | 2017-10-31 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for compensating synchronization timing in a distributed timing network |
TW201715860A (zh) * | 2015-10-27 | 2017-05-01 | 智邦科技股份有限公司 | 網路設備、時間同步方法及其網路系統 |
-
2018
- 2018-01-17 JP JP2018005316A patent/JP6523497B1/ja active Active
- 2018-07-31 US US16/050,210 patent/US10756879B2/en active Active
-
2019
- 2019-01-11 DE DE102019200278.1A patent/DE102019200278A1/de active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114600416A (zh) * | 2019-11-01 | 2022-06-07 | 欧姆龙株式会社 | 控制系统、控制系统的通信控制方法以及控制装置 |
CN114600416B (zh) * | 2019-11-01 | 2024-04-02 | 欧姆龙株式会社 | 控制系统、控制系统的通信控制方法以及控制装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2019125916A (ja) | 2019-07-25 |
DE102019200278A1 (de) | 2019-07-18 |
US20190222407A1 (en) | 2019-07-18 |
US10756879B2 (en) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6523497B1 (ja) | マスタ制御装置およびこれを用いた同期通信システム | |
JP5080448B2 (ja) | 2つのバスシステムを同期する方法および装置、並びに2つのバスシステムから成る構成 | |
US20010018720A1 (en) | Method and device for the exchange of data between at least two users connected to a bus system | |
WO2015128981A1 (ja) | プログラマブルコントローラシステム、そのコントローラ | |
KR101636496B1 (ko) | 신호 동기 시스템, 노드 동기 시스템, 신호 동기 방법, 및 노드 동기 방법 | |
JP2007060400A (ja) | 通信タイミング制御方法および通信タイミング制御システム | |
CN113711511A (zh) | 支持多时间同步协议的工业设备 | |
TWI599863B (zh) | Time synchronization device, time synchronization system and time synchronization method | |
CN104486058A (zh) | 一种ptp系统时间同步方法以及装置 | |
JP4961589B2 (ja) | ネットワークシステムおよびスレーブ同期方法 | |
JP2012178770A (ja) | 時刻同期システム | |
JP6400553B2 (ja) | ユニット間での同期制御機能を有する数値制御システム | |
KR101645260B1 (ko) | 복수의 제어기간의 정밀한 시간 기록을 포함하는 데이터 동기화 시스템 및 방법 | |
JP2022133624A (ja) | 情報処理装置、方法およびプログラム | |
US9703315B2 (en) | Transmission device and time synchronization method | |
CN112019288B (zh) | 时间同步方法、业务单板及网络设备 | |
US20230085335A1 (en) | Information collecting system and information collecting method | |
EP3814868B1 (en) | Precision timing between systems | |
CN114375552B (zh) | 在基于以太网的网络中进行时间同步的方法 | |
KR102585141B1 (ko) | 복수의 타임 도메인의 시간을 동기화하는 방법, 그리고 이를 구현하기 위한 장치 | |
KR102598744B1 (ko) | 복수의 타임 도메인의 시간을 동기화하는 방법, 그리고 이를 구현하기 위한 장치 | |
CN114640415A (zh) | 时钟漂移补偿方法、装置、终端设备及存储介质 | |
CN117856961A (zh) | 时钟同步方法及相关装置 | |
CN115396059A (zh) | 一种时间同步方法和装置 | |
JP2021100180A (ja) | ネットワークシステム、及び制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180117 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190205 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190221 |
|
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: 20190402 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190425 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6523497 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |