(57)【特許請求の範囲】
【請求項１】
複数のチャネルを介して各々が連続するバイトからなる複数のシリアルデータを受信して、該複数のシリアルデータ間の位相ずれであるスキュー量を小さくするスキュー補正装置において、
データ伝送をしていないアイドル時に、前記複数のシリアルデータ間におけるスキュー量を、前記バイトの各々の先頭位置に含まれる伝送データとは別の付加情報から検出して、該スキュー量がゼロになるように前記複数のシリアルデータの各々の遅延量を補正する第１のスキュー補正手段と、
前記第１のスキュー補正手段により補正された後のデータ伝送中に発生する前記複数のシリアルデータ間におけるスキュー量を、前記付加情報から検出して、該スキュー量がゼロになるように前記複数のシリアルデータの各々の遅延量を補正する第２のスキュー補正手段と、
を備えていることを特徴とするスキュー補正装置。
【請求項２】
前記第１のスキュー補正手段は、
アイドル状態を検出するアイドル検出回路と、
該アイドル状態の検出時に１次スキュー補正をして前記複数のシリアルデータの各々の遅延量を補正する１次スキュー補正回路とを備えており、
前記第２のスキュー補正手段は、
前記１次スキュー補正回路により補正された遅延量を持つ前記複数のシリアルデータのデータ伝送中におけるスキュー量を監視するスキュー監視回路と、
該スキュー監視回路により検出されたスキュー量をゼロにするように前記複数のシリアルデータの各々の遅延量を補正する遅延調整回路とを備えていることを特徴とする請求項１に記載のスキュー補正装置。
【請求項３】
前記１次スキュー補正回路は、
前記複数のシリアルデータから１つのシリアルデータを選択する選択回路と、
前記選択されたシリアルデータと前記複数のシリアルデータの各々との位相差が最小となるように受信シリアルデータの遅延量を制御する遅延量制御回路とを備えていることを特徴とする請求項２に記載のスキュー補正装置。
【請求項４】
前記受信した複数のシリアルデータの各々は連続するバイトからなり、前記バイトの各々の先頭位置に伝送データとは別の付加情報が含まれており、
前記スキュー監視回路は、
前記複数のチャネルから選択された１つのチャネルを介して受信されるシリアルデータを基準シリアルデータとし、該基準シリアルデータから、該基準シリアルデータのビットを識別するビットクロックと、該基準シリアルデータのバイトを識別するバイトクロックと、前記基準シリアルデータに含まれる前記付加情報に対応するタイミング幅の範囲内で前記バイトクロックより遅れて変化するアーリィクロックと、前記基準シリアルデータに含まれる前記付加情報に対応するタイミング幅の範囲内で前記アーリィクロックより遅れて変化するディレイクロックとを抽出するクロックリカバリ回路と、
前記選択されたチャネル以外のチャネルを介して受信されるシリアルデータに含まれる前記付加情報に対応するタイミング幅内に前記アーリィクロックの変化時と前記ディレイクロックの変化時が含まれるかどうかを判定する付加情報チェック回路と、
前記付加情報チェック回路により前記選択されたチャネル以外のチャネルを介して受信されるシリアルデータに含まれる前記付加情報の受信タイミング幅内に前記アーリィクロックの変化時と前記ディレイクロックの変化時の少なくとも１つが含まれないと判定されたときに、スキュー量をゼロにするように対応するチャネルのシリアルデータの遅延量を補正する第２の遅延調整回路と、
を備えていることを特徴とする請求項２に記載のスキュー補正回路。
【請求項５】
前記付加情報は連続するバイト毎に“１”と“０”とが交代する１ビットの情報であり、
前記付加情報チェック回路は、各チャネル毎に、
前記アーリィクロックの変化時に、前記シリアルデータが“１”であれば第１の状態となり、前記シリアルデータが“０”であれば前記第１の状態とは異なる第２の状態となる第１のラッチ信号を出力する第１のラッチ回路と、
前記ディレイクロックの変化時に、前記シリアルデータが“１”であれば第１の状態となり、前記シリアルデータが“０”であれば前記第１の状態とは異なる第２の状態となる第２のラッチ信号を出力する第２のラッチ回路と、
前記第１のラッチ回路の出力が所定バイト数にわたって“１”と“０”の交代パターンから外れているかどうかを判定する第１の判定回路と、
前記第２のラッチ回路の出力が所定バイト数にわたって“１”と“０”の交代パターンから外れているかどうかを判定する第２の判定回路と、
を備えており、
前記第２の遅延調整回路は、各チャネル毎に、前記第１の判定回路の出力が前記所定バイト数にわたって“１”と“０”の交代パターンから外れていることを示す場合は、前記基準シリアルデータに対して当該チャネルのシリアルデータの位相を進めるように遅延量を調整し、前記第２の判定回路の出力が前記所定バイト数にわたって“１”と“０”の交代パターンから外れていることを示す場合は、前記基準シリアルデータに対して当該チャネルのシリアルデータの位相を遅らせるように遅延量を調整する可変遅延回路を備えていることを特徴とする請求項４に記載のスキュー補正装置。
【請求項６】
前記受信した複数のシリアルデータの各々は連続するバイトからなり、
前記スキュー量監視回路は、
前記複数のチャネルから選択された１つのチャネルを介して受信されるシリアルデータを基準シリアルデータとし、該基準シリアルデータから、該基準シリアルデータのバイトを識別する基準バイトクロックを抽出する基準チャネルクロックリカバリ回路と、
前記選択されたチャネル以外のチャネルを介して受信されるシリアルデータのバイトを識別する通常バイトクロックを抽出する少なくとも１つの通常チャネルクロックリカバリ回路と、
前記通常チャネルクロックリカバリ回路が抽出したバイトクロックの位相と、前記基準チャネルクロックリカバリ回路が抽出した前記バイトクロックの位相との位相差を検出して電圧値に変換する位相比較及び電圧変換回路と、
前記電圧値に応じて、スキュー量をゼロにするように対応するチャネルのシリアルデータの遅延量を補正する第２の遅延調整回路と、
を備えていることを特徴とする請求項２に記載のスキュー補正回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はスキュー補正装置に関し、特にデータ伝送の受信側における位相ずれであるスキュー量を小さくするスキュー補正装置に関する。
【０００２】
【従来の技術】
図１は従来の最も基本的なパラレルデータ伝送システムを示すブロック図である。図において、送信部１０と受信部１１との間の複数の伝送チャネル１２−１〜１２−５を介して、データＤＡＴＡ０〜ＤＡＴＡ３とバイトクロック信号ＣＬＫがパラレルに伝送される。ＤＡＴＡ０〜ＤＡＴＡ３のそれぞれは８ビットのシリアルデータである。この場合、伝送チャネル１２−１〜１２−５毎の素子特性パラツキやケーブルの伝達遅延時間のバラツキが生じると、伝送チャネル間の位相のずれであるスキューが発生する。この結果、データ伝送の高速化、多バイト化が制約されるという問題がある。
【０００３】
図２はこの問題を解決するための従来のシリアルバンドルパラレルデータ伝送システムのブロック図である。このシステムは、例えば、Sun, Intel, IBM 等の会社が提案しているInfinibandの伝送方式として知られている。図において、送信部２１はバイトクロック信号（Ｂ  ＣＬ）をエンコーダとパラレルシリアル変換器とに分配するクロックゲート２１１と、データＤＡＴＡ０〜ＤＡＴＡ３毎に、それぞれのデータの０連続を避けることにより補正品質を向上するために８ビットのデータを１０ビットのデータに変換する４つのエンコーダ２１２と、４つのパラレル／シリアル変換器２１３と、４つの電気／光変換器２１４とを備えている。また、受信部２２は、４つのチャネルに対応して４つの光／電気変換器２２１と、４つのクロックリカバリ回路２２２と、４つのシリアル／パラレル変換器２２３と、４つのデコーダ２２４とを備えており、４つのデコーダ２２４の出力はデスキュー回路２２５に入力される。
【０００４】
送信部２１のエンコーダ２１２の各々は、クロックゲート２１からのクロック信号を受けて１バイトが８ビットのパラレルデータＤＡＴＡ０〜ＤＡＴＡ３の各々を１バイトが１０ビットのパラレルデータに変換する。パラレル／シリアル変換器２１３の各々は、パラレルデータを１バイト毎にシリアルデータに変換する。シリアルデータは、伝送の長距離化のために電気／光変換器２１４により電気信号から光信号に変換されて、光ファイバを介して送信される。
【０００５】
光ファイバを介して受信部２２により受信された光信号は、光／電気変換器２２１により電気信号に変換され、クロックリカバリ回路２２２によりクロック信号が再生され、シリアル／パラレル変換器２２３によりパラレル信号に変換され、デコーダ２２４により１バイトが１０ビットのパラレルデータから１バイトが８ビットのパラレルデータが再生される。伝送速度の高速化に伴い（上記infinibandでは１ビット幅が400ps)、物理的にスキューレスで伝送することは不可能なので、データ受信部２２にてデスキュー回路２２５が必要になる。再生された８ビットのパラレルデータに存在するスキューは、デスキュー回路２２５により除去される。
【０００６】
一般的なデスキュー方式として、以下のような方式が考えられる。
(1) 装置( 伝送系) の初期セットアップ時に、予め決められたスキュー補正用のデータパターンを送信し、受信部にて伝送チャネル毎に設けられた遅延回路の遅延値をチューニングする。
(2) データ伝送を開始する前に、予め決められたスキュー補正用データパターンを送信し、受信側に備えられたデスキュー回路にて伝送チャネル毎の遅延値を設定する。遅延値の設定方法としては、各伝送チャネル毎にシフトレジスタを数段設け、各伝送チャネルのスキュー補正用データパターンの位相が合うように、シフトレジスタを通過してから受信データを受け取る。
【０００７】
【発明が解決しようとする課題】
上記従来技術においては、デスキューの初期設定をした後に、素子特性の温度変動や、ケーブルの配線変更のためにスキュー条件が変化した場合、デスキュー作業を再度実施しなければならない。しかしながら、エラーが発生してからデスキュー作業を実施することは、コンピュータシステムのデータ伝送品質上好ましくない。したがって、スキュー発生によるデータエラーを避けるために、常に定期的にデスキュー作業を実施する必要がある。しかし、このデスキュー作業中は本来のデータ伝送をすることができないので、定期的にデスキュー作業をするとデータの転送容量が下がることになり、その結果システムの性能が下がることになる。
【０００８】
本発明の目的は、データ伝送中でもデスキュー作業を可能にして、デスキュー作業によるデータ転送容量及びシステム性能の低下を防止したスキュー補正装置を提供することにある。
【０００９】
【課題を解決するための手段】
上記の目的を達成するために、本発明の一態様により提供されるものは、複数のチャネルを介して各々が連続するバイトからなる複数のシリアルデータを受信して、該複数のシリアルデータ間の位相ずれであるスキュー量を小さくするスキュー補正装置において、データ伝送をしていないアイドル時に、複数のシリアルデータ間におけるスキュー量を、バイトの各々の先頭位置に含まれる伝送データとは別の付加情報から検出して、該スキュー量がゼロになるように複数のシリアルデータの各々の遅延量を補正する第１のスキュー補正手段と、第１のスキュー補正手段により補正された後のデータ伝送中に発生する複数のシリアルデータ間におけるスキュー量を、付加情報から検出して、該スキュー量がゼロになるように複数のシリアルデータの各々の遅延量を補正する第２のスキュー補正手段とを備えていることを特徴とするスキュー補正装置である。
【００１０】
アイドル時にスキュー補正された後のデータ伝送中にもスキュー補正ができるので、デスキュー中でもデータ伝送を中断する必要がなく、したがって、デスキュー動作によるデータ伝送容量及びシステム性能の低下は防止される。
本発明の第２の態様によれば、第１のスキュー補正手段は、アイドル状態を検出するアイドル検出回路と、該アイドル状態の検出時に１次スキュー補正をして複数のシリアルデータの各々の遅延量を補正する１次スキュー補正回路とを備えており、第２のスキュー補正手段は、１次スキュー補正回路により補正された遅延量を持つ複数のシリアルデータのデータ伝送中におけるスキュー量を監視するスキュー監視回路と、該スキュー監視回路により検出されたスキュー量をゼロにするように複数のシリアルデータの各々の遅延量を補正する遅延調整回路とを備えている。
【００１１】
アイドル検出回路を設けたことにより、オペレエータによるデスキュー作業が不要になる。
本発明の第３の態様によれば、第２の態様において、１次スキュー補正回路は、複数のシリアルデータから１つのシリアルデータを選択する選択回路と、選択されたシリアルデータと複数のシリアルデータの各々との位相差が最小となるように受信シリアルデータの遅延量を制御する遅延量制御回路とを備えている。
【００１２】
本発明の第４の態様によれば、第２の態様において、受信した複数のシリアルデータの各々は連続するバイトからなり、バイトの各々の先頭位置に伝送データとは別の付加情報が含まれている。また、スキュー監視回路は、クロックリカバリ回路と、付加情報チェック回路と、第２の遅延調整回路とを備えている。クロックリカバリ回路は、基準シリアルデータのビットを識別するビットクロックと、基準シリアルデータのバイトを識別するバイトクロックと、基準シリアルデータに含まれる付加情報に対応するタイミング幅の範囲内でバイトクロックより遅れて変化するアーリィクロックと、基準シリアルデータに含まれる付加情報に対応するタイミング幅の範囲内でアーリィクロックより遅れて変化するディレイクロックとを抽出する。付加情報チェック回路は、基準チャネル以外のチャネルを介して受信されるシリアルデータに含まれる付加情報に対応するタイミング幅内にアーリィクロックの変化時とディレイクロックの変化時が含まれるかどうかを判定する。第２の遅延調整回路は、基準チャネル以外のチャネルを介して受信されるシリアルデータに含まれる付加情報の受信タイミング幅内にアーリィクロックの変化時とディレイクロックの変化時の少なくとも１つが含まれないと判定されたときに、スキュー量をゼロにするように対応するチャネルのシリアルデータの遅延量を補正する。
【００１３】
転送シリアルデータに付加情報を追加するだけで、データ伝送中であってもスキューが常時補正される。
本発明の第５の態様によれば、第４の態様において、付加情報は連続するバイト毎に“１”と“０”とが交代する１ビットの情報である。また、付加情報チェック回路は、各チャネル毎に、第１及び第２のラッチ回路と、第１及び第２の判定回路とを備えている。第１のラッチ回路は、アーリィクロックの変化時に、シリアルデータが“１”であれば第１の状態となり、シリアルデータが“０”であれば第１の状態とは異なる第２の状態となる第１のラッチ信号を出力する。第２のラッチ回路は、ディレイクロックの変化時に、シリアルデータが“１”であれば第１の状態となり、シリアルデータが“０”であれば第１の状態とは異なる第２の状態となる第２のラッチ信号を出力する。第１の判定回路は、第１のラッチ回路の出力が所定バイト数にわたって“１”と“０”の交代パターンから外れているかどうかを判定する。第２の判定回路は、第２のラッチ回路の出力が所定バイト数にわたって“１”と“０”の交代パターンから外れているかどうかを判定する。
【００１４】
また、第２の遅延調整回路は、各チャネル毎に、第１の判定回路の出力が所定バイト数にわたって“１”と“０”の交代パターンから外れていることを示す場合は、基準シリアルデータに対して当該チャネルのシリアルデータの位相を進めるように遅延量を調整し、第２の判定回路の出力が所定バイト数にわたって“１”と“０”の交代パターンから外れていることを示す場合は、基準シリアルデータに対して当該チャネルのシリアルデータの位相を遅らせるように遅延量を調整する。
【００１５】
高速伝送系の場合、伝送品質向上のために、コード変換（例えば、４Ｂ５Ｂ変換や８Ｂ１０Ｂ変換）が採用されるのが一般的であるので、“１”と“０”とが交代する付加情報をシリアルデータに含ませることにより転送データの符号デューティのアンバランス性を解消できる。この結果、データ転送効率を落とすコード変換が不要になる。
【００１６】
本発明の第６の態様によれば、第２の態様において、スキュー量監視回路は、基準チャネルクロックリカバリ回路と、通常チャネルクロックリカバリ回路と、位相比較及び電圧変換回路と、第２の遅延調整回路とを備えている。基準チャネルクロックリカバリ回路は、基準シリアルデータのバイトを識別する基準バイトクロックを抽出する。通常チャネルクロックリカバリ回路は、基準チャネル以外のチャネルを介して受信されるシリアルデータのバイトを識別する通常バイトクロックを抽出する。位相比較及び電圧変換回路は、通常チャネルクロックリカバリ回路が抽出したバイトクロックの位相と、基準チャネルクロックリカバリ回路が抽出したバイトクロックの位相との位相差を検出して電圧値に変換する。第２の遅延調整回路は、電圧値に応じて、スキュー量をゼロにするように対応するチャネルのシリアルデータの遅延量を補正する。
【００１７】
このように、データ伝送中にバイトクロックの位相をチャネル間で調整しても、データ伝送を中断することなく常時スキュー補正をすることができる。
【００１８】
【発明の実施の形態】
以下、本発明の実施例を図面により詳述する。
図３は本発明によるスキュー補正回路の概略ブロック図である。このスキュー補正回路は受信部に設けられ、複数のチャネルを介して複数のシリアルデータを受信して、その複数のシリアルデータ間の位相ずれであるスキュー量を小さくするものである。図において、データＤＡＴＡ０〜データＤＡＴＡｎ（以下、データ０〜データｎと称する）はそれぞれシリアルデータである。１次スキュー補正手段３１は、データ伝送をしていないアイドル時に、複数のシリアルデータ０〜ｎの間におけるスキュー量を検出して、そのスキュー量がゼロになるようにシリアルデータの各々の遅延量を補正する。２次スキュー補正手段３２は、１時スキュー補正手段３１により補正された状態に基づいて、データ伝送中に発生する前記複数のシリアルデータ間におけるスキュー量を検出して、該スキュー量がゼロになるように前記複数のシリアルデータの各々の遅延量を補正する。
【００１９】
図４は図３に示したスキュー補正回路を詳細に示すブロック図である。図において、１次スキュー補正手段３１は、アイドル検出回路４１と１時スキュー補正回路４２とを備えている。また、２次スキュー補正手段３２は、ディレイ調整回路４３とスキュー監視回路４４とを備えている。
１次スキュー補正手段３１内のアイドル検出回路４１は、データ伝送中ではないアイドル時を検出する。１次スキュー補正回路４２はアイドル信号を受信中に、バイト同期信号を生成し、各チャネル間のバイト同期信号の位相差を監視する。アイドル信号は、１次スキュー補正のためのエッジと同期獲得パターンとを含む。この同期獲得パターンであるアイドルパターンを転送中は、１次スキュー補正回路４２によりスキュー補正を行う。
【００２０】
アイドル時を自動的に検出することに代えて、オペレータが定期的に１次スキュー補正をするようにしてもよい。
２次スキュー補正手段３２内のディレイ調整回路４３は、データ転送の開始時にデータ０〜データｎの間の位相のずれをなくするように受信データの位相を調整する。
【００２１】
受信データの位相がゼロになった後に、スキュー監視回路４４は、データ０〜データｎの各バイトの先頭ビットに付加された付加ビット（付加情報）を監視して、その付加ビットの位相が１ビット以上ずれた場合に、ディレイ調整回路４３にそのずれを伝達し、ディレイ調整回路４３はそのずれに応じて受信データの位相を再びゼロにするように調整する。
【００２２】
こうして、データ転送中でも、スキュー補正が可能になる。
図５は本発明の一実施例によるデータ伝送システムの概略ブロック図である。同図において、送信部５１は、データ０〜データ３のそれぞれの８ビットのパラレルデータに付加ビットＡと奇数パリティビットを追加して１０ビットのデータに変換する４つのビット追加回路５１１と、４つのパラレル／シリアル変換器５１２と、４つの電気／光変換器５１３と、４つのバイトクロック信号をパラレル／シリアル変換器５１２に与えるクロックゲート５１４とを備えている。
【００２３】
ビット追加回路５１１の各々においては、送信データの各バイト（８ビット）の先頭にスキュー補正用の付加ビットを付加し、各バイトの送信データの最後に奇数パリティビットを付加する。
受信部５２は、４つの光／電気変換器５２１と、１つのデスキュー回路５２２とを備えている。
【００２４】
図６は図５に示した５２２のデスキュー回路５２２の中の１次スキュー補正回路４２一実施例を示す回路図である。同図において、１次スキュー補正回路４２は、受信シリアルデータであるデータ０〜データ３から最遅延信号を選択する最遅延セレクト回路６０と、受信データを可変遅延させる第１の可変遅延回路６１０〜６１３と、位相比較及び電圧変換器６２０〜６２３と、ディジタル変換器６３０〜６３３と、アンドゲート６４とを備えている。
【００２５】
図７は図５に示したデスキュー回路５２２の中の図３に示した２次スキュー補正手段３２の一実施例を示す回路図である。同図において、２次スキュー補正手段３２は、図６に示した第１の可変遅延回路６１０〜６１３の出力を受け取る４つの第２の可変遅延回路（遅延調整回路）６５１〜６５３と、１つのクロックリカバリ回路６６と、４つの付加情報チェック回路６７０〜６７３と、アンドゲート６８と、アラーム信号を形成する論理回路６９とを備えている。
【００２６】
クロックリカバリ回路６６は、第１の可変遅延回路６１０から出力される基準シリアルデータＤＡＴＡ０のビットを識別するビットクロック（ｂ  ＣＬ）と、基準シリアルデータＤＡＴＡ０のバイトを識別するバイトクロック（Ｂ  ＣＬ）と、基準シリアルデータＤＡＴＡ０に含まれる付加情報に対応するタイミング幅の範囲内でバイトクロックより遅れて変化するアーリィクロック（Ｅ  ＣＬ）と、基準シリアルデータＤＡＴＡ０に含まれる付加情報に対応するタイミング幅の範囲内でアーリィクロックより遅れて変化するディレイクロック（Ｄ  ＣＬ）とを抽出する。
【００２７】
付加情報チェック回路６７１〜６７３の各々は、第１の可変遅延回路６１１〜６１３から出力される基準チャネル以外のチャネルを介して受信されるシリアルデータＤＡＴＡ１〜ＤＡＴＡ３に含まれる付加ビットに対応するタイミング幅内にアーリィクロック（Ｅ  ＣＬ）の変化時とディレイクロック（Ｄ  ＣＬ）の変化時が含まれるかどうかを判定する。
【００２８】
第２の可変遅延回路６５１〜６５３は、第１の可変遅延回路６１１〜６１３から出力される基準チャネル以外のチャネルを介して受信されるシリアルデータＤＡＴＡ１〜ＤＡＴＡ３に含まれる付加ビットの受信タイミング幅内にアーリィクロックの変化時とディレイクロックの変化時の少なくとも１つが含まれないと判定されたときに、スキュー量をゼロにするように対応するチャネルのシリアルデータの遅延量を補正する。
【００２９】
図８は図７における付加情報チェック回路６７１の詳細を示すブロック図である。同図において、付加情報チェック回路６７１は、第１のラッチ回路７１と、第１の判定回路７２と、第２のラッチ回路７３と、第２の判定回路７４とを備えている。
第１のラッチ回路７１は、アーリィクロック（Ｅ  ＣＬ）の変化時に、シリアルデータが“１”であればハイレベル（第１の状態）となり、シリアルデータが“０”であればローレベル（第１の状態とは異なる第２の状態）となる第１のラッチ信号を出力する。
【００３０】
第２のラッチ回路７３は、ディレイクロック（Ｄ  ＣＬ）の変化時に、シリアルデータが“１”であればハイレベルとなり、シリアルデータが“０”であればローレベルとなる第２のラッチ信号を出力する。
第１の判定回路７２は、第１のラッチ回路７１の出力が所定バイト数にわたって“１”と“０”の交代パターンから外れているかどうかを判定する。
【００３１】
第２の判定回路７４は、第２のラッチ回路７３の出力が所定バイト数にわたって“１”と“０”の交代パターンから外れているかどうかを判定する。
図９は図７におけるＤＡＴＡ２に対応する付加情報チェック回路６７２の詳細を示すブロック図であり、その構成はＤＡＴＡ１に対応する付加情報チェック回路６７１と同じであるので説明を省略する。
【００３２】
図１０は図６〜図９の回路の動作を説明するタイムチャートである。図において、（ａ）は受信データである。前述のように、送信側からは、送信データの各バイトの先頭に付加ビットＡが付加され、各バイトの終わりに奇数パリティビットが付加されたデータが送信されるので、受信データの１バイトは１０ビットである。
【００３３】
最初にアイドル時の動作を説明する。
実際のデータ転送時ではないアイドル時の送信データ（アイドルパターン）をオール１とし、付加ビットを“Ａ”の記号で表す。また、時間軸上のバイト間に“｜”の記号で区切ると、アイドル時の送信シリアルデータは次のようになる。
Ａ１１１１１１１１１  ｜  Ａ１１１１１１１１１  ｜  Ａ１１１１１１１１１  ｜  ・・・
付加ビットＡは、時間軸上のバイト毎に０と１が交互に反転するようにする。これにより、伝送データ中に同符号ビットが連続することを抑制できるので、受信回路の負荷を低減できる。実際のアイドル時の送信シリアルデータは次のようになる。
【００３４】
１１１１１１１１１１  ｜  ０１１１１１１１１１  ｜  １１１１１１１１１１  ｜  ・・・
アイドル時には、受信部では２０ビットに一回０となるシリアル信号を受信することになり、この０の位置が最も遅れて到着する伝送チャネル（以降最遅延チャネルと呼び）を選ぶ。最遅延チャネルを見つけだす方法は既に知られており、例えば、特開平１１−２９８４５７号公報「パラレル光送信／光受信モジュール」（米国特許出願第１２９，４０７号の"PARALLEL OPTICAL TRANSMISSION/RECEPTION MODULE"）に開示されている。
【００３５】
アイドル時には、各伝送チャネル毎に受信したビット列中の０の位置と最遅延チャネルの０の位置が一致するように、可変遅延回路６１０〜６１３における遅延値が設定される。具体的には、可変遅延回路６１０〜６１３が出力する信号中の付加ビットＡの０位置と最遅延チャネルの信号中のビットＡの０位置との時間ずれ（位相差）が検出されてその位相差が電圧差に変換され、その電圧差はそれぞれ可変遅延回路６１０〜６１３に与えられる。この電圧差が大きければ大きいほど、遅延値は大きい。最遅延信号と当該チャネルとの付加ビットＡの位置が一致したときは、対応する位相比較及び電圧変換回路６２０〜６２３の１つの出力が最低値となる。ディジタル変換回路６３０〜６３３はそれぞれ、位相比較及び電圧変換回路６２０〜６２３のそれぞれの出力が最低値になったことを検出し、その時のみハイレベルを出力する。ディジタル変換器６３０〜６３３のすべての出力がハイレベルになった時が、アイドル時における伝送チャネル間のスキュー調整が完了した時である。スキュー調整が完了した時の遅延値が可変遅延回路６１０〜６１３において固定される。
【００３６】
次にアイドル時及びデータ転送中における可変遅延回路６５１〜６５３の動作を説明する。
図７に示した装置では、ＤＡＴＡ０のチャネルを基準チャネルとしているが、基準チャネルはどのチャネルでもよい。
基準チャネルのデータＤＡＴＡ０のラインにはクロックリカバリ回路（ＣＲ）６６が備えられおり、このクロックリカバリ回路６６は受信データから図１０の（ｂ）に示すビットクロック（ｂ  ＣＬ）と図１０の（ｃ）に示すバイトクロック（Ｂ  ＣＬ）とを抽出する。ビットクロックはシリアルデータの１ビットをたたくクロックであり、バイトクロックは付加ビットＡをたたくクロックであって、時間軸上のバイトを認識するために用いられる。
【００３７】
クロックリカバリ回路６６はまた、本来のバイトクロックよりも位相が若干遅いアーリィクロックＥ  ＣＬ（図１０の（ｄ））と、そのアーリィクロックよりも位相が若干遅いディレイクロックＤ  ＣＬ（図１０の（ｅ））とを生成する。ここでいう若干とは、シリアルデータの１ビットの幅の１／６程度とする。
この２つのバイトクロック（アーリィクロックとディレイクロック）とビットクロックとはすべてのチャネルの付加情報チェック回路６７０〜６７３に供給される。
【００３８】
前述のようにして可変遅延回路６１０〜６１３におけるディレイ調整が完了しているので、アイドル時の直後のデータ転送時では全チャネルの位相は揃っておりスキューはない。したがって、付加ビットＡの位相は全チャネルで揃っており、ビットクロックとアーリィクロックとディレイクロックは全てのチャネルに共通に使用可能である。
【００３９】
基準チャネル以外のチャネルのデータＤＡＴＡ１〜ＤＡＴＡ３に対応する付加情報チェック回路６７１〜６７３は、アーリィクロックとディレイクロックの２つの信号で対応するシリアルデータに含まれる付加ビットＡを常時読み取り、その結果を２ビットのディジタル信号として出力し可変遅延回路６５１〜６５３にそれぞれ与える。
【００４０】
アーリィクロックの立ち上がり時にＤＡＴＡ１のシリアルデータのビットが“１”であれば、第１のラッチ回路７１の出力は１バイト分の時間はハイレベルとなる。アーリィクロックの立ち上がり時にシリアルデータのビットが“０”であれば、第１のラッチ回路７１の出力は１バイト分の時間はローレベルとなる。
同様に、ディレイクロックの立ち上がり時にＤＡＴＡ１のシリアルデータのビットが“１”であれば、第２のラッチ回路７３の出力は１バイト分の時間はハイレベルとなる。ディレイクロックの立ち上がり時にシリアルデータのビットが“０”であれば、第２のラッチ回路７３の出力は１バイト分の時間はローレベルとなる。
【００４１】
ＤＡＴＡ２及びＤＡＴＡ３のチャネルにおいても、同様の動作をする。
図１０において、時刻ｔ１でアーリィクロックが立ち上がっている。この時、ＤＡＴＡ１のビットは付加ビットＡの“１”なので、（ｇ）に示すように図８に示す第１のラッチ回路７１の出力であるラッチ結果はハイレベルになっている。また、時刻ｔ２ではディレイクロックが立ち上がっており、この時のＤＡＴＡ１のビットも付加ビットＡの“１”なので、（ｈ）に示すように第２のラッチ回路７３の出力もハイレベルになっている。
【００４２】
次に時刻ｔ３でも、アーリィクロックが立ち上がっている。この時、ＤＡＴＡ１のビットは付加ビットＡの“０”なので、（ｇ）に示すように第１のラッチ回路７１の出力であるラッチ結果はローレベルになっている。また、時刻ｔ４ではディレイクロックが立ち上がっており、この時のビットも付加ビットＡの“０”なので、（ｈ）に示すように第２のラッチ回路７３の出力もローレベルになっている。
【００４３】
こうして、第１のラッチ回路７１の出力には（ｉ）に示すように“１”と“０”とがバイト毎に交代する信号が得られている。また、第２のラッチ回路７３の出力にも（ｊ）に示すように“１”と“０”とがバイト毎に交代する信号が得られている。
第１の判定回路７２は、（ｇ）に示される信号を（ｉ）に示される信号に変換してＤＡＴＡ１のチェック信号とする。（ｉ）に示される信号は、（ｇ）に示される信号を、例えば基準チャネルのバイトクロック等の所定のタイミングに合わせてシフトしたチェック信号である。そして、第１の判定回路７２は、このチェック信号が所定バイト数の間“０”と“１”を交互に繰り返すかどうかを判定する。チェック信号が所定バイト数の間“０”と“１”を交互に繰り返せば、ＤＡＴＡ１に含まれる付加ビットＡが許容範囲内に存在しているので、第１の判定回路７２はＤＡＴＡ１が基準チャネルに対して早くなっていないと判定して、“１”を出力する。チェック信号が所定バイト数の間“０”と“１”を交互に繰り返さなければ、付加ビットＡは許容範囲内に存在していないので、判定回路７２はＤＡＴＡ１が基準チャネルに対して早くなっていると判定して“０”を出力する。図１０の例では、（ｉ）に示されるチェック信号は所定バイト数の間“０”と“１”を交互に繰り返しているので、第１の判定回路７２は“１”を出力する。この場合はＤＡＴＡ１は基準チャネルに対して早くなっていないと判定される。
【００４４】
同様にして第２の判定回路７４は、（ｈ）に示される信号を（ｊ）に示される信号に変換してＤＡＴＡ１のチェック信号とする。（ｊ）に示される信号は、（ｈ）に示される信号を、例えば基準チャネルのバイトクロック等の所定のタイミングに合わせてシフトしたチェック信号である。そして、第２の判定回路７４は、このチェック信号が所定バイト数の間“０”と“１”を交互に繰り返すかどうかを判定する。チェック信号が所定バイト数の間“０”と“１”を交互に繰り返せば、ＤＡＴＡ１に含まれる付加ビットＡが許容範囲内に存在しているので、第２の判定回路７４はＤＡＴＡ１が基準チャネルに対して遅くなっていないと判定して、“１”を出力する。チェック信号が所定バイト数の間“０”と“１”を交互に繰り返さなければ、付加ビットＡは許容範囲内に存在していないので、判定回路７４はＤＡＴＡ１が基準チャネルに対して遅くなっていると判定して“０”を出力する。図１０の例では、（ｊ）に示されるチェック信号は所定バイト数の間“０”と“１”を交互に繰り返しているので、第２の判定回路７４も“１”を出力する。この場合はＤＡＴＡ１は基準チャネルに対して遅くなっていないと判定される。
【００４５】
結論的には、ＤＡＴＡ１は基準チャネルに対して早くも遅くもなっていない。ＤＡＴＡ２について同様の考察をする。時刻ｔ１でのアーリィクロックが立ち上がり時には、ＤＡＴＡ２のビットはビット９であり、（ｌ）に示すように図９に示す第１のラッチ回路８１の出力であるラッチ結果はビット９をラッチした結果となっている。この時のビット９の値が“１”ならばラッチ結果は“１”であり、ビット９の値が“０”ならばラッチ結果は“０”である。このようにビット９の値に依存しているので、図１０の（ｌ）においてはラッチ結果は不定を表す点線で示してある。
【００４６】
また、時刻ｔ２のディレイクロックの立ち上がり時には、ＤＡＴＡ２のビットは付加ビットＡの“１”なので、（ｍ）に示すように第２のラッチ回路８３の出力はハイレベルになっている。
次に時刻ｔ３でのアーリィクロックの立ち上がり時には、ＤＡＴＡ２のビットはやはりビット９なので、（ｌ）に示すように第１のラッチ回路８１の出力であるラッチ結果はやはり不定である。
【００４７】
また、時刻ｔ４ではディレイクロックが立ち上がっており、この時のビットは付加ビットＡの“０”なので、（ｍ）に示すようにラッチ結果はローレベルになっている。
こうして、第２のラッチ回路８１の出力には（ｎ）に示すようにビット９の値に対応する不定レベルの信号が出力され、第２のラッチ回路８３の出力には（ｏ）に示すように“１”と“０”とがバイト毎に交代する信号が得られている。
【００４８】
第１の判定回路８２は、（ｌ）に示される信号を（ｎ）に示される信号に変換してＤＡＴＡ２のＡビットチェック信号０とする。（ｎ）に示される信号は、（ｌ）に示される信号を、例えば基準チャネルのバイトクロック等の所定のタイミングに合わせてシフトしたチェック信号である。そして、第１の判定回路８２は、このＡビットチェック信号０が所定バイト数の間“０”と“１”を交互に繰り返していないのでＤＡＴＡ２が基準チャネルのデータＤＡＴＡ０に対して早くなっていると判定して、“０”を出力する。
【００４９】
第２の判定回路８４は、（ｍ）に示される信号を（ｏ）に示される信号に変換してＤＡＴＡ２のＡビットチェック信号１とする。（ｏ）に示される信号は、（ｍ）に示される信号を、例えば基準チャネルのバイトクロック等の所定のタイミングに合わせてシフトしたチェック信号である。そして、第２の判定回路８４は、このチェック信号が所定バイト数の間“０”と“１”を交互に繰り返しているのでＤＡＴＡ２が基準チャネルに対して遅れていないと判定して、“１”を出力する。
【００５０】
ＤＡＴＡ３についても同様の動作をする。
そして、ＤＡＴＡ１〜ＤＡＴＡ３のチャネルに対応する可変遅延回路６５１〜６５３はそれぞれ、付加ビットＡのチェックの結果として、第１の判定回路から“１”を受け取り第２の判定回路から“０”を受け取った場合は、そのデータは基準データから遅れているのでそのデータの遅延量を少なくするように作用する。また、付加ビットＡのチェックの結果として、第１の判定回路から“０”を受け取り第２の判定回路から“１”を受け取った場合は、そのデータは基準データより進んでいるのでそのデータの遅延量を大きくするように作用する。その結果、付加情報チェック回路６７１〜６７３がそれぞれ出力する２ビットのチェック結果がすべて“１”になるように、可変遅延回路６５１〜６５３が制御される。
【００５１】
このようにして、データ伝送中にスキューが発生した場合は、可変遅延回路６５１〜６５３の中でそのスキューが発生したチャネルに対応する可変遅延回路の遅延値を上記の手順により微調整することによりスキューは補正される。
アンドゲート６８は、付加情報チェック回路６７１〜６７３の出力信号がすべて“１”のとき、即ち、スキューがないときに“１”を出力する。また、論理回路６９は、付加情報チェック回路６７１〜６７３の出力信号の内の例えば少なくとも２つの２ビット出力がすべて“０”となるとアラーム信号“１”を出力する。これにより、可変遅延回路の遅延値の微調整がきかなくなる程にスキューが大きくなったときを検出することができる。
【００５２】
図１１は図３に示した２次スキュー補正手段３２の他の実施例を示す回路図である。図７の回路と図１１の回路との主たる相違点は、図７の回路ではアーリィクロックとディレイクロックを用いて付加ビットＡを常時監視していたのにたいし、図１１の回路ではアイドル信号受信中に全チャネルのバイト同期信号を生成し、各チャネル間のバイト同期信号の位相差を監視するようにしたことである。
【００５３】
バイト同期信号の位相差を監視するために、図１１の回路は、図６の可変遅延回路６１０〜６１３の出力を受ける４つの可変遅延回路１０１〜１０３と、４つのクロックリカバリ回路１１０〜１１３と、４つのシリアル／パラレル変換回路１２０〜１２３と、３つの位相比較及び電圧変換回路１３１〜１３３と、３つのディジタル変換回路１４４〜１４３と、アンドゲート１５と、アラーム検出用論理回路１６とを備えている。
【００５４】
図１２は図１１の回路の動作を説明するタイムチャートである。図において、（ａ）は図１０の（ａ）と同じ受信データである。
次に可変遅延回路１０１〜１０３の動作を説明する。
図１１に示した装置でも、ＤＡＴＡ０のチャネルを基本チャネルとしている。
ＤＡＴＡ０のラインにはクロックリカバリ回路（ＣＲ）１１０が備えられおり、このクロックリカバリ回路１１０から図１２の（ａ）に示すシリアルデータと、（ｂ）に示すビットクロック（ｂ  ＣＬ）と、（ｃ）に示すバイトクロック（Ｂ  ＣＬ）とが出力される。
【００５５】
ＤＡＴＡ１〜ＤＡＴＡ３のラインでは可変遅延回路１０１〜１０３のそれぞれにクロックリカバリ回路１１１〜１１３が接続されており、それぞれのクロックリカバリ回路からは対応する受信データのシリアルデータとビットクロックとバイトクロックとが出力される。即ち、図１２の（ｄ）はＤＡＴＡ１のシリアルデータを示し、（ｅ）はそのシリアルデータから抽出されたビットクロックを示し、（ｆ）はそのシリアルデータから抽出されたバイトクロックを示している。また、図１２の（ｈ）はＤＡＴＡ２のシリアルデータを示し、（ｉ）はそのシリアルデータから抽出されたビットクロックを示し、（ｊ）はそのシリアルデータから抽出されたバイトクロックを示している。
【００５６】
クロックリカバリ回路１１０〜１１３から出力されたシリアルデータと、ビットクロックと、バイトクロックとは、それぞれ、シリアル／パラレル変換器１２０〜１２３に入力されてバイトクロックＢ  ＣＬと出力データＤＡＴＡ０〜ＤＡＴＡ３が出力される。
位相比較及び電圧変換回路１３１は、ＤＡＴＡ０のバイトクロックとＤＡＴＡ１のバイトクロックとの位相差を電圧に変換してその電圧を可変遅延回路１０１に与える。同様に、位相比較及び電圧変換回路１３２は、ＤＡＴＡ０のバイトクロックとＤＡＴＡ２のバイトクロックとの位相差を電圧に変換してその電圧を可変遅延回路１０２に与え、位相比較及び電圧変換回路１３３は、ＤＡＴＡ０のバイトクロックとＤＡＴＡ３のバイトクロックとの位相差を電圧に変換してその電圧を可変遅延回路１０３に与える。ディジタル変換器１４１〜１４３はそれぞれ、位相比較及び電圧変換回路１３１〜１３３の出力が最低値になったことを検出し、その時のみハイレベルを出力する。
【００５７】
図１２の（ｇ）はＤＡＴＡ０に対応するシリアル／パラレル変換回路１２０から出力される（ｃ）に示すバイトクロックの位相と、ＤＡＴＡ１に対応するシリアル／パラレル変換回路１２１から出力される（ｆ）に示すバイトクロックの位相との比較結果である排他的論理和（ＥＸＯＲ）を示す。この場合は、ＤＡＴＡ１のバイトクロックがＤＡＴＡ０のバイトクロックより若干早くなっていることを示している。
【００５８】
また、図１２の（ｋ）はＤＡＴＡ０に対応するシリアル／パラレル変換回路１２０から出力される（ｃ）に示すバイトクロックの位相と、ＤＡＴＡ２に対応するシリアル／パラレル変換回路１２２から出力される（ｊ）に示すバイトクロックの位相との比較結果である排他的論理和（ＥＸＯＲ）を示す。この場合は、ＤＡＴＡ２のバイトクロックがＤＡＴＡ０のバイトクロックより若干遅れていることを示している。
【００５９】
ＤＡＴＡ１〜ＤＡＴＡ３のチャネルに対応する可変遅延回路１０１〜１０３はそれぞれ、位相比較及び電圧変換回路１３１〜１３３からの位相差の対応した電圧を受け取ると、その位相差を減少させるべく遅延値を決定する。
このようにして、ディジタル変換回路１４１〜１４３の出力がすべて“１”となるようにする。
【００６０】
可変遅延回路６１０〜６１３と可変遅延回路１０１〜１０３における遅延量の調整が完了した時点で、送信部５１と受信部５２（図５参照）との間でデータ転送を開始する。位相比較及び電圧変換回路１３１〜１３３は常時ＤＡＴＡ０のバイトクロックと当該データチャネルのバイトクロックとの位相差を検出し、出力し続ける。新たなスキューの発生がない限り、ディジタル変換回路１４１〜１４３の各々は“１”を出力し続ける。スキューが発生した場合は、可変遅延回路１０１〜１０３の中でそのスキューが発生したチャネルに対応する可変遅延回路の遅延値を上記の手順により微調整することによりスキューは補正される。
【００６１】
アンドゲート１５は、ディジタル変換回路１４１〜１４３の出力信号がすべて“１”のとき、即ち、スキューがないときに“１”を出力する。また、論理回路９１は、ディジタル変換回路１４１〜１４３の出力信号の内の少なくとも２つが“０”となるとアラーム信号“１”を出力する。これにより、可変遅延回路の遅延値の微調整がきかなくなる程にスキューが大きくなったときを検出することができる。
【００６２】
【発明の効果】
以上の説明から明らかなように、本発明によれば、転送データに付加ビットを追加するだけで、データ転送中であってもスキューが常時自動補正される。
また、受信回路にアイドルパターン検出回路を設けたことにより、オペレータのデスキュー作業は不要となる。
【００６３】
さらに、高速伝送系の場合、伝送品質向上のため、コード変換（例えば、４Ｂ４Ｂ変換や８Ｂ１０Ｂ変換）が採用されるのが一般的であるが、バイト毎に“１”と“０”とを繰り返す付加情報を転送データの各バイトの先頭に付加したことにより、転送データの符号デューティのアンバランス性を解消できるので、データ転送効率を落とすコード変換が不要になる。
【図面の簡単な説明】
【図１】従来の最も基本的なパラレルデータ伝送システムを示すブロック図である。
【図２】従来のシリアルバンドルパラレルデータ伝送システムのブロック図である。
【図３】本発明によるスキュー補正回路の概略ブロック図である。
【図４】図３に示したスキュー補正回路を詳細に示すブロック図である。
【図５】本発明の一実施例によるデータ伝送システムの概略ブロック図である。
【図６】本発明による１次スキュー補正回路の一実施例を示す回路図である。
【図７】本発明による２次スキュー補正手段の一実施例を示す回路図である。
【図８】図７における付加情報チェック回路６７１の詳細を示すブロック図である。
【図９】図７における付加情報チェック回路６７２の詳細を示すブロック図である。
【図１０】図６の回路の動作を説明するタイムチャートである。
【図１１】本発明による２次スキュー補正手段の他の実施例を示す回路図である。
【図１２】図１０の回路の動作を説明するタイムチャートである。
【符号の説明】
３１…１次スキュー補正手段
３２…２次スキュー補正手段
４１…アイドル検出回路
４２…１次スキュー補正回路
４３…ディレイ調整回路
４４…スキュー監視回路
５２２…デスキュー回路
６０…最遅延信号セレクト回路
６１０〜６１３…可変遅延回路
６６…クロックリカバリ回路
６７０〜６７３…付加情報チェック回路
６５１〜６５３…可変遅延回路
７１…第１のラッチ回路
７２…第１の判定回路
７３…第２のラッチ回路
７４…第２の判定回路
１１０…基準チャネルクロックリカバリ回路
１１１〜１１３…通常チャネルクロックリカバリ回路
１３１〜１３３…位相比較及び電圧変換回路
１４１〜１４３…ディジタル変換回路
Ａ…付加ビット
Ｂ  ＣＬ…バイトクロック
ｂ  ＣＬ…ビットクロック
Ｅ  ＣＬ…アーリィクロック
Ｄ  ＣＬ…ディレイクロック
【図１】
0003758953.tif 000002
【図２】
0003758953.tif 000003
【図３】
0003758953.tif 000004
【図４】
0003758953.tif 000005
【図５】
0003758953.tif 000006
【図６】
0003758953.tif 000007
【図７】
0003758953.tif 000008
【図８】
0003758953.tif 000009
【図９】
0003758953.tif 000010
【図１０】
0003758953.tif 000011
【図１１】
0003758953.tif 000012
【図１２】
0003758953.tif 000013