JP2006254290A - マスタ−スレーブ通信システムおよび通信方法 - Google Patents

マスタ−スレーブ通信システムおよび通信方法 Download PDF

Info

Publication number
JP2006254290A
JP2006254290A JP2005070750A JP2005070750A JP2006254290A JP 2006254290 A JP2006254290 A JP 2006254290A JP 2005070750 A JP2005070750 A JP 2005070750A JP 2005070750 A JP2005070750 A JP 2005070750A JP 2006254290 A JP2006254290 A JP 2006254290A
Authority
JP
Japan
Prior art keywords
master
slave
data
reception
communication
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.)
Pending
Application number
JP2005070750A
Other languages
English (en)
Inventor
Mamoru Fukuda
守 福田
Tatsuhiko Sato
辰彦 佐藤
Kazutoshi Kobayashi
和敏 小林
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 JP2005070750A priority Critical patent/JP2006254290A/ja
Publication of JP2006254290A publication Critical patent/JP2006254290A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】スレーブがマスタから送信された指令データへの応答データを同一アイソクロナスサイクル内に安定して送信し、異常の場合、マスタが次のアイソクロナスサイクルで指令データを再送できるようにする。
【解決手段】 マスタ10に、マスタ指令データバッファ1030または再送用指令データバッファ1032に格納された指令データをスレーブ21にアイソクロナス・ストリームで送信するマスタ送信処理部1010と、アイソクロナスサイクル内にリセットされない時はタイムアップとなる応答データ受信監視タイマ1021を備え、スレーブ21に、応答データをマスタから指令データを受信した同一アイソクロナスサイクル内にアシンクロナス・ストリームで送信するスレーブ送信処理部2010を備える。
【選択図】図1

Description

