(57)【要約】【課題】  誤り訂正符号が訂正可能なバーストエラー長よりも長いバーストエラーであってもデータを修復することができるデータ伝送装置を提供する。【解決手段】  データの冗長度を高めるために、デイジーチェーン接続される他のスレーブユニットに係わるデータを用いることによって、生成したデータ単位内に複数のスレーブユニットに係わるデータを含ませることでデータ長の長大化を抑え、これにより複数のスレーブユニットでの動作の同期性を保つ。データ伝送装置は、マスタユニットと一台以上のスレーブユニットをシリアルバスによりデイジーチェーン接続し、マスタユニットとスレーブユニット間でデータの授受を行う装置であって、マスタユニットは、所定のスレーブユニットを送信先とするデータと、他のスレーブユニットを送信先とするデータ及び／又は冗長なデータとを用いて誤り訂正符号付きデータを生成しスレーブユニットに送信する。【選択図】  図７
2006094302.tif 000002
【特許請求の範囲】
【請求項１】
マスタユニットと一台以上のスレーブユニットをシリアルバスによりデイジーチェーン接続し、前記マスタユニットと前記スレーブユニット間でデータの授受を行うデータ伝送装置において、
前記マスタユニットは、所定のスレーブユニットを送信先とするデータと、他のスレーブユニットを送信先とするデータ及び／又は冗長なデータとを用いて誤り訂正符号付きデータを生成しスレーブユニットに送信することを特徴とするデータ伝送装置。
【請求項２】
マスタユニットと一台以上のスレーブユニットをシリアルバスによりデイジーチェーン接続し、前記マスタユニットと前記スレーブユニット間でデータの授受を行うデータ伝送装置において、
前記マスタユニットは、所定のスレーブユニットに送信する誤り訂正符号付きのデータに他のスレーブユニットを送信先とするデータ及び／又は冗長なデータを組み合わせて生成した送信データをスレーブユニットに送信することを特徴とするデータ伝送装置。
【請求項３】
前記マスタユニットは、所定のスレーブユニットに送信するデータのビット間に、他のスレーブユニットを送信先とするデータ及び／又は冗長なデータを挿入することにより、データの組み合わせを行うことを特徴とする請求項１又は２に記載のデータ伝送装置。
【請求項４】
前記マスタユニットは、前記所定のスレーブユニットに送信するデータに対する他のスレーブユニットに送信するデータの組み合わせを可変とすることを特徴とする請求項１乃至３の何れかに記載のデータ伝送装置。
【請求項５】
前記マスタユニットは、マスタユニットに接続される前記スレーブユニットの個数に応じて組み合わせるスレーブユニットの個数を可変とすることを特徴とする請求項４に記載のデータ伝送装置。
【請求項６】
前記マスタユニットは、デイジーチェーン接続上で隣接する複数のスレーブユニットを組み合わせることを特徴とする請求項４又は５に記載のデータ伝送装置。
【請求項７】
前記マスタユニットは、所定のスレーブユニットを送信先とするデータと組み合わせるデータを設定する設定手段を備え、
当該設定手段は、当該マスタユニットに接続されるスレーブユニットの個数に応じて、組み合わせるデータを変更し設定することを特徴とする請求項４乃至６のいずれかに記載のデータ伝送装置。
【請求項８】
前記マスタユニットは、所定のスレーブユニットを送信先とするデータを設定する設定手段を備え、
当該設定手段は、当該マスタユニットに接続されるスレーブユニットの個数に応じて、他のスレーブユニットのデータを挿入するか、冗長なデータを挿入するかの設定を行うことを特徴とする請求項１乃至３の何れかに記載のデータ伝送装置。
【請求項９】
マスタユニットと一台以上のスレーブユニットをシリアルバスによりデイジーチェーン接続し、前記マスタユニットと前記スレーブユニット間でデータの授受を行うデータ伝送装置において、
前記スレーブユニットは、当該スレーブユニットの下流のスレーブユニットから受信したデータと自己スレーブユニットのデータとを用いて誤り訂正符号付きデータを生成し、上流のスレーブユニット又はマスタユニットに送信することを特徴とするデータ伝送装置。
【請求項１０】
マスタユニットと一台以上のスレーブユニットをシリアルバスによりデイジーチェーン接続し、前記マスタユニットと前記スレーブユニット間でデータの授受を行うデータ伝送装置において、
前記スレーブユニットは、誤り訂正符号化した当該スレーブユニットのデータと、当該スレーブユニットの下流のスレーブユニットから受信したデータとを組み合わせて生成した送信データを、上流のスレーブユニット又はマスタユニットに送信することを特徴とするデータ伝送装置。
【請求項１１】
前記スレーブユニットは、自己の下流のスレーブユニットから受信したデータに自己のデータを挿入して生成した送信データを、上流のスレーブユニット又はマスタユニットに送信することを特徴とする、請求項９又は１０に記載のデータ伝送装置。
【請求項１２】
前記スレーブユニットは、当該スレーブユニットのデータと組み合わせる他のスレーブユニットを可変とし、マスタユニットに接続されるスレーブユニットの個数に応じて組み合わせるスレーブユニットの個数を可変とすることを特徴とする請求項９又は１０に記載のデータ伝送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ伝送装置に関し、特にデイジーチェーン接続されたマスタユニットとスレーブユニットとの間のデータ伝送においてバーストエラーの訂正に適したデータ伝送装置に関する。
【背景技術】
【０００２】
数値制御装置、ロボット制御装置及びこれら送信の周辺機器等の産業機器のシステムにおいて、複数の機器をシリアル通信で結んでシステムを構成し、それぞれの機器の間で同期性を保って動作させる必要がある場合がある。
【０００３】
例えば、ＣＮＣ制御装置で駆動制御される工作機械等においては、工作機械の送り軸の現在位置を検出する場合、同期をとって同一時刻における各軸の位置を検出しなければならない。また、各軸の移動も同期をとる必要がある。従来、このような同期をとるための信号はシリアル通信を介して伝達されている。
【０００４】
例えば、一台の数値制御装置と複数台のサーボアンプを光ケーブル等による通信ラインでデイジーチェーン接続するデータ伝送では、数値制御装置は通信ラインを通して各サーボアンプに対してモータ駆動の指令を送出し、サーボアンプはこの指令を受信し、受信した指令に従ってサーボモータを駆動する（特許文献１参照）。
【０００５】
【特許文献１】特開平１０−０１３３９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記のようなデータ伝送において、誤り訂正符号（ＥＣＣ符号）を用いてデータ伝送を行う場合がある。この誤り訂正符号では、ある一定の長さのバーストエラーに対しては修復可能であるが、バーストエラー長が長くなると修復ができないという問題があり、機械が誤動作するおそれがある。
【０００７】
図１８は、バーストエラーにより誤り訂正の概略を説明するための図である。図１８（ａ）は誤り訂正符号化前のデータであり、図１８（ｂ）は誤り訂正符号化後のデータを表し、誤り訂正符号をＥＣＣで模式的に表している。ここで、誤り訂正符号により修復可能なバーストエラー長を３ビットと仮定する。バーストエラーによりＸ２〜Ｘ４の３ビット分のデータが消失した場合（図１８（ｃ））には、誤り訂正符号によってバーストエラーを修復して元のデータを得ることができる（図１８（ｄ））。
【０００８】
これに対して、バーストエラーによりＸ２〜Ｘ５の４ビット分のデータが消失した場合（図１８（ｅ））には、誤り訂正符号の修復能力を越えているため、バーストエラーを修復して元のデータを得ることができない（図１８（ｆ））。
【０００９】
そこで、本発明は、誤り訂正符号が訂正可能なバーストエラー長よりも長いバーストエラーであってもデータを修復することができるデータ伝送装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、伝送するデータの冗長度を高めることによって、誤り訂正符号が訂正可能なバーストエラー長よりも長いバーストエラーであってもデータの修復を可能とするものである。
【００１１】
データの冗長度を単に高めると、データ長が長くなり、デイジーチェーン接続されたスレーブユニット間での同期性が保たれなくなるおそれがある。本発明は、このデータの冗長度を高めるために、デイジーチェーン接続される他のスレーブユニットに係わるデータを用いることによって、生成したデータ単位内に複数のスレーブユニットに係わるデータを含ませることでデータ長の長大化を抑え、これにより複数のスレーブユニットでの動作の同期性を保つことができる。
【００１２】
マスタユニットとスレーブユニットとの間で行われるデータ伝送では、マスタユニットからスレーブユニットに向けて伝送する態様と、逆にスレーブユニットからマスタユニットに向けて伝送する態様とがあり、本発明のデータ伝送装置は、このマスタユニットからスレーブユニットに向けてデータを伝送する第１の伝送態様と、スレーブユニットからマスタユニットに向けてデータを伝送する第２の伝送態様を含む。
【００１３】
マスタユニットからスレーブユニットに向けてデータを伝送する第１の伝送態様において、本発明のデータ伝送装置は、マスタユニットと一台以上のスレーブユニットをシリアルバスによりデイジーチェーン接続し、マスタユニットとスレーブユニット間でデータの授受を行う装置であって、マスタユニットは、所定のスレーブユニットを送信先とするデータと、他のスレーブユニットを送信先とするデータ及び／又は冗長なデータとを用いて誤り訂正符号付きデータを生成しスレーブユニットに送信する構成とする。
【００１４】
本発明の第１の伝送態様では、マスタユニットは、所定のスレーブユニットに送信する誤り訂正符号付きのデータに対して、他のスレーブユニットを送信先とするデータ及び／又は冗長なデータを組み合わせることによって送信データを生成し、スレーブユニットに送信する。
【００１５】
また、本発明の第１の伝送態様において、所定のスレーブユニットに送信するデータと組み合わせるデータは種々のデータを用いることができ、他のスレーブユニットに送信するデータとの組み合わせ、冗長なデータとの組み合わせ、あるいは、他のスレーブユニットに送信するデータと冗長なデータとの組み合わせとすることができる。
【００１６】
また、本発明の第１の伝送態様において行う組み合わせデータの生成は、所定のスレーブユニットに送信するデータのビット間に、他のスレーブユニットに送信するデータ及び／又は冗長なデータを挿入することによって行うことができる。
【００１７】
マスタユニットは、デイジーチェーンされるスレーブユニットについて上記の送信データを生成し、シリアル通信によって送信する。各スレーブユニットは、マスタユニットから送られる送信データの中から各自のスレーブユニットに係わる送信データを抽出して取り込み、他のスレーブユニットに係わる送信データはそのまま下流側に転送する。
【００１８】
各スレーブユニットは、取り込んだ送信データについて復号化してデータエラーをチェックし、エラーが無ければそのまま制御データとして使用し、エラーがある場合には誤り訂正を行って制御データを生成し使用する。
【００１９】
本発明の第１の伝送態様において、デイジーチェーン接続される他のスレーブユニットに係わるデータ等を用いることによって、生成した送信データの冗長度を増加させて長いバーストエラー長に対する耐性を高める。また、その組み合わせによる一データ単位内には複数のスレーブユニットに係わるデータを含ませることができるため、各スレーブユニットのデータの冗長度を単に増やす場合と比較して、送信データの全体のデータ長が長大化することを抑えることができ、これによりデイジーチェーンされた複数のスレーブユニットにおける動作の同期性を保つことができる。
【００２０】
送信データの生成において、所定のスレーブユニットに送信するデータに対する他のスレーブユニットに送信するデータの組み合わせは可変とすることができ、例えば、デイジーチェーン上で隣接するスレーブユニットに限らず、デイジーチェーン上の任意の位置にあるスレーブユニットと組んで送信データを生成することができる。
【００２１】
また、組み合わせるスレーブユニットの個数は、マスタユニットに接続されるスレーブユニットの個数に応じて可変とすることができる。
【００２２】
例えば、デイジーチェーンされるスレーブユニットの総数の約数を組み合わせるスレーブユニットの個数とすることができる。デイジーチェーンされるスレーブユニットの総数が偶数である場合には、組み合わせるスレーブユニットの個数は例えば２個とすることができ、また、デイジーチェーンされるスレーブユニットの総数が３の倍数である場合には、組み合わせるスレーブユニットの個数は例えば３個とすることができる。
【００２３】
組み合わせるスレーブユニットの個数によってデイジーチェーンされるスレーブユニットの総数が割り切れずに余りが生じた場合には、余りに対応するスレーブユニットについては予め用意しておいた冗長データを用いる。
【００２４】
また、組み合わせスレーブユニットは、デイジーチェーン接続上で隣接する複数のスレーブユニットから選択することができる。
【００２５】
マスタユニットは、所定のスレーブユニットに送信するデータと組み合わせるデータを設定する設定手段を備える。設定手段は、マスタユニットに接続されるスレーブユニットの個数に応じて組み合わせるデータを変更し設定する。また、設定手段は、マスタユニットに接続されるスレーブユニットの個数に応じて、他のスレーブユニットのデータを挿入するか、冗長なデータを挿入するかの設定を行う。
【００２６】
スレーブユニットからマスタユニットに向けてデータを伝送する第２の伝送態様において、マスタユニットと一台以上のスレーブユニットをシリアルバスによりデイジーチェーン接続し、マスタユニットとスレーブユニット間でデータの授受を行うデータ伝送装置において、スレーブユニットは、スレーブユニットの下流のスレーブユニットから受信したデータと自己スレーブユニットのデータとを用いて誤り訂正符号付きデータを生成し、生成した誤り訂正符号付きデータを上流のスレーブユニット又はマスタユニットに送信する。
【００２７】
上記した第２の伝送態様は、前記した第１の伝送態様と同様とすることができる。
本発明の第２の伝送態様において、データ伝送装置のスレーブユニットにおいて、スレーブユニットは、誤り訂正符号化したスレーブユニットのデータと、スレーブユニットの下流のスレーブユニットから受信したデータとを組み合わせて生成した送信データを、上流のスレーブユニット又はマスタユニットに送信する。
【００２８】
また、本発明の第２の伝送態様において行う組み合わせデータの生成は、自己のスレーブユニットに送信するデータのビット間に、自己の下流のスレーブユニットから受信したデータを挿入することによって行うことができる。
【００２９】
スレーブユニットは、そのスレーブユニットのデータと組み合わせる他のスレーブユニットを可変とし、マスタユニットに接続されるスレーブユニットの個数に応じて組み合わせるスレーブユニットの個数を可変とする。
【発明の効果】
【００３０】
本発明によれば、伝送するデータの冗長度を高めることによって、誤り訂正符号が訂正可能なバーストエラー長よりも長いバーストエラーであってもデータの修復を可能とすることができる。
【００３１】
本発明によれば、デイジーチェーン接続される他のスレーブユニットに係わるデータを用いることによって、生成したデータ単位内に複数のスレーブユニットに係わるデータを含ませることでデータ長の長大化を抑え、これにより複数のスレーブユニットでの動作の同期性を保つことができる。
【発明を実施するための最良の形態】
【００３２】
以下、本発明の実施の形態について、図を参照しながら詳細に説明する。  
図１は、本発明のデータ伝送装置を適用することができるシステム構成図である。図１において、データ伝送装置１は、一台のマスタユニット（例えば、数値制御装置）とｎ台のスレーブユニットＳ１〜Ｓｎがデイジーチェーン方式のシリアル通信ライン２で接続される。各スレーブユニットＳ１〜Ｓｎは、マスタユニットＭから送信される制御信号による指令により駆動が制御され、また、各スレーブユニットＳ１〜Ｓｎの状態は、状態信号をマスタユニットＭに送信することによって戻すことができる。スレーブユニットＳ１〜Ｓｎは、例えば、サーボモータや当該サーボモータを駆動制御するサーボアンプを備える。
【００３３】
上記のデータ伝送装置では、誤り訂正符号（ＥＣＣ符号）を用いることにより、伝送したデータに誤りが発生した場合であっても修復を可能としている。伝送中に発生するエラーとしては、エラーが連続して発生するバーストエラーがある。訂正が可能なバーストエラーのエラー長は誤り訂正符号の方式によって定まっており、その誤り訂正符号が修復可能な長さ以上のバーストエラーが発生した場合には修復が不能となる。
【００３４】
図２は、データ伝送装置のマスタユニットから送信される通常のパケットの一例である。ここで、ｎは制御すべきスレーブユニットＳの番号を表しており、図１で示すように、マスタユニットＭに近い順に１，２，３，…，ｎとしている。マスタユニットＭからは、各スレーブユニットＳの制御データに誤り訂正符号（ＥＣＣ符号）が付されたデータを送信している。各スレーブユニットＳは、マスタユニットＭから送信されるデータを無条件に次段のスレーブユニットＳに転送するが、各自のスレーブユニットに該当するデータと誤り訂正符号が含まれている場合には取り込みを行う。各スレーブユニットＳは、取り込んだデータと誤り訂正符号化を使ってデータにエラーが無いか否かをチェックし、エラーが無ければそのまま制御データとして使用し、エラーがある場合には誤り訂正を行った後に制御データとして使用する。
【００３５】
シリアル通信ラインに発生するエラーの多くは、連続したビットが破壊されるバーストエラーである。スレーブユニットＳが受信したデータと誤り訂正符号でチェックした結果、エラーが発生していても、誤り訂正符号に訂正可能な長さのバーストエラーであれば、エラーのあるデータから正しいデータを抽出することができる。
【００３６】
マスタユニットＭから送信されたデータをスレーブユニットＳが受信すると、受信したデータをそのまま下流の次段のスレーブユニットＳに送信する。したがって、マスタユニットＭから遠いスレーブユニットＳほど、データの到着時間が遅れる。マスタユニットＭからスレーブユニットＳへの通信は、モータ等のスレーブユニットＳ側の制御周期に同期して、一定の時間内に全てのスレーブユニットＳに対してデータが届かないと各スレーブユニットＳでの同期性が悪くなる。
【００３７】
これを防ぐために、図２に示すように、マスタユニットＭから遠いスレーブユニットＳに対するデータから先に送信する。図３は、伝送するデータ順を説明するための図である。図３において、マスタユニットＭからデータを受信した一台目のスレーブユニットＳ１は、他のスレーブユニットＳ２〜Ｓｎより先にヘッダが到着するが、一台目のスレーブユニットＳ１に対するデータはパケットの最後に来るため、このスレーブユニットＳ１に対するデータを受信するタイミングは後となる。
【００３８】
これに対して、マスタユニットＭから最も遠いスレーブユニットＳｎでは、他のスレーブユニットよりＳ１〜Ｓn-1よりも後にヘッダが到着するが、ｎ台目のスレーブユニットＳｎに対するデータはヘッダのすぐ後にあるため、当該スレーブユニットＳｎに対するデータを取り込むタイミングは早くなる。
【００３９】
他方、図４は、データ伝送装置のスレーブユニットから送信される通常のパケットの一例である。ここでも、ｎは制御すべきスレーブユニットＳの番号を表しており、図１で示すように、マスタユニットＭに近い順にｍ−１，ｍ，ｍ＋１，…，ｎ−１，ｎとしている。ここでは、スレーブユニットｍから上流側のスレーブユニットｍ−１に向けて伝送するパケット例について示している。
【００４０】
ｍ台目のスレーブユニットｍは、ｎ台目からｍ＋１台目までのデータ及び誤り訂正符号を下流のスレーブユニットｍ＋１から受信し、これらのデータにスレーブユニットｍにおいてマスタユニットＭが必要とするデータに誤り訂正符号を付加し、上流側のスレーブユニットｍ−１に送信する。
【００４１】
同様に、ｍ−１台目のスレーブユニットｍ−１は、ｎ台目からｍ台目までのデータ及び誤り訂正符号を下流のスレーブユニットｍから受信し、これらのデータにスレーブユニットｍ−１においてマスタユニットＭが必要とするデータに誤り訂正符号を付加し、上流側のスレーブユニットｍ−２に送信する。
【００４２】
マスタユニットＭは、各スレーブユニットＳ１〜Ｓｎから送信されたデータ及び誤り訂正符号を受信し、データと誤り訂正符号化を使ってデータにエラーが無いか否かをチェックする。
【００４３】
本発明は、上記のデータ伝送装置において、伝送するデータの冗長度を高めることによって、誤り訂正符号が訂正可能なバーストエラー長よりも長いバーストエラーであってもデータの修復を可能とする。
【００４４】
本発明のデータ伝送装置は、マスタユニットからスレーブユニットに向けてデータを伝送する第１の伝送態様と、スレーブユニットからマスタユニットに向けてデータを伝送する第２の伝送態様を含む。
【００４５】
以下、マスタユニットからスレーブユニットに向けてデータを伝送する第１の伝送態様について図５〜図１５を用いて説明し、スレーブユニットからマスタユニットに向けてデータを伝送する第２の伝送態様について図１６〜図１９を用いて説明する。
【００４６】
はじめに、第１の伝送態様について説明する。データ伝送装置は、マスタユニットと一台以上のスレーブユニットをシリアルバスによりデイジーチェーン接続し、マスタユニットとスレーブユニット間でデータの授受を行うデータ伝送装置であり、マスタユニットは、所定のスレーブユニットに送信するデータと、他のスレーブユニットに送信するデータ及び／又は冗長なデータとを用いて誤り訂正符号付きデータを生成して送信を行う。
【００４７】
このとき、データ生成に用いるデータの組み合わせは、所定のスレーブユニットに送信するデータと他のスレーブユニットに送信するデータとの組み合わせ、所定のスレーブユニットに送信するデータと冗長なデータとの組み合わせ、あるいは、所定のスレーブユニットに送信するデータと、他のスレーブユニットに送信するデータ及び冗長なデータとの組み合わせとすることができる。
【００４８】
第１の伝送態様は、送信しようとするデータに他のデータを組み合わせて冗長度を高めたデータを生成し、このデータに誤り訂正符号を付加して送信する形態である。組み合わせるデータとしては、他のスレーブユニットに送信するデータ、冗長なデータ、あるいは他のスレーブユニットに送信するデータと冗長なデータとの組み合わせとすることができる。
【００４９】
図５は、この誤り訂正符号化された送信しようとするデータと他のデータとを組み合わせてデータ生成を行う形態を説明するための図である。なお、図５ではデータ（Ｘ１〜Ｘｎ）を実線で示し、データ（Ｙ１〜Ｙｎ）を破線で示している。
【００５０】
図５（ａ）は送信しようとする誤り訂正符号付データ（Ｘ１〜Ｘｎ）を示しており、誤り訂正符号が含まれている。また、図５（ｂ）は冗長度を高めるために組み合わせを行う他のデータ（Ｙ１〜Ｙｎ）を示している。なお、ここでは、送信しようとするデータ（Ｘ１〜Ｘｎ）のデータ長と、組み合わせを行う他のデータ（Ｙ１〜Ｙｎ）のデータ長を同一長さとしているが、必ずしも同一長さである必要はなく、異なるデータ長であってもよい。
【００５１】
データ（Ｘ１〜Ｘｎ）とデータ（Ｙ１〜Ｙｎ）の組み合わせは、第１の形態と同様に、送信しようとするデータ（Ｘ１〜Ｘｎ）のビット間に他のデータ（Ｙ１〜Ｙｎ）を挿入することにより行うことができる。なお、図５（ｃ，ｄ）では一ビット毎にデータの挿入を行っているが、複数ビット毎に挿入してもよく、組み合わせた後のデータから組み合わせ前の各データが分離できれば任意のビット位置とすることもできる。この挿入位置を予め設定しておくことで対応することができる。ここで、誤り訂正符号により修復することができるバーストエラー長を例えば３ビットとする。
【００５２】
図５（ｅ）のデータにおいて連続する４ビット分のバーストエラーが発生し、（Ｘ２，Ｙ２，Ｘ３，Ｙ３）の４ビットが消失した場合、分離することで送信しようとするデータＸを得ることができる（図５（ｆ））。
【００５３】
分離したデータＸについて、誤り訂正符号によってデータ（Ｘ１〜Ｘｎ）を修復することができる（図５（ｇ））。
【００５４】
なお、連続して発生するバーストエラーに対する耐性を高めるには、図示するように一ビット毎にデータの挿入する構成例が適当であり、バーストエラーにより消失するデータ数を低減させることができる。
【００５５】
データの組み合わせは種々の形態とすることができる。図６はデータの組み合わせの形態を説明するための図である。
【００５６】
図６（ａ）は、二つのデータを組み合わせる例を示している。ｎ台目のスレーブユニットに送信する誤り訂正符号を含むデータをＤｎとし、ｎ−１台目のスレーブユニットに送信する誤り訂正符号を含むデータをＤn-1としたとき、これら二つのデータＤｎとＤn-1とを組み合わせることで誤り訂正符号付きのデータＤn,n-1を生成する。同様にして、ｎ−２台目のスレーブユニットに送信するデータをＤn-2とし、ｎ−３台目のスレーブユニットに送信するデータをＤn-3としたとき、これら２つのデータＤn-2とＤn-3とを組み合わせることで誤り訂正符号付きのデータＤn-2,n-3を生成する。
【００５７】
また、図６（ｂ）は、三つのデータを組み合わせる例を示している。ｎ台目のスレーブユニットに送信するデータをＤｎとし、ｎ−１台目のスレーブユニットに送信するデータをＤn-1とし、ｎ−２台目のスレーブユニットに送信するデータをＤn-2としたとき、これら三つのデータＤｎとＤn-1とＤn-2を組み合わせることで誤り訂正符号付きのデータＤn,n-1,n-2を生成する。組み合わせるデータの個数は任意に設定することができる。
【００５８】
また、図ではデイジーチェーン上で隣接するスレーブユニットに係わるデータを組み合わせる例を示しているが、これに限らず任意の位置のスレーブユニットに係わるデータを組み合わせてもよい。
【００５９】
いずれの組み合わせにおいても、各スレーブユニットに対するデータに各データを特定するアドレスデータ等の識別データをヘッダ等に付与しておくことによって、各スレーブユニットは取り込むべきデータを認識することができ、シリアル通信ラインを流れるデータから自己のスレーブユニットが必要とするデータを取り込むことができる。
【００６０】
次に、図７〜図１２を用いて、マスタユニットからスレーブユニットへのデータ伝送例について説明する。
図７は、マスタユニットＭに対してスレーブユニットＳ１〜スレーブユニットＳｎがデイジーチェーン接続された構成例である。マスタユニットＭにおいて、前記図６（ａ）で示したように、二つのデータを組み合わせて送信データを生成して、シリアル通信ラインを介して送信を行う。
【００６１】
スレーブユニットＳ１は送信データを受信すると共に、受信した送信データを次段のスレーブユニットＳ２に転送する。スレーブユニットＳ１は送信データからヘッダ情報を取り込んでスレーブユニットＳ１が取り込むべきデータがＤ2,1であることを取得し、送信データ中にデータＤ2,1が現れた時点で取り込みを行う。
【００６２】
取り込んだデータＤ2,1から、スレーブユニットＳ１が必要とするデータＤ１を取り出す。このとき、データＤ１には誤り訂正符号が含まれているため、バーストエラーが含まれている場合には誤り訂正により修復が行われる。
【００６３】
また、次段のスレーブユニットＳ２では、スレーブユニットＳ１から転送された送信データを受信すると共に、受信した送信データをさらに次段のスレーブユニットＳ３に転送する。スレーブユニットＳ２は送信データからヘッダ情報を取り込んでスレーブユニットＳ２が取り込むべきデータがＤ2,1であることを取得し、送信データ中にデータＤ2,1が現れた時点で取り込みを行う。
【００６４】
取り込んだデータＤ2,1から、スレーブユニットＳ２が必要とするデータＤ２を取り出す。このとき、データＤ２には誤り訂正符号が含まれているため、バーストエラーが含まれている場合には、誤り訂正により修復が行われる。
【００６５】
同様にして、デイジーチェーン接続された各スレーブユニットは順次下流側のスレーブユニットに対して送信データを順に転送を行う。最後のスレーブユニットＳｎでは、スレーブユニットＳｎ−１から転送された送信データを受信する。スレーブユニットＳｎは送信データからヘッダ情報を取り込んでスレーブユニットＳｎが取り込むべきデータがＤn,n-1であることを取得し、送信データ中にデータＤn,n-1が現れた時点で取り込みを行って復号化してデータを取得する。
【００６６】
以下、マスタユニットでの送信データの生成例について説明する。  
送信データの生成の際に組み合わせるデータの個数は、デイジーチェーン接続されるスレーブユニットの総数に応じて設定することができる。例えば、デイジーチェーンされるスレーブユニットの総数の約数を組み合わせるスレーブユニットの個数とすることができる。
【００６７】
例えば、デイジーチェーンされるスレーブユニットの総数が偶数である場合には、組み合わせるスレーブユニットの個数は例えば２個とすることができ、また、デイジーチェーンされるスレーブユニットの総数が３の倍数である場合には、組み合わせるスレーブユニットの個数は例えば３個とすることができる。
【００６８】
また、組み合わせるスレーブユニットの個数によってデイジーチェーンされるスレーブユニットの総数が割り切れずに余りが生じた場合には、余りに対応するスレーブユニットについては予め用意しておいた冗長データを用いる。
【００６９】
図８はデイジーチェーンされるスレーブユニットの総数が偶数である場合の例であり、図９はデイジーチェーンされるスレーブユニットの総数が奇数である場合の例である。  図８において、デイジーチェーンされるスレーブユニットの総数が偶数である場合には、約数である２により、組み合わせるスレーブユニットの個数を２とし、２台のスレーブユニットに係わるデータを組み合わせて送信データを生成する。図８（ａ）は組み合わせる前のデータ状態を示し、図８（ｂ）は組み合わせた後のデータ状態を示している。なお、図８（ａ）のデータは前記したように、デイジーチェーン上の各スレーブユニットがデータを取得する際の同期性を保つために、遠い位置にあるスレーブユニットの係わるデータ（ｎ台目のデータ）をヘッダの次に配置し、近い位置にあるスレーブユニットに係わるデータ（１台目のデータ）を最も後方に配置している。
【００７０】
これらデータについて、二つのデータを組み合わせてデータを生成する。図８（ｂ）において、ｎ台目のデータとｎ−１台目のデータを組み合わせてデータ生成を行ってヘッダの次に配置し、２台目のデータと１台目のデータを組み合わせてデータ生成して最後に配置する。
【００７１】
ここで、デイジーチェーンされるスレーブユニットの総数が偶数でない場合に、二つのデータを組み合わせてデータを生成すると、データ生成ができない組み合わせが生じることになる。そこで、この場合には、予め用意しておいた冗長なデータを用いてデータを生成する。
【００７２】
図９において、組み合わせるスレーブユニットの個数を２としたとき、デイジーチェーンされるスレーブユニットの総数が奇数である場合には、冗長なデータを付加することにより、２台のスレーブユニットに係わるデータを組み合わせて送信データを生成する。図９（ａ）は組み合わせる前のデータ状態を示し、図９（ｂ）は組み合わせた後のデータ状態を示している。なお、図９（ａ）のデータは前記したように、デイジーチェーン上の各スレーブユニットがデータを取得する際の同期性を保つために、遠い位置にあるスレーブユニットの係わるデータ（ｎ台目のデータ）をヘッダの次に配置し、近い位置にあるスレーブユニットに係わるデータ（１台目のデータ）を最も後方に配置している。
【００７３】
これらデータについて、二つのデータを組み合わせてデータを生成する。図９（ｂ）において、冗長なデータとｎ台目のデータとを組み合わせて生成してヘッダの次に配置し、ｎ−１台目のデータとｎ−２台目のデータを組み合わせて生成して次の位置に配置し、２台目のデータと１台目のデータを組み合わせて生成して最後に配置する。
【００７４】
なお、ここでは、ｎ台目のデータに冗長なデータを組み合わせることで数合わせを行っているが、１台目のデータに冗長なデータを組み合わせることで数合わせを行うようにしてもよい。
【００７５】
次に、三つのデータを組み合わせてデータ生成を行う例について説明する。図１０はデイジーチェーンされるスレーブユニットの総数が３の倍数である場合の例であり、図１１はデイジーチェーンされるスレーブユニットの総数が３の倍数＋２である場合の例であり、図１２はデイジーチェーンされるスレーブユニットの総数が３の倍数＋１である場合の例である。
【００７６】
図１０において、デイジーチェーンされるスレーブユニットの総数が３の倍数である場合には、約数である３により、組み合わせるスレーブユニットの個数を３とし、３台のスレーブユニットに係わるデータを組み合わせて送信データを生成する。図１０（ａ）は組み合わせる前のデータ状態を示し、図１０（ｂ）は組み合わせた後のデータ状態を示している。なお、図１０（ａ）のデータは、前記したようにデイジーチェーン上の各スレーブユニットがデータを取得する際の同期性を保つために、遠い位置にあるスレーブユニットの係わるデータ（ｎ台目のデータ）をヘッダの次に配置し、近い位置にあるスレーブユニットに係わるデータ（１台目のデータ）を最も後方に配置している。
【００７７】
これらデータについて、三つのデータを組み合わせてデータを生成する。図１０（ｂ）において、ｎ台目のデータとｎ−１台目のデータとｎ−２台目のデータを組み合わせてデータ生成を行ってヘッダの次に配置し、３台目のデータと２台目のデータと１台目のデータを組み合わせてデータ生成して最後に配置する。
【００７８】
ここで、デイジーチェーンされるスレーブユニットの総数が３の倍数でない場合に、三つのデータを組み合わせてデータを生成すると、データ生成ができない組み合わせが生じることになる。そこで、この場合には、予め用意しておいた冗長なデータを用いてデータを生成する。
【００７９】
図１１において、組み合わせるスレーブユニットの個数を３としたとき、デイジーチェーンされるスレーブユニットの総数が３の倍数＋２である場合には、冗長なデータを一つ付加することにより、３台のスレーブユニットに係わるデータを組み合わせて送信データを生成する。図１１（ａ）は組み合わせる前のデータ状態を示し、図１１（ｂ）は組み合わせた後のデータ状態を示している。なお、図１１（ａ）のデータは、前記したようにデイジーチェーン上の各スレーブユニットがデータを取得する際の同期性を保つために、遠い位置にあるスレーブユニットの係わるデータ（ｎ台目のデータ）をヘッダの次に配置し、近い位置にあるスレーブユニットに係わるデータ（１台目のデータ）を最も後方に配置している。
【００８０】
これらデータについて、三つのデータを組み合わせてデータを生成する。図１１（ｂ）において、一つの冗長なデータとｎ台目のデータとｎ−１台目のデータを組み合わせて生成してヘッダの次に配置し、ｎ−２台目のデータとｎ−３台目のデータとｎ−４台目（図示していない）のデータを組み合わせて生成して次の位置に配置し、３台目のデータと２台目のデータと１台目のデータを組み合わせて生成して最後に配置する。
【００８１】
なお、ここでは、ｎ台目のデータとｎ−１台目のデータに一つの冗長なデータを組み合わせることで数合わせを行っているが、２台目のデータと１台目のデータに冗長なデータを組み合わせることで数合わせを行うようにしてもよい。
【００８２】
また、図１２において、組み合わせるスレーブユニットの個数を３としたとき、デイジーチェーンされるスレーブユニットの総数が３の倍数＋１である場合には、冗長なデータを二つ付加することにより、３台のスレーブユニットに係わるデータを組み合わせて送信データを生成する。図１２（ａ）は組み合わせる前のデータ状態を示し、図１２（ｂ）は組み合わせた後のデータ状態を示している。なお、図１２（ａ）のデータは、前記したようにデイジーチェーン上の各スレーブユニットがデータを取得する際の同期性を保つために、遠い位置にあるスレーブユニットの係わるデータ（ｎ台目のデータ）をヘッダの次に配置し、近い位置にあるスレーブユニットに係わるデータ（１台目のデータ）を最も後方に配置している。
【００８３】
これらデータについて、三つのデータを組み合わせてデータを生成する。図１２（ｂ）において、二つの冗長なデータとｎ台目のデータとを組み合わせて生成してヘッダの次に配置し、ｎ−１台目のデータとｎ−２台目のデータとｎ−３台目（図示していない）のデータを組み合わせて生成して次の位置に配置し、３台目のデータと２台目のデータと１台目のデータを組み合わせて生成して最後に配置する。
【００８４】
なお、ここでは、ｎ台目のデータに二つの冗長なデータを組み合わせることで数合わせを行っているが、１台目のデータに冗長なデータを組み合わせることで数合わせを行うようにしてもよい。さらに、付加する二つの冗長なデータの内の一つのデータをｎ台目のデータとｎ−１台目のデータに組み合わせ、残りの一つのデータをｎ−２台目のデータとｎ−３のデータに組み合わせるといったように、別のデータの組みとして組み合わせてもよい。このとき、組み合わせるデータの組みは任意に設定することができる。
【００８５】
前記例では、二つのデータを組み合わせる例と三つのデータを組み合わせる例を示したが、組み合わせるデータの個数は任意に設定することができる。
【００８６】
次に、マスタユニットの構成例及びスレーブユニットの構成例について、図１３，図１４を用いて説明する。
【００８７】
図１３はマスタユニットの構成例を説明するための図である。マスタユニットＭは、プロセッサ１１を有し、システムプログラムが記憶されたＲＯＭ１２、制御プログラムや各種データを記憶し、演算処理等に利用されるＲＡＭ１３、送信制御回路１４、受信制御回路１５がバスに接続される。送信制御回路１４には、パラレル信号をシリアル信号に変換するＰ／Ｓ変換器１６が接続され、シリアル信号に変換された送信データはシリアル通信ラインに送り出される。また、シリアル通信ラインを介して入力される受信データはシリアル信号をパラレル信号に変換するＳ／Ｐ変換器１７に入力され、該Ｓ／Ｐ変換器１７は受信制御回路１５に接続されている。
【００８８】
また、送信制御回路１４とＰ／Ｓ変換器１６との間には、誤り訂正符号化処理、及びデータを組み合わせる処理を行って送信データを生成する送信データ生成回路１８を備える。この送信データ生成回路１８には設定回路１９が接続され、データの組み合わせにおいて、組み合わせるデータの組みの設定や、組み合わせるデータ数の設定等の設定処理を行う。この設定処理は、マスタユニットＭにデイジーチェーン接続されるスレーブユニットの個数に応じて行うことができる。
【００８９】
図１４は、スレーブユニットの構成例を説明するための図である。図１４において、スレーブユニットＳは、マスタユニットＭからシリアル通信ラインを介して送られた伝送をＳ／Ｐ変換器２２に入力すると共にバッファ回路２１に入力する。このバッファ回路２１はシリアル通信ラインに接続され、マスタユニットＭから受信したデータはそのまま次のスレーブユニットＳに送られる。Ｓ／Ｐ変換器２２には、受信制御回路２３が接続され、パラレル信号に変換されたデータ信号が受信制御回路２３に入力されるようになっている。受信制御回路２３には復号手段２４が接続され、誤り訂正符号による復号を行ってバーストエラーにより消失したデータを補い、得られたデジタル信号は電流制御回路２５によってサーボモータへの電流指令となる。
【００９０】
次に、スレーブユニットからマスタユニットに向けてデータを伝送する第２の伝送態様について図１５〜図１８を用いて説明する。
スレーブユニットからマスタユニット方向へのデータ伝送においても、第１の伝送態様と同様に、データの組み合わせによりバーストエラーに対して耐性を高くすることができる。
【００９１】
第２の態様においても、データの組み合わせは種々の形態とすることができる。図１５はデータの組み合わせの形態を説明するための図である。  
なお、ここでは、スレーブユニットからマスタユニットに向かうデータをＤfで示している。
【００９２】
図１５（ａ），（ｂ）は、二つのデータを組み合わせる例を示している。ｎ台目のスレーブユニットＳnからマスタユニットＭに送信する誤り訂正符号を含むデータをＤfnとし、ｎ−１台目のスレーブユニットＳn-1からマスタユニットＭに送信する誤り訂正符号を含むデータをＤfn-1としたとき、これら二つのデータＤfnとＤfn-1とを組み合わせることで誤り訂正符号付きのデータＤｆn,n-1を生成する。同様にして、ｎ−２台目のスレーブユニットＳn-2からマスタユニットＭに送信するデータをＤfn-2とし、ｎ−３台目のスレーブユニットＳn-3からマスタユニットＭに送信するデータをＤfn-3としたとき、これら２つのデータＤfn-2とＤfn-3とを組み合わせることで誤り訂正符号付きのデータＤfn-2,n-3を生成する。
【００９３】
また、図１５（ｃ），（ｄ）は、三つのデータを組み合わせる例を示している。ｎ台目のスレーブユニットＳnからマスタユニットＭに送信するデータをＤfnとし、ｎ−１台目のスレーブユニットＳn-1からマスタユニットＭに送信するデータをＤfn-1とし、ｎ−２台目のスレーブユニットＳn-2からマスタユニットＭに送信するデータをＤfn-2としたとき、これら三つのデータＤfｎとＤfn-1とＤfn-2を組み合わせることで誤り訂正符号付きのデータＤfn,n-1,n-2を生成する。組み合わせるデータの個数は任意に設定することができる。
【００９４】
また、図ではデイジーチェーン上で隣接するスレーブユニットに係わるデータを組み合わせる例を示しているが、これに限らず、上流のスレーブユニットは下流側の任意のスレーブユニットに係わるデータを組み合わせてもよい。
【００９５】
いずれの組み合わせにおいても、各スレーブユニットに対するデータに各データを特定するアドレスデータ等の識別データをヘッダ等に付与しておくことによって、スレーブユニット及びマスタユニットは各スレーブユニットからのデータを認識することができ、スレーブユニットは自己のスレーブユニットと組み合わせるスレーブユニットのデータを選択することができる。
【００９６】
図１６は、マスタユニットＭに対してスレーブユニットＳ１〜スレーブユニットＳｎがデイジーチェーン接続された構成例において、スレーブユニットからマスタユニットへのデータ伝送を説明するための図である。
【００９７】
図１６は、スレーブユニットＳにおいて、二つのデータを組み合わせて送信データを生成して、マスタユニットＭにシリアル通信ラインを介して送信を行う例を示している。なお、ここでは、デイジーチェーン接続上において、隣接するスレーブユニットの下流側のスレーブユニットは上流側のスレーブユニットに送信データを送信し、上流側のスレーブユニットは下流側の送信データと自分のデータとを組み合わせて送信データを生成する例について示している。
【００９８】
スレーブユニットＳｎはマスタユニットＭに送るべき誤り訂正符号を含むデータＤfnを上流のスレーブユニットＳn-1に送信する。スレーブユニットＳn-1は、受信したデータＤfnとスレーブユニットＳn-1自身がマスタユニットＭに送るべき誤り訂正符号を含むデータＤfn-1とを組み合わせて、送信データＤfn,n-1を生成する。この送信データＤfn,n-1を次のスレーブユニットＳn-2に送る。
【００９９】
デイジーチェーン上のスレーブユニットＳにおいて、組み合わせを行う隣接する二つのスレーブユニットＳm+1，Ｓmの内で、下流側のスレーブユニットＳm+1は、さらに一段下流のスレーブユニットＳm+2からデータを受信し、このデータにスレーブユニットＳm+1自身がマスタユニットＭに送るべき誤り訂正符号を含むデータＤfm+1を加えて、上流側のスレーブユニットＳmに送る。
【０１００】
スレーブユニットＳmは、受信したデータ中に含まれる下流側のデータＤfm+1とスレーブユニットＳm自身がマスタユニットＭに送るべき誤り訂正符号を含むデータＤfmとを組み合わせて、送信データＤfm+1,mを生成する。この送信データＤfm+1,mを次のスレーブユニットＳm-1に送る。
【０１０１】
これにより、マスタユニットＭが受信するデータは、デイジーチェーン上で隣接する二つのスレーブユニットを単位として組み合わされたデータとなる。マスタユニットＭはこのデータを復号化して各スレーブユニットからのデータを取得することができる。このとき、バーストエラーがある場合には、誤り訂正符号により修復される。
【０１０２】
次に、スレーブユニットの構成例について図１７を用いて説明する。なお、図１７は誤り訂正符号機能を備えるスレーブユニットの構成例である。
【０１０３】
図１７において、誤り訂正符号機能を備えるスレーブユニットＳは、前記図１４で示した構成と同様に、マスタユニットＭからの伝送を次のスレーブユニットに転送するバッファ回路２１と、受信したスレーブユニットが持つ負荷を駆動させるための、Ｓ／Ｐ変換器２２，受信制御回路２３，復号手段２４，電流制御回路２５等の構成を備える他、下流側から受信したデータとスレーブユニット自身のデータとを上流のスレーブユニットに送る構成とを備える。
【０１０４】
上記構成において、Ｓ／Ｐ変換器３１によって下流側のスレーブユニットから受信したシリアル信号をパラレル信号に変換し、変換したパラレル信号をバッファ回路３２を介して送信制御回路３３に送る。データ抽出回路３５は、Ｓ／Ｐ変換器３１で変換されたパラレル信号から下流側のスレーブユニットのデータを抽出し、送信制御回路３３に送る。
【０１０５】
データ生成回路３６は、自身のスレーブユニットがマスタユニットＭに送るべきデータを誤り訂正符号化する。送信制御回路３３は、データ抽出回路３５で抽出されたデータとデータ生成回路３６で生成されたいずれも誤り訂正符号を含むデータ同士を組み合わせてなるデータをＰ／Ｓ変換器３４でシリアル信号に変換して上流側のスレーブユニットに送信する。
【０１０６】
上記構成において、Ｓ／Ｐ変換器３１によって下流側のスレーブユニットから受信したシリアル信号をパラレル信号に変換し、変換したパラレル信号をバッファ回路３２を介して送信制御回路３３に送る。データ生成回路３７は、自身のスレーブユニットがマスタユニットＭに送るべきデータを生成して送信制御回路３３に送る。送信制御回路３３は、両データをＰ／Ｓ変換器３４でシリアル信号に変換して上流側のスレーブユニットに送信する。
【０１０７】
図１６、図１７では、デイジーチェーン上で隣接する二つのスレーブユニットの組み合わせについて示したが、組み合わせの種類や組み合わせの個数は任意に定めることができる。
【図面の簡単な説明】
【０１０８】
【図１】本発明のデータ伝送装置を適用することができるシステム構成図である。
【図２】データ伝送装置のマスタユニットから送信される通常のパケットの一例である。
【図３】マスタユニットから伝送するデータ順を説明するための図である。
【図４】データ伝送装置のスレーブユニットから送信される通常のパケットの一例である。
【図５】第１の伝送態様を説明するための図である。
【図６】データの組み合わせの形態を説明するための図である。
【図７】マスタユニットに対してスレーブユニットがデイジーチェーン接続された構成例を説明するための図である。
【図８】デイジーチェーンされるスレーブユニットの総数が偶数である場合の例を説明するための図である。
【図９】デイジーチェーンされるスレーブユニットの総数が奇数である場合の例を説明するための図である。
【図１０】デイジーチェーンされるスレーブユニットの総数が３の倍数である場合の例を説明するための図である。
【図１１】デイジーチェーンされるスレーブユニットの総数が３の倍数＋２である場合の例を説明するための図である。
【図１２】デイジーチェーンされるスレーブユニットの総数が３の倍数＋１である場合の例を説明するための図である。
【図１３】マスタユニットの構成例を説明するための図である。
【図１４】スレーブユニットの構成例を説明するための図である。
【図１５】第２の伝送態様のデータの組み合わせの形態を説明するための図である。
【図１６】スレーブユニットからマスタユニットへのデータ伝送を説明するための図である。
【図１７】誤り訂正符号機能を備えるスレーブユニットの構成例を説明するための図である。
【図１８】バーストエラーにより誤り訂正の概略を説明するための図である。
【符号の説明】
【０１０９】
１  データ伝送装置
２  シリアル通信ライン
１１  プロセッサ
１２  ＲＯＭ
１３  ＲＡＭ
１４  送信制御回路
１５  受信制御回路
１６  Ｐ／Ｓ変換器
１７  Ｓ／Ｐ変換器
１８  送信データ生成回路
１９  設定回路
２１  バッファ回路
２２  Ｓ／Ｐ変換器
２３  受信制御回路
２４  復号手段
２５  電流制御回路
３１  Ｓ／Ｐ変換器
３２  バッファ回路
３３  送信制御回路
３４  Ｐ／Ｓ変換器
３５  データ抽出回路
３６  データ生成回路
３７  データ生成回路
Ｍ  マスタユニット
Ｓ、Ｓ１〜Ｓｎ  スレーブユニット
【図１】
2006094302.tif 000003
【図２】
2006094302.tif 000004
【図３】
2006094302.tif 000005
【図４】
2006094302.tif 000006
【図５】
2006094302.tif 000007
【図６】
2006094302.tif 000008
【図７】
2006094302.tif 000009
【図８】
2006094302.tif 000010
【図９】
2006094302.tif 000011
【図１０】
2006094302.tif 000012
【図１１】
2006094302.tif 000013
【図１２】
2006094302.tif 000014
【図１３】
2006094302.tif 000015
【図１４】
2006094302.tif 000016
【図１５】
2006094302.tif 000017
【図１６】
2006094302.tif 000018
【図１７】
2006094302.tif 000019
【図１８】
2006094302.tif 000020