ここで図1を参照すると、2つのデータトレース対100は、同じ7ビットシリアルデータストリームを符号化する2つの方法を示している。各方法では、一対の2進値信号線を使用する。データトレース101a及び101bから成る第1の対は、従来のクロックデータ符号化を示している。トレース102a及び102bから成る第2の対は、本発明で使用する新規な1/0符号化を示している。データ101aは、デジタルクロック信号を示し、データトレース101bは、関連のデータ信号を示している。クロックの各立上りエッジでデータ信号をサンプリングし、7ビットシリアル化データストリングを取得する。データトレース102a及び102bで示す同じ7ビットシリアル化データストリームの代替符号化においては、1をデータ線102a上の単一信号移行として符号化し、0をデータ線102b上の単一信号移行として符号化する。便宜上、線102aを1信号又は1信号線と呼び、線102bを0信号又は0信号線と呼ぶ。クロック/データ送信においては、1/0符号化での信号移行が7回であるのに対して、信号移行は18回である。1/0符号化の最大移行率は、クロック信号の移行率の半分であり、総移行回数は半分よりも少ない。1/0移行手法では、クロックデータ送信よりも必要とされる帯域幅が低く、かつ発生する放射干渉は少ない。1/0送信符号化がビット当たり正確に1回の移行を有するという事実は、1/0ビットストリームをその2進同等物に変換する非同期受信回路で有利に利用される。この符号化はまた、交互的な値の組を個々に1/0フォーマットに符号化した後に、図2の例に示すように単一の1/0符号化ストリームに一緒に融合することができるという利点を有する。本明細書で説明する特定的な実施形態の概念のいずれかを外挿して、8ビット、10ビット、16ビット、32ビット、64ビットなどのシリアル通信手法に適用することができることを理解すべきである。
図2を参照すると、1/0符号化を伴う3つの信号対が、第4の1/0符号化対と共にデータトレース群200に示されており、この第4の1/0符号化対は、3倍の送信速度を有し、第1の3つの対からのデータを組み合わせるものである。垂直線201、202、及び203は、好ましくは、時間線に沿ってほぼ等しい間隔であり、シーケンス201、202、203、201、202、203などで繰り返される。1信号211aと0信号211bに対する移行は、垂直線201で示す時間に発生する。同様に、1信号212aと0信号212bに対する移行は、垂直線202で示す時間に発生し、1信号213aと0信号213bに対する移行は、垂直線203で示す時間に発生する。1/0信号対の各々に対しては、移行は、一度に1回のみであり、3つの対の各々に対する移行が歪んでおり、すなわち、時間的に順序付けられているので、201、202、及び203の時間線の全てから成る組み合された組での垂直時間線の各々において、3つの信号対から成る組み合された組に対しては、移行は1回のみである。第4の1/0信号対は、1の線211a、212a、213aを排他的OR処理することによって発生する得られた1信号RO(210a)と、0の線211b、212b、213bを排他的OR処理することによって発生する得られた0信号RZ(210b)とを有する。原則的には、あらゆる数の1/0符号化信号対をこの技術を用いてより高いビットレートの1/0符号化対に多重化又は融合することができる。この技術の一般的な性質を説明するために、3つの1/0信号対を選択した。2つの信号対の多重化は、特に実用的に重要であり、その理由は、同期シーケンサの状態によって直接的に発生する信号の移行は、通常はクロック当たりの移行が1つよりも多くないが、移行は、正のエッジトリガフリップフロップをシーケンサで使用した場合は正のクロックエッジに、又は負のエッジトリガフリップフロップをシーケンサで使用した場合は負のクロックエッジに発生する場合があるからである。図2に示しているが3つの1/0符号化信号対ではなく2つを多重化するように変えている多重化技術を用いて、データストリーム内の偶数ビットは、例えば、システムクロックの正のエッジ上を移行するシーケンサにより、また、データストリーム内の奇数ビットは、例えば、システムクロックの負のエッジ上を移行するシーケンサにより発生させることができる。1信号の得られた対を一緒に排他的OR処理すると、完全な多重化データストリームの1信号を形成することができ、同様に、0信号の得られた対を一緒に排他的OR処理すると完全な多重化データストリームの0信号を形成することができる。このようにして、システムクロックの周波数の2倍のビットレートを有するシリアルデータストリームを発生させることができる。図3に関連して、非同期論理を利用する代替方法を以下に説明する。
シリアル送信される各ビットに対して、0シリアルデータチャンネル又は1シリアルデータチャンネルに対して発生する信号状態変化が正確に1つある。従って、1及び0のシリアルデータ信号の排他的ORにより、各連続ビットの送信で状態が一度変わることになる。これは、排他的OR信号の周波数が送信又は受信ビットレートの半分であるように各ビット送信時にエッジを有する再構成クロック信号を発生させる非常に有効な方法である。ビットの連続ストリームが送信される設計に対しては、これは、特にクロック信号が着信ビットストリームと同期されるので、便利なクロック信号生成法であると考えられる。それは、データ送信が連続的でない時でさえもデータ回復クロックとして依然として便利である。導出又は回復されたクロックを使用してデータを入力する時、データが格納されるクロックエッジが、例えば、格納されるビット後の第1、第2、又は第3のビットからクロック回復処理で一般的に導出されるように、通常はパイプライン化シーケンスが存在する。値が読み取られる必要がないビットを含むデータ送信プロトコルを確立し、かつデータ送信シーケンス内の休止又はブレークポイント直前に送信されるようにこれらのビットをデータストリームに挿入するか又は含めることは有利である。シーケンス終了時に値が読み取られる必要がないこれらのビットを用いて、シーケンス終了時に追加ビットの受信によって生成されるクロックパルスを使用することにより、これらのビットの直前に送信されたデータビットを適時に読み取ることができる。これらの追加ビットがなければ、回復クロックシーケンス終了時に処理されるビットを読み取るために、受信論理内に専用のプロビジョンを作る必要があるであろう。追加ビットの値又は数は、1及び/又は0伝送線を望ましい状態にする追加機能を果たすことができる。これは、双方向バスの方向を切り換える直前に特に有用である。
2つの一般的な問題に直面し、そのソリューションには相乗効果がある。システムクロック周波数の最大2倍までのビットレートでデータストリームを送受信するには、クロックサイクル当たり2ビットを復号化することが必要である。送信される各ビットに対して、2つの信号線は、反復循環パターンで互いに適合と互いに不適合との間で交替する。この循環パターンは、問題を引き起こす可能性がある1/0符号化手法のアーチファクトである。この問題を回避するためにかつクロックサイクル当たり2ビットの処理を提供するために、各送受信ビットに対して偶数と奇数のビット状態を追跡することが便利であることが見出されている。これらの説明のために、ビット送信直後に1と0の線の状態が互いに適合するビットを偶数ビットと呼ぶ。交互するビットに対しては、1と0の線の状態は、ビット送信直後に互いに不適合になる。説明のために、これらのビットを奇数ビットと呼ぶ。偶数/奇数又は代替的に奇数/偶数のビット対又はビット群を送受信することは便利である。これらの対をクロックサイクル当たり2の対として送受信することができるので、ビットのペアリングは、ビット対を各クロックサイクルで処理することができるようにビット送受信を編成する良好な方法である。このようにして、システムクロック周波数の2倍ものデータ転送速度を問題なく処理することができる。
また、ペアリング又はグループ分けを用いると、送信における休止中に1線と0線の適合/不適合状態(排他的OR値)を管理することができる。データが、単に偶数/奇数状態を説明するビット対、バイト、又は他のビット長とすることができるパケットとして正常に処理される時に、送信は、送信内の通常の休止が1及び0のデータ線が互いに適合するか(偶数状態)又は代替的に互いに不適合である(奇数状態)の時に発生するように構成することができる。次に、交互の奇数/偶数ビット境界では通常の送信パターンの一部ではない特別な休止又はよりも長いドエル時間を用いると、送信シーケンス内での特別なイベントを信号で送ることができる。例えば、命令シーケンスの始め又は終わりをこのような方法で知らせることができる。このようなプロトコルでは、1と0の信号線が交互の適合状態のままである間隔の通常よりも長い持続時間を測定及び検出し、それを用いて特定のアクションを取るべきであることを知らせる。通常の送信パターンのこのような例外をコード違反ということが多い。この特定の種類のコード違反は、本発明者には新しいものである。一般的な従来技術のパルス幅変調送信プロトコルのコード違反の例は、通常のデータビットを符号化するのに使用する最長パルス幅を超えるパルス幅の使用である。従来技術のシステムでは、このような違反を利用して送信データ語の終わりを信号で知らせる。
データ整合性の検査に使用することができる送信波形の別の特性は、1線の状態が送信された1のパリティを示すものであり、0線の状態が送信された0のパリティを示すものであるということである。これは、1線状態は送信された各1に対して正確に1回切り替わり、0線状態は送信された各0に対して正確に1回切り替わるからである。1−0符号化には、ビット値の送信がその値に関連する伝送線上のレベル移行によって行われるという特質がある。符号化はレベル特定ではなく移行であり、かつ、移行は送信ビット(データクロック)の発生と値(1線移行の場合は1、0線移行の場合は0)の両方を示すという事実は、図2に示すように、排他的OR機能を用いて交互配置データストリームを多重化する機能をもたらすものである。ビットレートがシステムクロック周波数を超えるデータストリームを処理する際に特別な価値を有する上述の特性は、IEEEの1394−1995及び1394a仕様書で使用される「データストロボ(DS)」符号化では共有されていない。DS符号化及び0−1符号化は、データが一対の信号チャンネル上で送信され、かつ、これらが各送信ビットに対して正確に一回の送信であり、すなわち、送信が信号チャンネル上の一方又は他方であって両方ではないという特性を共有している。本発明の少なくとも一実施形態では、インタフェースユニットと、移行特定の符号化を伴う送信ビット当たり1つの信号状態変化のみを含む電子信号を含むデジタルシリアル通信リンクと、デジタルシリアル通信リンクを通じてインタフェースユニットと通信する少なくとも1つの遠隔ユニットとを含む器具が提供される。符号化が本発明のこの実施形態では移行特定であるという事実は、公知のDS符号化と比較した時に顕著な特徴である。
ここで図3を参照すると、アイテム300は、4つの状態を有する状態図である。4つの状態の各々は、円310、311、312、又は313で表されている。好ましい実施例においては、2つのシーケンサ状態フリップフロップを使用する。第1のシーケンサ状態フリップフロップをOフリップフロップと呼び、1又はO出力線を駆動すべき状態に設定されるように構成されることが好ましい。
第2のものをZフリップフロップと呼び、0又はZ出力線を駆動すべき状態に設定されるように構成されることが好ましい。状態0(310)においては、1と0の出力は、共に0レベルまで駆動され、状態3(313)においては、1と0の状態は、共に1レベルまで駆動される。これらは、ビットストリーム内の偶数ビットによって駆動されるように選択される偶数状態と呼ばれる。状態1(311)においては、1又はO出力は、0レベルまで駆動され、0又はZ出力は、1レベルまで駆動され、状態2(312)においては、1又はO出力は、1レベルに駆動され、0又はZ出力は、0レベルまで駆動される。これらは、ビットストリーム内の奇数ビットによって駆動されるように選択される奇数状態と呼ばれる。状態図300においては、8つの線があり、そのうちの303は、様々なシーケンサ状態間の可能な移行を示すものである。各線は、移行が矢印によって示す方向に線の経路に沿って1つの状態から別の状態へ向かうことを示す矢印を有する。各矢印は、2つの付随する名称を有する。例えば、矢印303は、矢印が続くEOを有し、1.EOは、偶数1を出力するようにシーケンサに命じるようにアサートされるシーケンサ論理への入力である。EZは、偶数0を出力するようにシーケンサに命じるようにアサートされるシーケンサ論理への入力である。OOは、奇数1を出力するようにシーケンサに命じるようにアサートされるシーケンサ論理への入力である。OZは、奇数0を出力するようにシーケンサに命じるようにアサートされるシーケンサ論理への入力である。矢印が続く関連O(305のような)と1又は0とは、EO又はOOビット送信指令の指示されたもののアサートに応答して適切な状態移行を達成するために、1状態フリップフロップと関連の1出力がそれぞれ1又は0に駆動されるべきであることを示している。同様に、矢印が続く関連Zと1又は0とは、EZ又はOZビット送信指令の指示されたもののアサートに応答して適切な状態移行を達成するために、0状態フリップフロップと関連の0出力がそれぞれ1又は0に駆動されるべきであることを示している。シーケンサ制御論理は、入力指令と現在のシーケンサ状態に共に応答して望ましい状態移行を引き起こすか又は現在の状態を維持するために必要とされる制御措置を判断する。図示のシーケンサに対しては、8つの許容された移行のいずれか1つに対して、1つの状態フリップフロップだけによって値が変わる。これは、非同期シーケンサ設計では望ましい状態であり、その理由は、状態フリップフロップにおいて又は制御指令EZ、EO、OZ、又はOOにおいて同時移行は、シーケンサが間違った状態又は無効状態にさえも移行する原因になる場合がある制御論理における曖昧な競争状態を容易にもたらす可能性があるからである。これは、送信ビット当たりに正確に1つの出力移行を有することが関連の制御論理に恩典をもたらす意味がある更に1つのポイントである。この恩典は、図4の受信器の場合の方が直接的である。全ての可能な移行は、偶数状態から奇数状態又はその逆も可能であることに注意されたい。ビットレートがクロック周波数の最大2倍までの速さである時、シーケンサ論理は、非同期であることが好ましい。シーケンサは、シーケンサが偶数状態である時にEZ又はEO指令がアサートされ、シーケンサが偶数状態である時にOO又はOZ指令がアサートされるべきであるように設計される。ブロック306は、可補クロック(〜clk)をen_o_e又はen_z_eでそれぞれAND処理することによってEO及びEZを発生させる様子を示すものであり、ここで、en_o_e又はen_z_eは、正のクロックエッジ後の1つのクロック周期にわたってアサートされるべきである。また、ブロック306は、クロックをen_o_o又はen_z_oでAND処理することによってOO及びOZを発生させる様子を示すものであり、ここで、en_o_o又はen_z_oは、負のクロックエッジ後に1つのクロック周期にわたってアサートされるべきである。設計のこの部分においては、制御論理の誤作動を引き起こす場合がある不要なグリッチが発生しないことを保証することが好ましい。同期設計においては一般的であるclkに関する低歪みネットワークの使用は、設計段階のこの部分には手助けになる。恐らくは、ブロック306の論理は、制御論理内での同期要素と非同期要素の間のインタフェースの点である。ブロック307における「verilog」様式ステートメントは、シーケンス状態図300の要件に従って操作することができる回路を実行する特定の部分的な設計の例を提供するものである。ブロック307では、指令信号EZ、EO、OZ、又はOOを発生させるためにシステムクロックを利用するブロック306内で定められる信号を使用する。クリアclrは、任意的なものであり、例えば、電源投入時にシーケンサを既知の状態にするのに使用することができる。O状態機能をもたらすフリップフロップは、Oに対応する出力oout及び〜Oに対応する出力ooutを有する交差接続NORフリップフロップによって形成される。soout及びrooutの論理表現により、このフリップフロップのそれぞれのセット及びリセット機能及び状態図300に示す状態移行に従って、oout、O、フリップフロップの状態を制御する機能が得られる。これらの式及び説明では、「verilog」記号〜、|、&、及び^を使用して、補完、ビット的OR、ビット的AND、及びビット的排他的ORを示す。同様に、Z状態機能をもたらすフリップフロップは、Zに対応する出力zout及び〜Zに対応するnzoutを有する交差接続NORフリップフロップによって形成される。szout及びrzoutの論理表現により、このフリップフロップのそれぞれのセット及びリセット機能及び状態図300に示す状態移行に従って、zout、Z、フリップフロップの状態を制御する機能が得られる。
ここで図4を参照すると、シーケンス状態図400は、1/0シリアルコードを有する信号を受け入れてクロック及びデータストリームを発生させるシーケンサの状態を詳細に示している。シーケンサの状態は、受信データビット及びその奇数/偶数状態の値を示している。401は、代表的な状態である。O入力上の移行により、1を受信したことを示す状態への移行が引き起こされ、Z入力上の移行により、0を受信したことを示す状態への移行が引き起こされる。更に、移行先は、O及びZ入力の偶数(適合)又は奇数(不適合)値を正しく示す状態である。各状態の表は、Oの下でのO入力の値、Zの下でのZ入力の値、Cの下での状態フリップフロップの値sfc、Bの下での状態フリップフロップの値sfb、Aの下での状態フリップフロップの値sfa、及びVの下で受信したばかりのデータビットの値を示している。また、状態の奇数と偶数の区別は、OとZの入力の値が互いに適合しなかった時は奇数、OとZの入力の値が互いに適合した時は偶数と示される。状態番号の名称は、それらが、状態フリップフロップC、B、Aの2進値と一致し、かつ、Cが最上位のビットとして取られ、Aが最下位ビットとして取られるように割り当てられている。状態はまた、「Karnaugh」マップ407に表示された時にその相対位置と一致するように配置されている。1(O)又は0(Z)の入力線上の移行により、Vの関連の値を受信したばかりのデータビットの値に等しい状態への移行がトリガされる。1/0シリアル通信プロトコルには、送信される各ビットに対して1回の移行のみが発生するという特性がある。更に、シーケンサ状態移行は、全ての有効状態移行に対して状態フリップフロップ値A、B、又はCのうちの正確に1つが変化するように配置されている。大きなタイミング上の問題を呈する同時に変化する入力又は状態変数間の競争状態を有することなく、一度に入力状態移行1つのみが変化し、一度に状態フリップフロップ値1つのみが変化するシーケンサが作動するように設計することができる。各有効移行は、402が代表的なものである矢印によって表されている。移行は、矢印で結ばれた状態の間にあり、矢印によって示された方向に発生する。403が代表的なものである表示された入力値移行は、移行をトリガするために変化したばかりである入力O又はZを示し、1又は0値への矢印は、移行がそれぞれ1又は0へのものであることを示している。得られた状態変化及びこの変化に対して表示されたデータビット値と共に各状態のOとZの入力の値とこれらの入力における可能な移行を調べれば、状態図により、O及びZの望ましい変換、1/0コード、適切なデータビット値表示Vへの移行が達成されることが確認されることになる。表現404は、矢印402によって表示された状態変化を行うために状態フリップフロップCが0に移動したことを示している。状態変化の各々に対して、移行を行うために変化する状態フリップフロップA、B、又はCは、望ましい移行変化を引き起こすための状態フリップフロップの移動先である1又は0値を指す矢印で示されている。
ブロック406から411は、一般的にシーケンサ400に従って作動するシーケンサの各部分を実行することができる方法を示す「Verilog」コードの小さな各部分を含む。ブロック406においては、NORゲートのたすきがけ対を用いて3つの非同期セットのリセットフリップフロップをインスタンス化している。フリップフロップsfaは、sfa出力に対する出力sfaでNORゲートを定める第1の式と、補完sfa出力に対する出力nsfaでNORゲートを定める第2の式によって説明されている。任意的なクリア入力clrを電源投入時に又はハードリセットとして使用することができ、また、一般的に使用することが意図されている。ssfaは、sfaフリップフロップを設定するためにアサートされ、rsfaは、sfaフリップフロップをリセットするためにアサートされる。ブロック406内の式の他の2つの対は、sfbとsfcのフリップフロップを定める。これらの式は、sfaの式と似たものであり、文字aは、それぞれ、文字b又は文字cで置換されている。
ブロック408は、ブロック406のフリップフロップを制御し、次には、シーケンス図400の状態移行を制御する、セットとリセット機能を定める「Verilog」表現を含む。少し詳細に説明すると、ブロック48の第1の表現は、出力ssfaとの組合せ論理ブロックを定める。ssfaは、状態フリップフロップsfaを設定するようにアサートされる。シーケンス図400を調べると、420の移行と421の移行が、フリップフロップsfaの設定対象である2つの移行であることが分る。420では、sfaは、シーケンサが状態0(〜sfc & 〜sfb & 〜sfa)である時に設定され、Oは、フリップフロップsfaが設定され、かつ420で移行を発生させるようにssfaをアサートする表現全体が(〜sfc & 〜sfb & 〜sfa & oin)であるようにOがアサートされる。同様に、フリップフロップsfaが設定され、かつ移行421が発生させる表現全体は、(sfc & sfb & 〜sfa & zin)である。これらは、フリップフロップを設定する僅か2回の移行であるので、sfaを設定する表現全体は、ssfa=(〜sfc & 〜sfb & 〜sfa & oin)|(sfc & sfb & 〜sfa & zin)である上述の2つの表現のORである。また、状態図400の移行を調べれば、フリップフロップをリセットするようにrsfaがアサートされる2回の移行があり、同様に、フリップフロップsfbが設定又はリセットされる2回の移行があることが分る。フリップフロップsfcが設定され、かつsfcがリセットされる4つの移行がある。従って、フリップフロップsfcを設定するようにアサートされるssfcを定める式において、かつフリップフロップsfcをリセットするようにアサートされるrsfcを定める式においては、4つの項が一緒にOR処理される。
ブロック409を参照すると、上述したように、1(O)と0(Z)の線をまとめて排他的OR処理すると、受信されるデータの各ビットを伴って移行する再構成クロックを作成することができる。これは、本発明の場合にも当て嵌まることであるが、フリップフロップsfa、sfb、又はsfcの正確に1つは、O又はZの入力において移行又は変化に応答して状態が変わる。従って、sfa、sfb、及びsfcをまとめて排他的OR処理すると、ブロック409で行われるように、再構成クロックoclkを作成することができる。O又はZの入力における移行の受信と、対応するsfa、sfb、又はsfcの変化のアサートとの間には短い応答遅延がある。従って、sfa、sfb、及びsfcのフリップフロップの変化のタイミングは、出力データのアサートのタイミングにより近いものであり、これによって、この表現が、少なくとも一部の用途においては使用する上で良好な表現になる。OとZの入力の排他的OR処理を任意的に用いることができ、また、クロック信号の導出に使用することができるようにsfa、sfb、及びsfc以外の導出論理項目も使用することができることを理解すべきである。
ブロック410は、2つのフリップフロップを定める「Verilog」ステートメントを含む。第1のフリップフロップは、奇数状態の1つに移行することによってシーケンサ400の状態が奇数ビットの受信に応答した直後に、奇数ビットの1/0値に設定される出力podoを有する。podoの値は、ocklの1クロック周期にわたって持続し、この時点で次の奇数ビットの値に設定される。第1のフリップフロップは、偶数状態の1つに移行することによってシーケンサ400の状態が偶数ビットの受信に応答した直後に、偶数ビットの1/0値に設定される出力evoを有する。evoの値は、ocklの1クロック周期にわたって持続し、この時点で次の偶数ビットの値に設定される。podoは、シーケンサ400が状態5又は6に進んだ時に設定され、シーケンサ400が状態0又は3に進んだ時にリセットされる。evoは、シーケンサが状態1又は2に進んだ時に設定され、シーケンサが状態4又は7に進んだ時にリセットされる。podoとevoは、各々、奇数と偶数の応答をペアリング又はグループ分けするだけでなく、その持続期間が全クロック周期であるのに対して、シーケンサの状態の持続期間は、クロック周期の半分だけである。podoの移行は、ほぼoclkの立上りエッジから次の立上りエッジまで延び、evoの移行は、ほぼ、oclkの立下りエッジから次の立下りエッジまで延びる。回路タイミングによっては、これらの信号をサンプリングする時点が変動する可能性がある。この設計においては、信号は、信号の安定期間のほぼ中点にあるクロックエッジ上でサンプリングされる。
ブロック411は、正のクロックエッジトリガタイプdフリップフロップをクロック入力c、クリア入力clr、d入力d、q出力qで定める「Verilog」モジュールffdcを参照するものである。モジュールffdc_1は、負のクロックエッジトリガされたものである点を除いて、モジュールffdcと同じである。第1のフリップフロップodofは、中間点でpodoをサンプリングしてoclk(このブロックではoclkはシステムクロックとして使用)と同期され、かつ遅延幅がクロック周期の半分である信号odoを出力する。第2のフリップフロップpevodfは、中間点でevoをサンプリングして、oclkと同期され、かつ遅延幅がクロック周期の半分である信号pevodを出力する。第3のフリップフロップevodfは、中間点でpevodをサンプリングして、oclkと同期され、かつpevodからの遅延幅がクロック周期1つ分である信号evodを出力する。evodのevoからの遅延幅は、odoとevodが互いに同期され、かつoclkの負のエッジ上で移行するようにクロック周期1つ分である。evodとodoは、oclkをシステムクロックとして有する同期回路内の偶数/奇数データビット対として容易に処理することができる。
1−0送信プロトコルの一対の2進信号と関連の信号線、及び一般的に送信信号は、DC均衡の維持に近づくものではない。ここでは、DC均衡とは、0と1の送信状態に対して、それぞれ0と1という割り当てられた値に関する約0.5の平均値を意味する。DC平均が2進通信状態に割り当てられた2つの値の平均に近く、かつ長期平均をほぼ中間点値に戻すために反対方向に相殺的コンテンツが存在する前に平均値が1つの方向に過剰に構築されないようなコードを有することが望ましい。この特性は、波形の大きな変化なしに変圧器からの信号を実行することができるという点で必要である。変圧器の結合に対しては、2進法の1が、1つのパリティを有する信号レベルによって表され、2進法の0が、振幅はほぼ等しいがパリティが逆である信号によって表されるように、差動信号が通常使用される。詳細に後述する好ましい符号化技術の場合、データ依存移行の中心がクロック移行間にある時、1ビットは、単一の1の均衡が保たれるように1と0の状態で等しい時間を費やす。0送信の場合、符号化は、各0送信に対しては、送信周期全体が、直前の0送信の送信状態の送信周期と反対である送信状態で費やされる。すなわち、干渉する0送信のない0送信の各対は、平均的にDC均衡状態になる。また、送信データストリームから周期的クロック信号を回復することができ、これをデータ回復として、及び更には受信端でのシステムクロックとして使用する方法を有することが望ましい。場合によっては、この回復クロックを用いて論理回路をクロック処理し、戻りデータストリームを発生させることができる。また、データストリームのビットレートを実質的に超えるクロック周波数を必要とせずにデータを回復することができることが望ましい。また、送信ビット当たりのデータ線移行は、比較的少ないことが望ましい。上述のように、従来のクロックデータでは、ビット当たりの平均移行回数は約2.5回であって一対の信号が必要であり、1−0では、必要な移行回数は、ビット当たりに正確に1回であって一対の信号が必要であり、説明する方法では、データビット当たりの平均移行回数は1.5回であって必要な信号は1つだけである。ビット符号化の送信波形は、マンチェスター符号化というデータ送信手法のある一定の変形で使用されるものと似たものである。この特定の符号化手法にはある一定の利点があるので好ましい実施形態に選択したが、本発明の特徴の多くは、異なる符号化手法を用いても有効であることは変わらないことを認識すべきである。
任意選択肢として、分離クロック及びデータ又は1−0のような別の送信手法をマンチェスター符号化の好ましい変形の代わりに使用することができ、この好ましい変形は、クロックとデータを組み合わせて1つの信号ストリームにしてインタフェースから遠隔ユニットに送信するというものである。
以下で詳細に説明するように、この符号化手法は、各2進ビット値を表わすか又は送信する1ビット周期の間隔を含み、これらの間隔の各々は、持続されたデータストリーム内でビット当たりに正確に1回のクロック移行があるように強制的な2進ビット値移行で始まることが好ましい。連続的ビットに対しては、各ビット周期間隔は、間隔の最初に強制的なビット値移行で開始され、次のビット周期間隔の最初に強制的なビット移行で終了になる。これらの間隔の各々は、0又は1の中間2進ビット値移行を有し、この中間2進ビット値移行は、送信値の推定をこれらの送信中間移行の有無のパターンから行うことができるように選択される。好ましい構成においては、2進法の1は、このビットを表す間隔内の単一の2進ビット値移行の存在によって表され、2進法の0は、このビットを表す間隔内の中間ビット値移行の不在によって表される。
データを符号化するために、ビット周期間隔の長さに通常は基づいている遅延時間を有する遅延線を関連の論理と共に用いて、中間データ移行をビット周期間隔の各々の間で発生する強制的クロック移行と組み合わせることができる。任意的に、送信ストリームの発生は、例えば、同期論理回路によって行うことができる。
データを復号化するために、好ましい実施形態の特徴は、ある一定の論理要素が送信データを符号化する中間クロック移行に直接応答することを禁止する回路内で遅延、好ましく単一の遅延を用いて、これらの要素がビット周期間隔の各々の間に発生するクロック移行に直接応答することを可能にすることである。次に、ビット値が推定される周期の始めと終わりでのクロック移行の相対的方向を判断することが望ましい。回路は、ビット値を示すこのレベル比較がビット周期の一部にわたって持続するように配置されることが好ましい。また、望ましい結果は、ビット当たり1クロックサイクル又は任意的にビット当たり半分のクロックサイクルを有する導出クロック信号が、遅延要素を通過する1つ又は複数の信号を含む論理信号から導出することができることである。導出クロック信号はまた、論理が戻りデータストリームを生成し、ビット周期間隔境界クロック移行による信号を符号化し、更に、ビット間隔境界でのクロック移行と送信データ値を表す中間移行との間での適切に制御された望ましいタイミング位相関係の確立を行うためのクロックとして使用することができる。基準クロック信号の受信と位相関連データ信号の出力を含むイベントのチェーンにおいては、周波数及び位相基準は、クロック基準から遠隔装置を通って戻りデータ信号まで実質的に伝播する。
図5を参照すると、第1、第2、及び第3のビットの符号化を有する3ビットシーケンス、すなわち、2進法の110の波形が、それぞれ、501から503、503から505、505から507に延びている。501、503、505、507のビット境界の垂直方向のタイミングマークには、基準として0度の位相が割り当てられており、各ビット周期には、基準として360度が割り当てられており、従って、中間ビット位置には、502、504、及び506での垂直方向のタイミングマークに対して示されている180度の基準位相が割り当てられている。トレース510には、1ビットの各々に対して180度の所に単一の移行があり、それ以外には移行はない。
信号520は、0度地点に移行があるクロックであり、トレース530は、信号510と520の排他的NOR処理を行うことによって形成される。これは、基準クロック及びデータを通信するために好ましくはインタフェースから遠隔ユニットに送信された形式の信号波形である。トレース510は、1−0符号化で使用される1信号と同様のものである。ここでは通常使用されずにp値のビットの180°位相での移行の不在によって推定されるトレース540は、1−0信号手法の0信号であろう。トレース550は、回復データである。これがトレース540の補完であるということは単に偶然である。
マスターユニットが指令をスレーブに出し、次に、個別のクロックパルスのシーケンスを出し、それに対して、スレーブが個別のデータビットのシーケンスを戻すことによって応答する従来技術のシステムが存在する。このようなシステムでは、出されたクロックパルスと戻されたデータビットの間には、通常は一対一の対応があり、通常、この対応を用いて、戻されるデータビットの各々の位置及び意味を判断する。更に、データ転送速度は、通常は位相関係を整列させるプロビジョンが不要であるほど十分に遅いものである。
図6を参照すると、インタフェースユニット600は、遠隔ユニット650とシリアル通信する。インタフェースユニット、遠隔ユニット、又はその両方のユニットは、マイクロコントローラを含むことを理解すべきである。この遠隔ユニットは、例えば、シリアルインタフェースを有するカメラとすることができる。インタフェースユニットは、通信システム制御装置604とシステムクロック605を有する。このシステムクロックは、説明する遠隔ユニット650の周波数基準として使用されることが好ましい。インタフェースユニット600内のシリアルインタフェースは、ブロック601、602、603を有する送信部分を含む。このブロックを用いて命令及びデータを遠隔ユニット650に送ったり、また、用途として好ましくは以下の3つの機能がある基準クロックを送信する。第1に、クロック605は、シリアル送信データのクロックとして使用されることが好ましい。第2に、クロック605は、遠隔ユニット650用発振器又はクロック生成器の周波数基準として使用されることが好ましい。これは、受信クロック及びデータ信号から抽出される基準クロックの再構成及び好ましい増倍によって行われる。周波数増倍は、遅延要素を用いて行われることが好ましいが、位相固定ループの使用を含む他の方法によっても達成することができる。第3に、クロック605は、遠隔ユニット650からインタフェースユニット600にシリアル送信されるデータの周波数基準として使用されることが好ましい。遠隔ユニット650からインタフェースユニット600に戻されるデータストリームが、別の基準クロックがなくても復号化される適切なタイミング情報を含むとしても、差動対662及び663上で戻されるデータがシステムクロック605と比較的安定した周波数と位相の関係を有するようにタイミング処理された場合には、復号化処理を達成するのが通常はより容易である。以下に詳細に説明するように、クロック605と同期して差動線621及び622上で送信されたデータ信号を符号化することによってこれを達成する。この送信クロックとデータの信号を遠隔ユニット650内で用いて、クロック信号669を構築及び/又は同期化する。このクロック信号は、遠隔ユニット650用システムクロックとして使用されることが好ましい。次に、遠隔ユニット650は、システムクロック669と同期して差動対の線662及び663上でインタフェースユニット600に戻されたデータ信号を符号化する。従って、同期クロック基準とシステムクロックのこのチェーンを通じて、安定した周波数と、受信データとインタフェースクロック605の間の比較的安定した位相関係とを維持することができる。差動線662及び663上で戻される信号内にタイミングデータを供給するための余分な信号帯域幅を必要とするのではなく、データを復号化するために、インタフェースユニット600によって受信したデータと位相同期システムクロック605との間に満足な位相関係が存在することを確立するように差動線662及び663上で戻される信号内に十分な情報を有することのみが必要である。入力データシステムの満足な復号化のために、データをシステムクロックとの満足な位相関係又はアラインメントに持ってくるために、受信データストリームとシステムクロック605との間の位相関係を調節するユニットを設置することが好ましい。また、位相検出器を用いて満足な位相関係又はアラインメントが確立された時を判断し、かつ、位相関係の状態に応答して着信データを受信することが十分であるように位相関係を調節するユニットを設置することが好ましい。この目的のために可変周波数発振器に基づく位相固定ループを用いることができるが、調節可能又は選択可能な遅延及び/又はクロックエッジの選択を用いてデータをサンプリングしてこの位相関係を調節することが好ましい。代替的な設計においては、位相アラインメントをクロック基準が維持される経路のほとんどあらゆる地点で達成することができる。例えば、それは、インタフェースから遠隔ユニットまでのクロックとデータストリームの送信における調節可能な遅延によるものである。システムの設計は、時間と共に、特に短期間で位相関係が安定する傾向があるように行われることが好ましいので(すなわち、比較的安定)、必要なのは、周期的にこの測定及び調節を行うことだけであろう。可能性としては、設計別の位相の確立、初期製造較正の一部としての位相調節、立上げ時の位相調節、周囲温度の変化のような作動状態の変化を補正するために又は着信データとデータの復号化に使用するクロックでの適切な位相関係を維持するために、連続的又はほぼ連続的なフィードバック制御を行うことによる位相の周期的な調節がある。任意選択肢として、データの位相同期の維持に使用しないシステムのクロックは、本明細書で説明するクロックと同期する必要はないが、データは、これらの任意的なクロックとデータ同期クロックとの間で通常は同期しなければならず、他のクロック基準を設けて付加的な非データ送信関係クロックと独立して参照かつ安定化させなければならない。設計によっては、データ受信差動線対662及び663を多重化して、650と類似の2つ又はそれよりも多くの遠隔ユニットからデータを受信する。差動線対662及び663を時分割処理する場合もあれば、662及び663と類似の更に別の対を追加する場合もある。いずれの場合にも、インタフェースユニット内での受信データ信号とシステムクロック信号の間の位相は、遠隔ユニットが異なると異なることが多い。このような場合、システムは、位相差に満足に応答するのに十分に迅速に調節されるべきである。代替的な任意選択肢として、多重化されたユニットの各々に対して、満足な位相調節パラメータを確立して記録することができ、通信インタフェース制御ユニット604は、指定の遠隔ユニットの各々に対して適正な位相調節パラメータを設定して指定ユニットからデータを受信することができる。別々の受信チャンネルが使用される場合、別の任意選択肢は、これらのチャンネルの各々に対して個別の位相アラインメントを行うことである。これが行われた時、要件が、特定のチャンネルの100%の専門化は必要ではないというものである時に、位相検出器のようなある一定の構成要素をチャンネル間で共有することができる。好ましい実施形態では、送信経路に差動対のワイヤを利用する。本発明の特徴の大部分は、光伝送路を使用するか、又は、無線周波数伝送路か又は例えば信号が共通接地ケーブル又は同軸ケーブル又は他のシールドケーブルを基準とする単一ワイヤとすることができるシングルエンド伝送路を使用することができるシステムに等しく十分に適用されるものであることを理解すべきである。
インタフェース制御ユニット601は、送られるデータを待ち行列に入れて、それをインタフェース送信データユニット602に送る。データユニット602は、データ信号をマンチェスターコードの変形として復号化し、それをラインドライバ603に送ることが好ましい。任意的に変圧器結合を含むことができるラインドライバ603は、好ましくは、差動線上でデータ信号を遠隔ユニット650の受信器に送信する。システムクロック信号618は、シリアル通信データのタイミングを発生させるのに使用されることが好ましい。このクロックが受信器650と、伝送線662及び663の差動対上で戻されたデータストリームとの周波数基準として有効であるためには、送信が通常は連続的であり、かつ送信クロック情報が送信データから容易に分離することができる送信プロトコルを用いることが好ましい。また、多くのシステムに対して、遠隔ユニット650モジュールから、その遠隔ユニットに送るのに必要とされるよりも速いデータ転送速度を受信すべきであることが予想される。すなわち、これらのシステムに対しては、インタフェースから遠隔ユニットに送られるデータには、各データビットと共にクロックビットを送信するオーバーヘッドが合理的である。送信プロトコルは、遠隔ユニット650がデータを構成し、かつデータ送信時のアイドル時間中に送信データをタイミング情報の持続的な送信から分離することを可能にする情報を含む必要がある。その時の情報送信時のビット数が8ビットであり、かつ各8ビットデータバイトの前に1つの「開始」ビットが挿入されたRS−232プロトコルと類似の比較的単純なプロトコルで十分であると考えられる。一般的な任意選択肢として、特に遠隔ユニットからインタフェースまでよりもインタフェースから遠隔ユニットにより多くのデータが送られるシステムにおいては、基準クロックを遠隔ユニット内に置くことができ、クロック処理が遠隔ユニット内で機能するようにクロックをインタフェースユニット内で再構成することができ、かつ、インタフェースを既に説明したものと一般的に入れ替えることができる。また、インタフェース及び遠隔ユニットとしての装置の名称は、例において便宜的に使用したものであり、本発明の多くの特徴は、遠隔ユニット及び/又はインタフェースユニットの役目をしないモジュールにも依然として適用されることを理解すべきである。更に、場合によっては、通信及びクロック回復手法を適用して、互いに近い装置間でクロック信号とデータ信号を伝達することができる。
遠隔ユニット650は、システム制御ユニット656と遠隔クロック発生器669とを有する。遠隔ユニットは、遠隔ユニット受信チャンネルをモニタする特殊状態検出ユニット654を含むことが好ましい。通信インタフェースユニット600は、通信線621及び622の差動対上のこの特殊状態を信号で知らせる設備を有することが好ましく、また、遠隔ユニット650は、システムクロックが作動していない場合があり、装置650内の受信器が適切に受信データを復号化するように較正されていない場合がある立上げモードでさえもこの特殊状態を検出する機能を有することが好ましい。これらの目的を満足する単純かつ好ましい方法は、差動線621及び622での通常のデータ及びクロック送信を停止又は休止して特殊状態を信号で知らせることである。従って、受信状態検出ユニット654は、単に差動線621及び622上の通信休止状態に応答するモジュールとすることができる。正常作動中は、送信は、連続クロック基準をもたらすために連続通信であるから、停止又は休止状態を意図的に立上げ時に利用して適切なシステムリセット及びシステムクロック初期化シーケンスを開始することができる。任意的に変圧器を有することができる差動ラインレシーバ651を使用して、差動通信データをシリアル2進符号化データストリーム信号に変換する。ブロック652では、基準クロックとデータを抽出する。ブロック653では、データを待ち行列に入れて、データをバイトに編成すること及び制御及びアイドルビットの除去のような初期フォーマット設定が達成される。データは、遠隔システム及び制御ユニット656に通される。遠隔システムは、例えば、命令及びクロック処理情報を受信するシリアル受信インタフェース及び比較的大量のカメラ画像データをインタフェースユニット600に戻すシリアル送信インタフェースを有するカメラとすることができる。
遠隔ユニット650においては、遠隔システム及び制御ユニット656は、通信インタフェース600にシリアルで戻すデータをモジュール659に入れる。モジュール650が、例えばカメラユニットである場合、戻りデータの構文及び編成は、画像データ生成方法と密接にリンクさせることができる。例えば、多くのカメラでは、画像データを処理し、アナログからデジタル形式に変換し、ピクセル単位でシリアル化する。これは、通常はシステムクロックと同期して行われ、通常、変換と送信は、列内の連続的ピクセルが読み取られている間に、クロック同期状態かつ割込のないデータフローで列単位に行われる。通常、列の読取の間には調節可能な持続時間の短い休止があり、連続フレームの読取の間にはより長い休止がある。カメラデータが比較的生の形式で通信インタフェースに送り戻される用途においては、低レベルの送信プロトコルを保持することが好ましい。これには、例えば、フレーム処理を確立し、場合によっては列の長さを示す列単位のヘッダを含むことができるであろう。列の長さの表示は、その列のピクセルデータの送信に先行すると考えられるフィールド内の列の送信におけるバイト数を表示することによって行うことができる。場合によっては、インタフェースユニットは、指令からの応答の正確な長さ及びフレーム処理を判断することができる。しかし、一般的に、データストリーム自体のコンテンツからインタフェースに戻されるデータのフレームを確立することが好適である。データ回復にインタフェースユニット内のシステムクロックを使用すると、このデータのフレーム指示及びデータビットが受信されているか否かに関する知識は、この情報を低レベルで供給するために多くの余分なビットを挿入しなくても、戻りデータストリームを低レベルで見れば、あまり確認し難いものではない。低レベルの多数の制御ビットを挿入することによって遠隔ユニット650からインタフェースユニット600に送られるデータの量を大幅に膨らませるのではなく、フレーム指示対象のデータのパケットを大型化することが好ましい。本発明の技術を用いると、かなり50%に近い負荷サイクルを有する遠隔システムクロックをブロック669で発生させることが合理的である。すなわち、このクロックを用いて、言うなれば2倍のビットレートデータストリーム、すなわち、システムクロックの各半サイクルに対してデータの新しいビットがあるデータストリームを発生させることは合理的である。これには、システムクロックの各エッジに移行を有することができるビットストリームの好ましくはグリッチのない生成が可能なデジタル論理が必要である。デジタル論理回路の場合、通常、システムクロックによってクロック処理されるフリップフロップから出力を取る、つまり直接に導出することが望ましい。このようなフリップフロップは、正のエッジのみか又は任意的に負のエッジに応答するが、システムクロックの両方のエッジに応答するものではなく、これによってフリップフロップは、通常のクロック処理モードでの使用時にフリップフロップの出力が完全なクロックサイクル当たりに最大1つの移行に限定される。本特許の1/0送信プロトコルに関する節で説明したように、1信号と0信号の生成は、直接的な非同期論理回路を使用して又は排他的OR機能を使用して、位相信号から2つの信号を多重化することにより2倍のデータ転送速度で行うことができる。従って、クロック周波数よりも大きいビットレートの符号化に関する好ましい任意選択肢は、送信する各2進法の1に対しては移行を有し、送信する各2進法の0に対してはそれを持たないことにより、戻りデータを符号化することである。これは、1/0送信プロトコルの1データ線に関する符号化と同等である。1/0対の0信号は、受信伝送線上、すなわち、差動受信線対662及び663上に移行がない受信データクロックビット周期がある時には、送らずに推定されることが好ましい。この移行符号化の場合、1は、移行が存在するビット周期として符号化され、0は、移行が存在しないビット周期として符号化され、遠隔ユニットからの戻り送信時の帯域幅利用を最大にするために、遠隔ユニットに送られるデータに使用されるマンチェスター符号化の変形の場合と異なり、ビット境界でのクロック移行の挿入はない。上記において、任意選択肢は、1/0プロトコルの0信号を送信して1チャンネルのコンテンツを推定することである。この場合、データ線移行は、1の送信を信号で知らせるのではなく、0の送信を信号で知らせるために発生することになる。
上述の送信フォーマットは、DC均衡状態ではなく、また、変圧器結合に良いものでもない。変圧器結合を必要とする時には、8B/10Bのようなデータ符号化を用いて、送信のためにDC均衡状態のデータストリームを供給することができる。8B/10B送信フォーマットは、ギガバイト「イーサネット」通信向けに使用するためのものを含む従来技術の装置、及びディスクドライブとのデータ送信用高速シリアルATAインタフェースにもあるものである。このフォーマットを使用すると、8ビットバイトは、10ビットコードと入れ替わり、DC均衡を維持する技術が用いられる。DC均衡の実現の他に、この符号化により、位相測定に良好なビット当たりの適切な回数のデータ移行が得られる。また、256個の8ビットデータに加えて、フレーム指示及び信号情報に送信されるデータを散在させることができるように、フレーム指示文字を含むいくつかの制御コードが10ビット符号化手法に含まれる。システムによっては、特に、変圧器結合が必要とされない時及びビットレートがクロック周波数よりも高くない時、又は他の技術を用いてデータストリームを発生させる時やシリアルデータが1つの信号チャンネルで送られてクロック信号が別のデータチャンネルで送られる時に、データストリームに使用されるような単純なレベルの符号化を用いることが好ましい場合がある。上記で示唆した送信方法のいずれかにおいて、特に、データ線で頻繁な移行を発生させる8B/10B送信手法では、発振器をデータビットの境界の移行に位相固定することによってクロックを回復することが可能であると考えられる。しかし、好ましい構成においては、システムクロック605と安定した関係でインタフェースユニット600にデータが既に戻されていることを利用することが好ましく、また、そのために所要ハードウエア数が少なくなる。従って、簡素化された位相検出と遅延及び/又は有効クロックエッジ選択の組合せを利用した着信データストリームの位相のシステムクロックへの又はその逆のアラインメントは、高性能位相固定ループの実行に好ましいものである。インタフェースユニットのシステムクロックに対してインタフェースユニットによって受信したデータの位相を検出するためには、受信データ線上に一部の信号レベル移行がなければならない。通常の受信データ内に適切な回数の信号レベルの移行がある場合、このデータをモニタして位相関係を判断することができる。一部の実施例においては、周期的に又はインタフェースユニット100からの指令に応答して特殊較正シーケンスを送るように遠隔ユニット650を設計することは有利であろう。このようなシーケンスを最適化すると、位相検出及び受信チャンネル同期処理を容易にすることができる。
図7を参照すると、信号トレース705は、クロック及びデータ情報をインタフェースから遠隔ユニットに送信するデータ信号を示している。使用することが好ましい符号化は、マンチェスターコードの変形である。垂直方向のスラッシュ701及び702は、第1のビット0(a)の境界を示している。使用するマンチェスターコードの変形にここで与える定義は、従来のものではなく、使用するクロック抽出及び復号化技術に便利であるものである。任意的に、マンチェスター符号化の他の変形を含む他の符号化手法を使用することができる。全てのビット周期は、長さが名目上等しく、全てのビットは、クロック移行を共有し、ビット境界の各々にあるその隣接ビットの各々が、ビット当たり1つの保証クロック移行を得ることが好ましい。選択したこの符号化手法の場合、これらの境界クロック移行間に更に別のデータ線信号移行がないビットは、0であり、これらの境界クロック移行間に正確に1回の更に別の信号移行があるビットは、1である。これらの更に別の中間データストリーム移行は、0ビットに対して1ビットを定めるために使用され、すなわち、データストリーム情報を符号化するので、データ移行と呼ぶものとし、全てのビット境界で発生する周期的な移行をクロック移行と呼ぶものとする。Dat信号705は、連続送信ビット(a)、(b)、(c)、(d)、(e)、及び(f)の2進数001101を表す。705からの符号化クロック及びデータの回復は、中間データ移行に対するフリップフロップの応答を禁止しながら境界クロック移行を有効にする役目をする遅延タイミング回路、好ましくは伝播遅延と共にフリップフロップを使用すれば容易になる。この例の実行においては、2つのフリップフロップが使用される。第1のフリップフロップの出力は、トレース706で示されている。706では、Ckdtは、トグルフリップフロップの出力波形706であり、このトグルフリップフロップは、負のエッジでトリガされ、クロック入力として波形705を有し、かつ、ビットクロック境界の各々では真であるが1データビットに対してデータ移行が発生する周期では偽である有効化信号を有する。トレース707Ckutは、信号705の正の移行に応答する点を除き、同様に生成される。データビット境界の各々では、これらの信号706と707の1つの移行があるがその両方の移行ではなく、かつ、信号内にはそれ以外の移行はないので、回復クロック信号712Rckは、単に信号705と706の排他的NOR処理を行うだけで生成される。排他的OR処理を用いることもでき、その結果、基準クロックに対しては逆の波形になるであろう。
任意選択肢として、クロックとデータを組み合わせて1つの信号ストリームにしてインタフェースから遠隔ユニットに送信するマンチェスター符号化のこの好ましい変形の代わりに、別々のクロックとデータ又は1−0のような別の送信手法を用いることができる。
送信された0には低、送信された1には高の2進形式で、信号705から回復する2進データストリームの一部をトレース711で示している。連続ビットがトレース708、709、710で表される3段階シフトレジスタ内に値707を登録することによって信号711で表されるように、パイプライン遅延様式でこの回復データストリームを構成する。3ビットシフトレジスタのシフトは、各ビット周期に対して1回行われる。データストリーム出力は、シフトレジスタの第1と第3のビットの排他的NORとして生成される。同様に、信号707の代わりに、信号706を3ビットシフトレジスタの入力として使用することができる。トレース708から711の点線による部分は、トレース705ビット(a)に先行した3つのビットの1つ又はそれよりも多くによって判断される値を表す。これらの値は、トレース705に対しては示されていないので、これらの値から導出されることになる値は、点線で示めされている。シフトレジスタの第1と第3のビットの排他的NORで再構成データストリームが得られる理由は、以下の通りである。送信される各0ビットに対しては、ビット境界でのクロック移行間には介入するデータ移行がない。従って、クロック移行が所定の0ビットのビット周期の始めで正である場合、ビット周期の終わりには負のクロック移行があり、同様に、ビット周期の最初に負のクロック移行がある場合、ビット周期の終わりには正のクロック移行があることになる。いずれにしても、この所定のビット周期の境界の各々で発生する2つのクロック移行内には、正確に1つの正のクロック移行と1つの負のクロック移行がある。これは、信号707の値には、0ビットのこの所定のビット周期の始め又は終わりに正確に1回の切り換えがあることを意味する。従って、所定の0ビットの場合、この所定のビットの直前にあるビット周期の707の値は、この所定の0ビット周期の直後のビット周期に対して707の値を不適合にすることになる。従って、この所定の0ビット周期の直後のビット周期内の707の値を表す信号とのこの所定の0ビット周期の直前のビット周期内の707の値を表す信号の排他的NORは0になり、これが、送信ビットの値を表すことになる。
1が送信される所定のビット周期の場合、データ信号705の値には正確に1つの中間移行があり、信号707は、中間移行に応答することが禁止されるが、この所定のビットの境界で正のクロック移行だけに応答する。1ビットの場合は中間データ線移行であるために、1が送信されるこの所定のビット周期の境界にある移行は、共に正か又は共に負ということになる。この所定の0ビットの場合と類似の推察により、1が送信されるこの所定のビット周期の境界にある705の2つのデータ信号移行に応答して、信号707の値内では正確に2つの又は正確に0の切り換えがあることになる。トグルフリップフロップのクロックの0と2を含む偶数により、トグルフリップフロップは、元の値に戻る。従って、1が送信されるこの所定のビット周期の直後のビット周期内の707の値を表す信号との1が送信されるこの所定のビット周期の直前のビット周期内の707の値を表す信号の排他的NORは1になり、これが、送信ビットの値を表すことになる。
データトレース711は、信号708と710の排他的NORを示すものであり、ビット(b)、(c)、及び(d)の回復値が示されている。上述のように、信号71Rckは、信号706Ckdtと707Ckutを排他的NOR処理したものであり、かつ、回復クロック基準信号である。信号713は、信号712を1/4ビット周期伝播遅延に通すことによって得られたものである。信号714は、信号713を1/4ビット周期伝播遅延に通すことによって得られたものである。信号715は、信号714を1/4ビット周期伝播遅延に通すことによって得られたものである。信号716は、信号715を1/4ビット周期伝播遅延に通すことによって得られたものである。システムクロックとして使用される信号717は、信号712、713、714、及び715を排他的NOR処理することによって形成される。これによって周波数が信号712の4倍であり、かつインタフェースユニットに戻されるデータストリームの生成にシステムクロックとしてかつクロック基準として使用されることが好ましい信号が得られる。この遅延は、タップ付きの単一の遅延要素として構成することができる。ビット周期の他の割合を使用することもできる。例えば、各々がビット周期の1/5の遅延に調節された5つの遅延要素を、各々がビット周期の1/4の遅延に調節された4つの遅延の代わりに使用することができ、位相クロック信号のうちの5つの信号をまとめて排他的OR処理するか又は排他的NORして基準クロック周波数の5倍のクロックを発生させることができる。信号718は、信号713と信号715を排他的NORしたものであり、かつ、信号707と708の生成に使用されるトグルフリップフロップの有効化信号として使用される。信号718は、信号705の場合、クロック移行間隔の間は1であり、データ移行間隔の間は0である。信号719は、信号712と714を排他的ORしたものであり、かつ、クロック717の正のエッジ上でデータ信号711のサンプリングを有効化するのに使用される。データ信号711の各ビット周期に対しては、信号719は、データ信号711が安定している時の間隔の間のクロック717の立上りエッジにある間は1である。
遅延が適正に設定された時、信号716Rckd4は、信号712Rckとほぼ同じであるはずであるが、遅延幅は、1ビット周期であり、これによって方形波信号712と716が180°位相がずれる。位相検出回路とフィードバックループは、4つの縦続遅延要素が1ビット周期に等しくなるように遅延の調節に使用することが好ましい。更に、4つの遅延要素の各々に対して伝播遅延の周期内に固有の整合性があるように、かつ、遅延較正のための調節への応答が4つの遅延要素の各々に対して実質的に同じであり、これによって共通の較正制御信号を使用することができるように、シリコンチップ上の適合構成要素を用いて遅延要素を製作することが好ましい。また、信号712Rckと信号716Rckd4との位相比較を行って、実際の位相シフトと理想的な180°位相シフトの間の誤差を判断し、この誤差を用いて補正信号を判断し、この補正信号をローパスフィルタに通し、最後に、それを好ましくは同等に信号713、714、715、及び716の生成に使用する4つの伝播遅延要素に適用することが好ましい。特定的な実施例においては、信号RckとRckd4は、180°位相がずれているので、Rckd4のアップエッジは、Rckのダウンエッジと実質的と同時に来るべきであり、同様に、Rckd4のダウンエッジは、Rckのアップエッジと実質的に同時に来るべきである。この例における回路の適正な作動を期すために、遅延は、180°に近いものである必要があり、波形の負荷サイクルは、50%に近いものである必要がある。50%からの負荷サイクルの小さな振れがあっても180°の位相シフト較正設定に悪影響を与えないことが好ましい。負荷サイクルの50%以外の位相の比較には180°の位相シフトを用いるために、位相シフトが発生した信号の部分が短いほど、比較対象の基準信号部分が長くなり、また、位相シフトが発生した信号の部分が長いほど、比較対象の基準信号部分が短くなる。この状況でさえも実質的に180°の位相シフトを達成するためには、Rckd4のダウンエッジに対するRckのアップエッジの位相角度とRckd4のアップエッジに対するRckのダウンエッジの位相角度の両方を考慮する位相比較回路を使用し、かつ、この方法でこれらの2つの位相測定値を実質的に平均して遅延回路補正値に到達することが有用である。代替的な任意選択肢は、恐らくは遅延周期を基準クロックの1つの完全なサイクル(2ビット周期)まで延長することによって信号が比較されるように、360°の位相シフトを用いることである。
トレース720から723は、基準クロックのRck波形720と、公称180°だけ遅延後のRck信号との間の位相比較を示している。遅延信号は、Rckd4(721)として示されている。この例においては、負荷サイクルは、名目上50%であり、Rckの立上りエッジの位相又はタイミングの比較は、Rckd4の立下りエッジの位相又はタイミングに対して行われる。信号Rckd4FstR722は、Rck720が低い状態である間にRckd4(721)の立下りエッジが発生した時にアサートされ、その結果、Rck720の立上りエッジの前に来る。この例においては、Rckd4FstR722は、Rck720が高い時にリセットされる。少なくとも50%の負荷サイクルの場合、Rckd4(721)の立下りエッジは、信号が180°位相がずれている時にはRck720の立上りエッジと一致するはずである。この例のように、Rxckd4(721)の立下りエッジが早く来る時には、遅延は、短すぎるので長くすべきである。この例の場合、Rck720の立上りエッジの後にRckd4(721)の立下りエッジが来たRckd4SlwR723は、0のままである。後で示す制御回路は、Rckd4FstRのアサートが遅延を長くする役目をするように構成されている。
トレース730から733は、遅延幅が公称180°となった後の基準クロックのRck波形730と、Rck信号との間の位相の比較を示している。遅延信号は、Rckd4(731)として示されている。この例においては、負荷サイクルは、名目上50%であり、Rckの立上りエッジの位相又はタイミングの比較は、Rckd4の立下りエッジの位相又はタイミングに対して行われる。信号Rckd4SlwR733は、Rckd4(731)が高い状態である間にRck730の立上りエッジが発生した時にアサートされ、その結果、Rckd4(731)の立下りエッジの前に来る。この例においては、Rckd4SlwR733は、Rckd4(731)が低い時にリセットされる。少なくとも50%の負荷サイクルの場合、Rckd4(731)の立下りエッジは、信号が180°位相がずれている時にはRck730の立上りエッジと一致するはずである。この例のように、Rckd4(731)の立下りエッジが遅れて来る時には、遅延は、長すぎるので短くすべきである。この例の場合、Rckd4(721)がRck720の立上りエッジの前に来た時にアサートされるRckd4FstR732は、0のままである。後で示す制御回路は、Rckd4SlwRのアサートが遅延を短くする役目をするように構成されている。
トレース720から723で示した第1の位相比較の例においては、位相遅延信号Rckd4は、遅延の長さが十分ではなく、補正信号Rckd4FstRがアサートされ、接尾辞部のFst部分は、遅延が短すぎて速すぎることを示し、接尾辞部のR部分は、位相比較がRckの立上りエッジに対して行われることを示す。トレース730から733で示した第2の位相比較の例は、この例における位相遅延信号Rckd4は、遅延が長すぎ、Rckd4SlwRがアサートされ、接尾辞部のSlw部分は、遅延が長すぎて遅すぎることを示し、接尾辞部のR部分は、位相比較がRckの立上りエッジに対して行われることを示す点を除き、第1の例と類似である。
この設計においては、負荷サイクルは、周波数増倍回路が適切に機能するように50%にかなり近いものである必要がある。しかし、回路が適切に機能する負荷サイクルの範囲があり、負荷サイクルが正確に50%であるとは決して予想されない。位相遅延の比較が、Rckの負荷サイクルの小さな誤差による悪影響を受けない限り、回路が適切に機能し続ける負荷サイクルの公差を上げることができる。トレース740から745は、Rck波形の高い部分が低い部分よりも長い例である。遅延トレースRcdk4(741)は、名目上適正な180°位相シフトで出現するように示されている。ここでは、740の短い方の低い部分は、名目上、741の長い方の高い部分に整列しているから、741の立下りエッジは、740の立上りエッジの後に来るが、741の立上りエッジは、740の立下りエッジの前に来る。曲線742と743は、曲線730から733で示す例におけるトレース732と733と同じ方法で得られる波形740の立上りエッジと波形741の立下りエッジとの位相比較の結果を表すものである。曲線744と745に対しては、740の立下りエッジと741の立上りエッジとの位相関係が示されており、740の立下りエッジは、F接尾辞部で示すように、これらの波形の基準である。この曲線を取得する方法は、曲線740から743で示す例における曲線742と743の取得に使用した方法と実質的に同じである。変更点は、各場合において、立ち上がりが立下りになり、立下りが立ち上がりになっている点である。また、Fst又はSlw接尾辞部を含んでいない信号を指していない時には、高い所が低い所になり、低い所が高い所になっている。制御回路においては、Fst接尾辞部を有する信号は、いずれも、信号がRckの立ち上がり、すなわち、R接尾辞部に対して計算されたものであるか、又は立ち下り、すなわち、F接尾辞部に対して計算されたものであるかを問わず、遅延を長くする役目をするはずである。同様に、Slw接尾辞部を有する信号は、信号がRckの立ち上がり、すなわち、R接尾辞部に対して計算されたものであるか、又は立ち下り、すなわち、F接尾辞部に対して計算されたものであるかを問わず、遅延を短くする役目をするはずである。この例においては、図示のような名目上適正な遅延があれば、Rckd4SlwRの遅延短縮効果は、Rckdr4FstFkの遅延延長効果を実質的に相殺し、その結果、負荷サイクルが50%から振れた時でさえも実質的に180°に等しい位相遅延を維持する回路の機能が得られるはずである。
曲線750から755で示す例では、曲線740から745で示す例と同じ立上りエッジと立下りエッジの位相比較の組合せを用いる。相違点は、750に対する751の位相シフトは、180°よりも大きく、Rckd4SlwRとRckd4SlwFが各々アサートされるという点である。
図8を参照すると、遠隔受信機能の入力データ処理の概要を示すブロック図が示されている。これは、図6の遠隔ユニット650と図11の遠隔ユニット1150の機能の1つの部分である。それは、一般的に、図7の信号トレースと図9の回路図に対して呈示された詳細な説明と似たものである。図7と図9からの関連の信号名を図8では括弧内に示している。801でデータを入力し、ブロック802、803、804によってこのデータの3つの特徴が抽出される。ブロック803においては、基準クロックが抽出され、この回路の他の部分の基準として使用することができる。ブロック802においては、入力データが抽出される。ブロック804においては、受信データ及びクロック送信における休止が検出される。この送信休止を使用して立上げシーケンスを開始することが好ましい。例えば、遅延要素調節に広い範囲がある場合、特定の遅延設定を用いて、例えば、最短遅延、別のデフォルト遅延設定、又は前回使用の遅延への調節を用いて始まることが好ましいであろう。また、様々な機能のリセット又は他の初期化を休止受信データとクロック状態で開始することができる。クロック送信の休止以外の送信条件を使用することもできるが、ブロック808の遅延に大きな誤調節があった時でさえも休止条件を検出する必要があるであろう。この誤調節により、入力データを正しく復号化することが不可能になる場合があるので、入力データを正しく復号化する必要がなく検出することができる送信休止のような特別な条件を用いることが好ましい。ブロック808は、遅延回路であり、この遅延回路を用いて入力データを抽出したり、また、様々なタイミング信号を生成したり、任意的に、基準信号と遅延基準信号を論理的に組み合わせて基準クロックを増倍してより高い周波数のシステムクロックを発生させることが好ましい。この遅延は、基準クロック周波数内に大きなジッタがある時には休止固定ループに好ましいものである。このようなジッタは、基準クロック信号を含むデータストリームの生成に使用するクロックが、より低い周波数の外部基準クロックソースを参照する集積回路内でより高い内部周波数を発生させるのに使用されることが多い休止固定ループ回路によって生成された時に存在するであろう。又は、それは、より低いピークのRFI放射に対する意図的に導入された周波数ディザである場合がある。図7及び図9に詳細に示すように、ブロック808では、遅延回路を利用して、基準クロックと比較して遅延を適正に較正する制御信号を発生させることができる信号を発生させる。位相比較を行って遅延制御信号を発生させる回路は、ブロック810で表されている。波形発生クロック813は、抽出基準クロックの周波数の倍数であるシステムクロックを生成し、かつ、回路の残りの部分で使用する様々なタイミング信号を発生させることが好ましい。
図9を参照すると、簡素化した回路図は、一般的に回路作動を実行して図7に示す波形の生成に使用することができる論理要素及び回路を示すものである。図7の関連波形の参照番号は括弧内に示されている。正のエッジクロックDフリップフロップ905は、入力データ信号705によってクロック処理され、信号718によって有効化される。インバータ940は、フリップフロップ905の反転出力信号をD入力に供給し、出力は、フリップフロップをクロック処理する入力データ信号の各有効化された正の移行を伴って切り替わる。信号718は、図7の説明に解説されているように、データ入力信号のビット境界でのクロック移行中にのみフリップフロップを有効化する。負のエッジトリガフリップフロップ906と関連のインバータ941は、データ信号705の有効化された負のエッジ移行上で出力信号706の切り換えがある点を除き、類似の機能を実行する。排他的NORゲート904は、入力として、入力データ信号の正のクロック移行で切り替わる信号707と、入力データ信号の負のクロック移行で切り替わる信号706を有する。出力信号712は、入力データ信号に発生するクロック移行の各々に対して正確に一回切り替わる。これらのクロック移行は、設計上、入力信号の各データビットに1回の移行を伴う近似方形波をもたらす各ビット周期の間で発生し、これによって周波数は、着信クロックデータ信号のデータ転送速度の半分になる。
基準クロック信号712は、好ましくは、適合した遅延要素907から910を有する4段階遅延線の第1の段階に供給される。調節可能な遅延の好ましい実施例は、ブロックの遅延の各々にカスケードCMOSインバータ論理要素、好ましくは、各ブロックの出力が非反転出力でないように各ブロックにおいて偶数のインバータ要素を用いることである。各インバータは、遅延の増分を追加するので、各ブロック内のインバータ要素の数を選択して、カスケードインバータ要素から成る遅延の組合せを適正なシステム作動が得られるように調節することができる範囲内にすべきである。4つの遅延ブロックの各々は、制御電圧942によって供給される。代表的なCMOSインバータ要素の一般的特性として、スイッチング速度は、供給電圧が大きくなると速くなる。従って、好ましい設計においては、スイッチング速度が、電圧が大きくなると速くなるインバータ要素を用いる。電圧942を上げて遅延線要素の遅延を小さくし、電圧942を下げて遅延線要素の遅延を大きくする。遅延線要素の入力及び出力は、バッファに入れられ、そうでなければ、供給電圧942の作動範囲にわたって回路の残りの部分と適正に接続するように調整される。適正な作動が得られるように、4つ要素の遅延は、ビット周期の1/4にほぼ等しいことが意図されている。従って、第4のタップ716での遅延は、基準クロック712の1/2のサイクルに等しい1ビット周期であるべきである。1/2サイクルの遅延は、入力基準クロック信号712と遅延クロック信号716との位相比較を用いて遅延誤差を判断したり、補正信号942を発生させることを便利にする。
論理要素911、912、及び913は、基準クロック712、遅延幅が1/4ビット周期であるクロック713、遅延幅が1/2ビット周期であるクロック714、及び遅延幅がビット周期の3/4であるクロック715の排他的NORを発生させる。この論理機能は、基準クロック712の周波数の4倍であるシステムクロックを発生させる。論理要素914は、遅延幅が1/4ビット周期713であるクロックと遅延幅がビット周期の3/4であるクロック715との排他的NORを発生させる。これによってクロック移行有効化信号718が生成され、この信号718は、遅延要素の適正な較正により、切り換えフリップフロップ905と906を有効化する役目をするように、かつこれらのフリップフロップが着信データ信号705のクロック移行だけに応答するように着信データ信号のクロック移行境界で真である。信号718は、ビット周期当たり1回の正の移行を有し、シフトレジスタフリップフロップ901、902、及び903のクロック処理に使用される。信号707と信号708におけるこれらのフリップフロップのシフトは、3つのシフトレジスタの第1の段階901が出力したものであり、信号710は、3段階シフトレジスタの第3の段階903が出力したものである。第1の段階708の出力と第3の段階710の出力との論理要素915による排他的NORの比較によって入力データストリーム705のデータ値711が生成される。排他的ORゲート916の出力部719は、有効化信号を生成してデータ出力信号711を読み取る。基準クロック712と遅延幅が1/2ビット周期である基準クロック714とは、排他的OR機能916に入力されるものである。
フリップフロップ752から920は、各々が位相比較処理の異なる成分を表す4つの信号を発生させる。位相比較機能を実行する4フリップフロップ回路の一般的な機能は、図8の関連信号の説明に解説されている。フリップフロップ917に対する一部の詳細では、基準クロック712が低い間に遅延基準クロック信号751の立下りエッジが発生した時に、遅延クロック信号751の立下りエッジに応答して出力位相表示信号が高く設定され、基準クロック712が高くなった時にリセットされるまで高いままである。従って、位相表示信号は、基準クロックが低い間に遅延クロック851の立下りエッジが発生した時に高くなり、基準クロック712が高い状態に移行するまで高いままである。すなわち、遅延基準クロックの立下りエッジと基準クロックの立上りエッジの間の時間間隔中は高い。残りの3位相比較フリップフロップ回路の作動は、類似のものであるので詳細な説明を割愛する。出力752と754の各々は、遅延制御回路内のこれらの信号のいずれかのアサートの作用が遅延を大きくする傾向があると予想される前に遅延信号の移行が発生した時の状態を示している。同様に、出力753と755の各々は、遅延制御回路内のこれらの信号のいずれかのアサートの作用が遅延を小さくする傾向があると予測された後に遅延クロック信号の移行が発生した時の状態を示している。
回路943は、4つの遅延表示信号752から755を処理して出力信号942を発生させるものであり、出力信号942は、望ましい目標範囲にわたって変動し、遅延が長すぎる(遅い)を一般的に示す信号753又は755の長めのアサートによって一般的に大きくなり、遅延が短すぎる(速い)ことを一般的に示す信号752又は754の長めのアサートによって一般的に小さくなる。使用する特定の回路内での短絡条件を防止するために、遅延は、速い応答と遅い応答の両方を示す信号が同時に発生した期間中は一般的に不変である。リセット信号944のアサートの延長が原因となって、出力遅延制御電圧は、遅延に短い値を持たせる高い値を有する。これは、遅延が本来のほぼ2倍になった場合には、偽の位相比較出力を発生させることができることから有利である。最も短い遅延に初期化すれば、これらの問題に遭遇する場合がある長い遅延を仮定しなくても適正な制御を確立することができる。リセット信号944は、他の場所で説明したように、クロックデータ信号705の送信における休止によって開始することができる。論理ブロック931の出力は、信号753又は755を示す遅い遅延がアサートされて速い表示信号752又は754のいずれもアサートされない時か又はリセット信号944がアサートされた時に低くなる。論理ブロック931からの低い出力でトランジスタ921がオンになり、レジスタ923の入力が正の供給電圧921まで引っ張られる。これによってレジスタ932を通じてコンデンサ924が荷電され、フィルタリング時間定数をもたらし、942で出力電圧が大きくなる。論理ブロック932の出力は、速い遅延表示信号752又は754のいずれかがアサートされ、かつ遅い表示信号753又は755のいずれもアサートされないか又はリセット信号944がアサートされた時に高くなる。論理ブロック932からの高い出力でトランジスタ922がオンになり、レジスタ923の入力が接地926まで引っ張られる。これによってフィルタリング時間定数を通じてコンデンサ924が放電され、942で出力電圧が小さくなる。Rstがアサートされず、かつ速い又は遅い表示信号752から755のいずれもアサートされなかった時に、トランジスタ721又は722のいずれもオンにはならず、従って、コンデンサ924の電荷は、比較的そのままであり、その結果、出力部942で電圧は比較的不変であることになる。
レジスタ923とコンデンサ924は、回路のローパスフィルタの役目をする。レジスタ928、929、935、933、及び934は、作動増幅器927とバッファ増幅器930と共に、コンデンサ924上の電圧が出力電圧942の変化を引き起こす入力範囲を制御する。また、これらのレジスタは、出力部942で出力電圧の範囲を確立する。従って、レジスタと作動増幅器から成るこのネットワークにより、ローパスフィルタコンデンサ上の電圧に対して制御信号の利得、レベルシフト、及び出力範囲が制御される。上述のように、電圧942は、4つの遅延要素907から910の遅延の制御に使用される。好ましい回路においては、この電圧は、遅延の作成に使用されるカスケードインバータ要素に対する供給電圧の役目をする。この構成においては、供給電圧942が大きくなると、遅延を小さくする用途に使用されるカスケードインバータのスイッチング速度が速くなり、同様に、供給電圧942が小さくなると、遅延が大きくなる。
遅延線補正技術の使用の場合には、一般的に関連するいくつかの点に注意すべきである。一般的に、回路内の調節可能な遅延は、ビット周期の分数値からビット周期数回分の範囲にわたるものであり、調節可能な遅延間隔におけるビット周期の大きな部分の誤差を伴って多くの場合に適正な作動を維持する。従って、多くのこのようなシステムに対しては、回路のデータ送信又は他の性能特性に誤差が発生する前に、回路内の遅延要素の遅延又は基準クロック又はデータストリームのクロック速度は、名目上適正な設定からいくつかの百分率ポイントだけ外れることが多い。また、適正な遅延設定が確立された状態では、例えば、遅延設定値が保存及び回復されなかった場合の電源投入時の初期較正のような回路作動状態の感知することができるほどの変化、大きな温度変化による伝播遅延の変化又は回路内の作動電圧変化、又は主基準クロック周波数の大きな変化があるまで遅延設定を変えることは通常は必要ではない。従って、全てのサイクルで誤差を蓄積して一定かつ正確な周波数補正を必要とする位相固定ループ発振器と異なり、説明する要領でデータ及び基準クロック抽出、周波数増倍、及び位相補正に遅延要素を使用する回路では、全てサイクルに関して誤差は蓄積されず、また、一般的に、較正の補正を必要とするまでに、回路作動状態のかなり大きな変化に耐えるものである。数パーセントの範囲であることが多い遅延誤差に対する公差のために、また、遅延特性に影響を及ぼす温度のような環境要素の変化が比較的遅いために、比較的不定期な間隔で遅延設定を調節することが通常は必要である。位相固定ループを用いる従来技術のシステムに対しては、誤差は、全てのサイクルで蓄積され、データ復号化に関しては、周波数を適合させなければならないばかりでなく、位相をビット周期の分数値内に保持すべきである。従って、制御発振器の周波数制御は、極めて安定して正確でなければならず、位相固定ループの固定先であるデータストリームのビットレートのような周波数の大きなジッタによって引き起こされるなどの小さな変化で制御発振器が同期を失い、その結果、データ復号化及びビットストリーム同期誤差が発生する場合がある。遅延要素を使用する好ましい実施例に対しては、基準クロック周波数の大きな変動が許容され、これらの変動を追跡するための遅延調節は必要ない。従って、基準発振器周波数の変動に対するこの設計の許容誤差のために、制限付きではあるが大きな周波数範囲にわたって拡散スペクトル技術を用いて基準発振器周波数をディザ処理すると、回路の性能に悪影響を与えないまま、放射干渉を大きく低減することができる。更に別の利点として、好ましくは単一の主周波数基準での拡散スペクトルディザは、複数の拡散スペクトル周波数発生器を設置する必要がなく、拡散スペクトルソースの利点がシステム中に伝播するように、一般的にデータストリームで及び主周波数基準から導出されたクロック周波数で複製される。
集積回路システムMK5812は、拡散スペクトルインタフェースシステムクロックに使用することができるクロック発生器の一例である。ピーク放射の振幅は、使用する分散度を含む多くの要素に依存するが、例えば、MK5812部を用いることによって、3番目から19番目の奇数高調波に対しては、8dbから16dbだけ低減すると主張されている。自動車用途においては、回路は、受信アンテナ近くに置かれることが多い。MK5812では、周波数変調に鋸歯波形を用いる。この変調の周波数は、可聴又はFMステレオ範囲であるべきではなく、又は可聴音又はFM受信器として拾われる可能性が高い。MK5812部は、滑らかな鋸歯変調手法を利用して位相固定ループで追跡することを可能にしている。
好ましい実施形態に示すように、位相固定ループを有する可変周波数発振器よりもむしろ遅延要素が用いられる時、設計は、スイッチング電源に使用されることが多いより混沌としたディザ技術が使用されるように、ランダム又は擬似ランダムディザ処理を許容すべきである。
図6又は図11に従って製作されるシステムは、遠隔ユニットからのデータストリームがインタフェースユニット内のローカルクロックと同期されるように構成することができる。この通信回路の好ましい用途は、インタフェースから遠隔撮像装置に指令を送って、画像化データを遠隔撮像装置から受信することである。このようなシステムにおいては、遠隔撮像装置からインタフェースによって受信されるデータは、通常、高データ転送速度画像化データであると考えられる。好ましい設計用仕様書に従って製作されるこのようなシステムにおいては、インタフェースユニット内のシステムクロックから遠隔撮像装置によって送受信されるデータストリームまで、遠隔撮像装置によって受信したこのデータストリームから撮像装置内の基準クロックまで、この基準クロックから好ましくはより高い周波数遠隔撮像装置システムクロックまで、遠隔撮像装置内のシステムクロックからインタフェースユニットに戻されるデータストリームまでのチェーンで同期化が維持される。感知できるほどの長さを有することができる伝送路と高いデータ転送速度とを組み合わせた比較的多数のインタフェース段階により、このカスケードタイミングシーケンスの最初に周波数基準として使用されたインタフェースクロックに対する戻りデータの位相は、通常は装置間で大幅に、また、場合によっては、更に作動温度及び作動供給電圧の変化のような作動条件の変化で変動する。図9の回路の一般的な機能は、上述のタイミングチェーンのためにシステムクロックと同期している遠隔ユニットからのデータストリームを受信し、この戻りデータの位相を位相同期ローカルクロックと比較し、かつ、データ内のクロックに適切な位相関係を確立するか又はそうでなければ受信データストリームを復号化することである。
図10に示すものによる回路では、データは、インタフェースラインレシーバ1001によって受信される。データは、インバータ対1022、1023、及び1024によって表されたタップ付き遅延線に通される。実際には、これらの要素には、より多くのインバータ又は他の遅延回路を使用することができる。タップは、1025では遅延なし入力信号の場所、1026では第1の遅延要素の後、1027では第2のカスケード遅延要素の後、1028では第3のカスケード遅延要素の後にある。4つのタップと3つの遅延要素を有する遅延線は、一例として選択したものであり、他の個数の要素を用いることができ、例えば、8個又は16個のタップが適切な場合がある。通常は、比較的不定期な間隔で遅延補正を行うことが必要であるから、インタフェース汎用制御装置1002には、マイクロコントローラを用いることが適切である。タップ付き遅延線セグメントの遅延は、ほぼ等しいことが好ましく、全体的な遅延は、以下に説明するシステムにおいては、遅延線タップの各々でのデータストリーム入出力に対するタイミング及びシステムクロックエッジの立ち上り又は立ち下り方向を、以下に説明するようなクロックサンプリングフリップフロップからの結果を読み取ることによって観察することができるようにクロックの両方のレベルをサンプルに含めるために、ビット周期の半分よりも多少大きいことが好ましい。インタフェースシステムクロックブロック1003は、発信データストリームの生成及びブロック1004での組込基準クロック情報との同期に使用され、基準クロックチェーンを通じて、システムクロックとの比較的安定した関係が、インタフェースラインレシーバ1001によって受信されるデータ内で保持される。しかし、可変伝播遅延があるために、受信データとインタフェースシステムクロック1003との位相関係を測定し、受信データの適切な復号化を可能にする受信データとシステムクロックとの位相関係を確立するように調節されることが好ましい。多くのシステムにおいては、放射干渉のピーク振幅を低減するために、クロック周波数が放射干渉のピーク振幅を実質的に低減するために制限された範囲にわたって変動又はディザ処理されるシステムクロック1003を設置することが好ましい。
この位相関係を測定するには、位相固定ループ技術の使用を含むいくつかの方法がある。着信データストリームのフォーマットにはある一定の制限があるが、着信データストリーム内の移行のタイミングを観察して位相固定ループ技術を用いて可変周波数発振器と移行とを同期させることによって完全にデータストリームクロックを回復することさえも可能である。しかし、一般的に、ローカルシステムクロックと受信データの比較的安定した位相関係を利用して復号化処理を簡素化したり、システムクロックの周波数内の拡散スペクトルディザのような装置の使用を許容させたりすることが有利である。
好ましい設計においては、システムは、着信データストリームにタップ付き遅延線を通過させる。データストリーム内のエッジ移行が対応するデータタップで発生する瞬間に遅延線タップの各々に対してシステムクロックの状態のスナップショットを記録する機構が設けられている。このスナップショットを分析して、着信データをシステムクロックの移行と整列させる方法を判断し、この分析の結果を用いて着信データの受信に適切なタイミング構成を判断する。好ましい設計においては、着信データの位相に対して最良のタイミングが得られるように、データが登録されるシステムクロックの能動エッジ(立ち上がり又は立ち下り)を選択する。比較的寛容なタイミング要件を有する一部の設計では、この選択は、データを適切に受信するのに適切であると考えられる。好ましい設計においては、データがサンプリングされるシステムクロックエッジの選択に加えて、システムクロックと着信データの位相関係を更に改善するために、満足な、好ましくは最適化された入力データ復号化性能をもたらす遅延線タップを選択する。いくつかの他の任意選択肢があり、例えば、遅延線調節の幾分より大きな範囲が設けられる場合、データを登録するシステムクロックエッジの選択を省くことができ、又は、システムクロック周波数がより高い、好ましくは受信ビットレートの整数倍である場合、分割装置は、着信データをサンプリングする最良のクロックエッジを選択するように構成することができる。拡散スペクトルが用いられる場合、データとクロックの同期化の調節を改善してディザ処理された拡散スペクトルクロックの周波数の全範囲を適切に処理する技術をもたらすことが好ましいと考えられる。例えば、システムクロックと入力データの位相関係の複数のサンプル又は読取を行って分析し、拡散スペクトルクロックの周波数の統計的にサンプリングした範囲にわたって機能することになる位相関係の調節を判断することができる。別の任意選択肢は、測定を行っている間に一時的に拡散スペクトルディザ処理を停止し、次に、拡散スペクトル作動中にクロック周波数の範囲に対して位相測定が行われた時にシステムクロックの実際の周波数に対処する位相補正調節を行うことである。他の任意選択肢は、拡散スペクトル作動を続けるが、測定を行う時に拡散スペクトル周波数設定をモニタするための手段を設置し、次に、位相関係の調節を行う時に全調節範囲にわたる周波数に対してこの周波数に対処することである。例えば、時変信号を入力として使用して拡散クロックの周波数変動を制御することが多く、この信号の値を分析でより直接的に測定又は使用すると、位相補正に向けた適切な設定を判断することができる。多くの場合、拡散スペクトルディザ処理における周波数範囲は、位相測定及び調節処理において無視することができるほど小さいものとすることができる。他の場合では、上記に示すように、拡散スペクトル周波数の制御に使用される手段を使用して、受信データとシステムクロックとの位相関係の平行補正調節を行うことができ、又は、拡散スペクトル周波数の制御に使用される手段を使用して、位相関係測定が行われる時に単に拡散スペクトル周波数設定を表示することができる。他の場合では、システムクロック周波数がディザ処理される速度は、データとシステムクロックの位相関係がディザ処理済みシステムクロックの周波数変化を追跡するのに十分に遅いものとすることができる。
図10の例示的な回路においては、受信データとシステムクロックの位相関係が、受信データに対して測定され、受信データの立下りエッジは、システムクロックと若干異なる速度で伝播する可能性があり、従って、場合によっては、データの立下りエッジ移行で位相関係を更にモニタすることが好ましいと考えられる。次に、受信データの立上りエッジと立下りエッジの移行に対して得られた着信データとシステムクロックの位相関係の測定結果を平均するか又はそうでなければ調整し、使用すべき位相補正調節を判断することができる。この任意選択肢の実施は、図10には示していないが、付加的な回路を用いることにより、例えば、全てが付加的な制御及び読み出し論理を備え、かつ、負のエッジサンプリングのための同期フリップフロップが立上りエッジトリガ式であるべきであり、サンプリング及びサンプリング無効化レジスタのためのフリップフロップが負のエッジトリガ式であるべきであるという点で、同期、サンプリング、及びサンプリング無効化フリップフロップと一般的に異なっている同期フリップフロップ1036の対応物と、サンプリング無効化レジスタの対応物と、システムクロックサンプリングレジスタの対応物とを加えることにより実施することができる。クロックソースは、同じ遅延タップ1025、1026、1027、及び1028からのものとすることができる。着信データのついて単一のエッジ方向に対して位相を測定する時、この例において使用された立上りエッジの代わりに立下りエッジを使用することができる。一部の実施例における任意選択肢は、入力データ信号の制御反転又は共通回路要素を共有するための他の方法を有して、着信データストリーム内の立下りエッジ又は立上りエッジ移行のいずれかに対して選択的に位相関係を判断することである。
より詳細に説明すると、フリップフロップ1014から1017を有するサンプリング無効化レジスタと、フリップフロップ1018から1021を有するシステムクロックサンプリングレジスタとで構成されたレジスタ群を使用して、データストリームの立上りエッジがそれぞれの遅延線タップの各々で現れた時に、遅延線タップ1025から1028の各々に対してシステムクロックのレベルをサンプリングする。汎用制御装置1002は、線1012上のリセット信号をアサートして同期フリップフロップ1036をリセットし、その出力1035を低下させる。同期フリップフロップ1036の得られた低い出力により、サンプリング無効化レジスタとクロックサンプリングレジスタがアサートされて、同期フリップフロップの出力が高い状態に戻るまでリセット状態に保持される。汎用制御装置1002が、信号1012をアサート停止した時には、同期フリップフロップ1036は、データ線1025の次の立下りエッジ上に設定される。無効化レジスタとクロックサンプリングレジスタは、もはやリセット状態に保持されていない。データ線1025の次の立上りエッジ上でシステムクロック1010の状態がシステムクロックサンプリングフリップフロップ1018に登録され、サンプリング無効化フリップフロップ1014は、別の読取を行うための準備としてリセットされるまで、フリップフロップ1018の状態の更に別の変化を無効化するように設定される。1025上の立上りエッジは、伝播して遅延1022を通り、短い遅延の後にタップ1026に現れる。1026での立上りエッジは、システムクロック1010の状態をシステムクロックサンプリングフリップフロップ1019にクロック処理し、システムクロックサンプリングフリップフロップ1019は、タップ1026と関連付けられ、その関連のサンプリング無効化フリップフロップ1015が設定される。同様に、立上りエッジが1026から伝播して遅延要素1023を通ってタップ1027に至った時、システムクロックサンプリングフリップフロップ1020は、システムクロック1010の状態に設定され、サンプリング無効化フリップフロップ1016が設定される。類似の処理は、遅延セグメント1024と、システムクロックフリップフロップ1021と、サンプリング無効化フリップフロップ1017とに対して発生する。より多くの遅延線タップと関連のサンプリングフリップフロップ及びサンプリング無効化フリップフロップを伴って上述のパターンが続く。
インタフェース汎用制御装置1002は、一時的にリセット1012を出し、バス1013上でサンプリング無効化レジスタ出力を読み取り、フリップフロップ1014から1017が全て設定されて読取が行われたことを示す時を判断することができる。次に、システムクロックサンプリングレジスタ1018から1021が、バス1009で読み取られる。以下では、受信データビット当たり1システムクロックサイクルがあり、クロックは、50%の公称負荷サイクルを有し、かつデータ入力は、データが安定している期間の中間点よりも少し後でサンプリングされると仮定される。例示的な例として、システムクロックサンプリングフリップフロップ1018と1019の出力は1であり、システムクロックサンプリングフリップフロップ1020と1021の出力は0であるという読取が行われたと仮定する。この場合、インタフェース制御ユニット1002は、入力データが、データ移行が名目上システムクロックの負の移行の直後に行われるように、タップ1027でサンプリングされるべきであると判断する。次に、タップ1027でサンプリングされたデータのビット周期の中間点の直後で、50%負荷サイクルのシステムクロックの正の移行が発生することになる。従って、データは、システムクロックの正の移行上でサンプリングされるべきである。受信データ可変遅延セレクト1029をセレクトタップ1027に設定するために、制御インタフェースは、バス1008上で適切なセレクト指令を出力し、ライン1007をパルス駆動することによってセレクト指令を登録する。フリップフロップ1031が、システムクロックの負のエッジ上の選択されたタップからデータ1030を入力すると、フリップフロップ1033は、制御線1006の設定により、1031によってサンプリングされたデータか又はシステムクロックの正のエッジ上の選択されたタップからのデータ1030をサンプリングする。いずれの場合にも、線1034上の受信データは、正のシステムクロック上でクロック処理される。制御線1006が高い時、データは直接サンプリングされ、制御線1006が低い時、データは、1031によって負のクロックエッジ上でサンプリングされ、遅延幅がビット周期の1/2になった後にシステムクロックの立上りエッジ上でフリップフロップ内にクロック処理される。従って、例において必要とされるように、システムクロックの正の移行上でのデータのサンプリングを選択するために、線1006は、インタフェース制御ユニット1002によって高く保持される。インタフェース汎用制御装置ブロック1002と組み合わせたインタフェース受信ブロック1005は、抽出ビットストリーム1034を受信し、抽出入力データ1034が次に処理された後に、データフレーム指示を行ってデータをアイドル期間から分離し、入力データを適正に解釈し、それを適正な受信者に向ける。
図11を参照すると、これは、本発明の原理を組み込んだシステムを示し、かつシステム内のクロックとデータの関係を強調するブロック図である。組込クロック基準を有するデータがインタフェースユニット1100から遠隔ユニット1150に送られると、データは、位相同期フォーマットで遠隔ユニット1150によってインタフェースユニット1100に戻され、そこで、受信して復号化される。
インタフェースユニット内のシステムクロック1104は、システム全体の周波数基準の役目をすることが好ましい。それは、任意的に、しかし好ましくは、システムからのピーク放射放出の振幅を切断してより広い周波数範囲にわたって放射干渉を分布させるための周波数ディザ処理を含む。ブロック1102において、システムクロック1104は、ブロック1101から送られるデータを符号化する基準として使用される。送信データ信号は、組込クロック処理情報を含む。この符号化データストリームは、インタフェースラインドライバブロック1103によって送信される。遠隔ユニット1150において、インタフェースユニット1100から送出された情報は、遠隔ラインレシーバブロック1151によって受信される。ブロック1152において、基準クロックが、データストリームから抽出される。この基準クロックは、ブロック1153内の遅延線要素を使用してより高い周波数に増倍されることが好ましく、増倍されたクロック周波数は、遠隔ユニット1150におけるブロックの多く又は全てのクロックとして使用されることが好ましい。例えば、基準クロックと増倍基準クロックを用いて、ブロック1154における受信データの抽出に使用される信号を発生させることが好ましい。
ブロック1156では、入力データストリームから導出されたクロックを使用して、ブロック1155からインタフェースユニット1100に送る遠隔データを符号化する。遠隔ラインドライバ1157は、データ遠隔ユニットからインタフェースユニットにデータを送信し、そこで、データは、ラインレシーバ1108に受信される。ブロック1105において、受信データは、サンプリングされ、その位相がシステムクロック1104又はその位相同期微分と比較され、好ましくは受信データの位相であるが、任意的にはインタフェースクロック信号の位相、又はその各々の位相を正しく調節してデータの復号化に満足できる位相関係にそれらを持ってくる判断が為される。ブロック1106において、遠隔ユニットから受信されたデータが復号化される。好ましい設計においては、システムクロック1104は、直接又は間接的にデータ送信及びデータ受信処理の全てのタイミング基準の役目をすることに注意されたい。このような理由から、インタフェースユニットによって遠隔ユニットから受信したデータは、既にシステムクロック1104と比較的安定した位相関係にあり、従って、周期的な位相補正は、遠隔ユニット1150から受信したデータを復号化するために基準クロックとしてシステムクロック1104を使用するのに必要とされる全てである。更に、タイミング要件があまり厳しくない時、この位相関係は、一部の場合には設計により、又は他の場合には製造時の初期調節により満足に確立することができる。
インタフェースユニットと1つ又は複数の遠隔ユニットとの間の送信及び受信データ経路の分離により、設計の簡単な拡張を用いて複数の戻りデータ経路のような特徴を組み込んでデータ処理機能を大きくすることが可能になる。これは、図12のブロック1200のインタフェースユニット1201と遠隔ユニット1205によって示されている。ここでは、命令は、バス1204上でインタフェースユニット1201から遠隔ユニット1205に送られ、データは、二重経路1202及び1203上で遠隔ユニット1205からインタフェースユニット1201に戻される。
最後の2つの図1220及び1230においては、複数の遠隔ユニットがインタフェースユニットの各々に取り付けられている。これらの場合の各々においては、命令を特定の遠隔ユニットに向けることが可能であるように、アドレスフィールドがインタフェースユニットから遠隔ユニットに送られた命令に組み込まれていると想定される。また、アドレスフィールドは、ある一定のブロードキャスト命令のための全てのユニットを選択するか又は遠隔ユニットのサブグループを選択する任意選択肢を含むことができる。場合によっては、構成1220のバス1223の場合と同様に、及び構成1230のバス1233の場合と同様に、バスは、1つよりも多い遠隔ユニットによって共有される。これらの場合、一度にバス上のユニットの1つのみがこのバスを必要とすること、又はバスが当業技術で公知の何らかの多重化手法によってタイムシェアリングされること、及びユニットがバスを使用中に別の装置からの送信と干渉しないように、バスから切り離されるか又は他の方法で高インピーダンスに入るか又は他の干渉なしの状態に入る機能を有することが想定されている。構成1220においては、インタフェースユニット1221は、バス1224上で命令を3つの遠隔ユニット1225、1226、及び1227に送る。遠隔ユニットは、バス1223上でデータを共有し、かつデータを戻す。
構成1230においては、インタフェースユニット1231は、バス1234上で命令を3つの遠隔ユニット1235、1236、及び1237に送る。ここでは、遠隔ユニット1234及び1236は、バス1233を共有してデータをインタフェースユニット1237に戻す。遠隔ユニット1237は、バス1232上でデータを戻す。場合によっては、専用の独立又は半独立ユニットが、戻しデータを受信することができ、それによってデータは、全ての場合に直接インタフェースユニットに戻されなくてもよい。共通のクロック基準が使用されるこのような場合には、クロック基準をそれを必要とするユニットに通信するための機構を設置すべきである。また、戻しデータの位相関係は、所定のユニット間で異なる場合がある。時折り位相を測定することが必要であるに過ぎないと考えられるので、本発明の多くの実施形態は、共通の位相測定装置を組み込んで遠隔ユニットの各々からインタフェースユニットに戻されたデータの位相を測定することができる。インタフェースユニットは、場合によっては、遠隔ユニットの各々に対して又は遠隔ユニットのサブグループに対して別々の位相同期装置を提供することができ、及び/又はそれは、所要の位相補正設定を記憶して、ユニットがインタフェースにデータを戻す時に特定の遠隔ユニットからのデータを受信するように位相補正設定値を設定することができる。
本発明を特定的な実施形態に対して説明したが、本発明の範囲は、均等物の教義に含まれる全ての実施形態に及ぶことを理解すべきである。