JP4038203B2 - データ伝送装置 - Google Patents

データ伝送装置 Download PDF

Info

Publication number
JP4038203B2
JP4038203B2 JP2004279387A JP2004279387A JP4038203B2 JP 4038203 B2 JP4038203 B2 JP 4038203B2 JP 2004279387 A JP2004279387 A JP 2004279387A JP 2004279387 A JP2004279387 A JP 2004279387A JP 4038203 B2 JP4038203 B2 JP 4038203B2
Authority
JP
Japan
Prior art keywords
data
unit
slave
slave unit
master unit
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
JP2004279387A
Other languages
English (en)
Other versions
JP2006094302A (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.)
FANUC Corp
Original Assignee
FANUC 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 FANUC Corp filed Critical FANUC Corp
Priority to JP2004279387A priority Critical patent/JP4038203B2/ja
Publication of JP2006094302A publication Critical patent/JP2006094302A/ja
Application granted granted Critical
Publication of JP4038203B2 publication Critical patent/JP4038203B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Description

本発明は、データ伝送装置に関し、特にデイジーチェーン接続されたマスタユニットとスレーブユニットとの間のデータ伝送においてバーストエラーの訂正に適したデータ伝送装置に関する。
数値制御装置、ロボット制御装置及びこれら送信の周辺機器等の産業機器のシステムにおいて、複数の機器をシリアル通信で結んでシステムを構成し、それぞれの機器の間で同期性を保って動作させる必要がある場合がある。
例えば、CNC制御装置で駆動制御される工作機械等においては、工作機械の送り軸の現在位置を検出する場合、同期をとって同一時刻における各軸の位置を検出しなければならない。また、各軸の移動も同期をとる必要がある。従来、このような同期をとるための信号はシリアル通信を介して伝達されている。
例えば、一台の数値制御装置と複数台のサーボアンプを光ケーブル等による通信ラインでデイジーチェーン接続するデータ伝送では、数値制御装置は通信ラインを通して各サーボアンプに対してモータ駆動の指令を送出し、サーボアンプはこの指令を受信し、受信した指令に従ってサーボモータを駆動する(特許文献1参照)。
特開平10−013394号公報
上記のようなデータ伝送において、誤り訂正符号(ECC符号)を用いてデータ伝送を行う場合がある。この誤り訂正符号では、ある一定の長さのバーストエラーに対しては修復可能であるが、バーストエラー長が長くなると修復ができないという問題があり、機械が誤動作するおそれがある。
図18は、バーストエラーにより誤り訂正の概略を説明するための図である。図18(a)は誤り訂正符号化前のデータであり、図18(b)は誤り訂正符号化後のデータを表し、誤り訂正符号をECCで模式的に表している。ここで、誤り訂正符号により修復可能なバーストエラー長を3ビットと仮定する。バーストエラーによりX2〜X4の3ビット分のデータが消失した場合(図18(c))には、誤り訂正符号によってバーストエラーを修復して元のデータを得ることができる(図18(d))。
これに対して、バーストエラーによりX2〜X5の4ビット分のデータが消失した場合(図18(e))には、誤り訂正符号の修復能力を越えているため、バーストエラーを修復して元のデータを得ることができない(図18(f))。
そこで、本発明は、誤り訂正符号が訂正可能なバーストエラー長よりも長いバーストエラーであってもデータを修復することができるデータ伝送装置を提供することを目的とする。
本発明は、伝送するデータの冗長度を高めることによって、誤り訂正符号が訂正可能なバーストエラー長よりも長いバーストエラーであってもデータの修復を可能とするものである。
データの冗長度を単に高めると、データ長が長くなり、デイジーチェーン接続されたスレーブユニット間での同期性が保たれなくなるおそれがある。本発明は、このデータの冗長度を高めるために、デイジーチェーン接続される他のスレーブユニットに係わるデータを用いることによって、生成したデータ単位内に複数のスレーブユニットに係わるデータを含ませることでデータ長の長大化を抑え、これにより複数のスレーブユニットでの動作の同期性を保つことができる。
マスタユニットとスレーブユニットとの間で行われるデータ伝送では、マスタユニットからスレーブユニットに向けて伝送する態様と、逆にスレーブユニットからマスタユニットに向けて伝送する態様とがあり、本発明のデータ伝送装置は、このマスタユニットからスレーブユニットに向けてデータを伝送する第1の伝送態様と、スレーブユニットからマスタユニットに向けてデータを伝送する第2の伝送態様を含む。
マスタユニットからスレーブユニットに向けてデータを伝送する第1の伝送態様において、本発明のデータ伝送装置は、マスタユニットと一台以上のスレーブユニットをシリアルバスによりデイジーチェーン接続し、マスタユニットとスレーブユニット間でデータの授受を行う装置であって、マスタユニットは、所定のスレーブユニットを送信先とするデータと、他のスレーブユニットを送信先とするデータ及び/又は冗長なデータとを用いて誤り訂正符号付きデータを生成しスレーブユニットに送信する構成とする。
本発明の第1の伝送態様では、マスタユニットは、所定のスレーブユニットに送信する誤り訂正符号付きのデータに対して、他のスレーブユニットを送信先とするデータ及び/又は冗長なデータを組み合わせることによって送信データを生成し、スレーブユニットに送信する。
また、本発明の第1の伝送態様において、所定のスレーブユニットに送信するデータと組み合わせるデータは種々のデータを用いることができ、他のスレーブユニットに送信するデータとの組み合わせ、冗長なデータとの組み合わせ、あるいは、他のスレーブユニットに送信するデータと冗長なデータとの組み合わせとすることができる。
また、本発明の第1の伝送態様において行う組み合わせデータの生成は、所定のスレーブユニットに送信するデータのビット間に、他のスレーブユニットに送信するデータ及び/又は冗長なデータのビットを挿入することによって行うことができる。
マスタユニットは、デイジーチェーンされるスレーブユニットについて上記の送信データを生成し、シリアル通信によって送信する。各スレーブユニットは、マスタユニットから送られる送信データの中から各自のスレーブユニットに係わる送信データを抽出して取り込み、他のスレーブユニットに係わる送信データはそのまま下流側に転送する。
各スレーブユニットは、取り込んだ送信データについて復号化してデータエラーをチェックし、エラーが無ければそのまま制御データとして使用し、エラーがある場合には誤り訂正を行って制御データを生成し使用する。
本発明の第1の伝送態様において、デイジーチェーン接続される他のスレーブユニットに係わるデータ等を用いることによって、生成した送信データの冗長度を増加させて長いバーストエラー長に対する耐性を高める。また、その組み合わせによる一データ単位内には複数のスレーブユニットに係わるデータを含ませることができるため、各スレーブユニットのデータの冗長度を単に増やす場合と比較して、送信データの全体のデータ長が長大化することを抑えることができ、これによりデイジーチェーンされた複数のスレーブユニットにおける動作の同期性を保つことができる。
送信データの生成において、所定のスレーブユニットに送信するデータに対する他のスレーブユニットに送信するデータの組み合わせは可変とすることができ、例えば、デイジーチェーン上で隣接するスレーブユニットに限らず、デイジーチェーン上の任意の位置にあるスレーブユニットと組んで送信データを生成することができる。
また、組み合わせるスレーブユニットの個数は、マスタユニットに接続されるスレーブユニットの個数に応じて可変とすることができる。
例えば、デイジーチェーンされるスレーブユニットの総数の約数を組み合わせるスレーブユニットの個数とすることができる。デイジーチェーンされるスレーブユニットの総数が偶数である場合には、組み合わせるスレーブユニットの個数は例えば2個とすることができ、また、デイジーチェーンされるスレーブユニットの総数が3の倍数である場合には、組み合わせるスレーブユニットの個数は例えば3個とすることができる。
組み合わせるスレーブユニットの個数によってデイジーチェーンされるスレーブユニットの総数が割り切れずに余りが生じた場合には、余りに対応するスレーブユニットについては予め用意しておいた冗長データを用いる。
また、組み合わせスレーブユニットは、デイジーチェーン接続上で隣接する複数のスレーブユニットから選択することができる。
マスタユニットは、所定のスレーブユニットに送信するデータと組み合わせるデータを設定する設定手段を備える。設定手段は、マスタユニットに接続されるスレーブユニットの個数に応じて組み合わせるデータを変更し設定する。また、設定手段は、マスタユニットに接続されるスレーブユニットの個数に応じて、他のスレーブユニットのデータを挿入するか、冗長なデータを挿入するかの設定を行う。
スレーブユニットからマスタユニットに向けてデータを伝送する第2の伝送態様において、マスタユニットと一台以上のスレーブユニットをシリアルバスによりデイジーチェーン接続し、マスタユニットとスレーブユニット間でデータの授受を行うデータ伝送装置において、スレーブユニットは、スレーブユニットの下流のスレーブユニットから受信したデータと自己スレーブユニットのデータとを用いて誤り訂正符号付きデータを生成し、生成した誤り訂正符号付きデータを上流のスレーブユニット又はマスタユニットに送信する。
上記した第2の伝送態様は、前記した第1の伝送態様と同様とすることができる。
本発明の第2の伝送態様において、データ伝送装置のスレーブユニットにおいて、スレーブユニットは、誤り訂正符号化したスレーブユニットのデータと、スレーブユニットの下流のスレーブユニットから受信したデータとを組み合わせて生成した送信データを、上流のスレーブユニット又はマスタユニットに送信する。
また、本発明の第2の伝送態様において行う組み合わせデータの生成は、自己のスレーブユニットに送信するデータのビット間に、自己の下流のスレーブユニットから受信したデータのビットを挿入することによって行うことができる。
スレーブユニットは、そのスレーブユニットのデータと組み合わせる他のスレーブユニットを可変とし、マスタユニットに接続されるスレーブユニットの個数に応じて組み合わせるスレーブユニットの個数を可変とする。
本発明によれば、伝送するデータの冗長度を高めることによって、誤り訂正符号が訂正可能なバーストエラー長よりも長いバーストエラーであってもデータの修復を可能とすることができる。
本発明によれば、デイジーチェーン接続される他のスレーブユニットに係わるデータを用いることによって、生成したデータ単位内に複数のスレーブユニットに係わるデータを含ませることでデータ長の長大化を抑え、これにより複数のスレーブユニットでの動作の同期性を保つことができる。
以下、本発明の実施の形態について、図を参照しながら詳細に説明する。
図1は、本発明のデータ伝送装置を適用することができるシステム構成図である。図1において、データ伝送装置1は、一台のマスタユニット(例えば、数値制御装置)とn台のスレーブユニットS1〜Snがデイジーチェーン方式のシリアル通信ライン2で接続される。各スレーブユニットS1〜Snは、マスタユニットMから送信される制御信号による指令により駆動が制御され、また、各スレーブユニットS1〜Snの状態は、状態信号をマスタユニットMに送信することによって戻すことができる。スレーブユニットS1〜Snは、例えば、サーボモータや当該サーボモータを駆動制御するサーボアンプを備える。
上記のデータ伝送装置では、誤り訂正符号(ECC符号)を用いることにより、伝送したデータに誤りが発生した場合であっても修復を可能としている。伝送中に発生するエラーとしては、エラーが連続して発生するバーストエラーがある。訂正が可能なバーストエラーのエラー長は誤り訂正符号の方式によって定まっており、その誤り訂正符号が修復可能な長さ以上のバーストエラーが発生した場合には修復が不能となる。
図2は、データ伝送装置のマスタユニットから送信される通常のパケットの一例である。ここで、nは制御すべきスレーブユニットSの番号を表しており、図1で示すように、マスタユニットMに近い順に1,2,3,…,nとしている。マスタユニットMからは、各スレーブユニットSの制御データに誤り訂正符号(ECC符号)が付されたデータを送信している。各スレーブユニットSは、マスタユニットMから送信されるデータを無条件に次段のスレーブユニットSに転送するが、各自のスレーブユニットに該当するデータと誤り訂正符号が含まれている場合には取り込みを行う。各スレーブユニットSは、取り込んだデータと誤り訂正符号化を使ってデータにエラーが無いか否かをチェックし、エラーが無ければそのまま制御データとして使用し、エラーがある場合には誤り訂正を行った後に制御データとして使用する。
シリアル通信ラインに発生するエラーの多くは、連続したビットが破壊されるバーストエラーである。スレーブユニットSが受信したデータと誤り訂正符号でチェックした結果、エラーが発生していても、誤り訂正符号に訂正可能な長さのバーストエラーであれば、エラーのあるデータから正しいデータを抽出することができる。
マスタユニットMから送信されたデータをスレーブユニットSが受信すると、受信したデータをそのまま下流の次段のスレーブユニットSに送信する。したがって、マスタユニットMから遠いスレーブユニットSほど、データの到着時間が遅れる。マスタユニットMからスレーブユニットSへの通信は、モータ等のスレーブユニットS側の制御周期に同期して、一定の時間内に全てのスレーブユニットSに対してデータが届かないと各スレーブユニットSでの同期性が悪くなる。
これを防ぐために、図2に示すように、マスタユニットMから遠いスレーブユニットSに対するデータから先に送信する。図3は、伝送するデータ順を説明するための図である。図3において、マスタユニットMからデータを受信した一台目のスレーブユニットS1は、他のスレーブユニットS2〜Snより先にヘッダが到着するが、一台目のスレーブユニットS1に対するデータはパケットの最後に来るため、このスレーブユニットS1に対するデータを受信するタイミングは後となる。
これに対して、マスタユニットMから最も遠いスレーブユニットSnでは、他のスレーブユニットよりS1〜Sn-1よりも後にヘッダが到着するが、n台目のスレーブユニットSnに対するデータはヘッダのすぐ後にあるため、当該スレーブユニットSnに対するデータを取り込むタイミングは早くなる。
他方、図4は、データ伝送装置のスレーブユニットから送信される通常のパケットの一例である。ここでも、nは制御すべきスレーブユニットSの番号を表しており、図1で示すように、マスタユニットMに近い順にm−1,m,m+1,…,n−1,nとしている。ここでは、スレーブユニットmから上流側のスレーブユニットm−1に向けて伝送するパケット例について示している。
m台目のスレーブユニットmは、n台目からm+1台目までのデータ及び誤り訂正符号を下流のスレーブユニットm+1から受信し、これらのデータにスレーブユニットmにおいてマスタユニットMが必要とするデータに誤り訂正符号を付加し、上流側のスレーブユニットm−1に送信する。
同様に、m−1台目のスレーブユニットm−1は、n台目からm台目までのデータ及び誤り訂正符号を下流のスレーブユニットmから受信し、これらのデータにスレーブユニットm−1においてマスタユニットMが必要とするデータに誤り訂正符号を付加し、上流側のスレーブユニットm−2に送信する。
マスタユニットMは、各スレーブユニットS1〜Snから送信されたデータ及び誤り訂正符号を受信し、データと誤り訂正符号化を使ってデータにエラーが無いか否かをチェックする。
本発明は、上記のデータ伝送装置において、伝送するデータの冗長度を高めることによって、誤り訂正符号が訂正可能なバーストエラー長よりも長いバーストエラーであってもデータの修復を可能とする。
本発明のデータ伝送装置は、マスタユニットからスレーブユニットに向けてデータを伝送する第1の伝送態様と、スレーブユニットからマスタユニットに向けてデータを伝送する第2の伝送態様を含む。
以下、マスタユニットからスレーブユニットに向けてデータを伝送する第1の伝送態様について図5〜図1を用いて説明し、スレーブユニットからマスタユニットに向けてデータを伝送する第2の伝送態様について図1〜図1を用いて説明する。
はじめに、第1の伝送態様について説明する。データ伝送装置は、マスタユニットと一台以上のスレーブユニットをシリアルバスによりデイジーチェーン接続し、マスタユニットとスレーブユニット間でデータの授受を行うデータ伝送装置であり、マスタユニットは、所定のスレーブユニットに送信するデータと、他のスレーブユニットに送信するデータ及び/又は冗長なデータとを用いて誤り訂正符号付きデータを生成して送信を行う。
このとき、データ生成に用いるデータの組み合わせは、所定のスレーブユニットに送信するデータと他のスレーブユニットに送信するデータとの組み合わせ、所定のスレーブユニットに送信するデータと冗長なデータとの組み合わせ、あるいは、所定のスレーブユニットに送信するデータと、他のスレーブユニットに送信するデータ及び冗長なデータとの組み合わせとすることができる。
第1の伝送態様は、送信しようとするデータに他のデータを組み合わせて冗長度を高めたデータを生成し、このデータに誤り訂正符号を付加して送信する形態である。組み合わせるデータとしては、他のスレーブユニットに送信するデータ、冗長なデータ、あるいは他のスレーブユニットに送信するデータと冗長なデータとの組み合わせとすることができる。
図5は、この誤り訂正符号化された送信しようとするデータと他のデータとを組み合わせてデータ生成を行う形態を説明するための図である。なお、図5ではデータ(X1〜Xn)を実線で示し、データ(Y1〜Yn)を破線で示している。
図5(a)は送信しようとする誤り訂正符号付データ(X1〜Xn)を示しており、誤り訂正符号が含まれている。また、図5(b)は冗長度を高めるために組み合わせを行う他のデータ(Y1〜Yn)を示している。なお、ここでは、送信しようとするデータ(X1〜Xn)のデータ長と、組み合わせを行う他のデータ(Y1〜Yn)のデータ長を同一長さとしているが、必ずしも同一長さである必要はなく、異なるデータ長であってもよい。
データ(X1〜Xn)とデータ(Y1〜Yn)の組み合わせは、第1の形態と同様に、送信しようとするデータ(X1〜Xn)のビット間に他のデータ(Y1〜Yn)を挿入することにより行うことができる。なお、図5(c,d)では一ビット毎にデータの挿入を行っているが、複数ビット毎に挿入してもよく、組み合わせた後のデータから組み合わせ前の各データが分離できれば任意のビット位置とすることもできる。この挿入位置を予め設定しておくことで対応することができる。ここで、誤り訂正符号により修復することができるバーストエラー長を例えば3ビットとする。
図5(e)のデータにおいて連続する4ビット分のバーストエラーが発生し、(X2,Y2,X3,Y3)の4ビットが消失した場合、分離することで送信しようとするデータXを得ることができる(図5(f))。
分離したデータXについて、誤り訂正符号によってデータ(X1〜Xn)を修復することができる(図5(g))。
なお、連続して発生するバーストエラーに対する耐性を高めるには、図示するように一ビット毎にデータの挿入する構成例が適当であり、バーストエラーにより消失するデータ数を低減させることができる。
データの組み合わせは種々の形態とすることができる。図6はデータの組み合わせの形態を説明するための図である。
図6(a)は、二つのデータを組み合わせる例を示している。n台目のスレーブユニットに送信する誤り訂正符号を含むデータをDnとし、n−1台目のスレーブユニットに送信する誤り訂正符号を含むデータをDn-1としたとき、これら二つのデータDnとDn-1とを組み合わせることで誤り訂正符号付きのデータDn,n-1を生成する。同様にして、n−2台目のスレーブユニットに送信するデータをDn-2とし、n−3台目のスレーブユニットに送信するデータをDn-3としたとき、これら2つのデータDn-2とDn-3とを組み合わせることで誤り訂正符号付きのデータDn-2,n-3を生成する。
また、図6(b)は、三つのデータを組み合わせる例を示している。n台目のスレーブユニットに送信するデータをDnとし、n−1台目のスレーブユニットに送信するデータをDn-1とし、n−2台目のスレーブユニットに送信するデータをDn-2としたとき、これら三つのデータDnとDn-1とDn-2を組み合わせることで誤り訂正符号付きのデータDn,n-1,n-2を生成する。組み合わせるデータの個数は任意に設定することができる。
また、図ではデイジーチェーン上で隣接するスレーブユニットに係わるデータを組み合わせる例を示しているが、これに限らず任意の位置のスレーブユニットに係わるデータを組み合わせてもよい。
いずれの組み合わせにおいても、各スレーブユニットに対するデータに各データを特定するアドレスデータ等の識別データをヘッダ等に付与しておくことによって、各スレーブユニットは取り込むべきデータを認識することができ、シリアル通信ラインを流れるデータから自己のスレーブユニットが必要とするデータを取り込むことができる。
次に、図7〜図12を用いて、マスタユニットからスレーブユニットへのデータ伝送例について説明する。
図7は、マスタユニットMに対してスレーブユニットS1〜スレーブユニットSnがデイジーチェーン接続された構成例である。マスタユニットMにおいて、前記図6(a)で示したように、二つのデータを組み合わせて送信データを生成して、シリアル通信ラインを介して送信を行う。
スレーブユニットS1は送信データを受信すると共に、受信した送信データを次段のスレーブユニットS2に転送する。スレーブユニットS1は送信データからヘッダ情報を取り込んでスレーブユニットS1が取り込むべきデータがD2,1であることを取得し、送信データ中にデータD2,1が現れた時点で取り込みを行う。
取り込んだデータD2,1から、スレーブユニットS1が必要とするデータD1を取り出す。このとき、データD1には誤り訂正符号が含まれているため、バーストエラーが含まれている場合には誤り訂正により修復が行われる。
また、次段のスレーブユニットS2では、スレーブユニットS1から転送された送信データを受信すると共に、受信した送信データをさらに次段のスレーブユニットS3に転送する。スレーブユニットS2は送信データからヘッダ情報を取り込んでスレーブユニットS2が取り込むべきデータがD2,1であることを取得し、送信データ中にデータD2,1が現れた時点で取り込みを行う。
取り込んだデータD2,1から、スレーブユニットS2が必要とするデータD2を取り出す。このとき、データD2には誤り訂正符号が含まれているため、バーストエラーが含まれている場合には、誤り訂正により修復が行われる。
同様にして、デイジーチェーン接続された各スレーブユニットは順次下流側のスレーブユニットに対して送信データを順に転送を行う。最後のスレーブユニットSnでは、スレーブユニットSn−1から転送された送信データを受信する。スレーブユニットSnは送信データからヘッダ情報を取り込んでスレーブユニットSnが取り込むべきデータがDn,n-1であることを取得し、送信データ中にデータDn,n-1が現れた時点で取り込みを行って復号化してデータを取得する。
以下、マスタユニットでの送信データの生成例について説明する。
送信データの生成の際に組み合わせるデータの個数は、デイジーチェーン接続されるスレーブユニットの総数に応じて設定することができる。例えば、デイジーチェーンされるスレーブユニットの総数の約数を組み合わせるスレーブユニットの個数とすることができる。
例えば、デイジーチェーンされるスレーブユニットの総数が偶数である場合には、組み合わせるスレーブユニットの個数は例えば2個とすることができ、また、デイジーチェーンされるスレーブユニットの総数が3の倍数である場合には、組み合わせるスレーブユニットの個数は例えば3個とすることができる。
また、組み合わせるスレーブユニットの個数によってデイジーチェーンされるスレーブユニットの総数が割り切れずに余りが生じた場合には、余りに対応するスレーブユニットについては予め用意しておいた冗長データを用いる。
図8はデイジーチェーンされるスレーブユニットの総数が偶数である場合の例であり、図9はデイジーチェーンされるスレーブユニットの総数が奇数である場合の例である。 図8において、デイジーチェーンされるスレーブユニットの総数が偶数である場合には、約数である2により、組み合わせるスレーブユニットの個数を2とし、2台のスレーブユニットに係わるデータを組み合わせて送信データを生成する。図8(a)は組み合わせる前のデータ状態を示し、図8(b)は組み合わせた後のデータ状態を示している。なお、図8(a)のデータは前記したように、デイジーチェーン上の各スレーブユニットがデータを取得する際の同期性を保つために、遠い位置にあるスレーブユニットの係わるデータ(n台目のデータ)をヘッダの次に配置し、近い位置にあるスレーブユニットに係わるデータ(1台目のデータ)を最も後方に配置している。
これらデータについて、二つのデータを組み合わせてデータを生成する。図8(b)において、n台目のデータとn−1台目のデータを組み合わせてデータ生成を行ってヘッダの次に配置し、2台目のデータと1台目のデータを組み合わせてデータ生成して最後に配置する。
ここで、デイジーチェーンされるスレーブユニットの総数が偶数でない場合に、二つのデータを組み合わせてデータを生成すると、データ生成ができない組み合わせが生じることになる。そこで、この場合には、予め用意しておいた冗長なデータを用いてデータを生成する。
図9において、組み合わせるスレーブユニットの個数を2としたとき、デイジーチェーンされるスレーブユニットの総数が奇数である場合には、冗長なデータを付加することにより、2台のスレーブユニットに係わるデータを組み合わせて送信データを生成する。図9(a)は組み合わせる前のデータ状態を示し、図9(b)は組み合わせた後のデータ状態を示している。なお、図9(a)のデータは前記したように、デイジーチェーン上の各スレーブユニットがデータを取得する際の同期性を保つために、遠い位置にあるスレーブユニットの係わるデータ(n台目のデータ)をヘッダの次に配置し、近い位置にあるスレーブユニットに係わるデータ(1台目のデータ)を最も後方に配置している。
これらデータについて、二つのデータを組み合わせてデータを生成する。図9(b)において、冗長なデータとn台目のデータとを組み合わせて生成してヘッダの次に配置し、n−1台目のデータとn−2台目のデータを組み合わせて生成して次の位置に配置し、2台目のデータと1台目のデータを組み合わせて生成して最後に配置する。
なお、ここでは、n台目のデータに冗長なデータを組み合わせることで数合わせを行っているが、1台目のデータに冗長なデータを組み合わせることで数合わせを行うようにしてもよい。
次に、三つのデータを組み合わせてデータ生成を行う例について説明する。図10はデイジーチェーンされるスレーブユニットの総数が3の倍数である場合の例であり、図11はデイジーチェーンされるスレーブユニットの総数が3の倍数+2である場合の例であり、図12はデイジーチェーンされるスレーブユニットの総数が3の倍数+1である場合の例である。
図10において、デイジーチェーンされるスレーブユニットの総数が3の倍数である場合には、約数である3により、組み合わせるスレーブユニットの個数を3とし、3台のスレーブユニットに係わるデータを組み合わせて送信データを生成する。図10(a)は組み合わせる前のデータ状態を示し、図10(b)は組み合わせた後のデータ状態を示している。なお、図10(a)のデータは、前記したようにデイジーチェーン上の各スレーブユニットがデータを取得する際の同期性を保つために、遠い位置にあるスレーブユニットの係わるデータ(n台目のデータ)をヘッダの次に配置し、近い位置にあるスレーブユニットに係わるデータ(1台目のデータ)を最も後方に配置している。
これらデータについて、三つのデータを組み合わせてデータを生成する。図10(b)において、n台目のデータとn−1台目のデータとn−2台目のデータを組み合わせてデータ生成を行ってヘッダの次に配置し、3台目のデータと2台目のデータと1台目のデータを組み合わせてデータ生成して最後に配置する。
ここで、デイジーチェーンされるスレーブユニットの総数が3の倍数でない場合に、三つのデータを組み合わせてデータを生成すると、データ生成ができない組み合わせが生じることになる。そこで、この場合には、予め用意しておいた冗長なデータを用いてデータを生成する。
図11において、組み合わせるスレーブユニットの個数を3としたとき、デイジーチェーンされるスレーブユニットの総数が3の倍数+2である場合には、冗長なデータを一つ付加することにより、3台のスレーブユニットに係わるデータを組み合わせて送信データを生成する。図11(a)は組み合わせる前のデータ状態を示し、図11(b)は組み合わせた後のデータ状態を示している。なお、図11(a)のデータは、前記したようにデイジーチェーン上の各スレーブユニットがデータを取得する際の同期性を保つために、遠い位置にあるスレーブユニットの係わるデータ(n台目のデータ)をヘッダの次に配置し、近い位置にあるスレーブユニットに係わるデータ(1台目のデータ)を最も後方に配置している。
これらデータについて、三つのデータを組み合わせてデータを生成する。図11(b)において、一つの冗長なデータとn台目のデータとn−1台目のデータを組み合わせて生成してヘッダの次に配置し、n−2台目のデータとn−3台目のデータとn−4台目(図示していない)のデータを組み合わせて生成して次の位置に配置し、3台目のデータと2台目のデータと1台目のデータを組み合わせて生成して最後に配置する。
なお、ここでは、n台目のデータとn−1台目のデータに一つの冗長なデータを組み合わせることで数合わせを行っているが、2台目のデータと1台目のデータに冗長なデータを組み合わせることで数合わせを行うようにしてもよい。
また、図12において、組み合わせるスレーブユニットの個数を3としたとき、デイジーチェーンされるスレーブユニットの総数が3の倍数+1である場合には、冗長なデータを二つ付加することにより、3台のスレーブユニットに係わるデータを組み合わせて送信データを生成する。図12(a)は組み合わせる前のデータ状態を示し、図12(b)は組み合わせた後のデータ状態を示している。なお、図12(a)のデータは、前記したようにデイジーチェーン上の各スレーブユニットがデータを取得する際の同期性を保つために、遠い位置にあるスレーブユニットの係わるデータ(n台目のデータ)をヘッダの次に配置し、近い位置にあるスレーブユニットに係わるデータ(1台目のデータ)を最も後方に配置している。
これらデータについて、三つのデータを組み合わせてデータを生成する。図12(b)において、二つの冗長なデータとn台目のデータとを組み合わせて生成してヘッダの次に配置し、n−1台目のデータとn−2台目のデータとn−3台目(図示していない)のデータを組み合わせて生成して次の位置に配置し、3台目のデータと2台目のデータと1台目のデータを組み合わせて生成して最後に配置する。
なお、ここでは、n台目のデータに二つの冗長なデータを組み合わせることで数合わせを行っているが、1台目のデータに冗長なデータを組み合わせることで数合わせを行うようにしてもよい。さらに、付加する二つの冗長なデータの内の一つのデータをn台目のデータとn−1台目のデータに組み合わせ、残りの一つのデータをn−2台目のデータとn−3のデータに組み合わせるといったように、別のデータの組みとして組み合わせてもよい。このとき、組み合わせるデータの組みは任意に設定することができる。
前記例では、二つのデータを組み合わせる例と三つのデータを組み合わせる例を示したが、組み合わせるデータの個数は任意に設定することができる。
次に、マスタユニットの構成例及びスレーブユニットの構成例について、図13,図14を用いて説明する。
図13はマスタユニットの構成例を説明するための図である。マスタユニットMは、プロセッサ11を有し、システムプログラムが記憶されたROM12、制御プログラムや各種データを記憶し、演算処理等に利用されるRAM13、送信制御回路14、受信制御回路15がバスに接続される。送信制御回路14には、パラレル信号をシリアル信号に変換するP/S変換器16が接続され、シリアル信号に変換された送信データはシリアル通信ラインに送り出される。また、シリアル通信ラインを介して入力される受信データはシリアル信号をパラレル信号に変換するS/P変換器17に入力され、該S/P変換器17は受信制御回路15に接続されている。
また、送信制御回路14とP/S変換器16との間には、誤り訂正符号化処理、及びデータを組み合わせる処理を行って送信データを生成する送信データ生成回路18を備える。この送信データ生成回路18には設定回路19が接続され、データの組み合わせにおいて、組み合わせるデータの組みの設定や、組み合わせるデータ数の設定等の設定処理を行う。この設定処理は、マスタユニットMにデイジーチェーン接続されるスレーブユニットの個数に応じて行うことができる。
図14は、スレーブユニットの構成例を説明するための図である。図14において、スレーブユニットSは、マスタユニットMからシリアル通信ラインを介して送られた伝送をS/P変換器22に入力すると共にバッファ回路21に入力する。このバッファ回路21はシリアル通信ラインに接続され、マスタユニットMから受信したデータはそのまま次のスレーブユニットSに送られる。S/P変換器22には、受信制御回路23が接続され、パラレル信号に変換されたデータ信号が受信制御回路23に入力されるようになっている。受信制御回路23には復号手段24が接続され、誤り訂正符号による復号を行ってバーストエラーにより消失したデータを補い、得られたデジタル信号は電流制御回路25によってサーボモータへの電流指令となる。
次に、スレーブユニットからマスタユニットに向けてデータを伝送する第2の伝送態様について図15〜図18を用いて説明する。
スレーブユニットからマスタユニット方向へのデータ伝送においても、第1の伝送態様と同様に、データの組み合わせによりバーストエラーに対して耐性を高くすることができる。
第2の態様においても、データの組み合わせは種々の形態とすることができる。図15はデータの組み合わせの形態を説明するための図である。
なお、ここでは、スレーブユニットからマスタユニットに向かうデータをDfで示している。
図15(a),(b)は、二つのデータを組み合わせる例を示している。n台目のスレーブユニットSnからマスタユニットMに送信する誤り訂正符号を含むデータをDfnとし、n−1台目のスレーブユニットSn-1からマスタユニットMに送信する誤り訂正符号を含むデータをDfn-1としたとき、これら二つのデータDfnとDfn-1とを組み合わせることで誤り訂正符号付きのデータDfn,n-1を生成する。同様にして、n−2台目のスレーブユニットSn-2からマスタユニットMに送信するデータをDfn-2とし、n−3台目のスレーブユニットSn-3からマスタユニットMに送信するデータをDfn-3としたとき、これら2つのデータDfn-2とDfn-3とを組み合わせることで誤り訂正符号付きのデータDfn-2,n-3を生成する。
また、図15(c),(d)は、三つのデータを組み合わせる例を示している。n台目のスレーブユニットSnからマスタユニットMに送信するデータをDfnとし、n−1台目のスレーブユニットSn-1からマスタユニットMに送信するデータをDfn-1とし、n−2台目のスレーブユニットSn-2からマスタユニットMに送信するデータをDfn-2としたとき、これら三つのデータDfnとDfn-1とDfn-2を組み合わせることで誤り訂正符号付きのデータDfn,n-1,n-2を生成する。組み合わせるデータの個数は任意に設定することができる。
また、図ではデイジーチェーン上で隣接するスレーブユニットに係わるデータを組み合わせる例を示しているが、これに限らず、上流のスレーブユニットは下流側の任意のスレーブユニットに係わるデータを組み合わせてもよい。
いずれの組み合わせにおいても、各スレーブユニットに対するデータに各データを特定するアドレスデータ等の識別データをヘッダ等に付与しておくことによって、スレーブユニット及びマスタユニットは各スレーブユニットからのデータを認識することができ、スレーブユニットは自己のスレーブユニットと組み合わせるスレーブユニットのデータを選択することができる。
図16は、マスタユニットMに対してスレーブユニットS1〜スレーブユニットSnがデイジーチェーン接続された構成例において、スレーブユニットからマスタユニットへのデータ伝送を説明するための図である。
図16は、スレーブユニットSにおいて、二つのデータを組み合わせて送信データを生成して、マスタユニットMにシリアル通信ラインを介して送信を行う例を示している。なお、ここでは、デイジーチェーン接続上において、隣接するスレーブユニットの下流側のスレーブユニットは上流側のスレーブユニットに送信データを送信し、上流側のスレーブユニットは下流側の送信データと自分のデータとを組み合わせて送信データを生成する例について示している。
スレーブユニットSnはマスタユニットMに送るべき誤り訂正符号を含むデータDfnを上流のスレーブユニットSn-1に送信する。スレーブユニットSn-1は、受信したデータDfnとスレーブユニットSn-1自身がマスタユニットMに送るべき誤り訂正符号を含むデータDfn-1とを組み合わせて、送信データDfn,n-1を生成する。この送信データDfn,n-1を次のスレーブユニットSn-2に送る。
デイジーチェーン上のスレーブユニットSにおいて、組み合わせを行う隣接する二つのスレーブユニットSm+1,Smの内で、下流側のスレーブユニットSm+1は、さらに一段下流のスレーブユニットSm+2からデータを受信し、このデータにスレーブユニットSm+1自身がマスタユニットMに送るべき誤り訂正符号を含むデータDfm+1を加えて、上流側のスレーブユニットSmに送る。
スレーブユニットSmは、受信したデータ中に含まれる下流側のデータDfm+1とスレーブユニットSm自身がマスタユニットMに送るべき誤り訂正符号を含むデータDfmとを組み合わせて、送信データDfm+1,mを生成する。この送信データDfm+1,mを次のスレーブユニットSm-1に送る。
これにより、マスタユニットMが受信するデータは、デイジーチェーン上で隣接する二つのスレーブユニットを単位として組み合わされたデータとなる。マスタユニットMはこのデータを復号化して各スレーブユニットからのデータを取得することができる。このとき、バーストエラーがある場合には、誤り訂正符号により修復される。
次に、スレーブユニットの構成例について図17を用いて説明する。なお、図17は誤り訂正符号機能を備えるスレーブユニットの構成例である。
図17において、誤り訂正符号機能を備えるスレーブユニットSは、前記図14で示した構成と同様に、マスタユニットMからの伝送を次のスレーブユニットに転送するバッファ回路21と、受信したスレーブユニットが持つ負荷を駆動させるための、S/P変換器22,受信制御回路23,復号手段24,電流制御回路25等の構成を備える他、下流側から受信したデータとスレーブユニット自身のデータとを上流のスレーブユニットに送る構成とを備える。
上記構成において、S/P変換器31によって下流側のスレーブユニットから受信したシリアル信号をパラレル信号に変換し、変換したパラレル信号をバッファ回路32を介して送信制御回路33に送る。データ抽出回路35は、S/P変換器31で変換されたパラレル信号から下流側のスレーブユニットのデータを抽出し、送信制御回路33に送る。
データ生成回路36は、自身のスレーブユニットがマスタユニットMに送るべきデータを誤り訂正符号化する。送信制御回路33は、データ抽出回路35で抽出されたデータとデータ生成回路36で生成されたいずれも誤り訂正符号を含むデータ同士を組み合わせてなるデータをP/S変換器34でシリアル信号に変換して上流側のスレーブユニットに送信する。
上記構成において、S/P変換器31によって下流側のスレーブユニットから受信したシリアル信号をパラレル信号に変換し、変換したパラレル信号をバッファ回路32を介して送信制御回路33に送る。データ生成回路3は、自身のスレーブユニットがマスタユニットMに送るべきデータを生成して送信制御回路33に送る。送信制御回路33は、両データをP/S変換器34でシリアル信号に変換して上流側のスレーブユニットに送信する。
図16、図17では、デイジーチェーン上で隣接する二つのスレーブユニットの組み合わせについて示したが、組み合わせの種類や組み合わせの個数は任意に定めることができる。
本発明のデータ伝送装置を適用することができるシステム構成図である。 データ伝送装置のマスタユニットから送信される通常のパケットの一例である。 マスタユニットから伝送するデータ順を説明するための図である。 データ伝送装置のスレーブユニットから送信される通常のパケットの一例である。 第1の伝送態様を説明するための図である。 データの組み合わせの形態を説明するための図である。 マスタユニットに対してスレーブユニットがデイジーチェーン接続された構成例を説明するための図である。 デイジーチェーンされるスレーブユニットの総数が偶数である場合の例を説明するための図である。 デイジーチェーンされるスレーブユニットの総数が奇数である場合の例を説明するための図である。 デイジーチェーンされるスレーブユニットの総数が3の倍数である場合の例を説明するための図である。 デイジーチェーンされるスレーブユニットの総数が3の倍数+2である場合の例を説明するための図である。 デイジーチェーンされるスレーブユニットの総数が3の倍数+1である場合の例を説明するための図である。 マスタユニットの構成例を説明するための図である。 スレーブユニットの構成例を説明するための図である。 第2の伝送態様のデータの組み合わせの形態を説明するための図である。 スレーブユニットからマスタユニットへのデータ伝送を説明するための図である。 誤り訂正符号機能を備えるスレーブユニットの構成例を説明するための図である。 バーストエラーにより誤り訂正の概略を説明するための図である。
符号の説明
1 データ伝送装置
2 シリアル通信ライン
11 プロセッサ
12 ROM
13 RAM
14 送信制御回路
15 受信制御回路
16 P/S変換器
17 S/P変換器
18 送信データ生成回路
19 設定回路
21 バッファ回路
22 S/P変換器
23 受信制御回路
24 復号手段
25 電流制御回路
31 S/P変換器
32 バッファ回路
33 送信制御回路
34 P/S変換器
35 データ抽出回路
36 データ生成回路
37 データ生成回路
M マスタユニット
S、S1〜Sn スレーブユニット