本発明は、IEEE1394ネットワークに接続されたマスタとスレーブからなるマスタ−スレーブ通信システムおよび通信方法に関する。
図7は従来のマスタ―スレーブ通信システムの構成を示す図である。
図7に示すような、IEEE1394ネットワークに接続された1つのマスタとN個のスレーブとで通信データの送受信を行うマスタ―スレーブ通信システムにおいて、マスタからスレーブへの指令データとスレーブからマスタへの応答データの転送に帯域の保証が必要な場合、125μs毎のデータ転送が保証されるアイソクロナス転送が使用される。
しかしながら、アイソクロナス転送はマスタが送信した指令データをスレーブが全て受信されるかどうか、同様にスレーブが送信した応答データをマスタに全て受信されるかどうかの保証はないため、通信ノイズなどの影響によりデータ欠損が生じる恐れがある。
このようなデータ欠損を回避するための技術が特許文献1において開示されている。
特許文献1ではIEEE1394で1対1に接続されたプリンタコントローラとプリンタとの送受信を例としているが、プリンタコントローラ、プリンタ、画像データ、アシンクロナス転送による受信結果の通知は、それぞれ本発明のマスタ、スレーブ、指令データ、応答データに相当する。
特許文献1ではスレーブがn番目のアイソクロナスサイクルに受信した指令データの受信結果をマスタに通知するのに、(n+1)番目のアイソクロナスサイクルでアシンクロナス転送を行い、スレーブから異常受信を通知された場合、次の(n+2)番目のアイソクロナスサイクルで指令データを再送している。
特開2003−110565号公報(8頁、図6)
このことを、図を用いて説明する。
図8は従来の通信タイミングを示す図であり、マスタとスレーブが1対1で接続されたマスタ―スレーブ通信システムにおいて指令データを再送する場合の例である。図8では、マスタ−スレーブ間のアイソクロナスサイクルm〜(m+3)の4アイソクロナスサイクル分の通信が示されている。本例ではマスタをIEEE1394のサイクルマスタとしているため、各アイソクロナスサイクルの先頭でマスタがサイクルスタートパケットを送信しているが、スレーブがサイクルマスタとなった場合も、本質的には同じである。マスタはサイクルスタートパケット送信後、アイソクロナスギャップの無通信状態経過後、指令データをアイソクロナス転送にて送信する。スレーブは指令データ受信後、サブアクションギャップの無通信状態経過後、アシンクロナス転送にて1つ前の指令データに対する受信結果をマスタに通知する。
図8では、アイソクロナスサイクルmの指令データnでスレーブが異常受信を検出し、次のアイソクロナスサイクル(m+1)でアシンクロナス転送帯域の応答データnにて異常受信をマスタに通知している。応答データnを受信したマスタは、アイソクロナスサイクル(m+2)で指令データnの再送である指令データnrを送信する。指令データnrに対するスレーブの受信結果は、アイソクロナスサイクル(m+3)のアシンクロナス転送帯域の応答データnrにて通知される。
このように、従来の方法では指令データを送信した次のアイソクロナスサイクルで受信結果を通知し、さらに次のサイクルで指令データを再送するという手順がとられていた。
しかしながら、特許文献1において開示されている技術では、スレーブからマスタへ異常受信を通知するのに、指令データ受信の次のアイソクロナスサイクルを使用しているため、指令データの再送に1サイクルの遅れ、再送の正常受信を通知するのに更に1アイソクロナスサイクルの遅れが発生する。さらに、スレーブからマスタへの異常受信通知にアシンクロナス転送を用いている為、ACKやレスポンスパケットの転送、およびそれに伴うギャップが生じ、アシンクロナス帯域を圧迫する。その結果、次のアイソクロナスサイクルのサイクルスタートパケットの転送タイミングに揺らぎが発生するという問題があった。
また、マスタが複数のアイソクロナスサイクルからなる通信周期でN局のスレーブとサイクリックな通信を行うシステムに本技術を応用した場合、通信周期内で最終スレーブ宛ての指令データに対して1回の再送とその応答確認まで実現するには、最終スレーブへの指令データ送信後少なくとも3アイソクロナスサイクルを確保しなけらばならないという問題がある。加えて通信周期を構成するアイソクロナスサイクル数と再送が発生したスレーブ局数によってはスレーブの指令データ送信が通信周期内に完了しなくなるという問題があった。
本発明はこのような問題点に鑑みてなされたものであり、マスタから送信された指令データへの応答データをスレーブが同一アイソクロナスサイクル内に安定して送信し、異常の場合、マスタが次のアイソクロナスサイクルで指令データを再送できるようにすると共に、マスタがN局のスレーブと複数のアイソクロナスサイクルからなる定周期通信を行う場合、通信周期を超えることなく同一通信周期内の指令データの再送ができる伝送効率の高いマスタ−スレーブ通信システムおよび通信方法を提供することを目的とする。
上記問題を解決するため、本発明のマスタ−スレーブ通信システムは、IEEE1394の通信データを送受信するマスタIEEE1394通信部と、前記通信データの演算や監視を行うマスタ情報処理部と、前記通信データを格納するマスタ記憶部とを有し、該マスタ記憶部に、スレーブから受信した応答データを格納するマスタ応答データバッファと、前記スレーブに対し送信する指令データを格納するマスタ指令データバッファとを有するマスタと、前記IEEE1394の通信データを送受信するスレーブIEEE1394通信部と、前記通信データの演算や監視を行うスレーブ情報処理部と、前記通信データを格納するスレーブ記憶部を有し、該スレーブ記憶部に、前記マスタから受信した指令データを格納するスレーブ指令データバッファと、前記マスタに送信する応答データを格納するスレーブ応答データバッファを有する少なくとも1つのスレーブがIEEE1394ネットワークで接続されたマスタ―スレーブ通信システムにおいて、前記マスタIEEE1394通信部に、前記スレーブからの応答データを受信するマスタ受信処理部と、前記マスタ指令データバッファまたは前記再送用指令データバッファに格納された指令データを前記スレーブにアイソクロナス・ストリームで送信するマスタ送信処理部とを備え、前記マスタ情報処理部に、前記マスタ送信処理部からの送信通知により起動し、前記マスタ受信処理部の受信通知によりリセットされ、アイソクロナスサイクル内にリセットされないときはタイムアップとなる応答データ受信監視タイマと、前記スレーブからの応答データが正常であったかどうかを判定し、判定結果を前記マスタ送信処理部に通知する応答データ受信判定部とを備え、前記マスタ記憶部に、前記スレーブが異常受信したときに再送するデータを格納する再送用指令データバッファと、前記複数のスレーブが異常受信したときにデータを再送するスレーブの情報を格納する再送対象スレーブ一覧とを備え、前記スレーブIEEE1394通信部に、前記マスタからの指令データを受信するスレーブ受信処理部と、前記スレーブ応答データバッファに格納された前記マスタへの応答データを前記マスタから指令データを受信した同一アイソクロナス内にアシンクロナス・ストリームで送信するスレーブ送信処理部とを備え、前記スレーブ情報処理部に、所定の時間内に前記受信処理部から受信通知がないとタイムアップする指令データ受信監視タイマと、前記マスタからの指令データが正常であったかどうかを判定し、判定結果を前記スレーブ送信処理部に通知する指令データ受信判定部を備えることを特徴としている。
また、前記スレーブは、前記マスタへの応答データを、マスタからの指令データを正常受信した場合のみ送信することを特徴としている。
また、前記スレーブは、前記マスタへの応答データを、マスタからの指令データを異常受信した場合のみ送信することを特徴としている。
また、前記スレーブは、前記マスタへの応答データを、マスタからの指令データを正常受信した場合も異常受信した場合も送信することを特徴としている。
また、前記マスタと前記スレーブが1対1で接続されている場合、前記マスタは、前記スレーブの異常受信を検出した場合、前記スレーブが異常受信したデータを送信したアイソクロナスサイクルの次のアイソクロナスサイクルで前回前記スレーブに指令した指令データを再送する手段を備えることを特徴としている。
また、前記マスタと前記スレーブが1対Nで接続されている場合、前記マスタは、前記N局のスレーブに指令データ送信用に割り当てたN個のアイソクロナスサイクルと、前記指令データ再送用に割り当てた1つ以上のアイソクロナスサイクルとからなる通信周期で定周期通信を行う手段を備えることを特徴としている。
また、本発明のマスタ−スレーブ通信システムの通信方法は、IEEE1394の通信データを送受信するマスタIEEE1394通信部と、前記通信データを演算や監視を行うマスタ情報処理部と、前記通信データを格納するマスタ記憶部とを有するマスタと、前記IEEE1394の通信データを送受信するスレーブIEEE1394通信部と、前記通信データを演算や監視を行うスレーブ情報処理部と、前記通信データを格納するスレーブ記憶部とを有する少なくとも1つのスレーブがIEEE1394ネットワークで接続されたマスタ−スレーブ通信システムの通信方法において、前記マスタは、前記スレーブへの指令データをアイソクロナス・ストリームで送信し、前記スレーブは、前記マスタへの応答データをマスタから指令データを受信した同一アイソクロナスサイクル内にアシンクロナス・ストリームで送信することを特徴としている。
また、前記スレーブは、前記マスタへの応答データを、前記マスタからの指令データを正常受信した場合のみ送信することを特徴としている。
また、前記スレーブは、前記マスタへの応答データを、マスタからの指令データを異常受信した場合のみ送信することを特徴としている。
また、前記スレーブは、前記マスタへの応答データを、マスタからの指令データを正常受信した場合も異常受信した場合も送信することを特徴としている。
また、前記マスタと前記スレーブが1対1で接続されている場合、前記マスタは、前記スレーブの1つ前のアイソクロナスサイクルの正常受信を検出するステップと、正常受信した場合は、今回用指令データを送信するステップと、異常受信した場合は、1つ前のアイソクロナスサイクルで送信した前回用指令データを再送信するステップと、応答データ受信監視タイマを起動するステップと、今回のアイソクロナスサイクルの正常受信を検出するステップと、正常受信を検出した場合前記応答データ受信監視タイマを停止し応答データを保存するステップと、正常受信を前記応答データ受信判定部に通知するステップと、正常受信を検出しない場合前記応答データ受信監視タイマを監視するステップと、前記応答データ受信監視タイマがタイムアップしたとき、異常受信を前記応答データ受信判定部に通知するステップを備えることを特徴としている。
また、前記マスタと前記スレーブが1対Nで接続されている場合、前記マスタは、今回のアイソクロナスサイクルが指令送信用アイソクロナスサイクルかどうかチェックするステップと、指令送信用アイソクロナスサイクルの場合、通信周期先頭のアイソクロナスサイクルであれば、異常受信が発生しデータの再送が必要な前記スレーブを記憶している再送対象スレーブ一覧をクリアするステップと、送信先スレーブに今回用指令データを送信するステップと、今回のアイソクロナスサイクルが指令送信用アイソクロナスサイクルでない場合、再送対象スレーブがあるかどうか判別するステップと、前記再送対象スレーブがあった場合、該再送対象スレーブに1つ前のアイソクロナスサイクルで送信した前回用指令データを再送信するステップと、応答データ受信監視タイマを起動するステップと、今回のアイソクロナスサイクルの正常受信を検出するステップと、正常受信を検出した場合前記応答データ受信監視タイマを停止し応答データを保存するステップと、正常受信を前記応答データ受信判定部に通知するステップと、正常受信を検出しない場合前記応答データ受信監視タイマを監視するステップと、前記応答データ受信監視タイマがタイムアップしたとき、当該スレーブを前記再送対象スレーブ一覧に登録するステップと、異常受信を前記応答データ受信判定部に通知するステップを備えることを特徴としている。
マスタが送信した指令データの受信結果の通知にACKやレスポンスパケットを伴わないアシンクロナス・ストリームを使用することにより、スレーブがマスタから送信された指令データへの応答データを同一アイソクロナスサイクル内に安定して送信し、異常の場合、マスタが次のアイソクロナスサイクルで指令データを再送できるようになると共に、マスタがN局のスレーブと複数のアイソクロナスサイクルからなる定周期通信を行う場合、通信周期を超えることなく同一通信周期内の指令データの再送ができる伝送効率の高いマスタ−スレーブ通信システムおよび通信方法を提供することができる。
以下、本発明の方法の具体的実施例について、図に基づいて説明する。
図1は、本発明のIEEE1394ネットワーク上に接続された1つのマスタと1つ以上のスレーブとでデータ交換を行うマスタ―スレーブ通信システムの構成を示すブロック図である。
なお、以下の説明では、送信通知を送信したアシンクロナスサイクルと同一のアシンクロナスサイクルに応答データが戻ってきた場合を正常受信、正常受信できなかった場合を異常受信という。
図1のマスタ10は、通信データを送受信するマスタIEEE1394通信部101と通信データの演算や監視を行うマスタ情報処理部102と通信データを格納するマスタ記憶部103を備え、マスタIEEE1394通信部101を介してIEEE1394ネットワークと接続する。マスタ記憶部103はスレーブ21、22、23から受信した応答データを格納するマスタ応答データバッファ1031、スレーブ21、22、23に送信する指令データを格納するマスタ指令データバッファ1030、スレーブが異常受信したときに再送するデータを格納する再送用指令データバッファ1032、複数のスレーブが異常受信したときにデータを再送するスレーブの情報を格納する再送対象スレーブ一覧1033を具備し、マスタIEEE1394通信部はマスタ送信処理部1010およびマスタ受信処理部1011を具備し、マスタ情報処理部102は受信した応答データから指令データを作成するマスタデータ演算部1020、応答データの受信を監視する応答データ受信監視タイマ1021および応答データ受信判定部1022を具備する。
マスタデータ演算部1020は、マスタ応答データバッファ1031に格納された応答データを演算し、演算結果をマスタ指令データバッファ1030とマスタ再送用指令データバッファ1032へ格納する。例えば、FAの分野でコントローラをマスタとしてサーボをスレーブとして制御する場合、スレーブからフィードバックを応答データとして受信し次の目標位置を演算により算出し、指令データとする。
マスタ送信処理部1010は、応答データ受信判定部1022 の状態に応じて、前回のアイソクロナスサイクルでスレーブが正常受信したときはマスタ指令データバッファ1030の内容を、前回が異常受信であれば再送用指令データバッファ1032の内容をスレーブに送信し、同時に応答データ受信監視タイマ1021へ送信通知する。マスタ受信処理部1011は、スレーブからのアシンクロナス・ストリームによる応答データを受信し、マスタ応答データバッファ1031に格納すると共に、応答データ受信監視タイマ1021へ受信通知する。応答データ受信監視タイマ1021は、送信通知により起動され、受信通知によりリセットされ、送信通知のあったアイソクロナスサイクル内にリセットされない場合は異常受信としてタイムアップを応答データ受信判定部1022へ通知する。
再送対象スレーブ一覧1033は、応答データの受信を正常に受信できなかったスレーブを記憶する手段でスレーブが複数の場合使用する。
次に図1の第1スレーブ21について説明する。なお、図では省略しているが、第2スレーブ22、第3スレーブ23も第1スレーブ21と構成は同一である。図1の第1スレーブ21は、通信データを送受信するスレーブIEEE1394通信部201と通信データの演算や監視を行うスレーブ情報処理部202と通信データを格納するスレーブ記憶部203を備え、スレーブIEEE1394通信部201を介してIEEE1394ネットワークと接続する。スレーブ記憶部203はマスタ10から受信した指令データを格納するスレーブ指令データバッファ2030、マスタ10に送信する応答データを格納するスレーブ応答データバッファ2031を具備し、スレーブIEEE1394通信部201はスレーブ送信処理部2010およびスレーブ受信処理部2011を具備し、スレーブ情報処理部202は受信した指令データから応答データを作成するスレーブデータ演算部2020、指令データの受信を監視する指令データ受信監視タイマ2021および指令データ受信判定部2022を具備する。
スレーブ受信処理部2011はアイソクロナスサイクル開始を検出すると指令データ受信監視タイマ2021へ起動通知を行い、指令データを受信するとスレーブ指令データバッファ2030に格納すると共に、スレーブ送信処理部2010および指令データ受信監視タイマ2021へリセット通知を行う。指令データ受信監視タイマ2021は、スレーブ受信処理部2011からの起動通知を受けた場合、タイマを起動し、リセット通知を受けた場合、タイマをリセットし、予め設定された時間内に受信通知を受けない場合、異常受信としてタイムアップを指令データ受信判定部2022へ通知する。指令データ受信判定部2022は指令データ受信監視タイマ2021から通知を受けると、スレーブ送信処理部2010へ通知する。
スレーブ送信処理部2010は、スレーブ受信処理部2011または指令データ受信判定部2022から通知を受信したタイミングで、スレーブ応答データバッファ2031に格納された応答データをマスタ10に送信する。
ここで第1スレーブ21は、マスタ10が送信した指令データの受信結果の通知にアシンクロナス転送でなく、ACKおよびレスポンスパケットを伴わないアシンクロナス・ストリームを使用するので、ACKやレスポンスパケット、およびそれに伴うギャップによる伝送効率の低下を避けることができる。
次に、本発明によるIEEE1394ネットワークの通信タイミングの詳細を図に基づいて説明する。
図2は、マスタとスレーブが1対1で接続されている場合の通信タイミングを示す図で、マスタからスレーブへ画像データやファイルデータなどの連続したデータを送信する場合を想定している。(図1では、第1スレーブ21のみが接続されている場合である。)図2では、マスタ−スレーブ間のアイソクロナスサイクル(m−1)〜(m+2)の4アイソクロナスサイクル分の通信が示されている。
本例では、アイソクロナスサイクルmで異常受信となる場合を例示してある。また、スレーブ21の指令データの異常受信を通知する手段として、正常受信時のみ応答を送信する方法を採用しているが、異常受信時のみ応答を送信する方法または正常受信時、異常受信時どちらも受信結果を応答データに格納して送信する方法の何れの方法でも、同一アイソクロナスサイクル内にマスタに通知するという点で同等である。加えて、本例ではマスタ10をIEEE1394のサイクルマスタとしている。このため、各アイソクロナスサイクルの先頭では、マスタ10がサイクルスタートパケットを送信しているが、スレーブ21またはそれ以外の局がサイクルマスタとなった場合も、本発明は同様に適用できる。
図2のアイソクロナスサイクル(m−1)において、マスタ10はサイクルスタートパケット(m−1)を送信すると、アイソクロナスギャップの無通信状態を経過後、指令データ(n−1)をアイソクロナス・ストリームにて送信する。スレーブ21は指令データ(n−1)を正常に受信すると、サブアクションギャップの無通信状態を経過後、指令データ(n−1)に対する応答データ(n−1)をアシンクロナス・ストリームにて送信する。この時、応答データ(n−1)は、スレーブの受信状態を通知するだけでなく、スレーブ21の動作状態などをデータとして付加しても良い。
続くアイソクロナスサイクルmでは、スレーブ21は、マスタ10の指令データnをアイソクロナス転送帯域内で正常に受信しないため、応答データの送信を中止する。
マスタ10は、同一アイソクロナスサイクル内でスレーブ21からの応答データを受信しないために、続くアイソクロナスサイクル(m+1)にて指令データnの再送である指令データnrを送信する。前記指令データnrをアイソクロナス転送帯域内で正常受信したスレーブ21は応答データnrをアシンクロナス・ストリームで送信し、マスタ10に指令データnrの正常受信を通知することができる。
図2のアイソクロナスサイクル(m+2)においてマスタ10およびスレーブ21の動作は、アイソクロナスサイクル(m−1)と同じである。
図3は、マスタとスレーブが1対1で接続されている場合のマスタ10の送受信処理を示すフローチャートである。
図3はアイソクロナス・サイクルに同期して毎周期起動される処理である。マスタ10は送受信処理を開始すると、ステップS100で応答データ受信判定部1022を参照し前サイクルでスレーブ21からの応答データを正常受信したか確認する。正常受信した場合は、ステップS101でマスタ指令データバッファ1030に格納された今回用指令データを送信する。前サイクルでスレーブ21が異常受信だった場合、ステップS107で再送用指令データバッファ1032に格納された前回用指令データを送信する。次にステップS102で応答データ受信監視タイマ1021を起動し、ステップS103でスレーブ21からの応答データの受信を待つ。スレーブ21からの応答データを正常に受信した場合、ステップS104で応答データ受信監視タイマ1021を停止した後、ステップS105で受信データをマスタ応答データバッファ1031へ保存する。ステップS106で正常受信を応答データ受信判定部1022に通知する。
スレーブ21からの応答データ受信待ち中にステップS108で応答データ受信監視タイマ1021がタイムアップした場合、ステップS109で異常受信したことを応答データ受信判定部1022に通知する。
また、本例では応答データの受信監視にタイマを使用したが、IEEE1394で規定されるシリアルバス依存レジスタのCYCLE_TIMEレジスタの現在値の読み出しを繰り返すことにより計時しても良い。ここで、CYCLE_TIMEレジスタとは、32ビット幅のレジスタで、下位13ビットは24.576MHz周期で1増える3072カウント(125μs)の剰余を表す。アイソクロナス転送に対応するノードはこのCYCLE_TIMEレジスタを必ず実装しなければならない。
図4は、スレーブ21の送受信処理を示すフローチャートである。
図4は、アイソクロナスサイクル開始検出で起動される処理である。アイソクロナスサイクル開始検出方法としては、マスタ10からのサイクルスタートパケット受信割込みを使用する方法や、CYCLE_TIMEレジスタに連動したタイマを実装し125μs周期の割込みを発生させる方法がある。
スレーブ21はステップS200で指令データ受信監視タイマを起動し、ステップS201でマスタ10からの指令データを受信すると正常受信かどうか判定する。ここで正常受信の場合、ステップS202で自局宛の指令データか確認し、自局宛データの場合はステップS203で受信した指令データをスレーブ指令データバッファ2030に保存後、ステップS204でアシンクロナス・ストリームによりスレーブ応答データバッファ2031の応答データを送信する。つぎに、ステップS205で正常受信を指令データ受信判定部2022に通知する。ステップS201で正常受信しない場合、ステップS206で指令データ受信監視タイマ2021がタイムアップしたかどうかチェックする。タイムアップした場合、異常受信を指令データ受信判定部2022に通知する。ステップS202で自局宛指令データでない場合、スレーブ21は応答データを送信せずに送受信処理を終了する。
ステップS202はスレーブがN局接続されるシステムにも適用可能にするための処理であるため、マスタとスレーブが1対1で接続されたシステムの場合、この処理は省略可能である。
次に、本発明によるIEEE1394ネットワークの通信タイミングの第2の例の詳細を図に基づいて説明する。
図5は、マスタとスレーブが1対Nで接続されている場合の通信タイミングを示す図で、マスタとスレーブが1つ以上のアイソクロナスサイクルから構成される通信周期で、指令データと応答データを定周期に交換するサイクリック通信の場合を想定している。
本例では、アイソクロナスサイクルmで異常受信となる場合を例示してある。また、スレーブ21の指令データの異常受信を通知する手段として、正常受信時のみ応答を送信する方法を採用しているが、異常受信時のみ応答を送信する方法または正常受信時、異常受信時どちらも受信結果を応答データに格納して送信する方法の何れの方法でも、同一アイソクロナスサイクル内にマスタ10に通知するという点で同等である。加えて、本例では通信周期に指令送信用の2アイソクロナスサイクル、再送用の1アイソクロナスサイクルを割り付けていて、1アイソクロナスサイクル当たり1スレーブと指令データおよび応答データの交換を実施している。従って、本例の通信システムでは1通信周期当たり1回、1局のスレーブに対して再送が可能である。
図5には、通信周期(m−1)〜(m+1)の3周期分の通信が示されている。
各通信周期内の1番目のアイソクロナスサイクルを第1スレーブ21、2番目のアイソクロナスサイクルを第2スレーブ22への指令データ送信用に割り付け、3番目のアイソクロナスサイクルを再送用に割り付けている。
ここで、通信周期(m−1)および(m+1)では、第1スレーブ21、第2スレーブ22共にアイソクロナス・ストリームによる指令データを正常受信し、応答データをアシンクロナス・ストリームにて送信しているので、再送用アイソクロナスサイクルでのデータ交換はない。
しかし、通信周期mにおいて、第1スレーブ21が指令データnの受信に失敗し応答データを送信しないため、マスタ10は、再送用に割り当てられた3番目のアイソクロナスサイクルで、第1スレーブ21に対して指令データの再送を実施している。
なお、本例でもマスタ10をIEEE1394のサイクルマスタとしている。このため、各アイソクロナスサイクルの先頭では、マスタがサイクルスタートパケットを送信しているが、第1スレーブ21またはそれ以外の局がサイクルマスタとなった場合も、本発明は同様に適用できる。
図6は、マスタとスレーブが1対Nで接続されている場合のマスタ10の送受信処理を示すフローチャートである。 図6は、図3同様にアイソクロナス・サイクルに同期して毎周期起動される処理である。
マスタ10は送受信処理を開始すると、はじめにステップS301でアイソクロナスサイクルの割り付けを確認する。アイソクロナスサイクルが指令データ送信用に割り付けられている場合、ステップS302で通信周期先頭のアイソクロナスサイクルかどうかを確認する。
ここで通信周期先頭のアイソクロナスサイクルの場合、ステップS303で再送対象スレーブ一覧1033をクリアし、それ以外のアイソクロナスサイクルの場合はステップS303を実行しない。
マスタ10はステップS304で当該アイソクロナスサイクルの送信先スレーブを取り出した後、ステップS305で今回用指令データを送信する。
次にマスタ10は、ステップS306で応答データ受信監視タイマ1021を起動し、ステップS307でスレーブ21、22からの応答データの受信を待つ。スレーブ21、22からの応答データを正常に受信した場合、ステップS308で応答データ受信監視タイマ1021を停止した後、ステップS309で受信データをマスタ応答データバッファ1031に保存する。そしてステップS310で正常受信を応答データ受信判定部1022に通知する。
また、ステップS307でスレーブ21、22からの応答データ受信待ち中にステップS314で応答データ受信監視タイマ1021がタイムアップした場合、マスタ10はステップS315で当該スレーブを再送対象スレーブ一覧1033に登録する。そして、ステップS316で異常受信を応答データ受信判定部1022に通知する。
ステップS301で、アイソクロナスサイクルが指令データの送信用でないと判別された場合、指令再送用アシンクロナスサイクルと判断されステップS311に進み、再送対象スレーブ一覧を確認する。登録されたスレーブがある場合、ステップS312で送信先スレーブを取り出した後、ステップS313で当該スレーブへ前回送信した指令データを再送する。
また、本例では応答データの受信監視にタイマを使用したが、シリアルバス依存レジスタのCYCLE_TIMEレジスタの現在値読み出しを繰り返すことにより計時しても良い。
以上、マスタとスレーブが1対Nの場合におけるマスタの送受信処理を、図6を用いて説明したが、この場合もスレーブの送受信処理は図4の通りである。
このように、IEEE1394に接続された1つのマスタと少なくとも1つのスレーブからなる通信システムにおいて、マスタはスレーブへの指令データをアイソクロナス・ストリームにて送信し、スレーブはマスタから指令データの受信結果をアシンクロナス・ストリームの応答データまたは無応答により同一アイソクロナスサイクル中にマスタに通知する手順をとるので、次のアイソクロナスサイクルにて指令データの再送を実行することができる。
また、マスタがN局のスレーブと定周期通信を行う場合、通信周期を指令データの送信用に割り当てた1つ以上のアイソクロナスサイクルと、指令データ再送用に割り当てた1つ以上のアイソクロナスサイクルから構成し、マスタは指令データ送信用に割り当てたアイソクロナスサイクルで異常受信を検出したスレーブに対し、指令データ再送用に割り当てたアイソクロナスサイクルのアイソクロナス転送帯域の範囲で指令データを再送するという手順をとるので、同一通信周期内に指令データの再送を行うことができ、かつ、再送による通信周期の超過を発生させないようにすることができる。
本発明は、IEEE1394で接続された機器間の通信に広く利用できる。
具体的には、特許文献1にて例示されるプリンタコントローラとプリンタ間や、PCとDVカメラ間の様なストリーム型データ転送の用途にも、コントローラとサーボ間の制御通信の様な同期を伴うサイクリック通信の用途にも適用できる。
本発明のマスタ−スレーブ通信システムの構成を示すブロック図 マスタとスレーブが1対1で接続されている場合の通信タイミングを示す図 本発明のマスタとスレーブが1対1で接続されている場合のマスタの送受信処理を示すフローチャート 本発明のスレーブの送受信処理を示すフローチャート マスタとスレーブが1対Nで接続されている場合の通信タイミングを示す図 本発明のマスタとスレーブが1対Nで接続されている場合のマスタの送受信処理を示すフローチャート 従来のマスタ―スレーブ通信システムの構成を示す図 従来の通信タイミングを示す図
符号の説明
10 マスタ
101 マスタIEEE1394通信部
102 マスタ情報処理部
103 マスタ記憶部
1010 マスタ送信処理部
1011 マスタ受信処理部
1020 マスタデータ演算部
1021 応答データ受信監視タイマ
1022 応答データ受信判定部
1030 マスタ指令データバッファ
1031 マスタ応答データバッファ
1032 再送用指令データバッファ
1033 再送対象スレーブ一覧
21、22、23 第1、第2、第3スレーブ
201 スレーブIEEE1394通信部
202 スレーブ情報処理部
203 スレーブ記憶部
2010 スレーブ送信処理部
2011 スレーブ受信処理部
2020 スレーブデータ演算部
2021 指令データ受信監視タイマ
2022 指令データ受信判定部
2030 スレーブ指令データバッファ
2031 スレーブ応答データバッファ
30 IEEE1394ネットワーク

