(57)【要約】  ドライバの出力に結合されるデータサンプラであって、前記データサンプラは、データをサンプリングして、該データを第１閾電圧及び第２閾電圧と比較し、前記データサンプラは、前記データの前記第１閾電圧及び第２閾電圧との比較に従い、Ｕｐ又はＤｏｗｎ指示子を生成する、データサンプラと、前記データサンプラに結合されるロジックであって、前記ロジックは、前記Ｕｐ又はＤｏｗｎ指示を受信し、前記Ｕｐ又はＤｏｗｎ指示に従い、前記ドライバのＤＣ補償済みインピーダンス脚の数を増大又は減少させる、ロジックと、を含む機器が提供される。
2019531003.tif 000002
【特許請求の範囲】
【請求項１】
ドライバの出力に結合されるデータサンプラであって、前記データサンプラは、データをサンプリングして、該データを第１閾電圧及び第２閾電圧と比較し、前記データサンプラは、前記データの前記第１閾電圧及び第２閾電圧との比較に従い、Ｕｐ又はＤｏｗｎ指示子を生成する、データサンプラと、
前記データサンプラに結合されるロジックであって、前記ロジックは、前記Ｕｐ又はＤｏｗｎ指示を受信し、前記Ｕｐ又はＤｏｗｎ指示に従い、前記ドライバのＤＣ補償済みインピーダンス脚の数を増大又は減少させる、ロジックと、
を含む機器。
【請求項２】
前記第２閾電圧は前記第１閾電圧より低い、請求項１に記載の機器。
【請求項３】
前記第１及び第２閾電圧を生成するためにバイアス生成器を含む請求項１に記載の機器。
【請求項４】
前記第１及び第２閾電圧は、前記データの論理ローレベルより前記データの論理ハイレベルに近い、請求項３に記載の機器。
【請求項５】
前記第１及び第２閾電圧は、前記データの論理ハイレベルより前記データの論理ローレベルに近い、請求項３に記載の機器。
【請求項６】
サンプリングクロックのセットによりデータをサンプリングするために、前記データサンプラに、異なる位相を有する前記サンプリングクロックのセットを提供するためにクロック生成器を含む請求項１に記載の機器。
【請求項７】
前記データサンプラはストロングアームラッチを含む、請求項１に記載の機器。
【請求項８】
前記Ｕｐ指示子は、少なくとも２ビットを有するバスであり、前記Ｄｏｗｎ指示子は少なくとも２ビットを有するバスである、請求項１に記載の機器。
【請求項９】
前記ロジックは、アクティブなインピーダンス脚が増大又は減少された後に、ＤＣ補償済みインピーダンス脚の数を固定する、請求項１に記載の機器。
【請求項１０】
前記ドライバは伝送線に結合される、請求項１に記載の機器。
【請求項１１】
前記ドライバは差動ドライバである、請求項１に記載の機器。
【請求項１２】
プルアップインピーダンス脚を有するドライバであって、アクティブなプルアップインピーダンス脚の数は、前記ドライバのプルアップ出力インピーダンスを決定する、ドライバと、
前記ドライバの出力に結合される検出器であって、前記検出器は、遅延分だけ間隔の空いた少なくとも２つのクロックエッジで前記出力におけるデータをサンプリングする、検出器と、
前記検出器に結合されるカウンタであって、前記カウンタは、基本数のプロセス、電圧、及び温度（ＰＶＴ）補償済みのアクティブなプルアップインピーダンス脚の数を受信し、前記カウンタは、前記基本数に渡り１又は複数のプルアップインピーダンス脚をオンに切り替え又はオフに切り替えて、前記サンプリングされたデータに従い前記アクティブなプルアップインピーダンス脚の数を変化させる、カウンタと、
を含む機器。
【請求項１３】
前記検出器は、前記データをサンプリングし、該データを第１閾電圧及び第２閾電圧と比較する、請求項１２に記載の機器。
【請求項１４】
前記第２閾電圧は前記第１閾電圧より低い、請求項１３に記載の機器。
【請求項１５】
前記第１及び第２閾電圧を生成するためにバイアス生成器を含む請求項１３に記載の機器。
【請求項１６】
前記第１及び第２閾電圧は、前記データの論理ローレベルより前記データの論理ハイレベルに近い、請求項１５に記載の機器。
【請求項１７】
前記第１及び第２閾電圧は、前記データの論理ハイレベルより前記データの論理ローレベルに近い、請求項１５に記載の機器。
【請求項１８】
メモリと、
前記メモリに結合されるプロセッサであって、前記プロセッサは、請求項１乃至１１のいずれか一項に記載の機器を含む、プロセッサと、
前記プロセッサが別の装置と通信することを可能にする無線インタフェースと、
を有するシステム。
【請求項１９】
メモリと、
前記メモリに結合されるプロセッサであって、前記プロセッサは、請求項１２乃至１７のいずれか一項に記載の機器を含む、プロセッサと、
前記プロセッサが別の装置と通信することを可能にする無線インタフェースと、
を有するシステム。
【請求項２０】
データをサンプリングするステップと、
前記データを第１閾電圧及び第２閾電圧と比較するステップと、
前記データの前記第１及び第２閾電圧との比較に従い、Ｕｐ又はＤｏｗｎ指示子を生成するステップと、
前記Ｕｐ又はＤｏｗｎ指示子を受信するステップと、前記Ｕｐ又はＤｏｗｎ指示子に従い、ドライバのＤＣ補償済みインピーダンス脚の数を増大又は減少させるステップと、
を含む方法。
【請求項２１】
前記第２閾電圧は前記第１閾電圧より低い、請求項２０に記載の方法。
【請求項２２】
前記第１及び第２閾電圧を生成するステップと、
サンプリングクロックのセットによりデータをサンプリングするために、前記データサンプラに、異なる位相を有する前記サンプリングクロックのセットを提供するステップと、
アクティブなインピーダンス脚が増大又は減少された後に、前記ＤＣ補償済みインピーダンス脚の数を固定するステップと、
を含む請求項２０に記載の方法。
【請求項２３】
前記第１及び第２閾電圧は、前記データの論理ローレベルより前記データの論理ハイレベルに近い、又は、前記第１及び第２閾電圧は、前記データの論理ハイレベルより前記データの論理ローレベルに近い、請求項２０に記載の方法。
【請求項２４】
前記Ｕｐ指示子は、少なくとも２ビットを有するバスであり、前記Ｄｏｗｎ指示子は少なくとも２ビットを有するバスである、請求項２０に記載の方法。
【請求項２５】
請求項２０乃至２４のいずれか一項に記載の方法を実行する手段を含む機器。
【発明の詳細な説明】
【技術分野】
【０００１】
［優先権の主張］
本願は、あらゆる目的で参照により全体が組み込まれる米国出願第１５／２７９，２７３号、２０１６年９月２８日出願、名称「HIGH  SPEED  DRIVER  WITH  ADAPTIVE  TERMINATION  IMPEDANCE」の優先権を主張する。
【背景技術】
【０００２】
広範なプラットフォーム損失の要求に応じる必要のある高速ドライバを良好にインピーダンス整合するプラグアンドプレイ能力を提供するために、ドライバの直流（ＤＣ）インピーダンス整合設定（例えば４５Ω）は、シリコンプロセス、パッケージ不整合、及びプラットフォームにおける交流（ＡＣ）インピーダンス変動に適合できない。入力−出力（Ｉ／Ｏ）システムのアイマスクに適合する目的で、ドライバにおいてプリエンファシスが一般的に使用される。これは、ハイからロー論理レベルへのデータの遷移中に、ドライバの出力における差動データリンギングを悪化させる。このリンギングは、例えば、単位間隔（unit  interval：ＵＩ）の半分まで長引いて、アイダイアグラムのマージンを減少させる。多くの場合、このリンギングのピーク値は高いので、上位レベルのアイダイアグラムを仕様外にしてしまう。
【図面の簡単な説明】
【０００３】
本開示の実施形態は、以下の詳細な説明から及び本開示の種々の実施形態の添付の図面からより完全に理解されるだろう。しかしながら、これらは、本開示を特定の実施形態に限定するものではなく、単に説明及び理解のためである。
【０００４】
【図１】本開示の幾つかの実施形態による、ドライバの出力を監視することにより補償インピーダンスを適応的に調整するシステムを示す。
【０００５】
【図２】本開示の幾つかの実施形態による、補償済みインピーダンスの適応的調整の前後のドライバの出力を示すグラフを示す。
【０００６】
【図３】本開示の幾つかの実施形態による、機器の動作を示すグラフを示す。
【０００７】
【図４】本開示の幾つかの実施形態による、ドライバの出力を監視することにより補償済みインピーダンスを適応的に調整する機器を示す。
【０００８】
【図５】本開示の幾つかの実施形態による、ドライバの出力を監視することにより補償済みインピーダンスを適応的に調整する有限状態機械（ＦＳＭ）を示す。
【０００９】
【図６】本開示の幾つかの実施形態による、データがハイを駆動しているとき、ドライバの出力を監視することにより補償済みプルアップインピーダンスを適応的に調整する方法のフローチャートを示す。
【００１０】
【図７】本開示の幾つかの実施形態による、データがローを駆動しているとき、ドライバの出力を監視することにより補償済みプルダウンインピーダンスを適応的に調整する方法のフローチャートを示す。
【００１１】
【図８】幾つかの実施形態による、ドライバの出力を監視することにより補償済みインピーダンスを適応的に調整する機器を有するスマートデバイス又はコンピュータシステム又はＳｏＣ（System−on−Chip）を示す。
【発明を実施するための形態】
【００１２】
幾つかの実施形態は、ドライバの出力を監視することにより、インピーダンスを適応的に調整し及び補償する機器を記載する。幾つかの実施形態では、リンギングを緩和するために又はリンギングに含まれるＡＣインピーダンス不整合を補正するために、ソリューションを提供するために、デジタル技術が機器により使用される。幾つかの実施形態では、機器は、データの立ち上がりエッジの間に多相クロックを用いてドライバの出力におけるデータをサンプリングし、該データを所定基準（例えば、Ｖｒｅｆｈｉ及びＶｒｅｆＬｏｗ）と比較する。幾つかの実施形態では、補償されたサンプリングされたデータ情報は、格納され、決定ロジックにロードされる。幾つかの実施形態では、決定ロジックは、ドライバの補償済み出力インピーダンス（例えば、ドライバのプルアップ及び／又はプルダウンインピーダンス）を適応的に調整するための、増大、減少、及び／又は固定コードを送信する。このように、ドライバの出力においてＡＣインピーダンス不整合により生じるリンギング、オーバーシュート、及び／又はアンダーシュートが低減される。
【００１３】
種々の実施形態の多くの技術的効果がある。例えば、種々の実施形態の機器は、パワーに影響を与えずに及び少ない面積増大（例えば、約１％）により、ドライバ出力インピーダンスの自動訂正を提供する。種々の実施形態の機器は、電源ノイズレベルに反応しにくく且つ他の処理技術ノードに拡張可能なデジタル方式である。種々の実施形態の機器は、（例えば、データアイを広げることにより）追加タイミングマージンを提供する。これは、より広いプラットフォーム損失及び範囲に対応する際に有用である。種々の実施形態の機器は、ドライバのトレーニング期間中に実行され得る。したがって、機器の動作は、ドライバの機能的動作に影響しない。他の技術的効果は、種々の実施形態の記載及び図面から明らかである。
【００１４】
以下の記載では、本開示の実施形態のより完全な説明を提供するために多くの詳細事項が議論される。しかしながら、当業者は、本開示がそのような特定の詳細事項を有しないで実施できることを理解するだろう。他の例では、良く知られた構造及び装置が、本開示の実施形態を不明瞭することを回避するために、詳細にではなく、ブロック図で示される。
【００１５】
留意すべきことに、実施形態の対応する図面では、信号は線で表される。幾つかの線は、より多くの構成要素の信号経路を示すために太く、及び／又は主な情報フロー方向を示すために１又は複数の端子で矢印を有し得る。このような指示は、限定を意図しない。むしろ、線は、回路又は論理ユニットの容易な理解を助けるために、１又は複数の例示的な実施形態と組み合わせて用いられる。表された信号は、設計の必要又は選好により決定されるように、実際には、いずれかの方向に伝搬し得る１又は複数の信号を有しても良く、任意の適切な種類の信号スキームで実装されても良い。
【００１６】
明細書を通じて、及び請求の範囲の中で、用語「接続される（connected）」は、中間装置を有しない、接続される物の間の直接電気的、機械的、又は磁気的接続を意味する。用語「結合される（coupled）」は、接続される要素間の直接的な電気的、機械的、又は磁気的接続、又は１又は複数の受動的若しくは能動的中間装置を通じた間接的な接続を意味する。用語「回路（circuit）」又は「モジュール（module）」は、所望の機能を提供するために互いに協働するよう配置される１又は複数の受動的及び／又は能動的コンポーネントを表し得る。用語「信号」は、少なくとも１つの電流信号、電圧信号、磁気信号、又はデータ／クロック信号を表し得る。単数を表す語（a、an、the）の意味は、複数の参照も含む。「中に（in）」の意味は、「中に（in）」及び「上に（on）」を含む。
【００１７】
用語「実質的に（substantially）」、「近い、約、ほぼ（close、approximately、near、about）」は、通常、（特に指定されない限り）目標値の＋／−１０％の範囲内にあることを表す。特に断らない限り、序数の形容詞「第１の」、「第２の」、「第３の」、等の共通の目的語を記述するための使用は、単に、同様の物の異なる存在が言及されていることを示し、記載されている物が時間的又は空間的に所与の順序に、順位付けに、又は任意の他の方法で存在しなければならないことを意味するものではない。
【００１８】
本開示の目的のために、フレーズ「Ａ及び／又はＢ」及び「Ａ又はＢ」は、（Ａ）、（Ｂ）、又は（Ａ及びＢ）を意味する。本開示の目的のために、フレーズ「Ａ、Ｂ及び／又はＣ」は、（Ａ）、（Ｂ）、（Ｃ）、（Ａ及びＢ）、（Ａ及びＣ）、（Ｂ及びＣ）又は（Ａ、Ｂ及びＣ）を意味する。
【００１９】
実施形態の目的のために、種々の回路、モジュール、及びロジックブロックの中のトランジスタは、ドレイン、ソース、ゲート及びバルク端子を有する金属酸化物半導体（ＭＯＳ）トランジスタである。トランジスタは、トリゲート及びＦｉｎＦＥＴトランジスタ、円筒形全周ゲートトランジスタ、トンネリングＦＥＴ（ＴＦＥＴ）、正方形ワイヤ、又は方形リボントランジスタ、又はカーボンナノチューブ若しくはスピントロニック素子のようなトランジスタ機能を実装する他の素子も含む。ＭＯＳＦＥＴの対照的なソース及びドレイン端子は、つまり、同一の端子であり、本願明細書では同義的に使用される。他方で、ＴＦＥＴ素子は、非対称のソース及びドレイン端子を有する。当業者は、他のトランジスタ、例えば、バイポーラ接合トランジスタ、ＢＪＴ  ＰＮＰ／ＮＰＮ、ＢｉＣＭＯＳ、ＣＭＯＳ、ｅＦＥＴ、等が本開示の範囲から逸脱することなく使用されて良いことを理解する。
【００２０】
図１は、本開示の幾つかの実施形態による、ドライバの出力を監視することにより補償済みインピーダンスを適応的に調整するシステム１００を示す。幾つかの実施形態では、システム１００は、インピーダンス校正ロジック（ＲＣＯＭＰ校正ロジック）１０１、補償済みインピーダンスを適応的に調整する機器１０２、ドライバ１０３（例えば、プレドライバを有する高速ドライバ）、バイアス生成器１０４、伝送線１０５、及び受信機終端抵抗器（例えば４５オーム抵抗器）を有する。本例では、伝送線１０５のインピーダンスは、受信機終端抵抗器のインピーダンスと整合するために、４０オームから５０オームであると仮定される。しかしながら、他のインピーダンス値も使用され、ドライバ１０３及び受信機のインピーダンスと整合されて良い。本例では、伝送線１０５の他端にある受信機は、受信機終端抵抗器によりモデル化される。
【００２１】
幾つかの実施形態では、インピーダンス校正ロジック１０１は、プルアップ及びプルダウン補償済みインピーダンスコード（例えば、それぞれＲｃｏｍｐ＿Ｒｐｕｌｌ［５：０］及びＲｃｏｍｐ＿Ｒｐｄ［５：０］コード）を機器１０２に提供する。幾つかの実施形態では、プルアップ及びプルダウン補償済みインピーダンスコードは、ＤＣ（又は低周波数）に基づくプロセス、電圧、及び温度（process,  voltage,  and  temperature：ＰＶＴ）変動を補償するためにこれらのコードを決定する補償ドライバから取得される。しかしながら、これらの補償済みコードは、ドライバ１０３により見られるインピーダンスに対するＡＣ変化を補償されない。例えば、ドライバ１０３が、ドライバ１０３のインピーダンスと異なるインピーダンスを有する集積回路（ＩＣ）にパッケージされるとき、リンギング、オーバーシュート、アンダーシュート、等が、ドライバ１０３の出力において生じ得る。幾つかの実施形態では、機器１０２は、ドライバ１０３の出力において、インピーダンスに対するこれらのＡＣ変化を補償する。
【００２２】
幾つかの実施形態では、機器１０２は、検出器１０２ａ、クロック生成器１０２ｂ、決定ロジック１０２ｃ、及び増大／減少／バイパスロジック１０２ｄを含む。幾つかの実施形態では、検出器１０２ａは、ドライバ１０３の出力に結合される。幾つかの実施形態では、検出器１０２ａは、多相クロック（例えば、４ビットクロックＣＬＫ［３：０］）、第１基準電圧（例えば、ＶｒｅｆＨｉ＿１）、及び第２基準電圧（例えば、ＶｒｅｆＬｏｗ＿１）を受信する。幾つかの実施形態では、検出器１０２ａは、多相クロックを用いてドライバ１０３の出力における信号レベルを検知し、該信号レベルを第１及び第２基準電圧と比較して、Ｕｐ及び／又はＤｏｗｎ指示子（例えば、４ビットＵｐコードＵＰ［３：０］及び／又は４ビットＤｏｗｎコードＤＮ［３：０］）を生成する。幾つかの実施形態では、検出器１０２ａは、１又は複数のストロングアームラッチ又はクロック供給される比較ラッチを用いて実装される。図４を参照して、１つのこのような実施形態が説明される。
【００２３】
図１に戻ると、幾つかの実施形態では、クロック生成器１０２ｂは、第１クロック（例えばＣＬＫ０）を提供し及び多相クロック出力（例えば、４ビットクロックＣＬＫ［３：０］）を生成する多相信号生成器（図示せず）を含む。幾つかの実施形態では、多相信号生成器（図示せず）は、基準クロック（図示せず）から多相クロック出力を生成する複数の遅延段を有する。幾つかの実施形態では、複数の遅延段は、直列に一緒に結合されたフリップフロップを有する。ここで、基準クロックは、第１フリップフロップへのデータ入力として受信され、より早いクロックが全てのフリップフロップのデータをサンプリングするために使用される。任意の他の適切な回路が、クロック生成器１０２ｂのための多相信号生成器を実装するために使用されて良い。幾つかの実施形態では、第１クロックＣＬＫ０は、インピーダンス校正ロジック１０１にＣａｌｉｂ＿Ｃｌｏｃｋとして提供される。
【００２４】
幾つかの実施形態では、決定ロジック１０２ｃは、検出器１０２ａ及び増大／減少／バイパスロジック１０２ｄに結合される。幾つかの実施形態では、決定ロジック１０２ｃは、Ｕｐ／Ｄｏｗｎ指示（例えば、コードＵＰ［３：０］及びＤＮ［３：０］）を検出器１０２から取得し、増大／減少／バイパスロジック１０２ｄのためにコードセットを生成する。幾つかの実施形態では、これらのコードセットは、上方増加量（ＩＮＣＲ＿ＵＰ）、下方増加量（ＩＮＣＲ＿ＤＮ）、上方減少量（ＤＥＣ＿ＵＰ）、下方減少量（ＤＥＣ＿ＤＮ）、固定プルアップインピーダンスコード（Ｌｏｃｋ＿ＵＰ）、及びプルダウンインピーダンスコード（Ｌｏｃｋ＿ＤＮ）を含む。幾つかの実施形態では、決定ロジック１０２ｃは、検出器１０２ａの出力をフィルタリングする。
【００２５】
幾つかの実施形態では、Ｄｏｗｎ指示子が存在するとき（例えば、ＤＮ［３：０］が少なくとも１つのハイビットを有するとき）、ＩＮＣＲ＿ＵＰが生成される。これは、プルアップインピーダンス脚が通常、ｐ型素子として実装されるからであり、より少ないプルアップインピーダンス脚がオンにされることを要求されるとき（例えば、下降の場合）、ＩＮＣＲ＿ＵＰビットはハイである。しかしながら、当業者は、ロジックを切り替えるために論理パスにインバータを追加することにより、機能的制御を変更でき、Ｄｏｗｎ指示子が、ＩＮＣＲ＿ＵＰをハイにする代わりに、ＩＮＣＲ＿ＤＮをハイにするようにできる。幾つかの実施形態では、Ｕｐ指示子が存在するとき（例えば、ＵＰ［３：０］が少なくとも１つのハイビットを有するとき）、ＤＥＣ＿ＵＰが生成される（例えば、論理ハイにアサートされる）。単にＩＮＣＲ＿ＵＰを生成するロジックが反転されるとき、ＤＥＣ＿ＵＰのロジックも反転できる。幾つかの実施形態では、増大／減少／バイパスロジック１０２ｄは自身をバイパスできる。このような場合には、ＲＣＯＭＰ校正ロジック１０１からのインピーダンスコードは、ドライバ１０３に直接提供される。図５を参照して、増大、減少、及び固定信号を生成する状態機械の一実施形態が説明される。
【００２６】
図１に戻ると、増大／減少／バイパスロジック１０２ｄは、制御信号（例えば、ＩＮＣＲ＿ＵＰ、ＩＮＣＲ＿ＤＮ、ＤＥＣ＿ＵＰ、ＤＥＣ＿ＤＮ、Ｌｏｃｋ＿ＵＰ、Ｌｏｃｋ＿ＤＮ）を受信し、これらの制御信号に基づき補償済みプルアップインピーダンスコード（例えばＲｃｏｍｐ＿Ｒｐｕｌｌ［５：０］）及び／又は補償済みプルダウンインピーダンスコード（例えばＲｃｏｍｐ＿Ｒｐｄ［５：０］）を調整し、それらをプルアップインピーダンスコード（例えばＲｐｕｌｌ［５：０］）及び／又はプルダウンインピーダンスコード（例えばＲｐｄ［４：０］）としてドライバ１０３に提供する。幾つかの実施形態では、増大／減少／バイパスロジック１０２ｄは、固定信号（例えばＬｏｃｋ＿ＵＰ又はＬｏｃｋ＿ＤＮ）を受信すると、プルアップ及び／又はプルダウンインピーダンスコードを凍結する（又はロックする）。
【００２７】
例えば、増大／減少／バイパスロジック１０２ｄがＬｏｃｋ＿ＵＰを受信すると（例えば、Ｌｏｃｋ＿ＵＰがアサートされると）、Ｒｐｕｌｌ［５：０］は少なくとも１クロック周期の間、凍結される。別の例では、増大／減少／バイパスロジック１０２ｄがＬｏｃｋ＿ＤＮを受信すると（例えば、Ｌｏｃｋ＿ＤＮがアサートされると）、Ｒｐｄ［５：０］は少なくとも１クロック周期の間、凍結される。幾つかの実施形態によると、ロックされたコードは、次に、ドライバ１０３へ送信される。幾つかの実施形態では、ロックされた後のプルアップ及びプルダウンインピーダンスコードは、ドライバ１０２に提供される。
【００２８】
幾つかの実施形態では、バイアス生成器１０４は、検出器１０２ａのために第１及び第２基準電圧（例えば、ＶｒｅｆＨｉ＿１及びＶｒｅｆＬｏｗ＿１）を生成する。幾つかの実施形態では、バイアス生成器１０４は、また、ＲＣＯＭＰ校正ロジック１０１のためにバイアス電圧Ｖｒｅｆ＿ｃｏｍｐを生成する。幾つかの実施形態では、第１及び第２基準電圧（例えば、ＶｒｅｆＨｉ＿１及びＶｒｅｆＬｏｗ＿１）は、ドライバ１０３により駆動されるデータの論理ハイレベルに、より近い（例えば、２０％〜５％）。したがって、第１基準電圧ＶｒｅｆＨｉ＿１の電圧レベルは、第２基準電圧ＶｒｅｆＬｏｗ＿１の電圧レベルより高い。幾つかの実施形態では、データがハイレベルに上昇しているとき又はハイレベルであるとき、ＶｒｅｆＨｉ＿１及びＶｒｅｆＬｏｗ＿１の間の差は、オーバーシュート又はリンギングレベル閾を決定する。幾つかの実施形態では、ドライバ１０３により駆動されるデータがＶｒｅｆＨｉ＿１より高く上昇し、又はＶｒｅｆＬｏｗ＿１より下がるとき、検出器１０２ａは、リンギング又はオーバーシュート状態を検出し、プルアップインピーダンスコード（例えば、Ｒｐｕｌｌ［５：０］コード）を調整するために適切なＵＰ／ＤＮコードを生成する。
【００２９】
幾つかの実施形態では、バイアス生成器１０４は、検出器１０２ａのために第３及び第４基準電圧（例えば、ＶｒｅｆＨｉ＿０及びＶｒｅｆＬｏｗ＿０）を生成する。幾つかの実施形態では、第３及び第４基準電圧（例えば、ＶｒｅｆＨｉ＿０及びＶｒｅｆＬｏｗ＿０）は、ドライバ１０３により駆動されるデータの論理ローレベルに、より近い（例えば、２０％〜５％）。したがって、第３基準電圧ＶｒｅｆＨｉ＿０の電圧レベルは、第４基準電圧ＶｒｅｆＬｏｗ＿０の電圧レベルより高い。幾つかの実施形態では、データがローレベルに下降しているとき又はローレベルであるとき、ＶｒｅｆＨｉ＿０及びＶｒｅｆＬｏｗ＿０の間の差は、オーバーシュート又はリンギングレベル閾を決定する。幾つかの実施形態では、ドライバ１０３により駆動されるデータがＶｒｅｆＨｉ＿０より高く上昇し、又はＶｒｅｆＬｏｗ＿０より下がるとき、検出器１０２ａは、リンギング又はオーバーシュート状態を検出し、プルダウンインピーダンスコード（例えば、Ｒｐｄ［５：０］コード）を調整するために適切なＵＰ／ＤＮコードを生成する。
【００３０】
図２は、本開示の幾つかの実施形態による、補償済みインピーダンスの適応的調整の前後のドライバ１０３の出力を示すグラフ２００を示す。ここで、ｘ軸は時間であり、ｙ軸は電圧である。グラフ２００は、ドライバ１０３の出力における２つの波形２０１及び２０２、多相クロックＣＬＫ０、ＣＬＫ１、ＣＬＫ２、及びＣＬＫ４を含む制御信号、並びに、Ｕｐ／Ｄｏｗｎ信号ＵＰ０、ＵＰ１、ＵＰ２、ＵＰ３、ＵＰ４、ＤＮ０、ＤＮ１、ＤＮ２、ＤＮ３、及びＤＮ４、を示す。本例では、多相信号はそれぞれ２６６ピコ秒（ｐｓ）だけ離れている。ここで、波形２０１（灰色影付き）は、補償済みインピーダンスの適応調整前のドライバ１０３の出力である。一方、波形２０２（黒）は、補償済みインピーダンスの適応調整後のドライバ１０３の出力である。幾つかの実施形態によると、波形２０１及び２０２は互いに重なり合っているが、波形２０２は、クロック周期（単位間隔）の後に達成される。この場合、幾つかの実施形態によると、コードの変化が検出された後に、調整されたコードが少なくとも１周期に適用される。
【００３１】
幾つかの実施形態では、データの各単位間隔（ＵＩ）は、複数の位相クロックを用いてサンプリングされ、第１、第２、第３、及び第４基準電圧（それぞれＶｒｅｆＨｉ＿１、ＶｒｅｆＬｏｗ＿１、ＶｒｅｆＨｉ＿０、ＶｒｅｆＬｏｗ＿０）と比較される。比較に応じて、Ｕｐ／Ｄｏｗｎ指示子が生成される。本例では、オーバーシュート又はリンギングは、ＣＬＫ１及びＣＬＫ３のエッジでサンプリングされる。したがって、ＵＰ１及びＵＰ３のエッジはアサートされ、その間、ＵＰ（例えば、ＵＰ０及びＵＰ４）及びＤＮ（例えば、ＤＮ０、ＤＮ１、ＤＮ２、ＤＮ３、及びＤＮ４）の他のエッジは非アサートのままである。
【００３２】
図３は、本開示の幾つかの実施形態による、機器１０２の動作を示すグラフ３００を示す。グラフ３００は、「Ｎ」個のクロック周期（Ｃｙｃｌｅ−１、Ｃｙｃｌｅ−２、Ｃｙｃｌｅ−３、．．．、Ｃｙｃｌｅ−Ｎ）３０１、検出器１０２ａの状態３０２、決定更新クロックＣＬＫ０（又はＣａｌｉｂ＿Ｃｌｏｃｋ）、及び増大／減少／バイパスロジック１０２ｄの状態３０４を示す。状態３０２は、ドライバ１０３の出力からのデータのサンプリング、及び次に基準電圧に対する該データの比較を示す。幾つかの実施形態によると、このサンプリング及び比較は、各クロック周期の後に行われる。状態３０３は、有限状態機械（例えば、図５を参照して議論される）の更新状態のクロックを示す。図３に戻ると、状態３０４は、決定ロジック１０２ｃのクロック周期の間の有限状態機械の種々の可能な状態を示す。幾つかの実施形態では、決定更新クロック３０３の間、コードの出力３０４は、サンプリングされ比較された出力に基づき、利用可能である（例えば、増加／減少／変化無し）。幾つかの実施形態では、各決定更新クロック３０３の後に、コード３０４は、サンプリングされ比較された出力３０２に依存して変化する。
【００３３】
図４は、本開示の幾つかの実施形態による、ドライバの出力を監視することにより補償済みインピーダンスを適応的に調整する機器４００を示す。任意の他の図の要素と同じ参照符号（又は名称）を有する図４のこれらの要素は、記載されたものと同様の方法で動作し又は機能できるが、そのように限定されないことが指摘される。機器４００は、図１の種々のシステムコンポーネントの詳細を含む。機器４００は、ＲＣＯＭＰロジック１０１、増大／減少／固定ロジック１０２ｄ、ロジック４０１、ドライバ４０２／１０３、検出器４０３／１０２ａ、バイアス生成器４０４／１０４、及び決定ブロック４０５／１０２ｃを含む。幾つかの実施形態では、ロジック４０１は、Ｄａｔａ及びＤａｔａｂ（例えば、Ｄａｔａの反転）を提供する任意の適切なロジックである。
【００３４】
幾つかの実施形態では、ドライバ４０２／１０３は、データを伝搬するロジック及びその関連するインピーダンスコードを含む。幾つかの実施形態では、ＡＮＤゲート４０２ａ（又はその均等物）が設けられ、Ｄａｔａ及びプルアップインピーダンスコードＲｐｕｌｌ［５：０］を受信し、プレドライバ４０２ｃに出力を提供する。幾つかの実施形態では、ＡＮＤゲート４０２ｂ（又はその均等物）が設けられ、Ｄａｔａｂ及びプルダウンインピーダンスコードＲｐｄ［５：０］を受信し、プレドライバ４０２ｄに出力を提供する。プレドライバ４０２ｃ／ｄは、任意の適切なプレドライバ設計により実装できる。本例では、プレドライバ４０２ｃ／ｄの入力及び出力は、５ビットバスである。幾つかの実施形態では、ドライバ４０２ｅは、供給ノードＶｄｄ（例えば、電力）及びＶｓｓ（例えば、グランド）の間に結合されるプルアップ及びプルダウンドライバを有する。幾つかの実施形態では、ドライバ４０２ｅは、ＵＳＢ（Universal  Serial  Bus）準拠ドライバである。ドライバ４０２ｅの出力は、ＵＳＢＤＰ及びＵＳＢＤＭである。ここで、ノード名称及び信号名称の参照は、同義的に使用される。例えば、クロック「ＣＬＫ０」は、文脈に依存してノードＣＬＫ０又はクロック信号ＣＬＫ０を表して良い。
【００３５】
幾つかの実施形態では、検出器４０３／１０２ａは、出力ＵＳＢＤＰ及びＵＳＢＤＭに及び基準電圧ＶｒｅｆＨｉ＿１及びＶｒｅｆＬｏｗ＿１に結合される複数の比較ラッチ（例えば、Strong  Arm  Latches：ＳＡＬ、クロック供給される比較器、等）を含む。実施形態を不明瞭にしないために、ノードＵＳＢＤＰ及びＵＳＢＤＭ上のデータがハイレベルに上昇するとき、オーバーシュート／リンギングを検出するための基準電圧が開示される。ノードＵＳＢＤＰ及びＵＳＢＤＭ上のデータがローレベルに降下するとき、オーバーシュート／リンギングを検出するための基準電圧も、別の比較ラッチセット（図示しない）に追加できる。幾つかの実施形態では、検出器４０３／１０２ａは、高速受信機（ＲＸ）の部分である。
【００３６】
幾つかの実施形態では、比較ラッチ４０３ａは、入力ＵＳＢＤＰ及びＵＳＢＤＭを受信し、それらを基準電圧ＶｒｅｆＨｉ＿１及びＶｒｅｆＬｏｗ＿１と比較し、クロックＣＬＫ０を用いて入力ＵＳＢＤＰ及びＵＳＢＤＭをサンプリングする。幾つかの実施形態によると、比較ラッチ４０３ａのサンプリングされた出力は、ＵＰ０及びＤＮ０であり、ロジック４０５／１０２ｃに提供される。幾つかの実施形態では、比較ラッチ４０３ｂは、入力ＵＳＢＤＰ及びＵＳＢＤＭを受信し、それらを基準電圧ＶｒｅｆＨｉ＿１及びＶｒｅｆＬｏｗ＿１と比較し、クロックＣＬＫ１を用いて入力ＵＳＢＤＰ及びＵＳＢＤＭをサンプリングする。幾つかの実施形態によると、比較ラッチ４０３ｂのサンプリングされた出力は、ＵＰ１及びＤＮ１であり、ロジック４０５／１０２ｃに提供される。幾つかの実施形態では、比較ラッチ４０３ｃは、入力ＵＳＢＤＰ及びＵＳＢＤＭを受信し、それらを基準電圧ＶｒｅｆＨｉ＿１及びＶｒｅｆＬｏｗ＿１と比較し、クロックＣＬＫ２を用いて入力ＵＳＢＤＰ及びＵＳＢＤＭをサンプリングする。幾つかの実施形態によると、比較ラッチ４０３ｃのサンプリングされた出力は、ＵＰ２及びＤＮ２であり、ロジック４０５／１０２ｃに提供される。幾つかの実施形態では、比較ラッチ４０３ｄは、入力ＵＳＢＤＰ及びＵＳＢＤＭを受信し、それらを基準電圧ＶｒｅｆＨｉ＿１及びＶｒｅｆＬｏｗ＿１と比較し、クロックＣＬＫ３を用いて入力ＵＳＢＤＰ及びＵＳＢＤＭをサンプリングする。幾つかの実施形態によると、比較ラッチ４０３ｄのサンプリングされた出力は、ＵＰ３及びＤＮ３であり、ロジック４０５／１０２ｃに提供される。
【００３７】
実施形態は、４個の多相クロックを用いてデータをサンプリングし及び比較する４個の比較ラッチを示すが、他の数の比較ラッチ及び多相クロックが、データをサンプリングし基準電圧に対して比較するために使用されて、所望のレベルのＡＣインピーダンス校正を達成して良い。
【００３８】
幾つかの実施形態では、バイアス生成器４０４／１０４は、分圧器として（例えば抵抗ラダーを用いて）実装される。他の実施形態では、バイアス生成器４０４／１０４の他の適切な実装が使用されて良い。幾つかの実施形態では、バイアス生成器４０４／１０４は、検出器４０３／１０２ａ及びＲＣＯＭＰ１０１により共有される。幾つかの実施形態では、異なるバイアス生成器が、検出器４０３／１０２ａ及びＲＣＯＭＰ１０１のために使用される。
【００３９】
幾つかの実施形態では、ロジック４０５／１０２ｃは、Ｕｐ及びＤｏｗｎ信号（例えば、ＵＰ０、ＤＮ０、ＵＰ１、ＤＮ１、ＵＰ２、ＤＮ２、並びにＵＰ３、ＤＮ３）をサンプリングする複数の順序ロジック（例えば、フリップフロップ）を有する。複数の順序ロジックの１つの目的は、インピーダンスコードが決定ロジック１０２ｃ及び増大／減少／固定ロジック１０２ｄにより調整される前に、Ｕｐ及びＤｏｗｎ信号の中の任意の可能なノイズをフィルタリングすることである。図５は、インピーダンスコードを生成する１つの可能な決定処理を示す。
【００４０】
図５は、本開示の幾つかの実施形態による、ドライバの出力を監視することにより補償済みインピーダンスを適応的に調整する有限状態機械（ＦＳＭ）５００を示す。任意の他の図の要素と同じ参照符号（又は名称）を有する図５のこれらの要素は、記載されたものと同様の方法で動作し又は機能できるが、そのように限定されないことが指摘される。本例では、４個の状態ＦＳＭが示される。他の実施形態では、ＦＳＭ５００の能力を拡張するために、より多くの状態が追加され得る。４個の状態は、開始状態５０１、減少（ＤＥＣ）状態５０２、固定状態５０３、及び増大（ＩＮＣ）状態５０４である。
【００４１】
幾つかの実施形態では、ＦＳＭ５００は開始状態５０１で開始する。検出器１０２ａがＵｐ又はＤｏｗｎの場合を示すとき（例えば、ＵＰ＝１、ＤＮ＝０のとき、又はＵＰ＝０、ＤＮ＝１のとき）、ＦＳＭ５００は、次のクロック周期で、ＤＥＣ状態５０２又はＩＮＣ状態５０４のうちの１つに移行する。ＦＳＭ５００は、次に、Ｕｐ及びＤｏｗｎ信号の指示子が同じ限り、その状態に留まる。例えば、ＵＰ＝１且つＤＮ＝０のとき、ＦＳＭ５００はＤＥＣ状態５０２であり、次にＦＳＭ５００はＤＥＣ状態５０２に留まる。同様に、ＵＰ＝０且つＤＮ＝１のとき、ＦＳＭ５００はＩＮＣ状態５０４であり、次にＦＳＭ５００はＩＮＣ状態５０４に留まる。
【００４２】
幾つかの実施形態では、ＦＳＭ５００がＤＥＣ状態５０２であり、Ｕｐ及びＤｏｗｎ指示子の状態が変化して、指示子のうちの１つがアサート状態であるとき、ＦＳＭ５００は開始状態５０１に戻る。例えば、ＵＰが１から０に変化し、ＤＮが０から１に変化し、その間、ＦＳＭ５００がＤＥＣ状態５０２であるとき、ＦＳＭ５００は開始状態５０１に移行する。幾つかの実施形態では、ＦＳＭ５００がＩＮＣ状態５０４であり、Ｕｐ及びＤｏｗｎ指示子の状態が変化して、指示子のうちの１つがアサート状態であるとき、ＦＳＭ５００は開始状態５０１に戻る。例えば、ＵＰが０から１に変化し、ＤＮが１から０に変化し、その間、ＦＳＭ５００がＩＮＣ状態５０４であるとき、ＦＳＭ５００は開始状態５０１に移行する。
【００４３】
幾つかの実施形態では、ＦＳＭ５００が開始状態５０１、ＤＥＣ状態５０２、又はＩＮＣ状態５０４のうちの１つであり、Ｕｐ／Ｄｏｗｎ指示子がゼロになると（例えば、インピーダンスコードの更なる変化が必要ないことを示す）、ＦＳＭ５００は固定状態５０３に移行する。この状態では、インピーダンスコード（例えば、Ｒｐｕｌｌ［５：０］及びＲｐｄ［５：０］）は、Ｒｅｓｅｔｂがアサートされるまで固定又は凍結される。例えば、固定状態５０３であり且つＲｅｓｅｔｂがアサートされると、ＦＳＭは固定状態５０３から開始状態５０１に移行する。
【００４４】
幾つかの実施形態によると、ＦＳＭ５００は、増大／減少コードを生成して、ＡＣインピーダンス不整合に応じる。幾つかの実施形態では、ＦＳＭ５００は、インピーダンス不整合に応じるために、クロック周期毎に１つのコードだけ増大又は減少する。幾つかの実施形態によると、正しいコードを見付けることは、ＵＰ／ＤＮ指示が００になるときまで続く。幾つかの実施形態では、実際のデータ送信のために、固定されたインピーダンスコードが使用される。幾つかの実施形態では、ＦＳＭ５００は、データのトレーニングシーケンス（例えば、シーケンス１０１０１０）の間、動作する。幾つかの実施形態では、インピーダンスコードが固定されると、該コードは、実際のデータ送信の間、使用される。当業者は、機械を実装するためのロジックが反転される場合又は反対の極性制御信号（Ｕｐ及びＤｏｗｎ）が使用される場合、ＩＮＣ及びＤＥＣロジックのための状態機械ロジックが変化し得ることを理解する。幾つかの場合には、ＩＮＣ及びＤＥＣロジックが変えられると、ＵＰ／ＤＮのためのロジックも変化し得る。
【００４５】
図６は、本開示の幾つかの実施形態による、データがハイを駆動しているとき、ドライバの出力を監視することにより補償済みプルアップインピーダンスを適応的に調整する方法のフローチャート６００を示す。任意の他の図の要素と同じ参照符号（又は名称）を有する図６のこれらの要素は、記載されたものと同様の方法で動作し又は機能できるが、そのように限定されないことが指摘される。
【００４６】
フローチャート６００は、「Ｓｔａｒｔ」ブロックで開始し、次にブロック６０１に進む。ブロック６０１で、ドライバ１０３の出力のデータがＨｉｇｈかＬｏｗかが決定される。ＤａｔａがＨｉｇｈである場合、処理はブロック６０２へ進み、その他の場合、処理は図７を参照して記載されるブロック７０２に進む。図６に戻ると、ブロック６０２で、検出器１０２ａは、多相クロック信号を用いてデータをサンプリングし、基準電圧ＶｒｅｆＨｉ＿１及びＶｒｅｆＬｏｗ＿１と比較する。このブロックの出力は、オーバーシュート／リンギングに関連付けられるＵｐ及びＤｏｗｎ指示子である。
【００４７】
ブロック６０３で、連続するＵＰ及びＤｏｗｎデータがハイであるか否かが決定される。（検出器１０２ａにより生成される）連続するＵＰ及びＤｏｗｎデータを調べることの１つの理由は、インピーダンスコードが調整される前に、ＵＰ及びＤｏｗｎデータにある任意のノイズをフィルタリングするためである。連続サンプリングされたデータがハイであると決定された場合（例えば、オーバーシュート条件が実際にキャプチャされた）、ブロック６０５でプルアップインピーダンスコードが増大される（例えば、Ｒｕｐ＝Ｒｕｐ−１）。次に、処理はブロック６０１に進む。ブロック６０３で、連続サンプリングされたデータがハイではないと決定された場合、処理はブロック６０６に進み、プルアップインピーダンスコードが固定される（例えば、Ｒｕｐが定められる）。処理は次にブロック６０８に進み、ＡＣインピーダンス不整合を解決するためのインピーダンスコードを調整するために、プルアップインピーダンスコードがドライバ１０３にロードされる。
【００４８】
ブロック６０４で、連続するＵｐ及びＤｏｗｎデータがローであるか否かが決定される。（検出器１０２ａにより生成される）連続するＵｐ及びＤｏｗｎデータを調べることの１つの理由は、インピーダンスコードが調整される前に、Ｕｐ及びＤｏｗｎデータにある任意のノイズをフィルタリングするためである。連続サンプリングされたデータがローであると決定された場合、ブロック６０７で、プルアップインピーダンスコードは減少される（例えば、Ｒｕｐ＝Ｒｕｐ＋１）次に、処理はブロック６０１に進む。ブロック６０４で、連続サンプリングされたデータがローではないと決定された場合、処理はブロック６０６に進み、プルアップインピーダンスコードが固定される（例えば、Ｒｕｐが定められる）。処理は次にブロック６０８に進み、ＡＣインピーダンス不整合を解決するためのインピーダンスコードを調整するために、プルアップインピーダンスコードがドライバ１０３にロードされる。
【００４９】
図７は、本開示の幾つかの実施形態による、データがローを駆動しているとき、ドライバの出力を監視することにより補償済みプルダウンインピーダンスを適応的に調整する方法のフローチャート７００を示す。任意の他の図の要素と同じ参照符号（又は名称）を有する図７のこれらの要素は、記載されたものと同様の方法で動作し又は機能できるが、そのように限定されないことが指摘される。
【００５０】
フローチャート７００は、「Ｓｔａｒｔ」ブロックで開始し、次にブロック７０１に進む。ブロック７０１で、ドライバ１０３の出力のデータがＨｉｇｈかＬｏｗかが決定される。ＤａｔａがＨｉｇｈである場合、処理は図６のブロック６０２へ進み、その他の場合、処理はブロック７０２に進む。図７に戻ると、ブロック７０２で、検出器１０２ａは、多相クロック信号を用いてデータをサンプリングし、基準電圧ＶｒｅｆＨｉ＿０及びＶｒｅｆＬｏｗ＿０と比較する。このブロックの出力は、アンダーシュート／リンギングに関連付けられるＵｐ及びＤｏｗｎ指示子である。
【００５１】
ブロック７０３で、連続するＵｐ及びＤｏｗｎデータがハイであるか否かが決定される。（検出器１０２ａにより生成される）連続するＵｐ及びＤｏｗｎデータを調べることの１つの理由は、インピーダンスコードが調整される前に、Ｕｐ及びＤｏｗｎデータにある任意のノイズをフィルタリングするためである。連続サンプリングされたデータがローであると決定された場合（例えば、アンダーシュート条件が実際にキャプチャされた）、ブロック７０５でプルダウンインピーダンスコードが増大される（例えば、Ｒｄｎ＝Ｒｄｎ−１）。次に、処理はブロック７０１に進む。ブロック７０３で、連続サンプリングされたデータがハイではないと決定された場合、処理はブロック７０６に進み、プルダウンインピーダンスコードが固定される（例えば、Ｒｄｎが定められる）。処理は次にブロック７０８に進み、ＡＣインピーダンス不整合を解決するためのインピーダンスコードを調整するために、プルダウンインピーダンスコードがドライバ１０３にロードされる。
【００５２】
ブロック７０４で、連続するＵｐ及びＤｏｗｎデータがローであるか否かが決定される。（検出器１０２ａにより生成される）連続するＵｐ及びＤｏｗｎデータを調べることの１つの理由は、インピーダンスコードが調整される前に、Ｕｐ及びＤｏｗｎデータにある任意のノイズをフィルタリングするためである。連続サンプリングされたデータがハイであると決定された場合、ブロック７０７で、プルダウンインピーダンスコードは減少される（例えば、Ｒｄｎ＝Ｒｄｎ＋１）次に、処理はブロック７０１に進む。ブロック７０４で、連続サンプリングされたデータがローではないと決定された場合、処理はブロック７０６に進み、プルダウンインピーダンスコードが固定される（例えば、Ｒｄｎが定められる）。処理は次にブロック７０８に進み、ＡＣインピーダンス不整合を解決するためのインピーダンスコードを調整するために、プルダウンインピーダンスコードがドライバ１０３にロードされる。
【００５３】
図６−７を参照するとフローチャート内のブロックは特定順序で示されるが、動作の順序は変更できる。したがって、図示の実施形態は異なる順序で実行でき、幾つかの動作／ブロックは並列に実行されて良い。図６−７に列挙されたブロック及び／又は動作のうちの幾つかは、特定の実施形態によると任意である。提示のブロックの番号付けは、明確さのためであり、種々のブロックが生じなければならない動作順序を記述するものではない。さらに、種々のフローからの動作は、種々の組み合わせで利用されて良い。
【００５４】
図８は、幾つかの実施形態による、ドライバの出力を監視することにより補償済みインピーダンスを適応的に調整する機器を有するスマートデバイス又はコンピュータシステム又はＳｏＣ（System−on−Chip）を示す。任意の他の図の要素と同じ参照符号（又は名称）を有する図８のこれらの要素は、記載されたものと同様の方法で動作し又は機能できるが、そのように限定されないことが指摘される。
【００５５】
図８は、平面インタフェースコネクタが用いられ得るモバイル装置の一実施形態のブロック図を示す。幾つかの実施形態では、コンピューティング装置２１００は、コンピューティングタブレット、携帯電話機若しくはスマートフォン、無線可能読み取り機、又は他の無線モバイル装置のようなモバイルコンピューティング装置を表す。コンポーネントが一般的に示されること、及びこのような装置の全てのコンポーネントがコンピューティング装置２１００内に示されないことが理解されるだろう。
【００５６】
幾つかの実施形態では、コンピューティング装置２１００は、幾つかの実施形態による、ドライバの出力を監視することにより補償済みインピーダンスを適応的に調整する機器を備える第１プロセッサを含む。コンピューティング装置２１００の他のブロックも、幾つかの実施形態による、ドライバの出力を監視することにより補償済みインピーダンスを適応的に調整する機器を含んで良い。本開示の種々の実施形態は、無線インタフェースのような２１７０内のネットワークインタフェースを有して良い。したがって、システムの実施形態は、無線装置、例えば携帯電話機又はパーソナルデジタルアシスタントに組み込まれて良い。
【００５７】
一実施形態では、プロセッサ２１１０（及び／又はプロセッサ２１９０）は、マイクロプロセッサ、アプリケーションプロセッサ、マイクロコントローラ、プログラマブル論理装置、又は他の処理手段のような１又は複数の物理装置を含み得る。プロセッサ２１１０により実行される処理動作は、アプリケーション及び／又は装置機能が実行されるオペレーティングプラットフォーム又はオペレーティングシステムの実行を含む。処理動作は、人間のユーザと又は他の装置とのＩ／Ｏ（入力／出力）に関連する動作、電力管理に関連する動作、及び／又はコンピューティング装置２１００の別の装置への接続に関連する動作を含む。処理動作は、オーディオＩ／Ｏ及び／又はディスプレイＩ／Ｏに関連する動作も含んで良い。
【００５８】
一実施形態では、コンピューティング装置２１００は、コンピューティング装置へのオーディオ機能の提供に関連するハードウェア（例えば、オーディオハードウェア及びオーディオ回路）及びソフトウェア（例えば、ドライバ、コーデック）コンポーネントを表すオーディオサブシステム２１２０を含む。オーディオ機能は、スピーカ及び／又はヘッドフォン出力、並びにマイクロフォン入力を含み得る。このような機能のための装置は、コンピューティング装置２１００に統合されるか、又はコンピューティング装置２１００に接続できる。一実施形態では、ユーザは、プロセッサ２１００により受信され処理されるオーディオコマンドを提供することによりコンピューティング装置２１１０と相互作用する。
【００５９】
ディスプレイサブシステム２１３０は、コンピューティング装置２１００と相互作用するために視覚及び／又は触覚ディスプレイをユーザに提供するハードウェア（例えば、ディスプレイ装置）及びソフトウェア（例えば、ドライバ）コンポーネントを表す。ディスプレイサブシステム２１３０は、ディスプレイインタフェース２１３２を含み、ユーザにディスプレイを提供するために用いられる特定のスクリーン又はハードウェア装置を含む。一実施形態では、ディスプレイインタフェース２１３２は、ディスプレイに関連する少なくとも特定の処理を実行するために、プロセッサ２１１０とは別個のロジックを含む。一実施形態では、ディスプレイサブシステム２１３０は、ユーザに出力及び入力の両方を提供するタッチスクリーン（又はタッチパッド）装置を含む。
【００６０】
Ｉ／Ｏ制御部２１４０は、ユーザとの相互作用に関連するハードウェア装置及びソフトウェアコンポーネントを表す。Ｉ／Ｏ制御部２１４０は、オーディオサブシステム２１２０及び／又はディスプレイサブシステム２１３０の一部であるハードウェアを管理するよう動作する。追加で、Ｉ／Ｏ制御部２１４０は、装置２１００に接続する追加装置の接続点を示す。この接続点を通じてユーザはシステムと相互作用し得る。例えば、コンピューティング装置２１００に取り付けることができる装置は、マイクロフォン装置、スピーカ若しくはステレオシステム、ビデオシステム若しくは他のディスプレイ装置、キーボード若しくはキーパッド装置、又はカードリーダ若しくは他の装置のような特定アプリケーションと共に使用する他のＩ／Ｏ装置を含み得る。
【００６１】
上述のように、Ｉ／Ｏ制御部２１４０は、オーディオサブシステム２１２０及び／又はディスプレイサブシステム２１３０と相互作用できる。例えば、マイクロフォン又は他のオーディオ装置を通じた入力は、コンピューティング装置２１００の１又は複数のアプリケーション又は機能の入力又はコマンドを提供できる。追加で、オーディオ出力は、ディスプレイ出力の代わりに又はそれに追加で提供され得る。別の例では、ディスプレイサブシステム２１３０がタッチスクリーンを含む場合、ディスプレイ装置は、入力装置としても動作し、Ｉ／Ｏ制御部２１４０により少なくとも部分的に管理され得る。Ｉ／Ｏ制御部２１４０により管理されるＩ／Ｏ機能を提供するために、コンピューティング装置２１００に追加ボタン又はスイッチが存在して良い。
【００６２】
一実施形態では、Ｉ／Ｏ制御部２１４０は、加速度計、カメラ、光センサ若しくは他の環境センサ、又はコンピューティング装置２１００に含まれ得る他のハードウェアのような装置を管理する。入力は、（ノイズのフィルタリング、明るさ検出のためのディスプレイ調整、カメラのフラッシュの適用、又は他の機能のような）システムの動作に影響を与えるために環境入力をシステムに提供すると共に、直接ユーザ相互作用の一部であり得る。
【００６３】
一実施形態では、コンピューティング装置２１００は、バッテリ電力使用、バッテリ充電、及び省電力動作に関連する機能を管理する電力管理２１５０を含む。メモリサブシステム２１６０は、コンピューティング装置２１００に情報を格納するメモリ装置を有する。メモリは、不揮発性（メモリ装置への電力が中断された場合に状態が変化しない）及び／又は揮発性（メモリ装置への電力が中断された場合に状態が変化する）メモリ装置を含み得る。メモリサブシステム２１６０は、アプリケーションデータ、ユーザデータ、音楽、写真、文書又は他のデータ、並びにアプリケーション及びコンピューティング装置２１００の機能の実行に関連するシステムデータ（長期間又は一時的にかかわらず）を格納できる。
【００６４】
実施形態の要素は、コンピュータ実行可能命令（例えば、本願明細書で議論する任意の他の処理を実施する命令）を格納する機械可読媒体（例えば、メモリ２１６０）として提供される。機械可読媒体（例えば、メモリ２１６０）は、限定ではないが、フラッシュメモリ、光ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気若しくは光カード、相変化メモリ（phase  change  memory：ＰＣＭ）又は電子若しくはコンピュータ実行可能命令を格納するのに適する他の種類の機械可読媒体を含み得る。例えば、本開示の実施形態は、リモートコンピュータ（例えば、サーバ）から要求側コンピュータ（例えば、クライアント）へ、通信リンク（例えば、モデム又はネットワーク接続）を介したデータ信号により転送され得るコンピュータプログラム（例えば、ＢＩＯＳ）としてダウンロードされて良い。
【００６５】
接続２１７０は、コンピューティング装置２１００が外部装置と通信するのを可能にするハードウェア装置（例えば、無線及び／又は有線コネクタ、並びに通信ハードウェア）及びソフトウェアコンポーネント（例えば、ドライバ、プロトコルスタック）を含む。コンピューティング装置２１００は、他のコンピューティング装置、無線アクセスポイント若しくは基地局、並びにヘッドセット、プリンタ又は他の装置のような周辺機器のような別個の装置であり得る。
【００６６】
接続２１７０は、複数の異なる種類の接続を含むことができる。一般化するため、コンピューティング装置２１００は、セルラ接続２１７２及び無線接続２１７４とともに示される。セルラ接続２１７２は、概して、ＧＳＭ（登録商標）（global  system  for  mobile  communications）若しくは変形若しくは波生物、ＣＤＭＡ（code  division  multiple  access）若しくは変形若しくは波生物、ＴＤＭＡ（time  division  multiplexing）若しくは変形若しくは波生物、又は他のセルラサービス標準を介して提供されるような無線通信事業者により提供されるセルラネットワーク接続を表す。無線接続（又は無線インタフェース）２１７４は、セルラではない無線接続を表し、（Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｎｅａｒ  Ｆｉｅｌｄ、等のような）個人域ネットワーク、（Ｗｉ−Ｆｉのような）ローカルエリアネットワーク、及び／又は（ＷｉＭａｘのような）広域ネットワーク、又は他の無線通信を含み得る。
【００６７】
幾つかの実施形態では、周辺機器接続２１８０は、ハードウェアインタフェース及びコネクタ、並びに周辺機器接続を生成するソフトウェアコンポーネント（例えば、ドライバ、プロトコルスタック）を含む。コンピューティング装置２１００は他のコンピューティング装置に対する周辺装置（２１８２「へ」）であり、並びに自身に接続される周辺装置（２１８４「から」）の両方であり得ることが理解される。コンピューティング装置２１００は、通常、コンピューティング装置２１００のコンテンツを管理する（例えば、ダウンロードし及び／又はアップロードし、変更し、同期化する）ような目的で他のコンピューティング装置に接続するための「ドッキング」コネクタを有する。追加で、ドッキングコネクタは、コンピューティング装置２１００を、コンピューティング装置２１００に例えばオーディオビジュアル若しくは他のシステムへのコンテンツ出力を制御させる特定の周辺機器に接続できるようにする。
【００６８】
独自仕様のドッキングコネクタ又は他の独自仕様の接続ハードウェアに加えて、コンピューティング装置２１００は、共通若しくは標準に基づくコネクタを介して周辺機器接続２１８０を生成できる。一般的な種類は、（任意の数の異なるハードウェアインタフェースを含むことができる）ＵＳＢ（Universal  Serial  Bus）コネクタ、ＭＤＰ（MiniDisplayPort）を含むDisplayPort、ＨＤＭＩ（登録商標）（High  Definition  Multimedia  Interface）、Fire  wire、又は他の種類を含み得る。
【００６９】
本願明細書において本発明の「一実施形態」又は「ある実施形態」、「幾つかの実施形態」、又は「他の実施形態」への言及は、実施形態と関連して記載された特定の機能、構造又は特徴が、必ずしも全部の実施形態ではなく少なくとも幾つかの実施形態に含まれることを意味する。「一実施形態」、「ある実施形態」、又は「幾つかの実施形態」の種々の表現は、必ずしも全て同じ実施形態を参照しない。本願明細書は、コンポーネント、機能、構造又は特徴が「しても良い」、「し得る」（may、might又はcould）と記述する場合、その特定のコンポーネント、機能、構造、又は特徴が含まれることを要求しない。本願明細書又は請求項は、単数（a又はan）の要素を参照する場合、複数の要素のうちの１つのみが存在することを意味しない。本願明細書又は請求項は、「追加の」（additional）要素に言及する場合、１より多い追加要素の存在を排除しない。
【００７０】
さらに、特定の特徴、構造、機能又は特性は、１又は複数の実施形態において、任意の適切な方法で結合されて良い。例えば、２つの実施形態に関連する特定の特徴、構造、機能又は特性が相互に排他的でない限り、第１の実施形態は第２の実施形態と結合されて良い。
【００７１】
本開示は本開示の特定の実施形態と関連して記載されたが、そのような実施形態の多くの代替、変更及び変形が、前述の記載を考慮に入れて当業者に明らかである。例えば、他のメモリアーキテクチャ、例えばダイナミックＲＡＭ（Dynamic  RAM）は議論した実施形態を使用して良い。本開示の実施形態は、全てのこのような代替、変更及び変形が添付の請求の範囲の広範な範囲内に包含されることを意図する。
【００７２】
さらに、集積回路（ＩＣ）チップ及び他のコンポーネントとのよく知られている電力／グランド接続は、提示された図に示される場合もあり、説明及び議論を簡単にするため及び本開示を不明確にしないために図示されない場合がある。さらに、配置は、本開示を不明確にするのを回避するために、及びこのようなブロック図配置の実装に関する詳細が本開示が実施されるプラットフォームに大きく依存する、つまりこのような詳細は当業者の範囲内であるという事実の観点からブロック図の形式で示され得る。本開示の例示的な実施形態を説明するために固有の詳細（例えば、回路）が説明される場合、当業者には、本開示がこれら固有の詳細を有しないで又はそれらの変形を有して実施できることが明らかである。したがって、説明は、限定ではなく説明のためとして考えられるべきである。
【００７３】
以下の例は、更なる実施形態に関連する。これらの例における詳細は、１又は複数の実施形態のどこでも使用できる。本願明細書に記載の装置の全ての任意的機能は、方法又は処理に関して実装されて良い。
【００７４】
例えば、ドライバの出力に結合されるデータサンプラであって、前記データサンプラは、データをサンプリングして、該データを第１閾電圧及び第２閾電圧と比較し、前記データサンプラは、前記データの前記第１閾電圧及び第２閾電圧との比較に従い、Ｕｐ又はＤｏｗｎ指示子を生成する、データサンプラと、前記データサンプラに結合されるロジックであって、前記ロジックは、前記Ｕｐ又はＤｏｗｎ指示を受信し、前記Ｕｐ又はＤｏｗｎ指示に従い、前記ドライバのＤＣ補償済みインピーダンス脚の数を増大又は減少させる、ロジックと、を含む機器が提供される。幾つかの実施形態では、前記第２閾電圧は、前記第１閾電圧より低い。幾つかの実施形態では、前記機器は、前記第１及び第２閾電圧を生成するためにバイアス生成器を含む。幾つかの実施形態では、前記第１及び第２閾電圧は、前記データの論理ローレベルより前記データの論理ハイレベルに近い。幾つかの実施形態では、前記第１及び第２閾電圧は、前記データの論理ハイレベルより前記データの論理ローレベルに近い。
【００７５】
幾つかの実施形態では、前記機器は、サンプリングクロックのセットによりデータをサンプリングするために、前記データサンプラに、異なる位相を有する前記サンプリングクロックのセットを提供するためにクロック生成器を含む。幾つかの実施形態では、前記データサンプラはストロングアームラッチを有する。幾つかの実施形態では、前記Ｕｐ指示子は、少なくとも２ビットを有するバスであり、前記Ｄｏｗｎ指示子は少なくとも２ビットを有するバスである。幾つかの実施形態では、前記ロジックは、アクティブなインピーダンス脚が増大又は減少された後に、ＤＣ補償済みインピーダンス脚の数を固定する。幾つかの実施形態では、ドライバは伝送線に結合される。幾つかの実施形態では、ドライバは差動ドライバである。
【００７６】
別の例では、システムであって、メモリと、前記メモリに結合されるプロセッサであって、前記プロセッサは上述の機器による機器を備えるプロセッサと、前記プロセッサが別の装置と通信できるようにする無線インタフェースと、を有するシステムが提供される。
【００７７】
別の例では、プルアップインピーダンス脚を有するドライバであって、アクティブなプルアップインピーダンス脚の数は、前記ドライバのプルアップ出力インピーダンスを決定する、ドライバと、前記ドライバの出力に結合される検出器であって、前記検出器は、遅延分だけ間隔の空いた少なくとも２つのクロックエッジで前記出力におけるデータをサンプリングする、検出器と、前記検出器に結合されるカウンタであって、前記カウンタは、基本数のプロセス、電圧、及び温度（ＰＶＴ）補償済みのアクティブなプルアップインピーダンス脚の数を受信し、前記カウンタは、前記基本数に渡り１又は複数のプルアップインピーダンス脚をオンに切り替え又はオフに切り替えて、前記サンプリングされたデータに従い前記アクティブなプルアップインピーダンス脚の数を変化させる、カウンタと、を含む機器が提供される。幾つかの実施形態では、前記データサンプラは、前記データをサンプリングし、該データを第１閾電圧及び第２閾電圧と比較する。幾つかの実施形態では、前記第２閾電圧は、前記第１閾電圧より低い。幾つかの実施形態では、前記機器は、前記第１及び第２閾電圧を生成するためにバイアス生成器を含む。幾つかの実施形態では、前記第１及び第２閾電圧は、前記データの論理ローレベルより前記データの論理ハイレベルに近い。幾つかの実施形態では、前記第１及び第２閾電圧は、前記データの論理ハイレベルより前記データの論理ローレベルに近い。
【００７８】
別の例では、システムであって、メモリと、前記メモリに結合されるプロセッサであって、前記プロセッサは上述の機器による機器を備えるプロセッサと、前記プロセッサが別の装置と通信できるようにする無線インタフェースと、を有するシステムが提供される。
【００７９】
幾つかの実施形態では、方法であって、データをサンプリングするステップと、前記データを第１閾電圧及び第２閾電圧と比較するステップと、前記データの前記第１及び第２閾電圧との比較に従い、Ｕｐ又はＤｏｗｎ指示子を生成するステップと、前記Ｕｐ又はＤｏｗｎ指示子を受信するステップと、前記Ｕｐ又はＤｏｗｎ指示子に従い、ドライバのＤＣ補償済みインピーダンス脚の数を増大又は減少させるステップと、を含む方法が提供される。幾つかの実施形態では、前記第２閾電圧は、前記第１閾電圧より低い。幾つかの実施形態では、前記方法は、前記第１及び第２閾電圧を生成するステップを有する。幾つかの実施形態では、前記第１及び第２閾電圧は、前記データの論理ローレベルより前記データの論理ハイレベルに近い。幾つかの実施形態では、前記第１及び第２閾電圧は、前記データの論理ハイレベルより前記データの論理ローレベルに近い。幾つかの実施形態では、前記方法は、サンプリングクロックのセットによりデータをサンプリングするために、前記データサンプラに、異なる位相を有する前記サンプリングクロックのセットを提供するステップを含む。幾つかの実施形態では、前記Ｕｐ指示子は、少なくとも２ビットを有するバスであり、前記Ｄｏｗｎ指示子は少なくとも２ビットを有するバスである。幾つかの実施形態では、前記方法は、アクティブなインピーダンス脚が増大又は減少された後に、ＤＣ補償済みインピーダンス脚の数を固定するステップを含む。
【００８０】
幾つかの実施形態では、機器であって、データをサンプリングする手段と、前記データを第１閾電圧及び第２閾電圧と比較する手段と、前記データの前記第１及び第２閾電圧との比較に従い、Ｕｐ又はＤｏｗｎ指示子を生成する手段と、前記Ｕｐ又はＤｏｗｎ指示子を受信する手段と、前記Ｕｐ又はＤｏｗｎ指示子に従い、ドライバのＤＣ補償済みインピーダンス脚の数を増大又は減少させる手段と、を含む機器が提供される。幾つかの実施形態では、前記第２閾電圧は、前記第１閾電圧より低い。幾つかの実施形態では、前記機器は、前記第１及び第２閾電圧を生成する手段を有する。幾つかの実施形態では、前記第１及び第２閾電圧は、前記データの論理ローレベルより前記データの論理ハイレベルに近い。幾つかの実施形態では、前記第１及び第２閾電圧は、前記データの論理ハイレベルより前記データの論理ローレベルに近い。幾つかの実施形態では、前記機器は、サンプリングクロックのセットによりデータをサンプリングするために、前記データサンプラに、異なる位相を有する前記サンプリングクロックのセットを提供する手段を含む。幾つかの実施形態では、前記Ｕｐ指示子は、少なくとも２ビットを有するバスであり、前記Ｄｏｗｎ指示子は少なくとも２ビットを有するバスである。幾つかの実施形態では、前記機器は、アクティブなインピーダンス脚が増大又は減少された後に、ＤＣ補償済みインピーダンス脚の数を固定する手段を含む。
【００８１】
別の例では、システムであって、メモリと、前記メモリに結合されるプロセッサであって、前記プロセッサは上述の機器による機器を備えるプロセッサと、前記プロセッサが別の装置と通信できるようにする無線インタフェースと、を有するシステムが提供される。
【００８２】
読者が技術的開示の特性及び主旨を解明できるように、要約が提供される。要旨は請求項の範囲又は意味を限定するために用いられるべきでないことが理解される。ここで、添付の請求項は、各請求項が別個の実施形態として存在するとして、詳細な説明に組み込まれる。
【図１】
2019531003.tif 000003
【図２】
2019531003.tif 000004
【図３】
2019531003.tif 000005
【図４】
2019531003.tif 000006
【図５】
2019531003.tif 000007
【図６】
2019531003.tif 000008
【図７】
2019531003.tif 000009
【図８】
2019531003.tif 000010
【国際調査報告】
2019531003.tif 000011
2019531003.tif 000012