Claims (8)

  1. マスタユニットと一台以上のスレーブユニットをシリアルバスによりデイジーチェーン接続し、前記マスタユニットと前記スレーブユニット間でデータの授受を行うデータ伝送装置において、
    前記マスタユニットは、所定のスレーブユニットに送信する誤り訂正符号を含むデータを生成し、
    前記所定のマスタユニットに送信する誤り訂正符号を含むデータのビット間に、他のスレーブユニットを送信先とする誤り訂正符号を含むデータ及び/又は冗長なデータのビットを挿入することにより、データを組み合わせて生成した送信データをスレーブユニットに送信することを特徴とするデータ伝送装置。
  2. 前記マスタユニットは、前記所定のスレーブユニットに送信するデータに対する他のスレーブユニットに送信するデータの組み合わせを可変とすることを特徴とする請求項1に記載のデータ伝送装置。
  3. 前記マスタユニットは、マスタユニットに接続される前記スレーブユニットの個数に応じて組み合わせるスレーブユニットの個数を可変とすることを特徴とする請求項2に記載のデータ伝送装置。
  4. 前記マスタユニットは、デイジーチェーン接続上で隣接する複数のスレーブユニットを組み合わせることを特徴とする請求項2又は3に記載のデータ伝送装置。
  5. 前記マスタユニットは、所定のスレーブユニットを送信先とするデータと組み合わせるデータを設定する設定手段を備え、
    当該設定手段は、当該マスタユニットに接続されるスレーブユニットの個数に応じて、組み合わせるデータを変更し設定することを特徴とする請求項2乃至4のいずれかに記載のデータ伝送装置。
  6. 前記マスタユニットは、所定のスレーブユニットを送信先とするデータを設定する設定手段を備え、
    当該設定手段は、当該マスタユニットに接続されるスレーブユニットの個数に応じて、他のスレーブユニットのデータを挿入するか、冗長なデータを挿入するかの設定を行うことを特徴とする請求項1に記載のデータ伝送装置。
  7. マスタユニットと一台以上のスレーブユニットをシリアルバスによりデイジーチェーン接続し、前記マスタユニットと前記スレーブユニット間でデータの授受を行うデータ伝送装置において、
    前記スレーブユニットは、誤り訂正符号を含む当該スレーブユニットのデータのビット間に、当該スレーブユニットの下流のスレーブユニットから受信したデータのビットを挿入して生成した送信データを、上流のスレーブユニット又はマスタユニットに送信することを特徴とするデータ伝送装置。
  8. 前記スレーブユニットは、当該スレーブユニットのデータと組み合わせる他のスレーブユニットを可変とし、マスタユニットに接続されるスレーブユニットの個数に応じて組み合わせるスレーブユニットの個数を可変とすることを特徴とする請求項7に記載のデータ伝送装置。
