(57)【要約】  伝播遅延が数クロックサイクル長までおよび、ゆっくりと変動する可能性のある、データ送信機１２からデータ受信機１４へのデータ伝送のシリアルプロトコルおよびインターフェイス。データ受信機は、データ送信機にクロックを供給する。受信機または送信機のいずれかによって供給される同期信号は、クロックによって制御される転送レートで、データ伝送のフレームを始動させる。同期信号は、フレーム長として知られている、データヘッダーとそれに続く所定の数のデータビットの送信を調整する。データ受信機は、ヘッダービットを使用して、後続のデータビットをサンプリングする時間を決定する。フレームの長さは、ビット誤りを発生させるほど大きく伝播遅延ライン特性が変化しないことの十分な見込みを得るように限定される。システムは、各フレームの始点において、再同期する。
2010504698.tif 000002
【特許請求の範囲】
【請求項１】
データ送信機とデータ受信機の間のバイナリ信号のシリアル通信において、前記バイナリ信号は、第１のバイナリ値を表わす第１の論理レベルと第２のバイナリ値を表わす第２の論理レベルと間で変動する、バイナリ信号のシリアル通信の方法であって、
所定のクロックレートで、前記データ受信機から前記データ送信機にクロック信号を送信すること；
前記データ受信機から前記データ送信機に同期信号を送信すること；
前記同期信号に応答してフレームの送信を初期化すること；
前記フレームの初期化時に、前記データ送信機から前記データ受信機に所定の名目ビットレートで、ヘッダーコードとそれに続く複数のデータビットを含む、バイナリデータ信号を送信すること；
前記フレームの初期化に続いて、前記受信機において前記バイナリデータ信号を受信し、前記ヘッダーコードを検出し、該ヘッダーコード検出に応じて、前記フレーム内の残りのデータビットに対するデータビットサンプリング時間を決定すること、および
前記データ受信機において、前記データビットサンプリング時間に、それぞれの前記データビットの論理値を検出することを含む、前記方法。
【請求項２】
データ送信に使用される所定の名目ビットレートが、クロックレートの１／３以下である、請求項１に記載の方法。
【請求項３】
同期信号に応答してフレームの送信を初期化することが、フレームを初期化するという要求を示す前記同期の論理レベルにおける変化を検出することを含む、請求項１に記載の方法。
【請求項４】
同期信号の論理レベルのさらなる変化を検出すると、フレームを終了させることをさらに含む、請求項３に記載の方法。
【請求項５】
データ信号が、ヘッダーコード内またはその後に、符号化されたフレーム長を含む、請求項１に記載の方法。
【請求項６】
データ受信機においてヘッダーコードを検出することが、
名目ビットレートの少なくとも３倍のレートでヘッダーコードをサンプリングすること；
第１のヘッダービットの検出を示すサンプル数を計数すること；および
前記計数に応じて、フレーム内の残りのデータビットに対するサンプリング時間を設定することを含む、請求項１に記載の方法。
【請求項７】
データ受信機においてヘッダーコードを検出することが、
データビットレートに等しいクロックレートを有するマスタークロックの、複数の追加の位相シフト相当物を生成すること、
前記マスタークロックでデータ信号およびそれの位相シフトされた相当物のそれぞれをサンプリングすること；および
前記マスタークロックまたは追加の相当クロックの１つのいずれかを選択して、フレーム内の後続のデータビットのための前記データビットサンプリング時間を設定し、前記時間にデータビットをサンプリングすることを含む、請求項１に記載の方法。
【請求項８】
外部源から、外部クロック信号と呼ばれる、クロック信号を受信するステップ、
前記外部クロック信号のクロックレートが、所定の最小レートを超えるかどうかを判定し、そうであれば、受信機内で使用するための内部クロック信号として前記外部クロック信号を再生成し、そうでなければ、そのレートが前記所定の最小レートを超えるクロック信号を発生させることによって、前記受信機内で使用するための内部クロック信号を生成するステップ、および
前記送信機へと送信されるクロック信号を生成する際に前記内部クロック信号を使用するステップをさらに含む、請求項１に記載の方法。
【請求項９】
１つまたは２つ以上のヘッダービットおよび１つまたは２つ以上のデータビットを含む、データ送信機からのフレーム内の、バイナリ信号のシリアル通信を受信し、該受信したバイナリ信号をバイナリデータに復号して送信されたビットを特定する、データ受信機であって、
前記送信機にクロック信号を供給するクロック発生器；
フレームを開始するための同期信号を前記送信機に供給する同期信号源；
前記シリアル通信を受信し、ヘッダーコードを検出し、前記シリアル通信をサンプリングしてそのデータビットを復号するためのデータビットサンプリング時間を決定し、該データビットサンプリング時間に、受信したシリアル通信の論理レベルをサンプリングして、対応するデータビット値を供給する、状態マシンを含み、
該状態マシンは、有限の複数の可能性のあるサンプル時間の中からサンプリング時間を選択することによってデータビットサンプリング時間を決定し、受信ビット値の名目中央値の近傍をサンプリングする、前記データ受信機。
【請求項１０】
クロック発生器は、送信機がシリアル通信されるバイナリ信号においてビットを送信するビットレートの、少なくとも３倍のレートでクロック信号を供給する、請求項９に記載のデータ受信機。
【請求項１１】
同期信号源が、同期信号の論理レベルを変更することによって送信機からのフレームを要求する、請求項９に記載のデータ受信機。
【請求項１２】
同期信号源が、第１の論理レベルから第２の論理レベルに同期信号を変更することによって送信機からフレームを要求するとともに、前記同期信号を第２の論理レベルから第１の論理レベルに変更することによってフレームの終了を要求することをさらに含む、請求項９に記載のデータ受信機。
【請求項１３】
状態マシンが、マスタークロックの各クロックサイクルに、受信したシリアル通信をサンプリングし、第１のヘッダービットの検出回数を計数し、それからデータビットサンプリング時間を決定する、請求項９に記載のデータ受信機。
【請求項１４】
ヘッダーコードを検出するために、状態マシンは、データビットレートに等しいクロック速度で、マスタークロックを位相シフトさせることによって追加のクロックを生成し、各クロックにおいてデータ信号をサンプリングし、マスタークロックまたは追加のクロックの１つのいずれかを選択して、データビットサンプリング時間を指定するように適合されている、請求項９に記載のデータ受信機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シリアル通信インターフェイスの分野に関するとともに、送受信装置間のチャネルに伝播遅延が存在する状態で、送受信装置間で高速レートのデータ伝送を行うための方法に関する。
【背景技術】
【０００２】
関係する出願の相互参照
本出願は、３５ＵＳＣ１１９（ｅ）下で、参照により本明細書に組み入れてある２００６年９月２１日付け出願の「Digital Data Communication For Data Converters」という名称の米国特許仮出願第６０／８４６１７７号の利益を主張するものである。
【０００３】
一般に、データ送信機（すなわち、ディジタルデータ出力を有する装置）は、他の装置（例えば、データ受信機）へのディジタルデータの配信を、しばしば高速レートで、かつシリアル通信チャネル上で行う必要がある。多くの場合に、装置間の通信に使用されるクロックレート（速度）は、十分に高速であるために、伝播遅延の問題が存在する。未詳の、変動性のある、または過大な伝播遅延があると、受信機と送信機を同期させて同期を維持すること、およびディジタルデータを確実に伝送することについて困難な問題が生じる。そのような環境において使用されるシリアル通信プロトコルに加えて、そのようなプロトコルを実現するための装置および方法には、送信機と受信機の間の同期に対して伝播遅延耐性のある手法を組み入れなければならない。さらに、これらの装置および方法は、信号発生に際して、信号分散および信号変動に対する耐性を有していなくてはならない。
【０００４】
現在、別個のチップ上のデバイス間での通信用のクロック速度は、通常約１２５ＭＨｚであり、これに対して、デバイスが同一チップ上にある場合には、約３７５ＭＨｚの速度が使用されることもある。将来的には、より高速度となる可能性がある。これらの速度において、デバイスは、信号伝播遅延におけるかなりの量のばらつき（variability）を吸収しなくてはならない。信号遅延（signaling delay）における差異および変化が、例えば、製作工程に固有の変動、時間変動する環境条件、電源変動、およびその他の要因によって生じることがある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
商業製品に対してコストは重要な考慮事項であるので、高価な製品だけに整合性があるのではなく、ディジタルシステムにおける送信機および受信機などの装置を実現するのに頻繁に使用される、低コスト書替え可能ゲートアレイ（ＦＰＧＡ：field programmable gate array）などの、低コスト製品にも整合性のある、シリアル通信プロトコルおよびインターフェイスに対する要求がある。
また、送信機がその送信レートを受信機が受けることのできる送信レートに調整することのできる、シリアルデータ通信を可能にするインターフェイスおよびインターフェイス方法に対する要求もある。
【課題を解決するための手段】
【０００６】
これらのニーズは、チャネル伝播遅延およびその遅延における遅い変動を吸収する、１つまたは２つ以上のデータ送信機と、１つのデータ受信機の間で通信を行うためのシリアルプロトコルおよびインターフェイスによって対処される。このプロトコルは、データ受信機とデータ送信機の間に３つの論理チャネル：クロックチャネル、同期チャネル、およびデータチャネルを必要とする。図示されているように、論理チャネルのそれぞれは、１つまたは２つ以上の導体の別個の物理チャネルによって得られるが、想定されるように、その他の実現形態も可能である。
【０００７】
クロックチャネル上では、データ受信機によって供給されるクロック信号ＣＬＫが、データ送信機に供給される。同期チャネル上では、データ受信機によって供給される同期信号ＳＹＮＣが、フレーム（すなわち、データ伝送ユニット）の送信を要求するのにデータ送信機によって使用される。その他のいくつかの態様においては、受信機はフレームを要求せず、ＳＹＮＣの送信は、データ送信機からデータ受信機に行われて、フレームの送信を示す。最後に、データチャネル上では、データ信号ＤＯＵＴがデータ送信機からデータ受信機に送信される。
【０００８】
フレームとは、データチャネル上でヘッダーおよび／またはデータが送信されている期間である。フレーム長は、１フレーム中に送信される合計ビット数であり、アプリオリに両装置（すなわち、その設計）によって合意されているか、またはデータ送信機またはデータ受信機のいずれかによって決められる。新しいフレームの要求（すなわち、その開始）は、同期チャネル上でデータ受信機によって送信される（とともに、データ送信機によって受信される）。データが送信されていない場合（すなわち、フレーム中以外の時間においては）、同期チャネルは、データ送信機によってモニタリングされ、データ送信機が同期信号を読み取ると、データ受信機が新フレームを要求していると判定される。
【０００９】
新フレームの要求が受信されると、所定の数のデータビットがその後に続くヘッダービットが、データチャネル上で送信機から受信機に、シリアルに送信される。受信機からのクロック信号を使用する、ビット送信レートは、受信機による正確なデータ検出を確実にするために、クロックレートの約１／３以下の速度でなくてはならない。
データ受信機は、新フレームの要求の後に、データチャネルをモニタリングし、最初にヘッダービットを検出する。ヘッダービットは、後続のビットに対するサンプリング時間を決定するために、データ受信機によって使用される。フレームが完了すると、データ信号は、所定のアイドル状態に設定される。
【００１０】
本発明は、いくつかの観点を有し、それらは単独で、または他の観点と組み合わせて、実現または実施してもよい。第１の観点によれば、データ送信機とデータ受信機の間のバイナリ信号のシリアル通信のための方法が提供され、このバイナリ信号は、第１のバイナリ値を表わす第１の論理レベルと第２のバイナリ値を表わす第２の論理レベルの間で変動する。この方法においては、クロック信号は、所定のクロックレートでデータ受信機からデータ送信機へ送信される。同期信号は、データ受信機からデータ送信機へ送信される。フレームの送信は、同期信号に応答して初期化される。バイナリデータ信号は、フレームが初期化されると、所定の最小ビットレートでデータ送信機からデータ受信機へ送信され、前記データ信号はヘッダーコードを含み、複数のデータビットがこれに続く。フレームの初期化に続いて、前記バイナリデータ信号が、受信機において受信されて、ヘッダーコードが検出される。ヘッダーコード検出に応答して、フレーム内の残りのデータビットに対して、データビットサンプリング時間が決定されて、データ受信機において、それぞれの前記データビットの論理値が、前記データビットサンプリング時間において特定される。
【００１１】
データ伝送に使用される所定の名目ビットレートは、好ましくはクロックレートの１／３以下である。
同期信号に応答してフレームの送信を初期化することには、フレームを初期化するという要求を示す同期の、論理レベルにおける変化を検出することを含めてもよい。フレームは、同期信号の論理レベルのさらなる変化の検出時に、終了してもよい。
フレーム長は固定または可変としてもよい。可変フレーム長の場合には、データ信号には、ヘッダーコード内、またはその後に符号化されたフレーム長を含めてもよい。
【００１２】
データ受信機においてヘッダーコードを検出することには、名目ビットレートの少なくとも３倍のレートでヘッダーコードをサンプリングすること、第１のヘッダービットの検出を示すサンプル数を計数すること、および前記計数に応答して、フレーム内の残りのデータビットに対するサンプリング時間を設定することを含めてもよい。
データ受信機においてヘッダーコードを検出することには、データビットレートに等しいクロックレートを有するマスタークロックの、複数の追加の、位相シフトした相当物を生成すること、マスタークロックおよび位相シフトされたマスタークロック相当物のそれぞれで、データ信号をサンプリングすること、およびマスタークロックまたは追加の相当クロックの１つのいずれかを選択して、フレーム内の後続のデータビットに対する前記データビットサンプリング時間を指定して、該時間にデータビットをサンプリングすることを含めてもよい。
【００１３】
態様によっては、そのような方法には、外部源から、外部クロック信号と呼ばれる、クロック信号を受信すること、その外部クロック信号のクロックレートが所定の最小レートを超えるかどうかを判定し、そうであれば、受信機内で使用するための内部クロック信号として外部クロック信号を再生成し、そうでなければ、そのレートが前記所定の最小レートを超えるクロック信号を発生させることによって、前記受信機内で使用するための内部クロック信号を生成すること、および送信機へと送信されるクロック信号を生成する際に、その内部クロック信号を使用することをさらに含めてもよい。
【００１４】
別の観点によれば、データ送信機からのフレーム（該フレームは、１つまたは２つ以上のヘッダービットおよび１つまたは２つ以上のデータビットを含む）内のバイナリ信号のシリアル通信を受信し、受信したバイナリ信号をバイナリデータに復号して送信されたビットを特定する、データ受信機が提供される。そのような受信機は、送信機にクロック信号を供給するクロック発生器；フレームを開始するための同期信号を送信機に供給する同期信号源；シリアル通信を受信し、ヘッダーコードを検出し、シリアル通信をサンプリングしてそのデータビットを復号するためのデータビットサンプリング時間を決定し、このデータビットサンプリング時間に、受信したシリアル通信の論理レベルをサンプリングして、対応するデータビット値を供給する、状態マシンを含み、該状態マシンは、有限の複数の可能性のあるサンプル時間の中からサンプリング時間を選択することによって、データビットサンプリング時間を決定し、受信ビット値の名目中央値の近傍をサンプリングする。
【００１５】
態様によっては、クロック発生器は、送信機がシリアルに伝達されるバイナリ信号においてビットを送信するビットレートの、少なくとも３倍のレートのクロック信号を供給する。
同様に、態様によっては、同期信号源が、同期信号の論理レベルを変更することによって送信機からのフレームを要求する。
【００１６】
同期信号源は、第１の論理レベルから第２の論理レベルに同期信号を変更することによって送信器からのフレームを要求してもよく、同期信号を第２の論理レベルから第１の論理レベルに変更することによってフレームの終了を要求してもよい。
態様によっては、状態マシンが、マスタークロックの各クロックサイクルに、受信したシリアル通信をサンプリングし、第１のヘッダービットの検出回数を計数し、それからデータビットサンプリング時間を決定するように適合させてもよい。
【００１７】
ヘッダーコードを検出するために、状態マシンは、データビットレートに等しいクロック速度で、マスタークロックを位相シフトさせることによって、追加のクロックを生成し、各クロックにおいてデータ信号をサンプリングし、マスタークロックまたは追加のクロックの１つのいずれかを選択して、データビットサンプリング時間を指定するように適合させてもよい。
別の観点によれば、受信機が送信機に同期信号を供給する代わりに、送信機が同期信号発生器を備え、この同期信号発生器が、フレームが後に続くことを示す同期信号を、受信機に供給してもよい。例えば、送信機は、周期同期信号を発生させるタイミング回路を備えてもよい。
【００１８】
さらに他の観点または態様においては、シリアル通信列が、それぞれの名目データビットセルの持続時間中に複数回サンプリングされて、各サンプルをレジスタまたはその他の一時記憶装置に記憶して、次いで、データビットセルの名目中央値に近い、それらの複数サンプルの１つだけを、受信データビット値として選択してもよい。結果的に、そのような方法を実現するための受信機は、複数サンプルを取得するための装置およびそれらのサンプルからビットセルの名目中央値に近いサンプルを選択するための装置を含む、本発明の別の観点を含む。例えば、そのような複数のサンプルは、互いに位相がシフトされた、３つ（またはそれよりも多い）マスタークロックを使用して得てもよい。
【００１９】
別の観点は、同期信号に応答して開始して、第１のレートでクロックを受信し、データフレームを組み立て、それを第１のレートの１／３以下のレートで送信する、送信機である。
本発明およびその態様は、以下の詳細な説明を、添付の図面を合わせ読めばより詳細に理解できるであろう。図において、要素は必ずしも正しい縮尺では描かれていない。全体として、複数の図に表われる同一の要素は、同一の参照名称によって識別される。
【図面の簡単な説明】
【００２０】
【図１】本明細書において教示される概念による、複数のデータ送信機およびデータ受信機、ならびにそれらの間の通信インターフェイスを示す、本発明の観点を実施するための装置の例証的な態様の簡易ブロック図である。
【図２】データ受信機の動作を説明するフローチャートである。
【図３】データ送信機の動作を説明するフローチャートである。
【図４】例示態様における、フレーム中の例示クロック、同期信号およびデータ信号の間の関係を図解する１組の波形である。
【図５】本明細書で教示される、第１のヘッダービットの検出および検出規則の適用のための２つの態様を図解するのに有用な、１組の波形および表である。
【図６】ビット送信レートがクロックレートの１／３のである、データ送信機の例証的実施例の動作を説明するフローチャートである。
【図７】ビット送信レートがクロックレートの１／３のである、データ受信機の例証的実施例の動作を説明するフローチャートである。
【図８】ＤＯＵＴが、３つの位相シフトマスタークロックによって決定される時間などの、ビットセル中に複数回、サンプリングされる場合の、ＤＯＵＴのサンプリングの選択を図解する簡易ブロック図である。
【発明を実施するための形態】
【００２１】
シリアル通信インターフェイスおよびプロトコルを、周期的にのみ同期が必要となるように、指定された長さのフレーム内でデータが送信される、データ送信機とデータ受信機の間の通信に対して説明する。この手法は、伝播遅延およびビットエッジタイミングにおける変動に対して許容度が高い。
図１を参照すると、データは、Ｎ個のデータ送信機１２からデータ受信機１４に送信され、ここでＮは整数である。（複数送信機および単一受信機が示されているが、本発明は、もちろん単一送信機／単一受信機環境、多数送信機／多数受信機環境にも適用することができる。）各データ送信機は、アナログ・ディジタル変換器（ＡＤＣ）、電流／ディジタル変換器（ＩＤＣ）、その他など、ディジタルデータ出力を生成するある数のデバイスの任意のものとすることができる。個々のデータ送信機は、１２−ｉと番号付けされており、ここで添え字ｉは１からＮの範囲である。通信は、同期チャネル１６、クロックチャネル１８、およびＮ個のデータチャネル２０上で行われる。
【００２２】
典型的なデータ受信機は、例えば、プログラム可能ゲートアレイ（ＦＰＧＡ）、専用の論理回路またはその他の回路内、適当にプログラムされた汎用の、または特別にプログラムされた、マイクロプロセッサまたはマイクロコントローラ、あるいはその他の形態で具現化される、有限状態マシン（ＦＳＭ：finite state machine）として実現してもよい。当業者には、本明細書において与えられる状態説明から、ＦＳＭを実現する方法が分かる。
【００２３】
データ受信機およびデータ送信機の動作の概要
ここでは、データ受信機およびデータ送信機の動作についての高レベルの概要を示す。
データ受信機の動作が図２に図解されている。初期化ステップ２６は、受信機がオンにされるか、またはリセットされるときに始まる。初期化ステップは、送信機へのＣＬＫ信号の送信を開始すること、およびＳＹＮＣ信号がフレームを要求していなことを確実にすることを含む。マスタークロック信号が内部的に生成されて、入力データに対する可能なサンプリング時間の組が得られる。
【００２４】
ステップ２８において、フレーム要求が、適当な時間に送信される。次いで、ＤＯＵＴが、データヘッダーに対してモニタリングされる（ステップ３０）。データヘッダーが検出されると、決定規則論理が適用されて、データサンプリング時間を決定する（ステップ３２）。データは、フレームの終端に到達するまで、適当なサンプリング時間にサンプリングされる（ステップ３４）。次いで、動作は、新しいフレームに備えてステップ２８に戻る。
【００２５】
データ送信機の動作が図３に図解されている。初期化ステップ３６は、送信機がオンにされるか、またはリセットされたときに始まる。初期化ステップは、ＤＯＵＴを所定のアイドル値に設定することを含む。ステップ３８において、送信機は、フレームの送信の要求に対して、同期チャネルをモニタリングする。フレーム要求を受信すると、データヘッダーが、ステップ４０でＤＯＵＴに書き込まれ、続いて送信データが続く（ステップ４２）。フレームの終わりに（ステップ４４）において、ＤＯＵＴを所定のアイドル状態に設定するなどの、完成ステップが実施される。次いで、送信機は新しいフレーム要求を待ち受ける。
【００２６】
データ受信機とデータ送信機の間の通信
バイナリ（すなわち、ディジタル論理）信号が、データ送信機群とデータ受信機の間で伝送される。所与の時間において、各信号は、その送信機によって第１の論理レベルまたは第２の論理レベルへと駆動される。一般化を損うことなく、単に例としてのみ、第１の論理レベルが、図４および図５におけるローレベルで表わされる、「０」であり、第２の論理レベルが、図４および図５におけるハイレベルで表わされる、「１」である場合を考える。当業者は、逆の場合に加えて、多値論理信号の使用も同様に可能であることに気付く。
【００２７】
例示態様において、各データ送信機１２−ｉは、３つの対応する物理チャネルに具現化されて示された、３つの論理チャネルによってデータ受信機１４に接続されている。同期信号ＳＹＮＣおよびクロック信号ＣＬＫのそれぞれは、それ自体の対応するチャネル（それぞれ１６および１８）上をデータ受信機１４からデータ送信機１２に並列に（並列供給は必須ではないが）送信される。データ信号ＤＯＵＴ−ｉは、第３のチャネル２０−ｉ上を、データ送信機１２−ｉからデータ受信機１４に送信される。すなわち、この例示態様において、各データ送信機は、３つのチャネルに接続されており、これに対してデータ受信機はＮ＋２個のチャネルに接続されている。
【００２８】
クロック信号は、クロックレートの２倍に等しいレートで、０と１の間を交番することによってデータ送信機に対して時間を維持している。クロックレートは、信号ＣＬＫ上での０から１への遷移において発生する上昇端（rising edge）の頻度である。ＣＬＫの上昇端において、データ送信機は、データ書込み操作などの操作を実行する。クロックレートが一定であることは必須ではなく、また特定のクロックデューティサイクルを使用することも必須ではない。
本質的に、データ受信機からデータ送信機へのクロックの伝送において、いくらかの伝播遅延があるとともに、データ送信機におけるクロック端とデータビットの生成との間にいくらかの遅延がある。次いで、送信機から受信機への伝播遅延がある。受信したビットのサンプリングのタイミングを正しく決めて、送信されたデータの確実な検出／復号を可能にするために、対処しなくてはならないのは、この累積遅延である。
【００２９】
態様によっては、外部クロック信号ＥＣＬＫは、データ受信機の入力としてもよい。データ受信機１４内のクロック発生器２２は、ＥＣＬＫ信号を内部クロック信号ＩＣＬＫとして再生成してもよく、または別の態様においては、ＥＣＬＫの周波数を特定して、その周波数がある閾値より低いと、ＩＣＬＫ信号を生成する周波数を増大させるか、またはそうでなければＥＣＬＫ信号をＩＣＬＫとして再生成する。同期＆クロック制御（Synchronization & Clock Control）回路２４は、ＩＣＬＫを使用してクロック信号ＣＬＫを生成する。
最も簡単な態様においては、回路２４は、ＣＬＫがＩＣＬＫに直接接続されるように、通過部（pass through）として作用する。ＣＬＫが一連のバーストまたはパルスからなる態様も想定される。各バーストは、一連のクロックサイクルを含み、これに対してバースト間にはクロックサイクルは存在しない。
【００３０】
同期信号は、データ送信機によるフレームの送信を要求するのに、受信機によって使用される。多くの態様が可能である。例示態様においては、同期チャネル上で０に１が続くとフレームの要求を合図する。別の態様においては、連続読取りでのＳＹＮＣ信号の値の変化（０から１、または１から０へのいずれか）は新フレームに対する要求を示す。態様によっては、外部同期信号ＥＳＹＮＣがデータ受信機への入力であって、これが、データ受信機にトリガーをかけてフレームを要求させる。ＥＳＹＮＣは、フレームの初期化を要求する、ＳＮＹＣ信号として、データ受信機によって適切に再生成される。回路２４は、２つの信号を直接接続することによって、ＥＳＹＮＣ信号をＳＹＮＣとして再生成してもよい。他の態様においては、回路２４は、ＥＳＹＮＣ信号からＳＹＮＣ信号を抽出または生成してもよい。
【００３１】
図４を参照すると、チャネル２０−ｉ上のデータ信号ＤＯＵＴ−ｉは１フレーム分の情報を送信し、これにはヘッダー４６に続いてある数のデータビット４８が含まれる。アイドル間隔５０が連続するフレームを分離するが、任意選択で省略してもよい。１フレームの間に送信されるビットの合計数は、フレーム長と呼ばれる。態様によっては、フレーム長は、データ送信機とデータ受信機とによってアプリオリに一致させられる。それは、例えば、送信機および／または受信機のハードウエアおよび／またはソフトウエア中に設計される、固定数としてもよい。
【００３２】
可変フレーム長を使用してもよい。一代替態様において、ＳＮＹＣ信号はフレームの終了を要求するのに使用してもよい。例えば、ＳＹＮＣの値の０から１への変化が、フレームの送信を要求し、これに対して１から０への変化がフレームの終了を要求してもよい。態様によっては、最後のデータビットについて曖昧さを避けるために、データビットの後に送信されるフッターコード（footer code）を使用してもよい。可変長フレームが用いられる場合には、ヘッダーの一部を、例えば、フレームの長さの指示を含む１連のビットとしてもよい。
フレームの完了時に、データ信号は、所定のアイドル状態（０または１のいずれか）に設定するのが好ましい。
【００３３】
送信プロトコルの説明
送信プロトコルを説明するために、ここで、クロック信号ＣＬＫ５２のレートが一定速度に維持され、フレームサイズが合計５ビット（ヘッダーを含む）に事前設定され、ＳＹＮＣ５４が０から１に切り換わることによってフレームを初期化する、図４における信号関係の非限定の実施例を考える。この実施例におけるフレームヘッダー４６は、１に続いて０を含む２ビットパターンであり、データ信号所定アイドル状態は０であり、データビットレートは、３クロックサイクル毎に１ビットである。図４における信号は、データ送信機において測定されるように、示してある。簡単にするために、ＤＯＵＴ−ｉは、この図ではＤＯＵＴ５６と書かれている。
【００３４】
一般に、ヘッダーは任意所望の長さのものでよい。もちろん、当業者であれば気付くように、その他のヘッダーパターンを用いてもよい。望ましい場合には、ヘッダーパターンの選択を、その目的で設けられたレジスタ（図示せず）に記録してもよい。
従来式ＮＲＺコードが、ヘッダービットを含むデータを（マンチェスタ（Manchester）コーディングなしで）伝送するのに使用される。全ビット間隔にわたってハイレベルを生成することによって「１」が合図され、全ビット間隔にわたってローレベルを生成することによって「０」が合図される。受信機において、上述したように、状態マシンは本明細書に説明した方法にしたがって動作して、送信されたデータ信号と受信されたクロック信号の間にある程度の時間スキューがある場合においてでも、ビット位置および値を導き出す。適正に設計された受信機、受信機クロックレートとビットレートの間の３（またはそれより大きい）の倍数、および各フレームの開始時に送信されるヘッダーパターンの形態における周期的同期パターンを用いると、システムは、受信機から送信機へ、そしてその戻りの重大な伝播遅延、ならびに回路内の伝播遅延を吸収することができる。
【００３５】
この実施例は、ＳＹＮＣ５４およびＤＯＵＴ５６が両方０である、アイドル状態５０にあるシステムで始まる。時間５８ａにおいて、ＳＹＮＣ信号５４の状態は０から１に変化して、データ受信機が新しいフレームの始まりを要求したことを示す。ＳＹＮＣ信号５４は、時間５８ｂに次のクロックサイクルにおいて読み取られる。データ送信機は、これを新フレームの要求と認識して、次のクロックサイクル（時間５８ｃ）にＤＯＵＴ５６上でヘッダーコード４６の送信を開始する。
【００３６】
データビット４８が、時間５８ｅで始まり、３クロックサイクル当り１ビットのレートで続く。この実施例においては、フレームサイズは、３つのデータビット４８を可能にする。データビット列１０１の選択は、説明のためのものである。ここで、時間５８ｄにおいて、ＳＹＮＣ信号は０に戻ることに注意されたい。この例示態様においては、このことは、データ送信機による応答にトリガーをかけない。
時間５８ｆにおいて、所定の数のデータビットが送信されており、ＤＯＵＴは、新しいフレームに備えてアイドル状態に戻る。新しいフレーム要求は、時間５８ａ’において送られて、時間５８ｂ’において検出される。ここで、この態様においては、先行ビットにおいてＳＹＮＣが０と読み取られない限りは、フレーム要求は検出されないことに留意されたい。
【００３７】
受信ビットサンプリング
次に、伝播遅延およびそのばらつきのために、ビット毎に、またクロック信号に対して、偏った（skewed）時間に到着する可能性のある、受信データビットをサンプリングする方法について考える。この話題は、図５および関連する表１および表２を参照して、考察する。
信号ＤＯＵＴは、いくらかの伝播遅延（未知で、いくぶん制御不能であり、可変でもあり得る）の後にデータ受信機に到着する。好ましくは、フレーム間のアイドル時間は、先のフレームの最後のデータビットが１である場合には、少なくとも２クロックサイクルの長さである。これによって、受信機が、第１のヘッダービットの直前に、０を読み取ることを確実にし、データ受信機が、ヘッダーの開始を明確に識別することを可能にする。ＤＯＵＴは、サンプリング時間を設定するためのマスタークロックを使用して読み取られる。
【００３８】
図５に示す、例示態様６０においては、マスタークロックＭＣＬＫは、ＣＬＫとクロックレートが同じである。第１のヘッダービットが読み取られる、ＭＣＬＫサイクルは、引き続き、データビットサンプリング時間を選択するのに使用される。
例示態様６２において、マスタークロックＭＣＬＫ１は、データビットレートに等しいクロックレートを有する。２つの追加のマスタークロック信号ＭＣＬＫ２およびＭＣＬＫ３は、ＭＣＬＫ１の位相を、それぞれ１２０度および２４０度シフトすることによって生成される。データビットサンプリング時間は、第１のヘッダーがどのクロックにおいて読み取られるかに基づいて決定される。伝播遅延および信号タイミングの不確実性に応じて、ヘッダービットが読み取られるクロック数またはクロックサイクル数は、２、３、または４とすることができる。
【００３９】
両方の例示態様に対して、考察したようなクロックレートとデータビットレートの関係があると、ビットサンプリングの４つの事例６４が可能である。これらが図５に示されている。事例６４ａにおいて、第１のヘッダービットは、伝播遅延の結果として引き延ばされており、その結果として４回の検出がある。事例６４ｂにおいて、へッダービットは、マスタークロックに対して遅延しており、結果として３回の検出が生じている。事例６４ｃにおいては、クロック端に対して信号は早く、やはり３回の検出が生じている。事例６４ｄにおいては、パルスが短く、結果として２回の検出だけが生じている。データ受信機は、ヘッダービットの検出によって判定される決定ルールを使用して、どのクロックサイクルにＤＯＵＴをサンプリングするかを決定する。２つの決定ルールが適切である。
１）第２回目の１の検出に対応する時間にサンプリングする、または
２）最後から２番目の１の検出に対応する時間にサンプリングする。
【００４０】
単一マスタークロックが使用される場合には、例示態様６０におけるように、対応する時間は決定端（decision edges）であり、これは、最初に選択されたサンプリング時間を過ぎた、３つのクロックサイクルの倍数である。選択規則の適用が表Ｉに示されている。
【表１】
2010504698.tif 000003
【００４１】
位相シフトマスタークロックが使用される、例示態様６２においては、選択されたサンプリングクロックの各上昇端において、データ信号がサンプリングされる。選択規則の適用が表ＩＩに示されている。
【表２】
2010504698.tif 000004
【００４２】
これらの規則は、できる限りビットの中心近くで発生するサンプルが、チャネル伝播遅延におけるばらつきに対する耐性を最大化することを確実にする。伝播遅延が、フレーム中で大きく変わりすぎる場合には、もちろんのこと、サンプリング時間は、適切なビットに対応しなくなり、ビットを二重サンプリングするか、ビットをサンプリングしないか、またはビット間の遷移域に位置する可能性がある。各状況は、誤りを生じる可能性がある。フレームサイズが事前設定されている場合には、それは、データ送信機およびデータ受信機の両方に知られていなくてはならず、予想される伝播遅延変動に基づいて許容できる誤りの見込み（likelihood）を与えるようなものでなくてはならない。
【００４３】
例示態様におけるデータ送信機の動作
データ送信機の動作が、図６においてフローチャートとして、例示態様に対してさらに示されている。この例示態様では、３クロックサイクル毎に１ビットのレートでデータが送信され、バイナリヘッダーは１０であり、１フレーム内のデータビットの数はプライオリにＭ（図５および６において、Ｍは３である）であると仮定されている。フレーム要求は、ＳＹＮＣ信号の０から１への遷移として検出される。
【００４４】
初期化ステップ７６は、受信機がオンにされるか、リセットされるときに始まる。この初期化ステップは、ＤＯＵＴを０に設定することを含む。送信機は、最初にＳＹＮＣを読み取ること（ステップ７８）によってフレーム要求を探索し、それが０であるかどうかを判定する（ステップ８０）。ステップ８０において、ＳＹＮＣが０であると検出され、後続のＳＹＮＣの読み取り時（ステップ８２）に、１と検出された（ステップ８４）る場合には、フレームが初期化される。フレーム要求が受信された後に、第１のヘッダービットがＤＯＵＴに書き込まれる（ステップ８６）。これは、ステップ８８において３サイクルの間、保持される。書き込みすべきヘッダービットがまだあるので（ステップ９０）、ステップ８６に戻ると、次のヘッダービット０が書き込まれる。
【００４５】
ヘッダーを送信した後に、データがＤＯＵＴに書き込まれる。ステップ９２において、データ送信機は、そのフレームに対して送信すべきすべてのデータビットが送出されたかどうかを判定する。さらにデータを送る必要があるときには、ステップ９４において次のビットがＤＯＵＴに書き込まれる。ステップ９６は、データビットが３サイクルの間、保持されていることを確実にする。Ｍ番目のデータが、送られていない場合には（ステップ９２）、データ送信機はステップ９４に戻る。
Ｍ番目データビットが送信された後に、ＤＯＵＴは０に設定される（ステップ９８）。次のフレーム要求を探索する前に、データ送信機は、少なくとも２サイクルの間、ＤＯＵＴが０に保持されることを確実にする（ステップ１００）。これによって、後続のフレームにおけるヘッダービットの適切な検出が確実になる。
ここで、データ受信機の動作を説明する。
【００４６】
例示態様におけるデータ受信機の動作
データ受信機の動作が、本例示態様に対して、図７におけるフローチャートとしてさらに示されている。当業者であれば、図７のフローチャートに示す態様は、ＦＰＧＡにおけるＦＳＭなどの、様々な方法で実現できることを理解するであろう。
態様６０において示した形態のマスタークロックが使用される。初期化ステップ１０２は、受信機がオンにされるか、またはリセットされたときに始まる。初期化ステップには、ＣＬＫ信号の送信を開始すること、およびＳＹＮＣに０を書き込むこと（すなわち、ＳＹＮＣ信号値を０に設定すること）が含まれる。ステップ１０４において、受信機は、新フレーム要求を送信することの要求を待ち受ける。フレーム要求は、その他の内部回路またはＥＳＹＮＣから来る可能性もある。
【００４７】
フレーム要求を行うと決定されると、ステップ１０６においてＳＹＮＣ信号に１の値が書き込まれる（すなわち、ＳＹＮＣ信号は、ハイレベル、または１レベルに上げられる）。次いで、受信機は、１が読み取られるまで（ステップ１１０）、各クロックサイクルにＤＯＵＴ信号を読み取る（ステップ１０８）。これは図５における時間６６に対応する。これは、データ受信機とデータ送信機との間の総信号遅延（total signaling delay）、およびデータ送信機が応答するのに要する時間に応じて、ステップ１０６においてフレーム要求が送られた時間を過ぎてからの、任意の数のクロックサイクルとすることもできる。
【００４８】
ＤＯＵＴ上で１が読み取られると（ステップ１１０）、フレーム要求がデータ送信機によって認識されるので、ＳＹＮＣに０が書き込まれる（ステップ１１２）。データ受信機は、ＤＯＵＴの読み取りを続け（ステップ１１４）、０を探索する（ステップ１１６）。これは図５における時間６８に対応する。この例証的態様において、適用される決定規則は、「最後から２番目の１の検出に対応する時間においてサンプリングすること」である。この直後のクロックサイクルは、サンプリング時間（時間７０ａ）に対応し、対応するステップ、ステップ１１８において、ＤＯＵＴが読み取られる。データ受信機が、次のサンプリング時間を持ち受けているので、時間７２ａおよび７４ａにそれぞれ対応する、ステップ１２０および１２２においては、いかなる動作も必要ではない。最後のデータビットは読み取られていないと仮定して（ステップ１２４）、動作は、ステップ１１８に戻り、時間７０ｂにおいて次のビットを読み取る。サイクルは、フレーム内のＭ番目のビットが読み取られるまで続き（時間７０ｃ、７０ｄなどでの読取り）、その後に、データ受信機はステップ１０４に戻る。
なお、ステップ１１８の最初の実行は、時間７０ａにおける第２のヘッダーの読取りであることに留意されたい。これは余分な読取り動作であるが、これはフローチャートを簡略化する。
【００４９】
フレームサイズがデータ受信機によって決定される態様
フレームの終端がデータ受信機によって決定されると、信号遅延を変えるための配線をモニタリングするために、データ信号の追加のサンプルを取り込まなくてはならない。例えば、図５における事例６４ａおよび６４ｄにおいて、サンプリング時間の選択のための規則は、異なる結果につながる。両方の規則を、サンプルが不一致となるまで延長することを許可されたフレームに使用することもできる。事例６４ｂおよび６４ｃに対して、両方の規則は、同一のサンプリング時間を選択する結果になる。両方の場合において、第１のヘッダービットの３つのサンプルが作成される。第１または第３のサンプリング時間に不一致が見いだされるまで、３つすべての時間におけるデータ信号をモニタリングし、その後に、不一致があるまで残りの２つについてサンプリングすることによって、フレーム長さを大幅に延長することができる。
【００５０】
フレームサイズがデータ受信機によって決定される場合には、データ信号が、データが連続して１または０である、長いストレッチを含まないことが必要である。これらの状況下において、受信機は、伝播遅延における変化を検出する手段を有さず、連続する１または０の数を正確に数えることができない。この状況を回避するために、コーディング機構を、データ送信装置によって実現することもできる。
【００５１】
複数サンプリングクロックを使用する態様
別の態様においては、それぞれがデータビットレートで生成される３つのマスタークロック信号、ＭＣＬＫ１、ＭＣＬＫ２、およびＭＣＬＫ３によるなどのように、データビットレートにおいて（すなわち、データセル毎に）３つ以上のサンプルが、取り込まれる。ＭＣＬＫ２およびＭＣＬＫ３は、ＭＣＬＫ１の位相シフトバージョン（例えば、それに対して、それぞれ１２０度および２４０度シフト）としてもよい（しかしそうでなくてもよい）。一態様において、各マスタークロックでＤＯＵＴがサンプリングされて、検出結果が記録される。データ値として使用するサンプルの選択は、後に行ってもよい。例えば、図８に示すように、それぞれＭＣＬＫ１、ＭＣＬＫ２、およびＭＣＬＫ３に対応する、ＤＯＵＴのサンプル１２８ａ、１２８ｂおよび１２８ｃは、それぞれレジスタ１３０ａ、１３０ｂ、および１３０ｃに供給される。これらのレジスタは、ＭＵＸ１２６に接続され、このＭＵＸ１２６は、制御信号１３２によって制御される。制御信号１３２は、上記で考察した決定アルゴリズムを実装する、追加の回路（図示せず）によって駆動され、特定のデータビットに対するサンプルを選択するのに、どのマスタークロックを使用すべきかを決定、選択する。ＤＯＵＴの選択された読取り値は、次いで、ＭＵＸによって出力信号１３４に書き込まれる。
【００５２】
データ送信機によって同期が初期化される態様
態様によっては、データ送信機が、データ受信機に、同期信号を介して、それが１フレームのデータを送出している（または送出しようとしている）ことを指示することも想定できる。すなわち、そのような態様においては、同期信号を発生させるのは、受信機ではなく、送信機である。データ送信機から同期信号を受信すると、データ受信機は、ＤＯＵＴ上のフレームヘッダーおよびデータを検出する。そのような態様は、例えば、データ送信機が、ある量のデータを収集して、データ受信機にデータを配信するのに適当な時間であると判定する場合に、適切である。代替的に、同期信号の発生のトリガーをかけるタイマーを送信機に含めてもよい。
【００５３】
本発明の概念と、そのような発明概念および観点の１つまたは２つ以上を実施するための可能な態様の特定の例示実現形態とについて説明したが、本発明の観点は、他の様々な方法で実現できることは当業者には明白であろう。本発明の趣旨の範囲であり、それから逸脱しない、当業者であれば自然に思いつくような、そのような他の実現形態は、本開示によって示唆し、その範囲に含めることを意図するものである。したがって、本発明は考察した例に限定されるものではなく、またはそれらによって限定されるものでもなく、添付の請求項とその均等物によってのみ限定される。
【図１】
2010504698.tif 000005
【図２】
2010504698.tif 000006
【図３】
2010504698.tif 000007
【図４】
2010504698.tif 000008
【図５】
2010504698.tif 000009
【図６】
2010504698.tif 000010
【図７】
2010504698.tif 000011
【図８】
2010504698.tif 000012
【国際調査報告】
2010504698.tif 000013
2010504698.tif 000014
2010504698.tif 000015