(58)【調査した分野】(Int.Cl.,DB名)
マルチワイヤ通信インターフェースの3つ以上のワイヤのシグナリング状態における一連の遷移を検出するステップであり、前記一連の遷移における各遷移が、前記マルチワイヤ通信インターフェースで送信されるプリアンブルにおける連続的なシンボル間の境界に対応する、ステップと、
前記一連の遷移から受信クロックを導出するステップと、
前記一連の遷移に基づいて遷移領域を決定するステップと、
前記遷移領域の持続時間に対応する遅延期間を較正するステップと、
前記プリアンブルの終了後、前記マルチワイヤ通信インターフェースからデータシンボルを受信するステップであり、前記データシンボルが、前記遅延期間に基づいて変更される前記受信クロックのバージョンを使用して受信される、ステップと
を含む、較正方法。
前記一連の遷移における各遷移が、複数の検出器のうちの単一の検出器によって検出され、前記複数の検出器における各検出器が、前記マルチワイヤ通信インターフェースの2つのワイヤのシグナリング状態間の差を決定するように構成される、請求項1に記載の較正方法。
前記プリアンブルが、前記マルチワイヤ通信インターフェースに結合された送信デバイスと受信デバイスとの間に通信される制御情報において識別される一連のシンボルを含む、請求項1に記載の較正方法。
マルチワイヤ通信インターフェースの3つ以上のワイヤのシグナリング状態における一連の遷移を検出するための手段であり、前記一連の遷移における各遷移が、前記マルチワイヤ通信インターフェースで送信されるプリアンブルにおける連続的なシンボル間の境界に対応する、手段と、
前記一連の遷移から受信クロックを導出するための手段と、
前記一連の遷移に基づいて遷移領域を決定するための手段と、
前記遷移領域の持続時間に対応する遅延期間を較正するための手段と、
前記プリアンブルの終了後、前記マルチワイヤ通信インターフェースからデータシンボルを受信するための手段であり、前記データシンボルが、前記遅延期間に基づいて変更される前記受信クロックのバージョンを使用して受信される、手段と
を含む装置。
1つまたは複数の命令を有するプロセッサ可読記憶媒体であって、前記1つまたは複数の命令が、少なくとも1つの処理回路によって実行されると、前記少なくとも1つの処理回路に、
マルチワイヤ通信インターフェースの3つ以上のワイヤのシグナリング状態における一連の遷移を検出させ、前記一連の遷移における各遷移が、前記マルチワイヤ通信インターフェースで送信されるプリアンブルにおける連続的なシンボル間の境界に対応し、
前記一連の遷移から受信クロックを導出させ、
前記一連の遷移に基づいて遷移領域を決定させ、
前記遷移領域の持続時間に対応する遅延期間を較正させ、
前記プリアンブルの終了後、前記マルチワイヤ通信インターフェースからデータシンボルを受信させ、前記データシンボルが、前記遅延期間に基づいて変更される前記受信クロックのバージョンを使用して受信される
非一時的プロセッサ可読記憶媒体。
前記一連の遷移における各遷移が、複数の検出器のうちの単一の検出器によって検出され、前記複数の検出器における各検出器が、前記マルチワイヤ通信インターフェースの2つのワイヤのシグナリング状態間の差を決定するように構成される、請求項24に記載の記憶媒体。
【発明を実施するための形態】
【0014】
次に、様々な態様について図面を参照して説明する。以下の説明では、説明の目的で、1つまたは複数の態様の完全な理解をもたらすために多数の具体的な詳細を記載する。しかしながら、そのような態様が、これらの特定の詳細がなくても実施され得ることは、明らかである。
【0015】
本出願で使用する「構成要素」、「モジュール」、「システム」などの用語は、限定はしないが、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアなどのコンピュータ関連エンティティを含むものとする。たとえば、構成要素は、そうであることに限らないが、プロセッサ上で動作するプロセス、プロセッサ、オブジェクト、実行ファイル、実行中のスレッド、プログラム、および/またはコンピュータであり得る。例示として、コンピューティングデバイス上で動作するアプリケーションとコンピューティングデバイスの両方が、構成要素であってもよい。1つまたは複数の構成要素は、プロセスおよび/または実行スレッド内に存在してもよく、構成要素は、1つのコンピュータに局在化され、かつ/または2つ以上のコンピュータ間で分散されてもよい。加えて、これらの構成要素は、様々なデータ構造を記憶している様々なコンピュータ可読媒体から実行してもよい。構成要素は、たとえば、局所的システム内、分散システム内、および/または、インターネットなどのネットワークを越えた所の別の構成要素と相互に作用する1つの構成要素からのデータなどの、1つまたは複数のデータパケットを有する信号によるなど、局所的および/または遠隔の処理を介して、信号によって他のシステムと通信してもよい。
【0016】
その上、「または」という用語は、排他的な「または」よりもむしろ包括的な「または」を意味するものとする。すなわち、別段の規定がない限り、または文脈から明白でない限り、「XはAまたはBを使用する」という句は、自然な包括的並べ替えのいずれかを意味するものとする。すなわち、「XはAまたはBを使用する」という句は、以下の例のいずれかによって満たされる。XはAを用いる。XはBを用いる。またはXはAとBの両方を用いる。さらに、本出願および添付の特許請求の範囲で使用する冠詞「a」および「an」は、別段の規定がない限り、または単数形を示すことが文脈から明白でない限り、概して「1つもしくは複数」を意味するものと解釈すべきである。
【0017】
本発明のいくつかの態様は、電話、モバイルコンピューティングデバイス、電気製品、自動車用電子機器、アビオニクスシステムなど、装置のサブ構成要素を含み得る電子デバイス間に配備される通信リンクに対して適用可能であり得る。
図1は、ICデバイス間の通信リンクを使用する装置の簡略化された例を示す。装置100は、処理回路102に動作可能に結合された通信トランシーバ106を含み得る。一例では、装置100は、無線アクセスネットワーク(RAN)、コアアクセスネットワーク、インターネット、および/または別のネットワークとRFトランシーバ106を介して通信するワイヤレス通信デバイスを含み得る。処理回路102は、特定用途向けIC(ASIC)108および/または1つまたは複数の他のICデバイスを含み得る。ASIC108は、1つまたは複数の処理デバイス、論理回路などを含み得る。処理回路102は、処理回路102のプロセッサによって実行され得る命令および処理回路102によって操作され得るデータを維持し得るメモリ112などのプロセッサ可読ストレージを含み得、および/またはそれに結合され得る。処理回路102のいくつかの機能は、オペレーティングシステムと、メモリデバイス112など、記憶媒体内に存在するソフトウェアモジュールの実行をサポートし可能にするアプリケーションプログラミングインターフェース(API)110レイヤとのうちの1つまたは複数によって制御され得る。メモリデバイス112は、読取り専用メモリ(ROM)もしくはランダムアクセスメモリ(RAM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュカード、または処理システム内およびコンピューティングプラットフォーム内で使用され得る任意のメモリデバイスを含み得る。処理回路102は、装置100を構成および操作するために使用される操作パラメータおよび他の情報を維持し得るローカルデータベース114を含み得るか、またはそれにアクセスし得る。ローカルデータベース114は、データベースモジュール、フラッシュメモリ、磁気媒体、EEPROM、光媒体、テープ、ソフトディスクまたはハードディスクなどのうちの1つもしくは複数を使用して実装され得る。処理回路102はまた、アンテナ122、ディスプレイ124などの外部デバイス、キーパッド126、ボタン、ロッカーまたはスライダースイッチ128などのオペレータ制御、および/または他の構成要素に動作可能に結合され得る。
【0018】
図2は、ワイヤレスモバイルデバイス、携帯電話、モバイルコンピューティングシステム、ワイヤレス電話、ノートブックコンピュータ、タブレットコンピューティングデバイス、メディアプレーヤ、ゲーミングデバイス、アプライアンス、ウェアラブルコンピューティングデバイスなどの装置200のいくつかの態様を示すブロック概略図である。装置200は、通信リンク220を介してデータならびに制御情報を交換する複数のICデバイス202および230を含み得る。通信リンク220を使用して、互いに極近傍に配置されるか、または装置200の物理的に異なる部分に配置されるICデバイス202および230を接続することができる。一例では、通信リンク220は、ICデバイス202および230を担持するチップキャリア、基板または回路板上に設けられ得る。別の例では、第1のICデバイス202は、フリップフォンのキーパッドセクション内に配置され得、一方、第2のICデバイス230は、フリップフォンのディスプレイセクション内に配置され得る。別の例では、通信リンク220の一部分は、ケーブル接続または光接続を含み得る。
【0019】
通信リンク220は、複数のチャネル222、224および226を含み得る。1つもしくは複数のチャネル226は、双方向性であってよく、半二重モードおよび/または全二重モードで動作し得る。1つまたは複数のチャネル222および224は、一方向性であってよい。通信リンク220は、一方向により高い帯域幅を提供する非対称性であってよい。一例では、第1の通信チャネル222は順方向リンク222と呼ばれることがあり、一方、第2の通信チャネル224は逆方向リンク224と呼ばれることがある。ICデバイス202および230の両方が通信リンク222上で送信および受信するように構成される場合でも、第1のICデバイス202はホストシステムまたは送信機として指定され得、一方、第2のICデバイス230はクライアントシステムまたは受信機として指定され得る。一例では、順方向リンク222は、第1のICデバイス202から第2のICデバイス230にデータを通信するときにより高いデータレートで動作し得、一方、逆方向リンク224は、第2のICデバイス230から第1のICデバイス202にデータを通信するときより低いデータレートで動作し得る。
【0020】
ICデバイス202および230は、処理回路、コンピューティング回路、または他のデバイスに設けられ得るプロセッサ206、236を各々含み得る。一例では、第1のICデバイス202は、ワイヤレストランシーバ204およびアンテナ214を介するワイヤレス通信を維持することを含む、装置200のコア機能を実行するように適合され得、一方、第2のICデバイス230は、ディスプレイコントローラ232を管理するかまたは動作させるユーザインターフェースをサポートするように構成され得、カメラコントローラ234を使用してカメラまたはビデオの入力デバイスの動作を制御し得る。ICデバイス202および230のうちの1つまたは複数によってサポートされる他の特徴は、キーボード、音声認識構成要素、全地球測位システム、バイオメトリクス認識システム、動きセンサー、および他の入力デバイスまたは出力デバイスを含み得る。ディスプレイコントローラ232は、液晶ディスプレイ(LCD)パネル、タッチスクリーンディスプレイ、インジケータなどのディスプレイをサポートする回路およびソフトウェアドライバを含み得る。記憶媒体208および238は、それぞれのプロセッサ206および236、ならびに/またはICデバイス202および230の他の構成要素によって使用される命令とデータとを維持するように適合された、一時的記憶デバイスおよび/または非一時的記憶デバイスを含み得る。各プロセッサ206、236およびその対応する記憶媒体208、238、ならびに他のモジュールおよび回路の間の通信は、1つまたは複数のバス212および242によって、それぞれ、容易にされ得る。
【0021】
逆方向リンク224は、順方向リンク222と同じ様式で動作され得、順方向リンク222および逆方向リンク224は、同等の速度または異なる速度で送信することが可能であり、ここで速度は、データレート(またはデータ転送レート)および/または送信機クロックレートとして表され得る。順方向および逆方向のデータレートは、アプリケーションに応じて桁が実質的に同じであるかまたは桁が異なることがある。いくつかのアプリケーションでは、単一の双方向リンク226は、第1のICデバイス202と第2のICデバイス230との間の通信をサポートし得る。順方向リンク222および/または逆方向リンク224は、たとえば、順方向リンク222および逆方向リンク224が同じ物理接続を共有し、半二重様式で動作するとき、双方向モードで動作するように構成可能であり得る。一例では、通信リンク220は、工業規格または他の規格に従って第1のICデバイス202と第2のICデバイス230との間でデータ情報、制御情報、コマンド情報および他の情報を通信するように動作され得る。
【0022】
工業規格は、アプリケーション固有であってよい。一例では、MIPI規格は、アプリケーションプロセッサICデバイス202と、モバイルデバイス内のカメラまたはディスプレイをサポートするICデバイス230との間の同期インターフェース仕様(D-PHY)を含む物理レイヤインターフェースを定義する。D-PHY仕様は、モバイルデバイスに対するMIPI仕様に準拠する製品の動作特性を支配する。D-PHYインターフェースは、モバイルデバイス内でコンポーネント202と230との間を相互接続する柔軟で、低コストで、高速のシリアルインターフェースを使用してデータ転送をサポートし得る。これらのインターフェースは、電磁干渉(EMI)問題を回避するためにスローエッジを有する比較的低いビットレートをもたらす相補型金属酸化物半導体(CMOS)パラレルバスを含み得る。
【0023】
図2の通信リンク220は、(M本のワイヤとして示す)複数の信号ワイヤを含むワイヤ接続バスとして実装され得る。M本のワイヤは、N相符号化データを、たとえばディスプレイインターフェースなど、高速のデジタルインターフェースで運ぶように構成され得る。M本のワイヤは、チャネル222、224および226のうちの1つまたは複数のN相極性符号化を容易にし得る。物理レイヤドライバ210および240は、通信リンク220上で送信するためのN相極性符号化データシンボルを生成する、および/または通信リンク220から受信されたN相極性符号化データシンボルを復号するように構成または適合され得る。N相極性符号化の使用では、N相極性符号化データリンク220においてより少ないドライバがアクティブになるので、高速データ転送がもたらされ、他のインターフェースの電力の半分以下を消費し得る。
【0024】
N相極性符号化デバイス210および/または240は、一般に、通信リンク220上の遷移当たり複数ビットを符号化し得る。一例では、3相符号化および極性符号化の組合せは、ディスプレイリフレッシュのために810Mbpsでピクセルデータを配信する、フレームバッファなしで毎秒80フレームのLCDドライバICの、ワイドビデオグラフィックスアレイ(WVGA)をサポートするために使用され得る。
【0025】
図3は、
図2に示す通信リンク220のいくつかの態様を実装するために使用され得る、MワイヤN相極性エンコーダ300を示す概略図である。図示の例では、MワイヤN相極性エンコーダ送信機は、M=3ワイヤおよびN=3相シグナリングを使用して情報を送信するように構成される。3ワイヤ3相符号化の例は、単に、本発明のいくつかの態様の説明を簡素化するために選択されているにすぎない。3ワイヤ3相エンコーダに対して開示される原理および技法は、MワイヤN相極性エンコーダおよびデコーダの他の構成に適用され得る。
【0026】
MワイヤN相極性符号化方式におけるM本のワイヤの各々について定義されるシグナリング状態は、非駆動状態、正駆動状態、および負駆動状態を含み得る。3ワイヤ3相極性符号化方式では、信号ワイヤ310a、310bおよび/もしくは310cのうちの2つの間の電圧差を提供することによって、ならびに/または2つの信号ワイヤ310a、310bおよび/もしくは310cにおいて異なる方向に電流が流れるように、直列に接続された信号ワイヤ310a、310bおよび/もしくは310cのうちの2つを通る電流を駆動することによって、正駆動状態および負駆動状態が得られ得る。非駆動状態は、信号ワイヤ310a、310bまたは310cのドライバの出力を高インピーダンスモードにすることによって実現され得る。代替または追加として、非駆動状態は、駆動された信号ワイヤ310a、310bおよび/または310cにおいて提供される正の電圧レベルと負の電圧レベルとの間の実質的に中間にある電圧レベルを「非駆動の」信号ワイヤ310a、310bまたは310cが受動的または能動的に帯びるようにすることによって、信号ワイヤ310a、310bまたは310cにおいて得られ得る。一般に、非駆動信号ワイヤ310a、310bまたは310cを有意な電流は流れない。3ワイヤ3相極性符号化方式のために定義されたシグナリング状態は、電圧または電流の状態を表し得る3つのシグナリング状態{+1, 0, -1}を使用して示され得る。一例では、3つの状態{+1, 0, -1}は、3つの電圧レベル+V、0、-Vを表し得る。別の例では、3つの状態{+1, 0, -1}は、3つの電圧レベル+V、+V/2、0を表し得る。別の例では、3つの状態{+1, 0, -1}は、I、0、-Iの電流を表し得る。
【0027】
3ワイヤ3相極性エンコーダは、コネクタ310a、310bおよび310cのシグナリング状態を制御するために、1組のドライバ308を使用し得る。ドライバ308は、ユニットレベルの電流モードまたは電圧モードドライバとして実装され得る。各ドライバ308は、対応するコネクタ310a、310bまたは310cのシグナリング状態を決定する1組の信号316a、316bまたは316cを受信することができる。図示の例では、ドライバ308の各々は、対応するコネクタ310a、310bまたは310cのための4つの状態を定義する1対の信号316a、316bまたは316cを受信する。別の例では、各ドライバ308は、対応するコネクタ310a、310bまたは310cのための8つの状態を定義する1組の3つの信号を受信することができる。
【0028】
MワイヤN相極性符号化方式における送信されたシンボル間隔ごとに、少なくとも1つの信号ワイヤ310a、310bまたは310cは非駆動状態(0のシグナリング状態)であり、受信機に流れる電流の合計がゼロに等しいように、正駆動(+1のシグナリング状態)の信号ワイヤ310a、310bまたは310cの数は、負駆動(-1のシグナリング状態)の信号ワイヤ310a、310bまたは310cの数に等しい。前に送信されたシンボルと次に送信されたシンボルとの間の各シンボル遷移で、少なくとも1つの信号ワイヤ310a、310bまたは310cの状態は変化する。少なくとも1つの信号ワイヤ310a、310bおよび/または310cのシグナリング状態が連続的なシンボルの各対の間で変化したとき、受信機は、遷移に基づいて受信クロックを確実に生成することができる。
【0029】
動作中、マッパー302は、入力データ310を受信し、1組のシンボル312にマッピングすることができる。示された3ワイヤ3相の例では、1組のシンボルは、入力データ310の16ビットワードがシンボルの各組に符号化され得るように、7つの3ビットシンボルを含む。3ビットシンボルの各ビットは、1つのシンボル間隔の間の信号ワイヤ310a、310bおよび310cの1つの状態を定義する。シンボル312のシーケンスは、シンボル314のタイミングシーケンスを提供する並直列変換器304を使用して直列化され得、各シンボルが3ワイヤ310a、310bおよび310cのシグナリング状態を定義する。シンボル314のシーケンスは、一般的に、シンボル間隔を画定するために、送信クロックを使用して時間が計られ、それによって、各シンボル間隔で単一のシンボルが送信される。Mワイヤ相エンコーダ306は、マッパーによって作成された7シンボル314のシーケンスを一回に1シンボルとして受信し、各シンボル間隔の間に各信号ワイヤ310a、310bおよび310cの状態を計算する。3ワイヤエンコーダ306は、電流入力シンボル314と信号ワイヤ310a、310bおよび310cの前の状態とに基づいて信号ワイヤ310a、310bおよび310cの状態を選択する。
【0030】
MワイヤN相符号化の使用では、ビット数が複数のシンボルに符号化されることが可能になる。データビットの非整数は、各シンボルに符号化され得る。3ワイヤ3相システムの例では、同時に駆動され得る2ワイヤに3つの利用可能な組合せが存在し、駆動されるワイヤペアに極性の2つの可能な組合せが存在し、6つの可能な状態が得られる。信号ワイヤ310a、310bおよび310cのシグナリング状態は、シンボル間の各遷移で変わり、したがって、6つの状態のうちの5つは、すべての遷移で利用可能である。言い換えれば、受信機が信頼できる受信クロックを生成できるようにするために、少なくとも1つのワイヤの状態が各遷移で変わり、電流のシグナリング状態が与えられると、各遷移で利用可能な5つの可能なシグナリング状態がある。5つの状態に対して、log
2(5)≒2.32ビットが、シンボルごとに符号化され得る。したがって、マッパーは、16ビットワードを受容し、それを7シンボルに変換することができる。なぜなら、シンボル当たり2.32ビットを搬送する7シンボルは16.24ビットを符号化し得るからである。言い換えれば、5つの状態を符号化する7つのシンボルの組合せは、5
7(78,125)の順列を有する。したがって、7シンボルは、16ビットの2
16(65,536)の順列を符号化するために使用され得る。
【0031】
図4は、回路状態
図450によって示される3相変調データ符号化方式を使用して符号化された信号についてのタイミングチャート400の一例を含む図である。情報は、たとえば、ワイヤまたはコネクタは、状態
図450によって定義される3つの位相状態S
1、S
2およびS
3のうちの1つであるシグナリング状態のシーケンスに符号化され得る。各状態は、120度位相偏移によって他の状態から分離され得る。一例では、データは、ワイヤまたはコネクタ上の位相状態の回転の方向に符号化され得る。信号における位相状態は、時計回りの方向452および452'または反時計回りの方向454および454'に回転することができる。たとえば、時計回りの方向452および452'では、位相状態は、S
1からS
2、S
2からS
3、およびS
3からS
1への遷移のうちの1つまたは複数を含むシーケンスで進み得る。反時計回りの方向454および454'では、位相状態は、S
1からS
3、S
3からS
2、およびS
2からS
1への遷移のうちの1つまたは複数を含むシーケンスで進み得る。3つのワイヤ310a、310bおよび310cは、同じ信号の異なる位相偏移バージョンを運び、ここでは、バージョンは、互いに対して120度位相偏移される。各シグナリング状態は、ワイヤもしくはコネクタ上の異なる電圧レベル、および/またはワイヤもしくはコネクタを通る電流の流れの方向として表され得る。3ワイヤシステムにおけるシグナリング状態のシーケンスの各々の間、各ワイヤ310a、310bおよび310cは、他のワイヤとは異なるシグナリング状態にある。3つ以上のワイヤ310a、310bおよび310cが3相符号化システムで使用されるとき、2つ以上のワイヤ310a、310bおよび/または310cは、各シグナリング間隔で同じシグナリング状態にあり得るが、各状態は、シグナリング間隔ごとに少なくとも1つのワイヤ310a、310bおよび/または310cに存在する。
【0032】
情報は、各位相遷移410での回転の方向に符号化され得、3相信号は、シグナリング状態ごとに方向を変え得る。非駆動ワイヤ310a、310bまたは310cは、回転の方向に関係なく、回転する3相信号におけるすべてのシグナリング状態で変わるので、位相遷移の前後でどのワイヤ310a、310bおよび/または310cが「0」状態(たとえば、非駆動状態)であるかを考慮することによって、回転の方向が決定され得る。
【0033】
符号化方式はまた、アクティブに駆動される導体310a、310bおよび310cのうちの2つの極性408に、情報を符号化し得る。3ワイヤ実装で任意の時に、導体310a、310b、310cのちょうど2つは、反対方向の電流および/または電圧差で駆動される。単純な実装では、データ412は、1ビットが位相遷移410の方向に符号化され、第2のビットが現在の状態408の極性で符号化される、2ビット値412を使用して符号化され得る。
【0034】
タイミングチャート400は、位相回転方向と極性の両方を使用したデータの符号化を示す。曲線402、404および406は、複数の位相状態について、それぞれ3つのワイヤ310a、310bおよび310c上で運ばれる信号に関する。最初に、位相遷移410は時計回りの方向であり、最上位ビットは、バイナリ「1」に設定され、その後、最上位ビットのバイナリ「0」によって表されるように、位相遷移410の回転が時間414に反時計回り方向に切り替わる。最下位ビットは、各状態の信号の極性408を反映する。
【0035】
本明細書で開示するいくつかの態様によれば、データの1つのビットが、3ワイヤ3相符号化システムにおける回転または位相変化に符号化され得、追加のビットが、2つの駆動ワイヤの極性に符号化され得る。追加の情報は、現在の状態から可能な状態のうちのいずれかへの遷移を可能にすることによって、3ワイヤ3相符号化システムの各遷移に符号化する。位相ごとに3つの回転位相および2つの極性が与えられると、3ワイヤ3相符号化システムにおいて6つの状態が利用可能である。したがって、任意の現在の状態からの遷移に5つの状態が利用可能である。したがって、シンボル(遷移)当たり符号化されたlog
2(5)≒2.32ビットが存在し得、マッパー302は16ビットワードを受容し、それを7シンボルに符号化することができる。
【0036】
N相データ転送は、バスなどの通信媒体内に設けられる4つ以上のワイヤを使用し得る。同時に駆動され得る追加の信号ワイヤの使用では、状態と極性とのより多くの組合せがもたらされ、状態間の各遷移においてデータのより多くのビットが符号化されることが可能になる。このことは、システムのスループットを著しく改善し、データビットを送信するために複数の差動ペアを使用する手法を上回って電力消費を低減する一方で、増加した帯域幅を提供する。
【0037】
一例では、エンコーダは、各状態に対して駆動される2つのワイヤペアを有する6つのワイヤを使用してシンボルを送信し得る。6つのワイヤは、A〜Fにラベル付けされ得、それにより、ある状態では、ワイヤAおよびFが正に、ワイヤBおよびEが負に駆動され、CおよびDが駆動されない(または電流を流さない)。6つのワイヤに対して、
【0039】
のアクティブに駆動されるワイヤの可能な組合せと、
【0041】
の各位相状態に対する極性の異なる組合せとが存在し得る。
【0042】
アクティブに駆動されるワイヤの15の異なる組合せは、
【0044】
駆動される4ワイヤのうち、2つのワイヤの可能な組合せが正に駆動される(そして他の2つは負でなければならない)。極性の組合せは、以下を含み得る。
【0046】
したがって、異なる状態の総数は、15×6=90として計算され得る。シンボル間の遷移を保証するために、任意の現在の状態から89の状態が利用可能であり、各シンボルに符号化され得るビット数は、シンボル当たりlog
2(89)≒6.47ビットとして計算され得る。この例では、5×6.47=32.35ビットであるので、32ビットワードは、マッパーによって5つのシンボルに符号化され得る。
【0047】
任意のサイズのバスに対して駆動され得るワイヤの組合せの数に対する一般式は、バス内のワイヤの数および同時に駆動されるワイヤの数の関数として:
【0049】
駆動されるワイヤに対する極性の組合せの数に対する式は:
【0053】
図5は、3ワイヤ3相通信リンクの一例における6つの可能な位相極性状態および30の可能な状態遷移を示す状態
図500である。状態
図500における可能な状態502、504、506、512、514および516は、
図4の
図450に示される状態を含む。例示的な状態要素520に示されるように、状態
図500における各状態502、504、506、512、514および516は、(それぞれワイヤ310a、310bおよび310c上で送信される)信号A、BおよびCのシグナリング状態を示すフィールド522、ならびに差動受信機(たとえば
図7に表される差動受信機702a、702b、702cなど)によるワイヤ電圧の減算の結果を示すフィールド524を含む。たとえば、状態502では、(+x)ワイヤA=+1、ワイヤB=-1、およびワイヤC=0であり、差動受信機702a(A-B)=+2、差動受信機702b(B-C)=-1、および差動受信機702c(C-A)=+1の出力をもたらす。状態図によって図示するように、状態変化検出回路704によって行われる遷移決定は、-2、-1、0、+1および+2電圧状態を含む、差動受信機702a、702b、および702cによって生成される5つの可能なレベルに基づく。
【0054】
図6は、3ワイヤ3相デコーダのいくつかの態様を示す
図600である。差動受信機602およびワイヤ状態デコーダ604は、互いに対して、3つの信号ワイヤ612a、612bおよび612cの状態のデジタル表現を提供し、前のシンボル期間における3つの信号ワイヤ612a、612bおよび612cのシグナリング状態と比較した3つの信号ワイヤ612a、612bおよび612cのシグナリング状態の変化を検出するように構成される。シンボル期間の間の3つの信号ワイヤ612a、612bおよび612cのシグナリング状態のデジタル表現は、生のシンボルと呼ばれ得る。デマッパ608によって処理されるべき1組の7つのシンボル616を得るために、一連の7つの連続的な生のシンボル614は、直列並列変換器606によって組み立てられる。デマッパ608は、出力データ620を提供するためにFIFO610でバッファリングされ得る16ビットの出力データ618を生成する。
【0055】
動作中、ワイヤ状態デコーダ604は、ワイヤ612a、612bおよび612cにおいて受信される信号から一連のシンボル614を抽出することができる。シンボル614は、本明細書で開示されるように、ワイヤ612a、612bおよび612cにおいて受信される信号の極性と位相回転との組合せとして表され得るシグナリング状態に基づいて復号される。ワイヤ状態デコーダは、ワイヤ612a、612bおよび612cからシンボルを確実に捕捉するために使用され得るクロック626を抽出するCDR624を含み得る。CDR624は、連続的なシンボル間隔の間の各境界でワイヤ612a、612bおよび612cのうちの少なくとも1つにおける遷移の発生に基づいてクロック626を生成するように構成され得る。すべてのワイヤ612a、612bおよび612cの時間を安定させることができ、それによって、現在のシンボルが復号のために捕捉されることを確実にするために、クロック626のエッジは遅延され得る。
【0056】
CDRによって使用される遅延は、差動受信機602によって異なる時に生成される複数のエッジの影響をマスキングするのに十分な時間期間を許容するように構成され得る。これらの複数のエッジは、いくつかの状態遷移が異なる差動受信機602に、互いに対して時間的に分離され得るエッジを生成させるときに起こり得る。CDR624は、すべての可能なエッジが発生する時まで、シンボル境界において最初に発生するエッジに対する反応を遅延させる遅延要素を含み得る。CDR624の構成要素の性能の変動は、複数のエッジ間の遅延に影響を及ぼすと予想され得、CDR624の性能のこれらの変動は、最悪のケースの状態を考慮するCDR624についての遅延を構成することによって対処され得る。性能の変動は、たとえば、電力、電圧、および熱(PVT)の状態の変化によって生じ得る。遅延の増加は、通信リンクにおいて使用可能な最大クロック速度を制限することができる。構成された遅延が短すぎる場合、単一のシンボルのために複数のクロックパルスが作成され得、これは、送信機と受信機との間の同期の損失をもたらし得る。遅延が長すぎる場合、シンボル時間は重複し得、それによって、クロック復元回路は、故障するか、2つのシンボル間隔に単一のパルスを生成する。
【0057】
図7は、3ワイヤ3相デコーダにおけるクロック生成のいくつかの態様を示すブロック概略
図700を含む。1組の差動受信機702a、702bおよび702cは、3つのワイヤ710a、710bおよび710cの各々を3つのワイヤ710a、710bおよび710cの別のものと比較する。図示の例では、第1の差動受信機702aは、ワイヤ710aおよび710bのシグナリング状態を比較し、第2の差動受信機702bは、ワイヤ710bおよび710cの状態を比較し、第3の差動受信機702cは、ワイヤ710aおよび710cの状態を比較する。本明細書で説明するように、ワイヤ710a、710bおよび710cのうちの少なくとも1つのシグナリング状態は、各シンボル境界で変化する。したがって、差動受信機702a、702bおよび702cのうちの少なくとも1つの出力が各シンボル間隔の終わりに変化するので、状態変化検出回路704は、シグナリング状態の変化の発生を検出することができる。
【0058】
シグナリング状態遷移の中には、単一の差動受信機702a、702bまたは702cによって検出可能であり得るものもあり、他のシグナリング状態遷移の中には、差動受信機702a、702bおよび702cのうちの2つ以上によって検出されるものもあり得る。一例では、2つのワイヤのシグナリング状態または相対的な状態は、遷移の後変化しない可能性があり、対応する差動受信機702a、702bまたは702cの出力も、シンボル遷移の後変化しない可能性がある。別の例では、1対のワイヤ702a、702bおよび/または702cにおける両方のワイヤは、第1の時間間隔において同じ状態であり得、両方のワイヤは、第2の時間間隔において同じ第2の状態であり得、対応する差動受信機702a、702bまたは702cは、位相遷移の後変化しない可能性がある。したがって、クロック発生回路706は、シグナリング状態遷移がいつ発生したかを決定するために、すべての差動受信機702a、702bおよび702cの出力を監視するシグナリング状態変化検出回路および論理704を含み得る。クロック発生回路は、検出されたシグナリング状態遷移に基づいて、受信クロック708を生成し得る。
【0059】
シグナリング状態の変化は、異なるワイヤ710a、710bおよび/または710cにおいて異なる時に検出され得る。シグナリング状態変化の検出のタイミングは、発生したシグナリング状態変化のタイプに従って変わり得る。この変動性の結果は、
図7に示される簡略タイミング
図750に図示される。シグナリング状態変化検出回路704および/または差動受信機702a、702bおよび702cの出力を表すマーカー722、724および726は、説明の明快さのために、異なる高さが割り当てられている。マーカー722、724および726の相対的な高さは、クロック発生もしくはデータ復号のために使用される電圧もしくは電流レベル、極性または重み付け値との特定の関係を有していない。タイミングチャート750は、3つのワイヤ710a、710bおよび710c上で送信されるシンボルに関連した遷移のタイミングの影響を示す。タイミングチャート750において、いくつかのシンボル間の遷移は、シンボルがその間に確実に捕捉され得る、可変の捕捉ウィンドウ730a、730b、730c、730d、730e、730fおよび/または730g(まとめて、シンボル捕捉ウィンドウ730)をもたらし得る。検出されたシグナリング状態変化の数、およびそれらの相対的タイミングは、クロック信号708上のジッタをもたらし得る。
【0060】
図8に表される単純な例800に示されるように、シンボルウィンドウ730およびジッタのサイズの変動性は、部分的にワイヤ710a、710bおよび710cの電気的特性によってもたらされ得る。遷移時間は、信号立上り時間の変動性および/または製造プロセストレランスによってもたらされた検出回路の変動性、電圧および電流源ならびに動作温度の変動および安定性によって影響を受け得る。遷移時間の大きい変動性は、3相シグナリングにおける異なる電圧または電流レベルの存在に起因し得る。簡略化された「電圧レベル」の例は
図8に表されており、これは、単一ワイヤ710a、710bまたは710cの遷移時間を示す。第1のシンボル(Sym
n)802は、時間822に終わるシンボル間隔で送信され得、第2のシンボル(Sym
n+1)は、時間824に終わるシンボル間隔で送信され得、第3のシンボル(Sym
n+2)806は、時間826に終わるシンボル間隔で送信され得、そのとき、第4のシンボル(Sym
n+3)808の送信が始まる。ワイヤ710a、710bまたは710cの電圧がしきい値電圧818および/または820に達するのにかかる時間に起因する第1の遅延812の後、第1のシンボル802によって決定される状態から第2のシンボル804に対応する状態への遷移が検出され得る。しきい値電圧は、ワイヤ710a、710bまたは710cの状態を決定するために使用され得る。ワイヤ710a、710bまたは710cの電圧がしきい値電圧818および/または820のうちの1つに達するのにかかる時間に起因する第2の遅延814の後、第2のシンボル804によって決定される状態から第3のシンボル806の状態への遷移が検出され得る。ワイヤ710a、710bまたは710cの電圧がしきい値電圧818および/または820に達するのにかかる時間に起因する第3の遅延816の後、第3のシンボル806によって決定される状態から第4のシンボル808の状態への遷移が検出され得る。
【0061】
図示のように、第3の遅延816は、第1の遅延812よりも短い可能性があり、第2の遅延814は、最長の遅延であり得る。状態0が非駆動状態であるので、第2の遅延814は、最長の遅延であり得、ワイヤ710a、710bまたは710cにおける電圧は、しきい値820の方にゆっくりドリフトし得るのに対して、第1の遅延812および第2の遅延816は、ワイヤ710a、710bまたは710cがそれぞれ-1および+1の状態に能動的に引っ張られる遷移に関連する。
【0062】
図9は、複数のシンボル間隔902のオーバレイから生成され得る単純化されたアイチャート(eye chart)を示す図である。信号遷移領域904は、可変の信号立上り時間が信頼できる復号を防止する不確実性の時間期間を表す。状態情報は、シンボルが安定しており、確実に受信され、復号され得る時間期間を表す「開眼(eye opening)」906において確実に決定され得る。一例では、開眼906は、信号遷移領域904の端部912で開始し、シンボル間隔902の終端914で終わるように決定され得る。
図9に表される例では、開眼906は、信号遷移領域904の端部912で開始し、コネクタ710a、710b、710cのシグナリング状態、および/または3つの差動受信機702a、702bおよび702cの出力が変化し始めた時間916に終わるように決定され得る。
【0063】
N相符号化のために構成される通信リンク220の最大速度は、開眼906の受信信号と比較して、信号遷移領域904の持続時間によって制限され得る。シンボル間隔902の最小期間は、たとえば、
図6に示されるN相デコーダ600におけるCDR回路624に関連する、または
図7のクロック発生回路706における厳しい設計マージンによって制約され得る。異なるシグナリング状態遷移は、2つ以上のワイヤ710a、710bおよび/または710cに対応する信号遷移時間の異なる変動に関連付けられ得、それによって、受信デバイスにおける差動受信機702a、702bおよび702cの出力は、差動受信機702a、702bおよび702cへの入力が変わり始めるシンボル境界908に関して異なる時に変わる。受信デバイスにおける複数の差動受信機702a、702bおよび702cの出力間の受信信号遷移時間の大きい差は、一般に、遷移領域時間904を超える最小遅延を有するCDR回路624における遅延要素の実装を必要とする。一例では、遅延要素は、
図7に示される状態変化検出回路704および/またはクロック発生回路706の1つまたは複数に設けられ得る。この遅延要素によって提供される最大遅延時間は、開眼906の終端916を超えない可能性があり、これは、いくつかの例では、時間914における次のシンボル間隔の先端の開始と一致し得る。より速いデータレートで、開眼906は、シンボル間隔902と比較して小さくなり得、シンボル遷移の変動性の影響は、最大シンボル送信レートを決定し得る。
【0064】
可能な最小の信号遷移時間および可能な最大の遷移時間が単一のシンボル遷移の間に発生する可能性は低いので、任意の単一の遷移の持続時間は、信号遷移領域(t
ΔJ)904のフルレンジに及びそうにない。一例では、信号遷移領域904は、差動受信機702a、702bまたは702cの出力で検出される最初のゼロ交差910の時間によって制限され得、すべての可能なシンボル遷移について、最後のゼロ交差912の時間は、差動受信機702a、702bまたは702cの出力で検出され得る。差動受信機702a、702bおよび702cの出力で観察される遷移時間は、コネクタならびに/またはワイヤ710a、710bもしくは710cがコネクタならびに/またはワイヤ710a、710bもしくは710cのドライバ308への入力の後次の状態に達するためにかかる時間に対応する。可能な最長の遷移時間は、コネクタおよび/またはワイヤ710a、710bもしくは710cの特性、ならびに関係する状態遷移のタイプに基づいて決定され得る。一例では、可能な最長の遷移時間は、信号の立上りまたは立下り時間によって決定され得る。立上りまたは立下り時間は、元のおよび/または最終の状態の性質および電圧レベルによって決定され得る。一般に、可能な最長の遷移時間は、能動的な駆動状態と非駆動状態との間の遷移に対応する。
【0065】
遷移領域904についてのt
ΔJの高値は、CDR回路624またはクロック発生回路706に関連した設計の問題の増加をもたらし得る。たとえば、クロック発生回路706は、3つの差動受信機出力702a、702bおよび702cの第1のゼロ交差によってトリガされる遅延要素またはタイマーを使用し得る。すべての3つの差動受信機702a、702bおよび702cの出力の状態は、差動受信機702a、702bおよび702cのすべてが、開眼906によって定義され得るそれらの最終の状態に達するまで、安全にサンプリングされない場合がある。したがって、遅延要素またはタイマーは、遷移領域904の開始910または推定された開始でトリガされ得、理想的には、タイマーは、遷移領域904の端部912の直後に期限切れになり、その時、クロック発生回路706は、3つの差動受信機702a、702bおよび702cの出力をサンプリングするために使用されるクロックエッジを出力することができる。
【0066】
いくつかのシステムでは、CDR回路624における遅延要素は、製造プロセス、回路供給電圧、およびダイ温度における変動(PVT変動)によって悩まされる可能性があり、著しく変わる遅延を起こす可能性がある。そのようなシステムでは、CDR回路624の公称の動作状態は、一般に、最悪のケースのPVTの影響下でさえ、遷移領域904の端部912の後、および次のシンボルに対する遷移領域の開始914の前にクロックエッジが発生することを確実にするために、開眼906の途中のどこかでクロックエッジを生成するために計画的に設定される。問題は、遷移領域904が開眼906と比較して大きいとき、開眼906内でのクロックエッジを保証するCDR回路624を設計する際に起こり得る。たとえば、典型的な遅延要素は、すべてのPVT状態の2倍変化する遅延値を生成し得、開眼906は、調整不可能な遅延値が選択され得るように、遷移領域904よりも大きくなければならない。本明細書で説明するいくつかの態様によれば、動的に構成された遅延は、遅延回路の性能における操作上の変動を考慮に入れ得る。
【0067】
図10および
図11は、第1の状態から第2の状態までのいくつかの可能な遷移の簡略化された例を示すタイミングチャート1000および1100を含む。初期状態は、別の駆動状態、または非駆動状態への可能な遷移を含む、駆動状態とすることができる。
図10に図示した例は、3つの状態遷移+xから-x、+xから+y、および+xから+zについての遷移の配列を表す。これら3つの状態遷移で起こる状態は、
図5に示される30の可能な状態遷移のうちの18に存在し得る。
【0068】
タイミングチャート1002、1012および1022は、差動受信機702a、702bおよび702cの入力に結合された信号ワイヤ710a、710bおよび710cの対の間の差を表す差動受信機702a、702bおよび702cの出力(AB、BC、CA)を示す。タイミングチャート1002、1012および1022は、チャート1050の組に示される信号遷移の前後の時間期間をカバーする。タイミングチャート1002および1052は、シンボル(+x)502からシンボル(-x)512への遷移に関係し、信号Aは、+1状態から-1状態に遷移し、信号Bは、-1状態から+1状態に遷移し、信号Cは、0状態のままである。したがって、AB差動受信機702aは、遷移1006前の+2差、および遷移1006後の-2差を測定し得、BC差動受信機702bは、遷移1004前の-1差、および遷移1004後の+1差を測定し得、CA差動受信機702cは、遷移1004前の-1差、および遷移1004後の+1差を測定し得る。この例では、遷移1004と1006の両方は、最終の状態が駆動状態であることに起因する、時間的に近いゼロ交差を有する。
【0069】
タイミングチャート1012および1054は、シンボル(+x)502からシンボル(+y)504への遷移に関係し、信号Aは、+1状態から0状態に遷移し、信号Bは、-1状態から+1状態に遷移し、信号Cは、0状態から-1状態に遷移する。したがって、AB差動受信機702aは、遷移1016前の+2差、および遷移1016後の-1差を測定し得、BC差動受信機702bは、遷移1014前の-1差、および遷移1014後の+2差を測定し得、CA差動受信機702cは、遷移1018前の-1差、および遷移1018後の-1差(実質的に遷移無し)を測定し得る。この例では、遷移1014および1016は、かなりの時間期間だけ分離されたゼロ交差を有する。BC遷移1014が最終の駆動状態を有する2つの信号を伴い、AB遷移1016が最終の非駆動状態を有する1つの信号に関するので、差が発生し得る。
【0070】
タイミングチャート1022および1056は、シンボル(+x)502からシンボル(+z)506への遷移に関係し、信号Aは、+1状態から-1状態に遷移し、信号Bは、-1状態から0状態に遷移し、信号Cは、0状態から+1状態に遷移する。したがって、AB差動受信機702aは、遷移1026前の+2差、および遷移1026後の-1差を測定し得、BC差動受信機702bは、遷移1028前の-1差、および遷移1028後の-1差(実質的に遷移無し)を測定し得、CA差動受信機702cは、遷移1024前の-1差、および遷移1024後の+2差を測定し得る。この例では、遷移CA遷移1024およびAB遷移1026は、かなりの時間期間だけ分離されたゼロ交差を有する。差は、CA遷移1024がいずれも最終の駆動状態を有する信号AおよびCを伴い、AB遷移1026が最終の非駆動状態を有する1つの信号(B信号)を伴うことに起因する。
【0071】
図11に図示した例は、状態遷移+xから-y1102、および+xから-z1112についての遷移の配列を表す。これらの例では、例示される遷移ごとに、1つのみの差動受信機702a、702bまたは702cがゼロ交差を検出する。タイミングチャート1102および1112は、チャート1150の組に示される信号遷移の前後で、差動受信機702a、702bおよび702cで測定可能な信号ワイヤ710a、710bおよび710c(それぞれ信号A、BおよびC)間の差を示す。タイミングチャート1102および1152は、シンボル(+x)502からシンボル(-y)514への遷移に関係し、信号Aは、+1状態から非駆動(0)状態に遷移し、信号Bは、-1状態から(0)非駆動状態に遷移し、信号Cは、非駆動(0)状態から-1状態に遷移する。したがって、CA差動受信機702cのみが遷移でのゼロ交差を観察する。
【0072】
タイミングチャート1112および1154は、シンボル(+x)502からシンボル(-z)516への遷移に関係し、信号Aは、+1状態のままであり、信号Bは、-1状態のままであり、信号Cは、0状態から+1状態に遷移する。したがって、BC差動受信機702bのみが遷移でのゼロ交差を観察する。
【0073】
マルチワイヤインターフェース上の信号の立上りおよび立下り時間の変動性、および信号を監視する受信機の性能の差は、その間にシンボル遷移の複数の検出が生成され得る、遷移領域904(
図9参照)をもたらし得る。CDR回路624(
図6参照)は、すべての可能な遷移の検出が行われるまで、サンプルクロックの生成を遅延させるように構成され得る。一例では、CDR回路は、シンボル遷移の第1の検出の後遅延を開始し得、遅延期間の間、さらなる遷移を無視または抑制することができる。遅延期間の持続時間は、最大シンボル送信レートに影響を与える可能性があり、遅延期間が不必要に長い場合、性能を低下させる可能性がある。本明細書で説明するいくつかの態様によれば、遅延期間を観察された遷移領域904に較正できるようにするトレーニングシーケンスまたはプリアンブルが提供され得る。すなわち、プリアンブルは、ワイヤの異なる組合せにおける様々なシグナリング状態変化のための遷移検出間の最大変動性を決定するために使用され得る。遷移タイミングの最大変動性に基づいて計算される遅延期間は、遷移領域904において生じる追加の遷移を抑制するために使用され得る最適クロックマスクを生成するために使用され得る。クロックマスクの動的な再較正を可能にし、それによって、通常作動の間のPVT状態の変化によってもたらされる変動を考慮に入れるように、各データ送信の前にプリアンブルが送信されてもよい。
【0074】
図12も参照し、本明細書で開示するいくつかの態様によれば、MワイヤN相通信インターフェースにおける送信は、各遷移が単一の差動受信機702a、702bまたは702cのみによって検出可能である一連の遷移を生成するプリアンブル1202を含み得る。受信機は、このプリアンブル1202を使用して、送信クロックの期間を決定することができ、受信機は、プリアンブルを使用した遷移検出時間の測定値に基づいて、CDR624によって使用される遅延を最適化することができる。次いで、送信クロックおよび遅延は、1つまたは複数のパケット1206における同期ワード1204および/またはデータを復号するために使用され得る。
【0075】
3ワイヤ3相通信インターフェースの例では、3つのワイヤ710a、710bおよび710cのシグナリング状態は、3つのワイヤ710a、710bおよび710c上で送信されるプリアンブルによって制御され得る。プリアンブルは、較正シーケンス{+x, -y, +z, -x, +y, -z, +x...}および/またはその逆回転バージョン{+x, -z, +y, -x, +z, -y, +x...}を含み得る。タイミングチャート1250は、シーケンス{+x, -y, +z, -x, +y, -z, +x...}を例示し、差動受信機702a、702bおよび702cの出力1252、1254および1256、ならびにプリアンブル1202から生成された較正クロック1258を示す。
【0076】
プリアンブル1202における較正シーケンスは、静的または動的に定義され得る。一例では、送信機および受信機は、差動受信機702a、702bおよび702cにおける1つのみのゼロ交差を生成する一連の遷移を含むプリアンブル1202でプリコーディングまたは事前構成され得る。別の例では、プリアンブル1202は、受信機および/または送信機によって指定され得、別々の制御インターフェースを使用して通信され得るプログラマブルシーケンスを含み得る。プリアンブルパターンは、アプリケーションのニーズに従って選択され得る。
【0077】
図13は、較正クロック1258を生成するために使用され得る簡略化された較正回路1302を示すブロック
図1300である。較正クロック1258は、3つの差動受信機1304の1つまたは複数の出力における遷移から導出され得る。較正回路1302は、較正クロック1258によって計測され得る。プリアンブル1202における較正シーケンスは、1つの受信機1304のみの出力が各遷移で変わるように、グレイコードとして構成され得る。
【0078】
図示の3ワイヤ3相の例において、状態機械1320は、較正回路1302の動作を制御する。別のタイプのコントローラまたは処理回路は、たとえば、シーケンサ、埋込みプロセッサ、デジタル信号プロセッサ、および/または何らかの他の処理デバイスを使用する処理回路を含めて、アプリケーションの要望通りまたはアプリケーションによって示されるように使用され得る。伝送路の電気状態を表す信号は、入力1310a、1310bおよび1310cで受信され、信号は、入力1310a、1310bおよび1310cの対のすべての組合せの比較の結果を表し得る出力を提供する差動受信機1304に提供される。排他的論理和ゲート(XOR)1308a、1308bおよび1308cは、差動受信機1304の各々の出力を、それぞれの差動受信機1304の出力の遅延バージョンと比較する。遅延バージョンは、遅延要素1306a、1306bおよび1306cを使用して生成され得る。XOR1308a、1308bおよび1308cの出力は、パルスの幅がそれぞれの遅延要素1306a、1306bおよび1306cによって導かれる遅延に対応する持続時間または幅を有する、パルス信号を提供する。ORゲート1318は、入力1302の任意の対のために検出される遷移に対応するすべてのパルスを含む較正クロック信号1258を生成するためにXOR1308a、1308bおよび1308cの出力を結合する。
【0079】
較正クロック信号1258は、計測された遅延線1312およびマルチプレクサ1314を含むプログラマブル遅延要素1330に提供される。較正クロック信号1258上のパルスが遅延要素1330を通過するのにかかる時間は、状態機械1320によって提供される選択入力1322の値によって決定される。較正クロック信号1258上の各パルスは、「D」レジスタ1316を使用して実装され得るフリップフロップの「セット」入力を起動させる。較正クロック信号1258の遅延バージョン1334における最初のパルスが遅延要素1330を出るとき、Dレジスタ1316はリセットされる。例において、マルチプレクサ1314は、遅延要素1330の出力として遅延線1312のn個の漸進的遅延出力(遅延タップ)のうちの1つを選択する。タップは、状態機械1320によって制御される入力値1322によって選択される。
【0080】
状態機械1320は、逐次近似アルゴリズム、線形検索アルゴリズム、または別の適切な検索アルゴリズムに基づいて検索を行うことによって適切な遅延値を決定するように構成され得る。状態機械1320は、送信クロック周波数として表され得る1つのシンボル期間に対応する遅延間隔に近似する遅延タップを見つけ出すように構成され得る。クロック発生器回路706(
図7参照)は、この同じ遅延間隔を使用して、受信クロックの周波数を制御し、データがいつサンプリングされるかを決定することができる。一例では、遅延が1つのシンボル期間内に安全に含まれるように、クロック発生器回路706は、遅延量をシンボル時間から減算することによってサンプル点を決定することができる。
【0081】
クロックマスクは、受信クロック期間およびサンプリング遅延に基づいて生成され得、クロックマスクは、デコーダ612a、612bおよび612cの入力における信号が安定すると、データがサンプリングされることを確実にする。入力信号の安定性は、送信ごとにクロック発生器回路706を較正することによってPVT変動に関係なく保証され得る。このようにして、クロックマスク遅延のPVT変動に起因する回路の最大速度に対する制限は、緩和され得る。
【0082】
一例では、状態機械1320は、遷移を示す最初のパルスを検出するために、マルチプレクサ選択入力1322を比較的大きい値に設定することができる。一例では、マルチプレクサ選択入力1322は、可能な値の範囲の中間に存在する値に設定され得る。後続の各パルスについて、送信クロックの期間が決定されるまで、状態機械1320は、マルチプレクサ選択入力値1322を低下または増加させ得る。状態機械1320は、選択入力値1322の後続の変化ごとに半分の増分だけ選択入力1322を増減することができる。送信クロックの期間は、遷移ごとに同じ遷移に関連した最後のパルスの後、遷移に関連した最初のパルスが遅延要素1330を出るときに決定され得る。
【0083】
実際には、較正クロック信号1258の遅延バージョン1334におけるパルスがDレジスタ1316を設定する間に、遅延要素1330を出るパルスはDレジスタ1316をクリアする。状態機械1320は、Dレジスタ1316の出力を監視し、最適化された遅延値を取得するために必要に応じて遅延値を増加させる、または「バックオフする」ことができる。状態機械1320はまた、1対の入力1302において検出される遷移を示す較正クロック信号1258におけるパルスを監視し、応答する。一例では、状態機械は、較正クロック信号1258によって計測される。状態機械1320はさらに、プリアンブル1202からの送信クロックの測定を可能にするように適合または構成され得る。
【0084】
図14は、本明細書で開示する1つまたは複数の機能を実行するように構成され得る処理回路1402を採用する装置のためのハードウェア実装形態の簡略化された例を示す概念
図1400である。本開示の様々な態様によれば、3相クロック復元遅延較正のための本明細書で開示する要素、または要素の任意の部分、または要素の任意の組合せは、処理回路1402を使用して実装することができる。処理回路1402は、ハードウェアモジュールとソフトウェアモジュールの何らかの組合せによって制御される1つまたは複数のプロセッサ1404を含むことができる。プロセッサ1404の例には、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理デバイス(PLD)、状態機械、シーケンサ、ゲート論理、個別ハードウェア回路、および本開示全体にわたって説明される様々な機能を実行するように構成された他の適切なハードウェアが含まれる。1つまたは複数のプロセッサ1404は、特定の機能を実行し、ソフトウェアモジュール1416のうちの1つによって構成され、増強され、または制御され得る専用プロセッサを含み得る。たとえば、処理回路は、チャネルプロセッサ、フレームプロセッサ、および1つまたは複数のワイヤレスネットワーク上の送信のためのデータの符号化および復号を処理するように適合された他のプロセッサとして構成され得る。1つまたは複数のプロセッサ1404は、初期化の間ロードされるソフトウェアモジュール1416の組合せによって構成され得、動作の間、1つまたは複数のソフトウェアモジュール1416のロードまたはアンロードを行うことによってさらに構成され得る。
【0085】
図示の例では、処理回路1402は、バス1410によって概略的に表されるバスアーキテクチャを用いて実装されてもよい。バス1410は、処理回路1402の具体的な用途および全体的な設計制約に応じて、任意の数の相互接続するバスならびにブリッジを含み得る。バス1410は、1つまたは複数のプロセッサ1404およびストレージ1406を含む様々な回路を結びつける。ストレージ1406は、メモリデバイスおよび大容量記憶デバイスを含み得、本明細書ではコンピュータ可読媒体と呼ばれ得る。バス1410は、様々な他の回路、たとえばタイミングソース、タイマー、周辺機器、電圧調整器、および電動管理回路をリンクすることもできる。バスインターフェース1408は、バス1410とトランシーバ1412との間のインターフェースを与え得る。トランシーバ1412は、送信媒体を通して様々な他の装置と通信するための手段を提供する。装置の性質に応じて、ユーザインターフェース1418(たとえば、キーパッド、ディスプレイ、スピーカ、マイクロホン、ジョイスティック)も設けられてもよく、直接またはバスインターフェース1408を介して、バス1410に通信可能に結合され得る。
【0086】
プロセッサ1404は、バス1410の管理、およびストレージ1406を含むコンピュータ可読媒体に記憶されたソフトウェアの実行を含み得る全体的な処理に関与し得る。この点で、処理回路1402は、プロセッサ1404を含み、本明細書で開示する方法、機能および技法のうちの任意のものを実装するために使用され得る。ストレージ1406は、ソフトウェアを実行するとき、プロセッサ1404によって操作されるデータを記憶するために使用され得、ソフトウェアは、本明細書で開示する方法のうちの任意のものを実装するように構成され得る。
【0087】
処理回路1402における1つまたは複数のプロセッサ1404は、ソフトウェアを実行することができる。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、または他の名称で呼ばれるかどうかにかかわらず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、プロシージャ、機能、アルゴリズムなどを意味するように広く解釈されるべきである。ソフトウェアは、コンピュータ可読の形でストレージ1406または外部コンピュータ可読媒体に常駐し得る。コンピュータ可読媒体および/またはストレージ1406は、非一時的コンピュータ可読媒体であり得る。非一時的コンピュータ可読媒体は、例として、磁気記憶デバイス(たとえば、ハードディスク、フロッピー(登録商標)ディスク、磁気ストリップ)、光ディスク(たとえば、コンパクトディスク(CD)またはデジタル多目的ディスク(DVD))、スマートカード、フラッシュメモリデバイス(たとえば、「フラッシュドライブ」、カード、スティック、またはキードライブ)、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、レジスタ、取り外し可能ディスク、ならびにコンピュータがアクセスし、読み取ることができるソフトウェアおよび/または命令を保存するための任意の他の適切な媒体を含む。また、コンピュータ可読媒体および/またはストレージ1406は、例として、搬送波、伝送路、ならびに、コンピュータがアクセスし読み取ることができるソフトウェアおよび/または命令を送信するための任意の他の適切な媒体も含み得る。コンピュータ可読媒体および/またはストレージ1406は、処理回路1402の中に、プロセッサ1404の中に、または処理回路1402の外に常駐し得、または処理回路1402を含む複数のエンティティにわたって分散され得る。コンピュータ可読媒体および/またはストレージ1406は、コンピュータプログラム製品において具現化することができる。例として、コンピュータプログラム製品は、パッケージング材料内のコンピュータ可読媒体を含む場合がある。当業者は、特定の適用例および全体的なシステムに課された設計制約全体に応じて、本開示全体にわたって提示された記載の機能を最も良く実装する方法を認識されよう。
【0088】
ストレージ1406は、ロード可能なコードセグメント、モジュール、アプリケーション、プログラムなどにおいて維持され、および/または編成されるソフトウェアを維持することができ、これは、本明細書ではソフトウェアモジュール1416と呼ばれ得る。ソフトウェアモジュール1416の各々は、処理回路1402にインストールまたはロードされ、1つまたは複数のプロセッサ1404によって実行されると、1つまたは複数のプロセッサ1404の動作を制御する実行時画像1414に寄与する命令およびデータを含み得る。実行されると、いくつかの命令は、処理回路1402に、本明細書で説明するいくつかの方法、アルゴリズム、およびプロセスに従って機能を実行させることができる。
【0089】
ソフトウェアモジュール1416のうちのいくつかは、処理回路1402の初期化の間にロードされ得、これらのソフトウェアモジュール1416は、本明細書で開示する様々な機能の性能を可能にするように処理回路1402を構成することができる。たとえば、いくつかのソフトウェアモジュール1416は、プロセッサ1404の内部デバイスおよび/または論理回路1422を構成することができ、たとえばトランシーバ1412、バスインターフェース1408、ユーザインターフェース1418、タイマー、数学的コプロセッサなどの外部デバイスへのアクセスを管理することができる。ソフトウェアモジュール1416は、割込みハンドラおよびデバイスドライバと対話する、および処理回路1402によって提供される様々なリソースへのアクセスを制御する制御プログラムおよび/またはオペレーティングシステムを含み得る。リソースは、メモリ、処理時間、トランシーバへのアクセス、ユーザインターフェース1418などを含み得る。
【0090】
処理回路1402の1つまたは複数のプロセッサ1404は、多機能とすることができ、それによって、ソフトウェアモジュール1416のいくつかは、ロードされ、異なる機能または同じ機能の異なるインスタンスを実行するように構成される。1つまたは複数のプロセッサ1404は、さらに、たとえば、ユーザインターフェース1418、トランシーバ1412、およびデバイスドライバからの入力に応答して開始される背景タスクを管理するように適合され得る。複数の機能の性能をサポートするために、1つまたは複数のプロセッサ1404は、マルチタスク環境を提供するように構成され得、それによって、複数の機能の各々は、必要または要望に応じて1つまたは複数のプロセッサ1404によってサービスされる1組のタスクとして実装される。一例では、マルチタスク環境は、異なるタスク間にプロセッサ1404の制御を渡す時分割プログラム1420を使用して実装され得、それによって、各タスクは、任意の顕著な動作の完了後、および/または、たとえば割込みなどの入力に応答して、時分割プログラム1420に1つまたは複数のプロセッサ1404の制御を戻す。タスクが1つまたは複数のプロセッサ1404の制御を有するとき、処理回路は、事実上、制御タスクに関連した機能によって対処されるために特化されている。時分割プログラム1420は、オペレーティングシステム、ラウンドロビンベースで制御を伝達するメインループ、機能の優先順位に従って1つまたは複数のプロセッサ1404の制御を割り振る機能、および/または1つまたは複数のプロセッサ1404の制御を処理機能に提供することによって、外部のイベントに答える割込み駆動メインループを含み得る。
【0091】
図15は、MワイヤN相通信リンクの較正方法を示すフローチャートである。ステップ1502で、マルチワイヤ通信インターフェースの3つ以上のワイヤのシグナリング状態における一連の遷移が検出される。一連の遷移における各遷移は、マルチワイヤ通信インターフェース上で送信されるプリアンブルにおける連続的なシンボル間の境界に対応し得る。一連の遷移における各遷移は、複数の検出器のうちの単一の検出器によって検出され得る。複数の検出器における各検出器は、マルチワイヤ通信インターフェースの2つのワイヤのシグナリング状態間の差を決定するように構成され得る。2つのワイヤは、多相信号の異なるバージョンを運び得る。複数の検出器は、差動受信機を含み得、各差動受信機は、他の差動受信機とは異なる1対のワイヤから信号を受信するように構成され得る。
【0092】
ステップ1504で、一連の遷移から受信クロックが導出され得る。受信クロックは、たとえば、CDRを使用して導出され得る。
【0093】
ステップ1506で、一連の遷移に基づいて遷移領域が決定され得る。遷移領域は、マルチワイヤ通信インターフェースのワイヤのシグナリング状態が変化しているか不安定である時間期間に対応し得る。
【0094】
ステップ1508で、遷移領域の持続時間に対応する遅延期間が較正され得る。遅延期間は、一連の遷移における遷移間のタイミングの差を推定し、タイミングの差の最大のものに基づいて遅延期間を計算することによって較正され得る。一連の遷移における遷移間のタイミングの差が受信クロックに対して推定され得る。遅延期間は、逐次近似アルゴリズムまたは線形検索アルゴリズムを使用して較正され得る。
【0095】
ステップ1510で、プリアンブルの終了後、マルチワイヤ通信インターフェースからデータシンボルが受信され得る。データシンボルは、遅延期間に基づいて変更される受信クロックのバージョンを使用して受信され得る。データシンボルは、CDRにおけるマルチワイヤ通信インターフェースのワイヤのシグナリング状態を捕捉する、またはCDRによって生成されるクロックを使用することによって受信され得る。データシンボルは、第1のデータシンボルと第2のデータシンボルとの間の境界に対応する最初に検出された遷移を検出し、遅延期間によって定義された時間期間の間他の遷移検出を無視することによって受信され得る。他の遷移検出は、第1のデータシンボルと第2のデータシンボルとの間の境界に対応し得る。データシンボルは、遅延期間の満了の後、捕捉され得る。
【0096】
一態様では、プリアンブルは、グレイコードに基づく。プリアンブルは、マルチワイヤ通信インターフェースに結合された送信デバイスと受信デバイスとの間に通信される制御情報において識別される一連のシンボルを含み得る。
【0097】
図16は、シーケンサまたは状態機械を含み得る、処理回路1602を用いる装置のためのハードウェア実装の簡略化された例を示す
図1600である。処理回路1602は、バス1620によって一般的に表されるバスアーキテクチャを用いて実装することができる。バス1620は、処理回路1602の具体的な用途および全体的な設計制約に応じて、任意の数の相互接続するバスならびにブリッジを含み得る。バス1620は、プロセッサ1616と、モジュールまたは回路1604、1606および1608と、コネクタまたはワイヤ1614を介して通信するように構成可能なラインインターフェース回路1612と、コンピュータ可読記憶媒体1618とによって表される、1つもしくは複数のプロセッサおよび/またはハードウェアモジュールを含めて、様々な回路を一緒につなぐ。バス1620は、様々な他の回路、たとえばタイミングソース、周辺機器、電圧調整器、および電動管理回路をリンクすることもできる。CDR1624が、バスに接続され得る。
【0098】
プロセッサ1616は、コンピュータ可読記憶媒体1618上に記憶されたソフトウェアの実行を含む全般的な処理を受け持つ。ソフトウェアは、プロセッサ1616によって実行されるとき、処理回路1602に任意の特定の装置の上記で説明した様々な機能を実行させる。ソフトウェアは、プロセッサ1616によって実行されると、処理回路1602に、上記の様々な機能のうちの1つまたは複数を実行するように適合された論理およびデバイスを制御させ得る。コンピュータ可読記憶媒体1618は、ソフトウェアを実行するときにプロセッサ1616によって操作されるデータを記憶するために使用されてもよい。処理回路1602は、モジュール1604、1606、1608、および1610のうちの少なくとも1つをさらに含む。モジュール1604、1606、1608、および1610は、コンピュータ可読記憶媒体1618に存在する/記憶される、プロセッサ1616内で動作しているソフトウェアモジュール、プロセッサ1616に結合された1つもしくは複数のハードウェアモジュール、またはそれらの何らかの組合せとすることができる。モジュール1604、1606、1608、および1610は、マイクロコントローラ命令、状態機械構成パラメータ、またはそれらの何らかの組合せを含み得る。
【0099】
一構成では、ワイヤレス通信のための装置1600は、マルチワイヤ通信インターフェース1614の3つ以上のワイヤのシグナリング状態における一連の遷移を検出するように構成されたモジュールおよび/または回路1604、1614、一連の遷移から受信クロックを導出するように構成されたモジュールおよび/または回路1624、一連の遷移に基づいて遷移領域を決定するように構成されたモジュールおよび/または回路1606、1614、1624、遷移領域の持続時間に対応する遅延期間を較正するように構成されたモジュールおよび/または回路1608、ならびに、プリアンブルの終了後、マルチワイヤ通信インターフェース1614からデータシンボルを受信し、および/または復号するように構成されたモジュールおよび/または回路1610、1624を含む。
【0100】
上述の手段は、たとえば、プロセッサ206または236と、物理レイヤドライバ210または240と、記憶媒体208および238との何らかの組合せを使用して実装され得る。
【0101】
開示されたプロセスにおけるステップの特定の順序または階層は、例示的な手法の一例であることを理解されたい。設計上の選好に基づいて、プロセスにおけるステップの特定の順序または階層は再構成され得ることを理解されたい。添付の方法クレームは、様々なステップの要素を例示的な順序で提示したものであり、提示された特定の順序または階層に限定されることを意味するものではない。
【0102】
前述の説明は、当業者が本明細書に説明された様々な態様を実施することを可能にするように与えられる。これらの態様の様々な修正形態は、当業者に容易に明らかになり、本明細書に定められた一般的な原理は、他の態様に適用することができる。したがって、特許請求の範囲は本明細書に示された態様に限定されるものではなく、文言通りの特許請求の範囲に整合するすべての範囲を与えられるべきであり、単数の要素への言及は、そのように明記されていない限り、「唯一無二の」を意味するものではなく、「1つまたは複数の」を意味するものである。別段に明記されていない限り、「いくつかの」という用語は1つまたは複数を指す。当業者に知られているまたは後で知られることになる、本開示全体にわたって説明した様々な態様の要素の構造的および機能的なすべての均等物は、参照により本明細書に明確に組み込まれ、特許請求の範囲によって包含されることが意図される。その上、本明細書で開示する内容は、そのような開示が特許請求の範囲で明記されているかどうかにかかわりなく、公に供することは意図されていない。いかなるクレーム要素も、要素が「ための手段」という語句を使用して明確に列挙されていない限り、ミーンズプラスファンクションとして解釈されるべきではない。