(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-17
(45)【発行日】2022-11-28
(54)【発明の名称】多相および振幅符号化送信機用ドライバアーキテクチャ
(51)【国際特許分類】
H04L 25/49 20060101AFI20221118BHJP
H04L 25/02 20060101ALI20221118BHJP
【FI】
H04L25/49 P
H04L25/02 V
(21)【出願番号】P 2022510208
(86)(22)【出願日】2020-08-05
(86)【国際出願番号】 US2020045041
(87)【国際公開番号】W WO2021034503
(87)【国際公開日】2021-02-25
【審査請求日】2022-02-16
(32)【優先日】2019-08-19
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-08-04
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】507364838
【氏名又は名称】クアルコム,インコーポレイテッド
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100163522
【氏名又は名称】黒田 晋平
(72)【発明者】
【氏名】チュルキュ・イ
(72)【発明者】
【氏名】ダヴァル・セジパル
(72)【発明者】
【氏名】ジョージ・アラン・ウィリー
【審査官】北村 智彦
(56)【参考文献】
【文献】特表2018-526889(JP,A)
【文献】特表2018-529284(JP,A)
【文献】国際公開第2015/013254(WO,A1)
【文献】国際公開第2007/125963(WO,A1)
【文献】特開2005-333508(JP,A)
【文献】米国特許第09577854(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 25/49
H04L 25/02
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
データ通信のための装置であって、
前記装置を3線リンクに結合するように構成された複数のラインドライバと、
前記複数のラインドライバによって前記3線リンクを介して連続して送信される2つのシンボルの間の各遷移中に少なくとも3ビットのバイナリデータを符号化するのに、3相符号化とパルス振幅変調の組合せを使うことと、第1のシンボルを、前記3線リンクを介した送信用に与えることとを行うように構成されたデータエンコーダであって、前記第1のシンボルは、前記データエンコーダが第1の符号化方式用に構成されるときは、12個のシンボルのセットから、前記データエンコーダが第2の符号化方式用に構成されるときは、18個のシンボルのセットから、および前記データエンコーダが第3の符号化方式用に構成されるときは、42個のシンボルのセットから選択される、データエンコーダとを備え、
前記3線リンクを介して送信される各シンボルは、関連付けられたシンボル送信間隔中の前記3線リンクのシグナリング状態を、前記3線リンクの各線が、前記関連付けられたシンボル送信間隔中の前記3線リンクの他の線とは異なるシグナリング状態にあるように定義し、
連続送信されるシンボルの各ペアは2つの異なるシンボルを含む、装置。
【請求項2】
前記3線リンクを介して送信される少なくとも1つのシンボルは、前記3線リンクの各線に対して非ゼロ電流フローを定義し、前記非ゼロ電流フローの合計はゼロである、請求項1に記載の装置。
【請求項3】
前記3線リンクの前記線に対して定義されるシグナリング状態は、少なくとも5つの電圧または電流レベルを含み、前記3線リンクを介して送信される少なくとも1つのシンボルは、
前記少なくとも5つの電圧のうちの中間電圧レベルまたは少なくとも5つの電流レベルのうちの中レベルシグナリング状態の電流レベルを上回るか、または下回る、前記3線リンクの各線に対する電圧または電流レベルを定義する、請求項1に記載の装置。
【請求項4】
前記データエンコーダは、
前記3線リンクを介して第2のシンボルを送信することであって、前記第2のシンボルは、前記第1のシンボルを除く利用可能シンボルのセットから選択される、ことを行うようにさらに構成される、請求項1に記載の装置。
【請求項5】
線状態エンコーダをさらに備え、前記線状態エンコーダは、
前記データエンコーダからシンボルのシーケンスを受信することと、
前記複数のラインドライバの各々に、前記3線リンクの1つの線を、前記シンボルのシーケンスによって定義されるシグナリング状態に駆動させる制御信号を、前記複数のラインドライバに与えることとを行うように構成される、請求項1に記載の装置。
【請求項6】
データ通信のための装置であって、
前記装置を3線リンクに結合するように構成された複数のラインドライバと、
前記複数のラインドライバによって前記3線リンクを介して連続して送信される2つのシンボルの間の各遷移中に少なくとも3ビットのバイナリデータを符号化するのに、3相符号化とパルス振幅変調の組合せを使うように構成されたデータエンコーダであって、
前記3線リンクを介して送信される各シンボルは、関連付けられたシンボル送信間隔中の前記3線リンクのシグナリング状態を、前記3線リンクの各線が、前記関連付けられたシンボル送信間隔中の前記3線リンクの他の線とは異なるシグナリング状態にあるように定義し、
連続送信されるシンボルの各ペアは2つの異なるシンボルを含む、データエンコーダと、
前記データエンコーダからシンボルのシーケンスを受信することと、前記複数のラインドライバの各々に、前記3線リンクの1つの線を、前記シンボルのシーケンスによって定義されるシグナリング状態に駆動させる制御信号を、前記複数のラインドライバに与えることとを行うように構成された線状態エンコーダであって、前記制御信号
によって、前記3線リンクの各線が、各シンボル送信間隔中に、1つまたは複数の抵抗を通して1つまたは複数の電圧レベルに結合され
る、線状態エンコーダとを備える装置。
【請求項7】
前記制御信号によって、
各シンボル送信間隔中に、前記3線リンクの線に結合された抵抗の各組合せが前記3線リンクの特性インピーダンスに合致す
る、請求項6に記載の装置。
【請求項8】
データ通信のための装置であって、
前記装置を3線リンクに結合するように構成された複数のラインドライバと、
前記複数のラインドライバによって前記3線リンクを介して連続して送信される2つのシンボルの間の各遷移中に少なくとも3ビットのバイナリデータを符号化するのに、3相符号化とパルス振幅変調の組合せを使うように構成されたデータエンコーダであって、
前記3線リンクを介して送信される各シンボルは、関連付けられたシンボル送信間隔中の前記3線リンクのシグナリング状態を、前記3線リンクの各線が、前記関連付けられたシンボル送信間隔中の前記3線リンクの他の線とは異なるシグナリング状態にあるように定義し、
連続送信されるシンボルの各ペアは2つの異なるシンボルを含む、データエンコーダと、
前記データエンコーダからシンボルのシーケンスを受信することと、前記複数のラインドライバの各々に、前記3線リンクの1つの線を、前記シンボルのシーケンスによって定義されるシグナリング状態に駆動させる制御信号を、前記複数のラインドライバに与えることとを行うように構成された線状態エンコーダであって、前記制御信号
によって、前記3線リンクの各線が前記各線中で電流を与える電流ドライバに結合さ
れ、前記電流は、対応するシンボル送信間隔中に送信されるシンボルによって定義される大きさを有する、線状態エンコーダとを備える装置。
【請求項9】
前記3線リンクの各線は、前記3線リンクの特性インピーダンスに合致する抵抗に結合される、請求項8に記載の装置。
【請求項10】
データ通信のための方法であって、
3相符号化とパルス振幅変調の組合せを使って
、3線リンクを介して連続して送信される2つのシンボルの間の各遷移中に少なくとも3ビットのバイナリデータを符号化するステップであって、連続送信されるシンボルの各ペアは2つの異なるシンボルを含
み、
第1のシンボルが、前記3線リンクを介した送信用に与えられ、第1の符号化方式が使われるとき、前記第1のシンボルは12個のシンボルのセットから選択され、第2の符号化方式が使われるとき、前記第1のシンボルは18個のシンボルのセットから選択され、第3の符号化方式が使われるとき、前記第1のシンボルは42個のシンボルのセットから選択される、ステップ
を備え、
前記3線リンクを介して送信される各シンボルは、関連付けられたシンボル送信間隔中の前記3線リンクのシグナリング状態を、前記3線リンクの各線が、前記関連付けられたシンボル送信間隔中の前記3線リンクの他の線とは異なるシグナリング状態にあるように定義する、方法。
【請求項11】
前記3線リンクを介して送信される少なくとも1つのシンボルは、前記3線リンクの各線に対して非ゼロ電流フローを定義し、前記非ゼロ電流フローの合計はゼロである、請求項10に記載の方法。
【請求項12】
前記3線リンクの前記線に対して定義されるシグナリング状態は、少なくとも5つの電圧または電流レベルを含み、前記3線リンクを介して送信される少なくとも1つのシンボルは、
前記少なくとも5つの電圧のうちの中間電圧レベルまたは少なくとも5つの電流レベルのうちの中レベルシグナリング状態の電流レベルを上回るか、または下回る、前記3線リンクの各線に対する電圧または電流レベルを定義する、請求項10に記載の方法。
【請求項13】
前記3線リンクを介して第2のシンボルを送信するステップであって、前記第2のシンボルは、前記第1のシンボルを除く利用可能シンボルのセットから選択される、ステップをさらに含む、請求項10に記載の方法。
【請求項14】
複数のラインドライバの各々に、前記3線リンクの1つの線を、シンボル送信間隔中に送信されたシンボルによって定義されるシグナリング状態に駆動させる制御信号を、前記複数のラインドライバに与えるステップをさらに含む、請求項10に記載の方法。
【請求項15】
前記制御信号
によって、前記3線リンクの各線が、各シンボル送信間隔中に、1つまたは複数の抵抗を通して1つまたは複数の電圧レベルに結合され
る、請求項14に記載の方法。
【請求項16】
前記制御信号によって、各シンボル送信間隔中に、前記3線リンクの線に結合された抵抗の各組合せが前記3線リンクの特性インピーダンスに合致す
る、請求項15に記載の方法。
【請求項17】
前記制御信号
によって、前記3線リンクの各線が前記各線中で電流を与える電流ドライバに結合さ
れ、前記電流は、対応するシンボル送信間隔中に送信されるシンボルによって定義される大きさを有する、請求項14に記載の方法。
【請求項18】
前記3線リンクに結合された抵抗は、前記3線リンクの特性インピーダンスに合致する、請求項17に記載の方法。
【請求項19】
3線リンクを介して複数のシンボルを送信することであって、各シンボルは、関連付けられたシンボル送信間隔中の前記3線リンクのシグナリング状態を、前記3線リンクの各線が、前記関連付けられたシンボル送信間隔中の前記3線リンクの他の線とは異なるシグナリング状態にあるように定義する、ことと、
3相符号化とパルス振幅変調の組合せを使って、前記3線リンクを介して連続して送信される2つのシンボルの間の各遷移中に少なくとも3ビットのバイナリデータを符号化することであって、連続送信されるシンボルの各ペアは2つの異なるシンボルを含む、ことと、
前記3線リンクを介した送信のために第1のシンボルを与えることであって、第1の符号化方式が使われるとき、前記第1のシンボルは、12個のシンボルのセットから選択され、第2の符号化方式が使われるとき、前記第1のシンボルは、18個のシンボルのセットから選択され、第3の符号化方式が使われるとき、前記第1のシンボルは、42個のシンボルのセットから選択される、ことと、
前記3線リンクを介して第2のシンボルを送信することであって、前記第2のシンボルは、前記第1のシンボルを除く利用可能シンボルのセットから選択される、こととを
処理回路に行わせるコードを含む非一時的プロセッサ可読記憶媒体。
【請求項20】
前記3線リンクを介して送信される少なくとも1つのシンボルは、前記3線リンクの各線に対して非ゼロ電流フローを定義し、前記非ゼロ電流フローの合計はゼロである、請求項19に記載の記憶媒体。
【請求項21】
前記3線リンクの前記線の前記シグナリング状態は、少なくとも5つの電圧または電流レベルを含み、前記3線リンクを介して送信される少なくとも1つのシンボルは、
前記少なくとも5つの電圧のうちの中間電圧レベルまたは少なくとも5つの電流レベルのうちの中レベルシグナリング状態の電流レベルを上回るか、または下回る、前記3線リンクの各線に対する電圧または電流レベルを定義する、請求項19に記載の記憶媒体。
【請求項22】
複数のラインドライバの各々に、前記3線リンクの1つの線を、シンボル送信間隔中に送信されたシンボルによって定義されるシグナリング状態に駆動させる制御信号を、前記複数のラインドライバに与え
ることを前記処理回路に行わせるコードをさらに含み、
前記制御信号
によって、前記3線リンクの各線が、各シンボル送信間隔中に、1つまたは複数の抵抗を通して1つまたは複数の電圧レベルに結合さ
れ、
前記制御信号によって、各シンボル送信間隔中に、前記3線リンクの線に結合された抵抗の各組合せが前記3線リンクの特性インピーダンスに合致す
る、請求項19に記載の記憶媒体。
【請求項23】
複数のラインドライバの各々に、前記3線リンクの1つの線を、シンボルのシーケンスによって定義されるシグナリング状態に駆動させる制御信号を、前記複数のラインドライバに与える
ことを前記処理回路に行わせるコードをさらに含み、
前記制御信号
によって、前記3線リンクの各線が前記各線中で電流を与える電流ドライバに結合さ
れ、前記電流は、対応するシンボル送信間隔中に送信されるシンボルによって定義される大きさを有する、請求項19に記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
優先権主張
本出願は、2020年8月4日に米国特許庁に出願された非仮特許出願第16/984,896号、および2019年8月19日に米国特許庁に出願された仮特許出願第62/888,995号の優先権および利益を主張し、それらの内容の全体が、以下に完全にすべて記載されるかのように、またすべての適用可能な目的のために、参照により本明細書に組み込まれる。
【0002】
本開示は概して、高速データ通信インターフェースに関し、より詳細には、多線多相データ通信リンクを介するデータスループットの向上に関する。
【背景技術】
【0003】
セルラーフォンなどのモバイルデバイスの製造元は、モバイルデバイスの構成要素を、異なる製造元を含む様々な供給元から入手する場合がある。たとえば、セルラーフォン中のアプリケーションプロセッサが第1の製造元から入手されることがあり、撮像デバイスまたはカメラが第2の製造元から入手されることがあり、ディスプレイが第3の製造元から入手されることがある。アプリケーションプロセッサ、撮像デバイス、ディスプレイコントローラ、または他のタイプのデバイスは、規格ベースまたはプロプライエタリな物理インターフェースを使って相互接続され得る。一例では、撮像デバイスは、モバイル業界プロセッサインターフェース(MIPI)アライアンスによって定義されるカメラシリアルインターフェース(CSI)を使って接続され得る。別の例では、ディスプレイは、モバイル業界プロセッサインターフェース(MIPI)アライアンスによって指定されたディスプレイシリアルインターフェース(DSI)規格に準拠するインターフェースを含み得る。
【0004】
MIPIアライアンスによって定義される多相3線(C-PHY)インターフェースは、デバイスの間で情報を送信するのに、導体の3つ組を使う。3つの線の各々は、C-PHYインターフェースを介したシンボルの送信中、3つのシグナリング状態のうちの1つにあり得る。クロック情報が、C-PHYインターフェース上で送信されるシンボルのシーケンス中に符号化され、受信機が、連続するシンボルの間の遷移から、クロック信号を生成する。C-PHYインターフェースの最大速度、ならびにクロック情報を復元するためのクロックおよびデータ復元(CDR)回路の能力は、通信リンクの異なる線上で送信される信号の遷移に関連した最大時間変化によって制限される場合があり、これにより、データスループットの増大に対する要望が増し続けると、C-PHYインターフェースによって与えられるデータスループットが制限される場合がある。
【発明の概要】
【課題を解決するための手段】
【0005】
本明細書で開示するいくつかの実施形態は、改善された符号化技法およびプロトコルによる、多線および/または多相通信リンク上での改善された通信を可能にするシステム、方法および装置を提供する。いくつかの実施形態では、バイナリデータを符号化するのに3相符号化とパルス振幅変調(PAM)の組合せを使って、シンボル遷移ごとに符号化されるビットの数を増やすことによって、データスループットが向上される。通信リンクは、複数の集積回路(IC)デバイスを有するモバイル端末などの装置中で展開され得る。
【0006】
本開示の様々な態様では、データ通信装置は、装置を3線リンクに結合するように構成された複数のラインドライバと、複数のラインドライバによって3線リンクを介して連続して送信される2つのシンボルの間の各遷移中に、少なくとも3ビットのバイナリデータを、連続送信されるシンボルの各ペアが2つの異なるシンボルを含むように符号化するように構成されたデータエンコーダとを有する。各シンボルは、関連付けられたシンボル送信間隔中の3線リンクのシグナリング状態を、3線リンクの各線が、関連付けられたシンボル送信間隔中の3線リンクの他の線とは異なるシグナリング状態にあるように定義する。
【0007】
本開示の様々な態様では、データ通信のための方法は、3線リンクを介して複数のシンボルを送信するステップと、3線リンクを介して連続して送信される2つのシンボルの間の各遷移中に少なくとも3ビットのバイナリデータを符号化するステップとを含み、連続送信されるシンボルの各ペアは2つの異なるシンボルを含む。各シンボルは、関連付けられたシンボル送信間隔中の3線リンクのシグナリング状態を、3線リンクの各線が、関連付けられたシンボル送信間隔中の3線リンクの他の線とは異なるシグナリング状態にあるように定義する。
【0008】
いくつかの態様では、コンピュータ実行可能コードを記憶する非一時的プロセッサ可読媒体が開示される。プロセッサ可読媒体は、コンピュータに、3線リンクを介して複数のシンボルを送信させ、3線リンクを介して連続して送信される2つのシンボルの間の各遷移中に少なくとも3ビットのバイナリデータを符号化させるように構成されたデータおよび命令を維持する。連続送信されるシンボルの各ペアは、2つの異なるシンボルを含んでよく、各シンボルは、関連付けられたシンボル送信間隔中の3線リンクのシグナリング状態を、3線リンクの各線が、関連付けられたシンボル送信間隔中の3線リンクの他の線とは異なるシグナリング状態にあるように定義する。
【0009】
本開示の様々な態様では、データ通信装置は、3線リンクを介して複数のシンボルを送信するための手段と、3線リンクを介して連続して送信される2つのシンボルの間の各遷移中に少なくとも3ビットのバイナリデータを符号化するための手段とを含む。連続送信されるシンボルの各ペアは、2つの異なるシンボルを含み得る。各シンボルは、関連付けられたシンボル送信間隔中の3線リンクのシグナリング状態を、3線リンクの各線が、関連付けられたシンボル送信間隔中の3線リンクの他の線とは異なるシグナリング状態にあるように定義し得る。
【0010】
いくつかの態様では、3線リンクを介して送信される少なくとも1つのシンボルが、3線リンクの各線に対する非ゼロ電流フローを定義し、非ゼロ電流フローの合計はゼロである。3線リンクの線のシグナリング状態は、7つの電圧レベルを含んでよく、3線リンクを介して送信される少なくとも1つのシンボルが、7つの電圧レベルのうちの中間電圧レベルを上回るか、または下回る電圧レベルを、3線リンクの各線に対して定義する。
【0011】
いくつかの態様では、データエンコーダは、バイナリデータを符号化するのに、3相符号化とPAMの組合せを使うようにさらに構成される。第1のシンボルが、3線リンクを介して送信され得る。一例では、データエンコーダは、データエンコーダが第1の符号化方式用に構成されるとき、12個のシンボルのセットから第1のシンボルを選択する。別の例では、データエンコーダは、データエンコーダが第2の符号化方式用に構成されるとき、18個のシンボルのセットから第1のシンボルを選択する。別の例では、データエンコーダは、データエンコーダが第3の符号化方式用に構成されるとき、42個のシンボルのセットから第1のシンボルを選択する。装置は、3線リンクを介して第2のシンボルを送信し得る。データエンコーダは、第1のシンボルを除く利用可能シンボルのセットから第2のシンボルを選択するようにさらに構成されてよい。
【0012】
いくつかの態様では、装置は、データエンコーダからシンボルのシーケンスを受信し、複数のラインドライバの各々に、第1のシンボル用に設けられるシンボル送信間隔中に、3線リンクの1つの線を、シンボルのシーケンス中の第1のシンボルによって定義されるシグナリング状態に駆動させる制御信号を、複数のラインドライバに与えるように構成された線状態エンコーダを含む。
【0013】
いくつかの態様では、複数のラインドライバは3つの電圧ドライバを含んでよく、線状態エンコーダは、各シンボル送信間隔中に、3線リンクの各線が、3つの電圧ドライバのうちの1つの中の2つ以上の抵抗を通して、1つまたは複数の電圧レベルに結合されるように、各電圧ドライバ中で複数のスイッチを構成するようにさらに構成されてよい。各電圧ドライバ中の複数のスイッチは、3線リンクの対応する線に結合された抵抗の各組合せが3線リンクの対応する線の特性インピーダンスに合致するように、各シンボル送信間隔中に構成されてよい。
【0014】
いくつかの態様では、複数のラインドライバは3つの電流ドライバを含み、線状態エンコーダは、3つの電流ドライバの各々に、電流シンボル送信間隔中に送信されるシンボルによって定義される大きさを有する電流を、3線リンクの対応する線の中で与えさせる複数のスイッチを構成するようにさらに構成される。装置は、3線リンクに結合された抵抗を含んでよく、各抵抗は、3線リンクの特性インピーダンスに合致する。
【図面の簡単な説明】
【0015】
【
図1】複数の利用可能な規格またはC-PHYプロトコルを含み得るプロトコルのうちの1つに従って選択的に動作されるICデバイス間のデータリンクを利用する装置を示す図である。
【
図2】複数の利用可能な規格のうちの1つに従って選択的に動作する、ICデバイス間のデータリンクを利用する装置のためのシステムアーキテクチャを示す図である。
【
図4】C-PHY3相符号化インターフェースにおけるシグナリングを示す図である。
【
図6】C-PHY3相符号化インターフェースにおける潜在的状態遷移を示す状態図である。
【
図7】本明細書で開示するいくつかの態様に従って適合され得るC-PHY受信機の受信機中に設けられるバスインターフェース回路を示す図である。
【
図8】
図7のバスインターフェース回路に関連付けられたシグナリングを示す図である。
【
図9】本明細書で開示するいくつかの態様に従って適合され得るC-PHYドライバ回路の例を示す図である。
【
図10】4つのシグナリング状態を使って2ビットのデータを符号化するように構成されるPAMドライバの例を示す図である。
【
図11】本開示のいくつかの態様に従って提供される1つまたは複数の複合3相およびPAM符号化方式をサポートするように構成されるインターフェースを示す図である。
【
図12】本開示のいくつかの態様による、3相符号化がPAM-4変調と組み合わされる符号化方式の第1の例を示す図である。
【
図13】本開示のいくつかの態様による、3相符号化がPAM-4変調と組み合わされる符号化方式の第1の例を示す図である。
【
図14】本開示のいくつかの態様による、3相符号化がPAM-4変調と組み合わされる符号化方式の第1の例を示す図である。
【
図15】本開示のいくつかの態様による、3相符号化がPAM-3変調と組み合わされる符号化方式の第2の例を示す図である。
【
図16】本開示のいくつかの態様による、3相符号化がPAM-3変調と組み合わされる符号化方式の第2の例を示す図である。
【
図17】本開示のいくつかの態様による、3相符号化がPAM-3変調と組み合わされる符号化方式の第2の例を示す図である。
【
図18】本開示のいくつかの態様による、3相符号化をPAM-8変調と組み合わせる符号化方式の第3の例を示す図である。
【
図19】本開示のいくつかの態様による、3相符号化をPAM-8変調と組み合わせる符号化方式の第3の例を示す図である。
【
図20】本開示のいくつかの態様に従って提供される1つまたは複数の複合3相およびPAM符号化方式をサポートするためのデコーダを示す図である。
【
図21】本開示のいくつかの態様による、3相符号化とPAM-4変調の組合せを使って、送信されたシンボルを区別するように構成された受信機回路を利用するインターフェースを示す図である。
【
図22】本開示のいくつかの態様に従って構成または適合された電圧モードドライバを示す図である。
【
図23】本開示のいくつかの態様に従って構成または適合された電流モードドライバの例を示す図である。
【
図24】本明細書で開示するいくつかの態様による、PAMを使って多相信号を変調する符号化方式をサポートするように適合されているシステムの例を示す図である。
【
図25】本明細書で開示するいくつかの態様に従って適合され得る処理回路を利用する装置の例を示す図である。
【
図26】本明細書で開示するいくつかの態様による受信機において実施される方法のフローチャートである。
【
図27】本明細書で開示するいくつかの態様による受信装置のためのハードウェア実装形態の例を示す図である。
【発明を実施するための形態】
【0016】
添付の図面に関して以下に記載する発明を実施するための形態は、様々な構成を説明するものであり、本明細書で説明される概念が実践され得る唯一の構成を表すものではない。詳細な説明は、様々な概念の完全な理解を与える目的で、具体的な詳細を含む。しかしながら、これらの概念がこれらの具体的な詳細なしに実践され得ることは、当業者には明らかであろう。いくつかの事例では、そのような概念を不明瞭にすることを避けるために、よく知られている構造および構成要素はブロック図の形態で示される。
【0017】
本出願で使用する「構成要素」、「モジュール」、「システム」などの用語は、限定はしないが、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアなどの、コンピュータ関連のエンティティを含むものとする。たとえば、構成要素は、限定はしないが、プロセッサ上で稼働するプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、および/またはコンピュータとすることができる。例として、コンピューティングデバイス上で動作するアプリケーションとコンピューティングデバイスの両方が構成要素であり得る。1つまたは複数の構成要素は、プロセスおよび/または実行スレッド内に存在することができ、構成要素は、1つのコンピュータ上に局在することができ、および/または2つ以上のコンピュータ間に分散することができる。さらに、これらの構成要素は、様々なデータ構造を記憶した様々なプロセッサ可読媒体から実行することができる。構成要素は、ローカルシステム内の、分散システム内の、および/またはインターネットなどのネットワークにわたる別の構成要素と対話する1つの構成要素からのデータなどの、1つまたは複数のデータパケットを有する信号などに従うローカルプロセスおよび/またはリモートプロセスにより、信号によって他のシステムと通信する場合がある。
【0018】
さらに、「または」という用語は、排他的な「または」ではなく、むしろ包括的な「または」を意味することを意図している。すなわち、別段に規定されていない限り、または文脈から明らかでない限り、「XはAまたはBを使用する」という句は、自然包括的並べ替えのいずれかを意味するものとする。すなわち、「XはAまたはBを利用する」という語句は、以下の事例、すなわち、XはAを利用する、XはBを利用する、またはXはAとBの両方を利用する、のいずれかによって成立する。さらに、本出願および添付の特許請求の範囲で使用する冠詞「a」および「an」は、別段の規定がない限り、または単数形を示すことが文脈から明白でない限り、概して「1つもしくは複数」を意味するものと解釈すべきである。
【0019】
概要
本発明のいくつかの態様は、MIPIアライアンスによって規定されるC-PHYインターフェースの向上に適用可能であってよく、このアライアンスはしばしば、電話、モバイルコンピューティングデバイス、器具、自動車エレクトロニクス、アビオニクスシステムなどのような、モバイル装置の下位構成要素である電子デバイスを接続するように展開される。モバイル装置の例は、セルラーフォン、スマートフォン、セッション開始プロトコル(SIP)フォン、ラップトップ、ノートブック、ネットブック、スマートブック、携帯情報端末(PDA)、衛星ラジオ、全地球測位システム(GPS)デバイス、マルチメディアデバイス、ビデオデバイス、デジタルオーディオプレーヤ(たとえば、MP3プレーヤ)、カメラ、ゲームコンソール、装着可能コンピューティングデバイス(たとえば、スマートウォッチ、ヘルスもしくはフィットネストラッカーなど)、器具、ドローン、センサー、自販機、またはどの他の同様に機能するデバイスも含む。
【0020】
本明細書で開示するいくつかの態様は、デバイスが、従来のC-PHYシンボルレートを使って可能であるよりも高いデータレートで3線通信リンクを介して通信することを可能にする。本開示の様々な態様では、データ通信装置は、装置を3線リンクに結合するように構成された複数のラインドライバと、複数のラインドライバによって3線リンクを介して連続して送信される2つのシンボルの間の各遷移中に、少なくとも3ビットのバイナリデータを、連続送信されるシンボルの各ペアが2つの異なるシンボルを含むように符号化するように構成されたデータエンコーダとを有する。各シンボルは、関連付けられたシンボル送信間隔中の3線リンクのシグナリング状態を、3線リンクの各線が、関連付けられたシンボル送信間隔中の3線リンクの他の線とは異なるシグナリング状態にあるように定義する。データは、3相とPAMの組合せを使って符号化され得る。装置は、データエンコーダからシンボルのシーケンスを受信し、複数のラインドライバに制御信号を与えるように構成された線状態エンコーダを含み得る。制御信号は、複数のラインドライバの各々に、シンボルのシーケンス中の各シンボル用に設けられたシンボル送信間隔中に、3線リンクの1つの線を、各シンボルによって定義されるシグナリング状態に駆動させる。線状態エンコーダは、PAM-2、PAM-3、PAM-4、PAM-8および他のPAM実装形態のために構成されるか、または構成可能であり得る。
【0021】
C-PHYインターフェースは、帯域幅制限チャネルを介して高スループットを与えることができる高速直列インターフェースである。C-PHYインターフェースは、ディスプレイおよびカメラを含む周辺装置にアプリケーションプロセッサを接続するために展開され得る。C-PHYインターフェースは、データを、3つの線のセットを介して3相信号中で送信されるシンボルに符号化し、このようなセットは、3つ組と、または線の3つ組と呼ばれる場合がある。3相信号は、3つ組の各線上で、異なる相で送信される。各3線3つ組は、通信リンク上のレーンを提供する。シンボル間隔は、単一のシンボルが3つ組のシグナリング状態を制御する時間の間隔として定義され得る。各シンボル間隔中に、1つの線が「非駆動」か、または中レベル電圧状態に駆動され、3つの線のうちの残りの2つが、2つの差動的に駆動される線のうちの1つが第1の電圧レベルを想定し、他方の差動的に駆動される線が、第1の電圧レベルとは異なる第2の電圧レベルを想定するように差動的に駆動される。いくつかの実装形態では、第3の線は、非駆動であるか、または終端のアクションにより、第1および第2の電圧レベルの間の中レベル電圧であるか、もしくはそれに近い第3の電圧レベルを想定するように浮動している。いくつかの実装形態では、第3の線は、中レベル電圧へ向かって駆動される。一例では、駆動された電圧レベルは+Vおよび-Vであってよく、非駆動電圧は0Vである。別の例では、駆動された電圧レベルは+Vおよび0Vであってよく、非駆動電圧は+V/2である。異なるシンボルが、シンボルの各連続送信ペアの中で送信され、線の異なるペアが、異なるシンボル間隔中に差動的に駆動されてよい。
【0022】
図1は、1つまたは複数の通信リンクを実装するのにC-PHY3相プロトコルを利用することができる装置100の例を示す。装置100は、SoC、または1つもしくは複数のASIC内で実装されてよい複数の回路もしくはデバイス104、106、および/もしくは108を有する処理回路102を含んでよい。一例では、装置100は通信デバイスとして動作することができ、処理回路102は、ASIC104内に設けられた処理デバイスと、1つまたは複数の周辺デバイス106と、装置が無線アクセスネットワーク、コアアクセスネットワーク、インターネット、および/または別のネットワークと、アンテナ124を通して通信することを可能にするトランシーバ108とを含み得る。
【0023】
ASIC104は、1つもしくは複数のプロセッサ112、1つもしくは複数のモデム110、オンボードメモリ114、バスインターフェース回路116、および/または他の論理回路もしくは機能を有し得る。処理回路102は、1つまたは複数のプロセッサ112がオンボードメモリ114または処理回路102上に提供される他のプロセッサ可読ストレージ122内に存在するソフトウェアモジュールを実行することを可能にするアプリケーションプログラミングインターフェース(API)レイヤを提供し得るオペレーティングシステムによって制御されてよい。ソフトウェアモジュールは、オンボードメモリ114またはプロセッサ可読ストレージ122内に記憶された命令およびデータを含んでよい。ASIC104は、そのオンボードメモリ114、プロセッサ可読ストレージ122、および/または処理回路102の外部のストレージにアクセスし得る。オンボードメモリ114、プロセッサ可読ストレージ122は、読取り専用メモリ(ROM)もしくはランダムアクセスメモリ(RAM)、電気消去可能プログラマブルROM(EEPROM)、フラッシュカード、または処理システムおよびコンピューティングプラットフォーム内で使用することができる任意のメモリデバイスを含んでよい。処理回路102は、装置100および/または処理回路102を構成し動作させるために使われる動作パラメータおよび他の情報を維持することができるローカルデータベースまたは他のパラメータストレージを含み、実装し、またはそれらにアクセスし得る。ローカルデータベースは、レジスタ、データベースモジュール、フラッシュメモリ、磁気媒体、EEPROM、ソフトディスクまたはハードディスクなどを使用して実装され得る。処理回路102はまた、他の構成要素の中でも、アンテナ124、ディスプレイ126などの外部デバイス、スイッチもしくはボタン128、130、または外部キーパッド132などのオペレータ制御に動作可能に結合され得る。ユーザインターフェースモジュールは、専用通信リンクを通して、または1つもしくは複数のシリアルデータ相互接続を通して、ディスプレイ126、外部キーパッド132などを用いて動作するように構成されてよい。
【0024】
処理回路102は、いくつかのデバイス104、106、および/または108が通信することを可能にする、1つまたは複数のバス118a、118b、120を提供し得る。一例では、ASIC104は、回路、カウンタ、タイマー、制御論理、および他の構成可能な回路またはモジュールの組合せを含む、バスインターフェース回路116を含み得る。一例では、バスインターフェース回路116は、通信仕様または通信プロトコルに従って動作するように構成されてよい。処理回路102は、装置100の動作を構成および管理する、電力管理機能を含むか、または制御し得る。
【0025】
図2は、通信リンク220を介してデータおよび制御情報を交換することができる複数のICデバイス202および230を含む装置200のいくつかの態様を示す。通信リンク220は、互いに極めて近接して配置されるか、または装置200の異なる部分に物理的に配置されるICデバイス202および230のペアを接続するために使われ得る。一例では、通信リンク220は、ICデバイス202および230を担持するチップキャリア、基板または回路板上に設けられる場合がある。別の例では、第1のICデバイス202は、フリップフォンのキーパッドセクションに配置される場合があり、第2のICデバイス230は、フリップフォンのディスプレイセクションに配置される場合がある。別の例では、通信リンク220の一部分は、ケーブル接続または光接続を含み得る。
【0026】
通信リンク220は、複数のチャネル222、224および226を含み得る。1つまたは複数のチャネル226は双方向であってよく、半二重および/または全二重モードで動作することができる。1つまたは複数のチャネル222および224は単方向であってよい。通信リンク220は、一方向においてより高い帯域幅を提供する非対称であってよい。本明細書で説明する一例では、第1のチャネル222は順方向チャネル222と呼ばれることがあり、第2のチャネル224は逆方向チャネル224と呼ばれることがある。ICデバイス202および230の両方がチャネル222上で送信および受信するように構成される場合でも、第1のICデバイス202はホストシステムまたは送信機として指定されることがあり、第2のICデバイス230はクライアントシステムまたは受信機として指定されることがある。一例では、順方向チャネル222は、第1のICデバイス202から第2のICデバイス230にデータを通信するときにより高いデータレートで動作することができ、逆方向チャネル224は、第2のICデバイス230から第1のICデバイス202にデータを通信するときにより低いデータレートで動作することができる。
【0027】
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によって容易にされ得る。
【0028】
逆方向チャネル224は、順方向チャネル222と同様にして動作し得る。順方向チャネル222および逆方向チャネル224は、同等の速度で、または異なる速度で送信することが可能であってよく、速度は、データ転送レートおよび/またはクロッキングレートとして表され得る。順方向および逆方向のデータレートは、適用例に応じて、実質的に同じであってもよく、または桁が異なってもよい。いくつかの適用例では、単一の双方向チャネル226は、第1のICデバイス202と第2のICデバイス230との間の通信をサポートし得る。順方向チャネル222および/または逆方向チャネル224は、たとえば、順方向チャネル222および逆方向チャネル224が同じ物理接続を共有し、半二重様式で動作するとき、双方向モードで動作するように構成可能であり得る。一例では、通信リンク220は、業界または他の規格に従って、第1のICデバイス202と第2のICデバイス230との間で制御、コマンドおよび他の情報を通信するように動作され得る。
【0029】
図2の通信リンク220は、C-PHYのためのMIPIアライアンス仕様に従って実装されてよく、複数の信号線(M本の線として示される)を含む有線バスを提供し得る。M本の線は、モバイルディスプレイデジタルインターフェース(MDDI)などの高速デジタルインターフェースにおいてN相符号化データを搬送するように構成され得る。M本の線は、チャネル222、224および226のうちの1つまたは複数におけるN相極性符号化を容易にすることができる。物理レイヤドライバ210および240は、N相極性符号化データを、通信リンク220上での送信用に生成するように構成または適合され得る。N相極性符号化の使用は、高速データ転送を提供し、N相極性符号化データリンクでは、より少ないドライバがアクティブであるので、他のインターフェースの電力の半分以下を消費し得る。
【0030】
物理レイヤドライバ210および240は通常、N相極性符号化のために構成されると、通信リンク220上での遷移ごとに複数のビットを符号化することができる。一例では、3相符号化と極性符号化の組合せは、フレームバッファなしで、毎秒ワイドビデオグラフィックスアレイ(WVGA)80フレームのLCDドライバICをサポートするのに使われてよく、表示リフレッシュのために810Mbpsでピクセルデータを送出する。
【0031】
図3は、
図2に示した通信リンク220のいくつかの態様を実装するのに使われ得る3線3相極性エンコーダを示す線
図300である。3線3相符号化の例は、本発明のいくつかの態様の記述を簡単にする目的のためにのみ選択されている。3線3相エンコーダのために開示される原理および技法は、M線N相極性エンコーダの他の構成に適用可能であり得る。
【0032】
3線3相極性符号化直列バス中の3つの線の各々について定義されるシグナリング状態は、非駆動または中レベル状態、正駆動状態および負駆動状態を含み得る。正駆動状態および負駆動状態は、信号線318a、318bおよび/もしくは318cのうちの2つの間に電圧差動を与えることによって、ならびに/または2つの信号線318a、318bおよび/もしくは318cの中で異なる方向に電流が流れるように、直列に接続された信号線318a、318bおよび/もしくは318cのうちの2つを通る電流を駆動することによって取得され得る。非駆動状態は、信号線318a、318bまたは318cのドライバの出力を高インピーダンスモードに置くことによって実現され得る。いくつかの事例では、中レベル状態は、受動的または能動的に信号線318a、318bまたは318cを、駆動された信号線318a、318bおよび/または318c上で与えられる正および負の電圧レベルの間のほぼ中間にある電圧レベルに到達させることによって、信号線318a、318bまたは318c上で取得され得る。通常、非駆動または中レベルの信号線318a、318bまたは318cを通る多大な電流フローはない。3線3相極性符号化方式のために定義されるシグナリング状態は、3つの電圧または電流状態(+1、-1、および0)を使って記すことができる。
【0033】
3線3相極性エンコーダは、信号線318a、318bおよび318cのシグナリング状態を制御するのに、ラインドライバ308を利用すればよい。ドライバ308は、単位レベル電流モードまたは電圧モードドライバとして実装され得る。一例では、各ドライバ308は、対応する信号線318a、318bおよび318cの出力状態を決める信号のうちの2つ以上からなるセット316a、316bおよび316cを受信し得る。一例では、2つの信号のセット316a、316bおよび316cは、高いとき、信号線318a、318bおよび318cをより高いレベルまたはより低いレベル電圧の方へそれぞれ駆動するプルアップおよびプルダウン回路をアクティブ化するプルアップ信号(PU信号)およびプルダウン信号(PD信号)を含み得る。この例では、PU信号とPD信号の両方が低いとき、信号線318a、318bおよび318cは中レベル電圧へ終端されてよい。
【0034】
M線N相極性符号化方式における各送信シンボル間隔の間、少なくとも1つの信号線318a、318bまたは318cは中レベル/非駆動(0)電圧または電流状態にあり、正駆動(+1電圧または電流状態)信号線318a、318bまたは318cの数は、受信機に流れる電流の合計が常にゼロであるように、負駆動(-1電圧または電流状態)信号線318a、318bまたは318cの数に等しい。各シンボルについて、少なくとも1つの信号線318a、318bまたは318cのシグナリング状態は、先行する送信間隔中に送信された線状態からは変えられる。
【0035】
動作中、マッパ302が、16ビットデータ310を受信し、7つのシンボル312にマップし得る。3線例では、7つのシンボル312の各々が、信号線318a、318bおよび318cの状態を1つのシンボル間隔に対して定義する。7つのシンボル312は、各信号線318a、318bおよび318cにシンボルの時限シーケンス(timed sequence)314を与える並列直列変換器304を使って直列化され得る。シンボルのシーケンス314は通常、送信クロックを使って時間制限される。3線3相エンコーダ306が、一度に1つのシンボルをマップすることによって生じた7つのシンボルのシーケンス314を受信し、各シンボル間隔についての各信号線318a、318bおよび318cの状態を計算する。3線3相エンコーダ306は、電流入力シンボル314および信号線318a、318bおよび318cの前の状態に基づいて、信号線318a、318bおよび318cの状態を選択する。
【0036】
M線N相符号化の使用により、シンボルあたりのビットが整数でない複数のシンボル中でいくつかのビットが符号化される。3線通信リンクの例では、一斉に駆動され得る2つの線の3つの起こり得る組合せ、および駆動される線のペア上での極性の2つの可能な組合せがあり、6つの可能な状態をもたらす。各遷移は現在の状態から発生するので、6つの状態のうちの5つが、あらゆる遷移において起こり得る。少なくとも1つの線の状態は、各遷移において変化するよう要求される。5つの状態があるので、log2(5)≒2.32ビットがシンボルごとに符号化され得る。したがって、マッパは、16ビットワードを受け取り、7つのシンボルに変換すればよく、というのは、シンボルごとに2.32ビットを搬送する7つのシンボルは、16.24ビットを符号化することができるからである。言い換えると、5つの状態を符号化する7つのシンボルの組合せは、57(78,125)個の順列を有する。したがって、7つのシンボルは、16ビットの216(65,536)個の順列を符号化するのに使われ得る。
【0037】
図4は、3相変調データ符号化方式を使って符号化された信号についてのタイミングチャート400の例を含み、これは循環状態
図450に基づく。たとえば、線またはコネクタが、循環状態
図450によって定義される3つの相状態S
1、S
2およびS
3のうちの1つにあるシグナリング状態のシーケンスに、情報が符号化され得る。各状態は、他の状態とは、120°の相シフトによって分離され得る。一例では、データは、線またはコネクタ上での相状態の回転の方向で符号化され得る。信号中の相状態は、時計回り方向452および452'または反時計回り方向454および454'に回転し得る。たとえば時計回り方向452および452'では、相状態は、S
1からS
2、S
2からS
3およびS
3からS
1への遷移のうちの1つまたは複数を含むシーケンス中を進み得る。反時計回り方向454および454'では、相状態は、S
1からS
3、S
3からS
2およびS
2からS
1への遷移のうちの1つまたは複数を含むシーケンス中を進み得る。3つの信号線318a、318bおよび318cは、同じ信号の異なるバージョンを搬送し、バージョンは互いに対して120°だけ相シフトされてよい。各シグナリング状態は、線もしくはコネクタ上での異なる電圧レベルおよび/または線もしくはコネクタを通る電流フローの方向として表され得る。3線システムにおけるシグナリング状態のシーケンスの各々の間、各信号線318a、318bおよび318cは、他の線とは異なるシグナリング状態にある。3つより多い信号線318a、318bおよび318cが3相符号化システムにおいて使われるとき、2つ以上の信号線318a、318bおよび/または318cは、各シグナリング間隔において同じシグナリング状態にあり得るが、各状態は、あらゆるシグナリング間隔中に少なくとも1つの信号線318a、318bおよび/または318c上に存在する。
【0038】
情報は、各相遷移410における回転の方向に符号化されてよく、3相信号は、各シグナリング状態に対して方向を変えることができる。回転の方向は、相遷移の前および後にどの信号線318a、318bおよび/または318cが「0」状態にあるかを考慮することによって判断されてよく、というのは、非駆動信号線318a、318bおよび/または318cは、回転の方向にかかわらず、回転する3相信号中のあらゆるシグナリング状態において変化するからである。
【0039】
符号化方式は、能動的に駆動される2つの信号線318a、318bおよび/または318cの極性408に情報を符号化することもできる。3線実装形態ではいつでも、信号線318a、318b、318cのうちの正確に2つが、反対方向の電流で、および/または電圧差動で駆動される。一実装形態では、データは、2つのビット値412を使って符号化されてよく、1つのビットは相遷移410の方向に符号化され、第2のビットは、現在の状態に対する極性408に符号化される。
【0040】
タイミングチャート400は、相回転方向と極性の両方を使うデータ符号化を示す。曲線402、404および406は、複数の相状態について、それぞれ、3つの信号線318a、318bおよび318c上で搬送される信号に関する。最初に、相遷移410は時計回り方向であり、最上位ビットは、相遷移410の回転が時間414において、最上位ビットのバイナリ「0」によって表されるように反時計回り方向にスイッチするまで、バイナリ「1」にセットされる。最下位ビットは、各状態での信号の極性408を反映する。
【0041】
本明細書で開示するいくつかの態様によると、1ビットのデータが、3線3相符号化システムにおける回転、または相変化に符号化されてよく、追加ビットが、2つの駆動される線の極性に符号化されてよい。追加情報が、現在の状態から、可能な状態のいずれかへの遷移を認めることによって、3線3相符号化システムの各遷移において符号化されてよい。各相に対して3つの回転相および2つの極性が与えられると、3線3相符号化システムでは6つの状態が起こり得る。したがって、どの現在の状態からも5つの状態が起こり得、シンボル(遷移)ごとに符号化されたlog2(5)≒2.32ビットが存在してよく、これにより、マッパ302は16ビットワードを受け取り、7つのシンボルに符号化することができる。
【0042】
図5は、3線3相デコーダ500のいくつかの態様を示す線図である。差動受信機502a、502b、502cおよび線状態デコーダ504は、互いに対して、3つの伝送線路(たとえば、
図3に示した信号線318a、318bおよび318c)の状態のデジタル表現を与えるように、また、前のシンボル期間中に送信された状態と比較して、3つの伝送線路の状態における変化を検出するように構成される。7つの連続する状態は、デマッパ508によって処理されるべき7つのシンボルのセットを取得するために、直列並列変換器506によって集められる。デマッパ508は、デコーダ500の出力520を与える先入れ先出し(FIFO)レジスタ510中にバッファされ得る16ビットのデータ518を生じる。
【0043】
線状態デコーダ504は、信号線318a、318bおよび318cから差動受信機502a、502b、502cによって受信された相符号化信号から導出された差分信号522から、シンボルのシーケンス514を抽出し得る。シンボル514は、本明細書で開示するように、相回転と極性の組合せとして符号化される。線状態デコーダは、信号線318a、318bおよび318cから線状態を確実にキャプチャするのに使われ得るクロック526を抽出するCDR回路524を含み得る。各シンボル境界における信号線318a、318bおよび318cのうちの少なくとも1つの上で、遷移が起こり、CDR回路524は、1つの遷移または複数の遷移の出現に基づいて、クロック526を生成するように構成され得る。クロックのエッジは、すべての信号線318a、318bおよび318c用の時間が安定するように、およびそうすることによって、現在の線状態が復号目的のために確実にキャプチャされるように遅延されてよい。
【0044】
図6は、可能な遷移が各状態から示されている、3つの線の可能なシグナリング状態602、604、606、612、614、616を示す状態
図600である。3線3相通信リンクの例では、6つの状態および30通りの状態遷移が可能である。状態
図600における可能な状態602、604、606、612、614および616は、
図4の循環状態
図450に示される状態を含み、詳述する。状態要素628の見本に示すように、状態
図600中の各状態602、604、606、612、614および616は、それぞれA、BおよびCと標示される、信号線318a、318b、318cの電圧シグナリング状態を定義する。たとえば、状態602(+x)では、線A=+1、線B=-1および線C=0であり、差動受信機602a(A-B)=+2、差動受信機602b(B-C)=-1および差動受信機602c(C-A)=-1の出力をもたらす。受信機中の相変化検出回路によってとられる遷移決定は、-2、-1、0、+1および+2の電圧状態を含む、差動受信機502a、502b、502cによって生じる5つの可能なレベルに基づく。
【0045】
状態
図600中の遷移は、セット:{000,001,010,011,100}中の3ビットバイナリ値のうちの1つを有する反転、回転、極性シンボル(たとえば、FRPシンボル626)によって表され得る。FRPシンボル626の回転ビット622は、次の状態への遷移に関連付けられた相回転の方向を示す。FRPシンボル626の極性ビット624は、次の状態への遷移が極性における変化を伴うとき、バイナリ1にセットされる。FRPシンボル626の反転ビット620がバイナリ1にセットされると、回転および極性値は、無視され、かつ/またはゼロにされてよい。反転は、極性における変化のみを伴う状態遷移を表す。したがって、3相信号の相は、反転が発生すると、回転していると見なされず、極性ビットは、反転が発生すると冗長である。FRPシンボル626は、各遷移についての線状態変化に対応する。状態
図600は、正極性状態602、604、606を含む内側の円608、および負極性状態612、614、616を包含する外側の円618に分けられ得る。
【0046】
図7および
図8は、本明細書で開示するいくつかの態様に従って適合され得るC-PHYインターフェースの動作のいくつかの態様を示す。
図7は、C-PHY3相インターフェースにおいて受信機に設けられるバスインターフェース回路700を示す。各差動受信機702、704および706は、その入力に存在する電圧差を観察するように構成され、差動電圧が存在する帯域に対応する1ビットデジタル差分信号710、712、714を生成する。各差動受信機702、704、706は、3つの信号線318a、318b、318cのうちの2つを入力として受信する。図示する例では、第1の差動受信機702が、信号線318aおよび318bの状態を比較し、第2の差動受信機704が、信号線318bおよび318cの状態を比較し、第3の差動受信機706が、信号線318aおよび318cの状態を比較する。各差動受信機702、704、706は、3つ組中の信号線318a、318bおよび/または318cのそれぞれの入力ペアの間の減法差分を示す差分信号710、712、714を出力する。差分信号710、712、714は、たとえば、
図6の状態
図600に従って動作するように構成され得るデコーダに与えられる。
図6の状態
図600に対応する3線3相インターフェースの例では、デコーダ708は、各差分信号710、712、714をゼロボルト基準と比較して、3つ組のシグナリング状態を表す3ビットシンボルの各ビットについてのバイナリ値を判断し得る。デコーダ708は、デコーダ708の出力716として符号化データを抽出するように復号され得るシンボルのシーケンスを生成することができる。
【0047】
図8は、バスインターフェース回路700の動作中に予想されるシグナリングのいくつかの態様を示す。第1のタイミング
図800は、C-PHYインターフェースにおける3つの信号線318a、318b、318cの各々に対して定義される3つのシグナリング状態802、804、806を示す。各シグナリング状態802、804、806は、信号線318a、318b、318c上で観察される電圧レベルによって、または、第1のタイミング
図800に示されるように、信号線318a、318b、318cを通る電流フローによって定義され得る。各状態における電流のアンペア数は、±Iアンペアまたは0アンペアと表される。第1のシグナリング状態802では、+Iアンペアの電流がC-PHYバスの線を流れ、第2のシグナリング状態804では、0アンペアの電流が線を流れ、第3のシグナリング状態806では、-Iアンペアの電流が線を流れる。Iの値は、アプリケーション要件もしくは目的、および/またはデバイス仕様によって判断され得る。一例では、Iの値は、C-PHYバスに結合された受信機における電圧レベルまたは電圧範囲を生じるように選択されてよい。
【0048】
シンボルから3つの信号線318a、318b、318c(線A、BおよびCとして識別される)中の電流フローへのマッピングの例として、テーブル810が与えられる。シンボルの示されるセット{+x,-x,+y,-y,+z,-z}の各々は、
図6に示す状態602、604、606、612、614および616に対応し得る。遷移間隔808は、シグナリング状態802、804、806の間の遷移がその間に完了されることが予想され得る連続するシンボルの間の持続時間を表す。各シグナリング状態802、804、806から2つの遷移が示され、特定のシンボル遷移が、3つの信号線318a、318b、318cのうちの1つのシグナリング状態における変化を生じない場合がある。
【0049】
第2のタイミング
図820は、差動受信機702、704、706によって生じる差分信号710、712、714の4つのシグナリング状態822、824、826、828を示す。各シグナリング状態822、824、826、828は、差分信号710、712、714中で観察される公称電圧レベルまたは電圧範囲を定義し得る。各状態の電圧レベルは、電圧の単位(V
State)の倍数として表され得る。第1のシグナリング状態822が+2V
Stateという公称電圧レベルによって表され、第2のシグナリング状態824が+1V
Stateという公称電圧レベルによって表され、第3のシグナリング状態826が-1V
Stateという公称電圧レベルによって表され、第4のシグナリング状態822が-2V
Stateという公称電圧レベルによって表される。V
Stateという公称値は、アプリケーション要件もしくは目的、および/またはデバイス仕様によって決まり得る。
【0050】
テーブル840は、
図6に示すシンボルのセット{+x,-x,+y,-y,+z,-z}に対して生成される3つの差分信号710、712、714(Diff
A-B、Diff
B-C、Diff
C-Aとして識別される)中での、シンボルからシグナリング状態822、824、826、828へのマッピングの例として与えられる。遷移間隔830は、シグナリング状態822、824、826、828がその間に不確かであると予想され得る連続するシンボルの間の持続時間を表す。各シグナリング状態802、804、806から異なるシグナリング状態802、804、806まで、3つの可能な遷移が示される。特定のシンボル遷移が、2つの中間シグナリング状態824、826において変化を生じない場合がある。
【0051】
図9は、C-PHYインターフェースにおいて利用され得るラインドライバ900、940の例を示す。電圧モードラインドライバ900が、スイッチ910、912、914a、914bを利用して、C-PHYバスの線916についての電圧状態を選択する。一例では、スイッチ910、912、914a、914bは、
図3の3線3相エンコーダ306によって制御され得る。テーブル920は、C-PHYプロトコルに従って線916について定義される3つのシグナリング状態を与えるスイッチ状態の組合せを示す。テーブル920中でバイナリ1が示されるとき、スイッチ910、912、914a、914bは閉鎖であるか、またはアクティブ化され、テーブル920中でバイナリ0が示されるとき、スイッチ910、912、914a、914bは開放であるか、または非アクティブ化される。
【0052】
電圧モードラインドライバ900の図示される例では、第1のスイッチ910を閉鎖することによって、線916が、第1の抵抗902を通して高電圧レベル918に結合されると、高シグナリング状態922が達成される。第2のスイッチ912を閉鎖することによって、線916が、第2の抵抗904を通してシステム接地または別の低電圧レベルに結合されると、低シグナリング状態924が達成される。中レベルシグナリング状態926は、第1の中レベルスイッチ914aを閉鎖することによって、線916が、第3の抵抗906を通して高電圧レベル918に結合されるとともに、第2の中レベルスイッチ914bが閉鎖され、第4の抵抗908を通して線916をシステム接地または別の低電圧レベルに結合すると、達成される。第1および第2の抵抗902、904の各々は、線916に関連付けられた特性インピーダンス(Z0)に合致する抵抗値(R)を有する。電圧モードラインドライバ900は、第1のスイッチ910のみが閉鎖されているか、または第2のスイッチ912のみが閉鎖されているとき、Z0に合致するインピーダンスを提示する。第3および第4の抵抗906、908の各々は、抵抗値(2R)を有し、この抵抗値は、中レベルスイッチ914aおよび914bの両方が閉鎖されているとき、電圧モードラインドライバ900に、Z0に合致するインピーダンスを提示させる。
【0053】
電流モードラインドライバ940は、C-PHYバスの線950に対して定義されるシグナリング状態の各々に対応する電流を選択するように動作され得るスイッチ946、948を利用する。一例では、スイッチ946、948は、
図3の3線3相エンコーダ306によって制御され得る。テーブル960は、C-PHYプロトコルに従って線950について定義される3つのシグナリング状態を与えるスイッチ状態の組合せを示す。テーブル960中でバイナリ1が示されるとき、スイッチ946、948は閉鎖であるか、またはアクティブ化され、テーブル960中でバイナリ0が示されるとき、スイッチ946、948は開放であるか、または非アクティブ化される。
【0054】
電流モードラインドライバ940の図示される例では、第1のスイッチ946を閉鎖することによって線950が第1の電流源942に結合されると、高シグナリング状態962が達成され、結果として電流が線950に流れる。いくつかの事例では、電流モードラインドライバ940は、線950に関連付けられた特性インピーダンス(Z0)に合致する抵抗値(R)の終端抵抗952を有する。終端抵抗952は、一端において中間点電圧に結合され、終端抵抗952を通る電流フローが高電圧状態を生じる。第2のスイッチ948を閉鎖することによって線950が第2の電流源944に結合されると、低シグナリング状態964が達成され、結果として線950から電流が流れる。電流が終端抵抗952を流れると、線950上で低電圧状態が生じる。第1の電流源942および第2の電流源944は通常、同じ公称大きさの電流を生じ、中レベルシグナリング状態966は、両方のスイッチ946、948が閉鎖されて、電流源942および944からの電流を打ち消させ、線950を電流が流れないと、達成される。
【0055】
C-PHYリンクを介するデータスループットの増大に対する要望は、C-PHYバスを介した送信を制御するのに使われるクロックの周波数を増大することによって、ある程度まで満たすことができる。クロック周波数を増大する能力は、遷移間隔808、830によって、およびデバイス切替え速度、伝送線路特性などから発生する他のタイミング制限によって制限される。
【0056】
本開示のいくつかの態様は、デバイスが、従来のC-PHY実装形態において可能であるよりも高いデータレートで、3線通信リンクを介して通信することを可能にする。3線3相エンコーダの理論上の符号化レートは、シンボルあたりlog2(6)≒2.58ビットである。C-PHYインターフェースでは、連続するシンボル間隔における同じシンボルの送信を禁止することによって、クロック情報が埋め込まれ、結果として、低下された符号化レート、すなわちシンボルあたりlog2(6-1)≒2.32ビットを与える。本開示のいくつかの態様では、C-PHYインターフェースにおいてシンボルあたりに符号化されるビットの数は、3相符号化をPAMと組み合わせる符号化方式を使って、シンボルあたり2.32ビットを超えて増大され得る。
【0057】
図10は、4つのシグナリング状態を使って2ビットのデータを符号化するように構成されるPAMドライバ1000(PAM-4)の例を示す。図示される例では、PAMドライバ1000は、2つの電流セル1002、1004を含む。第1の電流セル1002は単位アンペア数(±I)の電流を与え、第2の電流セル1004はより大きいアンペア数(ここでは、±2I)の電流を与える。第1の電流セル1002および第2の電流セル1004によって生じた電流は、加算されて出力電流(I
out)を与え、この電流は、PAMドライバ1000が終端されると、電圧レベル(V
out)を生じる。タイミング
図1020に示されるように、4つの状態1022、1024、1026、1028が、符号化のために起こり得る。4つの状態は、送信シンボルあたりlog
2(4)=2ビットのデータが符号化されることを可能にする。
【0058】
本明細書で開示するいくつかの態様は、送信シンボルの間の各遷移において符号化され得るビットの数を増やすために、PAMを3相符号化と組み合わせる符号化方式に関する。PAMは、3線リンクについてのシグナリング状態を定義するのに使うことができる電圧または電流レベルの数を増やすのに使われ得る。3つの電圧または電流レベルは、PAM-2変調を効果的に使う従来のC-PHYプロトコルに従って動作される3線リンクのシグナリング状態を定義するのに使われる。本開示のいくつかの態様は、少なくとも5つの電圧または電流レベルが各線用に利用可能であるとき、シンボル送信間隔中の3線リンクのシグナリング状態を表すか、または定義するシンボルを定義する符号化方式を提供する。一例では、PAM-3変調は、3線リンクの線あたり5つの電圧または電流レベルを与える。別の例では、PAM-4変調は、3線リンクの線あたり7つの電圧または電流レベルを与える。別の例では、PAM-8変調は、3線リンクの線あたり15個の電圧または電流レベルを与える。
【0059】
PAM-4符号化3相信号の例では、シンボル送信間隔中の相および電圧振幅、または相および電流フローを表す、かつ/または判断するシンボルのセットから選択されたシンボルの間の遷移中にデータが符号化される。PAM変調3相信号は、各シンボル送信間隔中に3線リンクの各線上で異なる相で送信される。PAM-4変調の例では、18個のシンボルが、データを符号化するために使われ得る。いくつかの事例では、データ単位のいくつかのビットが、シンボルの間の遷移中に効果的に符号化されてよく、かつ/またはデータ単位の他のビットが、PAM-4電圧レベルにおいて符号化されてよい。いくつかの事例では、データ単位は、直前のシンボルに基づいて送信されるべきシンボルと、遷移中に符号化されるべきデータ単位とを選択するのに使われてよい。いくつかの事例では、より大きいデータ単位(たとえばバイトまたはワード)が、送信されるべきシンボルのシーケンスを選択するのに使われてよい。
【0060】
以下の表Aは、本明細書で開示するいくつかの態様に従って実装され得る符号化方式の例のサンプリングを示す。
【0061】
【0062】
各符号化方式が、3相符号化を利用して多相信号を取得し、信号はPAMを使って変調される。C-PHYインターフェースにおいて使われる3相符号化方式は、PAM-2変調を利用するものとして特徴づけられ得る。符号化方式の符号化容量は、多線リンク上で各シンボルを符号化するために起こり得る状態の数の底2に対する対数として算出される、シンボルあたりのビットとして表され得る。本明細書で開示するいくつかの態様によると、起こり得る状態の数は、送信信号にクロック情報が埋め込まれると、1だけ低下される。いくつかの実装形態では、符号化方式は、PAM-16、PAM-32などを含む、他の様々な数のパルス振幅を使うことができる。
【0063】
図11は、3線リンク1106を通して結合された送信機1102および受信機1104を含むインターフェース1100の例を示し、インターフェース1100は、本開示のいくつかの態様による、3相とPAM符号化の組合せを利用する1つまたは複数の符号化方式をサポートするように構成される。3線リンク1106の各線1112、1114、1116は、線1112、1114、1116の特性インピーダンスに合致する抵抗1118、1120、1122によって、受信機において終端され得る。図示される例では、特性インピーダンスは50Ωの抵抗に対応し得る。送信機1102は3つのラインドライバ1108を有し、各々が、対応する線1112、1114、1116を、選択または構成された符号化方式(たとえば、表A参照)に従って駆動するように構成される。ラインドライバ1108は、電流ドライバまたは電圧ドライバとして実装され得る。受信機1104は、多状態差分信号1124、1126、1128を生じる3つの差動受信機1110を有する。多状態差分信号1124、1126、1128はデコーダ1130に与えられ、デコーダは、3相符号化とPAMの組合せによって生じるすべての可能なシグナリング状態を区別するように構成され得る。デコーダ1130は、3相符号化を使って符号化された信号からデータを復号するように構成可能であってよく、3相符号化信号は、PAMを使ってさらに変調され得る。デコーダ1130は、本開示において例として与えられる符号化方式をサポートするように構成され得る。
【0064】
3線リンク1106中の線1112、1114、1116のシグナリング状態は、電流フローの大きさおよび方向に基づいて、または電圧レベルおよび極性に基づいて定義され得る。一例では、線における起こり得るシグナリング状態は、公称単位電流フロー(I)によって定義されてよく、状態は、総計2N+1個のシグナリング状態に対して、ゼロフロー状態、N個の正フローシグナリング状態{I,...NI}およびN個の負フローシグナリング状態{-I,...-NI}を含む。5つの起こり得る状態は、受信機において検出される電圧によっても表すことができる。たとえば、各状態に対する電圧(VState)は、VState=IState×RTermとして算出することができ、IStateは、送信されるシグナリング状態に関連付けられた電流フローを表し、RTermは、対応する線1112、1114、1116の終端抵抗または特性インピーダンスに対応する。
【0065】
いくつかの実装形態では、差動受信機1110は、差分信号1124、1126、1128を、3相符号化とPAMの組合せを使って送信されるシンボルを表すデジタル値に差分信号1124、1126、1128を変換するように構成された比較回路を含むデコーダに与えられるアナログ信号の形で与える。いくつかの実装形態では、差動受信機1110は、3相符号化とPAMの組合せを使って送信されるシンボルを表すマルチビットデジタル値として、差分信号1124、1126、1128を与えるように構成された比較回路を含み得る。
【0066】
本開示の一態様では、本明細書で開示する符号化方式によって定義される各シンボルの送信中に、ゼロの正味電流が送信機1102と受信機1104との間に流れる。各シンボルは、送信機1102へ流れる合成電流を、受信機1104へ流れる合成電流と等しくさせる線1112、1114、1116という3つ組についてのシグナリング状態を定義する。3線リンク1106は、3線リンク1106を流れる電流の合計がゼロであるとき、高度共通モードノイズ除去を呈し得る。
【0067】
図12~
図14は、本開示のいくつかの態様による、3相符号化がPAM-4変調と組み合わされる符号化方式の第1の例を示す。
図11のインターフェース1100は、
図12および
図13に示すPAM-4変調方式を用いる3相符号化をサポートするように適合され得る。
図12のテーブル1200は、3相符号化とPAM-4変調の組合せによって与えられるシンボルから選択される18個の利用可能シンボルを示す。
図12のタイミング
図1220に示すように、3相信号のPAM-4変調は、C-PHY3相信号中で与えられる3つのシグナリング状態(
図8のタイミング
図800参照)を上回る4つの追加シグナリング状態を与え得る。結果として得られる、7つのシグナリング状態のセット{3I、2I、I、0、-I、-2I、-3I}は、ここでは公称電流フロー(I)の倍数として表される、3線バスの線を通る可能な電流フローを定義する。7つのシグナリング状態は、受信機において検出される電圧によっても表すことができる。
【0068】
シンボルの間の遷移期間1236中、各シグナリング状態1222、1224、1226、1228、1230、1232、1234から、6つの可能な遷移が示される。図示される符号化方式では、3つの線のうちの1つまたは複数において、他の2つの線において発生する遷移が考慮に入れられると、6よりも少ない遷移が起こり得るか、または可能であり得る。テーブル1200中の18個のシンボルの各々において、3線リンク1106中のどの2つの線1112、1114、1116も、同じシグナリング状態にはない。
図12および
図13に示される符号化方式は、2つの線1112、1114、1116が、同じシグナリング状態1222、1224、1226、1228、1230、1232または1234に入るように遷移することができないと定めている。一例では、第1の線1112、1114または1116が2I状態に遷移している場合、他の線1112、1114または1116のうちのいずれも、2I状態に遷移することができない。連続するシンボルの間の遷移期間1236中、線1112、1114、1116のうちの少なくとも1つにおいて、シグナリング状態の変化が発生する。連続して送信されるシンボルの各ペアの間の1つまたは複数の線の中で発生する遷移から、受信機1104によってクロック情報が導出され得る。
【0069】
3相符号化とPAM-4変調の組合せは、各シンボル送信間隔中に4ビットのデータが送信されることを可能にする。テーブル1200に示されるように、3相符号化とPAM-4変調が組み合わされると、シグナリング状態または相の、相互に区別可能な組合せを表す18個のシンボルが定義され得る。18個のシンボルが利用可能であることにより、各シンボル送信間隔中に最大でlog2(18)≒4.17ビットが送信されることが可能になる。少なくとも1つの線1112、1114、1116上でのシグナリング状態の変化を保証するために、連続するシンボル送信間隔中での同じシンボルの送信を禁止することによって、連続して送信されるシンボルの間の遷移にクロック情報が埋め込まれ得る。18個のシンボルのうちの17個が、シンボル送信間隔の間の各境界における送信に利用可能であるとき、その結果としての符号化レートは、シンボル送信間隔あたりlog2(18-1)=log2(17)≒4.08ビットとして算出することができる。
【0070】
図13は、
図12のテーブル1200中で定義されるシンボルの各々について
図11に示される差動受信機1110のセットによって生じる差分信号1124、1126、1128のシグナリング状態を示すタイミング
図1300を含む。各シグナリング状態は、差分信号1124、1126、1128中で観察される公称電圧レベルまたは電圧範囲を定義し得る。図示される符号化方式では、18個のシンボルが定義され、対応する、差分信号1124、1126、1128のシグナリング状態の18個の組合せが、受信機1104において検出され得る。各差分信号1124、1126、1128によって表される、電圧レベルの差分は、電圧(V
State)の単位の倍数であってよく、差分は、+6V
State差分1304と-6V
State差分1306との間の範囲にわたり得る。ゼロボルト差分1302、+2V
State差分1308および-2V
State差分1310は、シグナリングの誤りまたは送信機1102もしくは受信機1104の誤作動がなければ、遷移期間1312の外で生じるとは予想されない。V
Stateという公称値は、アプリケーション要件もしくは目的、および/またはデバイス仕様によって決まり得る。テーブル1320は、
図12のテーブル1200において定義されるシンボルの各々に対する差分信号1124、1126、1128のシグナリング状態を示す。
【0071】
図14は、本開示のある態様による、非駆動であるか、または中レベルシグナリング状態1228に駆動される3線リンク1106の線1112、1114、1116を有していないシンボルを含むテーブル1400を含む。テーブル1400は、シンボルの2つのグループ1402、1404を含む。3線リンク1106の1つの線1112、1114、1116は、シンボルの第1のグループ1402からのシンボルが送信されるとき、非駆動であるか、または中レベルシグナリング状態1228に駆動される。非駆動線1112、1114、1116は、電流フローを搬送せず、かつ/または中間点電圧レベルを想定する場合がある。シンボルの第1のグループ1402からのシンボルが送信されるとき、送信機1102と受信機1104との間を流れる電流の合計はゼロである。シンボルの第2のグループ1404からのシンボルが送信されるとき、3線リンク1106のどの線1112、1114、1116も、非駆動でないか、または中レベルシグナリング状態1228に駆動されない場合がある。シンボルの第2のグループ1404からのシンボルが送信されるとき、送信機1102と受信機1104との間を流れる電流の合計はゼロである。3線リンク1106の少なくとも1つの線1112、1114、1116が非駆動であるか、または中レベルシグナリング状態1228に駆動されることを要求しないシンボルが利用可能であることにより、シンボルセットを選択するとき、追加の柔軟性がもたらされ、ラインドライバ1108の設計を簡素化することができる。
【0072】
図15~
図17は、本開示のいくつかの態様による、3相符号化がPAM-3変調と組み合わされる符号化方式の第2の例を示す。
図11のインターフェース1100は、
図15および
図16に示すPAM-3変調符号化方式を用いる3相符号化をサポートするように適合され得る。いくつかの事例では、PAM-3エンコーダまたはデコーダが、PAM-4エンコーダまたはデコーダを使って実装されてよく、2つの最も大きい振幅PAMレベルは符号化中に使われない。
図15のテーブル1500は、3相符号化とPAM-3変調の組合せを通して与えられるシンボルから選択された12個のシンボルを含む。
図15のタイミング
図1520に示すように、3相信号のPAM-3変調は、C-PHY3相信号中で与えられる3つのシグナリング状態(
図8のタイミング
図800参照)を上回る2つの追加シグナリング状態を与え得る。結果として得られる、5つのシグナリング状態のセット{2I、I、0、-I、-2I}は、ここでは公称電流フロー(I)の倍数として表される、3線バスの線を通る可能な電流フローを定義する。5つのシグナリング状態1522、1524、1526、1528、1530は、受信機1104において検出される電圧によっても表すことができる。
【0073】
シンボルの間の遷移期間1532中、各シグナリング状態1522、1524、1526、1528、1530から、4つの可能な遷移が示される。図示される符号化方式では、3つの線のうちの各々において、他の2つの線において発生する遷移が考慮に入れられるとき、4よりも少ない遷移が起こり得るか、または可能であり得る。本開示の一態様では、2つの線1112、1114または1116が、6つのシンボルからなるグループ1502に対して同じシグナリング状態にある。連続するシンボルの間の遷移期間1532中、線のうちの少なくとも1つにおいて、シグナリング状態の変化が発生する。連続して送信されるシンボルの各ペアの間の1つまたは複数の線の中で発生する遷移から、受信機によってクロック情報が導出され得る。
【0074】
3相符号化とPAM-3変調の組合せは、各シンボル送信間隔中に3.46ビットのデータが送信されることを可能にする。テーブル1500に示されるように、3相符号化とPAM-3変調が組み合わされると、シグナリング状態または相の、相互に区別可能な組合せを表す12個のシンボルが定義され得る。12個のシンボルにより、各シンボル送信間隔中に最大でlog2(12)≒3.58ビットが送信されることが可能になる。少なくとも1つの線1112、1114、1116上でのシグナリング状態の変化を保証するために、連続するシンボル送信間隔中での同じシンボルの送信を禁止することによって、連続して送信されるシンボルの間の遷移にクロック情報が埋め込まれ得る。少なくとも1つの線上でのシグナリング状態の変化が保証されるべきであるとき、12個のシンボルのうちの11個が、シンボル送信間隔の間の各境界における送信に利用可能であり、結果として、符号化レートは、シンボル送信間隔あたりlog2(12-1)=log2(11)≒3.46ビットになる。
【0075】
図16は、
図15のテーブル1500中で定義されるシンボルの各々について
図11に示される差動受信機1110のセットによって生じる差分信号1124、1126、1128のシグナリング状態を示すタイミング
図1600を含む。各シグナリング状態は、差分信号1124、1126、1128中で観察される公称電圧レベルまたは電圧範囲を定義し得る。図示される符号化方式では、12個のシンボルが定義され、対応する、差分信号1124、1126、1128のシグナリング状態の12個の組合せが、受信機1104において検出され得る。各差分信号1124、1126、1128によって表される、電圧レベルの差分は、線の電圧(V
State)の単位の倍数であってよく、差分は、+4V
State差分1604と-4V
State差分1606との間の範囲にわたり得る。V
State差分1608および-V
State差分1610は、シグナリングの誤りまたは送信機もしくは受信機の誤作動がなければ、遷移期間1612の外で生じるとは予想されない。V
Stateという公称値は、アプリケーション要件もしくは目的、および/またはデバイス仕様によって決まり得る。テーブル1620は、
図15のテーブル1500において定義されるシンボルの各々に対する差分信号1124、1126、1128のシグナリング状態を示す。
【0076】
図17は、3線リンク1106の線1112、1114、1116のうちの1つが非駆動であるか、または中レベルシグナリング状態1526に駆動されることを要求しないいくつかのシンボルを含むように、本開示のいくつかの態様に従って定義されるシンボルセット1700を示す。シンボルセット1700は、シンボルの2つのグループ1702、1704を含む。3線リンク1106の1つの線1112、1114、1116は、シンボルの第1のグループ1702からのシンボルが送信されるとき、非駆動であるか、または中レベルシグナリング状態1526に駆動される。非駆動線は、電流フローを搬送せず、かつ/または中間点電圧レベルを想定する場合がある。シンボルの第1のグループ1702からのシンボルが送信されるとき、送信機1102と受信機1104との間を流れる電流の合計はゼロである。シンボルの第2のグループ1704からのシンボルが送信されるとき、3線リンク1106のどの線1112、1114、1116も、非駆動でないか、または中レベルシグナリング状態1526に駆動されない場合がある。さらに、シンボルの第2のグループ1704中の各シンボルが、3つの線1112、1114、1116のうちの2つに対して同じシグナリング状態を定義する。図示される例では、2つの線1112、1114、1116を同じシグナリング状態に定義することにより、シンボルの第2のグループからのシンボルが送信されると、送信機1102と受信機1104との間を流れる電流が、合計でゼロになることが可能になる。3線リンク1106の少なくとも1本の線1112、1114、1116が非駆動であるか、または中レベルシグナリング状態1526に駆動されることを要求しないシンボルが利用可能であることにより、シンボルセットを選択するとき、追加の柔軟性がもたらされ、ラインドライバ1108の設計を簡素化することができる。
【0077】
図18および
図19は、本開示のいくつかの態様による、3相符号化をPAM-8変調と組み合わせる符号化方式の第3の例を示す。
図11のインターフェース1100は、
図18および
図19に示すPAM-8変調符号化方式を用いる3相符号化をサポートするように適合され得る。
図18のテーブル1800は、3相符号化とPAM-8変調の組合せを通して与えられるシンボルから選択された42個のシンボルを含む。3相信号のPAM-8変調は、C-PHY3相信号中で与えられる3つのシグナリング状態を上回る42個の追加シグナリング状態を与え得る。結果として得られる、15個のシグナリング状態のセット{7I,6I,5I,4I,3I,2I,I,0,-I,-2I,-3I,-4I,-5I,-6I,-7I}は、ここでは公称電流フロー(I)の倍数として表される、3線バスの線を通る可能な電流フローを定義する。15個のシグナリング状態は、受信機において検出される電圧によっても表すことができる。
【0078】
14個の可能な遷移が、各シグナリング状態から可能である。テーブル1800中の42個のシンボルの各々において、どの2つの線1112、1114、1116も、同じシグナリング状態にはない。連続送信されたシンボルの間の遷移期間中、線1112、1114、1116のうちの少なくとも1つにおいて、シグナリング状態の変化が発生する。連続して送信されるシンボルの各ペアの間の1つまたは複数の線1112、1114、1116の中で発生する遷移から、受信機1104によってクロック情報が導出され得る。3相符号化とPAM-8変調の組合せは、各シンボル送信間隔中に5.36ビットのデータが送信されることを可能にする。テーブル1800に示されるように、3相符号化とPAM-8変調が組み合わされると、シグナリング状態または相の、相互に区別可能な組合せによって表される42個のシンボルが定義され得る。42個のシグナリング状態により、各シンボル送信間隔中に最大でlog2(42)≒5.39ビットが送信されることが可能になる。連続するシンボル送信間隔中での同じシンボルの送信を禁止することによって、連続して送信されたシンボルの間の遷移中に、クロック情報が埋め込まれ得る。少なくとも1つの線上でのシグナリング状態の変化が保証されるべきであるとき、42個のシンボルのうちの41個が、シンボル送信間隔の間の各境界における送信に利用可能であり、結果として、符号化レートは、シンボル送信間隔あたりlog2(42-1)=log2(41)≒5.36ビットになる。
【0079】
本開示の一態様では、3線リンク1106の線1112、1114、1116のうちの1つが非駆動であるか、または中レベルシグナリング状態に駆動されることを要求しないいくつかのシンボルを含むシンボルセットが定義され得る。テーブル1800は、シンボルの2つのグループ1802、1804を示す。3線リンク1106の1本の線1112、1114、1116は、シンボルの第1のグループ1802からのシンボルが送信されるとき、非駆動であるか、または中レベルシグナリング状態に駆動される。非駆動線1112、1114、1116は、電流フローを搬送せず、かつ/または中間点電圧レベルを想定する場合がある。シンボルの第1のグループ1802からのシンボルが送信されるとき、送信機1102と受信機1104との間を流れる電流の合計はゼロである。シンボルの第2のグループ1804からのシンボルが送信されるとき、3線リンク1106のどの線1112、1114、1116も、非駆動でないか、または中レベルシグナリング状態に駆動されない場合がある。シンボルの第2のグループ1804からのシンボルが送信されるとき、送信機1102と受信機1104との間を流れる電流の合計はゼロである。3線リンク1106の少なくとも1本の線1112、1114、1116が非駆動であるか、または中レベルシグナリング状態に駆動されることを要求しないシンボルが利用可能であることにより、シンボルセットを選択するとき、追加の柔軟性がもたらされ、ラインドライバ1108の設計を簡素化することができる。
【0080】
図19は、
図18のテーブル1800中で定義されるシンボルの各々について
図11に示される差動受信機1110のセットによって生じる差分信号1124、1126、1128のシグナリング状態を示すテーブル1900を含む。各シグナリング状態は、差分信号1124、1126、1128中で観察される公称電圧レベルまたは電圧範囲を定義し得る。図示される符号化方式では、42個のシンボルが定義され、対応する、差分信号1124、1126、1128のシグナリング状態の42個の組合せが、受信機1104において検出され得る。各差分信号1124、1126、1128によって表される、電圧レベルの差分は、電圧(V
State)の単位の倍数であってよく、差分は、+14V
State差分と-14V
State差分との間の範囲にわたり得る。ゼロボルト差分ならびに±2V
State、±4V
State、および±6V
State差分は、シグナリングの誤りまたは送信機1102もしくは受信機1104の誤作動がなければ、遷移期間の外で生じるとは予想されない。V
Stateという公称値は、アプリケーション要件もしくは目的、および/またはデバイス仕様によって決まり得る。
【0081】
図20は、本開示のいくつかの態様に従って提供される1つまたは複数の複合3相およびPAM符号化方式をサポートするように構成された、受信機中に設けられるデコーダアーキテクチャ2000を示す。図示されるデコーダアーキテクチャ2000は、3つのPAM差動受信機2002、2004、2006を提供する。PAM差動受信機2002、2004、2006は、3線リンク1106中の3つの線1112、1114、1116の異なるペアの間の電圧における差分を表すマルチビット差分値を、それぞれの出力信号2010、2012、2014中で与えるように構成される。本開示のいくつかの態様に従って提供されるいくつかの実装形態では、各PAM差動受信機2002、2004、2006は、線1112、1114、1116のうちの2つの、シグナリング状態の間の差分を含む差分値の帯域を示す差分値を与える。
【0082】
図12~
図14に示す符号化方式の例では、PAM差動受信機2002、2004、2006は、3相およびPAM-4符号化の組合せを使って生成されたシンボルを復号するために構成される。PAM差動受信機2002、2004、2006は、PAM-3およびPAM-8を含む、他のレベルのPAMを使う符号化方式をサポートするように適合または構成されてよい。第1のPAM差動受信機2002が、3線リンク1106中のA線1112およびB線1114のシグナリング状態を比較し、第2のPAM差動受信機2004が、3線リンク1106中のB線1114およびC線1116のシグナリング状態を比較し、第3のPAM差動受信機2006が、3線リンク1106中のC線1116およびA線1112のシグナリング状態を比較する。各PAM差動受信機2002、2004、2006は、その入力に存在する差分電圧の比較に基づいて出力を生成する。PAM差動受信機2002、2004、2006は、差分電圧が存在する帯域を表すマルチビットデジタル出力信号2010、2012、2014を、帯域を定義する閾値に基づいて生成する。一例では、閾値は-2.0V
State、0.0Vおよび+2.0V
Stateにセットされてよく、ここで、V
Stateは、可能な電圧レベルの間の最小分離を表す電圧の単位に対応する。出力信号2010、2012、2014はデコーダ2008に与えられ、デコーダは、各シンボル間隔中に受信されたマルチビットデジタル出力信号2010、2012、2014を使って、デコーダ2008の出力2016として、符号化シンボルデータを抽出するために復号され得る線状態のシーケンスを集める。
【0083】
図21は、本開示のいくつかの態様による、3相符号化とPAM-4変調の組合せを使って、送信されたシンボルを区別するように構成された受信機2120を利用するインターフェース2100の例を示す。受信機2120は、PAM-3およびPAM-8を含む、他のレベルのPAMを使う符号化方式をサポートするように適合または構成されてよい。一例では、受信機回路は、
図11に示す受信機1104に対応してよく、かつ/または
図20に示すデコーダアーキテクチャ2000を利用してよい。インターフェース2100は、3線リンク2104に結合された送信機2102を含む。3線リンク2104の各線2108、2110、2112は、線2108、2110、2112の特性インピーダンスに合致する抵抗2114、2116、2118によって、受信機において終端され得る。図示される例では、特性インピーダンスは50Ωの抵抗に対応し得る。送信機2102は、本開示のいくつかの態様による3相符号化とPAM-4変調の組合せを使って、対応する線2108、2110、2112を駆動するように構成された3つのラインドライバ2106を有する。ラインドライバ2106は、電流ドライバまたは電圧ドライバとして実装され得る。
【0084】
図示される例では、受信機2120は、バッファ回路2122および比較器回路2132を含む。バッファ回路2122は、3線リンク2104に結合された差動受信機2124を含むことができ、バッファ回路2122は、比較器回路2132にアナログ差分信号2126、2128、2130を与えることができる。比較器回路2132は、アナログ差分信号2126、2128、2130の電圧レベルを表すマルチビットデジタル値2142、2144、2146を生じるアナログデジタル変換器(ADC)回路2134、2136、2138を含み得る。図示される例では、ADC回路2134、2136、2138は、各差分信号2126、2128、2130向けの比較器のセットを使って実装され、ここで、各セット中の比較器は、差分信号2126、2128、2130を複数の閾電圧レベル2140と比較する。一例では、閾電圧は、
図16に示すゼロボルトレベル1602、+2V
State差分1608および-2V
State差分1610を含み得る。
【0085】
いくつかの実装形態では、バッファ回路2122および比較器回路2132によって実施される機能は組み合わされてよい。ADC回路2134、2136、2138は、異なるタイプのアナログおよびデジタル回路を使って実装され得る。
【0086】
図22は、本開示のいくつかの態様に従って構成または適合された電圧モードドライバ2200を示す。送信機が、3線リンクの各線に対して電圧モードドライバ2200のインスタンスを含み得る。電圧モードドライバ2200は、スイッチ2212、2214、2216、2232、2234、2236を利用して、3線リンクの1つの線2210についての電圧状態を選択する。一例では、スイッチ2212、2214、2216、2232、2234、2236は、
図14のテーブル1400において定義されるようなシンボルを選択するように適合または構成されたエンコーダによって制御することができ、そうすることによって、送信されたシンボルの間の遷移中にデータを符号化し得る。
図22の第1のテーブル2240は、本開示のいくつかの態様による、線2210について定義される7つのシグナリング状態2242を与えるスイッチ状態の組合せを示す。
図22の第1のテーブル2240中でバイナリ1が示されるとき、スイッチ2212、2214、2216、2232、2234、2236は、閉鎖であるか、またはアクティブ化され、
図22の第1のテーブル2240中でバイナリ0が示されるとき、スイッチ2212、2214、2216、2232、2234、2236は、開放であるか、または非アクティブ化される。
【0087】
スイッチ2212、2214、2216、2232、2234、2236は、電圧モードドライバ2200中の抵抗のネットワークを構成するのに使われ得る。スイッチ2212、2214、2216、2232、2234、2236の各々は、対応する抵抗2202、2204、2206、2222、2224、2226に結合される。抵抗2202、2204、2206、2222、2224、2226の値は、抵抗2202、2204、2206、2222、2224、2226のうちの2つ以上を、線2210に関連付けられた特性インピーダンスに合致する合成抵抗を提示する線2210に結合することによって、抵抗の各組合せ2250が与えられ得るように選択される。図示される例では、正の電圧2208に結合された3つの抵抗2202、2204、2206と、接地または正の電圧2208よりも低い別の電圧に結合された3つの抵抗2222、2224、2226が、
図14のテーブル1400において定義されたシンボルによって定義される状態の各々を与えるように組み合わされ得る。図示される例に対して3つの抵抗値が定義され、抵抗2202、2222は6Rの抵抗値を有し、抵抗2204、2224は3Rの抵抗値を有し、抵抗2206、2226は1.5Rの抵抗値を有し、Rは、線2210に関連付けられた特性インピーダンスに合致する抵抗値である。線2210に結合された抵抗2202、2204、2206、2222、2224、2226のうちの2つ以上が、特性インピーダンスに対する並列抵抗として現れる。
図22の第2のテーブル2260は、インピーダンス合致抵抗値2262のうちの1つを生じる、より大きい並列組合せの一部である、インピーダンス合致抵抗値2262または中間抵抗値2264を生じる並列抵抗の組合せを定義する。
図22の第2のテーブル2260は、電圧モードドライバ2200とともに使用可能である。抵抗のペア(R1およびR2)の並列抵抗は、次のように算出され得る。
【0088】
【0089】
7つのシグナリング状態2242は、
図22の第1のテーブル2240において識別されるスイッチ状態の対応する組合せを使って取得される。
【0090】
図23は、本開示のいくつかの態様に従って構成または適合され得る電流モードドライバ2300、2350の例を示す。送信機が、3線リンクの各線に対して電流モードドライバ2300または2350のインスタンスを含み得る。第1の電流モードドライバ2300は、スイッチ2312、2314、2316、2332、2334、2336を利用して、3線リンクの1つの線2310についてのシグナリング状態を選択する。一例では、スイッチ2312、2314、2316、2332、2334、2336は、
図14のテーブル1400において定義されるシンボルにデータを符号化するように適合または構成されたエンコーダによって制御され得る。
図23の第1のテーブル2340は、本開示のいくつかの態様による、線2310について定義される7つのシグナリング状態2342を与えるスイッチ状態の組合せを示す。
図23の第1のテーブル2340中でバイナリ1が示されるとき、スイッチ2312、2314、2316、2332、2334、2336は、閉鎖であるか、またはアクティブ化され、
図23の第1のテーブル2340中でバイナリ0が示されるとき、スイッチ2312、2314、2316、2332、2334、2336は、開放であるか、または非アクティブ化される。
【0091】
スイッチ2312、2314、2316、2332、2334、2336の各々は、対応する電流源2302、2304、2306、2322、2324、2326に結合される。図示される例では、電流源2302、2304、2306、2322、2324、2326の各々は、対応するスイッチ2312、2314、2316、2332、2334、2336によって線2310に結合されると、電流(I)の単位をソースまたはシンクする。電流源2302、2304、2306、2322、2324、2326のうちの2つ以上が線2310に同時に結合されると、複数の電流単位がソースまたはシンクされる。線2310は、インピーダンス合致抵抗2338を使って終端され得る。
【0092】
第2の電流モードドライバ2350は、第1の電流モードドライバ2300よりも少ない電流源2352、2354、2362、2364で動作することができる。第1の電流モードドライバ2300中の電流源2302、2304、2306、2322、2324、2326は、同じ公称単位電流値をソースまたはシンクするように格付けされる。第2の電流モードドライバ2350は、単位電流値をソースまたはシンクする第1の電流源2352、2362と、単位電流値の2倍をソースまたはシンクする第2の電流源2354、2364とを含む。第2の電流モードドライバ2350は、3線リンクの1つの線2360に対して所望のシグナリング状態を生じる総電流を選択するように、スイッチ2356、2358、2366、2368を動作させる。
【0093】
図23の第2のテーブル2380は、本開示のいくつかの態様による、線2360について定義される7つのシグナリング状態2382を与えるスイッチ状態の組合せを示す。
図23の第2のテーブル2380中でバイナリ1が示されるとき、スイッチ2356、2358、2366、2368は、閉鎖であるか、またはアクティブ化され、
図23の第2のテーブル2380中でバイナリ0が示されるとき、スイッチ2356、2358、2366、2368は、開放であるか、または非アクティブ化される。線2360は、インピーダンス合致抵抗2372を使って終端され得る。
【0094】
図24は、本明細書で開示するいくつかの態様による、3相符号化とPAMの組合せを使う符号化方式をサポートするように適合されているシステム2400の例を示す。送信機2402が、3線リンク2420によって受信機2422に結合される。
【0095】
送信機2402は、受信機2422へ通信されるべきデータを受信し、保持するデータバッファ2404を含む。データは、アプリケーションプロセッサ、周辺機器、センサー、記憶デバイス、撮像デバイス、ディスプレイ、または別のデータソースから、データバッファ2404によって受信され得る。いくつかの例では、データは、8ビットバイト、16ビット、32ビットもしくは64ビットワード、または別のサイズのワードとして記憶される。いくつかの例では、各データ単位は、パリティビット、および/または誤り検査ビットとともに記憶され、たとえば、パリティビットは各バイトに対して与えられてよく、かつ/またはパリティビットもしくは巡回冗長性ビットが、データバイトもしくはワードのブロックごとに算出され、追加バイトもしくはワードとして送信されてよい。いくつかの事例では、データは、制御情報とともに、通信プロトコルの1つまたは複数のレイヤに従って生成されたパケットまたは他のデータ構造中にカプセル化されてよい。データバッファ2404は、アプリケーションによって定義されたサイズで、データエンコーダ2406に与えられ得る。データエンコーダ2406は、データバッファ2404から受信されたデータを再フォーマットし、再フォーマットされたデータを1つまたは複数のシンボルにマップし、シンボルを、送信クロックによる送信用に直列化するか、またはそうでなければシーケンス化するように構成された構成要素を含み得る。
【0096】
いくつかの実装形態では、データエンコーダ2406は、符号化方式に関連付けられた符号化レートに従ってサイズ決定される単位サイズで、データをデータバッファ2404から受信する。いくつかの例では、データエンコーダ2406は、8ビットバイト、16ビットワードまたは32ビットワードでのデータを処理するように構成される。いくつかの例では、データエンコーダ2406は、データバッファ2404によって供給されたデータを、データエンコーダ2406用に構成された符号化方式にかかわらずデータの単位サイズが一定であるように、8ビットバイトまたは16ビットワードのセットに再編成する回路を含み得る。一例では、データエンコーダ2406は、各シンボル送信間隔中に、3線リンク2420の各線のシグナリング状態を表す3つのマルチビットコード2416を生成する。データエンコーダ2406は、3つのマルチビットコード2416を線状態エンコーダ2410に与える。線状態エンコーダ2410は、ラインドライバ2414に与えられる制御信号2418を生成する。ラインドライバ2414の各々は、制御信号2418のうちの1つまたは複数を受信し、3線リンク2420の対応する線のシグナリング状態を定義するのに使う。
【0097】
いくつかの実装形態では、3つのマルチビットコード2416の各々が、線状態エンコーダ2410に、ラインドライバ2414中のスイッチを構成する制御信号のセット2418を生成させることができ、スイッチの状態(たとえば、閉鎖または開放)は、3線リンク2420の線に与えられるべき電流または電圧レベルを選択し得る。3つのマルチビットコード2416に応答して線状態エンコーダ2410によって生成された制御信号2418の状態は、アクティブな符号化方式に、またはラインドライバ2414を実装するのに使われるライン駆動回路のタイプに基づいて構成され得る。異なるタイプのライン駆動回路は、所望のシグナリング状態を選択するように制御されるべき異なる数のスイッチを有し得る。たとえば、
図22の電圧モードドライバ2200のスイッチを制御するのに必要とされる信号の数は、
図23の電流モードドライバ2300のスイッチを制御するのに必要とされる信号の数よりも大きくてよい。データエンコーダ2406および線状態エンコーダ2410の動作は、クロック生成器によって与えられるクロック信号中で示されるタイミング情報に従って実施され得る。
【0098】
データエンコーダ2406は、3線リンク2420上でシンボルのストリームを送信させるように動作し、ここで各シンボルは、3線リンク2420の3つの線のシグナリング状態の組合せとして送信される。
図12、
図15および
図18のテーブル1200、1500および1800は、いくつかの符号化方式用に生成されるシンボルおよび各シンボル用に定義される対応するシグナリング状態の例を示す。データエンコーダ2406は、1つまたは複数の動作モード用に、および1つまたは複数の符号化方式用に構成されてよい。
【0099】
第1の例では、送信機2402は、3線リンク2420を介してシンボルのストリームを能動的に送信している場合があり、ここでデータエンコーダ2406は、第Nのシンボル(SN)を生成済みであり、シンボルのストリームにSNを追加済みである。データエンコーダ2406は、各データ単位が個別に符号化される第1の動作モード用に構成され得る。この第1のモードにおいて、データエンコーダ2406は、符号化されるべき次のデータ単位を、送信用の次のシンボルを選択するのに使う。一例では、データエンコーダ2406は、次のシンボル(SN+1)を選択するのに使われるインデックスを生成してよく、ここでSN+1へのインデックスは、次の4ビットを、インデックスからSNまでのオフセットとして使って生成される。インデックスは、SNおよびSN+1と同じシンボルの選択を防ぐように生成される。一例では、SN+1へのインデックスは、SNへのインデックスに対する次の4ビットの加算または減算によって算出され得る。別の例では、SN+1へのインデックスは、次の4ビットとSNへのインデックスとを変数として受け取るアルゴリズムを使って算出され得る。
【0100】
第2の例では、送信機2402は、3線リンク2420を介してシンボルのストリームを能動的に送信している場合があり、ここでデータエンコーダ2406は、第Nのシンボル(SN)を生成済みであり、シンボルのストリームにSNを追加済みである。データエンコーダ2406は、1つまたは複数のデータバイトがシンボルのシーケンス{SN+1,SN+2,...}中で符号化される第2の動作モード用に構成されてよい。一例では、データエンコーダ2406は、シンボルのシーケンスを維持するテーブルをインデックス付けするのに、SNの値と、1つまたは複数のデータバイトとを使う。別の例では、データエンコーダ2406は、SNの値に基づいてシンボルのシーケンスを選択するのに使われるオフセットのセットを維持するテーブルをインデックス付けするのに、1つまたは複数のデータバイトを使う。データエンコーダ2406は、前に生成されたシンボルを生成するのに使われるインデックスから、次のシンボルへのインデックスを生成するのに合成オフセットを使うことによって、シンボルのシーケンスを生じる。たとえば、データエンコーダ2406は、オフセットのセット中の第1のオフセットの値と、SNを選択するのに使われるインデックスとに基づいてSN+1を選択するための、シンボルテーブル2408へのインデックスを生成することができる。いくつかの事例では、オフセットのセットは、1つまたは複数のバイトの内容をインデックスとして使ってテーブルをインデックス付けすることによって取得され得る。いくつかの事例では、オフセットのセットは、データの単位を1つまたは複数のバイトまたはワードにくずすことによって生成され得る。
【0101】
いくつかの実装形態では、データエンコーダ2406は、3線リンク2420のシグナリング状態を表すマルチビットコードのブロックとして表されるシンボルをシンボルの時間順シーケンスに変換する並列直列変換器を含むか、またはそれに結合され得る。シンボルのシーケンス{S1,S2,...SN,SN+1,...}は、対応するシンボル送信間隔{t1,t2,...tN,tN+1,...}中に送信されてよく、ここでシンボル送信間隔は、クロック生成器2412によって与えられるクロック信号に基づいて定義される。線状態エンコーダ2410に与えられるマルチビットコードのシーケンス2416は、対応する第Nのシンボル送信間隔(tN)シンボル中に3線リンク2420のシグナリング状態を生成するのに使われる第Nのシンボル(SN)を含み、その後には、対応する第(N+1)のシンボル送信間隔(tN+1)中に3線リンク2420のシグナリング状態を生成するのに使われる第(N+1)のシンボル(SN+1)が続く。
【0102】
受信機2422は、3線リンク2420から信号を受信する差動受信機2434を含む。差動受信機2434は、本明細書で開示するいくつかの態様による、PAMを使って多相信号を変調する符号化方式において定義されるN個のシグナリング状態を判別するように動作可能であってよい。差動受信機2434は、差動出力信号からシンボルを抽出するように構成されている線状態デコーダ2430に、差動出力信号を与える。シンボルは次いで、個々のシンボルに対して、またはシンボルのグループに対して作用するように構成され得るデータデコーダ2426に与えられる。データデコーダ2426は、受信されたシンボルを直列化解除し、復号データを取得するために1つまたは複数のシンボルをデマップするように構成された構成要素を含み得る。データデコーダ2426は、復号データを再アセンブルし、再フォーマットするように構成された構成要素を含み得る。
【0103】
あるモード動作では、データデコーダ2426は、4ビットの復号データを取得するためにシンボルテーブル2428をインデックス付けするのに、受信されたシンボル(SN+1)と先行するシンボル(SN)との間の差分を使うことができる。別のモード動作では、データデコーダ2426は、8、16、32ビット以上の復号データを取得するためにシンボルテーブル2428をインデックス付けするのに、シンボルの受信されたシーケンスおよび先行するシンボル(SN)を使うことができる。復号データは、先入れ先出しレジスタ(FIFO2424)または別のバッファに与えられてよい。
【0104】
線状態デコーダ2430は、3線リンク2420の1つまたは複数の線上でのシグナリング状態における遷移を検出するとともに、遷移のタイミングに基づいてクロック信号を生成するクロックおよびデータ復元回路(CDR2432)を含み得る。クロック信号は、データデコーダ2426、FIFO2424およびクロック信号に従って動作し得る受信機2422の他の構成要素によって使われ得る。
【0105】
処理回路および方法の例
図25は、本明細書において開示される1つまたは複数の機能を実施するように構成することができる処理回路2502を利用する装置のためのハードウェア実装形態の例を示す概念
図2500である。本開示の様々な態様によると、本明細書で開示するような要素、または要素の任意の部分、または要素の任意の組合せは、処理回路2502を使って実装されてよい。処理回路2502は、本明細書で開示される様々な符号化方式をサポートするいくつかのデバイス、回路、および/または論理を含み得る。一例では、処理回路2502は、データからシンボルへの符号化を容易にする、回路構成とモジュールの何らかの組合せと、直列バスの線上で3つ以上の電圧レベルをアサートするように適合されているラインドライバとを含み得る。別の例では、処理回路2502は、本明細書で開示するいくつかの態様による、3相符号化とPAMの組合せを通した符号化方式を使ってデータからシンボルへの符号化を容易にする、回路構成とモジュールの何らかの組合せを含み得る。処理回路2502は、状態機械または本明細書で開示する符号化および/もしくは復号プロセスを管理する別のタイプの処理デバイスを含み得る。
【0106】
処理回路2502は、ハードウェアモジュールとソフトウェアモジュールとのいくつかの組合せによって制御される1つまたは複数のプロセッサ2504を含み得る。プロセッサ2504の例には、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理デバイス(PLD)、状態機械、シーケンサ、ゲート論理、個別ハードウェア回路、および本開示全体にわたって説明する様々な機能性を実施するように構成された他の好適なハードウェアがある。1つまたは複数のプロセッサ2504は、特定の機能を実施し、ソフトウェアモジュール2516のうちの1つによって構成されるか、増強されるか、または制御され得る専用プロセッサを含む場合がある。1つまたは複数のプロセッサ2504は、初期化中にロードされたソフトウェアモジュール2516の組合せを介して構成されてよく、動作中に1つまたは複数のソフトウェアモジュール2516のローディングまたはアンローディングによってさらに構成されてよい。
【0107】
図示の例では、処理回路2502は、バス2510によって概略的に表されるバスアーキテクチャを用いて実装され得る。バス2510は、処理回路2502の特定の用途および全体的な設計制約に応じて、任意の数の相互接続するバスおよびブリッジを含み得る。バス2510は、1つまたは複数のプロセッサ2504およびプロセッサ可読記憶媒体2506を含む様々な回路を互いにリンクさせる。プロセッサ可読記憶媒体2506は、メモリデバイスおよび大容量記憶デバイスを含んでよく、本明細書でコンピュータ可読媒体および/またはプロセッサ可読媒体と呼ばれることがある。バス2510はまた、タイミングソース、タイマー、周辺機器、電圧調整器、および電力管理回路などの、様々な他の回路をリンクさせ得る。バスインターフェース2508は、バス2510と1つまたは複数のトランシーバ2512との間のインターフェースを提供し得る。トランシーバ2512は、処理回路によってサポートされるネットワーキング技法ごとに設けられてよい。いくつかの事例では、複数のネットワーキング技法が、トランシーバ2512の中に見られる回路構成または処理モジュールの一部または全部を共有してよい。各トランシーバ2512は、送信媒体を介して様々な他の装置と通信するための手段を提供する。装置の性質に応じて、ユーザインターフェース2518(たとえば、キーパッド、ディスプレイ、スピーカー、マイクロフォン、ジョイスティック)が設けられてもよく、直接またはバスインターフェース2508を通してバス2510に通信可能に結合され得る。
【0108】
プロセッサ2504は、バス2510を管理すること、およびプロセッサ可読記憶媒体2506を含み得るプロセッサ可読媒体に記憶されたソフトウェアの実行を含み得る一般的な処理を担い得る。この点で、プロセッサ2504を含む処理回路2502は、本明細書で開示する方法、機能および技法のうちのいずれかを実装するために使われ得る。プロセッサ可読記憶媒体2506は、ソフトウェアを実行するとき、プロセッサ2504によって扱われるデータを記憶するために使われてよく、ソフトウェアは、本明細書で開示する方法のうちの任意の1つを実施するように構成され得る。
【0109】
処理回路2502における1つまたは複数のプロセッサ2504は、ソフトウェアを実行し得る。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、または他の名称で呼ばれるかどうかにかかわらず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行ファイル、実行スレッド、プロシージャ、関数、アルゴリズムなどを意味するように広く解釈されるべきである。ソフトウェアは、コンピュータ可読形態で、プロセッサ可読記憶媒体2506または別の外部プロセッサ可読媒体の中に存在し得る。プロセッサ可読記憶媒体2506は、非一時的プロセッサ可読媒体を含み得る。非一時的プロセッサ可読媒体は、例として、磁気記憶装置デバイス(たとえば、ハードディスク、フロッピーディスク、磁気ストリップ)、光ディスク(たとえば、コンパクトディスク(CD)またはデジタル多用途ディスク(DVD))、スマートカード、フラッシュメモリデバイス(たとえば、「フラッシュドライブ」、カード、スティック、またはキードライブ)、ランダムアクセスメモリ(RAM)、ROM、PROM、消去可能PROM(EPROM)、EEPROM、レジスタ、リムーバブルディスク、ならびに、コンピュータによってアクセスされ読み取られ得るソフトウェアおよび/または命令を記憶するための任意の他の適切な媒体を含む。プロセッサ可読記憶媒体2506はまた、例として、搬送波、伝送線路、ならびにコンピュータによってアクセスされ読み取られ得るソフトウェアおよび/または命令を送信するための任意の他の好適な媒体を含み得る。プロセッサ可読記憶媒体2506は、処理回路2502の中、プロセッサ2504の中、処理回路2502の外部に存在してよく、または処理回路2502を含む複数のエンティティにわたって分散されてよい。プロセッサ可読記憶媒体2506は、コンピュータプログラム製品において具現化され得る。例として、コンピュータプログラム製品は、パッケージング材料内にプロセッサ可読媒体を含んでよい。特定の適用例および全体的なシステムに課される全体的な設計制約に応じて、本開示全体にわたって提示される説明する機能性がどのように最良に実装されるのかを、当業者は認識されよう。
【0110】
プロセッサ可読記憶媒体2506は、本明細書でソフトウェアモジュール2516と呼ばれることがある、ロード可能なコードセグメント、モジュール、アプリケーション、プログラムなどの中に維持および/または編成されるソフトウェアを維持し得る。ソフトウェアモジュール2516の各々は、処理回路2502上にインストールまたはロードされ、1つまたは複数のプロセッサ2504によって実行されると、1つまたは複数のプロセッサ2504の動作を制御するランタイムイメージ2514に寄与する命令およびデータを含み得る。実行されると、いくつかの命令は、処理回路2502に、本明細書で説明するいくつかの方法、アルゴリズムおよびプロセスに従って機能を実施させることができる。
【0111】
ソフトウェアモジュール2516のうちのいくつかは、処理回路2502の初期化中にロードされてよく、これらのソフトウェアモジュール2516は、本明細書で開示する様々な機能の実施を可能にするように処理回路2502を構成することができる。たとえば、いくつかのソフトウェアモジュール2516は、プロセッサ2504の内部デバイスおよび/または論理回路2522を構成することができ、たとえばトランシーバ2512、バスインターフェース2508、ユーザインターフェース2518、タイマー、数学的コプロセッサなどの外部デバイスへのアクセスを管理することができる。ソフトウェアモジュール2516は、割込みハンドラおよびデバイスドライバと対話し、処理回路2502によって提供される様々なリソースへのアクセスを制御する、制御プログラムおよび/またはオペレーティングシステムを含み得る。リソースは、メモリ、処理時間、トランシーバ2512へのアクセス、ユーザインターフェース2518などを含み得る。
【0112】
処理回路2502の1つまたは複数のプロセッサ2504は、多機能とすることができ、それによって、ソフトウェアモジュール2516のいくつかは、ロードされ、異なる機能または同じ機能の異なるインスタンスを実施するように構成される。1つまたは複数のプロセッサ2504は、追加として、たとえば、ユーザインターフェース2518、トランシーバ2512、およびデバイスドライバからの入力に応答して開始されるバックグラウンドタスクを管理するように適合され得る。複数の機能の実施をサポートするために、1つまたは複数のプロセッサ2504は、マルチタスク環境を提供するように構成される場合があり、それにより、複数の機能の各々が、必要または要望に応じて、1つまたは複数のプロセッサ2504によってサービスされる1組のタスクとして実装される。一例では、マルチタスク環境は、異なるタスク間でプロセッサ2504の制御を渡す時分割プログラム2520を使用して実装されてよく、それにより、各タスクは、任意の未処理動作の完了時に、かつ/または割込みなどの入力に応答して、時分割プログラム2520に1つまたは複数のプロセッサ2504の制御を戻す。タスクが1つまたは複数のプロセッサ2504の制御を有するとき、処理回路は、事実上、制御しているタスクに関連する機能によって対処される目的に対して特化される。時分割プログラム2520は、オペレーティングシステム、ラウンドロビンベースで制御を移すメインループ、機能の優先順位付けに従って1つもしくは複数のプロセッサ2504の制御を割り振る機能、および/または1つもしくは複数のプロセッサ2504の制御を処理機能に提供することによって外部イベントに応答する割込み駆動型メインループを含み得る。
【0113】
図26は、多線通信リンクに結合された送信機において実施され得るデータ通信方法のフローチャート2600である。一例では、通信リンクは3つの線を有してよく、データは、3つの線の各々において異なる相で送信される信号の相状態および振幅で符号化され得る。方法は、少なくとも部分的に、
図24に示す送信機2402において実施され得る。ブロック2602において、送信機2402は、3線リンクを介して複数のシンボルを送信し得る。各シンボルは、関連付けられたシンボル送信間隔中の3線リンクのシグナリング状態を、3線リンクの各線が、関連付けられたシンボル送信間隔中の3線リンクの他の線とは異なるシグナリング状態にあるように定義する。ブロック2604において、送信機2402は、3線リンクを介して連続して送信される2つのシンボルの間の各遷移中に少なくとも3ビットのバイナリデータを符号化してよく、ここで、連続送信されるシンボルの各ペアは2つの異なるシンボルを含む。
【0114】
いくつかの実装形態では、3線リンクを介して送信される少なくとも1つのシンボルが、3線リンクの各線に対する非ゼロ電流フローを定義し、非ゼロ電流フローの合計はゼロである。3線リンクの線のシグナリング状態は、7つの電圧レベルを含んでよく、3線リンクを介して送信される少なくとも1つのシンボルが、7つの電圧レベルのうちの中間電圧レベルを上回るか、または下回る電圧レベルを、3線リンクの各線に対して定義する。送信機2402は、3線リンク用に定義されるシンボルのセットから、各シンボルを送信用に選択し得る。いくつかの例において、アクティブな符号化方式が、最大で12、18、42個の利用可能シンボルを含むシンボルのセットを提供し得る。
【0115】
いくつかの実装形態では、送信機2402は、少なくとも3ビットのバイナリデータを符号化するのに、3相符号化とPAMの組合せを使うことができる。送信機2402は、3線リンクを介して第1のシンボルを送信し得る。データエンコーダが第1の符号化方式用に構成されるとき、データエンコーダは、12個のシンボルのセットから第1のシンボルを選択し得る。データエンコーダが第2の符号化方式用に構成されるとき、データエンコーダは、18個のシンボルのセットから第1のシンボルを選択し得る。データエンコーダが第3の符号化方式用に構成されるとき、データエンコーダは、42個のシンボルのセットから第1のシンボルを選択し得る。送信機2402は、3線リンクを介して第2のシンボルを送信し得る。データエンコーダは、第1のシンボルを除く利用可能シンボルのセットから第2のシンボルを選択し得る。
【0116】
いくつかの実装形態では、送信機2402は、各シンボルに対して設けられるシンボル送信間隔中に、複数のラインドライバの各々に、3線リンクの1つの線を、各シンボルによって定義されるシグナリング状態に駆動させる制御信号を、複数のラインドライバに与え得る。
【0117】
一例では、複数のラインドライバは3つの電圧ドライバを含んでよく、送信機2402は、各シンボル送信間隔中に、3線リンクの各線が、3つの電圧ドライバのうちの1つの中の2つ以上の抵抗を通して、1つまたは複数の電圧レベルに結合されるように、各電圧ドライバ中で複数のスイッチを構成してよい。送信機2402は、3線リンクの対応する線に結合された抵抗の組合せが3線リンクの対応する線の特性インピーダンスに合致するように、各シンボル送信間隔中に、各電圧ドライバ中で複数のスイッチを構成してよい。別の例では、複数のラインドライバは3つの電流ドライバを含み、送信機2402は、3つの電流ドライバの各々に、電流シンボル送信間隔中に送信されるシンボルによって定義される大きさを有する電流を、3線リンクの対応する線の中で与えさせる複数のスイッチを構成してよい。いくつかの事例では、抵抗は、3線リンクに結合され、3線リンクの特性インピーダンスに合致する。
【0118】
いくつかの事例では、ラインドライバの各々に、3線リンクの1つの線を、シンボル送信間隔中に送信されたシンボルによって定義されるシグナリング状態に駆動させる制御信号が、ラインドライバに与えられてよい。電圧モードラインドライバが使われるとき、制御信号は、3線リンクの各線が、各シンボル送信間隔中に、1つまたは複数の抵抗を通して1つまたは複数の電圧レベルに結合されるように、ラインドライバ中で複数のスイッチを構成し得る。複数のスイッチは、3線リンクの線に結合された抵抗の各組合せが3線リンクの特性インピーダンスに合致するように、各シンボル送信間隔中に構成されてよい。電流モードラインドライバが使われるとき、制御信号は、3線リンクの各線が各線中で電流を与える電流ドライバに結合されるように、複数のラインドライバ中で複数のスイッチを構成してよく、電流は、対応するシンボル送信間隔中に送信されるシンボルによって定義される大きさを有する。電流モードラインドライバは、3線リンクの特性インピーダンスに合致するように3線リンクに結合される抵抗を含み得る。
【0119】
図27は、処理回路2702を利用する装置2700のためのハードウェア実装形態の例を示す図である。処理回路は、通常、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、シーケンサ、および状態機械のうちの1つまたは複数を含み得るプロセッサ2716を有する。処理回路2702は、バス2710によって概略的に表されるバスアーキテクチャを用いて実装され得る。バス2710は、処理回路2702の特定の適用例および全体的な設計制約に応じて、任意の数の相互接続バスおよびブリッジを含んでよい。バス2710は、プロセッサ2716、モジュールまたは回路2704、2706および2708、3線リンク2420(たとえば、
図24参照)の線を駆動するように構成されるラインドライバ2712、ならびにプロセッサ可読記憶媒体2718によって表される1つまたは複数のプロセッサおよび/またはハードウェアモジュールを含む様々な回路を互いにリンクさせる。バス2710はまた、タイミングソース、周辺装置、電圧調整器、および電力管理回路など、様々な他の回路をリンクし得るが、それらは当技術分野においてよく知られており、したがって、これ以上は説明されない。
【0120】
プロセッサ2716は、プロセッサ可読記憶媒体2718に記憶されたソフトウェアの実行を含む全体的な処理を担う。ソフトウェアは、プロセッサ2716によって実行されると、処理回路2702に、任意の特定の装置のための上記で説明した様々な機能を実施させる。プロセッサ可読記憶媒体2718は、シンボルテーブルおよびシンボルテーブルにアクセスするのに使われる中間インデックスを含む、ソフトウェアを実行するときにプロセッサ2716によって動作されるデータを記憶するために使われてもよい。処理回路2702は、モジュール2704、2706および2708のうちの少なくとも1つをさらに含む。モジュール2704、2706、および2708は、プロセッサ可読記憶媒体2718に存在する/記憶された、プロセッサ2716の中で動作するソフトウェアモジュール、プロセッサ2716に結合された1つもしくは複数のハードウェアモジュール、またはそれらのいくつかの組合せとして実装され得る。モジュール2704、2706および/または2708は、マイクロコントローラ命令、状態機械構成パラメータ、またはそれらの何らかの組合せを含み得る。
【0121】
一構成では、装置2700は、多線インターフェースを介したデータ通信用に構成されてよい。装置2700は、3線リンク2420の各線上の複数のシグナリング状態をサポートするようにラインドライバ2712を制御するように構成されるモジュールおよび/または回路2704を含み得る。一例では、ラインドライバ2712は、各線上で7つ以上のシグナリング状態を与え、各線は、3線リンク2420中の他の線とは異なるシグナリング状態に駆動される。装置2700は、3相符号化とPAM-4変調の組合せを使って、データをシンボル中に符号化するように構成された符号化モジュールおよび/または回路2706を含み得る。一例では、符号化モジュールおよび/または回路2706は、シンボルテーブル管理およびマッピングモジュールおよび/または回路2708を含み、管理し、またはそれらと協働し得る。
【0122】
一例では、装置2700は、装置を3線リンク2420に結合するように構成された複数のラインドライバと、データエンコーダとを有する。データエンコーダは、連続送信されるシンボルの各ペアは2つの異なるシンボルを含むように、複数のラインドライバによって3線リンク2420を介して連続して送信される2つのシンボルの間の各遷移中に少なくとも3ビットのバイナリデータを符号化するように構成されてよい。一例では、各シンボルは、関連付けられたシンボル送信間隔中の3線リンク2420のシグナリング状態を、3線リンク2420の各線が、関連付けられたシンボル送信間隔中の3線リンク2420の他の線とは異なるシグナリング状態にあるように定義する。
【0123】
いくつかの実装形態では、3線リンク2420を介して送信される少なくとも1つのシンボルが、3線リンク2420の各線に対する非ゼロ電流フローを定義し、非ゼロ電流フローの合計はゼロである。3線リンク2420の線のシグナリング状態は、7つの電圧レベルを含み得る。いくつかの事例では、3線リンク2420を介して送信される少なくとも1つのシンボルが、7つの電圧レベルのうちの中間電圧レベルを上回るか、または下回る電圧レベルを、3線リンク2420の各線に対して定義する。
【0124】
いくつかの実装形態では、データエンコーダは、バイナリデータを符号化するのに、3相符号化とPAMの組合せを使うようにさらに構成される。装置2700は、3線リンク2420を介して第1のシンボルを送信し得る。一例では、データエンコーダは、データエンコーダが第1の符号化方式用に構成されるとき、12個のシンボルのセットから第1のシンボルを選択する。別の例では、データエンコーダは、データエンコーダが第2の符号化方式用に構成されるとき、18個のシンボルのセットから第1のシンボルを選択する。別の例では、データエンコーダは、データエンコーダが第3の符号化方式用に構成されるとき、42個のシンボルのセットから第1のシンボルを選択する。装置2700は、3線リンク2420を介して第2のシンボルを送信し得る。データエンコーダは、第1のシンボルを除く利用可能シンボルのセットから第2のシンボルを選択するようにさらに構成されてよい。
【0125】
いくつかの実装形態では、装置2700は、データエンコーダからシンボルのシーケンスを受信し、シンボルのシーケンス中の各シンボルに対して設けられるシンボル送信間隔中に、複数のラインドライバの各々に、3線リンク2420の1つの線を、各シンボルによって定義されるシグナリング状態に駆動させる制御信号を複数のラインドライバに与えるように構成された線状態エンコーダを有する。
【0126】
一例では、複数のラインドライバは3つの電圧ドライバを含み、線状態エンコーダは、各シンボル送信間隔中に、3線リンク2420の各線が、3つの電圧ドライバのうちの1つの中の2つ以上の抵抗を通して、1つまたは複数の電圧レベルに結合されるように、各電圧ドライバ中で複数のスイッチを構成するようにさらに構成されてよい。各電圧ドライバ中の複数のスイッチは、3線リンク2420の対応する線に結合された抵抗の組合せが3線リンク2420の対応する線の特性インピーダンスに合致するように、各シンボル送信間隔中に構成されてよい。
【0127】
一例では、複数のラインドライバは3つの電流ドライバを含み、線状態エンコーダは、3つの電流ドライバの各々に、電流シンボル送信間隔中に送信されるシンボルによって定義される大きさを有する電流を、3線リンク2420の対応する線の中で与えさせる複数のスイッチを構成するようにさらに構成される。いくつかの実装形態では、抵抗は3線リンク2420に結合され、各抵抗は、3線リンク2420の特性インピーダンスに合致する。
【0128】
いくつかの事例では、ラインドライバの各々に、3線リンクの1つの線を、シンボル送信間隔中に送信されたシンボルによって定義されるシグナリング状態に駆動させる制御信号が、ラインドライバに与えられてよい。電圧モードラインドライバが使われるとき、制御信号は、3線リンクの各線が、各シンボル送信間隔中に、1つまたは複数の抵抗を通して1つまたは複数の電圧レベルに結合されるように、ラインドライバ中で複数のスイッチを構成し得る。複数のスイッチは、3線リンクの線に結合された抵抗の各組合せが3線リンクの特性インピーダンスに合致するように、各シンボル送信間隔中に構成されてよい。電流モードラインドライバが使われるとき、制御信号は、3線リンクの各線が各線中で電流を与える電流ドライバに結合されるように、複数のラインドライバ中で複数のスイッチを構成してよく、電流は、対応するシンボル送信間隔中に送信されるシンボルによって定義される大きさを有する。電流モードラインドライバは、3線リンクの特性インピーダンスに合致するように3線リンクに結合される抵抗を含み得る。
【0129】
プロセッサ可読記憶媒体2718は、
図26に示す方法に関連した命令および他の情報を記憶し得る。たとえば、プロセッサ可読記憶媒体2718は、処理回路2702に、3線リンク2420を介して連続して送信される2つのシンボルの間の各遷移中に、3線リンク2420を介して複数のシンボルを送信させ、少なくとも3ビットのバイナリデータを符号化させる命令を含み得る。連続送信されるシンボルの各ペアは、2つの異なるシンボルを含み得る。各シンボルは、関連付けられたシンボル送信間隔中の3線リンク2420のシグナリング状態を、3線リンク2420の各線が、関連付けられたシンボル送信間隔中の3線リンク2420の他の線とは異なるシグナリング状態にあるように定義し得る。
【0130】
いくつかの実装形態では、3線リンク2420を介して送信される少なくとも1つのシンボルが、3線リンク2420の各線に対する非ゼロ電流フローを定義し、非ゼロ電流フローの合計はゼロである。3線リンク2420の線のシグナリング状態は、7つの電圧レベルを含んでよく、3線リンク2420を介して送信される少なくとも1つのシンボルが、7つの電圧レベルのうちの中間電圧レベルを上回るか、または下回る電圧レベルを、3線リンク2420の各線に対して定義する。各シンボルは、3線リンク2420に対して定義される18個のシンボルのセットから、送信用に選択されてよい。
【0131】
一例では、記憶媒体2718は、処理回路2702に、バイナリデータを符号化するのに、3相符号化とPAMの組合せを使うようにデータを構成させる命令を含む。命令は、処理回路2702に、3線リンク2420を介して第1のシンボルを送信させ得る。一例では、データエンコーダが第1の符号化方式用に構成されるとき、第1のシンボルは、12個のシンボルのセットから選択される。別の例では、データエンコーダが第2の符号化方式用に構成されるとき、第1のシンボルは、18個のシンボルのセットから選択される。別の例では、データエンコーダが第3の符号化方式用に構成されるとき、第1のシンボルは、42個のシンボルのセットから選択される。命令は、処理回路2702に、3線リンク2420を介して第2のシンボルを送信させ得る。第2のシンボルは、第1のシンボルを除く利用可能シンボルのセットから選択され得る。
【0132】
いくつかの実装形態では、記憶媒体2718は、処理回路2702に、各シンボルに対して設けられるシンボル送信間隔中に、複数のラインドライバの各々に、3線リンク2420の1つの線を、各シンボルによって定義されるシグナリング状態に駆動させる制御信号を、複数のラインドライバに与えさせる命令を含む。一例では、複数のラインドライバは、3つの電圧ドライバを含み、記憶媒体2718は、処理回路2702に、各シンボル送信間隔中に、3線リンク2420の各線が、3つの電圧ドライバのうちの1つの中の2つ以上の抵抗を通して、1つまたは複数の電圧レベルに結合されるように、各電圧ドライバ中で複数のスイッチを構成させる命令を含み得る。記憶媒体2718は、処理回路2702に、3線リンク2420の対応する線に結合された抵抗の組合せが3線リンク2420の対応する線の特性インピーダンスに合致するように、各シンボル送信間隔中に、各電圧ドライバ中で複数のスイッチを構成させる命令を含み得る。
【0133】
一例では、複数のラインドライバは3つの電流ドライバを含み、記憶媒体2718は、3つの電流ドライバの各々に、電流シンボル送信間隔中に送信されるシンボルによって定義される大きさを有する電流を、3線リンク2420の対応する線の中で与えさせる複数のスイッチを、処理回路2702に構成させる命令を含み得る。
【0134】
いくつかの事例では、ラインドライバの各々に、3線リンクの1つの線を、シンボル送信間隔中に送信されたシンボルによって定義されるシグナリング状態に駆動させる制御信号が、ラインドライバに与えられてよい。電圧モードラインドライバが使われるとき、制御信号は、3線リンクの各線が、各シンボル送信間隔中に、1つまたは複数の抵抗を通して1つまたは複数の電圧レベルに結合されるように、ラインドライバ中で複数のスイッチを構成し得る。複数のスイッチは、3線リンクの線に結合された抵抗の各組合せが3線リンクの特性インピーダンスに合致するように、各シンボル送信間隔中に構成されてよい。電流モードラインドライバが使われるとき、制御信号は、3線リンクの各線が各線中で電流を与える電流ドライバに結合されるように、複数のラインドライバ中で複数のスイッチを構成してよく、電流は、対応するシンボル送信間隔中に送信されるシンボルによって定義される大きさを有する。電流モードラインドライバは、3線リンクの特性インピーダンスに合致するように3線リンクに結合される抵抗を含み得る。
【0135】
開示されたプロセスにおけるステップの特定の順序または階層は、例示的な手法の例示であることを理解されたい。設計選好に基づいて、プロセスにおけるステップの特定の順序または階層が並べ替えられてよいことが理解されよう。さらに、いくつかのステップは、組み合わせられてよく、または省略されてよい。添付の方法クレームは、様々なステップの要素を例示的な順序で提示し、提示された特定の順序または階層に限定されることは意図されない。
【0136】
上記の説明は、本明細書に記載された様々な態様を任意の当業者が実践することを可能にするために提供される。これらの態様に対する様々な修正は当業者には容易に明らかであり、本明細書で定義される一般原理は他の態様に適用され得る。したがって、特許請求の範囲は、本明細書に示される態様に限定されるものではなく、請求項の文言に矛盾しない最大の範囲を与えられるべきであり、単数形の要素への言及は、そのように明記されていない限り、「唯一無二の」を意味するものではなく、「1つまたは複数の」を意味するものである。別段に明記されていない限り、「いくつか」という用語は1つまたは複数を指す。当業者に知られているか、または後に知られることになる、本開示全体にわたって説明した様々な態様の要素のすべての構造的および機能的等価物は、参照により本明細書に明確に組み込まれ、特許請求の範囲によって包含されるものである。その上、本明細書で開示するものはいずれも、そのような開示が特許請求の範囲において明示的に記載されているかどうかにかかわらず、公に供されるものではない。いかなるクレーム要素も、要素が「ための手段」という句を使用して明確に列挙されていない限り、ミーンズプラスファンクションとして解釈されるべきではない。
【符号の説明】
【0137】
100 装置
102 処理回路
104 デバイス、ASIC
106 デバイス、周辺デバイス
108 デバイス、トランシーバ
110 モデム
112 プロセッサ
114 オンボードメモリ
116 バスインターフェース回路
118a バス
118b バス
120 バス
122 プロセッサ可読ストレージ
124 アンテナ
200 装置
202 ICデバイス
204 ワイヤレストランシーバ
206 プロセッサ
208 記憶媒体
210 物理レイヤドライバ
212 内部バス
214 アンテナ
220 通信リンク
222 チャネル、順方向チャネル
224 チャネル、逆方向チャネル
226 チャネル、双方向チャネル
230 ICデバイス
232 ディスプレイコントローラ
234 カメラコントローラ
236 プロセッサ
238 記憶媒体
240 物理レイヤドライバ
242 内部バス
302 マッパ
304 並列直列変換器
306 3線3相エンコーダ
308 ラインドライバ、ドライバ
318 信号線
500 3線3相デコーダ、デコーダ
502 差動受信機
504 線状態デコーダ
506 直列並列変換器
508 デマッパ
510 先入れ先出し(FIFO)レジスタ
524 CDR回路
700 バスインターフェース回路
702 差動受信機
704 差動受信機
706 差動受信機
708 デコーダ
900 ラインドライバ、電圧モードラインドライバ
902 抵抗
904 抵抗
906 抵抗
908 抵抗
910 スイッチ
912 スイッチ
914 スイッチ、中レベルスイッチ
940 ラインドライバ、電流モードラインドライバ
942 電流源
944 電流源
946 スイッチ
948 スイッチ
952 抵抗
1000 PAMドライバ
1002 電流セル
1004 電流セル
1100 インターフェース
1102 送信機
1104 受信機
1106 3線リンク
1108 ラインドライバ
1110 差動受信機
1118 抵抗
1120 抵抗
1122 抵抗
1130 デコーダ
2002 PAM差動受信機
2004 PAM差動受信機
2006 PAM差動受信機
2008 デコーダ
2100 インターフェース
2102 送信機
2104 3線リンク
2106 ラインドライバ
2114 抵抗
2116 抵抗
2118 抵抗
2120 受信機
2122 バッファ回路
2124 差動受信機
2132 比較器回路
2134 アナログデジタル変換器(ADC)回路
2136 アナログデジタル変換器(ADC)回路
2138 アナログデジタル変換器(ADC)回路
2200 電圧モードドライバ
2202 抵抗
2204 抵抗
2206 抵抗
2222 抵抗
2224 抵抗
2226 抵抗
2212 スイッチ
2214 スイッチ
2216 スイッチ
2232 スイッチ
2234 スイッチ
2236 スイッチ
2300 電流モードドライバ
2302 電流源
2304 電流源
2306 電流源
2312 スイッチ
2314 スイッチ
2316 スイッチ
2322 電流源
2324 電流源
2326 電流源
2332 スイッチ
2334 スイッチ
2336 スイッチ
2338 抵抗
2350 電流モードドライバ
2352 電流源
2354 電流源
2356 スイッチ
2358 スイッチ
2362 電流源
2364 電流源
2366 スイッチ
2368 スイッチ
2372 抵抗
2400 システム
2402 送信機
2404 データバッファ
2406 データエンコーダ
2410 線状態エンコーダ
2412 クロック生成器
2414 ラインドライバ
2420 3線リンク
2422 受信機
2424 先入れ先出しレジスタ(FIFO)
2426 データデコーダ
2430 線状態デコーダ
2432 クロックおよびデータ復元回路(CDR)
2434 差動受信機
2502 処理回路
2504 プロセッサ
2506 プロセッサ可読記憶媒体
2508 バスインターフェース
2510 バス
2512 トランシーバ
2516 ソフトウェアモジュール
2518 ユーザインターフェース
2520 時分割プログラム
2522 論理回路
2700 装置
2702 処理回路
2704 モジュール、回路
2706 モジュール、回路、符号化モジュールおよび/または回路
2708 モジュール、回路、シンボルテーブル管理およびマッピングモジュールおよび/または回路
2710 バス
2712 ラインドライバ
2716 プロセッサ
2718 プロセッサ可読記憶媒体、記憶媒体