JP2017516353A - 集積回路間(i2c)バス上でインバンドで追加情報を送信するための方法 - Google Patents

集積回路間(i2c)バス上でインバンドで追加情報を送信するための方法 Download PDF

Info

Publication number
JP2017516353A
JP2017516353A JP2016559318A JP2016559318A JP2017516353A JP 2017516353 A JP2017516353 A JP 2017516353A JP 2016559318 A JP2016559318 A JP 2016559318A JP 2016559318 A JP2016559318 A JP 2016559318A JP 2017516353 A JP2017516353 A JP 2017516353A
Authority
JP
Japan
Prior art keywords
bus
signal
secondary data
data
scl
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016559318A
Other languages
English (en)
Other versions
JP2017516353A5 (ja
Inventor
祥一郎 仙石
祥一郎 仙石
Original Assignee
クアルコム,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2017516353A publication Critical patent/JP2017516353A/ja
Publication of JP2017516353A5 publication Critical patent/JP2017516353A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Dc Digital Transmission (AREA)
  • Information Transfer Systems (AREA)

Abstract

集積回路間(I2C)バスの性能を向上させるシステム、方法、および装置について説明する。I2Cバスプロトコルに従って第1のシグナリングにおいて1次データが符号化されてもよく、I2Cバス上で送信される組み合わされたシグナリングを取得するために第1のシグナリングが第2のシグナリングと組み合わされてもよい。2次データは、組み合わされたシグナリングがI2Cバスプロトコルに適合したままで第2のシグナリングにおいて符号化されてもよい。第2のシグナリングは、第1のシグナリングにおける少なくとも1つの信号の電圧レベルを変調してもよい。第2のシグナリングは、I2Cバス上で送信されるクロック信号をパルス幅変調してもよい。第2のシグナリングは、I2Cバス上で送信されるバイト間の開始条件を修正してもよい。第2のシグナリングは、第1のシグナリングにおいて送信されるクロック信号に複数の短パルスを追加してもよい。

Description

関連出願の相互参照
本出願は、内容全体が参照により本明細書に組み込まれる、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 バス

Claims (30)

  1. データ通信の方法であって、
    集積回路間(I2C)バスプロトコルに従ってI2C信号における1次データを符号化するステップと、
    マルチチャネル信号を取得するために前記I2C信号における2次データを符号化するステップと、
    I2Cバス上で前記マルチチャネル信号を送信するステップであって、前記マルチチャネル信号は前記I2Cバスプロトコルに適合するステップと
    を含む方法。
  2. 前記I2C信号における前記2次データを符号化する前記ステップは、
    差動信号における前記2次データを符号化するステップであって、前記差動信号は相補信号の対を含むステップと、
    前記I2Cバスのシリアルデータライン(SDA)上で前記相補信号の対のうちの一方を送信し、かつ前記I2Cバスのシリアルクロックライン(SCL)上で前記相補信号の対のうちの他方を送信することによって、前記I2Cバス上で前記差動信号を送信するステップと
    を含む、請求項1に記載の方法。
  3. 前記差動信号は、前記SDAと前記SCLの両方がハイ論理レベルであるときに前記I2Cバス上で送信され、前記SDAおよび前記SCLは、前記SDAおよび前記SCLを介して前記差動信号が送信される間、前記ハイ論理レベルに関して前記I2Cバスプロトコルによって指定された最小電圧よりも高く、前記ハイ論理レベルに関して前記I2Cバスプロトコルによって指定された最大電圧よりも低い電圧レベルを有する、請求項2に記載の方法。
  4. 前記差動信号は、前記I2Cバスがアイドルである期間中に送信される、請求項2に記載の方法。
  5. 前記I2C信号における前記2次データを符号化する前記ステップは、
    周波数変調(FM)信号における前記2次データを符号化するステップと、
    前記I2Cバスのシリアルデータライン(SDA)および前記I2Cバスのシリアルクロックライン(SCL)のうちの1つまたは複数を介して前記FM信号を送信するステップと
    を含む、請求項1に記載の方法。
  6. 前記FM信号は、I2C適合デバイスのレシーバによって使用されるシュミットトリガ入力に関する最小ヒステリシス電圧レベルよりも小さい振幅を有し、前記最小ヒステリシス電圧レベルは、前記I2Cバスプロトコルにおいて規定される、請求項5に記載の方法。
  7. 前記I2C信号における前記2次データを符号化するステップは、
    前記I2Cバスのシリアルデータライン(SDA)上または前記I2Cバスのシリアルクロックライン(SCL)上で送信される信号に短パルスを挿入するかまたは挿入しないステップを含み、
    前記短パルスは、送信すべき前記2次データのビットの値が第1の値を有するときに挿入され、送信すべき前記2次データの前記ビットが第2の値を有するときには短パルスが挿入されない、請求項1に記載の方法。
  8. 前記I2C信号における前記2次データを符号化するステップは、
    前記SCL上で送信されるクロック信号の複数の半周期に短パルスを挿入するかまたは挿入しないステップを含む、請求項7に記載の方法。
  9. 前記短パルスは、前記I2Cバス上のパルスに関して前記I2Cバスプロトコルによって指定された最小持続時間よりも短い持続時間を有する、請求項7に記載の方法。
  10. 前記短パルスは、I2Cレシーバによって無視すべきスパイクに関してI2Cバスプロトコルによって指定された最大持続時間よりも短い持続時間を有する、請求項7に記載の方法。
  11. 前記I2C信号における前記2次データを符号化するステップは、
    変調されたクロック信号を取得するために前記I2Cバスのシリアルクロックライン(SCL)上で送信されるクロック信号をパルス幅変調するステップを含み、
    前記変調されたクロック信号のそれぞれのハイ期間は、前記I2Cバスプロトコルによって指定されたSCLクロックに関する最小のハイ期間を超える持続時間を有し、前記変調されたクロック信号のそれぞれのロー期間は、前記I2Cバスプロトコルによって指定されたSCLクロックに関する最小のロー期間を超える持続時間を有する、請求項1に記載の方法。
  12. 前記1次データは前記I2Cバス上で送信すべきフレームにおいて符号化され、前記I2C信号における前記2次データを符号化するステップは、
    送信すべき前記2次データのビットが第1の値を有するときに、連続的なフレーム間に停止条件を送信し、それに続いて開始条件を送信するステップと、
    送信すべき前記2次データの前記ビットが第2の値を有するときに、前記連続的なフレーム間に反復開始条件を送信するステップと
    を含む、請求項1に記載の方法。
  13. 前記1次データは前記I2Cバス上で送信すべきフレームにおいて符号化され、前記I2C信号における前記2次データを符号化する前記ステップは、
    送信すべき前記2次データのビットが第1の値を有するときに、連続的なフレームの対の間に、既定の2つの持続時間のうちの第1の持続時間を有する反復開始条件を送信するステップと、
    送信すべき前記2次データの前記ビットが第2の値を有するときに、前記連続的なフレームの対の間に、既定の2つの持続時間のうちの第2の持続時間を有する反復開始条件を送信するステップと
    を含む、請求項1に記載の方法。
  14. 集積回路間(I2C)バス上でデータを送信するように構成される装置であって、
    処理回路を有するエンコーダであって、前記処理回路は、
    I2Cバスプロトコルに従ってI2C信号における1次データを符号化することと、
    マルチチャネル信号を生成するために前記I2C信号における2次データを符号化することと
    を行うように構成されるエンコーダと、
    前記I2Cバスプロトコルに従ってI2Cバス上で前記マルチチャネル信号を送信するように構成されるトランスミッタと
    を備える、装置。
  15. 前記エンコーダの前記処理回路は、前記I2C信号に重畳される差動信号またはFM信号における前記2次データを符号化することによって前記2次データを符号化するように構成される、請求項14に記載の装置。
  16. 前記エンコーダの前記処理回路は、前記I2Cバスのシリアルクロックライン(SCL)上で送信されるクロック信号をパルス幅変調するか、または前記I2Cバスのシリアルデータライン(SDA)または前記SCLに短パルスを選択的に追加することによって前記2次データを符号化するように構成され、前記短パルスは、I2Cレシーバによって無視すべきスパイクに関して前記I2Cバスプロトコルによって指定された最大持続時間よりも短い持続時間を有する、請求項14に記載の装置。
  17. 前記エンコーダの前記処理回路は、前記2次データのビットを使用して、前記I2Cバス上で送信される1次データのフレーム間に送信される開始条件のタイプを選択するか、または前記2次データの前記ビットを使用して1次データの前記フレーム間に送信される反復開始条件の持続時間を選択することによって前記2次データを符号化するように構成される、請求項14に記載の装置。
  18. データ通信の方法であって、
    集積回路間(I2C)バスプロトコルに従ってI2C信号から受信された1次データを復号するステップと、
    前記I2C信号から2次データを復号するステップであって、前記2次データは、前記I2Cバスプロトコル以外のプロトコルを使用して復号されるステップと
    を含み、
    前記I2C信号は前記I2Cバスプロトコルに準拠する、方法。
  19. 前記2次データを復号するステップは、
    I2Cバスのシリアルデータライン(SDA)およびシリアルクロックライン(SCL)から信号の差動対を受信するステップであって、前記SDAおよび前記SCLは、前記信号の前記差動対のうちのそれぞれに異なる信号を搬送するステップと、
    前記信号の前記差動対から前記2次データを復号するステップと
    を含む、請求項18に記載の方法。
  20. 前記信号の前記差動対は、前記SDAと前記SCLの両方がハイ論理レベルであるときに前記I2Cバスから受信され、前記SDAおよび前記SCLは、前記信号の前記差動対が前記I2Cバスから受信される間、前記ハイ論理レベルに関して前記I2Cバスプロトコルによって指定された最小電圧よりも高く、前記ハイ論理レベルに関して前記I2Cバスプロトコルによって指定された最大電圧よりも低い電圧レベルを有する、請求項19に記載の方法。
  21. 前記信号の前記差動対は、前記I2Cバスがアイドルである期間中に受信される、請求項19に記載の方法。
  22. 前記2次データを復号するステップは、
    前記I2Cバスのシリアルデータライン(SDA)およびシリアルクロックライン(SCL)の少なくとも一方から周波数変調(FM)信号を受信するステップと、
    前記FM信号から前記2次データを復号するステップと
    を含み、
    前記FM信号は、前記I2Cバスプロトコルにおいて規定されたようなI2C適合デバイスのレシーバにおけるシュミットトリガ入力に関する最小ヒステリシス電圧レベルよりも小さい振幅を有する、請求項18に記載の方法。
  23. 前記SDAおよび前記SCLの前記電圧は、前記FM信号が受信される間、ハイ論理レベルに関して前記I2Cバスプロトコルによって指定された最小電圧よりも高く、前記ハイ論理レベルに関して前記I2Cバスプロトコルによって指定された最大電圧よりも低い、請求項22に記載の方法。
  24. 前記2次データを復号するステップは、
    前記I2Cバスのシリアルデータライン(SDA)または前記I2Cバスのシリアルクロックライン(SCL)から受信された信号における短パルスの有無を判定するステップと、
    前記短パルスの前記有無に基づいて前記2次データを復号するステップと
    を含む、請求項18に記載の方法。
  25. 前記短パルスの各々は、無視すべきスパイクに関してI2Cバスプロトコルによって指定された最大持続時間よりも短い持続時間を有する、請求項24に記載の方法。
  26. 前記2次データを復号するステップは、
    前記I2Cバスのシリアルクロックライン(SCL)から受信されたクロック信号の複数の半周期における短パルスの有無を判定するステップと、
    前記短パルスの前記有無に基づいて前記2次データを復号するステップと
    を含み、
    前記短パルスの各々は、無視すべきスパイクに関してI2Cバスプロトコルによって指定された最大持続時間よりも短い持続時間を有する、請求項18に記載の方法。
  27. 前記2次データを復号するステップは、
    前記I2Cバスのシリアルクロックライン(SCL)から受信されたパルス幅変調されたクロック信号における2次データを復号するステップを含み、
    前記パルス幅変調されたクロック信号のそれぞれのハイ期間は、前記I2Cバスプロトコルによって指定されたSCLクロックに関する最小のハイ期間を超える持続時間を有し、前記パルス幅変調されたクロック信号のそれぞれのロー期間は、前記I2Cバスプロトコルによって指定されたSCLクロックに関する最小のロー期間を超える持続時間を有する、請求項18に記載の方法。
  28. 前記2次データを復号するステップは、
    前記I2Cバスのシリアルデータライン(SDA)上で1次データを搬送する連続的なフレーム間に停止条件および開始条件が受信されたときに2次データのビットに関する第1の値を決定するステップと、
    前記連続的なフレーム間に反復開始条件が受信されたときに2次データの前記ビットに関する第2の値を決定するステップと
    を含む、請求項18に記載の方法。
  29. 前記2次データを復号するステップは、
    前記I2Cバスのシリアルデータライン(SDA)上で1次データを搬送する連続的なフレーム間に受信された反復開始条件が第1の持続時間を有するときに2次データのビットに関する第1の値を決定するステップと、
    前記反復開始条件が第2の持続時間を有するときに2次データの前記ビットに関する第2の値を決定するステップと
    を含む、請求項18に記載の方法。
  30. 集積回路間(I2C)バスからデータを受信するように構成される装置であって、
    集積回路間(I2C)バスプロトコルに従ってI2C信号から受信された1次データを復号するための手段と、
    前記I2C信号から2次データを復号するための手段であって、前記2次データは、前記I2Cバスプロトコル以外のプロトコルを使用して復号される手段と
    を備え、
    前記I2C信号は前記I2Cバスプロトコルに準拠する、装置。
JP2016559318A 2014-04-02 2015-04-01 集積回路間(i2c)バス上でインバンドで追加情報を送信するための方法 Pending JP2017516353A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/243,459 2014-04-02
US14/243,459 US9710423B2 (en) 2014-04-02 2014-04-02 Methods to send extra information in-band on inter-integrated circuit (I2C) bus
PCT/US2015/023898 WO2015153773A1 (en) 2014-04-02 2015-04-01 Methods to send extra information in-band on inter-integrated circuit (i2c) bus

Publications (2)

Publication Number Publication Date
JP2017516353A true JP2017516353A (ja) 2017-06-15
JP2017516353A5 JP2017516353A5 (ja) 2018-04-26

Family

ID=52997557

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016559318A Pending JP2017516353A (ja) 2014-04-02 2015-04-01 集積回路間(i2c)バス上でインバンドで追加情報を送信するための方法

Country Status (6)

Country Link
US (3) US9710423B2 (ja)
EP (2) EP3333717A1 (ja)
JP (1) JP2017516353A (ja)
KR (1) KR20160140847A (ja)
CN (1) CN106170781A (ja)
WO (1) WO2015153773A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019012335A (ja) * 2017-06-29 2019-01-24 矢崎総業株式会社 情報設定装置及び電子機器
WO2022163246A1 (ja) * 2021-01-29 2022-08-04 ソニーセミコンダクタソリューションズ株式会社 送信装置および通信システム

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015126983A1 (en) * 2014-02-18 2015-08-27 Qualcomm Incorporated Technique to avoid metastability condition and avoid unintentional state changes of legacy i2c devices on a multi-mode bus
US9710423B2 (en) 2014-04-02 2017-07-18 Qualcomm Incorporated Methods to send extra information in-band on inter-integrated circuit (I2C) bus
CA2957265C (en) * 2014-08-15 2022-05-17 Vtech Electronics, Ltd. Electronic toy with radial independent connector and associated communication protocol
US9397871B2 (en) 2014-09-30 2016-07-19 Infineon Technologies Ag Communication devices
US9665528B2 (en) 2014-11-20 2017-05-30 International Business Machines Corporation Bus serialization for devices without multi-device support
GB2537856A (en) * 2015-04-28 2016-11-02 Nordic Semiconductor Asa Communication between intergrated circuits
US9628255B1 (en) * 2015-12-18 2017-04-18 Integrated Device Technology, Inc. Methods and apparatus for transmitting data over a clock signal
US9479182B1 (en) 2015-07-02 2016-10-25 Integrated Device Technology, Inc. Methods and apparatus for synchronizing operations using separate asynchronous signals
US20170104607A1 (en) * 2015-10-13 2017-04-13 Qualcomm Incorporated Methods to avoid i2c void message in i3c
US10229086B2 (en) * 2015-12-26 2019-03-12 Intel Corporation Technologies for automatic timing calibration in an inter-integrated circuit data bus
US10872055B2 (en) 2016-08-02 2020-12-22 Qualcomm Incorporated Triple-data-rate technique for a synchronous link
CN106937070B (zh) * 2017-03-10 2020-03-10 成都振芯科技股份有限公司 一种fpd-link低电压差分信号视频传输中的双向控制方法
CN107239430A (zh) * 2017-06-05 2017-10-10 上海爱信诺航芯电子科技有限公司 通信方法、装置及系统
US10372663B2 (en) * 2017-07-25 2019-08-06 Qualcomm Incorporated Short address mode for communicating waveform
US10423551B2 (en) 2017-09-07 2019-09-24 Qualcomm Incorporated Ultra-short RFFE datagrams for latency sensitive radio frequency front-end
US20190171611A1 (en) * 2017-12-05 2019-06-06 Qualcomm Incorporated Protocol-framed clock line driving for device communication over master-originated clock line
US10545886B2 (en) 2017-12-05 2020-01-28 Qualcomm Incorporated Clock line driving for single-cycle data over clock signaling and pre-emption request in a multi-drop bus
US11126218B2 (en) * 2018-07-25 2021-09-21 Integrated Device Technology, Inc. Fast protection switching in distributed systems
US11119966B2 (en) * 2018-09-07 2021-09-14 Qualcomm Incorporated Mixed-mode radio frequency front-end interface
US20200097434A1 (en) * 2018-09-26 2020-03-26 Qualcomm Incorporated Enhanced high data rate technique for i3c
US11188493B2 (en) * 2019-01-18 2021-11-30 Tektronix, Inc. Bus decode and triggering on digital down converted data in a test and measurement instrument
FR3093198B1 (fr) * 2019-02-22 2021-02-12 St Microelectronics Grenoble 2 Transmission de données liées sur bus I2C
CN113906402B (zh) * 2019-05-31 2023-10-27 ams国际有限公司 集成电路间(i2c)装置
JP2023541308A (ja) * 2020-09-17 2023-09-29 華為技術有限公司 インター集積回路ベースの通信方法および装置
US11567882B2 (en) * 2020-11-03 2023-01-31 Himax Imaging Limited Method and apparatus for delivering multiple commands through virtual burst-mode transmission and initialization of image sensor
KR20220098947A (ko) * 2021-01-05 2022-07-12 삼성전자주식회사 반도체 장치 및 이를 포함하는 전자 장치
CN113114550B (zh) * 2021-04-07 2022-06-21 中国科学院苏州生物医学工程技术研究所 一种i2c通信控制方法、设备及存储介质
US11927546B2 (en) * 2021-04-30 2024-03-12 Baker Hughes Holdings Llc Systems and methods for operating non-destructive testing devices
CN113992470B (zh) * 2021-10-14 2023-06-16 上海艾为电子技术股份有限公司 数据发送方法和接收方法、主设备、从设备及电子设备
US11948486B2 (en) 2022-01-04 2024-04-02 FINDEACHIP Inc. Integrated circuit having universal asynchronous receiver/transmitter for data communication stability in noise environment
KR102468986B1 (ko) * 2022-01-04 2022-11-22 (주)파인디어칩 노이즈 환경 내 데이터 통신 안정성을 구비한 집적회로
CN117215983B (zh) * 2023-11-09 2024-03-22 辉芒微电子(深圳)股份有限公司 I2c接口规避错误起始和停止条件的电路结构及方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5341131A (en) * 1991-03-29 1994-08-23 Hitachi, Ltd. Communications system and a system control method
US5559502A (en) * 1993-01-14 1996-09-24 Schutte; Herman Two-wire bus system comprising a clock wire and a data wire for interconnecting a number of stations and allowing both long-format and short-format slave addresses
JPH08316973A (ja) * 1995-05-23 1996-11-29 Hitachi Ltd 通信処理手段
JP2002535882A (ja) * 1999-01-15 2002-10-22 テレフオンアクチーボラゲツト エル エム エリクソン(パブル) インターフェースの選択的交互使用
JP2005514815A (ja) * 2001-12-19 2005-05-19 トムソン ライセンシング ソシエテ アノニム メモリを保護する装置および方法
JP2007325156A (ja) * 2006-06-05 2007-12-13 Seiko Epson Corp 受信装置および送受信システム
US20100325325A1 (en) * 2003-04-11 2010-12-23 Fernald Kenneth W Integrated Multi-Function Point-Of-Load Regulator Circuit
US20110255560A1 (en) * 2008-12-17 2011-10-20 Stmicroelectronics (Rousset) Sas Transmission over an 12c bus
WO2012114672A1 (ja) * 2011-02-23 2012-08-30 パナソニック株式会社 信号伝送装置
JP2012199830A (ja) * 2011-03-22 2012-10-18 Fujitsu Component Ltd 信号伝送システム、信号伝送方法、送信機及び受信機
JP2013538026A (ja) * 2010-09-24 2013-10-07 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング バスシステムの加入者局間の最適化されたデータ伝送のための方法及び加入者局

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6078192A (en) * 1997-09-18 2000-06-20 Ericsson, Inc. Circuit and method for using the I2 C serial protocol with multiple voltages
DE19833693C2 (de) * 1998-07-27 2002-11-07 Wolf Gmbh Richard Schnittstelle für I·2·C-Bus
US7088137B2 (en) * 2004-05-04 2006-08-08 International Business Machines Corporation System, method and program product for extending range of a bidirectional data communication bus
CN100426274C (zh) * 2005-08-08 2008-10-15 中兴通讯股份有限公司 避免i2c总线锁定的方法与装置
US7514962B2 (en) * 2006-04-28 2009-04-07 Stmicroelectronics Pvt. Ltd. Configurable I2C interface
US7953162B2 (en) * 2006-11-17 2011-05-31 Intersil Americas Inc. Use of differential pair as single-ended data paths to transport low speed data
ATE495498T1 (de) * 2007-02-19 2011-01-15 Nxp Bv Integrierter schaltkreis und elektronische vorrichtung
US7692450B2 (en) * 2007-12-17 2010-04-06 Intersil Americas Inc. Bi-directional buffer with level shifting
US7882282B2 (en) * 2008-05-21 2011-02-01 Silicon Laboratories Inc. Controlling passthrough of communications between multiple buses
US7944245B2 (en) * 2008-12-18 2011-05-17 Stmicroelectronics Pvt. Ltd. Pulse filtering module circuit, system, and method
US7999596B2 (en) * 2009-03-26 2011-08-16 Texas Instruments Incorporated Digital suppression of spikes on an 12C bus
US20100255560A1 (en) 2009-04-03 2010-10-07 Mesosystems Technology, Inc. Method and apparatus for capturing viable biological particles over an extended period of time
SG189197A1 (en) 2010-10-06 2013-05-31 Sharp Kk Electronic device and serial data communication method
JP5655562B2 (ja) * 2010-12-28 2015-01-21 ソニー株式会社 電子機器、電子機器の制御方法、送信装置および受信装置
US9037892B2 (en) * 2011-04-13 2015-05-19 International Business Machines Corporation System-wide power management control via clock distribution network
US8945335B2 (en) * 2011-08-04 2015-02-03 Apple Inc. Adhesive stack with a central shear layer
US9098645B2 (en) 2012-06-22 2015-08-04 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Increasing data transmission rate in an inter-integrated circuit (‘I2C’) system
US8558577B1 (en) * 2012-07-31 2013-10-15 Hewlett-Packard Development Company, L.P. Systems and methods for bidirectional signal separation
DE102012110732B3 (de) 2012-11-09 2013-06-13 R.Stahl Schaltgeräte GmbH Buskommunikationsvorrichtung
US9582457B2 (en) * 2013-06-12 2017-02-28 Qualcomm Incorporated Camera control interface extension bus
US9684624B2 (en) * 2014-01-14 2017-06-20 Qualcomm Incorporated Receive clock calibration for a serial bus
US9852104B2 (en) * 2014-02-20 2017-12-26 Qualcomm Incorporated Coexistence of legacy and next generation devices over a shared multi-mode bus
US9319178B2 (en) * 2014-03-14 2016-04-19 Qualcomm Incorporated Method for using error correction codes with N factorial or CCI extension
US9710423B2 (en) 2014-04-02 2017-07-18 Qualcomm Incorporated Methods to send extra information in-band on inter-integrated circuit (I2C) bus
US10108511B2 (en) * 2015-06-15 2018-10-23 Qualcomm Incorporated Test for 50 nanosecond spike filter
US20170104607A1 (en) * 2015-10-13 2017-04-13 Qualcomm Incorporated Methods to avoid i2c void message in i3c

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5341131A (en) * 1991-03-29 1994-08-23 Hitachi, Ltd. Communications system and a system control method
US5559502A (en) * 1993-01-14 1996-09-24 Schutte; Herman Two-wire bus system comprising a clock wire and a data wire for interconnecting a number of stations and allowing both long-format and short-format slave addresses
JPH08316973A (ja) * 1995-05-23 1996-11-29 Hitachi Ltd 通信処理手段
JP2002535882A (ja) * 1999-01-15 2002-10-22 テレフオンアクチーボラゲツト エル エム エリクソン(パブル) インターフェースの選択的交互使用
JP2005514815A (ja) * 2001-12-19 2005-05-19 トムソン ライセンシング ソシエテ アノニム メモリを保護する装置および方法
US20100325325A1 (en) * 2003-04-11 2010-12-23 Fernald Kenneth W Integrated Multi-Function Point-Of-Load Regulator Circuit
JP2007325156A (ja) * 2006-06-05 2007-12-13 Seiko Epson Corp 受信装置および送受信システム
US20110255560A1 (en) * 2008-12-17 2011-10-20 Stmicroelectronics (Rousset) Sas Transmission over an 12c bus
JP2013538026A (ja) * 2010-09-24 2013-10-07 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング バスシステムの加入者局間の最適化されたデータ伝送のための方法及び加入者局
WO2012114672A1 (ja) * 2011-02-23 2012-08-30 パナソニック株式会社 信号伝送装置
JP2012199830A (ja) * 2011-03-22 2012-10-18 Fujitsu Component Ltd 信号伝送システム、信号伝送方法、送信機及び受信機

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019012335A (ja) * 2017-06-29 2019-01-24 矢崎総業株式会社 情報設定装置及び電子機器
WO2022163246A1 (ja) * 2021-01-29 2022-08-04 ソニーセミコンダクタソリューションズ株式会社 送信装置および通信システム

Also Published As

Publication number Publication date
US20150286608A1 (en) 2015-10-08
US20150286606A1 (en) 2015-10-08
WO2015153773A1 (en) 2015-10-08
EP3126994B1 (en) 2018-09-12
US20180196777A1 (en) 2018-07-12
EP3126994A1 (en) 2017-02-08
KR20160140847A (ko) 2016-12-07
EP3333717A1 (en) 2018-06-13
US9928208B2 (en) 2018-03-27
CN106170781A (zh) 2016-11-30
US9710423B2 (en) 2017-07-18

Similar Documents

Publication Publication Date Title
JP2017516353A (ja) 集積回路間(i2c)バス上でインバンドで追加情報を送信するための方法
TWI607318B (zh) 相機控制介面延伸匯流排
US9148198B1 (en) Programmable pre-emphasis circuit for MIPI C-PHY
CN109643298B (zh) 用于同步链路的三倍数据率技术
JP6059404B2 (ja) N階乗デュアルデータレートクロックデータリカバリ
US20170117979A1 (en) Alternating pseudo-random binary sequence seeds for mipi csi-2 c-phy
US20150220472A1 (en) Increasing throughput on multi-wire and multi-lane interfaces
WO2018044608A1 (en) C-phy training pattern for adaptive equalization, adaptive edge tracking and delay calibration
WO2017019223A1 (en) Time based equalization for a c-phy 3-phase transmitter
WO2018017232A1 (en) Signaling camera configuration changes using metadata defined for a camera command set
US20150100711A1 (en) Low power camera control interface bus and devices
US9990330B2 (en) Simultaneous edge toggling immunity circuit for multi-mode bus
US9319178B2 (en) Method for using error correction codes with N factorial or CCI extension
US20150234773A1 (en) Technique to avoid metastability condition and avoid unintentional state changes of legacy i2c devices on a multi-mode bus
US9490964B2 (en) Symbol transition clocking clock and data recovery to suppress excess clock caused by symbol glitch during stable symbol period
US11463233B2 (en) Unit interval jitter improvement in a C-PHY interface

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180315

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180315

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190104

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190805