JP4178552B2 - マスター・スレーブ同期通信方式 - Google Patents

マスター・スレーブ同期通信方式 Download PDF

Info

Publication number
JP4178552B2
JP4178552B2 JP2003279358A JP2003279358A JP4178552B2 JP 4178552 B2 JP4178552 B2 JP 4178552B2 JP 2003279358 A JP2003279358 A JP 2003279358A JP 2003279358 A JP2003279358 A JP 2003279358A JP 4178552 B2 JP4178552 B2 JP 4178552B2
Authority
JP
Japan
Prior art keywords
slave
master
cycle
value
synchronization point
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
Application number
JP2003279358A
Other languages
English (en)
Other versions
JP2005045672A (ja
Inventor
昇 藤原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yaskawa Electric Corp
Original Assignee
Yaskawa Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yaskawa Electric Corp filed Critical Yaskawa Electric Corp
Priority to JP2003279358A priority Critical patent/JP4178552B2/ja
Priority to US10/565,650 priority patent/US20060251046A1/en
Priority to KR1020067001318A priority patent/KR20060063902A/ko
Priority to CNB2004800213731A priority patent/CN100473034C/zh
Priority to GB0601187A priority patent/GB2419070B/en
Priority to PCT/JP2004/008122 priority patent/WO2005011201A1/ja
Publication of JP2005045672A publication Critical patent/JP2005045672A/ja
Application granted granted Critical
Publication of JP4178552B2 publication Critical patent/JP4178552B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0652Synchronisation among time division multiple access [TDMA] nodes, e.g. time triggered protocol [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/403Bus networks with centralised control, e.g. polling

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Information Transfer Systems (AREA)

Description

本発明は、IEEE1394を使ってマスター・スレーブ同期通信を行うリアルタイム制御システムの通信方式に関する。
従来のマスター・スレーブ同期通信方式では、PROFIBUS−DPのように通信周期の同期点を知らせるデータパケットをマスターが全スレーブに一斉放送し、各スレーブはその受信タイミングで同期点を検出し、その後ポーリングによって指令データと応答データの交換を行っている(例えば、非特許文献1参照)。
また、SERCOS(登録商標)のように同期点の通知は同じくマスターからの一斉放送によるが、その後マスターから指令データが各スレーブに送信され、さらに各スレーブが同期点からの所定の時間経過後、あるいは所定の送信順序に基づき順次応答データを送信していくものもある(例えば、非特許文献2参照)。
こうしたマスター・スレーブ間で同期をとって通信を行う方式はリアルタイム制御システムでは一般的な通信方式である。
一方IEEE1394準拠ネットワークはパソコンやAV機器などで一般的な高速の汎用ネットワークである。伝送速度は100Mbps〜3.2Gbpsであり、PROFIBUS−DPの最速12Mbps、SERCOSの最速16Mbpsなどと比較すると極めて高速な通信が可能である。なおかつネットワークに接続された全ノードが125μsの固有周期で同期をとって動作するアイソクロナス通信をサポートしている点で、同じく汎用・高速の汎用ネットワークであるイーサネット(登録商標)などに無い特徴を備えており、上述のようなマスター・スレーブ同期通信を行うリアルタイム制御用ネットワークへの応用が期待されている。(例えば、特許文献1参照)
図12はPROFIBUS−DPなどで一般的な通信方式の通信タイムチャートを示している。図12において、c1、c2、・・・はそれぞれスレーブ#1、スレーブ#2、・・・あての指令データタイミングを表しており、r1、r2、・・・はスレーブ#1、スレーブ#2、・・・からの応答データ送信タイミングを表している。図12に示す通り通信周期先頭である同期点にて同期パケットが一斉放送され、それに引続きスレーブ#1へ指令データが送信されるとスレーブ#1が応答データを返信し、次にスレーブ#2へ指令データが送信されるとスレーブ#2が応答データを返信するというように、いわゆるポーリングにて指令データと応答データの授受を行い、再び通信周期経過後に同期点を迎えて同期パケットが一斉放送されるという通信方法がとられていた。
また図13はSERCOSなどで採用されている別の通信方式の通信タイムチャートを示している。図13に示す通り、通信周期先頭である同期点にて同期パケットが一斉放送される点は図12と同様であり、それに引続き各スレーブに送信される指令データc1、c2、・・・がマスターからまとまったタイミングで送信され、それらは1パケットにまとめられて送信されることもある。その後スレーブごとに適切に調整された所定のタイマー値経過後応答データ(r1、r2、・・・)が送信されていき、再び通信周期経過後に同期点を迎えて同期パケットが一斉放送されるという通信方法がとられていた。
このように、従来のマスター・スレーブ同期通信方式では、毎通信周期の同期点毎に同期パケットを一斉放送して全局の同期を確保する、という手段がとられていた。
特開2003−008579 PROFIBUS−DP Specification(IEC61158 Type3) SERCOS Specification(IEC61491)
しかしながら、従来のマスター・スレーブ同期通信方式ではマスターから精度良く毎回の同期点ごとに同期パケットを一斉放送して各スレーブに通知する動作が必要である。これに対応する形でIEEE1394準拠ネットワークのアイソクロナス通信を適用しようとした場合、固有周期毎に編集され一斉送信されるサイクルスタートパケットがこれにもっとも近い同期点通知手段となるが、このパケットは送信タイミング精度を保証しておらず、同期点にジッタが生じるという問題があった。
また、スレーブの数が多くなるなどして通信周期を固有周期より長くとる必要があっても、固有周期は固定であって変更できないという問題も抱えていた。
さらに、IEEE1394のアイソクロナス通信は一斉放送でかつ伝送路へのデータ送信タイミングの調整が困難で送信順序の保証もできない通信方式のため、従来のマスター・スレーブ同期通信方式で行われるポーリングや、同期点からの所定時間後やデータ送信順序に従ったデータの送信スケジューリングが困難であった。
実施例として引用した特開2003−008579の場合、サイクルスタートパケットに代えて独自のトリガパケット(同期パケット)をアイソクロナス通信で一斉放送した後、各スレーブのデータ通信はアシンクロナス通信でマスターに対して送信要求を行ないながら複数アイソクロナスサイクルにまたがった通信周期を確保するものであり、通信周期のジッタは更に大きなものとなる上にアイソクロナス通信とアシンクロナス通信を使い分けるため、各局の通信処理が複雑になるという問題まであった。
本発明はこのような様々な問題点に鑑みてなされたものであり、IEEE1394を適用して、その固有周期を基底サイクルとし、該基底サイクルの整数倍の通信周期で全局の同期を取りながら、容易にデータの送受信スケジューリングが可能なマスター・スレーブ同期通信方式を提供することを目的とする。
本発明は上記目的を達成するために、請求項1に示す第1の発明のように、IEEE1394をベースにした1台のマスターと1台または複数台のスレーブにより構成されるマスター・スレーブ通信方式において、IEEE1394通信の固有周期を基底サイクルとして該基底サイクルの整数倍に設定された通信周期を持ち、前記マスター、各スレーブは前記通信周期の開始タイミングである同期点の検出手段と、現サイクルが該同期点から何番目の基底サイクルであるかを示す基底サイクルカウンタを持ち、前記マスターは該基底サイクルカウンタ値毎にどのスレーブに対して指令データを送信するかあらかじめ割り付けられた送信管理テーブルを持ち、該送信管理テーブルを元に基底サイクルカウンタが更新される毎に各スレーブに指令データを送信し、前記各スレーブは該基底サイクルカウンタのあらかじめ割り付けられた値になったらマスターに応答データを送信することを特徴とするものである。
このようになっているため、全局で同期のとれた基底サイクルカウンタを元にデータの送受信を実行することができ、基底サイクル以上の通信周期で、基底サイクル単位でスケジューリングされた同期通信を行うことができる。
前記同期点の検出手段として、請求項2に示す第2の発明のように、前記マスターでは任意の基底サイクルを同期点に定め、それに基き各スレーブに指令データを送信し、前記各スレーブでは指令データを受信した際の基底サイクルカウンタ値とあらかじめ割り付けられた指令データを受信した時の基底サイクルカウンタ値を元に基底サイクルカウンタ現在値を修正し、そのカウント値があらかじめ決められた値になった時を同期点として検出するものである。結果、マスタ・スレーブ間の通信周期が基底サイクルの整数倍でも、全ての局が同期を保つことが可能である。
前記同期点の別の検出手段として、請求項3に示す第3の発明のように、前記マスターでは任意の基底サイクルを同期点に定め、それに基き各スレーブに指令データを送信する際に、該指令データ中に次回同期点となるCYCLE_TIMEレジスタ値を書き込むものとし、前記各スレーブでは指令データを受信した際に該指令データ中の次回同期点となるCYCLE_TIMEレジスタ値と現在の自局CYCLE_TIMEレジスタ値を元に基底サイクルカウンタ現在値を修正し、そのカウント値があらかじめ決められた値になった時を同期点として検出するものである。結果、第2の発明とは別の方法で、マスタ・スレーブ間の通信周期が基底サイクルの整数倍でも、全ての局が同期を保つことが可能である。
前記同期点の検出手段として、請求項4に示す第4の発明のように、前記マスターでは任意の基底サイクルを同期点に定め、基底サイクルカウンタ値をあらかじめ決められた値にセットし、各スレーブへ指令を送信する時にその時の基底サイクルカウンタ値を前記各スレーブに送信し、前記各スレーブでは該基底サイクルカウンタ値を自局の基底サイクルカウンタに設定し、そのカウント値があらかじめ決められた値になった時を同期点として検出する。結果、第2、第3の発明とは別の方法で、マスタ・スレーブ間の通信周期が基底サイクルの整数倍でも、全ての局が同期を保つことが可能である。
前記同期点の検出手段として、請求項5に示す第5の発明のように、前記マスターでは同期点をCYCLE_TIMEレジスタ値を元に同期点を検出し、その時に基底サイクルカウンタ値をあらかじめ決められた値にセットし、前記各スレーブではCYCLE_TIMEレジスタ値を元にマスターと同じ手段で同期点を検出し、その時に該基底サイクルカウンタ値をあらかじめ決められた値にセットする。結果、第2、第3、第4の発明とは別の方法で、マスタ・スレーブ間の通信周期が基底サイクルの整数倍でも、全ての局が同期を保つことが可能である。
このように同期点を検出し、その同期点に同期して、送信管理テーブルにあらかじめ登録された送信スケジュールに従って送信を実行することにより、マスタ・スレーブ間の通信周期が基底サイクルの整数倍でも全局同期を保った送受信が可能となる。
以上述べたように、本発明の方法によれば、固有周期を基底サイクルとし、そのサイクル数をカウントする基底サイクルカウンタを全局で同期させ、固有周期の整数倍の通信周期を実現する事ができる。また、その同期のとれた基底サイクルカウンタ値を元にマスターからスレーブへの指令データおよびスレーブからマスターへの応答データの送信タイミングのスケジュールを行うことにより、IEEE1394を適用したリアルタイム制御システムにおいて、固有周期の整数倍の通信周期で全局の同期を取りながら、データ送信が可能なマスター・スレーブ同期通信方式を提供することすることができるという効果がある。
たとえば、図3に記載の方法のように、マスターからスレーブへの指令データと該スレーブからマスターへの応答データの送信タイミングを対にして同じ基底サイクルで授受させるように送信管理テーブル、送信タイミング情報を設定すれば、通信周期内の各基底サイクルにおける通信トラフィックを図12に示す従来技術のPROFIBUS―DP相当のポーリング方式のスケジューリングを行わせることができるという効果がある。
たとえば、図4に記載の方法のように、各スレーブからマスターへの応答データの送信タイミングをマスターからスレーブへの指令データ受信から遅延をおいた別の基底サイクルで行わせるように送信管理テーブル、送信タイミング情報を設定すれば、通信周期内の各基底サイクルにおける通信トラフィックを図13のようにSERCOS相当のスケジューリングを行わせることもできるという効果がある。
図3、4に示す事例以外にも、マスター側の送信管理テーブル、スレーブ側の送信タイミング情報を、所望の送受信タイミングにあわせて設定すれば、所望のマスター・スレーブ同期通信を容易に実現することが可能である。
以下、本発明の具体的実施例について、図に基づいて説明する。
まず、以下の説明の中で出てくる、IEEE1394スタンダードにて規定された機能名、信号名について説明しておく。CYCLE_TIMEレジスタは図5に示すようにcycle_offset部、cycle_count部、second_count部から構成される。cycle_offset部は各局の24.576MHzのクロックをカウントし、3072になると、つまり固有周期の125μs毎にキャリーを出す。cycle_countはcycle_offsetからのキャリーをカウントし、8000になると、つまり1s毎にキャリーを出す。Cycle_synchは固有周期125μs毎に発信される同期信号である。
図1に第1の発明の具体的実施例を示すが、1はマスター、2i(i=1、2、・・・n)はスレーブ、3はIEEE1394の伝送路となっている。また10j(j=0、1、・・・n)はマスターおよび各スレーブ内の時計部にあたるCYCLE_TIMEレジスタであり、ここから同期信号であるCycle_Synch11jが固有周期毎に発信され、基底サイクルカウンタ12jをカウントアップしている。さらに、Cycle_Synch11jは同期点検出手段14jの実行タイミングともなっている。
同期点検出手段14jはこれにより、基底サイクルカウンタのカウントアップ毎に同期点の検出を行い、同期点であれば基底サイクルカウンタ値を0にリセットするよう動作する。このことにより、フィールドネットワークシステム上の全局の基底サイクルカウンタの値が同期をとってカウントアップできるようになる。
その他にマスター1は送信管理テーブル130を保有し、その情報に基づき指令送信処理150が指令を送信し、一方各スレーブiはおのおのの送信タイミング情報23iを保有し、それらの情報に基づいて応答送信処理25iが応答データを送信している。
図2は前記マスター側の送信管理テーブル130と、スレーブ側の各送信タイミング情報23iの実施例を示している。マスターの送信管理テーブルには各基底サイクル値毎に指令が送信されるべき送信先スレーブが記憶されている。また、スレーブの送信タイミング情報には、マスターから指令を受信すべき、また、マスターに応答を返信すべき基底サイクル値が記憶されている。
図6は第1の発明の実施例を示す図1中のマスター側の指令送信処理150の処理フローを示し、図7はスレーブ側応答送信処理25iの処理フローを示している。これらの図を用いて、以下、第1の発明の送受信について順を追って説明する。
マスター指令送信処理150は図6に示すように、固有周期毎のCycle_synch110にて起動され、はじめにS1000で基底サイクルカウンタ120の値を読出し変数pにセットする。次にS1001でマスター送信管理テーブル130中のサイクルカウンタ値が変数pに対応した列データである送信指令数を変数qにセットし、対応する送信先スレーブナンバーのリストデータを配列S[k](k=0、1、・・・、q−1)にセットする。そしてS1002からS1004間のループ処理に移り、S1003にてスレーブS[k]宛てに指令データを送信する。このようにして、基底サイクルカウンタ120値が更新されるたびに、そのサイクル内で送信するようスケジューリングされている全スレーブ2iに指令データを送信するよう動作することができる。
一方スレーブ側応答送信処理25iでは図7のフローに沿い、固有周期毎のCycle_synchにて起動され、はじめにS2000にて基底サイクルカウンタ12jを読出し変数pにセットする。次にS2001にて、送信タイミング情報23i中の応答サイクル値と変数pを比較し、一致していればその時点で応答サイクルとなっているので応答データを送信する。一致していなければ応答サイクルではないので応答データを送信しない。このようにして、あらかじめスケジューリングされている基底サイクルカウンタ12j値になるたびに応答データを送信するよう動作することができる。
このように、フィールドネットワークシステム内で同期をとってカウントされている基底サイクルカウンタ12j値に従いマスター1、スレーブ2iがそれぞれスケジューリングされたタイミングで同期をとって通信を行うことができるのである。
図3は送受信管理テーブル、送信タイミング情報に、同一基底サイクル内で送受信を完了するようにスケジューリングした場合の通信タイミングチャートである。マスター側送信管理テーブル130とスレーブ側送信タイミング情報23iを適切に設定し、例えばマスター送信管理テーブル130内のサイクルカウンタ値0列の送信先スレーブNo.を#1、#2、サイクルカウンタ値1列の送信先スレーブNo.3を#3、#4とし、スレーブ#1、スレーブ#2内送信タイミング情報23iの各応答サイクル値を0にセットし、スレーブ#3、スレーブ#4内送信タイミング情報23iの各応答サイクル値を1にセットすれば、基底サイクルカウンタ12j値0ではスレーブ#1とスレーブ#2に対す指令データが送信され、逆にスレーブ#1とスレーブ#2からの応答データが返信され、以下同様に同じ基底サイクル内で任意のスレーブ2iの指令データと応答データを対にして授受させることができる。
図4は送受信管理テーブル、送信タイミング情報に、ある基底サイクル送れて応答を送信するようにスケジューリングした場合の通信タイミングチャートである。マスター側送信管理テーブル130とスレーブ側送信タイミング情報23iを適切に設定し、例えばマスター送信管理テーブル130内のサイクルカウンタ値0列の送信先スレーブNo.を#1、#2、サイクルカウンタ値1列の送信先スレーブNo.3を#3、#4とし、スレーブ#1、スレーブ#2内送信タイミング情報23iの各応答サイクル値を4にセットし、スレーブ#3、スレーブ#4内送信タイミング情報23iの各応答サイクル値を5にセットすれば、基底サイクルカウンタ12j値0ではスレーブ#1とスレーブ#2に対する指令データが送信されるがスレーブ#1とスレーブ#2からの応答データは4サイクル遅れて基底サイクルカウンタ12j値4で返信され、同様にスレーブ#3とスレーブ#4の指令データは基底サイクルカウンタ12j値1で送信され、その応答データは4サイクル遅れて基底サイクルカウンタ12j値5で送信されるようにスケジューリングさせることができる。
次に基底サイクルカウンタ12j更新の同期をとっている、同期点検出手段14jの実施例について説明する。当然のことであるが、同期点の検出自体はマスター1、各スレーブ2i個別に行われその結果は各局の基底サイクルカウンタ値12jに反映されることになるが、その同期点となるサイクルは全局同一の判別結果が得られなければならない。本実施例ではこの同期点では基底サイクルカウンタ12j値が0となり、以後基底サイクル経過毎、即ちCycle_synchイベント11j発生毎に基底サイクルカウンタ12j値が1ずつカウントアップされ、所定の通信周期経過後の次回同期点でふたたび基底サイクルカウンタ12j値が0に戻るものとして説明してあるが、基底サイクルカウンタ12j値の推移はこれに限るものでなく、例えばカウントダウンを行ってもかまわないことはいうまでもない。また、同期点での基底サイクルカウンタ値は、ある決められた値であれば、必ずしも0である必要もない。
同期点検出手段14jの具体的な方法のひとつである第2の発明を説明する。マスター1の同期点検出処理140は同期点検出手段は固有周期毎のCycle_synchイベント11jに起動されるが、基底サイクルカウンタ120のカウントアップ処理とその値が単に0であるかどうか判定すればよい。
一方各スレーブ2iでの処理は図8に沿って説明するが、まずS3000で前回基底サイクル中にマスター1からの指令データ受信があったかどうか判定する。あれば前回基底サイクルが送信タイミング情報23i中の指令サイクルであったことがわかるので、今回基底サイクルカウンタ値として指令サイクル値+1の値をセットする。受信がなければS3005にて単に基底サイクルカウンタ12jをカウントアップする。次にS3002にてラップアラウンドの判定のため更新した基底サイクルカウンタ値が送信タイミング情報23i中の全サイクル数以上であれば、S3003にてカウント値を0にセットしなおした後、同期点なのでS3004にて必要となる同期点検出時処理を行うことができる。
同期点検出処理14jの他の方法となる第3の発明を説明する。マスター1の同期点検出処理140は同期点検出手段は固有周期毎のCycle_synchイベント11j毎に起動され、基底サイクルカウンタ120のカウントアップとその値が単に0であるかどうか判定すればよい。なお、送信管理テーブルに従ってマスターからスレーブへ送信される指令データには、次回の同期点でのマスターのCYCLE_TIMEレジスタ値を含めるようにする。
一方各スレーブ2iでの処理は図9に沿って説明するが、まずS4000で前回基底サイクル中にマスター1からの指令データ受信があったかどうか判定する。あればS4001にて受信した指令データ中に次回同期点となるCYCLE_TIMEレジスタ値を取り出す。次にS4002にて現在のCYCLE_TIMEレジスタのcycle_count値と、指令データ中の次回同期点CYCLE_TIMEレジスタのcycle_count値との差をとる。そしてS4003にて{(スレーブ送信タイミング情報23i中の全サイクル数)−(前記の差)}を(スレーブ送信タイミング情報23i中の全サイクル数)で割った結果の剰余を求め今回基底サイクルカウンタ値としてセットする。例えば受信した次回同期点CYCLE_TIMEレジスタのcycle_count値が45、現CYCLE_TIMEレジスタのcycle_count値が43、全サイクル数が6であった場合には、{6−(45−43)}÷6=4÷6の剰余:4となり、この値:4を基底サイクルカウンタにセットすることになる。受信がなければS4007にて単に基底サイクルカウンタ12jをカウントアップする。次にS4004にてラップアラウンドの判定のため更新した基底サイクルカウンタ値が送信タイミング情報23i中の全サイクル数以上であれば、S4005にてカウント値を0にセットしなおした後、同期点なのでS4006にて必要となる同期点検出時処理を行うことができる。
同期点検出処理14jの他の方法となる第4の発明を説明する。マスター1の同期点検出処理140は同期点検出手段は固有周期毎のCycle_synchイベント11j毎に起動され、基底サイクルカウンタ120のカウントアップとその値が単に0であるかどうか判定すればよい。なお、送信管理テーブルに従ってマスターからスレーブへ送信される指令データには、その時のマスターの基底サイクルカウンタ値を含めるようにする。
一方各スレーブ2iでの処理は図10に沿って説明するが、まずS5000で前回基底サイクル中にマスター1からの指令データ受信があったかどうか判定する。あれば該指令データに含まれる基底サイクル値+1の値を該スレーブの基底サイクルカウンタにセットする。受信がなければS5005にて単に基底サイクルカウンタ12jをカウントアップする。次にS5002にてラップアラウンドの判定のため更新した基底サイクルカウンタ値が送信タイミング情報23i中の全サイクル数以上であれば、S5003にてカウント値を0にセットしなおした後、同期点なのでS5004にて必要となる同期点検出時処理を行うことができる。
同期点検出処理14jの他の方法となる第5の発明を、図11に沿って説明する。マスター1の同期点検出処理140は同期点検出手段は固有周期毎のCycle_synchイベント11j毎に起動されるが、まず、S6000でCYCLE_TIMEレジスタのcycle_count値が通信周期に必要な基底サイクルの全サイクル数で割り切れるかどうか判定する。割り切れれば、同期点と判定し、S6001にて基底サイクルカウンタ値を0にセットし、S6002にて必要な同期点検出時処理を行う。割り切れなければ、同期点でないと判定しS6003にて基底サイクルカウンタをカウントアップする。なお、基底サイクルをカウントアップするかわりに、CYCLE_TIMEレジスタのcycle_count値を通信周期に必要な基底サイクルの全サイクル数で割った剰余を基底サイクルカウンタにセットしてもよい。
前記各スレーブでは各スレーブのCYCLE_TIMEレジスタ値を元にマスターと同じ手段で同期点を検出することができる。
こうして、図1に示すマスター1をコントローラとし、スレーブ2iをコントローラにより定周期で制御される機器としたリアルタイム制御システムにおいて、マスター・スレーブ間の通信にIEEE1394を使用してマスター・スレーブ同期通信可能なリアルタイム制御システムを構築することが可能となる。具体的な一例としてマスターがモーションコントローラ、スレーブがサーボドライブ、インバータドライブなどのモータードライブ装置などからなるモーション制御システムがある。
第4の発明の実施例となるIEEE1394を適用したシステム構成図 本発明の実施例中、マスター送信管理テーブルとスレーブ送信タイミング情報の実装例を示す図 第2の発明の実施例となる通信タイミングチャート 第3の発明の実施例となる通信タイミングチャート IEEE1394のCYCLE_TIMEレジスタ 第1の発明の実施例となるマスター指令送信処理フローチャート 第1の発明の実施例となるスレーブ応答送信処理フローチャート 第2の発明の実施例となるスレーブの同期点検出手段フローチャート 第3の発明の実施例となるスレーブの同期点検出手段フローチャート 第4の発明の実施例となるスレーブの同期点検出手段フローチャート 第5の発明の実施例となるマスターおよびスレーブの同期点検出手段フローチャート 従来の方法の1例を示す通信タイミングチャート 従来の他の方法の例を示す通信タイミングチャート
符号の説明
1 マスター
2i スレーブ
3 IEEE1394伝送路
10j CYCLE_TIMEレジスタ
11j Cycle_synch
12j 基底サイクルカウンタ
130 送信管理テーブル
14j 同期点検出手段
150 指令送信処理
23i 送信タイミング情報
25i 応答送信処理
ci・・・ スレーブ#iあての指令データ
ri・・・ スレーブ#iからの応答データ
ただし、
i=1、2、・・・n (nは1以上の整数)
j=0、1、2、・・・n(nは1以上の整数)

Claims (5)

  1. IEEE1394をベースにした1台のマスターと1台または複数台のスレーブにより構成されるマスター・スレーブ通信方式において、IEEE1394通信の固有周期を基底サイクルとしてその整数倍に設定された通信周期を持ち、前記マスター、各スレーブは前記通信周期の開始タイミングである同期点の検出手段と、現サイクルが該同期点から何番目の基底サイクルであるかを示す基底サイクルカウンタを持ち、前記マスターは該基底サイクルカウンタ値毎にどのスレーブに対して指令データを送信するかあらかじめ割り付けられた送信管理テーブルを持ち、該送信管理テーブルを元に基底サイクルカウンタが更新される毎に各スレーブに指令データを送信し、前記各スレーブは該基底サイクルカウンタのあらかじめ割り付けられた値になったらマスターに応答データを送信することを特徴とするマスター・スレーブ同期通信方式。
  2. 前記同期点の検出手段として、前記マスターでは任意の基底サイクルを同期点に定め、それに基き各スレーブに指令データを送信し、前記各スレーブでは指令データを受信した際の基底サイクルカウンタ値とあらかじめ割り付けられた指令データを受信した時の基底サイクルカウンタ値を元に基底サイクルカウンタ現在値を修正し、そのカウント値があらかじめ決められた値になった時を同期点として検出することを特徴とする請求項1に記載のマスター・スレーブ同期通信方式。
  3. 前記同期点の検出手段として、前記マスターでは任意の基底サイクルを同期点に定め、それに基き各スレーブに指令データを送信する際に、該指令データ中に次回同期点となるCYCLE_TIMEレジスタ値を書き込むものとし、前記各スレーブでは指令データを受信した際に該指令データ中の次回同期点となるCYCLE_TIMEレジスタ値と現在の自局CYCLE_TIMEレジスタ値を元に基底サイクルカウンタ現在値を修正し、そのカウント値があらかじめ決められた値になった時を同期点として検出することを特徴とする請求項1に記載のマスター・スレーブ同期通信方式。
  4. 前記同期点の検出手段として、前記マスターでは任意の基底サイクルを同期点に定め、基底サイクルカウンタ値をあらかじめ決められた値にセットし、各スレーブへ指令を送信する時にその時の基底サイクルカウンタ値を前記各スレーブに送信し、前記各スレーブでは該基底サイクルカウンタ値を自局の基底サイクルカウンタに設定し、そのカウント値があらかじめ決められた値になった時を同期点として検出することを特徴とする請求項1に記載のマスター・スレーブ同期通信方式。
  5. 前記同期点の検出手段として、前記マスターではCYCLE_TIMEレジスタ値を元に同期点を検出し、その時に基底サイクルカウンタ値をあらかじめ決められた値にセットし、前記各スレーブではCYCLE_TIMEレジスタ値を元にマスターと同じ手段で同期点を検出し、その時に該基底サイクルカウンタ値をあらかじめ決められた値にセットすることを特徴とする請求項1に記載のマスター・スレーブ同期通信方式。
JP2003279358A 2003-07-24 2003-07-24 マスター・スレーブ同期通信方式 Expired - Fee Related JP4178552B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2003279358A JP4178552B2 (ja) 2003-07-24 2003-07-24 マスター・スレーブ同期通信方式
US10/565,650 US20060251046A1 (en) 2003-07-24 2004-06-10 Master-slave synchronization communication method
KR1020067001318A KR20060063902A (ko) 2003-07-24 2004-06-10 마스터/슬레이브 동기 통신 방식
CNB2004800213731A CN100473034C (zh) 2003-07-24 2004-06-10 主装置和从装置同步通信系统
GB0601187A GB2419070B (en) 2003-07-24 2004-06-10 Master-slave synchronization communication method
PCT/JP2004/008122 WO2005011201A1 (ja) 2003-07-24 2004-06-10 マスター・スレーブ同期通信方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003279358A JP4178552B2 (ja) 2003-07-24 2003-07-24 マスター・スレーブ同期通信方式

Publications (2)

Publication Number Publication Date
JP2005045672A JP2005045672A (ja) 2005-02-17
JP4178552B2 true JP4178552B2 (ja) 2008-11-12

Family

ID=34100813

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003279358A Expired - Fee Related JP4178552B2 (ja) 2003-07-24 2003-07-24 マスター・スレーブ同期通信方式

Country Status (6)

Country Link
US (1) US20060251046A1 (ja)
JP (1) JP4178552B2 (ja)
KR (1) KR20060063902A (ja)
CN (1) CN100473034C (ja)
GB (1) GB2419070B (ja)
WO (1) WO2005011201A1 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2370380B (en) 2000-12-19 2003-12-31 Picochip Designs Ltd Processor architecture
GB2396446B (en) * 2002-12-20 2005-11-16 Picochip Designs Ltd Array synchronization
US20050285719A1 (en) * 2004-06-24 2005-12-29 Intel Corporation Method and apparatus to manage reverse data flow in a high throughput wireless network
US7792158B1 (en) * 2004-08-18 2010-09-07 Atheros Communications, Inc. Media streaming synchronization
KR100900980B1 (ko) * 2007-07-16 2009-06-04 한국생산기술연구원 디바이스의 응답 지연을 고려한 데이터 전송 시스템 및방법
GB2454865B (en) 2007-11-05 2012-06-13 Picochip Designs Ltd Power control
KR101613235B1 (ko) 2008-07-30 2016-04-18 코닌클리케 필립스 엔.브이. 무선 인지 중계 시스템에서 공유되는 스펙트럼 이용을 위한 센싱 및 통신 프로토콜들
CN101646209B (zh) * 2008-08-04 2011-12-07 电信科学技术研究院 半持续调度的业务数据处理方法及基站
JP5320918B2 (ja) * 2008-09-09 2013-10-23 富士通株式会社 ネットワークシステムおよびシステム試験プログラム
GB2470037B (en) 2009-05-07 2013-07-10 Picochip Designs Ltd Methods and devices for reducing interference in an uplink
GB2470771B (en) 2009-06-05 2012-07-18 Picochip Designs Ltd A method and device in a communication network
GB2470891B (en) 2009-06-05 2013-11-27 Picochip Designs Ltd A method and device in a communication network
GB2474071B (en) 2009-10-05 2013-08-07 Picochip Designs Ltd Femtocell base station
GB2482869B (en) 2010-08-16 2013-11-06 Picochip Designs Ltd Femtocell access control
WO2012090291A1 (ja) * 2010-12-28 2012-07-05 株式会社日立製作所 モーションコントローラ
GB2489716B (en) 2011-04-05 2015-06-24 Intel Corp Multimode base system
GB2489919B (en) 2011-04-05 2018-02-14 Intel Corp Filter
GB2491098B (en) 2011-05-16 2015-05-20 Intel Corp Accessing a base station
US8832342B2 (en) 2011-10-28 2014-09-09 Lg Cns Co., Ltd. Traffic communication module and method of forming the same
US8733645B2 (en) 2011-10-28 2014-05-27 Lg Cns Co., Ltd. Unified transportation payment system
JP5877310B2 (ja) * 2011-12-28 2016-03-08 パナソニックIpマネジメント株式会社 マスタ・スレーブ同期通信システム
JP5680048B2 (ja) * 2012-11-22 2015-03-04 株式会社リブ技術研究所 自動制御システム、接点情報収集分配装置および自動制御システムの子局
KR102020358B1 (ko) * 2013-03-14 2019-11-05 삼성전자 주식회사 단말 및 그 단말에서 애플리케이션 동기화 방법
DE112013007257T5 (de) * 2013-07-19 2016-04-07 Mitsubishi Electric Corporation Ringförmiges synchrones Netzwerksystem und Zeit-Slave-Station
JP5815660B2 (ja) 2013-12-25 2015-11-17 ファナック株式会社 数値制御システム
KR101596247B1 (ko) * 2014-09-25 2016-02-23 한국전기연구원 읽기 및 쓰기 주기를 구분한 데이터 전송 방법 및 시스템
JP6400553B2 (ja) * 2015-09-28 2018-10-03 ファナック株式会社 ユニット間での同期制御機能を有する数値制御システム
AT517782B1 (de) * 2015-10-01 2021-10-15 B & R Ind Automation Gmbh Verfahren zur asynchronen Datenkommunikation in einem echtzeitfähigen Ethernet-Datennetzwerk
AT517781B1 (de) * 2015-10-01 2021-10-15 B & R Ind Automation Gmbh Verfahren zur isochronen Datenkommunikation in einem echtzeitfähigen Ethernet-Datennetzwerk
CN116149250B (zh) * 2022-12-20 2024-06-21 西北核技术研究所 一种基于硬定时器的多plc控制器高时间精度指令同步方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6128318A (en) * 1998-01-23 2000-10-03 Philips Electronics North America Corporation Method for synchronizing a cycle master node to a cycle slave node using synchronization information from an external network or sub-network which is supplied to the cycle slave node
US7065779B1 (en) * 1999-10-13 2006-06-20 Cisco Technology, Inc. Technique for synchronizing multiple access controllers at the head end of an access network
US7088795B1 (en) * 1999-11-03 2006-08-08 Pulse-Link, Inc. Ultra wide band base band receiver
JP2001308868A (ja) * 2000-04-18 2001-11-02 Matsushita Electric Ind Co Ltd Ieee1394バス接続装置、媒体及び情報集合体
JP2002319953A (ja) * 2001-04-19 2002-10-31 Matsushita Electric Ind Co Ltd パケット送信装置
JP3698074B2 (ja) * 2001-06-15 2005-09-21 日本電気株式会社 ネットワーク同期方法、lsi、バスブリッジ、ネットワーク機器、およびプログラム
US7120092B2 (en) * 2002-03-07 2006-10-10 Koninklijke Philips Electronics N. V. System and method for performing clock synchronization of nodes connected via a wireless local area network
CH704101B1 (de) * 2002-11-06 2012-05-31 Barix Ag Verfahren und Vorrichtung zur synchronisierten Wiedergabe von Datenströmen.

Also Published As

Publication number Publication date
JP2005045672A (ja) 2005-02-17
CN1826767A (zh) 2006-08-30
KR20060063902A (ko) 2006-06-12
WO2005011201A1 (ja) 2005-02-03
CN100473034C (zh) 2009-03-25
GB0601187D0 (en) 2006-03-01
US20060251046A1 (en) 2006-11-09
GB2419070B (en) 2007-07-11
GB2419070A (en) 2006-04-12

Similar Documents

Publication Publication Date Title
JP4178552B2 (ja) マスター・スレーブ同期通信方式
US8850058B2 (en) Ethernet-based data transmission method, ethernet nodes and control system
KR101596756B1 (ko) 리던던트 그랜드마스터를 이용한 차량 내 네트워크 시간 동기화 제공 방법 및 장치
US8040871B2 (en) Null indication in a shared robust scheme
CN1668020B (zh) 在异步网络中保证分组传送时间的方法、装置和系统
JP6388423B2 (ja) データ送信方法、通信デバイス、及び通信システム
US9906320B2 (en) Industrial network apparatus and data communication method
KR101618537B1 (ko) 통신 장치, 통신 시스템 및 동기 제어 방법
US10091431B2 (en) Method and apparatus for controlling synchronization of camera shutters in in-vehicle Ethernet communication network
EP2195949B1 (en) Method, computer program product and system for the tick synchronization of nodes in a wireless multi-hop network
WO2010100554A1 (en) Synchronization of broadcast-only wireless networks
JP2006127514A (ja) 低ジッタ同期によるモジュラー方式数値制御装置
JP6143881B2 (ja) 無線通信システム、送信装置、受信装置及び通信端末
CN106332267B (zh) 基于跳频无线通信的同步接入方法、设备以及系统
CN102664726A (zh) Ptp时钟源切换的方法、主从时钟设备及系统
US8155107B2 (en) Current position transmission in a shared robust scheme
CN114556808B (zh) 用于光学无线网络的干扰抑制
CN111132363B (zh) 一种无线线型拓扑组网冲突避免的轮询调度方法
JP2018088644A (ja) 無線接続された複数端末間の時刻同期方法及び時刻同期システム
JP2011182259A (ja) 無線機器、通信システム、制御方法及びプログラム
CN116158167A (zh) 媒体接入控制的方法、装置和系统
WO2002056542A1 (fr) Systeme de transmission radio
WO2021069254A1 (en) Synchronization in optical wireless networks for interference suppressing
JP6113442B2 (ja) 電子機器、通信システム、及び通信方法
JP7168458B2 (ja) 基地局、無線端末局および無線通信システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060619

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: 20080804

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080817

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110905

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110905

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120905

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130905

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees