(57)【特許請求の範囲】
【請求項１】
データ通信の方法であって、
第1のデバイスにおいて、1組のビットから遷移番号を生成するステップと、
前記第1のデバイスにおいて、前記遷移番号をシンボルのシーケンスに変換するステップであって、タイミング情報がシンボルの前記シーケンス内のシンボル間の遷移内で符号化される、ステップと、
2線シリアルバスが第1の動作モードで動作するとき、前記第1のデバイスから、前記2線シリアルバス上でシンボルの前記シーケンスを送信するステップであって、連続するシンボル間の各遷移が前記2線シリアルバスのシグナリング状態における変化を引き起こす、ステップと
を含み、
前記2線シリアルバスが前記第1の動作モードにある間に、前記2線シリアルバスに接続された第2のデバイスによりシンボルの前記シーケンスが無視され、前記第2のデバイスは、前記2線シリアルバスの第2の動作モードを使用して前記2線シリアルバス上で通信するように構成される、
方法。
【請求項２】
前記遷移番号が12桁の3進数を備える、請求項1に記載の方法。
【請求項３】
前記遷移番号は3進遷移番号であり、
前記遷移番号をシンボルの前記シーケンスに変換するステップが、
前記3進遷移番号をトランスコーダに与えるステップであって、最初に前記3進遷移番号の最上位桁が前記トランスコーダに与えられ、最後に前記3進遷移番号の最下位桁が前記トランスコーダに与えられ、前記最上位桁と前記最下位桁との間の中間桁が上位桁から下位桁へと順番に前記トランスコーダに与えられる、ステップと
を含む、請求項1に記載の方法。
【請求項４】
前記遷移番号は3進遷移番号であり、
前記遷移番号をシンボルの前記シーケンスに変換するステップが、
前記3進遷移番号をトランスコーダに与えるステップと、
を含み、
前記3進遷移番号の最上位桁が最後に前記トランスコーダに与えられる、
請求項1に記載の方法。
【請求項５】
前記2線シリアルバスについて4つのシグナリング状態が定義され、前記遷移番号の各桁が、3つの利用可能なシンボルのうちの1つから、前記2線シリアルバス上で送信されるべき次のシンボルを選択し、前記3つの利用可能なシンボルの各々が、前記2線シリアルバス上で送信されている現在のシンボルとは異なる、請求項1に記載の方法。
【請求項６】
シンボルの前記シーケンス内で符号化されたタイミング情報により、受信機がシンボルの前記シーケンスから受信クロックを生成することが可能になる、請求項1に記載の方法。
【請求項７】
前記2線シリアルバスが前記第1の動作モードで動作するとき、前記2線シリアルバスが、カメラ制御インターフェース拡張(CCIe)プロトコルを使用する通信をサポートする多目的バスであり、前記2線シリアルバスが、前記第2の動作モードにおいて集積回路間(I2C)プロトコルを使用する通信をサポートする、請求項1に記載の方法。
【請求項８】
前記2線シリアルバス上でシンボルの前記シーケンスを送信するステップが、
前記第1の動作モードにおいて、前記2線シリアルバス上で送信されたシンボルのシーケンスの間にI2C開始状態を設けるステップ
を含み、
前記I2C開始状態のタイミングが、前記I2Cプロトコルを使用する通信用に構成されたデバイス内の受信ロジックのリセットを引き起こす、請求項7に記載の方法。
【請求項９】
前記2線シリアルバス上でシンボルの前記シーケンスを送信するステップが、
前記2線シリアルバス上で第1のI2C開始状態を送信するステップと、
前記第1のI2C開始状態が送信された後、前記2線シリアルバス上でシンボルの前記シーケンスを送信するステップと、
前記2線シリアルバス上で第2のI2C開始状態を送信するステップと
を含み、
前記2線シリアルバスを監視するI2C受信機が、前記第1のI2C開始状態の後、かつ前記第2のI2C開始状態の前に、前記2線シリアルバスのシリアルクロックライン(SCL)上で最大6クロックサイクルを知覚する、
請求項7に記載の方法。
【請求項１０】
制御シーケンスが前記2線シリアルバス上で送信された後、前記第1の動作モードから前記第2の動作モードに変更するステップをさらに含む、請求項1に記載の方法。
【請求項１１】
第1のデバイスを備える装置であって、前記第1のデバイスが、
複数の他のデバイスと共有されるように動作可能な2線シリアルバスに前記装置を結合するように適合されたバスインターフェースと、
前記バスインターフェースに結合された処理回路と
を含み、前記処理回路が、
1組のビットから遷移番号を生成することと、
前記遷移番号をシンボルのシーケンスに変換することであって、タイミング情報がシンボルの前記シーケンス内のシンボル間の遷移内で符号化される、変換することと、
2線シリアルバスが第1の動作モードで動作するとき、前記2線シリアルバス上でシンボルの前記シーケンスを送信することであって、連続するシンボル間の各遷移が前記2線シリアルバスのシグナリング状態における変化を引き起こす、送信することと
を行うように構成され、
前記2線シリアルバスが前記第1の動作モードにある間に、前記2線シリアルバスに接続され前記装置に含まれない第2のデバイスによりシンボルの前記シーケンスが無視され、前記第2のデバイスは、前記2線シリアルバスの第2の動作モードを使用して前記2線シリアルバス上で通信するように構成される、
装置。
【請求項１２】
前記遷移番号が12桁の3進数を備える、請求項11に記載の装置。
【請求項１３】
前記遷移番号は3進遷移番号であり、
前記処理回路が、
前記3進遷移番号をトランスコーダに与えることと
を行うことによって、前記遷移番号をシンボルの前記シーケンスに変換するように構成され、
最初に前記3進遷移番号の最上位桁が前記トランスコーダに与えられ、最後に前記3進遷移番号の最下位桁が前記トランスコーダに与えられ、前記最上位桁と前記最下位桁との間の中間桁が上位桁から下位桁へと順番に前記トランスコーダに与えられる、
請求項12に記載の装置。
【請求項１４】
前記遷移番号は3進遷移番号であり、
前記処理回路が、
前記3進遷移番号をトランスコーダに与えることであって、最後に前記3進遷移番号の最上位桁が前記トランスコーダに与えられる、与えることと
を行うことによって、前記遷移番号をシンボルの前記シーケンスに変換するように構成された、請求項12に記載の装置。
【請求項１５】
前記2線シリアルバスについて4つのシグナリング状態が定義され、前記3進数の各桁が、3つの利用可能なシンボルのうちの1つから、前記2線シリアルバス上で送信されるべき次のシンボルを選択し、前記3つの利用可能なシンボルの各々が、前記2線シリアルバス上で送信されている現在のシンボルとは異なる、請求項12に記載の装置。
【請求項１６】
シンボルの前記シーケンス内で符号化されたタイミング情報により、受信機がシンボルの前記シーケンスから受信クロックを生成することが可能になる、請求項11に記載の装置。
【請求項１７】
前記2線シリアルバスが前記第1の動作モードで動作するとき、前記2線シリアルバスが、カメラ制御インターフェース拡張(CCIe)プロトコルを使用する通信をサポートする多目的バスであり、前記2線シリアルバスが、前記第2の動作モードにおいて集積回路間(I2C)プロトコルを使用する通信をサポートする、請求項11に記載の装置。
【請求項１８】
前記処理回路が、前記第1の動作モードにおいて、前記2線シリアルバス上で送信されたシンボルのシーケンスの間にI2C開始状態を設けることによって、前記2線シリアルバス上でシンボルの前記シーケンスを送信するように構成され、前記I2C開始状態のタイミングが、前記I2Cプロトコルを使用する通信用に構成されたデバイス内の受信ロジックのリセットを引き起こす、請求項17に記載の装置。
【請求項１９】
前記処理回路が、
前記2線シリアルバス上で第1のI2C開始状態を送信することと、
前記第1のI2C開始状態が送信された後、前記2線シリアルバス上でシンボルの前記シーケンスを送信することと、
前記2線シリアルバス上で第2のI2C開始状態を送信することと
によって、前記2線シリアルバス上でシンボルの前記シーケンスを送信するように構成され、
前記2線シリアルバスを監視するI2C受信機が、前記第1のI2C開始状態の後、かつ前記第2のI2C開始状態の前に、前記2線シリアルバスのシリアルクロックライン(SCL)上で最大6クロックサイクルを知覚する、
請求項17に記載の装置。
【請求項２０】
前記処理回路が、
制御シーケンスが前記2線シリアルバス上で送信された後、前記第1の動作モードから前記第2の動作モードに変更すること
を行うように構成された、請求項11に記載の装置。
【請求項２１】
データ通信の方法であって、
第1のデバイスにおいて、2線シリアルバスが第1の動作モードで動作するとき、前記2線シリアルバスのシグナリング状態における遷移から受信クロックを導出するステップと、
前記第1のデバイスにおいて、前記受信クロックを使用して、前記第1の動作モードに従って前記2線シリアルバス上で送信されたシンボルのシーケンスを受信するステップであって、前記2線シリアルバスのシグナリング状態における前記遷移が、シンボルの前記シーケンス内のシンボル間の遷移に対応する、ステップと、
前記第1のデバイスにおいて、シンボルの前記シーケンスから遷移番号を生成するステップであって、前記遷移番号が複数の桁を有し、各桁がシンボルの前記シーケンス内の一対の連続するシンボル間の遷移を表す、ステップと、
前記第1のデバイスにおいて、前記遷移番号からデータを復号するステップと
を含み、
前記2線シリアルバスが前記第1の動作モードにある間に、前記2線シリアルバスに接続された第2のデバイスによりシンボルの前記シーケンスが無視され、前記第2のデバイスは、前記2線シリアルバスの第2の動作モードを使用して前記2線シリアルバス上で通信するように構成される、
方法。
【請求項２２】
前記遷移番号が12桁の3進数を備える、請求項21に記載の方法。
【請求項２３】
前記2線シリアルバスについて4つのシグナリング状態が定義され、前記3進数の各桁が、前記2線シリアルバス上の一対の連続するシグナリング状態間の関係を表す、請求項22に記載の方法。
【請求項２４】
シンボルの前記シーケンス内の各シンボルが、前記2線シリアルバスの前記シグナリング状態によって規定された4つのシンボルのうちの1つであり、前記3進数の各桁が、シンボルの前記シーケンス内の一対の連続するシンボル間の関係を規定する、請求項22に記載の方法。
【請求項２５】
前記2線シリアルバスが前記第1の動作モードで動作するとき、前記2線シリアルバスが、カメラ制御インターフェース拡張(CCIe)通信をサポートする多目的バスであり、前記2線シリアルバスが、前記第2の動作モードにおいて集積回路間(I2C)通信をサポートし、前記2線シリアルバスからシンボルの前記シーケンスを受信するステップが、
前記2線シリアルバス上のI2C開始状態を特定するステップと、
前記受信クロックによって画定されたタイミングに従って、前記2線シリアルバスからシンボルの前記シーケンスを受信するステップと
を含む、請求項21に記載の方法。
【請求項２６】
第1のデバイスを備える装置であって、前記第1のデバイスが、
複数の他のデバイスと共有されるように動作可能な2線シリアルバスに前記装置を結合するように適合されたバスインターフェースと、
2線シリアルバスのシグナリング状態における遷移から受信クロックを導出するように構成されたクロック復元回路と、
前記バスインターフェースに結合された処理回路と
を含み、前記処理回路が、
前記受信クロックを使用して、第1の動作モードに従って前記2線シリアルバス上で送信されたシンボルのシーケンスを受信することであって、前記2線シリアルバスのシグナリング状態における前記遷移が、シンボルの前記シーケンス内のシンボル間の遷移に対応する、受信することと、
シンボルの前記シーケンスから遷移番号を生成することであって、前記遷移番号が複数の桁を有し、各桁がシンボルの前記シーケンス内の一対の連続するシンボル間の遷移を表す、生成することと、
前記遷移番号からデータを復号することと
を行うように構成され、
前記2線シリアルバスが前記第1の動作モードにある間に、前記2線シリアルバスに接続され前記装置に含まれない第2のデバイスによりシンボルの前記シーケンスが無視され、前記第2のデバイスは、前記2線シリアルバスの第2の動作モードを使用して前記2線シリアルバス上で通信するように構成される、
装置。
【請求項２７】
前記遷移番号が12桁の3進数を備える、請求項26に記載の装置。
【請求項２８】
前記2線シリアルバスについて4つのシグナリング状態が定義され、前記3進数の各桁が、前記2線シリアルバス上の一対の連続するシグナリング状態間の関係を表す、請求項27に記載の装置。
【請求項２９】
シンボルの前記シーケンス内の各シンボルが、前記2線シリアルバスの前記シグナリング状態によって規定された4つのシンボルのうちの1つであり、前記3進数の各桁が、シンボルの前記シーケンス内の一対の連続するシンボル間の関係を規定する、請求項27に記載の装置。
【請求項３０】
前記2線シリアルバスが前記第1の動作モードで動作するとき、前記2線シリアルバスが、カメラ制御インターフェース拡張(CCIe)通信をサポートする多目的バスであり、前記2線シリアルバスが、前記第2の動作モードにおいて集積回路間(I2C)通信をサポートし、前記2線シリアルバスから受信されたシンボルの前記シーケンスが、少なくとも12個のシンボルを備え、I2C開始によって先行される、請求項26に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本特許出願は、2013年6月12日に出願された「Increasing Data Transfer Rate Over I2C Bus」と題する仮出願第61/834,151号、2013年6月19日に出願された「Camera Control Interface Extension Bus」と題する仮出願第61/836,777号、2013年10月2日に出願された「Simplifying Symbol Transcoding And Transmission Over CCIe Bus」と題する仮出願第61/886,002号、2014年6月11日に出願された「Camera Control Interface Extension Bus」と題する非仮出願第14/302,362号、および2014年6月11日に出願された「Camera Control Interface Extension Bus」と題する非仮出願第14/302,365号の優先権を主張し、これらの出願はすべて本出願の譲受人に譲渡され、参照により本出願に明確に組み込まれる。
【０００２】
本開示は、一般に、ホストプロセッサとカメラなどの周辺デバイスとの間のインターフェースに関し、より詳細には、クロック信号がマルチワイヤ共有バス上で伝達されるシンボルに埋め込まれるマルチモード動作に関する。
【背景技術】
【０００３】
I2CバスまたはI2Cバスと呼ばれる場合もある集積回路間シリアルバスは、低速周辺装置をプロセッサに接続する際に使用するためのものであったシリアルシングルエンドコンピュータバスである。I2Cバスは、I2Cバス上で送信される様々なメッセージに対して、各デバイスがマスタおよびスレーブとして働くことができるマルチマスタバスである。I2Cバスは、シリアルデータライン(SDA)およびシリアルクロックライン(SCL)を含む2つの双方向オープンドレインコネクタのみを使用して、データを送信することができる。コネクタは、通常、プルアップ抵抗器によって終端処理された信号線を含む。
【０００４】
I2Cバスの動作を管理するプロトコルは、メッセージの基本タイプを規定し、それらの各々はSTARTで開始し、STOPで終了する。I2Cバスは7ビットのアドレス指定を使用し、2つのタイプのノード、マスタおよびスレーブを規定する。マスタノードは、クロックを発生し、スレーブノードとの通信を開始するノードである。スレーブノードは、クロックを受信し、マスタによってアドレス指定されたとき応答するノードである。I2Cバスは、任意の数のマスタノードが存在できることを意味するマルチマスタバスである。加えて、マスタとスレーブの役割は、メッセージの間で(すなわち、STOPが送られた後)変更される場合がある。
【０００５】
I2Cバスの元の実装形態は、標準動作モードにおいて最高100キロビット毎秒(100kbps)のデータ信号速度をサポートしたが、最近の規格は、高速モードの動作において400kbps、高速モードプラスの動作において1メガバイト毎秒(Mbps)の速度をサポートする。しかしながら、いくつかのシステムおよび装置では、いくつかのタイプのデバイス間の通信をサポートするために、さらに高い帯域幅が必要とされる。たとえば、携帯電話などのモバイル通信デバイスは、かなりの帯域幅を消費するカメラ、ディスプレイ、および様々な通信インターフェースなどの複数のデバイスを使用する場合がある。より高い帯域幅は、レガシーデバイスとの互換性を維持するために従来のI2Cプロトコルが使用されるとき、取得することが困難な場合がある。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
モバイルデバイス内でマスタ構成要素とスレーブ構成要素とを接続するバスとして構成されたシリアルインターフェース上で最適化された通信を実現することが現在求められている。
【課題を解決するための手段】
【０００７】
以下で、本開示の1つまたは複数の態様の基本的な理解を与えるために、そのような態様の簡略化された概要が提示される。この概要は、本開示のすべての考えられる特徴の包括的な概観ではなく、本開示のすべての態様の主要または重要な要素を特定するものでも、本開示のいずれかまたはすべての態様の範囲を定めるものでもない。その唯一の目的は、後で提示されるより詳細な説明への導入として、本開示の1つまたは複数の態様のいくつかの概念を簡略化された形で提示することである。
【０００８】
本明細書で開示される実施形態は、従来のI2Cバスの動作と通常のI2Cバスを使用する高度通信インターフェースの両方をサポートするシリアルバスを使用して、通信インターフェースのパフォーマンスを向上させることができるシステム、方法、および装置を提供する。カメラ制御インターフェース(CCI)は、マスタと1つまたは複数のスレーブを接続するバスとして構成された、2線、双方向、半二重、シリアルインターフェースを使用して配備することができ、ここで、CCIの動作はI2Cバスの動作と互換性がある。本明細書で開示される一例では、CCI拡張(CCIe)デバイスは、2線、双方向、半二重、シリアルインターフェースを実現するために、I2Cバスを使用して配備することができる。CCIeデバイスは、バスマスタまたはスレーブとして構成することができる。CCIeデバイスは、I2Cバス上のI2Cデバイスと互換性があり得るか、または共存することができ、その結果、CCIeデバイスは、I2CデバイスがI2Cバスを監視しているときでも、CCIeプロトコルおよびシグナリング仕様を使用して、1つまたは複数の他のCCIeデバイスと通信することができる。本明細書で開示される一例は、同じバス上でCCIeデバイスとI2Cデバイスの両方が配備されたとき、単一のマスタでバス上の複数のスレーブを処理することができるインターフェースを提供する。後者の例では、2つ以上のCCIeデバイスはCCIeプロトコルを使用して通信することができ、I2Cデバイスとの任意の通信トランザクションは、I2Cバスのプロトコルを使用して行われる。
【０００９】
本開示の一態様では、本開示は、送信デバイス上で動作可能なデータ通信の方法を提供する。方法は、1組のビットから遷移番号を生成することと、遷移番号をシンボルのシーケンスに変換することと、2線シリアルバスが第1の動作モードで動作するとき2線シリアルバス上でシンボルのシーケンスを送信することとを含む。タイミング情報は、シンボルのシーケンス内のシンボル間の遷移内で符号化することができる。各遷移は、2線シリアルバスのシグナリング状態における変化を引き起こす場合がある。シンボルのシーケンスは、2線シリアルバスが第2の動作モードで動作するとき、2線シリアルバス上の通信用に構成されたデバイスによって無視される場合がある。シンボルのシーケンスは、12個のシンボルを含む場合がある。
【００１０】
別の態様では、遷移番号は複数桁の3進数を含む。3進数は、たとえば12個の桁を有する場合がある。遷移番号は、トランスコーダに3進数を与えることによって、シンボルのシーケンスに変換することができる。一例では、最初に3進数の最上位桁がトランスコーダに与えられ、最後に3進数の最下位桁がトランスコーダに与えられ、最上位桁と最下位桁との間の中間桁が重みの降順でトランスコーダに与えられる。別の例では、3進数の最上位桁が最後にトランスコーダに与えられる。2線シリアルバスについて4つのシグナリング状態を規定することができる。3進数の各桁は、3つの利用可能なシンボルのうちの1つから、2線シリアルバス上で送信されるべき次のシンボルを選択することができる。これら3つの利用可能なシンボルの各々は、2線シリアルバス上で送信されている現在のシンボルとは異なる。シンボルのシーケンス内で符号化されたタイミング情報により、受信機がシンボルのシーケンスから受信クロックを生成することが可能になる。
【００１１】
別の態様では、2線シリアルバスは、2線シリアルバスが第1の動作モードで動作するとき、CCIeプロトコルを使用する通信をサポートする多目的バスであり得る。2線シリアルバスは、第2の動作モードにおいてI2Cプロトコルを使用する通信をサポートすることができる。シンボルのシーケンスは、第1の動作モードにおいて2線シリアルバス上で送信されたシンボルのシーケンス間にI2C開始状態を設けることによって、2線シリアルバス上で送信することができる。開始状態は、I2Cプロトコルを使用する通信用に構成されたデバイス内の受信ロジックのリセットを引き起こす場合がある。シンボルのシーケンスは、第1のI2C開始状態が2線シリアルバス上で送信された後、2線シリアルバス上で送信することができる。シンボルのシーケンスは、第2のI2C開始状態によって2線シリアルバス上で続くことができる。2線シリアルバスを監視するI2C受信機は、第1のI2C開始状態の後、および第2のI2C開始状態の前に、2線シリアルバスのSCL上で最大6クロックサイクルを知覚することができる。
【００１２】
本開示の一態様では、装置は、複数の他の装置およびデバイスと共有されるように動作可能な2線シリアルバスに装置を結合するように適合されたバスインターフェースと、バスインターフェースに結合された処理回路とを含む。処理回路は、1組のビットから遷移番号を生成することと、遷移番号をシンボルのシーケンスに変換することと、2線シリアルバスが第1の動作モードで動作するとき2線シリアルバス上でシンボルのシーケンスを送信することとを行うように構成することができる。タイミング情報は、シンボルのシーケンス内のシンボル間の遷移内で符号化することができる。各遷移は、2線シリアルバスのシグナリング状態における変化を引き起こす。シンボルのシーケンスは、2線シリアルバスが第2の動作モードで動作するとき、2線シリアルバス上の通信用に構成されたデバイスによって無視される場合がある。
【００１３】
本開示の一態様では、データ通信の受信デバイス上で動作可能な方法は、2線シリアルバスが第1の動作モードで動作するとき2線シリアルバスのシグナリング状態における遷移から受信クロックを導出することと、受信クロックを使用して、第1の動作モードに従って2線シリアルバス上で送信されたシンボルのシーケンスを受信することと、シンボルのシーケンスから遷移番号を生成することと、遷移番号からデータを復号することとを含む。2線シリアルバスのシグナリング状態における遷移は、シンボルのシーケンス内のシンボル間の遷移に対応することができる。シンボルのシーケンスは、2線シリアルバスが第2の動作モードで動作するとき、2線シリアルバス上の通信用に構成されたデバイスによって無視される場合がある。シンボルのシーケンスは、12個のシンボルを含む場合がある。
【００１４】
別の態様では、遷移番号は複数の桁を有する場合があり、各桁はシンボルのシーケンス内の一対の連続するシンボル間の遷移を表す。遷移番号は、12桁の3進数を含む場合がある。2線シリアルバスについて4つのシグナリング状態を規定することができる。3進数の各桁は、2線シリアルバス上の一対の連続するシグナリング状態間の関係を表すことができる。シンボルのシーケンス内の各シンボルは、2線シリアルバスのシグナリング状態によって規定された4つのシンボルのうちの1つであり得る。3進数の各桁は、シンボルのシーケンス内の一対の連続するシンボル間の関係を規定することができる。
【００１５】
別の態様では、2線シリアルバスは、2線シリアルバスが第1の動作モードで動作するとき、CCIe通信をサポートする多目的バスであり得る。2線シリアルバスは、第2の動作モードにおいてI2C通信をサポートすることができる。シンボルのシーケンスは、2線シリアルバス上のI2C開始状態の発生を特定し、受信クロックによって画定されたタイミングに従って2線シリアルバスから12個のシンボルを受信することによって、2線シリアルバスから受信することができる。
【００１６】
本開示の一態様では、装置は、複数の他の装置と共有されるように動作可能な2線シリアルバスに装置を結合するように適合されたバスインターフェースと、2線シリアルバスのシグナリング状態における遷移から受信クロックを導出するように構成されたクロック復元回路と、バスインターフェースに結合された処理回路とを含む。処理回路は、2線シリアルバスが第1の動作モードで動作するとき2線シリアルバスのシグナリング状態における遷移から受信クロックを導出することと、受信クロックを使用して、第1の動作モードに従って2線シリアルバス上で送信されたシンボルのシーケンスを受信することと、シンボルのシーケンスから遷移番号を生成することと、遷移番号からデータを復号することとを行うように構成することができる。2線シリアルバスのシグナリング状態における遷移は、シンボルのシーケンス内のシンボル間の遷移に対応することができる。遷移番号は複数の桁を有する場合があり、各桁はシンボルのシーケンス内の一対の連続するシンボル間の遷移を表す。シンボルのシーケンスは、2線シリアルバスが第2の動作モードで動作するとき、2線シリアルバス上の通信用に構成されたデバイスによって無視される場合がある。
【００１７】
本開示の一態様では、システムまたはデバイスは、第1のラインおよび第2のラインを含むバスと、バスに結合されたデバイスの第1のセットと、バスに結合されたデバイスの第2のセットとを有する。バスを介して動作可能な方法は、第1の動作モードにおいて、データ送信に第1のラインを使用し、第1のクロック信号に第2のラインを使用するように、デバイスの第1のセットを構成することと、第2の動作モードにおいて、データ送信のシンボル遷移内に第2のクロック信号を埋め込みながら、データ送信に第1のラインと第2のラインの両方を使用するように、デバイスの第2のセットを構成することとを含む場合がある。デバイスの第1のセットおよびデバイスの第2のセットは、第1の動作モードと第2の動作モードの両方において、バスの少なくとも1つのラインを同時に監視することができる。
【００１８】
別の態様では、デバイスの第1のセット内のマスタデバイスは、第1の動作モードにおいて、デバイスの第1のセット内のスレーブデバイスに、バスの第1のラインを介してデータを送信する。デバイスの第2のセット内のマスタデバイスは、第2の動作モードにおいて、デバイスの第2のセット内のスレーブデバイスに、バスを介してデータを送信する。
【００１９】
別の態様では、第1の動作モードは、バスを介したデータ送信用の第1のプロトコルを実施し、第2の動作モードは、バスを介したデータ送信用の第2のプロトコルを実施する。
【００２０】
別の態様では、デバイスの第1のセット内のデバイスは、第2の動作モードにおいて有効なスレーブノードアドレスの検出を禁止するリセットインジケータを、第1のラインおよび第2のラインを介して受信する。第2の動作モードでは、データ送信は、デバイスの第1のセットにビットの有効なシーケンスを検出する前にそれらのバスロジックをリセットさせるリセットインジケータを、第1のラインおよび第2のラインに挿入することによって、定期的に中断することができる。
【００２１】
別の態様では、第1の動作モードの間、デバイスの第2のセット内のマスタノードは、デバイスの第2のセットに第2の動作モードへの切替えを示す第1のビットシーケンスを、第1のラインを介して送る。第2の動作モードの間、マスタノードは、デバイスの第2のセットに第1の動作モードへの切替えを示す退出シンボルシーケンスを、バスを介して送る場合がある。
【００２２】
別の態様では、バスはI2C互換バスである。第1の動作モードは、バスを介して1メガビット毎秒の最大ビットレートを有することができ、第2の動作モードは、6.4メガビット毎秒の最大ビットレートを有することができる。第1の動作モードは、バスを介して1メガビット毎秒の最大ビットレートを有することができ、第2の動作モードは、16.7メガビット毎秒の最大ビットレートを有することができる。
【００２３】
別の態様では、デバイスの第2のセット内のデバイスは、第1の動作モードと第2の動作モードの両方において動作することが可能である。
【００２４】
別の態様では、方法は、バスに結合されたすべてのアクティブデバイスが第3の動作モードで動作することが可能であるとき、バスを第3の動作モードで動作させることを含む。第3の動作モードでは、1つまたは複数のデバイスは、データ送信のシンボル遷移内にクロック信号を埋め込みながら、データ送信に第1のラインと第2のラインの両方を使用するように構成することができる。第1の動作モードは、バスを介したデータ送信用の第1のプロトコルを実施し、第2の動作モードは、バスを介したデータ送信用の第2のプロトコルを実施し、第3の動作モードは、バスを介したデータ送信用の第3のプロトコルを実施する。第3の動作モードは、バスを介して27.1メガビット毎秒の最大ビットレートを有することができる。
【００２５】
一態様では、バスは、ベースバンドプロセッサを含むデバイスの第2のセット内の第1のデバイスに結合され、イメージセンサを含むデバイスの第2のセット内の第2のデバイスに結合される。バスは、ベースバンドプロセッサとイメージセンサとの間で制御データ信号を搬送することができる。
【００２６】
別の態様では、デバイスの第2のセット内の各デバイスは、データビットのシーケンスを複数のM個の遷移番号に変換し、各遷移番号を連番のセットからの連番に変換し、バスを介して連番を送信するように適合される。連番は、2つの連番が同じではないことを保証するために、直前の遷移番号からの遷移に基づく遷移番号から選択することができる。各遷移番号は、複数の遷移番号を連番に変換することによって、連番のセットからの連番に変換することができる。
【００２７】
本開示の一態様では、プロセッサ可読記憶媒体は、1つまたは複数の処理回路によって実行されたとき、第1の動作モードにおいて、データ送信に第1のラインを使用し、第1のクロック信号に第2のラインを使用するように、第1のラインおよび第2のラインを有するバスに結合されたデバイスの第1のセットを構成することと、第2の動作モードにおいて、データ送信のシンボル遷移内に第2のクロック信号を埋め込みながら、データ送信に第1のラインと第2のラインの両方を使用するように、バスに結合されたデバイスの第2のセットを構成することとを1つまたは複数の処理回路に行わせる、デバイス上で動作可能な1つまたは複数の命令を含むか、記憶するか、または維持する。
【００２８】
本開示の一態様では、システムまたはデバイスは、第1のラインおよび第2のラインを含むバスと、バスに結合され、第1の動作モードにおいて、データ送信に第1のラインを使用し、第1のクロック信号に第2のラインを使用するように構成されたデバイスの第1のセットと、バスに結合され、第2の動作モードにおいて、データ送信のシンボル遷移内に第2のクロック信号を埋め込みながら、データ送信に第1のラインと第2のラインの両方を使用するように構成されたデバイスの第2のセットとを有する。
【図面の簡単な説明】
【００２９】
【図１】複数の利用可能な規格のうちの1つに従って選択的に動作するICデバイス間のデータリンクを使用する装置を描写する図である。
【図２】ベースバンドプロセッサおよびイメージセンサを有し、イメージデータバスおよびマルチモード制御データバスを実装するデバイスを示す図である。
【図３】共存するI2CモードデバイスおよびCCIeモードデバイスをサポートする多目的シリアルバスまたは共通シリアルバスを示す図である。
【図４】ICデバイス間のデータリンクを使用する装置用のシステムアーキテクチャを示す図である。
【図５】本明細書で開示されるいくつかの態様による送信機および受信機のいくつかの態様を示す図である。
【図６】シンボルのストリーム内の最下位シンボルが最初に送信されるとき、バイナリビットを3進数に変換するように構成されたロジックを示す図である。
【図７】シンボルのストリーム内の最上位シンボルが最初に送信されるとき、バイナリビットを3進数に変換するように構成されたロジックを示す図である。
【図８】12桁の3進数を複数のビットに変換するために使用され得る回路の例を示す図である。
【図９】本明細書で開示されるいくつかの態様による、データをトランスコードするための符号化方式を示す図である。
【図１０】レガシーI2Cプロトコルの典型的なI2Cビット転送サイクルを示す図である。
【図１１】従来のI2Cバス上のSDA信号線とSCL信号線との間の関係を示す図である。
【図１２】バスに接続されたデバイスがI2Cデバイスを含むときの共有バス上のCCIeモードにおけるデータ送信の例を示す図である。
【図１３】バス430上のデバイスがアクティブなI2Cデバイスを含まないときのCCIeバス上のデータ送信を示す図である。
【図１４】CCIe動作モード用に構成されたシリアルバス上の送信用のシンボルの生成を示す図である。
【図１５】I2Cの1バイト書込みデータ動作を示す図である。
【図１６】レガシーI2Cスレーブノード上の開始状態の効果の一例を示す図である。
【図１７】同じシリアルバス上の複数のモードにおいて通信することができる複数のデバイスを含むシステムを示す図である。
【図１８】レガシーI2Cのタイミングおよびシグナリングもサポートする共有シリアルバス上で動作することができるCCIeプロトコルの例に関連するいくつかのタイミングおよびシグナリングの態様を示す図である。
【図１９】CCIe信号がI2C Fm+モードに使用される同じ物理ドライバによって駆動されるときのFm+対応I2Cバス上のCCIeシンボルタイミングの一例を示す図である。
【図２０】I2C互換バスに結合されたCCIeデバイスによって使用され得るオープンドレインドライバの一例を示す図である。
【図２１】本明細書で開示されるいくつかの態様に従って適合され得る処理システムを使用する装置の一例を示すブロック図である。
【図２２】本明細書で開示される1つまたは複数の態様により、CCIeバス上で情報を送信するための方法のフローチャートである。
【図２３】本明細書で開示される1つまたは複数の態様により、CCIeバス上で情報を通信する送信装置のためのハードウェア実装形態の一例を示す図である。
【図２４】本明細書で開示される1つまたは複数の態様により、CCIeバスから情報を受信するための方法のフローチャートである。
【図２５】本明細書で開示される1つまたは複数の態様により、CCIeバス上で送信された情報を復号する受信装置のためのハードウェア実装形態の一例を示す図である。
【図２６】本明細書で開示される1つまたは複数の態様により、バスを使用するシステムまたはデバイスを動作させる方法のフローチャートである。
【発明を実施するための形態】
【００３０】
次に、図面を参照して様々な態様が記載される。以下の説明では、説明の目的で、1つまたは複数の態様の完全な理解をもたらすために多数の具体的な詳細が記載される。しかしながら、そのような態様が、これらの具体的な詳細なしに実践され得ることは明らかであり得る。
【００３１】
本出願で使用する「構成要素」、「モジュール」、「システム」などの用語は、限定はしないが、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアなどのコンピュータ関連エンティティを含むものとする。たとえば、構成要素は、限定はしないが、プロセッサ上で動作するプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラム、および/またはコンピュータであり得る。例として、コンピューティングデバイス上で動作するアプリケーションとコンピューティングデバイスの両方は、構成要素であり得る。1つまたは複数の構成要素は、プロセスおよび/または実行スレッド内に存在することができ、構成要素は、1つのコンピュータに局在化され、かつ/または2つ以上のコンピュータ間で分散される場合がある。加えて、これらの構成要素は、様々なデータ構造を記憶している様々なコンピュータ可読媒体から実行することができる。これらの構成要素は、信号によって、ローカルシステム、分散システム内の別の構成要素と対話し、かつ/またはインターネットなどのネットワークを介して他のシステムと対話する1つの構成要素からのデータなどの、1つまたは複数のデータパケットを有する信号に従うことなどによって、ローカルプロセスおよび/またはリモートプロセスによって通信することができる。
【００３２】
その上、「または」という用語は、排他的な「または」ではなく、包括的な「または」を意味するものとする。すなわち、別段の規定がない限り、または文脈から明白でない限り、「XはAまたはBを使用する」という句は、自然な包括的並べ替えのいずれかを意味するものとする。すなわち、「XはAまたはBを使用する」という句は、以下の例のいずれかによって満足される。XはAを使用する。XはBを使用する。XはAとBの両方を使用する。加えて、本出願および添付の特許請求の範囲で使用する冠詞「a」および「an」は、別段の規定がない限り、または単数形を示すことが文脈から明白でない限り、概して「1つまたは複数」を意味するものと解釈されるべきである。
【００３３】
本発明のいくつかの態様は、電話、モバイルコンピューティングデバイス、電気製品、自動車用電子機器、アビオニクスシステムなどの、装置の下位構成要素を含む場合がある電子デバイス間に配備される通信リンクに対して適用可能であり得る。図1は、ICデバイス間で通信リンクを使用することができる装置を描写する。一例では、装置100は、無線アクセスネットワーク(RAN)、コアアクセスネットワーク、インターネット、および/または別のネットワークとRFトランシーバを介して通信するワイヤレス通信デバイスを含む場合がある。装置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などのオペレータ制御に動作可能に結合される場合がある。
【００３４】
I2CとCCIeの両方の動作をサポートするバスアーキテクチャの例
図2は、ベースバンドプロセッサ204およびイメージセンサ206を有するデバイス202の簡略化された例を示すブロック図200である。イメージデータバス216およびマルチモード制御データバス208は、デバイス202内に実装することができる。図200は、単に例としてカメラデバイス202を示し、様々な他のデバイスおよび/または様々な機能が、制御データバス208を使用して、実施、動作、および/または通信することができる。描写された例では、イメージデータは、MIPIによって定義された「DPHY」、すなわち高速差動リンクなどのイメージデータバス216を介して、イメージセンサ206からベースバンドプロセッサ204に送ることができる。一例では、制御データバス208は、I2Cバスモードにおける動作用に構成可能な2本のワイヤを有する場合がある。それに応じて、制御データバス208は、SCL線およびSDA線を含む場合がある。SCLは、I2Cプロトコルに従って制御データバス208を介したデータ転送を同期するために使用され得るクロック信号を搬送することができる。データラインSDAおよびクロックラインSCLは、I2Cバス(制御データバス208)上で複数のデバイス212、214、および218に結合することができる。この例では、制御データは、制御データバス208を介して、ベースバンドプロセッサ204とイメージセンサ206との間、ならびに他の周辺デバイス218間で交換することができる。I2Cプロトコルによれば、SCL線上のクロック速度は、通常のI2C動作の場合最高100KHz、I2C高速モードの場合最高400KHz、およびI2C高速モードプラス(Fm+)の場合最高1MHzであり得る。I2Cバスを介したこれらの動作モードは、カメラの適用例に使用されるとき、カメラ制御インターフェース(CCI)モードと呼ばれる場合がある。
【００３５】
一態様によれば、カメラ動作をサポートするために、改善された動作モードをマルチモード制御データバス208上に実装することができる。改善された動作モードにより、データが1MHzよりも大きいレートで転送されることが可能になる場合があり、改善されたモードは、CCI拡張(CCIe)モードと呼ばれる場合がある。
【００３６】
一例では、CCIeバスは、CCIeバスの動作と互換性があるデバイスにより高いデータレートを提供するために使用することができる。そのようなデバイスはCCIeデバイスと呼ばれる場合があり、CCIeデバイスは、従来のCCIバスのSCLラインとSDAラインの両方を使用して送信されるシンボルとしてデータを符号化することによって、互いに通信するとき、より高いデータレートを達成することができる。CCIeは、カメラの適用例に使用することができる。CCIeデバイスおよびI2Cデバイスは、同じCCIeバス上で共存することができ、その結果、第1の時間間隔では、データはCCIe符号化を使用して送信することができ、他のデータは、I2Cのシグナリング規約およびプロトコルに従って、異なる時間間隔で送信することができる。
【００３７】
デバイス202がCCIeモード用に構成されたとき、ベースバンドプロセッサ204はマスタノード212を含み、イメージセンサ206はスレーブノード214を含み、マスタノード212とスレーブノード214の両方は、制御データバス208に結合された任意のレガシーI2Cデバイスの正常動作に影響を与えずに、制御データバス208を介してCCIeモードのプロトコルに従って動作する。制御データバス208は、CCIeデバイスとレガシーI2Cスレーブデバイスとの間のブリッジデバイスなしに、CCIeモードの動作をサポートすることができる。
【００３８】
一例では、制御データバス208上の第1の交換の間、レガシーI2Cデバイスは、第1のクロック、第1のバス速度、および/または第1の信号プロトコルを有する第1のモードで動作することができ、制御データバス208上の第2の交換の間、CCIe対応デバイスは、第2のクロック、第2のバス速度、および/または第2のプロトコルを有する第2のモードで動作することができる。第1のクロック、第1のバス速度、および/または第1の信号プロトコルは、第2のクロック、第2のバス速度、および/または第2のプロトコルとは異なる場合がある。たとえば、第2のクロックおよび/または第2のバス速度は、それぞれ、第1のクロックおよび/または第1のバス速度よりも速い、すなわち大きい速度を有する場合がある。
【００３９】
別の例では、すべてのスレーブデバイス218はCCIe対応デバイスであり得るし、その結果、第1の動作モードと第2の動作モードと間の切替えが必要ではない。すなわち、すべてのシグナリングおよび/または通信は、第2のクロックおよび/または第2のバス速度を使用し、第2のプロトコルを使用する第2のモードに従って実行することができる。第2のモードは第1のモードよりも大きいビットレートを実現することができるので、すべてのスレーブデバイス218がCCIe対応デバイスであるとき、第1のモードと第2のモードと間を切り替える必要または利点はない。場合によっては、第1のモードが適応される必要がないとき、第2のモードよりもさらに大きいビットレートを実現するが、I2Cデバイスとは互換性がない第3の動作モードが実装される場合がある。
【００４０】
図3は、共存するI2Cモードのデバイス3041〜304m、ならびにCCIeモードのデバイス312および3141〜314nをサポートする共通バス302を示すブロック図300である。I2Cモードのトランザクション308の場合、CCIe対応マスタデバイス312は、1Mbpsの最大データレートを取得するために、I2C Fm+またはCCIのプロトコルを使用して、バス302上でI2Cスレーブデバイス3041〜304mと通信することができる。CCIe対応マスタデバイス312は、完全なCCIまたはI2C Fm+の能力をサポートすることができるが、CCIe対応スレーブデバイス3141〜314nは、完全なI2Cの能力をサポートする必要がない場合がある。
【００４１】
CCIe対応マスタデバイス312はまた、CCIe対応スレーブデバイス3141〜314nとのCCIeモード通信306を確立することができる。CCIeモードは単一マスタの動作を可能にし、複数のマスタはサポートされない。CCIeモードでは、CCIeマスタデバイス312は、制御データバス302上でCCIe対応スレーブデバイス3141〜314nのみと通信する。CCIe対応デバイス312および3141〜314nは、CCIeモードにおいて、I2Cモードよりもかなり高いデータレートで通信することができる。たとえば、CCIe対応デバイス312および3141〜314nは、6.4Mbpsまたは16.7Mbpsのデータレートで通信することができる。
【００４２】
バス302について、デフォルトのスタートアップモードを構成または定義することができる。一例では、バス302は、電源投入、リセット、および/またはスタートアップ状態の後、CCIe動作モードで動作するように構成することができる。別の例では、バス302は、最初にレガシーI2Cモードで動作するように構成することができる。CCIe対応マスタデバイス312は、たとえば、CCIe対応スレーブデバイス3141〜314nへのアクセスが必要なとき、送信されたI2C一般呼を介して、バス302の動作モードをI2CモードからCCIeモードに切り替えさせることができる。CCIe対応マスタデバイス312は、バス302上のI2Cスレーブデバイス3041〜304mにアクセスするために、CCIeの「exit」プロトコルとI2C一般呼の組合せを介して、CCIeモードからI2Cモードに切り替えることができる。
【００４３】
CCIe動作に適合されたデバイスのいくつかの態様を示す例
図4は、CCIeバス430などの通信バスを使用することができる装置400のいくつかの態様を示すブロック概略図である。装置400は、ワイヤレスモバイルデバイス、携帯電話、モバイルコンピューティングシステム、ワイヤレス電話、ノートブックコンピュータ、タブレットコンピューティングデバイス、メディアプレーヤ、ゲーミングデバイスなどのうちの1つまたは複数において具現化される場合がある。装置400は、CCIeバス430を使用して通信する複数のデバイス402、420、および/または422a〜422nを含む場合がある。CCIeバス430は、CCIeバス430によってサポートされる強化された機能のために構成されたデバイス用に、従来のCCIバスの能力を拡張することができる。たとえば、CCIeバス430は、CCIバスよりも高いビットレートをサポートすることができる。本明細書で開示されたいくつかの態様によれば、CCIeバス430のいくつかのバージョンは、16.7Mbps以上のビットレートをサポートするように構成または適合することができ、CCIeバスのいくつかのバージョンは、少なくとも23メガバビット毎秒のデータレートをサポートするように構成または適合することができる。
【００４４】
図4に示された例では、イメージングデバイス402は、CCIeバス430上のスレーブデバイスとして動作するように構成される。イメージングデバイス402は、たとえば、イメージセンサを管理するセンサ制御機能404を実現するように適合することができる。加えて、イメージングデバイス402は、構成レジスタ406および/または他のストレージデバイス424、処理回路および/または制御ロジック412、トランシーバ410、ならびにラインドライバ/受信機414aおよび414bを含む場合がある。処理回路および/または制御ロジック412は、状態機械、シーケンサ、信号プロセッサ、または汎用プロセッサなどのプロセッサを含む場合がある。トランシーバ410は、受信機410a、送信機410c、ならびに、タイミング、ロジック、およびストレージの回路および/またはデバイスを含むいくつかの共通回路410bを含む場合がある。場合によっては、トランシーバ410は、エンコーダおよびデコーダ、クロックおよびデータの復元回路などを含む場合がある。
【００４５】
送信クロック(TXCLK)信号428が送信機410Cに供給される場合があり、ここで、TXCLK信号428は、CCIe通信モード用のデータ送信レートを決定するために使用することができる。SDA線418とSCL線416の両方が送信データを符号化するために使用されるとき、TXCLK信号428は、CCIeバス430上に送信されるシンボルのシーケンス内に埋め込むことができる。一例では、TXCLK信号428は、遷移クロックのトランスコーディングを使用して埋め込むことができ、それによって、物理リンク430を介して送信されるべきデータがトランスコードされ、その結果、CCIeバス430上に送信される連続するシンボルの各対の間で、少なくとも1つのワイヤ416および/または418の状態の変化が発生する。
【００４６】
図5は、本明細書で開示されるいくつかの態様に従って構成された送信機500および受信機520の一例を示すブロック図である。CCIeの動作の場合、送信機500は、データ510を3進(ベース3)遷移番号にトランスコードすることができ、3進遷移番号は、SCL416およびSDA418の信号線上に送信されるシンボルとして符号化される。描写された例では、入力データ510の各(データワードとも呼ばれる)データ要素は、19ビットまたは20ビットを有する場合がある。コンバータおよび/またはトランスコーダ502は、入力データ510を受信し、データ要素ごとに3進遷移番号を生成することができる。各3進遷移番号は、12個の3進数512のシーケンスとして供給される場合があり、各3進数は2ビットによって表される。エンコーダ504は、12個の3進数512のシーケンスを受信し、ラインドライバ506を介して送信される2ビットのシンボル514のストリームを生成する。描写された例では、ラインドライバ506は、オープンドレイン出力トランジスタ508を含む。しかしながら、他の例では、ラインドライバ506は、プッシュプルドライバを使用してSCL416およびSDA418の信号線を駆動することができる。エンコーダ504によって生成された2ビットのシンボル514の出力ストリームは、連続するシンボルのペアは2つの同一のシンボルを含まないことを保証することによって、連続するシンボル514間のSCL416およびSDA418の信号線のうちの少なくとも1つの状態における遷移を有する。少なくとも1つのワイヤ416および/または418における状態の遷移の可用性により、受信回路520が、シンボル536のストリームの受信されたバージョンからクロック情報を抽出し、データシンボル536のストリームから受信クロック538を導出することが可能になる。
【００４７】
CCIeシステムでは、受信機520は、クロックおよびデータ復元(CDR)回路528を含むか、またはそれと協働する場合がある。受信機520は、CDR回路528に未加工の2ビットシンボル536のストリームを供給するラインインターフェース526を含む場合がある。CDR回路528は、未加工のシンボル536から受信クロック538を抽出し、2ビットシンボル534のストリームおよび受信クロック538を、受信機520の他の回路524および522に供給する。いくつかの例では、CDR回路528は、複数のクロック538を生成することができる。一例では、CDR回路528は、SCL信号線416上および/またはSDA信号線418上の遷移を検出し、そのような検出に続いて受信クロック538の状態を切り替えるロジックを含む。CDR回路528は、同じシンボル境界におけるSCL信号線416およびSDA信号線418上の遷移が互いに遅延するときに受信クロック538の状態の複数の切替えを排除するために、ワンショットなどの時間依存回路、ディレイ回路、または他のそのような要素を含む場合がある。デコーダ524は、受信クロック538を使用して、シンボル534のストリームを12個の3進数のシーケンス532に復号することができ、各シーケンス532は遷移番号を表す。12桁の遷移番号532の各桁は、2ビットの3進数として表すことができる。次いで、トランスコーダおよび/またはコンバータ522は、12個の3進数の各シーケンス532を19ビットまたは20ビットの出力データ要素530に変換することができる。
【００４８】
いくつかの態様によれば、入力バイナリデータ510と遷移番号を表す3進数のシーケンス512との間、および/または遷移番号532と出力データビット530との間の変換は、コンバータ502および522によって実行される。一例では、送信機500におけるデータビット510から遷移番号への変換、および次いで受信機520における遷移番号からデータビット530への変換は、2線インターフェース430用の12個の遷移シンボルを要する。セットまたはシーケンス{T11,T10,…,T2,T1,T0}内の遷移番号Tごとに生じるr個の可能なシンボル遷移状態は、12個の遷移番号に合計r12個の異なる状態を与える。2線バスの場合、各シグナリング状態から得られる遷移状態の数はr=22-1である。その結果、遷移のシーケンス{T11,T10,…,T2,T1,T0}は、(22-1)12=312=531441個の異なる状態を有するデータを符号化することができる。この後者の例では、12桁の3進数{T11,T10,…,T2,T1,T0}内の各遷移Tiは、{0,1,2}から選択される。
【００４９】
たとえば、{T11,T10,…,T2,T1,T0}={2,1,0,0,1,1,0,1,0,1,2,1}の場合、12個の遷移シーケンスを表す3進数は、
2100_1101_01213(3進数)
=2×311+1×310+0×39+0×38
+1×37+1×36+0×35+1×34
+0×33+1×32+2×31+1×30
=416356(0x65A64)
である。
このようにして、遷移番号の12個の3進数は、20ビットのデータ出力530に変換することができる。
【００５０】
図5に示された2線システムの例では、12個のシンボルの遷移番号は、n線システムおよびm個のシンボルの遷移番号に一般化することができる。セットまたはシーケンス{Tm-1,…,T1,T0}内の遷移番号Tごとにr個の可能なシンボル遷移状態が存在するとき、m個の遷移シーケンスは、rm個の異なる状態を符号化することができ、ここでr=2n-1である。結果として、シーケンス{Tm-1,…,T1,T0}は、最高(2n-1)m個の異なる状態を有するデータを符号化することができる。
【００５１】
一例では、2線、12シンボルのインターフェース内のシンボルの遷移番号532の3進数表現は、以下のように、2進数の出力データビット530に変換することができる。
Bits=T11x311+T10x310+T9x39+T8x38+T7x37+T6x36
+T5x35+T4x34+T3x33+T2x32+T1x3+T0。
【００５２】
送信機500において、2線、12シンボルのインターフェース内のSCL線416およびSDA線418上の送信用のシンボル514として符号化され得る3進数512にデータビット510を変換するためのアルゴリズム。このアルゴリズムは、遷移番号(Ti)の値をそれらの対応する余り(Mi)とともに、降順で反復的に計算することができる。すなわち、各桁は、以下のように、より高い桁の計算によって使用されたモジュロ演算の余りを3の桁数の累乗で除算し、少数点以下の数を廃棄することによって計算することができる。
T11=Bits/311,M11=Bits%311。
T10=M11/310,M10=M11%310。
T9=M10/39,M9=M10%39。
T8=M9/38,M8=M9%38。
T7=M8/37,M7=M8%37。
T6=M7/36,M6=M7%36。
T5=M6/35,M5=M6%35。
T4=M5/34,M4=M5%34。
T3=M4/33,M3=M4%33。
T2=M3/32,M2=M3%32。
T1=M2/3,M1=M2%3。
T0=M1。
【００５３】
この後者のアルゴリズムは、以下から合成することができる。
T11=(Bits≧311x2)?2:(Bits≧311)?1:0,M11=Bits-T11x311。
T10=(M11≧310x2)?2:(M11≧310)?1:0,M10=M11-T10x310。
T9=(M10≧39x2)?2:(M10≧39)?1:0,M9=M10-T9x39。
T8=(M9≧38x2)?2:(M9≧38)?1:0,M8=M9-T8x38。
T7=(M8≧37x2)?2:(M8≧37)?1:0,M7=M8-T7x37。
T6=(M7≧36x2)?2:(M7≧36)?1:0,M6=M7-T6x36。
T5=(M6≧35x2)?2:(M6≧35)?1:0,M5=M6-T5x35。
T4=(M5≧34x2)?2:(M5≧34)?1:0,M4=M5-T4x34。
T3=(M4≧33x2)?2:(M4≧33)?1:0,M3=M4-T3x33。
T2=(M3≧32x2)?2:(M3≧32)?1:0,M2=M3-T2x32。
T1=(M2≧3x2)?2:(M2≧3)?1:0,M1=M2-T1x3。
T0=M1。
【００５４】
図6は、シンボルのストリーム内の最下位シンボルが最初に送信されるとき、バイナリ入力データビット510を3進遷移番号512に変換するための例示的なロジック620および640を示す。ロジック620、640は、コンバータ502に実装することができる。簡略化されたブロック図600に示されたように、コンバータ502によって生成された各3進遷移番号512は、入力データビット510内のビットの数から導出することができ、各3進遷移番号512は、12個の数(T0,T1…T11)602を含む場合がある。3進数512は、その後、受信デバイス520に送信されるシンボル514にトランスコードされる。数を表すT0,T1…T11を有する12桁の3進遷移番号の場合、T0は30の桁を表し、最下位桁であり、T11は311の桁を表し、最上位桁である。図5に関して説明されたように、これらの3進遷移番号512は、受信デバイス520に送信される次のシンボル514にクロックとともに埋め込まれ、符号化される。論理図620および論理回路640は、入力データビット510を「最下位シンボル優先」3進遷移番号512のストリームに変換する。
【００５５】
図7は、シンボルのストリーム内の最上位シンボルが最初に送信されるとき、バイナリ入力データビット510を3進遷移番号712に変換するためのロジック720を示す。ロジック720は、コンバータ704に実装される場合がある(図5のコンバータ502と比較)。簡略化されたブロック図700に示されたように、コンバータ704によって生成された各3進遷移番号712は、入力データビット510内のビットの数から導出することができ、各3進遷移番号712は、12個の数(T0,T1…T11)702を含む場合があり、それによって、T0は30の桁を表し、最下位桁であり、T11は311の桁を表し、最上位桁である。3進遷移番号712は、その後、受信デバイスに送信されるシンボルにトランスコードされる。
【００５６】
この例では、変換はT11で開始する。図6はT0、T1、T2、…、T11の順序で送られる12桁の3進数602を示すが、図7は、12桁の3進数702がT11、T10、T9、…、T0の順序で送られる例に関する。図6の例示的なロジック620および640と図7の回路720との間で、いくつかの差異が識別可能である。図6の回路640は、24個のフリップフロップを含み、マルチプレクサ、20個のフリップフロップ、および論理デバイスを含む図7の回路720と比較して極めて複雑である。したがって、論理ゲートの減少の故に、最上位ビットが最初に送られるとき、関係するロジックおよび回路が複雑さにおいて簡略化され、高価ではない。
【００５７】
述べられたように、図6のロジック620、640は、最下位シンボルが最初に受信デバイスに送信されるので、最下位シンボル優先(LSS優先)のロジックおよび回路を示すが、図7のロジック720は、最上位シンボルが最初に受信デバイスに送信される(MSS優先)例を示す。本明細書では、「最下位シンボル」は、3進数の最下位桁に対応するトランスコードされたシンボルを指す。たとえば、T0が連続シンボルにトランスコードされるとき、そのシンボルは、最下位3進数から発生したので最下位シンボルである。そして、シンボル遷移番号コンバータ(たとえば、図5のトランスコーダ524)が次いで、トランスコードされた(連続)シンボルを遷移番号532、すなわち1つの3進数に変換するとき、それは最下位桁である。同様に、本明細書では、「最上位シンボル」は、3進数の最上位桁に対応するトランスコードされたシンボルを指す。
【００５８】
図8は、12桁の3進数を出力ビット824に変換するために使用され得る回路800の例を示す。本明細書に記載されたように、たとえば、19ビットまたは20ビットの元データ510は、逆順で3進遷移番号に変換することができ、それによって、最上位ビットが最初にコンバータに供給される(図7および説明参照)。遷移番号は、逆順で再び連続シンボルに変換(すなわち、トランスコード)することができ、これらのトランスコードされたシンボルは逆順でバス上で送信される。受信デバイス(たとえば、スレーブデバイス)は、逆順送信を受信し、クロック復元およびシンボルサンプリングを実行して、トランスコードされたシンボルを3進数に逆変換し、次いで、3進数は逆順で回路に供給され、回路は3進数を20ビットバイナリの元データに逆変換する。回路800は、論理デバイスへの単出力に結合された12個の入力を有するマルチプレクサ802を使用することができる。
【００５９】
最上位シンボル優先動作モードと最下位シンボル優先動作モードとの間の選択は、カウンタ850がカウントする方向によって制御することができる。たとえば、カウンタ850が16進「0xB」(すなわち、10進「11」)から減分するダウンカウンタとして動作するように構成または制御されるとき、最上位シンボルを最初に処理することができる。カウンタ850が16進「0x0」(すなわち、10進「0」)から増分するアップカウンタとして動作するように構成または制御されるとき、最下位シンボルを最初に処理することができる。代替または追加として、マルチプレクサ802への入力の順序は、マルチプレクサ802がカウンタ850の出力(DELCNT)814に応答して出力3進遷移番号の必要な順序を生成するように、構成することができる。
【００６０】
カウンタ850は、システムクロックおよび/またはCDR回路528の出力から導出され得るクロックに同期されたレジスタまたはラッチ860を使用して、DELCNT814の出力を供給することができる。レジスタ860は、クロック850を初期化する制御信号(START信号)864に基づいて、次の値または開始値の間で選択する第1のマルチプレクサロジック858から、4ビットの入力を受信する。開始値は、コンバータが最上位シンボル優先モードで動作するとき、0xBにセットすることができ、コンバータが最下位シンボル優先モードで動作するとき、0x0にセットすることができる。第1のマルチプレクサロジック858は、終了検出ロジック854による終了状態の検出に基づいて、DELCNT814の出力の修正バージョンとDELCNT814の出力との間を選択する第2のマルチプレクサロジック856から、次の値を受信する。第2のマルチプレクサ856の修正された入力は、カウントダウン動作用の減算ロジックによって、またはカウントアップ動作用の加算ロジックから供給される得る、関数852の結果であり得る。描写されたように、第2のマルチプレクサロジック856は、DELCNT814の出力が0x0から現在の変換の終了を示す0xFに減分された後、DELCNT814の出力を繰り返す。カウントダウン動作モードの場合、終了検出ロジック854aは、DELCNT814上の0xF値を検出するように構成することができ、終了検出ロジック854aは、第2のマルチプレクサロジック856の出力を切り替えて、START信号864が開始値がロードされるようにするまで、0xFに留まらせる。カウントアップ動作の場合、終了検出ロジック854bは、DELCNT814上の0xC(10進「12」または2進「1100」)値を検出するように構成することができる。
【００６１】
CCIe符号化の例
図9は、3進遷移番号512からシンボルのシーケンス514を生成するために、トランスコーダ504によって使用され得る符号化方式900を示す図面であり、ここで、シンボルのシーケンス514は、クロック情報を埋め込んでおり、CCIeバス430上の送信用である。符号化方式900はまた、CCIeバス930上に送信されたシンボル534から3進遷移番号532を抽出するために、トランスコーダ524によって使用することができる。CCIe符号化方式900では、CCIeバス430の2本のワイヤにより、4つの基本シンボルS:{0,1,2,3}の規定が可能になる。シンボルのシーケンス514、534内の任意の2つの連続するシンボルは様々な状態を有し、シンボルシーケンス0,0、1,1、2,2、および3,3は、連続するシンボルの無効な組合せである。したがって、各シンボル境界で3つのみの有効なシンボル遷移が可能であり、ここで、シンボル境界は送信クロックによって決定され、第1のシンボル(前のシンボルPs)922が終了し、第2のシンボル(現在のシンボルCs)924が開始するポイントを表す。
【００６２】
本明細書で開示されたいくつかの態様によれば、3つの可能な遷移は、Psシンボル922ごとに遷移番号(T)926を割り当てられる。T926の値は、3進数によって表すことができる。一例では、遷移番号926の値は、符号化方式用のシンボル順序付けサークル902を割り当てることによって決定される。シンボル順序付けサークル902は、4つの可能なシンボル用のサークル902上のロケーション904a〜904d、およびロケーション904a〜904dの間の回転906の方向を割り振る。描写された例では、回転906の方向は時計回りである。遷移番号926は、有効な現在のシンボル924と直前のシンボル922との間の離隔を表すことができる。離隔は、前のシンボル922から現在のシンボルCs924に到達するために必要なシンボル順序付けサークル902上の回転906の報告に沿ったステップの数として定義することができる。ステップの数は、単一の桁の3進数として表現することができる。
【００６３】
シンボル間の3ステップの差分は、0base-3として表すことができることが諒解されよう。図9のテーブル920は、この手法を使用する符号化方式を要約する。この例では、遷移番号Tは、以下に従って割り当てることができる。
Ttmp[1:0]=4+Cs-Ps
T=Ttmp[1:0]==3?0:Ttmp[1:0]
反対に、現在の連続シンボル(Cs)は、以下に従って割り当てることができる。
Ttmp=T==0?3:T
Cs=Ps+Ttmp。
【００６４】
未加工のシンボルが変化することを保証する任意のn個(たとえば、n=4、5、6、...)用の遷移番号テーブルへの連続シンボルのマッピングを構築することによって、nワイヤシステムに同様の手法を使用することができる。たとえば、nワイヤシステムの場合、遷移番号Tは、以下に従って割り当てることができる。
T=(Ps≦Cs)?Cs-Ps:2n+Cs-Ps。
反対に、nワイヤシステムの場合、現在の連続シンボル(Cs)は、以下に従って割り当てることができる:
Cstmp=Ps+T
Cs=(Cstmp<2<38n)?Cstmp:Cstmp-2n。
【００６５】
送信機500において、前に生成されたシンボル922、および遷移番号926として使用される入力3進数を知ると、テーブル920は、送信されるべき現在のシンボル924を検索するために使用することができる。受信機520において、テーブル920は、前に受信されたシンボル922と現在受信されたシンボル924との間の遷移を表す遷移番号926を決定する索引として使用することができる。遷移番号926は、3進数として出力することができる。
【００６６】
図10および図11は、レガシーI2Cインターフェースのいくつかの態様を示す。図10は、レガシーI2Cプロトコルの典型的なI2Cビット転送サイクルを示すタイミング図1000である。SCLライン416は、マスタノードからスレーブノードにクロック信号を送ることに特化することができる。SDAライン418は、最後に受信機によって供給されたACK1008を有する7ビットシーケンスを転送するように働くことができる。I2Cプロトコルは、8ビットのデータ(バイト)、および読取り動作または書込み動作のいずれが命令されたかを示すビットを有する7ビットアドレスの送信を実現する。データ送信は、低のシグナリング状態が受信成功を示す肯定応答(ACK)を表し、高のシグナリング状態が受信失敗または受信エラーを示す否定応答(NACK)を表すように、1つのクロック期間の間SDA信号線418を駆動する受信機によって確認応答される1008。SCLライン416上のクロックサイクルごとに、1つのデータビット1004、1006、またはACK(1008)が送信される。一例では、SCLライン416のクロック状態が高の論理状態1002であるとき、データビット状態1004はSDAライン418から読み取ることができる。
【００６７】
図11は、従来のI2Cバス上のSDA信号線とSCL信号線との間の関係を示すタイミング図であり、図面は、従来のI2Cバス上のSDA信号線418とSCL信号線416との間の関係を示すタイミング図1100およびタイミング図1120を含む。第1のタイミング図1100は、従来通りに構成されたI2Cバス上でデータが送信されている間の、SDA信号線418とSCL信号線416との間のタイミング関係を示す。SCL信号416は、SDA信号線418内のデータをサンプリングすために使用され得る一連のクロック制御パルス1112を供給する。SCL信号線416がデータ送信の間論理高状態にあるとき、SDA信号線418上のデータは安定し有効である必要があり、その結果、SCL信号線416が高状態にあるとき、SDA信号線418の状態は変化することが許されない。
【００６８】
従来のI2Cプロトコル実装形態用の仕様は、SCL信号線416上の各パルス1112の高の期間の間の最小継続時間(tHIGH)1110を規定し、ここで、パルス1112は、SCL信号線416が高の論理状態にあるときの時間に対応する。I2C仕様はまた、SDA信号線418が高の論理状態にある間のパルス1112の前後にSDA信号線418のシグナリング状態が安定していなければならない間の、セットアップ時間用の最小継続時間(tSU;DAT)1106および保持時間用の最小継続時間(tHD;DAT)1108を規定する。セットアップ時間1106は、SCL信号線416上のパルス1112の立上りエッジの到来まで、SDA信号線418上のシグナリング状態間の遷移1116の後の最大時間期間を規定する。保持時間1108は、SDA信号線418上のシグナリング状態の間の次の遷移1118まで、SCL信号線416上のパルス1112の立下りエッジの後の最小時間期間を規定する。I2C仕様はまた、SDA信号線418のシグナリング状態が変化する可能性があるときのSCL信号線416用の低の期間(tLOW)1114の間の最小継続時間を規定する。SDA信号線418上のデータは、通常、SCL信号線416がパルス1112の立上りエッジの後、高の論理状態にあるときの時間期間(tHIGH)1110の間取り込まれる。
【００６９】
図11の第2のタイミング図1120は、従来のI2Cバス上のデータ送信の間のSDA信号線418およびSCL信号線416上のシグナリング状態を示す。I2Cプロトコルは、SCL信号線416が高の状態を維持する間にSDA信号線418が高から低に遷移する、開始状態またはシーケンス1122を規定する。I2Cプロトコルは、SCLライン416が高である間にSDAラインが低から高のシグナリング状態に遷移する、終了状態またはシーケンス1124を規定する。本明細書で述べられたように、SDA信号線418のシグナリング状態は、データが送信されているとき、SCL信号線416上に送信されるパルス1112の高の期間の間、安定したままであると予想される。したがって、SCL信号線416が高の論理状態にある間のSDA信号線418の遷移は、開始状態1122または終了状態1124としてスレーブデバイスによって解釈することができる。
【００７０】
開始状態1122は、そのデータが送信されるべきと現在のバスマスタがシグナリングすることを可能にするように規定される。I2C互換スレーブノードは、開始状態1112を受信すると、それらのバスロジックをリセットしなければならない。開始状態1112は、SCL信号線416が高である間にSDA信号線418が高から低に遷移するときに発生する。I2Cバスマスタは、最初に開始状態1122を送信し、その後に、I2Cスレーブデバイスがデータを交換したいI2Cスレーブデバイスの7ビットアドレスが続く。アドレスの後に、読取り動作または書込み動作のいずれが発生すべきかを示す単一ビットが続く。アドレス指定されたI2Cスレーブデバイスは、利用可能な場合、ACKビットで応答する。マスタおよびスレーブのI2Cデバイスは、次いで、フレーム内の情報のバイトを交換し、フレーム内で、最上位ビット(MSB)1004が最初に送信され、最下位ビット1006が最後に送信されるように、バイトはシリアル化される。バイトの送信は、終了状態1124がI2Cマスタデバイスによって送信されたときに完了する。終了状態1124は、SCL信号線416が高である間にSDA信号線418が低から高に遷移するときに発生する。I2Cプロトコルは、SDA信号線418のすべての遷移が、SCL信号線416が低であるとき発生することを必要とし、例外は、開始状態1122または終了状態1124として扱うことができる。
【００７１】
レガシーI2Cプロトコルが使用されるとき、共有シリアルバス430の2本のワイヤ416、418で、サイクル当たり1ビットの情報のみが送られる。すなわち、ワイヤ当たりサイクル当たり、0.5ビットの情報のみが送信される。本明細書で開示された態様によれば、送信されるシンボル内にクロックを埋め込みながら、SDAライン418およびSCLライン416の両方でデータを送信することによって、改善されたデータレート(すなわち、ワイヤ当たりサイクル当たり、0.5ビットよりも大きい情報)を取得することができる。クロック情報は、位相ロックループ(PLL)を使用せずに、受信機において抽出することができる。
【００７２】
図12は、バス430に接続されたデバイス402、420、422a〜422nがI2Cデバイスを含むときの共有バス430上のCCIeモードにおけるデータ送信の例を示すタイミング図1200である。この例では、CCIeデバイスは、I2Cデバイスによって使用されるオープンドレインドライバではなく、プッシュプルドライバを使用して信号線418、416を駆動する。データは、信号線418、416上に送信されるシンボルのシーケンス1206、1208内で符号化される。事実上約14メガビット毎秒(Mbps)のデータレートは、シンボルレートが20MHzであるとき、CCIe送信用に実現することができる。本明細書に記載されたように、19ビットのデータは、12個のシンボルのシーケンス1206、1208に変換することができ、シンボルのシーケンス1206または1208内でシンボル期間(tsym)1212ごとに、SDA信号418およびSCL信号416の状態を制御する。描写されたように、各シンボル期間1212は、50nsの継続時間であり得る。一例では、19ビットは、16ビットのデータを含み、3ビットのオーバーヘッドを有する。
【００７３】
連続するシンボルのシーケンス1206と1208との間のタイミングは、I2Cデバイスの動作を管理するプロトコルを満足するために必要な時間期間によって支配される場合がある。一例では、開始状態1210は各送信1206、1208に先行し、少なくとも260nsの継続時間(tHD)を有する。開始状態1210は、SCL信号416が高のままである間にSDA信号418が低に保持されるように、「1」のシンボル値によって規定することができる。「3」のシンボル値によって規定されるように、信号418と416の両方が高状態にあるとき、開始状態1210は、最小セットアップ期間(tSU)1216に続くことができる。最小セットアップ期間(tSU)1216は、送信1206または1208が終了した後に始まることができ、最小セットアップ期間(tSU)1216は、少なくとも260nsの間維持することができる。したがって、第1の送信1206の開始と第2の送信1208の開始との間の最小経過時間1214は、以下のように計算することができる。
tword=tHD+tSU+12×tsym=(260+260+12×(50))ns=1120ns。
さらなる名目の20nsが、セットアップ時間と開始時間との間の信号立下り時間(tf)のために含まれる場合がある。信号立下り時間は、以下のように計算することができる。
【００７４】
【数１】
0006257757.tif 000002
【００７５】
したがって、16ビットは12個のシンボルで送信されるので、19ビットのデータは、対応する約16.7Mbpsの未加工のビットレートおよび約14.04Mbpsの有用なビットレートを用いて、1140nsの最小値で送信することができる。
【００７６】
CCIeデバイスのみが通信に関与するときよりも、I2Cデバイスがバス430上で適応されるときの方が、送信1206と1208との間の最小必要時間はかなり大きい。図12は、I2Cデバイス用の後方互換を提供するために、I2Cのセットアップ時間および開始時間を追加する増大された時間1224を示すタイミング図1220を含む。
【００７７】
図13は、バス430上のデバイス402、420、422a〜422nがアクティブなI2Cデバイスを含まないときのCCIeバス430上のデータ送信を示すタイミング図1300である。開始状態の継続時間を削減するができる。この例では、信号線418、416を駆動するためにプッシュプルドライバが使用される。20MHzのシンボルレートを用いて、22.86Mbpsのリンクレートを実現することができる。12シンボルのシーケンス1306、1308は、16ビットのデータおよび3ビットのオーバーヘッドを符号化する。12シンボルのシーケンス1306、1308内の各シンボルは、シンボル期間(tsym)1310ごとにSDA信号418およびSCL信号416の状態を規定する。各シンボル期間1310は、20MHzのシンボルクロックの場合50nsの継続時間である。連続するシンボルのシーケンス1306と1308との間の期間1314内で、2シンボルのシーケンス{3,1}が終了する。第1の送信1306の開始と第2の送信1308の開始との間の最小経過時間1312は、以下のように計算される。
tword=14×tsym=700ns。
プッシュプルドライバを有するCCIeデバイスが使用されるとき、16個のデータビットは各々12シンボルのワード1306、1308で送信されるので、約27.1Mbpsの未加工のビットレートおよび約22.86Mbpsの有用なビットレートの条件で、19ビットのデータは700nsで送信することができる。
【００７８】
図14は、CCIeインターフェースとして構成されたシリアルバス430に関連するいくつかの態様を示す。タイミング図1400は、図5に描写されたCCIeの送信機500および受信機520に関連するシグナリングに対応する。タイミング図1400は、データ送信中にSDA線418およびSCL線416上に送信されるシンボルのシーケンス1408に送信クロック(TXCLK)1422が埋め込まれる例を示す。一例では、クロック情報は、遷移クロックのトランスコーディングを使用してシンボルのシーケンス1408に埋め込むことができる。たとえば、物理リンク430を介して送信されるべきデータ510は、送信されるシンボル1408の各シンボルサイクルの後に状態変化が発生するように、トランスコードされる。その結果、TXCLK1422は、たとえば、シンボルS7 1408dに関連するシンボル境界1414および1416を含むすべてのシンボルサイクルのシンボル境界において発生するシンボル状態の変化に埋め込むことができる。受信機520は、送信されたシンボルのシーケンス1408内の各シンボル境界1414、1416における状態遷移から復元されたクロック情報から、受信クロック(RXCLK)1412を生成することができる。次いで、受信機520は、送信されたシンボル1408のトランスコーディングを逆転させて、元データ530を取得することができる。これにより、I2Cバス430の両方のワイヤがデータを送るために使用されることが可能になる。加えて、クロック信号とデータ信号との間の(図11に示された)セットアップ時間および保持時間を有する必要がもはやないので、シンボルレートをかなり増大することができる。
【００７９】
タイミング図1400に描写された例では、データ510は、12シンボルのシーケンスまたは間隔1406内で送信されるシンボル1408のストリーム内で符号化することができる。各12シンボルのシーケンス1406は、開始シンボル1408aおよび終了またはセットアップシンボル1408cを含む。セットアップシンボル1408cと開始シンボル1408aの組合せは、CCIeバス上で送信される12シンボルのシーケンス1406の間にシンボルのシーケンス{3, 1}を形成する。本明細書に記載されたように、シンボルのシーケンス1406内の任意の2つの連続するシンボルは、共有バス430上で異なるシグナリング状態を生成し、その結果、受信機は、12シンボルのシーケンス1406内のシンボル境界1414、1416において発生するシンボル遷移から、RXCLK1412を駆動することができる。本明細書に記載されたように、シンボル間の遷移は遷移番号1410から識別することができる。CCIeエンコーダは、12シンボルのシーケンス1408、開始シンボル1408a、およびセットアップシンボル1408bを生成することができる。
【００８０】
いくつかの態様によれば、シリアルバス430は、同時にI2CデバイスとCCIeデバイスの両方をサポートすることができる。本明細書で述べられたように、通信のI2Cモードの場合SCL信号線416上のクロック信号として送信されるはずのクロック情報は、シンボル遷移内に埋め込むことができ、それによって、SCL信号線416の使用がシンボル情報を搬送ために使用されることが可能になる。I2Cプロトコルのいくつかのシグナリング特性は、I2CモードおよびCCIeモード用の共有バス430の能力を有効にするように活用することができる。たとえば、I2Cプロトコルは、すべてのI2C互換スレーブノードが、SCLライン416が高である間にSDAライン418上の高から低への遷移が起きたときに発生する開始状態を受信すると、それらのバスロジックをリセットしなければならないことを必要とする。
【００８１】
CCIe通信およびI2C通信用に動作可能なバス上のシグナリングの例
図15は、I2Cの1バイト書込みデータ動作を示すタイミング図1500である。I2Cマスタノードは、SDAライン418上に7ビットのスレーブID1502を送信して、I2Cバス430上のどのスレーブノードにマスタノードがアクセスしたいかを示し、その後に、動作が読取り動作か書込み動作かを示す読取り/書込みビット1512が続く。読取り/書込みビット1512は、論理0で書込み動作を示し、論理1で読取り動作を示す。IDが7ビットのスレーブID1502と一致するスレーブノードのみが、書込み(または読取り)動作に応答することができる。I2Cスレーブノードがそれ自体のID1502を検出するために、マスタノードは、SCLライン416上の8個のクロックパルスと一緒に、SDAライン418上に少なくとも8ビットを送信する。レガシーI2CスレーブノードがCCIe動作に反応することを防止するために、CCIe動作モードでデータを送信するようにこの挙動を活用することができる。
【００８２】
図16は、レガシーI2Cスレーブノード上の開始状態1606、1608、または1610の効果を示す一例1600を提供し、ここで、開始状態1606、1608、または1610は、SCLライン416が高のシグナリング状態にある間のSDAライン418上の高から低へのシグナリング状態の遷移によって示される。この例1600では、いくつかの開始状態1608または1610は、完全な7ビットのスレーブIDが送信される前に検出することができる。結果として生じた不完全なスレーブID1602、1604は、いかなるスレーブデバイスによっても認識されない。動作中、SCLライン416上に6個のみのパルス1612を送った後、開始状態1608、1610を発行するマスタノードの効果には、SDAライン418上でそれぞれのI2CスレーブIDを認識する可能性が起こる前に、すべてのレガシーI2Cスレーブノードにそれらのバスロジックをリセットさせることが含まれる。言い換えれば、2つの開始状態1606、1608および/または1610の間で送られたSDAライン418上の6ビットのシーケンス1602、1604は、スレーブノードのうちのいずれによっても有効なスレーブIDとして復号されない。その結果、レガシーI2Cスレーブノードは、不完全なスレーブID1602、1604に応答するように予想されない。
【００８３】
図16はまた、CCIeモードにおけるデータ送信用のI2CバスのSCLライン416とSDAライン418の組合せの使用を示す例1620を含む。CCIeシンボルは、I2C送信用のSCLライン416上に送信されたクロック信号1614の各トグルに対応する時間において送信することができる。したがって、2つの開始状態1608と1610との間で送信されたクロックトグルの数は、CCIe送信ごとに送信され得るシンボルの数を規定することができる。したがって、12シンボルの送信1622、1624は、任意のスレーブノードにI2CスレーブIDとしてシーケンスを検出させずに、不完全なスレーブID1602、1604の送信に等価な6個のSCLパルスシーケンスの間利用可能な12個のシグナリング状態において、実現することができる。
【００８４】
SCLライン416上の遷移と同時にSDAライン418上で発生する遷移は、そのような遷移を開始状態として解釈することができるレガシーI2Cデバイスには重要でない。しかしながら、レガシーI2Cデバイスは、後で発生する有効な開始状態1628、1630を検出し、それらは、I2Cスレーブノードのバスロジック検出をリセットする。I2Cスレーブノードはまた、CCIe送信1622、1624の間に発生するいくつかのSDA遷移を終了状態として解釈することができるが、CCIe送信1622、1624内のそのような終了状態の検出は、不完全なSID1602、1604の早い終了を引き起こすにすぎない。同様に、CCIe送信1622、1624の間の開始状態の検出は、スレーブノードのI2C機能によるバスロジックリセットの実行を引き起こす。
【００８５】
したがって、レガシーI2Cスレーブノードが6個のSCLパルスシーケンスに関連する12シンボルのCCIe送信1622、1624を不完全なI2CスレーブID1602、1604として無視することが予想され得る。したがって、開始状態1606、1608、および1610の間で利用可能な12個のSCLトグルの間、12個のシンボルは、SCLライン416および/またはSDAライン418上に送信することができる。
【００８６】
I2CバスのSCLライン416および/またはSDAライン418は、クロック信号がシンボル遷移内に埋め込まれたとき、CCIeモードにおけるデータ送信に利用することができる。その結果、SDAライン418およびSCLライン416は、レガシーI2Cスレーブノードの機能に影響を与えずに、かつブリッジデバイスを使用してCCIe互換ノードからレガシーI2Cスレーブノードを隔離せずに、2つの連続する開始状態1626、1628、および/または1630の間で任意の12個のシンボルを送信するために使用することができる。I2Cモードでは、開始状態はI2Cマスタのみによって送られ、CCIeモードでは、開始状態は12シンボルのワードを送信するどのノードによっても送られる。
【００８７】
図17は、同じ2線シリアルバス430を使用して通信することができる複数のデバイス1702、1722、および1742を含むシステム1700を示すブロック概略図である。一例では、1つのモードにおいて、2線シリアルバス430は、CCIeプロトコルに従って2つ以上のデバイス1702、1722の間の通信をサポートするために使用することができ、別のモードにおいて、2線シリアルバス430は、I2Cプロトコルに従って2つ以上のデバイス1702、1722、および/または1742の間の通信をサポートするために使用することができる。したがって、2線シリアルバス430上のシグナリングは、本明細書で開示されたいくつかの技法を使用して、2線シリアルバス430に結合されたデバイス1702、1722、および1742が、送信のモードにかかわらず、データ送信中信号タイミングの結果として互いに干渉しないことを保証する。
【００８８】
簡略化された図示の例では、I2Cスレーブデバイス1742は、I2Cプロトコルに従って通信することが可能であり得るし、バスマスタデバイス1702は、I2CプロトコルおよびCCIeプロトコルに従って通信することが可能であり、CCIeスレーブデバイス1722は、CCIeプロトコルに従って、場合によってはCCIeプロトコルとI2Cプロトコルの両方に従って通信することが可能である。場合によっては、CCIeデバイス1702および/または1722は、CCIe動作モード中、シリアルバス上でスレーブまたはマスタのいずれかとして動作することができる。図3に示されたように、2線シリアルバス430は他のデバイスを結合できることが諒解されよう。装置1700は、ワイヤレスモバイルデバイス、携帯電話、モバイルコンピューティングシステム、ワイヤレス電話、ノートブックコンピュータ、タブレットコンピューティングデバイス、メディアプレーヤ、ゲーミングデバイス、アプライアンス、ウェアラブルコンピューティングデバイスなどにおいて具現化される場合がある。
【００８９】
CCIeデバイス1702、1722は、システム1700において、1つまたは複数の特定の、または指定された機能をサービスすることができる。たとえば、CCIeデバイス1702、1722は、ディスプレイ、イメージセンサ、カメラ、キーボード、タッチスクリーンセンサ、マウス、または他のポインタなどのユーザインターフェースの要素、オーディオビジュアルコーデック、モデム、グローバルポジショニングセンサ、モーション検出器、およびシステム1700を使用する装置の他のデバイスまたは構成要素を制御するか、または含む、周辺モジュールまたは周辺回路1704、1724を含む場合がある。加えて、CCIeデバイス1702、1722は、ストレージ1706、1726、処理回路および/または制御ロジック1710、1730、トランシーバ1714、1734、およびラインドライバ/受信機1716、1718、1736、1738を含む場合がある。処理回路および/または制御ロジック1710、1730は、状態機械、シーケンサ、信号プロセッサ、または汎用プロセッサなどのプロセッサを含む場合がある。トランシーバ1714、1734は、タイミングロジック、制御ロジック、汎用ロジック、CDR、符号化、および復号の回路および/またはデバイスを含む、いくつかの回路およびモジュールと一緒に、受信機(Rx)回路および送信機(Tx)回路を含む場合がある。トランシーバ1714、1734は、ステータス構成を維持し、データバッファを提供するために使用されるストレージを含む場合がある。
【００９０】
クロック発生回路1712、1732は、トランシーバ1714、1734の内部または外部に設けることができ、かつ/またはI2C通信モードおよびCCIe通信モード用のデータ送信レートを決定するために使用され得る送信クロック(TXCLK)信号を供給することができる。SCLコネクタ416は、I2C動作モードにおいてクロック発生回路1712、1732によって供給されたクロックを搬送することができ、タイミング情報は、CCIe動作モードでSCLコネクタ416およびSDAコネクタ418を使用して送信されるシンボルのシーケンス内に埋め込むことができる。
【００９１】
ストレージ1706、1726は、データ、構成情報、ステータス、および/またはソフトウェアコードもしくは命令を記憶するために使用され得る、プロセッサ可読媒体またはコンピュータ可読媒体を含む場合がある。データは、送信機回路を供給するバッファ、および/または受信機回路からの入力データを処理するバッファに記憶することができる。処理回路および/または制御ロジック1710、1730がデバイス1702、1722の様々な構成要素を管理または動作し、2線シリアルバス430の現在の動作モードに従って通信プロトコルを処理するように、ソフトウェアコードまたは命令は、処理回路および/または制御ロジック1710、1730を構成し、かつ/またはそれらによって実行することができる。
【００９２】
マスタデバイス1702は、2線シリアルバス430の動作モードを制御すること、および2線シリアルバス430に結合されたデバイスが他のデバイスと通信することを可能にするために必要に応じて動作モード間を切り替えることを担当することができる。したがって、マスタデバイス1702は、2線シリアルバス430へのアクセスを必要とするか、または要求するスレーブデバイス1722、1742を識別することができる1つまたは複数のプロトコル1708を実装することができる。マスタデバイス1702は、I2Cスレーブ1742がアドレス指定されるべきときにI2Cモードの通信トランザクションを開始することができ、CCIeスレーブ1722がアドレス指定されるべきときにCCIeモードの通信トランザクションを開始することができる。状況によっては、2つ以上のデバイスが同じトランザクション内でアドレス指定される場合があり、マスタデバイス1702は、そのようなトランザクション用の通信モードを決定することができる。
【００９３】
図18は、I2CとCCIeの両方の動作モード用に構成されたバスマスタ1702によって行使されるモード制御のいくつかの例を示す。この例では、共有シリアルバス430上の動作のいくつかの一般的なタイミングおよびシグナリングの態様が示され、本明細書に示された概念に影響を与えずに、適用例の間で構造およびコマンドまたはコールのコンテンツが変化する場合があることが諒解されよう。同様に、本明細書に記載されたいくつかの態様に従って構成されたシステムの運用性は、必ずしも、CDR較正送信1810、進入ワード1812、退出ワード1814、および/または退出シーケンス1816などの送信のコンテンツまたはフォーマットによって限定されとは限らず、またはそれらに依存するとは限らない。
【００９４】
第1のタイミング図1800に示されたように、プロトコルは、共有バス430をCCIeモードとI2Cモードとの間で切り替わらせる手順およびシグナリングを規定することができる。
【００９５】
一例では、マスタデバイス1702は、CCIeモード進入コマンド1812を送信して、共有シリアルバス430を使用するCCIeモード通信を確立するか、維持するか、またはそれに遷移することができる。CCIeモード進入コマンドは、I2Cモードにいる間、CCIe対応デバイス1722にアドレス指定することができ、アドレス指定されたデバイスは、CCIe通信をサポートするようにその送信および受信の回路1734を再構成することができる。関係する通信トランザクションのタイプに基づいて、CCIe対応デバイス1722は、共有シリアルバス430の両方のワイヤ上の送信用のデータを符号化または復号することができ、クロック情報は、共有シリアルバス430上に送信されるシンボルのシーケンスに埋め込まれる。共有シリアルバス430に結合されたI2Cスレーブデバイス1742は、通常、CCIeのトランザクションを無視する。I2Cスレーブデバイスは、不完全なスレーブIDの送信を知覚することができるが、CCIe送信間の共有シリアルバス430上にI2C開始状態が送信されたとき、その受信回路をリセットする。状況によっては、他のアドレス指定されていないCCIeデバイス3141〜314n(図3参照)が、CCIe通信を監視することができる。
【００９６】
マスタデバイス1702は、CCIeモード退出コマンド1814を送信して、共有シリアルバス430上のI2Cモード通信に戻ることができる。一例では、共有バス430は、CCIeモードへの進入1812が実行された後、CCIeモードからの退出1814が実行されるまで、かつ実行されない限り、CCIe動作モードに留まる。
【００９７】
別のタイミング図1802は、CCIeモードへの進入を行うために使用され得る進入シーケンスを示す例を含む。CCIeモード進入1812は、共有バス430がI2Cモードで動作している間に送信される一般呼の一部として遂行することができる。CCIeモードに入った後、適切なスレーブ識別子(SID)1818を送信することができ、その後に、1つまたは複数のCCIe対応スレーブ1722を識別するアドレスが続き、その後に、データ送信が続く。アドレスはマルチワードアドレスであり得るし、各アドレスワードおよび各データは、I2Cスレーブデバイス1742を共有シリアルバス430上で非アクティブのままにさせるI2C開始コマンドによって分離することができる。
【００９８】
同様に、CCIeモード退出1814は、共有バス430がCCIeモードで動作している間に送信される一般呼の一部として供給されたCCIeモード退出シーケンス1804によって遂行することができる。CCIe退出コマンド1814は、すべてのCCIeデバイス1722および/または3141〜314nをI2C動作モードに戻らせることができる。したがって、CCIe対応ノード1702、1722、および/または3141〜314nは、それぞれ、I2CモードからCCIeモード、およびCCIeモードからI2Cモードに切り替えることによって、進入/退出シーケンス1802、1804を含む一般呼に応答することができる。
【００９９】
図18はまた、CCIe書込みデータのシーケンスまたはプロトコル1806、およびCCIe読取りデータのシーケンスまたはプロトコル1808の例を提供する。CCIe書込みデータプロトコル1806は、SIDによって識別されたスレーブノード/デバイス1722および/または3141〜314nに、任意の数のアドレスワードおよびデータワードを送るために実行することができる。CCIe読取りデータのシーケンスまたはプロトコル1808は、SIDによって識別されたスレーブノード/デバイス1722および/または3141〜314nから、5つのデータワードを読み取るために実行することができる。アドレスワードの数は、任意に定義することができる。
【０１００】
場合によっては、CDR較正プロトコル1810は、示された(マスタノード自体を含む)CCIeノードにそのCDRロジックを較正し、リンクレートを最大化することを行わせるために、CCIeマスタノードによって使用することができる。この目的で、CCIeマスタノードはまた、それ自体のSIDを有することができる。CCIeワードは、19ビットの情報を搬送する12シンボル内で送ることができる。CDR較正プロトコルを除けば、19ビットのうちの16個の下位ビットがデータを搬送し、19ビットのうちの3つの上位ビットが制御情報などの他の情報に使用することができる。
【０１０１】
CCIeインターフェース430のデータレートは、プッシュプルドライバの選択および/または使用によって改善することができる。Fm+対応I2Cバス430上のCCIeシンボルタイミングの一例を示す図12を再び参照する。I2C Fm+モードに使用される同じ物理ドライバによって駆動されるCCIe信号のタイミングは、ドライバの立上り時間によって限定される場合があり、ここで、立上り時間は、ライン電圧をVDDレベルの30%から70%に変更するのに要する時間である。図19は、CCIe信号がI2C Fm+モードに使用される同じ物理ドライバによって駆動されるときのFm+対応I2Cバス上のCCIeシンボルタイミングの一例を示す図である。I2C Fm+用の立上り時間は120nsであり、0Vから70%への信号電圧レベル用の時間は、170nsと計算することができる。そのような立上り時間は、シグナリングがしばしばマイクロコントローラベースの動作によって処理されるI2Cモードにおいて、シグナリング動作が通常ハードウェアで実施されるCCIeモードにおいて、十分であり得る。さらに、マイクロコントローラベースまたはソフトウェア式のI2Cデバイスは、特にSCL線416が論理低状態にある間、データを処理するために多くのサイクルを必要とする場合がある。したがって、SCLの最小低期間は、Fm+の場合1300ns以上であり得るし、600nsの最小高期間がI2Cプロトコルによって指定される場合がある。
【０１０２】
本明細書で開示されたいくつかの態様によれば、CCIeモードデバイスは、各ライン416、418上の論理1または論理0の継続時間または継続時間における差分に意味を付けない場合がある。CCIe通信は、受信機がハードウェア技法を使用して論理1および0を正しく復号できることのみを必要とし、CCIeデバイスは、いくつかのアクションを実行するために長い高または低の期間を必要としない。したがって、CCIeシステムは、8nsの期間をもたらす125MHz以上のクロックを使用することができる。受信機が非同期の入力値を正しく検出するために、受信機は、少なくとも3回同じ値をサンプリングすることができる。一例では、CCIe信号の最小高期間tHIGHは、125MHzのクロックに関連する最小限必要な24nsを十分上回る30nsにセットすることができる。したがって、170ns+30ns(=200ns)の高時間の0%から70%への立上り時間は最小可能シンボル時間であり、結果として生じる最大シンボルレートは5MHzである。
【０１０３】
I2C互換バスを介して達成可能な最大CCIeリンクレートは、CCIe対応デバイスによって使用されるドライバのタイプによって影響を受ける場合がある。一例では、オープンドレインドライバ2002、2004、2006(図20参照)は、I2C互換バス430に結合されたCCIeデバイスによって使用される場合がある。この例では、12個のシンボル1206、1208の各シンボルは、200ナノ秒(ns)の最小シンボル時間1212で送ることができ、その結果、12個のシンボル1206、1208は、2400nsで送信することができる。加えて、レガシーI2Cスレーブデバイスが共有バス430に結合されたとき、I2Cタイミング仕様に準拠する開始状態が必要である。最小開始状態セットアップ時間1216および最小開始状態保持時間1210は、I2C優先モードプラス(Fm+)動作用の260nsの指定された最小継続時間を有する。さらに、SDAライン418の動作用に許可された最大立下り時間は、I2C Fm+の場合120nsであり、それは、SDAライン418が送信機500のトランジスタ508によってプルダウンされたときのプルアップ抵抗器2002の最大立上り時間に対応する。CCIeデバイスの場合、SDAライン418用の立下り時間は、I2Cの最大立下り時間よりもかなり早い立下り時間を有すると見なすことができる。たとえば、CCIeデバイスは、開始状態のためのSDAライン418用の額面20nsの立下り時間を実現することができる。したがって、CCIeデバイスは、2940nsで開始状態を有するCCIeワードを送信することができる。19ビットの情報を搬送するCCIeワード用の未加工のビットレートは、以下のように計算することができる。
19bits/2940ns≒6.4Mbps。
しかしながら、各CCIeワードは16ビットのデータおよび3ビットのオーバーヘッドを含む場合があり、5.4Mbps(≒16bits/2940ns)と計算されるネットのデータレートを実現する。
16bits/2940ns≒5.4Mbps。
【０１０４】
別の例では、CCIeデバイスは、オープンドレインドライバの代わりにプッシュプルドライバを使用して、12シンボルのCCIeワードを送信することができる。改善されたパフォーマンスをもたらすことができ、少なくとも16.7Mbpsのリンクレートは、20MHzのシンボルレートにおいて達成することができる。CCIeデバイスは、CCIeモードにおける開始状態を含む、I2C動作中のオープンドレインドライバの挙動を模倣することができるCMOSプッシュプルドライバを使用することができる。CCIeデバイスは、プッシュプルドライバのPMOSトランジスタを選択的に無効にすることによって、オープンドレインドライバの挙動を模倣することができる。代替または追加として、CCIeデバイスは、CCIeモードにおける12シンボルの間プッシュプルドライバのPMOSトランジスタから高信号状態をアクティブに駆動することができる。結果として、50nsのシンボル期間1212が使用され、600nsで12シンボルのCCIeワード1206、1208の送信を可能にすることができる。tSU+tHD=540nsの期間(セットアップ時間1216および保持時間1210)の開始状態の継続時間が維持される。この構成では、CCIeモード送信の場合1140nsで1ワードを送ることが可能であり、それは、以下のように計算される未加工のビットレートと等価である。
19bits/1140ns≒16.7Mbps。
しかしながら、各CCIeワードは16ビットのデータおよび3ビットのオーバーヘッドを含む場合があり、以下のように計算されるネットのデータレートを実現する。
16bits/1140ns≒14.0Mbps。
【０１０５】
第3の例では、CCIe対応デバイスのみがバス430に結合されたとき、CCIe対応デバイスはすべての送信にCMOSプッシュプルドライバを使用ことができる。結果として、シンボル期間1212は、控えめに50nsに短縮することができ、12シンボルのCCIeワード1206、1208の送信は、600nsで送ることができる。I2C準拠の開始状態が必要とされないので、開始状態期間は、50nsのシンボル期間1212に等価な継続時間のためのセットアップ期間1216を設けることによって実装することができ、50nsのシンボル期間1212に等価な継続時間のための保持期間1210は、それによって開始状態を100nsの継続時間に短縮する。この例では、1つの19ビットワードは700nsで送信することができ、これは27.1Mbps(≒19bits/700ns)のビットレートに等価であり、以下のように計算される未加工のビットレートに等価である。
19bits/700ns≒27.1Mbps。
しかしながら、各CCIeワードは16ビットのデータおよび3ビットのオーバーヘッドを含む場合があり、以下のように計算されるネットのデータレートを実現する。
16bits/700ns≒22.9Mbps。
【０１０６】
複数モードの通信をサポートするシステムの第1の例
再び図3、図4、および図17を参照すると、システムまたは装置300、1700は、マルチモードバス302によって相互接続された複数のデバイス3041〜304n、312、および3141〜314nを使用することができる。マルチモードバス302は、第1のライン416および第2のライン418を含む2線シリアルバス430を含む場合がある。第1の動作モードは、シリアルバス430を介したデータ送信用の第1のプロトコルを実施し、第2のモードは、シリアルバス430を介したデータ送信用の第2のプロトコルを実施する。シリアルバス430は、I2C動作モードおよびCCIe動作モードで動作することができる。バスはI2C互換バスであり得る。一例では、第1のライン416は、シリアルバス430がI2Cバスとして動作するとき、SCLラインとして働くことができ、第2のライン418は、シリアルバス430がI2Cバスとして動作するとき、SDAラインとして働くことができる。
【０１０７】
第1の動作モードでは、バス302に結合されたデバイスの第1のセット312および/または3041〜304nは、データ送信に第1のラインを使用し、第1のクロック信号に第2のラインを使用するように構成することができ、第2の動作モードでは、バスに結合されたデバイスの第2のセット312および/または3141〜314nは、データ送信のシンボル遷移内に第2のクロック信号を埋め込みながら、データ送信に第1のラインと第2のラインの両方を使用するように構成することができる。第2のクロック信号は、第1のクロック信号よりも大きい周波数を有することができる。
【０１０８】
デバイスの第1のセット312および/または3041〜304nならびにデバイスの第2のセット312および/または3141〜314nは、第1の動作モードと第2の動作モードの両方において、少なくとも第1のラインを同時に監視することができる。デバイスの第1のセット312および/または3041〜304nならびにデバイスの第2のセット312および/または3141〜314nは、第1の動作モードと第2の動作モードの両方において、少なくとも第2のラインを同時に監視することができる。
【０１０９】
第1の動作モードでは、デバイスの第1のセット312および/または3041〜304nからのマスタデバイス312は、バスの第1のラインを介して、デバイスの第1のセット312および/または3041〜304nからのスレーブデバイス3041〜304nにデータを送信することができる。
【０１１０】
第2の動作モードでは、デバイスの第2のセット312および/または3141〜314nからのマスタデバイス312は、バスの第1のラインを介して、デバイスの第2のセット312および/または3141〜314nからのスレーブデバイス3141〜314nにデータを送信することができる。
【０１１１】
第2の動作モードでは、スレーブデバイスの第1のセット3041〜304nは、有効なスレーブノードアドレスの検出を禁止するリセットインジケータを、第1のラインおよび第2のラインを介して受信することができる。リセットインジケータは、たとえば、I2C開始状態であり得る。第2の動作モードでは、それによってデバイスの第1のセット3041〜304nにビットの有効なシーケンスを検出する前にそれらのバスロジックをリセットさせるリセットインジケータが、第1のラインおよび第2のラインに挿入されたとき、データ送信は定期的に中断することができる。
【０１１２】
第1の動作モードでは、マスタノード312は、第2の動作モードへの切替えをデバイスの第2のセット3141〜314nに示す第1のビットシーケンスを、第1のラインを介して送ることができる。マスタノード312は、第1の動作モードへの切替えをデバイスの第2のセット3141〜314nに示す退出シンボルシーケンスを、バス430を介して送ることができる。
【０１１３】
第2の動作モードは、バス430を介した送信の、第1の動作モードよりも高いビットレートを有することができる。たとえば、第1の動作モードは、バス430を介して1メガビット毎秒の最大ビットレートをサポートすることができ、第2の動作モードは、6.4メガビット毎秒の最大ビットレートをサポートすることができる。別の例では、第1の動作モードは、バス430を介して1メガビット毎秒の最大ビットレートをサポートすることができ、第2の動作モードは、16.7メガビット毎秒の最大ビットレートをサポートすることができる。
【０１１４】
デバイスの第2のセット3141〜314nは、第1の動作モードと第2の動作モードの両方において動作することが可能であり得る。
【０１１５】
一例では、バス430は、デバイスの第2のセット3141〜314nからの第1のデバイスを含むベースバンドプロセッサに結合し、デバイスの第2のセット3141〜314nからの第2のデバイスを含むイメージセンサに結合する。バス430は、ベースバンドプロセッサとイメージセンサとの間のデータ信号を制御することができる。
【０１１６】
場合によっては、デバイスの第2のセット3141〜314n内の各デバイスは、データビットのシーケンスを複数のM個の遷移番号に変換し、各遷移番号を連番のセットからの連番に変換し、バスを介して連番を送信するように適合される。M個の遷移番号は、3進数として表現することができる。連番は、2つの連番が同じではないことを保証するために、直前の遷移番号からの遷移に基づく遷移番号から選択することができる。各遷移番号は、複数の遷移番号を連番に変換することによって、連番のセットからの連番に変換することができる。
【０１１７】
複数モードの通信をサポートするシステムの第2の例
引き続き図3、図4、および図17を参照すると、システムまたは装置300、1700は、マルチモードバス302によって相互接続された複数のデバイス3041〜304n、312、および3141〜314nを使用することができる。バス302は、第1のライン418および第2のライン416を有する2線シリアルバス430を含む場合がある。バスはI2C互換バスであり得る。第1の動作モードでは、デバイスの第1のセット3041〜304n、312は、データ送信に第1のライン418を使用し、第1のクロック信号に第2のライン416を使用することができ、第2の動作モードでは、バスに結合されたデバイスの第2のセット312および3141〜314nは、データ送信のシンボル遷移内に第2のクロック信号を埋め込みながら、データ送信に第1のラインと第2のラインの両方を使用するように構成することができる。
【０１１８】
デバイスの第1のセット3041〜304n、312ならびにデバイスの第2のセット312および3141〜314nは、第1の動作モードと第2の動作モードの両方において、少なくとも第1のライン418を同時に監視することができる。デバイスの第1のセット3041〜304n、312ならびにデバイスの第2のセット312、3141〜314nは、第1の動作モードと第2の動作モードの両方において、少なくとも第2のライン416を同時に監視することができる。
【０１１９】
一例では、デバイスの第1のセット3041〜304n、312からのマスタデバイス312は、第1の動作モードにおいて、バス430の第1のライン418を介して、スレーブデバイス3041〜304nにデータを送信する。別の例では、デバイスの第2のセット312、3141〜314nからのマスタデバイス312は、第2の動作モードにおいて、バス430の第1のラインを介して、スレーブデバイス3141〜314nにデータを送信する。第2の動作モードは、バス430を介した送信の、第1の動作モードよりも高いビットレートを有することができる。一例では、第1の動作モードは、バス430を介して1メガビット毎秒の最大ビットレートを有することができ、第2の動作モードは、バス430を介して6.4メガビット毎秒の最大ビットレートを有することができる。第2の例では、第1の動作モードは、バス430を介して1メガビット毎秒の最大ビットレートを有することができ、第2の動作モードは、バス430を介して16.7メガビット毎秒の最大ビットレートを有することができる。第2のクロック信号は、第1のクロック信号よりも大きい周波数を有することができる。
【０１２０】
第1の動作モードは、バス430を介したデータ送信用の第1のプロトコルを実施し、第2の動作モードは、バス430を介したデータ送信用の第2のプロトコルを実施する。
【０１２１】
デバイスの第1のセットは、第2の動作モードにおいて、有効なスレーブノードアドレスの検出を禁止するリセットインジケータを、第1のライン418および第2のライン416を介して受信する。データ送信は、第2の動作モードにおいて、デバイスの第1のセット3041〜304nにビットの有効なシーケンスを検出する前にそれらのバスロジックをリセットさせるリセットインジケータを、第1のライン418および第2のライン416に挿入することによって、定期的に中断することができる。
【０１２２】
第1の動作モードの間、マスタノード312は、第2の動作モードへの切替えが行われていることをデバイスの第2のセット3141〜314nに示す第1のビットシーケンスを、第1のライン418を介して送ることができる。第2の動作モードの間、マスタノード312は、第1の動作モードへの切替えが行われていることをデバイスの第2のセット3141〜314nに示す退出シンボルシーケンスを、バス430を介して送ることができる。
【０１２３】
一例では、デバイスの第2のセット3141〜314nは、第1の動作モードと第2の動作モードの両方において動作することが可能であり得る。
【０１２４】
場合によっては、バス430は、デバイスの第2のセット3141〜314nからの第1のデバイスを含むベースバンドプロセッサに結合し、デバイスの第2のセット3141〜314nからの第2のデバイスを含むイメージセンサに結合する。バスは、ベースバンドプロセッサとイメージセンサとの間で制御データ信号を搬送することができる。デバイスの第2のセット3141〜314n内の各デバイスは、データビットのシーケンスを複数のM個の遷移番号に変換し、各遷移番号を連番のセットからの連番に変換し、バス430を介して連番を送信するように適合することができる。連番は、2つの連番が同じではないことを保証するために、直前の遷移番号からの遷移に基づく遷移番号から選択することができる。各遷移番号は、複数の遷移番号を連番に変換することによって、連番のセットからの連番に変換することができる。
【０１２５】
複数モードの通信をサポートするシステムの第3の例
引き続き図3、図4、および図17を参照すると、システムまたは装置300、1700は、マルチモードバス302によって相互接続された複数のデバイス3041〜304n、312、および3141〜314nを使用することができる。バス302は、第1のライン418および第2のライン416を有する2線シリアルバス430を含む場合がある。バスはI2C互換バスであり得る。第1の動作モードでは、デバイスの第1のセット3041〜304n、312は、データ送信に第1のライン418を使用し、第1のクロック信号に第2のライン416を使用することができ、第2の動作モードでは、バスに結合されたデバイスの第2のセット312および3141〜314nは、データ送信のシンボル遷移内に第2のクロック信号を埋め込みながら、データ送信に第1のラインと第2のラインの両方を使用するように構成することができる。
【０１２６】
動作中、処理回路は、送信機回路にデータを送り、受信機回路からデータを受信するように構成することができ、送信機回路および受信機回路は、第1のライン418および第2のライン416を含むバス430を介して通信するように構成することができる。送信機回路および受信機回路は、第1の動作モードにおいて、データ送信に第1のライン418、第1のクロック信号に第2のライン416を使用し、第2の動作モードにおいて、第2のクロック信号がデータ送信のシンボル遷移内に埋め込まれるように、データを送信するために第1のライン418と第2のライン416の両方を使用するように構成することができる。
【０１２７】
デバイスは、バスに結合された他のデバイスのセットと共存することができるが、第1の動作モードと第2の動作モードの両方の間、少なくとも第1のライン418を常時監視しながら、第1のモードにおいてのみ動作することができる。デバイスは、バス430に結合された他のデバイスのセットと共存することができるが、第1の動作モードと第2の動作モードの両方の間、少なくとも第2のライン416を常時監視しながら、第1のモードにおいてのみ動作することができる。
【０１２８】
デバイスは、第1の動作モードにおいて、バス430の第1のライン418を介してスレーブデバイスにデータを送信することができる。デバイスは、第2の動作モードにおいて、バス430の第1のライン418および第2のライン416を介してスレーブデバイスにデータを送信することができる。第1の動作モードは、バス430を介したデータ送信用の第1のプロトコルを実施し、第2のモードは、バス430を介したデータ送信用の第2のプロトコルを実施することができる。
【０１２９】
送信機回路および受信機回路は、第1のモードで動作している他のデバイスが有効なスレーブノードアドレスを検出することを禁止するために、第2の動作モード中に第1のライン418および第2のライン416を介して、リセットインジケータを送るように構成することができる。第2の動作モード中のデータ送信は、第1のモードで動作している他のデバイスにビットの有効なシーケンスを検出する前にそれらのバスロジックをリセットさせるリセットインジケータを、第1のライン418および第2のライン416に挿入することによって、定期的に中断することができる。
【０１３０】
いくつかの例では、送信機回路および受信機回路は、第1のモードと第2のモードの両方において動作することが可能な他のデバイスに第2の動作モードへの切替えを示す第1のビットシーケンスを、第1の動作モードにおいて第1のライン418を介して送るように構成される。マスタノード312は、第1のモードと第2のモードの両方において動作することが可能な他のデバイスに第1の動作モードへの切替えを示す退出シンボルシーケンスを、第2の動作モードにおいてバス430を介して送ることができる。
【０１３１】
第2の動作モードは、バスを介した通信の、第1の動作モードよりも高いビットレートを有することができる。一例では、第1の動作モードは、バス430を介して1メガビット毎秒の最大ビットレートを有し、第2の動作モードは、6.4メガビット毎秒の最大ビットレートを有する。別の例では、第2のクロック信号は、第1のクロック信号よりも大きい周波数を有することができる。
【０１３２】
複数モードの通信をサポートするシステムの第4の例
引き続き図3、図4、および図17を参照すると、システムまたは装置300、1700は、マルチモードバス302によって相互接続された複数のデバイス3041〜304n、312、および3141〜314nを使用することができる。バス302は、第1のライン418および第2のライン416を有する2線シリアルバス430を含む場合がある。バスはI2C互換バスであり得る。第1の動作モードでは、デバイスの第1のセット3041〜304n、312は、データ送信に第1のライン418を使用し、第1のクロック信号に第2のライン416を使用することができ、第2の動作モードでは、バスに結合されたデバイスの第2のセット312および3141〜314nは、データ送信のシンボル遷移内に第2のクロック信号を埋め込みながら、データ送信に第1のラインと第2のラインの両方を使用するように構成することができる。
【０１３３】
本明細書で開示されたいくつかの態様によれば、マスタデバイス312は、バスに結合されたすべてのデバイスが、第1のクロック信号用のデータ送信のシンボル遷移内に第2のクロック信号を埋め込みながら、データ送信に第1のラインと第2のラインの両方を使用する第3の動作モードに従って動作することが可能であるかどうかを確認することができ、バスに結合されたすべてのデバイスが第3のモードで動作することが可能である場合、デバイス3041-304n、312、および3141-314nに第3の動作モードのみにおいて動作させる。一例では、第3の動作モードは、第2のモードに対して削減されたシグナリングオーバーヘッドを実現することができる。デバイスのセット3041-304n、312、および3141-314nは、バスに結合されたすべてのデバイス3041-304n、312、および3141-314nが第3のモードで動作することができる限り、またはバスに結合されたすべてのアクティブデバイス3041-304n、312、および3141-314nが第3のモードで動作することができる限り、第3のモードにおいて動作するように構成される。すべてのアクティブデバイスは、電源投入され、バス430に結合され、かつ/またはバス430を監視するデバイスであり得る。デバイス3041-304n、312、および3141-314nは、第1の動作モードと第2の動作モードの両方において、少なくとも第1のライン418を同時に監視することができる。デバイスの第1のセット3041〜304n、312ならびにデバイスの第2のセット312および3141〜314nは、第1の動作モードと第2の動作モードの両方において、少なくとも第2のライン416を同時に監視することができる。
【０１３４】
一態様では、第1の動作モードは、バス430を介したデータ送信用の第1のプロトコルを実施し、第2のモードは、バス430を介したデータ送信用の第2のプロトコルを実施し、第3のモードは、バス430を介したデータ送信用の第3のプロトコルを実施する。第2の動作モードにより、レガシーデバイスが、有効なスレーブノードアドレスの検出を禁止するリセットインジケータを、第1のライン418および第2のライン416を介して受信することが可能になり得る。第2の動作モードでは、データ送信は、バス430に結合されたレガシーデバイスにビットの有効なシーケンスを検出する前にそれらのバスロジックをリセットさせるリセットインジケータを、第1のライン418および第2のライン416に挿入することによって、定期的に中断することができる。第3の動作モードでは、リセットインジケータは、第1のライン418および第2のライン416において送られない。
【０１３５】
第3の動作モードは、バス430を介した通信の、第2の動作モードよりも高いビットレートを有することができる。第3の動作モードは、バス430を介して27.1メガビット毎秒の最大ビットレートを有することができる。
【０１３６】
一態様では、マスタ312は、バスに結合されたすべてのデバイスが第3のモードに従って動作できることを確認することができ、バスに結合されたすべてのデバイス3041-304n、312、および3141-314nに第3のモードで動作するコマンドを送信する。
【０１３７】
CCIeおよびI2Cの動作用に構成可能な処理システムの例
図21は、本明細書で開示された1つまたは複数の機能を実行するように構成され得る処理回路2102を使用する装置のためのハードウェア実装形態の簡略化された例を示す概念図2100である。本開示の様々な態様によれば、要素、または要素の任意の部分、または要素の任意の組合せは、処理回路2102を使用して実装することができる。処理回路2102は、ハードウェアモジュールとソフトウェアモジュールの何らかの組合せによって制御される1つまたは複数のプロセッサ2104を含む場合がある。プロセッサ2104の例には、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理デバイス(PLD)、状態機械、シーケンサ、ゲート論理、個別ハードウェア回路、および本開示全体にわたって記載された様々な機能を実行するように構成された他の適切なハードウェアが含まれる。1つまたは複数のプロセッサ2104は、特定の機能を実行し、ソフトウェアモジュール2116のうちの1つによって構成、増大、または制御され得る専用プロセッサを含む場合がある。1つまたは複数のプロセッサ2104は、初期化中にロードされたソフトウェアモジュール2116の組合せを介して構成され得るし、動作中に1つまたは複数のソフトウェアモジュール2116のローディングまたはアンローディングによってさらに構成され得る。
【０１３８】
図示された例では、処理回路2102は、バス2110によって概略的に表されるバスアーキテクチャを用いて実装することができる。バス2110は、処理回路2102の具体的な適用例および全体的な設計制約に応じて、任意の数の相互接続するバスおよびブリッジを含む場合がある。バス2110は、1つまたは複数のプロセッサ2104、ストレージ2106を含む様々な回路を一緒にリンクする。ストレージ2106は、メモリデバイスおよびマスストレージデバイスを含む場合があり、本明細書ではコンピュータ可読媒体と呼ばれる場合がある。バス2110はまた、当技術分野でよく知られているタイミングソース、タイマ、周辺機器、電圧レギュレータ、および電源管理回路などの様々な他の回路をリンクすることができ、したがって、それらのうちのいくつかはこれ以上記載されない場合がある。バスインターフェース2108は、バス2110とラインインターフェース回路2112との間のインターフェースを提供することができる。ラインインターフェース回路2112は、シリアルバスなどの伝送媒体を介して様々な他の装置と通信するための手段を提供する。装置の種類に応じて、ユーザインターフェース2118(たとえば、キーパッド、ディスプレイ、スピーカ、マイクロフォン、ジョイスティック)が提供される場合もあり、直接またはバスインターフェース2108を介して、バス2110に通信可能に結合することができる。
【０１３９】
プロセッサ2104は、バス2110の管理、およびストレージ2106を含む場合があるコンピュータ可読媒体に記憶されたソフトウェアの実行を含む場合がある全体的な処理を担当することができる。この点において、プロセッサ2104を含む処理回路2102は、本明細書で開示された方法、機能、および技法のうちのいずれを実施するためにも使用することができる。ストレージ2106は、ソフトウェアを実行するときプロセッサ2104によって扱われるデータを記憶するために使用することができ、ソフトウェアは、本明細書で開示された方法のうちの任意の1つを実施するように構成することができる。
【０１４０】
処理回路2102内の1つまたは複数のプロセッサ2104は、ソフトウェアを実行することができる。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、または他のものと呼ばれようとそうでなかろうと、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行ファイル、実行スレッド、プロシージャ、関数、アルゴリズムなどを意味すると幅広く解釈されるべきである。ソフトウェアは、コンピュータ可読の形態で、ストレージ2106に、または外部のコンピュータ可読媒体に存在することができる。コンピュータ可読媒体および/またはストレージ2106は、非一時的コンピュータ可読媒体であり得る。非一時的コンピュータ可読媒体には、例として、磁気記憶デバイス(たとえば、ハードディスク、フロッピー（登録商標）ディスク、磁気ストリップ)、光ディスク(たとえば、コンパクトディスク(CD)またはデジタル多用途ディスク(DVD))、スマートカード、フラッシュメモリデバイス(たとえば、「フラッシュドライブ」、カード、スティック、またはキードライブ)、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、レジスタ、リムーバブルディスク、ならびにコンピュータがアクセスし、読み取ることができるソフトウェアおよび/または命令を記憶するための任意の他の適切な媒体が含まれる。コンピュータ可読媒体および/またはストレージ2106には、例として、搬送波、送信路、ならびに、コンピュータがアクセスし、読み取ることができるソフトウェアおよび/または命令を送信するための任意の他の適切な媒体も含まれ得る。コンピュータ可読媒体および/またはストレージ2106は、処理回路2102の中に、プロセッサ2104の中に、もしくは処理回路2102の外に存在するか、または処理回路2102を含む複数のエンティティにわたって分散することができる。コンピュータ可読媒体および/またはストレージ2106は、コンピュータプログラム製品において具現化される場合がある。例として、コンピュータプログラム製品は、パッケージング材料内のコンピュータ可読媒体を含む場合がある。当業者は、特定の適用例およびシステム全体に課された設計制約全体に応じて、本開示全体を通して提示された記載の機能の最良の実装の仕方を認識されよう。
【０１４１】
ストレージ2106は、本明細書ではソフトウェアモジュール2116と呼ばれる場合がある、ロード可能なコードセグメント、モジュール、アプリケーション、プログラムなどに保持および/または編成されたソフトウェアを維持することができる。ソフトウェアモジュール2116の各々は、処理回路2102にインストールまたはロードされ、1つまたは複数のプロセッサ2104によって実行されたとき、1つまたは複数のプロセッサ2104の動作を制御するランタイムイメージ2114に寄与する命令およびデータを含む場合がある。実行されたとき、いくつかの命令は、本明細書に記載されたいくつかの方法、アルゴリズム、およびプロセスによる機能を処理回路2102に実行させることができる。
【０１４２】
ソフトウェアモジュール2116のうちのいくつかは、処理回路2102の初期化中にロードすることができ、これらのソフトウェアモジュール2116は、本明細書で開示された様々な機能の実行を可能にするように処理回路2102を構成することができる。たとえば、いくつかのソフトウェアモジュール2116は、プロセッサ2104の内部デバイスおよび/または論理回路2122を構成することができ、ラインインターフェース回路2112、バスインターフェース2108、ユーザインターフェース2118、タイマ、数学コプロセッサなどの外部デバイスへのアクセスを管理することができる。ソフトウェアモジュール2116は、割込みハンドラおよびデバイスドライバと対話し、処理回路2102によって提供された様々なリソースへのアクセスを制御する、制御プログラムおよび/またはオペレーティングシステムを含む場合がある。リソースには、メモリ、ストレージ2106、処理時間、ラインインターフェース2112およびユーザインターフェース2118へのアクセスなどが含まれ得る。
【０１４３】
処理回路2102の1つまたは複数のプロセッサ2104は多機能であり得るし、それによって、ソフトウェアモジュール2116のうちのいくつかが、様々な機能、または同じ機能の様々なインスタンスを実行するようにロードおよび構成される。1つまたは複数のプロセッサ2104はさらに、たとえば、ユーザインターフェース2118、ラインインターフェース回路2112、およびデバイスドライバからの入力に応答して開始されたバックグラウンドタスクを管理するように適合することができる。複数の機能の実行をサポートするために、1つまたは複数のプロセッサ2104は、マルチタスク環境を実現するように構成することができ、それによって、複数の機能の各々が、必要または要望に応じて、1つまたは複数のプロセッサ2104によってサービスされるタスクのセットとして実装される。一例では、マルチタスク環境は、様々なタスク間でプロセッサ2104の制御を渡す時間分割プログラム2120を使用して実装することができ、それによって、各タスクは、任意の未処理の動作が完了すると、かつ/または割込みなどの入力に応答して、時間分割プログラム2120に1つまたは複数のプロセッサ2104の制御を返す。あるタスクが1つまたは複数のプロセッサ2104の制御を有するとき、処理回路は、制御中のタスクに関連する機能によって対処される目的に事実上特化される。時間分割プログラム2120には、オペレーティングシステム、ラウンドロビンベースで制御を移すメインループ、機能の優先順位付けに従って1つもしくは複数のプロセッサ2104の制御を割り振る機能、および/または、1つもしくは複数のプロセッサ2104の制御を処理する機能に提供することによって外部イベントに応答する割込み駆動のメインループが含まれ得る。
【０１４４】
図22は、CCIeバス上のデータ通信用の方法を示すフローチャート2200である。方法の様々なステップは、たとえば、図1〜図8、図20、図22、および/または図24に示されたデバイスおよび回路の何らかの組合せを含む送信機デバイスによって実行することができる。
【０１４５】
ブロック2202において、デバイスは、1組のビットから遷移番号を生成することができる。遷移番号は、12桁の3進数を含む場合がある。一例では、デバイスは、1組のビットから遷移番号を生成することができる。遷移番号は、12桁の3進数であり得る。
【０１４６】
ブロック2204において、デバイスは、遷移番号をシンボルのシーケンスに変換することができる。タイミング情報は、シンボルのシーケンス内のシンボル間の遷移内で符号化することができる。シンボルのシーケンス内で符号化されたタイミング情報により、受信機がシンボルのシーケンスから受信クロックを生成することが可能になる。遷移番号は、トランスコーダに3進数を与えることによって、シンボルのシーケンスに変換することができる。
【０１４７】
一例では、トランスコーダは最初に3進数の最上位桁を受信し、最後に3進数の最下位桁がトランスコーダによって受信される場合があり、最上位桁と最下位桁との間の中間桁が重みの降順でトランスコーダに与えられる。別の例では、トランスコーダは最初に3進数の最下位桁を受信し、最後に3進数の最上位桁がトランスコーダによって受信される場合があり、最上位桁と最下位桁との間の中間桁が重みの昇順でトランスコーダに与えられる。
【０１４８】
ブロック2206において、デバイスは、2線シリアルバスが第1の動作モードで動作するとき、2線シリアルバス上でシンボルのシーケンスを送信することができる。シンボルのシーケンスは、2線シリアルバスが第2の動作モードで動作するとき、2線シリアルバス上の通信用に構成されたデバイスによって無視される場合がある。2線シリアルバスについて4つのシグナリング状態を規定することができる。3進数の各桁は、3つの利用可能なシンボルのうちの1つから、2線シリアルバス上で送信されるべき次のシンボルを選択および/または指示することができる。これら3つの利用可能なシンボルの各々は、2線シリアルバス上で送信されている現在のシンボルとは異なる場合がある。したがって、連続するシンボル間の各遷移により、2線シリアルバスのシグナリング状態における変化が引き起こされる。
【０１４９】
一例では、2線シリアルバスは、第1の動作モードで動作するとき、CCIe通信をサポートする多目的バスであり得る。第2の動作モードの場合、2線シリアルバスは、通信のI2Cモードおよび/またはCCIモードをサポートすることができる。デバイスは、制御シーケンスが2線シリアルバス上で送信されたとき、第1の動作モードから第2の動作モードへの変化を引き起こすように、構成または適合することができる。CCIe動作モードでは、I2C開始状態は、CCIe動作モードにおいて2線シリアルバス上で送信されたシンボルのシーケンスの間に設けることができる。開始状態のタイミングのいくつかの態様により、I2Cプロトコルを使用して通信することだけができるデバイスを含む、I2C動作モード用に構成された別のデバイスにおける受信ロジックのリセットが引き起こされる場合がある。
【０１５０】
一例では、第1のI2C開始状態は、シンボルのシーケンスが2線シリアルバス上で送信される前に、2線シリアルバス上で送信される。シンボルのシーケンスが2線シリアルバス上で送信された後、第2のI2C開始状態を2線シリアルバス上で送信することができる。第1のI2C開始状態と第2のI2C開始状態との間で経過した時間は、I2C動作モードにおいてアドレスワードを受信するためにI2Cプロトコルによって要求された時間よりも少ない場合がある。したがって、2線シリアルバスを監視するI2C受信機は、通常、第1の開始状態の後、かつ第2のI2C開始状態の前に2線シリアルバスのSCL信号線上で最大6クロックサイクルを知覚する。
【０１５１】
図23は、処理回路2302を使用する装置のためのハードウェア実装形態の簡略化された例を示す図2300である。処理回路は、通常、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、シーケンサ、および状態機械などのうちの1つまたは複数を含む場合があるプロセッサ2316を有する。処理回路2302は、バス2320によって概略的に表されるバスアーキテクチャを用いて実装することができる。バス2320は、処理回路2302の具体的な適用例および全体的な設計制約に応じて、任意の数の相互接続するバスおよびブリッジを含む場合がある。バス2320は、プロセッサ2316、モジュールまたは回路2304、2306、2308、および2310、複数のコネクタまたはワイヤを含むマルチレーンCCIeバス2314を介して通信するように構成可能なラインインターフェース回路2312、ならびにコンピュータ可読記憶媒体2318によって表される、1つまたは複数のプロセッサおよび/またはハードウェアモジュールを含む様々な回路を一緒にリンクする。バス2320はまた、当技術分野でよく知られており、したがって、これ以上記載されないタイミングソース、周辺機器、電圧レギュレータ、および電源管理回路などの様々な他の回路をリンクすることができる。
【０１５２】
プロセッサ2316は、コンピュータ可読記憶媒体2318に記憶されたソフトウェアの実行を含む全体的な処理を担当する。ソフトウェアは、プロセッサ2316によって実行されたとき、処理回路2302に任意の特定の装置について上記に記載された様々な機能を実行させる。コンピュータ可読記憶媒体2318はまた、ソフトウェアを実行するとき、マルチレーンCCIeバス2314を介して送信されるシンボルから復号されたデータを含む、プロセッサ2316によって操作されるデータを記憶するために使用することができる。処理回路2302は、モジュールおよび/または回路2304、2306、および2308のうちの少なくとも1つをさらに含む。モジュールおよび/または回路2304、2306、2308、および2310は、コンピュータ可読記憶媒体2318に存在する/記憶される、プロセッサ2316にロードされ、構成され、かつ動作しているソフトウェアモジュール、プロセッサ2316に結合された1つもしくは複数のハードウェアモジュール、またはそれらの何らかの組合せであり得る。モジュールおよび/または回路2304、2306、および2308は、マイクロコントローラ命令、状態機械構成パラメータ、またはそれらの何らかの組合せを含む場合がある。
【０１５３】
一構成では、ワイヤレス通信用の装置2300は、1組のビットから遷移番号を生成するように構成されたモジュールおよび/または回路2304、遷移番号をシンボルのシーケンスに変換するように構成されたモジュールおよび/または回路2306、ならびに2線シリアルバスのシグナリング状態においてシンボルのシーケンスを送信するように構成されたモジュールおよび/または回路2308を含む。装置2300は、たとえば、シリアルバス2314および/または装置2300の動作モードを制御するモジュールおよび/または回路2310を含む、さらなるモジュールおよび/または回路を含む場合がある。たとえば、モード制御モジュールおよび/または回路2310は、シリアルバス2314上に制御シーケンスを送信するコマンド生成モジュールを含むか、またはそれと協働する場合がある。別の例では、モード制御モジュールおよび/または回路2310は、I2C動作モードにおけるオープンドレインドライバまたはその均等物、およびCCIe動作モードにおけるプッシュプルドライバを有効にするために、ラインインターフェース回路2312の再構成をもたらす場合がある。
【０１５４】
図24は、CCIeバス上のデータ通信用の方法を示すフローチャート2400である。方法の様々なステップは、たとえば、図1〜図8、図20、図23、および/または図24に示されたデバイスおよび回路の何らかの組合せを含む、CCIeデバイス内の受信機回路およびモジュールを使用して実行することができる。
【０１５５】
ステップ2402において、デバイスは、2線シリアルバスが第1の動作モードで動作するとき、2線シリアルバスのシグナリング状態における遷移から受信クロックを導出することができる。2線シリアルバスは、2線シリアルバスが第1の動作モードで動作するとき、CCIe通信を同時にサポートする多目的バスであり得る。2線シリアルバスは、第2の動作モードにおいてI2C通信をサポートすることができる。2線シリアルバスは、I2Cプロトコル、CCIプロトコル、および/またはCCIeプロトコルのうちの1つまたは複数と互換性があるデバイスとの通信をサポートすることができる。
【０１５６】
ステップ2404において、デバイスは、受信クロックを使用して、第1の動作モードに従って2線シリアルバス上で送信されたシンボルのシーケンスを受信することができる。2線シリアルバスのシグナリング状態における遷移は、シンボルのシーケンス内のシンボル間の遷移に対応することができる。シンボルのシーケンスは、2線シリアルバス上のI2C開始状態を特定し、受信クロックによって画定されたタイミングに従って2線シリアルバスから12個のシンボルを受信することによって、2線シリアルバスから受信することができる。
【０１５７】
一態様では、シンボルのシーケンスは、2線シリアルバスが第2の動作モードで動作するとき、2線シリアルバス上の通信用に構成されたデバイスによって無視される場合がある。
【０１５８】
ステップ2406において、デバイスは、シンボルのシーケンスから遷移番号を生成することができる。遷移番号は複数の桁を有する場合があり、各桁はシンボルのシーケンス内の一対の連続するシンボル間の遷移を表す。
【０１５９】
ステップ2408において、デバイスは、遷移番号からデータを復号することができる。遷移番号は、12桁の3進数であり得る。2線シリアルバスについて4つのシグナリング状態を規定することができる。3進数の各桁は、2線シリアルバス上の一対の連続するシグナリング状態間の関係を表すことができる。シンボルのシーケンス内の各シンボルは、2線シリアルバスのシグナリング状態によって規定された4つのシンボルのうちの1つであり得る。3進数の各桁は、シンボルのシーケンス内の一対の連続するシンボル間の関係を規定することができる。
【０１６０】
図25は、処理回路2502を使用する装置のためのハードウェア実装形態の簡略化された例を示す図2500である。処理回路は、通常、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、シーケンサ、および状態機械などのうちの1つまたは複数を含む場合があるプロセッサ2516を有する。処理回路2502は、バス2520によって概略的に表されるバスアーキテクチャを用いて実装することができる。バス2520は、処理回路2502の具体的な適用例および全体的な設計制約に応じて、任意の数の相互接続するバスおよびブリッジを含む場合がある。バス2520は、プロセッサ2516、モジュールおよび/または回路2504、2506、および2508、複数のコネクタまたはワイヤを含むマルチレーンCCIeバス2514を介して通信するように構成可能なラインインターフェース回路2512、ならびにコンピュータ可読記憶媒体2518によって表される、1つまたは複数のプロセッサおよび/またはハードウェアモジュールを含む様々な回路を一緒にリンクする。バス2520はまた、当技術分野でよく知られており、したがって、これ以上記載されないタイミングソース、周辺機器、電圧レギュレータ、および電源管理回路などの様々な他の回路をリンクすることができる。
【０１６１】
プロセッサ2516は、コンピュータ可読記憶媒体2518に記憶されたソフトウェアの実行を含む全体的な処理を担当する。ソフトウェアは、プロセッサ2516によって実行されたとき、処理回路2502に任意の特定の装置について上記に記載された様々な機能を実行させる。コンピュータ可読記憶媒体2518はまた、ソフトウェアを実行するとき、マルチレーンCCIeバス2514を介して送信されるシンボルから復号されたデータを含む、プロセッサ2516によって操作されるデータを記憶するために使用することができる。処理回路2502は、モジュールおよび/または回路2504、2506、および2508のうちの少なくとも1つをさらに含む。モジュールおよび/または回路2504、2506、および2508は、コンピュータ可読記憶媒体2518に存在する/記憶される、プロセッサ2516内で動作しているソフトウェアモジュール、プロセッサ2516に結合された1つもしくは複数のハードウェアモジュール、またはそれらの何らかの組合せであり得る。モジュールおよび/または回路2504、2506、および2508は、マイクロコントローラ命令、状態機械構成パラメータ、またはそれらの何らかの組合せを含む場合がある。
【０１６２】
一構成では、ワイヤレス通信用の装置2500は、2線シリアルバスのシグナリング状態における遷移から受信クロックを導出し、受信クロックを使用して2線シリアルバスからシンボルのシーケンスを受信するように構成されたCDR回路2504、シンボルのシーケンスから遷移番号を生成するように構成されたモジュールおよび/または回路2506、ならびに遷移番号からデータを復号するように構成されたモジュールおよび/または回路2508を含む。2線シリアルバスのシグナリング状態における遷移は、シンボルのシーケンス内のシンボル間の遷移に対応することができる。遷移番号は複数の桁を有する場合があり、各桁はシンボルのシーケンス内の一対の連続するシンボル間の遷移を表す。
【０１６３】
図26は、バスを使用するシステムまたはデバイスに関係する方法を示すフローチャート2600である。一例では、デバイスは、第1のラインおよび第2のラインを含むバスと、バスに結合されたデバイスの第1のセットと、バスに結合されたデバイスの第2のセットとを有する場合がある。方法は、本明細書で開示されたようにCCIeバス430に適用可能であり得るし、それによって、第1のラインはSDAライン418であり得るし、第2のラインはSCLライン416であり得る(たとえば、図4および図17参照)。
【０１６４】
ステップ2602において、バスに結合されたデバイスの第1のセットは、第1の動作モードにおいて、データ送信に第1のラインを使用し、第1のクロック信号に第2のラインを使用するように構成することができる。
【０１６５】
ステップ2604において、バスに結合されたデバイスの第2のセットは、第2の動作モードにおいて、データ送信のシンボル遷移内に第2のクロック信号を埋め込みながら、データ送信に第1のラインと第2のラインの両方を使用するように構成することができる。
【０１６６】
場合によっては、バスは第3のモードで動作可能であり得る。そのような場合、ステップ2606において、バスに結合されたすべてのアクティブデバイスが第3のモードで動作することが可能かどうかを判定することができる。一例では、判定は、バスマスタデバイスによって保持されている構成情報に基づいて行われる。構成情報は、あらかじめ定義された構成情報および/または発見プロトコルによって取得された情報などを含む場合がある。構成情報は、現在アクティブであると識別されている、バスに結合されたデバイスの能力の記述を含む場合がある。現在アクティブなデバイスは、スタートアップ手順において識別されたデバイス、バス上で送信されたブロードキャストに応答したデバイス、および/またはバス上の通信トランザクションに従事しているデバイスであり得る。アクティブでないデバイスは、休止デバイス、および/または、デバイスのSIDを含んでいるか、もしくはデバイスからの応答を促すように予想されるはずのブロードキャストを含んでいる、バス上で送信された通信に応答しなかったデバイスであり得る。
【０１６７】
ステップ2606において、バスに結合されたすべてのアクティブデバイスが第3の動作モードで動作することが可能であると判定された場合、ステップ2608において、バスは第3の動作モードで動作するようにさせることができる。第3の動作モードでは、1つまたは複数のデバイスは、データ送信のシンボル遷移内にクロック信号を埋め込みながら、データ送信に第1のラインと第2のラインの両方を使用するように構成される。
【０１６８】
場合によっては、デバイスの第1のセットおよびデバイスの第2のセットは、第1の動作モードと第2の動作モードの両方において、バスの少なくとも1つのラインを同時に監視する。デバイスの第1のセット内のマスタデバイスは、第1の動作モードにおいて、デバイスの第1のセット内のスレーブデバイスに、バスの第1のラインを介してデータを送信することができる。デバイスの第2のセット内のマスタデバイスは、第2の動作モードにおいて、デバイスの第2のセット内のスレーブデバイスに、バスを介してデータを送信することができる。デバイスの第2のセット内のデバイスは、第1の動作モードと第2の動作モードの両方において動作することが可能である。マスタデバイスは、第1の動作モードおよび第2の動作モードにおいて動作することが可能であり得る。デバイスは、第1の動作モードと第2の動作モードの両方においてマスタデバイスとして働くことができる。第1の動作モードと第2の動作モードの両方においてマスタデバイスとして働くことができるデバイスは、デバイスの第1のセットと第2のセットの両方のメンバと考えることができる。マスタデバイスは、第1の動作モード、第2の動作モード、および第3の動作モードにおいて動作することが可能であり得る。デバイスは、第1の動作モード、第2の動作モード、および第3の動作モードの各々においてマスタデバイスとして働くことができる。
【０１６９】
一態様では、第1の動作モードは、バスを介したデータ送信用の第1のプロトコルを実施し、第2の動作モードは、バスを介したデータ送信用の第2のプロトコルを実施する。第1のプロトコルは、I2C動作モードに対応することができるか、またはそれと互換性があり得る。第2のプロトコルは、CCIe動作モードに対応することができるか、またはそれと互換性があり得る。
【０１７０】
デバイスの第1のセットは、第2の動作モードにおいて、有効なスレーブノードアドレスの検出を禁止するリセットインジケータを、第1のラインおよび第2のラインを介して受信することができる。一例では、第2の動作モードにおけるデータ送信は、デバイスの第1のセットにビットの有効なシーケンスを検出する前にそれらのバスロジックをリセットさせるリセットインジケータを、第1のラインおよび第2のラインに挿入することによって、定期的に中断される。リセットインジケータは、第1の動作モードがI2C動作モードに対応するか、またはそれと互換性があるとき、開始状態に対応することができる。
【０１７１】
本明細書で開示されたいくつかの態様によれば、デバイスの第2のセット内のマスタノードは、第1の動作モードの間、第1のラインを介して第1のビットシーケンスを送り、ここで、第1のビットシーケンスは、デバイスの第2のセットに第2の動作モードへの切替えを示す。第2の動作モードの間、マスタノードは、デバイスの第2のセットに第1の動作モードへの切替えを示す退出シンボルシーケンスを、バスを介して送る場合がある。
【０１７２】
本明細書で開示されたいくつかの態様によれば、バスはI2C互換バスである。一例では、第1の動作モードは、バスを介して1メガビット毎秒の最大ビットレートを有することができ、第2の動作モードは、6.4メガビット毎秒の最大ビットレートを有することができる。別の例では、第1の動作モードは、バスを介して1メガビット毎秒の最大ビットレートを有し、第2の動作モードは、16.7メガビット毎秒の最大ビットレートを有する。
【０１７３】
場合によっては、第1の動作モードは、バスを介したデータ送信用の第1のプロトコルを実施し、第2の動作モードは、バスを介したデータ送信用の第2のプロトコルを実施し、第3の動作モードは、バスを介したデータ送信用の第3のプロトコルを実施する。第3の動作モードは、バスを介して27.1メガビット毎秒の最大ビットレートを有することができる。
【０１７４】
一例では、バスは、ベースバンドプロセッサを含むデバイスの第2のセット内の第1のデバイスに結合され、イメージセンサを含むデバイスの第2のセット内の第2のデバイスに結合される。バスは、ベースバンドプロセッサとイメージセンサとの間で制御データ信号を搬送することができる。
【０１７５】
本明細書で開示されたいくつかの態様によれば、デバイスの第2のセット内の各デバイスは、データビットのシーケンスを複数のM個の遷移番号に変換し、各遷移番号を連番のセットからの連番に変換し、バスを介して連番を送信するように適合することができる。連番は、2つの連番が同じではないことを保証するために、直前の遷移番号からの遷移に基づく遷移番号から選択することができる。各遷移番号は、複数の遷移番号を連番に変換することによって、連番のセットからの連番に変換することができる。
【０１７６】
開示されたプロセスにおけるステップの具体的な順序または階層は、例示的な手法の説明であることを理解されたい。設計上の選好に基づいて、プロセスにおけるステップの具体的な順序または階層は再構成され得ることを理解されたい。添付の方法クレームは、様々なステップの要素を例示的な順序で提示したものであり、提示された特定の順序または階層に限定されるものではない。
【０１７７】
これまでの説明は、任意の当業者が本明細書に記載された様々な態様を実践することを可能にするように提供される。これらの態様への様々な変更は当業者には容易に明らかであり、本明細書で定義された一般的な原理は他の態様に適用され得る。したがって、特許請求の範囲は本明細書に示された態様に限定されるものではなく、文言通りの特許請求の範囲に整合するすべての範囲を与えられるべきであり、単数の要素への言及は、そのように明記されていない限り、「唯一無二の」を意味するものではなく、「1つまたは複数の」を意味するものである。別段に明記されていない限り、「いくつかの」という用語は「1つまたは複数の」を指す。当業者に知られている、または後で知られることになる、本開示全体にわたって記載された様々な態様の要素に対するすべての構造的および機能的な均等物は、参照により本明細書に明確に組み込まれ、特許請求の範囲によって包含されるものである。その上、本明細書で開示された内容は、そのような開示が特許請求の範囲で明示的に列挙されているかどうかにかかわらず、公に供されるものではない。いかなるクレーム要素も、要素が「ための手段」という語句を使用して明確に列挙されていない限り、ミーンズプラスファンクションとして解釈されるべきではない。
【符号の説明】
【０１７８】
100  装置
102  処理回路
106  通信トランシーバ
108  特定用途向けIC(ASIC)
110  アプリケーションプログラミングインターフェース(API)
112  メモリ、メモリデバイス
114  ローカルデータベース
122  アンテナ
124  ディスプレイ
126  キーパッド
128  ボタン
200  ブロック図
202  デバイス、カメラデバイス
204  ベースバンドプロセッサ
206  イメージセンサ
208  マルチモード制御データバス
212  デバイス、マスタノード
214  デバイス、スレーブノード
216  イメージデータバス
218  デバイス、周辺デバイス
300  ブロック図
302  共通バス
3041  I2Cスレーブデバイス
3042  I2Cスレーブデバイス
304m  I2Cスレーブデバイス
306  CCIeモード通信
308  I2Cモードのトランザクション
312  CCIeモードのデバイス、CCIe対応マスタデバイス、デバイス
3141  デバイス
3142  デバイス
314n  デバイス
400  装置
402  イメージングデバイス、デバイス
404  センサ制御機能
406  構成レジスタ
408  クロック発生器
410  トランシーバ
410a  受信機
410b  共通回路
410c  送信機
412  処理回路および/または制御ロジック
414a  ラインドライバ/受信機
414b  ラインドライバ/受信機
416  SCL線
418  SDA線
420  デバイス
422a  デバイス
422n  デバイス
424  ストレージデバイス
428  送信クロック(TXCLK)信号
430  バス、物理リンク、CCIeバス、2線インターフェース
500  送信機
502  コンバータおよび/またはトランスコーダ
504  エンコーダ、トランスコーダ
506  ラインドライバ
508  オープンドレイン出力トランジスタ
510  入力データ
512  3進数
514  シンボル
520  受信機、受信回路、受信デバイス
522  回路、トランスコーダおよび/またはコンバータ
524  回路、デコーダ、トランスコーダ
526  ラインインターフェース
528  クロックおよびデータ復元(CDR)回路
530  出力データビット
532  3進数
534  シンボル
536  未加工の2ビットシンボル
538  受信クロック、クロック
600  ブロック図
602  3進数
620  ロジック
640  ロジック
700  ブロック図
702  3進数
704  コンバータ
712  3進遷移番号
720  ロジック
800  回路
802  マルチプレクサ
814  出力(DELCNT)
824  出力ビット
850  カウンタ
852  関数
854  終了検出ロジック
854a  終了検出ロジック
854b  終了検出ロジック
856  第2のマルチプレクサロジック
858  第1のマルチプレクサロジック
860  レジスタまたはラッチ
864  制御信号(START信号)
900  CCIe符号化方式
902  シンボル順序付けサークル
904a  ロケーション
904b  ロケーション
904c  ロケーション
904d  ロケーション
906  回転
920  テーブル
922  直前のシンボル
924  現在のシンボル
926  遷移番号(T)
1000  タイミング図
1002  高の論理状態
1004  データビット
1006  データビット
1008  ACK
1100  タイミング図
1106  セットアップ時間用の最小継続時間(tSU;DAT)
1108  保持時間用の最小継続時間(tHD;DAT)
1110  SCL信号線416用の高の期間(tHIGH)
1112  クロック制御パルス
1114  SCL信号線416用の低の期間(tLOW)
1116  SDA信号線418上のシグナリング状態間の遷移
1118  SDA信号線418上のシグナリング状態間の次の遷移
1120  タイミング図
1122  開始状態またはシーケンス
1124  終了状態またはシーケンス
1200  タイミング図
1206  シンボルのシーケンス
1208  シンボルのシーケンス
1210  開始状態
1212  シンボル期間(tsym)
1214  最小経過時間
1216  最小セットアップ期間(tSU)
1220  タイミング図
1224  増大された時間
1300  タイミング図
1306  12シンボルのシーケンス
1308  12シンボルのシーケンス
1310  シンボル期間(tsym)
1312  最小経過時間
1314  期間
1400  タイミング図
1406  12シンボルのシーケンスまたは間隔
1408  シンボルのシーケンス
1408a  開始シンボル
1408b  セットアップシンボル
1408c  終了またはセットアップシンボル
1408d  シンボルS7
1410  遷移番号
1412  受信クロック(RXCLK)
1414  シンボル境界
1416  シンボル境界
1422  送信クロック(TXCLK)
1500  タイミング図
1502  スレーブID
1512  読取り/書込みビット
1600  レガシーI2Cスレーブノード上の開始状態の効果を示す例
1602  不完全なスレーブID
1604  不完全なスレーブID
1606  開始状態
1608  開始状態
1610  開始状態
1612  パルス
1614  クロック信号
1620  CCIeモードにおけるデータ送信用のI2CバスのSCLラインとSDAラインの組合せの使用を示す例
1622  12シンボルの送信
1624  12シンボルの送信
1626  開始状態
1628  開始状態
1630  開始状態
1700  システムまたは装置
1702  バスマスタデバイス
1704  周辺モジュールまたは周辺回路
1706  ストレージ
1708  プロトコル
1710  処理回路および/または制御ロジック
1712  クロック発生回路
1714  トランシーバ
1716  ラインドライバ/受信機
1718  ラインドライバ/受信機
1722  CCIeスレーブデバイス
1724  周辺モジュールまたは周辺回路
1726  ストレージ
1728  プロトコル
1730  処理回路および/または制御ロジック
1732  クロック発生回路
1734  トランシーバ 
1736  ラインドライバ/受信機
1738  ラインドライバ/受信機
1742  I2Cスレーブデバイス
1800  タイミング図
1802  タイミング図
1804  CCIeモード退出シーケンス
1806  CCIe書込みデータのシーケンスまたはプロトコル
1808  CCIe読取りデータのシーケンスまたはプロトコル
1810  CDR較正プロトコル
1812  CCIeモード進入
1814  CCIeモードからの退出
1816  退出シーケンス
1818  スレーブ識別子(SID)
2100  概念図
2102  処理回路
2104  プロセッサ
2106  ストレージ
2108  バスインターフェース
2110  バス
2112  ラインインターフェース回路
2114  ランタイムイメージ
2116  ソフトウェアモジュール
2118  ユーザインターフェース
2120  時間分割プログラム
2122  内部デバイスおよび/または論理回路
2200  フローチャート
2300  図
2302  処理回路
2304  モジュールまたは回路
2306  モジュールまたは回路
2308  モジュールまたは回路
2310  モジュールまたは回路
2312  ラインインターフェース回路
2314  マルチレーンCCIeバス、シリアルバス
2316  プロセッサ
2318  コンピュータ可読記憶媒体
2320  バス
2400  フローチャート
2500  図
2502  処理回路
2504  モジュールおよび/または回路
2506  モジュールおよび/または回路
2508  モジュールおよび/または回路
2512  ラインインターフェース回路
2514  マルチレーンCCIeバス
2516  プロセッサ
2518  コンピュータ可読記憶媒体
2520  バス
2600  フローチャート
【図１】
0006257757.tif 000003
【図２】
0006257757.tif 000004
【図３】
0006257757.tif 000005
【図４】
0006257757.tif 000006
【図５】
0006257757.tif 000007
【図６】
0006257757.tif 000008
【図７】
0006257757.tif 000009
【図８】
0006257757.tif 000010
【図９】
0006257757.tif 000011
【図１０】
0006257757.tif 000012
【図１１】
0006257757.tif 000013
【図１２】
0006257757.tif 000014
【図１３】
0006257757.tif 000015
【図１４】
0006257757.tif 000016
【図１５】
0006257757.tif 000017
【図１６】
0006257757.tif 000018
【図１７】
0006257757.tif 000019
【図１８】
0006257757.tif 000020
【図１９】
0006257757.tif 000021
【図２０】
0006257757.tif 000022
【図２１】
0006257757.tif 000023
【図２２】
0006257757.tif 000024
【図２３】
0006257757.tif 000025
【図２４】
0006257757.tif 000026
【図２５】
0006257757.tif 000027
【図２６】
0006257757.tif 000028