Claims (12)

  1. IEEE1394の通信データを送受信するマスタIEEE1394通信部と、
    前記通信データの演算や監視を行うマスタ情報処理部と、
    前記通信データを格納するマスタ記憶部とを有し、
    該マスタ記憶部に、スレーブから受信した応答データを格納するマスタ応答データバッファと、
    前記スレーブに対し送信する指令データを格納するマスタ指令データバッファとを有するマスタと、
    前記IEEE1394の通信データを送受信するスレーブIEEE1394通信部と、
    前記通信データの演算や監視を行うスレーブ情報処理部と、
    前記通信データを格納するスレーブ記憶部を有し、
    該スレーブ記憶部に、前記マスタから受信した指令データを格納するスレーブ指令データバッファと、
    前記マスタに送信する応答データを格納するスレーブ応答データバッファを有する少なくとも1つのスレーブがIEEE1394ネットワークで接続されたマスタ―スレーブ通信システムにおいて、
    前記マスタIEEE1394通信部に、前記スレーブからの応答データを受信するマスタ受信処理部と、
    前記マスタ指令データバッファまたは前記再送用指令データバッファに格納された指令データを前記スレーブにアイソクロナス・ストリームで送信するマスタ送信処理部とを備え、
    前記マスタ情報処理部に、前記マスタ送信処理部からの送信通知により起動し、前記マスタ受信処理部の受信通知によりリセットされ、アイソクロナスサイクル内にリセットされないときはタイムアップとなる応答データ受信監視タイマと、
    前記スレーブからの応答データが正常であったかどうかを判定し、判定結果を前記マスタ送信処理部に通知する応答データ受信判定部とを備え、
    前記マスタ記憶部に、前記スレーブが異常受信したときに再送するデータを格納する再送用指令データバッファと、
    前記複数のスレーブが異常受信したときにデータを再送するスレーブの情報を格納する再送対象スレーブ一覧とを備え、
    前記スレーブIEEE1394通信部に、前記マスタからの指令データを受信するスレーブ受信処理部と、
    前記スレーブ応答データバッファに格納された前記マスタへの応答データを前記マスタから指令データを受信した同一アイソクロナス内にアシンクロナス・ストリームで送信するスレーブ送信処理部とを備え、
    前記スレーブ情報処理部に、所定の時間内に前記受信処理部から受信通知がないとタイムアップする指令データ受信監視タイマと、
    前記マスタからの指令データが正常であったかどうかを判定し、判定結果を前記スレーブ送信処理部に通知する指令データ受信判定部を備えることを特徴とするマスタ―スレーブ通信システム。
  2. 前記スレーブは、前記マスタへの応答データを、マスタからの指令データを正常受信した場合のみ送信することを特徴とする請求項1記載のマスタ−スレーブ通信システム。
  3. 前記スレーブは、前記マスタへの応答データを、マスタからの指令データを異常受信した場合のみ送信することを特徴とする請求項1記載のマスタ−スレーブ通信システム。
  4. 前記スレーブは、前記マスタへの応答データを、マスタからの指令データを正常受信した場合も異常受信した場合も送信することを特徴とする請求項1記載のマスタ−スレーブ通信システム。
  5. 前記マスタと前記スレーブが1対1で接続されている場合、
    前記マスタは、前記スレーブの異常受信を検出した場合、前記スレーブが異常受信したデータを送信したアイソクロナスサイクルの次のアイソクロナスサイクルで前回前記スレーブに指令した指令データを再送する手段を備えることを特徴とする請求項1記載のマスタ−スレーブ通信システム。
  6. 前記マスタと前記スレーブが1対Nで接続されている場合、
    前記マスタは、前記N局のスレーブに指令データ送信用に割り当てたN個のアイソクロナスサイクルと、前記指令データ再送用に割り当てた1つ以上のアイソクロナスサイクルとからなる通信周期で定周期通信を行う手段を備えることを特徴とする請求項1記載のマスタ−スレーブ通信システム。
  7. IEEE1394の通信データを送受信するマスタIEEE1394通信部と、
    前記通信データの演算や監視を行うマスタ情報処理部と、
    前記通信データを格納するマスタ記憶部とを有するマスタと、
    前記IEEE1394の通信データを送受信するスレーブIEEE1394通信部と、
    前記通信データの演算や監視を行うスレーブ情報処理部と、
    前記通信データを格納するスレーブ記憶部とを有する少なくとも1つのスレーブがIEEE1394ネットワークで接続されたマスタ−スレーブ通信システムの通信方法において、
    前記マスタは、前記スレーブへの指令データをアイソクロナス・ストリームで送信し、
    前記スレーブは、前記マスタへの応答データを前記マスタから指令データを受信した同一アイソクロナスサイクル内にアシンクロナス・ストリームで送信することを特徴とするマスタ−スレーブ通信システムの通信方法。
  8. 前記スレーブは、前記マスタへの応答データを、マスタからの指令データを正常受信した場合のみ送信することを特徴とする請求項7記載のマスタ−スレーブ通信システムの通信方法。
  9. 前記スレーブは、前記マスタへの応答データを、マスタからの指令データを異常受信した場合のみ送信することを特徴とする請求項7記載のマスタ−スレーブ通信システムの通信方法。
  10. 前記スレーブは、前記マスタへの応答データを、マスタからの指令データを正常受信した場合も異常受信した場合も送信することを特徴とする請求項7記載のマスタ−スレーブ通信システムの通信方法。
  11. 前記マスタと前記スレーブが1対1で接続されている場合、
    前記マスタは、前記スレーブの1つ前のアイソクロナスサイクルの正常受信を検出するステップと、
    正常受信した場合は、今回用指令データを送信するステップと、
    異常受信した場合は、1つ前のアイソクロナスサイクルで送信した前回用指令データを再送信するステップと、
    応答データ受信監視タイマを起動するステップと、
    今回のアイソクロナスサイクルの正常受信を検出するステップと、
    正常受信を検出した場合前記応答データ受信監視タイマを停止し応答データを保存するステップと、
    正常受信を前記応答データ受信判定部に通知するステップと、
    正常受信を検出しない場合前記応答データ受信監視タイマを監視するステップと、
    前記応答データ受信監視タイマがタイムアップしたとき、異常受信を前記応答データ受信判定部に通知するステップを備えることを特徴とする請求項7記載のマスタ−スレーブ通信システムの通信方法。
  12. 前記マスタと前記スレーブが1対Nで接続されている場合、
    前記マスタは、今回のアイソクロナスサイクルが指令送信用アイソクロナスサイクルかどうかチェックするステップと、
    指令送信用アイソクロナスサイクルの場合、通信周期先頭のアイソクロナスサイクルであれば、異常受信が発生しデータの再送が必要な前記スレーブを記憶している再送対象スレーブ一覧をクリアするステップと、
    送信先スレーブに今回用指令データを送信するステップと、
    今回のアイソクロナスサイクルが指令送信用アイソクロナスサイクルでない場合、再送対象スレーブがあるかどうか判別するステップと、
    前記再送対象スレーブがあった場合、該再送対象スレーブに1つ前のアイソクロナスサイクルで送信した前回用指令データを再送信するステップと、
    応答データ受信監視タイマを起動するステップと、
    今回のアイソクロナスサイクルの正常受信を検出するステップと、
    正常受信を検出した場合前記応答データ受信監視タイマを停止し応答データを保存するステップと、
    正常受信を前記応答データ受信判定部に通知するステップと、
    正常受信を検出しない場合前記応答データ受信監視タイマを監視するステップと、
    前記応答データ受信監視タイマがタイムアップしたとき、当該スレーブを前記再送対象スレーブ一覧に登録するステップと、
    異常受信を前記応答データ受信判定部に通知するステップを備えることを特徴とする請求項7記載のマスタ−スレーブ通信システムの通信方法。
