(57)【要約】ディジタル・システムのネットワークを相互接続する通信システムを提供する。通信システムの各ノードに、トランシーバおよびエンコーダ／デコーダを含めることができる。エンコーダは、ＤＣ適応エンコード機構に基づいて、着信データ・ストリームをコーディングし、エンコードされたデータ・ストリームを通信リンクを介して転送する。エンコードされたデータ・ストリームは、通信リンクの受信器端の検出器構成要素をゆがめるＤＣ値が実質的にない。さらに、エンコードされた信号は、着信ビット・ストリームを超えずに転送される。エンコードは、エンコードされるビット・ストリームの前のクロック・サイクルのｄｉｇｉｔａｌ  ｓｕｍ  ｖａｌｕｅ（ＤＳＶｎ−１）と、現在のクロック・サイクルｎならびに後続クロック・サイクルｎ＋１中の着信ビット・ストリームの論理値に依存して行われる。通常エンコードまたはマルチプル−１・エンコードによるエンコードは、これらの値に依存する。コーディング違反を、プリアンブル内で使用して、デコーダを同期化し、送信エラーを検出し、受信器内の位相ロック・ループをすばやくロックすることができる。
2004519134.tif 000002
【特許請求の範囲】
【請求項１】
論理ハイ電圧値がｎ＋１クロック・サイクル中に発生し、かつ
すべてのエンコードされた論理ハイ電圧値および論理ロウ電圧値のｄｃ電圧値の合計が、ｎクロック・サイクルの前に論理ハイ電圧値または論理ロウ電圧値のいずれかに向かってスキューしている場合に、ｎクロック・サイクルの始め近くに推移を作ることによって、ｎクロック・サイクル中に発生する論理ハイ電圧値をエンコードするように適合されたエンコーダ。
【請求項２】
ｄｃ電圧値の前記合計が、論理ハイ電圧値と論理ロウ電圧値との間の中間電圧値からスキューしている請求項１に記載のエンコーダ。
【請求項３】
ｄｃ電圧値の前記合計が、論理ハイ電圧値または論理ロウ電圧値のいずれかの近くにスキューしている請求項１に記載のエンコーダ。
【請求項４】
ｎクロック・サイクルが、エンコーダに提示される論理ハイ電圧値および論理ロウ電圧値の着信ストリームの最大周波数を定義する、複数の等しい持続時間クロッキング・サイクル内の１クロック・サイクルである請求項１に記載のエンコーダ。
【請求項５】
エンコードされた論理ハイ電圧値および論理ロウ電圧値の最大推移速度が、論理ハイ電圧値および論理ロウ電圧値の着信ストリームの前記最大周波数を超えない請求項４に記載のエンコーダ。
【請求項６】
論理ハイ電圧値が、ｎ＋１クロック・サイクル中に発生し、ｄｃ電圧値の合計が、ｎクロック・サイクルの前にスキューしていない場合に、エンコーダが、ｎクロック・サイクルの中央付近に推移を作るように適合される請求項１に記載のエンコーダ。
【請求項７】
論理ハイ電圧値が、ｎ＋１クロック・サイクル中に発生し、かつ、
すべてのエンコードされた論理ハイ電圧値および論理ロウ電圧値のｄｃ電圧値の合計が、ｎクロック・サイクルの前にスキューしている場合に、ｎクロック・サイクルの中央付近で作られる誤った送信が、コーディング違反を知らせる請求項１に記載のエンコーダ。
【請求項８】
コーディング違反を識別し、論理ハイ電圧値および論理ロウ電圧値のエンコードされたシーケンスの始めを知らせるデコーダをさらに含む請求項７に記載のエンコーダ。
【請求項９】
コーディング違反が、中央推移とそれに続く始め推移とを有するプリアンブル内に含まれる請求項８に記載のエンコーダ。
【請求項１０】
クロック・サイクルｎの始めに発生する、推移がないかクロック・サイクルｎ＋１中に発生するかに応じて異なる推移をデコードするように適合されたデコーダであって、クロック・サイクルｎ＋１中に発生する推移が、前記ｎ＋１クロック・サイクルの始めまたは中央のいずれかで発生することができる、デコーダ。
【請求項１１】
クロック・サイクルｎ＋１中に発生する推移がない場合に、論理ハイ・ビット値がデコードされる請求項１０に記載のデコーダ。
【請求項１２】
クロック・サイクルｎ＋１中に発生する推移が、前記ｎ＋１クロック・サイクルの始めまたは中央のいずれかに存在する場合に、論理ロウ・ビット値がデコードされる請求項１０に記載のデコーダ。
【請求項１３】
第１プリアンブルと第２プリアンブルとの間の時間に入れられるデータのエンコードされたビット・ストリームを作るように結合されたエンコーダであって、前記第１プリアンブルが、第１ｄｃ電圧値を用いてエンコードされ、第２プリアンブルが、第２ｄｃ電圧値を用いてエンコードされる、エンコーダと、
伝送回線と、
伝送回線を介してエンコーダから転送される第１プリアンブルおよび第２プリアンブルを受け取り、伝送回線を介するデータのエンコードされたビット・ストリームの送信中にエラーが発生したかどうかを判定するために第１ｄｃ電圧値を第２ｄｃ電圧値と比較するように結合されたデコーダと
を含む通信システム。
【請求項１４】
第１ｄｃ電圧値と第２ｄｃ電圧値との合計が、論理ハイ電圧値と論理ロウ電圧値との間の中間電圧からスキューしているかどうかを判定する加算器をさらに含む請求項１３に記載の通信システム。
【請求項１５】
データの前記エンコードされたビット・ストリームが、データのエンコードされたビット・ストリームの送信中にエラーが発生しない限り、中間電圧の事前に定義された電圧範囲以内にとどまる累積ｄｃ電圧値を含む請求項１４に記載の通信システム。
【請求項１６】
累積ｄｃ電圧値が、デコーダ内の光検出器の抵抗−コンデンサ時定数より短い持続時間の間だけ中間電圧から逸脱する請求項１３に記載の通信システム。
【請求項１７】
論理ロウ電圧値および論理ハイ電圧値のビット・ストリームをエンコードする方法であって、
ｎクロック・サイクルの前のすべてのエンコードされた論理ロウ電圧値および論理ハイ電圧値のｄｃ電圧値の合計を計算することと、
ｎクロック・サイクル中およびｎ＋１クロック・サイクル中のビット・ストリーム内の論理ハイ電圧値を検出し、
前記計算および検出の後に、ｄｃ電圧値の計算された合計が、論理ハイ電圧値または論理ロウ電圧値のいずれかに向かってスキューしている場合に、エンコードされたビット・ストリーム内のｎクロック・サイクルの始め付近に推移を作ることと
を含む方法。
【請求項１８】
前記計算が、ｄｃ電圧値の移動合計を記憶することを含む請求項１７に記載の方法。
【請求項１９】
前記エンコードされたビット・ストリーム内に推移を作ることが、ｎクロック・サイクルの終りよりｎクロック・サイクルの始めの近くで行われる請求項１７に記載の方法。
【請求項２０】
前記エンコードされたビット・ストリーム内に推移を作ることが、実質的にｎクロック・サイクルの始めに行われる請求項１７に記載の方法。
【請求項２１】
ｄｃ電圧値の計算された合計が、論理ハイ電圧値または論理ロウ電圧値のいずれかに向かってスキューしている場合に、エンコードされたビット・ストリーム内のｎクロック・サイクルの中央付近に誤った推移を作ることをさらに含み、誤った推移が、デコーダが識別できそれに同期できるコーディング違反を知らせる請求項１７に記載の方法。
【請求項２２】
コーディング違反が、中央の推移およびそれに続く始めの推移を有するプリアンブル内に含まれる請求項２１に記載の方法。
【発明の詳細な説明】
【０００１】
（発明の背景）
１．発明の分野
本発明は、相互接続されたトランシーバ、エンコーダ、およびデコーダのネットワークを含む通信システムに関する。エンコーダは、ソース・データと同一の速度でエンコードされ、経時的にＤＣ蓄積がないビット・ストリームを作ることができる。エンコードされたビット・ストリームを、デコーダの同期化だけではなく送信エラーの検出にも使用されるコーディング違反を有するプリアンブルでパケットまたはフレームの中にラップすることができる。
【０００２】
２．従来の技術の説明
通信システムは、一般に、通信回線によって相互接続された少なくとも２つのノードを含むことが周知である。各ノードに、一般に「トランシーバ」と称する、送信器と受信器の両方を含めることができる。トランシーバは、通信回線を介して送信される信号と、ディジタル領域でその信号を操作するディジタル・システムの間のインターフェースを備えている。
【０００３】
図１に、通信システムまたはネットワーク１２を形成するために１つまたは複数の通信回線に相互接続されたノード１０の組を示す。ネットワークの地形またはバックボーンは、その応用例に応じて変化する可能性がある。ネットワークを介して送信される信号に、命令および／またはデータが含まれ、このデータは、オーディオ・データ、ビデオ・データ、またはその両方とすることができ、したがって、このネットワークを、マルチメディア・ネットワークとみることができる。マルチメディア信号の転送速度は、一般に、非常に高く、比較的高速の通信回線を必要とする可能性があり、適切な回線は、たとえば、光ファイバである。
【０００４】
光ファイバが使用される場合に、トランシーバの受信器部分は、光エネルギーを電気信号に変換する。図２に、通信回線１６によって別のトランシーバの受信器部分１８にリンクされた、トランシーバの送信器部分１４を示す。送信器１４には、電気信号を、通信回線１６に沿って転送される光学エネルギーまたは光エネルギーに変換する発光ダイオード（「ＬＥＤ」）２０が含まれる。送信器１４から離れているノードの受信器１８には、光センサ２２が含まれる。
【０００５】
ＬＥＤ２０の負荷容量が、増幅器２４からのかなりの量の駆動電流を必要とする場合がある。ビット速度が高くなるほど、より多くの電流をＬＥＤ２０に駆動する必要がある。同様に、送信ビット速度が高くなるほど、送信器１４および受信器１８の両方での電磁（「ＥＭ」）放射が大きくなる。
【０００６】
通信回線１６を介して送信されるデータは、一般に、エンコードされ、パケットまたはフレームの中に置かれる。高いビット速度でデータを転送する必要があるが、そのデータをエンコードするのに必要なオーバヘッドを、実質的に最小にすることが重要である。言い換えると、エンコードによって、転送されるデータに不要な推移が追加される場合に、ＬＥＤ２０をよりすばやく推移させるために、許容されないほどに大きい駆動電流が必要になる。ＬＥＤ２０が推移できる速度は、送信器１４内の構成要素の容量によって制限され、送信器１４によって放射されるＥＭによっても制限される。
【０００７】
図３に、ソース・データの着信ビット・ストリームと、ソース・データの結果のエンコードを示す。エンコードは、バイフェーズ・コードまたはミラー・コードのいずれかに従って図示され、この両方は、かなり一般的なコーディング機構である。ソース・データ最大送信速度（最小ソース・データ・サイクルと定義される）が、２クロック・サイクルに制限される。言い換えると、ソース・データのハイおよびロウのそれぞれのパルスが、１クロック・サイクルに等しいかそれ以上である。しかし、バイフェーズ・コーディング方式は、ソース・データの論理ハイ値ごとに、クロック位相の中央領域ならびに境界領域で推移を発生させる必要がある。バイフェーズ・コーディング方式では、これによって、ソース・データが論理ハイ値に出会う時に必ずソース・データ速度の２倍のデータ速度をエンコードする。これによって、伝送回線の使用可能帯域幅がかなり減り、上で説明したように、送信器の電流ドローおよびＥＭ放射がかなり増える。
【０００８】
図３には、ミラー・コーディング方式も示されている。ミラー・コーディングは、エンコードされるデータ速度が、ソース・データ速度の２倍でないという点で、バイフェーズ・コーディングに対する１つの明確な長所を有する。ミラー・エンコードされたデータ速度は、伝送回線の総使用可能帯域幅を拡張し、送信器および受信器の構成要素に対する負担を減らすために、ソース・データ速度と同一になるように設計されている。ミラー・コーディングでは、論理ハイ値が、クロック位相の中心または中央での推移によってエンコードされ、論理ロウ電圧値が、クロック位相の境界での推移によってエンコードされる。しかし、隣接する論理ロウ電圧値および論理ハイ電圧値の推移の間の最小距離は、１クロック位相または１クロック・サイクルに保たれる。
【０００９】
ミラー・コーディングの残念な態様は、エンコードされたビット・ストリームが蓄積ＤＣ値を招くことである。図３からわかるように、１クロック位相の持続時間の論理ロウ電圧値が、負のＤＣ値（「−１」）を表し、１クロック位相の持続時間の論理ハイ電圧値が、正のＤＣ値（「＋１」）を表す。蓄積ＤＣ電圧値を、論理ハイ電圧値と論理ロウ電圧値との間の中央値にすることが望ましい。ライン２６に、ｄｉｇｉｔａｌ  ｓｕｍ  ｖａｌｕｅ（または「ＤＳＶ」）とも称する累積ＤＣ電圧値が、ミラー・コーディングについて示されている。クロック・サイクルまたはクロック位相の中央での推移が、ＤＣ電圧値の変更なし（「０」）を表し、したがって、ＤＳＶへの追加もそれからの除去もないことを表す。ＤＳＶによって、図のソース・データの−３ＤＳＶによって示されるように、ミラー・コーディングが、論理ロウ電圧値に向かってますますゆがんでいくことが示される。
【００１０】
図２および３を組み合わせて参照すると、論理ハイ電圧値と論理ロウ電圧値の間の中間の電圧からゆがんだＤＣ値（すなわち、０を超えるか０未満のＤＳＶ）は、コンデンサ２８およびコンパレータ３０の入力ノードに蓄積される。ＤＣ値の蓄積または「オフセット」は、ｂａｓｅｌｉｎｅ  ｗａｎｄｅｒと称するものを引き起こし、このｂａｓｅｌｉｎｅ  ｗａｎｄｅｒは、受信器１８に、信号のビット・シーケンスに依存するエンコードされた信号を検出させる。検出は、もはや理想的なＤＣフリー・コーディング信号に基づかず、その代わりに、基準線または中間の電圧値から外れる。
【００１１】
着信ソース・データより高い速度でのコーディングを避けるが、不当に大きい累積ＤＣ電圧を導入しない、エンコーダおよびコーディング方法を導入することが有益である。したがって、改良されたエンコーダは、時間の比較的短い期間に最小のＤＣスキューを作り、より長い時間期間にわたっては、ＤＣスキューを一切作らないエンコーダである。所期のＤＣスキューは、短い持続期間のみにわたって発生することがあり、この持続時間は、有利なことに、図２に示された、コンパレータ３０の入力の低域フィルタとしての抵抗３２およびコンデンサ２８のＲＣ時定数より小さい。所期のエンコーダおよびエンコード方法は、送信器および受信器を使用するすべての通信システムで使用することができ、光送信システムで有益に使用されるが、改良された本エンコーダおよび方法は、たとえば、銅線または空気媒体（光または音響）を介して信号を送信するのにも使用することができる。
【００１２】
（発明の概要）
上で概要を示した問題は、主に、改良されたエンコーダ、通信システム、およびその方法によって解決される。通信システムは、エアウェーブ、銅線、および／または光ファイバ・ケーブルを介してマルチメディア信号を転送できる通信システムである。コーディング機構は、コーディングされたビット・ストリームがソース・データを超えない速度で転送されるように選択され、エンコードされたデータは、実質的にＤＣフリーである。多くの場合に、エンコードされたデータがＤＣフリーでない時間は、比較的短くなる可能性があり、受信器の態様にかかわらず、受信器のＲＣ時定数より確かに短い。
【００１３】
ＤＣフリー・エンコードされたビット・ストリームを、今後、ＤＣ適応ビット・ストリームまたは「ＤＣＡ」ビット・ストリームと称する。エンコードされたＤＣＡビット・ストリームは、部分的に、前のクロック・サイクルのＤＳＶに基づき、このＤＳＶは、前のクロック・サイクルを介して累積されたエンコードされたＤＣＡビット・ストリームの累積ＤＣ値である。ＤＳＶは、＋１を超えず、−１より小さくならないことがエンコーダによって保証され、したがって、必ず＋１、０、または−１と等しい。
【００１４】
エンコードするためには、前のクロック・サイクルを含む前のクロック・サイクルまでの累積ＤＣ値（「ＤＳＶ」）（ＤＳＶｎ−１）、現在のクロック・サイクルのソース・データの論理電圧値（ｂｉｔｎ）、および次のクロック・サイクルのソース・データの論理値（ｂｉｔｎ＋１）の知識が必要である。これらの値および／または論理状態に応じて、エンコーダは、通常エンコード状態またはマルチプル−１（ｍｕｌｔｉｐｌｅ−ｏｎｅ）・エンコード状態のどちらで動作するかを判定することができる。
【００１５】
通常エンコード状態で動作する時に、エンコーダは、エンコードされた信号を実質的にクロック・サイクルの中央で推移させることによって、論理ハイ電圧値をエンコードする。論理ロウ電圧値をエンコードするために、クロック・サイクルの中央に推移がなく、その代わりに、前または後のエンコードされた推移の場所に応じて、クロック・サイクルの始めまたは終り（すなわち境界）で推移させる。したがって、エンコードされた論理ロウ電圧は、現在のクロック・サイクル境界の直前または直後のクロック・サイクルに、エンコードされた信号の中央の推移がない限り、クロック・サイクル境界（すなわち、サイクルｎ−１とｎの間および／またはクロック・サイクルｎとｎ＋１の間）で推移させる。ＤＳＶは、ＤＣＡエンコードされたビット・ストリームのＤＣ値に従って増減される。中央の推移を有するクロック・サイクルのＤＳＶは、前のクロック・サイクルのＤＳＶと同一である。すなわち、中央の推移について、ＤＣ値は生じない。
【００１６】
マルチプル−１・エンコードは、２つの状況の下で行われる。前のクロック・サイクルのＤＳＶ（ＤＳＶｎ−１）が非０であり、現在および次のクロッキング・サイクル（ｎ、ｎ＋１）で、論理ハイ電圧値の対に出会う場合に、現在のクロック・サイクルｎの始めに推移が発生し、クロック・サイクルｎとクロック・サイクルｎ＋１の間には推移が発生しない。
【００１７】
クロック・サイクルｎの中央ではなくクロック・サイクルｎの始めの推移を保証することによって、クロック・サイクルｎ中のＤＣ値が、０になるのではなく、ＤＳＶｎ−１だけオフセットする。この形で、マルチプル−１（すなわち、複数の論理ハイ値）のコーディングによって、ＤＳＶが許容可能範囲の外へさらにスキューすることがなくなる。より重要なことに、比較的短いＤＣスキューは、受信器のＲＣ時定数より短くなって、検出器の低域フィルタの観点から見た時に本質的にＤＣフリーでエンコードされた信号が作られる。したがって、検出器は、検出可能なｂａｓｅｌｉｎｅ  ｗａｎｄｅｒがないこと、ならびにソース・データと同一の速度を有するエンコードされたビット・ストリームを享受することができる。マルチプル−１・エンコード機構は、ＤＳＶｎ−１と、現在および連続するソース・データ・ビット（ｂｉｔｎおよびｂｉｔｎ＋１）とに基づいて、適応的に使用される。
【００１８】
一態様によれば、エンコーダが提示される。このエンコーダは、論理ハイ電圧値がｎ＋１クロック・サイクル中に発生し、かつ、すべてのエンコードされた論理ハイ電圧値および論理ロウ電圧値のＤＣ電圧値の合計が、ｎクロック・サイクルの前に論理ハイ電圧値または論理ロウ電圧値のいずれかに向かってスキューしている場合に、ｎクロック・サイクルの始め近くに推移を作ることによって、ｎクロック・サイクル中に発生する論理ハイ電圧値をエンコードするように適合させることができる。したがって、説明した和を、ＤＳＶｎ−１と称する。
【００１９】
マルチプル−１・エンコード方式で動作しない時に、エンコーダは、論理ハイ電圧値が発生するクロック・サイクルｎの中央付近で推移を作ることによって、論理ハイ電圧値をエンコードすることができる。ｎクロック・サイクルの中央付近の推移を行うことができるのは、エンコーダが着信ビット・ストリームのマルチプル−１電圧値状況に出会わない場合である。したがって、ｎクロック・サイクルの中央付近の推移を行うことができるのは、論理ロウ電圧値がｎ＋１クロック・サイクル中に発生する場合、またはクロック・サイクルｎ−１のＤＣ電圧値（ＤＳＶｎ−１）がスキューしていない場合である。
【００２０】
コーディング違反を知らせるために、前述の規則を満たさない誤った推移を、ｎクロック・サイクルの中央付近にまたはｎクロック・サイクルとｎ＋１クロック・サイクルの間の境界に意図的に置く。誤った推移は、論理ハイ電圧値がｎクロック・サイクルおよびｎ＋１クロック・サイクル中に発生し、ＤＳＶｎ−１がスキューしている場合に、ｎクロック・サイクルの中央または末尾（ｎクロック・サイクルとｎ＋１クロック・サイクルの間）に作ることができる。その代わりに、有効に配置しなければならないところで推移を作らないことによって、コーディング違反を引き起こすこともできる。有効な推移がないことまたは誤った推移のどの形であれ、コーディング違反が、デコーダを同期化するように働く。誤った推移または有効な推移の欠如は、ＤＣＡビット・ストリームのエンコードされたシーケンスの先頭を知らせるために、データのパケットまたはフレームのプリアンブル内で行うことができる。
【００２１】
もう１つの実施態様によれば、通信システムが提示される。通信システムには、伝送回線によってデコーダにリンクされたエンコーダが含まれる。エンコーダは、第１プリアンブルと第２プリアンブルの間の時間に入れられるデータのエンコードされたビット・ストリームを作るように結合される。第１プリアンブルは、第１ＤＣ電圧値（すなわち、第１プリアンブルの終りまでの第１ＤＳＶ累積）を用いてエンコードすることができ、第２プリアンブルは、第２ＤＣ電圧値（すなわち、第２プリアンブルの終りまでの第２ＤＳＶ累積）を用いてエンコードすることができる。デコーダは、第１および第２のプリアンブルを受信し、第１ＤＣ電圧値を第２ＤＣ電圧値と比較して、伝送回線を介するエンコードされたビット・ストリームの送信中にエラーが発生したかどうかを判定することができる。第２および第２のＤＣ電圧値は、同一または異なるものとすることができる。たとえば、加算器を使用して、第１ＤＣ電圧値と第２ＤＣ電圧値の合計が、中間電圧からスキューしているかどうかを判定することができる。この例では、第１ＤＣ電圧値を０とし、第２ＤＣ電圧値を０とすることができ、これによって、加算器が、０の加算されたＤＣ電圧値を作らなければならない。排他的ではなくその代わりに、コンパレータを使用して、第１ＤＣ電圧値または第２ＤＣ電圧値のいずれかが、選択されたＤＣ電圧値に応じて、０、＋１、または−１と異なるかどうかを判定することができる。ＤＣ電圧値が、期待されるもの以外である場合には、第１プリアンブルと第２プリアンブルの時間の間に送信にエラーが発生したことがわかる。もう１つのエラー検出方法によれば、エンコードされたビット・ストリームのＤＳＶが、−１と＋１の間でなければならないことが既知である。ＤＳＶが、＋１を超える（すなわち＋２）または−１未満である（すなわち−２）場合には、送信中にエラーが発生したことがわかる。エラーは、範囲外状態が発生するフレーム・またはパケットで正確に位置を示すことができる。
【００２２】
デコーダを、さまざまな機構を使用して同期化することができ、この機構の例は、誤って配置されたか誤った推移の検出、または、たとえば最長の許容可能なパルスより長い、エンコードされたパルスの検出である。同様のことが、最長の許容可能なエンコードされたサイクルより長いサイクルまたは最短の許容可能なエンコードされたサイクルより短いサイクルの検出にあてはまる。デコーダが、コーディング違反を検出したならば、デコーダを、たとえば「１１１１」ビット・ストリームの代わりに「００００」ビット・ストリームのデコードを防ぐためにビット境界がどこに発生するかに関して同期化することができる。
【００２３】
もう１つの実施態様によれば、論理ロウ電圧値および論理ハイ電圧値のビット・ストリームをエンコードする方法が説明される。この方法には、ｎクロッキング・サイクルの前のすべてのエンコードされた論理ロウ電圧値および論理ハイ電圧値のＤＣ電圧値の合計（すなわちＤＳＶｎ−１）を計算するステップが含まれる。論理ハイ電圧値を、ビット・ストリーム内で、ｎクロック・サイクル中およびｎ＋１クロック・サイクル中に検出することができる。その後、ＤＳＶｎ−１が論理ハイ電圧値または論理ロウ電圧値のいずれかに向かってスキューしており、ソース・データの論理ハイ電圧値がクロック・サイクルｎおよびｎ＋１中に検出された場合に、クロック・サイクルｎとｎ＋１の間ではなくｎクロック・サイクルの始め付近に、エンコードされたビット・ストリーム内で推移が作られる。
【００２４】
本発明の他の目的および長所は、以下の詳細な説明を読み、添付図面を参照する時に明白になる。
【００２５】
本発明は、さまざまな修正形態および代替形態を許すが、その特定の実施形態を、例として図面に示し、以下で詳細に説明する。しかし、図面およびそれに対する詳細な説明が、本発明を開示される特定の形に制限することを意図されたものではなく、逆に、その意図が請求項によって定義される本発明の趣旨および範囲に含まれるすべての修正形態、同等物、および代替形態を含むことであることを理解されたい。
【００２６】
（好ましい実施形態の詳細な説明）
図面に移ると、図４に、本明細書のデコーダおよびエンコーダをそれによって実施することができる１つの例が示されている。エンコーダ３０は、ソース・データの着信ビット・ストリームを受け取るものとしてブロック図に示されている。ソース・データは、クロッキング信号（ＣＬＫ  １Ｘ）と同期化され、直列に接続されたラッチ３２が、対応するクロック・サイクルでビットを作る。クロック・サイクルｎ−１のエンコードされた論理状態のＤＳＶ（ＤＳＶｎ−１）が、サイクルｎおよびおそらくはｎ＋１のソース・データのビット値と共に、組合せ論理３４に供給され、組合せ論理３４は、通常エンコード（ＮＯＲＭ）またはマルチプル−１・エンコード（ＭＵＬＴＩ）のいずれかを示す信号を作る。ブロック３６に示された組合せ論理および関連するラッチは、クロック・サイクルｎの始めまたはクロック・サイクルｎの中央のいずれかで、対応する推移を作る。推移またはトグルが、推移が発生する時に応じてＣＬＫ  １ＸまたはＣＬＫ  ２Ｘのいずれかのクロック・エッジに多重化され、ラッチされる。その後、エンコードされたデータの対応するＤＣＡビット・ストリームが、ブロック３８から作られる。
【００２７】
エンコーダ３０は、多数の形で実施することができ、その１つの例だけが示されている。エンコーダが形成される形に無関係に、結果は、コーディングが通常フォーマットまたはマルチプル−１・フォーマットのいずれで行われるかに依存し、ｂｉｔｎ、ｂｉｔｎ＋１、およびＤＳＶｎ−１に依存して、クロック・サイクルｎの先頭または中央のいずれかでトグルされるＤＣＡビット・ストリームである。
【００２８】
エンコーダ３０から伝送回線を介してエンコードされたデータを受信するように結合されるのがデコーダ４０である。デコーダ４０には、エンコードされたデータを受け取る、クロッキング信号ＣＬＸ  ２Ｘに同期化されるラッチ４２が含まれている。直列接続されたラッチ４２から出力されるのが、ｄａｔａ０からｄａｔａ３として示された４ビットのデータである。デコードが、エンコードされたビット・ストリームの推移の時だけであり、ＤＳＶの知識を必要としないことに留意する価値がある。主に、１ビット対のデータが、サイクルｎ内の推移をデコードするのに必要であり、いくつかの状況で、サイクルｎ＋１のもう１つのビット対のデータが必要になる。したがって、２つのサンプル（すなわちビット対）が、クロック期間ごとに必要である。たとえば、中央の推移をデコードするためには、論理１が続く論理０または論理０が続く論理１のいずれかを検出するために、ビット対の２ビットが必要である、例示的なデコード・アルゴリズムの表を、下で図８に関して説明する。本発明のデコーダ４０を、バイト交換されるネットワーク内で使用することが可能なので、複数ビットのデータをラッチしなければならない。たとえば、あるノードが、バイトＡまたはバイトＢを受信するが、バイトＡの次にバイトＣを送信することを望む場合がある。バイトＡの最終ビットのエンコードは、バイトＢの第１ビットに依存するので、バイト交換を達成するためには、バイトＡの最終ビットをデコードし、バイトＣの第１ビットを使用して再エンコードしなければならない。この例によって、バイト境界にまたがるビット対をラッチ４２によって保管し、ＣＬＫ  ２Ｘより低速のクロック（ＣＬＫ  １Ｘ）と共に論理４４に提示しなければならない。論理４４は、めいめいのバイトのクロック・サイクルｎおよびおそらくはクロック・サイクルｎ＋１でのビットの状況に基づいて、クロック・サイクルｎ内の必要な推移点を割り当てる。その後、論理４６が、着信信号によって示された推移またはトグルの位置に対応するデコードされたデータを提示する。エンコーダ３０と同様に、デコーダ４０は、多数の形で実施することができ、図４は、ＤＣＡエンコードされたデータからデコードされたデータを作る機構の１つの例だけを示すものである。
【００２９】
図５に、エンコード機構５０の流れ図を示す。エンコードは、応用例およびエンコードを達成しなければならない速度に応じて、ハードウェア、ソフトウェア、あるいはその両方の組合せで達成することができる。エンコード５０は、ある初期条件をとることによって開始される。たとえば、ＤＳＶｎ−１は、この例では０にセットされて図示され（ｄｓｖ＿ｓｕｍ［０］＝０）ており、マルチプル−１条件は存在せず（ｍｕｌｔｉｐｌｅ＿ｏｎｅｓ＝Ｎｏ）、ｎ−１クロック値は、中央推移（すなわち、クロック・サイクル境界の間の推移）を示していない（ｍｉｄｄｌｅ＿ｔｒａｎｓｉｔｉｏｎ＝Ｎｏ）。最初のステップは、ブロック５２に示されているように、ｂｉｔｎのエンコードを検査するステップである。ｂｉｔｎの着信ソース・データを調べて、ブロック５４に示されているように、その値が論理１または論理０のどちらであるかを判定する。現在のｂｉｔｎの着信ソース・データ（エンコードされないデータ）が０である場合には、判断ブロック５６に示されているように、前のクロック・サイクルｎ−１中のエンコードが、そのクロック・サイクルの中央または境界での推移を示すか否かを判定しなければならない。クロックｎ−１中の推移が、クロック・サイクルの中央（すなわち、ｍｉｄｄｌｅ＿ｔｒａｎｓｉｔｉｏｎ＝ｙｅｓ）である場合には、ブロック５８に示されているように、ｍｉｄｄｌｅ＿ｔｒａｎｓｉｔｉｏｎ状態を「ｎｏ」にリセットし、ブロック６０に示されているように、クロック・サイクルｎの始めに推移がない。しかし、ｂｉｔｎの値が論理０であり、前のエンコードされたクロック・サイクルの中央推移がない場合には、ブロック６２に示されているように、現在のクロック・サイクルｎが、そのサイクルの始めの推移をうけることができる。したがって、ブロック６２には、論理０値が、対応するクロック・サイクルの始めの推移を用いてエンコードされることが示されている。ブロック７４を達成した後に、イベントのシーケンスが、ブロック７６から５２、５４、５６、５８、６０、５２、５４、５６、６２、またはブロック７４から７６、５２、５４、５６、５８、６０、５２、５４、６４などになる。
【００３０】
エンコードの流れ図５０には、ｂｉｔｎの論理ハイ値または「１」のエンコードも示されている。ｂｉｔｎが１の場合には、ブロック６４に示されているように、エンコード状態が現在マルチプル−１・エンコード状態であるかどうかを判定しなければならない。そうである場合には、ブロック６６に示されているように、エンコード出力が、マルチプル−１・エンコード状態からマルチプル−１でない状態に推移する。それに対応して、ブロック６８に示されているように、クロック・サイクルｎの始めまたは中央には推移が発生しない。マルチプル−１状態がエンコーダへの入力として存在しないことが検証される場合には、ブロック７０に示されているように、ｂｉｔｎ＋１の論理値を問い合わせる。クロック・サイクルｎ＋１の着信ビット・ストリームが論理１値である場合には、ブロック７２に示されているように、ＤＳＶｎ−１が０であるかどうかに関する判定を行わなければならない。そうである場合には、クロックｎおよびｎ＋１の着信ビット・ストリームがそれぞれ論理１値および論理０値であるか、ＤＳＶｎ−１が０の場合にこの両方が論理１値であることが記憶され、これによって、ブロック７４および７６に示されているように、クロックｎの中央推移が許容される。クロックｎおよびｎ＋１の両方について論理ハイ値を有する着信信号に加えて、ならびにＤＳＶｎ−１が０でない場合に、ブロック７８に示されているように、マルチプル−１条件が存在する。したがって、ブロック８０に示されているように、クロック・サイクルｎの始めの推移が起きる。
【００３１】
図６に移ると、図５のエンコード機構を示す表が示されている。具体的に言うと、図６には、適切なエンコード出力を判定するのに使用される入力が示されている。入力には、着信ビット・ストリームｂｉｔｎおよびｂｉｔｎ＋１、ならびにクロック・サイクルｎ−１を含み、そのサイクルまでの合計ＤＣ値が含まれる。さらに、入力には、前のクロック・サイクルに存在するエンコードされた推移の位置、ならびに前のクロック・サイクルがマルチプル−１・エンコードを受けたか否かが含まれる。エンコード出力は、現在のクロック・サイクルｎが推移を受ける位置（クロック・サイクルの始めまたは中央のいずれか、あるいはおそらくはどちらにもない）に関して記録される。さらに、エンコードされた出力は、既存のクロック・サイクルがマルチプル−１・エンコードを受けるか否かに関して記録される。図６の表および図５のエンコード流れ図を理解する助けとして、ラインｅ１が、ブロック６２で完結する流れ図の分岐に対応する。ラインｅ２は、ブロック６０で完結する流れ図の分岐に示されている。ラインｅ３およびラインｅ４は、ブロック７６で完結する流れ図の分岐に示され、ラインｅ５およびｅ６は、それぞれブロック８０および６８で完結する。
【００３２】
図５および６を共に参照すると、マルチプル−１・エンコードは、クロック・サイクルｎおよびｎ＋１の着信ビット・ストリーム（すなわち、ｂｉｔｎおよびｂｉｔｎ＋１）が１と等しく、ＤＳＶｎ−１が０以外の値（すなわち、−１または＋１）の場合に行われる。この条件の下で、エンコード機構５０は、ブロック７８でマルチプル−１・エンコードを示し、それに対応するクロック・サイクルｎの始めの推移が、ブロック８０に示されている。他のすべての条件のエンコードは、主に、前のクロック・サイクルおよび／または後続クロック・サイクルのエンコードされたビット・ストリームのクロック推移の存在に依存する。前のクロック・サイクルが、そのクロックの中央での推移を用いてエンコードされる場合には、現在のクロック・サイクルを、その始めの推移を用いてエンコードすることができない。この形で、エンコード機能は、１クロック・サイクル未満だけ離れた推移を有しないことが保証される。したがって、エンコードされたビット・ストリームは、ソース・データまたは着信データ・ストリームを超えない速度で推移する。
【００３３】
マルチプル−１・エンコードまたは通常エンコードのどちらを使用するかの判定は、ソース・データのクロック・サイクルｎビット値が論理ハイ電圧値または「１」であるかどうかだけに依存する。そうでない場合には、前または後続のエンコードされるクロック・サイクルの推移状況に応じて、通常エンコードをサイクルｎの境界で行うことができる。図５および６に示されているように、クロック・サイクルｎビット値が１と等しくない（すなわち、論理ロウ値である）場合には、サイクルｎ−１のエンコードされるビット・ストリームに、そのめいめいのサイクルの中央での推移が伴うかどうかに関するフォローアップ判断を行わなければならない。コーディングされる信号が、クロック・サイクルｎ−１の中央での推移を作る場合には、サイクルｎ境界の始め（クロック・サイクルｎ−１とｎの間の境界）で推移を行うことができない。クロック・サイクルｎ−１の中央で推移が発生しない場合には、クロックｎ−１とｎの境界で推移を行うことができる。
【００３４】
図５の流れ図および図６の表は、マルチプル−１・エンコードおよび通常エンコードの両方を例示するのに役立つ。通常エンコードでは、前のクロック・サイクルのどこで推移が発生するかを調べて、現在のクロック・サイクルをそのクロック・サイクルの始めの推移としてエンコードするかどうかを判定する。同一のことが、後続クロック・サイクルについても言える（すなわち、クロック・サイクルｎに続くすべてのクロック・サイクルをエンコードする時に、クロック・サイクルｎのエンコードに使用される規則が、後続サイクルにも適用される）。クロック・サイクルｎビット値が１と等しい場合に、ブロック６４に示されているように、マルチプル−１・コーディングまたは通常コーディングのどちらを使用するかに関する決定を行わなければならない。通常エンコードが行われる場合には、ブロック７６に示されているように、すべての着信論理ハイ電圧値が、そのサイクル・ビットの中央の推移としてコーディングされる。上で説明したように、論理ロウ電圧値のコーディングは、複数コーディングを誘導せず、その代わりに、推移の通常コーディングに従って進行する（すなわち、ブロック６０または６２）。
【００３５】
マルチプル−１・エンコード例外の下では、ブロック７２に示されているように、ＤＳＶｎ−１が０と比較される。クロック・サイクルｎ＋１のｂｉｔｎ＋１の論理値が、論理ハイ値をもたらし、ＤＳＶｎ−１が０と等しくない場合に、複数エンコードが行われる。マルチプル−１・エンコード条件が満たされる場合に、推移は、サイクルｎの始めに行われる。しかし、クロック・サイクルｎ＋１が、論理ハイ値をもたらさない場合には、ＤＳＶｎ−１の状況に無関係に、ブロック７６に示されているように、コーディングが、クロック・サイクルｎの中央での推移をもたらす。
【００３６】
ＤＳＶｎ−１が０と等しくない（−１または＋１と等しい）場合には、判断ブロック７２が、サイクルｎ＋１およびｎが論理ハイ値をもたらすという条件の下で使用される。したがって、ブロック７８および８０に示されているように、マルチプル−１・エンコードが行われる。
【００３７】
図５および６に示されたエンコード機構では、ＤＣＡエンコードされたデータへのソース・データ・ビット・ストリーム（ｂｉｔ１、ｂｉｔ２、ｂｉｔ３、…）のエンコードが説明されている。この機構では、ビット期間の始めまたはビット期間の中央のどちらに推移があるか、あるいはビット期間の先頭にも中央にも推移がないかどうかが判定される。ｂｉｔｎのエンコードは、そのビット値、次のビット値（ｂｉｔｎ＋１）、前のビットのＤＳＶ（ＤＳＶｎ−１）、マルチプル−１状態（１の対および０以外の前のビットのＤＳＶ値）、および中央推移状態（すなわち、前のエンコードされたビットに中央の推移があるか否か）だけに基づく。
【００３８】
図７に移ると、デコード８４の流れ図が示されている。デコード８４では、デコードされるビット・ストリームの次のビットが１と等しくない、デコーダがそのビット・ストリームに正しく同期化されるなど、ある初期条件をとる。ｂｉｔｎのデコードが、ブロック８６で開始され、ブロック９０で、着信ビット・ストリームがビット期間ｎ中に推移を示すかどうかを判定する。推移がない場合には、ブロック８７に、着信ビット・ストリームの次ビットが１と等しいかどうかの判断が示される。ブロック８８に示されているように、デコードされる次のビットが論理１値をもたらさない場合には、ブロック８９に示されているように、ビット期間ｎのビット・ストリーム（すなわちｂｉｔｎ）が、論理１としてデコードされる。着信ビット・ストリームの次ビットが論理１と等しくない場合には、ｂｉｔｎのデコードされる値が、ブロック９５に示されているように０と等しい。
【００３９】
ビット期間ｎの中央で推移が発生する場合には、ブロック９２に示されているように、ビット期間ｎの着信ビット・ストリームが、論理１値としてデコードされる。しかし、推移がビット期間ｎの始めに発生する場合には、ブロック９７に示されているように、ビット期間ｎ＋１中に発生する推移に関するもう１つの判定を行わなければならない。推移が、ビット期間ｎ＋１の始めの中央中のいずれかに発生する場合には、ブロック９６に示されているように、ビット期間ｎの着信ビット・ストリームが論理０としてデコードされる。ビット期間ｎの始めに推移が発生し、ビット期間ｎ＋１中に推移が発生しない場合には、ｎｅｘｔ＿ｂｉｔ＿ｉｓ＿ｏｎｅ状態に「ｙｅｓ」をセットすることによって、次のデコードされるビットが論理１値であることが示される。ブロック９８に示されているように、ビット期間ｎの着信ビット・ストリームは、論理１としてデコードされる。
【００４０】
図８の表に、図７に示されたさまざまなシナリオを示す。具体的に言うと、符号９２で終わる流れが、デコードのラインｄ１を表す。ブロック９８で終わる流れが、デコードのラインｄ２を表す。ブロック９６で終わる流れが、デコードのラインｄ３を表し、ブロック９５および８９で終わる流れが、それぞれデコードのラインｄ４およびｄ５を表す。流れが、ビットｂｉｔ（ｎ）についてブロック９９および９８を介して進む場合には、その流れは、ｂｉｔ（ｎ＋１）についてブロック８６、９０、８７、８８、および８９を介して進む。全体的なデコードのアルゴリズムは、デコードのラインのそれぞれを見ることによってよりよく示される。たとえば、デコードのラインｄ１には、ラインｅ３またはｅ４によってエンコードされた（この両方が論理１値をエンコードする）ビット期間ｎの中央推移が示されている。ラインｄ２に関して、ビット期間ｎの始めの推移は、ラインｅ１またはｅ１のいずれかによってエンコードされたものである。ビット期間ｎ＋１中の推移なしは、ラインｅ２またはｅ６のいずれかによってデコードされたものである。２つの連続するビットを、ラインｅ１とその後のｅ１によってエンコードすることはできない。というのは、ラインｅ１が、中央推移状態に「ｎｏ」値をセットされたままにし、ラインｅ２が、それが「ｙｅｓ」値であることを必要とするからである。２つの連続するビットを、ラインｅ５とその後のラインｅ２によってエンコードすることはできない。というのは、ラインｅ５によってエンコードされるビットに続くビットが、必ず論理１値になるからである。２つの連続するビットを、ラインｅ１とその後のラインｅ６によってエンコードすることはできない。というのは、ラインｅ６が、必ずラインｅ５の後に続き、ラインｅ５の後に、必ずラインｅ６が続く（すなわち、ラインｅ５がマルチプル−１状態をセットし、ラインｅ６がその状態をクリアする）からである。したがって、２つの連続するビットを、ラインｅ５とその後のラインｅ６によってエンコードすることだけができ、これらの行は、論理１値をエンコードする。
【００４１】
ラインｄ３のデコードに関して、ビット期間ｎの始めの推移は、ラインｅ１またはｅ５のいずれかによってエンコードされたものである。これがラインｅ５によってエンコードされた場合には、ビット期間ｎ＋１の推移「なし」がこれに続く。したがって、ビット期間ｎの始めの推移は、論理０値をエンコードするラインｅ１によってのみエンコードすることができる。デコードのラインｄ４およびｄ５は、ビット期間ｎの推移なしを表し、これらは、ラインｅ２またはｅ６のいずれかによってエンコードされる。推移なしは、それに中央推移が続くか、それがマルチプル−１・エンコードの第２ビットであるかのいずれかのゆえにエンコードされたものである。中央推移を示す状態ビットまたはマルチプル−１・エンコードの第１ビットを示す状態ビットのいずれかを使用して、２つの推移なしエンコードを区別することができる。図示のデコーダは、マルチプル−１・エンコードの第１ビットを示す状態を使用する。マルチプル−１・エンコードの第１ビットをデコードするデコードのラインｄ２では、次ビット１（「ｎｅｘｔ＿ｂｉｔ＿ｉｓ＿ｏｎｅ」）がセットされる。
【００４２】
図９に、前述の説明と、図６のエンコードラインｅ１からｅ６および図８のデコードのラインｄ１からｄ５の間の対応を詳細に示す。具体的に言うと、ＤＣＡエンコードされたビット・ストリームが、特定のエンコードおよびデコードの行番号を注記されたクロック・サイクル（ｃｌｋ１ｘ）、ならびにソース・データに対応するＤＣＡエンコードされた値と共に示されている。図９には、２つの連続するエッジが、少なくとも１ビット周期または１クロック・サイクルだけ分離されることが必ず保証されることが示されている。始めの推移は、中央の推移の直後に発生することができないので（たとえば、ラインｅ１またはラインｅ５のいずれかがそれに続くことができないラインｅ３またはラインｅ４を参照されたい）。具体的に言うと、ラインｅ３には、ラインｅ２だけが続くことができる。というのは、次にエンコードされるビットが、論理０であり、中央推移状態に、「ｙｅｓ」値がセットされるからである。ラインｅ４には、ラインｅ１を続けることができない。というのは、次にエンコードされるビットが、論理１値になるからである。ラインｅ４には、ラインｅ５も続けることができない。というのは、ラインｅ４の後のＤＳＶが、まだ０値であり、号ｅ５が、ＤＳＶが−１または＋１の値であることを必要とするからである。
【００４３】
図７および８のデコード・アルゴリズムを実施するためには、デコードが、エンコードされたビット・ストリームと同期化されることが重要である。デコーダは、時間的にシフトされる最初のエッジまたは推移を区別しなければならない。したがって、デコーダは、たとえば、デコーダがクロック・サイクル境界があると考える場所に依存する「１１１１１１」ビット・ストリームとしてデコードされなければならない時に「００００００」ビット・ストリームをデコードすることがないように、クロック・サイクルに同期化されなければならない。図１０に、０のデコードされるストリングを作るのに必要なクロック・サイクル境界に同期化するデコードと、１のストリングを作るのに必要なクロック・サイクル境界に同期化するデコードとを示す。
【００４４】
デコーダを、複数の異なる形でクロック・サイクル境界に同期化することができる。１つの形が、エンコーダからデコーダへ別の同期化信号を送信することである。もう１つの形が、エンコーダおよびデコーダに、エンコーダからデコーダに送信される最初のデータ・エッジの値または位置に関して前もって合意させることである。もう１つの形は、既知の不正なエッジ検出に関するコーディング違反を送信することによってデコーダを同期化させることとすることができる。
【００４５】
コーディング違反は、エンコードされたデータで絶対に遭遇せず、したがってデコーダによって非データとして検出することができるビット・シーケンスとみなすことができる。たとえば、コーディング違反は、最小パルス幅未満のパルス、最大パルス幅を超えるパルス、中央推移で始まり最大パルス幅を超えるパルス、最大コーディング・サイクルを超えるエンコードされたサイクル、または＋１を超えるか−１未満のＤＳＶを含むデータ・シーケンスとすることができる。
【００４６】
図１１に、ＤＣＡエンコードされた信号の最大パルス幅を示す。図９に示された例では、有効にエンコードされたＤＣＡパルスの最大エッジ分離が、符号１００に示されているように、ＣＬＫ  １Ｘの２．５クロック・サイクルを超えることができない。しかし、タイミング図１０２には、ＣＬＫ  １Ｘの２．５サイクルより大きいパルスを有するコーディング違反が示されている。デコーダは、トレーリング・エッジまたは不正なパルスのトレーリング・エッジから指定された数のクロック・サイクルだけ後に同期化されることが意図されている。したがって、コーディング違反が、エンコードされたデータに先行するプリアンブルを形成することはできない。プリアンブルは、データを含むパケット内のヘッダとして送信することができる。
【００４７】
図１２に、ＤＣＡエンコードされた信号の最大サイクルを超えるもう１つのタイプのコーディング違反を示す。図１２の例では、最大のＤＣＡエンコードされた信号サイクルが、符号１０４に示されているように、４．５クロック・サイクルである。したがって、符号１０６に示されているように、プリアンブルが４．５クロック・サイクルを超えるサイクルをもたらす場合に、コーディング違反が発生する。
【００４８】
図１１のコーディング違反では、−１から＋１までの所定の範囲を超えたＤＳＶが示されないが、図１２のＤＳＶはこの範囲を超えている。したがって、推奨されるＤＳＶを超えるか、最大パルス幅または最大サイクル幅を超えるかのいずれかであるコーディング違反を使用できることに留意する価値がある。ほとんどの場合に、デコーダの同期化に使用されるプリアンブルを、８ビット・バイト以内で達成することができる。プリアンブルは、２つの機能すなわち、コーディング違反の位置に基づく所定のクロック・エッジにデコーダを同期化し、デコーダの位相ロック・ループをロックするように働くことができる。符号１０２および１０６に示されたプリアンブルでは、コーディング違反が、バイトの初期に発生し、その後、位相ロック・ループをそのパルス幅に比較的すばやい形でロックするのに使用される最小パルス幅が続く。
【００４９】
図１１および１２のプリアンブルには、さらに、これらのプリアンブルから生じるＤＳＶが、０または、設計者がそのプリアンブルの最後のクロック・サイクルの目標のＤＳＶを事前に知る場合に０以外の値（−１または＋１）になりえることが示されている。プリアンブルの最後のクロックのＤＳＶは、０とすることができ、その結果、それに続くデータが０のＤＳＶｎ−１を有するようになる。最初のプリアンブルが、０のＤＳＶを有するものとして事前に決定され、第２プリアンブルが、０を目標とする最終クロック・サイクルのＤＳＶを有する場合に、第１プリアンブルおよび第１の埋め込まれたエンコードされたデータ・ビット・ストリームを含む第１パケットの終りのＤＳＶは、０以外であり、その第１のエンコードされるビット・ストリームに関する送信エラーを判定することができる。したがって、ＤＳＶを使用して、送信エラーを判定することができ、より重要なことに、エラーが発生した時または送信エラーに遭遇したフレームを判定することができる。
【００５０】
この開示の利益を有する当業者は、本明細書に記載の実施形態が、通信リンク媒体に無関係に、そのネットワークの全体的なアーキテクチャまたは地形に無関係に、相互接続されたディジタル・システムのネットワークを介する通信信号を伴う応用が可能であると思われることを諒解するであろう。本発明のエンコーダ、デコーダ、通信システム、およびこれらを使用する方法は、多数のネットワーク・タイプ、アーキテクチャ、アプリケーション、インターネット、イントラネットなどで有用である。エンコーダおよびデコーダの各すべての構成要素に対してさまざまな修正および変更を行うことができ、本明細書のエンコーダおよびデコーダを使用するトランシーバを、使用される送信媒体に応じて修正できることに留意されたい。請求項は、そのような修正および変更のすべてを含み、したがって、本明細書および図面が、制限的な意味ではなく例示的な意味のものであるとみなされなければならないことが意図されている。
【図面の簡単な説明】
【図１】
入力データおよび出力データがそれを介して転送される相互接続されたノードの通信システムのブロック図である。
【図２】
通信ネットワークの光信号パスによってリンクされた送信器および受信器の回路概略を示す図である。
【図３】
入力（「ソース」）データ速度の２倍で入力されるか蓄積されたＤＣ値を有するのいずれかであるコーディング方式のタイミング図である。
【図４】
入力データ速度と同一の速度のＤＣフリー・エンコードされたデータ・ストリームを作るエンコーダ、およびエンコードされたデータ・ストリームをデコードするデコーダのブロック図である。
【図５】
図４のエンコーダによって使用されるＤＣフリー・エンコード機構の流れ図である。
【図６】
サイクルｎ−１についてＤＳＶに依存するサイクルｎのさまざまなエンコード結果およびサイクルｎとおそらくはｎ＋１のビット値の表である。
【図７】
図５に示されたＤＣフリー・エンコード機構によってエンコードされたビットのデコードを示す流れ図である。
【図８】
ｂｉｔｎで発生し、おそらくはｂｉｔｎ＋１でも発生する推移のさまざまなデコード結果の表である。
【図９】
エンコードラインｅ１−６（図６）およびデコードのラインｄ１−５（図８）を示す、サイクルｎのさまざまなエンコード／デコード結果の表である。
【図１０】
デコーダがトリガされる境界への依存性のタイミング図である。
【図１１】
最長の許容されるエンコードされたパルスと、デコーダの同期化のコーディング違反を達成するために最長の許容されるエンコードされたパルスを超えるプリアンブルのタイミング図である。
【図１２】
最長の許容されるエンコードされたサイクルと、デコーダの同期化のコーディング違反を達成するために最長の許容されるエンコードされたサイクルを超えるプリアンブルのタイミング図である。
【図１】
2004519134.tif 000003
【図２】
2004519134.tif 000004
【図３】
2004519134.tif 000005
【図４】
2004519134.tif 000006
【図５】
2004519134.tif 000007
【図６】
2004519134.tif 000008
【図７】
2004519134.tif 000009
【図８】
2004519134.tif 000010
【図９】
2004519134.tif 000011
【図１０】
2004519134.tif 000012
【図１１】
2004519134.tif 000013
【図１２】
2004519134.tif 000014
【国際公開パンフレット】
2004519134.tif 000015
2004519134.tif 000016
2004519134.tif 000017
2004519134.tif 000018
2004519134.tif 000019
2004519134.tif 000020
2004519134.tif 000021
2004519134.tif 000022
2004519134.tif 000023
2004519134.tif 000024
2004519134.tif 000025
2004519134.tif 000026
2004519134.tif 000027
2004519134.tif 000028
2004519134.tif 000029
2004519134.tif 000030
2004519134.tif 000031
2004519134.tif 000032
2004519134.tif 000033
2004519134.tif 000034
2004519134.tif 000035
2004519134.tif 000036
【国際公開パンフレット（コレクトバージョン）】
2004519134.tif 000037
2004519134.tif 000038
【国際調査報告】
2004519134.tif 000039
2004519134.tif 000040
2004519134.tif 000041