(57)【要約】【課題】シリアルデータバスを用いた多対１ノード間のデータ転送を簡単な構成で良好に行うことができる信号伝送システム、信号伝送方法及びプログラムを提供する。【解決手段】シリアルバス４を介して複数のスレーブノード３から１つのマスターノード１へのデータ伝送する際、シリアルデータに埋め込まれるクロック信号の位相を予めマスターノード１側の基準クロック信号に合わせることにより、スレーブノード３が切り換わっても再同期のオーバーヘッドが生じないようになる。【選択図】図１
2008016955.tif 000002
【特許請求の範囲】
【請求項１】
マスターノードと、前記マスターノードとの間でデータ転送を行う複数のスレーブノードとを有する信号伝送システムにおいて、
前記マスターノードは、基準クロック信号に同期して動作し、前記複数のスレーブノードからの直列データ信号に埋め込まれたクロック信号を抽出するクロックデータリカバリ部と、前記基準クロック信号と前記クロック信号との間の位相差を検出する位相差検出部とを備え、
前記複数のスレーブノードは、それぞれ、前記位相差検出部によって検出された前記位相差が所定の値以下となるように前記直列データ信号の送信タイミングを調整する送信タイミング制御部を備えたことを特徴とする信号伝送システム。
【請求項２】
前記マスターノード及び前記複数のスレーブノードは、前記直列データ信号をシリアルバスを介して送受信することを特徴とする請求項１に記載の信号伝送システム。
【請求項３】
前記複数のスレーブノードの前記送信タイミング制御部は、前記直列データ信号の送信タイミングの調整を逐次的に行うことを特徴とする請求項１に記載の信号伝送システム。
【請求項４】
前記マスターノードは、データ転送を実行していない期間中に、前記マスターノードが出力する直列データ信号の受信タイミングの調整を前記スレーブノード毎に個別に設定する受信調整シーケンスと、前記スレーブノードが出力する直列データ信号の送信タイミングを前記スレーブノード毎に個別に設定する送信調整シーケンスとを実行するマスタータイミング調整部を備え、
前記スレーブノードは、前記マスタータイミング調整部からの命令に従い、前記受信調整シーケンスの実行中は受信タイミングの調整を行い、前記送信調整シーケンスの実行中は前記送信タイミング制御部に対して送信タイミングの変化を指示して、送信タイミングの調整を行うスレーブタイミング調整部を備えたことを特徴とする請求項１に記載の信号伝送システム。
【請求項５】
前記マスタータイミング調整部は、前記受信調整シーケンス、前記送信調整シーケンスの順に処理を行うことを特徴とする請求項４に記載の信号伝送システム。
【請求項６】
前記マスターノードと前記スレーブノードとの間のデータ転送は、光伝送媒体を介して行われることを特徴とする請求項１に記載の信号伝送システム。
【請求項７】
前記基準クロック信号、および前記スレーブノードからの直列データ信号に埋め込まれたクロック信号は、同一の発振源より生成されることを特徴とする請求項１に記載の信号伝送システム。
【請求項８】
マスターノードからスレーブノードに基準クロック信号が埋め込まれた直列データ信号を送信する第１のステップと、
前記スレーブノードから前記マスターノードに送信された前記直列データ信号に埋め込まれたクロック信号と前記基準クロック信号との位相差を検出する第２のステップと、
前記位相差を所定の値以下となるように前記スレーブノードから前記マスターノードへの前記直列データ信号の送信タイミングを調整する第３のステップとを含むことを特徴とする信号伝送方法。
【請求項９】
請求項８に記載の前記第１乃至第３のステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シリアル（直列）伝送路を用いて１対多ノード間でデータ転送を行う信号伝送システム、信号伝送方法及びプログラムに関する。
【背景技術】
【０００２】
近年、半導体集積化技術の向上により、ＬＳＩのデータ処理速度が飛躍的に速くなってきた。これに伴い、半導体集積回路を実装する配線基板に対して、信号伝送能力向上が求められている。特に最近ではパーソナルコンピュータにおいても、上位機種にあたるサーバタイプのシステムにおいては高速ＣＰＵチップを複数備える、いわゆる並列処理アーキテクチャが採用されている。
【０００３】
並列処理アーキテクチャ技術に関しては、例えば、非特許文献１に記載されているものがある。
【０００４】
これによると、ＣＰＵなどデータ処理を行うモジュールを複数含むシステムを構成する場合、モジュール間の結合方法はバス結合型、スイッチ結合型、結合網型に分類される。このうちバス結合型は、多数のモジュールの結合には適さないが、他に比べて構造がシンプルであり、ハードウェア量が少ない、拡張性にも優れるといったメリットがある。パーソナルコンピュータを始めとする商用の計算機や、ページプリンタ等の計算機応用製品において多く用いられている。
【０００５】
並列処理システムのモジュール間結合部の実装においては、多数の接続コネクタと配線を必要とするため、配線の多層化や微細化による通信能力や配線密度の向上が計られてきた。しかし、配線間容量や接続配線抵抗に起因する信号遅延や伝送波形の歪みにより、限界に達しつつある。また動作速度の上昇により電磁ノイズ（ＥＭＩ：Electro Magnetic Interference）も大きな問題となる。
【０００６】
このようにデータ処理装置の処理能力は、しばしば配線基板のバスの伝送能力によって制限されるようになってきた。そこで電気式バスの限界を打破するために、光インターコネクションと呼ばれる、システム内光接続技術を用いることが検討されている。
【０００７】
光インターコネクション技術の概要は、システムの構成内容により様々な形態が提案されている（例えば、非特許文献２、３参照）。
【０００８】
この技術によれば、電気式以上の高周波動作が可能でありながら電磁ノイズが低減できること、バス信号線の物理的な結線が不要となること、波長や強度等を用いた多重化により伝送バンド幅を拡張できること、同時双方向通信が可能であること、といったメリットがある。
【０００９】
特に、空間光伝送技術は光ファイバによる伝送技術と異なり、多ノード間の同時通信を可能とするため、上述のバス結合型の並列処理アーキテクチャとの整合性がよい。関連する技術として、特許文献１に記載されている。
【００１０】
この技術は平板型の導光路の端面に設置されたノード間での光通信を実現するものであり、入射信号光を拡散して対向する端面に伝送し、ブロードキャスト通信を実現する。多重伝送を用いることにより、複数の独立なブロードキャスト通信が同時に実行される。
【００１１】
このような空間光伝送を応用した信号伝送システム技術としては、信号間の伝送スキューの問題を緩和し、かつ伝送路の数を削減するために、複数の電気信号線を並列直列変換して得られるシリアル信号（直列データ信号）を光化し、空間光伝送媒体を介して伝送するシリアルバスシステムが提案されている。
【非特許文献１】天野英晴、「並列コンピュータ」、昭晃堂、ｐｐ．６−１３
【非特許文献２】内田禎二、「第９回回路実装学術講演大会」、１５Ｃ０１、ｐｐ．２０１〜２０２
【非特許文献３】Ｈ．Ｔｏｍｉｍｕｒａ，ｅｔ ａｌ、“Ｐａｃｋａｇｉｎｇ Ｔｅｃｈｎｏｌｏｇｙ ｆｏｒ Ｏｐｔｉｃａｌ Ｉｎｔｅｒｃｏｎｎｅｃｔｓ”、ＩＥＥＥ Ｔｏｋｙｏ、Ｎｏ．３３、ｐｐ．８１〜８６、１９９４
【特許文献１】特開平１０−１２３３５０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
一般に、シリアル伝送においては８Ｂ１０Ｂ符号といった符号化技術によりクロック信号をデータ信号に埋め込んで送信し、受信回路においてクロックデータリカバリ回路がクロック信号とデータ信号を抽出することで、クロック〜データ間の同期が実現されている。
【００１３】
しかし、シリアルバスを介して複数のスレーブノードから１つのマスターノードへの信号伝送を行う場合、マスターノード側の受信回路は、異なるスレーブノードからのシリアル信号を選択的に受信する必要がある。シリアルバス伝送において送信ノードが切り替わると、受信ノードにおいてクロック信号を再抽出するためのオーバーヘッドが数十マイクロ秒から数ミリ秒ほど生じ、その間、信号伝送が中断してしまうという問題がある。
【００１４】
従って、本発明の目的は、上記問題点を解決し、シリアル伝送路を用いた１対多ノード間のデータ転送を簡単な構成で良好に行うことができる信号伝送システム、信号伝送方法及びプログラムを提供することにある。
【課題を解決するための手段】
【００１５】
本発明の一態様は、上記目的を達成するため、以下の信号伝送システムを提供する。
【００１６】
［１］マスターノードと、前記マスターノードとの間でデータ転送を行う複数のスレーブノードとを有する信号伝送システムにおいて、前記マスターノードは、基準クロック信号に同期して動作し、前記複数のスレーブノードからの直列データ信号に埋め込まれたクロック信号を抽出するクロックデータリカバリ部と、前記基準クロック信号と前記クロック信号との間の位相差を検出する位相差検出部とを備え、前記複数のスレーブノードは、それぞれ、前記位相差検出部によって検出された前記位相差が所定の値以下となるように前記直列データ信号の送信タイミングを調整する送信タイミング制御部を備えたことを特徴とする信号伝送システム。
【００１７】
上記構成の信号伝送システムによれば、スレーブノードから送信される直列データ信号に埋め込まれたクロック信号の位相をマスターノードで生成された基準クロック信号に合わせることが可能となるので、信号伝送を中断することなく、スレーブノードを切り替えることができる。
【００１８】
［２］前記マスターノード及び前記複数のスレーブノードは、前記直列データ信号をシリアルバスを介して送受信することを特徴とする前記[１]に記載の信号伝送システム。この構成によれば、信号線数を減らすことができ、帯域を増大させることができる。
【００１９】
［３］前記複数のスレーブノードの前記送信タイミング制御部は、前記直列データ信号の送信タイミングの調整を逐次的に行うことを特徴とする前記[１]に記載の信号伝送システム。
【００２０】
［４］前記マスターノードは、データ転送を実行していない期間中に、前記マスターノードが出力する直列データ信号の受信タイミングの調整を前記スレーブノード毎に個別に設定する受信調整シーケンスと、前記スレーブノードが出力する直列データ信号の送信タイミングを前記スレーブノード毎に個別に設定する送信調整シーケンスとを実行するマスタータイミング調整部を備え、前記スレーブノードは、前記マスタータイミング調整部からの命令に従い、前記受信調整シーケンスの実行中は受信タイミングの調整を行い、前記送信調整シーケンスの実行中は前記送信タイミング制御部に対して送信タイミングの変化を指示して、送信タイミングの調整を行うスレーブタイミング調整部を備えたことを特徴とする前記[１]に記載の信号伝送システム。
【００２１】
［５］前記マスタータイミング調整部は、前記受信調整シーケンス、前記送信調整シーケンスの順に処理を行うことを特徴とする前記[４]に記載の信号伝送システム。
【００２２】
［６］前記マスターノードと前記スレーブノードとの間のデータ転送は、光伝送媒体を介して行われることを特徴とする前記[１]に記載の信号伝送システム。この構成によれば、耐ノイズ性が向上し、多重伝送が可能となる。
【００２３】
［７］前記基準クロック信号、および前記スレーブノードからの直列データ信号に埋め込まれたクロック信号は、同一の発振源より生成されることを特徴とする前記[１]に記載の信号伝送システム。この構成によれば、クロック信号の位相を高精度に基準クロック信号に合わせることができる。
【００２４】
［８］マスターノードからスレーブノードに基準クロック信号が埋め込まれた直列データ信号を送信する第１のステップと、前記スレーブノードから前記マスターノードに送信された前記直列データ信号に埋め込まれたクロック信号と前記基準クロック信号との位相差を検出する第２のステップと、前記位相差を所定の値以下となるように前記スレーブノードから前記マスターノードへの前記直列データ信号の送信タイミングを調整する第３のステップとを含むことを特徴とする信号伝送方法。
【００２５】
［９］前記［８］に記載の前記第１乃至第３のステップをコンピュータに実行させるためのプログラム。
【発明の効果】
【００２６】
本発明によれば、スレーブノードから送信される直列データ信号に埋め込まれたクロック信号の位相をマスターノードで生成された基準クロック信号に合わせることができるので、シリアル伝送路を用いた１対多ノード間のデータ転送を簡単な構成で良好に行うことができる。本発明の構成を用いることにより、複数のスレーブノードが逐次的にマスターノードへとデータ転送を行う際、スレーブノードが切り換わってもオーバーヘッドを生じないため、転送時間を短縮することができる。例えば、シリアル伝送路の伝送帯域を１ＧＢ／秒とし、第１のスレーブノードと第２のスレーブノードから各々３２ＫＢのデータをマスターノードに転送する処理を行うものとする。ここで、３２ＫＢという数値は市販データベースがストレージ装置とのデータ転送において設定される一般的なブロックサイズを参考にした。従来方法における上記オーバーヘッドを５００μ秒とすると、全転送時間は５６４μ秒（＝３２ＫＢ／１ＧＢ×２＋５００μ）かかるのに対し、本発明では６４μ秒（＝３２ＫＢ／１ＧＢ×２）で済む。
【発明を実施するための最良の形態】
【００２７】
［第１の実施の形態］
図１は、本発明の第１の実施の形態に係る信号伝送システムの構成を示すブロック図である。
【００２８】
本実施の形態に係る信号伝送システムは、ＣＰＵ２に設けられた１つのマスターノード１と、複数（例えば３つ）のメモリ５Ａ〜５Ｃにそれぞれ設けられたスレーブノード３ｂ、３ｃ、３ｄとの間で、シリアルバス４を介してデータ転送を行う。
【００２９】
（マスターノード）
マスターノード１は、並列直列変換部１０ａ、送信ＰＬＬ(Phase Locked Loop)１２ａ、直列並列変換部１１ａ、分周回路１３ａ、位相差検出部１９ａ、ＣＤＲ部（クロックデータリカバリ部）２３ａ、及びマスタータイミング調整部２０ａを備える。
【００３０】
また、マスターノード１は、外部回路とのインタフェースで、並列データ信号１００ａ、同期信号（基準クロック信号）１０２ａ、及びタイミング調整の制御信号１１０ａを入力し、並列データ信号１０１ａ、及びタイミング調整のステータス信号１１１ａを出力する。また、シリアルバス４とのインタフェースで、直列データ信号２０１ａを入力し、直列データ信号２００ａを出力する。
【００３１】
送信ＰＬＬ１２ａは、マスタータイミング調整部２０ａから同期信号２０２ａを入力し、周波数を逓倍して得られる直列同期信号２５０ａを出力する。
【００３２】
並列直列変換部１０ａは、並列データ信号、同期信号２０２ａ、及び直列同期信号２５０ａを入力し、並列データ信号を直列データ信号２００ａに変換して出力する。例えば、並列データ信号が４０ビットで各５０Ｍｂｐｓ、同期信号２０２ａが５０ＭＨｚ、直列同期信号２５０ａが５００ＭＨｚであるとすると、出力される直列データ信号は４ビットで各５００Ｍｂｐｓの信号となる。
【００３３】
ＣＤＲ部２３ａは、直列データ信号２０１ａを入力し、そこから直列同期信号を抽出して出力する。本実施の形態では直列データ信号２０１ａのみを入力としているが、別途参照クロック信号を入力して抽出することも可能である。
【００３４】
分周回路１３ａは、ＣＤＲ部２３ａから直列同期信号を入力し、周波数が同期信号２０２ａと等しくなるまで分周した結果を出力する。
【００３５】
直列並列変換部１１ａは、直列データ信号２０１ａと、ＣＤＲ部２３ａの出力信号、前記分周回路１３ａの出力信号を入力し、直列データ信号２０１ａを並列データ信号に変換して出力する。例えば、直列データ信号２０１ａが４ビットで各５００Ｍｂｐｓ、同期信号が５０ＭＨｚ、直列同期信号が５００ＭＨｚであるとすると、出力される並列データ信号は４０ビットで各５０Ｍｂｐｓの信号となる。
【００３６】
位相差検出部１９ａは、ＣＤＲ部２３ａの出力信号と、送信ＰＬＬ１２ａの出力である直列同期信号との間の位相差を検出し、結果をマスタータイミング調整部２０ａに対して出力する。本実施の形態においては直列同期信号から位相差を検出しているが、両入力信号を分周した後に位相差を検出する方法も適用することができる。
【００３７】
マスタータイミング調整部２０ａは、制御信号１１０ａの指示により、データ転送を実行している期間は何も処理を行わず、並列データ信号１００ａを並列直列変換部１０ａへ出力し、直列並列変換部１１ａの出力を並列データ信号１０１ａに接続し、同期信号１０２ａと同期信号２０２ａを接続し、そして、制御信号１１０ａの指示によりタイミング調整を起動された場合は、後述する図３〜図６に示すフローチャートのうち、マスターノード１に対応する処理を実行する。
【００３８】
（スレーブノード）
一方、スレーブノード３ｂ、３ｃ、３ｄは、それぞれ、並列直列変換部１０ｂ、１０ｃ、１０ｄ、送信ＰＬＬ１２ｂ、１２ｃ、１２ｄ、直列並列変換部１１ｂ、１１ｃ、１１ｄ、分周回路１３ｂ、１３ｃ、１３ｄ、スレーブタイミング調整部２２ｂ、２２ｃ、２２ｄ、ＣＤＲ部２３ｂ、２３ｃ、２３ｄ、送信タイミング制御部２４ｂ、２４ｃ、２４ｄ、受信アライナー３１ｂ、３１ｃ、３１ｄ、及び送信アライナー３２ｂ、３２ｃ、３２ｄを備える。並列直列変換部部１０ｂ、１０ｃ、１０ｄ、送信ＰＬＬ１２ｂ、１２ｃ、１２ｄ、直列並列変換部１１ｂ、１１ｃ、１１ｄ、分周回路１３ｂ、１３ｃ、１３ｄ、及びＣＤＲ部２３ｂ、２３ｃ、２３ｄに関しては、マスターノード１に含まれる同モジュールと同様であるため、説明を省略する。
【００３９】
また、スレーブノード３ｂ、３ｃ、３ｄは、外部回路とのインタフェースで、それぞれ、並列データ信号１００ｂ、１００ｃ、１００ｄ、及びタイミング調整の制御信号１１０ｂ、１１０ｃ、１１０ｄを入力し、並列データ信号１０１ｂ、１０１ｃ、１０１ｄ、及びタイミング調整のステータス信号１１１ｂ、１１１ｃ、１１１ｄを出力する。また、シリアルバス４とのインタフェースで、直列データ信号２０１ｂ、２０１ｃ、２０１ｄを入力し、直列データ信号２００ｂ、２００ｃ、２００ｄを出力する。
【００４０】
また、制御信号１１０ｂ、１１０ｃ、１１０ｄは、ＣＰＵ２からシリアルバス４とは異なる伝送路を介して送信されるようになっている。
【００４１】
送信タイミング制御部２４ｂ、２４ｃ、２４ｄは、それぞれ分周回路１３ｂ、１３ｃ、１３ｄから抽出された同期信号２０３ｂ、２０３ｃ、２０３ｄを入力し、スレーブタイミング調整部２２ｂ、２２ｃ、２２ｄの指示に従って位相をずらして得られる信号を出力する。各々の位相ずらし量は独立に与える。
【００４２】
ここでは分周された信号の位相を調整しているが、分周前の信号の位相を調整し、その結果得られた信号を分周するという方法を用いても構わない。
【００４３】
受信アライナー３１ｂ、３１ｃ、３１ｄは、それぞれ、直列並列変換部１１ｂ、１１ｃ、１１ｄの出力信号を入力し、スレーブタイミング調整部２２ｂ、２２ｃ、２２ｄの指示に従ってワードアライメント処理を施した結果を、スレーブタイミング調整部２２ｂ、２２ｃ、２２ｄに対して出力する。
【００４４】
送信アライナー３２ｂ、３２ｃ、３２ｄは、それぞれ、送信データをスレーブタイミング調整部２２ｂ、２２ｃ、２２ｄから入力し、スレーブタイミング調整部２２ｂ、２２ｃ、２２ｄの指示に従ってワードアライメント処理を施した結果を、並列直列変換部１０ｂ、１０ｃ、１０ｄに出力する。
【００４５】
スレーブタイミング調整部２２ｂ、２２ｃ、２２ｄは、それぞれ、制御信号１１０ｂ、１１０ｃ、１１０ｄの指示により、データ転送を実行している期間は何も処理を行わず、並列データ信号１００ｂ、１００ｃ、１００ｄを送信アライナー３２ｂ、３２ｃ、３２ｄへ出力し、受信アライナー３１ｂ、３１ｃ、３１ｄの出力を並列データ信号１０１ｂ、１０１ｃ、１０１ｄに接続し、そして、制御信号１１０ｂ、１１０ｃ、１１０ｄの指示によりタイミング調整を起動された場合は、後述する図３〜図６に示すフローチャートのうち、スレーブノード３に対応する処理を実行する。
【００４６】
（アライメント処理）
図２（ａ）は、受信時のアライメントシーケンスの一例、（ｂ）は送信時のアライメントシーケンスの一例、（ｃ）はアライナーの構成の一例をそれぞれ示す図である。
【００４７】
スレーブノード３におけるデータ受信時には、次のようにしてアライメント処理が行われる。まず、図２（ａ）に示すように、マスターノード１における並列データ信号「１／２／・・・／１０」は、並列直列変換部（Ｐ／Ｓ）により直列データ信号「１−２−・・・−１０」に変換されて送信される。スレーブノード３で受信された直列データ信号「１−２−・・・−１０」は、直列並列変換部（Ｓ／Ｐ）により並列データ信号に変換される。この際、同期信号と直列データ信号の位相が異なると、元の並列データ信号のビット順がずれて、例えば、並列データ信号は、図示のように「５／６／・・・／４」となる。受信アライナー３１は、スレーブタイミング調整部２２からの指示により、データ信号が元通りの並列データ信号「１／２／・・・／１０」に整列するようにアライメント処理を行う。
【００４８】
スレーブノード３におけるデータ送信時には、図２（ｂ）に示すようにアライメント処理が行われる。シリアル伝送路は図２（ａ）と同様であり、同期信号と直列データ信号の伝送遅延時間のずれにより、直列データ信号は４ビットずれて受信されるものとする。マスターノード１は、後述するタイミング調整シーケンスを用いて、このずれによるアライメント情報をスレーブノード３にあらかじめ伝達しておく。これを受けて、スレーブタイミング調整部２２は、送信アライナー３２に所定のアライメント処理を指示する。まず、スレーブノード３における並列データ信号「１／２／・・・／１０」は、送信アライナー３２により信号が「５／６／・・・／４」となるようにアライメント処理を行う。並列直列変換部（Ｐ／Ｓ）により直列データ信号「５−６−・・・−４」に変換されて送信される。マスターノード１で受信された直列データ信号「５−６−・・・−４」は、直列並列変換部（Ｓ／Ｐ）により元通りの並列データ信号「１／２／・・・／１０」に整列される。
【００４９】
このように、ワードアライメント処理を各送信ノードにおいて行うことにより、受信ノードは送信ノードの切換えを意識することなくデータを受信できるので、回路構成が簡素化される。
【００５０】
送信アライナー３２および受信アライナー３１は、本例では、図２（ｃ）に示すように、１０ビットのレジスタ３０ａ、分岐回路３０ｂ、１０入力１出力のセレクタＳＬ１〜ＳＬ１０を用いて構成することができる。本回路により、シリアルバス４上を伝送される連続２ワード分の信号１９ビットから、連続する１０ビットの信号を出力することができる。レジスタ３０ａは、入力される１−１０の各信号をクロックに同期して保持する。分岐回路３０ｂは、入力信号１−９を各々コピーして得られる信号１１−１９と、レジスタ３０ａから出力される信号１−１０の合計１９ビットの信号を入力し、セレクタＳＬ１〜ＳＬ１０への各入力信号を生成する。セレクタＳＬ１〜ＳＬ１０には、それぞれ選択信号が与えられ、これに従って各セレクタＳＬ１〜ＳＬ１０から出力が１つずつ出され、所定のアライメント処理が実行される。これらの選択信号は、スレーブタイミング調整部２２から与えられる。
【００５１】
（第１の実施の形態の動作）
次に、図３〜図６を用いて、上記以外のタイミング調整シーケンスの説明を行う。これらはいずれもマスタータイミング調整部２０ａ、スレーブタイミング調整部２２ｂ〜２２ｄが実行する。タイミング調整シーケンスの全部または一部をプログラムによって実現することができる。
【００５２】
（全体フロー）
図３は、シーケンス全体のフローチャートを示す。処理が開始され（ＳＴ３０）、タイミング調整の制御信号１１０ａ（１１０ｂ〜１１０ｄ）の検知を行うと（ＳＴ３１）、ステータス信号１１１ａ（１１１ｂ〜１１１ｄ）をアクティブとし、外部に対してビジー状態を通知する（ＳＴ３２）。これにより、タイミング調整処理中は並列データ信号１００ａ（１００ｂ〜１００ｄ）、１０１ａ（１０１ｂ〜１０１ｄ）の入出力は禁止される。
【００５３】
次に、受信調整シーケンスを実行し（ＳＴ３３）、次に、送信調整シーケンスを実行する（ＳＴ３４）。これらが終了すると、外部に対するビジー状態を解除し（ＳＴ３５）、全体を終了する（ＳＴ３６）。
【００５４】
（受信調整シーケンス）
図４は、受信調整シーケンスのフローチャートを示す。以下の図４〜図６においては、各処理ブロック名のうちＭで始まるものはマスタータイミング調整部２０ａが行う処理を表し、Ｓで始まるものはスレーブタイミング調整部２２ｂ〜２２ｄが行う処理を表す。また太い矢印は、マスターノード１とスレーブノード３間の信号のやり取りを表す。
【００５５】
マスターノード１のマスタータイミング調整部２０ａで受信調整シーケンスが開始されると（Ｍ４０）、マスタータイミング調整部２０ａが起動され、テストパターン信号を並列直列変換部１０ａから全スレーブノード３に送信する（Ｍ４１）。このテストパターンは、マスタータイミング調整部２０ａ、スレーブタイミング調整部２２ｂ〜２２ｄの両方において予めメモリ等の記憶手段に格納されているものとする。
【００５６】
テストパターンとして、例えば１０ビット信号の場合であれば、以下の繰り返しパターンを用いることができる。
ビット列１．“０００１１１０１０１”
ビット列２．“００１１０１０１０１”
テストパターンに必要な条件は伝送路の仕様に依存するが、例えば、以下が必要である。
条件１．ビット列の中に論理値“１”が４割から６割を占めていること
条件２．先頭ビットがどれであるかをパターン自身から判定できること
ビット列１と２はいずれも条件１と２を満たしている。また、イーサネット（登録商標）の通信確立に用いられるカンマディテクション用のビット列も適用可能である。
【００５７】
次に、マスタータイミング調整部２０ａは、一定時間だけテストパターン信号を送信し続けた後（Ｍ４２）、処理を終了する（Ｍ４３）。ここでの一定時間とは、以下で説明するスレーブタイミング調整部２２ｂ〜２２ｄの処理Ｓ４１〜Ｓ５２の処理時間よりも十分に長い時間を表す。
【００５８】
続いてスレーブタイミング調整部２２ｂ〜２２ｄの処理を説明する。以下は全スレーブノード３において実行する。
【００５９】
処理を開始すると（Ｓ４０）、処理Ｍ４１により送信されたテストパターン信号を受信する（Ｓ４１）。
【００６０】
ＣＤＲ部２３ｂ〜２３ｄにより最適な信号受信タイミングが設定され（Ｓ４２）、受信されたテストパターンと、予め格納されている正解パターンとの照合を行い、照合結果をメモリに格納する。ここで例えば上記のビット列１が正解パターンである場合に、受信されたテストパターンが、
ビット列３．“１０００１１１０１０”
であったとする。この場合、各ビットは正しく受信されているが、先頭ビットの位置が１ビット下位側にずれているだけであり、ワードアライメントを行えば正解となる。よって照合結果としては、以下の２つを記憶する。
結果１．全ての個別ビットは正しく受信されているかどうか。
結果２．もし結果１がＯＫであれば、何ビットシフトすれば正解となるか。
【００６１】
もしも受信結果がＮＧの場合は受信タイミングを設定できなかったものとして、エラー信号を外部に出力する（Ｓ５０）。ＯＫである場合は、最適な受信タイミングに対応する上記結果２（シフト数）を、受信アライナー３１ｂ、３１ｃ、３１ｄに対して設定する。
以上でスレーブタイミング調整部２２ｂ〜２２ｄの処理が終了する。
【００６２】
（送信調整シーケンス）
次に、図５および図６により、送信調整シーケンスの説明を行う。図５はマスターノード１について、図６はスレーブノード３についてそれぞれ示しており、両図は各図中の「Ａ」、「Ｂ」、「Ｃ」同士で接続される。
【００６３】
マスターノード１のマスタータイミング調整部２０ａで送信調整シーケンスが開始されると（Ｍ８０）、マスタータイミング調整部２０ａが起動され、ＩＤ信号（＝各スレーブノード３を識別するために予め設定されたＩＤ番号を、データ信号とした信号）を、並列直列変換部１０ａから全スレーブノード３に送信する（Ｍ８１）。送信調整シーケンスは、個々のスレーブノード３とマスターノード１との１対１の伝送により実行するため、マスターノード１側からスレーブノード３を１つずつ指定するために処理Ｍ８１が必要となる。
【００６４】
マスタータイミング調整部２０ａは、一定時間だけＩＤ信号を送信し続けた後（Ｍ８２）、スレーブノード３から送信されるテストパターンを受信する（Ｍ８３）。ここでの一定時間とは、以下で説明するスレーブタイミング調整部２２ｂ〜２２ｄによる処理Ｓ８１〜Ｓ８５の処理時間よりも十分に長い時間を表す。続いてスレーブタイミング調整部２２ｂ〜２２ｄの処理を説明する。以下でのスレーブタイミング調整部２２ｂ〜２２ｄの処理は全てのスレーブノード３において実行する。
【００６５】
図６において、処理が開始されると（Ｓ８０）、まず送信タイミングの初期化が行われる（Ｓ９２）。処理Ｍ８１により送信されたＩＤ信号を受信し（Ｓ８１）、それがＩＤ信号であるか、終了通知信号であるかを判別する。終了通知信号を受信した場合は、処理を終了する（Ｓ９１）。ＩＤ信号を受信した場合は、各スレーブノード３のＩＤ番号との照合を行い（Ｓ８２）、自ノードが指定されているか否かを判定する（Ｓ８３）。この判定結果はレジスタ等の記憶手段により保持するものとする。
【００６６】
処理Ｓ８３の結果、ＩＤ信号によって指定されたスレーブノード３は、テストパターン信号をマスターノード１に対して送信する（Ｓ８４）。テストパターン信号については図４の処理Ｍ４１と同様であるため、説明を省略する。またＩＤ信号によって指定されていないスレーブノード３は、全ての論理値が“０”であるテストパターン信号を送信する（Ｓ８５）。処理Ｓ８４と処理Ｓ８５は同様のタイミングで実行され、かつ各信号がシリアルバスにおいて合流される。よって、処理Ｓ８４のテストパターン信号が合流による影響を受けず、正しくマスターノード１に伝送されるように、処理Ｓ８５の信号を選ぶことが必要である。
【００６７】
次に、マスタータイミング調整部２０ａの処理を説明する。マスタータイミング調整部２０ａは、テストパターンを受信すると（Ｍ８３）、ＣＤＲ部２３ａにより最適な信号受信タイミングを設定し（Ｍ８４）、受信されたテストパターンと、予め格納されている正解パターンとの照合を行い、照合結果をメモリに格納する。
【００６８】
次に、現在指定中のスレーブノード３に関して、位相差検出部１９ａの出力値が所定値以下か否かの判定を行い（Ｍ８６）、所定値を越えている場合は、タイミング変更指示信号を位相差の値と共にスレーブノード３に送信する（Ｍ９０）。ここでタイミング変更指示信号とは、スレーブノード３からの送信タイミングを変更して再度テストを行う指示信号である。次に、一定時間だけタイミング変更指示信号を送信し続けた後（Ｍ９５）に処理Ｍ８３に戻り、処理Ｍ８３〜Ｍ８６を実行する。処理Ｍ９５における一定時間とは、後述するスレーブタイミング調整部２２ｂ〜２２ｄによる処理Ｓ８６〜Ｓ８７、Ｓ８３〜Ｓ８５の処理時間よりも十分に長い時間とする。
【００６９】
一方、処理Ｍ８６により位相差が所定値以下である場合は、タイミング固定指示信号を送信する（Ｍ８９）。
【００７０】
続いて、全てのスレーブノード３に関して送信タイミング調整を終えたかどうかの判定を行う（Ｍ９１）。まだ終えていない場合は、スレーブノード３のＩＤ番号を更新し（Ｍ９２）、次のスレーブノード３の送信タイミング調整を行う（Ｍ８１）。調整終了の場合は、処理Ｍ９６とＭ９７により、終了通知信号を一定時間だけスレーブノード３に送信し続ける。ここで一定時間とは、スレーブタイミング調整部２２ｂ〜２２ｄによるＳ８１の処理時間よりも十分に長い時間を示す。最後に最終結果とステータスを出力し（Ｍ９３）、終了する（Ｍ９４）。
【００７１】
スレーブタイミング調整部２２ｂ〜２２ｄは、マスタータイミング調整部２０ａによる処理Ｍ８９もしくはＭ９０により送信された信号を受信する（Ｓ８６）。
【００７２】
受信信号がタイミング変更指示信号である場合、位相差に基づくデータ送信タイミングの変更を送信タイミング制御部２４ｂ〜２４ｄに対して指示し（Ｓ８７）、更に処理Ｓ８３に戻る。
【００７３】
受信信号がタイミング固定指示信号である場合、その結果をメモリに格納し（Ｓ８８）、送信タイミング制御部２４ｂ〜２４ｄに対して設定する（Ｓ８９）。更にマスターノード１に対するテストパターンの送信を中止した後（Ｓ９０）、処理Ｓ８１に戻る。
【００７４】
また処理Ｓ８６において上記以外の信号を受信している場合は、処理Ｓ８３に戻りテストパターン信号の送信を継続する。
【００７５】
（伝送タイミング）
図７は、本発明の信号伝送システムが実行するタイミング調整シーケンスによる、伝送タイミングの改善効果を示す図である。例としてスレーブノード３ｂとマスターノード１との間の伝送タイミングを示しているが、他のスレーブノード３ｃ、３ｄにおいても同様である。
【００７６】
図７（ａ）にタイミング調整を行わない場合のタイムチャートを示す。この場合、スレーブノード３からマスターノード１への信号伝播遅延、素子通過遅延等により、直列同期信号２５０ａと直列データ信号２０１ａの間に位相差が生じている。この位相差は各スレーブノード３によって異なるため、もしも送信するスレーブノード３が切り換わると、マスターノード１のＣＤＲ部２３ａはその都度、直列同期信号を抽出する必要があり、その間の伝送は中断される。
【００７７】
図７（ｂ）にタイミング調整後のタイムチャートを示す。直列同期信号２５０ｂの位相を調整することにより、マスターノード１においては直列同期信号２５０ａと直列データ信号２０１ａの間の位相差がなくなっている。ＣＤＲ部２３ａは、どのスレーブノード３から信号送信されても、いずれも直列同期信号２５０ａと同じタイミングで受信することができるため、スレーブノード３が切り換わっても伝送の中断が起こらない。
【００７８】
なお、本実施の形態においては、いずれのスレーブノード３が送信しても、信号２０１ａの位相が信号２５０ａと同程度になるようにタイミングを調整しているが、必ず信号２５０ａに合わせる必要はない。何らかの基準となる信号と信号２０１ａとの位相差が同程度になる方法であれば適用可能である。
【００７９】
（第１の実施の形態の効果）
上述した第１の実施の形態によれば、シリアルバス４により１対多ノード間の信号伝送を実現することができる。特に、複数のスレーブノード３側からマスターノード１側へのシリアルデータ伝送において、シリアルデータ信号に埋め込まれたクロック信号の位相を、予めマスターノード側の基準クロック信号に合わせ込むことにより、マスターノード１はスレーブノード３が切り換わっても伝送中断することなくデータを受信することができる。
【００８０】
［第２の実施の形態］
図８は、本発明の第２の実施の形態に係る信号伝送システムの構成を示すブロック図である。本実施の形態は、第１の実施の形態におけるシリアルバスの部分を、光分波器６０、光合波器６１、電気光変換部６２（６２ａ〜６２ｄ）、光電気変換部６３（６３ａ〜６３ｄ）で置き換えた構成となっている。その他のマスターノード１、スレーブノード３ｂ〜３ｄ、および各部における信号は、第１の実施の形態と同様であるため、説明を省略する。
【００８１】
第２の実施の形態においては、各部から送信されるシリアルデータ信号およびフレーム信号は光信号に変換され、それぞれ光ファイバや後述する光バス等の光伝送媒体を介して伝送され、受信側で電気信号に変換される。
【００８２】
光分波器６０は、光信号の入射ポート１つと、出射ポート３つを備えている。入射ポートからの光信号入射に対して、各出射ポートにおいて同様の光量の光信号が得られるように導光路を構成する。光分波器６０としては例えばスターカプラなどを用いることができ、また特開平１０−１２３３５０号公報や特開平１０−１２３３７４号公報に記載された光バスを用いることもできる。これらの光バスは、シート状の光伝送媒体の内部または入射端面で信号光を拡散することによって、出射端面において一様な光強度レベルの信号光を得るものである。
【００８３】
光合波器６１は、光信号の入射ポート３つと、出射ポート１つを備えている。いずれの入射ポートから光信号が入射されても、出射ポートにおいて同様の光量の光信号が得られるように導光路を構成する。光合波器６１としては上述の光分波器６０と同様にスターカプラや光バスを用いることができる。
【００８４】
電気光変換部６２は、各ノードから出力される電気信号を光信号に変換して出力するものであり、発光ダイオード、ＬＥＤ等の発光素子とその駆動回路を含み構成される。
【００８５】
光電気変換部６３は、光分波器６０、光合波器６１から出力される光信号を電気信号に変換して各ノードに接続するものであり、フォトダイオード等の受光素子と、その出力信号の増幅回路を含み構成される。
【００８６】
第２の実施の形態によれば、シリアル伝送路に光伝送媒体を用いているので、耐ノイズ性が向上し、多重伝送が可能となる。
【００８７】
なお、図８においては、電気光変換部６２と光電気変換部６３が各ノードとは別ブロックとなっているが、各々を各ノード内に含める構成としてもよい。
【００８８】
［他の実施の形態］
なお、本発明は、上記各実施の形態に限定されず、発明の要旨を変更しない範囲内で種々な変形が可能である。また、発明の要旨を変更しない範囲内で各実施の形態間の構成要素を任意に組み合わせることができる。
【図面の簡単な説明】
【００８９】
【図１】本発明の第１の実施の形態に係る信号伝送システムのブロック図である。
【図２】（ａ）は受信時のアライメントシーケンスの一例、（ｂ）は送信時のアライメントシーケンスの一例、（ｃ）はアライナーの構成の一例をそれぞれ示す図である。
【図３】本発明の第１の実施の形態に係る信号伝送システムが実行するタイミング調整シーケンスの全体処理フロー図である。
【図４】本発明の第１の実施の形態に係る信号伝送システムが実行するタイミング調整シーケンスに含まれる、受信調整シーケンスの処理フロー図である。
【図５】本発明の第１の実施の形態に係る信号伝送システムが実行するタイミング調整シーケンスに含まれる、送信調整シーケンス（マスターノード）の処理フロー図である。
【図６】本発明の第１の実施の形態に係る信号伝送システムが実行するタイミング調整シーケンスに含まれる、送信調整シーケンス（スレーブノード）の処理フロー図である。
【図７】（ａ）は、比較例を示す図、（ｂ）は、本発明の第１の実施の形態に係る信号伝送システムが実行するタイミング調整シーケンスによる、伝送タイミングの改善効果を示す図である。
【図８】本発明の第２の実施の形態に係る信号伝送システムの構成図である。
【符号の説明】
【００９０】
１  マスターノード
３，ｂ〜３ｄ  スレーブノード
４  シリアルバス
５Ａ〜５Ｃ  メモリ
１０，１０ａ〜１０ｄ  並列直列変換部
１１ａ〜１１ｄ  直列並列変換部
１２ａ〜１２ｄ  送信ＰＬＬ
１３ａ〜１３ｄ  分周回路
１９ａ  位相差検出部
２０ａ  マスタータイミング調整部
２２，２２ｂ〜２２ｄ  スレーブタイミング調整部
２３ａ〜２３ｄ  ＣＤＲ部
２４ｂ〜２４ｄ  送信タイミング制御部
３０ａ        レジスタ
３０ｂ  分岐回路
３１，３１ｂ  受信アライナー
３２，３２ｂ  送信アライナー
６０  光分波器
６１  光合波器
６２ａ〜６２ｄ  電気光変換部
６３ａ〜６３ｄ  光電気変換部
１００ａ〜１００ｄ，１０１ａ〜１０１ｄ  並列データ信号
１０２ａ  同期信号
１１０ａ〜１１０ｄ  制御信号
１１１ａ〜１１１ｄ  ステータス信号
２００ａ，２００ｂ  直列データ信号
２０１ａ，２０１ｂ  直列データ信号
２０２ａ  同期信号
２０３ｂ  同期信号
２５０ａ，２５０ｂ  直列同期信号
ＳＬ１〜ＳＬ１０  セレクタ
【図１】
2008016955.tif 000003
【図２】
2008016955.tif 000004
【図３】
2008016955.tif 000005
【図４】
2008016955.tif 000006
【図５】
2008016955.tif 000007
【図６】
2008016955.tif 000008
【図７】
2008016955.tif 000009
【図８】
2008016955.tif 000010