JP2005070750A 2005-03-14 2005-03-14 マスタ−スレーブ通信システムおよび通信方法 Pending JP2006254290A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005070750A JP2006254290A (ja) 2005-03-14 2005-03-14 マスタ−スレーブ通信システムおよび通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005070750A JP2006254290A (ja) 2005-03-14 2005-03-14 マスタ−スレーブ通信システムおよび通信方法

Publications (1)

Publication Number Publication Date
JP2006254290A true JP2006254290A (ja) 2006-09-21

Family

ID=37094264

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005070750A Pending JP2006254290A (ja) 2005-03-14 2005-03-14 マスタ−スレーブ通信システムおよび通信方法

Country Status (1)

Country Link
JP (1) JP2006254290A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008078585A1 (ja) * 2006-12-27 2008-07-03 Kabushiki Kaisha Yaskawa Denki マスタ・スレーブ通信システムおよびマスタ・スレーブ通信方法
JP2015069324A (ja) * 2013-09-27 2015-04-13 サイレックス・テクノロジー株式会社 デバイスサーバとその制御方法
US9736076B2 (en) 2014-02-10 2017-08-15 Silex Technology, Inc. Device server and control method thereof

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008078585A1 (ja) * 2006-12-27 2008-07-03 Kabushiki Kaisha Yaskawa Denki マスタ・スレーブ通信システムおよびマスタ・スレーブ通信方法
JPWO2008078585A1 (ja) * 2006-12-27 2010-04-22 株式会社安川電機 マスタ・スレーブ通信システムおよびマスタ・スレーブ通信方法
JP4683346B2 (ja) * 2006-12-27 2011-05-18 株式会社安川電機 マスタ・スレーブ通信システムおよびマスタ・スレーブ通信方法
US8046512B2 (en) 2006-12-27 2011-10-25 Kabushiki Kaisha Yaskawa Denki Communication system with master and slave exchanging control data in predetermined communication period
JP2015069324A (ja) * 2013-09-27 2015-04-13 サイレックス・テクノロジー株式会社 デバイスサーバとその制御方法
US9736076B2 (en) 2014-02-10 2017-08-15 Silex Technology, Inc. Device server and control method thereof