JP2004279387A 2004-09-27 2004-09-27 データ伝送装置 Expired - Fee Related JP4038203B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004279387A JP4038203B2 (ja) 2004-09-27 2004-09-27 データ伝送装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004279387A JP4038203B2 (ja) 2004-09-27 2004-09-27 データ伝送装置

Publications (2)

Publication Number Publication Date
JP2006094302A JP2006094302A (ja) 2006-04-06
JP4038203B2 true JP4038203B2 (ja) 2008-01-23

Family

ID=36234820

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004279387A Expired - Fee Related JP4038203B2 (ja) 2004-09-27 2004-09-27 データ伝送装置

Country Status (1)

Country Link
JP (1) JP4038203B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4226620B2 (ja) 2006-08-24 2009-02-18 ファナック株式会社 データ転送方式及びデータ転送装置
JP2009164786A (ja) * 2007-12-28 2009-07-23 Nec Electronics Corp データ転送システムおよびデータ転送方法
JP2013085116A (ja) 2011-10-07 2013-05-09 Canon Inc 通信システム、通信システムの制御方法、およびプログラム
CN115211080A (zh) * 2020-03-06 2022-10-18 发那科株式会社 通信系统

Also Published As

Publication number Publication date
JP2006094302A (ja) 2006-04-06

