(57)【特許請求の範囲】
【請求項１】
クロック信号を生成するための方法であって、
マルチワイヤ通信インターフェースから1つまたは複数の信号を受信するステップであって、一連のシンボルが前記1つまたは複数の信号に符号化される、ステップと、
前記1つまたは複数の信号における第1の遷移を判別するステップであって、前記第1の遷移は立上りエッジを含む、ステップと、
前記第1の遷移に応じて、第1の遅延回路を使用して第1のクロックパルスを遅延させることによって提供される事前設定されている第1の間隔の後に、前記クロック信号の第1のクロックパルスを生成するステップと、
前記1つまたは複数の信号における第2の遷移を判別するステップであって、前記第2の遷移は立下りエッジを含む、ステップと、
前記第2の遷移に応じて、第2の遅延回路を使用して第2のクロックパルスを遅延させることによって提供される事前設定されている第2の間隔の後に、前記クロック信号の第2のクロックパルスを生成するステップとを含み、前記事前設定されている第1の間隔と前記事前設定されている第2の間隔とは異なる期間である、方法。
【請求項２】
前記第1の遷移のときに、少なくとも1つの追加のクロックパルスが生成され、かつ前記第1のクロックパルスの前記遅延が完了していない場合には、前記事前設定されている第1の間隔だけ前記第1のクロックパルスを遅延させるステップを再開し、
前記第2の遷移のときに、少なくとも1つの追加のクロックパルスが生成され、かつ前記第2のクロックパルスの前記遅延が完了していない場合には、前記事前設定されている第2の間隔だけ前記第2のクロックパルスを遅延させるステップを再開する、請求項1に記載の方法。
【請求項３】
前記事前設定されている第1および/または第2の間隔は、前記マルチワイヤ通信インターフェース上でシンボルが送信されるときに前記第1および/または第2のクロックパルスを生じさせ、それによって前記シンボルが確実にサンプリングされる、請求項1または2に記載の方法。
【請求項４】
前記事前設定されている第1および/または第2の間隔は、前記マルチワイヤ通信インターフェースに関連する立上り時間および立下り時間に基づいて設定され、前記立上り時間は、オープンドレイントランジスタに関連する立上り時間に相当する、請求項1または2に記載の方法。
【請求項５】
前記事前設定されている第2の間隔は、前記立上り時間に起因する前記第1の遷移を検出する際の遅延に一致するように選択される、請求項4に記載の方法。
【請求項６】
前記事前設定されている第1の間隔は、前記立下り時間に起因する前記第2の遷移を検出する際の遅延に一致するように選択される、請求項5に記載の方法。
【請求項７】
前記第1のクロックパルスを、前記第1の遷移に応じて生成される前記少なくとも1つの追加のクロックパルスと統合するステップをさらに含む、請求項2に記載の方法。
【請求項８】
前記事前設定されている第1および/または第2の間隔を較正するステップをさらに含む、請求項1または2に記載の方法。
【請求項９】
前記事前設定されている第1および/または第2の間隔を較正するステップは、
互いに異なる方向である第1および第2の較正遷移を行うステップと、
前記第1および第2の較正遷移のために生成されたクロックパルスに関連するそれぞれの遅延を測定するステップと、
前記事前設定されている第1および/または第2の間隔を前記それぞれの遅延の差を最小限に抑えるように修正するステップとを含む、請求項8に記載の方法。
【請求項１０】
前記事前設定されている第1の間隔を修正するステップは、前記第1の較正遷移の後に生成されたクロックパルスに関連する測定された遅延に基づいて前記第1の遅延回路のプログラムされた遅延を調整するステップを含み、
前記事前設定されている第2の間隔を修正するステップは、前記第2の較正遷移の後に生成されたクロックパルスに関連する測定された遅延に基づいて前記第2の遅延回路のプログラムされた遅延を調整するステップを含む、請求項9に記載の方法。
【請求項１１】
前記それぞれの遅延は、いずれかの較正遷移のために生成された前記クロックパルスに関連する所望の遅延を反映するタイマを使用して測定される、請求項9に記載の方法。
【請求項１２】
クロック信号を生成するための装置であって、
マルチワイヤ通信インターフェースから1つまたは複数の信号を受信するための手段であって、一連のシンボルが前記1つまたは複数の信号に符号化される、手段と、
前記1つまたは複数の信号における第1の遷移を判別するための手段であって、前記第1の遷移は立上りエッジを含む、手段と、
前記第1の遷移に応じて、事前設定されている第1の間隔の後に、前記クロック信号の第1のクロックパルスを生成するための手段と、
前記事前設定されている第1の間隔だけ前記第1のクロックパルスを遅延させるための手段と、
前記1つまたは複数の信号における第2の遷移を判別するための手段であって、前記第2の遷移は立下りエッジを含む、手段と、
前記第2の遷移に応じて、事前設定されている第2の間隔の後に、前記クロック信号の第2のクロックパルスを生成するための手段と、
前記事前設定されている第2の間隔だけ前記第2のクロックパルスを遅延させるための手段とを備え、前記事前設定されている第1の間隔と前記事前設定されている第2の間隔とは異なる期間である、装置。
【請求項１３】
前記判別するための手段、前記生成するための手段、および前記遅延させるための手段は、処理システムを備える、請求項12に記載の装置。
【請求項１４】
1つまたは複数の命令を有するプロセッサ可読記憶媒体であって、前記1つまたは複数の命令が、少なくとも1つの処理回路によって実行されたときに、前記少なくとも1つの処理回路に、請求項1から11のいずれか一項に記載の方法を行わせる、プロセッサ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
米国特許法第119条に基づく優先権の主張
本特許出願は、本出願の譲受人にすべて譲渡され、参照により明白に本明細書に組み込まれる、2013年3月20日に出願された「Multi-Wire Open-Drain Link With Data Symbol Transition Based Clocking」という名称の米国仮出願第61/803684号、および2013年7月16日に出願された「Multi-Wire Open-Drain Link With Data Symbol Transition Based Clocking」という名称の米国仮出願第61/846977号、および2014年3月19日に出願された「Multi-Wire Open-Drain Link With Data Symbol Transition Based Clocking」という名称の米国実用新案出願第14/220056号の優先権を主張する。
【０００２】
本開示は概してデータ通信に関し、より詳細には、マルチワイヤオープンドレインリンクを介したシンボル遷移からのクロック回復に関する。
【背景技術】
【０００３】
I2Cなどの大部分のシングルエンドソース動機オープンドレイン通信インターフェースは、専用クロックまたはストローブ信号線を使用してサイクルタイミング情報を送信機から受信機に送る。これらの信号伝達システムには、クロック情報に専用の1つの余分な信号が必要であることを含む特定の欠点が伴う。クロックハイサイクルおよびクロックローサイクルからなる全クロック周期ごとに1つのデータシンボルが送られるようにシングルレート信号伝達が使用されると最大データレートが制限されることが多く、それによって、最大データレートは、データ線の最大許容周波数ではなくシステムクロックの最大許容周波数によって制限されることが多い。最大データレートは、信号伝達を最適化するように制御するのが難しいことがあるクロックとデータとの間のスキューによって制限されることも多い。
【０００４】
場合によっては、専用クロック線を回避するために、送信されるデータシンボル内のシンボル間遷移を保証することによってクロックを埋め込んでもよい。したがって、受信側デバイスは、シンボル間遷移を検出することによってクロック情報を抽出してよい。しかし、送信される信号の立上り時間および立下り時間によって、受信機の論理による遷移を確実にまたは着実に検出することが妨げられることがある。
【０００５】
相補型金属酸化物半導体(CMOS)プッシュプルドライバとは異なり、オープンドレイン型ドライバでは、信号立上り時間が信号立下り時間よりも著しく長い。オープンドレイン型ドライバの場合の立上り時間と立下り時間のこのような差によって、いくつかの遷移がなくなることがあるので送信されるデータシンボルからのクロック回復に対する問題が生じる。
【０００６】
したがって、データ伝送速度を低下させずに送信されるデータシンボルからクロックを抽出するのを可能にする解決手段が必要である。
【発明の概要】
【課題を解決するための手段】
【０００７】
本明細書で開示する実施形態は、電子装置において共同設置され1つまたは複数のデータリンクを通じて通信可能に接続され得る2つのデバイス間の通信のためのシステム、方法、および装置を提供する。
【０００８】
一特徴によれば、クロック信号を生成するための方法は、通信インターフェースから受信した信号における遷移を判別することと、遷移に応答してクロックパルスを生成することと、遷移が第1の方向である場合にはクロックパルスを事前設定されている第1の間隔だけ遅延させることと、遷移が第2の方向である場合にはクロックパルスを事前設定されている第2の間隔だけ遅延させることとを含む。たとえば、遷移が立上り遷移(ローからハイへ)である場合、クロックパルスを第1の間隔だけ遅延させてよい。遷移が立下り遷移(ハイからローへ)である場合、クロックパルスを第1の間隔に第2の間隔を加えた時間(または代替として、第2の間隔が単に第1の間隔よりも長くてよい)だけ遅延させてよい。クロックパルスの遅延は、異なるクロックパルスが受信され、かつクロックパルスの遅延が完了していない場合には再開してよい。事前設定されている第1および/または第2の間隔は、通信インターフェースに関連する立上り時間および/または立下り時間に基づいて設定されてよい。立上り時間は、オープンドレイントランジスタに関連する立上り時間に相当してよい。事前設定されている第1および/または第2の間隔は、通信インターフェース上でシンボルが送信されるときにクロックパルスを生じさせ、それによってシンボルが確実にサンプリングされるように選択されてよい。一例では、第2の遷移の立下り時間に第1および第2の間隔(第1および第2の遅延)を加えた時間としては、第1の遷移の立上り時間に事前設定されている第1の間隔(たとえば、第1の遅延)を加えた時間に実質的に等しい時間が選択されてよい。たとえば、第2の間隔は、立上り時間に起因する遷移を検出する際の遅延(立上り時間と立下り時間との間の差)に一致するように選択されてよい。事前設定されている第1の間隔は、立下り時間に起因する遷移を検出する際の遅延に一致するように選択されてよい。クロックパルスは、遷移に応答して生成された少なくとも1つの追加のクロックパルスと合計されてよい。
【０００９】
事前設定されている第1および/または第2の間隔は較正されてよい。たとえば、互いに異なる方向である第1および第2の較正遷移を行い、第1および第2の較正遷移のために生成されたクロックパルスに関連するそれぞれの遅延を測定し、事前設定されている第1および/または第2の間隔をそれぞれの遅延の差を最小限に抑えるように修正することによって、事前設定されている第1および/または第2の間隔を較正してよい。たとえば、事前設定されている第1の間隔は、第1の較正遷移の後に生成されたクロックパルスに関連する測定された遅延に基づいて第1の遅延回路のプログラムされた遅延を調整することによって修正または設定されてよい。事前設定されている第2の間隔は、第2の較正遷移の後に生成されたクロックパルスに関連する測定された遅延に基づいて第2の遅延回路のプログラムされた遅延を調整することによって修正または設定されてよい。それぞれの遅延は、いずれかの較正遷移のために生成されたクロックパルスに関連する所望の遅延を反映するタイマを使用して測定されてよい。
【図面の簡単な説明】
【００１０】
【図１】シングルエンド信号伝達システムを示す図である。
【図２】オープンドレインドライバを有し、かつシンボル遷移にクロックが組み込まれた送信側デバイスのブロック図である。
【図３】CMOS受信機を有しかつクロック回復機能が組み込まれた受信側デバイスのブロック図である。
【図４】送信機においてビットがシンボル遷移番号に変換され、次いで受信機においてシンボル遷移番号がビットに変換されることを示す図である。
【図５】連続シンボルとシンボル遷移番号との間の変換を示す図である。
【図６】オープンドレイントランジスタに関連する信号のタイミングを示す図である。
【図７】CDR回路において使用されるクロック回復回路の一例および対応するタイミング図を示す図である。
【図８】図7に示すクロック回復回路に関して説明するオープンドレイントランジスタに関連するタイミングを示す図である。
【図９】シンボル遷移ベースのクロック同期を行うマルチワイヤオープンドレインリンクの受信機に関連するタイミング問題を示す図である。
【図１０】図1のデータリンクの動作の周波数を低下させることによって図9の立上り時間遅延に対処することができるタイミング図である。
【図１１】特定の態様に従って複数のCDR回路を使用して確実なタイミングを生成することを示す図である。
【図１２】シンボル遷移ベースのクロック同期を行うマルチワイヤオープンドレインリンクの受信機とともに使用される構成されたクロックデータおよび回復回路の動作を示すタイミング図である。
【図１３】CDR回路内の遅延要素のうちの1つまたは複数を実現するのに使用されてよいプログラム可能な遅延回路の例を示す簡略ブロック図である。
【図１４】図11の受信クロック合計およびサンプリング回路を対応するタイミング図とともに示す図である。
【図１５】図11の遅延回路のうちの1つまたは複数の較正に使用されるCDR回路および関連する回路のタイミングを較正するための方法を示す図である。
【図１６】図15の方法を使用して遅延回路のうちの1つまたは複数の較正を実行するのに使用される論理回路を示す図である。
【図１７】図11の遅延回路を較正するための較正回路の実装形態を示すタイミング図である。
【図１８】クロック抽出回路を使用する装置のハードウェア実装形態の一例を示す図である。
【図１９】シンボル遷移からクロック信号を確実に生成するための方法を示す図である。
【発明を実施するための形態】
【００１１】
次に、図面を参照しながら様々な態様について説明する。以下の説明では、説明の目的で、1つまたは複数の態様の完全な理解を与えるために多数の具体的な詳細を記載する。しかしながら、そのような態様がこれらの具体的な詳細なしに実践できることは明白であり得る。
【００１２】
概要
受信したシンボル遷移からクロック信号を生成するための方法およびデバイスが提供される。マルチワイヤオープンドレインリンクを介して信号が受信される。受信信号内の遷移は、信号内のシンボルの負から正への(すなわち、ローからハイへの)遷移および正から負への(すなわち、ハイからローへの)遷移から判別される。遷移に応じてクロックパルスが生成される。クロックパルスは、遷移が第1の方向である場合には(たとえば、立上り遷移)事前設定されている第1の間隔(たとえば、第1の遅延)だけ選択的に遅延される。クロックパルスは、遷移が第2の方向である場合には(たとえば、立下り遷移)事前設定されている第2の間隔(第2の遅延)だけさらに選択的に遅延されてよい。たとえば、第1の方向は、ローからハイであってよく、第2の方向はハイからローであってよい。事前設定されている第2の間隔は、通信インターフェースに関連する立上り時間および/または立下り時間に基づいて設定されてよく、第1および第2の較正遷移のために生成されたクロックパルスに関連するそれぞれの遅延を測定することによって較正されてよい。
【００１３】
例示的な動作環境
図1は、シングルエンド信号伝達システムを示す。シングルエンド信号伝達では、一方のワイヤが信号を表す可変電圧を伝送し、他方のワイヤは基準電圧(たとえば、グラウンド)に接続されてよい。送信側デバイス102は、各々が単一のワイヤ/導体106a、106b、106c、および/または106dに接続された複数のシングルエンドオープンドレイン(トランジスタ)ドライバ108を含んでよい。受信側デバイス104は、各々が単一のワイヤ/導体106a、106b、106c、および/または106dに接続された1つまたは複数のシングルエンドCMOS(トランジスタ)受信機110を含んでよい。送信側デバイス102は、入力ビット118を受信し、ビットを(エンコーダ122において)シングルエンド信号に符号化し、ビットをシングルエンドドライバ108を通じ各ワイヤ/導体106a、106b、106c、および/または106dを通じてシングルエンド信号として受信機104に送信する。受信側デバイス104は、各ワイヤ/導体106a、106b、106c、および/または106dを介しシングルエンド受信機110を通じてシングルエンド信号を受信し、シングルエンド信号を(デコーダ124において)復号し、出力ビット120を生成する。このシングルエンドシステムでは、デコーダ124は、1つまたは複数の受信したシングルエンド信号からクロック信号が抽出されるようにクロックおよびデータ回復(CDR)機能を含んでよい。
【００１４】
図2は、オープンドレインドライバを有し、かつシンボル遷移にクロックが組み込まれた送信側デバイス200のブロック図である。送信側デバイス200は、ビット-シンボル遷移番号変換器202と、シンボル遷移番号変換器-連続シンボル番号変換器204と、クロック同期レジスタ206および208とを含むエンコーダ203を含んでよい。入力データを、ビット-シンボル遷移番号変換器202によって2進数またはバイナリストリーム(ビット)からm個のシンボル遷移番号(mxT)に変換してよい。シンボル遷移番号-連続シンボル番号変換器204は、シンボル遷移番号(T)を連続シンボル番号(Cs)に変換してよい。連続シンボル番号(Cs)は、複数のラインドライバ212を制御する1組のバッファ210に出力レジスタ206を通じてクロック同期されてよい。一例では、ラインドライバ212は、抵抗216によってプルアップされるオープンドレイントランジスタを使用して実装されてよい。遅延レジスタ208は、前回の連続シンボル番号(Ps)を保持する働きをする。シンボル遷移番号-連続シンボル番号変換器204は、現在のシンボル遷移番号Tおよび前回の連続シンボル番号(Ps)を使用して次の現在の連続番号(Cs)を選択する。
【００１５】
図3は、CMOS受信機を有しかつクロック回復機能が組み込まれた受信側デバイス350のブロック図である。受信側デバイス350は、n本のワイヤ364から信号を受信する相補型金属酸化物半導体(CMOS)受信バッファ362を含んでよい。
【００１６】
受信側デバイス350は、クロック同期保持レジスタ354と、連続シンボル番号-シンボル遷移番号変換器356と、シンボル遷移番号-ビット変換器358とを備えるデコーダ303を含んでよい。受信信号は、ワイヤ364を介して受信される入力シンボル(SI)の遷移から受信クロック(RXCLK)を回復するクロックおよびデータ回復(CDR)回路352に供給されてよい。連続シンボル番号-シンボル遷移番号変換器356は、(保持レジスタに保持された)前回のシンボルPsに基づいて現在のシンボルCsを変換してシンボル遷移番号Tを生成する。保持レジスタ354は、CDR回路352によって生成される受信クロック(RXCLK)によってクロック同期される。シンボル遷移番号-ビット変換器358は、受信クロック(RXCLK)によってトリガされ、次いでm個のシンボル遷移番号(mxT)を2進数に変換する。較正回路366は、CDR回路352およびCMOS受信バッファ362用の遅延較正制御信号を生成するように働いてよい。
【００１７】
ビットとシンボル遷移番号との間の例示的な変換
図4は、送信機402においてビットがシンボル遷移番号に変換され、次いで受信機404においてシンボル遷移番号がビットに変換されることを示す。送信機402は、バイナリ情報、ビットを「ビット-mxT」変換器406に送りm個のシンボル遷移番号T0〜Tm-1を生成する。受信機404はm個のシンボル遷移番号T0〜Tm-1を受信し、シンボル遷移番号は「mxT-ビット」変換器408に送られてバイナリ情報、すなわちビットが取り出される。T0〜Tm-1の1つのT当たりにr個の考えられるシンボル遷移状態がある場合、m個の遷移がrm個の異なる状態を送り得る。
【００１８】
一例では、1つのT当たりの考えられるシンボル遷移rを10であると仮定してよい。さらに、グループ内のシンボルの数mが3であり、それによって、シンボル遷移番号がT2、T1、T0になり、ただし、Ti:0、1、2、、、9であると仮定する。したがって、各Tは10個の異なる状態を有し得る。したがって、T2、T1、T0のシンボル遷移番号はたとえば、T2=3、T1=9、T0=1(または10進数391)などの3桁の番号であり得る。このようにして、一連のビットが複数のシンボル遷移番号Tに変換されてよく、その逆も同様である。
【００１９】
連続シンボルとシンボル遷移番号との間の例示的な変換
図5は、連続シンボルとシンボル遷移番号との間の変換を示す。この変換は、前回の連続シンボル番号(Ps)から現在の連続シンボル(Cs)への各遷移を遷移番号(T)にマップする。送信側デバイスにおいて、遷移番号は連続シンボルに変換される。相対的な変換方式が使用されるので、遷移番号では、2つの連続する連続シンボル504が同じにならないことが保証される。
【００２０】
2ワイヤシステムの一例では、4つの連続シンボルS0、S1、S2、およびS3に割り当てられた4つの生シンボルがある。4つの連続シンボルの場合、テーブル502は、どのように前回の連続シンボル(Ps)に基づいて現在の連続シンボル(Cs)を割り当て、現在の遷移番号(T)に基づいて一時遷移番号Ttmpを割り当てればよいかを示す。
【００２１】
この例では、遷移番号Csは次式に従って割り当てられてよい。
Cs=Ps+Ttmp
上式で、Ttmp=T=0?3:Tである。言い換えれば、Tがゼロに等しい場合、Ttmpは3になり、Tがゼロに等しくない場合、TtmpはTに等しくなる。Ttmpが算出された後、CsはPsとTtmpの和に設定される。さらに、受信側では、論理が逆転されてTが回復され、
Ttmp=Cs+4-PsおよびT=Ttmp==3?0:Ttmpである。
【００２２】
例示的なオープンドレイントランジスタタイミング
前記のように、図2の送信側デバイス200および図3の受信側デバイス350は、そのドライバおよび受信機にオープンドレイントランジスタを使用する。
【００２３】
図6は、オープンドレイントランジスタに関連する信号の例示的なタイミングを示す。一例では、集積回路間通信(I2C)におけるシリアルクロック(SCL)ドライバ608がオープンドレイントランジスタを備えてよい。送信時には、マスタデバイス602がオープンドレイントランジスタ608を高インピーダンスとグランド(または電圧レール)との間で切り替えてよい。オープンドレイントランジスタ608が高インピーダンス状態であるときに出力を所望の電圧レベルにプルするように抵抗606が設けられてよい。論理0および論理1に対応する伝送線路上の信号の電圧間の変化率は、トランジスタ608が高インピーダンス状態であるときには抵抗606および回線キャパシタンス610に関連するRC定数によって支配される。この例では、オープンドレイントランジスタ608の立上り時間tr632がその立下り時間tf630よりも著しく長いことが諒解され得る。特性タイミング図620は、ローからハイへの遷移624(たとえば、立上りエッジ)が論理1電圧から論理0電圧へのハイからローへの遷移622(たとえば、立下りエッジ)よりも著しく緩やかである(たとえば、より時間がかかる)ことを示す。ハイからローへの遷移622(立下り時間)とローからハイへの遷移624(立上り時間)との差の結果として、検出論理によって、ハイからローへの遷移を確認するための時間よりも著しく長い時間628においてローからハイへの遷移624を確認することができる。すなわち、ローからハイへの遷移626の開始時間からハイ状態が確認される時間628までの時間遅延は、ハイからローへの遷移622においてロー状態を確認するための時間遅延よりも著しく大きいかまたは長い。このことは、転送率を低下させる傾向を有する。
【００２４】
図7は、CDR回路において使用されるクロック回復回路700の一例および対応するタイミング図750を示す。クロック回復回路700は、1つまたは複数の信号703から受信クロック(RXCLK)712を抽出してよい。クロック回復回路700は、入力線703の状態によって表されるシンボルの遷移を検出してよく、現在の受信シンボルのサンプリングを可能にするように遷移に対して整合されたパルスを生成する。
【００２５】
クロック回復回路700は、比較器702を使用してシンボルを検出し、比較器702は、現在のシンボル(Cs)を保持レジスタ714によって保持されている前回のシンボル(Ps)と比較し、差が検出されたかどうかを示す出力(NE)を生成する。NE信号は、シンボルがシンボルの登録されたコピーと等しくないときに生成される。比較器702の出力は、セットリセットレジスタ704を遷移を記録するようにセットする。セットリセットレジスタ704の出力は、ゲート706で、出力自体の反転され遅延されたバージョンによってゲート制御され、ワンショットパルス(NE1SHOT)を生成する。NE1SHOTパルスの幅(P)はフリップフロップベースの回路708(プログラム可能または設定可能な遅延として働いてよい)によって決定される。NE1SHOTパルスは、第1の遅延回路S710によって決定された時間だけさらに遅延され、その結果、現在のシンボルの確実なサンプリングを可能にするクロックIRXCLK 720が生成される。クロックIRXCLK 720は、シンボルをクロック同期させて保持レジスタ714に入れ、遷移の発生を記録するセットリセットレジスタ704をクリアするために使用されてよい。第2のフリップフロップ回路713は、IRXCLK 720を保持する(遅延させる)働きをし、受信シンボルをサンプリングする働きをしてよい第2のクロックRXCLK 712を生成してよい。
【００２６】
クロック回復回路700は、シンボル間隔ごとに少なくとも1回の遷移が生じると仮定する。しかし、1つのシンボル間隔における遷移は正の遷移のみまたは負の遷移のみを含み得る。このため、ワイヤ703上でオープンドレイントランジスタドライバが使用されるときに何らかの非対称的なタイミングが生じることがある。
【００２７】
より詳細な例では、クロック回復回路700は、比較器702と、セットリセットレジスタ704と、第1のアナログまたはデジタル遅延デバイス708(たとえば、フリップフロップベースの回路)と、ワンショット論理706と、第2のアナログまたはデジタル遅延デバイス710と、レジスタ714とを含む。比較器702は、第1の遷移信号(SI)の第1のインスタンスと第1の状態遷移信号(S)のレベルラッチインスタンスを比較し、比較信号(NE)を出力する。セットリセットレジスタ704は、比較器702から比較信号(NE)を受信してよく、比較信号のフィルタ処理済みバージョン(NEFLT)を出力する。第1の遅延デバイス708(たとえば、フリップフロップベースの回路)は、比較信号のフィルタ処理済みバージョン(NEFLT)を受信してよく、比較信号のフィルタ処理済みバージョンの遅延インスタンス(NEDEL)を出力する。ワンショット論理706は、フィルタ処理済み比較信号(NEFLT)および比較信号のフィルタ処理済みバージョンの遅延インスタンス(NEDEL)を受信してよく、比較信号の第2のフィルタ処理済みバージョン(NE1SHOT)を出力する。第2の遅延デバイス710は、比較信号の第2のフィルタ処理済みバージョン(NE1SHOT)を受信してよく、第1の状態遷移信号の遅延インスタンス(RXCLK)720を出力する。セットリセットレジスタ704は、第1の状態遷移信号の遅延インスタンス(IRXCLK)720に基づいてリセットされてよい。レジスタ714は、第1の状態遷移信号(SI)を受信してよく、第1の状態遷移信号の登録インスタンス(S)を出力し、この場合、レジスタ714は、第1の状態遷移信号の遅延インスタンス(IRXCLK)に基づいてトリガされる。
【００２８】
タイミング図750から諒解されるように、(たとえば、フリップフロップ回路によって)小さい遅延P708が導入された場合、シンボル間のセットアップ時間により多くのマージンが与えられる。
【００２９】
タイミング図750の信号には以下の定義が使用される。
tSYM:1シンボルサイクル周期
tSU:IRXCLK 720の立上り(先行)エッジを基準とするレジスタ714のSIの準備時間
tHD:IRXCLK 720の立下り(後端)エッジを基準とするレジスタ714のSIの保持時間
tdNE:比較器702の伝搬遅延
tdRST:IRXCLK 720の立上り(先行)エッジからのセットリセットレジスタ704のリセット時間
td1S:ワンショット論理706の伝搬遅延
【００３０】
最初、信号SIおよびSは前回のシンボル値Sym0 752を保持する。信号NE、NEFLT、およびIRXCLKはゼロである。新しいシンボル値Sym1 756は、受信されると、信号SIにその値の変更を開始させる。SI値は、たとえば、ワイヤ間スキュー、オーバーシュート/アンダーシュート、クロストークなどによって生じることのある信号遷移(Sym0からSym1)の中間状態または不確定状態754を受信する可能性があるのでSym1 756(有効データ)とは異なっていてよい。
【００３１】
NE信号は、比較器702がSIとSとの間の差分値を検出した直後にハイになり、tdNEの後でセットリセットレジスタ704出力のNEFLT信号を非同期的にハイにセットし、NEFLT信号は、NEFLT信号の立上りからほぼ遅延期間S(遅延S710によって生じる)後に到着するIRXCLK 720のハイ状態によってリセットされるまでハイ状態を保持する。
【００３２】
SI(無効データ)における中間状態は、比較器702出力NE信号を短期間の間ローに戻す(NE信号におけるスパイク762)シンボル値Sym0 752の短い期間を含んでよい。NE信号のロー状態はセットリセットレジスタ704出力のNEFLT信号に影響を与えない。その理由として、セットリセットレジスタ704はNEFLT信号を出力する前にNE信号上のスパイクを事実上除去する。
【００３３】
ワンショット回路(遅延P708を有する論理ゲート706)は、NEFLT信号の立上りエッジからtd1S後にワンショット回路の出力のNE1SHOT信号上にハイ状態を生成し、NE1SHOT信号を、ロー状態に戻す前に遅延P期間708の間ハイ状態に保持する。
【００３４】
NE1SHOT信号のハイ状態は、遅延S710によって生じる遅延S期間770の後でIRXCLK 720に伝搬する。IRXCLK信号720のハイ状態は、セットリセットレジスタ704出力のNEFLT信号をtdRSTの後でローにリセットする。IRXCLK信号720のハイ状態はまた、SI信号値がS信号に出力されるようにレジスタ714を有効化する。比較器702は、S信号(シンボルSym1 760)がSI信号のシンボルSym1 756と一致したときにそれを検出し、比較器702の出力のNE信号をローにする。NE1SHOT信号のハイ状態は、遅延S710によって生じる遅延S期間770の後でIRXCLK信号720に伝搬する。
【００３５】
新しいシンボル値Sym2 752は、受信されると、IRXCLK信号720の最後の立下りエッジ768からtHD後にSI信号に次のシンボルSym2 758への値の変更を開始させる。シンボルサイクル周期tSYMのタイミング制約は以下の通りであってよい。
I) tdNE+td1S+遅延S+遅延P+tHD<tSYM
【００３６】
より具体的には、シンボルサイクル時間tSYMは、遅延期間S、遅延期間P、tHD、tdNE、td1SおよびtdRSTの合計よりも長くなくてはならない。これらの6つの期間がtSYMを超えている場合、IRXCLK の終端エッジは次のシンボルサイクルと重なり合い、重なり合った期間の間NEFLT信号がセットされるのを不可能にする。重なり合った期間の長さが1サイクルずつ蓄積し、最終的に1シンボルサイクルにおいて余分なIRXCLKパルスが生じることに留意されたい。準備時間tSUのタイミング制約は以下の通りであってよい。
i)最大スキュー仕様+tSU<遅延S
b)より具体的には、遅延期間Sは、準備時間tSUに最大スキューを加えた時間よりも短くなければならない。
【００３７】
図8は、図7に示すクロック回復回路700に関して説明するオープンドレイントランジスタに関連するタイミングを示す図800である。時間802から始まる第1の遷移804(ローからハイへの遷移)は、オープンドレイントランジスタドライバ上のプルアップに起因する遅い立上り時間を示す。第2の遷移806(ハイからローへの遷移)は、より高速であり、トランジスタドライバがオンに切り替わることに起因する。この例では、少なくとも1つの負の遷移がワイヤ703において生じるので(図7)有効なタイミングを抽出することができる。たとえば、それぞれに異なるワイヤ703からの遷移808および810を使用し、遅い遷移804(たとえば、長い立上り時間)から生じる任意の遅延作用を抑制することができると仮定して、受信機クロックの以後のクロックを生成することによって、クロックタイミングを確実に抽出することができる。
【００３８】
図9は、オープンドレイントランジスタドライバに関連するタイミングを示す図900である。ここでは、クロックタイミングは、顕著な遅延の後で(ローからハイへの遷移902において)検出される負から正へのまたはローからハイへの単一の遷移904(たとえば、立上りエッジ)に依存する。検出の遅延902の結果として、CDR回路700によって抽出される受信クロックが妨害され、サンプリング時間が不正確になることに起因してシンボルが失われることがある。出力シンボルTX SO[1:0]918のストリームは、第1のシンボル906と第2のシンボル908とを含み、各シンボル906/908はシンボル送信サイクル内で送信される。ここで、TX S[0]はS[1:0]のビット0を示す。受信機バッファは、電圧遷移904が遅いので第1のシンボル906周期中の遅い時間に信号立上り遷移902を検出する。IRXCLKが生成される点から遅延S時間後の、シンボル周期中のかなり遅い時間に、NE(等しくない)信号910が生成され、次いでNE1SHOTパルス912が生成される。余分な遅延に起因して次のシンボルタイミングにおいて(すなわち、第2のシンボル908の間に)IRXCLKが生成される確率はかなり高い。これによって、たとえば、IRXCLKパルス914は、余分な遅延に起因して意図されるサイクル906ではなく次のサイクル908の信号SIをサンプリングする。すなわち、遷移926は、前回の遷移の「遅延S」期間の間に生じ、したがって、NEFLTが0にリセットされていないので検出されない。このシンボル遷移926が失われると、受信機クロックサイクル928および930が失われる。シンボル遷移が失われる可能性があるので、回復されるクロックは予測不可能であり、したがって、使用不可能である。
【００３９】
図10は、データリンク118(図1)の動作の周波数を低下させることによって図9の立上り時間遅延902に対処することができるタイミング図1000を示す。シンボルレート/周波数を低下させる(すなわち、シンボル周期を延長する)ことによって、次のシンボル908ではなく第1のシンボル906をサンプリングすることができる。しかし、周波数を低下させる手法は、インターフェースの性能を低下させる(すなわち、データスループットを低下させる)ので不十分である。
【００４０】
シンボル遷移を確実に検知する例示的なクロックデータ回復回路
図11は、特定の態様に従って複数のCDR回路1101および1102を使用して確実なタイミングを生成することを示す図である。インターフェース内のワイヤごとにCDR回路1101/1102が設けられてよく、したがって、単一のワイヤのクロック/タイミング抽出が可能になる。各CDR回路1101/1102は、入力1104上の遷移に対して整合されたパルスを生成するように構成される。排他的論理和論理1106は、入力1104の状態の変化を保持レジスタ1130によって保持されている前回の状態と比較し、差が検出されたかどうかを示す出力(NE)を生成する。NE信号は、現在の状態が前回の状態の登録されたコピーと等しくないとき(すなわち、現在のシンボルSIと単一の信号線、SCL線1104、またはSDA線の前回のシンボルSXの比較)に生成される。排他的論理和論理1106の出力は、セットリセットレジスタ1108を遷移を記録するようにセットする。セットリセットレジスタ1108の出力は、ゲート1112で、出力自体の反転され遅延されたバージョンによってゲート制御され、ワンショットパルス(NE1SHOT[0])を生成する。セットリセットレジスタ1108の出力の反転され遅延されたバージョンは、フリップフロップ回路1110の出力である。
【００４１】
各CDR回路1101/1102に2つの「遅延S」が使用される。遅い立上り信号(すなわち、ローからハイへの遷移)に第1の遅延S10 1114が使用され、速い立下り信号(すなわち、ハイからローへの遷移)には第2の遅延S20 1120が使用される。すなわち、遅い立上り信号(すなわち、ローからハイへの遷移)は全体的なより短い遅延(第1の遅延S10 1114)を受け、一方、より速い立下り信号(すなわち、ハイからローへの遷移)はより長い全体的な遅延(すなわち、2つの遅延S10 1114およびS20 1120の総遅延)を受ける。したがって、立上り遷移(ローからハイへの遷移)では、NE1SHOT[0]パルスが第1の遅延S10 1114によって決定される時間だけ遅延され、その結果、立上り遷移後の次のシンボルの確実なサンプリングを可能にするパルス1116が生成される。立下り遷移(ハイからローへの遷移)では、パルス1116がさらに、立上りエッジに基づくタイミングと一致する遅延として選択された第2の遅延S20 1120(たとえば、第2の遅延S20 1120としては、立下り遷移を立上り遷移と一致するように延長する遅延が選択される)だけ遅延される。
【００４２】
各CDR回路1101/1102は、立上り(ローからハイへの)遷移および立下り(ハイからローへの)遷移から導かれるタイミングを正規化する働きをする追加の第2の遅延回路1120を備える。特に、第2の遅延回路1120は、立下り遷移(たとえば、ハイからローへの遷移)によって生成されるパルス1116を遅延させる。遷移(たとえば、ローからハイまたはハイからロー)の方向は、前回の状態のコピーを保持しているレジスタ1126によって示されるワイヤ(たとえば、SCL線1104)の前回の状態から既知である。ワイヤがハイレベルである場合、立下り遷移(すなわち、ハイからローへの遷移)が次に検出される遷移になり、ゲート1118は、遷移に基づいて生成されるパルス1116を第2の遅延回路1120に与えるのを可能にするように制御される。さらに、マルチプレクサ1124は、遷移が立下りである(すなわち、ハイからローへの遷移)ときに第2の遅延回路1120によって生成されるタイミング1122を次の受信クロックとして選択するのに使用される。前回の信号状態がローレベルである場合、第2の遅延回路1120の動作は、ゲート1118の動作によって無効化され、マルチプレクサ1124は、第1の遅延回路1114によって出力されるタイミング1116を選択する。第2の遅延回路1120は、より遅いローからハイへの立上り遷移によって生じる遅延と同等のハイからローへの遷移のための遅延(たとえば、負の遷移または立下り遷移)を導入するようにプログラムまたは構成されてよい。たとえば、ハイからローへの遷移のためのそのような遅延は、ローからハイへの遷移のための立上り時間とハイからローへの遷移のための立下り時間との間の差とほぼ等しくてよい。
【００４３】
すべてのCDR 1101/1102によって生成された受信クロックIRXCLK[0]およびIRXCLK[1]を合計しならびに/あるいは組み合わせ、システム受信クロックRXCLK 1134を生成するクロック回路1132を使用してシステム受信クロック1134が得られてよい。
【００４４】
図12は、図11のCDR回路1101を使用してマルチワイヤオープンドレインリンクにおける単一のワイヤから受信した信号から生成された受信クロックを示すタイミング図1200である。この例では、立上り遷移と立下り遷移の両方に関してほぼ等しいタイミングで受信クロックが生成されてよい。
【００４５】
さらに図11を参照するとわかるように、受信側CDR回路1101/1102は、Nワイヤチャネル上のシンボルとして符号化されたデータを受信するCMOSシングルエンド受信機から構成されてよい。レジスタ1130は、各IRXCLK[0]立上りエッジにおいて各ワイヤの状態を記憶し、排他的論理和論理1106によって比較できるように前回の状態情報を生成する。遅延要素1114および1120は、ワイヤ1104から受信される信号状態の適切なサンプリングを可能にするように位置する確実なクロック遷移を得るように構成されてよい。遅延回路1114および1120は、直列に配置され、遅い立上り信号のためのより短い遅延および速い立下り信号のためのより長い遅延を生じさせるように選択的に接続される。特に、第2の遅延1120は、遷移が速い立下り時間に関連するときに遅延の直列チェーンに付加される。複数のCDR回路1101/1102によって生成されたIRXCLKクロック1128がクロック回路1132によって合計され、回復されたシングルレート受信側クロックRXCLK 1134が生成される。
【００４６】
図13は、CDR回路内の遅延要素1114、1120、および1138のうちの1つまたは複数を実現するのに使用されてよいプログラム可能な遅延回路の例を示す簡略ブロック図1300である。この回路1300は、パルスをフィルタ処理するダウンカウンタを実装する。遅延選択信号または遅延選択値DELSELは一定であってもまたはプログラム可能であってもよい。第1のマルチプレクサ1302は、入力Iがハイになることによって有効化され、ダウンカウンタを起動する。nビットフリップフロップ1304はカウント値を保持する。第2のマルチプレクサ1308は、カウンタが0に達するまでカウントを1だけ減らす働きをする。その場合、比較器1310は、出力カウントをゼロと比較し、カウンタがゼロに等しい場合Q=1を出力する。ゼロに達し、次いですべて2進数1(「1、、、111」)にロールオーバするときにANDゲート1006が第2のマルチプレクサにカウントダウンを停止させることに留意されたい。
【００４７】
図1320は、複数のパルスが回路1300によってフィルタ処理されてもよいことをさらに示す。たとえば、第1のパルス1322がダウンカウンタを起動させた場合、第2のパルス1324が発生することによって、ダウンカウンタはDELSEL値にリセットされ、再起動される。これによって、不要な複数のパルスが効果的に除去され、単一のパルスが出力される。
【００４８】
図14は、図11の受信クロック合計およびサンプリング回路1132を対応するタイミング図1400とともに示す。図14は、様々なCDR回路1101/1102の遅延が受信クロック1410および1412のずれを生じさせ、それによって余分なクロックパルス1402および1404が発生する例を示す。これらのパルス1402および1404は、遅延RX 1138を使用することによってフィルタ処理されならびに/あるいは組み合わされてよい。受信側クロックRXCLK 1134は、2つのクロックIRXCLK(すなわち、IRXCLK[0]1410およびIRXCLK[1]1412)を合計し、論理和演算されたIRXCLK 1414の立下りパルスからワンショットを取り出し、遅延セル1138およびフリップフロップ1136によって遅延させることによって生成される。受信シンボルSXは、SCL CDR回路1101とSDA CDR回路1102との間で遅延が一致しないことに起因して2つのシンボル間のある中間値を有することがあり、したがって、シンボルSXは、SX値が安定しているときにはSXの各シンボル境界から遅延RX後にサンプリングされる。
【００４９】
図15は、CDR回路および図11の遅延回路1114、1120、および1138のうちの1つまたは複数の較正に使用されるCDR回路1101/1102のタイミングを較正するための方法1500を示す。この方法1500は、複数のCDRからのクロック信号が確実に重なり合い、それによってシンボル間隔内の受信クロックRXCLK 1128上で複数のパルスが生成されるのを回避するようにクロック信号を較正する働きをしてよい。
【００５０】
図16は、図15の方法を使用して遅延回路のうちの1つまたは複数の較正を実行するのに使用される論理回路を示す。この例は、CDR回路によって使用される第1の遅延または間隔(たとえば、図11における遅延S1 1114)を較正する働きをする第1の論理回路1600aを示す。第2の論理回路1600b(または第1の論理回路1600a)は、CDR回路によって使用される第2の遅延または間隔(たとえば、図11における遅延S2 1120)を較正する働きをしてよい。同様に、他のCDR回路(たとえば、様々なワイヤ)の遅延は、論理回路1602a/1602bを使用して較正されてよい。
【００５１】
図17は、図11の遅延回路1114、1120、および/または1138を較正するための較正回路1600aおよび1600bの実装形態を示すタイミング図1600を含む。一例では、遅延1114および1120は、入力信号1104の立上りエッジおよび立下りエッジで生成されるクロック信号のタイミングを調整するように較正される。
【００５２】
一例では、較正は、まず立下り遷移(ハイからローへの遷移)を行うことによって開始する。初期較正遅延は、遅延回路1114と遅延回路1120が組み合わされるように設定されてよい。CDR回路1101によって生成されるクロックIRXCLK 1128は、立下り遷移(すなわち、ハイからローへの遷移)と立上り遷移(すなわち、ローからハイへの遷移)の両方で遅延を適用する回路1114の遅延を反映する第1の(立下り)遷移の後にパルスを生成することが予期されてよい。一例では、遅延回路1114および1120に関連する遅延のうちの1つまたは複数は、信号線の立下り遷移(ハイからローへの遷移)における立下り時間と立上り遷移(ローからハイへの遷移)における立上り時間との間の差に相当する遅延の観察される差に基づいて較正プロセス時に較正される。較正遅延の終了と第1の遷移に関連するパルスの到着との間の関係1702が調べられ、較正遅延をいくつかの遅延クロックサイクルだけ延長するかそれとも短縮するかが判定される。次いで、較正遅延が必要に応じて修正され、較正遅延を使用して遅延回路1114がプログラムされる。
【００５３】
較正プロセスの一部として第2の立下り遷移(ハイからローへの遷移)も行われてよい。第2の遅延回路1120は、SCL CDR回路1101とSDA CDR回路1102との間でオープンドレインリンクが遅延するときに第2の立下り遷移(ハイからローへの遷移)が可能なように有効化され、したがって、シンボルSXは、SX値が安定しているときにはSXの各シンボル境界から遅延RX後にサンプリングされる。
【００５４】
較正遅延の終了とクロックIRXCLK[0]1128上のパルスの到着との間の関係1604を使用して、較正遅延値をさらに調整してよい。次いで、このさらに調整された値を使用して遅延回路1120をプログラムしてよく、通常動作を確立することができる。
【００５５】
電源投入イベント後またはインターフェース特性が変化して再較正が必要になったときに較正が実行されてよい。たとえば、周囲温度の変化は、プルアップ抵抗値の変動を含め、インターフェース線1104に関連するRC定数に影響を及ぼすことがある。
【００５６】
較正時には、送信機をオーバーライドして、論理0から論理1への第1の(立上り)遷移(すなわち、ローからハイへの遷移)と、それに続く、論理1から論理0への第2の(立下り)遷移(すなわち、ハイからローへの遷移)とを含む較正信号パターンを生成してよい。送信機はオフラインモードにされてよく、較正回路366(図3参照)は、受信デバイス362'(図3)におけるゲート370を通じて較正信号を導入してよい。較正信号における各遷移において基準カウンタが初期化されてよい。たとえば、第1の較正ステップでは、基準カウンタを使用して遅延回路1114を較正してよく、それによって、基準カウンタは、図16に示す関係1602によって示されるように正の遷移の後にパルスが予期されるときに満了することが予期される。遅延回路1114は、基準カウンタにおける任意の残存値を遅延回路1114のプログラムされた遅延に加えることによって、第1のステップの終了時に較正されてよく、この場合、基準カウンタは符号付き値を有する。第2のステップでは、基準カウンタを使用して遅延回路1120を較正してよく、それによって、基準カウンタは、図16に示す関係1604によって示されるように、負の遷移が検出された後でかつ遅延回路1120によって導入される遅延後にパルスが予期されるときに満了することが予期される。遅延回路1120は、基準カウンタにおける任意の残存値を遅延回路1120のプログラムされた遅延に加えることによって、第2のステップの終了時に較正されてよく、この場合、基準カウンタは符号付き値時間を有する。
【００５７】
図18は、処理システム1814を利用する装置のハードウェア実装形態の一例を示す図1800である。処理システム1814は、シンボル遷移に基づくクロック同期を行うマルチワイヤオープンドレインリンク上で送信されるデータの消費側または生成側であってよい。一例では、処理システム1814は、図11に関して説明するように遅延回路1114および1120を較正するように構成されてよい。処理システムは、マルチワイヤオープンドレインリンクのデータレートを含む、マルチワイヤオープンドレインリンクの他の態様を設定してよい。
【００５８】
処理システム1814は、バス1808によって概略的に表されるバスアーキテクチャを用いて実装され得る。バス1808は、処理システム1814の特定の適用例および全体的な設計制約に応じて、任意の数の相互接続バスおよびブリッジを含み得る。バス1808は、プロセッサ1804、モジュール1824、1826、1828、1830、1832、およびコンピュータ可読媒体1806によって表される、1つまたは複数のプロセッサおよび/またはハードウェアモジュールを含む様々な回路を互いにリンクさせる。バス1808は、タイミングソース、周辺機器、電圧調整器、および電力管理回路などの様々な他の回路をリンクさせることもできるが、これらの回路は当技術分野でよく知られており、したがってこれ以上は説明しない。
【００５９】
処理システム1814は、トランシーバ1810に接続される場合がある。トランシーバ1810は、送信媒体を通して様々な他の装置と通信するための手段を提供する。処理システム1814は、コンピュータ可読媒体1806に接続されたプロセッサ1804を含む。プロセッサ1804は、コンピュータ可読媒体1806上に記憶されたソフトウェアの実行を含む全般的な処理を担う。ソフトウェアは、プロセッサ1804によって実行されると、任意の特定の装置の上記で説明した様々な機能を処理システム1814に実行させる。コンピュータ可読媒体1806は、ソフトウェアを実行するときにプロセッサ1804によって操作されるデータを記憶するために使用されてもよい。処理システムは、モジュール1824、1826、1828、1830、および1832のうちの少なくとも1つをさらに含む。モジュールは、コンピュータ可読媒体1806に存在する/記憶される、プロセッサ1404において動作するソフトウェアモジュール、プロセッサ1804に接続された1つもしくは複数のハードウェアモジュール、またはそれらの何らかの組合せであり得る。
【００６０】
一構成では、装置は、単一のワイヤ上の遷移を検出するための手段1824と、遷移の検出に応答してパルスを生成するための手段1826と、検出される遷移の種類に基づいてパルスに遅延を選択的に適用するための手段1828と、複数のワイヤに対して生成されるパルスを組み合わせるための手段1830と、遅延を較正するための手段1832とを含む。上記の手段は、装置1802の上記のモジュール、および/または上記の手段によって列挙された機能を実行するように構成された装置1802の処理システム1814のうちの1つまたは複数であり得る。
【００６１】
図19は、シンボル遷移からクロック信号を確実に生成するための方法を示す図である。通信インターフェースから受信される信号における遷移を判別し、確認し、ならびに/あるいは検知する(1902)。遷移に応じてクロックパルスを生成する(1904)。遷移が第1の方向である場合にはクロックパルスを事前設定されている第1の間隔(たとえば、第1の遅延)だけ選択的に遅延させる(1906)。遷移が第2の方向である場合、この方法では、クロックパルスを事前設定されている第2の間隔(第2の遅延)だけ遅延させてよい(1908)。一例では、第1の方向が立上り遷移であり、かつ第2の方向が立下り遷移であり、第2の間隔は、クロックパルス立下り時間と第1の間隔と第2の間隔との合計がクロックパルス立上り時間と第1の間隔との和にほぼ等しくなるように選択されてよい。
【００６２】
クロックパルスは、異なるクロックパルスが受信され、かつクロックパルスの遅延が完了していない場合には再開してよい。一例では、事前設定されている第1および/または第2の間隔は、通信インターフェースに関連する立上り時間および立下り時間に基づいて設定されてよく、立上り時間は、オープンドレイントランジスタに関連する立上り時間に相当する。たとえば、事前設定されている第1および/または第2の間隔は、通信インターフェース上でシンボルが送信されるときにクロックパルスを生じさせ、それによってシンボルが確実にサンプリングされるように選択されてよい。別の例では、事前設定されている第2の間隔は、クロックパルス立下り時間に起因する遷移を検出する際の遅延に一致するように選択されてよい。事前設定されている第1の間隔は、クロックパルス立下り時間に起因する遷移を検出する際の遅延に一致するように選択されてよい。
【００６３】
この方法は、クロックパルスを、遷移1910に応答して生成された少なくとも1つの追加のクロックパルスと統合することをさらに含んでよい。合計回路1132(図11および図14)に示すように、2つ以上の異なるCDRからのクロックパルスがほぼ同期されるように較正されてよい。さらに、この方法は、事前設定されている第1および/または第2の間隔を較正すること1912を含む。
【００６４】
一例では、事前設定されている第1および/または第2の間隔は、(a)互いに異なる方向である第1および第2の較正遷移を行うこと、(b)第1および第2の較正遷移のために生成されたクロックパルスに関連するそれぞれの遅延を測定すること、および/または(c)事前設定されている第1および/または第2の間隔をそれぞれの遅延の差を最小限に抑えるように修正することとを含んでよい。事前設定されている第1および/または第2の間隔を修正することは、(a)第1の較正遷移の後に生成されたクロックパルスに関連する測定された遅延に基づいて第1の遅延回路のプログラムされた遅延を調整すること、および/または(b)第2の較正遷移の後に生成されたクロックパルスに関連する測定された遅延に基づいて第2の遅延回路のプログラムされた遅延を調整することを含んでよい。それぞれの遅延は、いずれかの較正遷移のために生成されたクロックパルスに関連する所望の遅延を反映するタイマを使用して測定される。
【００６５】
開示されたプロセスにおけるステップの特定の順序または階層は、例示的な手法の一例であることを理解されたい。設計上の選好に基づいて、プロセスにおけるステップの特定の順序または階層は、再構成され得ることを理解されたい。添付の方法クレームは、様々なステップの要素を例示的な順序で提示したものであり、提示された特定の順序または階層に限定されるものではない。
【００６６】
これまでの説明は、本明細書に記載された様々な態様を、任意の当業者が実践することを可能にするために提供される。これらの態様への様々な変更は当業者には容易に明らかであり、本明細書で定義された一般的な原理は他の態様に適用することができる。したがって、特許請求の範囲は本明細書に示された態様に限定されるものではなく、文言通りの特許請求の範囲に整合するすべての範囲を与えられるべきであり、単数の要素への言及は、そのように明記されていない限り、「唯一無二の」を意味するものではなく、「1つまたは複数の」を意味するものである。別段に明記されていない限り、「いくつかの」という用語は1つまたは複数を指す。当業者に知られている、または後で知られることになる本開示全体にわたって説明する様々な態様の要素に対するすべての構造的および機能的な均等物は、参照により本明細書に明確に組み込まれ、特許請求の範囲によって包含されるものとする。その上、本明細書で開示された内容は、そのような開示が特許請求の範囲で明記されているか否かにかかわらず、公に供するものではない。いかなるクレーム要素も、要素が「ための手段」という語句を使用して明確に列挙されていない限り、ミーンズプラスファンクションとして解釈されるべきではない。
【符号の説明】
【００６７】
102  送信側デバイス
104  受信側デバイス
108  シングルエンドドライバ
110  シングルエンド受信機
113  保持レジスタ
118  入力ビット
120  出力ビット
124  デコーダ
200  送信側デバイス
203  エンコーダ
206  出力レジスタ
208  遅延レジスタ
212  ラインドライバ
303  デコーダ
350  受信側デバイス
352  CDR回路
354  保持レジスタ
366  較正回路
370  ゲート
404  受信機
406  ビット-mxT変換器
408  mxT-ビット変換器
606  抵抗
608  トランジスタ
620  特性タイミング図
628  時間
632  立上り時間
700  クロック回復回路
702  比較器
703  ワイヤ
704  セットリセットレジスタ
706  ワンショット論理
708  デジタル遅延デバイス
710  第2の遅延デバイス
712  第2のクロック
713  デジタル遅延デバイス
714  保持レジスタ
720  クロック
752  シンボル値
758  シンボル
804  第1の遷移
902  立上り時間遅延
906  第1のシンボル
908  第2のシンボル
914  パルス
926  遷移
1006  ANDゲート
1101  CDR回路
1104  インターフェース線
1108  セットリセットレジスタ
1110  フリップフロップ回路
1114  遅延回路
1116  パルス
1118  ゲート
1120  第2の遅延回路
1124  マルチプレクサ
1128  クロック
1132  サンプリング回路
1134  システム受信クロック
1136  フリップフロップ
1138  遅延セル
1302  第1のマルチプレクサ
1322  第1のパルス
1324  第2のパルス
1404  プロセッサ
1802  装置
1804  プロセッサ
1806  コンピュータ可読媒体
1808  バス
1810  トランジスタ
1814  処理システム
1824〜1832  モジュール
1906  第1の方向
1910  遷移
I  入力
P  遅延
Ps  前回のシンボル
Q  出力
RX  遅延
S  遅延
S10  第1の遅延
S20  第2の遅延
SI  信号
SX  シンボル
T  現在のシンボル遷移番号
TX  出力シンボル
【図１】
0006461089.tif 000002
【図２】
0006461089.tif 000003
【図３】
0006461089.tif 000004
【図４】
0006461089.tif 000005
【図５】
0006461089.tif 000006
【図６】
0006461089.tif 000007
【図７】
0006461089.tif 000008
【図８】
0006461089.tif 000009
【図９】
0006461089.tif 000010
【図１０】
0006461089.tif 000011
【図１１】
0006461089.tif 000012
【図１２】
0006461089.tif 000013
【図１３】
0006461089.tif 000014
【図１４】
0006461089.tif 000015
【図１５】
0006461089.tif 000016
【図１６】
0006461089.tif 000017
【図１７】
0006461089.tif 000018
【図１８】
0006461089.tif 000019
【図１９】
0006461089.tif 000020