(57)【要約】  集積回路間(I2C)バスの性能を向上させるシステム、方法、および装置について説明する。I2Cバスプロトコルに従って第1のシグナリングにおいて1次データが符号化されてもよく、I2Cバス上で送信される組み合わされたシグナリングを取得するために第1のシグナリングが第2のシグナリングと組み合わされてもよい。2次データは、組み合わされたシグナリングがI2Cバスプロトコルに適合したままで第2のシグナリングにおいて符号化されてもよい。第2のシグナリングは、第1のシグナリングにおける少なくとも1つの信号の電圧レベルを変調してもよい。第2のシグナリングは、I2Cバス上で送信されるクロック信号をパルス幅変調してもよい。第2のシグナリングは、I2Cバス上で送信されるバイト間の開始条件を修正してもよい。第2のシグナリングは、第1のシグナリングにおいて送信されるクロック信号に複数の短パルスを追加してもよい。
2017516353.tif 000002
【特許請求の範囲】
【請求項１】
データ通信の方法であって、
集積回路間(I2C)バスプロトコルに従ってI2C信号における1次データを符号化するステップと、
マルチチャネル信号を取得するために前記I2C信号における2次データを符号化するステップと、
I2Cバス上で前記マルチチャネル信号を送信するステップであって、前記マルチチャネル信号は前記I2Cバスプロトコルに適合するステップと
を含む、方法。
【請求項２】
前記I2C信号における前記2次データを符号化する前記ステップは、
差動信号における前記2次データを符号化するステップであって、前記差動信号は相補信号の対を含むステップと、
前記I2Cバスのシリアルデータライン(SDA)上で前記相補信号の対のうちの一方を送信し、かつ前記I2Cバスのシリアルクロックライン(SCL)上で前記相補信号の対のうちの他方を送信することによって、前記I2Cバス上で前記差動信号を送信するステップと
を含む、請求項1に記載の方法。
【請求項３】
前記差動信号は、前記SDAと前記SCLの両方がハイ論理レベルであるときに前記I2Cバス上で送信され、前記SDAおよび前記SCLは、前記SDAおよび前記SCLを介して前記差動信号が送信される間、前記ハイ論理レベルに関して前記I2Cバスプロトコルによって指定された最小電圧よりも高く、前記ハイ論理レベルに関して前記I2Cバスプロトコルによって指定された最大電圧よりも低い電圧レベルを有する、請求項2に記載の方法。
【請求項４】
前記差動信号は、前記I2Cバスがアイドルである期間中に送信される、請求項2に記載の方法。
【請求項５】
前記I2C信号における前記2次データを符号化する前記ステップは、
周波数変調(FM)信号における前記2次データを符号化するステップと、
前記I2Cバスのシリアルデータライン(SDA)および前記I2Cバスのシリアルクロックライン(SCL)のうちの1つまたは複数を介して前記FM信号を送信するステップと
を含む、請求項1に記載の方法。
【請求項６】
前記FM信号は、I2C適合デバイスのレシーバによって使用されるシュミットトリガ入力に関する最小ヒステリシス電圧レベルよりも小さい振幅を有し、前記最小ヒステリシス電圧レベルは、前記I2Cバスプロトコルにおいて規定される、請求項5に記載の方法。
【請求項７】
前記I2C信号における前記2次データを符号化するステップは、
前記I2Cバスのシリアルデータライン(SDA)上または前記I2Cバスのシリアルクロックライン(SCL)上で送信される信号に短パルスを挿入するかまたは挿入しないステップを含み、
前記短パルスは、送信すべき前記2次データのビットの値が第1の値を有するときに挿入され、送信すべき前記2次データの前記ビットが第2の値を有するときには短パルスが挿入されない、請求項1に記載の方法。
【請求項８】
前記I2C信号における前記2次データを符号化するステップは、
前記SCL上で送信されるクロック信号の複数の半周期に短パルスを挿入するかまたは挿入しないステップを含む、請求項7に記載の方法。
【請求項９】
前記短パルスは、前記I2Cバス上のパルスに関して前記I2Cバスプロトコルによって指定された最小持続時間よりも短い持続時間を有する、請求項7に記載の方法。
【請求項１０】
前記短パルスは、I2Cレシーバによって無視すべきスパイクに関してI2Cバスプロトコルによって指定された最大持続時間よりも短い持続時間を有する、請求項7に記載の方法。
【請求項１１】
前記I2C信号における前記2次データを符号化するステップは、
変調されたクロック信号を取得するために前記I2Cバスのシリアルクロックライン(SCL)上で送信されるクロック信号をパルス幅変調するステップを含み、
前記変調されたクロック信号のそれぞれのハイ期間は、前記I2Cバスプロトコルによって指定されたSCLクロックに関する最小のハイ期間を超える持続時間を有し、前記変調されたクロック信号のそれぞれのロー期間は、前記I2Cバスプロトコルによって指定されたSCLクロックに関する最小のロー期間を超える持続時間を有する、請求項1に記載の方法。
【請求項１２】
前記1次データは前記I2Cバス上で送信すべきフレームにおいて符号化され、前記I2C信号における前記2次データを符号化するステップは、
送信すべき前記2次データのビットが第1の値を有するときに、連続的なフレーム間に停止条件を送信し、それに続いて開始条件を送信するステップと、
送信すべき前記2次データの前記ビットが第2の値を有するときに、前記連続的なフレーム間に反復開始条件を送信するステップと
を含む、請求項1に記載の方法。
【請求項１３】
前記1次データは前記I2Cバス上で送信すべきフレームにおいて符号化され、前記I2C信号における前記2次データを符号化する前記ステップは、
送信すべき前記2次データのビットが第1の値を有するときに、連続的なフレームの対の間に、既定の2つの持続時間のうちの第1の持続時間を有する反復開始条件を送信するステップと、
送信すべき前記2次データの前記ビットが第2の値を有するときに、前記連続的なフレームの対の間に、既定の2つの持続時間のうちの第2の持続時間を有する反復開始条件を送信するステップと
を含む、請求項1に記載の方法。
【請求項１４】
集積回路間(I2C)バス上でデータを送信するように構成される装置であって、
処理回路を有するエンコーダであって、前記処理回路は、
I2Cバスプロトコルに従ってI2C信号における1次データを符号化することと、
マルチチャネル信号を生成するために前記I2C信号における2次データを符号化することと
を行うように構成されるエンコーダと、
前記I2Cバスプロトコルに従ってI2Cバス上で前記マルチチャネル信号を送信するように構成されるトランスミッタと
を備える、装置。
【請求項１５】
前記エンコーダの前記処理回路は、前記I2C信号に重畳される差動信号またはFM信号における前記2次データを符号化することによって前記2次データを符号化するように構成される、請求項14に記載の装置。
【請求項１６】
前記エンコーダの前記処理回路は、前記I2Cバスのシリアルクロックライン(SCL)上で送信されるクロック信号をパルス幅変調するか、または前記I2Cバスのシリアルデータライン(SDA)または前記SCLに短パルスを選択的に追加することによって前記2次データを符号化するように構成され、前記短パルスは、I2Cレシーバによって無視すべきスパイクに関して前記I2Cバスプロトコルによって指定された最大持続時間よりも短い持続時間を有する、請求項14に記載の装置。
【請求項１７】
前記エンコーダの前記処理回路は、前記2次データのビットを使用して、前記I2Cバス上で送信される1次データのフレーム間に送信される開始条件のタイプを選択するか、または前記2次データの前記ビットを使用して1次データの前記フレーム間に送信される反復開始条件の持続時間を選択することによって前記2次データを符号化するように構成される、請求項14に記載の装置。
【請求項１８】
データ通信の方法であって、
集積回路間(I2C)バスプロトコルに従ってI2C信号から受信された1次データを復号するステップと、
前記I2C信号から2次データを復号するステップであって、前記2次データは、前記I2Cバスプロトコル以外のプロトコルを使用して復号されるステップと
を含み、
前記I2C信号は前記I2Cバスプロトコルに準拠する、方法。
【請求項１９】
前記2次データを復号するステップは、
I2Cバスのシリアルデータライン(SDA)およびシリアルクロックライン(SCL)から信号の差動対を受信するステップであって、前記SDAおよび前記SCLは、前記信号の前記差動対のうちのそれぞれに異なる信号を搬送するステップと、
前記信号の前記差動対から前記2次データを復号するステップと
を含む、請求項18に記載の方法。
【請求項２０】
前記信号の前記差動対は、前記SDAと前記SCLの両方がハイ論理レベルであるときに前記I2Cバスから受信され、前記SDAおよび前記SCLは、前記信号の前記差動対が前記I2Cバスから受信される間、前記ハイ論理レベルに関して前記I2Cバスプロトコルによって指定された最小電圧よりも高く、前記ハイ論理レベルに関して前記I2Cバスプロトコルによって指定された最大電圧よりも低い電圧レベルを有する、請求項19に記載の方法。
【請求項２１】
前記信号の前記差動対は、前記I2Cバスがアイドルである期間中に受信される、請求項19に記載の方法。
【請求項２２】
前記2次データを復号するステップは、
前記I2Cバスのシリアルデータライン(SDA)およびシリアルクロックライン(SCL)の少なくとも一方から周波数変調(FM)信号を受信するステップと、
前記FM信号から前記2次データを復号するステップと
を含み、
前記FM信号は、前記I2Cバスプロトコルにおいて規定されたようなI2C適合デバイスのレシーバにおけるシュミットトリガ入力に関する最小ヒステリシス電圧レベルよりも小さい振幅を有する、請求項18に記載の方法。
【請求項２３】
前記SDAおよび前記SCLの前記電圧は、前記FM信号が受信される間、ハイ論理レベルに関して前記I2Cバスプロトコルによって指定された最小電圧よりも高く、前記ハイ論理レベルに関して前記I2Cバスプロトコルによって指定された最大電圧よりも低い、請求項22に記載の方法。
【請求項２４】
前記2次データを復号するステップは、
前記I2Cバスのシリアルデータライン(SDA)または前記I2Cバスのシリアルクロックライン(SCL)から受信された信号における短パルスの有無を判定するステップと、
前記短パルスの前記有無に基づいて前記2次データを復号するステップと
を含む、請求項18に記載の方法。
【請求項２５】
前記短パルスの各々は、無視すべきスパイクに関してI2Cバスプロトコルによって指定された最大持続時間よりも短い持続時間を有する、請求項24に記載の方法。
【請求項２６】
前記2次データを復号するステップは、
前記I2Cバスのシリアルクロックライン(SCL)から受信されたクロック信号の複数の半周期における短パルスの有無を判定するステップと、
前記短パルスの前記有無に基づいて前記2次データを復号するステップと
を含み、
前記短パルスの各々は、無視すべきスパイクに関してI2Cバスプロトコルによって指定された最大持続時間よりも短い持続時間を有する、請求項18に記載の方法。
【請求項２７】
前記2次データを復号するステップは、
前記I2Cバスのシリアルクロックライン(SCL)から受信されたパルス幅変調されたクロック信号における2次データを復号するステップを含み、
前記パルス幅変調されたクロック信号のそれぞれのハイ期間は、前記I2Cバスプロトコルによって指定されたSCLクロックに関する最小のハイ期間を超える持続時間を有し、前記パルス幅変調されたクロック信号のそれぞれのロー期間は、前記I2Cバスプロトコルによって指定されたSCLクロックに関する最小のロー期間を超える持続時間を有する、請求項18に記載の方法。
【請求項２８】
前記2次データを復号するステップは、
前記I2Cバスのシリアルデータライン(SDA)上で1次データを搬送する連続的なフレーム間に停止条件および開始条件が受信されたときに2次データのビットに関する第1の値を決定するステップと、
前記連続的なフレーム間に反復開始条件が受信されたときに2次データの前記ビットに関する第2の値を決定するステップと
を含む、請求項18に記載の方法。
【請求項２９】
前記2次データを復号するステップは、
前記I2Cバスのシリアルデータライン(SDA)上で1次データを搬送する連続的なフレーム間に受信された反復開始条件が第1の持続時間を有するときに2次データのビットに関する第1の値を決定するステップと、
前記反復開始条件が第2の持続時間を有するときに2次データの前記ビットに関する第2の値を決定するステップと
を含む、請求項18に記載の方法。
【請求項３０】
集積回路間(I2C)バスからデータを受信するように構成される装置であって、
集積回路間(I2C)バスプロトコルに従ってI2C信号から受信された1次データを復号するための手段と、
前記I2C信号から2次データを復号するための手段であって、前記2次データは、前記I2Cバスプロトコル以外のプロトコルを使用して復号される手段と
を備え、
前記I2C信号は前記I2Cバスプロトコルに準拠する、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、内容全体が参照により本明細書に組み込まれる、2014年4月2日に米国特許商標庁に出願された、米国非仮特許出願第14/243,459号の優先権および利益を主張する。
【０００２】
本開示は、概してプロセッサと周辺デバイスとの間のインターフェースに関し、より詳細には、シリアルバスのデータ通信機能を向上させることに関する。
【背景技術】
【０００３】
I2CバスまたはI2Cバスと呼ばれる場合もある集積回路間シリアルバスは、低速周辺装置をプロセッサに接続する際に使用するためのものであったシリアルシングルエンドコンピュータバスである。I2Cバスは、各デバイスがI2Cバス上で送信される様々なメッセージに関してマスタおよびスレーブとして働くことができる。I2Cバスは、シリアルデータライン(SDA)およびシリアルクロックライン(SCL)を含む2つの双方向オープンドレーンコネクタを使用してデータを送信することができる。コネクタは、通常、プルアップ抵抗器によって終端処理された信号線を含む。I2Cの元の実装形態は、標準モード動作において最大100キロビット毎秒(100kbps)のデータ信号速度をサポートしたが、最近の規格は、高速モード動作において400kbps、高速モードプラス動作において1メガバイト毎秒(Mbps)の速度をサポートする。
【０００４】
しかしながら、いくつかのシステムおよび装置では、いくつかのタイプのデバイス間の通信をサポートするために、さらに高い帯域幅が必要とされる。たとえば、携帯電話などのモバイル通信デバイスは、かなりの帯域幅を消費するカメラ、ディスプレイ、および様々な通信インターフェースなどの複数のデバイスを使用する場合がある。より高い帯域幅は、レガシーデバイスとの互換性を維持するために従来のI2Cプロトコルが使用されるとき、取得することが困難な場合がある。したがって、モバイルデバイス内でマスタ構成要素とスレーブ構成要素とを接続するバスとして構成されるシリアルインターフェース上で最適化された通信を実現することが引き続き求められている。
【発明の概要】
【課題を解決するための手段】
【０００５】
本明細書において開示する実施形態は、I2Cバスの性能を向上させるシステム、方法、および装置を提供する。I2Cバスプロトコルに従って第1のシグナリングにおいて1次データが符号化されてもよく、I2Cプロトコル、仕様、および/またはデファクト規格に従ってI2Cバス上で送信される組合せシグナリングを取得するために第1のシグナリングが第2のシグナリングと組み合わされてもよい。
【０００６】
本開示の一態様では、データ通信方法は、I2Cバスプロトコルに従ってI2C信号における1次データを符号化するステップと、マルチチャネル信号を取得するためにI2C信号における2次データを符号化するステップと、I2Cバス上でマルチチャネル信号を送信するステップとを含む。マルチチャネル信号はI2Cバスプロトコルに適合してもよい。
【０００７】
別の態様では、I2C信号における2次データを符号化するステップは、差動信号において2次データを符号化するステップであって、差動信号が相補信号の対を含むステップと、I2CバスのSDA上で相補信号の対のうちの一方を送信し、I2CバスのSCL上で相補信号の対のうちの他方を送信することによってI2Cバス上で差動信号を送信するステップとを含む。差動信号は、SDAとSCLの両方がハイ論理レベルであるときにI2Cバス上で送信されてもよい。SDAおよびSCLは、SDAおよびSCLを介して差動信号が送信される間、ハイ論理レベルに関してI2Cバスプロトコルによって指定された最小電圧よりも高く、ハイ論理レベルに関してI2Cバスプロトコルによって指定された最大電圧よりも低い電圧レベルを有してもよい。この差動信号は、I2Cバスがアイドルである期間中に送信されてもよい。
【０００８】
別の態様では、I2C信号における2次データを符号化するステップは、FM信号における2次データを符号化するステップと、I2CバスのSDAおよびI2CバスのSCLのうちの1つまたは複数を介してFM信号を送信するステップとを含む。FM信号は、I2C適合デバイスのレシーバによって使用されるシュミットトリガ入力に関する最小ヒステリシス電圧レベルよりも小さい振幅を有してもよい。最小ヒステリシス電圧レベルは、I2Cバスプロトコルにおいて規定されてもよい。
【０００９】
別の態様では、I2C信号における2次データを符号化するステップは、I2CバスのSDAまたはI2CバスのSCL上で送信される信号に短パルスを挿入するかまたは挿入しないステップを含む。たとえば、短パルスは、送信すべき2次データのビットの値が第1の値を有するときに挿入されてもよく、送信すべき2次データのビットが第2の値を有するときに省略されてもよい。一例では、2次データは、SCL上で送信されるクロック信号の複数の半周期に短パルスを挿入するかまたは挿入しないことによってI2C信号において符号化されてもよい。短パルスは、クロック信号のパルスに関してI2Cバスプロトコルによって指定された最小持続時間よりも短い持続時間を有してもよい。短パルスは、I2Cレシーバによって無視すべきスパイクに関してI2Cバスプロトコルによって指定された最大持続時間よりも短い持続時間を有してもよい。
【００１０】
別の態様では、I2C信号における2次データを符号化するステップは、I2CバスのSCL上で送信されるクロック信号をパルス幅変調するステップを含む。得られるパルス幅変調されたクロック信号のそれぞれのハイ期間は、I2Cバスプロトコルによって指定されたSCLクロックに関する最小のハイ期間を超える持続時間を有し、パルス幅変調されたクロック信号のそれぞれのロー期間は、I2Cバスプロトコルによって指定されたSCLクロックに関する最小のロー期間を超える持続時間を有する。
【００１１】
別の態様では、1次データは、I2Cバス上で送信すべきフレームにおいて符号化されてもよい。I2C信号における2次データを符号化するステップは、送信すべき2次データのビットが第1の値を有するときに1次データのフレーム間に停止条件を送信し、その後開始条件を送信するステップと、送信すべき2次データのビットが第2の値を有するときに反復開始条件を送信するステップとを含んでもよい。
【００１２】
別の態様では、1次データは、I2Cバス上で送信すべきフレームにおいて符号化される。I2C信号における2次データを符号化するステップは、1次データのフレーム間に反復開始条件を送信するステップであって、反復開始条件が、送信すべき2次データのビットが第1の値を有するときに2つの既定の持続時間のうちの第1の持続時間を有するステップと、送信すべき2次データのビットが第2の値を有するときに2つの既定の持続時間のうちの第2の持続時間を有する反復開始条件を送信するステップとを含んでもよい。
【００１３】
本開示の一態様では、I2Cバス上でデータを送信するように構成される装置は、処理回路を有するエンコーダを含む。処理回路は、I2Cバスプロトコルに従ってI2C信号における1次データを符号化し、マルチチャネル信号を生成するためにI2C信号における2次データを符号化するように構成され、トランスミッタは、I2Cバスプロトコルに従ってI2Cバス上でマルチチャネル信号を送信するように構成されてもよい。
【００１４】
別の態様では、エンコーダの処理回路は、I2C信号に重畳される差動信号またはFM信号における2次データを符号化することによって2次データを符号化するように構成される。
【００１５】
別の態様では、エンコーダの処理回路は、I2CバスのSCL上で送信されるクロック信号をパルス幅変調するか、またはI2CバスのSDAもしくはSCLに短パルスを選択的に追加することによって2次データを符号化するように構成されてもよい。短パルスは、I2Cレシーバによって無視すべきスパイクに関してI2Cバスプロトコルによって指定された最大持続時間よりも短い持続時間を有してもよい。
【００１６】
別の態様では、エンコーダの処理回路は、2次データのビットを使用して、I2Cバス上で送信される1次データのフレーム間に送信される開始条件のタイプを選択することによって2次データを符号化するように構成されてもよい。エンコーダの処理回路は、2次データのビットを使用して1次データのフレーム間に送信される反復開始条件の持続時間を選択することによって2次データを符号化するように構成されてもよい。
【００１７】
本開示の一態様では、データ通信方法は、I2Cバスプロトコルに従ってI2C信号から受信された1次データを復号するステップと、I2C信号から2次データを復号するステップとを含む。2次データは、I2Cバスプロトコル以外のプロトコルを使用して復号される。I2C信号は、I2Cバスプロトコルに準拠する。
【００１８】
別の態様では、2次データを復号するステップは、I2CバスのSDAおよびSCLから信号の差動対を受信するステップであって、SDAおよびSCLが信号の差動対のうちのそれぞれに異なる信号を搬送するステップと、信号の差動対から2次データを復号するステップとを含む。信号の差動対は、SDAとSCLの両方がハイ論理レベルであるときにI2Cバスから受信されてもよい。SDAおよびSCLは、I2Cバスから信号の差動対が受信される間、ハイ論理レベルに関してI2Cバスプロトコルによって指定された最小電圧よりも高く、ハイ論理レベルに関してI2Cバスプロトコルによって指定された最大電圧よりも低い電圧レベルを有してもよい。信号の差動対は、I2Cバスがアイドルである期間中に受信される。
【００１９】
別の態様では、2次データを復号するステップは、I2CバスのSDAまたはSCLの少なくとも一方からFM信号を受信するステップと、FM信号から2次データを復号するステップとを含んでもよい。FM信号は、I2Cバスプロトコルにおいて規定されたようなI2C適合デバイスのレシーバにおけるシュミットトリガ入力に関する最小ヒステリシス電圧レベルよりも小さい振幅を有してもよい。SDAおよびSCLの電圧は、FM信号が受信される間、ハイ論理レベルに関してI2Cバスプロトコルによって指定された最小電圧よりも高く、ハイ論理レベルに関してI2Cバスプロトコルによって指定された最大電圧よりも低くてもよい。
【００２０】
別の態様では、2次データを復号するステップは、I2CバスのSDAまたはI2CバスのSCLから受信された信号における短パルスの有無を判定するステップと、短パルスの有無に基づいて2次データを復号するステップとを含む。短パルスの各々は、無視すべきスパイクに関してI2Cバスプロトコルによって指定された最大持続時間よりも短い持続時間を有してもよい。
【００２１】
別の態様では、2次データを復号するステップは、I2CバスのSCLから受信されたクロック信号の複数の半周期における短パルスの有無を判定するステップと、短パルスの有無に基づいて2次データを復号するステップとを含む。短パルスの各々は、無視すべきスパイクに関してI2Cバスプロトコルによって指定された最大持続時間よりも短い持続時間を有してもよい。
【００２２】
別の態様では、2次データを復号するステップは、I2CバスのSCLから受信されたパルス幅変調されたクロック信号における2次データを復号するステップを含む。パルス幅変調されたクロック信号のそれぞれのハイ期間は、I2Cバスプロトコルによって指定されたSCLクロックに関する最小のハイ期間を超える持続時間を有し、パルス幅変調されたクロック信号のそれぞれのロー期間は、I2Cバスプロトコルによって指定されたSCLクロックに関する最小のロー期間を超える持続時間を有する。
【００２３】
別の態様では、2次データを復号するステップは、I2CバスのSDA上で1次データを搬送する連続的なフレーム間に停止条件および開始条件が受信されたときに2次データのビットに関する第1の値を決定するステップと、連続的なフレーム間に反復開始条件が受信されたときに2次データのビットに関する第2の値を決定するステップとを含む。
【００２４】
別の態様では、2次データを復号するステップは、I2CバスのSDA上で1次データを搬送する連続的なフレーム間に受信された反復開始条件が第1の持続時間を有するときに2次データのビットに関する第1の値を決定するステップと、反復開始条件が第2の持続時間を有するときに2次データのビットに関する第2の値を決定するステップとを含む。
【００２５】
本開示の一態様では、装置は、I2Cバスからデータを受信するように構成される。この装置は、I2Cバスプロトコルに従ってI2C信号から受信された1次データを復号するための手段と、I2C信号から2次データを復号するための手段とを含んでもよい。2次データは、I2Cバスプロトコル以外のプロトコルを使用して復号される。I2C信号は、I2Cバスプロトコルに準拠してもよい。
【図面の簡単な説明】
【００２６】
【図１】複数の利用可能な規格のうちの1つに従って選択的に動作する、ICデバイス間のデータリンクを使用する装置を示す図である。
【図２】I2C通信バスに接続される装置のいくつかの態様を示すブロック概略図である。
【図３】共通のI2Cバスに接続されるI2Cの構成を示す図である。
【図４】従来のI2Cバス上のSDA信号線とSCL信号線との間の関係を示すタイミング図である。
【図５】I2Cバス上で送信される複数のフレームに関連するタイミングを示すタイミング図である。
【図６】終了状態の態様の変更によるI2Cバスを介した2次データの送信を示すタイミング図である。
【図７】クロック信号上の短パルスの挿入によるI2Cバスを介した2次データの送信を示すタイミング図である。
【図８】クロック信号のパルス幅変調によるI2Cバスを介した2次データの送信を示すタイミング図である。
【図９】SCL信号およびSDA信号へのロー電圧差動信号の追加によるI2Cバスを介した2次データの送信を示すタイミング図である。
【図１０】SCL信号またはSDA信号へのFM信号の重畳によるI2Cバスを介した2次データの送信を示すタイミング図である。
【図１１】I2Cバス上で追加インバンド情報を送信するように適合されたI2Cデバイスのブロック概略図である。
【図１２】本明細書において開示される1つまたは複数の態様による、I2Cバス上で追加のデータを送信するための第1の方法のフローチャートである。
【図１３】本明細書において開示される1つまたは複数の態様による、I2Cバスを介して通信する受信装置のためのハードウェア実装形態の一例を示す図である。
【図１４】本明細書において開示される1つまたは複数の態様による、I2Cバス上で送信された追加のデータを受信するための第1の方法のフローチャートである。
【図１５】本明細書において開示される1つまたは複数の態様による、I2Cバスを介して通信する送信装置のためのハードウェア実装形態の一例を示す図である。
【発明を実施するための形態】
【００２７】
図面に関して、ここで様々な態様について記述する。以下の説明では、説明の目的で、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は、無線アクセスネットワーク(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にアクセスしてもよい。ローカルデータベース114は、データベースモジュール、フラッシュメモリ、磁気媒体、EEPROM、光媒体、テープ、ソフトディスクまたはハードディスクなどのうちの1つまたは複数を使用して実装されてもよい。処理回路はまた、構成要素の中でも、アンテナ122、ディスプレイ124などの外部デバイス、ボタン128およびキーパッド126などのオペレータ制御に動作可能に結合される場合がある。
【００３１】
図2は、通信バス230に接続される複数のデバイス202、220、および222a〜222nを含む装置200のいくつかの態様を示すブロック概略図である。装置200は、モバイル装置において具体化されてもよい。一例では、装置200は、I2Cバス230を使用して通信する複数のデバイス202、220、および222a〜222nを含み、少なくとも1つのイメージングデバイス202は、I2Cバス230上のスレーブデバイスとして動作するように構成されてもよい。イメージングデバイス202は、たとえば、イメージセンサを管理するセンサ制御機能204を実現するように適合されてもよい。加えて、イメージングデバイス202は、構成レジスタまたは他のストレージ206と、制御論理212と、トランシーバ210と、ラインドライバ/レシーバ214aおよび214bとを含み得る。制御論理212は、ステートマシン、シーケンサ、信号プロセッサ、または汎用プロセッサなどの処理回路を含み得る。トランシーバ210は、レシーバ210aと、トランスミッタ210cと、タイミング、論理、およびストレージの回路および/またはデバイスを含む共通回路210bとを含んでもよい。一例では、トランスミッタ210cは、クロック生成回路208によって生成されるタイミングに基づいて、データを符号化および送信する。
【００３２】
I2Cデバイス202、220、および/または222a〜222nのうちの2つ以上が、本明細書において開示するいくつかの態様および特徴に従って、従来のI2Cバスによって実現される帯域幅およびその他の機能を拡張するように適合されてもよい。たとえば、I2Cデバイス202、220、および/または222a〜222nは、従来のI2CプロトコルがI2Cバス230上の通信を管理するために使用されるときに通常達成することができるものよりも高いビットレートをサポートするように適合されてもよい。I2Cプロトコルは、デファクトI2C規格に準拠してもよく、データフォーマットおよびI2Cバス制御およびタイミングに加えて、I2C信号の電気態様およびタイミング態様を規定する仕様を含んでもよい。
【００３３】
図3は、I2Cバス302に接続されるI2Cデバイス304、306、308、310、312、314、および316の構成を示し、3つのデバイス304、314、および316は、I2Cバス302を介してより高いデータ転送率を取得するように適合または構成される。必要に応じて、適合されたデバイス304、314、および316が従来技術に従って構成されるI2Cデバイス306、308、310、および312と共存してもよく、適合されたデバイス304、314、および316が従来のI2Cプロトコルを使用して通信してもよい。この説明の都合上、従来のI2Cプロトコルを使用する通信は、I2Cバス302上の1次通信チャネルとみなされてもよく、一方、本明細書において開示する拡張通信機能は、I2Cバス上で1次通信チャネルと共存する1つまたは複数の2次通信チャネルまたは仮想通信チャネルとして実現されてもよい。
【００３４】
拡張されたI2Cデバイス304がバスマスタとしてI2Cバス302を制御するときに2次通信チャネルが利用可能であってもよい。図示の例では、1つのI2Cデバイス304が現在バスマスタとして働いており、バスマスタ304は、本明細書において開示するいくつかの態様に従って適合されたスレーブI2Cデバイス314および316によって監視することができる1つまたは複数の2次通信チャネルを形成してもよい。外部ブリッジデバイスを使用せず、かつI2Cバス302上のレガシーI2Cデバイス306、308、310、および312の機能を損なわずに、2次チャネルにおいてI2Cバス302を介して追加のデータ(2次データ)を転送することができる。
【００３５】
図4は、従来のI2Cバス上のSDA信号線402とSCL信号線404との間の関係を示すタイミング図400および420を含む。第1のタイミング図400は、従来技術に従って構成されるI2Cバス上でデータが転送される間のSDA信号線402とSCL信号線404との間のタイミング関係を示す。SCL信号404は、SDA信号線402内のデータをサンプリングするのに使用できる一連のクロッキングパルス412を生成する。SCL信号線404がデータ送信の間論理ハイ状態にあるとき、SDA信号線402上のデータは安定し有効である必要があり、その結果、SCL信号線404がハイ状態にあるとき、SDA信号線402の状態は変化することが許容されない。
【００３６】
従来のI2Cプロトコル実装形態に関する仕様(本明細書では「I2C仕様」と呼ぶ)は、SCL信号線上の各パルス412のハイ期間(tHIGH)の最小持続時間410を規定し、この場合、パルス412は、SCL信号線404がハイ論理状態である時間に相当する。I2C仕様はまた、SDA信号線402がハイの論理状態にある間のパルス412の前後にSDA信号線402のシグナリング状態が安定していなければならない間の、セットアップ時間用の最小持続時間(tSU;DAT)406および保持時間用の最小持続時間(tHold;DAT)408を規定している。セットアップ時間406は、SCL信号線404上のパルス412の立上りエッジの到来まで、SDA信号線404上のシグナリング状態間の遷移416の後の最大時間期間を定める。保持時間408は、SDA信号線404上のシグナリング状態の間の次の遷移418まで、SCL信号線404上のパルス412の立下りエッジの後の最小時間期間を定める。I2C仕様はまた、SCL信号線404用のロー期間(tLOW)414に関する最小持続時間を規定している。SDA信号線402上のデータは、通常、SCL信号線404がパルス412の立上りエッジの後、ハイの論理状態にあるときの時間期間(tHIGH)410の間取り込まれる。
【００３７】
図4の第2のタイミング図420は、従来のI2Cバス上のデータ送信の間のSDA信号線402およびSCL信号線404上のシグナリング状態を示す。I2Cプロトコルは、8ビットデータ(バイト)および7ビットアドレスの送信を可能にする。データ送信は、ローシグナリング状態が受信成功を示す肯定応答(ACK)を表し、ハイシグナリング状態が受信失敗または受信エラーを示す否定応答(NACK)を表すように、1つのクロック周期の間SDA信号402を駆動するレシーバによって確認応答される。
【００３８】
開始条件422は、そのデータを送信すべきであることを現在のバスマスタがシグナリングするのを可能にするように規定されている。開始条件422は、SCL信号線404がハイである間にSDA信号線402がハイからローに遷移するときに生じる。I2Cバスマスタは、最初に、スタートビットと呼ばれる場合もある開始条件422を送信し、その後に、I2Cスレーブデバイスがデータを交換したいI2Cスレーブデバイスの7ビットアドレスを送信する。このアドレスの後に、読取り動作または書込み動作のいずれを行うべきかを示す単一ビットが続く。アドレス指定されたI2Cスレーブデバイスは、利用可能な場合、ACKビットで応答する。マスタおよびスレーブのI2Cデバイスは、次いで、フレーム内の情報のバイトを交換し、フレーム内で、最上位ビット(MSB)が最初に送信されるように、バイトがシリアル化される。バイトの送信は、停止条件424がI2Cマスタデバイスによって送信されたときに完了する。停止条件424は、SCL信号線404がハイである間にSDA信号線402がローからハイに遷移したときに生じる。I2C仕様では、SDA信号線402のすべての遷移が、SCL信号線404がローであるとき発生する必要があり、例外が開始条件422または停止条件424として扱われてもよい。
【００３９】
図5は、I2Cバス上の複数のデータ送信に関連するタイミングを示すタイミング図500および520を含む。第1の基本的な例では、停止条件508と連続する開始条件510との間に経過する期間514が長い場合があり、それによって、従来のI2Cはこの期間514の間アイドルになる。動作時には、I2Cバスマスタが第1の開始条件506を送信したときにビジー周期512が開始し、I2Cバスマスタはそれに続いてデータを送信する。ビジー周期512は、I2Cバスマスタが停止条件508を送信したときに終了し、アイドル周期514が後に続く。アイドル周期514は、第2の開始条件510が送信されるのとともに終了する。
【００４０】
タイミング図520も参照するとわかるように、場合によっては、I2Cバス上の連続するデータ送信間のアイドル周期514は、停止条件ではなく反復開始条件(Sr)528を送信することによって数が減らされるかまたは除去されてもよい。反復開始条件528は、先行するデータ送信を終了させ、同時に次のデータ送信の開始を示す。SDA信号線522上の状態遷移は、アイドル期間530後に生じる開始条件526と反復開始条件528とで同一である。詳細には、SDA信号線522は、SCL信号線524がハイである間にSDA信号線522がハイからローに遷移する。データ送信間に反復開始条件528を使用すると、第1のビジー周期532の直後に第2のビジー周期534が生じる。
【００４１】
図6〜図10は、I2Cバスの動作を支配する仕様と、追加のインバンドデータをI2Cバス上でインバンドで送信するのを可能にするためのプロトコルとの利用を示す本明細書において開示するいくつかの態様による例を提示する。
【００４２】
次に、図6のタイミング図600、620、および640ならびに図5に示すタイミングを参照するとわかるように、開始条件526、528および/またはバイトのシーケンスの送信に関して使用される開始条件526および/または528の持続時間と組み合わせて追加のインバンドデータが送信されてもよい。参考として、図6は、連続的なI2Cフレームを分離する開始条件604と停止条件606の組合せを有するデータストリーム602の従来のある送信と、連続的なI2Cフレームを分離する反復開始条件612、614を有するデータストリーム610の従来の別の送信とを示す第1のタイミング図600を含む。
【００４３】
一態様によれば、図6の第2のタイミング図620において示すように、I2Cバスマスタが反復開始条件622、624、626、および628の持続時間においてデータを符号化することによってI2Cバスを介して2次チャネルを形成するように適合されてもよい。図示の例では、バイナリ1がより長い反復開始条件624として送信され、一方、バイナリ0がより短い反復開始条件622、626、628として送信される。反復開始条件622、624、626、628の持続時間は、開始条件422におけるSDA信号402の立下りエッジとSCL信号404の立下りエッジとの間の保持時間(tHD,STA)426の周期を制御することによって(図4参照)変調されてもよい。符号化すべきデータは、I2C仕様に規定された最小保持時間426を超える2つ以上の持続時間から選択される各機会622、624、626、および628において使用される保持時間426の持続時間を選択するのに使用されてもよい。I2C仕様では、標準モード動作については4μs、高速モード動作については0.6μs、および高速モードプラス動作については0.26μsの最小保持時間を規定している。I2Cスレーブデバイスにおけるレシーバは、終了状態の保持時間(tHD,STA)426の周期の変動、および少なくともいくつかの例では、そのような変動の大きさの差を検出するように構成または適合されてもよい。保持時間426は、アイドル周期514または530の後で生じる開始条件510または526に関して、あるいは反復開始条件528において、変動する場合がある(図5参照)。
【００４４】
一態様によれば、図6の第3のタイミング図640において示すように、I2Cバスマスタが、I2Cフレームの後で送信される終了状態642、644、646、および648のタイプにおけるデータを符号化することによってI2Cバスを介して2次チャネルを形成するように適合されてもよい。図示の例では、バイナリ1が停止条件を含む終了状態644において送信され、一方、バイナリ0が反復開始条件642、646、648として送信される。
【００４５】
次に、図7のタイミング図700を参照するとわかるように、追加のインバンドデータが、短パルス710、712において送信されてもよくあるいはSDA信号702またはSCL信号704上に短パルスが存在しないときに(714)送信されてもよい。I2C仕様では、特定の動作モードにおいて従来のI2Cレシーバの入力フィルタによって抑制しなければならないスパイクのパルス幅(tSP)を規定している。一例では、tSPパルス幅は、50nsの最大持続時間を有するものとして指定される場合がある。したがって、従来のI2Cレシーバでは50nsよりも短いあらゆるパルスがフィルタリングされ無視される。I2Cトランスミッタは、短パルスにおけるデータを符号化することによってI2Cバスを介して仮想2次チャネルを形成するように適合または構成されてもよい。図示の単純な例では、持続時間(tSEC)716を有する2つのパルス710および712がバイナリ"1"を表す場合があり、一方、パルスが検出されないときにはバイナリ"0"が判定される場合がある。この例では、I2Cプロトコルの1ビット間隔において仮想2次チャネル上で2つのビットが送信されてもよい。パルスは、持続時間tSEC<tSPを有する場合、SDA702またはSCL704上で送信されてもよい。この場合、tSPは、I2Cバスの現在の動作モードに関して指定される。
【００４６】
一例では、追加の短パルス710、712は、SCL704がハイ論理状態であるときには期間708に追加されてもよく、SCL704がロー論理状態であるときには期間718に追加されてもよい。他の例では、SCL704が2つの期間のうちの1つ708または718であるときに追加の短パルス710または712が追加されてもよい。すなわち、追加の短パルス710または712は、ロー期間718の間にのみ挿入され、ハイ期間708の間は挿入されなくてもよく、あるいはハイ期間708の間にのみ挿入され、ロー期間718の間は挿入されなくてもよい。いくつかの例では、期間708、718のうちの1つまたは複数に複数に、2つ以上の追加のパルスが追加されてもよい。追加または代替として、SCL704への短パルス710、712の追加に関して説明したように、短パルスがSDA702に追加されてもよい。
【００４７】
再び図4を参照するとわかるように、SDA信号402およびSCL信号404のハイ論理状態およびロー論理状態に関する最小持続時間410、414が特定の動作モードに関するI2C仕様において規定されている。高速動作モード例では、各論理ハイ期間の持続時間(tHIGH)410は、0.6μsよりも長くなければならず、各論理ロー期間の持続時間(tLOW)414は1.3μsよりも長くなければならず、最大値は指定されていない。したがって、SCL信号404のハイ論理状態およびロー論理状態に関する指定された持続時間410、414に従う場合、I2Cデバイスは、SCL信号404の論理状態410、414の幅を変調するように適合されてもよい。
【００４８】
図8は、パルス幅変調(PWM)を使用してI2Cバス上で2次チャネルを形成することによる追加のインバンドデータの送信を示すタイミング図800である。PWMを使用すると、SCL信号804上の各クロックパルス816、818の持続時間は、2次チャネルにおいて符号化すべき2次データの少なくとも1つのビット824の値によって求められる。SCLクロック信号をパルス幅変調するように適合されたI2Cバスマスタデバイスが、I2C仕様に規定された動作モードに従ってSDA信号線802上で送信されるI2C信号上の1次データを符号化してもよい。データは、従来のSCLクロック信号804によって定義される送信間隔において符号化されてもよい。シグナリングのこの組合せはI2Cバス上の1次通信チャネルを形成してもよい。
【００４９】
I2Cマスタデバイスは、PWMを使用して変調されたSCL信号814を取得することによってSCL信号線804上の2次データを符号化してもよい。図示した単純な例では、I2Cマスタデバイスは、短パルス816を使用して値"0"を有するビット824を符号化し、より長いパルス818を使用して値"1"を有するビット824を符号化してもよい。パルス816および818の各タイプのパルス幅は、持続時間に関する既定の制限内に維持されてもよい。了解され得るように、PWMを使用すると、PWMをサポートするデバイス間のI2Cバスの帯域幅を少なくとも2倍にすることができる。SDA信号802上で送信されるバイトの各送信では、PWMを使用して符号化される場合がある9つのクロックパルスを生成する。一例では、SDA信号線802上で1つのデータバイトが送信される間に、PWM符号化されたSCL信号814上で1つのデータバイトおよび制御ビットが送信されてもよい。場合によっては、SDA信号802上で8バイトのブロックが送信されるときにPWM符号化されたSCL信号814上で9バイトのブロックが送信されることが可能である。受信I2Cデバイスを短パルス816、より長いパルス818、およびずっと長いパルスのタイミングの差を区別するように適合または構成することができる場合、他のPWM方式が使用されてもよく複数ビットが符号化されてもよい。
【００５０】
PWM符号化されたSCL信号814を送信するおよび/または受信するように適合されるI2Cデバイスは、一般に、PWMエンコーダおよびデコーダを同期させるために開始条件806と反復開始条件808と停止条件810とを認識しならびに/あるいは区別するように構成される。SCL信号804、814は、開始条件806または停止条件810に先行する長い期間に関するハイ論理状態であってもよい。反復開始条件808が送信されると、たとえば、反復開始条件808のパルス820がベースSCL信号804における他のパルス812と同じ持続時間を有するときに、反復開始条件808のパルス820が、PWMを使用してデータを符号化するうえで利用可能になる場合がある。いくつかの例では、反復開始条件は、図6に関して説明したように変調されたtHD;STAタイミングの持続時間において2次データが符号化されるときを含め、ベースSCL信号804における他のパルス812とは異なる持続時間を有するパルス820を使用してもよい。これらの例では、適合されたI2Cマスタのエンコーダは、反復開始条件808のパルス820上のデータを符号化しない場合がある。他の例では、適合されたI2Cマスタのエンコーダは、論理設計を簡略化すること、選択終了状態806、808、810におけるデータを符号化するための追加のチャネルを形成することなどの理由で、どの送信についても、9番目のクロックパルス820、822上のデータを符号化しない場合がある。
【００５１】
図9は、差動シグナリングを使用してI2Cバス上に2次チャネルを形成することによる追加のインバンドデータの送信を示すタイミング図900である。差動シグナリングは、差動信号(D+, D-)910、912の対における相補信号をSDA信号線902上に重畳させることにより差動信号(D+, D-)910、912の対を送信することによって実現されてもよい。図示の例では、SDA信号線902がD+信号910を搬送し、SCL信号線904がD-信号912を搬送する。差動信号(D+, D-)910、912の対は、停止条件906と開始条件908との間のアイドル時間914の少なくとも一部の間に送信される。差動信号(D+, D-)910、912は一般に、SDA信号線902およびSCL信号線904のハイ論理状態をSDA信号線902およびSCL信号線904のシグナリング状態に関するI2C仕様において規定された許容差内で変調できることを保証するように選択された振幅を有する低電圧デジタル信号である。一例では、2次データは、2次データを符号化するのに使用されるクロックと受信クロックを同期させるために位相ロックループ(PLL)を有するレシーバにおいて復号できる非ゼロ復帰(NRZ)符号化を使用して差動信号(D+, D-)910、912において符号化されてもよい。別の例では、PWMを使用して2次データが差動信号(D+, D-)910、912において符号化されてもよい。2次データのタイプおよび2次データを符号化するのに使用されるクロック周波数、またはその他の理由の必要に応じて、他の符号化方式が使用されてもよい。
【００５２】
920に概略的に示すように、I2C仕様では、0V基準922に対して、デバイス供給電圧VDD924の70%の公称ハイ入力電圧レベル(VIH)930を規定している。ハイ論理状態の信号902、904にはノイズ許容差レベル(VnH)が必要であり、入力信号902、904に関する最大電圧レベル926は、VDD+0.5Vとして規定されている。したがって、入力信号は、0.9*VDDの最小電圧レベル928とVDD+0.5Vの最大レベルとの間の範囲であってもよい。図示の例では、入力信号902、904はVDD924に設定または構成されるハイ論理状態を有してもよく、重畳される差動信号932は、0.2Vよりも低いピークツーピーク電圧レベルを有する。
【００５３】
レシーバでは、差動レシーバが、アイドル周期914中のSDA信号線902とSCL信号線904との間の電圧の差を決定するように構成されてもよい。SDA信号線902とSCL信号線904の両方でのI2C論理ハイ電圧924が相殺し、差動レシーバは、差動信号910、912を表す出力を生成してもよい。
【００５４】
図10は、周波数変調(FM)を使用してI2Cバス上に2次チャネルを形成することによる追加のインバンドデータの送信を示す図1000である。FMを使用して搬送波の瞬間周波数を変化させ、それによって実質的に一定のピークツーピーク電圧レベル1014を有するFM信号1002を取得することによってデータが符号化されてもよい。FM信号1002は次いで、SDA信号および/またはSCL信号であってもよいI2C信号1004上に重畳されるかまたはその他の方法で重畳されてもよい。詳細図1012に示すように、ピークツーピーク電圧1014としては、従来のI2Cスレーブによって組合せ信号1006におけるI2Cシグナリングを受信し復号することができるように、I2C仕様によってレシーバに関して指定されたヒステリシス電圧レベルよりも低い電圧が選択されてもよい。従来のI2Cスレーブは、組合せ信号1006におけるFM信号1002を拒絶、フィルタリング、または無視する場合がある。組合せ信号1006におけるFM信号1002は、本明細書において開示するいくつかの態様に従って適合されたI2Cスレーブによって抽出され復調されるかまたは他の方法で復号されてもよい。I2C仕様では、I2Cデバイスのレシーバにおけるシュミットトリガ入力に関して0.05xVDDの最小ヒステリシス電圧レベル(Vhys)を規定しており、ピークツーピーク電圧1014としては指定されたVhysよりも低い電圧が選択されてもよい。
【００５５】
FM信号1002は、SDA信号とSCL信号のうちの一方の上で送信されてもよいし、両方の上で送信されてもよい。I2Cバスの両方の信号線上で送信されるときは、I2Cデジタル信号1004からFM信号1002をより容易に分離することができるように2本の線上で送信されるFM信号1002のバージョン間にタイミングシフトが行われてもよい。I2Cバスの両方の線上でFM信号1002を送信すると、特定のノイズ消去技法を適用するのが可能になる場合がある。
【００５６】
図11は、I2Cバス1124に結合され、本明細書で開示するいくつかの態様に従って構成または適合されたトランスミッタ1100およびレシーバ1140の一例を示すブロック図である。トランスミッタ1100および/またはレシーバ1140は、データ1110を規格によって規定されたI2Cに従って送信しならびに/あるいは受信するのを可能にするように適合または構成されてもよい。トランスミッタ1100および/またはレシーバ1140は、データ1116を本明細書において開示するいくつかの態様に従って2次チャネルシグナリングを使用して送信しならびに/あるいは受信するのを可能にするように、さらに適合または構成されてもよい。この説明の都合上、規格によって規定されたプロトコルにおいて符号化され送信されるデータが「1次データ」1110と呼ばれる場合があり、そのような1次データ1110は、規格によって規定されたI2Cバス1124によって形成される1次チャネルを介して送信されるとみなされてもよい。この説明の都合上、2次チャネルシグナリングにおいて符号化され送信されるデータが「2次データ」1116と呼ばれる場合があり、2次データ1116は、I2Cバス1124上で2次チャネルまたは仮想チャネルを介して送信されるとみなされてもよい。
【００５７】
I2C動作については、トランスミッタ1100は、SCL信号線1120上に設けられたクロックのタイミングに従って、1次データ1110をSDA信号線1122上で送信できるようにシリアル化する1次チャネルシリアライザ1102を含んでもよい。1次チャネルシリアライザ1102は一般に、SDA信号線1122上で送信されるI2Cシリアルデータ1112を生成するために送信クロック1126によってクロッキングされる。
【００５８】
トランスミッタ1100は、I2Cバス1124上で送信される2次チャネルシグナリングにおいて2次データ1116を符号化するように構成または適合されてもよい。いくつかの例では、2次データ1116は、2次チャネルシグナリングにおいて符号化することのできるビットのストリーム(変調データ)1118を生成するように2次チャネルシリアライザ1108によってシリアル化されてもよい。2次チャネルシリアライザ1108は、2次チャネルシグナリングを生成するように変調データ1118を符号化するためにエンコーダ/変調器1104によって使用される変調方式に従って生成される送信クロック1126および/または変調クロック1128によってクロッキングされてもよい。エンコーダ/変調器1104は、スレーブデバイスとの2次チャネル通信が開始または交渉されているときに変調クロック1128を生成してもよく、変調クロック1128は場合によっては抑制されてもよい。
【００５９】
変調クロック1128は、I2Cトランスミッタクロック1126から導出されてもよいし、I2Cトランスミッタクロック1126に基づいてもよい。たとえば、2次データ1116は、I2Cトランスミッタクロック1126に短パルス710、712を挿入する(図7も参照されたい)か、またはI2Cトランスミッタクロック1126をパルス幅変調する(図8も参照されたい)ことによって符号化されてもよく、その場合、2次チャネルシリアライザ1108は、トランスミッタクロック1126の位相シフトされたバージョン、周波数2重化されたバージョン、および/または分周されたバージョンを受信してビットのシリアルストリームを変調データ1118としてクロッキングしてもよい。変調クロック1128は、I2Cトランスミッタクロック1126がアクティブであるときに抑制され得るという点で、I2Cトランスミッタクロック1126に基づいてもよい。たとえば、2次データ1116は、SCL信号904上でクロック信号が送信されないアイドル周期914の間に送信される差動信号910、912において符号化されてもよく(図9参照)、変調クロック1128は、差動信号910、912が送信されるときにのみ生成される。
【００６０】
変調クロック1128は、I2Cバス1124上のI2Cフレームタイミングに基づいて生成されてもよい。たとえば、2次データ1116は、SDA信号線1122上で送信されるバイト間の開始条件506、反復開始条件508、および/または停止条件510(図5および図6参照)の構成および/または選択において符号化されてもよい。後者の例では、変調クロック1128は、1つまたは複数の開始条件または停止条件506、508、510の発生に基づいて既定の数のビットを抽出するように生成されてもよい。
【００６１】
場合によっては、変調クロック1128のクロックレートは、I2Cトランスミッタクロック1126のクロックレートとは無関係であってもよい。たとえば、変調クロック1128のデータレートは、FMが使用されるとき(たとえば、図10参照)、またはデジタル差動信号910、912がI2Cシリアルデータ信号1112およびI2Cトランスミッタクロック1126上に重畳されるときに別個に求められてもよい。場合によっては、デジタル差動信号910、912においてクロック情報が符号化されてもよく、あるいはデジタル差動信号910、912が既定のクロックレートで送信されてもよい。
【００６２】
エンコーダ/変調器1104は、I2Cバス1124を介して2次チャネルが利用可能であるかどうかに基づいて有効化または無効化することのできる回路またはモジュールを含んでもよい。これらの回路は、たとえば、PWMが使用されるとき、あるいは開始条件506、反復開始条件508、および/または停止条件510のタイミングが2次データ1116を符号化するように修正されるときにクロックパルスを拡張するためのゲート、遅延、および組合せ論理を含んでもよい。エンコーダ/変調器1104は、1つまたは複数の論理レベルの電圧レベルを、デジタル差動信号910、912またはFM信号1002による変調を可能にするように調整する回路を含んでもよい。
【００６３】
エンコーダ/変調器1104は、I2Cシリアルデータ1112およびトランスミッタクロック1126に基づく送信信号1114を出力する。送信信号1114は、2次チャネルが必要とされないかまたは望まれないとき、あるいは受信デバイスが2次チャネルを受信できないときには、I2Cシリアルデータ1112およびトランスミッタクロック1126の中継されたバージョンであってもよい。2次チャネルを設けるとき、I2Cシリアルデータ1112およびトランスミッタクロック1126の一方または両方が1つまたは複数の変調技法を使用して変調されてもよい。場合によっては、エンコーダ/変調器1104の変調回路は、オープンドレーンドライバ1106などの、ライン駆動回路の動作を制御するように構成されてもよい。ライン駆動回路は、プッシュプルドライバ、または採用された変調方式に適切なアナログ回路およびデジタル回路の他の何らかの構成を使用して実装されてもよい。一例では、制御信号および/または基準電圧レベル1130は、SCL信号線1120および/またはSDA信号線1122上で送信される信号の電圧レベルを制御しならびに/あるいは変調するためにエンコーダ/変調器1104によって生成されてもよい。
【００６４】
レシーバ1140において、ラインレシーバ1142のセットは複数のタイプの受信デバイスを含んでもよい。受信デバイスは、SCL信号線1120および/またはSDA信号線1122から受信された信号の電圧変調を検出することができる差動レシーバを含んでもよい。一例では、シングルエンドレシーバは、変調を無視し、SCL信号線およびSDA信号線1122から受信され、かつI2C仕様に準拠または適合する信号に応答してもよい。同時に、差動レシーバは、SCL信号線1120の電圧レベルとSDA信号線1122の電圧レベルを比較してデジタル差動信号910、912(図9参照)を抽出してもよい。別の例では、差動レシーバは、SCL信号線1120の電圧レベルおよび/またはSDA信号線1122の電圧レベルを比較してFM符号化されたアナログ信号1002(図10参照)を抽出する。したがって、ラインレシーバ1142のセットは、デコーダ/復調器1144に複数の受信信号1150を供給してもよい。
【００６５】
デコーダ/復調器1144は、SDA信号線1122からI2Cシリアルデータ1152を抽出し、SCL信号線1120から抽出されたI2C受信クロックを供給するように構成されてもよい。デコーダ/復調器1144は、I2C受信クロックと、2次チャネルシグナリングから復調または復号されたデータ1156のデシリアライズを制御するのに使用することができる復調クロックとを含む複数の受信クロック1160を生成してもよい。デシリアライズは、出力された1次データ1154を供給するための1次チャネルデシリアライザ1146および出力された2次データ1158を供給するための2次チャネルデシリアライザ1148によって実行されてもよい。
【００６６】
デコーダ/復調器1144は、SCL信号線1120および/またはSDA信号線1122上で送信されるI2C準拠信号を変調するかまたはこのI2C準拠信号上に重畳される2次チャネル信号の存在を検出してもよい。受信回路1142は、2次チャネルシグナリングに使用される変調の形式がデジタルSCL信号線1120および/またはSDA信号線1122の電圧レベルの何らかのタイプの変調を含むときに、別個のI2C準拠信号および変調信号を生成してもよい。デコーダ/復調器1144は、I2C信号のタイミング差を検出し、ならびに/あるいはI2C信号上に挿入される追加の短持続時間パルスの有無を検出するための回路を含んでもよい。タイミング差は、カウンタ、タイマ、ワンショット遅延などを使用して検出されてもよい。タイミング差の検出は、あらゆるクロックサイクルにおいて判定され、ならびに/あるいはI2C1次チャネル上で送信される連続的なバイト間に判定されてもよい。
【００６７】
図12は、I2Cバス上のデータ通信のための方法を示すフローチャート1200を含む。この方法の様々なステップは、図2に示すI2Cスレーブ回路202、図3に示すデバイス304、314、もしくは316、および/または本明細書において説明する他のデバイスの何らかの組合せを含む送信デバイスによって実行されてもよい。
【００６８】
ステップ1202において、デバイスは、I2Cバスプロトコルに従ってI2C信号における1次データを符号化してもよい。
【００６９】
ステップ1204において、デバイスは、マルチチャネル信号を取得するためにI2C信号における2次データを符号化してもよい。
【００７０】
ステップ1206において、デバイスは、I2Cバス上でマルチチャネル信号を送信してもよい。マルチチャネル信号はI2Cバスプロトコルに適合してもよい。
【００７１】
一例では、2次データは、差動信号において2次データを符号化することであって、差動信号が相補信号の対を含むことと、I2CのSDA上で相補信号の対のうちの一方を送信し、I2CバスのSCL上で相補信号の対のうちの異なる信号を送信することによりI2Cバス上で差動信号を送信することとを行うことによって、I2C信号において符号化されてもよい。差動信号は、SDAとSCLの両方がハイ論理レベルであるときにI2Cバス上で送信されてもよい。SDAおよびSCLは、SDAおよびSCLを介して差動信号が送信される間、ハイ論理レベルに関してI2Cバスプロトコルによって指定された最小電圧よりも高く、ハイ論理レベルに関してI2Cバスプロトコルによって指定された最大電圧よりも低い電圧レベルを有してもよい。この差動信号は、I2Cバスがアイドルである期間中に送信されてもよい。
【００７２】
別の例では、2次データは、FM信号における2次データを符号化することと、I2CバスのSDAおよびI2CバスのSCLのうちの1つまたは複数を介してFM信号を送信することとを行うことによって、I2C信号において符号化されてもよい。FM信号は、I2C適合デバイスのレシーバによって使用されるシュミットトリガ入力に関する最小ヒステリシス電圧レベルよりも小さい振幅を有してもよい。最小ヒステリシス電圧レベルは、I2Cバスプロトコルにおいて規定されてもよい。
【００７３】
別の例では、2次データは、I2CバスのSDAまたはI2CバスのSCL上で送信される信号に短パルスを挿入するかまたは挿入しないことによってI2C信号において符号化されてもよい。この短パルスは、送信すべき2次データのビットの値が第1の値を有するときに挿入されてもよく、送信すべき2次データのビットが第2の値を有するときには短パルスは挿入されない。たとえば、I2C信号における2次データを符号化することは、SCL上で送信されるクロック信号の複数の半周期に短パルスを挿入するかまたは挿入しないことを含んでもよい。短パルスは、クロック信号のパルスに関してI2Cバスプロトコルによって指定された最小持続時間よりも短い持続時間を有してもよい。短パルスは、I2Cレシーバによって無視すべきスパイクに関してI2Cバスプロトコルによって指定された最大持続時間よりも短い持続時間を有してもよい。
【００７４】
別の例では、2次データは、I2CバスのSCL上で送信されるクロック信号をパルス幅変調することによってI2C信号において符号化されてもよい。得られるパルス幅変調されたクロック信号のそれぞれのハイ期間は、I2Cバスプロトコルによって指定されたSCLクロックに関する最小のハイ期間を超える持続時間を有し、パルス幅変調されたクロック信号のそれぞれのロー期間は、I2Cバスプロトコルによって指定されたSCLクロックに関する最小のロー期間を超える持続時間を有する。
【００７５】
別の例では、2次データは、送信すべき2次データのビットが第1の値を有するときに、1次データを符号化する連続的なフレームの対の間に停止条件を送信し、その後開始条件を送信することと、送信すべき2次データのビットが第2の値を有するときに、連続的なフレームの対の間に反復開始条件を送信することとを行うことによって、I2C信号において符号化されてもよい。
【００７６】
別の例では、2次データは、連続的なフレームの対の間に反復開始条件を送信することであって、反復開始条件が、送信すべき2次データのビットが第1の値を有するときに2つの既定の持続時間のうちの第1の持続時間を有することと、送信すべき2次データのビットが第2の値を有するときに2つの既定の持続時間のうちの第2の持続時間を有する反復開始条件を連続的なフレームの対の間に送信することとを行うことによって、I2C信号において符号化されてもよい。
【００７７】
図13は、処理回路1302を使用する装置のためのハードウェア実装の簡略化された例を示す図1300である。処理回路は、一般に、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、シーケンサ、およびステートマシンのうちの1つまたは複数を含んでもよいプロセッサ1316を有する。処理回路1302は、概してバス1320によって表されるバスアーキテクチャを用いて実装されてもよい。バス1320は、処理回路1302の特定の適用例および全体的な設計制約に応じて、任意の数の相互接続バスおよびブリッジを含んでもよい。バス1320は、プロセッサ1316、モジュールまたは回路1304、1306、および1308、複数のコネクタまたはワイヤを含むI2Cバス1314を介して通信するように構成可能なラインインターフェース回路1312、ならびにコンピュータ可読記憶媒体1318によって表される、1つまたは複数のプロセッサおよび/またはハードウェアモジュールを含む様々な回路をまとめてリンクする。バス1320は、タイミングソース、周辺装置、電圧調整器、および電力管理回路などの様々な他の回路をリンクする場合もあるが、これらの回路は当技術分野でよく知られており、したがってこれ以上は説明しない。
【００７８】
プロセッサ1316は、コンピュータ可読記憶媒体1318に記憶されたソフトウェアの実行を含む全体的な処理を担当する。ソフトウェアは、プロセッサ1316によって実行されると、処理回路1302に、任意の特定の装置について上記で説明した様々な機能を実行させる。コンピュータ可読記憶媒体1318はまた、ソフトウェアを実行するときにI2Cバス1314を介して送信されたシンボルから復号されるデータを含む、プロセッサ1316によって操作されるデータを記憶するために使用されてもよい。処理回路1302は、モジュール1304、1306、および1308のうちの少なくとも1つをさらに含む。モジュール1304、1306、および1308は、コンピュータ可読記憶媒体1318に存在する/記憶される、プロセッサ1316内で動作しているソフトウェアモジュール、プロセッサ1316に結合される1つもしくは複数のハードウェアモジュール、またはそれらの何らかの組合せであってもよい。モジュール1304、1306、および/または1308は、マイクロコントローラ命令、ステートマシン構成パラメータ、またはそれらの何らかの組合せを含んでもよい。
【００７９】
一構成では、ワイヤレス通信のための装置1300は、I2Cバスプロトコルに従ってI2C信号における1次データを符号化するように構成されるモジュールおよび/または回路1304と、マルチチャネル信号を生成するためにI2C信号における2次データを符号化するように構成されるモジュールおよび/または回路1306と、I2Cバスプロトコルに従ってI2Cバス1314上でマルチチャネル信号を送信するように構成されるモジュールおよび/または回路1308とを含む。
【００８０】
図14は、I2Cバス上のデータ通信のための方法を示すフローチャート1400を含む。この方法の様々なステップは、図2に示すI2Cスレーブ回路202、図3に示すデバイス304、314、もしくは316、および/または本明細書において説明する他のデバイスの何らかの組合せを含む受信デバイスによって実行されてもよい。ステップ1402において、デバイスは、I2Cバスプロトコルに従ってI2C信号から受信された1次データを復号してもよい。
【００８１】
ステップ1404において、デバイスは、I2C信号から2次データを復号してもよい。2次データは、I2Cバスプロトコル以外のプロトコルを使用して復号されてもよい。I2C信号は、I2Cバスプロトコルに準拠する。
【００８２】
一例では、2次データを復号することは、I2CバスのSDAおよびSCLから信号の差動対を受信することであって、SDAおよびSCLが信号の差動対のうちのそれぞれに異なる信号を搬送することと、信号の差動対から2次データを復号することとを含む。信号の差動対は、SDAとSCLの両方がハイ論理レベルであるときにI2Cバスから受信されてもよい。SDAおよびSCLは、I2Cバスから信号の差動対が受信される間、ハイ論理レベルに関してI2Cバスプロトコルによって指定された最小電圧よりも高く、ハイ論理レベルに関してI2Cバスプロトコルによって指定された最大電圧よりも低い電圧レベルを有してもよい。信号の差動対は、I2Cバスがアイドルである期間中に受信されてもよい。
【００８３】
別の例では、2次データを復号することは、I2CバスのSDAおよびSCLの少なくとも一方からFM信号を受信することと、FM信号から2次データを復号することとを含む。FM信号は、I2Cバスプロトコルにおいて規定されたようなI2C適合デバイスのレシーバにおけるシュミットトリガ入力に関する最小ヒステリシス電圧レベルよりも小さい振幅を有してもよい。SDAおよびSCLの電圧は、FM信号が受信される間、ハイ論理レベルに関してI2Cバスプロトコルによって指定された最小電圧よりも高く、ハイ論理レベルに関してI2Cバスプロトコルによって指定された最大電圧よりも低くてもよい。
【００８４】
別の例では、2次データを復号することは、I2CバスのSDAおよびI2CバスのSCLから受信された信号における短パルスの有無を判定することと、短パルスの有無に基づいて2次データを復号することとを含む。短パルスの各々は、無視すべきスパイクに関してI2Cバスプロトコルによって指定された最大持続時間よりも短い持続時間を有してもよい。
【００８５】
別の例では、2次データを復号することは、I2CバスのSCLから受信されたクロック信号の複数の半周期における短パルスの有無を判定することと、短パルスの有無に基づいて2次データを復号することとを含む。短パルスの各々は、無視すべきスパイクに関してI2Cバスプロトコルによって指定された最大持続時間よりも短い持続時間を有してもよい。
【００８６】
別の例では、2次データを復号することは、I2CバスのSCLから受信されたパルス幅変調されたクロック信号における2次データを復号することを含む。パルス幅変調されたクロック信号のそれぞれのハイ期間は、I2Cバスプロトコルによって指定されたSCLクロックに関する最小のハイ期間を超える持続時間を有し、パルス幅変調されたクロック信号のそれぞれのロー期間は、I2Cバスプロトコルによって指定されたSCLクロックに関する最小のロー期間を超える持続時間を有する。
【００８７】
別の例では、2次データを復号することは、I2CバスのSDA上で1次データを搬送する連続的なフレーム間に停止条件および開始条件が受信されたときに2次データのビットに関する第1の値を決定することと、連続的なフレーム間に反復開始条件が受信されたときに2次データのビットに関する第2の値を決定することとを含む。
【００８８】
別の例では、2次データを復号することは、I2CバスのSDA上で1次データを搬送する連続的なフレーム間に受信された反復開始条件が第1の持続時間を有するときに2次データのビットに関する第1の値を決定することと、反復開始条件が第2の持続時間を有するときに2次データのビットに関する第2の値を決定することとを含む。
【００８９】
図15は、処理回路1502を使用する装置のためのハードウェア実装の簡略化された例を示す図1500である。処理回路は、一般に、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、シーケンサ、およびステートマシンのうちの1つまたは複数を含んでもよいプロセッサ1516を有する。処理回路1502は、概してバス1520によって表されるバスアーキテクチャを用いて実装されてもよい。バス1520は、処理回路1502の特定の適用例および全体的な設計制約に応じて、任意の数の相互接続バスおよびブリッジを含んでもよい。バス1520は、プロセッサ1516、モジュールまたは回路1504、1506、および1508、複数のコネクタまたはワイヤを含むI2Cバス1514を介して通信するように構成可能なラインインターフェース回路1512、ならびにコンピュータ可読記憶媒体1518によって表される、1つまたは複数のプロセッサおよび/またはハードウェアモジュールを含む様々な回路をまとめてリンクする。バス1520は、タイミングソース、周辺装置、電圧調整器、および電力管理回路などの様々な他の回路をリンクする場合もあるが、これらの回路は当技術分野でよく知られており、したがってこれ以上は説明しない。
【００９０】
プロセッサ1516は、コンピュータ可読記憶媒体1518に記憶されたソフトウェアの実行を含む全体的な処理を担当する。ソフトウェアは、プロセッサ1516によって実行されると、処理回路1502に、任意の特定の装置について上記で説明した様々な機能を実行させる。コンピュータ可読記憶媒体1518はまた、ソフトウェアを実行するときにI2Cバス1514を介して送信されたシンボルから復号されるデータを含む、プロセッサ1516によって操作されるデータを記憶するために使用されてもよい。処理回路1502は、モジュール1504、1506、および1508のうちの少なくとも1つをさらに含む。モジュール1504、1506、および1508は、コンピュータ可読記憶媒体1518に存在する/記憶される、プロセッサ1516内で動作しているソフトウェアモジュール、プロセッサ1516に結合される1つもしくは複数のハードウェアモジュール、またはそれらの何らかの組合せであってもよい。モジュール1504、1506、および/または1508は、マイクロコントローラ命令、ステートマシン構成パラメータ、またはそれらの何らかの組合せを含んでもよい。
【００９１】
一構成では、ワイヤレス通信のための装置1500は、I2Cバスプロトコルに従ってI2C信号から受信された1次データを復号するように構成されるモジュールおよび/または回路1504と、I2C信号から2次データを復号するように構成されるモジュールおよび/または回路1506と、I2Cバス1514からI2C信号を受信し、符号化された1次データI2C信号および2次データI2C信号に関連するシグナリングを分離しならびに/あるいは復調するように構成されるモジュールおよび/または回路1508とを含む。
【００９２】
開示したプロセスにおけるステップの特定の順序または階層は、例示的な手法の実例であることを理解されたい。設計上の選好に基づいて、プロセスにおけるステップの特定の順序または階層は再構成されてもよいことを理解されたい。添付の方法クレームは、様々なステップの要素を例示的な順序で提示したものであり、提示された特定の順序または階層に限定されることを意味するものではない。
【００９３】
上記の説明は、本明細書で説明する様々な態様を当業者が実践できるようにするために提供される。これらの態様に対する様々な変更形態は、当業者に容易に明らかになり、本明細書において規定される一般原理は、他の態様に適用される場合がある。したがって、特許請求の範囲は本明細書に示された態様に限定されるものではなく、文言通りの特許請求の範囲に整合するすべての範囲を与えられるべきであり、単数形の要素への言及は、そのように明記されていない限り、「唯一無二の」を意味することを意図せず、「1つまたは複数の」を意味する。別段に明記されていない限り、「いくつかの」という用語は1つまたは複数の、を指す。当業者に知られているまたは後で当業者に知られることになる、本開示全体にわたって説明する様々な態様の要素の構造的および機能的なすべての均等物は、参照により本明細書に明確に組み込まれ、特許請求の範囲によって包含されることが意図される。その上、本明細書で開示するものは、そのような開示が特許請求の範囲において明示的に記載されているかどうかにかかわらず、公に供することは意図されていない。いかなるクレーム要素も、要素が「ための手段」という語句を使用して明確に列挙されていない限り、ミーンズプラスファンクションとして解釈されるべきではない。
【符号の説明】
【００９４】
100  装置
102  処理回路
106  通信トランシーバ
108  ASIC
112  メモリデバイス
114  ローカルデータベース
122  アンテナ
124  ディスプレイ
126  キーパッド
128  ボタン
200  装置
202  イメージングデバイス
204  センサ制御機能
208  クロック生成回路
210  トランシーバ
210a  レシーバ
210c  トランスミッタ
212  制御論理
230  通信バス、I2Cバス
302  I2Cバス
304  バスマスタ
400  第1のタイミング図
402  SDA信号線
404  SCL信号線
406  セットアップ時間
408  保持時間
410  指定された最小持続時間
412  クロッキングパルス
416  遷移
418  次の遷移
420  第2のタイミング図
422  開始条件
424  停止条件
426  最小保持時間
506  開始条件
508  停止条件
510  開始条件
512  ビジー周期
514  アイドル周期
520  タイミング図
522  SDA信号線
524  SCL信号線
600  第1のタイミング図
602  データストリーム
610  データストリーム
620  第2のタイミング図
622  反復開始条件
624  より長い反復開始条件
640  第3のタイミング図
642  終了状態
644  終了状態
700  タイミング図
702  SDA信号
704  SCL信号
708  ハイ期間
710  短パルス
718  ロー期間
800  タイミング図
802  SDA信号線
804  SCL信号線
806  開始条件
808  反復開始条件
810  停止条件
812  他のパルス
816  クロックパルス、短パルス
818  クロックパルス、より長いパルス
820  反復開始条件のパルス、9番目のクロックパルス
824  2次データの少なくとも1つのビット
900  タイミング図
902  SDA信号線
904  SCL信号線
906  停止条件
908  開始条件
910  差動信号
912  差動信号
914  アイドル期間
922  0V基準
924  デバイス供給電圧VDD、I2C論理ハイ電圧
926  最大電圧レベル
928  最小電圧レベル
932  重畳される差動信号
1000  図
1002  FM信号
1004  I2C信号
1006  組合せ信号
1012  詳細図
1100  トランスミッタ
1102  1次チャネルシリアライザ
1104  エンコーダ/変調器
1106  オープンドレーンドライバ
1108  2次チャネルシリアライザ
1110  1次データ
1112  I2Cシリアルデータ信号
1114  送信信号
1116  2次データ
1118  変調データ
1120  SCL信号線
1122  SDA信号線
1124  I2Cバス
1126  I2Cトランスミッタクロック
1128  変調クロック
1140  レシーバ
1142  ラインレシーバ、受信回路
1144  デコーダ/復調器
1146  1次チャネルデシリアライザ
1148  2次チャネルデシリアライザ
1156  データ
1200  フローチャート
1300  図
1300  装置
1302  処理回路
1304  モジュールおよび/または回路
1306  モジュールおよび/または回路
1308  モジュールおよび/または回路
1314  I2Cバス
1316  プロセッサ
1318  コンピュータ可読記憶媒体
1320  バス
1400  フローチャート
1500  図
1500  装置
1502  処理回路
1504  モジュールおよび/または回路
1506  モジュールおよび/または回路
1508  モジュールおよび/または回路
1514  I2Cバス
1516  プロセッサ
1518  コンピュータ可読記憶媒体
1520  バス
【図１】
2017516353.tif 000003
【図２】
2017516353.tif 000004
【図３】
2017516353.tif 000005
【図４】
2017516353.tif 000006
【図５】
2017516353.tif 000007
【図６】
2017516353.tif 000008
【図７】
2017516353.tif 000009
【図８】
2017516353.tif 000010
【図９】
2017516353.tif 000011
【図１０】
2017516353.tif 000012
【図１１】
2017516353.tif 000013
【図１２】
2017516353.tif 000014
【図１３】
2017516353.tif 000015
【図１４】
2017516353.tif 000016
【図１５】
2017516353.tif 000017
【手続補正書】
【提出日】平成28年10月4日(2016.10.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ通信の方法であって、
集積回路間(I2C)バスプロトコルに従ってI2C信号における1次データを符号化するステップと、
マルチチャネル信号を取得するために前記I2C信号における2次データを符号化するステップと、
I2Cバス上で前記マルチチャネル信号を送信するステップであって、前記マルチチャネル信号は前記I2Cバスプロトコルに適合する、送信するステップと
を含み、前記I2C信号における前記2次データを符号化するステップは、
前記I2C信号上に重畳された差動信号において前記2次データを符号化するステップを含む、方法。
【請求項２】
前記差動信号は相補信号の対を含み、前記方法は、
前記I2Cバスのシリアルデータライン(SDA)上で前記相補信号の対のうちの一方を送信し、かつ前記I2Cバスのシリアルクロックライン(SCL)上で前記相補信号の対のうちの他方を送信することによって、前記I2Cバス上で前記差動信号を送信するステップをさらに含む、請求項1に記載の方法。
【請求項３】
前記差動信号は、前記SDAと前記SCLの両方がハイ論理レベルであるときに前記I2Cバス上で送信され、前記SDAおよび前記SCLは、前記SDAおよび前記SCLを介して前記差動信号が送信される間、前記ハイ論理レベルに関して前記I2Cバスプロトコルによって指定された最小電圧よりも高く、前記ハイ論理レベルに関して前記I2Cバスプロトコルによって指定された最大電圧よりも低い電圧レベルを有する、請求項2に記載の方法。
【請求項４】
前記差動信号は、前記I2Cバスがアイドルである期間中に送信される、請求項2に記載の方法。
【請求項５】
データ通信の方法であって、
集積回路間(I2C)バスプロトコルに従ってI2C信号における1次データを符号化するステップと、
マルチチャネル信号を取得するために前記I2C信号における2次データを符号化するステップと、
I2Cバス上で前記マルチチャネル信号を送信するステップであって、前記マルチチャネル信号は前記I2Cバスプロトコルに適合する、送信するステップと
を含み、前記I2C信号における前記2次データを符号化するステップは、
周波数変調(FM)信号における前記2次データを符号化するステップと、
前記I2Cバスのシリアルデータライン(SDA)および前記I2Cバスのシリアルクロックライン(SCL)のうちの1つまたは複数を介して前記FM信号を送信するステップであって、前記FM信号は、I2C適合デバイスのレシーバによって使用されるシュミットトリガ入力に関する最小ヒステリシス電圧レベルよりも小さい振幅を有し、前記最小ヒステリシス電圧レベルは、前記I2Cバスプロトコルにおいて規定される、送信するステップと
を含む、方法。
【請求項６】
データ通信の方法であって、
集積回路間(I2C)バスプロトコルに従ってI2C信号における1次データを符号化するステップと、
マルチチャネル信号を取得するために前記I2C信号における2次データを符号化するステップと、
I2Cバス上で前記マルチチャネル信号を送信するステップであって、前記マルチチャネル信号は前記I2Cバスプロトコルに適合する、送信するステップと
を含み、前記I2C信号における前記2次データを符号化するステップは、
前記I2Cバスのシリアルデータライン(SDA)上または前記I2Cバスのシリアルクロックライン(SCL)上で送信される信号に短パルスを挿入するかまたは挿入しないステップを含み、
前記短パルスは、送信すべき前記2次データのビットの値が第1の値を有するときに挿入され、送信すべき前記2次データの前記ビットが第2の値を有するときには挿入されず、前記短パルスは前記I2Cバス上のパルスに関して前記I2Cバスプロトコルによって指定された最小持続時間よりも短い持続時間を有するか、または前記短パルスは、I2Cレシーバによって無視すべきスパイクに関して前記I2Cバスプロトコルによって指定された最大持続時間よりも短い持続時間を有する、方法。
【請求項７】
前記I2C信号における前記2次データを符号化するステップは、
前記SCL上で送信されるクロック信号の複数の半周期に短パルスを挿入するかまたは挿入しないステップを含む、請求項6に記載の方法。
【請求項８】
データ通信の方法であって、
集積回路間(I2C)バスプロトコルに従ってI2C信号における1次データを符号化するステップと、
マルチチャネル信号を取得するために前記I2C信号における2次データを符号化するステップと、
I2Cバス上で前記マルチチャネル信号を送信するステップであって、前記マルチチャネル信号は前記I2Cバスプロトコルに適合する、送信するステップと
を含み、前記I2C信号における前記2次データを符号化するステップは、
変調されたクロック信号を取得するために前記I2Cバスのシリアルクロックライン(SCL)上で送信されるクロック信号をパルス幅変調するステップを含み、
前記変調されたクロック信号のそれぞれのハイ期間は、前記I2Cバスプロトコルによって指定されたSCLクロックに関する最小のハイ期間を超える持続時間を有し、前記変調されたクロック信号のそれぞれのロー期間は、前記I2Cバスプロトコルによって指定されたSCLクロックに関する最小のロー期間を超える持続時間を有する、方法。
【請求項９】
データ通信の方法であって、
集積回路間(I2C)バスプロトコルに従ってI2C信号における1次データを符号化するステップと、
マルチチャネル信号を取得するために前記I2C信号における2次データを符号化するステップと、
I2Cバス上で前記マルチチャネル信号を送信するステップであって、前記マルチチャネル信号は前記I2Cバスプロトコルに適合し、前記1次データは前記I2Cバス上で送信すべきフレームにおいて符号化される、送信するステップと
を含み、前記I2C信号における前記2次データを符号化するステップは、
送信すべき前記2次データのビットが第1の値を有するときに、連続的なフレーム間に停止条件を送信し、それに続いて開始条件を送信するステップと、
送信すべき前記2次データの前記ビットが第2の値を有するときに、前記連続的なフレーム間に反復開始条件を送信するステップであって、前記開始条件および前記停止条件は前記I2Cバスプロトコルによって指定される、送信するステップと
を含む、方法。
【請求項１０】
データ通信の方法であって、
集積回路間(I2C)バスプロトコルに従ってI2C信号における1次データを符号化するステップと、
マルチチャネル信号を取得するために前記I2C信号における2次データを符号化するステップと、
I2Cバス上で前記マルチチャネル信号を送信するステップであって、前記マルチチャネル信号は前記I2Cバスプロトコルに適合し、前記1次データは前記I2Cバス上で送信すべきフレームにおいて符号化される、送信するステップと
を含み、前記I2C信号における前記2次データを符号化するステップは、
送信すべき前記2次データのビットが第1の値を有するときに、連続的なフレームの対の間に、既定の2つの持続時間のうちの第1の持続時間を有する反復開始条件を送信するステップと、
送信すべき前記2次データの前記ビットが第2の値を有するときに、前記連続的なフレームの対の間に、既定の2つの持続時間のうちの第2の持続時間を有する反復開始条件を送信するステップであって、前記開始条件は前記I2Cバスプロトコルによって指定される、送信するステップと
を含む、方法。
【請求項１１】
集積回路間(I2C)バス上でデータを送信するように構成される装置であって、
処理回路を有するエンコーダであって、前記処理回路は、
I2Cバスプロトコルに従ってI2C信号における1次データを符号化することと、
マルチチャネル信号を生成するために前記I2C信号における2次データを符号化することと
を行うように構成されるエンコーダと、
前記I2Cバスプロトコルに従ってI2Cバス上で前記マルチチャネル信号を送信するように構成されるトランスミッタと
を備え、前記エンコーダの前記処理回路は、前記I2C信号上に重畳された差動信号において前記2次データを符号化することによって前記2次データを符号化するように構成される、装置。
【請求項１２】
集積回路間(I2C)バス上でデータを送信するように構成される装置であって、
処理回路を有するエンコーダであって、前記処理回路は、
I2Cバスプロトコルに従ってI2C信号における1次データを符号化することと、
マルチチャネル信号を生成するために前記I2C信号における2次データを符号化することと
を行うように構成されるエンコーダと、
前記I2Cバスプロトコルに従ってI2Cバス上で前記マルチチャネル信号を送信するように構成されるトランスミッタと
を備え、前記エンコーダの前記処理回路は、前記I2Cバスのシリアルクロックライン(SCL)上で送信されるクロック信号をパルス幅変調するか、または前記I2Cバスのシリアルデータライン(SDA)または前記SCLに短パルスを選択的に追加することによって前記2次データを符号化するように構成され、前記短パルスは、I2Cレシーバによって無視すべきスパイクに関して前記I2Cバスプロトコルによって指定された最大持続時間よりも短い持続時間を有する、装置。
【請求項１３】
集積回路間(I2C)バス上でデータを送信するように構成される装置であって、
処理回路を有するエンコーダであって、前記処理回路は、
I2Cバスプロトコルに従ってI2C信号における1次データを符号化することと、
マルチチャネル信号を生成するために前記I2C信号における2次データを符号化することと
を行うように構成されるエンコーダと、
前記I2Cバスプロトコルに従ってI2Cバス上で前記マルチチャネル信号を送信するように構成されるトランスミッタと
を備え、前記エンコーダの前記処理回路は、前記2次データのビットを使用して、前記I2Cバス上で送信される1次データのフレーム間に送信される開始条件のタイプを選択するか、または前記2次データの前記ビットを使用して1次データの前記フレーム間に送信される反復開始条件の持続時間を選択することによって前記2次データを符号化するように構成され、前記開始条件は前記I2Cバスプロトコルによって指定される、装置。
【請求項１４】
データ通信の方法であって、
集積回路間(I2C)バスプロトコルに従ってI2C信号から受信された1次データを復号するステップと、
前記I2C信号から2次データを復号するステップであって、前記2次データは前記I2Cバスプロトコル以外のプロトコルを使用して復号されるステップと
を含み、
前記I2C信号は前記I2Cバスプロトコルに準拠し、2次データを復号するステップは、
前記I2Cバスのシリアルデータライン(SDA)およびシリアルクロックライン(SCL)から信号の差動対を受信するステップであって、前記SDAおよび前記SCLは、前記信号の前記差動対のうちのそれぞれに異なる信号を搬送するステップと、
前記信号の前記差動対から前記2次データを復号するステップと
を含む、方法。
【請求項１５】
前記信号の前記差動対は、前記SDAと前記SCLの両方がハイ論理レベルであるときに前記I2Cバスから受信され、前記SDAおよび前記SCLは、前記信号の前記差動対が前記I2Cバスから受信される間、前記ハイ論理レベルに関して前記I2Cバスプロトコルによって指定された最小電圧よりも高く、前記ハイ論理レベルに関して前記I2Cバスプロトコルによって指定された最大電圧よりも低い電圧レベルを有する、請求項14に記載の方法。
【請求項１６】
前記信号の前記差動対は、前記I2Cバスがアイドルである期間中に受信される、請求項14に記載の方法。
【請求項１７】
データ通信の方法であって、
集積回路間(I2C)バスプロトコルに従ってI2C信号から受信された1次データを復号するステップと、
前記I2C信号から2次データを復号するステップであって、前記2次データは前記I2Cバスプロトコル以外のプロトコルを使用して復号されるステップと
を含み、
前記I2C信号は前記I2Cバスプロトコルに準拠し、前記2次データを復号するステップは、
前記I2Cバスのシリアルデータライン(SDA)およびシリアルクロックライン(SCL)の少なくとも一方から周波数変調(FM)信号を受信するステップと、
前記FM信号から前記2次データを復号するステップと
を含み、
前記FM信号は、前記I2Cバスプロトコルにおいて規定されたようなI2C適合デバイスのレシーバにおけるシュミットトリガ入力に関する最小ヒステリシス電圧レベルよりも小さい振幅を有する、方法。
【請求項１８】
前記SDAおよび前記SCLの電圧は、前記FM信号が受信される間、ハイ論理レベルに関して前記I2Cバスプロトコルによって指定された最小電圧よりも高く、前記ハイ論理レベルに関して前記I2Cバスプロトコルによって指定された最大電圧よりも低い、請求項17に記載の方法。
【請求項１９】
データ通信の方法であって、
集積回路間(I2C)バスプロトコルに従ってI2C信号から受信された1次データを復号するステップと、
前記I2C信号から2次データを復号するステップであって、前記2次データは前記I2Cバスプロトコル以外のプロトコルを使用して復号されるステップと
を含み、
前記I2C信号は前記I2Cバスプロトコルに準拠し、2次データを復号するステップは、
前記I2Cバスのシリアルデータライン(SDA)または前記I2Cバスのシリアルクロックライン(SCL)から受信された信号における短パルスの有無を判定するステップと、
前記短パルスの有無に基づいて前記2次データを復号するステップであって、前記短パルスの各々は、無視すべきスパイクに関してI2Cバスプロトコルによって指定された最大持続時間よりも短い持続時間を有する、復号するステップと
を含む、方法。
【請求項２０】
データ通信の方法であって、
集積回路間(I2C)バスプロトコルに従ってI2C信号から受信された1次データを復号するステップと、
前記I2C信号から2次データを復号するステップであって、前記2次データは前記I2Cバスプロトコル以外のプロトコルを使用して復号されるステップと
を含み、
前記I2C信号は前記I2Cバスプロトコルに準拠し、2次データを復号するステップは、
前記I2Cバスのシリアルクロックライン(SCL)から受信されたクロック信号の複数の半周期における短パルスの有無を判定するステップと、
前記短パルスの前記有無に基づいて前記2次データを復号するステップと
を含み、
前記短パルスの各々は、無視すべきスパイクに関してI2Cバスプロトコルによって指定された最大持続時間よりも短い持続時間を有する、方法。
【請求項２１】
データ通信の方法であって、
集積回路間(I2C)バスプロトコルに従ってI2C信号から受信された1次データを復号するステップと、
前記I2C信号から2次データを復号するステップであって、前記2次データは前記I2Cバスプロトコル以外のプロトコルを使用して復号されるステップと
を含み、
前記I2C信号は前記I2Cバスプロトコルに準拠し、2次データを復号するステップは、
前記I2Cバスのシリアルクロックライン(SCL)から受信されたパルス幅変調されたクロック信号における2次データを復号するステップを含み、
前記パルス幅変調されたクロック信号のそれぞれのハイ期間は、前記I2Cバスプロトコルによって指定されたSCLクロックに関する最小のハイ期間を超える持続時間を有し、前記パルス幅変調されたクロック信号のそれぞれのロー期間は、前記I2Cバスプロトコルによって指定されたSCLクロックに関する最小のロー期間を超える持続時間を有する、方法。
【請求項２２】
データ通信の方法であって、
集積回路間(I2C)バスプロトコルに従ってI2C信号から受信された1次データを復号するステップと、
前記I2C信号から2次データを復号するステップであって、前記2次データは前記I2Cバスプロトコル以外のプロトコルを使用して復号されるステップと
を含み、
前記I2C信号は前記I2Cバスプロトコルに準拠し、2次データを復号するステップは、
前記I2Cバスのシリアルデータライン(SDA)上で前記1次データを伝送する連続的なフレーム間に停止条件および開始条件が受信されたときに2次データのビットに関する第1の値を決定するステップと、
前記連続的なフレーム間に反復開始条件が受信されたときに2次データの前記ビットに関する第2の値を決定するステップであって、前記開始条件および前記停止条件は前記I2Cバスプロトコルによって指定されるステップと
を含む、方法。
【請求項２３】
データ通信の方法であって、
集積回路間(I2C)バスプロトコルに従ってI2C信号から受信された1次データを復号するステップと、
前記I2C信号から2次データを復号するステップであって、前記2次データは前記I2Cバスプロトコル以外のプロトコルを使用して復号されるステップと
を含み、
前記I2C信号は前記I2Cバスプロトコルに準拠し、2次データを復号するステップは、
前記I2Cバスのシリアルデータライン(SDA)上で前記1次データを伝送する連続的なフレーム間に受信された反復開始条件が第1の持続時間を有するときに2次データのビットに関する第1の値を決定するステップと、
前記反復開始条件が第2の持続時間を有するときに2次データの前記ビットに関する第2の値を決定するステップであって、前記開始条件は前記I2Cバスプロトコルによって指定される、決定するステップと
を含む、方法。
【請求項２４】
集積回路間(I2C)バスからデータを受信するように構成される装置であって、請求項1から10または14から23のいずれか一項に記載の方法を実行するための手段を備える、装置。
【国際調査報告】
2017516353.tif 000018
2017516353.tif 000019