Similar Documents

Publication Publication Date Title
JP2723212B2 (ja) 通信アクセス制御方法および通信制御装置
JP5510275B2 (ja) 通信システム、マスタノード、スレーブノード
US7900115B2 (en) Replacement messages for identifying and preventing errors during the transmission of realtime-critical data
JP2005073251A (ja) 無線通信システムにおいて送信ウィンドウサイズ変更手順を処理するために受信機と送信機とを制御する方法
US20230412331A1 (en) Transmitting and Receiving Packets Wirelessly with Time Based Packet Data Portion Positioning
JPH0548610A (ja) 無線通信システム
JP5344986B2 (ja) 無線中継局
JP2005065289A (ja) 無線通信システムにおいてリセット手続きを制御する方法および装置
JP2000196602A (ja) 無線通信における多重アクセス方法
WO2011036701A1 (ja) 無線通信装置および通信プログラム
US20110238773A1 (en) Data communication system and data communication apparatus
US11564241B2 (en) Method for operating a radio communication system for an industrial automation system, radio communication system, base station and subscriber station
JP2006254290A (ja) マスタ−スレーブ通信システムおよび通信方法
WO2007066588A1 (ja) 無線lan通信システム
JP4458278B2 (ja) 通信サイクル制御方法
JP5396812B2 (ja) 伝送制御装置および伝送制御方法
JP2009118298A (ja) 制御システム及び通信制御方法
JP6534017B2 (ja) 通信システム、通信装置、及び、通信システムの制御方法
JP2004260562A (ja) パケット送受信方法、及び装置
JP2000269993A (ja) データ伝送方法と伝送装置
JPH11252134A (ja) 同報通信システム
JP2007274123A (ja) 通信システム及び通信方法。
US7388864B2 (en) Data communication apparatus, data communication system, data communication method, data communication program and information recording medium
JP2005286380A (ja) リング接続による通信システム
JP2010028743A (ja) 通信制御システム