Similar Documents

Publication Publication Date Title
JP4226620B2 (ja) データ転送方式及びデータ転送装置
JP4182132B2 (ja) モータ制御システム
US20060092858A1 (en) Method for transmitting data in a communication system
US8321613B2 (en) Method and system for secure transmission of process data to be transmitted cyclically via a transmission channel between a master and a slave
JP4343212B2 (ja) データ送受信方式
JP4038203B2 (ja) データ伝送装置
EP2822284B1 (en) Real-time video transmission system
JP5194747B2 (ja) データ伝送装置、データ送信装置、データ受信装置及びデータ伝送システム
JP4704252B2 (ja) ネットワークシステムのブロードキャスト処理方法及びネットワークシステム
EP0185093B1 (en) Data transfer equipment
US10243755B2 (en) Communication device and communication method
JP2007299120A (ja) 二重化プログラマブルコントローラの等値化方式
JP6889138B2 (ja) 格納装置及び格納方法
JP5544099B2 (ja) コントローラ通信方法およびコントローラ通信装置
JP2011119999A (ja) 通信装置及びマスタ装置
JP6394727B1 (ja) 制御装置、制御方法、及び、フォールトトレラント装置
US7398447B2 (en) Intercommunicating apparatus for duplex system capable of detecting failure thereof
JP4759494B2 (ja) シリアルデータ通信方式およびシリアルデータ通信装置
JP4296967B2 (ja) 通信システム
JP4868248B2 (ja) データ伝送システム
JP5229474B2 (ja) 画像処理システムおよびプログラム
JP2007067887A (ja) 通信システム、通信装置、および回線制御方法
US20150189108A1 (en) Transmission circuit and camera system
EP1523820B1 (en) A fault-tolerant broadcast router
JP2016096493A (ja) 通信システムおよび画像形成装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070807

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071009

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071102

R150 Certificate of patent or registration of utility model

Ref document number: 4038203

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20101109

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111109

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121109

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20131109

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees