(57)【要約】【課題】信号受信から信号送信までのタイミング誤差を小さくする。【解決手段】複数のデータ処理ノードが所定のトポロジで通信路に接続されたデータ処理システムにおいて、データ処理ノードのデータ処理装置は、受信信号に基づいて受信クロック信号を再生し、再生された受信クロック信号に同期して受信データ再生部（１２２）で受信信号から受信データを再生すると共に、再生された受信データに対する送信データを送信データ生成部（１２３）で生成し、送信部（１２５）で送信データから送信信号を生成して送信クロック信号に同期して通信路に送信する、通信機能を備える。データ処理ノードは更に、受信データ再生部による信号の受信から送信部による送信信号の送信までに許容される時間に対して処理時間が短いとき、その誤差時間を検出する検出部（１２４）を有する。送信部は検出部による誤差時間の経過を待って送信データの送信を開始する。【選択図】図１
2011077751.tif 000002
【特許請求の範囲】
【請求項１】
通信処理回路とデータ処理回路を有し、
前記通信処理回路は、受信信号に基づいて受信クロック信号を再生するクロック再生部と、
前記クロック再生部で再生された受信クロック信号に同期して受信信号から受信データを再生する受信データ再生部と、
前記受信データ再生部で再生された受信データに対する送信データを生成する送信データ生成部と、
送信データ生成部で生成された送信データから送信信号を生成して送信クロック信号に同期して外部に送信する送信部と、
前記受信データ再生部による信号の受信から前記送信部による送信信号の送信までに許容される時間に対して処理時間が短いとき、その誤差時間を検出する検出部と、を有し、
前記送信部は前記検出部による誤差時間の経過を待って送信信号の送信を開始する、データ処理装置。
【請求項２】
前記クロック再生部は、前記受信クロック信号と共に、当該受信クロック信号に対して１／ｎの周波数を持つ分周クロック信号を生成し、
前記受信データ再生部は、再生された前記受信クロック信号に同期してビット単位の信号を再生し、生成された前記分周クロック信号に同期して再生されたビット信号を複数ビット単位で復号して受信データを再生し、
前記送信データ生成部は、前記分周クロック信号と同じ周波数の内部クロック信号に同期して送信データを生成し、
前記送信部は、前記送信データを符号化して、前記内部クロック信号の周波数をｎ倍した送信クロック信号にビット同期する前記送信信号を生成する、請求項１記載のデータ処理装置。
【請求項３】
前記検出部は、受信データ再生部が受信信号を受信してから有効な受信データを再生するまでの受信クロック信号のクロックサイクル数を基準とした目標サイクル数に対する第１の誤差サイクル数を検出すると共に、前記受信クロック信号のクロックサイクルを基準として前記分周クロック信号に対する前記内部クロック信号の位相遅れの第２の誤差サイクル数を検出し、前記第１の誤差サイクル数と前記第２の誤差サイクル数との和のサイクル数に相当する時間を誤差時間とする、請求項２記載のデータ処理装置。
【請求項４】
前記受信データ生成部は再生データを前記送信データ生成部に与えると共に、必要に応じて前記データ処理回路に与え、
前記送信データ生成部は、前記再生データに対して、前記データ処理回路による指示に従って、データの抽出、データの付加又はデータの修正を行って、送信データを生成する、請求項３記載のデータ処理装置。
【請求項５】
前記データ処理回路は、命令を実行する中央処理装置、前記中央処理装置がアクセスするメモリ、前記中央処理装置が制御する周辺回路、及び前記内部クロック信号を生成するクロックパルスジェネレータを有し、
前記中央処理装置は前記内部クロック信号に同期動作する、請求項４記載のデータ処理装置。
【請求項６】
複数のデータ処理ノードが所定のトポロジで通信路に接続されたデータ処理システムであって、
前記複数のデータ処理ノードの夫々はデータ処理装置を備え、
前記データ処理装置は、前記通信路に接続された通信処理回路と前記通信回路に接続されたデータ処理回路とを有し、
前記通信処理回路は、通信路から受信した受信信号に基づいて受信クロック信号を再生するクロック再生部と、
前記クロック再生部で再生された前記受信クロック信号に同期して受信信号から受信データを再生する受信データ再生部と、
前記受信データ再生部で再生された受信データに対する送信データを生成する送信データ生成部と、
送信データ生成部で生成された送信データから送信信号を生成して送信クロック信号に同期して通信路に送信する送信部と、
前記受信データ再生部による信号の受信から前記送信部による送信信号の送信までに許容される時間に対して処理時間が短いとき、その誤差時間を検出する検出部と、を有し、
前記送信部は前記検出部による誤差時間の経過を待って送信信号の送信を開始する、データ処理システム。
【請求項７】
前記複数のデータ処理ノードは、通信路の基点に配置されたマスタ装置と、中継装置と、スレーブ装置とを含み、マスタ装置からの出力が中継装置及びスレーブ装置を巡回転送されてマスタ装置に戻される、請求項６記載のデータ処理システム。
【請求項８】
前記許容される時間は全てのデータ処理装置の間で等しく設定される、請求項７記載のデータ処理システム。
【請求項９】
前記クロック再生部は、前記受信クロック信号を再生すると共に、当該受信クロック信号に対して１／ｎの周波数を持つ分周クロック信号を生成し、
前記受信データ再生部は、再生された受信クロック信号に同期してビット単位の信号を再生し、生成された分周クロック信号に同期して再生されたビット信号を複数ビット単位で復号して受信データを再生し、
前記送信データ生成部は、前記分周クロック信号と同じ周波数の内部クロック信号に同期して送信データを生成し、
前記送信部は、前記送信データを符号化して、前記内部クロック信号の周波数をｎ倍した送信クロック信号にビット同期する前記送信信号を生成する、請求項８記載のデータ処理システム。
【請求項１０】
前記検出部は、受信データ再生部が受信信号を受信してから有効な受信データを再生するまでの受信クロック信号のクロックサイクル数を基準とした目標サイクル数に対する第１の誤差サイクル数を検出すると共に、前記受信クロック信号のクロックサイクルを基準として前記分周クロック信号に対する前記内部クロック信号の位相遅れの第２の誤差サイクル数を検出し、前記第１の誤差サイクル数と前記第２の誤差サイクル数との和のサイクル数に相当する時間を誤差時間とする、請求項９記載のデータ処理システム。
【請求項１１】
前記受信データ生成部は再生データを前記送信データ生成部に与えると共に、必要に応じて前記データ処理回路に与え、
前記送信データ生成部は、前記再生データに対して、前記データ処理回路による指示に従って、データの抽出、データの付加又はデータの修正を行って、送信データを生成する、請求項１０記載のデータ処理システム。
【請求項１２】
前記データ処理回路は、命令を実行する中央処理装置、前記中央処理装置がアクセスするメモリ、前記中央処理装置が制御する周辺回路、及び前記内部クロック信号を生成するクロックパルスジェネレータを有し、
前記中央処理装置は前記内部クロック信号に同期動作する、請求項１１記載のデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置及びデータ処理システムに関する。
【背景技術】
【０００２】
通称Ｅｔｈｅｒｎｅｔ（登録商標）と呼ばれるＩＥＥＥ８０２．３による物理層及びデータリンク層の規格を利用し、高精度なタイミングにて制御データの通信を行ってシステムを制御する規格として、ＥｔｈｅｒＣＡＴ（Ethernet for Control Automation Technology）規格がある。
【０００３】
Ｅｔｈｅｒｎｅｔ（登録商標）の一つの通信規格である例えば１００ＢＡＳＥ−ＴＸは、物理層の機能をＰＨＹ（Ｐｈｙｓｉｃａｌ  Ｌａｙｅｒ  Ｅｎｔｉｔｉｅｓ）、データリンク層の機能をＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）として分け、その接続をＭＩＩ（Ｍｅｄｉａ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｉｎｔｅｒｆａｃｅ）として定義している。
【０００４】
１００ＢＡＳＥ−ＴＸのＰＨＹは、ＭＩＩを介してＭＡＣから送られてくる２５MHｚの送信クロック信号及びそのクロックに同期して４ビット毎に逐次送られてくる送信フレームデータとその有効信号に対して、その２５ＭＨｚ送信クロック信号を５倍に逓倍した１２５ＭＨｚ送信クロック信号を生成し、４Ｂ／５Ｂ（４Bit／５Bit）パターン変換によって送信フレームデータ４ビットにつき５ビットの符号信号を逐次生成し、生成した符号信号５ビットを逐次シリアル化して１ビット毎に１２５ＭＨｚで通信媒体の送信パスに逐次印加する。
【０００５】
また、データリンク相手が印加した通信媒体の受信パスから受信する信号から、データリンク相手が送信に用いた１２５ＭＨｚの受信クロック信号を回復し、その１２５ＭＨｚ受信回復クロック信号を５分の１倍に分周した２５ＭＨｚ受信クロック信号を生成し、さらに受信する信号から１ビット毎に１２５ＭＨｚで再生信号を逐次再生し、その再生信号を逐次デシリアル化して５ビットの符号信号を逐次生成し、４Ｂ／５Ｂパターン逆変換によって符号信号５ビットにつき４ビットの受信フレームデータを逐次生成し、ＭＩＩを介してＭＡＣに２５ＭＨｚ受信クロック信号及びそのクロックに同期して４ビット毎に逐次生成する受信フレームデータとその有効信号を逐次送る。
【０００６】
通信処理装置のうちＭＡＣ或いはそれより上位の部分は、ＰＨＹから送られてくる２５ＭＨｚ受信クロック信号とは異なる２５ＭＨｚクロック信号を生成し、それを２５ＭＨｚ送信クロック信号としてＭＩＩを介してＰＨＹに送る。また、ＭＩＩを介してＰＨＹから逐次送られてくる受信フレームデータ４ビットとその有効信号を、２５ＭＨｚ送信クロック信号或いは装置内の他のクロック信号で載せ替えて、処理する。
【０００７】
このようなＥｔｈｅｒｎｅｔ（登録商標）を利用したＥｔｈｅｒＣＡＴ規格対応のシステムは、バス型やツリー型あるいはスター型のネットワークトポロジで装置を接続する。システム内の装置のうち１台がマスタとしてまず制御データを発信する。そして、他の装置がスレーブとしてその制御データに対してデータを抽出したり付加したり修正したりして装置間で巡回転送する。最終的に、その制御データをマスタが受け取る。
【０００８】
リアルタイムかつ高精度な制御システムを実現するために、各装置は高速且つ低ジッタにて上記処理を行うことが求められる。例えばＥｔｈｅｒＣＡＴ規格では２装置間のジッタは絶対値として４０ナノ秒以内（範囲として±２０ナノ秒以内）と定義されている。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】ＩＥＥＥ  Ｃｏｍｐｕｔｅｒ  Ｓｏｃｉｅｔｙ「ＩＥＥＥ  Ｓｔｄ  ８０２．３（ＴＭ）−２００８、Ｃａｒｒｉｅｒ  ｓｅｎｓｅ  ｍｕｌｔｉｐｌｅ  ａｃｃｅｓｓ  ｗｉｔｈ  Ｃｏｌｌｉｓｉｏｎ  Ｄｅｔｅｃｔｉｏｎ  （ＣＳＭＡ／ＣＤ）  Ａｃｃｅｓｓ  Ｍｅｔｈｏｄ  ａｎｄ  Ｐｈｙｓｉｃａｌ  Ｌａｙｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎｓ」、２００８年１２月２８日
【非特許文献２】ｈｔｔｐ：／／ｗｗｗ．ｅｔｈｅｒｃａｔ．ｏｒｇ/en/technology.html「ＥｔｈｅｒＣＡＴ−Ｔｅｃｈｎｉｃａｌ  Ｉｎｔｒｏｄｕｃｔｉｏｎ  ａｎｄ  Ｏｖｅｒｖｉｅｗ」（２００９年６月２３日現在）
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上記ＥｔｈｅｒＣＡＴ規格による通信を用いた産業用のネットワークにおいてより高精度な制御システムを実現するためには、各通信処理装置は低ジッタで通信処理を行なうことが必要になる。要するに、巡回転送されてくる信号を、低ジッタで、即ち、小さなタイミング誤差をもって、送信できることが必要である。タイミング誤差は、受信信号から再生される１２５ＭＨｚのクロック信号と送信処理を行なう１２５ＭＨｚのクロック信号との位相差、再生された２５ＭＨｚの受信クロック信号に対する受信データの再生開始タイミングの誤差、２５ＭＨｚの送信クロック信号に対する送信データ生成開始タイミングの誤差などに起因する。
【００１１】
また、システムに接続する装置数を拡張するためには、各装置でより高速且つより低ジッタにて処理することが求められる。そうしなければ、システムに接続する装置数を拡張しても、制御システム全体としては一定のリアルタイム性及び精度を保証することができない。例えば１００ＢＡＳＥ−ＴＸを利用した装置においては、２５ＭＨｚ受信クロック信号と２５ＭＨｚ送信クロック信号との間のフレームデータの載せ換えによって、ジッタは最大４０ナノ秒となり、巡回転送されてマスタ装置に戻ってくる信号には個々の装置のジッタが累積され、大きなシステムではリアルタイム性及び精度を保証することができなくなる虞がある。
【００１２】
本発明の目的は、信号受信から信号送信までのタイミング誤差を小さくすることができる通信処理回路を備えたデータ処理装置を提供することにある。
【００１３】
本発明の別の目的は、複数のデータ処理ノードを巡回して信号を転送するデータ処理システムにおけるジッタの累積を軽減でき、データ処理システムのリアルタイム性及び精度を保証することにある。
【００１４】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１５】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１６】
すなわち、複数のデータ処理ノードが所定のトポロジで通信路に接続されたデータ処理システムにおいて、データ処理ノードのデータ処理装置は、受信信号に基づいて受信クロック信号を再生し、再生された受信クロック信号に同期して受信データ再生部で受信信号から受信データを再生すると共に、再生された受信データに対する送信データを送信データ生成部で生成し、送信部で送信データから送信信号を生成して送信クロック信号に同期して通信路に送信する、通信機能を備える。このデータ処理ノードは更に、前記受信データ再生部による信号の受信から前記送信部による送信信号の送信までに許容される時間に対して処理時間が短いとき、その誤差時間を検出する検出部を有する。前記送信部は前記検出部による誤差時間の経過を待って送信データの送信を開始する。
【００１７】
これにより、理論上、通信ノードにおけるジッタは受信クロック信号と送信クロック信号との位相差に抑えられる。
【発明の効果】
【００１８】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００１９】
すなわち、データ処理システムにおけるジッタの累積を軽減でき、データ処理システムのリアルタイム性及び精度を向上することができる。
【図面の簡単な説明】
【００２０】
【図１】図１はデータ処理装置の一例を示すブロック図である。
【図２】図２は通信処理回路によりベストの時間で転送に必要な処理を完了できる場合にける転送処理のタイミングを例示するタイミングチャートである。
【図３】図３は通信処理回路によりワーストの時間で転送に必要な処理を完了させた場合における転送処理のタイミングを例示するタイミングチャートである。
【図４】図４は通信処理回路による通信処理動作の手順を整理して示したフローチャートである。
【図５】図５は図１のデータ処理装置を用いたデータ処理システムを例示するブロック図である。
【発明を実施するための形態】
【００２１】
１．実施の形態の概要
先ず、代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００２２】
〔１〕代表的な実施の形態に係るデータ処理装置（１０１）は、通信処理回路（１２０）とデータ処理回路（１１０）を有する。前記通信処理回路は、受信信号から受信クロック信号（ＣＫＲ）を再生するクロック再生部（１２１）と、前記クロック再生部で再生された受信クロック信号に同期して受信信号（ＳＩＧＲ）から受信データ（ＤＡＴＲ）を再生する受信データ再生部（１２２）と、前記受信データ再生部で再生された受信データに対する送信データ（ＤＡＴＴ）を生成する送信データ生成部（１２３）と、送信データ生成部で生成された送信データから送信信号（ＳＩＧＴ）を生成して送信クロック信号（ＣＫＴ）に同期して外部に送信する送信部（１２５）と、前記受信データ再生部による信号の受信から前記送信部による送信信号の送信までに許容される時間に対して処理時間が短いとき、その誤差時間を検出する検出部（１２４）と、を有する。前記送信部は前記検出部による誤差時間の経過を待って送信信号の送信を開始する。
【００２３】
これにより、理論上、通信ノードにおけるジッタは受信クロック信号と送信クロック信号との位相差に抑えられる。したがって、各データ処理装置では信号受信から信号送信までのタイミング誤差を小さくすることができる。
【００２４】
なお、ここで「受信データ再生部による信号の受信から送信部による送信信号の送信までに許容される時間に対して処理時間が短いとき」とは、具体的には以下の通りである。即ち、受信データ再生部による信号の受信から送信部による送信信号の送信までに許容される処理時間（すなわちワーストの処理時間）に対して、受信データ再生部による信号の受信から送信部による送信信号の送信までに実際に費やす（見積もられる）処理時間が短いとき、である。
【００２５】
実際に費やす（見積もられる）処理時間は、受信データ再生部から受信される各フレームデータ毎に異なる可能性がある。そのため、ワーストの処理時間を予め定義してこの情報を記憶部等に格納しておき、受信データ再生部から受信される各フレームデータ毎に実際に費やすであろう処理時間を見積り、見積り処理時間がワーストの処理時間よりも短ければ、その誤差時間（＝ワーストの処理時間−見積り処理時間）を待って送信する。
【００２６】
〔２〕項１のデータ処理装置において、例えば前記クロック再生部は、前記受信クロック信号（ＣＫＲ）と共に、当該受信クロック信号に対して１／ｎの周波数を持つ分周クロック信号（ＣＫＲｄ）を生成する。前記受信データ再生部は、再生された前記受信クロック信号に同期してビット単位の信号を再生し、生成された前記分周クロック信号に同期して再生されたビット信号を複数ビット単位で復号して受信データを再生する。前記送信データ生成部は、前記分周クロック信号と同じ周波数の内部クロック信号（ＣＫＴｄ）に同期して送信データを生成する。前記送信部は、前記送信データを符号化して、前記内部クロック信号（ＣＫＴ）の周波数をｎ倍した送信クロック信号にビット同期する前記送信信号を生成する。
【００２７】
〔３〕項２のデータ処理装置において、例えば前記検出部は、受信データ再生部が受信信号を受信してから有効な受信データを再生するまでの受信クロック信号のクロックサイクル数を基準とした目標サイクル数に対する第１の誤差サイクル数（ＥＲＮ１）を検出すると共に、前記受信クロック信号のクロックサイクルを基準として前記分周クロック信号に対する前記内部クロック信号の位相遅れの第２の誤差サイクル数（ＥＲＮ２）を検出し、前記第１の誤差サイクル数と前記第２の誤差サイクル数との和のサイクル数に相当する時間を誤差時間とする。
【００２８】
〔４〕項３のデータ処理装置において、前記受信データ生成部は再生データを前記送信データ生成部に与えると共に、必要に応じて前記データ処理回路に与える。前記送信データ生成部は、前記再生データに対して、前記データ処理回路による指示に従って、データの抽出、データの付加又はデータの修正を行って、送信データを生成する。
【００２９】
〔５〕項４のデータ処理装置において、例えば前記データ処理回路は、命令を実行する中央処理装置（１１１）、前記中央処理装置がアクセスするメモリ（１１２）、前記中央処理装置が制御する周辺回路（１１３）、及び前記内部クロック信号を生成するクロックパルスジェネレータ（１１５）を有する。前記中央処理装置は前記内部クロック信号に同期動作する。
【００３０】
〔６〕代表的な実施の形態に係るデータ処理システムは、複数のデータ処理ノード（４０１，４１１〜４１６，４２１，４２２）が所定のトポロジで通信路に接続されたデータ処理システムであって、前記複数のデータ処理ノードの夫々はデータ処理装置を備える。前記データ処理装置は、前記通信路に接続された通信処理回路と前記通信回路に接続されたデータ処理回路とを有する。前記通信処理回路は、通信路から受信した受信信号に基づいて受信クロック信号を再生するクロック再生部と、前記クロック再生部で再生された前記受信クロック信号に同期して受信信号から受信データを再生する受信データ再生部と、前記受信データ再生部で再生された受信データに対する送信データを生成する送信データ生成部と、送信データ生成部で生成された送信データから送信信号を生成して送信クロック信号に同期して通信路に送信する送信部とを有する。更に、前記受信データ再生部による信号の受信から前記送信部による送信信号の送信までに許容される時間に対して処理時間が短いとき、その誤差時間を検出する検出部を有し、前記送信部は前記検出部による誤差時間の経過を待って送信信号の送信を開始する。
【００３１】
これにより、理論上、通信ノードにおけるジッタは受信クロック信号と送信クロック信号との位相差に抑えられる。したがって、各データ処理装置では信号受信から信号送信までのタイミング誤差を小さくすることができる。したがって、複数のデータ処理ノードを巡回して信号を転送するデータ処理システムにおけるジッタの累積を軽減でき、データ処理システムのリアルタイム性及び精度を保証することができる。
【００３２】
〔７〕項６のデータ処理システムにおいて、例えば前記複数のデータ処理ノードは、通信路の基点に配置されたマスタ装置（４０１）と、中継装置（４２１，４２２）と、スレーブ装置（４１１〜４１６）とを含み、マスタ装置からの出力が中継装置及びスレーブ装置を巡回転送されてマスタ装置に戻される。
【００３３】
これにより、マスタ装置からの信号を複数の中継装置及びスレーブ装置を巡回してマスタ装置に戻すように通信を行うデータ処理システムにおいて、巡回中に発生するジッタの累積を軽減でき、データ処理システムのリアルタイム性及び精度を保証することができる。
【００３４】
〔８〕項７のデータ処理システムにおいて、例えば前記許容される時間は全てのデータ処理装置の間で等しく設定される。
【００３５】
〔９〕項８のデータ処理システムにおいて、例えば前記クロック再生部は、前記受信クロック信号を再生すると共に、当該受信クロック信号に対して１／ｎの周波数を持つ分周クロック信号を生成する。前記受信データ再生部は、再生された受信クロック信号に同期してビット単位の信号を再生し、生成された分周クロック信号に同期して再生されたビット信号を複数ビット単位で復号して受信データを再生する。前記送信データ生成部は、前記分周クロック信号と同じ周波数の内部クロック信号に同期して送信データを生成する。前記送信部は、前記送信データを符号化して、前記内部クロック信号の周波数をｎ倍した送信クロック信号にビット同期する前記送信信号を生成する。
【００３６】
〔１０〕項９のデータ処理システムにおいて、前記検出部は、受信データ再生部が受信信号を受信してから有効な受信データを再生するまでの受信クロック信号のクロックサイクル数を基準とした目標サイクル数に対する第１の誤差サイクル数を検出すると共に、前記受信クロック信号のクロックサイクルを基準として前記分周クロック信号に対する前記内部クロック信号の位相遅れの第２の誤差サイクル数を検出し、前記第１の誤差サイクル数と前記第２の誤差サイクル数との和のサイクル数に相当する時間を誤差時間とする。
【００３７】
〔１１〕項１０のデータ処理システムにおいて、前記受信データ生成部は再生データを前記送信データ生成部に与えると共に、必要に応じて前記データ処理回路に与える。前記送信データ生成部は、前記再生データに対して、前記データ処理回路による指示に従って、データの抽出、データの付加又はデータの修正を行って、送信データを生成する。
【００３８】
〔１２〕項１１のデータ処理システムにおいて、前記データ処理回路は、命令を実行する中央処理装置、前記中央処理装置がアクセスするメモリ、前記中央処理装置が制御する周辺回路、及び前記内部クロック信号を生成するクロックパルスジェネレータを有する。前記中央処理装置は前記内部クロック信号に同期動作する。
【００３９】
２．実施の形態の詳細
図１にはデータ処理装置の一例が示される。同図に例示されるデータ処理装置は、特に制限されないが、相補型ＭＯＳ集積回路製造技術によって単結晶シリコンのような１個の半導体基板に形成され、所要のシステムがオンチップされえた、マイクロコンピュータとして構成される。同図に示されるデータ処理装置１０１は、データ処理回路１１０とその制御を受ける通信処理回路１２０に大別される。
【００４０】
データ処理回路１１０は、例えば、命令をフェッチしてプログラムを実行する中央処理装置（ＣＰＵ）１１１、ＣＰＵ１１１等によってアクセスされデータの一時記憶領域やＣＰＵ１１１が実行するプログラムの格納領域に利用されるメモリ１１２、ＣＰＵ１１１の制御を受ける周辺回路１１３、及び同期クロック信号を生成するクロックパルスジェネレータ（ＣＰＧ）１１５等を有し、それらは内部バス１１４を共有して、インタフェースされる。ＣＰＧ１１５はＣＰＵ１１１の動作基準クロック信号などに利用されるシステムクロック信号ＣＫＳ、通信処理回路１２０のデータ処理に利用する内部クロック信号ＣＫＴｄ、及び通信処理回路１２０の送信動作に利用する送信クロック信号ＣＫＴ等を生成する。
【００４１】
通信処理回路１２０は、特に制限されないが、１００ＢＡＳＥ−ＴＸに準拠し、１００ＢＡＳＥ−ＴＸに準拠する外部の装置と相互接続可能な回路である。尚、実際の通信規格には、通信フレーム信号の前後にプリアンブルやデリミタ等の制御符号信号が存在するが、本発明の説明の本質ではないため、図面と共に本明細ではその説明を省略する。また、非同期クロック間のデータの載せ換えには実装によって幾らかの処理遅延が発生するが、本発明の説明の本質ではないため、それについても説明を省略する。
【００４２】
通信処理回路１２０は、受信クロック再生部１２１、受信データ再生部１２２、送信データ生成部１２３、位相差情報検出部１２４、及び位相差調整送信部１２５を有する。
【００４３】
通信処理回路１２０は、４Ｂ／５Ｂ（４Bit／５Bit）パターン変換によって送信フレームデータ４ビットにつき５ビットの符号信号とされて逐次シリアル化して１ビット毎に１２５ＭＨｚでネットワーク１０２の伝送路に供給された信号を受信信号ＳＩＧＲとして受取る。
【００４４】
受信クロック再生部１２１は、外部から受取った受信信号ＳＩＧＲに含まれる受信クロック信号ＣＫＲを再生すると共に当該受信クロック信号ＣＫＲに対して１／ｎ例えば１／５の周波数を持つ分周クロック信号ＣＫＲｄを生成する。受信クロック信号ＣＫＲは１２５ＭＨｚとされ、分周クロック信号ＣＫＲｄは２５ＭＨｚとされる。
【００４５】
受信データ再生部１２２は、受信信号ＳＩＧＲに対して受信クロック信号ＣＫＲに同期してビット単位の信号を再生し、前記分周クロック信号ＣＫＲｄに同期して再生されたビット信号を５ビット単位で４ビットに復号（４Ｂit／５Ｂitパターン逆変換）して受信データを再生する。
【００４６】
再生された受信データＤＡＴＲは必要に応じて内部バス１１４に供給され、ＣＰＵ１１１による処理対象とされ、また、後段の送信データ生成部１２３に渡される。送信データ生成部１２３は受信データＤＡＴＲに対する送信データＤＡＴＴを、前記分周クロック信号ＣＫＲｄと同じ周波数の内部クロック信号ＣＫＴｄに同期して生成する。即ち、送信データ生成部１２３は、受信データＤＡＴＲに対して、前記ＣＰＵ１１１による指示に従って、データの抽出、データの付加又はデータの修正を行って、送信データＤＡＴＴを生成する。付加すべきデータの生成や修正データの生成の一部はＣＰＵ１１１が行ってもよい。或いは、送信データ生成部１２３は、ＣＰＵ１１１の指示を受けずに、受信データＤＡＴＲに対してデータの抽出、データの付加又はデータの修正を行って、送信データＤＡＴＴを生成してもよいし、受信データＤＡＴＲをそのまま送信データＤＡＴＴとしてもよい。
【００４７】
位相差調整送信部１２５は、送信データ生成部で生成された送信データＤＡＴＴと送信データの有効信号ＥＮＤＴを受け取り、４Bit／５Bitパターン変換を行って送信信号ＳＩＧＴを生成し、これを送信クロック信号ＣＫＴに同期してネットワーク１０２に向けて送信する。
【００４８】
位相差情報検出部１２４は、前記受信データ再生部１２２による受信信号ＳＩＧＲの受信から前記位相調整送信部による送信信号ＳＩＧＴの送信までに許容される時間に対して処理時間が短いとき、その誤差時間を検出する。位相差情報検出部１２４はその誤差時間に応ずる位相差情報ＰＨＤを位相差調整送信部１２５に供給する。位相差調整送信部１２５は位相差情報検出部１２４による誤差時間の経過を待って、すなわち、送信データが位相差情報で与えられる位相差分のダミーサイクルの経過を待って、送信信号ＳＩＧＴの送信を開始する。要するに、許容時間に対して処理が早く完了しても、その許容時間の満了を待つようにすることによって、信号受信から信号送信までのタイミングを揃えることができる。
【００４９】
上記処理時間とは、例えば信号受信から信号送信までの間に、受信データ再生部において４Bit／５Bitパターン逆変換による受信データを得るための受信データ再生処理時間、送信データ生成部１２３における送信データ生成処理時間、及び位相調整送信部１２５における送信データＤＡＴＴの４Bit／５Bitパターン変換による送信信号を得るための処理時間である。位相差情報検出部１２４は、上記誤差時間を把握するために、受信データの有効性を示す受信データ有効信号ＥＮＲＤ、を受信データ再生部１２２から受取ると共に、クロック信号ＣＫＲ，ＣＫＲｄ，ＣＫＴｄを入力する。これを用いることによって位相差情報検出部１２４は、受信データ再生部１２２が受信信号を受信してから受信データ有効信号ＥＮＲＤが活性化されるまでの（有効な受信データの再生が開始されるまでの）受信クロック信号ＣＫＲのクロックサイクル数を基準とした目標サイクル数（図２、図３のＤＥＳ＝９サイクル）に対する第１の誤差サイクル数（図２、図３のＥＲＮ１）を検出すると共に、前記受信クロック信号ＣＫＲのクロックサイクルを基準として前記分周クロック信号ＣＫＲｄに対する前記内部クロック信号ＣＫＴｄの位相遅れの第２の誤差サイクル数（図２、図３のＥＲＮ２）を検出し、前記第１の誤差サイクル数と前記第２の誤差サイクル数との和のサイクル数（図２、図３のＥＲＮ１＋ＥＲＮ２）に相当する時間を誤差時間とする。
【００５０】
以下、位相差の検出と、検出された位相差を用いた送信タイミングの制御について図２及び図３を参照しながら具体例を用いて更に詳述する。
【００５１】
図２は通信処理回路による転送処理のタイミングチャートが例示される。図２において、受信信号ＳＩＧＲ、受信再生データＤＡＴＲ、送信データ（転送データ）ＤＡＴＴ、送信信号ＳＩＧＴのハッチングを施した部分は、送信あるいは受信のフレームとして有効であることを示している。また位相差情報ＰＨＤのハッチングを施した部分はその値が有効であることを示している。
【００５２】
受信クロック再生部１２１及び受信データ再生部１２２はネットワーク１０２内の図示していないデータリンク相手が印加した送信フレームデータを受信信号ＳＩＧＲとして逐次受ける。受信信号ＳＩＧＲは、１２５ＭＨｚクロック信号が畳み込まれた１２５ＭＨｚの１サイクルで１ビットの信号である。
【００５３】
受信クロック再生部１２１は、受信信号ＳＩＧＲからデータリンク相手が送信に用いた１２５ＭＨｚの受信クロック信号ＣＫＲを回復する。またそのクロック信号を５分の１倍に分周した２５ＭＨｚの分周クロック信号ＣＫＲｄを生成する。
【００５４】
受信データ再生部１２２は、１２５ＭＨｚ受信クロックＣＫＲに従って受信信号ＳＩＧＲから１ビット毎に再生信号を逐次再生し、２５ＭＨｚ受信クロック信号（分周クロック信号）ＣＫＲｄに従ってその再生信号を逐次デシリアル化して５ビットの符号信号を逐次生成し、４Ｂit／５Ｂitパターン逆変換によって符号信号５ビットにつき４ビットの受信再生データＤＡＴＲを逐次生成する。受信再生データＤＡＴＲは、２５ＭＨｚ受信クロック信号ＣＫＲｄに同期した１サイクル４ビットのデータである。
【００５５】
送信データ生成部１２３は、受信データ再生部１２２から受信再生データＤＡＴＲを逐次受けて、データを抽出したり付加したり修正したりして、転送データＤＡＴＴを逐次生成する。本明細書において、送信データ生成部１２３が行う処理遅延は、２５ＭＨｚ送信クロック信号（内部クロック信号）ＣＫＴｄを基準として固定の２サイクル（固定サイクル）と設定している。転送データＤＡＴＴは、１２５ＭＨｚ送信クロック信号ＣＫＴに同期した１サイクル４ビットのデータである。
【００５６】
図２の一例は、１２５ＭＨｚ受信クロック信号ＣＫＲを単位として、受信フレームの先頭が受信信号ＳＩＧＲから５サイクル遅延して受信再生データＤＡＴＲに現れる例を示している。この遅延の範囲は、上述の処理の特性上５〜９サイクルである。少なくとも受信信号ＳＩＧＲの５ビットが揃うのに５サイクルを要し、残り４サイクルは予備サイクルとしている。また、１２５ＭＨｚ受信クロック信号ＣＫＲを単位として、２５ＭＨｚ送信クロック信号ＣＫＴｄの立ち上がりエッジから４サイクルずれて２５ＭＨｚ受信クロック信号の立ち上がりエッジが現れる例を示している。このずれの範囲は、当然０〜４サイクルである。
【００５７】
位相差情報検出部１２４は、１２５ＭＨｚ受信クロック信号ＣＫＲを単位として、受信信号ＳＩＧＲから受信再生データＤＡＴＲへの遅延サイクル数（図２において５サイクル）と、２５ＭＨｚ送信クロック信号ＣＫＴｄに対する２５ＭＨｚ受信クロック信号ＣＫＲｄのずれサイクル数（図２におて４サイクル＝ＥＲＮ２）を検出する。そして、受信信号から受信再生データへの遅延サイクル数の最大値（図２において９サイクル）から検出値（図２において５サイクル）を引いた値（ＥＲＮ１＝９−５）に、２５ＭＨｚ送信クロック信号ＣＫＴｄに対する２５ＭＨｚ受信クロック信号ＣＫＲｄのずれサイクル数（ＥＲＮ２＝４）の検出値を加えたものを、位相差情報ＰＨＤ（４＋４=８サイクル）として算出する。ＥＲＮ１は許容サイクル（ＤＥＳ＝９サイクル）に対して４Ｂit／５Bitパターン逆変換の処理が早く終ったときに余裕のサイクル数であり、ＥＲＮ２は受信データＤＡＴＲから送信データＤＡＴＴを得るための固定サイクルの処理を行なうタイミングがワーストタイミングに対して早かったときの余裕のサイクル数である。
【００５８】
位相差調整送信部１２５は、２５ＭＨｚ送信クロック信号ＣＫＴｄを５倍に逓倍した１２５ＭＨｚ送信クロック信号ＣＫＴを用いて、４Ｂit／５Ｂitパターン変換によって転送データＤＡＴＴに対して４ビットにつき５ビットの符号信号を逐次生成し、１２５ＭＨｚ送信クロックＣＫＴに従って生成した符号信号５ビットを逐次シリアル化して、１２５ＭＨｚ送信クロック信号ＣＫＴを単位として位相差情報ＰＨＤが示すサイクル数（ＥＲＮ１＋ＥＲＮ２）だけ逐次遅延させて、送信信号ＳＩＧＴとして出力する。図２の例における信号ＳＩＧＲの受信か裸身号ＳＩＧＴの送信までの目標時間は１９６ナノ秒であり、この時間は４Ｂit／５Bitパターン逆変換の処理時間や、受信データから送信データを得るための処理の開始タイミングがワーストの場合の時間であり、これに対して位相差情報ＰＨＤが示すサイクル数（ＥＲＮ１＋ＥＲＮ２）がワーストの場合に対する余裕という意味での誤差時間に相当する。したがって、図２の場合には、位相差調整送信部１２５が８サイクル遅延させて送信信号ＳＩＧＴを出力することにより、全体として、受信フレームの先頭が受信信号ＳＩＧＲに現れてから送信フレームの先頭が送信信号ＳＩＧＴに現れるまで、１９６ナノ秒を費やすことにある。要するに、ベストの時間で転送に必要な処理を完了できる場合にもワーストの場合の処理時間を費やして信号の送信を行なう。
【００５９】
図３にはワーストの時間で転送に必要な処理を完了させた場合における転送処理のタイミングチャートが例示される。図３の図２との違いは２点あり、１２５ＭＨｚ受信クロック信号ＣＫＲを単位として、受信フレームの先頭が受信信号から９サイクル遅延して受信再生データに現れる点と、１２５ＭＨｚ送信クロック信号ＣＫＴの立ち上がりエッジから０サイクルずれて（すなわちずれは１サイクル未満、ずれていない）２５ＭＨｚ受信クロック信号ＣＫＲｄの立ち上がりエッジが現れる点である。
【００６０】
図３の場合には、位相差情報ＰＨＤは（９−９）＋０＝０サイクルであり、位相差情報検出部１２４はこの値０を算出する。そしてその値に従い、位相差調整送信部１２５は０サイクル遅延させて（すなわち遅延させずに）送信信号ＳＩＧＴを出力している。全体として、受信フレームの先頭が受信信号ＳＩＧＲに現れてから送信フレームの先頭が送信信号ＳＩＧＴに現れるまで、１９６ナノ秒となっている。
【００６１】
このように、受信クロック信号ＣＫＲを単位として、受信再生データの遅延及び送信クロック信号の位相差を算出し、その値を送信タイミングに利用することで、低ジッタの転送が可能となる。この例では、一つの通信処理過色１２０における１回の転送（信号受信から信号送信までの処理）において発生するジッタは、１２５ＭＨｚ受信クロックＣＫＲと１２５ＭＨｚ送信クロックＣＫＴのずれから生じる、最大８ナノ秒（１サイクルのズレ）とされ、ジッタを小さく抑えることが可能になる。
【００６２】
図４には通信処理回路１２０による通信処理動作の手順を整理して例示してある。受信信号ＳＩＧＲを受取って受信クロック信号ＣＫＲ及び分周クロック信号ＣＫＲｄを再生し（Ｓ１）、それを用いて受信データＤＡＴＲを再生する（Ｓ２）。受信データＤＡＴＲに対して、抽出、付加、修正が施されて送信データＤＡＴＴが生成されると共に（Ｓ３）、受信クロック信号ＣＫＲのクロックサイクル数を基準とした目標サイクル数（ＤＥＳ）に対する第１の誤差サイクル数（ＥＲＮ１）の検出と共に、前記受信クロック信号ＣＫＲのクロックサイクルを基準として前記分周クロック信号ＣＫＲｄに対する前記内部クロック信号ＣＫＴｄの位相遅れの第２の誤差サイクル数（ＥＲＮ２）の検出が行われる（Ｓ４）。これによって得られて位相差情報ＰＨＤ＝ＥＲＮ１＋ＥＲＮ２のサイクル分だけ遅延させて、送信データＤＡＴＴに対する４Ｂit／５Bitパターン変換による送信信号ＳＩＧＴが出力される（Ｓ５）。
【００６３】
図５には上記データ処理装置１０１を用いたデータ処理システムが例示される。このシステムは１００ＢＡＳＥ−ＴＸに準拠したシステムであり、例えばＥｔｈｅｒＣＡＴ規格による産業用制御ネットワームに適用される。
【００６４】
データ処理システムは、複数のデータ処理ノードが所定のトポロジで通信路に接続された構成を備える。データ処理ノードは、通信路の基点に配置されたマスタ装置４０１と、中継装置４２１，４２２と、スレーブ装置４１１〜４１６とを含み、マスタ装置４０１からの出力が中継装置４２１，４２２及びスレーブ装置４１１〜４１６を巡回転送されてマスタ装置４０１に戻されるようになっている。
【００６５】
前記複数のデータ処理ノード４０１，４１１〜４１６、４２１，４２２の夫々は図１に基づいて説明したデータ処理装置１０１を備える。特に制限されないが、図２などに基づいて説明した１６９ナノ秒に代表される前記許容される時間は全てのデータ処理装置１０１の間で等しく設定される。
【００６６】
マスタ装置４０１は、第１の中継装置４２１に対して制御フレームデータを送信する。それを受けた第１の中継装置４２１は、第１のスレーブ装置４１１に対してそれを転送し、それを受けた第１のスレーブ装置４１１は、第２のスレーブ装置４１２に対してそれを転送する。それを受けた第２のスレーブ装置４１２は、第１のスレーブ装置４１１に対してそれを転送する（送り返す）。
【００６７】
以降、第１のスレーブ装置４１１、第１の中継装置４２１、第３のスレーブ装置４１３、第２の中継装置４２１、第４のスレーブ装置４１４、第２の中継装置４２２、第５のスレーブ装置４１５、第６のスレーブ装置４１６、第５のスレーブ装置４１５、第２の中継装置４２２、第３のスレーブ装置４１３、第１の中継装置４２１と転送されて、最終的にマスタ装置４０１が受け取る。このように全装置を巡回すると、装置数９であるから、装置間の接続（グラフの枝）として（９−１）×２＝１６回送信され、装置の転送処理（中間ノード）は１６−１＝１５回発生する。
【００６８】
仮に各装置のジッタが最大４０ナノ秒であれば、通信処理システム全体のジッタは最大１５×４０＝最大６００ナノ秒であるのに対して、ジッタが最大８ナノ秒である図１のデータ処理装置１０１を採用すると、データ処理システム全体で巡回されてマスタ装置４０１に戻されたときのジッタは最大１５×８＝最大１２０ナノ秒となる。これにより、各データ処理装置１０１では信号受信から信号送信までのタイミング誤差を小さくすることができるから、複数のデータ処理ノードを巡回して信号を転送するデータ処理システムにおけるジッタの累積を軽減でき、データ処理システムのリアルタイム性及び精度を保証することができる。要するに、高精度なデータ処理システムが実現可能にある。
【００６９】
さらに、データ処理システム全体のジッタを最大６００ナノ秒と設定した場合、各データ処理装置のジッタが最大４０ナノ秒であれば装置を最大９台まで接続できるのに対して、ジッタが最大８ナノ秒である図１のデータ処理装置１０１を採用してデータ処理システムを構築する場合には、データ処理装置を最大３９台まで接続できる（６００÷８＝７５回の転送処理、７６回の送信）。すなわちデータ処理装置の数をより拡張したデータ処理システムを実現可能になる。
【００７０】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００７１】
例えば、図１はデータ処理装置１０１が１ポートのネットワークポート（コネクタ）を備えていることを想定しているが、データ処理装置１０１は複数の通信処理回路１２０によって複数のポート（例えばポートＡ、ポートＢ、ポートＣの３ポート）を備えることも可能である。そして、ポートＡからの受信をポートＢにて送信し、ポートＢからの受信をポートＣにて送信し、ポートＣからの受信をポートＡにて送信する、等の処理も可能である。
【００７２】
また、データ処理装置１０１の構成は、受信データ再生部１２２が受信フレームデータの内容に従ってメモリ１１２内のデータや周辺回路１１３を介して接続する図示していない周辺ブロック内のデータを更新したり、送信データ生成部１２３がメモリ１１２内のデータや周辺回路１１３を介して接続する図示していない周辺ブロック内のデータを送信フレームデータに埋め込んだりすることを可能としている。また、通信処理回路１２０が物理層及びデータリンク層を処理し、プロセッサ１１１がメモリ１１２を利用しながらデータリンク層より上位層を処理することで、一般の通信プロトコル処理を実施することが可能である。
【００７３】
本発明は、ＩＥＥＥ８０２．３規格やＥｔｈｅｒＣＡＴ規格に限らず、低ジッタにて転送を行うことが要求される通信用のデータ処理装置やデータ処理システムに広く適用することができる。当然、データ処理装置１０１はデータ通信ノードを構成する端末装置はもとより中継装置にも適用することができる。
【００７４】
以上に説明した実施の形態によれば、各データ処理ノードのデータ処理装置では信号受信から信号送信までのタイミング誤差を小さくすることができる。また、複数のデータ処理ノードを巡回して信号を転送するデータ処理システムにおけるジッタの累積を軽減でき、データ処理システムのリアルタイム性及び精度を保証向上することができる。
【符号の説明】
【００７５】
１０１  データ処理装置
１１０  データ処理回路
１２０  通信処理回路
１１１  中央処理装置（ＣＰＵ）
１１２  メモリ
１１３  周辺回路
１１５  クロックパルスジェネレータ（ＣＰＧ）
１１４  内部バス
ＣＫＳ  システムクロック信号
ＣＫＴｄ  内部クロック信号
ＣＫＴ  送信クロック信号
１２１  受信クロック再生部
１２２  受信データ再生部
１２３  送信データ生成部
１２４  位相差情報検出部
１２５  位相差調整送信部
ＣＫＲ  受信クロック信号
ＣＫＲｄ  分周クロック信号
ＳＩＧＲ  受信信号
ＳＩＧＴ  送信信号
ＰＨＤ  位相差情報
ＤＡＴＲ  受信データ
ＤＡＴＴ  送信データ
４０１  マスタ装置
４２１，４２２  中継装置
４１１〜４１６  スレーブ装置
【図１】
2011077751.tif 000003
【図２】
2011077751.tif 000004
【図３】
2011077751.tif 000005
【図４】
2011077751.tif 000006
【図５】
2011077751.tif 000007