(57)【要約】  特に、電子装置内の2つのデバイス間でマルチワイヤデータ通信リンクを介してデータの送信を容易にするシステム、方法および装置について説明する。データペイロードは遷移数のセットに変換され得、遷移数はシンボルのシーケンスに変換され得、誤り訂正符号(ECC)はシンボルのシーケンス中のシンボルから計算され得る。ECCはデータペイロードに対応し、ECCは、遷移数のセットがECCに対応する遷移数を含むように、データペイロードに付加され得る。次いで、シンボルのシーケンスは、複数の信号ワイヤ上で送信される。クロック情報は、シンボルのシーケンス中で符号化される。クロック情報は、シンボルのシーケンス中の連続したシンボルの各ペアが複数の信号ワイヤ上の異なるシグナリング状態を生成する2つのシンボルを含むことを保証することによって、符号化され得る。
2017513307.tif 000002
【特許請求の範囲】
【請求項１】
データ通信の方法であって、
データペイロードを遷移数のセットに変換するステップと、
前記遷移数のセットをシンボルのシーケンスに変換するステップと、
前記データペイロードに対応する前記シンボルのシーケンス中のシンボルから誤り訂正符号を計算するステップと、
前記遷移数のセットが前記誤り訂正符号に対応する遷移数を含むように、前記誤り訂正符号を前記データペイロードに付加するステップと、
複数の信号ワイヤ上で前記シンボルのシーケンスを送信するステップと
を含む方法。
【請求項２】
前記遷移数のセットを前記シンボルのシーケンスに変換するステップが、
現在のシンボルに対する次のシンボルを選択するために遷移数を使用するステップを含み、前記遷移数の値が、利用可能なシンボルのテーブルにおける前記現在のシンボルと前記次のシンボルの分離を表す、
請求項1に記載の方法。
【請求項３】
前記シンボルのシーケンス中でクロック情報を符号化するステップをさらに含み、前記クロック情報が、前記シンボルのシーケンス中の連続したシンボルの各ペアが前記複数の信号ワイヤ上の異なるシグナリング状態を生成する2つのシンボルを含むことを保証することによって、符号化される、
請求項1に記載の方法。
【請求項４】
前記誤り訂正符号を計算するステップが、
前記複数の信号ワイヤ上で送信される複数の信号の各々について誤り訂正符号を計算するステップであって、前記複数の信号が、前記シンボルのシーケンスに対応する、ステップと、
前記複数の信号の前記各々についての前記誤り訂正符号を前記データペイロードに付加するステップと
を含む、請求項1に記載の方法。
【請求項５】
前記複数の信号の前記各々が、前記シンボルのシーケンス中の各シンボル中のビットに対応する、請求項4に記載の方法。
【請求項６】
前記複数の信号ワイヤが、カメラ制御インターフェースCCI拡張(CCIe)バスにおいて提供される、請求項1に記載の方法。
【請求項７】
前記データペイロードが、2つのCCIeワードを含む、請求項6に記載の方法。
【請求項８】
前記シンボルのシーケンスを送信するステップが、
前記複数の信号ワイヤから選択された2つの信号ワイヤの異なる組合せの上で搬送される差動信号上で前記シンボルのシーケンス中の各シンボルを送信するステップ
を含む、請求項1に記載の方法。
【請求項９】
前記差動信号の各々が、前記各シンボルのビットに対応し、前記誤り訂正符号を計算するステップが、
差動信号ごとに誤り訂正符号を計算するステップを含み、
前記遷移数のセットが複数の誤り訂正符号に対応する遷移数を含むように、前記複数の誤り訂正符号が前記データペイロードに付加される、
請求項8に記載の方法。
【請求項１０】
データペイロードを遷移数のセットに変換するための手段と、
前記遷移数のセットをシンボルのシーケンスに変換するための手段と、
前記データペイロードに対応する前記シンボルのシーケンス中のシンボルから誤り訂正符号を計算するための手段と、
前記遷移数のセットが前記誤り訂正符号に対応する遷移数を含むように、前記誤り訂正符号を前記データペイロードに付加するための手段と、
複数の信号ワイヤ上で前記シンボルのシーケンスを送信するための手段と
を備える装置。
【請求項１１】
Nワイヤインターフェース上で複数の信号を送信するように構成された複数のラインドライバと、
処理回路とを備え、前記処理回路が、
データペイロードを遷移数のセットに変換し、
前記遷移数のセットをシンボルのシーケンスに変換し、
前記データペイロードに対応する前記シンボルのシーケンス中のシンボルから誤り訂正符号を計算し、
前記遷移数のセットが前記誤り訂正符号に対応する遷移数を含むように、前記誤り訂正符号を前記データペイロードに付加し、
複数の信号ワイヤ上で前記シンボルのシーケンスを送信する
ように構成される、トランスミッタ。
【請求項１２】
前記処理回路が、現在のシンボルに対する次のシンボルを選択するために遷移数を使用することによって、前記遷移数のセットを前記シンボルのシーケンスに変換するように構成され、前記遷移数の値が、利用可能なシンボルのテーブルにおける前記現在のシンボルと前記次のシンボルの分離を表す、請求項11に記載のトランスミッタ。
【請求項１３】
前記処理回路が、
前記シンボルのシーケンス中でクロック情報を符号化するように構成され、
前記クロック情報が、前記シンボルのシーケンス中の連続したシンボルの各ペアが前記複数の信号ワイヤ上の異なるシグナリング状態を生成する2つのシンボルを含むことを保証することによって、符号化される、
請求項11に記載のトランスミッタ。
【請求項１４】
前記処理回路が、
前記複数の信号ワイヤ上で送信される複数の信号の各々について誤り訂正符号を計算することであって、前記複数の信号が、前記シンボルのシーケンスに対応する、計算することと、
前記複数の信号の前記各々についての前記誤り訂正符号を前記データペイロードに付加することと
を行うように構成される、請求項11に記載のトランスミッタ。
【請求項１５】
前記複数の信号の前記各々が、前記シンボルのシーケンス中の各シンボルのビットに対応する、請求項14に記載のトランスミッタ。
【請求項１６】
前記複数の信号ワイヤが、カメラ制御インターフェースCCI拡張(CCIe)バスにおいて提供される、請求項11に記載のトランスミッタ。
【請求項１７】
前記処理回路が、前記複数の信号ワイヤから選択された2つの信号ワイヤの異なる組合せの上で搬送される差動信号上で前記シンボルのシーケンス中の各シンボルを送信することによって、前記シンボルのシーケンスを送信するように構成される、請求項11に記載のトランスミッタ。
【請求項１８】
前記差動信号の各々が、前記各シンボルのビットに対応し、前記処理回路が、
差動信号ごとに誤り訂正符号を計算するように構成され、
前記遷移数のセットが複数の誤り訂正符号に対応する遷移数を含むように、前記複数の誤り訂正符号が前記データペイロードに付加される、
請求項17に記載のトランスミッタ。
【請求項１９】
少なくとも1つの処理回路によって実行されると、前記少なくとも1つの処理回路に、
データペイロードを遷移数のセットに変換させ、
前記遷移数のセットをシンボルのシーケンスに変換させ、
前記データペイロードに対応する前記シンボルのシーケンス中のシンボルから誤り訂正符号を計算させ、
前記遷移数のセットが前記誤り訂正符号に対応する遷移数を含むように、前記誤り訂正符号を前記データペイロードに付加させ、
複数の信号ワイヤ上で前記シンボルのシーケンスを送信させる
1つまたは複数の命令を有するプロセッサ可読記憶媒体。
【請求項２０】
データ通信の方法であって、
複数の信号ワイヤからシンボルのシーケンスを受信するステップと、
前記シンボルのシーケンス中の複数のシンボルから第1の誤り訂正符号を計算するステップであって、前記複数のシンボルが、前記シンボルのシーケンス中で搬送されるデータペイロードに対応する、ステップと、
前記シンボルのシーケンスを遷移数のセットに変換するステップと、
前記データペイロードおよび第2の誤り訂正符号を含むデータパケットを取得するために前記遷移数のセットを変換するステップであって、前記第2の誤り訂正符号が、前記シンボルのシーケンスのトランスミッタによって計算されている、ステップと、
前記第1の誤り訂正符号と前記第2の誤り訂正符号の比較に基づいて、1つまたは複数の誤りが前記シンボルのシーケンス中に存在するかどうかを判断するステップと、
前記データペイロードをレシーバ出力データとして提供するステップと
を含む方法。
【請求項２１】
前記第1の誤り訂正符号および前記第2の誤り訂正符号を使用して前記シンボルのシーケンス中の少なくとも1つの誤りを訂正するステップ
をさらに含む、請求項20に記載の方法。
【請求項２２】
前記シンボルのシーケンスを前記遷移数のセットに変換するステップが、
利用可能なシンボルのテーブルにおける現在のシンボルおよび直前のシンボルのオカレンス間の分離を表す値として遷移数を導出するステップ
を含む、請求項20に記載の方法。
【請求項２３】
前記シンボルのシーケンスから受信クロックを抽出するステップをさらに含み、クロック情報が、前記シンボルのシーケンス中のシンボルに関連付けられたシグナリング状態の変化に埋め込まれ、前記シンボルのシーケンス中の連続したシンボルの各ペアが、前記複数の信号ワイヤ上の異なるシグナリング状態に関連付けられた2つのシンボルを含む、
請求項20に記載の方法。
【請求項２４】
前記第1の誤り訂正符号を計算するステップが、
前記シンボルのシーケンスから複数の第1の誤り訂正符号を計算するステップを含み、各誤り訂正符号が、前記シンボルのシーケンスの各シンボル中のビットに対応する、
請求項20に記載の方法。
【請求項２５】
1つまたは複数の誤りが前記シンボルのシーケンス中に存在するかどうかを判断するステップが、
前記複数の第1の誤り訂正符号の各々を、前記データパケットに付加された対応する第2の誤り訂正符号と比較するステップ
を含む、請求項24に記載の方法。
【請求項２６】
前記複数の信号ワイヤが、カメラ制御インターフェースCCI拡張(CCIe)バスにおいて提供される、請求項20に記載の方法。
【請求項２７】
前記データペイロードが、2つのCCIeワードを含む、請求項26に記載の方法。
【請求項２８】
前記シンボルのシーケンス中の各シンボルが、前記複数の信号ワイヤから選択された2つの信号ワイヤの異なる組合せの上で搬送される差動信号のセットとして受信される、請求項20に記載の方法。
【請求項２９】
前記差動信号のセット中の各差動信号が、前記各シンボルのビットに対応し、前記第1の誤り訂正符号を計算するステップが、
差動信号ごとに誤り訂正符号を計算するステップ
を含む、請求項28に記載の方法。
【請求項３０】
複数の信号ワイヤからシンボルのシーケンスを受信するための手段と、
前記シンボルのシーケンス中の複数のシンボルから第1の誤り訂正符号を計算するための手段であって、前記複数のシンボルが、前記シンボルのシーケンス中で搬送されるデータペイロードに対応する、手段と、
前記シンボルのシーケンスを遷移数のセットに変換するための手段と、
前記データペイロードおよび第2の誤り訂正符号を含むデータパケットを取得するために前記遷移数のセットを変換するための手段であって、前記第2の誤り訂正符号が、前記シンボルのシーケンスのトランスミッタによって計算されている、手段と、
前記第1の誤り訂正符号と前記第2の誤り訂正符号の比較に基づいて、1つまたは複数の誤りが前記シンボルのシーケンス中に存在するかどうかを判断するための手段と、
前記データペイロードをレシーバ出力データとして提供するための手段と
を備える装置。
【請求項３１】
処理回路を備え、前記処理回路が、
複数の信号ワイヤからシンボルのシーケンスを受信することと、
前記シンボルのシーケンス中の複数のシンボルから第1の誤り訂正符号を計算することであって、前記複数のシンボルが、前記シンボルのシーケンス中で搬送されるデータペイロードに対応する、計算することと、
前記シンボルのシーケンスを遷移数のセットに変換することと、
前記データペイロードおよび第2の誤り訂正符号を含むデータパケットを取得するために前記遷移数のセットを変換することであって、前記第2の誤り訂正符号が、前記シンボルのシーケンスのトランスミッタによって計算されている、変換することと、
前記第1の誤り訂正符号と前記第2の誤り訂正符号の比較に基づいて、1つまたは複数の誤りが前記シンボルのシーケンス中に存在するかどうかを判断することと、
前記データペイロードをレシーバ出力データとして提供することと
を行うように構成される、レシーバ。
【請求項３２】
前記処理回路が、
前記第1の誤り訂正符号および前記第2の誤り訂正符号を使用して前記シンボルのシーケンス中の少なくとも1つの誤りを訂正する
ように構成される、請求項31に記載のレシーバ。
【請求項３３】
前記処理回路が、利用可能なシンボルのテーブルにおける現在のシンボルおよび直前のシンボルのオカレンス間の分離を表す値として遷移数を導出することによって、前記シンボルのシーケンスを前記遷移数のセットに変換するように構成される、請求項31に記載のレシーバ。
【請求項３４】
前記処理回路が、
前記シンボルのシーケンスから受信クロックを抽出するように構成され、クロック情報が、前記シンボルのシーケンス中のシンボルに関連付けられたシグナリング状態の変化に埋め込まれ、前記シンボルのシーケンス中の連続したシンボルの各ペアが、前記複数の信号ワイヤ上の異なるシグナリング状態に関連付けられた2つのシンボルを含む、
請求項31に記載のレシーバ。
【請求項３５】
前記処理回路が、前記シンボルのシーケンスから複数の第1の誤り訂正符号を計算することによって、前記第1の誤り訂正符号を計算するように構成され、各誤り訂正符号が、前記シンボルのシーケンスの各シンボル中のビットに対応する、請求項31に記載のレシーバ。
【請求項３６】
前記処理回路が、
前記複数の第1の誤り訂正符号の各々を、前記データパケットに付加された対応する第2の誤り訂正符号と比較する
ことによって、1つまたは複数の誤りが前記シンボルのシーケンス中に存在するかどうかを判断するように構成される、請求項35に記載のレシーバ。
【請求項３７】
前記複数の信号ワイヤが、カメラ制御インターフェースCCI拡張(CCIe)バスにおいて提供される、請求項31に記載のレシーバ。
【請求項３８】
前記シンボルのシーケンス中の各シンボルが、前記複数の信号ワイヤから選択された2つの信号ワイヤの異なる組合せの上で搬送される差動信号のセットとして受信される、請求項31に記載のレシーバ。
【請求項３９】
前記差動信号のセット中の各差動信号が、前記各シンボルのビットに対応し、前記処理回路が、差動信号ごとに誤り訂正符号を計算することによって、前記第1の誤り訂正符号を計算するように構成される、請求項38に記載のレシーバ。
【請求項４０】
少なくとも1つの処理回路によって実行されると、前記少なくとも1つの処理回路に、
複数の信号ワイヤからシンボルのシーケンスを受信することと、
前記シンボルのシーケンス中の複数のシンボルから第1の誤り訂正符号を計算することであって、前記複数のシンボルが、前記シンボルのシーケンス中で搬送されるデータペイロードに対応する、計算することと、
前記シンボルのシーケンスを遷移数のセットに変換することと、
前記データペイロードおよび第2の誤り訂正符号を含むデータパケットを取得するために前記遷移数のセットを変換することであって、前記第2の誤り訂正符号が、前記シンボルのシーケンスのトランスミッタによって計算されている、変換することと、
前記第1の誤り訂正符号と前記第2の誤り訂正符号の比較に基づいて、1つまたは複数の誤りが前記シンボルのシーケンス中に存在するかどうかを判断することと、
前記データペイロードをレシーバ出力データとして提供することと
を行わせる1つまたは複数の命令を有するプロセッサ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、内容全体が参照により本明細書に組み込まれる、2014年3月14日に米国特許商標庁に出願された、米国非仮特許出願第14/214,285号の優先権および利益を主張する。
【０００２】
本開示は、一般に、ホストプロセッサとカメラなどの周辺デバイスとの間のインターフェースに関し、より詳細には、N階乗またはカメラ制御通信インターフェースバス上での誤り訂正プロセスを改善することに関する。
【背景技術】
【０００３】
セルラー電話など、モバイルデバイスの製造業者は、モバイルデバイスの構成要素を、異なる製造業者を含む様々なソースから取得し得る。たとえば、セルラー電話におけるアプリケーションプロセッサは第1の製造業者から取得されることがあり、セルラー電話のディスプレイは第2の製造業者から取得されることがある。アプリケーションプロセッサおよびディスプレイまたは他のデバイスは、標準ベースのまたはプロプライエタリな物理インターフェースを使用して相互接続され得る。たとえば、ディスプレイは、モバイル業界プロセッサインターフェースアライアンス(MIPI)によって規定されたディスプレイシステムインターフェース(DSI)規格に準拠するインターフェースを提供し得る。
【０００４】
一例では、マルチ信号データ転送システムは、3相またはN階乗(N!)の低電圧差動シグナリング(LVDS)などのマルチワイヤ差動シグナリングを使用し得、トランスコーディング(たとえば、ある符号化タイプから別の符号化タイプへのデジタル対デジタルデータ変換)は、クロック情報を別個のデータレーン(差動伝送経路)の中で送る代わりにシンボルサイクルごとにシンボル遷移を発生させることによって、シンボルクロック情報を埋め込むように実行され得る。トランスコーディングによってクロック情報を埋め込むことは、クロックとデータ信号との間のスキューを最小限に抑えるための、ならびにクロック情報をデータ信号から復元するための位相ロックループ(PLL)の必要をなくすための効果的な方法である。
【０００５】
別の例では、MIPI規格によって定義されたカメラ制御インターフェース(CCI)は、マスタと1つまたは複数のスレーブとを接続するバスとして構成される、2ワイヤ、双方向、半二重のシリアルインターフェースを使用する。従来のCCIは、Inter-Integrated Circuit(I2C)バスの変形態で使用されるプロトコルと互換性があり、単一のマスタを用いて、バス上で複数のスレーブを扱うことが可能である。CCIバスは、シリアルクロック(SCL)ラインおよびシリアルデータ(SDA)ラインを含み得る。CCIデバイスおよびI2Cデバイスは、I2Cバスを伴う任意の通信がI2Cプロトコルを使用している間に、2つ以上のCCIデバイスがCCIプロトコルを使用して通信することができるように、同じバス上で展開され得る。CCI拡張(CCIe)バスは、CCIeバスの動作と互換性があるデバイスにより高いデータレートを提供するために使用され得る。そのようなデバイスはCCIeデバイスと呼ばれることがあり、CCIeデバイスは、従来のCCIバスのSCLラインとSDAラインの両方の上で送信されるシンボルとしてデータを符号化することによって、互いに通信するときにより高いデータレートを達成することができる。
【０００６】
マルチ信号ワイヤ通信リンク上のデータ転送の全般的かつ改善された信頼性において、最適化された通信に対する持続的な必要性が存在する。
【発明の概要】
【課題を解決するための手段】
【０００７】
本明細書で開示する実施形態は、マルチワイヤインターフェースに関するシステム、方法および装置を提供する。本開示の一態様では、データ通信の方法は、データペイロードを遷移数のセットに変換するステップと、遷移数のセットをシンボルのシーケンスに変換するステップと、データペイロードに対応するシンボルのシーケンス中のシンボルから誤り訂正符号(ECC)を計算するステップと、遷移数のセットがECCに対応する遷移数を含むように、ECCをデータペイロードに付加するステップと、複数の信号ワイヤ上でシンボルのシーケンスを送信するステップとを含む。
【０００８】
本開示の一態様では、遷移数のセットをシンボルのシーケンスに変換するステップは、現在のシンボルに対する次のシンボルを選択するために遷移数を使用するステップを含む。遷移数の値は、利用可能なシンボルのテーブルにおける現在のシンボルと次のシンボルの分離を表し得る。
【０００９】
本開示の一態様では、クロック情報はシンボルのシーケンス中で符号化される。クロック情報は、シンボルのシーケンス中の連続したシンボルの各ペアが複数の信号ワイヤ上の異なるシグナリング状態を生成する2つのシンボルを含むことを保証することによって、符号化され得る。
【００１０】
本開示の一態様では、誤り訂正符号は、複数の信号ワイヤ上で送信される複数の信号の各々について計算され得る。複数の信号は、シンボルのシーケンスに対応し得る。複数の信号について計算された誤り訂正符号は、データペイロードに付加され得る。複数の信号の各々は、シンボルのシーケンス中の各シンボル中のビットに対応し得る。
【００１１】
本開示の一態様では、複数の信号ワイヤは、CCIeバスにおいて提供される。データペイロードは、2つのCCIeワードを含み得る。
【００１２】
本開示の一態様では、シンボルのシーケンスを送信するステップは、複数の信号ワイヤから選択された2つの信号ワイヤの異なる組合せの上で搬送される差動信号上でシンボルのシーケンス中の各シンボルを送信するステップを含む。差動信号の各々は、各シンボルのビットに対応し得る。ECCは、差動信号ごとに誤り訂正符号を計算することによって計算され得る。一例では、誤り訂正ロジックは、シンボルのシーケンスごとに各差動信号において1つの誤りを訂正することができる。
【００１３】
本開示の一態様では、データ通信のための装置は、データペイロードを遷移数のセットに変換するための手段と、遷移数のセットをシンボルのシーケンスに変換するための手段と、データペイロードに対応するシンボルのシーケンス中のシンボルからECCを計算するための手段と、遷移数のセットがECCに対応する遷移数を含むように、ECCをデータペイロードに付加するための手段と、複数の信号ワイヤ上でシンボルのシーケンスを送信するための手段とを含む。
【００１４】
本開示の一態様では、遷移数のセットを変換するための手段は、シンボルのシーケンス中の連続したシンボルの各ペアが複数の信号ワイヤ上の異なるシグナリング状態を生成する2つのシンボルを含むことを保証することによって、シンボルのシーケンス中のクロック情報を符号化するように構成される。
【００１５】
本開示の一態様では、トランスミッタは、Nワイヤインターフェース上で複数の信号を送信するように構成された複数のラインドライバと、データペイロードを遷移数のセットに変換し、遷移数のセットをシンボルのシーケンスに変換し、データペイロードに対応するシンボルのシーケンス中のシンボルからECCを計算し、遷移数のセットが誤り訂正符号に対応する遷移数を含むように、ECCをデータペイロードに付加し、複数の信号ワイヤ上でシンボルのシーケンスを送信するように構成された処理回路とを含む。
【００１６】
本開示の一態様では、プロセッサ可読記憶媒体は、その上に記憶された1つまたは複数の命令を有する。命令は、処理回路によって実行されると、処理回路に、データペイロードを遷移数のセットに変換させ、遷移数のセットをシンボルのシーケンスに変換させ、データペイロードに対応するシンボルのシーケンス中のシンボルからECCを計算させ、遷移数のセットがECCに対応する遷移数を含むように、ECCをデータペイロードに付加させ、複数の信号ワイヤ上でシンボルのシーケンスを送信させる。
【００１７】
本開示の一態様では、データ通信の方法は、複数の信号ワイヤからシンボルのシーケンスを受信するステップと、シンボルのシーケンス中の複数のシンボルから第1のECCを計算するステップであって、複数のシンボルが、シンボルのシーケンス中で搬送されるデータペイロードに対応する、ステップと、シンボルのシーケンスを遷移数のセットに変換するステップと、データペイロードおよび第2のECCを含むデータパケットを取得するために遷移数のセットを変換するステップであって、第2のECCが、シンボルのシーケンスのトランスミッタによって計算されている、ステップと、第1のECCと第2のECCの比較に基づいて、1つまたは複数の誤りがシンボルのシーケンス中に存在するかどうかを判断するステップと、データペイロードをレシーバ出力データとして提供するステップとを含む。
【００１８】
本開示の一態様では、シンボルのシーケンス中の少なくとも1つの誤りは、第1のECCおよび第2のECCを使用して訂正される。シンボル中の異なるビットについて計算される第1のECCおよび第2のECCならびに/または異なる信号について計算される第1のECCおよび第2のECCは、シンボルのシーケンス中で符号化され、送信され得る。したがって、シンボルのシーケンス中で複数の誤りが訂正され得る。たとえば、複数の第1のECCおよび第2のECCは、シンボルの異なるビットに対応する2つ以上の信号が各々、単一の誤りを有するとき、シンボルのシーケンス中で発生する複数の誤りを訂正するために使用され得る。
【００１９】
本開示の一態様では、シンボルのシーケンスは、利用可能なシンボルのテーブルにおける現在のシンボルおよび直前のシンボルのオカレンス間の分離を表す値として遷移数を導出することによって、遷移数のセットに変換される。
【００２０】
本開示の一態様では、受信クロックはシンボルのシーケンスから抽出される。クロック情報は、シンボルのシーケンス中のシンボルに関連付けられたシグナリング状態の変化に埋め込まれ得る。シンボルのシーケンス中の連続したシンボルの各ペアは、複数の信号ワイヤ上の異なるシグナリング状態に関連付けられた2つのシンボルを含み得る。
【００２１】
本開示の一態様では、複数の第1の誤り訂正符号は、シンボルのシーケンスから計算され得る。各誤り訂正符号は、シンボルのシーケンスの各シンボル中のビットに対応し得る。複数の第1の誤り訂正符号の各々を、データパケットに付加された対応する第2の誤り訂正符号と比較することによって、1つまたは複数の誤りがシンボルのシーケンス中に存在するかどうかが判断され得る。複数の信号のうちの個々の信号中の誤りは、第1の誤り訂正符号と対応する第2の誤り訂正符号の比較に基づいて検出または訂正され得る。一例では、ワード当たりのシンボル当たりの信号当たりの1つの誤りが訂正され得る。
【００２２】
本開示の一態様では、複数の信号ワイヤは、CCIeバスにおいて提供される。データペイロードは、2つのCCIeワードを含み得る。
【００２３】
本開示の一態様では、シンボルのシーケンス中の各シンボルは、複数の信号ワイヤから選択された2つの信号ワイヤの異なる組合せの上で搬送される差動信号のセットとして受信される。差動信号のセット中の各差動信号は、各シンボルのビットに対応する。第1のECCは、差動信号ごとにECCを計算することによって計算され得る。
【００２４】
本開示の一態様では、装置は、複数の信号ワイヤからシンボルのシーケンスを受信するための手段と、シンボルのシーケンス中の複数のシンボルから第1のECCを計算するための手段であって、複数のシンボルが、シンボルのシーケンス中で搬送されるデータペイロードに対応する、手段と、シンボルのシーケンスを遷移数のセットに変換するための手段と、データペイロードおよび第2のECCを含むデータパケットを取得するために遷移数のセットを変換するための手段であって、第2のECCが、シンボルのシーケンスのトランスミッタによって計算されている、手段と、第1のECCと第2のECCの比較に基づいて、1つまたは複数の誤りがシンボルのシーケンス中に存在するかどうかを判断するための手段と、データペイロードをレシーバ出力データとして提供するための手段とを含む。一例では、ワード当たりのシンボル当たりの信号当たりの1つの誤りが訂正され得る。
【００２５】
本開示の一態様では、装置は、シンボルのシーケンスから受信クロックを抽出するための手段を含む。クロック情報は、シンボルのシーケンス中のシンボルに関連付けられたシグナリング状態の変化に埋め込まれ得る。シンボルのシーケンス中の連続したシンボルの各ペアは、複数の信号ワイヤ上の異なるシグナリング状態に関連付けられた2つのシンボルを含み得る。
【００２６】
本開示の一態様では、レシーバは、複数の信号ワイヤからシンボルのシーケンスを受信することと、シンボルのシーケンス中の複数のシンボルから第1のECCを計算することであって、複数のシンボルが、シンボルのシーケンス中で搬送されるデータペイロードに対応する、計算することと、シンボルのシーケンスを遷移数のセットに変換することと、データペイロードおよび第2のECCを含むデータパケットを取得するために遷移数のセットを変換することであって、第2のECCが、シンボルのシーケンスのトランスミッタによって計算されている、変換することと、第1のECCと第2のECCの比較に基づいて、1つまたは複数の誤りがシンボルのシーケンス中に存在するかどうかを判断することと、データペイロードをレシーバ出力データとして提供することとを行うように構成された処理回路を含む。
【００２７】
本開示の一態様では、プロセッサ可読記憶媒体は、その上に記憶または維持された1つまたは複数の命令を有する。命令は、少なくとも1つの処理回路によって実行されると、少なくとも1つの処理回路に、複数の信号ワイヤからシンボルのシーケンスを受信することと、シンボルのシーケンス中の複数のシンボルから第1のECCを計算することであって、複数のシンボルが、シンボルのシーケンス中で搬送されるデータペイロードに対応する、計算することと、シンボルのシーケンスを遷移数のセットに変換することと、データペイロードおよび第2のECCを含むデータパケットを取得するために遷移数のセットを変換することであって、第2のECCが、シンボルのシーケンスのトランスミッタによって計算されている、変換することと、第1のECCと第2のECCの比較に基づいて、1つまたは複数の誤りがシンボルのシーケンス中に存在するかどうかを判断することと、データペイロードをレシーバ出力データとして提供することとを行わせ得る。
【図面の簡単な説明】
【００２８】
【図１】複数の利用可能な規格のうちの1つに従って選択的に動作する、ICデバイス間のデータリンクを使用する装置を示す図である。
【図２】ICデバイス間のデータリンクを使用する装置のシステムアーキテクチャを示す図である。
【図３】基本的なN!マルチレーンインターフェースの一例を示す図である。
【図４】N!通信インターフェースにおいて使用され得るCDR回路を示す図である。
【図５】本明細書で開示する1つまたは複数の態様による、図3のCDR回路によって生成されたいくつかの信号のタイミングを示す図である。
【図６】CCIeデータリンクを使用する装置の一例を示す図である。
【図７】クロック情報がN個のワイヤを介して送信されるシンボルのシーケンスに埋め込まれるマルチワイヤインターフェースの動作を示す図である。
【図８】本明細書で開示するいくつかの態様による、データをトランスコードするための符号化方式を示す図である。
【図９】クロック情報がN個のワイヤを介して送信されるシンボルのシーケンスに埋め込まれるマルチワイヤインターフェースにおける、従来の誤り訂正を示す図である。
【図１０】図9に示すものと同様の符号化方式を使用するCCIeシステムにおける単一シンボル誤りの影響を示すテーブルである。
【図１１】送信されるシンボルにクロック情報を埋め込むマルチワイヤインターフェースにおいて前方誤り訂正方式が使用され得る、本明細書で開示する1つまたは複数の態様による、一般化された前方誤り訂正方式を示す図である。
【図１２】本明細書で開示する1つまたは複数の態様による、N!インターフェースにおいて使用される前方誤り訂正方式の一例を示す図である。
【図１３】ECC情報が付加されるカメラシリアルインターフェースパケットヘッダの一例を示す図である。
【図１４】本明細書で開示する1つまたは複数の態様による、CCIeインターフェースにおいて使用され得る誤り訂正方式の一例を示す図である。
【図１５】Nワイヤ通信リンク上のトランスミッタにおいて実装されるデータ通信のための方法を示すフローチャートである。
【図１６】送信装置のためのハードウェア実装形態の簡略化された例を示す図である。
【図１７】Nワイヤ通信リンク上のレシーバにおいて実装されるデータ通信のための方法を示すフローチャートである。
【図１８】Nワイヤ通信リンク上の受信装置のためのハードウェア実装形態の簡略化された例を示す図である。
【発明を実施するための形態】
【００２９】
次に、図面を参照しながら様々な態様について説明する。以下の説明では、説明の目的で、1つまたは複数の態様の完全な理解を与えるために多数の具体的な詳細を記載する。しかしながら、そのような態様がこれらの具体的な詳細なしに実践され得ることは明らかであろう。
【００３０】
本出願で使用する「構成要素」、「モジュール」、「システム」などの用語は、限定はしないが、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアなどのコンピュータ関連のエンティティを含むものとする。たとえば、構成要素は、限定はしないが、プロセッサ上で実行されているプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラムおよび/またはコンピュータであってもよい。例として、コンピューティングデバイス上で実行されているアプリケーションとコンピューティングデバイスの両方が構成要素であってもよい。1つまたは複数の構成要素は、プロセスおよび/または実行スレッド内に存在することができ、構成要素は、1つのコンピュータ上に局在化され、かつ/または2つ以上のコンピュータ間で分散されてもよい。加えて、これらの構成要素は、様々なデータ構造を記憶する様々なコンピュータ可読媒体から実行することができる。構成要素は、ローカルシステム内、分散システム内の別の構成要素と対話し、および/または、インターネットなどのネットワークを介して他のシステムと信号によって対話する1つの構成要素からのデータなど、1つまたは複数のデータパケットを有する信号などに従うローカルプロセスおよび/またはリモートプロセスによって通信することができる。
【００３１】
さらに、「または」という用語は、排他的な「または」ではなく、包括的な「または」を意味するものとする。すなわち、別段に規定されていない限り、または文脈から明白でない限り、「XはAまたはBを使用する」という句は、自然包括的並べ替えのいずれかを意味するものとする。すなわち、「XはAまたはBを使用する」という句は、以下の場合のいずれかによって満たされる。XはAを使用する。XはBを使用する。またはXはAとBの両方を使用する。加えて、本出願および添付の特許請求の範囲で使用する冠詞「a」および「an」は、別段に規定されていない限り、または単数形を対象とすることが文脈から明白でない限り、概して「1つまたは複数の」を意味するものと解釈すべきである。
【００３２】
本発明のいくつかの態様は、電話、モバイルコンピューティングデバイス、アプライアンス、自動車用電子機器、アビオニクスシステムなどの、モバイル装置の下位構成要素である電子デバイス間で展開される通信リンクに適用可能であり得る。モバイル装置の例は、セルラー電話、スマートフォン、セッション開始プロトコル(SIP)電話、ラップトップ、ノートブック、ネットブック、スマートブック、携帯情報端末(PDA)、衛星ラジオ、全地球測位システム(GPS)デバイス、マルチメディアデバイス、ビデオデバイス、デジタルオーディオプレーヤ(たとえば、MP3プレーヤ)、カメラ、ゲームコンソール、ウェアラブルコンピューティングデバイス(たとえば、スマートウォッチ、ヘルスもしくはフィットネストラッカーなど)、アプライアンス、センサー、自動販売機、または任意の他の同様の機能デバイスを含む。
【００３３】
図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であり、ここで、装置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は順方向リンク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にデータを通信するときにより低いデータレートで動作することができる。
【００３６】
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によって容易にされ得る。
【００３７】
逆方向リンク224は、順方向リンク222と同じ様式で操作され得、順方向リンク222および逆方向リンク224は、同等の速度でまたは異なる速度で送信することが可能であり得、ここで、速度はデータ転送レートおよび/またはクロックレートとして表され得る。順方向および逆方向のデータレートは、適用例に応じて桁が実質的に同じであるかまたは桁が異なることがある。いくつかの適用例では、単一の双方向リンク226は、第1のICデバイス202と第2のICデバイス230との間の通信をサポートし得る。順方向リンク222および/または逆方向リンク224は、たとえば、順方向リンク222および逆方向リンク224が同じ物理接続を共有し、半二重様式で動作するとき、双方向モードで動作するように構成可能であり得る。一例では、通信リンク220は、業界規格または他の規格に従って第1のICデバイス202と第2のICデバイス230との間で制御情報、コマンド情報および他の情報を通信するように操作され得る。
【００３８】
一例では、順方向リンク222および逆方向リンク224は、ディスプレイリフレッシュのために810Mbpsでピクセルデータを配信する、フレームバッファなしで毎秒80フレームのLCDドライバICの、ワイドビデオグラフィックスアレイ(WVGA)をサポートするように構成または適合され得る。別の例では、順方向リンク222および逆方向リンク224は、ダブルデータレート同期型ダイナミックランダムアクセスメモリ(SDRAM)などのダイナミックランダムアクセスメモリ(DRAM)との通信を可能にするように構成または適合され得る。符号化デバイス210および/または240は、クロック遷移ごとに複数のビットを符号化することができ、ワイヤの複数のセットは、SDRAMからのデータ、制御信号、アドレス信号などを送信および受信するために使用され得る。
【００３９】
順方向リンク222および逆方向リンク224は、特定用途向け業界規格に適合し得るか、または準拠し得る。一例では、MIPI規格は、アプリケーションプロセッサICデバイス202と、モバイルデバイス内のカメラまたはディスプレイをサポートするICデバイス230との間の物理レイヤインターフェースを定義する。MIPI規格は、モバイルデバイス用のMIPI仕様に適合する製品の動作特性を支配する仕様を含む。MIPI規格は、相補型金属酸化物半導体(CMOS)並列バスを使用するインターフェースを定義し得る。
【００４０】
一例では、図2の通信リンク220は、(N個のワイヤとして示す)複数の信号ワイヤを含むワイヤードバスとして実装され得る。N個のワイヤは、シンボル中で符号化されたデータを搬送するように構成され得、ここで、クロック情報は、複数のワイヤを介して送信されるシンボルのシーケンスに埋め込まれる。
【００４１】
図3は、2つのデバイス302と332との間に設けられた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において、トランスコーダ330は、たとえば、ルックアップテーブルにおける連続した未加工のシンボルのペアの間の差を特徴づける遷移数を決定するためのマッピングを使用し得る。トランスコーダ306、330は、未加工のシンボルのあらゆる連続したペアが2つの異なるシンボルを含むことに基づいて動作する。
【００４４】
トランスミッタ302におけるトランスコーダ306は、あらゆるシンボル遷移において利用可能なN!-1個のシンボルから選択し得る。一例では、4!システムは、各シンボル遷移において送信されるべき次のシンボルに4!-1=23通りのシグナリング状態を与える。ビットレートは、送信クロックサイクルごとにlog2(available_ states)として計算され得る。ダブルデータレート(DDR)クロックを使用し、それによって、送信クロック312の立上りエッジと立下りエッジの両方でシンボル遷移が発生するシステムでは、2つのシンボルは送信クロックサイクルごとに送信される。送信クロックサイクルにおける利用可能な全状態は(NC2-1)2=(23)2=529通りであり、シンボル当たり送信され得るデータビット304の数はlog2(529)=9.047ビットとして計算され得る。
【００４５】
受信デバイス320は、ラインレシーバ322のセットを使用してシンボルのシーケンスを受信し、ここで、ラインレシーバ322のセットにおける各レシーバは、N個のワイヤ314のうちの1つのペア上でのシグナリング状態の差を決定する。したがって、NC2個のレシーバが使用され、ここで、Nはワイヤの数を表す。NC2個のレシーバ322は、対応する数の未加工のシンボルを出力として生成する。図示のN=4のワイヤの例では、4つのワイヤ314上で受信される信号は、対応するCDR324およびデシリアライザ326に与えられる状態遷移信号を生成するために、6つのレシーバ(4C2=6)によって処理される。CDR324は、デシリアライザ326によって使用され得る受信クロック信号334を生成し得る。受信クロック信号334は、トランスコーダ328によって与えられるデータを受信するために外部回路によって使用され得るDDRクロック信号であり得る。トランスコーダ328は、各次のシンボルをその直前のものと比較することによって、デシリアライザ326から受信されたシンボルのブロックを復号する。トランスコーダ328は、トランスミッタ302に与えられる、データ304に対応する出力データ330を生成する。
【００４６】
図4は、N!符号化を使用するNワイヤシステムにおいて埋め込まれたクロック情報を復元するために使用され得るCDR回路400の一例を示す。図示のCDR回路400は、他の符号化技法とともに使用するために適合され得、たとえば、本明細書で説明する原理のいくつかはCCIeインターフェースにも関する。図5は、CDR回路400の動作を介して生成されるいくつかの信号を示すタイミング図である。
【００４７】
N!インターフェースでは、Nワイヤ408から受信された信号は最初に、いくつか(NC2個)のレシーバ402によって処理され、レシーバ402は、対応する数の未加工の信号を出力として生成する。図示の例では、N=4のワイヤ408は、受信されたシンボルを表す6つの未加工の信号を含む第1の状態遷移信号(SI信号)420を生成する4C2=6つのレシーバ402によって処理される。各異なるレシーバから出力される未加工の信号ごとに、シンボルS0 502、シンボルS1 504およびシンボルS2 506の間に設けられるセットアップタイム508があり得、その間は、対応する信号の状態は未定義、不確定、過渡的またはさもなければ不安定である。レベルラッチ410、比較器404、セットリセットラッチ406、ワンショット回路426、アナログ遅延要素412および(バス接続された)レベルラッチ410は、SI信号420の遅延されたインスタンスを表すレベルラッチ信号(S信号)422を生成するように構成され得、ここで、更新されたS信号422を与えるためにSI信号420がレベルラッチによってキャプチャされる前の遅延は、遅延要素(遅延S)412を構成することによって選択され得る。
【００４８】
動作の際、比較器404は、SI信号420をS信号422と比較し、バイナリ比較信号(NE信号)414を出力する。セットリセットラッチ406は、比較器404からNE信号414を受信し、NE信号414のフィルタリングされたバージョンである信号(NEFLT信号)416を出力し得る。セットリセットラッチ406の動作は、NE信号414におけるいかなる過渡的な不安定性も取り除くように構成され得、ここで、過渡的な不安定性は、NE信号414におけるスパイク510として示される。NEFLT信号416は、S信号422を出力データ信号428としてキャプチャする出力ラッチ424を制御するために使用され得る。
【００４９】
ワンショット回路426は、NEFLT信号416を受信し、固定幅パルス512を生成し、次いで、固定幅パルス512は、遅延要素412によって遅延されて、クロック信号(SDRCLK)418を生成し得る。場合によっては、SDRCLK信号418は、CDR400のデータ出力428をサンプリングするために外部回路によって使用され得る。一例では、SDRCLK信号418は、デコーダまたはデシリアライザ回路に与えられ得る。レベルラッチ410は、SI信号420を受信し、S信号422を出力し、ここで、レベルラッチ410は、SDRCLK信号418によってトリガされるかまたはさもなければ制御される。
【００５０】
動作の際、比較器404は、SI信号420をレベルラッチ410から出力されるS信号422と比較する。比較器404は、SI信号420とS信号422が等しいとき、NE信号414を第1の状態(たとえば、ロジックロー(logic low))に駆動し、SI信号420とS信号422が等しくないとき、第2の状態(たとえば、ロジックハイ(logic high))に駆動する。SI信号420およびS信号422が異なるシンボルを表すとき、NE信号414は第2の状態にある。したがって、第2の状態は遷移が発生していることを示す。
【００５１】
タイミング図500から諒解され得るように、S信号422は事実上、SI信号420の遅延されフィルタリングされたバージョンであり、SI信号420において、SI信号420とS信号422との間の遅延514により、過渡信号(transient)またはグリッチ508は除去されている。SI信号420における複数の過渡信号508は、NE信号414におけるスパイク510として反映され得るが、これらのスパイク510は、セットリセット回路の動作を通じてNEFLT信号416からマスクされる。さらに、SDRCLK信号418は、フィードバック経路においてレベルラッチ410およびセットリセット回路406に与えられる遅延426a、412の使用に基づいたシンボル遷移におけるラインスキューおよびグリッチに対して耐性があり、それによって、SDRCLK信号418は、セットリセット回路406のリセット機能を制御する。
【００５２】
第1のシンボル値S0 502と次のシンボル値S1 504との間の遷移の開始516において、SI信号420は状態を変化させ始める。SI信号420の状態は、S0 502とS1 504との間の遷移中に中間状態または不確定状態508が発生する可能性があるために、S1 504とは異なり得る。これらの中間状態または不確定状態508は、たとえば、ワイヤ間スキュー、オーバーシュート/アンダーシュート、クロストークなどによって引き起こされ得る。
【００５３】
NE信号414は、比較器404がSI信号420とS信号422との間の値の差を検出するとすぐにハイになり、NE信号414の遷移ハイは、セットリセットラッチ406出力を非同期的に設定し、NEFLT信号416をハイに駆動する。NEFLT信号416は、セットリセットラッチ406がSDRCLK信号418のハイ状態によってリセットされるまで、そのハイ状態に維持される。SDRCLK信号418はNE1SHOT信号424の遅延されたバージョンであり、NE1SHOT信号424はNEFLT信号416の制限パルス幅バージョンである。SDRCLK信号418は、たとえば、アナログ遅延回路412を使用することにより、NE1SHOT信号424に対して遅延され得る。
【００５４】
SI信号420上の中間状態または不確定状態508は、無効なデータを表し得る。これらの中間状態または不確定状態508は、前のシンボル値S0 502の短い期間を含む場合があり、短い時間期間にわたってNE信号414をローに戻らせる場合がある。SI信号420の遷移は、NE信号414上でスパイク510を生成する場合がある。スパイク510は事実上除去され、NEFLT信号416には現れない。
【００５５】
NEFLT信号416のハイ状態は、遅延回路412によって引き起こされる遅延期間440の後、SDRCLK信号418をハイに遷移させる。SDRCLK信号418のハイ状態は、セットリセットラッチ406出力をリセットし、NEFLT信号416をロー状態に遷移させる。SDRCLK信号418のハイ状態はまた、レベルラッチ410をイネーブルにし、SI信号420の値がS信号410上で出力され得る。
【００５６】
比較器404は、(シンボルS1 502に対する)S信号422がSI信号420上に存在するシンボルS1 502の値と一致することを検出し、その出力(NE信号414)をローに切り替える。NEFLT信号416のロー状態は、アナログ遅延412によって引き起こされる遅延期間442の後、SDRCLK信号418をローにさせる。このサイクルは、SI信号420における遷移ごとに繰り返す。SDRCLK信号418の立下りエッジの後の時間において、新しいシンボルS2 506が受信される場合があり、次のシンボルS2 506に従ってSI信号420にその値を切り替えさせる場合がある。
【００５７】
図6は、CCIe動作用に構成される通信バス630を使用する装置600のいくつかの態様を示すブロック概略図である。装置600は、CCIeバス630を使用して通信する複数のデバイス602、620および622a〜622nを含み得る。一例では、イメージングデバイス602は、CCIeバス630上でスレーブデバイスとして動作するように構成される。イメージングデバイス602は、たとえば、イメージセンサーを管理する制御機能604を提供するように適合され得る。加えて、イメージングデバイス602は、構成レジスタまたは他のストレージ606と、制御ロジック612と、トランシーバ610と、ラインドライバ/レシーバ614aおよび614bとを含み得る。制御ロジック612は、状態機械、シーケンサ、信号プロセッサまたは汎用プロセッサなどの処理回路を含み得る。
【００５８】
トランシーバ610は、レシーバ610aと、トランスミッタ610cと、タイミング、ロジックおよびストレージ回路および/またはデバイスを含む共通回路610bとを含み得る。一例では、トランスミッタ610cは、クロック生成回路608によって与えられるタイミングに基づいて、データを符号化および送信する。センサーデバイス602は通常、125MHz以上のクロックを必要としないか、または使用しないので、従来のイメージングデバイス602は、デバイス602がCCIeバス630の指示されたビットレートを達成することを可能にするのに十分なほど高い周波数を有するクロックにアクセスできない場合がある。しかしながら、本明細書で開示するいくつかの態様によれば、レシーバ610aは、高周波クロックの必要性をなくし、それによってアイドル期間中に電力を節約することができるアナログ遅延回路を使用して、受信された送信から直接クロック信号を生成することによって、CCIeバスから受信クロックを抽出するように構成または適合され得る。
【００５９】
図7は、本明細書で開示するいくつかの態様に従って構成されたトランスミッタ700およびレシーバ720を示す簡略ブロック図である。トランスミッタ700およびレシーバ720は、N!およびCCIeを含む様々な符号化技法とともに使用するために適合され得る。トランスミッタ700は、データ702を遷移数714に変換するように構成された第1の変換器704を含む。遷移数714は、現在のシンボルの値に基づいて、送信するための次のシンボルを選択するために使用され得、ここで、次のシンボルは現在のシンボルとは異なる。第2の変換器706は、遷移数を受信し、適切に構成されたラインドライバ708を使用して、インターフェース上で送信するためのシンボルのシーケンスを生成する。連続したシンボルのペアは2つの同一のシンボルを含まないので、シグナリング状態の遷移は、あらゆるシンボル遷移においてインターフェースの信号ワイヤ718のうちの少なくとも1つで発生する。レシーバ720において、ラインレシーバ726のセットは未加工のシンボル(SI)736をCDR728に与え、CDR728は受信クロック738を抽出し、キャプチャされたシンボル(S)734を回路に与え、回路はキャプチャされたシンボル734を遷移数732に変換する。遷移数は回路722によって復号されて、出力データ730を提供し得る。
【００６０】
CCIeシステムの例では、トランスミッタ700は、データ710を3進(3進(base-3))遷移数714にトランスコードするように構成または適合され得る。遷移数714は、図6に示すSCL616ワイヤおよびSDA618ワイヤに対応し得る信号ワイヤ718上で送信されるべきシンボルのシーケンス716中で符号化され得る。入力データ702の各データ要素は、20ビットワードを含み得る。トランスコーダ704は、入力データ702を受信し、データ要素ごとに3進数714のシーケンスを生成し得る。3進数714は2ビットで符号化され得、各3進シーケンス712中に12個の3進数714があり得る。エンコーダ706は、ラインドライバ708を通じて送信される2ビットシンボル716のストリームを生成する。一例では、ラインドライバ708は、オープンドレイン出力トランジスタを含み得る。別の例では、ラインドライバ708は、プッシュプルドライバを含み得る。エンコーダによって生成された2ビットシンボル716の出力ストリームは、連続したシンボルのペアが2つの同一のシンボルを含まないことを保証することによって、連続したシンボル716の各ペアの間の信号ワイヤ718のうちの少なくとも1つの状態における遷移を有する。信号ワイヤのうちの少なくとも1つにおける状態の遷移の可用性により、受信回路720がデータシンボル716のストリームから受信クロック738を抽出することが可能になる。
【００６１】
CCIeシステムでは、レシーバ720は、未加工の2ビットシンボル736のストリームをCDR728に与えるラインインターフェース回路726を含む。CDR728は、未加工のシンボル736から受信クロック738を抽出し、2ビットシンボル734のストリームおよび受信クロック738をレシーバ720の他の回路722および724に与える。場合によっては、CDR728は、その出力738において複数のクロックを生成し得る。デコーダ724は、受信クロック738を使用して、シンボル734のストリームを12個の3進数732のシーケンスに復号することができる。3進数732は、2ビットを使用して符号化され得る。次いで、トランスコーダ722は、12個の3進数732の各シーケンスを20ビットの出力データ要素730に変換することができる。
【００６２】
図8は、CCIeインターフェース上で送信するためのシンボルのシーケンス716を生成するように構成されたトランスコーダ704によって使用される符号化方式800を示す図である。符号化方式800は例として与えられ、CCIeバス718から受信されたシンボルからデータを抽出するためにトランスコーダ724によっても使用される。CCIe符号化方式800では、CCIeバス718の2つのワイヤにより、4つの基本シンボルS:{0, 1, 2, 3}の定義が可能になる。シンボルのシーケンス716、734における任意の2つの連続したシンボルは異なる状態を有し、シンボルシーケンス0,0、1,1、2,2、および3,3は、連続したシンボルの無効な組合せである。したがって、各シンボル境界において3つのみの有効なシンボル遷移が利用可能であり、ここで、シンボル境界は送信クロックによって決定され、第1のシンボル(前のシンボルPs)822が終了し、第2のシンボル(現在のシンボルCs)824が開始するポイントを表す。
【００６３】
本明細書で開示するいくつかの態様によれば、3つの利用可能な遷移には、Psシンボル822ごとに遷移数(T)826が割り当てられる。T826の値は、3進数によって表され得る。一例では、遷移数826の値は、符号化方式用のシンボル順序付けサークル802を割り当てることによって決定される。シンボル順序付けサークル802は、4つの可能なシンボル用のサークル802上のロケーション804a〜804d、およびロケーション804a〜804dの間の回転の方向806を割り振る。図示の例では、回転の方向806は時計回りである。遷移数826は、有効な現在のシンボル824と直前のシンボル822の分離を表し得る。分離は、前のシンボル822から現在のシンボルCs824に到達するために必要なシンボル順序付けサークル802上の回転の方向806に沿ったステップの数として定義され得る。ステップの数は、単一の桁の3進(base-3)数として表され得る。シンボル間の3ステップの差分は、0base-3として表され得ることが諒解されよう。図8のテーブル820は、この手法を使用する符号化方式をまとめたものである。
【００６４】
トランスミッタ700において、前に生成されたシンボル822、および遷移数826として使用される入力3進数を知ると、テーブル820は、送信されるべき現在のシンボル824をルックアップするために使用され得る。レシーバ720において、テーブル820は、前に受信されたシンボル822と現在受信されたシンボル824との間の遷移を表す遷移数826を決定するためのルックアップとして使用され得る。遷移数826は、3進数として出力され得る。
【００６５】
クロック情報をシンボルのシーケンスに埋め込むトランスコーダの使用は、トランスミッタ700によって受信されるデータ702を、信号ワイヤ718上で送信されるシンボルのシーケンス716から関連付け解除することができる。したがって、少なくとも1つの前に送信されたシンボルを考慮することなしに、受信された未加工のシンボル736を復号して、対応する送信データビット702を取得することができない。この関連付け解除は、従来の誤り訂正技法を無効にする場合がある。たとえば、従来のシステムは、誤り訂正符号(ECC)をデータ702に付加する場合があり、ここで、ECCは、入力データ702の所定のブロックサイズまたはパケット長から計算される。ECCは、送信中の誤りの発生を識別および/または訂正するために使用され得、ここで、誤りは、1つまたは複数のビット誤りを含み得る。
【００６６】
図9は、クロック情報がN個のワイヤ920を介して送信されるシンボルのシーケンスに埋め込まれる、マルチワイヤインターフェースの動作の一般化された例を示す。トランスミッタ900において、ECC生成器916は、マルチワイヤインターフェース上で送信されるべきデータビット902(データペイロードまたは送信データ902とも呼ばれる)からECC918を生成する。送信データ902は、パケット、1つもしくは複数のワードおよび/または何らかの他のビットの構成として編成され得る。一例では、送信データ902は、MIPI規格に従って与えられる固定数のビットを含み得る。
【００６７】
ECC918は、前方誤り訂正(FEC)に使用され得る任意の適切なアルゴリズムまたは技法を使用して生成され得る。FECは、レシーバ930が、N個のワイヤ920上で送信されるシンボルの1つまたは複数のビットに影響を及ぼす場合があるいくつかの送信誤りを訂正するのを可能にする。送信誤りは、雑音またはクロストーク、他の電磁干渉などにより発生し得る。トランスミッタ900は、ECC918を送信データ902に付加してデータパケット912を取得するモジュールまたは回路904を含み得る。データパケット912は、送信データ902、ECC918、および送信クロック914に関するクロック情報を符号化するシンボルのシーケンスを取得するためにトランスコードされ得る。一例では、トランスミッタ900は、データパケットを遷移数916に変換する第1の変換器906と、遷移数916をラインドライバ910を使用してN個のワイヤ920を介して送信され得るシンボルのシーケンス922に変換する第2の変換器908とを含み得る。
【００６８】
レシーバ930において、CDR934は、ラインレシーバ932を使用してN個のワイヤ920から受信された信号中の未加工のシンボルのシーケンス942からシンボル944および受信クロック930を抽出するために与えられる。第1の変換器936は、シンボルのシーケンス944を遷移数946に変換し得る。遷移数946は、第2の変換器938によって変換されて、受信されたデータパケット948を与える。受信されたデータパケット948は、受信されたデータパケット948中のデータビットからレシーバECC952を生成するECC生成回路またはモジュール950に与えられる。誤り検出および/または訂正回路またはモジュール940は、レシーバECC952を、トランスミッタ900中のECC生成器916によって生成されたECC918に対応する受信されたパケットECC948のビットと比較し得る。誤り訂正回路940は、受信されたデータ954として出力されるべき送信データ902の信頼できるコピーを生成するために、ECC918および952を使用して、受信されたパケットECC948における誤りを訂正しようとし得る。
【００６９】
ハミング符号は、ECC生成器916および950を構成するために使用され得る。ハミング符号は、少なくとも単一ビット誤りを訂正することができるブロックパリティ方式を提供し、送信されたデータパケット912ごとに2ビット誤りを確実に検出するために使用される。ハミング規則は、2ビット誤りを正確に検出し、単一ビット誤りを訂正することを可能にするために必要とされる、ECC918、952中のパリティまたは誤り検査ビットの数を計算するために使用され得る。ハミング規則は、
d+p+1≦2Pとして表され得、ここで、
dは、送信データ902中のビットの数であり、
pは、ECC918、952中のビットの数である。
【００７０】
図9に示す例では、受信されたシンボル942中の1つまたは複数の誤りとして示される送信誤りは、トランスミッタ900が送信データ902とともにクロック情報914を送信されるシンボルのシーケンス922に埋め込むとき、受信されたデータパケット948中の対応する数の影響を受けたビットに対して直接関連がない場合がある。場合によっては、N!またはCCIeマルチシンボルワード上で発生する単一シンボル誤りは、逆方向トランスコーディングの後に複数のビット誤りを生じさせることがある。たとえば、図10のテーブル1000は、図9に示すものと同様の符号化方式を使用するCCIeシステムにおける単一シンボル誤りの影響を示す。テーブルの第1の行1002は、すべてのビットをロジック「0」(値=0)に設定した20ビットの2進数を符号化する、12シンボルシーケンスS11…S0={0, 3, 2, 1, 0, 3, 2, 1, 0, 3, 2, 1}の誤りのない送信および復号を示す。残りの行は、誤った受信されたシンボル1004(丸で囲まれた)の遷移数1006に対する影響、復号された16進値1008に生じた誤り、および対応する復号されたビット1010を示す。単一の送信誤りは、送信データ902から直接計算されたECC916に基づいた誤り訂正方式を無効にし得る複数のビット誤りをもたらし得ることがテーブル1000からわかる。
【００７１】
本明細書で開示するいくつかの態様は、クロック情報をシンボルのシーケンスに埋め込むN!インターフェース、CCIeインターフェースおよび他のインターフェースとともにより確実に使用され得る誤り検出および/または訂正方式を提供する。たとえば、ECCは、マルチワイヤ通信リンク上で送信されるべきシンボル値から計算され得る。したがって、1つまたは複数のシンボル誤りは、ECCを使用してレシーバにおいて訂正され得る。
【００７２】
図11は、送信クロック1114に関するクロック情報を送信されるシンボル1118に埋め込むマルチワイヤインターフェースにおいて使用されるFEC方式の一般化された例を示す。
【００７３】
トランスミッタ1100は、ECCビット1124を送信データ1102に付加して送信データパケット1122を取得するように構成された結合ロジック1104を含む。第1の変換器1106は、送信データパケット1122を遷移数1116に変換し、遷移数1116は、第2の変換器1108によってシンボルのシーケンス1118に変換される。シンボルのシーケンス1118は、適切に構成されたラインドライバ1110を使用してN個のワイヤ1120上で送信される。ECC生成回路1112は、送信データ1102を符号化するシンボルのシーケンス1118中の値に基づいて、ECCビット1124を生成する。送信データパケット1122に付加されるECCビット1124は、N個のワイヤ1120上でシンボルのシーケンス1118において送信されるシンボル中で符号化される。
【００７４】
レシーバ1130において、CDR1134は、ラインレシーバ1132を使用してN個のワイヤ1120から受信された未加工のシンボルのシーケンス1152からシンボル1154および受信クロック1156を抽出するために与えられる。抽出されたシンボル1154は、ECC生成ロジック1142および誤り訂正ロジック1136に与えられる。ECC生成ロジック1142は、受信されたシンボル1154からレシーバECC1146を生成する。誤り訂正ロジック1136は、レシーバECC1146を受信されたシンボル1154から復号されたECCワード1144と比較し得る。したがって、誤り訂正ロジック1136は、受信されたシンボル1154中の誤りを検出および/または訂正し得る。第1の変換器1138は、誤り訂正ロジック1136から受信された訂正されたシンボルから遷移数1148を生成し得る。次いで、これらの遷移数1148は、第2の変換器1140によって変換されて、受信されたデータ1150を与え得る。
【００７５】
図12は、N!インターフェースにおいて使用され得るFEC方式の一例を示す。この例では、3!インターフェースが与えられ、それによって、トランスミッタ1200は、3ワイヤリンク1220におけるワイヤの異なるペア1220a、1220b、1220cを駆動するために3つの差動ラインドライバ1212のセットを使用するように構成される。トランスミッタ1200は、ECC情報1218を送信データ1202に付加することによってトランスミッタデータパケット1222を形成するパケット生成器1204を含む。トランスコーディング回路1206、1208は、3!インターフェース上で送信するために、トランスミッタデータパケット1222をシンボルのシーケンス1214に変換する。本例では、3つのシリアライザ1210の各々は、1ビットの3ビットシンボル1214をシリアル化するように構成される。シリアライザ1210の出力は、差動ラインドライバ1212に与えられ、差動ラインドライバ1212の各々は、3!インターフェース1220における3つのワイヤの1つのペア1220a、1220b、1220cを駆動する。
【００７６】
ECC生成器1216は、シンボルのシーケンス1214からECC情報1218を計算する。ECC情報1216を符号化するために使用されるビットの数は、ハミング規則、d+p+1≦2Pに従って計算され得る。図13は、ECC情報1310が24ビットのカメラシリアルインターフェース(CSI2)パケットヘッダ1304に付加される一例を示す。ここで、CSI2パケットヘッダ1304は、長さがd=24ビットである。したがって、1ビット誤り訂正および2ビット誤り検出を可能にするにはp+25≦2Pであり、p≧5の任意の値はハミング規則を満たす。ワイヤのペア1220ごとのECC情報1218は、合計で24ビットとなる3つの8ビットワードで送信され得る。
【００７７】
この後者の例では、ECC情報1310は、3!インターフェース上で送信される差動信号ごとに計算されるECC1310a、1310b、1310cを含む。たとえば、3つのワイヤはA、BおよびCと標識され得、3つの差動信号1220a、1220bおよび1220cは、それぞれ、利用可能なペアAB、BCおよびCAを介して送信され得る。この例では、ECC1310a、1310b、1310cの各々は、8ビットの長さを有する。24ビットのCSI2パケットヘッダ1304およびECC情報1310は、3つの7シンボルのシーケンス1314、1316および1318中で送信され得る。
【００７８】
レシーバ1240は、差動レシーバ1244を使用して3つのシンボルのシーケンス1314、1316および1318を受信し得る。3つのデシリアライザ1246のセットは、3つのシンボルのシーケンス1314、1316および1318の各々に対応する7シンボル1262のセットを与える。レシーバ1240は、トランスミッタECC1218を抽出するために、7シンボル1248の3つのセットの各々を処理し得、レシーバECC情報1264を独立して生成し得る。したがって、ECC生成器1254は、7シンボル1248の3つのセットのうちの2つで見出され得るCSI2パケットヘッダ1304を符号化するシンボルからレシーバECC情報1264を生成するように構成され得る。同時に、ECC符号情報1310を搬送するシンボルは、トランスミッタECC情報1218に対応する復号されたECC1256を取得するために復号される。ECC符号情報1310を搬送するシンボルは、7シンボル1248の3つのセットのうちの2つで見出され得る。誤り訂正ロジック1250は、レシーバECC情報1264を復号されたトランスミッタECC情報1256と比較し、CSI2パケットヘッダ1304を符号化する7シンボル1248の3つのセットのうちの2つにおけるビット誤りを識別および/または訂正するように構成され得る。誤り訂正ロジック1250の出力は、レシーバ出力データ1260として提供される。
【００７９】
図14は、CCIeインターフェースにおいて使用され得る誤り訂正方式の一例を示す図である。この例では、トランスミッタ1400は、ワイヤのペア1420を介してラインドライバのペア1418によって送信される信号中で2ビットシンボルを送信するように構成される。トランスミッタ1400は、ECC情報1422を送信データ1402に付加することによってトランスミッタデータパケット1416を形成するパケット生成器1404を含む。トランスコーディング回路1406、1408は、2つのワイヤ1420上で送信するために、トランスミッタデータパケット1416をシンボルのシーケンス1414に変換する。
【００８０】
ECC生成器1410は、シンボルのシーケンス1414からECC情報1422を計算する。ECC情報1422を符号化するために使用されるビットの数は、ハミング規則、d+p+1≦2Pに従って計算され得る。一例では、ECC情報1422は、単一の12ビットCCIeワードについて計算され、したがって、1ビット誤り訂正および2ビット誤り検出を可能にするにはp+13≦2Pであり、p≧5の任意の値はハミング規則を満たす。別の例では、ECC情報1422は、2つの12ビットCCIeワードについて計算され、1ビット誤り訂正および2ビット誤り検出を可能にするにはp+25≦2Pであり、やはり、p≧5の任意の値はハミング規則を満たす。したがって、ECC情報を単一ワード送信よりも2ワード送信に加えるほうがより効率的であり得る。
【００８１】
レシーバ1430は、ラインレシーバ1432を使用してワイヤのペア1420からシンボル1414を受信し得る。CDR1434は、ラインレシーバ1432によって受信された未加工のシンボル1442から受信クロック1448およびシンボルのシーケンス1444を与え得る。シンボルのシーケンス1444は、誤り訂正ロジック1436およびECC生成器1452に与えられる。誤り訂正ロジック1436は、ECC生成器1452によって与えられたECCを、シンボルのシーケンス1444から復号されたトランスミッタECC1422のバージョン1456と比較し得る。この比較に基づいて、誤り訂正ロジック1436は、シンボルのシーケンス1444中のビット誤りを識別および/または訂正し得る。誤り訂正ロジック1436の出力は、レシーバ出力データ1450を生成するためにトランスコーダロジック1438、1440に与えられ得る。
【００８２】
図15は、Nワイヤ通信リンク上でのデータ通信のための方法を示すフローチャート1500である。通信リンクは、N!符号化、CCIe符号化、マルチフェーズ符号化、マルチワイヤ差動符号化などの適切な符号化方式を使用して符号化されたシンボルを搬送する複数のコネクタを含み得る。コネクタは、導電性ワイヤ、光信号導体、半導体相互接続などを含み得る。方法は、送信デバイスの1つまたは複数のプロセッサによって実行され得る。
【００８３】
ステップ1502において、データペイロードは遷移数のセットに変換される。
【００８４】
ステップ1504において、遷移数のセットはシンボルのシーケンスに変換される。遷移数のセットは、現在のシンボルに対する次のシンボルを選択するために遷移数を使用することによって、シンボルのシーケンスに変換され得る。遷移数の値は、利用可能なシンボルのテーブルにおける現在のシンボルと次のシンボルの分離を表し得る。
【００８５】
ステップ1506において、ECCは、データペイロードに対応するシンボルのシーケンス中のシンボルから計算される。
【００８６】
ステップ1508において、ECCは、遷移数のセットがECCに対応する遷移数を含むように、データペイロードに付加される。
【００８７】
本明細書で開示するいくつかの態様によれば、誤り訂正符号は、複数の信号ワイヤ上で送信される複数の信号の各々について計算され得る。複数の信号は、シンボルのシーケンスに対応し得る。複数の信号について計算された誤り訂正符号は、データペイロードに付加され得る。複数の信号の各々は、シンボルのシーケンス中の各シンボル中のビットに対応し得る。
【００８８】
本明細書で開示するいくつかの態様によれば、シンボル中の異なるビットについて計算されるおよび/またはシンボルのシーケンスを用いて符号化される複数の信号について計算されるECCは、シンボルのシーケンス中の複数の誤りを訂正するために使用され得る。たとえば、複数のECCは、シンボルの異なるビットに対応する2つ以上の信号が各々、単一の誤りを有するとき、シンボルのシーケンス中で発生する複数の誤りを訂正するために使用され得る。
【００８９】
ステップ1510において、シンボルのシーケンスは、複数の信号ワイヤ上で送信される。一例では、複数の信号ワイヤは、CCIeバスにおいて提供され得、データペイロードは、2つのCCIeワードを含み得る。別の例では、シンボルのシーケンスは、複数の信号ワイヤから選択された2つの信号ワイヤの異なる組合せの上で搬送される差動信号上でシンボルのシーケンス中の各シンボルを送信することによって、送信され得る。差動信号の各々は各シンボルのビットに対応し得、誤り訂正符号は差動信号ごとに計算され得る。
【００９０】
本明細書で開示するいくつかの態様によれば、クロック情報は、シンボルのシーケンス中で符号化され得る。クロック情報は、シンボルのシーケンス中の連続したシンボルの各ペアが複数の信号ワイヤ上の異なるシグナリング状態を生成する2つのシンボルを含むことを保証することによって、符号化され得る。
【００９１】
図16は、処理回路1602を使用する装置のためのハードウェア実装形態の簡略化された例を示す図1600である。処理回路は通常、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、シーケンサおよび状態機械のうちの1つまたは複数を含み得るプロセッサ1616を有する。処理回路1602は、バス1620によって概略的に表されるバスアーキテクチャを用いて実装され得る。バス1620は、処理回路1602の特定の適用例および全体的な設計制約に応じて、任意の数の相互接続バスおよびブリッジを含み得る。バス1620は、プロセッサ1616、モジュールまたは回路1604、1606、1608および1610、コネクタまたはワイヤ1614を介して通信するように構成可能なラインインターフェース回路1612、ならびにコンピュータ可読記憶媒体1618によって表される、1つもしくは複数のプロセッサおよび/またはハードウェアモジュールを含む様々な回路を互いにリンクさせる。バス1620は、タイミングソース、周辺機器、電圧調整器、および電力管理回路などの様々な他の回路をリンクさせることもできるが、これらの回路は当技術分野でよく知られており、したがってこれ以上は説明しない。
【００９２】
プロセッサ1616は、コンピュータ可読記憶媒体1616上に記憶されたソフトウェアの実行を含む全体的な処理を担当する。ソフトウェアは、プロセッサ1616によって実行されると、処理回路1602に、任意の特定の装置について上記で説明した様々な機能を実行させる。コンピュータ可読記憶媒体1618はまた、コネクタ1614を介して送信されたシンボルから復号されるデータを含む、ソフトウェアを実行するときにプロセッサ1616によって操作されるデータを記憶するために使用され得る。処理回路1602は、モジュール1604、1606、1608および1610のうちの少なくとも1つをさらに含む。モジュール1604、1606、1608および1610は、プロセッサ1616中で実行されている、コンピュータ可読記憶媒体1618に常駐する/記憶されるソフトウェアモジュール、プロセッサ1616に結合された1つもしくは複数のハードウェアモジュール、またはそれらの何らかの組合せであり得る。モジュール1604、1606、1608および/または1610は、マイクロコントローラ命令、状態機械構成パラメータ、それらの何らかの組合せを含み得る。
【００９３】
一構成では、ワイヤレス通信のための装置1600は、データペイロードを遷移数のセットに変換するように構成され、遷移数のセットをシンボルのシーケンスに変換するようにさらに構成されたモジュールおよび/または回路1604と、データペイロードに対応するシンボルのシーケンス中のシンボルからECCを計算するように構成されたモジュールおよび/または回路1606と、遷移数のセットがECCに対応する遷移数を含むように、ECCをデータペイロードに付加するように構成されたモジュールおよび/または回路1608と、複数の信号ワイヤ1614上でシンボルのシーケンスを送信するように構成されたモジュールおよび/または回路1610、1612とを含む。一例では、図11、図12および図14に示す回路は、装置1302によって実行される様々な機能を実装するロジックを提供する。
【００９４】
図16は、装置のためのハードウェア実装形態の簡略化された例を示す図1600であり、図17は、Nワイヤ通信リンク上でのデータ通信のための方法を示すフローチャート1700である。通信リンクは、N!符号化、マルチフェーズ符号化、マルチワイヤ差動符号化などの適切な符号化方式を使用して符号化されるシンボルを搬送する複数のコネクタを含み得る。コネクタは、導電性ワイヤ、光信号導体、半導体相互接続などを含み得る。方法は、受信デバイスの1つまたは複数のプロセッサによって実行され得る。
【００９５】
ステップ1702において、シンボルのシーケンスは、複数の信号ワイヤから受信される。複数の信号ワイヤは、一例ではCCIeバスにおいて、別の例ではN!インターフェースにおいて提供され得る。
【００９６】
ステップ1704において、第1のECCは、シンボルのシーケンス中の複数のシンボルから計算される。シンボルのシーケンス中の各シンボルは、複数の信号ワイヤから選択された2つの信号ワイヤの異なる組合せの上で搬送される差動信号のセットとして受信され得る。差動信号のセット中の各差動信号は、各シンボルのビットに対応し得る。第1のECCは、差動信号ごとにECCを計算することによって計算され得る。複数のシンボルは、シンボルのシーケンスにおいて搬送されるデータペイロードに対応し得る。データペイロードは、2つのCCIeワードを含み得る。
【００９７】
ステップ1706において、シンボルのシーケンスは遷移数のセットに変換され得る。シンボルのシーケンスは、利用可能なシンボルのテーブルにおける現在のシンボルおよび直前のシンボルのオカレンス間の分離を表す値として遷移数を導出することによって、遷移数のセットに変換され得る。
【００９８】
ステップ1708において、遷移数のセットは、データペイロードおよび第2のECCを含むデータパケットを取得するために変換され得る。第2のECCは、シンボルのシーケンスのトランスミッタによって計算されていてもよい。
【００９９】
ステップ1710において、第1のECCと第2のECCの比較に基づいて、1つまたは複数の誤りがシンボルのシーケンス中に存在するかどうかが判断され得る。判断に基づいて、シンボルのシーケンス中の少なくとも1つの誤りは、第1のECCおよび第2のECCを使用して訂正され得る。
【０１００】
ステップ1712において、ペイロードデータはレシーバ出力データとして提供される。
【０１０１】
本明細書で開示するいくつかの態様によれば、受信クロックは、シンボルのシーケンスから抽出される。クロック情報は、シンボルのシーケンス中のシンボルに関連付けられたシグナリング状態の変化に埋め込まれ得る。シンボルのシーケンス中の連続したシンボルの各ペアは、複数の信号ワイヤ上の異なるシグナリング状態に関連付けられた2つのシンボルを含み得る。
【０１０２】
本明細書で開示するいくつかの態様によれば、複数の第1の誤り訂正符号は、シンボルのシーケンスから計算され得る。各誤り訂正符号は、シンボルのシーケンスの各シンボル中のビットに対応し得る。複数の第1の誤り訂正符号の各々を、データパケットに付加された対応する第2の誤り訂正符号と比較することによって、1つまたは複数の誤りがシンボルのシーケンス中に存在するかどうかが判断され得る。複数の信号のうちの個々の信号中の誤りは、第1の誤り訂正符号と対応する第2の誤り訂正符号の比較に基づいて検出または訂正され得る。
【０１０３】
図18は、処理回路1802を使用する装置のためのハードウェア実装形態の簡略化された例を示す図1800である。処理回路は通常、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、シーケンサおよび状態機械のうちの1つまたは複数を含み得るプロセッサ1816を有する。処理回路1802は、バス1820によって概略的に表されるバスアーキテクチャを用いて実装され得る。バス1820は、処理回路1802の特定の適用例および全体的な設計制約に応じて、任意の数の相互接続バスおよびブリッジを含み得る。バス1820は、プロセッサ1816、モジュールまたは回路1804、1806および1808、コネクタまたはワイヤ1814を介して通信するように構成可能なラインインターフェース回路1812、ならびにコンピュータ可読記憶媒体1818によって表される、1つもしくは複数のプロセッサおよび/またはハードウェアモジュールを含む様々な回路を互いにリンクさせる。バス1820は、タイミングソース、周辺機器、電圧調整器、および電力管理回路などの様々な他の回路をリンクさせることもできるが、これらの回路は当技術分野でよく知られており、したがってこれ以上は説明しない。
【０１０４】
プロセッサ1816は、コンピュータ可読記憶媒体1818上に記憶されたソフトウェアの実行を含む全体的な処理を担当する。ソフトウェアは、プロセッサ1816によって実行されると、処理回路1802に、任意の特定の装置について上記で説明した様々な機能を実行させる。コンピュータ可読記憶媒体1818はまた、コネクタ1814を介して送信されたシンボルから復号されるデータを含む、ソフトウェアを実行するときにプロセッサ1816によって操作されるデータを記憶するために使用され得る。処理回路1802は、モジュール1804、1806、1808および1810のうちの少なくとも1つをさらに含む。モジュール1804、1806、1808および1810は、プロセッサ1816中で実行されている、コンピュータ可読記憶媒体1818に常駐する/記憶されるソフトウェアモジュール、プロセッサ1816に結合された1つもしくは複数のハードウェアモジュール、またはそれらの何らかの組合せであり得る。モジュール1804、1806、1808および1810は、マイクロコントローラ命令、状態機械構成パラメータ、またはそれらの何らかの組合せを含み得る。
【０１０５】
一構成では、ワイヤレス通信のための装置1800は、複数の信号ワイヤ1814からシンボルのシーケンスを受信するように構成されたモジュールおよび/または回路1806、1812と、シンボルのシーケンス中の複数のシンボルから第1のECCを計算するように構成されたモジュールおよび/または回路1808であって、複数のシンボルが、シンボルのシーケンス中で搬送されるデータペイロードに対応する、モジュールおよび/または回路1808と、シンボルのシーケンスを遷移数のセットに変換するように構成され、データペイロードおよび第2のECCを含むデータパケットを取得するために遷移数のセットを変換するようにさらに構成されたモジュールおよび/または回路1804と、第1のECCと第2の誤り訂正符号の比較に基づいて、1つまたは複数の誤りがシンボルのシーケンス中に存在するかどうかを判断するように構成されたモジュールおよび/または回路1808と、データペイロードをレシーバ出力データとして提供するように構成されたモジュールおよび/または回路1804、1808とを含む。一例では、図11、図12および図14に示す回路は、装置1802によって実行される様々な機能を実装するロジックを提供する。
【０１０６】
開示したプロセスにおけるステップの特定の順序または階層は、例示的な手法の一例であることを理解されたい。設計上の選好に基づいて、プロセスにおけるステップの特定の順序または階層が並べ替えられてもよいことを理解されたい。添付の方法クレームは、様々なステップの要素を例示的な順序で提示したものであり、提示した特定の順序または階層に限定されることを意味するものではない。
【０１０７】
上記の説明は、いかなる当業者も本明細書で説明する様々な態様を実践できるようにするために与えられる。これらの態様に対する様々な修正は、当業者に容易に明らかになり、本明細書で定義する一般原理は、他の態様に適用され得る。したがって、特許請求の範囲は、本明細書で示す態様に限定されるものではなく、文言通りの特許請求の範囲と一致するすべての範囲を与えられるべきであり、単数形の要素への言及は、そのように明記されていない限り、「唯一無二の」ではなく、「1つまたは複数の」を意味するものとする。別段に明記されていない限り、「いくつかの」という用語は、1つまたは複数を指す。当業者に知られているか、または後で当業者に知られることになる、本開示全体にわたって説明する様々な態様の要素のすべての構造的および機能的等価物は、参照により本明細書に明確に組み込まれ、特許請求の範囲によって包含されるものとする。さらに、本明細書で開示するいかなる内容も、そのような開示が特許請求の範囲で明示的に記載されているかどうかにかかわらず、公に供されるものではない。いかなるクレーム要素も、要素が「ための手段」という句を使用して明確に記載されていない限り、ミーンズプラスファンクションとして解釈されるべきではない。
【符号の説明】
【０１０８】
100  装置
102  処理回路
106  通信トランシーバ
108  特定用途向けIC、ASIC
110  アプリケーションプログラミングインターフェース(API)
112  メモリ、メモリデバイス
114  ローカルデータベース
122  アンテナ
124  ディスプレイ
126  キーパッド
128  ボタン
200  装置、ブロック概略図
202  ICデバイス、第1のICデバイス
204  ワイヤレストランシーバ
206  プロセッサ
208  記憶媒体
210  符号化デバイス
212  バス
214  アンテナ
220  通信リンク
222  チャネル、第1の通信チャネル、順方向リンク、通信リンク
224  チャネル、第2の通信チャネル、逆方向リンク
226  チャネル、双方向リンク
230  ICデバイス、第2のICデバイス
232  ディスプレイコントローラ
234  カメラコントローラ
236  プロセッサ
238  記憶媒体
240  符号化デバイス
242  バス
300  Nワイヤインターフェース
302  デバイス、トランスミッタ
304  データ、データビット
306  トランスコーダ
310  差動ラインドライバ、ラインドライバ
312  送信クロック
314  ワイヤ
316  終端ネットワーク
318  中心点
320  レシーバ
322  ラインレシーバ
324  CDR
326  デシリアライザ
328  トランスコーダ
330  出力データ
332  デバイス
334  受信クロック信号
400  CDR回路
402  レシーバ
404  比較器
406  セットリセットラッチ
408  ワイヤ
410  レベルラッチ
412  アナログ遅延要素、遅延要素(遅延S)
414  バイナリ比較信号、NE信号
416  NE信号414のフィルタリングされたバージョンである信号、NEFLT信号
418  クロック信号、SDRCLK信号
420  SI信号
422  レベルラッチ信号、S信号
424  NE1SHOT信号
426  ワンショット回路
426a  遅延
428  出力データ信号
500  タイミング図
502  シンボル、第1のシンボル値S0
504  シンボル、次のシンボル値S1
506  シンボル、新しいシンボルS2、次のシンボルS2
508  セットアップタイム、中間状態または不確定状態
510  スパイク
512  固定幅パルス
514  遅延
516  遷移の開始
600  装置
602  イメージングデバイス、デバイス、センサーデバイス
604  制御機能
606  構成レジスタまたは他のストレージ
608  クロック生成回路
610  トランシーバ
610a  レシーバ
610b  共通回路
610c  トランスミッタ
612  制御ロジック
614a、614b  ラインドライバ/レシーバ
616  SCL
618  SDA
620  デバイス
622a〜622n  デバイス
630  CCIeバス
700  トランスミッタ
702  データ
704  第1の変換器
706  第2の変換器
708  ラインドライバ
710  データ
712  3進シーケンス
714  遷移数
716  2ビットシンボル、連続したシンボル、データシンボル、シンボルのシーケンス
718  信号ワイヤ
720  レシーバ
722  回路
724  回路
726  ラインレシーバ
728  CDR
730  出力データ要素、出力データ
732  3進数
734  シンボルのシーケンス
736  未加工のシンボル、未加工の2ビットシンボル
738  受信クロック
800  符号化方式、CCIe符号化方式
802  シンボル順序付けサークル
804a〜804d  ロケーション
806  回転の方向
820  テーブル
822  第1のシンボル、前のシンボルPs、直前のシンボル、前のシンボル、前に生成されたシンボル、前に受信されたシンボル
824  第2のシンボル、現在のシンボルCs、現在のシンボル、現在受信されたシンボル
826  遷移数
900  トランスミッタ
902  データビット、データペイロードまたは送信データ
904  モジュールまたは回路
906  第1の変換器
908  第2の変換器
910  ラインドライバ
912  データパケット
914  送信クロック
916  遷移数
918  ECC
920  N個のワイヤ
922  シンボルのシーケンス
930  レシーバ、受信クロック
932  ラインレシーバ
934  CDR
936  第1の変換器
938  第2の変換器
940  誤り訂正回路
942  受信されたシンボル
944  シンボルのシーケンス
946  遷移数
948  受信されたデータパケット
950  ECC生成回路またはモジュール、ECC生成器
952  ECC
954  受信されたデータ
1000  テーブル
1002  第1の行
1004  誤った受信されたシンボル
1006  遷移数
1008  復号された16進値
1010  復号されたビット
1100  トランスミッタ
1102  送信データ
1104  結合ロジック
1106  第1の変換器
1108  第2の変換器
1110  ラインドライバ
1112  ECC生成回路
1114  送信クロック
1116  遷移数
1118  シンボルのシーケンス
1120  N個のワイヤ
1122  送信データパケット
1124  ECCビット
1130  レシーバ
1132  ラインレシーバ
1134  CDR
1136  誤り訂正ロジック
1138  第1の変換器
1140  第2の変換器
1142  ECC生成ロジック
1144  ECCワード
1146  レシーバECC
1148  遷移数
1150  受信されたデータ
1152  未加工のシンボルのシーケンス
1154  シンボル、抽出されたシンボル、受信されたシンボル
1156  受信クロック
1200  トランスミッタ
1202  送信データ
1204  パケット生成器
1206  トランスコーディング回路
1208  トランスコーディング回路
1210  シリアライザ
1212  差動ラインドライバ
1214  シンボルのシーケンス
1216  ECC生成器
1218  ECC情報
1220  ワイヤのペア
1220a、1220b、1220c  差動信号
1222  トランスミッタデータパケット
1240  レシーバ
1244  差動レシーバ
1246  デシリアライザ
1248  7シンボル
1250  誤り訂正ロジック
1254  ECC生成器
1256  復号されたECC、復号されたトランスミッタECC情報
1260  レシーバ出力データ
1262  7シンボル
1264  レシーバECC情報
1302  装置
1304  カメラシリアルインターフェース(CSI2)パケットヘッダ、CSI2パケットヘッダ
1310  ECC情報
1310a、1310b、1310c  ECC
1314  シンボルのシーケンス
1316  シンボルのシーケンス
1318  シンボルのシーケンス
1400  トランスミッタ
1402  送信データ
1404  パケット生成器
1406  トランスコーディング回路
1408  トランスコーディング回路
1410  ECC生成器
1414  シンボルのシーケンス
1416  トランスミッタデータパケット
1418  ラインドライバ
1420  2つのワイヤ、ワイヤのペア
1422  ECC情報
1430  レシーバ
1432  ラインレシーバ
1434  CDR
1436  誤り訂正ロジック
1438  トランスコーダロジック
1440  トランスコーダロジック
1442  未加工のシンボル
1448  受信クロック
1450  レシーバ出力データ
1452  ECC生成器
1456  シンボルのシーケンス1444から復号されたトランスミッタECC1422のバージョン
1500  フローチャート
1600  図
1602  処理回路
1604  モジュールまたは回路
1606  モジュールまたは回路
1608  モジュールまたは回路
1610  モジュールまたは回路
1612  ラインインターフェース回路
1614  コネクタまたはワイヤ
1616  プロセッサ
1618  コンピュータ可読記憶媒体
1620  バス
1700  フローチャート
1800  図
1802  処理回路
1804  モジュールまたは回路
1806  モジュールまたは回路
1808  モジュールまたは回路
1810  モジュールまたは回路
1812  ラインインターフェース回路
1814  コネクタまたはワイヤ
1816  プロセッサ
1818  コンピュータ可読記憶媒体
1820  バス
【図１】
2017513307.tif 000003
【図２】
2017513307.tif 000004
【図３】
2017513307.tif 000005
【図４】
2017513307.tif 000006
【図５】
2017513307.tif 000007
【図６】
2017513307.tif 000008
【図７】
2017513307.tif 000009
【図８】
2017513307.tif 000010
【図９】
2017513307.tif 000011
【図１０】
2017513307.tif 000012
【図１１】
2017513307.tif 000013
【図１２】
2017513307.tif 000014
【図１３】
2017513307.tif 000015
【図１４】
2017513307.tif 000016
【図１５】
2017513307.tif 000017
【図１６】
2017513307.tif 000018
【図１７】
2017513307.tif 000019
【図１８】
2017513307.tif 000020
【手続補正書】
【提出日】平成28年9月15日(2016.9.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ通信の方法であって、
データペイロードを遷移数のセットに変換するステップと、
前記遷移数のセットをシンボルのシーケンスに変換するステップと、
前記データペイロードに対応する前記シンボルのシーケンス中のシンボルから誤り訂正符号を計算するステップと、
前記遷移数のセットが前記誤り訂正符号に対応するさらなる遷移数を含むように、前記誤り訂正符号を前記データペイロードに付加し、前記付加された誤り訂正符号を前記さらなる遷移数に変換し、前記さらなる遷移数をさらなるシンボルに変換するステップと、
複数の信号ワイヤ上で前記シンボルのシーケンス中の前記さらなるシンボルを送信するステップと
を含み、
前記遷移数をシンボルに変換するステップが、
現在のシンボルに対する次のシンボルを選択するために遷移数を使用するステップを含み、前記遷移数の値が、連続したシンボルのペアが2つの同一のシンボルを含まず、シグナリング状態の遷移が前記信号ワイヤのうちの少なくとも1つにおいて発生するような、利用可能なシンボルのテーブルにおける前記現在のシンボルと前記次のシンボルの分離を表す、
方法。
【請求項２】
前記シンボルのシーケンス中でクロック情報を符号化するステップをさらに含み、前記クロック情報が、前記シンボルのシーケンス中の連続したシンボルの各ペアが前記複数の信号ワイヤ上の異なるシグナリング状態を生成する2つのシンボルを含むことを保証することによって、符号化される、
請求項1に記載の方法。
【請求項３】
前記誤り訂正符号を計算するステップが、
前記複数の信号ワイヤ上で送信される複数の信号の各々について誤り訂正符号を計算するステップであって、前記複数の信号が、前記シンボルのシーケンスに対応する、ステップと、
前記複数の信号の前記各々についての前記誤り訂正符号を前記データペイロードに付加するステップと
を含む、請求項1に記載の方法。
【請求項４】
前記複数の信号の前記各々が、前記シンボルのシーケンス中の各シンボル中のビットに対応する、請求項3に記載の方法。
【請求項５】
前記複数の信号ワイヤが、カメラ制御インターフェースCCI拡張(CCIe)バスにおいて提供される、請求項1に記載の方法。
【請求項６】
前記データペイロードが、2つのCCIeワードを含む、請求項5に記載の方法。
【請求項７】
前記シンボルのシーケンスを送信するステップが、
前記複数の信号ワイヤから選択された2つの信号ワイヤの異なる組合せの上で搬送される差動信号上で前記シンボルのシーケンス中の各シンボルを送信するステップ
を含む、請求項1に記載の方法。
【請求項８】
前記差動信号の各々が、前記各シンボルのビットに対応し、前記誤り訂正符号を計算するステップが、
差動信号ごとに誤り訂正符号を計算するステップを含み、
前記遷移数のセットが複数の誤り訂正符号に対応する遷移数を含むように、前記複数の誤り訂正符号が前記データペイロードに付加される、
請求項7に記載の方法。
【請求項９】
データペイロードを遷移数のセットに変換するための手段と、
前記遷移数のセットをシンボルのシーケンスに変換するための手段と、
前記データペイロードに対応する前記シンボルのシーケンス中のシンボルから誤り訂正符号を計算するための手段と、
前記遷移数のセットが前記誤り訂正符号に対応するさらなる遷移数を含むように、前記誤り訂正符号を前記データペイロードに付加し、前記付加された誤り訂正符号を前記さらなる遷移数に変換し、前記さらなる遷移数をさらなるシンボルに変換するための手段と、
複数の信号ワイヤ上で前記シンボルのシーケンス中の前記さらなるシンボルを送信するための手段と
を備え、
前記遷移数をシンボルに変換するための手段が、
現在のシンボルに対する次のシンボルを選択するために遷移数を使用するための手段を含み、前記遷移数の値が、連続したシンボルのペアが2つの同一のシンボルを含まず、シグナリング状態の遷移が前記信号ワイヤのうちの少なくとも1つにおいて発生するような、利用可能なシンボルのテーブルにおける前記現在のシンボルと前記次のシンボルの分離を表す、
装置。
【請求項１０】
Nワイヤインターフェース上で複数の信号を送信するように構成された複数のラインドライバと、
処理回路とを備え、前記処理回路が、
データペイロードを遷移数のセットに変換し、
前記遷移数のセットをシンボルのシーケンスに変換し、
前記データペイロードに対応する前記シンボルのシーケンス中のシンボルから誤り訂正符号を計算し、
前記遷移数のセットが前記誤り訂正符号に対応するさらなる遷移数を含むように、前記誤り訂正符号を前記データペイロードに付加し、前記付加された誤り訂正符号を前記さらなる遷移数に変換し、前記さらなる遷移数をさらなるシンボルに変換し、
複数の信号ワイヤ上で前記シンボルのシーケンス中の前記さらなるシンボルを送信する
ように構成され、
前記処理回路が、現在のシンボルに対する次のシンボルを選択するために遷移数を使用することによって、前記遷移数のセットを前記シンボルのシーケンスに変換するように構成され、前記遷移数の値が、連続したシンボルのペアが2つの同一のシンボルを含まず、シグナリング状態の遷移が前記信号ワイヤのうちの少なくとも1つにおいて発生するような、利用可能なシンボルのテーブルにおける前記現在のシンボルと前記次のシンボルの分離を表す、
トランスミッタ。
【請求項１１】
前記処理回路が、
前記シンボルのシーケンス中でクロック情報を符号化するように構成され、
前記クロック情報が、前記シンボルのシーケンス中の連続したシンボルの各ペアが前記複数の信号ワイヤ上の異なるシグナリング状態を生成する2つのシンボルを含むことを保証することによって、符号化される、
請求項10に記載のトランスミッタ。
【請求項１２】
前記処理回路が、
前記複数の信号ワイヤ上で送信される複数の信号の各々について誤り訂正符号を計算することであって、前記複数の信号が、前記シンボルのシーケンスに対応する、計算することと、
前記複数の信号の前記各々についての前記誤り訂正符号を前記データペイロードに付加することと
を行うように構成される、請求項10に記載のトランスミッタ。
【請求項１３】
前記複数の信号の前記各々が、前記シンボルのシーケンス中の各シンボルのビットに対応する、請求項12に記載のトランスミッタ。
【請求項１４】
前記複数の信号ワイヤが、カメラ制御インターフェースCCI拡張(CCIe)バスにおいて提供される、請求項10に記載のトランスミッタ。
【請求項１５】
前記処理回路が、前記複数の信号ワイヤから選択された2つの信号ワイヤの異なる組合せの上で搬送される差動信号上で前記シンボルのシーケンス中の各シンボルを送信することによって、前記シンボルのシーケンスを送信するように構成される、請求項10に記載のトランスミッタ。
【請求項１６】
前記差動信号の各々が、前記各シンボルのビットに対応し、前記処理回路が、
差動信号ごとに誤り訂正符号を計算するように構成され、
前記遷移数のセットが複数の誤り訂正符号に対応する遷移数を含むように、前記複数の誤り訂正符号が前記データペイロードに付加される、
請求項15に記載のトランスミッタ。
【請求項１７】
少なくとも1つの処理回路によって実行されると、前記少なくとも1つの処理回路に、
データペイロードを遷移数のセットに変換させ、
前記遷移数のセットをシンボルのシーケンスに変換させ、
前記データペイロードに対応する前記シンボルのシーケンス中のシンボルから誤り訂正符号を計算させ、
前記遷移数のセットが前記誤り訂正符号に対応するさらなる遷移数を含むように、前記誤り訂正符号を前記データペイロードに付加させ、前記付加された誤り訂正符号を前記さらなる遷移数に変換させ、前記さらなる遷移数をさらなるシンボルに変換させ、
複数の信号ワイヤ上で前記シンボルのシーケンス中の前記さらなるシンボルを送信させ、さらに、
現在のシンボルに対する次のシンボルを選択するために遷移数を使用することによって、前記遷移数のセットを前記シンボルのシーケンスに変換させ、前記遷移数の値が、連続したシンボルのペアが2つの同一のシンボルを含まず、シグナリング状態の遷移が前記信号ワイヤのうちの少なくとも1つにおいて発生するような、利用可能なシンボルのテーブルにおける前記現在のシンボルと前記次のシンボルの分離を表す、
1つまたは複数の命令を有するプロセッサ可読記憶媒体。
【請求項１８】
データ通信の方法であって、
複数の信号ワイヤからシンボルのシーケンスを受信するステップと、
前記シンボルのシーケンス中の複数のシンボルから第1の誤り訂正符号を計算するステップであって、前記複数のシンボルが、前記シンボルのシーケンス中で搬送されるデータペイロードに対応する、ステップと、
前記シンボルのシーケンスを遷移数のセットに変換するステップと、
前記データペイロードおよび第2の誤り訂正符号を含むデータパケットを取得するために前記遷移数のセットを変換するステップであって、前記第2の誤り訂正符号が、前記シンボルのシーケンスのトランスミッタによって計算されており、前記第2の誤り訂正符号が、前記シンボルのシーケンスの前記トランスミッタによって前記データペイロードに付加されている、ステップと、
前記第1の誤り訂正符号と前記第2の誤り訂正符号の比較に基づいて、1つまたは複数の誤りが前記シンボルのシーケンス中に存在するかどうかを判断するステップと、
前記データペイロードをレシーバ出力データとして提供するステップと
を含み、
遷移数のシンボルへの変換において、遷移数が現在のシンボルに対する次のシンボルを選択するために使用されており、前記遷移数の値が、連続したシンボルのペアが2つの同一のシンボルを含まず、シグナリング状態の遷移が前記信号ワイヤのうちの少なくとも1つにおいて発生するような、利用可能なシンボルのテーブルにおける前記現在のシンボルと前記次のシンボルの分離を表す、
方法。
【請求項１９】
前記第1の誤り訂正符号および前記第2の誤り訂正符号を使用して前記シンボルのシーケンス中の少なくとも1つの誤りを訂正するステップ
をさらに含む、請求項18に記載の方法。
【請求項２０】
前記シンボルのシーケンスを前記遷移数のセットに変換するステップが、
利用可能なシンボルのテーブルにおける現在のシンボルおよび直前のシンボルのオカレンス間の分離を表す値として遷移数を導出するステップ
を含む、請求項18に記載の方法。
【請求項２１】
前記シンボルのシーケンスから受信クロックを抽出するステップをさらに含み、クロック情報が、前記シンボルのシーケンス中のシンボルに関連付けられたシグナリング状態の変化に埋め込まれ、前記シンボルのシーケンス中の連続したシンボルの各ペアが、前記複数の信号ワイヤ上の異なるシグナリング状態に関連付けられた2つのシンボルを含む、
請求項18に記載の方法。
【請求項２２】
前記第1の誤り訂正符号を計算するステップが、
前記シンボルのシーケンスから複数の第1の誤り訂正符号を計算するステップを含み、各誤り訂正符号が、前記シンボルのシーケンスの各シンボル中のビットに対応する、
請求項18に記載の方法。
【請求項２３】
1つまたは複数の誤りが前記シンボルのシーケンス中に存在するかどうかを判断するステップが、
前記複数の第1の誤り訂正符号の各々を、前記データパケットに付加された対応する第2の誤り訂正符号と比較するステップ
を含む、請求項22に記載の方法。
【請求項２４】
前記複数の信号ワイヤが、カメラ制御インターフェースCCI拡張(CCIe)バスにおいて提供される、請求項18に記載の方法。
【請求項２５】
前記データペイロードが、2つのCCIeワードを含む、請求項24に記載の方法。
【請求項２６】
前記シンボルのシーケンス中の各シンボルが、前記複数の信号ワイヤから選択された2つの信号ワイヤの異なる組合せの上で搬送される差動信号のセットとして受信される、請求項18に記載の方法。
【請求項２７】
前記差動信号のセット中の各差動信号が、前記各シンボルのビットに対応し、前記第1の誤り訂正符号を計算するステップが、
差動信号ごとに誤り訂正符号を計算するステップ
を含む、請求項26に記載の方法。
【請求項２８】
複数の信号ワイヤからシンボルのシーケンスを受信するための手段と、
前記シンボルのシーケンス中の複数のシンボルから第1の誤り訂正符号を計算するための手段であって、前記複数のシンボルが、前記シンボルのシーケンス中で搬送されるデータペイロードに対応する、手段と、
前記シンボルのシーケンスを遷移数のセットに変換するための手段と、
前記データペイロードおよび第2の誤り訂正符号を含むデータパケットを取得するために前記遷移数のセットを変換するための手段であって、前記第2の誤り訂正符号が、前記シンボルのシーケンスのトランスミッタによって計算されており、前記第2の誤り訂正符号が、前記シンボルのシーケンスの前記トランスミッタによって前記データペイロードに付加されている、手段と、
前記第1の誤り訂正符号と前記第2の誤り訂正符号の比較に基づいて、1つまたは複数の誤りが前記シンボルのシーケンス中に存在するかどうかを判断するための手段と、
前記データペイロードをレシーバ出力データとして提供するための手段と
を備え、
遷移数のシンボルへの変換において、遷移数が現在のシンボルに対する次のシンボルを選択するために使用されており、前記遷移数の値が、連続したシンボルのペアが2つの同一のシンボルを含まず、シグナリング状態の遷移が前記信号ワイヤのうちの少なくとも1つにおいて発生するような、利用可能なシンボルのテーブルにおける前記現在のシンボルと前記次のシンボルの分離を表す、
装置。
【請求項２９】
処理回路を備え、前記処理回路が、
複数の信号ワイヤからシンボルのシーケンスを受信することと、
前記シンボルのシーケンス中の複数のシンボルから第1の誤り訂正符号を計算することであって、前記複数のシンボルが、前記シンボルのシーケンス中で搬送されるデータペイロードに対応する、計算することと、
前記シンボルのシーケンスを遷移数のセットに変換することと、
前記データペイロードおよび第2の誤り訂正符号を含むデータパケットを取得するために前記遷移数のセットを変換することであって、前記第2の誤り訂正符号が、前記シンボルのシーケンスのトランスミッタによって計算されており、前記第2の誤り訂正符号が、前記シンボルのシーケンスの前記トランスミッタによって前記データペイロードに付加されている、変換することと、
前記第1の誤り訂正符号と前記第2の誤り訂正符号の比較に基づいて、1つまたは複数の誤りが前記シンボルのシーケンス中に存在するかどうかを判断することと、
前記データペイロードをレシーバ出力データとして提供することと
を行うように構成され、
遷移数のシンボルへの変換において、遷移数が現在のシンボルに対する次のシンボルを選択するために使用されており、前記遷移数の値が、連続したシンボルのペアが2つの同一のシンボルを含まず、シグナリング状態の遷移が前記信号ワイヤのうちの少なくとも1つにおいて発生するような、利用可能なシンボルのテーブルにおける前記現在のシンボルと前記次のシンボルの分離を表す、
レシーバ。
【請求項３０】
前記処理回路が、
前記第1の誤り訂正符号および前記第2の誤り訂正符号を使用して前記シンボルのシーケンス中の少なくとも1つの誤りを訂正する
ように構成される、請求項29に記載のレシーバ。
【請求項３１】
前記処理回路が、利用可能なシンボルのテーブルにおける現在のシンボルおよび直前のシンボルのオカレンス間の分離を表す値として遷移数を導出することによって、前記シンボルのシーケンスを前記遷移数のセットに変換するように構成される、請求項29に記載のレシーバ。
【請求項３２】
前記処理回路が、
前記シンボルのシーケンスから受信クロックを抽出するように構成され、クロック情報が、前記シンボルのシーケンス中のシンボルに関連付けられたシグナリング状態の変化に埋め込まれ、前記シンボルのシーケンス中の連続したシンボルの各ペアが、前記複数の信号ワイヤ上の異なるシグナリング状態に関連付けられた2つのシンボルを含む、
請求項29に記載のレシーバ。
【請求項３３】
前記処理回路が、前記シンボルのシーケンスから複数の第1の誤り訂正符号を計算することによって、前記第1の誤り訂正符号を計算するように構成され、各誤り訂正符号が、前記シンボルのシーケンスの各シンボル中のビットに対応する、請求項29に記載のレシーバ。
【請求項３４】
前記処理回路が、
前記複数の第1の誤り訂正符号の各々を、前記データパケットに付加された対応する第2の誤り訂正符号と比較する
ことによって、1つまたは複数の誤りが前記シンボルのシーケンス中に存在するかどうかを判断するように構成される、請求項33に記載のレシーバ。
【請求項３５】
前記複数の信号ワイヤが、カメラ制御インターフェースCCI拡張(CCIe)バスにおいて提供される、請求項29に記載のレシーバ。
【請求項３６】
前記シンボルのシーケンス中の各シンボルが、前記複数の信号ワイヤから選択された2つの信号ワイヤの異なる組合せの上で搬送される差動信号のセットとして受信される、請求項29に記載のレシーバ。
【請求項３７】
前記差動信号のセット中の各差動信号が、前記各シンボルのビットに対応し、前記処理回路が、差動信号ごとに誤り訂正符号を計算することによって、前記第1の誤り訂正符号を計算するように構成される、請求項36に記載のレシーバ。
【請求項３８】
少なくとも1つの処理回路によって実行されると、前記少なくとも1つの処理回路に、
複数の信号ワイヤからシンボルのシーケンスを受信することと、
前記シンボルのシーケンス中の複数のシンボルから第1の誤り訂正符号を計算することであって、前記複数のシンボルが、前記シンボルのシーケンス中で搬送されるデータペイロードに対応する、計算することと、
前記シンボルのシーケンスを遷移数のセットに変換することと、
前記データペイロードおよび第2の誤り訂正符号を含むデータパケットを取得するために前記遷移数のセットを変換することであって、前記第2の誤り訂正符号が、前記シンボルのシーケンスのトランスミッタによって計算されており、前記第2の誤り訂正符号が、前記シンボルのシーケンスの前記トランスミッタによって前記データペイロードに付加されている、変換することと、
前記第1の誤り訂正符号と前記第2の誤り訂正符号の比較に基づいて、1つまたは複数の誤りが前記シンボルのシーケンス中に存在するかどうかを判断することと、
前記データペイロードをレシーバ出力データとして提供することと
を行わせる1つまたは複数の命令を有するプロセッサ可読記憶媒体であって、
遷移数のシンボルへの変換において、遷移数が現在のシンボルに対する次のシンボルを選択するために使用されており、前記遷移数の値が、連続したシンボルのペアが2つの同一のシンボルを含まず、シグナリング状態の遷移が前記信号ワイヤのうちの少なくとも1つにおいて発生するような、利用可能なシンボルのテーブルにおける前記現在のシンボルと前記次のシンボルの分離を表す、
プロセッサ可読記憶媒体。
【国際調査報告】
2017513307.tif 000021
2017513307.tif 000022