(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-11-27
(54)【発明の名称】線形モードと制限モードとの切り替えが可能なリドライバ
(51)【国際特許分類】
H04N 21/436 20110101AFI20231117BHJP
H04L 25/03 20060101ALI20231117BHJP
【FI】
H04N21/436
H04L25/03
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023528380
(86)(22)【出願日】2021-11-12
(85)【翻訳文提出日】2023-07-12
(86)【国際出願番号】 US2021059045
(87)【国際公開番号】W WO2022103998
(87)【国際公開日】2022-05-19
(32)【優先日】2020-11-12
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-06-30
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】507107291
【氏名又は名称】テキサス インスツルメンツ インコーポレイテッド
(74)【代理人】
【識別番号】230129078
【氏名又は名称】佐藤 仁
(72)【発明者】
【氏名】チャールズ マイケル キャンベル
(72)【発明者】
【氏名】ムスタファ ウルヴィ エルドガン
(72)【発明者】
【氏名】ダグラス エドワード ウェンテ
(72)【発明者】
【氏名】スリダール ラマスワミ
【テーマコード(参考)】
5C164
5K029
【Fターム(参考)】
5C164GA09
5C164TA02S
5C164UB71P
5K029AA03
(57)【要約】
第1のデバイス及び第2のデバイスに結合されるように適合されるリドライバシステム(130)が、第1及び第2の送信機ドライバ並びにスヌープ回路(148)を含む。第1の送信機ドライバは第1のイネーブル入力を有する。第2の送信機ドライバは第2のイネーブル入力を有する。スヌープ回路(148)は、第1及び第2のイネーブル入力に結合される。スヌープ回路(148)は、第1のデバイス及び第2のデバイスが第1のプロトコルに従って動作するか否かを判定するように構成される。第1及び第2のデバイスが第1のプロトコルに従って動作するとスヌープ回路(148)が判定することに応答して、スヌープ回路(148)は、第1の送信機ドライバをイネーブルにし、第2の送信機ドライバをディセーブルにする。第1及び第2のデバイスが第1のプロトコルに従って動作しないとスヌープ回路が判定することに応答して、スヌープ回路は、第1の送信機ドライバをディセーブルにし、第2の送信機ドライバをイネーブルにする。
【特許請求の範囲】
【請求項1】
第1のデバイス及び第2のデバイスに結合するように適合されるリドライバシステムであって、
第1のイネーブル入力を有する第1の送信機ドライバと、
第2のイネーブル入力を有する第2の送信機ドライバと、
前記第1及び第2のイネーブル入力に結合されるスヌープ回路と、
を含み、
前記スヌープ回路が、
前記第1のデバイス及び前記第2のデバイスが第1のプロトコルに従って動作するか否かを判定し、
前記第1及び第2のデバイスが前記第1のプロトコルに従って動作すると前記スヌープ回路が判定することに応答して、前記第1の送信機ドライバをイネーブルにし、前記第2の送信機ドライバをディセーブルにし、
前記第1及び第2のデバイスが前記第1のプロトコル以外のプロトコルに従って動作すると前記スヌープ回路が判定することに応答して、前記第1の送信機ドライバをディセーブルにし、前記第2の送信機ドライバをイネーブルにする、
ように構成される、
リドライバシステム。
【請求項2】
請求項1に記載のリドライバシステムであって、前記スヌープ回路が、非ゼロ固定レートリンク(FRL)値を検出することによって、前記第1及び第2のデバイスが前記第1のプロトコルに従って動作すると判定する、リドライバシステム。
【請求項3】
請求項1に記載のリドライバシステムであって、前記スヌープ回路が、ゼロに等しい固定レートリンク(FRL)値を検出することによって、前記第1及び第2のデバイスが第2のプロトコルに従って動作すると判定する、リドライバシステム。
【請求項4】
請求項1に記載のリドライバシステムであって、前記スヌープ回路が、固定レートリンク(FRL)値がないことを検出することによって、前記第1及び第2のデバイスが第2のプロトコルに従って動作すると判定する、リドライバシステム。
【請求項5】
請求項1に記載のリドライバシステムであって、前記第1の送信機ドライバが線形ドライバであり、前記第1のプロトコルが高精度マルチメディアインターフェース(HDMI)2.1プロトコルであり、前記第2のプロトコルがHDMI 2.1以外のHDMIプロトコルであり、前記第2の送信機ドライバが制限ドライバである、リドライバシステム。
【請求項6】
請求項1に記載のリドライバシステムであって、前記第1及び第2の送信機ドライバが第1のデータチャネル用であり、前記リドライバシステムが、第3及び第4の送信機ドライバを含み、
前記スヌープ回路が、
前記第1及び第2のデバイスが前記第1のプロトコルに従って動作すると前記スヌープ回路が判定することに応答して、前記第3の送信機ドライバをイネーブルにし、前記第4の送信機ドライバをディセーブルにし、
前記第1及び第2のデバイスが前記第1のプロトコルに従って動作しないと前記スヌープ回路が判定することに応答して、前記第3の送信機ドライバをディセーブルにし、前記第2の送信機ドライバをディセーブルにする、
ように構成される、
リドライバシステム。
【請求項7】
請求項1に記載のリドライバシステムであって、前記スヌープ回路が、前記第1のデバイスによる前記第2のデバイスへの書き込みトランザクションをスヌープするように構成される、リドライバシステム。
【請求項8】
請求項1に記載のリドライバシステムであって、前記スヌープ回路が、前記第1のデバイスによる前記第2のデバイスへの、前記第1のデバイスが前記第2のデバイスを構成するための書き込みトランザクションをスヌープするように構成される、リドライバシステム。
【請求項9】
メディアデータをシンクデバイスに提供するように適合されるソースデバイスであって、
グラフィックプロセッサユニット(GPU)と、
前記GPUに結合されるリドライバシステムと、
を含み、
前記リドライバシステムが、
第1のイネーブル入力を有する第1の送信機ドライバと、
第2のイネーブル入力を有する第2の送信機ドライバと、
前記第1及び第2のイネーブル入力に結合されるスヌープ回路と、
を含み、
前記スヌープ回路が、
前記第1のデバイス及び前記第2のデバイスが第1のプロトコルに従って動作するか否かを判定し、
前記第1及び第2のデバイスが前記第1のプロトコルに従って動作すると前記スヌープ回路が判定することに応答して、前記第1の送信機をイネーブルにし、前記第2の送信機をディセーブルにし、
前記第1及び第2のデバイスが前記第1のプロトコルに従って動作しないと前記スヌープ回路が判定することに応答して、前記第1の送信機をディセーブルにし、前記第2の送信機をイネーブルにする、
ように構成される、
ソースデバイス。
【請求項10】
請求項9に記載のソースデバイスであって、前記スヌープ回路が、非ゼロ固定レートリンク(FRL)値を検出することによって、前記ソースデバイス及びシンクデバイスが前記第1のプロトコルに従って動作すると判定する、ソースデバイス。
【請求項11】
請求項10に記載のソースデバイスであって、前記第1のプロトコルが、高精度マルチメディアインターフェース(HDMI)2.1プロトコルである、ソースデバイス。
【請求項12】
請求項9に記載のソースデバイスであって、前記スヌープ回路が、ゼロに等しい固定レートリンク(FRL)値を検出することによって、前記ソース及びシンクデバイスが第2のプロトコルに従って動作すると判定する、ソースデバイス。
【請求項13】
請求項12に記載のソースデバイスであって、前記第2のプロトコルが、HDMI 2.1以外の高精度マルチメディアインターフェース(HDMI)プロトコルである、ソースデバイス。
【請求項14】
請求項9に記載のソースデバイスであって、前記スヌープ回路が、固定レートリンク(FRL)値がないこと検出することによって、前記ソース及びシンクデバイスが第2のプロトコルに従って動作すると判定する、ソースデバイス。
【請求項15】
請求項9に記載のソースデバイスであって、前記第1の送信機ドライバが線形ドライバであり、前記第2の送信機ドライバが制限ドライバである、ソースデバイス。
【請求項16】
請求項9に記載のソースデバイスであって、前記スヌープ回路が、前記GPUから前記シンクデバイスへの書き込みトランザクションをスヌープするように構成される、ソースシステム。
【請求項17】
請求項9に記載のソースデバイスであって、前記スヌープ回路が、前記第1のデバイスによる前記第2のデバイスへの、前記第1のデバイスが前記第2のデバイスを構成するための書き込みトランザクションをスヌープするように構成される、ソースシステム。
【請求項18】
方法であって、
第1のデバイス及び第2のデバイスが第1のプロトコルに従って動作するか否かを判定することと、
前記第1及び第2のデバイスが前記第1のプロトコルに従って動作すると判定することに応答して、第1の送信機ドライバをイネーブルにし、第2の送信機をディセーブルにすることと、
前記第1及び第2のデバイスが前記第1のプロトコル以外のプロトコルに従って動作すると判定することに応答して、前記第1の送信機ドライバをディセーブルにし、前記第2の送信機をイネーブルにすることと、
を含む、方法。
【請求項19】
請求項18に記載の方法であって、前記第1及び第2のデバイスが前記第1のプロトコルに従って動作すると判定することが、非ゼロ固定レートリンク(FRL)値を検出することを含む、方法。
【請求項20】
請求項18に記載の方法であって、前記第1及び第2のデバイスが前記第1のプロトコル以外のプロトコルに従って動作すると判定することが、ゼロに等しい固定レートリンク(FRL)値又は固定レートリンク(FRL)値がないことの少なくとも一方を検出することを含む、方法。
【請求項21】
請求項18に記載の方法であって、前記第1のプロトコルが高精度マルチメディアインターフェース(HDMI)2.1プロトコルであり、前記第2のプロトコルがHDMI 2.1以外のHDMIプロトコルである、方法。
【発明の詳細な説明】
【背景技術】
【0001】
第1のデバイスが第2のデバイスにデータ(例えば、ビデオ及び/又はオーディオ)を送信するという文脈において、各デバイスは所与のインターフェースプロトコルに準拠し得る。例えば、第1のデバイスは、ビデオソース(例えば、ケーブルボックス、インターネットに接続されるストリーミングデバイス、コンピュータなど)であり得、第2のデバイスはディスプレイモニタであり得、各デバイスは、高精度マルチメディアインターフェース(HDMI)を実装し得る。HDMI実装ソースデバイスが、高精度オーディオ及びビデオの両方を単一ケーブルを介してHDML準拠のシンクデバイスに転送する。ソースデバイスは、記号間干渉(ISI)を低減するための均等化を実装する回路であるリドライバも含み得る。
【発明の概要】
【0002】
一例において、リドライバシステムが、第1のデバイス及び第2のデバイスに結合するように適合され、第1及び第2の送信機ドライバ並びにスヌープ回路を含む。第1の送信機ドライバは、第1のイネーブル入力を有する。第2の送信機ドライバは、第2のイネーブル入力を有する。スヌープ回路は、第1及び第2のイネーブル入力に結合される。スヌープ回路は、第1のデバイス及び第2のデバイスが第1のプロトコルに従って動作するか否かを判定する。第1及び第2のデバイスが第1のプロトコルに従って動作するとスヌープ回路が判定することに応答して、スヌープ回路は、第1の送信機ドライバをイネーブルにし、第2の送信機ドライバをディセーブルにする。第1及び第2のデバイスが第1のプロトコルに従って動作しないとスヌープ回路が判定することに応答して、スヌープ回路は、第1の送信機ドライバをディセーブルにし、第2の送信機ドライバをイネーブルにする。
【0003】
別の例において、或る方法が、第1のデバイス及び第2のデバイスが第1のプロトコルに従って動作するか否かを判定することを含む。この方法は、第1及び第2のデバイスが第1のプロトコルに従って動作すると判定することに応答して、第1の送信機ドライバをイネーブルにし、第2の送信機をディセーブルにすることを含む。この方法は、第1及び第2のデバイスが第1のプロトコル以外のプロトコルに従って動作すると判定することに応答して、第1の送信機ドライバをディセーブルにし、第2の送信機をイネーブルにすることを含む。
【図面の簡単な説明】
【0004】
様々な例の詳細な説明について、添付の図面を参照する。
【0005】
【
図1】或る例に従った、シンクデバイスに結合され、線形又は制限動作モードのいずれかが可能なリドライバシステムを含むソースデバイスを示すブロック図である。
【0006】
【
図2】或る例に従った、線形及び制限送信機の両方を有するリドライバシステム内の送信機のブロック図である。
【0007】
【
図3】或る例に従った、リドライバシステム内のスヌープ回路の動作状態を示す状態図である。
【0008】
【
図4】スヌープ回路によって実装される例示の方法を示すフローチャートである。
【0009】
図面において同じ参照番号又はその他の参照指示子を用いて、(機能上及び/又は構造上)同じ又は類似の特徴を指示する。
【発明を実施するための形態】
【0010】
HDMIドライバは、「線形」リドライバ又は「非線形」リドライバのいずれかとし得る。非線形リドライバは、制限リドライバとも称する。線形リドライバは、リドライバへの入力信号(たとえば、電圧)とその出力信号との間で、少なくとも対象範囲にわたってほぼ線形の関係を実装する。しかし、制限リドライバは、プリエンファシス及び振幅制御を実装しており、その結果、その出力信号がその入力信号の線形関数にならない。
【0011】
HDMIプロトコルの複数のバージョンが確立されており、それらは、例えば、HDMI 1.4、HDMI 2.0、及びHDMI 2.1である。これら各HDMIの仕様は全体として参照により本明細書に組み込まれている。HDMI 1.4プロトコルは、毎秒10.2ギガビット(Gbps)の最大データレートを提供する。HDMI 2.0は、18ギガビットGbpsの最大データレートを提供する。HDMI 1.4及び2.0はいずれも、ビデオ及びオーディオ信号とともにクロック信号がHDMIケーブルの導体で送信される遷移最小化差動信号伝送(TMDS:Transition Minimized Differential Signaling)符号化技法を指定している。HDMI 2.1プロトコルは、更に速いデータ転送レート(例えば、最大48Gbps)を提供する。HDMI 2.1は、ソースデバイスとシンクデバイスとの間のクロック信号の送信を含まず、HDMI 1.4及び2.0において用いられるクロックピンを付加的なデータチャネルとして再利用する。
【0012】
2つのHDMI準拠デバイスが接続され電源投入されると、ソースデバイスは、シンクデバイスからデバイス関連データを取得する。デバイス関連データは、例えば、拡張データ識別データ(EDID)、HDMIフォーラムベンダー固有データブロック(HF-VSDB)、及びステータス及び制御データ構造(SCDCS)を含み、これらは、シンクデバイスの不揮発性メモリに格納される。シンクデバイスのEDIDは、例えば、シンクデバイスのディスプレイの大きさ、色度値、タイミング値などのパラメータを指定する。HF-VSDBは、シンクデバイスの最大データレート能力、シンクデバイスに関連する、他のデバイス固有のデータを含む。ソースデバイスは、シンクのデバイス固有データを用いて、シンクデバイスの能力を決定し、次いで、ソースデバイス及びシンクデバイスの両方の能力に合わせたディスプレイ解像度、データレートなどを選択する。ソースデバイスは、次いで、ソースデバイスが決定した共通能力(解像度、データレートなど)をシンクデバイスに指定するためにシンクのSCDCSに値を書き込んで、ソースデバイスとシンクデバイスとの間の相互作用を制御する。
【0013】
HDMI 2.1は、ソースデバイスとシンクデバイスとの間の「リンクトレーニング」も提供する。リンクトレーニングは、HDMIの前のバージョン(例えば、HDMI 1.4及び2.0)には実装されていない。リンクトレーニングの目的は、ソースデバイスが適切なレベルのプリエンファシス、電圧の振れなどについてそれ自体を構成し、エラーを削減又は排除することを目標としている。リンクトレーニング手順は、ソースデバイスによって開始され制御される。リンクトレーニング手順の間、シンクデバイスは、データチャネルに埋め込まれているソースデバイスのクロックを回復する。ソースデバイスは、シンクデバイスにテストパターンも送る。テストパターンにより、ソースデバイスは、その送信機の振れ、プリシュート、及びディエンファシスレベルを調整して、シンクデバイスに対してより堅牢な信号にし得る値にし、それに応じてシンクデバイスによって観測されるエラーを削減又は排除し得る。残念ながら、リンクトレーニング手順は、制限リドライバを用いるソースデバイスに対しては確実には動作しない。シンクデバイス及びソースデバイスのグラフィックプロセッサユニット(GPU)が制限リドライバの存在を認識していないリンクトレーニングの間制限リドライバを用いると、リンクトレーニングが失敗するリスクが高まる。線形リドライバはリンクトレーニングに対して透過であり、そのため、リンクトレーニングにほとんど又は全く影響を及ぼさない。従って、制限リドライバの代わりに線形リドライバがソースデバイスにおいて用いられると、リンクトレーニング手順はより信頼性が高くなる。
【0014】
HDMIプロトコルには下位互換性があり、それは、HDMI準拠ソースデバイス及びシンクデバイスの任意の対が、HDMIのどのバージョンを実装しているかに関わらず、共に動作することを意味する。例えば、HDMI 2.1ソースデバイスが、HDMI 1.4シンクデバイス、HDMI 2.0シンクデバイス、又はHDMI 2.1シンクデバイスに接続され得る。これは、HDMI 2.1ソースデバイスがHDMI 2.1シンクデバイスに接続されている場合、そのソースデバイスがリンクトレーニングを実施し得ることを意味する。しかし、HDMI 2.1ソースデバイスがHDMI 1.4又は2.0シンクデバイス(HDMI 2.1より前に発表されたHDMIの別のバージョン)に接続されている場合、HDMI 2.1ソースデバイスは、リンクトレーニングプロトコルを実施できない。これは、HDMI 2.1よりも前のシンクデバイスにはその能力がないためである。
【0015】
本明細書に記載する実施例は、線形及び制限リドライバの両方の動作モードを有するリドライバシステムを対象とする。リドライバシステムは、ソースデバイスとシンクデバイスとの間のチャネルを監視するスヌープ回路を含み、そこで、シンクデバイスの能力がソースデバイスによって読み出され、ソースデバイスは、ディスプレイ解像度、プリエンファシス、電圧の振れなどに関するパラメータセットをネゴシエートする、ソースデバイス及びシンクデバイスのプロセスの一部として、値をシンクデバイスに書き戻す。一実施例において、リドライバシステムのスヌープ回路は、ソースデバイスがこれらのデバイスの動作のために指定した相互能力に関して、ソースデバイスのGPUがシンクデバイスデバイスに書き込む1つ又は複数の値をスヌープ(snoop)する。スヌープされた情報に基づいて、スヌープ回路は、ソース及びシンクデバイスが、HDMI 2.1プロトコル又はHDMI 2.1以外のプロトコル(例えば、HDMI 1.4又はHDMI 2.0などのHDMI 2.1よりも前のプロトコル)に従って動作するためにこれらのデバイス自体を構成するか否かを決定する。ソースデバイス及びシンクデバイスがHDMI 2.1プロトコルに従って動作するとスヌープ回路が判定した場合、スヌープ回路は、リドライバシステムを線形リドライバモード用に構成させる。ソースデバイス及びシンクデバイスがHDMI 2.1プロトコルに従って動作しないとスヌープ回路が判定した場合、スヌープ回路は、リドライバシステムを制限リドライバモード用に構成させる。
【0016】
図1は、ケーブル150によりシンクデバイス160に結合されるソースデバイス110を含むシステム100のブロック図である。一例において、ソースデバイス110は、オーディオ及び/又はビデオデータ(本明細書では「メディア」データと称する)を含むか、そうでない場合にはそれらを取得し、ケーブル150を介してメディアデータをシンクデバイスに提供する。ソースデバイス110は、コンピュータ、セットトップボックス、ケーブルボックス、WiFiストリーミングデバイスなどとし得る。シンクデバイス160は、ディスプレイモニタ、又はメディアデータを利用/表示するその他のタイプのデバイスとし得る。シンクデバイス160は、シンクデバイスのEDID165、SCDCS167、及びHF-VSDB168が格納されるメモリ170を含む。メモリ170は不揮発性メモリとし得る。SCDCS167は、読み出しと書き込みの両方が可能なメモリに格納され得る。EDID165及びHF-VSDB168は、読み出し専用のメモリ(例えば、読み出し専用メモリ「ROM」)に格納され得る。
【0017】
本明細書に記載する例において、ソースデバイス110及びシンクデバイス160はHDMIに準拠している。ソースデバイス110は、HDMI 2.1デバイスであり、そのため、HDMI 2.1シンクデバイスと互換性があり、HDMIの以前のバージョン(例えば、HDMI 1.4又はHDMI 2.0)に準拠するシンクデバイスと下位互換性がある。ソースデバイス110はHDMI 2.1デバイスであり、シンクデバイス160は、HDMI 2.1デバイスとし得るが、或いはHDMI 1.4又は2.0などのHDMIの以前のバージョンに準拠してもよい。デバイスのHDMIバージョンは、そのデバイスが、それにより指定されたバージョンに従って、又はHDMIの以前のバージョンのいずれかに従って動作し得ることを意味する。例えば、HDMI 2.0デバイスは、HDMI 2.0又は1.4プロトコルに従って動作し得るが、HDMI 2.1プロトコルに従って動作することはできない。ソースデバイス110がシンクデバイスのEDID165、SCDCS167、及びHF-VSDB168を読み出すディスカバリプロセスの間、ソースデバイス110は、ソースデバイス及びシンクデバイスの両方の動作が従うパラメータ(例えば、データレート、解像度など)を決定する。例えば、ソースデバイス110がHDMI 2.1互換であり、シンクデバイスがHDMI 2.0互換である場合、ソースデバイスは、両方のデバイスがHDMI 2.0動作用にデバイス自体を構成すべきであると決定する。そのため、ソースデバイス110はHDMI 2.1互換性であるが、ソースデバイスはそれ自体をHDMI 2.0動作用に構成する。
【0018】
図1の例におけるソースデバイス110は、リドライバシステム130に結合されるグラフィックプロセッサユニット(GPU)112を含む。ケーブル150は、HDMI準拠のケーブルであり、4つのツイストワイヤ対151、152、153、及び154を含む。ツイストワイヤの各対は、個別のチャネル用である。HDMI 1.4及び2.0において、チャネルのうち3つがビデオ及び/又はオーディオデータに用いられ、4番目のチャネルはクロックに用いられる。HDMI 2.1において、ケーブル150を介して送信される個別のクロック信号はなく、そのため、4つのチャネルすべてがデータに用いられ得る。ワイヤ156を介するシリアル通信リンク(例えば、集積回路間「I 2C」)も、シンクデバイスとソースデバイスとの間のケーブル150を介して提供され、このケーブル150を介してGPU112は、シンクデバイスのEDID165、SCDCS167、及びHF-VSDB168を読み出し得、HF-VSDB168に格納されることになるパラメータ値をシンクデバイスに戻して提供する。ワイヤ156は、単一のワイヤでもよいし、クロックワイヤ及びシリアルデータワイヤなどの一対のワイヤでもよい。ワイヤ156を介する通信リンクは、ディスプレイデータチャネル(DDC)と称することがある。ケーブル150は、電源投入されたシンクデバイス160にケーブル150が接続されているか否かをソースデバイス110が検出できるようにするホットプラグ検出(HPD)ワイヤ155も含む。
【0019】
図1の例において、シンクデバイス160と(ソースデバイス110内の)GPU112との間でケーブル150を介して提供されるすべての信号は、リドライバシステム130を介して流れる。他の例において、これらの信号のうちの1つ又は複数が、リドライバシステム130をバイパスし得る(例えば、ワイヤ156上のDDC情報はリドライバシステム130を通過しないことがある)。
【0020】
図1の例において、GPU112は、上述の4つのデータチャネル(又は3つのデータチャネルと1クロック)の各々に対応する4つの送信機115、116、117、及び118を含む。シンクデバイス160は、論理169に結合される4つの対応する受信機161、162、163、及び164を有する。論理169は、プロセッサ、デジタル論理、特定用途向け集積回路(ASIC)、メモリ、及び/又は、ソースデバイス110からメディアデータを受信し、処理し、及び消費する任意の他のタイプの回路要素を含み得る。論理169は、メディアデータをディスプレイ173に提供する。ディスプレイ173は、シンクデバイス160に結合されてもよいし、シンクデバイスの構成要素であってもよい。ディスプレイデバイス173は、オーディオを再生するための1つ又は複数のスピーカを含み得る。
【0021】
リドライバシステム130は、4つのイコライザ/送信機対を含む。イコライザ131は送信機141に結合される。送信機115の出力は、イコライザ131の入力に結合され、送信機141の出力は、ケーブル160内のワイヤ151を介してシンクデバイス160内の受信機161の入力に結合される。イコライザ132は送信機142に結合される。送信機116の出力はイコライザ132の入力に結合され、送信機142の出力は、ケーブル内のワイヤ152を介してシンクデバイス160内の受信機162の入力に結合される。イコライザ133は、送信機143に結合される。送信機117の出力はイコライザ133の入力に結合され、送信機143の出力は、ケーブル内のワイヤ153を介してシンクデバイス160内の受信機163の入力に結合される。イコライザ134は送信機144に結合される。送信機118の出力はイコライザ134の入力に結合され、送信機144の出力は、ケーブル内のワイヤ154を介してシンクデバイス160内の受信機164の入力に結合される。一例において、ワイヤ151、152、153、及び154は各々、ツイストワイヤ対である。
【0022】
一例において、GPUの論理114は、プロセッサ、メモリ、及び/又は、ソフトウェアを実行するように構成されるその他のデジタル回路要素を含む。別の例において、論理114は離散デジタル回路である。論理114は、メディアデータが、送信機115~118を介して、リドライバシステム130の対応するイコライザ/送信機対を通り、シンクデバイス160内の受信機161~164に送信されるようにする。ソースデバイス110は、送信機115~118の1つ又は複数を介してシンクデバイス160に提供されるメディアデータ119を含むストレージを有し得る。メディアデータ119は、論理114によってディスク(例えば、ブルーレイディスク、DVDディスク、CDROMなど)から取得されてもよいし、メディアデータは、GPU112を介してネットワークから(例えばインターネットから)シンクデバイス160にストリーム(stream)されてもよい。
【0023】
一実施例において、GPU112は、同じ半導体ダイ上にGPU112及びリドライバシステム130を含む集積回路(IC)として実装される。別の実施例でにおいて、リドライバシステム130は、GPU112が実装されるICとは別のICとして実装される。従って、GPU112は1つのIC上にあり得、リドライバシステム130は別のICであり得、両方のICがソースデバイス110の一部として含まれ得る。例えば、GPU112及びリドライバシステム130を形成するICは、ソースデバイス110内のプリント回路基板(PCB)上に搭載され得る。
【0024】
HDMIプロトコルは、ソースデバイス及びシンクデバイスが電源投入されている間にケーブル150を介して両者が接続され得るホットプラグ検出(HPD)能力を実装する。ケーブル150のソースデバイス110側で、ソースデバイス110は、ワイヤ155を接地に結合するプルダウン抵抗器R1を含む。
図1の実施例において、プルダウン抵抗器R1はリドライバシステム130内に含まれる。別の実施例において、プルダウン抵抗器R1はリドライバシステム130の外部にある。HPD信号(抵抗器R1にかかる電圧)は、ケーブルが接続されていないとき、又は、ケーブルは接続されているがシンクデバイス160の電源が入っていないとき、論理低である。ケーブル150が接続され、シンクデバイス160が電源投入されると、シンクデバイス160内のHPDラインが適切に高い電圧源(図示せず)に結合されるので、HPD信号は高(閾値よりも上)に引き上げられる。GPU112内の論理114にHPD信号を駆動するために、バッファ149がリドライバ130内に提供される。HPD信号の論理レベルを監視することによって、論理114は、電源が入っているシンクデバイス160がソースデバイス110にケーブル接続されているか否かを判定し得る。
【0025】
上述したように、HDMIプロトコルは、ソースデバイスとシンクデバイスとの間にDDCインターフェースを提供する。一例において、DDCインターフェースは、ケーブル150のワイヤ156を通してシリアルデータリンクを介して実装されるプロトコルである。ワイヤ156を介して、シンクデバイス160からEDID165、SCDCS167、及びHF-VSDB168がGPU112に提供され、GPU112が、1つ又は複数のパラメータ値をシンクのSCDCS167に書き戻す。GPU112の論理114は、シンクデバイスのメモリ170からEDID165、SCDCS167、及びHF-VSDB168を読み出すために、1つ又は複数の読み出し要求をシンクデバイス160に出す。GPUの論理114は、例えば、論理114がHPD入力の論理低から論理高への遷移を検出することに応答して、この読み出し要求を出す。
【0026】
リドライバシステム130は、ソース112とシンクデバイス160との間で通信されるDDC双方向トラフィックを受信し復号するDDC送受信機147を含む。例えば、EDID165、SCDCS167、及びHF-VSDB168を読み出すためのGPUの論理114からの要求は、DDC送受信機147を介してシンクデバイス160に転送され、シンクデバイス160からの読み出されたデータ(EDID、SCDCS、及びHF-VSDB)は、DDC送受信機147を介して論理114に戻される。論理114はまた、送受信機147を介してシンクデバイス160のSCDCS167に1つ又は複数のパラメータを書き戻す。リドライバシステム130はDDCスヌープ回路148も含み、DDCスヌープ回路148は、HDMI 2.1プロトコルについて又はHDMI 2.1以外のプロトコル(例えば、HDMI 1.4又はHDMI 2.0)について、ソースデバイス110がソースデバイス110及びシンクデバイス160をイネーブルにするか否かを示す所定のパケットのセットについて、DDC送受信機147を介する双方向トラフィックを監視する。
【0027】
GPU112(例えば、論理114)は、シンクデバイスのメモリ170からEDID165、SCDCS167、及びHF-VSDB168を読み出す。HF-VSDB168は、Max_TMDS_Character_Rateと呼ばれる値と、Max_FRL_Rateと呼ばれる値とを含む。遷移数最少差動信号伝送(TMDS)は、電磁干渉(EMI)を低減しながら高速デジタルデータを送信するための技法であり、例えば、100フィートまでの比較的長距離におけるクロック回復を可能にする。TMDSは、HDMI 1.4及び2.0の一部として実装されるが、2.1では実装されない。Max_TMDS_Character_Rateは、シンクデバイス160がサポートする最大TMDSキャラクタレートである。一例において、シンクデバイス160が毎秒340メガキャラクタ(Mcsc)を超えるTMDSキャラクタレートをサポートしていない場合、Max_TMDS_Character_Rateは0に設定され、それ以外の場合、このフィールドは非ゼロになり、シンクデバイスによってサポートされる最大TMDSキャラクタレートを示す。Max_TMDS_Character_Rate値は、例えば、HF_VSDB168のバイト番号5の8ビット値である。
【0028】
固定レートリンク(FRL)は、HDMI 2.1において指定されるシグナリングプロトコルであるが、HDMIの以前のバージョンにおいては指定されていない(例えば、HDMI 1.4又は2.0では指定されていない)。Max_TMDS_Character_Rate値は、例えば、HF_VSDB168のバイト番号7の4ビット値である。Max_FRL_Rateは、シンクデバイスで可能なFRLのレベルを示す。Max_FRL_Rate値0は、固定レートリンクがシンクデバイスによってサポートされていないことを意味する。非ゼロのMax_FRL_Rateは、様々なレーンのデータレートを示す。下記の表1は、HDMI仕様に従ったMax_FRL_Rateの可能な値を含む。
【0029】
他の値の中でも、GPU112は、シンクデバイスのHF-VSDB168からMax_TMDS_Character_Rate値及びMax_FRL_Rate値を読み出し、シンクデバイス160の能力を決定する。これらの値に基づいて、GPU112は、ソースデバイス及びシンクデバイスの両方が共有する能力を決定する。この決定に基づいて、GPU112は、シンクデバイスのSCDCS167に値を書き込む。例えば、GPU112は、TMDS_Bit_Clock_Ratioと呼ばれるビット、FRL_Rateと呼ばれる4ビット値を決定し、これらをシンクデバイスのSCDCS167に書き込む。TMDS_Bit_Clock_Ratioビットは、例えば、SCDCS167内のオフセット0x20におけるTMDS構成バイトのビット番号1である。TMDS_Bit_Clock_Ratioビットはデフォルトで値0となり、TMDSビット周期とTMDSクロック周期の比が1/10であることを示す。しかし、GPU112は、TMDS_Bit_Clock_Ratioビットを1に設定して、TMDSビット周期とTMDSクロック周期の比が1/40であると指定し得る。
【0030】
FRL_Rate値は、例えば、SCDCS167内のオフセット0x31におけるシンク構成バイトのビット[3:0]である。FRL_Rateフィールドはデフォルトで値0となり、これは、シンクデバイスがFRL信号伝送をサポートしないことを示す。しかし、GPU112は、ソースデバイス及びシンクデバイスの両方に互換性があるとソースが判定したデータレートに対応するシンクのFRL_Rateフィールドに非ゼロ値を書き込むことができる。下記の表2は、GPU112がシンクデバイスのSCDCS167に書き込むFRL_Rateの可能な値の一例である。
【0031】
DDCスヌープ回路148は、ソースデバイスとシンクデバイスとの間のDDCチャネル上のトラフィックを監視する。一実施例において、DDCスヌープ回路148は、ソースのGPU112から、TMDS_Bit_Clock_Ratio値及びFRL_Rate値を含み得るシンクデバイスのSCDCS167への書き込みを復号する。これらの値は、ソースデバイス及びシンクデバイスが、HDMI 2.1又はHDMIの前のバージョン(例えば、HDMI 1.4又は2.0)に従って動作するように構成されているか否かを示す。GPU112によってTMDS_Bit_Clock_Ratioビットが「1」に等しく設定されることは、ソース及びシンクの両方がHDMI 2.0に従って動作することをGPU112が意図していることを示す。TMDS_Bit_Clock_Ratioビットが「0」に等しく設定され、FRL_Rate値が0に等しいことは、ソース及びシンクの両方がHDMI 1.4に従って動作することをGPU112が意図していることを示す。DDCスヌープ回路148は、TMDS_Bit_Clock_Ratio値及びFRL_Rate値を含むアドレスに対応する所定のアドレスへのソース112による書き込みについて、ソース112とシンク160との間のトラフィックを監視する。この書き込みは、両方の値を含む1つのアドレスへの単一書き込みであってもよいし、又は、2つの異なるアドレスへの2つの個別の書き込みであってもよい(個別のアドレスは各々、これらの値1つを含む)。書き込みを検出すると、DDCスヌープ回路148は、TMDS_Bit_Clock_Ratioビットを検査する。ソースデバイス110及びシンクデバイス160が非HDMI 2.1モード(例えば、HDMI 1.4又は2.0)に従って動作するとDDCスヌープ回路148が判定すると、DDCスヌープ回路148は、リドライバシステム130内の送信機141~144を制限モード用に構成する。DDCスヌープ回路148は、例えば、送信機に制御信号129をアサートして、送信機を制限モード用に構成する。(下記に記載する)
図2は、送信機がどのように制限モード用に構成されるかの例を示す。
【0032】
ただし、シンクデバイス160は、HDMI 2.1デバイスであってもよい。この状況において、GPU112内の論理114がシンクデバイスのHF-VSDB168から非ゼロのMax_FRL_Rate値を読み出すと、ソースデバイスのGPU112は、両方のデバイスがサポートできるデータレートを決定し、FRL_Rate値をシンクデバイスのSCDCS167に書き込む。DDCスヌープ回路148は、FRL_Rateを含むフィールドへのGPU112による書き込みをスヌープする。スヌーピングされたFRL_Rateが非ゼロ値である場合、ソースデバイス110及びシンクデバイス160がHDMI 2.1を実装するように構成されていることを示す。ソースデバイス110及びシンクデバイス160がHDMI 2.1モードに従って動作するとDDCスヌープ回路148が判定すると、DDCスヌープ回路148は、リドライバシステム130内の制御信号129を介して送信機141~144を線形モード用に構成する。(下記に記載する)
図2は、リドライバシステム130内の送信機がどのように線形モード用に構成されるかの例を示す。
【0033】
これに加えて、又はこの代わりに、GPU112は、シンクのSCDCS167からシンクバージョンを読み出し得、シンクバージョンは、シンクデバイスがHDMI 2.1デバイスであることを示し得る。シンクバージョンは、例えば、SCDCS167のオフセット0x01におけるバイトに格納される。
【0034】
別の実施例において、DDCスヌープ回路148は、非ゼロFRLレート及び「0」であるTMDS_Bit_Clock_Ratioビットの検出に応答して送信機141~144を線形モード用に構成する。TMDS_Bit_Clock_Ratioビットは、ソースデバイスのGPU112内の電源投入リセット事象の際、デフォルトで値「0」とされ、シンクデバイスがHDMI 2.0準拠と判定されない限り、値「1」に設定されない。そのため、DDCスヌープ回路148によって非ゼロFRLレート(HDMI 2.1動作を示す)が検出されても、「0」であるTMDS_Bit_Clock_Ratioは、ソースデバイス及びシンクデバイスによる動作についてHDMI 2.1が確かにイネーブルになるようにDDCスヌープ回路148に保障を提供する。
【0035】
図2は、イコライザ134及び送信機144の一例を示す。送信機144について示される実装は、送信機141~143にも同様に適用される。送信機144は、線形ドライバ210及び制限ドライバ220を含む。線形ドライバ210の場合、出力信号は、少なくとも或る入力振幅までは入力信号の線形関数である。制限ドライバ220の場合、出力信号は入力信号の線形関数ではない。制限ドライバは、出力振れ制御及び/又は出力ディエンファシス又はプリエンファシスを含む。
【0036】
線形ドライバ210は、DDCスヌープ回路148からの制御信号211によってイネーブル又はディセーブルにされ得る。同様に、制限ドライバ220は、DDCスヌープ回路148からの制御信号221によってイネーブル又はディセーブルにされ得る。この例では、制御信号211及び221は、制御信号129(
図1)を構成する。一実施例において、制御信号211及び221は、個別に生成される信号であり、
図2に示すように、各々がドライバの1つに提供される。別の実施例において、単一の制御信号がドライバ211及び221の両方に提供され、この単一の制御信号の論理高が、例えば、線形ドライバ210をイネーブルにし、制限ドライバ220をディセーブルにし、この制御信号の論理低が、制限ドライバ220をイネーブルにし、線形ドライバ210をディセーブルにする。
【0037】
一例において、DDCスヌープ回路148は、有限状態機械(例えば、本明細書に記載する機能性を実装するように構成される論理ゲート、フリップフロップなどの組み合わせ)として実装される。
図3は、DDCスヌープ回路148の動作を定義する例示の状態
図300を示す。この例における状態
図300は、3つの状態301、302、及び303を含む。状態301において、ソースデバイス及びシンクデバイスはHDMI 1.4動作用に構成される。状態302において、ソースデバイス及びシンクデバイスはHDMI 2.0動作用に構成される。状態303において、ソースデバイス及びシンクデバイスはHDMI 2.1動作用に構成される。
【0038】
電源投入事象(POR)の際、DDCスヌープ回路はデフォルトで状態301(HDMI 1.4)になる。論理高であるHPD_IN信号は、シンクデバイス160が、オンであり、ソースデバイス110にケーブル接続されていることを示す。DDCスヌープ回路148は、FRL_Rateが0ではなく、TMDS_Bit_Clock_Ratioビットが0であることを検出すると、DDCスヌープ回路148は状態303に遷移し、そこでDDCスヌープ回路148は、リドライバシステム130内の送信機141~144を線形モード用に構成する。
【0039】
状態301から、DDCスヌープ回路148が、FRL_Rateが0であり、TMDS_Bit_Clock_Ratioビットが1であることを検出すると、DDCスヌープ回路148は、状態302に遷移し、送信機141~144を制限モード用に構成する。DDCスヌープ回路148がそのデフォルト状態301に留まる場合、DDCスヌープ回路148は、やはり送信機141~144を制限モード用に構成する。
【0040】
状態303から、ケーブル150が切り離されるか、又はシンクデバイス160の電源が遮断されると、HPD_IN信号は論理低になる。HPD_IN信号が論理低になるか、又は0に等しい更新されたFRL_RateがDDCスヌープ回路148によって検出される(例えば、GPU112がシンクデバイスに書き込みを送出してFRL_Rateを0に変更する)と、DDCスヌープ回路148の状態が状態303から状態301に変化する。状態303から状態301に入ると、DDCスヌープ回路148は、送信機141~144を制限モード用に構成する。
【0041】
状態302から、DHPD_IN信号が論理低として検出されるか、又はDDCスヌープ回路がTMDS_Bit_Clock_Ratioの値0への変化を検出すると、DCスヌープ回路148の状態は、状態302から状態301に変化する。状態302から状態301に入ると、DDCスヌープ回路148は、送信機141~144の構成を制限モードに維持する。
【0042】
図4は、ソースデバイス110によって実装される例示の方法400を示すフローチャートである。ホットプラグ事象の検出時、ステップ401において、ソースデバイス110(GPU112)は、シンクデバイスのEDID165、SCDCS167、及びHF-VSDB168を読み出す。402において、ソースデバイス110(例えば、GPU112)は、ソースデバイス及びシンクデバイスの両方によって実装される能力(例えば、データレート、解像度、プリエンファシスなど)を決定する。403において、ソースデバイス110(例えば、GPU112)は、ソースデバイス及びシンクデバイスが相互に通信するためのプロトコルを示すパラメータをシンクデバイス160に書き戻す。書き込みパラメータは、例えば、TMDS_Bit_Clock_Ratioビット、FRL_Rate、及びソースのバージョン識別子を含む。404において、ソースデバイス及びシンクデバイスは、ソースデバイスによって決定されたパラメータに従ってこれらのデバイス自体を構成する。
【0043】
ステップ403におけるパラメータ書き込みの間、DDCスヌープ回路148は、GPU112によってシンクデバイスのSCDCS167に書き込まれるTMDS_Bit_Clock_Ratioビット及びFRL_Rateの値など、GPU112とシンクとデバイス160との間のトラフィックを監視する。例えば、GPU112によってシンクデバイス160に書き込まれるTMDS_Bit_Clock_Ratioビット及びFRL_Rateの値に基づいて、DDCスヌープ回路は、406において、ソースデバイス及びシンクデバイスがHDMI 2.1に従って動作するように構成されているか否かを判定する。ソースデバイス及びシンクデバイスがHDMI 2.1に従って動作するように構成されている場合(「はい」に分岐)、407において、DDCスヌープ回路148は、リドライバシステム130内の送信機141~144を線形モードに従って動作させる。ソースデバイス及びシンクデバイスがHDMI 2.1に従って動作するように構成されていない場合(「いいえ」に分岐)、408において、DDCスヌープ回路148は、リドライバシステム130内の送信機141~144を制限モードに従って動作させる。
【0044】
本記載において、「結合する」という用語は、本記載と一貫した機能的関係を可能にする、接続、通信、又は信号経路を包含し得る。例えば、デバイスAが、或る行為を行うためにデバイスBを制御するための信号を生成する場合、(a)第1の例において、デバイスAが直接接続によってデバイスBに結合され、或いは、(b)第2の例において、デバイスAによって生成される制御信号によりデバイスBがデバイスAによって制御されるように、介在する構成要素CがデバイスAとデバイスBとの間の機能的関係を変更させない場合、デバイスAは、介在する構成要素Cを介してデバイスBに結合される。
【0045】
或るタスク又は機能を実施するように「構成される」デバイスは、製造時に製造業者によってその機能を実施するように構成(例えば、プログラム及び/又は配線)され得、及び/又は製造後にユーザによってその機能及び/又はその他の付加的又は代替の機能を実施するように構成可能(又は再構成可能)とされ得る。こういった構成は、デバイスのファームウェア及び/又はソフトウェアプログラミングにより、ハードウェア構成要素の構築及び/又はレイアウト、並びにデバイスの相互接続により、或いはこれらの組み合わせによりなされ得る。
【0046】
本明細書において用いられるように、「端末」、「ノード」、「相互接続」、「ピン」、及び「リード」という用語は交換可能に用いられる。特に断りのない限り、これらの用語は概して、デバイス要素、回路要素、集積回路、デバイス、又はその他の電子機器、或いは半導体構成要素間の相互接続又はその端子を意味するように用いられている。
【0047】
或る構成要素を含むと本明細書に記載される回路又はデバイスは、代わりに、こういった構成要素に結合して、記載された回路要素又はデバイスを形成するように適合され得る。例えば、1つ又は複数の半導体要素(トランジスタなど)、1つ又は複数の受動要素(抵抗器、コンデンサ、及び/又はインダクタなど)、及び/又は1つ又は複数の供給源(電圧及び/又は電流源など)を含むと説明される構造は、代わりに、単一の物理デバイス(例えば、半導体ダイ及び/又は集積回路(IC)パッケージ)内の半導体要素のみを含み得、また、製造時又は製造後のいずれかにおいて、例えば、エンドユーザー及び/又は第三者によって、受動要素及び/又は供給源の少なくとも幾つかに結合されて記載された構造を形成するように適合され得る。
【0048】
特に明記されていない限り、或る値の前の「約」、「ほぼ」、又は「実質的に」は、記載されている値の+/-10パーセントを意味する。特許請求の範囲内で、説明した例における改変が可能であり、他の例が可能である。
【0049】
特許請求の範囲内で、説明した実施例における改変が可能であり、他の実施例が可能である。
【国際調査報告】