(57)【特許請求の範囲】
【請求項１】
１つのマスタ局と１つ以上のスレーブ局を有するリング型ネットワークシステムにおいて、
前記マスタ局は、
前記リング型ネットワークを使用するシステムが用いるフレームの最大長に基づく情報を含むフレームを生成、送信する最大長通知手段を有し、
前記スレーブ局は、
前記ネットワークからの受信データをバッファリングするバッファ手段と、
前記フレームが含む前記フレームの最大長に基づく情報に基づいて前記バッファ手段の段数の設定を行う段数設定手段と、
を備えることを特徴とするリング型ネットワークシステム。
【請求項２】
前記段数設定手段は、送信フレーム生成の為前記バッファ手段より格納データを取り出すタイミングを決定することにより、前記バッファ手段の段数の設定を行うことを特徴とする請求項１記載のリング型ネットワークシステム。
【請求項３】
リング型ネットワークの局装置であって
自局を通過するフレームの長さを計測するフレーム長計測手段と、
前記ネットワークからの受信データをバッファリングするバッファ手段と、
一定期間内に前記フレーム長計測手段により計測された最も長いフレーム長に基づいて前記バッファ手段の段数の設定を行う段数設定手段と、
を備えることを特徴とするリング型ネットワークの局装置。
【請求項４】
前記段数設定手段は、定期的に、一定期間内に前記フレーム長計測手段により計測された最も長いフレーム長に基づいて、前記バッファ手段の段数の設定を行うことを特徴とする請求項３記載のリング型ネットワークの局装置。
【請求項５】
複数の局からなるリング型ネットワークにおける周波数偏差補償方法であって
第１の局が前記リング型ネットワークを使用するシステムが用いるフレームの最大長に基づく情報を通知するフレームを該ネットワークに送信し、
前記フレームを受け取った各局は、該フレームによって通知された前記フレームの最大長に基づく情報に基づいて自己の周波数偏差補償用バッファの段数の設定を行う、
ことを特徴とするリング型ネットワークにおける周波数偏差補償方法。
【請求項６】
複数の局からなるリング型ネットワークにおける周波数偏差補償方法であって
前記局は自局を通過する伝送フレームの長さを一定期間計測し、
該測定の結果、最大の伝送フレームの長さに基づいて自己の周波数偏差補償用のバッファの段数の設定を行う
ことを特徴とするリング型ネットワークにおける周波数偏差補償方法。
【請求項７】
前記周波数偏差補償用バッファの段数の設定は、送信フレーム生成の為前記周波数偏差補償用バッファより格納データを取り出すタイミングを決定することにより行うことを特徴とする請求項５又は６記載のリング型ネットワークにおける周波数偏差補償方法。
【請求項８】
前記局は、前記計測を定期的に行い、該計測の結果に基づいて自己の周波数偏差補償用のバッファの段数の設定を行うことを特徴とする請求項５、６又は７記載のリング型ネットワークにおける周波数偏差補償方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、リング型ネットワークにおける周波数偏差の補償に関する。
【０００２】
【従来の技術】
ネットワークの形状の１つとして、ＩＥＥＥ８０２．５に規定されているトークンリング方式のネットワークで代表されるリング（ループ）形態のネットワークがある。
【０００３】
リング型のネットワークでは、リング状の伝送路に各局が物理的に配置され、局は伝送路を一定方向に流れるフレームを上流局より受信する。受信フレームのアドレスが自己のものでない場合、受信局はフレームを再生成し次の下流局へ送信する。この様にリング型ネットワークでは各局がフレームを順次中継してゆき、伝送路内を巡回させてデータ通信を行う。
【０００４】
このリング型ネットワークにおいて、上流局から送出されたデータフレームを受信する際、受信局は自局のクロックで生成したサンプリングクロックでデータをサンプリングして取込み、波形整形をした後に自局の送信クロックを使って下流局に送出する。
【０００５】
この様にリング型のネットワークにおいては、各局は上流局のクロックタイミングを持つデータフレームから受信局のクロックによるタイミングでデータを取り出すことになる。よって、ネットワークの伝送速度は一定であるため、当然各局の持つクロックはすべて同一の周波数でなければならない。
【０００６】
しかしながら、各局のクロックは、その温度環境等により規定周波数に対して５０乃至１００ｐｐｍ（parts per million:１００万分の１）程度の周波数のばらつき（周波数偏差）を持つことが一般的である。
【０００７】
従って、データ通信に全ての局で同じ規定周波数のクロックを使用していても、実際にはネットワーク内のある局の使用しているクロックと別の局の使用しているクロックとは周波数が異なることが考えられる。よって、フレーム中継時、伝送フレームの最初の方のビットの転送時は同じタイミングで動作していても、その周波数偏差のために次第に送受信間のタイミングでずれが生じてきてしまう。そしてこのずれの大きさがデータフレームの１ビット長を超えてしまうと、フレームデータに不用な追加（オーバラン）あるいは欠落（アンダーラン）を生じてしまう。
【０００８】
これを解決する方法として、複数の１ビットレジスタによる偏差補償用のバッファを設け、データフレームをバッファリングして送信と受信のクロック周波数偏差を補償する方法が一般的に用いられる。
【０００９】
図５は、偏差補償用のバッファを用いた各局でのデータの転送プロセスを示すブロック図である。図５において、データ受信部１０１は、リングネットワークの上流局からのデータの受信を行う。この受信データはマンチェスタ符号等クロック成分を含むもので、データ受信部１０１はこの受信データを送信クロックの数倍の周波数のクロックでサンプリングし、データと送信クロックを抽出し、偏差補償用バッファ１０２に格納する。偏差補償用バッファ１０２は、複数個の１ビットレジスタによって構成される複数段の１ビットのバッファである。データ送信部１０３はバッファ１０２よりデータを取り出し、これを用いて送信クロックによりマンチェスタ符号化を行いフレームを形成すると共に、ネットワークの下流局に送出する。
【００１０】
図６は偏差補償用バッファ１０２による周波数偏差の補償方法を説明する図である。
図６では、最大２ビットずつのオーバラン／アンダーランに対処するため５ビットの容量のバッファによる構成となっている。
【００１１】
ネットワークから受信したフレームデータのバッファ１０２への格納は、上流局からの送信クロックの速度で、１段目から順に２、３・・・段目と受信データを格納してゆき、５段目の次には再び１段目へとサイクリックに格納してゆく。
【００１２】
一方バッファ１０２からのデータの取り出しは、データ格納側が３段目のバッファへデータを格納したなら、データ送信部１０３により、ＦＩＦＯ（First In First Out）方式により、自局クロックで動作してバッファの１段目から２、３段目・・・とデータを格納順に取り出し、５段目の次には再び１段目から取り出す。
【００１３】
こうすることにより通常ならばクロックのずれが１ビット長以上となってしまった場合にはビットの欠落等を生じてしまうところを、図６の構成の様なバッファを設けることにより、最大２ビットまでのオーバラン／アンダーランに対しては周波数偏差の補償を行うことができ、それだけ連続して長いデータを送ることができる。
【００１４】
【発明が解決しようとする課題】
上記データ伝送時の周波数偏差によるずれは、その伝送フレームの大きさに比して大きくなる。よって、クロックの周波数偏差補償用のバッファを用いる方式では、バッファの段数はネットワークに流れるフレームの中で最大データ長を有するフレームの伝送が可能であるように決定される。つまり、そのバッファの段数は、最大周波数偏差が一定であるとすると、ネットワークで伝送される最も長いフレームのデータ長（最大データ長）に基づいて決まる。そしてこの最大データ長は、ネットワークを使用する様々なシステムが用いるフレームの中で最も大きなものとなる。
【００１５】
ところで、伝送されるフレームは各局のクロック周波数偏差補償用のバッファを通過する度に伝送遅延を生じ、この遅延は各局内のバッファの段数が多くなるほど大きくなる。例えば図６の様に最大２ビットのずれに対応してバッファの段数を決定した場合、伝送フレームはこのバッファによって各局毎に２クロック分ずつ遅延を生じる。この様に、バッファの段数が大きくなるとそれに比して伝送遅延も大きくなる。
【００１６】
最大データ長が大きなネットワークほど各局のバッファの段数が大きくなり、バッファの段数が大きいほど局毎に生じる遅延も大きくなってしまい、ネットワークの伝送効率が悪くなる。特に、ネットワークの最大データ長に比してそれほど長いデータ長が必要でないシステムにおいても、バッファの段数はネットワークが定義する段数となってしまい、必要以上に伝送効率を落としてしまう。
【００１７】
本発明は上記の点に鑑みてなされたものであり、プロセス入出力機器の接続ネットワーク等の中、小規模ネットワークの１つの形状として用いられるリング型ネットワークにおいて、バッファの段数をネットワークを使用するシステムにより可変できるようにすることで、ネットワークの伝送効率を向上させることを可能とするネットワークシステム及びその方法を提供することを目的とする。
【００１８】
【課題を解決するための手段】
本発明によるネットワークシステムでは、１つのマスタ局と１つ以上のスレーブ局を有するリング型ネットワークシステムに係るものである。マスタ局は最大長通知手段を、スレーブ局はバッファ手段、段数設定手段を有する。
【００１９】
最大長通知手段は、上記リング型ネットワークを使用するシステムが用いるフレームの最大長に基づく情報を含むフレームを生成、送信する。
バッファ手段は、上記ネットワークからの受信データをバッファリングする。
【００２０】
段数設定手段は、上記通知フレームによるフレームの最大長の値に基づいて上記バッファ手段の段数の設定を行う。
また本発明の別形態では、リング型ネットワーク内の局は、フレーム長計測手段を有する。
【００２１】
フレーム長計測手段は、自局を通過するフレームの長さを計測する。そして上記段数設定手段は、一定期間内に上記フレーム長計測手段により計測された最も長いフレーム長に基づいて上記バッファ手段の段数の設定を行う。
【００２２】
本発明によれば、各局は、マスタ局からの上記リング型ネットワークを使用するシステムが用いるフレームの最大長に基づく情報、あるいはフレーム長計測手段による計測結果に基づいて、自己のバッファ手段の段数を設定するので、上記ネットワークを流れる伝送フレームの該バッファ手段による遅延を小さくすることが出来る。
【００２３】
【発明の実施の形態】
以下に本願発明の１実施形態として、ＦＡ（Factory Automation）などに用いられる局数数台〜数百台程度、ネットワーク長数十〜数百ｍ程度、伝送周波数が数Ｍ〜数十ＭＨｚ程度のＬＡＮに適用した場合を説明する。
【００２４】
図１は第１の実施形態におけるリング型ネットワークシステムの概略図を説明する図である。
図１および２の構成では、リング型ネットワーク１０上に任意の数の局ａ、ｂ、・・ｍが接続されており、そのうち局ａがネットワークの管理を行うマスタ局、局ｂ〜ｍがスレーブ局とする。リング結合型ネットワーク１０上の矢印はフレームデータが流れる方向を示すものであり、マスタ局ａに対してネットワーク１０上で最も近いスレーブ局を局ｂ、その次を局ｃ、．．．、最も下流にある局を局ｍとする。またネットワーク１０はリング型ネットワークなので、最下流のスレーブ局ｍからのフレームはマスタ局ａが受信する。
【００２５】
局ａ〜ｍは、後述する段数が変更可能な周波数偏差補償用バッファを各々備えている。ネットワーク立ち上げ時各局は、このバッファの段数を従来の場合と同様ネットワークで伝送される最も長いフレームのデータ長（最大データ長）に基づいた値に設定されている。
【００２６】
ネットワークシステムが立ち上げ時、マスタ局ａはネットワークシステムの初期化の処理、例えば局番の設定／収集などのネットワークの状態の設定や情報収集などを行う。
【００２７】
またマスタ局はこの初期化の処理の１つとして、ネットワークを使用するシステムの性能、状態などに基づいて局ｂ〜ｍの周波数補償用バッファの段数値を設定するための情報をフレーム１１としてネットワークに送信する。
【００２８】
このフレーム１１の情報としては、例えばネットワークを使用するシステムが用いるフレームの最大長、あるいはシステムの種類、状態等を示す情報などがある。この場合、このフレーム１１内の情報を用いて各局毎に段数値を求める。あるいは局ａが求めた段数値をフレーム１１として送信し、各局がそれを自局のバッファの段数として設定することも可能である。
【００２９】
局ｂ〜ｍは、このフレーム１１を受信すると上記情報を取り出し、それに基づいて自己の周波数偏差補償用バッファの段数を設定すると共に下流局にフレーム１１を送信する。
【００３０】
このフレーム１１は、ネットワーク１０内を一巡し、局ｂ〜ｍでのバッファの段数の設定が完了すると、局ａが受信する。これにより局ａは、ネットワーク内の局ｂ〜ｍでバッファの段数の設定が完了したことを認知する。
【００３１】
図２は、第１の実施形態に於ける、各局での、偏差補償用のバッファを中心とするブロック構成図である。
図２において、データ受信部１は、リングネットワークの上流局からのデータの受信を行い、この受信データをネットワーク１０の送信クロックの数倍の周波数のクロックでサンプリングし、データと送信クロックを抽出して、偏差補償用バッファ２に格納する。またデータ送信部３は周波数偏差補償用バッファ２よりデータを取りだし、自局のクロックによりフレームを再生成すると共に下流局に送出する。このデータ受信部１とデータ送信部３は、図５のデータ受信部１０１及びデータ送信部１０３に後述するバッファ段数設定部４に対する機能を加えたものである。
【００３２】
周波数偏差補償用バッファ２は、複数個の１ビットレジスタによって構成される複数段の１ビットバッファで、ネットワークで伝送される最も長いデータ長（最大データ長）のフレームでの周波数偏差に対応できる大きさ、該最大データ長に基づいて求めた必要なバッファの段数をｎとすると、２ｎ＋１以上の容量をもつ。このバッファ２へのデータの格納形式は、１段目から順に格納してゆき、最下段の次は１段目にもどるサイクリックな形式であり、またデータの引出しはＦＩＦＯ形式である。
【００３３】
バッファ段数設定部４は、局ａからの情報に基づいて周波数偏差補償用バッファ２の段数値を決定し、バッファ２及びデータ送信部３を制御する。このバッファ段数設定部４は、例えば局ａからフレーム１１で与えられる情報がバッファに設定する段数値そのものである場合にはその値を、局ａからの情報がネットワークを使用するシステムで用いるフレームの最大長、あるいはシステムの種類、状態等を示す情報等の場合にはその情報を用いて設定する段数を計算して、あるいは事前に求めバッファ段数設定部４内に保持している値から該情報でデコードを行って選び、それに基づいてバッファ２及びデータ送信部３を制御する。
【００３４】
データ受信部１はネットワーク１０より局ａからのフレーム１１を受信すると、バッファ段数設定部４にフレーム１１内の情報を通知する。これを受けてバッファ段数設定部４は、この情報を用いて計算、あるいは該情報をデーコードして予め求めていた値の中から周波数偏差補償用バッファ２の段数の値を決定する。以降、バッファ段数設定部４は周波数偏差補償用バッファ２がこの段数のバッファとして働くようバッファ２及びデータ送信部３を制御する。
【００３５】
図３は、周波数偏差補償用バッファ２での段数の設定を説明する図である。
各局の周波数偏差補償用バッファ２の段数は、初期設定として、ネットワークで伝送される最も長いフレームのデータ長（最大データ長）に対応した段数となっている。この最大データ長を伝送した場合最大ｎビットの周波数偏差が発生する可能性がある時、バッファ２は段数はｎとなる。
【００３６】
図３（ａ）はこのバッファ２の初期状態での段数の設定を示す図である。
このバッファ２は周波数偏差を補償するためのものなので、ここでのバッファ２の段数とは、バッファ２の容量自体を指すのではなく、データ受信部１によりバッファ２にデータが何段目まで格納された時よりデータ送信部３がバッファ２よりデータを取り出すかを示す。図３（ａ）の様に、データ受信部１によりバッファ２のｎ段目までデータが格納された時点でデータ送信部３が格納データの引出しを開始することにより、バッファ２は最大ｎビットまでのアンダーフロー／オーバフローに対処することが出来る。
【００３７】
次に周波数偏差補償用バッファ２の段数は、局ａよりフレーム１１が送信され、これを受けてバッファ段数設定部４が周波数偏差補償用バッファ２の段数の値を決定する。この値をｋとするとｋ≦ｎとなる。
【００３８】
図３（ｂ）は、バッファ段数設定部４によりバッファ２の段数の設定後を示す図である。
バッファ段数設定部４は、データ受信部１からフレーム１１内の情報を受け取ると、これに基づいて周波数偏差補償用バッファ２の段数値ｋを決定する。以降データバッファ段数設定部４は、バッファ２及びデータ送信部３に対して制御を行い、データ送信部３がバッファ２より格納データを取り出すタイミングを、データ受信部１がデータをバッファ２のｎ段目まで格納した時点より、ｋ段目まで格納した時点へ変更する。
【００３９】
これにより、バッファ２は最大ｋビットまでのアンダーフロー／オーバフローに対処することが出来るｋ段の周波数偏差補償用バッファとして動作する。また伝送フレームは、このバッファ２によって図３（ａ）の場合ｎクロック分の遅延を生じていたのが、図３（ｂ）の場合ｋクロック分の遅延となり、周波数偏差補償用バッファ２による遅延が最小限に押さえれらる。
【００４０】
この様に第１の本実施形態では、マスタ局ａからの情報に基づいて、局ｂ〜ｍのバッファ段数設定部４が周波数偏差補償用バッファ２とデータ送信部３を制御してデータ送信部３が格納データを取り出しを開始するタイミングを制御することによって、バッファ２の段数をネットワークを使用するシステムに最適化した値に変更する。これにより、バッファ２で必要以上の伝送遅延が生じることによる伝送効率の低下を防ぐことが出来る。
【００４１】
次に第２の実施形態について説明する。
第２の実施形態では、第１の実施形態の様にマスタ局からの情報によってバッファの段数を決定するのではなく、各局に自局を通過する伝送フレーム、すなわちリング型ネットワーク上を流れる伝送フレームのデータ長を計測する回路を設け、一定期間の計測の結果を用いて各局が自己の周波数偏差補償用バッファの段数を設定する。
【００４２】
第２の実施形態では、まず各局は周波数偏差補償用のバッファ段数は、初期設定として、第１の実施形態と同様ネットワークで伝送される最も長いフレームのデータ長（最大データ長）に基づいた値ｎに設定されている。
【００４３】
ネットワークシステムが立ち上がった後、各局は自局を通過する伝送フレームの長さの計測を一定期間行い、その間自局を通過したフレームの長さの最大値を記憶する。
【００４４】
図４は、この第２の実施形態を実現するための概略ブロック図である。
通過フレームの長さの最大値の判断、該最大値の記憶を行うための構成としては、前回までの計測値の最大値をレジスタ等に格納しておき、新しい計測が完了すると前回までの値と今回の計測値を比較し、大きな値を最大値としてレジスタに保持する等一般的な方式で実現することが出来る。
【００４５】
図４において、まずリング型ネットワーク２４より受信したフレームをデータ受信部２１は、サンプリング後、受信データとして周波数偏差補償用バッファ２２に受信フレーム格納信号３０のタイミングで格納してゆく。またデータ受信部２６はフレーム先頭／終了通知信号２９を立ち上げ、フレームデータ長カウンタ回路２５にフレームの先頭を知らせる。これを受けて、フレームデータ長カウンタ回路２５はフレーム格納信号３０をカウントし始める。
【００４６】
１つのフレームの受信が完了すると、データ受信部２３はフレーム先頭／終了通知信号２９を立ち下げてフレームデータ長カウンタ回路２５に通知する。これを受けてフレームデータ長カウンタ回路２５は、フレーム格納信号３０によるフレーム長のカウントを終了し、カウント値を計測結果としてフレーム比較回路２７に出力する。フレーム比較回路２７は、この今回受信したフレームのフレーム長３３とフレーム最大データ長格納レジスタ２６内に格納されている前回までの計測でのフレームの最大長３４を比較し、大きな方の値３５をレジスタ２６に格納する。
【００４７】
これらの動作を一定期間繰り返し計測を行う期間が終了すると、フレーム最大データ長格納レジスタ２６内に格納されているフレーム長を、ネットワーク２４で伝送されるフレームの最大フレーム長値３６としてバッファ段数変換回路２８に通知する。
【００４８】
この最大フレーム長値３６に基づいて、バッファ段数変換回路２８はネットワーク２４を伝送されるフレームの周波数偏差補償を行うために必要なバッファ２２の段数ｋを求め、これをバッファ段数信号３２としてバッファ２２に通知する。
【００４９】
以降バッファ２２にバッファ段数変換回路２８で通知された段数ｋのデータがデータ受信部２１に格納されると、バッファ２２はデータ送信部２３にフレーム取り出し信号３１により通知する。データ送信部２３は、このフレーム取り出し信号３１によってバッファ２２からのデータを取り出だし、フレームを再生成を開始すると共に該フレームをネットワーク２４へ送信する。
【００５０】
この様に第２の実施形態を実現する構成は、フレーム長を計測する回路自体はフレームの先頭を認識し、そのタイミングからフレームの終了を認識するまでのデータフレームビット長をカウントするカウンタ回路、フレーム長の計測完了毎にそのフレーム長がそれまでで最大かどうかを比較する比較回路、最大フレーム長を格納する格納レジスタ等一般的な回路であり、容易に実現可能である。
【００５１】
以上の様に第２の実施形態では、各局に一定期間内に自局を通過するフレームのデータ長を計測する構成を設け、第１の実施形態と同様この計測結果に基づいてデータ送信部がバッファからデータを取り出すタイミングを定めることでバッファの段数を設定することにより、バッファで必要以上の局遅延が生じることによる伝送効率の低下を防ぐことが出来る。
【００５２】
上記第１及び第２の実機形態の方法では、ネットワークを使用するシステムが用いるフレームの最大フレーム長が変化することがない場合は、バッファ段数の設定はシステムの立ち上げ時に一度最適な値を設定すれば問題ない。しかし最大フレーム長がそのプロセス過程で可変する可能性があるシステムの場合、ネットワークシステムの立ち上がりでバッファ段数を固定してしまうことはできない。第３の実施形態はこの様な場合に対応したものである。
【００５３】
第３の実施形態では、第２の実施形態において、自局を通過するフレーム長の計測を第２の実施形態の様にシステムの立ち上げ時だけで行うのではなく、一定間隔毎に行い、その度の計測結果によってバッファ段数ｋを修正する。
【００５４】
こうすることにより、常にシステムが用いるフレーム長に対して最適な周波数偏差補償用のバッファの段数が設定され、必要以上に局での遅延が生じることがなく、伝送効率の低下を防ぐことが出来る。
【００５５】
また第１の実施形態においても、定周期毎に、あるいはネットワーク内を流れるフレームの最大長が変化する度に、マスタ局ａが周波数補償用バッファの段数値を設定するための情報をフレーム１１として発行し、スレーブ局ｂ〜ｍに通知することにより、同様の効果を得ることが出来る。
【００５６】
【発明の効果】
以上の様に本発明によれば、周波数偏差補償用のバッファの段数値を、ネットワークが用いられるシステムの性能、状態により可変できるので、伝送フレームのバッファによる必要以上の遅延を防ぎ、ネットワークの伝送効率を向上させることを可能となる。
【００５７】
またネットワークを使用するシステムが、そのプロセス過程で用いるフレームの最大長が可変する場合であっても、常にシステムが用いるフレーム長に対して最適な周波数偏差補償用のバッファの段数が設定され、必要以上に局での遅延が生じることがなく、伝送効率の低下を防ぐことが出来る。
【図面の簡単な説明】
【図１】第１の実施形態におけるリング型ネットワークシステムの概略図を説明する図である。
【図２】第１の実施形態に於ける、各局の偏差補償用のバッファを中心とするブロック構成図である。
【図３】偏差補償用バッファによる周波数偏差の補償方法を説明する図である。
【図４】第２の実施形態を実現するための構成のブロック図である。
【図５】偏差補償用のバッファを用いた各局でのデータの転送プロセスを示すブロック図である。
【図６】偏差補償用バッファ１０２による周波数偏差の補償方法を説明する図である。
【符号の説明】
１、２１  データ受信部
２、２２  周波数偏差補償用バッファ
３、２３  データ送信部
４  バッファ段数設定部
１０、２４  リング型ネットワーク
１１  段数値を設定するための情報をフレーム
２５  フレームデータ長カウンタ回路
２６  フレーム最大データ長格納レジスタ
２７  フレーム長比較回路
２８  フレーム長バッファ段数変換回路
【図１】
0003734606.tif 000002
【図２】
0003734606.tif 000003
【図３】
0003734606.tif 000004
【図４】
0003734606.tif 000005
【図５】
0003734606.tif 000006
【図６】
0003734606.tif 000007