(57)【要約】  マルチワイヤ多相インターフェースを介したデータ通信のための方法、装置、およびシステムが開示される。データ通信の方法は、インターフェース上で送信された各シンボルに対するパルスを含む第1のクロック信号を供給するように、クロック復元回路を構成することであって、シンボルが、第1の周波数においてインターフェース上で送信されることと、第1の周波数の半分以下である第2の周波数を有するように第1のクロックを修正するために、クロック復元回路のループ遅延を調整することであって、クロック復元回路が、整数個のシンボルのうちの最初のものに対して第1のクロック信号におけるパルスを生成し、整数個のシンボルの中の他のシンボルに対してパルス生成を抑制することと、第2のクロック信号を供給するようにクロック生成回路を構成することと、第1のクロック信号および第2のクロック信号を使用して、インターフェースからシンボルを取り込むこととを含む。
2018526912.tif 000002
【特許請求の範囲】
【請求項１】
データ通信の方法であって、
3ワイヤ3相インターフェース上で送信されたシンボルに対応するパルスを含む第1のクロック信号を供給するように、クロック復元回路を構成するステップであって、シンボルが、第1の周波数において前記3ワイヤ3相インターフェース上で送信される、ステップと、
前記第1の周波数の半分以下である第2の周波数を有するように前記第1のクロックを修正するために、前記クロック復元回路のループ遅延を調整するステップであって、前記クロック復元回路が、整数個のシンボルのうちの最初のものに対して前記第1のクロック信号におけるパルスを生成し、前記整数個のシンボルの中の他のシンボルに対してパルス生成を抑制する、ステップと、
第2のクロック信号を供給するようにクロック生成回路を構成するステップであって、前記第2のクロック信号が、前記整数個のシンボルの中の前記他のシンボルの各々に対するパルスを含む、ステップと、
前記第1のクロック信号および前記第2のクロック信号を使用して、前記3ワイヤ3相インターフェースからシンボルを取り込むステップと
を備える方法。
【請求項２】
前記ループ遅延が、前記3ワイヤ3相インターフェースのシグナリング状態の中で最初に検出された遷移に応答してパルスを生成するために使用されるパルス生成サイクルに対応し、前記3ワイヤ3相インターフェースのシグナリング状態の中での他の遷移の検出が、前記パルス生成サイクル中に抑制される、請求項1に記載の方法。
【請求項３】
前記ループ遅延を調整するステップが、
プログラマブル遅延回路を構成するステップを備える、
請求項1に記載の方法。
【請求項４】
前記第1の周波数が、前記第2の周波数の2倍であり、前記第2のクロック信号が、前記第1のクロック信号におけるパルスごとに1つのパルスを含む、請求項1に記載の方法。
【請求項５】
前記第2のクロック信号が、前記第1のクロック信号に対して180度位相シフトされる、請求項4に記載の方法。
【請求項６】
前記第2の周波数が、前記第1の周波数の1/3であり、前記第2のクロック信号が、前記第1のクロック信号におけるパルスごとに2つのパルスを含む、請求項1に記載の方法。
【請求項７】
前記第2の周波数が、前記第1の周波数の1/4であり、前記第2のクロック信号が、前記第1のクロック信号におけるパルスごとに3つのパルスを含む、請求項1に記載の方法。
【請求項８】
前記クロック復元回路の前記ループ遅延を調整するステップが、
前記3ワイヤ3相インターフェースから受信されたシンボルのストリームから基準クロック信号を復元するように、第1の回路を構成するステップであって、前記基準クロック信号が、前記第1の周波数に対応する周波数を有する、ステップと、
複数の較正サイクルの各々の間に前記基準クロック信号および前記第1のクロック信号の周波数を比較することによって、前記第1のクロック信号の現在の周波数を決定するステップと、
前記現在の周波数が前記第2の周波数よりも高いと決定されるときに前記ループ遅延を増大させるステップと、
前記現在の周波数が前記第2の周波数よりも低いと決定されるときに前記ループ遅延を減少させるステップと、
前記現在の周波数が前記第2の周波数に等しいと決定されるときに前記複数の較正サイクルを終了させるステップとを含む、
請求項1に記載の方法。
【請求項９】
3ワイヤ3相インターフェース上で送信されるデータを復号するための装置であって、
第1の周波数において3ワイヤ3相インターフェース上で送信されたシンボルに対応するパルスを含む第1のクロック信号を供給するように、クロック復元回路を構成するための手段と、
前記クロック復元回路のループ遅延を較正するための手段であって、1つの動作モードでは、前記ループ遅延を較正するための前記手段が、前記第1の周波数の半分以下である第2の周波数を有するように前記第1のクロック信号を修正し、前記クロック復元回路が、整数個のシンボルのうちの最初のものに対して前記第1のクロック信号におけるパルスを生成し、前記整数個のシンボルの中の他のシンボルに対してパルス生成を抑制する、手段と、
第2のクロック信号を供給するようにクロック生成回路を構成するための手段であって、前記第2のクロック信号が、前記整数個のシンボルの中の前記他のシンボルの各々に対するパルスを含む、手段と、
前記第1のクロック信号および前記第2のクロック信号を使用して、前記3ワイヤ3相インターフェースからシンボルを取り込むための手段と
を備える装置。
【請求項１０】
前記ループ遅延が、前記3ワイヤ3相インターフェースのシグナリング状態の中で最初に検出された遷移に応答してパルスを生成するために使用されるパルス生成サイクルに対応し、前記3ワイヤ3相インターフェースのシグナリング状態の中での他の遷移の検出が、前記パルス生成サイクル中に抑制される、請求項9に記載の装置。
【請求項１１】
前記ループ遅延を較正するための前記手段が、
プログラマブル遅延回路をプログラムするように構成される、
請求項9に記載の装置。
【請求項１２】
前記第1の周波数が、前記第2の周波数の2倍であり、前記第2のクロック信号が、前記第1のクロック信号におけるパルスごとに1つのパルスを含み、前記第2の周波数が、前記第1のクロック信号に対して180度位相シフトされる、請求項9に記載の装置。
【請求項１３】
前記第2の周波数が、前記第1の周波数の1/3であり、前記第2のクロック信号が、前記第1のクロック信号におけるパルスごとに2つのパルスを含む、請求項9に記載の装置。
【請求項１４】
前記第2の周波数が、前記第1の周波数の1/4であり、前記第2のクロック信号が、前記第1のクロック信号におけるパルスごとに3つのパルスを含む、請求項9に記載の装置。
【請求項１５】
前記クロック復元回路の前記ループ遅延を較正するための前記手段が、
前記3ワイヤ3相インターフェースから受信されたシンボルのストリームから基準クロック信号を第1の回路に復元させることであって、前記基準クロック信号が、シンボルの前記ストリームの送信のレートに対応する周波数を有することと、
複数の較正サイクルの各々の間に前記基準クロック信号および前記第1のクロック信号の周波数を比較することによって、前記第1のクロック信号の現在の周波数を決定することと、
前記現在の周波数が前記第2の周波数よりも高いと決定されるときに前記ループ遅延を増大させることと、
前記現在の周波数が前記第2の周波数よりも低いと決定されるときに前記ループ遅延を減少させることと、
前記現在の周波数が前記第2の周波数に等しいと決定されるときに前記複数の較正サイクルを終了させることとを行うように構成される、
請求項9に記載の装置。
【請求項１６】
データ通信のための装置であって、
3ワイヤバスに結合された複数の差分レシーバと、
第1の周波数において3ワイヤ3相インターフェース上で、シンボルのストリームの中で送信されたシンボルに対応するパルスを含む第1のクロック信号を供給するように構成されたクロック復元回路と、
処理回路であって、
前記第1のクロックが、前記第1の周波数の半分以下である第2の周波数を有するように修正されるまで、前記クロック復元回路のループ遅延を調整することであって、前記クロック復元回路が、シンボルの前記ストリームの中の整数個のシンボルのうちの最初のものに対して前記第1のクロック信号におけるパルスを生成し、シンボルの前記ストリームの中の前記整数個のシンボルの中の他のシンボルに対してパルス生成を抑制すること、および
第2のクロック信号を供給するようにクロック生成回路を構成することであって、前記第2のクロック信号が、前記整数個のシンボルの中の前記他のシンボルの各々に対するパルスを含むことを行うように構成された処理回路と、
前記第1のクロック信号および前記第2のクロック信号におけるパルスに応答して、前記3ワイヤ3相インターフェースからシンボルを取り込む1つまたは複数のレジスタと
を備える装置。
【請求項１７】
前記ループ遅延が、前記3ワイヤ3相インターフェースのシグナリング状態の中で最初に検出された遷移に応答してパルスを生成するために使用されるパルス生成サイクルに対応し、前記3ワイヤ3相インターフェースのシグナリング状態の中での他の遷移の検出が、前記パルス生成サイクル中に抑制される、請求項16に記載の装置。
【請求項１８】
前記処理回路が、プログラマブル遅延回路を構成することによって前記クロック復元回路の前記ループ遅延を調整する、請求項16に記載の装置。
【請求項１９】
前記第1の周波数が、前記第2の周波数の2倍であり、前記第2のクロック信号が、前記第1のクロック信号におけるパルスごとに1つのパルスを含む、請求項16に記載の装置。
【請求項２０】
前記第2の周波数が、前記第1の周波数の1/3であり、前記第2のクロック信号が、前記第1のクロック信号におけるパルスごとに2つのパルスを含む、請求項16に記載の装置。
【請求項２１】
前記第2の周波数が、前記第1の周波数の1/4であり、前記第2のクロック信号が、前記第1のクロック信号におけるパルスごとに3つのパルスを含む、請求項16に記載の装置。
【請求項２２】
前記3ワイヤ3相インターフェースから受信されたシンボルのストリームから基準クロック信号を復元するように、第1の回路を構成することであって、前記基準クロック信号が、シンボルの前記ストリームの送信のレートに対応する周波数を有すること、
複数の較正サイクルの各々の間に前記基準クロック信号および前記第1のクロック信号の周波数を比較することによって、前記第1のクロック信号の現在の周波数を決定すること、
前記現在の周波数が前記第2の周波数よりも高いと決定されるときに前記ループ遅延を増大させること、
前記現在の周波数が前記第2の周波数よりも低いと決定されるときに前記ループ遅延を減少させること、ならびに
前記現在の周波数が前記第2の周波数に等しいと決定されるときに前記複数の較正サイクルを終了させることによって、
前記処理回路が前記クロック復元回路の前記ループ遅延を調整する、請求項16に記載の装置。
【請求項２３】
プロセッサ可読記憶媒体であって、
3ワイヤ3相インターフェース上で送信されたシンボルに対応するパルスを含む第1のクロック信号を供給するように、クロック復元回路を構成することであって、シンボルが、第1の周波数において前記3ワイヤ3相インターフェース上で送信されることと、
前記第1のクロックが前記第1の周波数の半分以下である第2の周波数を有するように前記クロック復元回路のループ遅延を調整することであって、前記クロック復元回路が、整数個のシンボルのうちの最初のものに対して前記第1のクロック信号におけるパルスを生成し、前記整数個のシンボルの中の他のシンボルに対してパルス生成を抑制することと、
第2のクロック信号を供給するようにクロック生成回路を構成することであって、前記第2のクロック信号が、前記整数個のシンボルの中の前記他のシンボルの各々に対するパルスを含むことと、
前記第1のクロック信号および前記第2のクロック信号を使用して、前記3ワイヤ3相インターフェースからシンボルを取り込むことと
を行うためのコードを備えるプロセッサ可読記憶媒体。
【請求項２４】
前記ループ遅延が、前記3ワイヤ3相インターフェースのシグナリング状態の中で最初に検出された遷移に応答してパルスを生成するために使用されるパルス生成サイクルに対応し、前記3ワイヤ3相インターフェースのシグナリング状態の中での他の遷移の検出が、前記パルス生成サイクル中に抑制される、請求項23に記載の記憶媒体。
【請求項２５】
前記ループ遅延を調整することが、プログラマブル遅延回路を構成することを含む、請求項23に記載の記憶媒体。
【請求項２６】
前記第1の周波数が、前記第2の周波数の2倍であり、前記第2のクロック信号が、前記第1のクロック信号におけるパルスごとに1つのパルスを含み、前記第2のクロック信号が、前記第1のクロック信号に対して180度位相シフトされる、請求項23に記載の記憶媒体。
【請求項２７】
前記第2の周波数が、前記第1の周波数の1/3であり、前記第2のクロック信号が、前記第1のクロック信号におけるパルスごとに2つのパルスを含む、請求項23に記載の記憶媒体。
【請求項２８】
前記第2の周波数が、前記第1の周波数の1/4であり、前記第2のクロック信号が、前記第1のクロック信号におけるパルスごとに3つのパルスを含む、請求項23に記載の記憶媒体。
【請求項２９】
前記クロック復元回路の前記ループ遅延を調整することが、
前記3ワイヤ3相インターフェースから受信されたシンボルのストリームから基準クロック信号を復元するように、第1の回路を構成することであって、前記基準クロック信号が、シンボルの前記ストリームの送信のレートに対応する周波数を有することと、
複数の較正サイクルの各々の間に前記基準クロック信号および前記第1のクロック信号の周波数を比較することによって、前記第1のクロック信号の現在の周波数を決定することと、
前記現在の周波数が前記第2の周波数よりも高いと決定されるときに前記ループ遅延を増大させることと、
前記現在の周波数が前記第2の周波数よりも低いと決定されるときに前記ループ遅延を減少させることと、
前記現在の周波数が前記第2の周波数に等しいと決定されるときに前記複数の較正サイクルを終了させることとを含む、
請求項23に記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、その内容全体が参照により本明細書に組み込まれる、2015年9月1日に米国特許商標庁に出願された、非仮出願第14/842,644号の優先権および利益を主張する。
【０００２】
本開示は、一般に、高速データ通信インターフェースに関し、より詳細には、マルチワイヤ多相データ通信リンクに結合されたレシーバにおけるクロック生成に関する。
【背景技術】
【０００３】
セルラーフォンなどのモバイルデバイスの製造業者は、モバイルデバイスの構成要素を、異なる製造業者を含む様々なソースから取得し得る。たとえば、セルラーフォンの中のアプリケーションプロセッサは第1の製造業者から取得されることがあるが、イメージングデバイスまたはカメラは第2の製造業者から取得されることがあり、ディスプレイは第3の製造業者から取得されることがある。アプリケーションプロセッサ、イメージングデバイス、ディスプレイコントローラ、または他のタイプのデバイスは、規格ベースまたはプロプライエタリな物理インターフェースを使用して相互接続され得る。一例では、イメージングデバイスは、モバイルインダストリプロセッサインターフェース(MIPI:Mobile Industry Processor Interface)アライアンスによって規定されたカメラシリアルインターフェース(CSI:Camera Serial Interface)を使用して接続され得る。別の例では、ディスプレイは、モバイルインダストリプロセッサインターフェース(MIPI)アライアンスによって指定されたディスプレイシリアルインターフェース(DSI:Display Serial Interface)規格に準拠するインターフェースを含み得る。
【０００４】
MIPIアライアンスによって規定された多相3ワイヤ(C-PHY)インターフェースは、デバイス間で情報を送信するために3つ組の導体を使用する。3本のワイヤの各々は、C-PHYインターフェースを介したシンボルの送信中、3つのシグナリング状態のうちの1つにあり得る。C-PHYインターフェース上で送信されるシンボルのシーケンスの中でクロック情報が符号化され、レシーバは連続したシンボル間の遷移からクロック信号を生成する。C-PHYインターフェースの最大速度、およびクロック情報を復元するためのクロックデータ復元(CDR:Clock and Data Recovery)回路の能力は、通信リンクの異なるワイヤ上で送信される信号の遷移に関係する最大時間変動によって制限され得る。サンプリングエッジを供給する前に、3つ組の中の導体のすべてが安定なシグナリング状態を帯びていることを確実にするために、レシーバは遅延回路を採用し得る。リンクの送信レートは、使用される遅延値によって制限されることがあり、マルチワイヤインターフェースのシグナリング周波数が高くなるとき、確実に機能することができるクロック生成回路に対する継続した必要性がある。
【発明の概要】
【課題を解決するための手段】
【０００５】
本明細書で開示する実施形態は、マルチワイヤおよび/または多相通信リンク上の改善された通信を可能にするシステム、方法、および装置を提供する。通信リンクは、複数の集積回路(IC)デバイスを有するモバイル端末などの装置において展開され得る。
【０００６】
本開示の一態様では、データ通信の方法は、3ワイヤ3相インターフェース上で送信された各シンボルに対するパルスを含む第1のクロック信号を供給するように、クロック復元回路を構成することであって、シンボルが、第1の周波数において3ワイヤ3相インターフェース上で送信されることと、第1の周波数の半分以下である第2の周波数を有するように第1のクロックを修正するために、クロック復元回路のループ遅延を調整することであって、クロック復元回路が、整数個のシンボルのうちの最初のものに対して第1のクロック信号におけるパルスを生成し、整数個のシンボルの中の他のシンボルに対してパルス生成を抑制することと、第2のクロック信号を供給するようにクロック生成回路を構成することであって、第2のクロック信号が、整数個のシンボルの中の他のシンボルの各々に対するパルスを含むことと、第1のクロック信号および第2のクロック信号を使用して、3ワイヤ3相インターフェースからシンボルを取り込むこととを含む。
【０００７】
本開示の一態様では、3ワイヤ3相インターフェース上で送信されるデータを復号するための装置は、第1の周波数において3ワイヤ3相インターフェース上で送信された各シンボルに対するパルスを含む第1のクロック信号を供給するように、クロック復元回路を構成するための手段と、クロック復元回路のループ遅延を較正するための手段とを含む。1つの動作モードでは、ループ遅延を較正するための手段は、第1の周波数の半分以下である第2の周波数を有するように第1のクロック信号を修正する。第1の動作モードでは、クロック復元回路は、整数個のシンボルのうちの最初のものに対して第1のクロック信号におけるパルスを生成し、整数個のシンボルの中の他のシンボルに対してパルス生成を抑制し、第2のクロック信号を供給するようにクロック生成回路を構成するための手段であって、ここで、第2のクロック信号は、整数個のシンボルの中の他のシンボルの各々に対するパルスを含む。装置はまた、第1のクロック信号および第2のクロック信号を使用して、3ワイヤ3相インターフェースからシンボルを取り込むための手段を含み得る。
【０００８】
本開示の一態様では、データ通信のための装置は、3ワイヤバスに結合された複数の差分レシーバと、第1の周波数において3ワイヤ3相インターフェース上で、シンボルのストリームの中で送信された各シンボルに対するパルスを含む第1のクロック信号を供給するように構成されたクロック復元回路と、1つまたは複数のレジスタと、処理回路とを含む。処理回路は、第1のクロックが、第1の周波数の半分以下である第2の周波数を有するように修正されるまで、クロック復元回路のループ遅延を調整することであって、クロック復元回路が、シンボルのストリームの中の整数個のシンボルのうちの最初のものに対して第1のクロック信号におけるパルスを生成し、シンボルのストリームの中の整数個のシンボルの中の他のシンボルに対してパルス生成を抑制することと、第2のクロック信号を供給するようにクロック生成回路を構成することであって、第2のクロック信号が、整数個のシンボルの中の他のシンボルの各々に対するパルスを含むこととを行うように構成され得る。1つまたは複数のレジスタは、第1のクロック信号および第2のクロック信号におけるパルスに応答して、3ワイヤ3相インターフェースからシンボルを取り込み得る。
【０００９】
本開示の一態様では、プロセッサ可読記憶媒体が開示される。記憶媒体は、非一時的記憶媒体であってよく、1つまたは複数のプロセッサによって実行されたとき、1つまたは複数のプロセッサに、3ワイヤ3相インターフェース上で送信された各シンボルに対するパルスを含む第1のクロック信号を供給するように、クロック復元回路を構成することであって、シンボルが、第1の周波数において3ワイヤ3相インターフェース上で送信されることと、第1のクロックが第1の周波数の半分以下である第2の周波数を有するようにクロック復元回路のループ遅延を調整することであって、クロック復元回路が、整数個のシンボルのうちの最初のものに対して第1のクロック信号におけるパルスを生成し、整数個のシンボルの中の他のシンボルに対してパルス生成を抑制することと、第2のクロック信号を供給するようにクロック生成回路を構成することであって、第2のクロック信号が、整数個のシンボルの中の他のシンボルの各々に対するパルスを含むことと、第1のクロック信号および第2のクロック信号を使用して、3ワイヤ3相インターフェースからシンボルを取り込むこととを行わせる、コードを記憶し得る。
【図面の簡単な説明】
【００１０】
【図１】複数の利用可能な規格のうちの1つに従って選択的に動作する、ICデバイス間のデータリンクを採用する装置を示す図である。
【図２】複数の利用可能な規格のうちの1つに従って選択的に動作する、ICデバイス間のデータリンクを採用する装置のためのシステムアーキテクチャを示す図である。
【図３】C-PHY3相データエンコーダを示す図である。
【図４】C-PHY3相符号化インターフェースにおけるシグナリングを示す図である。
【図５】C-PHY3相符号化インターフェースにおける可能な状態遷移を示す状態図である。
【図６】C-PHYデコーダを示す図である。
【図７】C-PHYデコーダでの遷移検出における信号立上り時間の影響の一例を示す図である。
【図８】C-PHYデコーダでの遷移検出を示す図である。
【図９】C-PHYインターフェース上で送信される連続したシンボルのペア間で発生する信号遷移の一例を示す図である。
【図１０】アイパターンにおける遷移領域およびアイ領域を示す図である。
【図１１】C-PHY3相インターフェースに対して生成されるアイパターンの一例を示す図である。
【図１２】C-PHY3相インターフェース用のCDR回路の一例を示す図である。
【図１３】図12のCDR回路に関連するタイミングを示す図である。
【図１４】C-PHY3相信号上で送信される信号間のスキューよりも短いループ時間を有する、CDR回路に関連するタイミングを示す図である。
【図１５】C-PHY3相信号のシンボル区間よりも長いループ時間を有する、CDR回路に関連するタイミングを示す図である。
【図１６】本明細書で開示するいくつかの態様に従って適合されたCDRの動作を示すタイミング図である。
【図１７】本明細書で開示するいくつかの態様によるクロック生成回路の一例を示す図である。
【図１８】本明細書で開示するいくつかの態様に従って提供されるクロック生成回路を較正するために使用され得る回路の一例を示す図である。
【図１９】本明細書で開示するいくつかの態様に従って適合され得る処理回路を採用する装置の一例を示すブロック図である。
【図２０】本明細書で開示するいくつかの態様によるクロック生成の方法のフローチャートである。
【図２１】本明細書で開示するいくつかの態様に従って適合された処理回路を採用する装置のためのハードウェア実装形態の一例を示す図である。
【発明を実施するための形態】
【００１１】
添付の図面に関して以下に記載する詳細な説明は、様々な構成の説明として意図され、本明細書で説明する概念が実践され得る唯一の構成を表すことは意図されない。詳細な説明は、様々な概念の完全な理解をもたらすための具体的な詳細を含む。しかしながら、これらの概念がこれらの具体的な詳細なしに実践され得ることが当業者に明らかであろう。いくつかの事例では、よく知られている構造および構成要素が、そのような概念を不明瞭にすることを避けるためにブロック図の形態で示される。
【００１２】
本出願で使用する「構成要素」、「モジュール」、「システム」などの用語は、限定はしないが、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアなどの、コンピュータ関連エンティティを含むものとする。たとえば、構成要素は、限定はしないが、プロセッサ上で動作するプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、および/またはコンピュータであってよい。例として、コンピューティングデバイス上で動作するアプリケーションとコンピューティングデバイスの両方が構成要素であり得る。1つまたは複数の構成要素は、プロセスおよび/または実行スレッド内に存在することができ、構成要素は、1つのコンピュータ上で局在化されてよく、かつ/または2つ以上のコンピュータの間で分散されてもよい。加えて、これらの構成要素は、様々なデータ構造をその上に記憶した様々なコンピュータ可読媒体から実行することができる。構成要素は、ローカルシステムの中の、分散システムの中の、かつ/またはインターネットなどのネットワークを越えた、別の構成要素と対話する1つの構成要素からのデータなどの、1つまたは複数のデータパケットを有する信号などに従って、ローカルプロセスおよび/またはリモートプロセスにより信号を介して他のシステムと通信し得る。
【００１３】
その上、「または」という用語は、排他的な「または」ではなく包括的な「または」を意味するものとする。すなわち、別段に規定されていない限り、または文脈から明らかでない限り、「XはAまたはBを採用する」という句は、自然包括的並べ替えのいずれかを意味するものとする。すなわち、「XはAまたはBを採用する」という句は、以下の事例、すなわち、XはAを採用する、XはBを採用する、またはXはAとBの両方を採用する、のいずれかによって満たされる。加えて、本出願および添付の特許請求の範囲で使用する冠詞「a」および「an」は、別段に規定されていない限り、または単数形を対象とすることが文脈から明らかでない限り、概して「1つまたは複数の」を意味するものと解釈されるべきである。
【００１４】
概要
本発明のいくつかの態様は、電話、モバイルコンピューティングデバイス、アプライアンス、自動車用電子機器、アビオニクスシステムなどの、モバイル装置の下位構成要素である電子デバイスを接続するために展開され得る、MIPIアライアンスによって規定されるC-PHYインターフェースに適用可能であり得る。モバイル装置の例は、セルラーフォン、スマートフォン、セッション開始プロトコル(SIP)電話、ラップトップ、ノートブック、ネットブック、スマートブック、携帯情報端末(PDA)、衛星ラジオ、全地球測位システム(GPS)デバイス、マルチメディアデバイス、ビデオデバイス、デジタルオーディオプレーヤ(たとえば、MP3プレーヤ)、カメラ、ゲーム機、ウェアラブルコンピューティングデバイス(たとえば、スマートウォッチ、ヘルスまたはフィットネストラッカーなど)、アプライアンス、センサー、自動販売機、または任意の他の類似の機能デバイスを含む。
【００１５】
C-PHYインターフェースは、帯域幅が制限されたチャネルを介して高いスループットをもたらすことができる高速シリアルインターフェースである。C-PHYインターフェースは、ディスプレイおよびカメラを含む周辺装置にアプリケーションプロセッサを接続するために展開され得る。C-PHYインターフェースは、データを符号化して、3つ組、または3つ組のワイヤと呼ばれることがある3本のワイヤのセットを介して3相信号の中で送信されるシンボルにする。3相信号は、3つ組の各ワイヤ上で異なる位相で送信される。各3ワイヤの3つ組は、通信リンク上にレーンを提供する。シンボル区間は、単一のシンボルが3つ組のシグナリング状態を制御する時間の区間として定義され得る。各シンボル区間において、1本のワイヤは「非駆動」であるが、3本のワイヤのうちの残りの2本は、差分駆動される2本のワイヤのうちの1本が第1の電圧レベルを帯び、差分駆動される他のワイヤが第1の電圧レベルとは異なる第2の電圧レベルを帯びるように差分駆動される。非駆動ワイヤは浮遊してよく、駆動されてよく、かつ/または第1の電圧レベルと第2の電圧レベルとの間の中間レベル電圧にある、もしくはその近くにある、第3の電圧レベルを帯びるように終端されてもよい。一例では、非駆動電圧が0Vであって、駆動電圧レベルが+Vおよび-Vであってよい。別の例では、非駆動電圧が+V/2であって、駆動電圧レベルが+Vおよび0Vであってもよい。連続的に送信されるシンボルの各ペアにおいて異なるシンボルが送信され、ワイヤの異なるペアは異なるシンボル区間の中で差分駆動され得る。
【００１６】
図1は、C-PHY3相通信リンクを採用し得る装置100の一例を示す。装置100は、無線周波数(RF)通信トランシーバ106を通じて、無線アクセスネットワーク(RAN)、コアアクセスネットワーク、インターネットおよび/または別のネットワークと通信するワイヤレス通信デバイスを含み得る。通信トランシーバ106は、処理回路102に動作可能に結合され得る。処理回路102は、特定用途向けIC(ASIC)108などの1つまたは複数のICデバイスを含み得る。ASIC108は、1つまたは複数の処理デバイス、論理回路などを含み得る。処理回路102は、ディスプレイ124をサポートする処理回路102およびデバイス、ならびに/またはメモリカードによる実行のためまたは他の使用のためのデータおよび命令を記憶および保持するプロセッサ可読デバイスを含み得る、メモリデバイス112などのプロセッサ可読ストレージを含み得、かつ/またはそれに結合され得る。処理回路102は、オペレーティングシステム、およびワイヤレスデバイスのメモリデバイス112などの記憶媒体の中に存在するソフトウェアモジュールの実行をサポートおよび可能にするアプリケーションプログラミングインターフェース(API)110レイヤのうちの1つまたは複数によって制御され得る。メモリデバイス112は、読取り専用メモリ(ROM)、ダイナミックランダムアクセスメモリ(DRAM)、1つもしくは複数のタイプのプログラマブル読取り専用メモリ(PROM)、フラッシュカード、または処理システムおよびコンピューティングプラットフォームにおいて使用され得る任意のメモリタイプを含み得る。処理回路102は、装置100を構成し動作させるために使用される動作パラメータおよび他の情報を保持できるローカルデータベース114を含み得るか、またはそれにアクセスし得る。ローカルデータベース114は、データベースモジュール、フラッシュメモリ、磁気媒体、電気的消去可能PROM(EEPROM)、光媒体、テープ、ソフトディスクまたはハードディスクなどのうちの1つまたは複数を使用して実装され得る。処理回路はまた、構成要素の中でも、アンテナ122、ディスプレイ124などの外部デバイス、ボタン128およびキーパッド126などのオペレータ制御装置に動作可能に結合され得る。
【００１７】
図2は、通信リンク220を通じてデータおよび制御情報を交換できる複数のICデバイス202および230を含む、装置200のいくつかの態様を示すブロック概略図である。通信リンク220は、互いに極近傍に配置されるか、または装置200の異なる部分に物理的に配置される、1対のICデバイス202および230を接続するために使用され得る。一例では、通信リンク220は、ICデバイス202および230を担持するチップキャリア、基板、または回路板上に設けられ得る。別の例では、第1のICデバイス202がフリップフォンのキーパッドセクションに配置されてよく、第2のICデバイス230がフリップフォンのディスプレイセクションに配置されてよい。別の例では、通信リンク220の一部分は、ケーブル接続または光接続を含んでもよい。
【００１８】
通信リンク220は、複数のチャネル222、224、および226を含み得る。1つまたは複数のチャネル226は双方向性であってよく、半二重モードおよび/または全二重モードで動作し得る。1つまたは複数のチャネル222および224は、一方向性であってもよい。通信リンク220は非対称であってよく、より広い帯域幅を1つの方向において提供してよい。本明細書で説明する一例では、第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へデータを通信するとき、より低いデータレートで動作し得る。
【００１９】
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、ならびに/あるいは通信リンク220のチャネル222、224、および/または226によって容易にされ得る。
【００２０】
逆方向チャネル224は、順方向チャネル222と同じ方式で動作させられてよく、順方向チャネル222および逆方向チャネル224は、同等の速度または異なる速度で送信することが可能であり得、ここで、速度はデータ転送レートおよび/またはクロッキングレートとして表現され得る。順方向および逆方向データレートは、適用例に応じて桁が実質的に同じであるかまたは桁が異なることがある。いくつかの適用例では、単一の双方向チャネル226は、第1のICデバイス202と第2のICデバイス230との間の通信をサポートし得る。順方向リンク222および/または逆方向チャネル224は、たとえば、順方向チャネル222および逆方向チャネル224が同じ物理接続を共有し、半二重方式で動作するとき、双方向モードで動作するように構成可能であり得る。一例では、通信リンク220は、業界規格または他の規格に従って第1のICデバイス202と第2のICデバイス230との間で制御情報、コマンド情報、および他の情報を通信するように動作させられ得る。
【００２１】
図2の通信リンク220は、C-PHYのためのMIPIアライアンス仕様に従って実装され得、複数の信号ワイヤ(M本のワイヤとして示す)を含む有線バスを設け得る。M本のワイヤは、モバイルディスプレイデジタルインターフェース(MDDI:Mobile Display Digital Interface)などの高速デジタルインターフェースにおいてN相符号化データを搬送するように構成され得る。M本のワイヤは、チャネル222、224、および226のうちの1つまたは複数でのN相極性符号化を容易にし得る。物理レイヤドライバ210および240は、通信リンク220上の送信のために、N相極性符号化データを生成するように構成または適合され得る。N相極性符号化の使用は高速データ転送を提供し得、N相極性符号化データリンクにおいてより少ないドライバしかアクティブでないので、他のインターフェースの電力の半分以下しか消費しなくてよい。
【００２２】
N相極性符号化デバイス210および/または240は、通常、通信リンク220上の遷移当たり複数ビットを符号化することができる。一例では、3相符号化と極性符号化の組合せは、フレームバッファなしでのワイドビデオグラフィックスアレイ(WVGA)の毎秒80フレームのLCDドライバICをサポートするために使用され得、ディスプレイリフレッシュのために810Mbpsでピクセルデータを配信し得る。
【００２３】
図3は、図2に示す通信リンク220のいくつかの態様を実施するために使用され得る、3ワイヤ3相極性エンコーダを示す概略図300である。3ワイヤ3相符号化の例は、単に本発明のいくつかの態様の説明を簡略化するために選択されるにすぎない。3ワイヤ3相エンコーダに対して開示する原理および技法は、MワイヤN相極性エンコーダの他の構成に適用され得る。
【００２４】
3ワイヤ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、-1、および0)を使用して示され得る。
【００２５】
3ワイヤ3相極性エンコーダは、信号ワイヤ310a、310b、および310cのシグナリング状態を制御するためのラインドライバ308を採用し得る。ドライバ308は、単位レベルの電流モードドライバまたは電圧モードドライバとして実装され得る。一例では、各ドライバ308は、対応する信号ワイヤ310a、310b、および310cの出力状態を決定する信号316a、316b、および316cのうちの2つ以上のセットを受信し得る。一例では、2つの信号316a、316b、および316cのセットは、ハイのとき、信号ワイヤ310a、310b、および310cを、それぞれ、より高いレベルまたはより低いレベルの電圧に向かって駆動するプルアップ回路およびプルダウン回路を活動化させる、プルアップ信号(PU信号)およびプルダウン信号(PD信号)を含み得る。この例では、PU信号とPD信号の両方がローであるとき、信号ワイヤ310a、310b、および310cは中間レベル電圧に終端され得る。
【００２６】
MワイヤN相極性符号化方式における送信シンボル区間ごとに、レシーバへ流れる電流の合計が常に0となるように、正駆動(+1の電圧状態または電流状態)の信号ワイヤ310a、310b、または310cの数が負駆動(-1の電圧状態または電流状態)の信号ワイヤ310a、310b、または310cの数に等しい間、少なくとも1本の信号ワイヤ310a、310b、または310cは中間レベル/非駆動(0)の電圧状態または電流状態にある。シンボルごとに、少なくとも1本の信号ワイヤ310a、310b、または310cの状態は、先行する送信区間の中で送信されたシンボルから変化させられる。
【００２７】
動作中、マッパ302は、16ビットデータ310を受信し得、7つのシンボル312にマッピングし得る。3ワイヤの例では、7つのシンボルの各々は、1つのシンボル区間に対して信号ワイヤ310a、310b、および310cの状態を規定する。7つのシンボル312は、信号ワイヤ310a、310b、および310cごとにシンボル314の時限シーケンスを提供する並直列変換器304を使用して直列化され得る。シンボル314のシーケンスは、通常、送信クロックを使用して時間が指定される。3ワイヤ3相エンコーダ306は、マッパによって生成された7つのシンボル314のシーケンスを一度に1シンボル受信し、シンボル区間ごとに各信号ワイヤ310a、310b、および310cの状態を算出する。3ワイヤエンコーダ306は、電流入力シンボル314ならびに信号ワイヤ310a、310b、および310cの前の状態に基づいて、信号ワイヤ310a、310b、および310cの状態を選択する。
【００２８】
MワイヤN相符号化の使用は、いくつかのビットが複数のシンボルにおいて符号化されることを可能にし、ここで、シンボル当たりのビットは整数でない。3ワイヤ通信リンクの例では、同時に駆動され得る2本のワイヤの3つの利用可能な組合せ、および駆動されるワイヤのペアにおける極性の2つの可能な組合せがあり、6つの可能な状態を生み出す。各遷移は現在の状態から発生するので、6つの状態のうちの5つが、すべての遷移において利用可能である。少なくとも1本のワイヤの状態が、各遷移において変化する必要がある。5つの状態を伴うと、log2(5)≒2.32ビットがシンボルごとに符号化され得る。したがって、シンボル当たり2.32ビットを搬送する7つのシンボルが16.24ビットを符号化できるので、マッパは、16ビットワードを受容し得、それを7つのシンボルに変換し得る。言い換えれば、5つの状態を符号化する7つのシンボルの組合せは、57(78,125)個の順列を有する。したがって、16ビットとしての216(65,536)個の順列を符号化するために7つのシンボルが使用され得る。
【００２９】
図4は、円形状態図450に基づく3相変調データ符号化方式を使用して符号化される信号のためのタイミングチャート400の一例を含む。情報は、シグナリング状態のシーケンスにおいて符号化されてよく、ここで、たとえば、ワイヤまたはコネクタは、円形状態図450によって定義される3つの位相状態S1、S2、およびS3のうちの1つにある。各状態は、120°位相シフトによって他の状態から分離され得る。一例では、データは、ワイヤまたはコネクタ上の位相状態の回転の方向において符号化され得る。信号における位相状態は、時計回り方向452および452'または反時計回り方向454および454'に回転し得る。たとえば、時計回り方向452および452'では、位相状態は、S1からS2、S2からS3、およびS3からS1への遷移のうちの1つまたは複数を含むシーケンスで進み得る。反時計回り方向454および454'では、位相状態は、S1からS3、S3からS2、およびS2からS1への遷移のうちの1つまたは複数を含むシーケンスで進み得る。3本の信号ワイヤ310a、310b、および310cは、同じ信号の異なるバージョンを搬送し、ここで、バージョンは、互いに対して120°だけ位相シフトされ得る。各シグナリング状態は、ワイヤもしくはコネクタ上の異なる電圧レベル、および/またはワイヤもしくはコネクタを通る電流フローの方向として表され得る。3ワイヤシステムにおけるシグナリング状態のシーケンスの各々の間、各信号ワイヤ310a、310b、および310cは、他のワイヤとは異なるシグナリング状態にある。3本以上の信号ワイヤ310a、310b、および310cが3相符号化システムにおいて使用されるとき、2本以上の信号ワイヤ310a、310b、および/または310cは、各シグナリング区間において同じシグナリング状態にあり得るが、すべてのシグナリング区間の中で少なくとも1本の信号ワイヤ310a、310b、および/または310c上に各状態が存在する。
【００３０】
情報は、各位相遷移410における回転の方向において符号化され得、3相信号は、シグナリング状態ごとに方向を変化させ得る。非駆動信号ワイヤ310a、310b、および/または310cは、回転の方向にかかわらず、回転する3相信号におけるすべてのシグナリング状態において変化するので、位相遷移の前後でどの信号ワイヤ310a、310b、および/または310cが「0」状態にあるのかを考慮することによって、回転の方向が決定され得る。
【００３１】
符号化方式はまた、アクティブに駆動される2つの導体310a、310b、および/または310cの極性408において情報を符号化し得る。3ワイヤ実装形態での任意の時間において、導体310a、310b、310cのうちの厳密に2つが、反対方向の電流、および/または電圧差を用いて駆動される。一実装形態では、データは、2ビット値412を使用して符号化されてよく、ここで、1ビットが位相遷移410の方向において符号化され、第2のビットが現在の状態に対する極性408において符号化される。
【００３２】
タイミングチャート400は、位相回転方向と極性の両方を使用するデータの符号化を示す。曲線402、404、および406は、それぞれ、複数の位相状態に対して、3本の信号ワイヤ310a、310b、および310c上で搬送される信号に関係する。最初に、位相遷移410は時計回り方向であり、最上位ビットがバイナリ「1」に設定され、その後、最上位ビットのバイナリ「0」によって表されるように、位相遷移410の回転が時間414において反時計回り方向に切り替わる。最下位ビットは、各状態における信号の極性408を反映する。
【００３３】
本明細書で開示するいくつかの態様によれば、データの1ビットが、3ワイヤ3相符号化システムにおける回転または位相変化において符号化され得、追加のビットが、2本の駆動ワイヤの極性において符号化され得る。追加の情報は、現在の状態から可能な状態のうちのいずれかへの遷移を可能にすることによって、3ワイヤ3相符号化システムの各遷移において符号化され得る。位相ごとに3つの回転位相および2つの極性が与えられると、3ワイヤ3相符号化システムにおいて6つの状態が利用可能である。したがって、任意の現在の状態から5つの状態が利用可能であり、シンボル(遷移)当たり符号化されたlog2(5)≒2.32ビットがあり得、これにより、マッパ302が16ビットワードを受容するとともにそれを7つのシンボルにおいて符号化することが可能になる。
【００３４】
N相データ転送は、バスなどの通信媒体の中に設けられた4本以上のワイヤを使用してよい。同時に駆動され得る追加の信号ワイヤの使用は、状態と極性とのより多くの組合せをもたらし、データのもっと多くのビットが状態間の各遷移において符号化されることを可能にする。このことは、システムのスループットを著しく改善することができ、帯域幅を増大させながら、複数の差動ペアを使用してデータビットを送信する手法を上回って電力消費を低減することができる。
【００３５】
一例では、エンコーダは、状態ごとに駆動されるワイヤの2つのペアを有する6本のワイヤを使用してシンボルを送信し得る。6本のワイヤは、A〜Fにラベル付けされてよく、それにより、ある状態では、ワイヤAおよびFが正に、ワイヤBおよびEが負に駆動され、CおよびDが非駆動である(または、電流を搬送しない)。6本のワイヤに対して、アクティブに駆動されるワイヤとしての
【数１】
2018526912.tif 000003
個の可能な組合せがあり得、位相状態ごとに、極性の
【数２】
2018526912.tif 000004
個の異なる組合せを有する。
【００３６】
アクティブに駆動されるワイヤの15個の異なる組合せは、以下を含み得る。
【表１】
2018526912.tif 000005
駆動される4本のワイヤのうち、2本のワイヤの可能な組合せが正に駆動される(かつ、他の2つは負でなければならない)。極性の組合せは、以下を含み得る。
【表２】
2018526912.tif 000006
【００３７】
したがって、異なる状態の総数は、15×6=90として計算され得る。シンボル間の遷移を保証するために、任意の現在の状態から89個の状態が利用可能であり、各シンボルにおいて符号化され得るビット数は、シンボル当たりlog2(89)≒6.47ビットとして計算され得る。この例では、5×6.47=32.35ビットとすれば、32ビットワードは、マッパによって5つのシンボルに符号化され得る。
【００３８】
任意のサイズのバスに対して駆動され得るワイヤの組合せの数についての一般式は、バスの中のワイヤの本数および同時に駆動されるワイヤの本数の関数として、
【数３】
2018526912.tif 000007
であり、駆動されているワイヤに対する極性の組合せの数を計算するための1つの式は、
【数４】
2018526912.tif 000008
である。シンボル当たりのビットの等価な数は、
【数５】
2018526912.tif 000009
として定められ得る。
【００３９】
図5は、3ワイヤ3相通信リンクの一例における6つの状態および30個の可能な状態遷移を示す状態図500である。状態図500における可能な状態502、504、506、512、514、および516は、図4の円形状態図450に示した状態を含み、その上で拡張する。状態要素520の見本に示すように、状態図500における各状態502、504、506、512、514、および516は、それぞれ、信号A、B、およびC(それぞれ、信号ワイヤ310a、310b、および310c上で送信される)の電圧状態を示すフィールド522、差動レシーバ(たとえば、図6の差動レシーバ602を参照)によるワイヤ電圧の減算の結果を示すフィールド524、および回転の方向を示すフィールド526を含む。たとえば、状態502(+x)では、ワイヤA=+1、ワイヤB=-1、およびワイヤC=0であり、差動レシーバ702a(A-B)=+2、差動レシーバ702b(B-C)=-1、および差動レシーバ702c(C-A)=+1としての出力を生み出す。状態図によって示すように、レシーバにおける位相変化検出回路構成によって行われる遷移決定は、-2、-1、0、+1、および+2の電圧状態を含む、差動レシーバによって生成される5つの可能なレベルに基づく。
【００４０】
図6は、3ワイヤ3相デコーダ600のいくつかの態様を示す図である。差動レシーバ602およびワイヤ状態デコーダ604は、3本の伝送線路(たとえば、図3に示す信号ワイヤ310a、310b、および310c)の状態の互いに対するデジタル表現を提供するとともに、前のシンボル期間の中で送信された状態と比較した3本の伝送線路の状態の変化を検出するように構成される。7つの連続した状態は、デマッパ608によって処理されるべき7つのシンボルのセットを取得するように、直並列変換器606によって組み立てられる。デマッパ608は、先入れ先出し(FIFO)レジスタ610の中にバッファリングされ得る16ビットのデータを生成する。
【００４１】
ワイヤ状態デコーダ604は、信号ワイヤ310a、310b、および310c上で受信される位相符号化信号からシンボル614のシーケンスを抽出し得る。シンボル614は、本明細書で開示するような位相回転と極性の組合せとして符号化される。ワイヤ状態デコーダは、信号ワイヤ310a、310b、および310cからシンボルを確実に取り込むために使用され得るクロック626を抽出するCDR回路624を含み得る。各シンボル境界において信号ワイヤ310a、310b、および310cのうちの少なくとも1本の上で遷移が発生し、CDR回路624は、1つまたは複数の遷移の発生に基づいてクロック626を生成するように構成され得る。すべての信号ワイヤ310a、310b、および310cが安定しているための時間を可能にするように、かつ、それによって、現在のシンボルが復号目的のために取り込まれることを確実にするように、クロックのエッジが遅延されてよい。
【００４２】
3相インターフェースにおけるジッタ
3相トランスミッタは、高レベル、低レベル、および中間レベル電圧を送信チャネルに与えるドライバを含む。このことは、連続したシンボル区間の間にいくらかの変動する遷移をもたらす。低電圧から高電圧への遷移および高電圧から低電圧への遷移はフルスイング遷移と呼ばれることがあり、低電圧から中間電圧への遷移および高電圧から中間電圧への遷移はハーフスイング遷移と呼ばれることがある。異なるタイプの遷移は、異なる立上りまたは立下り時間を有することがあり、レシーバにおいて異なるゼロ交差をもたらすことがある。これらの差は「符号化ジッタ」という結果になり得、「符号化ジッタ」はリンク信号インテグリティ性能に影響を及ぼすことがある。
【００４３】
図7は、C-PHY3相トランスミッタの出力における遷移変動性のいくつかの態様を示すタイミング図700である。信号遷移時間における変動性は、3相シグナリングにおいて使用される異なる電圧レベルおよび/または電流レベルの存在によるものと考えられ得る。タイミング図700は、単一の信号ワイヤ310a、310b、または310cから受信された信号における遷移時間を示す。第1のシンボルSymn 702は、第2のシンボル区間の中で第2のシンボルSymn+1 704が送信される時間722において終わる、第1のシンボル区間の中で送信される。第2のシンボル区間は、第3のシンボル区間の中で第3のシンボルSymn+2 706が送信される時間726において終わってよく、第3のシンボル区間は、第4のシンボル区間の中で第4のシンボルSymn+3 708が送信されるときに終わる。信号ワイヤ310a、310b、または310cにおける電圧がしきい値電圧718および/または720に達するのにかかる時間に帰する遅延712の後、第1のシンボル702によって決定される状態から第2のシンボル704に対応する状態への遷移が検出可能であり得る。しきい値電圧は、信号ワイヤ310a、310b、または310cの状態を決定するために使用され得る。信号ワイヤ310a、310b、または310cにおける電圧がしきい値電圧718および/または720のうちの1つに達するのにかかる時間に帰する遅延714の後、第2のシンボル704によって決定される状態から第3のシンボル706に対する状態への遷移が検出可能であり得る。信号ワイヤ310a、310b、または310cにおける電圧がしきい値電圧718および/または720に達するのにかかる時間に帰する遅延716の後、第3のシンボル706によって決定される状態から第4のシンボル708に対する状態への遷移が検出可能であり得る。遅延712、714、および716が異なる持続時間を有することがあり、そうした持続時間は、3つの状態に関連する異なる電圧または電流レベル、および結果として起こる異なる遷移の大きさに部分的に帰することがある。信号ワイヤ310a、310b、または310cにおける電圧がしきい値電圧718および/または720に達するのにかかる時間に帰する遅延716の後、第3のシンボル706によって決定される状態から第4のシンボル708に対する状態への遷移が検出可能であり得る。遅延712、714、および716は、異なる持続時間を有することがあり、そうした持続時間は、デバイス製造プロセスにおけるばらつきおよび動作条件に部分的に帰することがあり、3つの状態に関連する異なる電圧もしくは電流レベルの間の遷移における不均等な影響、および/または異なる遷移の大きさをもたらすことがある。これらの差は、C-PHY3相レシーバにおけるジッタおよび他の問題の一因となり得る。
【００４４】
図8は、C-PHY3相インターフェースにおけるレシーバの中に設けられ得るCDR回路のいくつかの態様を示すブロック概略図800を含む。差動レシーバ802a、802b、および802cのセットは、3つ組の中の3本の信号ワイヤ310a、310b、および310cの各々を3つ組の中の3本の信号ワイヤ310a、310b、および310cのうちの他のものと比較することによって、差分信号810のセットを生成するように構成される。図示の例では、第1の差動レシーバ802aが信号ワイヤ310aおよび310bの状態を比較し、第2の差動レシーバ802bが信号ワイヤ310bおよび310cの状態を比較し、第3の差動レシーバ802cが信号ワイヤ310aおよび310cの状態を比較する。したがって、差動レシーバ802a、802b、および802cのうちの少なくとも1つの出力が各シンボル区間の末尾において変化するので、遷移検出回路804は、位相変化の発生を検出するように構成され得る。
【００４５】
送信シンボル間のいくつかの遷移が、単一の差動レシーバ802a、802b、または802cによって検出可能であり得、他の遷移が、差動レシーバ802a、802b、および802cのうちの2つ以上によって検出され得る。一例では、遷移の後、2本のワイヤの状態または相対的な状態が変化しないことがあり、位相遷移の後、対応する差動レシーバ802a、802b、または802cの出力も変化しないことがある。別の例では、信号ワイヤ310a、310b、および/または310cのペアの中の両方のワイヤが第1の時間区間の中で同じ状態にあり得、両方のワイヤが第2の時間区間の中で同じ第2の状態にあり得、位相遷移の後、対応する差動レシーバ802a、802b、または802cが変化しないことがある。したがって、クロック生成回路806は、位相遷移が発生したときを決定するために、すべての差動レシーバ802a、802b、および802cの出力を監視するための遷移検出回路804および/または他の論理を含み得、クロック生成回路は、検出された位相遷移に基づいて受信クロック信号808を生成し得る。
【００４６】
3本のワイヤのシグナリング状態の変化は、信号ワイヤ310a、310b、および/または310cの異なる組合せに対して異なる時間において検出され得る。シグナリング状態変化の検出のタイミングは、発生したシグナリング状態変化のタイプに従って変動し得る。そのような変動性の結果が、図8のタイミングチャート850に示される。マーカー822、824、および826は、遷移検出回路804に提供される差分信号810における遷移の発生を表す。マーカー822、824、および826は、単に例示の明快のためにタイミングチャート850において異なる高さが割り当てられ、マーカー822、824、および826の相対的な高さは、クロック生成またはデータ復号のために使用される電圧もしくは電流レベル、極性、または重み付け値の特定の関係を示すことを意図しない。タイミングチャート850は、3本の信号ワイヤ310a、310b、および310c上の位相および極性における、送信されるシンボルに関連する遷移のタイミングの影響を示す。タイミングチャート850において、いくつかのシンボル間の遷移は、シンボルがその間に確実に取り込まれる得る変動する取込みウィンドウ830a、830b、830c、830d、830e、830f、および/または830g(総称して、シンボル取込みウィンドウ830)をもたらすことがある。検出される状態変化の数およびそれらの相対的なタイミングは、クロック信号808上のジッタをもたらし得る。
【００４７】
C-PHY通信リンクのスループットは、信号遷移時間における持続時間および変動性によって影響を及ぼされることがある。たとえば、検出回路における変動性は、製造プロセス許容差、電圧源および電流源の変動および安定性、ならびに動作温度によって、また信号ワイヤ310a、310b、および310cの電気的特性によって、引き起こされることがある。検出回路における変動性は、チャネル帯域幅を制限することがある。
【００４８】
図9は、いくつかの連続したシンボル間での第1のシグナリング状態から第2のシグナリング状態への遷移のいくつかの例を表すタイミングチャート900および920を含む。タイミングチャート900および920に示すシグナリング状態遷移は例示のために選択され、MIPIアライアンスC-PHYインターフェースにおいて他の遷移および遷移の組合せが発生することができる。タイミングチャート900および920は、3つ組のワイヤ上での信号レベル間の立上りおよび立下り時間の差異に起因して複数のレシーバ出力遷移が各シンボル区間境界において発生し得る、3ワイヤ3相通信リンクの一例に関する。図8も参照すると、第1のタイミングチャート900は、遷移の前後の3つ組の信号ワイヤ310a、310b、および310c(A、B、およびC)のシグナリング状態を示し、第2のタイミングチャート920は、信号ワイヤ310a、310b、および310cとの間の差異を表す差分信号810を提供する、差動レシーバ802a、802b、および802cの出力を示す。多くの事例では、差動レシーバ802a、802b、および802cのセットは、2本の信号ワイヤ310a、310b、および310cに対する異なる組合せを比較することによって、遷移を取り込むように構成され得る。一例では、これらの差動レシーバ802a、802b、および802cは、それらのそれぞれの入力電圧の差分を(たとえば、減算によって)決定することによって、出力を生成するように構成され得る。
【００４９】
タイミングチャート900および920に示す例の各々では、初期シンボル(-z)516(図8参照)は異なるシンボルに遷移する。タイミングチャート902、904、および906に示すように、信号Aは最初に+1状態にあり、信号Bは0状態にあり、信号Cは-1状態にある。したがって、差動レシーバ出力に対してタイミングチャート922、932、938に示すように、差動レシーバ802a、802bは、最初に+1差分924を測定し、差動レシーバ802cは-2差分926を測定する。
【００５０】
タイミングチャート902、922に対応する第1の例では、シンボル(-z)516からシンボル(-x)512へ遷移が発生し(図8参照)、ここで、差動レシーバ802aが+1差分924から-2差分930に遷移し、差動レシーバ802bが+1差分924、928のままであり、差動レシーバ802cが-2差分926から+1差分928に遷移して、信号Aは-1状態に遷移し、信号Bは+1状態に遷移し、信号Cは0状態に遷移する。
【００５１】
タイミングチャート904、932に対応する第2の例では、シンボル(-z)516からシンボル(+z)506へ遷移が発生し、ここで、2つの差動レシーバ802aおよび802bが+1差分924から-1差分936に遷移し、差動レシーバ802cが-2差分926から+2差分934に遷移して、信号Aは-1状態に遷移し、信号Bは0状態のままであり、信号Cは+1状態に遷移する。
【００５２】
タイミングチャート906、938に対応する第3の例では、シンボル(-z)516からシンボル(+x)502へ遷移が発生し、ここで、差動レシーバ802aが+1差分924から+2差分940に遷移し、差動レシーバ802bが+1差分924から-1差分942に遷移し、差動レシーバ802cが-2差分926から-1差分942に遷移して、信号Aは+1状態のままであり、信号Bは-1状態に遷移し、信号Cは0状態に遷移する。
【００５３】
これらの例は、差分値における遷移が0、1、2、3、4、および5レベルに広がることを示す。一般の差動またはシングルエンドのシリアルトランスミッタのために使用されるプリエンファシス技法は、2レベル遷移用に開発されており、MIPIアライアンスC-PHY3相信号上で使用される場合、いくつかの悪影響を持ち込むことがある。詳細には、遷移中に信号を過度に駆動するプリエンファシス回路は、1または2レベルに広がる遷移中にオーバーシュートを引き起こすことがあり、エッジに敏感な回路において誤ったトリガを発生させることがある。
【００５４】
図10は、単一のシンボル区間1002を含む複数のシンボル区間の重ね合わせとして生成されるアイパターン1000を示す。信号遷移領域1004は、2つのシンボル間の境界における不確定の時間期間を表し、ここで、変動する信号立上り時間は、信頼できる復号を妨げる。シンボルが安定しており確実に受信および復号され得る時間期間を表す「アイ開口」内のアイマスク1006によって画定される領域において、状態情報が確実に決定され得る。アイマスク1006は、ゼロ交差が発生しない領域をマスクオフし、アイマスクは、最初の信号ゼロ交差に後続するシンボル区間境界における後続のゼロ交差の影響に起因する複数のクロッキングを防止するために、デコーダによって使用される。
【００５５】
信号の周期的なサンプリングおよび表示の概念は、受信データの中に現れる頻発する遷移を使用して受信データタイミング信号を再生成するクロックデータ復元回路を使用するシステムの設計、適合、および構成の間に有用である。シリアライザ/デシリアライザ(SERDES)技術に基づく通信システムは、アイパターン1000のアイ開口に基づいてデータを確実に復元する能力を判断するための根拠としてアイパターン1000が利用され得る、システムの一例である。
【００５６】
3ワイヤ3相エンコーダなどのMワイヤN相符号化システムは、すべてのシンボル境界において少なくとも1つの遷移を有する信号を符号化し得、レシーバは、それらの保証された遷移を使用してクロックを復元し得る。レシーバは、シンボル境界における最初の信号遷移の直前に、信頼できるデータを必要とし得、また同じシンボル境界と相互に関連する複数の遷移のいかなる発生も確実にマスキングすることが可能でなければならない。Mワイヤ(たとえば、3つ組のワイヤ)上で搬送される信号の間の立上りおよび立下り時間のわずかな差異に起因して、かつ受信された信号ペアの組合せ(たとえば、図6の差動レシーバ802a、802b、および802cのA-B、B-C、およびC-A出力)の間の信号伝搬時間のわずかな差異に起因して、複数のレシーバ遷移が発生し得る。
【００５７】
図11は、C-PHY3相信号に対して生成されるアイパターン1100の一例を示す。アイパターン1100は、複数のシンボル区間1102の重ね合わせから生成され得る。アイパターン1100は、固定された、かつ/またはシンボルから独立した、トリガ1130を使用して作成され得る。アイパターン1100は、差動レシーバ802a、802b、802c、およびN相レシーバ回路(図8参照)によって測定される複数の電圧レベルによるものと考えられ得る、増大した数の電圧レベル1120、1122、1124、1126、1128を含む。この例では、アイパターン1100は、差動レシーバ802a、802b、および802cに提供される3ワイヤ3相符号化信号における可能な遷移に対応し得る。3つの電圧レベルは、差動レシーバ802a、802b、および802cに、正極性と負極性の両方に対する強電圧レベル1126、1128、および弱電圧レベル1122、1124を生成させ得る。通常、1本の信号ワイヤ310a、310b、および310cだけが任意のシンボルの中で非駆動であり、差動レシーバ802a、802b、および802cは、0状態(ここでは0ボルト)出力を生成しない。強レベルおよび弱レベルに関連する電圧は、0ボルトレベルに対して均等に離間される必要はない。たとえば、弱電圧レベル1122、1124は、非駆動信号ワイヤ310a、310bおよび310cが達する電圧レベルを含み得る電圧の比較を表す。受信デバイスにおいてデータが取り込まれるときに信号の3つのペアのすべてが同時であるものと見なされるので、アイパターン1100は、差動レシーバ802a、802b、および802cによって生成される波形を重複させてよい。差動レシーバ802a、802b、および802cによって生成される波形は、信号の3つのペア(A-B、B-C、およびC-A)の比較を表す差分信号810を表す。
【００５８】
C-PHY3相デコーダにおいて使用されるドライバ、レシーバ、および他のデバイスは、3本のワイヤから受信された信号間に相対的な遅延を持ち込むことがある異なるスイッチング特性を示し得る。3つ組の信号ワイヤ310a、310b、310cの3本の信号の間の立上りおよび立下り時間のわずかな差異に起因して、かつ信号ワイヤ310a、310b、310cから受信された信号のペアの組合せの間の信号伝搬時間のわずかな差異に起因して、各シンボル区間境界1108および/または1114において複数のレシーバ出力遷移が観測され得る。アイパターン1100は、立上りおよび立下り時間における変動を、各シンボル区間境界1108および1114の近くの遷移における相対的な遅延として取り込み得る。立上りおよび立下り時間における変動は、3相ドライバの異なる特性に起因し得る。立上りおよび立下り時間の差異も、任意の所与のシンボルにとってのシンボル区間1102の持続時間を実効的に短くまたは長くする結果となり得る。
【００５９】
信号遷移領域1104は、不確定の時間または期間を表し、ここで、変動する信号立上り時間は、信頼できる復号を妨げる。シンボルが安定しており確実に受信および復号され得る時間期間を表す「アイ開口」1106の中で、状態情報が確実に決定され得る。一例では、アイ開口1106は、信号遷移領域1104の末尾1112において開始するとともに、シンボル区間1102のシンボル区間境界1114において終わるように決定され得る。図11に示す例では、アイ開口1106は、信号遷移領域1104の末尾1112において開始するとともに、信号ワイヤ310a、310b、310cのシグナリング状態ならびに/または3つの差動レシーバ802a、802b、および802cの出力が次のシンボルを反映するように変化し始めた時間1116において終わるように決定され得る。
【００６０】
N相符号化のために構成された通信リンク220の最大速度は、受信信号に対応するアイ開口1106と比較した信号遷移領域1104の持続時間によって制限され得る。シンボル区間1102にとっての最小期間は、たとえば、図6に示すデコーダ600の中のCDR回路624に関連する厳しい設計マージンによって制約され得る。異なるシグナリング状態遷移は、2本以上の信号ワイヤ310a、310b、および/または310cに対応する信号遷移時間における異なる変動に関連し得、それによって、受信デバイスの中の差動レシーバ802a、802b、および802cの出力を、差動レシーバ802a、802b、および802cの入力が変化し始めるシンボル区間境界1108に対して異なる時間および/またはレートにおいて変化させる。信号遷移時間の間の差は、2つ以上の差分信号810におけるシグナリング遷移間のタイミングスキューをもたらすことがある。CDR回路は、差分信号810の間のタイミングスキューに対応するための遅延要素および他の回路を含み得る。
【００６１】
図12は、3ワイヤ3相インターフェース用のCDR回路1200の一例を提供する。図示したCDR回路1200は、多くの異なるタイプのクロック復元回路にとって共通であるいくつかの機能および機能要素を含む。CDR回路1200は、たとえば、図8の差動レシーバ802a、802b、および802cによって生成された差分信号810から導出され得る差分信号1202、1204、1206を受信する。CDR回路1200において、各差分信号1202、1204、1206は、Dフリップフロップのペア1210a、1210b、1210cをクロッキングして出力信号1230a〜1230fを生成する。出力信号1230a〜1230fは、対応する差分信号1202、1204、1206の上で遷移が検出されるとパルスを搬送する。Dフリップフロップにおけるクロック入力に供給される立上りエッジは、Dフリップフロップを通じて論理1をクロッキングする。インバータ1208a、1208b、1208cは、対応するDフリップフロップの各ペア1210a、1210b、1210cにおけるDフリップフロップのうちの一方に、差分信号1202、1204、1206の反転バージョンを提供するために使用され得る。したがって、Dフリップフロップの各ペア1210a、1210b、1210cは、対応する差分信号1202、1204、1206において検出された立上りエッジおよび立下りエッジに応答してパルスを生成する。
【００６２】
たとえば、AB差分信号1202が、Dフリップフロップの第1のペア1210aの第1のDフリップフロップ1232に提供され、インバータ1208aは、AB差分信号1202の反転バージョンをDフリップフロップの第1のペア1210aの第2のDフリップフロップ1234に提供する。Dフリップフロップは、当初はリセット状態にある。AB差分信号1202における立上りエッジが、第1のDフリップフロップ1232を通じて論理1をクロッキングして、第1のフリップフロップの出力(r_AB)1230aを論理1状態に遷移させる。AB差分信号1202における立下りエッジが、第2のDフリップフロップ1234を通じて論理1をクロッキングして、第2のフリップフロップの出力(f_AB)1230bを論理1状態に遷移させる。
【００６３】
出力信号1230a〜1230fは、ORゲート1212などの論理に提供され、そうした論理は、レシーバクロック(RxCLK)信号1222として働き得る出力信号を生成する。差分信号1202、1204、1206のうちのいずれかのシグナリング状態において遷移が発生するとき、RxCLK信号1222が論理1状態に遷移する。RxCLK信号1222は、プログラマブル遅延要素1214に供給され、プログラマブル遅延要素1214は、Dフリップフロップのペア1210a、1210b、1210cにおけるDフリップフロップをリセットするリセット信号(rb)1228を駆動する。図示の例では、Dフリップフロップがロー信号によってリセットされるとき、インバータ1216が含まれ得る。Dフリップフロップがリセットされると、ORゲート1212の出力が論理0状態に戻り、RxCLK信号1222上のパルスは終了する。この論理0状態がプログラマブル遅延要素1214およびインバータ1216を通って伝搬すると、Dフリップフロップにおけるリセット条件が解放される。Dフリップフロップがリセット条件にある間、差分信号1202、1204、1206における遷移は無視される。
【００６４】
プログラマブル遅延要素1214は、通常、差分信号1202、1204、1206における最初および最後の遷移の発生の間のタイミングスキューの差を上回る持続時間を有する遅延を生成するように構成される。プログラマブル遅延要素1214は、RxCLK信号1222上でのパルスの持続時間(すなわち、パルス幅)を構成する。プログラマブル遅延要素1214は、プロセッサまたは他の制御論理および/もしくは構成論理によってSet信号1226がアサートされると構成され得る。
【００６５】
RxCLK信号1222はまた、差分信号1202、1204、1206のシグナリング状態を取り込む3つのフリップフロップ1220のセットに供給されてよく、RxCLK信号1222上で発生する各パルスに対して安定な出力シンボル1224を提供する。遅延または整合論理1218が、差分信号1202、1204、1206のセットのタイミングを調整し得る。たとえば、遅延または整合論理1218は、差分信号1202、1204、1206が安定しているときにフリップフロップ1220が差分信号1202、1204、1206のシグナリング状態を取り込むことを確実にするように、RxCLK信号1222上のパルスに対する差分信号1202、1204、1206のタイミングを調整するために使用され得る。遅延または整合論理1218は、プログラマブル遅延要素1214に対して構成された遅延に基づいて、差分信号1202、1204、1206におけるエッジを遅延させ得る。
【００６６】
プログラマブル遅延要素1214は、差分信号1202、1204、1206における遷移時間の可能な大きい変動に対応するためにCDR回路1200の中に構成され得る。一例では、プログラマブル遅延要素1214は、差分信号1202、1204、1206における最初および最後の遷移の発生の間のタイミングスキューの持続時間を上回る最小遅延期間を導入し得る。CDR回路1200の信頼できる動作のために、プログラマブル遅延要素1214によって与えられる最大遅延時間は、シンボル区間以下であってよい。もっと高速なデータレートにおいて、タイミングスキューはシンボル区間1102の部分として増大し、アイ開口1106はシンボル区間1102と比較して小さくなることがある。タイミングスキューが、アイ開口1106によって占有されるシンボル区間1102のパーセンテージを、シンボルの信頼できる取込みをサポートできるしきい値サイズよりも小さく低減するとき、最大シンボル送信レートが制限されることがある。
【００６７】
図13は、CDR回路1200の動作のいくつかの態様を示すタイミング図である。図は、プログラマブル遅延要素1214が構成された後の動作に関し、Set信号1226はアクティブでない。CDR回路1200は、エッジ検出器として動作する。C-PHY3相符号化は、単位区間(UI)1302ごとに単一のシグナリング状態遷移をもたらす。3つ組の各ワイヤの状態の差および/または3つ組の送信特性は、異なる時間において2つ以上のワイヤ上に遷移を出現させ得る。差分信号1202、1204、1206における遷移の発生の時間的な最大差分は、スキュー時間(tskew)1304と呼ばれることがある。CDR回路1200に関連する他の遅延は、Dフリップフロップのペア1210a、1210b、1210cを通じた伝搬遅延(tck2q)1314、ORゲート1212を通過した立上りエッジに関連する伝搬遅延(tOR_0)1316、ORゲート1212を通過した立下りエッジに関連する伝搬遅延(tOR_1)1318、プログラマブル遅延要素1214およびドライバ/インバータ1216によって導入される遅延を組み合わせるプログラマブル遅延(tpgm)1310、ならびにDフリップフロップのペア1210a、1210b、1210cによるrb信号1228の受信の時間とフリップフロップ出力がクリアされる時間との間の遅延に対応するリセット遅延(trst)1312を含む。
【００６８】
ループ時間(tloop)1320は以下のように定義され得る。
tloop=tck2q+tOR_1+tpgm+trst+tOR_0+tpgm
tloop1320とUI1302との間の関係が、CDR回路1200の動作の信頼性を決定し得る。この関係は、送信用に使用されUI1302に対して直接の影響を有するクロック周波数、およびプログラマブル遅延要素1214の動作の変動性によって影響を及ぼされる。
【００６９】
いくつかのデバイスでは、プログラマブル遅延要素1214の動作は、製造プロセスにおけるばらつき、回路電源電圧、およびダイ温度(PVT)によって影響を及ぼされることがある。構成された値に対してプログラマブル遅延要素1214によって与えられる遅延時間は、デバイス間および/またはデバイス内の回路間で著しく変動し得る。従来のシステムでは、CDR回路1200の公称動作条件は、概して、最悪のケースのPVT影響下でさえ、信号遷移領域1104の末尾1112の後かつ次のシンボルへの遷移領域の始まりの前にクロックエッジが発生することを確実にするために、すべてのPVT条件下でアイ開口1106の中間におけるどこかでクロックエッジを生成するための設計によって設定される。送信周波数が高くなり、差分信号1202、1204、1206のタイミングスキューがUI1302と比較して大きいとき、アイ開口1106内のクロックエッジを保証するCDR回路1200を設計する際に難題が生じ得る。たとえば、一般の遅延要素は、すべてのPVT条件にわたって2倍に変化する遅延値を生成し得る。
【００７０】
図14は、不十分な遅延しか与えないプログラマブル遅延要素1214の影響を示すタイミング図1400である。この例では、tloop1406は、観測されるtskew1404にとって短すぎ、1つのUI1402の中で複数のクロックパルス1408、1410が生成される。すなわち、ループ遅延tloop1406はtskew1404に比べて十分に大きくなく、差分信号1202、1204、1206において後で発生する遷移はマスキングされない。図示の例では、差分信号1206のうちの1つにおける第2の遷移1414は、差分信号1202のうちの別のものにおいて最初に発生する遷移1412に応答してパルス1408が生成された後、検出され得る。この例では、復元されるクロック周波数は、3相インターフェース上でシンボルを送信するために使用されるクロック周波数の2倍であり得る。
【００７１】
図15は、長すぎる遅延を与えるプログラマブル遅延要素1214の影響を示すタイミング図1500である。この例では、tloop1506はUI1502よりも大きい。CDR回路1200は、第1のUI1502の中で最初に発生する遷移1514に応答してクロックパルス1508を生成し得るが、遷移1516、1518が2番目のUI1512の中で発生するとき、rb信号1228はアクティブであり得る。図示の例では、2番目のUI1512の中の遷移1516、1518はマスキングされ、2番目のUI1512に対応する予想パルス1510が抑制される。この例では、復元されるクロック周波数は、3相インターフェース上でシンボルを送信するために使用されるクロック周波数の半分であり得る。
【００７２】
図14および図15の例によって示すように、CDR回路1200は、以下の制約を受けてよい。
tskew<tloop<UI
実証的経験は、tloop1320、1406、1506がPVTに極めて敏感であることを示唆する。いくつかの事例では、プログラマブル遅延要素1214によって与えられる遅延は、PVTの潜在的な変動の範囲に対応するように増大されてよい。データレートが増大し、減少し、tskewがUIに対して比例して増大するとき、プログラマブル遅延要素1214を構成するために利用可能な遅延の潜在的な範囲が低減する。
【００７３】
C-PHY3相インターフェース用の改善されたクロック生成
本明細書で開示するいくつかの態様によれば、C-PHY多相レシーバの中で使用されるクロック復元回路は、PVTの変動に関連する問題を回避することができる。クロック復元回路は、いくつかのUIの中で遷移を検出し、他のUIの中での遷移の検出を抑制するように適合され得る。クロック復元回路は、遷移検出がその中で抑制されるUIに対して、補間されたパルスを生成し得る。第1の動作モードでは、プログラムされる遅延は、最初に発生するUIの中で遷移を検出した後、2番目に発生するUIの中での遷移の検出を、CDR回路に抑制させるように構成され得る。この第1の動作モードでは、CDR回路は、シンボル送信周波数の周波数の半分の周波数を有するクロック信号を生成する。第2の動作モードでは、プログラムされる遅延は、最初に発生するUIの中で遷移を検出した後、2つの後続のUIの中での遷移の検出を、CDR回路に抑制させるように構成され得る。第2の動作モードでは、CDR回路は、シンボル送信周波数の周波数の1/3の周波数を有するクロック信号を生成する。他の動作モードは、シンボル周波数の1/4以下などの周波数を生成してもよい。遷移検出がその中で抑制されるUIに対応するクロックパルスを生成するために、遅延ロックループ(DLL)が使用され得る。DLLによって生成されたクロックパルスは、CDR回路によって生成されたクロック信号のパルス間に挿入され得る。
【００７４】
図16は、本明細書で開示するいくつかの態様によるクロック生成を示すタイミング図1600である。クロック復元回路の中の1つまたは複数のプログラマブル遅延要素は、エッジ検出およびパルス生成がUI1618、1620の部分の中で抑制されるような遅延を用いて適合および/または構成され得る。図示の例では、パルス生成回路またはループは、最初のUI1618の間、RxCLK信号1602においてクロックパルスを供給するが、2番目の後続のUI1620の中の遷移を検出しない。クロック復元回路は、中間のクロック信号(RxCLK_MID)1604において、2番目のUI1620に対応するパルス1642を供給するDLL回路を含み得るかまたはそれと協働し得る。パルス生成回路またはループは、最初のUI1618の中でパルス1640を生成した後、2つ以上のUI1620の中の遷移を逸失または無視するように構成され得、1つまたは複数のDLL回路は、たとえば、遷移が無視されるとき、その間でパルス生成が抑制されるUI1620のためにパルスを供給する。1つまたは複数のDLLによって生成されるパルスは、RxCLK信号1602の立上りエッジ間で、RxCLK信号1602の立上りエッジに対して配置され得る。図16は、RxCLK_MID信号1604がRxCLK信号1602に対して180度位相シフトして生成されるハーフレートの例を示す。
【００７５】
RxCLK信号1602およびRxCLK_MID信号1604は、たとえば、AB信号1202の遅延バージョンであるAB_delay信号1606、およびCA信号1206の遅延バージョンであるCA_delay信号1608を含む、差分信号1202、1204、1206の遅延バージョンをサンプリングするために使用され得る。RxCLK信号1602は、偶数の発生シンボル1622/1628、1626/1632を取り込んでCapture_even信号1610においてシンボル1634および1638を提供し、RxCLK_MID信号1604は、奇数の発生シンボル1624/1630を取り込んでCapture_odd信号1612においてシンボル1636を提供する。
【００７６】
いくつかの事例では、Capture_even信号1610およびCapture_odd信号1612は、たとえば、シンボル1634、1636、1638のうちの2つ以上が並行して読み取られ得るように、RxCLK信号1602に再整合され得る。
【００７７】
図17は、クロック復元の信頼性が場合によっては危うくされることになることをタイミング制約tskew<tloop<UIが示すとき、3相インターフェース上で送信されるシンボルを確実に取り込むために図16のタイミングに従って使用され得る回路1700を示す。回路1700は、差分信号1202、1204、1206、および差分信号1202、1204、1206の反転バージョンを含み得る入力1712から、シンボルを取り込むために使用され得る第1のクロック(ref_clk)信号1714および第2のクロック信号(rclk)1716を生成するように協働する、2つのCDR回路1702、1704、およびDLL回路1706を含む。ref_clk信号1714は、第1の3相CDR回路1702を使用して生成される。ref_clk信号1714は、3相インターフェースのシンボル送信周波数に対応するFrefの周波数を有する基準クロックとして供給され得る。rclk信号1716は、第2のCDR回路1704を使用して生成される。様々な動作モードでは、rclk信号1716の周波数は、ref_clk信号1714の周波数の倍数(すなわち、2Fref、1Fref、0.5Fref、1/3Fref、0.25Frefなど)であり得る。第1のCDR回路1702および第2のCDR回路1704は、類似のアーキテクチャを有してよい。
【００７８】
CDR較正論理1708は、ref_clk信号1714の周波数に対するrclk信号1716の周波数の差を検出するために設けられ得る。第2のCDR回路1704の中の1つまたは複数のプログラマブル遅延要素が、rclk信号1716およびref_clk信号1714の周波数の差に基づいて較正され得る。一例では、CDR較正論理1708は、マルチビット制御信号を提供し得る。マルチビット制御信号は、第2のCDR回路1704の中のプログラマブル遅延要素によって生成される遅延の持続時間を制御する遅延パラメータ1720を規定し得る。プログラマブル遅延要素は、第2のCDR回路1704にUI1618、1620のいくつかの部分の中でのパルス生成を抑制させるように選択されるパラメータを使用して構成され得る。rclk信号1716がDLL回路1706に供給され、DLL回路1706は、rclk信号1716におけるパルスと組み合わせられたとき、平行な出力データ(ab_o[1:0]、bc_o[1:0]、ca_o[1:0])を生成するために第2のCDR回路1704によって使用され得る位相シフト信号1722の形態で、追加のパルスを生成する。
【００７９】
第2のCDR回路1704の中でプログラムされる遅延は、rclk信号1716の周波数を監視しながら、プログラムされる遅延を調整することによって構成され得る。最初に、プログラムされる遅延は、UI時間(1シンボルを送信するのに必要とされる時間)よりも短い時間にわたって持続する遅延を生成するように設定され得る。一例では、クロック復元回路は、3相信号が最初に受信されるとき、シンボル送信周波数に等しい周波数を有するrclk信号1716を生成するように構成され得る。プログラムされる遅延の値は、次いで、rclk信号1716の周波数が2によって、3によって、または任意の所望のファクタによって除算されるまで、徐々に増大され得る。
【００８０】
図18は、第2のCDR回路1704の遅延要素を構成するために使用されるCDR較正回路1800の一例を示す。CDR較正回路1800は、処理回路によって提供され得る信号1812によってイネーブルされ得る。CDR較正回路1800は、ref_clk信号1714および較正クロック(cal_clk)信号1814を駆動し、かつ/またはそれらのタイミングを調整するために使用される調整論理1802を含み得る。一例では、ref_clk信号1714は、基準CDR回路(たとえば、CDR回路1702)、自励発振器、位相ロックループ、または他のクロック生成回路から導出され得る。CDR較正回路1800は、ref_clk信号1714およびcal_clk信号1814の調整済みバージョンによってクロッキングされるカウンタ1804および1806を含み得る。カウンタ1804および1806の出力が、比較器論理1808によって監視され得、比較器論理1808は、cal_clk信号1814に対するref_clk信号1714の周波数を決定し得る。較正カウンタ1810は、CDR回路(たとえば、第2のCDR回路1704)の中の1つまたは複数のプログラマブル遅延要素を制御するように、連続する較正サイクル中に調整され得る。較正カウンタ1810は、たとえば、比較器論理1808によって行われた決定に応じて、各較正サイクル後、インクリメントまたはデクリメントされ得る。比較器論理1808は、アップ/ダウン信号1820、イネーブルカウンタ信号1822、および較正サイクルクロック信号1824のうちの1つまたは複数を使用して、較正カウンタ1810を制御し得る。
【００８１】
クロック周波数は、カウンタ1804、1806を使用して測定され得る。カウンタ1804、1806は、たとえば、較正サイクルクロック信号1824によって決定され得る所定の時間期間にわたって、ref_clk信号1714およびcal_clk信号1814によってインクリメントされ得る。第1のカウンタ1804は、ref_clk信号1714に対応するクロックサイクルの数(ref_val)1816を取り込み得る。いくつかの事例では、第1のカウンタは、フルレートシンボル送信クロックの測定値であるref_val1816を取り込むために初期化の直後に動作させられてよく、いくつかの事例では、最初に取得されるこのref_val1816は、後続の較正サイクルのために使用されるように記録されてよく、または別のやり方で取り込まれてよい。第2のカウンタ1806は、較正サイクル中に発生するクロックサイクルの数(cal_val)1818をカウントする。較正サイクルは、所定の時間期間として構成されてよく、または調整可能な時間期間であってよい。較正サイクルごとに、遅延パラメータ1720が較正下のCDR1704に提供され、得られたcal_clk信号1814の周波数が、較正サイクル中に第2のカウンタ1806によって累積されたcal_val1818として測定され得る。cal_val1818が所望のファクタによるクロック周波数の除算である値を反映するとき、構成が完了しており、遅延パラメータ1720の最終値が、クロック復元回路を動作させるために使用され得る。
【００８２】
第2のCDR回路1704は、cal_clk信号1814にとっての所望の周波数まで遅延パラメータ1720をインクリメントまたはデクリメントすることによって較正され得る。周波数の変化は、cal_val1818の変化をもたらし得、比較器論理1808は、cal_val1818とref_val1816との間の既定の差分が取得されるまで較正を継続してよい。較正は、遅延パラメータ1720に対して小さい値とともに開始してよく、遅延パラメータ1720は、次いで、較正サイクルごとにインクリメントされてよい。較正は、遅延パラメータ1720に対して大きい値とともに開始してよく、遅延パラメータ1720は、次いで、較正サイクルごとにデクリメントされてよい。
【００８３】
いくつかの態様によれば、レシーバは、トレーニングシーケンスが正確に受信されるまでCDR回路の遅延要素を調整することによって、C-PHYインターフェースの公称シンボル送信周波数を決定し得る。トランスミッタは、リンク初期化中、データの個々のパケットを送信する前、レシーバにおけるエラーの検出の後、かつ/あるいはアプリケーションまたはシステムの制御下で、トレーニングシーケンスを送ってよい。レシーバは、C-PHYインターフェースのアクティビティを監視してよく、遷移を検出すると較正を実行してよい。いくつかの事例では、トレーニングシーケンスが適切に受信されない場合、レシーバは、CDR回路がすでに較正されていると決定してよく、較正を実行してよい。
【００８４】
図12に示す例では、CDR回路1200がトレーニングシーケンスを検出することを可能にする所定の値にプログラマブル遅延1214が初期化されると、較正が開始する。CDR回路1200は、本明細書で開示するいくつかの態様に従って適合されてよく、そのため、プログラマブル遅延1214は、トレーニングシーケンスの中でエラーが検出されるまでtloop持続時間1604を増大させるように調整されてよい。CDR回路1200は通常動作用に構成されてよく、プログラマブル遅延1214は、トレーニングシーケンスの中でエラーを検出させる値よりも小さい1つまたは複数の増分である値を有する。
【００８５】
図19は、本明細書で開示する1つまたは複数の機能を実行するように構成され得る処理回路1902を採用する装置のためのハードウェア実装形態の一例を示す概念図1900である。本開示の様々な態様によれば、本明細書で開示するような要素、または要素の任意の部分、または要素の任意の組合せは、処理回路1902を使用して実装され得る。処理回路1902は、ハードウェアモジュールとソフトウェアモジュールとのいくつかの組合せによって制御される1つまたは複数のプロセッサ1904を含み得る。プロセッサ1904の例は、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理デバイス(PLD)、ステートマシン、シーケンサ、ゲート論理、個別ハードウェア回路、および本開示全体にわたって説明する様々な機能を実行するように構成された他の適切なハードウェアを含む。1つまたは複数のプロセッサ1904は、特定の機能を実行するとともに、ソフトウェアモジュール1916のうちの1つによって構成、増強、または制御され得る専用プロセッサを含み得る。1つまたは複数のプロセッサ1904は、初期化中にロードされたソフトウェアモジュール1916の組合せを介して構成されてよく、動作中に1つまたは複数のソフトウェアモジュール1916をロードまたはアンロードすることによってさらに構成されてよい。
【００８６】
図示の例では、処理回路1902は、バス1910によって概略的に表されるバスアーキテクチャを用いて実装され得る。バス1910は、処理回路1902の特定の適用例および全体的な設計制約に応じて、任意の数の相互接続バスおよびブリッジを含み得る。バス1910は、1つまたは複数のプロセッサ1904およびストレージ1906を含む様々な回路を互いにリンクさせる。ストレージ1906は、メモリデバイスおよび大容量記憶デバイスを含んでよく、本明細書ではコンピュータ可読媒体および/またはプロセッサ可読媒体と呼ばれることがある。バス1910はまた、タイミングソース、タイマー、周辺装置、電圧調整器、および電力管理回路などの様々な他の回路をリンクさせ得る。バスインターフェース1908は、バス1910と1つまたは複数のトランシーバ1912との間のインターフェースを提供し得る。トランシーバ1912は、処理回路によってサポートされるネットワーキング技術ごとに設けられてよい。いくつかの事例では、複数のネットワーキング技術が、トランシーバ1912の中に見られる回路構成または処理モジュールの一部または全部を共有し得る。各トランシーバ1912は、伝送媒体を介して様々な他の装置と通信するための手段を提供する。装置の性質に応じて、ユーザインターフェース1918(たとえば、キーパッド、ディスプレイ、スピーカー、マイクロフォン、ジョイスティック)も設けられてよく、直接またはバスインターフェース1908を通じてバス1910に通信可能に結合されてよい。
【００８７】
プロセッサ1904は、バス1910を管理すること、およびストレージ1906を含み得るコンピュータ可読媒体に記憶されたソフトウェアの実行を含み得る一般的な処理を担当し得る。この点において、プロセッサ1904を含む処理回路1902は、本明細書で開示する方法、機能、および技法のいずれかを実施するために使用され得る。ストレージ1906は、ソフトウェアを実行するとき、プロセッサ1904によって操作されるデータを記憶するために使用され得、ソフトウェアは、本明細書で開示する方法のうちの任意の1つを実施するように構成され得る。
【００８８】
処理回路1902の中の1つまたは複数のプロセッサ1904は、ソフトウェアを実行し得る。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、または他の名称で呼ばれるかどうかにかかわらず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行ファイル、実行スレッド、プロシージャ、関数、アルゴリズムなどを意味するように広く解釈されなければならない。ソフトウェアは、コンピュータ可読形式でストレージ1906の中または外部コンピュータ可読媒体の中に存在してよい。外部コンピュータ可読媒体および/またはストレージ1906は、非一時的コンピュータ可読媒体を含み得る。非一時的コンピュータ可読媒体は、例として、磁気記憶デバイス(たとえば、ハードディスク、フロッピーディスク、磁気ストリップ)、光ディスク(たとえば、コンパクトディスク(CD)またはデジタル多用途ディスク(DVD))、スマートカード、フラッシュメモリデバイス(たとえば、「フラッシュドライブ」、カード、スティック、またはキードライブ)、ランダムアクセスメモリ(RAM)、ROM、PROM、消去可能PROM(EPROM)、EEPROM、レジスタ、リムーバブルディスク、ならびにコンピュータによってアクセスされ得るとともに読み取られ得るソフトウェアおよび/または命令を記憶するための任意の他の適切な媒体を含む。コンピュータ可読媒体および/またはストレージ1906はまた、例として、搬送波、伝送線路、ならびにコンピュータによってアクセスされ得るとともに読み取られ得るソフトウェアおよび/または命令を送信するための任意の他の適切な媒体を含み得る。コンピュータ可読媒体および/またはストレージ1906は、処理回路1902の中、プロセッサ1904の中、処理回路1902の外部に存在してよく、または処理回路1902を含む複数のエンティティにわたって分散されてもよい。コンピュータ可読媒体および/またはストレージ1906は、コンピュータプログラム製品に組み込まれてよい。例として、コンピュータプログラム製品は、パッケージング材料の中
にコンピュータ可読媒体を含めることがある。特定の適用例およびシステム全体に課される全体的な設計制約に応じて、本開示全体にわたって提示された説明した機能を実施するための最善の方法を、当業者は認識されよう。
【００８９】
ストレージ1906は、本明細書ではソフトウェアモジュール1916と呼ばれることがある、ロード可能なコードセグメント、モジュール、アプリケーション、プログラムなどで保持および/または編成されたソフトウェアを保持し得る。ソフトウェアモジュール1916の各々は、処理回路1902にインストールまたはロードされるとともに1つまたは複数のプロセッサ1904によって実行されたとき、1つまたは複数のプロセッサ1904の動作を制御するランタイムイメージ1914に寄与する命令およびデータを含み得る。実行されたとき、いくつかの命令は、処理回路1902に、本明細書で説明するいくつかの方法、アルゴリズム、およびプロセスに従って機能を実施させ得る。
【００９０】
ソフトウェアモジュール1916のうちのいくつかは、処理回路1902の初期化中にロードされてよく、これらのソフトウェアモジュール1916は、本明細書で開示する様々な機能の実行を可能にするように処理回路1902を構成してよい。たとえば、いくつかのソフトウェアモジュール1916は、プロセッサ1904の内部デバイスおよび/または論理回路1922を構成し得、トランシーバ1912、バスインターフェース1908、ユーザインターフェース1918、タイマー、数理コプロセッサなどの外部デバイスへのアクセスを管理し得る。ソフトウェアモジュール1916は、割込みハンドラおよびデバイスドライバと対話するとともに処理回路1902によって提供される様々なリソースへのアクセスを制御する、制御プログラムおよび/またはオペレーティングシステムを含み得る。リソースは、メモリ、処理時間、トランシーバ1912へのアクセス、ユーザインターフェース1918などを含み得る。
【００９１】
処理回路1902の1つまたは複数のプロセッサ1904は、多機能であってよく、それによって、ソフトウェアモジュール1916のうちのいくつかがロードされ、異なる機能または同じ機能の異なるインスタンスを実行するように構成される。1つまたは複数のプロセッサ1904は、追加として、たとえば、ユーザインターフェース1918、トランシーバ1912、およびデバイスドライバからの入力に応答して開始されるバックグラウンドタスクを管理するように適合され得る。複数の機能の実行をサポートするために、1つまたは複数のプロセッサ1904は、マルチタスク環境を提供するように構成されてよく、それによって、複数の機能の各々が、必要または要望に応じて、1つまたは複数のプロセッサ1904によってサービスされるタスクのセットとして実装される。一例では、マルチタスク環境は、異なるタスク間でプロセッサ1904の制御を渡す時分割プログラム1920を使用して実装されてよく、それによって、各タスクは、任意の未処理動作が完了すると、かつ/または割込みなどの入力に応答して、1つまたは複数のプロセッサ1904の制御を時分割プログラム1920に戻す。タスクが1つまたは複数のプロセッサ1904の制御を有するとき、処理回路は、事実上、制御タスクに関連する機能によって対処される目的に特化される。時分割プログラム1920は、オペレーティングシステム、ラウンドロビンベースで制御を引き渡すメインループ、機能の優先順位付けに従って1つもしくは複数のプロセッサ1904の制御を割り振る機能、および/または1つもしくは複数のプロセッサ1904の制御を処理機能に提供することによって外部イベントに応答する割込み駆動型メインループを含み得る。
【００９２】
図20は、C-PHY3相インターフェースに結合された装置の中のレシーバ回路によって実行され得るデータ通信の方法のフローチャート2000である。
【００９３】
ブロック2002において、レシーバ回路は、3ワイヤ3相インターフェース上で送信された各シンボルに対するパルスを含む第1のクロック信号を供給するように、クロック復元回路を構成し得る。シンボルは、第1の周波数において3ワイヤ3相インターフェース上で送信され得る。
【００９４】
ブロック2004において、レシーバ回路は、第1の周波数の半分以下である第2の周波数を有するように第1のクロックを修正するために、クロック復元回路のループ遅延を調整し得る。クロック復元回路は、整数個のシンボルのうちの最初のものに対して第1のクロック信号におけるパルスを生成し得、整数個のシンボルの中の他のシンボルに対してパルス生成を抑制し得る。ループ遅延は、3ワイヤ3相インターフェースのシグナリング状態の中で最初に検出された遷移に応答してパルスを生成するために使用されるパルス生成サイクルに対応し得る。3ワイヤ3相インターフェースのシグナリング状態の中での他の遷移の検出は、パルス生成サイクル中に抑制され得る。レシーバ回路は、クロック復元回路の中の1つまたは複数のプログラマブル遅延回路を構成することによってループ遅延を調整し得る。
【００９５】
ブロック2006において、レシーバ回路は、第2のクロック信号を供給するようにクロック生成回路を構成し得る。第2のクロック信号は、整数個のシンボルの中の他のシンボルの各々に対応するパルスを含み得る。
【００９６】
ブロック2008において、レシーバ回路は、第1のクロック信号および第2のクロック信号を使用して、3ワイヤ3相インターフェースからシンボルを取り込み得る。一例では、第1のクロック信号は、受信クロック信号を生成するために第2のクロック信号と組み合わせられ得る。受信クロックシンボルは、信号を取り込むレジスタをクロッキングするために使用され得る。
【００９７】
一例では、第1の周波数は、第2の周波数の2倍であってよく、第2のクロック信号は、第1のクロック信号におけるパルスごとに1つのパルスを含み得る。この例では、第2の周波数は、第1のクロック信号に対して180度位相シフトされる。別の例では、第2の周波数は、第1の周波数の1/3であり、第2のクロック信号は、第1のクロック信号におけるパルスごとに2つのパルスを含み得る。別の例では、第2の周波数は、第1の周波数の1/4であり、第2のクロック信号は、第1のクロック信号におけるパルスごとに3つのパルスを含み得る。第2の周波数を導出するために他の除数値が採用されてよい。
【００９８】
いくつかの事例では、クロック復元回路のループ遅延を調整することは、3ワイヤ3相インターフェースから受信されたシンボルのストリームから基準クロック信号を復元するように第1の回路を構成することと、複数の較正サイクルの各々の間に基準クロック信号および第1のクロック信号の周波数を比較することによって、第1のクロック信号の現在の周波数を決定することと、現在の周波数が第2の周波数よりも高いと決定されるときにループ遅延を増大させることと、現在の周波数が第2の周波数よりも低いと決定されるときにループ遅延を減少させることと、現在の周波数が第2の周波数に等しいと決定されるときに複数の較正サイクルを終了させることとを含む。基準クロック信号は、第1の周波数に対応する周波数を有し得る。
【００９９】
図21は、処理回路2102を採用する装置2100のためのハードウェア実装形態の一例を示す図である。処理回路は、通常、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、シーケンサ、およびステートマシンのうちの1つまたは複数を含み得るプロセッサ2116を有する。処理回路2102は、バス2120によって概略的に表されるバスアーキテクチャを用いて実装され得る。バス2120は、処理回路2102の特定の適用例および全体的な設計制約に応じて、任意の数の相互接続バスおよびブリッジを含み得る。バス2120は、プロセッサ2116によって表される1つまたは複数のプロセッサおよび/またはハードウェアモジュール、モジュールまたは回路2104、2106、2108、および2110、コネクタまたはワイヤ2114の異なるペア間の差分シグナリング状態を決定する差分レシーバ回路2112、ならびにコンピュータ可読記憶媒体2118を含む、様々な回路を互いにリンクさせる。バス2120はまた、タイミングソース、周辺装置、電圧調整器、および電力管理回路などの様々な他の回路をリンクさせてよく、そのことは当技術分野においてよく知られており、したがって、これ以上説明しない。
【０１００】
プロセッサ2116は、コンピュータ可読記憶媒体2118に記憶されたソフトウェアの実行を含む一般的な処理を担当する。ソフトウェアは、プロセッサ2116によって実行されたとき、任意の特定の装置について上記で説明した様々な機能を処理回路2102に実行させる。コンピュータ可読記憶媒体2118はまた、ソフトウェアを実行するとき、データレーンおよびクロックレーンとして構成され得るコネクタまたはワイヤ2114を介して送信されたシンボルから復号されるデータを含む、プロセッサ2116によって操作されるデータを記憶するために使用され得る。処理回路2102は、モジュール2104、2106、2108、および2110のうちの少なくとも1つをさらに含む。モジュール2104、2106、2108、および2110は、コンピュータ可読記憶媒体2118に存在する/記憶された、プロセッサ2116の中で動作するソフトウェアモジュール、プロセッサ2116に結合された1つもしくは複数のハードウェアモジュール、またはそれらのいくつかの組合せであってよい。モジュール2104、2106、2108、および/または2110は、マイクロコントローラ命令、ステートマシン構成パラメータ、またはそれらのいくつかの組合せを含み得る。
【０１０１】
一構成では、装置2100は、C-PHY3相インターフェースを介したデータ通信のために構成され得る。装置2100は、コネクタまたはワイヤ2114上で送信されるシンボルのシーケンスの中に埋め込まれたタイミング情報から第1のクロック信号を復元するように構成されるモジュールおよび/または回路2104、補間されたパルスを含む第2のクロック信号を第1のクロック信号から生成するためのモジュールおよび/または回路2106、第1および第2の信号を使用してコネクタまたはワイヤ2114からシンボルを取り込むモジュールおよび/または回路2108、ならびにクロック復元モジュールおよび/または回路2104とクロック生成モジュールおよび/または回路2106とを較正することができるモジュールおよび/または回路2110を含み得る。
【０１０２】
装置2100は、様々な動作モード用に構成され得る。一例では、クロック復元モジュールおよび/または回路2104は、第1の周波数において3ワイヤ3相インターフェース上で送信された各シンボルに対するパルスを含む第1のクロック信号を供給するように適合されてよく、較正モジュールおよび/または回路2110は、クロック復元回路のループ遅延を較正するように適合されてよく、クロック生成モジュールおよび/または回路2106は、第2のクロック信号を供給するように適合されてよく、シンボル取込みモジュールおよび/または回路2108は、第1のクロック信号および第2のクロック信号を使用して、3ワイヤ3相インターフェースからシンボルを取り込むように適合されてよい。1つの動作モードでは、較正モジュールおよび/または回路2110は、第1の周波数の半分以下である第2の周波数を有するように第1のクロック信号を修正する。第1の動作モードでは、クロック復元モジュールおよび/または回路2104は、整数個のシンボルのうちの最初のものに対して第1のクロック信号におけるパルスを生成し、整数個のシンボルの中の他のシンボルに対してパルス生成を抑制する。第2のクロック信号は、整数個のシンボルの中の他のシンボルの各々に対応するパルスを含み得る。
【０１０３】
いくつかの事例では、ループ遅延は、3ワイヤ3相インターフェースのシグナリング状態の中で最初に検出された遷移に応答してパルスを生成するために使用されるパルス生成サイクルに対応する。3ワイヤ3相インターフェースのシグナリング状態の中での他の遷移の検出は、パルス生成サイクル中に抑制され得る。較正モジュールおよび/または回路2110は、プログラマブル遅延回路をプログラムするように構成され得る。
【０１０４】
一例では、第1の周波数は、第2の周波数の2倍であり、第2のクロック信号は、第1のクロック信号におけるパルスごとに1つのパルスを含む。第2のクロック信号は、第1のクロック信号に対して180度位相シフトされ得る。別の例では、第2の周波数は、第1の周波数の1/3であり、第2のクロック信号は、第1のクロック信号におけるパルスごとに2つのパルスを含む。別の例では、第2の周波数は、第1の周波数の1/4であり、第2のクロック信号は、第1のクロック信号におけるパルスごとに3つのパルスを含む。
【０１０５】
いくつかの事例では、較正モジュールおよび/または回路2110は、3ワイヤ3相インターフェースから受信されたシンボルのストリームから基準クロック信号を第1の回路に復元させ、複数の較正サイクルの各々の間に基準クロック信号および第1のクロック信号の周波数を比較することによって、第1のクロック信号の現在の周波数を決定し、現在の周波数が第2の周波数よりも高いと決定されるときにループ遅延を増大させ、現在の周波数が第2の周波数よりも低いと決定されるときにループ遅延を減少させ、現在の周波数が第2の周波数に等しいと決定されるときに複数の較正サイクルを終了させるように適合される。基準クロック信号は、シンボルのストリームの送信のレートに対応する周波数を有し得る。
【０１０６】
開示するプロセスにおけるステップの特定の順序または階層が、例示的な手法の例示であることが理解される。設計選好に基づいて、プロセスにおけるステップの特定の順序または階層が並べ替えられてよいことが理解される。さらに、いくつかのステップは、組み合わせられてよく、または省略されてよい。添付の方法クレームは、様々なステップの要素を見本的な順序で提示し、提示された特定の順序または階層に限定されることは意図されない。
【０１０７】
前の説明は、本明細書で説明した様々な態様を任意の当業者が実践することを可能にするために提供される。これらの態様への様々な変更が当業者には容易に明らかになり、本明細書で定義した一般原理は他の態様に適用され得る。したがって、特許請求の範囲は、本明細書に示す態様に限定されることは意図されないが、クレーム文言と一致するすべての範囲を与えられるべきであり、単数形での要素への参照は、そのように明記されていない限り、「唯一無二の」ではなく、「1つまたは複数の」を意味することが意図される。別段に明記されていない限り、「いくつかの」という用語は、1つまたは複数を指す。当業者に知られているか、後で知られることになる、本開示全体にわたって説明した様々な態様の要素のすべての構造的および機能的均等物は、参照により本明細書に明確に組み込まれ、特許請求の範囲によって包含されるものとする。その上、本明細書で開示するものは、そのような開示が特許請求の範囲において明示的に列挙されているかどうかにかかわらず、公に供されるものではない。クレーム要素は、要素が「ための手段」という句を使用して明確に列挙されていない限り、ミーンズプラスファンクションとして解釈されるべきではない。
【符号の説明】
【０１０８】
100  装置
102  処理回路
106  通信トランシーバ
108  特定用途向けIC
110  アプリケーションプログラミングインターフェース
112  メモリデバイス
114  ローカルデータベース
122  アンテナ
124  ディスプレイ
126  キーパッド
128  ボタン
200  装置
202  ICデバイス
204  ワイヤレストランシーバ
206  プロセッサ
208  記憶媒体
210  物理レイヤドライバ
212  内部バス
214  アンテナ
220  通信リンク
222、224、226  チャネル
230  ICデバイス
232  ディスプレイコントローラ
234  カメラコントローラ
236  プロセッサ
238  記憶媒体
240  物理レイヤドライバ
242  内部バス
300  概略図
302  マッパ
304  並直列変換器
306  3ワイヤエンコーダ、3ワイヤ3相エンコーダ
308  ラインドライバ
310a、310b、310c  信号ワイヤ
312  7つのシンボル
314  シンボル
316a、316b、316c  信号
400  タイミングチャート
402、404、406  曲線
408  極性
410  位相遷移
412  2ビット値
450  円形状態図
452、452'  時計回り方向
454、454'  反時計回り方向
500  状態図
502、504、506、512、514、516  状態
520  状態要素
522、524、526  フィールド
600  3ワイヤ3相デコーダ
602  差動レシーバ
604  ワイヤ状態デコーダ
606  直並列変換器
608  デマッパ
610  先入れ先出しレジスタ
614  シンボル
624  クロックデータ復元回路
626  クロック
700  タイミング図
702  第1のシンボルSymn
704  第2のシンボルSymn+1
706  第3のシンボルSymn+2
708  第4のシンボルSymn+3
712、714、716  遅延
718、720  しきい値電圧
722、724、726  時間
800  ブロック概略図
802a、802b、802c  差動レシーバ
804  遷移検出回路構成
806  クロック生成回路
808  受信クロック信号
810  差分信号
830、830a、830b、830c、830d、830e、830f、830g  取込みウィンドウ
822、824、826  マーカー
850  タイミングチャート
900、902、904、906、920、922、932、938  タイミングチャート
924、928  +1差分
926、930  -2差分
934、940  +2差分
936、942  -1差分
1000  アイパターン
1002  シンボル区間
1004  信号遷移領域
1006  アイマスク
1100  アイパターン
1102  シンボル区間
1104  信号遷移領域
1106  アイ開口
1108  シンボル区間境界
1112  末尾
1116  時間
1120、1122、1124、1126、1128  電圧レベル
1130  トリガ
1200  CDR回路
1202、1204、1206  差分信号
1208a、1208b、1208c  インバータ
1210a、1210b、1210c  Dフリップフロップのペア
1212  ORゲート
1214  プログラマブル遅延要素
1216  インバータ
1218  遅延または整合論理
1220  フリップフロップ
1222  RxCLK信号
1224  出力シンボル
1226  Set信号
1228  リセット信号(rb)
1230a〜1230f  出力信号
1302  単位区間(UI)
1304  スキュー時間(tskew)
1310  プログラマブル遅延(tpgm)
1312  リセット遅延(trst)
1314  伝搬遅延(tck2q)
1316  伝搬遅延(tOR_0)
1318  伝搬遅延(tOR_1)
1400  タイミング図
1402  UI
1404  tskew
1406  tloop
1408、1410  クロックパルス
1412  遷移
1414  第2の遷移
1500  タイミング図
1502  UI
1506  tloop
1508  クロックパルス
1510  予想パルス
1512  2番目のUI
1514、1516、1518  遷移
1600  タイミング図
1602  RxCLK信号
1604  RxCLK_MID信号
1606  AB_delay信号
1608  CA_delay信号
1610  Capture_even信号
1612  Capture_odd信号
1618  最初のUI
1620  2番目のUI
1622、1626、1628、1632  偶数の発生シンボル
1624、1630  奇数の発生シンボル
1634、1636、1638  シンボル
1640、1642  パルス
1700  回路
1702  第1のCDR回路
1704  第2のCDR回路
1706  DLL回路
1708  CDR較正論理
1712  入力
1714  第1のクロック(ref_clk)信号
1716  第2のクロック信号(rclk)
1720  遅延パラメータ
1800  CDR較正回路
1802  調整論理
1804  カウンタ
1806  カウンタ
1808  比較器論理
1810  較正カウンタ
1812  信号
1814  較正クロック(cal_clk)信号
1816  クロックサイクルの数(ref_val)
1820  アップ/ダウン信号
1822  イネーブルカウンタ信号
1824  較正サイクルクロック信号
1900  概念図
1902  処理回路
1904  プロセッサ
1906  ストレージ
1908  バスインターフェース
1910  バス
1912  トランシーバ
1914  ランタイムイメージ
1916  ソフトウェアモジュール
1918  ユーザインターフェース
1920  時分割プログラム
2000  フローチャート
2100  装置
2102  処理回路
2104  クロック復元モジュールおよび/または回路
2106  クロック生成モジュールおよび/または回路
2108  シンボル取込みモジュールおよび/または回路
2110  較正モジュールおよび/または回路
2112  差分レシーバ回路
2114  コネクタまたはワイヤ
2116  プロセッサ
2118  コンピュータ可読記憶媒体
2120  バス
【図１】
2018526912.tif 000010
【図２】
2018526912.tif 000011
【図３】
2018526912.tif 000012
【図４】
2018526912.tif 000013
【図５】
2018526912.tif 000014
【図６】
2018526912.tif 000015
【図７】
2018526912.tif 000016
【図８】
2018526912.tif 000017
【図９】
2018526912.tif 000018
【図１０】
2018526912.tif 000019
【図１１】
2018526912.tif 000020
【図１２】
2018526912.tif 000021
【図１３】
2018526912.tif 000022
【図１４】
2018526912.tif 000023
【図１５】
2018526912.tif 000024
【図１６】
2018526912.tif 000025
【図１７】
2018526912.tif 000026
【図１８】
2018526912.tif 000027
【図１９】
2018526912.tif 000028
【図２０】
2018526912.tif 000029
【図２１】
2018526912.tif 000030
【国際調査報告】
2018526912.tif 000031
2018526912.tif 000032