(57)【要約】  マルチワイヤインターフェース上の送信におけるエラー検出のための装置、システム、および方法を開示する。マルチワイヤインターフェース上でデータを送信するための方法は、複数のコネクタを介して送信すべき複数のビットを取得するステップと、前記複数のビットをシンボルのシーケンスに変換するステップと、前記複数のコネクタ上でシンボルのシーケンスを送信するステップとを含む。複数のビットにおける所定数の最下位ビットがエラー検出に使用されてもよい。所定数の最下位ビットは、複数のエラー値の各々と異なる一定の値を有してもよい。シンボルのシーケンスにおける1つまたは2つのシンボルに影響を与えるシンボルエラーによって、所定数の最下位ビットの復号バージョンが複数のエラー値のうちの1つである値を有する場合がある。
2018501706.tif 000002
【特許請求の範囲】
【請求項１】
複数のコネクタに結合された通信トランシーバと、
データワードにエラー検出定数(EDC)を付加するように構成されたエラーコード挿入回路と、
前記データワードおよび前記EDCを遷移数に変換するように構成されたエンコーダと、
前記遷移数を前記複数のコネクタ上のシンボルのシーケンスとして送信するように構成されたトランスミッタ回路とを備え、
前記EDCは、デコーダが前記シンボルのシーケンスにおける1つまたは複数のシンボルエラーを検出するのを可能にするように選択された長さおよび既定値を有するデバイス。
【請求項２】
前記エンコーダは、前記遷移数の数字および先行するシンボルを使用して前記シンボルのシーケンスにおける各シンボルを生成するように構成され、前記シンボルのシーケンスにおける連続するシンボル間の遷移にクロック情報が埋め込まれる、請求項1に記載のデバイス。
【請求項３】
前記EDCは、既定数の最下位ビットとして付加され、前記最下位ビットの前記既定数は、前記複数のコネクタ上のデータ送信を符号化するのに利用可能なシンボル当たり状態の総数に基づいて決定される、請求項1に記載のデバイス。
【請求項４】
前記最下位ビットの前記既定数は、前記データワードを符号化するのに使用されるシンボルの総数に基づいて決定される、請求項3に記載のデバイス。
【請求項５】
前記複数のコネクタは、いくつか(N個)のシングルエンドコネクタを備え、データ送信を符号化するのに利用可能なシンボル当たり状態の前記総数は2N-xであり、この場合、xは少なくとも1である、請求項3に記載のデバイス。
【請求項６】
前記複数のコネクタは、いくつか(N個)のシングルエンドコネクタを備え、データ送信を符号化するのに利用可能なシンボル当たり状態の前記総数はN!-xであり、この場合、xは少なくとも1である、請求項3に記載のデバイス。
【請求項７】
各遷移において利用可能な状態の総数は3であり、前記EDCは8ビットを含む、請求項1に記載のデバイス。
【請求項８】
各遷移において利用可能な状態の総数は3であり、前記シンボルのシーケンスは17個以上のシンボルを含み、前記EDCは9ビットを含む、請求項1に記載のデバイス。
【請求項９】
各遷移において利用可能な状態の総数は5であり、前記EDCは10ビットを含む、請求項1に記載のデバイス。
【請求項１０】
各遷移において利用可能な状態の総数は5であり、前記シンボルのシーケンスは8個以上のシンボルを含み、前記EDCは11ビットを含む、請求項1に記載のデバイス。
【請求項１１】
マルチワイヤインターフェース上でデータを送信する方法であって、
複数のコネクタを介して送信すべき複数のビットを供給するステップであって、前記複数のビットはエラー検出定数(EDC)を含む、ステップと、
前記複数のビットを遷移数に変換するステップと、
前記遷移数を前記複数のコネクタ上のシンボルのシーケンスとして送信するステップとを含み、
前記遷移数は、考えられるシンボル当たり状態の最大数に基づく記数法を使用して表され、
前記EDCは、デコーダが前記シンボルのシーケンスにおける1つまたは複数のシンボルエラーを検出するのを可能にするように選択された長さおよび既定値を有する方法。
【請求項１２】
前記遷移数の数字および前記シンボルのシーケンスにおける先行するシンボルを使用して前記シンボルのシーケンスにおける各シンボルを生成するステップであって、前記シンボルのシーケンスにおける連続するシンボル間の遷移にクロック情報が埋め込まれる、ステップをさらに含む、請求項11に記載の方法。
【請求項１３】
前記EDCの前記長さおよび前記既定値は、前記シンボルのシーケンスにおける前記1つまたは複数のシンボルに影響を与える送信エラーによって、前記EDCが復号時に前記既定値とは異なる値を有するように選択される、請求項11に記載の方法。
【請求項１４】
前記EDCは、既定数の最下位ビットとして付加され、前記最下位ビットの前記既定数は、前記複数のコネクタ上のデータ送信を符号化するのに利用可能なシンボル当たり状態の総数に基づいて決定される、請求項11に記載の方法。
【請求項１５】
各遷移において利用可能な状態の総数は3であり、前記EDCは8ビットを含む、請求項11に記載の方法。
【請求項１６】
各遷移において利用可能な状態の総数は3であり、前記シンボルのシーケンスは17個以上のシンボルを含み、前記EDCは9ビットを含む、請求項11に記載の方法。
【請求項１７】
各遷移において利用可能な状態の総数は5であり、前記EDCは10ビットを含む、請求項11に記載の方法。
【請求項１８】
マルチワイヤインターフェースからデータを受信する方法であって、
複数のコネクタからシンボルのシーケンスを受信するステップと、
前記シンボルのシーケンスを遷移数に変換するステップであって、前記遷移数の各数字が、前記複数のコネクタ上で送信される2つの連続するシンボル間の遷移を表す、ステップと、
前記遷移数を複数のビットに変換するステップと、
前記複数のビットに含まれるエラー検出器定数(EDC)の値に基づいて前記シンボルのシーケンスの送信時にシンボルエラーが発生したかどうかを判定するステップとを含み、
前記EDCは、前記複数のコネクタ上のデータ送信を符号化するために定義されたシンボル当たり状態の総数に基づいて決定された既定値および長さを有する方法。
【請求項１９】
前記シンボルのシーケンスに複数のシンボルエラーが存在するときにシンボルエラーが発生したと判定するステップをさらに含み、
前記EDCの前記既定値および前記長さは、前記シンボルのシーケンスにおける複数のシンボルに影響を与える送信エラーの検出を可能にするように選択される、請求項18に記載の方法。
【請求項２０】
前記遷移数は、前記複数のコネクタ上で送信された一対の連続するシンボル間の考えられるシンボル遷移の最大数に基づく記数法を使用して表される、請求項18に記載の方法。
【請求項２１】
前記1つまたは2つのシンボルエラーによって、前記EDCの復号バージョンが前記既定値とは異なる値を有する、請求項18に記載の方法。
【請求項２２】
前記EDCは、前記複数のビットにおける既定数の最下位ビットとして付加され、前記最下位ビットの前記既定数は、前記複数のコネクタ上のデータ送信を符号化するのに利用可能なシンボル当たり状態の総数に基づいて決定される、請求項18に記載の方法。
【請求項２３】
前記最下位ビットの前記既定数は、前記複数のビットを符号化するのに使用されるシンボルの総数に基づいて決定される、請求項22に記載の方法。
【請求項２４】
前記複数のコネクタは、いくつか(N個)のシングルエンドコネクタを備え、データ送信を符号化するのに利用可能なシンボル当たり状態の前記総数は2N-xであり、この場合、xは少なくとも1である、請求項22に記載の方法。
【請求項２５】
前記複数のコネクタは、マルチレベル差動信号を伝達するいくつか(N個)のシングルエンドコネクタを備え、データ送信を符号化するのに利用可能なシンボル当たり状態の前記総数はN!-xであり、この場合、xは少なくとも1である、請求項22に記載の方法。
【請求項２６】
各遷移において利用可能な状態の総数は3であり、前記EDCは8ビットを含む、請求項18に記載の方法。
【請求項２７】
各遷移において利用可能な状態の総数は3であり、前記シンボルのシーケンスは17個以上のシンボルを含み、前記EDCは9ビットを含む、請求項18に記載の方法。
【請求項２８】
各遷移において利用可能な状態の総数は5であり、前記EDCは10ビットを含む、請求項18に記載の方法。
【請求項２９】
各遷移において利用可能な状態の総数は5であり、前記シンボルのシーケンスは8個以上のシンボルを含み、前記EDCは11ビットを含む、請求項18に記載の方法。
【請求項３０】
シンボルのシーケンスを受信するのに使用されるクロック信号を生成するように構成されたクロック復元回路を含む複数のコネクタから前記シンボルのシーケンスを受信するための手段と、
前記シンボルのシーケンスを遷移数に変換するための手段であって、前記遷移数の各数字が、前記複数のコネクタ上で送信される2つの連続するシンボル間の遷移を表す手段と、
前記遷移数を複数のビットに変換するための手段と、
前記複数のビットに含まれるエラー検出器定数(EDC)の値に基づいて前記シンボルのシーケンスの送信時にシンボルエラーが発生したかどうかを判定するための手段とを備え、
前記EDCは、前記複数のコネクタ上のデータ送信を符号化するために定義されたシンボル当たり状態の総数に基づいて決定された既定値および長さを有する装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、内容全体が参照により本明細書に組み込まれる、2015年10月2日に米国特許商標庁に出願された米国仮出願第62/236522号、2015年9月10日に米国特許商標庁に出願された米国仮出願第62/216692号、2014年11月26日に米国特許商標庁に出願された米国仮出願第62/084998号、および2015年11月23日に米国特許商標庁に出願された米国非仮出願第14/949435号の優先権および利益を主張する。
【０００２】
本開示は、データ通信インターフェースを介した効率的な動作を可能にすることに関し、より詳細には、シンボル遷移クロッキングトランスコーディングを使用するデータ通信インターフェースにおけるエラー検出を容易にすることに関する。
【背景技術】
【０００３】
データ通信インターフェースは、シンボル遷移クロッキングトランスコーディングを使用して、複数の信号ワイヤを有するインターフェースを介して送信すべきデータを符号化するシンボルのシーケンスにクロック情報を埋め込む場合があり、それによって専用のクロック信号ワイヤを不要にする。
【０００４】
マルチ信号データ転送、N階乗(N!)低電圧差動シグナリング(LVDS)などのマルチワイヤ差動シグナリングのいくつかの例では、クロック情報を別個のデータレーン(差動伝送経路)の中で送る代わりにシンボルサイクルごとにシンボル遷移を発生させることによって、シンボルクロック情報を埋め込むようにトランスコーディング(たとえば、ある符号化タイプから別の符号化タイプへのデジタル対デジタルデータ変換)が実行される場合がある。そのようなトランスコーディングによってクロック情報を埋め込むと、クロックとデータ信号との間のスキューを最小限に抑え、ならびにクロック情報をデータ信号から復元するための位相ロックループ(PLL)を不要にすることもできる。一例では、従来のインター集積回路(I2C)プロトコルまたはカメラ制御インターフェース(CCI)プロトコルに従って動作させられる2ワイヤシリアルバスを、シンボル遷移クロッキングトランスコーディングを使用するCCI拡張(CCIe)バスを構成するように適合することができる。たとえば、CCIeバスは、I2CバスまたはCCIバスよりも高いビットレートをサポートする。
【０００５】
エラー検出は、通常、シグナリング状態エラーとデータ転送インターフェースから復号されるデータにおけるエラーとの間には直接的な関連がないので遷移符号化を使用するデータ転送インターフェースにおいて問題を生じさせることがある。データビットとシグナリング状態との間の関連付けを解除すると、従来のエラー検出技術を遷移符号化インターフェースに適用した場合に無効になる場合がある。
【０００６】
シンボル遷移クロッキングトランスコーディングを使用して通信するデバイス間の送信において確実なエラー検出を行うことが望ましい。
【発明の概要】
【課題を解決するための手段】
【０００７】
本明細書において開示するいくつかの態様によれば、遷移符号化されたマルチワイヤインターフェースを介した送信において複数のシンボルエラーを検出することができる。一例では、遷移符号化されたマルチワイヤインターフェースを介して伝達すべきデータが遷移数に変換されてもよく、遷移数の数字が複数のワイヤまたはコネクタ上の送信に関するシンボルのシーケンスに変換されてもよい。遷移数は、考えられるシンボル遷移の最大数に基づく記数法を使用して表されてもよい。場合によっては、複数のコネクタ上のデータ送信を符号化するのに利用可能なシンボル当たり状態の総数は、複数のコネクタ上のデータ送信を符号化するのに利用可能なシンボル当たり状態の総数よりも少なくとも1だけ少ない。
【０００８】
シンボルエラーはエラー検出定数(EDC)を使用して検出されてもよく、エラー検出定数(EDC)は、データワードも含む複数のビットにおける所定数の最下位ビットとして構成されてもよい。最下位ビットの所定数は、複数のワイヤまたはコネクタ上のデータ送信を符号化するのに利用可能なシンボル当たり状態の総数に基づいて決定または算出されてもよい。シンボルのシーケンスにおける1つまたは複数のシンボルに影響を与えるシンボルエラーによって、EDCの復号バージョンが、トランスミッタにおいてデータワードに付加されたEDCの既定値とは異なる値を有する場合がある。
【０００９】
いくつかの態様によれば、送信デバイスは、複数のコネクタに結合された通信トランシーバと、EDCが付加されたデータワードを生成するように構成されたエラー検出論理と、データワードを遷移数に変換し、遷移数からシンボルのシーケンスを生成するように構成されたエンコーダと、複数のコネクタ上でシンボルのシーケンスを送信するように構成されたトランスミッタ回路とを含んでもよい。EDCは、既定値と固定長とを有してもよい。EDCは、シンボルのシーケンスにおける1つまたは複数のシンボルが送信時に修正されるときに修正されてもよい。
【００１０】
一態様では、各シンボルは、遷移数の数字およびそれに先行するシンボルを使用して生成されてもよい。クロック情報は、シンボルのシーケンス内の連続するシンボル間の遷移内に埋め込まれてもよい。
【００１１】
一態様では、EDCは、既定数の最下位ビットとして添加されてもよく、最下位ビットの既定数は、複数のコネクタ上のデータ送信を符号化するのに利用可能なシンボル当たり状態の総数に基づいて決定される。最下位ビットの既定数は、データワードを符号化するのに使用されるシンボルの総数に基づいて決定されてもよい。複数のコネクタはいくつか(N個)のシングルエンドコネクタを含んでもよい。複数のコネクタは、マルチレベル差動信号を伝達するN個のコネクタを含んでもよい。一例では、データ送信を符号化するのに利用可能なシンボル当たり状態の総数は2N-xであり、この場合、xは少なくとも1である。別の例では、データ送信を符号化するのに利用可能なシンボル当たり状態の総数はN!-xであり、この場合、xは少なくとも1である。
【００１２】
一態様では、各遷移における利用可能な状態の総数は3であってもよい。EDCは、第1の例では8ビットを含んでもよい。シンボルのシーケンスは、17個以上のシンボルを含んでもよく、EDCは、第2の例では9ビットを含んでもよい。第3の例では、各遷移において利用可能な状態の総数は5であり、EDCは10ビットを含んでもよい。第4の例では、各遷移において利用可能な状態の総数は5であり、シンボルのシーケンスは8つ以上のシンボルを含んでもよく、EDCは11ビットを含んでもよい。
【００１３】
いくつかの態様によれば、マルチワイヤインターフェース上でデータを送信する方法は、複数のコネクタを介して送信すべき複数のビットを生成するステップであって、複数のビットが既定値と固定長とを有するEDCを含む、ステップを含む。EDCは、エラー検出に使用されてもよい。この方法は、複数のビットを遷移数に変換するステップと、遷移数をシンボルのシーケンスに変換するステップと、複数のコネクタ上でシンボルのシーケンスを送信するステップとを含んでもよい。遷移数は、考えられるシンボル当たり状態の最大数に基づく記数法を使用して表されてもよい。EDCは、シンボルのシーケンスにおける1つまたは複数のシンボルが送信時に修正されるときに修正されてもよい。
【００１４】
一態様では、シンボルのシーケンス内のシンボル間の遷移内にクロックが埋め込まれる。
【００１５】
一態様では、シンボルのシーケンス内の1つまたは複数のシンボルに影響を与える送信エラーによって、EDCは、レシーバにおいて復号されるときに、既定値とは異なる値を有する場合がある。
【００１６】
一態様では、EDCは、既定数の最下位ビットとして与えられ、最下位ビットの既定数は、複数のコネクタ上のデータ送信を符号化するのに利用可能なシンボル当たり状態の総数に基づいて決定される。第1の例では、各遷移において利用可能な状態の総数は3であってもよく、EDCは8ビットを含んでもよい。第2の例では、各遷移において利用可能な状態の総数は3であってもよく、シンボルのシーケンスは17個以上のシンボルを含んでもよく、EDCは9ビットを含んでもよい。第3の例では、各遷移において利用可能な状態の総数は5であってもよく、EDCは10ビットを含んでもよい。
【００１７】
いくつかの態様では、コンピュータ可読記憶媒体には命令が記憶される。記憶媒体は、一時的記憶媒体または非一時的記憶媒体を含んでもよい。命令は、プロセッサによって実行されてもよく、プロセッサは、複数のコネクタを介して送信すべき複数のビットを生成することを実行させられ、複数のビットは、既定値と固定長とを有するEDCを含む。EDCは、エラー検出に使用されてもよい。命令は、プロセッサに、複数のビットを遷移数に変換することと、遷移数をシンボルのシーケンスに変換することと、複数のコネクタ上でシンボルのシーケンスを送信することとを行わせてもよい。遷移数は、考えられるシンボル当たり状態の最大数に基づく記数法を使用して表されてもよい。EDCは、シンボルのシーケンスにおける1つまたは複数のシンボルが送信時に修正されるときに修正されてもよい。
【００１８】
一態様では、シンボルのシーケンス内のシンボル間の遷移内にクロックが埋め込まれる。
【００１９】
一態様では、シンボルのシーケンス内の1つまたは複数のシンボルに影響を与える送信エラーによって、EDCは、レシーバにおいて復号されるときに、既定値とは異なる値を有する場合がある。
【００２０】
一態様では、EDCは、既定数の最下位ビットとして与えられ、最下位ビットの既定数は、複数のコネクタ上のデータ送信を符号化するのに利用可能なシンボル当たり状態の総数に基づいて決定される。第1の例では、各遷移において利用可能な状態の総数は3であってもよく、EDCは8ビットを含んでもよい。第2の例では、各遷移において利用可能な状態の総数は3であってもよく、シンボルのシーケンスは17個以上のシンボルを含んでもよく、EDCは9ビットを含んでもよい。第3の例では、各遷移において利用可能な状態の総数は5であってもよく、EDCは10ビットを含んでもよい。
【００２１】
いくつかの態様によれば、装置は、複数のコネクタを介して送信すべき複数のビットを生成するための手段であって、複数のビットが既定値と固定長とを有するEDCを含み、EDCはエラー検出に使用される手段を含む。この装置は、複数のビットを遷移数に変換するための手段と、遷移数をシンボルのシーケンスに変換するための手段と、複数のコネクタ上でシンボルのシーケンスを送信するための手段とを含んでもよい。遷移数は、考えられるシンボル当たり状態の最大数に基づく記数法を使用して表されてもよい。EDCは、シンボルのシーケンスにおける1つまたは2つのシンボルが送信時に修正されるときに修正されてもよい。
【００２２】
一態様では、シンボルのシーケンス内のシンボル間の遷移内にクロックが埋め込まれる。
【００２３】
一態様では、シンボルのシーケンス内の1つまたは2つのシンボルに影響を与える送信エラーによって、EDCは、レシーバにおいて復号されるときに、既定値とは異なる値を有する場合がある。
【００２４】
一態様では、EDCは、既定数の最下位ビットとして与えられ、最下位ビットの既定数は、複数のコネクタ上のデータ送信を符号化するのに利用可能なシンボル当たり状態の総数に基づいて決定される。第1の例では、各遷移において利用可能な状態の総数は3であってもよく、EDCは8ビットを含んでもよい。第2の例では、各遷移において利用可能な状態の総数は3であってもよく、シンボルのシーケンスは17個以上のシンボルを含んでもよく、EDCは9ビットを含んでもよい。第3の例では、各遷移において利用可能な状態の総数は5であってもよく、EDCは10ビットを含んでもよい。
【００２５】
いくつかの態様によれば、マルチワイヤインターフェースからデータを受信する方法は、複数のコネクタからシンボルのシーケンスを受信するステップと、シンボルのシーケンスを遷移数に変換するステップであって、遷移数の各数字が複数のコネクタ上で送信される2つの連続するシンボル間の遷移を表す、ステップと、遷移数を複数のビットに変換するステップと、複数のビットに含まれるEDCの値に基づいてシンボルのシーケンスの送信時に1つまたは2つのシンボルエラーが生じたかどうかを判定するステップとを含む。EDCは、既定値と、複数のコネクタ上のデータ送信を符号化するために定義されたシンボル当たり状態の総数に基づいて決定された固定長として送信されていてもよい。
【００２６】
一態様では、シンボルのシーケンス内のシンボル間の遷移内にクロックが埋め込まれる。
【００２７】
一態様では、遷移数は、複数のコネクタ上で送信された一対の連続するシンボル間の考えられるシンボル遷移の最大数に基づく記数法を使用して表されてもよい。
【００２８】
一態様では、1つまたは2つのシンボルエラーによって、EDCの復号バージョンが既定値とは異なる値を有する場合がある。
【００２９】
一態様では、EDCは、複数のビットにおける既定数の最下位ビットとして与えられてもよい。最下位ビットの既定数は、複数のコネクタ上のデータ送信を符号化するのに利用可能なシンボル当たり状態の総数に基づいて決定されてもよい。最下位ビットの既定数は、複数のビットを符号化するのに使用されるシンボルの総数に基づいて決定または算出されてもよい。複数のコネクタはN個のシングルエンドコネクタを含んでもよい。複数のコネクタは、マルチレベル差動信号を伝達するN個のコネクタを含んでもよい。第1の例では、データ送信を符号化するのに利用可能なシンボル当たり状態の総数は2N-xであり、この場合、xは少なくとも1である。第2の例では、データ送信を符号化するのに利用可能なシンボル当たり状態の総数はN!-xであり、この場合、xは少なくとも1である。
【００３０】
第3の例では、各遷移において利用可能な状態の総数は3であり、EDCは8ビットを含んでもよい。第4の例では、各遷移において利用可能な状態の総数は3であり、シンボルのシーケンスは17個以上のシンボルを含んでもよく、EDCは9ビットを含んでもよい。第5の例では、各遷移において利用可能な状態の総数は5であり、EDCは10ビットを含んでもよい。第6の例では、各遷移において利用可能な状態の総数は5であり、シンボルのシーケンスは8つ以上のシンボルを含んでもよく、EDCは11ビットを含んでもよい。
【００３１】
いくつかの態様によれば、装置は、複数のコネクタからシンボルのシーケンスを受信するための手段と、シンボルのシーケンスを遷移数に変換するための手段であって、遷移数の各数字が複数のコネクタ上で送信される2つの連続するシンボル間の遷移を表す手段と、遷移数を複数のビットに変換するための手段と、複数のビットに含まれるEDCの値に基づいてシンボルのシーケンスの送信時に1つまたは2つのシンボルエラーが生じたかどうかを判定するための手段とを含む。EDCは、既定値と、複数のコネクタ上のデータ送信を符号化するために定義されたシンボル当たり状態の総数に基づいて決定された固定長として送信されていてもよい。
【００３２】
一態様では、シンボルのシーケンス内のシンボル間の遷移内にクロックが埋め込まれる。
【００３３】
一態様では、遷移数は、複数のコネクタ上で送信された一対の連続するシンボル間の考えられるシンボル遷移の最大数に基づく記数法を使用して表されてもよい。
【００３４】
一態様では、1つまたは2つのシンボルエラーによって、EDCの復号バージョンが既定値とは異なる値を有する場合がある。
【００３５】
一態様では、EDCは、複数のビットにおける既定数の最下位ビットとして与えられてもよい。最下位ビットの既定数は、複数のコネクタ上のデータ送信を符号化するのに利用可能なシンボル当たり状態の総数に基づいて決定されてもよい。最下位ビットの既定数は、複数のビットを符号化するのに使用されるシンボルの総数に基づいて算出されるかまたは他の方法によって決定されてもよい。複数のコネクタはN個のシングルエンドコネクタを含んでもよい。複数のコネクタは、マルチレベル差動信号を伝達するN個のコネクタを含んでもよい。第1の例では、データ送信を符号化するのに利用可能なシンボル当たり状態の総数は2N-xであり、この場合、xは少なくとも1である。第2の例では、データ送信を符号化するのに利用可能なシンボル当たり状態の総数はN!-xであり、この場合、xは少なくとも1である。
【００３６】
第3の例では、各遷移において利用可能な状態の総数は3であり、EDCは8ビットを含んでもよい。第4の例では、各遷移において利用可能な状態の総数は3であり、シンボルのシーケンスは17個以上のシンボルを含んでもよく、EDCは9ビットを含んでもよい。第5の例では、各遷移において利用可能な状態の総数は5であり、EDCは10ビットを含んでもよい。第6の例では、各遷移において利用可能な状態の総数は5であり、シンボルのシーケンスは8つ以上のシンボルを含んでもよく、EDCは11ビットを含んでもよい。
【００３７】
いくつかの態様では、コンピュータ可読記憶媒体には命令が記憶される。記憶媒体は、一時的記憶媒体または非一時的記憶媒体を含んでもよい。いくつかの態様によれば、命令は、プロセッサによって実行されてもよく、プロセッサは、複数のコネクタからシンボルのシーケンスを受信することと、シンボルのシーケンスを遷移数に変換することであって、遷移数の各数字が複数のコネクタ上で送信される2つの連続するシンボル間の遷移を表す、変換することと、遷移数を複数のビットに変換することと、複数のビットに含まれるEDCの値に基づいてシンボルのシーケンスの送信時に1つまたは複数のシンボルエラーが生じたかどうかを判定することとを実行させられる。EDCは、既定値と、複数のコネクタ上のデータ送信を符号化するために定義されたシンボル当たり状態の総数に基づいて決定された固定長として送信されていてもよい。
【００３８】
一態様では、シンボルのシーケンス内のシンボル間の遷移内にクロックが埋め込まれる。
【００３９】
一態様では、遷移数は、複数のコネクタ上で送信された一対の連続するシンボル間の考えられるシンボル遷移の最大数に基づく記数法を使用して表されてもよい。
【００４０】
一態様では、1つまたは2つのシンボルエラーによって、EDCの復号バージョンが既定値とは異なる値を有する場合がある。
【００４１】
一態様では、EDCは、複数のビットにおける既定数の最下位ビットとして与えられてもよい。最下位ビットの既定数は、複数のコネクタ上のデータ送信を符号化するのに利用可能なシンボル当たり状態の総数に基づいて算出されるかまたはその他の方法によって決定されてもよい。最下位ビットの既定数は、複数のビットを符号化するのに使用されるシンボルの総数に基づいて決定されてもよい。複数のコネクタはN個のシングルエンドコネクタを含んでもよい。複数のコネクタは、マルチレベル差動信号を伝達するN個のコネクタを含んでもよい。第1の例では、データ送信を符号化するのに利用可能なシンボル当たり状態の総数は2N-xであり、この場合、xは少なくとも1である。第2の例では、データ送信を符号化するのに利用可能なシンボル当たり状態の総数はN!-xであり、この場合、xは少なくとも1である。
【００４２】
第3の例では、各遷移において利用可能な状態の総数は3であり、EDCは8ビットを含んでもよい。第4の例では、各遷移において利用可能な状態の総数は3であり、シンボルのシーケンスは17個以上のシンボルを含んでもよく、EDCは9ビットを含んでもよい。第5の例では、各遷移において利用可能な状態の総数は5であり、EDCは10ビットを含んでもよい。第6の例では、各遷移において利用可能な状態の総数は5であり、シンボルのシーケンスは8つ以上のシンボルを含んでもよく、EDCは11ビットを含んでもよい。
【００４３】
いくつかの態様では、デバイスは、複数のコネクタに結合された通信トランシーバと、複数のコネクタ上でシンボルのシーケンスを受信するように構成されたレシーバ回路と、遷移数を第1のデータワードに変換するように構成されたデコーダであって、遷移数が、シンボルのシーケンスにおける連続するシンボル間の遷移を表すデコーダとを含む。第1のデータワードは、シンボルのシーケンスの送信に関連する1つまたは2つのシンボル送信エラーを検出するために与えられた所定数の最下位ビットを含んでもよい。
【００４４】
一態様では、シンボルのシーケンス内のシンボル間の遷移内にクロックが埋め込まれる。
【００４５】
一態様では、遷移数は、複数のコネクタ上で送信された一対の連続するシンボル間の考えられるシンボル遷移の最大数に基づく記数法を使用して表されてもよい。
【００４６】
一態様では、1つまたは2つのシンボルエラーによって、EDCの復号バージョンが既定値とは異なる値を有する場合がある。
【００４７】
一態様では、EDCは、複数のビットにおける既定数の最下位ビットとして与えられてもよい。最下位ビットの既定数は、複数のコネクタ上のデータ送信を符号化するのに利用可能なシンボル当たり状態の総数に基づいて算出または決定されてもよい。最下位ビットの既定数は、複数のビットを符号化するのに使用されるシンボルの総数に基づいて決定されてもよい。複数のコネクタはN個のシングルエンドコネクタを含んでもよい。複数のコネクタは、マルチレベル差動信号を伝達するN個のコネクタを含んでもよい。第1の例では、データ送信を符号化するのに利用可能なシンボル当たり状態の総数は2N-xであり、この場合、xは少なくとも1である。第2の例では、データ送信を符号化するのに利用可能なシンボル当たり状態の総数はN!-xであり、この場合、xは少なくとも1である。
【００４８】
第3の例では、各遷移において利用可能な状態の総数は3であり、EDCは8ビットを含んでもよい。第4の例では、各遷移において利用可能な状態の総数は3であり、シンボルのシーケンスは17個以上のシンボルを含んでもよく、EDCは9ビットを含んでもよい。第5の例では、各遷移において利用可能な状態の総数は5であり、EDCは10ビットを含んでもよい。第6の例では、各遷移において利用可能な状態の総数は5であり、シンボルのシーケンスは8つ以上のシンボルを含んでもよく、EDCは11ビットを含んでもよい。
【００４９】
同様の参照符号が全体を通じて対応するものを特定する図面と併せて読んだときに、以下に記載される詳細な説明から、種々の特徴、性質、および利点が明らかになる場合がある。
【図面の簡単な説明】
【００５０】
【図１】複数の利用可能な規格のうちの1つに従って選択的に動作するICデバイス間のデータリンクを使用する装置を示す図である。
【図２】ICデバイス間のデータリンクを使用する装置のためのシステムアーキテクチャを示す図である。
【図３】2つのデバイス間に設けられるN!インターフェースの一例を示す図である。
【図４】本明細書において開示するいくつかの態様に従って適合される場合があるトランスミッタおよびレシーバを示す図である。
【図５】遷移数と連続シンボルとの間の変換を制御するのに使用される場合がある符号化方式を示す図である。
【図６】遷移符号化インターフェースの一例におけるシンボルと遷移数との間の関係を示す図である。
【図７】3!インターフェース内のシンボル境界における遷移数からシンボルへの考えられる符号化を示す図である。
【図８】3!インターフェース内の遷移数とシンボルとの間の数学的関係を示す図である。
【図９】マルチワイヤ通信インターフェースを介して送信されるシンボルのシーケンスが単一のシンボルエラーの影響を受ける例を示す図である。
【図１０】マルチワイヤ通信インターフェースを介して送信されるシンボルのシーケンスにおける単一のシンボルエラーを特徴付ける数学的関係を示す図である。
【図１１】rnの値の表であり、この場合、nは0〜15の範囲であり、r=3およびr=5である。
【図１２】シンボルのシーケンスにおける単一のシンボルエラーに対応するエラー係数の表である。
【図１３】エラー係数における最も長い非0LSB部を示す図である。
【図１４】単一のシンボルエラーが遷移数におけるエラーを生じさせる事例を示す図である。
【図１５】マルチワイヤ通信インターフェースを介して送信されるシンボルのシーケンスにおける2つのシンボルに影響を及ぼすシグナリングエラーの第1の例を示す図である。
【図１６】マルチワイヤ通信インターフェースを介して送信される2つの連続するシンボルに影響を及ぼすシグナリングエラーの第2の例を示す図である。
【図１７】本明細書において開示するいくつかの態様によるワードを符号化するシンボルのシーケンスにおける2つのシンボルエラーを検出するためのEDCに与えられるビットの数を示す図である。
【図１８】本明細書において開示するいくつかの態様による、エラー検出を行うように適合されたトランスミッタおよびレシーバを示す図である。
【図１９】本明細書において開示するいくつかの態様に従って適合される場合がある処理システムを使用する装置の一例を示すブロック図である。
【図２０】本明細書において開示するいくつかの態様によるトランスミッタにおいて使用される場合があるデータ通信方法のフローチャートである。
【図２１】本明細書において開示するいくつかの態様による、シンボルエラー検出を行うインターフェースにおいて使用される装置のためのハードウェア実装形態の第1の例を示す図である。
【図２２】本明細書において開示するいくつかの態様によるレシーバにおいて使用される場合があるデータ通信方法のフローチャートである。
【図２３】本明細書において開示するいくつかの態様による、シンボルエラー検出を行うインターフェースにおいて使用される装置のためのハードウェア実装形態の第2の例を示す図である。
【発明を実施するための形態】
【００５１】
以下の説明では、実施形態についての完全な理解を提供するために特定の詳細が示されている。しかしながらこれらの特定の詳細がなくても実施形態を実践することができることは、当業者には理解されよう。たとえば不必要な詳細によって実施形態が不明瞭になることがないよう、回路はブロック図で示すことができる。他の事例では、よく知られている回路、構造、および技法は、実施形態を不明瞭にしないために、詳細に示されない場合がある。
【００５２】
概説
いくつかのデータ転送インターフェースは、遷移符号化を使用し、3相およびN!マルチワイヤLVDSインターフェース、およびCCIeインターフェースを含むマルチワイヤシングルエンドインターフェースを含む。遷移符号化では、インターフェースを介して送信されるシグナリング状態にクロック情報が埋め込まれる。場合によっては、データは遷移数にトランスコードされ、各遷移数が、現在のシンボルの次に送信されるシンボルが選択される。各シンボルは、インターフェースのシグナリング状態を表す場合がある。たとえば、遷移数は、インターフェース上で送信することができるシンボルの順序付きセットにおけるシンボルのうちの一方を選択するのに使用されるオフセットを表してもよい。連続するシンボルが互いに異なるようにすることによって、各シンボル境界においてインターフェースのシグナリング状態の変化が生じ、レシーバにおいて受信クロックを生成するのに使用される情報が生成される。
【００５３】
送信シンボルS1を受信シンボルSe1に変更するシグナリング状態のエラーによって、レシーバが、直後のシンボルS2と変更後のシンボルSe1との間の遷移に関連する誤った遷移数T1+e1を生成する場合がある。T1は、S2と正しく送信されたシンボルS1との間の差を表し、e1は、シグナリングエラーによって導入されるオフセットの値である。第2の誤った遷移数T0+e0は、変更後のシンボルSe1に関連付けられ、T0は、正しく送信されたシンボルS1と次のシンボルS0との間の差を表し、e0は、シグナリングエラーによって導入されるオフセットの値を表す。e1およびe0の値は、シグナリング状態のエラーに直接対応せず、データビットエラーとシグナリング状態エラーとの間の関連付けを解除すると、従来のエラー検出技術が、遷移符号化インターフェースに適用されたときに無効になる場合がある。
【００５４】
本明細書において開示するいくつかの態様によれば、エラー検出定数(EDC)を設けることによって、遷移符号化インターフェースにおいて確実なエラー検出が可能になる。EDCは、既知の固定値を有する既定数のビットを含んでもよい。EDCの値は、一例では0値を有してもよく、インターフェース上で送信すべき各ワードの最下位ビット(LSB)として与えられてもよい。
【００５５】
遷移符号化を使用するデバイスの例
図1は、ICデバイス間の通信リンクを使用する装置100の一例を示す。一例では、装置100は、RFトランシーバを通じて、無線アクセスネットワーク(RAN)、コアアクセスネットワーク、インターネットおよび/または別のネットワークと通信するワイヤレス通信デバイスを含んでもよい。装置100は、処理回路102に動作可能に結合される通信トランシーバ106を含んでもよい。処理回路102は、特定用途向けIC(ASIC)108など、1つまたは複数のICデバイスを含んでもよい。ASIC108は、1つまたは複数の処理デバイス、論理回路などを含んでもよい。処理回路102は、処理回路102によって実行される場合がある命令およびデータを維持する場合があるメモリデバイス112などのプロセッサ可読ストレージを含んでもよく、かつ/またはそれに結合されてもよい。処理回路102は、オペレーティングシステム、および、ワイヤレスデバイスのメモリデバイス112などの記憶媒体の中に存在するソフトウェアモジュールの実行をサポートし可能にするアプリケーションプログラミングインターフェース(API)110レイヤのうちの1つまたは複数によって制御されてもよい。メモリデバイス112は、読取り専用メモリ(ROM)もしくはランダムアクセスメモリ(RAM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュカード、または処理システムおよびコンピューティングプラットフォームにおいて使用され得る任意のメモリデバイスを含み得る。処理回路102は、装置100を構成かつ操作するために使用される操作パラメータおよび他の情報を維持し得るローカルデータベース114を含み得るか、またはそれにアクセスし得る。ローカルデータベース114は、データベースモジュール、フラッシュメモリ、磁気媒体、EEPROM、光媒体、テープ、ソフトディスクまたはハードディスクなどのうちの1つまたは複数を使用して実装されてもよい。処理回路はまた、構成要素の中でも、アンテナ122、ディスプレイ124などの外部デバイス、ボタン128およびキーパッド126などのオペレータ制御装置に動作可能に結合されてもよい。
【００５６】
図2は、通信リンク220に接続された装置200のいくつかの態様を示すブロック概略図であり、この場合、装置200は、ワイヤレスモバイルデバイス、モバイル電話、モバイルコンピューティングシステム、ワイヤレス電話、ノートブックコンピュータ、タブレットコンピューティングデバイス、メディアプレーヤ、ゲームデバイスなどのうちの1つまたは複数において具現化されてもよい。装置200は、通信リンク220を介してデータおよび制御情報を交換する複数のICデバイス202および230を含む場合がある。通信リンク220は、互いに極めて近接して配置されるか、または装置200の異なる部分に物理的に配置されるICデバイス202および230を接続するために使用されてもよい。一例では、通信リンク220は、ICデバイス202および230を担持するチップキャリア、基板または回路板上に設けられてもよい。別の例では、第1のICデバイス202は、フリップフォンのキーパッドセクション内に配置される場合があり、第2のICデバイス230は、フリップフォンのディスプレイセクション内に配置される場合がある。別の例では、通信リンク220の一部分は、ケーブル接続または光接続を含んでもよい。
【００５７】
通信リンク220は、複数のチャネル222、224および226を含んでもよい。1つまたは複数のチャネル226は、双方向性であってよく、半二重モードおよび/または全二重モードで動作してもよい。1つまたは複数のチャネル222および224は、一方向性であってもよい。通信リンク220は、一方向においてより高い帯域幅を提供する非対称であってもよい。本明細書において説明する一例では、第1の通信チャネル222は順方向リンクと呼ばれることがあり、第2の通信チャネル224は逆方向リンクと呼ばれることがある。ICデバイス202と230の両方が通信チャネル222上で送信および受信するように構成される場合でも、第1のICデバイス202はホストシステムまたはトランスミッタとして指定される場合があり、第2のICデバイス230はクライアントシステムまたはレシーバとして指定される場合がある。一例では、順方向リンクは、第1のICデバイス202から第2のICデバイス230へデータを通信するとき、より高いデータレートで動作してもよく、逆方向リンクは、第2のICデバイス230から第1のICデバイス202へデータを通信するとき、より低いデータレートで動作してもよい。
【００５８】
ICデバイス202および230は、各々、プロセッサ206、236、ならびに/または処理回路および/もしくは計算回路、または他のそのようなデバイもしくは回路を有してもよい。一例では、第1のICデバイス202は、ワイヤレストランシーバ204およびアンテナ214を介したワイヤレス通信を維持することを含む、装置200のコア機能を実行してもよく、第2のICデバイス230は、ディスプレイコントローラ232を管理するかまたは動作させるユーザインターフェースをサポートしてもよい。第1のICデバイス202または第2のICデバイス230は、カメラコントローラ234を使用するカメラまたはビデオ入力デバイスの動作を制御し得る。ICデバイス202および230のうちの1つまたは複数によってサポートされる他の特徴は、キーボード、音声認識構成要素、および他の入力デバイスまたは出力デバイスを含み得る。ディスプレイコントローラ232は、液晶ディスプレイ(LCD)パネル、タッチスクリーンディスプレイ、インジケータなどのディスプレイをサポートする回路およびソフトウェアドライバを含んでもよい。記憶媒体208および238は、それぞれのプロセッサ206および236、ならびに/またはICデバイス202および230の他の構成要素によって使用される命令およびデータを維持するように適合された、一時的記憶デバイスおよび/または非一時的記憶デバイスを含んでもよい。各プロセッサ206、236ならびにその対応する記憶媒体208および238と、他のモジュールおよび回路との間の通信は、それぞれ、1つまたは複数のバス212および242によって容易にされてもよい。
【００５９】
逆方向リンク(ここでは、第2の通信チャネル224)を順方向リンク(ここでは、第1の通信チャネル222)と同様に動作させてもよく、第1の通信チャネル222および第2の通信チャネル224は、同等の速度でまたは異なる速度で送信することが可能であってもよく、この場合、速度はデータ転送レートおよび/またはクロックレートとして表されてもよい。順方向および逆方向データレートは、アプリケーションに応じて桁が実質的に同じであるかまたは桁が異なることがある。いくつかのアプリケーションでは、単一の双方向リンク(ここでは、第3の通信チャネル226)は、第1のICデバイス202と第2のICデバイス230との間の通信をサポートしてもよい。第1の通信チャネル222および/または第2の通信チャネル224は、たとえば、順方向リンクと逆方向リンクが同じ物理接続を共有し、半二重様式で動作するときに双方向モードで動作するように構成可能であってもよい。一例では、通信リンク220を、業界規格または他の規格に従って第1のICデバイス202と第2のICデバイス230との間で制御情報、コマンド情報および他の情報を通信するように動作させてもよい。
【００６０】
一例では、順方向リンクおよび逆方向リンクは、ディスプレイリフレッシュが可能になるように810Mbpsでピクセルデータを供給する、毎秒80フレームのLCDドライバICを有しフレームバッファを有さないワイドビデオグラフィックスアレイ(WVGA)をサポートするように構成または適合されてもよい。別の例では、順方向リンクおよび逆方向リンクは、ダブルデータレート同期型ダイナミックランダムアクセスメモリ(SDRAM)などのダイナミックランダムアクセスメモリ(DRAM)との通信を可能にするように構成または適合されてもよい。符号化デバイス210および/または230は、クロック遷移ごとに複数のビットを符号化することができ、ワイヤの複数のセットは、SDRAMからのデータ、制御信号、アドレス信号などを送信および受信するために使用することができる。
【００６１】
順方向および逆方向チャネルは、特定用途向け業界規格に準拠してもよく、あるいは適合可能であってもよい。一例では、MIPI規格は、アプリケーションプロセッサを含むICデバイス202と、モバイルデバイス内のカメラまたはディスプレイを制御しならびに/あるいはサポートするICデバイス230との間の物理レイヤインターフェースを定義する。MIPI規格は、モバイルデバイス用のMIPI仕様に適合する製品の動作特性を支配する仕様を含む。MIPI規格は、相補型金属酸化物半導体(CMOS)並列バスを使用するインターフェースを定義してもよい。
【００６２】
一例では、図2の通信リンク220は、(N個のワイヤとして示す)複数の信号ワイヤを含むワイヤードバスとして実装されてもよい。N個のワイヤは、シンボルとして符号化されたデータを伝達するように構成されてもよく、この場合、各シンボルはN個のワイヤのシグナリング状態を定義し、クロック情報は、複数のワイヤを介して送信されるシンボルのシーケンスに埋め込まれる。
【００６３】
図3は、2つのデバイス間に設けられたNワイヤインターフェース300の一例を示す図である。トランスミッタ302において、トランスコーダ306は、N階乗(N!)符号化を使用して、N個のワイヤ314のセットを介して送信すべきシンボル内のデータビット304およびクロック情報を符号化するために使用されてもよい。クロック情報は、送信クロック312から導出され、連続したシンボル間のNC2個の信号のうちの少なくとも1つの上でシグナリング状態遷移が発生することを保証することによって、N個のワイヤ314を介してNC2個の差動信号として送信されるシンボルのシーケンスとして符号化されてもよい。N個のワイヤ314を駆動するためにN!符号化が使用されるとき、シンボルの各ビットは、差動ラインドライバ310のセットのうちの1つによって差動信号として送信され、この場合、ラインドライバ310のセットにおける差動ドライバは、N個のワイヤの異なるペアに結合される。ワイヤペアの利用可能な組合せの数(NC2)は、N個のワイヤ314を介して送信することができる信号の数を決定する。シンボル内に符号化することができるデータビット304の数は、各シンボル送信区間に対して利用することができる、利用可能なシグナリング状態の数に基づいて算出されてもよい。
【００６４】
終端インピーダンス(通常は抵抗性の)は、N個のワイヤ314の各々を、終端ネットワーク316の中の共通の中心点318に結合する。N個のワイヤ314のシグナリング状態は、各ワイヤに結合された差動ラインドライバ310に起因する、終端ネットワーク316における電流の組合せを反映することが諒解されよう。中心点318がヌルポイントであり、それによって、終端ネットワーク316における電流が中心点において互いを消去することがさらに諒解されよう。
【００６５】
リンクにおけるNC2個の信号のうちの少なくとも1つが連続したシンボルの間でリンク遷移するので、N!符号化方式は、別個のクロックチャネルおよび/または非ゼロ復帰復号を使用する必要がない。事実上、トランスコーダ306は、各シンボルがその直前のシンボルとは異なる、シンボルのシーケンスを生成することによって、N個のワイヤ314上で送信されるシンボルの各ペアの間で遷移が発生することを保証する。図3に示す例では、N=4のワイヤが設けられ、4つのワイヤは4C2=6つの差動信号を搬送することができる。トランスコーダ306は、N個のワイヤ314上で送信するための未加工のシンボルを生成するためのマッピング方式を使用してもよい。トランスコーダ306は、データビット304を遷移数のセットにマッピングしてもよい。次いで、遷移数は、選択された未加工のシンボルが先行する未加工のシンボルとは異なるように、先行するシンボルの値に基づいて、送信するための未加工のシンボルを選択するために使用されてもよい。一例では、遷移数は、連続した未加工のシンボルのうちの1番目を参照して、連続した未加工のシンボルのうちの2番目に対応するデータ値をルックアップするために使用されてもよい。レシーバ320では、トランスコーダ328は、たとえば、ルックアップテーブルにおいて、連続した未加工シンボルのペア間の差を特徴付ける遷移数を決定するためのマッピングを使用してもよい。トランスコーダ306、328は、未加工のシンボルのあらゆる連続したペアが2つの異なるシンボルを含むことに基づいて動作する。
【００６６】
トランスミッタ302におけるトランスコーダ306は、あらゆるシンボル遷移において利用可能なN!-1個のシンボルから選択してもよい。一例では、4!システムは、各シンボル遷移において送信すべき次のシンボルに4!-1=23通りのシグナリング状態を与える。ビットレートは、送信クロックサイクルごとにlog2(available_states)として算出されてもよい。ダブルデータレート(DDR)クロッキングを使用し、それによって、送信クロック312の立上りエッジと立下りエッジの両方でシンボル遷移が発生するシステムでは、2つのシンボルは送信クロックサイクルごとに送信される。N=4の場合の送信クロックサイクルにおける利用可能な全状態は(N!-1)2=(23)2=529通りであり、シンボルごとに送信することのできるデータビット304の数はlog2(529)=9.047ビットとして算出されてもよい。
【００６７】
レシーバ320は、ラインレシーバ322のセットを使用してシンボルのシーケンスを受信し、この場合、ラインレシーバ322のセットの中の各レシーバは、N個のワイヤ314のうちの1つのペア上でのシグナリング状態の差を決定する。したがって、NC2個のレシーバが使用され、ここで、Nはワイヤの数を表す。NC2個のレシーバは、対応する数の未加工シンボルを出力として生成する。図示のN=4のワイヤの例では、4つのワイヤ314上で受信される信号は、対応するCDR324およびデシリアライザ326に与えられる状態遷移信号を生成するために、6つのレシーバ(4C2=6)によって処理される。CDR324は、デシリアライザ326によって使用することのできる受信クロック信号334を生成してもよい。受信クロック信号334は、トランスコーダ328によって与えられるデータを受信するために外部回路によって使用することのできるDDRクロック信号であってもよい。トランスコーダ328は、各次のシンボルをその直前のものと比較することによって、デシリアライザ326から受信されたシンボルのブロックを復号する。トランスコーダ328は、トランスミッタ302に与えられるデータビット304に対応する出力データ330を生成する。
【００６８】
遷移符号化
図4は、本明細書において開示するいくつかの態様に従って構成されたトランスミッタ400およびレシーバ420を示すブロック図である。トランスミッタ400およびレシーバ420は、N!インターフェースおよびCCIeインターフェースにおいて使用される遷移符号化を含む様々な符号化技法とともに使用できるように適合されてもよい。トランスミッタ400は、データ402を遷移数414に変換するように構成された第1の変換器404を含む。遷移数414は、現在のシンボルの値に基づいて、送信するための次のシンボルを選択するために使用されてもよく、この場合、次のシンボルは現在のシンボルとは異なる。エンコーダ406などの第2の変換器は、遷移数を受信し、適切に構成されたラインドライバ408を使用して、インターフェース上で送信されるシンボルのシーケンスを生成する。連続したシンボルのペアは2つの同一のシンボルを含まないので、シグナリング状態の遷移は、あらゆるシンボル遷移においてインターフェースの信号ワイヤ418のうちの少なくとも1つにおいて発生する。レシーバ420において、ラインレシーバ426のセットは未加工のシンボル(SI)436をCDR428に与え、CDR428は受信クロック438を抽出し、キャプチャされたシンボル(S)434を回路に与え、回路はキャプチャされたシンボル434を遷移数432に変換する。遷移数は出力データ430を生成するように回路422によって復号されてもよい。
【００６９】
3!システムの例では、トランスミッタ400は、データ402を3ビットで表される5進(底5)遷移数414にトランスコードするように構成または適合されてもよい。CCIeシステムの例では、トランスミッタ400は、データ402を2ビットで表される3進(底3)遷移数414にトランスコードするように構成または適合されてもよい。遷移数414は、信号ワイヤ418上で送信すべきシンボル416のシーケンスとして符号化されてもよい。トランスミッタ400に供給されるデータ402は1つまたは複数のワードであってもよく、各ワードは既定数のビットを有する。第1の変換器404は、トランスコーダであってもよく、データ402を受信し、データ要素ごとに遷移数414のシーケンスを生成する。遷移数414のシーケンスは、既定数のデータビットを符号化するのに十分な数の3進数と、エラー検出情報と、その他の情報とを含んでもよい。エンコーダ406は、ラインドライバ408を通じて送信されるシンボル416のシーケンスを生成する。一例では、ラインドライバ408は、オープンドレイン出力トランジスタを含んでもよい。別の例では、ラインドライバ408は、プッシュプルドライバを含んでもよい。エンコーダによって生成されたシンボル416の出力シーケンスは、連続したシンボルのペアが2つの同一のシンボルを含まないようにすることによって、シンボル416のシーケンス内の連続したシンボルの各ペアの間の信号ワイヤ418のうちの少なくとも1つの状態における遷移を有する。信号ワイヤのうちの少なくとも1つにおける状態の遷移が利用可能であるので、レシーバ420がシンボル416のシーケンスから受信クロック438を抽出することが可能になる。
【００７０】
図5は、符号化方式500の単純な例を示す図である。この例では、符号化方式は、2ワイヤCCIeインターフェース上で送信されるシンボル416のシーケンスを生成するように構成されたエンコーダ406によって使用されてもよい。符号化方式500はまた、インターフェースの信号ワイヤ418上で送信される信号から受信されるシンボルからデータを抽出するためにトランスコーダ424によって使用される。図示の符号化方式500では、2つの信号ワイヤ418を使用することによって、4つの基本シンボルS:{0,1,2,3}の定義が可能になる。シンボル416、434のシーケンス内の任意の2つの連続するシンボルは様々な状態を有し、シンボルシーケンス0,0、1,1、2,2、および3,3は、連続するシンボルの無効な組合せである。したがって、各シンボル境界において3つの有効なシンボル遷移のみが利用可能であり、この場合、シンボル境界は送信クロックによって決定され、第1のシンボル(Ps)が終了し、第2のシンボル(Cs)が開始するポイントを表す。第1のシンボルは、先行するシンボルまたは前のシンボル522と呼ばれる場合があり、第2のシンボルは、現在のシンボル524と呼ばれる場合がある。
【００７１】
本明細書で開示するいくつかの態様によれば、3つの利用可能な遷移には、前のシンボル522ごとに遷移数(T)526が割り当てられる。T526の値は、3進数によって表され得る。一例では、遷移数526の値は、符号化方式用のシンボル順序付けサークル502を割り当てることによって決定される。シンボル順序付けサークル502は、4つの考えられるシンボル用のシンボル順序付けサークル502上のロケーション504a〜504dと、ロケーション504a〜504dの間の回転の方向506とを割り振る。図示された例では、回転の方向506は時計回りである。遷移数526は、有効な現在のシンボル524と直前のシンボル522との間の分離を表す場合がある。分離は、前のシンボル522から現在のシンボル524に到達するために必要なシンボル順序付けサークル502上の回転の方向506に沿ったステップの数として定義される場合がある。ステップの数は、単一の桁の3進(底3)数として表すことができる。シンボル間の3ステップの差分は、0base-3として表すことができることが諒解されよう。図5のテーブル520は、この手法を採用する符号化方式をまとめたものである。
【００７２】
トランスミッタ400において、前のシンボル522、および遷移数526として使用される入力3進数がわかった場合、テーブル520は、送信すべき現在のシンボル524をルックアップするために使用されてもよい。レシーバ420において、テーブル520は、前のシンボル522と現在のシンボル524との間の遷移を表す遷移数526を決定するためのルックアップとして使用されてもよい。遷移数526は、3進数として出力されてもよい。
【００７３】
クロック情報をシンボルのシーケンスに埋め込むトランスコーダを使用すると、トランスミッタ400によって送信される受信されたデータ402と、信号ワイヤ418上で送信されるシンボル416のシーケンスとの関連付けを解除することができる。したがって、少なくとも1つの前に送信されたシンボルを考慮することなしに、受信された未加工のシンボル436を直接復号して、トランスミッタ400に供給されるデータ402を取得することはできない。この関連付け解除は、従来の誤り訂正技法を無効にする場合がある。たとえば、従来のシステムは、誤り訂正符号(ECC)をデータ402に付加する場合があり、この場合、ECCは、データ402の既定のブロックサイズまたはパケット長から算出される巡回冗長符号(CRC)であってもよい。ECCは、従来のインターフェースで送信中の誤りの発生を識別および/または訂正するために使用される場合があり、この場合、エラーは、1つまたは複数のビットエラーを含む場合がある。
【００７４】
遷移符号化を使用するインターフェースでは、シンボルエラーがレシーバにおけるビットエラーのバーストとして出現する。すなわち、単一のシンボル送信エラーによって複数のビットエラーが生じることがある。このような状況では、CRCは、ハミング距離を超えることが多く、エラー検出の実際的なソリューションとはならない。
【００７５】
図6は、シンボル602と、本明細書では「遷移シンボル」と呼ばれることもある遷移数604との関係を示すタイミング図600である。この例では、各データワードは、マルチワイヤインターフェース上で送信されるm個のシンボルとして符号化される。m個のシンボルとして送信されるワードは、以下の数式を使用して復号されてもよい。
【００７６】
【数１】
2018501706.tif 000003
【００７７】
上式において、Tkは、k回目の反復時の遷移数であり、rは、シンボル間の各遷移において利用可能なシンボルの数である。たとえば、(受信クロックを確実に生成できるように)自己遷移が禁止される3!インターフェースにおいて、6つの定義された状態のうちのr=5つの状態が各シンボル遷移において利用可能になる。様々な例では、3!インターフェースは、データをm=4つのシンボルまたはm=7つのシンボルのシーケンスとして符号化してもよい。4!インターフェースでは、24個の定義された状態のうちのr=23個の状態が各シンボル遷移において利用可能であり、4!インターフェースは、データをm=2個のシンボルのシーケンスとして符号化してもよい。CCIeインターフェースでは、4つの定義された状態のうちのr=3個の状態が各シンボル遷移において利用可能であり、データワードは、m=12個のシンボルのシーケンスとして符号化されてもよい。3ワイヤシングルエンドインターフェースでは、m=12およびr=7の値が使用されてもよい。4ワイヤシングルエンドインターフェースでは、m=10およびr=15の値が使用されてもよい。
【００７８】
図7は、3!インターフェースに関する遷移数対シンボル符号化を示す図700である。この例では、シンボル順序付けサークル702の周りに配置された6つの考えられるシンボルS:{0,1,2,3,4,5}がある。クロック情報は、同じシンボルがどの2つの連続するシンボル間隔にも出現しないようにすることによってシンボルのシーケンスに埋め込まれる。この例では、r=5であり、遷移数(T)は、遷移タイプ704、706、708、710、712ごとに異なる値が割り当てられてもよい。遷移数の値は、シンボル順序付けサークル702上の現在のシンボルの位置に対するシンボル順序付けサークル702上の次のシンボルの位置を示してもよい。遷移数は、1〜5の範囲の値をとってもよい。現在のシンボルを前のシンボルと同じにすることはできないので、現在のシンボルと次のシンボルとの間のステップの数を0とすることはできない。
【００７９】
遷移数は以下の公式に従って割り当てられてもよい。
T=Ps+1≦Cs ? Cs-(Ps+1): Cs-(Ps+1)+6
反対に、現在の連続シンボル数(Cs)は、以下に従って割り当てられてもよい。
Cs=Ps+1+T<6 ? Ps+1+T: Ps+1+T-6
上式において、Csは現在のシンボルであり、Psは前に受信されたシンボルである。
【００８０】
図8は、シンボル遷移クロッキングトランスコードの一般化された例800を示す図である。この例800では、インターフェースは、マルチワイヤ通信インターフェース上で送信されるシンボルごとに6つの考えられるシグナリング状態を実現し、連続的に送信されるシンボルの各対が2つの異なるシンボルを含むようにすることによって連続するシンボル間の各遷移にクロック情報が埋め込まれる。したがって、シンボル間の各遷移において5つの状態が利用可能である。データワードは、データワードのビットを遷移数に変換することによって符号化され、遷移数は、現在送信されているシンボルに基づいて送信すべき次のシンボルを選択する。例800では、マルチワイヤ通信インターフェースを介して3つの連続シンボル812、814、816が送信され、各シンボル812、814、816は、マルチワイヤ通信インターフェースの6つのシグナリング状態のうちの1つを定義する。データおよびクロック情報は、シンボル812、814、816の連続する対間の遷移として符号化される。遷移は、遷移数808、810の数字として表されてもよい。遷移数の各数字は、シンボルのシーケンスにおける連続するシンボルの対間の遷移を特定し、この場合、各数字が遷移数と呼ばれる場合もある。上述のように、m個のシンボルのデータのシーケンスは次式のように符号化される。
【００８１】
【数２】
2018501706.tif 000004
【００８２】
上式において、kは0からm-1の間の値を有する。第1の遷移数(Tk) 808は、第1のシンボル812(A)と第2のシンボル814(X)との間の遷移に対応し、第2の遷移数(Tk-1) 810は、第2のシンボル814(X)と第3のシンボル816(B)との間の遷移に対応する。ここでは、第1のシンボル812は、データワードの最上位ビットを符号化してもよい。
【００８３】
一例では、マルチビットデータワードがm個の遷移数のシーケンスに変換されてもよい。各遷移数は、3進数、4進数、5進数、6進数を使用するか、またはr個の遷移を表すことのできる何らかの他の記数法を使用して表されてもよい。すなわち、記数法は、0〜r-1の範囲にわたることができる数を与えるベースr体系であってもよい。各遷移数は、送信されている現在のシンボルに基づいて次に送信されるシンボルを選択する場合がある。次のシンボルは、シンボル802のシーケンスにクロック情報を埋め込むことを目的としてシグナリング状態遷移を生じさせるために現在のシンボルとは異なるシンボルから選択される。すなわち、シンボルの連続する対における2つの異なるシンボルを送信すると、マルチワイヤインターフェースの少なくとも1つのワイヤのシグナリング状態が変化し、レシーバは、連続するシンボル間のシグナリング状態において検出される変化に基づいて受信クロックを生成することができる。
【００８４】
シンボル順序付けサークル806は、例800において次のシンボルを選択する1つの方法を示す。ここでは、遷移数は、考えられる値{0,1,2,3,4}を有する5進数(底5)として表されてもよい。6つの考えられるシンボル804a〜804fの各々について、マルチワイヤ通信インターフェース上で6つのシグナリング状態のうちの1つが送信される。6つのシンボル804a〜804fは、シンボル順序付けサークル806の周りのそれぞれに異なる位置に配置される。シンボル順序付けサークル806上の現在のシンボル位置を仮定した場合、シンボル順序付けサークル806上において時計回りにTステップの所に位置するシンボルを次のシンボルとして選択することによって遷移数Tが符号化されてもよい。一例では、現在のシンボルがSymbol-0 804aであるとき、遷移数値T=1はSymbol-1 804bを次のシンボルとして選択し、遷移数値T=2はSymbol-2 804cを次のシンボルとして選択し、遷移数値T=3はSymbol-3 804dを次のシンボルとして選択し、遷移数値T=4はSymbol-4 804eを次のシンボルとして選択する。遷移数値T=0は、この遷移数が現在のシンボル(Symbol-0 804a)から時計回りに5ステップ(または反時計回りに1ステップ)の所のシンボルを選択し、それによってSymbol-5 804fを次のシンボルとして選択するという点でロールオーバを生じさせる場合がある。
【００８５】
シンボル802の送信シーケンスの例では、シンボル802のシーケンスにおける第1のシンボル812がSymbol-1 804bに相当する場合がある。入力データは、Tk=2の値を有する第1の遷移数808およびTk-1=1の値を有する第2の遷移数810を生成するように処理されてもよい。第2のシンボル814は、Tkの値に基づいてSymbol-3 804dであると判定されてもよく、第3のシンボル816は、Tk-1の値に基づいてSymbol-4 804eであると判定されてもよい。
【００８６】
レシーバにおいて、シンボル順序付けサークル806は、連続するシンボル812、814、および/または816間の遷移ごとに遷移数を判定するのに使用されてもよい。一例では、レシーバは、連続するシンボル812、814、および/または816間のシグナリング状態の変化の発生に基づいて受信クロックを抽出する。レシーバは次いで、マルチワイヤインターフェースからシンボル812、814、816をキャプチャし、連続するシンボル812、814、および/または816の各対間の遷移を表す遷移数を判定する。一例では、遷移数は、連続するシンボル812、814の対間のシンボル順序付けサークル806上のステップ数を算出することによって決定されてもよい。
【００８７】
遷移符号化インターフェースにおけるエラー検出
本明細書において開示するいくつかの態様によれば、遷移符号化されたインターフェースを介して送信すべきデータに付加されるEDCを使用して、遷移符号化されたインターフェースにおいて信頼できるエラー検出が実施されてもよい。EDCは、既定数のビットを含んでもよく、この場合、EDCは既知の固定値を有する。一例では、EDCは、送信されるときに0値を有する。場合によっては、EDCは、インターフェース上で送信すべき各ワードの最下位ビット(LSB)として与えられる。EDCワードの形態および構造は、ワードに影響を与える単一のシグナリング状態エラーによって、レシーバにおいて復号されるEDCが固定値とは異なる値(たとえば、非0値)を有するように選択されてもよい。
【００８８】
図9は、遷移符号化されたインターフェースに影響を与える単一のエラーの効果の例900を示す。本例では、データワード912は、インターフェースを介した送信を目的として与えられる。エンコーダに入力される送信ワード902を生成するためにデータワード912にEDC 914が付加される。送信ワード902は、シンボル910のシーケンスとして送信され、シンボル910のシーケンスは12個のシンボルを含む。シンボル910のシーケンスは、CCIe演算を対象として構成され、レシーバにおいてシンボル904のストリームとして受信される2ワイヤインターフェースを介して送信される。送信時には、最初に送信されたシンボル916が変更され、誤ったシンボル918として受信されるようにシグナリングエラーが生じる。シンボル904の受信ストリームに対応する遷移数906のストリームは、エラーオフセットを含む遷移数920、922を含む。第1の遷移数920は、前のシンボルと誤ったシンボル918との間の差を表し、第2の遷移数922は、誤ったシンボル918と影響を受けるシンボルの後に送信される次のシンボルとの間の差を表す。
【００８９】
EDC 914のサイズ、位置、および構造は、単一のシンボルエラーが発生することによって、送信されたEDC 914とは異なるEDC 926がレシーバにおいて生成されるように選択されてもよい。一例では、EDC 914は、複数のビットを含み、0値に設定されてもよい。CCIeインターフェースの例では、EDC 914は3ビットを有してもよい。
【００９０】
図10は、マルチワイヤ通信インターフェースを介して送信されるシンボル1002のシーケンスが単一のシンボルエラー1018の影響を受け、シンボル1004の受信シーケンスにおいて誤ったシンボル1014がキャプチャされる例を示す図である。シンボル1002の送信シーケンスは、第1のシンボル1008(Aシンボル)と、第2のシンボル(Xシンボル1010)と、第3のシンボル1012(Bシンボル)とを含む。シンボル1004の受信シーケンスでは、第1のシンボル1008および第3のシンボル1012が正しく受信され、一方、第2のシンボル1010は、シンボルエラー1018(変位e)によって変更され、誤ったシンボル(X'シンボル1014)として受信される。
【００９１】
単一のシンボルエラー1018が発生すると、2つの遷移数エラーが生じる。第1の誤った遷移数1020は、正しく受信された第1のシンボル1008とX'シンボル1014との間の遷移を表す。第2の誤った遷移数1022は、X'シンボル1014と正しく受信された第3のシンボル1012との間の遷移を表す。第1の誤った遷移数1020はTk+ekとして表されてもよく、Tkは、第1のシンボル1008とXシンボル1010との間の遷移に相当する第1の正しい遷移数1016であり、ekは、第1の正しい遷移数1016に対する第1の誤った遷移数1020において生じるエラーの値である。第2の誤った遷移数1022はTk-1+ek-1として表されてもよく、Tk-1は、Xシンボル1010と第3のシンボル1012の間の遷移に相当する第2の正しい遷移数1024であり、ek-1は、第1の正しい遷移数1024に対する第2の誤った遷移数1022において生じるエラーの値である。
【００９２】
単一のシンボルエラー1018の影響が復号遷移サークル1006に示されている。第1のシンボル1008は、Symbol-1に相当し、最初マルチワイヤインターフェースから受信される。次のシンボルは、エラーに起因して誤ってX'シンボル1014としてキャプチャされる。X'シンボル1014は、Symbol-0に相当してもよい。第3のシンボル1012は、Symbol-4に相当し、次にマルチワイヤインターフェースから受信される。この例では、最上位シンボルが送信され、以下の関係が成立する。
e=3、Tk=2、Tk-1=1
Tk+e=2+3=5=0base5、およびek=-2
Tk-1-e=1-3=-2=4base5、およびek-1=-3
各データワードは遷移数のシーケンスとして表されてもよい:{T0, T1,…, Tm-1}。
【００９３】
変位エラーeは、送信されたXシンボル1010と受信されたX'シンボル1014との間の差を表し、この差は、復号遷移サークル1006におけるステップの数に相当してもよい。eの値は、遷移数を表すのに使用される記数法におけるロールオーバに起因して必ずしもekに等しくなるとは限らない。たとえば、値3を有する遷移数は、変数エラーeによって生じる、復号遷移サークル1006上の送信されたXシンボル1014と受信されたX'シンボル1014との間の差、第1の正しい遷移数1016を表してもよく、一方、ekの値は-2である。
【００９４】
2つの連続するシンボル遷移について以下が成立する。
ビット=Tkrk+Tk-1rk-1
2つの連続するシンボルに影響を与える単一のエラーの結果は次式のように表されてもよい。
ビット'=(Tk+ek)rk+(Tk-1-ek-1)rk-1
=(Tkrk+Tk-1rk-1)+(ekr-ek-1)rk-1
ただし、
(ekr-ek-1)rk-1は、エラー効果と呼ばれる場合があり、
(ekr-ek-1)は、エラー係数と呼ばれる場合があり、
rk-1はべき指数と呼ばれることがある。
【００９５】
いくつかの態様によれば、遷移符号化されたインターフェースは、rが奇数になるように構成されてもよい。rが奇数であるとき、rk-1も奇数になる(LSBは非0である)。したがって、(ekr-ek-1)の値は、EDCに必要なLSBの数を決定する。図11は、r=3およびr=5であるときのrnのリストを示す(nは0〜15の範囲である)。第1のテーブル1100はCCIeインターフェースに関係する場合があり、各シンボル間隔においてr=3回の遷移が利用可能である。各インスタンスにおいて、べき指数のLSB 1104が'1'に設定される。第2の例1102は3ワイヤ3!インターフェースに関係する場合があり、各シンボル間隔においてr=5回の遷移が利用可能である(6つの考えられるシンボル)。各インスタンスにおいて、べき指数のLSB 1206が'1'に設定される。
【００９６】
図12は、エラー係数を表にしたものであり、シンボルエラーが、クロック消失を生じさせる、連続するシンボル間隔におけるシンボルの反復を伴わないときのエラー係数を示すテーブル1200である。|ek|は常にrよりも小さい。すなわち、
1≦|ek|≦r-1であり、
1≦|ek-1|≦r-1である。
|ek|の最小値が1であるので、|ekr|の最小値はrである。|ek-1|の最大値はr-1である。エラー係数(ekr-ek-1)は、単一のシンボルエラーが存在するときは0になることがない。
【００９７】
図13は、エラー係数における最も長い非0LSB部の計算および表の例1300を示す。ここでは、(ekr-ek-1)の2つのLSBのべき乗は、|ek|と|ek-1|の両方が2(2n)の最長べき乗であるときに最長になり、ek=ek-1である。エラー係数の2つのLSBの最長べき乗は、「エラー検出一定LSB」のサイズを決定する。
【００９８】
本明細書において開示するいくつかの態様は、シンボルのシーケンスにクロック情報を埋め込むうえで遷移符号化を使用しないインターフェースに適用されてもよい。場合によっては、データが奇数の底を有する順序付け法にトランスコードされてもよい。たとえば、データは、3進順序付け法、5進順序付け法、7進順序付け法などの順序付け法にトランスコードされてもよい。
【００９９】
図14は、単一のシンボルエラーが遷移数1408、1426におけるエラーを生じさせる2つの事例1400、1420を示す図である。第1の例1400では、シグナリングエラーが前のシンボルシーケンスにおける最後に送信されたシンボル1402に影響を与える。シグナリングエラーによって、レシーバは変更されたシンボル1404を前のシンボルシーケンスにおける最後に受信されたシンボルとして検出する。このエラーは、前のシンボルシーケンスにおける最後に送信されたシンボル1402と現在のシンボルシーケンスの第1のシンボルとの間の差を表す遷移数1406のオフセットを導入する場合がある。第1の例1400では、エラーの影響はem-1rm-1として表される場合があり、エラー係数はem-1であり、べき指数はrm-1である。
【０１００】
第2の例1420では、シグナリングエラーが現在のシンボルシーケンスにおける最後に送信されたシンボル1422に影響を与える。シグナリングエラーによって、レシーバは変更されたシンボル1424を現在のシンボルシーケンスにおける最後に受信されたシンボルとして検出する。このエラーは、現在のシンボルシーケンスにおける最後に送信されたシンボル1422と次のシンボルシーケンスの第1のシンボルとの間の差を表す遷移数1426のオフセットを導入する場合がある。第1の例1400では、エラーの影響はe0として表されてもよい。
【０１０１】
Table 1(表1)は、遷移符号化を使用するマルチワイヤインターフェースにおける単一のシンボルエラーを検出することができるEDCにおけるLSBの数を示す。
【０１０２】
【表１】
2018501706.tif 000005
【０１０３】
図14に示す事例は、単一のシンボルエラーを検出するのを可能にするうえでEDCにおいて必要とされるLSBの最大数に影響を与えない。
【０１０４】
ワード当たり複数のシンボルエラーの検出
図15は、単一のデータワードを符号化するシンボル1502のシーケンスにおける2つのシンボル1504、1506に影響を与えるシグナリングエラーの第1の例を示すタイミング図1500である。図15は、シグナリングエラーが2つの非連続シンボルに影響を与える例に関する。シンボル1504、1506におけるエラーによって遷移エラー1508、1510の対応する対が生じる。これらの遷移エラーによって誤った遷移数1512、1514、1516、1518が生じる。影響を受ける第1のシンボル1504に起因するエラー効果は(ekr-ek-1)rk-1として表されてもよく、一方、影響を受ける第2のシンボル1506に起因するエラー効果は(ejr-ej-1)rj-1として表されてもよい。エラーの全体的な影響
(ekr-ek-1)rk-1+(ekr-ek-1)rk-1
によって、所定の長さおよび値を有するEDCが常に変更される限り、複数のシンボルエラーを検出することができる。
【０１０５】
図16は、単一のワードを符号化するシンボル1602のシーケンスにおける2つの連続するシンボル1604、1606に影響を与えるシグナリングエラーの第2の例を示すタイミング図1600である。連続するシンボル1604、1606におけるエラーによって遷移エラー1608が生じ、それによって、3つの誤った遷移数1610、1612、1614が生成される。影響を受けるシンボル1504、1506に起因するエラー効果は(ekr2-ek-1r+ek-2)rk-2として表されてもよい。本明細書において開示するいくつかの態様に従って適合されたレシーバでは、連続するシンボル1604、1606に影響を与えるエラーに起因するエラー効果を、非連続シンボル1504、1506におけるエラーよりも短いEDCによって検出することができる。
【０１０６】
図17は、r(シンボル境界ごとに利用可能な遷移)およびm(データ要素を符号化するのに使用されるシンボルの数)の様々な値に使用されるEDCのビット数を示すテーブル1700である。2つのシンボルエラーを検出するのに使用されるEDCのサイズは、mの値に応じて変化する。テーブル1700の第1の行(影付き)は、単一のシンボルエラーを検出するのに使用されるEDCに相当する。
【０１０７】
本明細書において開示するいくつかの態様によれば、レシーバは、十分な長さのEDCがデータワードとともに送信されるときに、データワードを表すシンボルのシーケンスにおける2つのシンボルエラーを検出するように構成することができる。EDCの長さは、データワードを符号化するのに使用されるシンボルの数および連続的に送信されるシンボルの対間の境界において利用可能な遷移の数に基づいて決定されてもよい。
【０１０８】
クロック消失または余剰クロックによって引き起こされるシンボルスリップエラーは、エラー検出定数によって検出されない場合がある。しかしながら、これらのタイプのエラーの大多数は、上位のプロトコルレイヤによって検出し、次のワードにおいて検出し、ならびに/あるいはレシーバデバイスにおけるステートマシンを使用して検出することができる。
【０１０９】
図18は、Nワイヤシリアルバス1820によって結合されたトランスミッタ1800とレシーバ1840を示し、この場合、シリアルバス1820を介した各送信は、本明細書において開示するいくつかの態様に従って与えられるEDC(エラー検出定数)を含む。トランスミッタ1800は、データワード1802にEDCを付加するように適合されたEDC挿入回路1804を含んでもよく、データワード1802はトランスミッタ1800への入力として供給される。EDC挿入回路1804は、拡張されたデータワード1814を遷移数1816に変換するように構成された第1のエンコーダ1806に拡張されたデータワード1814を供給してもよい。トランスミッタ1800は、遷移数1816からシンボル1818のシーケンスを生成するように構成された第2のエンコーダ1808を含んでもよい。シンボル1818のシーケンスにおける各シンボルは、遷移数1816の数字およびシンボル1818のシーケンスにおける前のシンボルを使用して生成されてもよい。通信トランシーバ1810は、シリアルバス1820上でシンボル1818のシーケンスを送信するように構成されてもよい。いくつかの実施形態では、クロック情報は、シンボル1818のシーケンス内の連続するシンボル間の遷移内に埋め込まれてもよい。
【０１１０】
EDCは、レシーバ1840がデータワード1802に対応するシンボルのシーケンス1818におけるシンボルエラーを検出するのを可能にするように選択された長さおよび既定値を有してもよい。場合によっては、EDCの長さおよび既定値は、レシーバ1840が、シンボル1818のシーケンスにおける複数のシンボルに影響を与える送信エラーを検出するのを可能にするように選択されてもよい。EDC挿入回路1804は、EDCを既定数の最下位ビットとして付加してもよい。最下位ビットの数は、シリアルバス1820上のデータ送信を符号化するのに利用可能なシンボル当たり状態の総数および/またはデータワード1802およびEDCを符号化するのに使用されるシンボルの総数に基づいて決定されてもよい。
【０１１１】
一例では、シリアルバス1820は、N個のシングルエンドコネクタを有しデータ送信を符号化するのに利用可能なシンボル当たり状態の総数は2N-xであり、この場合、xは少なくとも1である。別の例では、シリアルバス1820は、N個のマルチレベル差動コネクタを有し、データ送信を符号化するのに利用可能なシンボル当たり状態の総数はN!-xであり、この場合、xは少なくとも1である。別の例では、各遷移において利用可能な状態の総数は3であり、EDCは8ビットを含む。別の例では、各遷移において利用可能な状態の総数は3であり、シンボルのシーケンスは17個以上のシンボルを含み、EDCは9ビットを含む。別の例では、各遷移において利用可能な状態の総数は5であり、EDCは10ビットを含む。別の例では、各遷移において利用可能な状態の総数は5であり、シンボルのシーケンスは8つ以上のシンボルを含み、EDCは11ビットを含む。
【０１１２】
レシーバ1840は、シリアルバス1820から未加工シンボル1856のシーケンスを受信するように構成することのできる通信トランシーバ1846を含んでもよい。場合によっては、レシーバ1840は、受信クロック信号1858およびキャプチャされたシンボル1854のシーケンスを第1のデコーダ1844に供給するクロックおよびデータ復元回路(CDR)1848を含んでもよい。第1のデコーダ1844は、キャプチャされたシンボル1854のシーケンスを遷移数1852に変換する。遷移数1852の各数字は、キャプチャされたシンボル1854のシーケンスにおける2つの連続するシンボル間の遷移を表す場合がある。レシーバ1840は、遷移数1852を1つまたは複数のワード1850、1862に変換するように適合された第2のデコーダ1842を含んでもよい。図示の例では、EDCワード1862はエラー検出回路1864に供給されてもよく、エラー検出回路1864は、送信中にエラーが発生したことを示す信号1860を生成する。エラー検出回路1864は、EDCワード1862を予期される既定値と比較するように構成された組合せ論理および/または比較器を含んでもよい。EDCワード1862が既定値と一致しないときにエラーが特定されてもよい。一例では、既定値は0であり、EDCワード1862の各ビットは'0'ビットであると予期される。第2のデコーダ1842によって復号されたビットの一部は、出力データワード1850として供給されてもよい。いくつかの例では、受信クロック信号1858は、未加工シンボル1856のシーケンスにおける連続するシンボル間の遷移に埋め込まれたクロック情報から導かれてもよい。
【０１１３】
処理回路の例
図19は、本明細書で開示する1つまたは複数の機能を実行するように構成されてもよい処理回路1902を使用する装置のためのハードウェア実施態様の簡略化された例を示す概念図1900である。本開示の様々な態様によれば、本明細書で開示するような要素、または要素の任意の部分、または要素の任意の組合せは、処理回路1902を使用して実装されてもよい。処理回路1902は、ハードウェアモジュールとソフトウェアモジュールの何らかの組合せによって制御される1つまたは複数のプロセッサ1904を含んでもよい。プロセッサ1904の例は、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理デバイス(PLD)、ステートマシン、シーケンサ、ゲート論理、個別ハードウェア回路、および本開示全体にわたって記載された様々な機能を実施するように構成された他の適切なハードウェアを含む。1つまたは複数のプロセッサ1904は、特定の機能を実施し、ソフトウェアモジュール1916のうちの1つによって構成され、増強され、または制御されてもよい専用プロセッサを含んでもよい。1つまたは複数のプロセッサ1904は、初期化中にロードされたソフトウェアモジュール1916の組合せを通じて構成されてもよく、動作中に1つまたは複数のソフトウェアモジュール1916をロードまたはアンロードすることによってさらに構成されてもよい。
【０１１４】
図示の例では、処理回路1902は、バス1910によって概略的に表されるバスアーキテクチャを用いて実装されてもよい。バス1910は、処理回路1902の特定の適用例および全体的な設計制約に応じて、任意の数の相互接続するバスおよびブリッジを含んでもよい。バス1910は、1つまたは複数のプロセッサ1904およびストレージ1906を含む様々な回路を互いにリンクさせる。ストレージ1906は、メモリデバイスおよび大容量記憶デバイスを含んでもよく、本明細書ではコンピュータ可読媒体および/またはプロセッサ可読媒体と呼ばれる場合がある。バス1910はまた、タイミングソース、タイマ、周辺装置、電圧調整器、および電力管理回路などの様々な他の回路をリンクさせてもよい。バスインターフェース1908は、バス1910と1つまたは複数のトランシーバ1912との間のインターフェースを構成してもよい。トランシーバ1912は、処理回路によってサポートされるネットワーキング技術ごとに設けられてもよい。場合によっては、複数のネットワーキング技術が、トランシーバ1912の中に見出される回路または処理モジュールの一部または全部を共有してもよい。各トランシーバ1912は、伝送媒体を介して様々な他の装置と通信するための手段を構成する。装置の性質に応じて、ユーザインターフェース1918(たとえば、キーパッド、ディスプレイ、タッチインターフェース、スピーカ、マイクロフォン、ジョイスティック)が設けられてもよく、直接またはバスインターフェース1908を通じてバス1910に通信可能に結合されてもよい。
【０１１５】
プロセッサ1904は、バス1910を管理すること、およびストレージ1906を含む場合があるコンピュータ可読媒体に記憶されたソフトウェアの実行を含む場合がある一般的な処理を担当してもよい。この点で、プロセッサ1904を含む処理回路1902は、本明細書で開示する方法、機能および技法のうちのいずれかを実装するために使用されてもよい。ストレージ1906は、ソフトウェアを実行するとき、プロセッサ1904によって操作されるデータを記憶するために使用されてもよく、ソフトウェアは、本明細書で開示する方法のうちの任意の1つを実施するように構成されてもよい。
【０１１６】
処理回路1902の中の1つまたは複数のプロセッサ1904は、ソフトウェアを実行してもよい。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、または他の名称で呼ばれるかどうかにかかわらず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行ファイル、実行スレッド、プロシージャ、関数、アルゴリズムなどを意味するように広く解釈されるものとする。ソフトウェアは、コンピュータ可読の形でストレージ1906の中または外部コンピュータ可読媒体の中に存在してもよい。外部コンピュータ可読媒体および/またはストレージ1906は、非一時的コンピュータ可読媒体を含んでもよい。非一時的コンピュータ可読媒体は、例として、磁気ストレージデバイス(たとえば、ハードディスク、フロッピーディスク、磁気ストリップ)、光ディスク(たとえば、コンパクトディスク(CD)またはデジタル多用途ディスク(DVD))、スマートカード、フラッシュメモリデバイス(たとえば、「フラッシュドライブ」、カード、スティック、またはキードライブ)、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、レジスタ、リムーバブルディスク、ならびに、コンピュータがアクセスし読み取ることができるソフトウェアおよび/または命令を記憶するための任意の他の適切な媒体を含む。コンピュータ可読媒体および/またはストレージ1906はまた、例として、搬送波、伝送線路、および、コンピュータがアクセスし読み取ってもよいソフトウェアおよび/または命令を送信するための任意の他の適切な媒体を含んでもよい。コンピュータ可読媒体および/またはストレージ1906は、処理回路1902の中に存在するか、プロセッサ1904の中に存在するか、処理回路1902の外部に存在するか、または処理回路1902を含む複数のエンティティにわたって分散されてもよい。コンピュータ可読媒体および/またはストレージ1906は、コンピュータプログラム製品において具現化されてもよい。例として、コンピュータプログラム製品は、パッケージング材料の中のコンピュータ可読媒体を含んでもよい。当業者は、具体的なアプリケーションおよび全体的なシステムに課された設計制約全体に応じて、本開示全体にわたって提示される、説明した機能を最善の形で実装する方法を認識するであろう。
【０１１７】
ストレージ1906は、本明細書でソフトウェアモジュール1916と呼ばれる場合がある、ロード可能なコードセグメント、モジュール、アプリケーション、プログラムなどにおいて維持および/または構成されるソフトウェアを維持してもよい。ソフトウェアモジュール1916の各々は、処理回路1902にインストールまたはロードされ、1つまたは複数のプロセッサ1904によって実行されるとき、1つまたは複数のプロセッサ1904の動作を制御するランタイムイメージ1914に寄与する命令およびデータを含んでもよい。いくつかの命令は、実行されたときに、処理回路1902に、本明細書で説明するいくつかの方法、アルゴリズム、およびプロセスに従って機能を実行させてもよい。
【０１１８】
ソフトウェアモジュール1916の一部は、処理回路1902の初期化中にロードされてもよく、これらのソフトウェアモジュール1916は、本明細書に開示する様々な機能の実行を可能にするように処理回路1902を構成してもよい。たとえば、いくつかのソフトウェアモジュール1916は、プロセッサ1904の内部デバイスおよび/または論理回路1922を構成してもよく、トランシーバ1912、バスインターフェース1908、ユーザインターフェース1918、タイマ、数学的コプロセッサなどの外部デバイスへのアクセスを管理してもよい。ソフトウェアモジュール1916は、割込みハンドラおよびデバイスドライバと対話し、処理回路1902によって提供される様々なリソースへのアクセスを制御する制御プログラムおよび/またはオペレーティングシステムを含んでもよい。リソースは、メモリ、処理時間、トランシーバ1912へのアクセス、ユーザインターフェース1918などを含んでもよい。
【０１１９】
処理回路1902の1つまたは複数のプロセッサ1904は、多機能であってもよく、それによって、ソフトウェアモジュール1916の一部は、異なる機能または同じ機能の異なるインスタンスを実行するようにロードおよび構成される。1つまたは複数のプロセッサ1904は、さらに、たとえば、ユーザインターフェース1918、トランシーバ1912、およびデバイスドライバからの入力に応答して開始されるバックグラウンドタスクを管理するように適合されてもよい。複数の機能の実行をサポートするために、1つまたは複数のプロセッサ1904は、マルチタスク環境を実現するように構成されてもよく、それにより、複数の機能の各々が、必要または要望に応じて、1つまたは複数のプロセッサ1904によってサービスされるタスクのセットとして実装される。一例では、マルチタスク環境は、異なるタスク間でプロセッサ1904の制御を渡す時分割プログラム1920を使用して実装されてもよく、それにより、各タスクは、任意の未処理動作が完了すると、および/または割込みなどの入力に応答して、時分割プログラム1920に1つまたは複数のプロセッサ1904の制御を戻す。タスクが1つまたは複数のプロセッサ1904の制御を有するとき、処理回路は、事実上、制御しているタスクに関連した機能によって対処される目的に特化される。時分割プログラム1920は、オペレーティングシステム、ラウンドロビンベースで制御を移すメインループ、機能の優先順位付けに従って1つもしくは複数のプロセッサ1904の制御を割り振る機能、および/または、1つもしくは複数のプロセッサ1904の制御を処理機能に対して施すことによって外部イベントに応答する割込み駆動のメインループを含んでもよい。
【０１２０】
図20は、トランスコーディングを使用するマルチワイヤ通信インターフェース上のデータ通信のための方法を示すフローチャートである。この方法は、送信回路を使用して実施されてもよい。
【０１２１】
ブロック2002において、送信回路は、複数のコネクタを介して送信すべき複数のビットを供給してもよい。複数のビットは、EDCを含んでもよい。EDCは、既定値と固定長とを有してもよい。EDCは、エラー検出に使用されてもよい。
【０１２２】
ブロック2004において、送信回路は、複数のビットを遷移数に変換してもよい。遷移数は、考えられるシンボル当たり状態の最大数に基づく記数法を使用して表されてもよい。
【０１２３】
ブロック2006において、遷移回路は、遷移数を複数のコネクタ上のシンボルのシーケンスとして送信してもよい。
【０１２４】
いくつかの例では、送信回路は、遷移数の数字およびシンボルのシーケンスにおける前のシンボルを使用してシンボルのシーケンスにおける各シンボルを生成してもよい。いくつかの例では、クロック情報は、シンボルのシーケンス内の連続するシンボル間の遷移内に埋め込まれる。
【０１２５】
EDCは、シンボルのシーケンスにおける1つまたは2つのシンボルが送信時に変更されるときに変更されてもよい。シンボルのシーケンス内の1つまたは複数のシンボルに影響を与える送信エラーによって、EDCは、レシーバにおいて復号されるときに、既定値とは異なる値を有する場合がある。
【０１２６】
いくつかの例では、EDCは、いくつかの最下位ビットとして与えられる。最下位ビットの数は、複数のコネクタ上のデータ送信を符号化するのに利用可能なシンボル当たり状態の総数に基づいて決定されてもよい。
【０１２７】
一例では、各遷移において利用可能な状態の総数は3であり、データワードごとに16個以下のシンボルが送信されるときにEDCは8ビットを含む。シンボルのシーケンスが17個以上のシンボルを含み、利用可能な状態の数が3であるとき、EDCは9ビットを含んでもよい。
【０１２８】
別の例では、各遷移において利用可能な状態の総数は5であり、データワードごとに7個以下のシンボルが送信されるときにEDCは10ビットを含む。
【０１２９】
図21は、処理回路2102を利用する装置2100のためのハードウェア実装形態の一例を示す概念図である。この例では、処理回路2102は、バス2116によって概略的に表されるバスアーキテクチャを用いて実装されてもよい。バス2116は、処理回路2102の特定の適用例および全体的な設計制約に応じて、任意の数の相互接続するバスおよびブリッジを含んでもよい。バス2116は、プロセッサ2112によって概略的に表される1つまたは複数のプロセッサと、プロセッサ可読記憶媒体2114によって概略的に表されるコンピュータ可読媒体とを含む様々な回路を互いにリンクさせる。バス2116はまた、タイミングソース、タイマ、周辺装置、電圧調整器、および電力管理回路などの様々な他の回路をリンクさせてもよい。トランシーバまたは通信インターフェース2118は、マルチワイヤインターフェース2120を介して様々な他の装置と通信するための手段を構成する。また、装置の性質に応じて、ユーザインターフェース(たとえば、キーパッド、ディスプレイ、スピーカ、マイクロフォン、ジョイスティックなど)が設けられてもよい。1つまたは複数のクロック発生回路は、処理回路2102内に設けられるか、あるいは処理回路2102および/または1つもしくは複数のプロセッサ2112によって制御される場合がある。一例では、クロック発生回路は、1つもしくは複数の水晶発振器、1つもしくは複数の位相ロックループデバイス、および/または、1つもしくは複数の構成可能なクロックツリーを含む場合がある。
【０１３０】
プロセッサ2112は、バス2116を管理することと、プロセッサ可読記憶媒体2114上に記憶されたソフトウェアの実行を含む一般的な処理とを担う。ソフトウェアは、プロセッサ2112によって実行されたときに、処理回路2102に、任意の特定の装置に対して上記で説明した様々な機能を実行させる。プロセッサ可読記憶媒体2114は、ソフトウェアを実行するとき、プロセッサ2112によって操作されるデータを記憶するために使用されてよい。
【０１３１】
一構成では、処理回路は、EDCを含むデータワードを遷移数として符号化するための1つまたは複数のモジュールおよび/または回路2104と、得るべき遷移数に基づいてシンボルのシーケンスを生成するための1つまたは複数のモジュールおよび/または回路2106と、マルチワイヤインターフェース2120のシグナリング状態においてシンボルのシーケンスを送信するための1つまたは複数のモジュールおよび/または回路2108とを含んでもよい。
【０１３２】
図22は、トランスコーディングを使用するマルチワイヤ通信インターフェース上のデータ通信のための方法を示すフローチャートである。この方法は、受信回路を使用して実施されてもよい。
【０１３３】
ブロック2202において、受信回路は、複数のコネクタからシンボルのシーケンスを受信してもよい。いくつかの例では、クロック情報は、シンボルのシーケンス内の連続するシンボル間の遷移内に埋め込まれる。
【０１３４】
ブロック2204において、受信回路は、シンボルのシーケンスを遷移数に変換してもよい。遷移数の各数字は、複数のコネクタ上で送信される2つの連続するシンボル間の遷移を表す場合がある。遷移数は、複数のコネクタ上で送信された一対の連続するシンボル間の考えられるシンボル遷移の最大数に基づく記数法を使用して表されてもよい。
【０１３５】
ブロック2206において、受信回路は、遷移数を複数のビットに変換することができる。
【０１３６】
ブロック2208において、受信回路は、複数のビットに含まれるEDCの値に基づいてシンボルのシーケンスの送信時にシンボルエラーが発生したかどうかを判定してもよい。EDCは、複数のコネクタ上のデータ送信を符号化するために定義されたシンボル当たり状態の総数に基づいて決定された既定値および長さを有してもよい。場合によっては、1つまたは複数のシンボルエラーによって、EDCの復号バージョンが既定値とは異なる値を有する場合がある。
【０１３７】
いくつかの例では、EDCは、複数のビットにおける既定数の最下位ビットとして与えられてもよい。既定数のLSBは、複数のコネクタ上のデータ送信を符号化するのに利用可能なシンボル当たり状態の総数に基づいて決定されてもよい。既定数のLSBは、データワードを符号化するのに使用されるシンボルの総数に基づいて決定されてもよい。
【０１３８】
複数のコネクタは、いくつか(N個)のシングルエンドコネクタを含んでもよく、データ送信を符号化するのに利用可能なシンボル当たり状態の総数は2N-xであり、この場合、xは少なくとも1である。
【０１３９】
一例では、各遷移において利用可能な状態の総数は3であり、EDCは8ビットを含む。各遷移において利用可能な状態の総数が3であり、かつシンボルのシーケンスが17個以上のシンボルを含むとき、EDCは9ビットを含んでもよい。
【０１４０】
別の例では、各遷移において利用可能な状態の総数は5であってもよく、EDCは10ビットを含んでもよい。各遷移において利用可能な状態の総数が5であり、かつシンボルのシーケンスが8つ以上のシンボルを含むとき、EDCは11ビットを含んでもよい。
【０１４１】
図23は、処理回路2302を利用する装置2300のためのハードウェア実装形態の一例を示す概念図である。この例では、処理回路2302は、バス2316によって概略的に表されるバスアーキテクチャを用いて実装されてもよい。バス2316は、処理回路2302の特定の適用例および全体的な設計制約に応じて、任意の数の相互接続するバスおよびブリッジを含んでもよい。バス2316は、プロセッサ2312によって概略的に表される1つまたは複数のプロセッサ、およびプロセッサ可読記憶媒体2314によって概略的に表されるコンピュータ可読媒体を含む様々な回路を互いにリンクさせる。バス2316はまた、タイミングソース、タイマ、周辺装置、電圧調整器、および電力管理回路などの様々な他の回路をリンクさせてもよい。トランシーバまたは通信インターフェース2318は、マルチワイヤインターフェース2320を介して様々な他の装置と通信するための手段を構成する。また、装置の性質に応じて、ユーザインターフェース(たとえば、キーパッド、ディスプレイ、スピーカ、マイクロフォン、ジョイスティックなど)が設けられてもよい。1つまたは複数のクロック発生回路は、処理回路2302内に設けられるか、あるいは処理回路2302および/または1つもしくは複数のプロセッサ2312によって制御される場合がある。一例では、クロック発生回路は、1つもしくは複数の水晶発振器、1つもしくは複数の位相ロックループデバイス、および/または、1つもしくは複数の構成可能なクロックツリーを含む場合がある。
【０１４２】
プロセッサ2312は、バス2316を管理することと、プロセッサ可読記憶媒体2314上に記憶されたソフトウェアの実行を含む一般的な処理とを担う。ソフトウェアは、プロセッサ2312によって実行されるとき、処理回路2302に、任意の特定の装置の上記で説明した様々な機能を実行させる。プロセッサ可読記憶媒体2314は、ソフトウェアを実行するときにプロセッサ2312によって操作されるデータを記憶するために使用される場合がある。
【０１４３】
一構成では、処理回路は、マルチワイヤインターフェース2320からシンボルのシーケンスを受信するための1つまたは複数のモジュールおよび/または回路2304と、シンボルのシーケンスから遷移数を生成するための1つまたは複数のモジュールおよび/または回路2306と、遷移数からデータワードを復号するための1つまたは複数のモジュールおよび/または回路2308と、遷移数から復号されたEDCを使用してシンボルエラーを検出するための1つまたは複数のモジュールおよび/または回路2310とを含んでもよい。
【０１４４】
本明細書で開示した実施形態に関連して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両者の組合せとして実装されてもよいことが当業者には諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に説明するために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップについて、上記では概してそれらの機能に関して説明した。そのような機能性がハードウェアとして実装されるか、ソフトウェアとして実装されるかは、特定の用途およびシステム全体に課せられる設計制約によって決まる。
【０１４５】
本明細書で説明する本発明の様々な特徴は、本発明から逸脱することなく、異なるシステム内で実装されてもよい。上記の実施形態は例にすぎず、本発明を限定するものと解釈すべきではないことに留意されたい。実施形態の説明は例示的なものであり、特許請求の範囲を限定するものではない。したがって、本教示は、他のタイプの装置に容易に適用することができ、多数の代替、修正、および変形が当業者には明らかであろう。
【符号の説明】
【０１４６】
100  装置
102  処理回路
106  通信トランシーバ
108  ASIC
110  API
112  メモリデバイス
114  ローカルデータベース
122  アンテナ
124  ディスプレイ
126  キーパッド
128  ボタン
200  装置
202  ICデバイス
204  ワイヤレストランシーバ
206  プロセッサ
208  記憶媒体
210  符号化デバイス
212  バス
214  アンテナ
220  通信リンク
222  第1の通信チャネル
224  第2の通信チャネル
226  第3の通信チャネル
230  第2のICデバイス
232  ディスプレイコントローラ
234  カメラコントローラ
236  プロセッサ
238  記憶媒体
242  バス
300  n-ワイヤインターフェース
302  トランスミッタ
304  データビット
306  トランスコーダ
310  差動ラインドライバ
312  送信クロック
314  ワイヤ
316  終端ネットワーク
318  中心点
320  レシーバ
322  ラインレシーバ
324  CDR
326  デシリアライザ
328  トランスコーダ
330  出力データ
334  受信クロック信号
400  トランスミッタ
402  データ
404  第1の変換器
406  エンコーダ
408  ラインドライバ
414  遷移数
416  シンボル
418  信号ワイヤ
420  レシーバ
422  回路
424  トランスコーダ
426  ラインレシーバ
428  CDR
430  出力データ
432  遷移数
434  キャプチャされたシンボル
436  受信された未加工シンボル
438  受信クロック
500  符号化方式
502  シンボル順序付けサークル
506  回転の方向
520  テーブル
522  前のシンボル
524  現在のシンボル
526  遷移数
602  シンボル
604  遷移数
702  シンボル順序付けサークル
704  遷移
802  シンボル
804a  Symbol-0
804b  Symbol-1
804c  Symbol-2
804d  Symbol-3
804e  Symbol-4
804f  Symbol-5
806  シンボル順序付けサークル
808  第1の遷移数
810  第2の遷移数
812  第1のシンボル
814  第2のシンボル
816  第3のシンボル
902  送信ワード
904  シンボル
906  遷移数
910  シンボル
912  データワード
914  EDC
916  最初に送信されたシンボル
918  誤ったシンボル
920  第1の遷移数
922  第2の遷移数
926  EDC
1002  シンボル
1004  シンボル
1006  復号遷移サークル
1008  第1のシンボル
1010  第2のシンボル
1012  第3のシンボル
1014  誤ったシンボル
1014  X'シンボル
1016  第1の正しい遷移数
1018  単一のシンボルエラー
1020  第1の誤った遷移数
1022  第2の誤った遷移数
1024  正しい遷移数
1100  第1のテーブル
1104  LSB
1200  テーブル
1206  LSB
1402  最後に送信されたシンボル
1404  変更されたシンボル
1406  遷移数
1408  単一の遷移数
1422  最後に送信されたシンボル
1424  変更されたシンボル
1426  遷移数
1502  シンボル
1504  影響を受ける第1のシンボル
1506  シンボル
1508  遷移エラー
1510  遷移エラー
1512  遷移数
1514  遷移数
1516  遷移数
1518  遷移数
1602  シンボル
1604  連続するシンボル
1606  連続するシンボル
1608  遷移エラー
1610  誤った遷移数
1612  誤った遷移数
1614  誤った遷移数
1800  トランスミッタ
1802  データワード
1804  EDC挿入回路
1806  第1のエンコーダ
1808  第2のエンコーダ
1810  通信トランシーバ
1814  拡張されたデータワード
1816  遷移数
1818  シンボル
1820  シリアルバス
1840  レシーバ
1842  第2のデコーダ
1844  第1のデコーダ
1846  通信トランシーバ
1848  CDR
1850  出力データワード
1852  遷移数
1854  キャプチャされたシンボル
1856  未加工シンボル
1858  受信クロック信号
1860  信号
1862  EDCワード
1864  エラー検出回路
1902  処理回路
1904  プロセッサ
1906  ストレージ
1908  バスインターフェース
1910  バス
1912  トランシーバ
1914  ランタイムイメージ
1916  ソフトウェアモジュール
1918  ユーザインターフェース
1920  時分割プログラム
1922  論理回路
2100  装置
2102  処理回路
2104  モジュールおよび/または回路
2106  モジュールおよび/または回路
2108  モジュールおよび/または回路
2112  プロセッサ
2114  プロセッサ可読記憶媒体
2116  バス
2118  通信インターフェース
2120  マルチワイヤインターフェース
2300  装置
2302  処理回路
2304  モジュールおよび/または回路
2312  プロセッサ
2314  プロセッサ可読記憶媒体
2316  バス
2318  通信インターフェース
2320  マルチワイヤインターフェース
S0  次のシンボル
S1  送信シンボル
S2  直前のシンボル
【図１】
2018501706.tif 000006
【図２】
2018501706.tif 000007
【図３】
2018501706.tif 000008
【図４】
2018501706.tif 000009
【図５】
2018501706.tif 000010
【図６】
2018501706.tif 000011
【図７】
2018501706.tif 000012
【図８】
2018501706.tif 000013
【図９】
2018501706.tif 000014
【図１０】
2018501706.tif 000015
【図１１】
2018501706.tif 000016
【図１２】
2018501706.tif 000017
【図１３】
2018501706.tif 000018
【図１４】
2018501706.tif 000019
【図１５】
2018501706.tif 000020
【図１６】
2018501706.tif 000021
【図１７】
2018501706.tif 000022
【図１８】
2018501706.tif 000023
【図１９】
2018501706.tif 000024
【図２０】
2018501706.tif 000025
【図２１】
2018501706.tif 000026
【図２２】
2018501706.tif 000027
【図２３】
2018501706.tif 000028
【国際調査報告】
2018501706.tif 000029
2018501706.tif 000030
2018501706.tif 000031