JP2016528588A - カメラ制御インターフェース拡張バス - Google Patents

カメラ制御インターフェース拡張バス Download PDF

Info

Publication number
JP2016528588A
JP2016528588A JP2016519656A JP2016519656A JP2016528588A JP 2016528588 A JP2016528588 A JP 2016528588A JP 2016519656 A JP2016519656 A JP 2016519656A JP 2016519656 A JP2016519656 A JP 2016519656A JP 2016528588 A JP2016528588 A JP 2016528588A
Authority
JP
Japan
Prior art keywords
symbols
serial bus
wire serial
sequence
bus
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.)
Ceased
Application number
JP2016519656A
Other languages
English (en)
Other versions
JP2016528588A5 (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 JP2016528588A publication Critical patent/JP2016528588A/ja
Publication of JP2016528588A5 publication Critical patent/JP2016528588A5/ja
Ceased legal-status Critical Current

Links

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
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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/4295Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • H04L7/033Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
    • H04L7/0331Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop with a digital phase-locked loop [PLL] processing binary samples, e.g. add/subtract logic for correction of receiver clock

Landscapes

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

Abstract

集積回路間(I2C)および/またはカメラ制御インターフェース(CCI)の動作に使用されるシリアルバスの改善されたパフォーマンスを提供するシステム、方法、および装置が記載される。CCI拡張(CCIe)デバイスが記載される。CCIeデバイスは、バスマスタまたはスレーブとして構成することができる。一方法では、CCIe送信機は、1組のビットから遷移番号を生成し、遷移番号をシンボルのシーケンスに変換し、2線シリアルバスのシグナリング状態においてシンボルのシーケンスを送信することができる。タイミング情報は、シンボルのシーケンス内のシンボルの連続するペアのシンボル間の遷移内で符号化することができる。たとえば、各遷移は、2線シリアルバスの少なくとも1つのワイヤのシグナリング状態における変化を引き起こす場合がある。CCIe受信機は、シンボルのシーケンスを受信し復号するために、遷移から受信クロックを導出することができる。

Description

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

Claims (30)

  1. 送信デバイス上で動作可能なデータ通信の方法であって、
    1組のビットから遷移番号を生成するステップと、
    前記遷移番号をシンボルの12シンボルシーケンスに変換するステップであって、タイミング情報がシンボルの前記シーケンス内のシンボル間の遷移内で符号化される、ステップと、
    2線シリアルバスが第1の動作モードで動作するとき、前記2線シリアルバス上でシンボルの前記シーケンスを送信するステップであって、連続するシンボル間の各遷移が前記2線シリアルバスのシグナリング状態における変化を引き起こす、ステップと
    を含み、
    前記2線シリアルバスが第2の動作モードで動作するとき、シンボルの前記シーケンスが、前記2線シリアルバス上の通信用に構成されたデバイスによって無視される、
    方法。
  2. 前記遷移番号が12桁の3進数を備える、請求項1に記載の方法。
  3. 前記遷移番号をシンボルの前記シーケンスに変換するステップが、
    前記1組のビットを12桁の3進遷移番号に変換するステップと、
    前記3進遷移番号をトランスコーダに与えるステップであって、最初に前記3進遷移番号の最上位桁が前記トランスコーダに与えられ、最後に前記3進遷移番号の最下位桁が前記トランスコーダに与えられ、前記最上位桁と前記最下位桁との間の中間桁が重みの降順で前記トランスコーダに与えられる、ステップと
    を含む、請求項1に記載の方法。
  4. 前記遷移番号をシンボルの前記シーケンスに変換するステップが、
    前記1組のビットを12桁の3進遷移番号に変換するステップと、
    前記3進遷移番号をトランスコーダに与えるステップであって、最後に前記3進遷移番号の最上位桁が前記トランスコーダに与えられる、ステップと
    を含む、請求項1に記載の方法。
  5. 前記2線シリアルバスについて4つのシグナリング状態が定義され、前記遷移番号が、12桁の3進数としてトランスコーダに与えられ、前記3進数の各桁が、3つの利用可能なシンボルのうちの1つから、前記2線シリアルバス上で送信されるべき次のシンボルを選択し、前記3つの利用可能なシンボルの各々が、前記2線シリアルバス上で送信されている現在のシンボルとは異なる、請求項1に記載の方法。
  6. シンボルの前記シーケンス内で符号化されたタイミング情報により、受信機がシンボルの前記シーケンスから受信クロックを生成することが可能になる、請求項1に記載の方法。
  7. 前記2線シリアルバスが前記第1の動作モードで動作するとき、前記2線シリアルバスが、カメラ制御インターフェース拡張(CCIe)プロトコルを使用する通信をサポートする多目的バスであり、前記2線シリアルバスが、前記第2の動作モードにおいて集積回路間(I2C)プロトコルを使用する通信をサポートする、請求項1に記載の方法。
  8. 前記2線シリアルバス上にシンボルの前記シーケンスを送信するステップが、
    前記第1の動作モードにおいて、前記2線シリアルバス上で送信されたシンボルのシーケンスの間にI2C開始状態を設けるステップ
    を含み、
    前記開始状態のタイミングが、前記I2Cプロトコルを使用する通信用に構成されたデバイス内の受信ロジックのリセットを引き起こす、請求項7に記載の方法。
  9. 前記2線シリアルバス上でシンボルの前記シーケンスを送信するステップが、
    前記2線シリアルバス上で第1のI2C開始状態を送信するステップと、
    前記第1のI2C開始状態が送信された後、前記2線シリアルバス上でシンボルの前記シーケンスを送信するステップと、
    前記2線シリアルバス上で第2のI2C開始状態を送信するステップと
    を含み、
    前記2線シリアルバスを監視するI2C受信機が、前記第1の開始状態の後、かつ前記第2のI2C開始状態の前に、前記2線シリアルバスのシリアルクロックライン(SCL)上で最大6クロックサイクルを知覚する、
    請求項7に記載の方法。
  10. 制御シーケンスが前記2線シリアルバス上で送信された後、前記第1の動作モードから前記第2の動作モードに変更するステップ
    をさらに含む、請求項1に記載の方法。
  11. 装置であって、
    複数の他のデバイスと共有されるように動作可能な2線シリアルバスに前記装置を結合するように適合されたバスインターフェースと、
    前記バスインターフェースに結合された処理回路とを備え、前記処理回路が、
    1組のビットから遷移番号を生成することと、
    前記遷移番号をシンボルの12シンボルシーケンスに変換することであって、タイミング情報がシンボルの前記シーケンス内のシンボル間の遷移内で符号化される、変換することと、
    2線シリアルバスが第1の動作モードで動作するとき、前記2線シリアルバス上でシンボルの前記シーケンスを送信することであって、連続するシンボル間の各遷移が前記2線シリアルバスのシグナリング状態における変化を引き起こす、送信することと
    を行うように構成され、
    前記2線シリアルバスが第2の動作モードで動作するとき、シンボルの前記シーケンスが、前記2線シリアルバス上の通信用に構成されたデバイスによって無視される、
    装置。
  12. 前記遷移番号が12桁の3進数を備える、請求項11に記載の装置。
  13. 前記処理回路が、
    前記1組のビットを12桁の3進遷移番号に変換することと、
    前記3進遷移番号をトランスコーダに与えることと
    を行うことによって、前記遷移番号をシンボルの前記シーケンスに変換するように構成され、
    最初に前記3進遷移番号の最上位桁が前記トランスコーダに与えられ、最後に前記3進遷移番号の最下位桁が前記トランスコーダに与えられ、前記最上位桁と前記最下位桁との間の中間桁が重みの降順で前記トランスコーダに与えられる、
    請求項12に記載の装置。
  14. 前記処理回路が、
    前記1組のビットを12桁の3進遷移番号に変換することと、
    前記3進遷移番号をトランスコーダに与えることであって、最後に前記3進遷移番号の最上位桁が前記トランスコーダに与えられる、与えることと
    を行うことによって、前記遷移番号をシンボルの前記シーケンスに変換するように構成された、請求項12に記載の装置。
  15. 前記2線シリアルバスについて4つのシグナリング状態が定義され、前記遷移番号が、12桁の3進数としてトランスコーダに与えられ、前記3進数の各桁が、3つの利用可能なシンボルのうちの1つから、前記2線シリアルバス上で送信されるべき次のシンボルを選択し、前記3つの利用可能なシンボルの各々が、前記2線シリアルバス上で送信されている現在のシンボルとは異なる、請求項12に記載の装置。
  16. シンボルの前記シーケンス内で符号化されたタイミング情報により、受信機がシンボルの前記シーケンスから受信クロックを生成することが可能になる、請求項11に記載の装置。
  17. 前記2線シリアルバスが前記第1の動作モードで動作するとき、前記2線シリアルバスが、カメラ制御インターフェース拡張(CCIe)プロトコルを使用する通信をサポートする多目的バスであり、前記2線シリアルバスが、前記第2の動作モードにおいて集積回路間(I2C)プロトコルを使用する通信をサポートする、請求項11に記載の装置。
  18. 前記処理回路が、前記第1の動作モードにおいて、前記2線シリアルバス上で送信されたシンボルのシーケンスの間にI2C開始状態を設けることによって、前記2線シリアルバス上でシンボルの前記シーケンスを送信するように構成され、前記開始状態のタイミングが、前記I2Cプロトコルを使用する通信用に構成されたデバイス内の受信ロジックのリセットを引き起こす、請求項17に記載の装置。
  19. 前記処理回路が、
    前記2線シリアルバス上で第1のI2C開始状態を送信することと、
    前記第1のI2C開始状態が送信された後、前記2線シリアルバス上でシンボルの前記シーケンスを送信することと、
    前記2線シリアルバス上で第2のI2C開始状態を送信することと
    を行うことによって、前記2線シリアルバス上でシンボルの前記シーケンスを送信するように構成され、
    前記2線シリアルバスを監視するI2C受信機が、前記第1の開始状態の後、かつ前記第2のI2C開始状態の前に、前記2線シリアルバスのシリアルクロックライン(SCL)上で最大6クロックサイクルを知覚する、
    請求項17に記載の装置。
  20. 前記処理回路が、
    制御シーケンスが前記2線シリアルバス上で送信された後、前記第1の動作モードから前記第2の動作モードに変更すること
    を行うように構成された、請求項11に記載の装置。
  21. データ通信の受信デバイス上で動作可能な方法であって、
    2線シリアルバスが第1の動作モードで動作するとき、前記2線シリアルバスのシグナリング状態における遷移から受信クロックを導出するステップと、
    前記受信クロックを使用して、前記第1の動作モードに従って前記2線シリアルバス上で送信されたシンボルの12シンボルシーケンスを受信するステップであって、前記2線シリアルバスのシグナリング状態における前記遷移が、シンボルの前記シーケンス内のシンボル間の遷移に対応する、ステップと、
    シンボルの前記シーケンスから遷移番号を生成するステップであって、前記遷移番号が複数の桁を有し、各桁がシンボルの前記シーケンス内の一対の連続するシンボル間の遷移を表す、ステップと、
    前記遷移番号からデータを復号するステップと
    を含み、
    前記2線シリアルバスが第2の動作モードで動作するとき、シンボルの前記シーケンスが、前記2線シリアルバス上の通信用に構成されたデバイスによって無視される、
    方法。
  22. 前記遷移番号が12桁の3進数を備える、請求項21に記載の方法。
  23. 前記2線シリアルバスについて4つのシグナリング状態が定義され、前記3進数の各桁が、前記2線シリアルバス上の一対の連続するシグナリング状態間の関係を表す、請求項22に記載の方法。
  24. シンボルの前記シーケンス内の各シンボルが、前記2線シリアルバスの前記シグナリング状態によって規定された4つのシンボルのうちの1つであり、前記3進数の各桁が、シンボルの前記シーケンス内の一対の連続するシンボル間の関係を規定する、請求項22に記載の方法。
  25. 前記2線シリアルバスが前記第1の動作モードで動作するとき、前記2線シリアルバスが、カメラ制御インターフェース拡張(CCIe)通信をサポートする多目的バスであり、前記2線シリアルバスが、前記第2の動作モードにおいて集積回路間(I2C)通信をサポートし、前記2線シリアルバスからシンボルの前記シーケンスを受信するステップが、
    前記2線シリアルバス上のI2C開始状態を特定するステップと、
    前記受信クロックによって画定されたタイミングに従って、前記2線シリアルバスからシンボルの前記シーケンスを受信するステップと
    を含む、請求項21に記載の方法。
  26. 装置であって、
    複数の他のデバイスと共有されるように動作可能な2線シリアルバスに前記装置を結合するように適合されたバスインターフェースと、
    2線シリアルバスのシグナリング状態における遷移から受信クロックを導出するように構成されたクロック復元回路と、
    前記バスインターフェースに結合された処理回路とを備え、前記処理回路が、
    前記受信クロックを使用して、第1の動作モードに従って前記2線シリアルバス上で送信されたシンボルの12シンボルシーケンスを受信することであって、前記2線シリアルバスのシグナリング状態における前記遷移が、シンボルの前記シーケンス内のシンボル間の遷移に対応する、受信することと、
    シンボルの前記シーケンスから遷移番号を生成することであって、前記遷移番号が複数の桁を有し、各桁がシンボルの前記シーケンス内の一対の連続するシンボル間の遷移を表す、生成することと、
    前記遷移番号からデータを復号することと
    を行うように構成され、
    前記2線シリアルバスが第2の動作モードで動作するとき、シンボルの前記シーケンスが、前記2線シリアルバス上の通信用に構成されたデバイスによって無視される、
    装置。
  27. 前記遷移番号が12桁の3進数を備える、請求項26に記載の装置。
  28. 前記2線シリアルバスについて4つのシグナリング状態が定義され、前記3進数の各桁が、前記2線シリアルバス上の一対の連続するシグナリング状態間の関係を表す、請求項27に記載の装置。
  29. シンボルの前記シーケンス内の各シンボルが、前記2線シリアルバスの前記シグナリング状態によって規定された4つのシンボルのうちの1つであり、前記3進数の各桁が、シンボルの前記シーケンス内の一対の連続するシンボル間の関係を規定する、請求項27に記載の装置。
  30. 前記2線シリアルバスが前記第1の動作モードで動作するとき、前記2線シリアルバスが、カメラ制御インターフェース拡張(CCIe)通信をサポートする多目的バスであり、前記2線シリアルバスが、前記第2の動作モードにおいて集積回路間(I2C)通信をサポートし、前記2線シリアルバスから受信されたシンボルの前記シーケンスが、12個のシンボルを備え、I2C開始によって先行される、請求項26に記載の装置。
JP2016519656A 2013-06-12 2014-06-12 カメラ制御インターフェース拡張バス Ceased JP2016528588A (ja)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201361834151P 2013-06-12 2013-06-12
US61/834,151 2013-06-12
US201361836777P 2013-06-19 2013-06-19
US61/836,777 2013-06-19
US201361886002P 2013-10-02 2013-10-02
US61/886,002 2013-10-02
US14/302,359 2014-06-11
US14/302,359 US9639499B2 (en) 2013-06-12 2014-06-11 Camera control interface extension bus
PCT/US2014/042182 WO2014201289A1 (en) 2013-06-12 2014-06-12 Camera control interface extension bus

Publications (2)

Publication Number Publication Date
JP2016528588A true JP2016528588A (ja) 2016-09-15
JP2016528588A5 JP2016528588A5 (ja) 2017-07-06

Family

ID=52020259

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2016519656A Ceased JP2016528588A (ja) 2013-06-12 2014-06-12 カメラ制御インターフェース拡張バス
JP2016519659A Active JP6257757B2 (ja) 2013-06-12 2014-06-12 カメラ制御インターフェース拡張バス

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2016519659A Active JP6257757B2 (ja) 2013-06-12 2014-06-12 カメラ制御インターフェース拡張バス

Country Status (8)

Country Link
US (4) US9582457B2 (ja)
EP (2) EP3008609B1 (ja)
JP (2) JP2016528588A (ja)
KR (2) KR101790900B1 (ja)
CN (2) CN105283863A (ja)
CA (2) CA2911401A1 (ja)
TW (1) TWI607318B (ja)
WO (2) WO2014201289A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021117646A1 (ja) * 2019-12-12 2021-06-17 ソニーセミコンダクタソリューションズ株式会社 通信装置および通信システム

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9582457B2 (en) 2013-06-12 2017-02-28 Qualcomm Incorporated Camera control interface extension bus
US9519603B2 (en) * 2013-09-09 2016-12-13 Qualcomm Incorporated Method and apparatus to enable multiple masters to operate in a single master bus architecture
US20150100711A1 (en) * 2013-10-07 2015-04-09 Qualcomm Incorporated Low power camera control interface bus and devices
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
US9852104B2 (en) 2014-02-20 2017-12-26 Qualcomm Incorporated Coexistence of legacy and next generation devices over a shared multi-mode bus
US10139875B2 (en) 2014-02-20 2018-11-27 Qualcomm Incorporated Farewell reset and restart method for coexistence of legacy and next generation devices over a shared 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
US9734121B2 (en) 2014-04-28 2017-08-15 Qualcomm Incorporated Sensors global bus
US10417172B2 (en) 2014-04-28 2019-09-17 Qualcomm Incorporated Sensors global bus
US9571155B2 (en) * 2014-08-25 2017-02-14 Samsung Display Co., Ltd. Method of startup sequence for a panel interface
WO2016145401A1 (en) * 2015-03-11 2016-09-15 Qualcomm Incorporated Farewell reset and restart method for coexistence of legacy and next generation devices over a shared multi-mode bus
US9996483B2 (en) * 2015-04-10 2018-06-12 Qualcomm Incorporated N-base numbers to physical wire states symbols translation method
US20160335213A1 (en) * 2015-05-13 2016-11-17 Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd. Motherboard with multiple interfaces
US9727506B2 (en) 2015-10-01 2017-08-08 Sony Corporation Communication system, communication system control method, and program
JP2018534847A (ja) * 2015-10-05 2018-11-22 クゥアルコム・インコーポレイテッドQualcomm Incorporated マルチレーンn階乗符号化通信システムおよび他のマルチワイヤ通信システム
MX2018008949A (es) * 2016-02-26 2018-09-03 Micro Motion Inc Metodo de comunicacion con dos o mas esclavos.
US10331592B2 (en) * 2016-05-28 2019-06-25 Silicon Laboratories Inc. Communication apparatus with direct control and associated methods
US20170371830A1 (en) * 2016-06-28 2017-12-28 Qualcomm Incorporated Accelerated i3c master stop
US20180062887A1 (en) * 2016-08-24 2018-03-01 Qualcomm Incorporated Using full ternary transcoding in i3c high data rate mode
US10713199B2 (en) * 2017-06-27 2020-07-14 Qualcomm Incorporated High bandwidth soundwire master with multiple primary data lanes
US10599606B2 (en) 2018-03-29 2020-03-24 Nvidia Corp. 424 encoding schemes to reduce coupling and power noise on PAM-4 data buses
US11159153B2 (en) 2018-03-29 2021-10-26 Nvidia Corp. Data bus inversion (DBI) on pulse amplitude modulation (PAM) and reducing coupling and power noise on PAM-4 I/O
US11966348B2 (en) 2019-01-28 2024-04-23 Nvidia Corp. Reducing coupling and power noise on PAM-4 I/O interface
US10657094B2 (en) 2018-03-29 2020-05-19 Nvidia Corp. Relaxed 433 encoding to reduce coupling and power noise on PAM-4 data buses
US10768228B2 (en) * 2018-04-05 2020-09-08 Nxp B.V. Communication circuitry integrity assessment
US10623200B2 (en) 2018-07-20 2020-04-14 Nvidia Corp. Bus-invert coding with restricted hamming distance for multi-byte interfaces
TWI741417B (zh) * 2019-11-28 2021-10-01 旺玖科技股份有限公司 積體電路匯流排即時偵測連接狀態的裝置及方法
EP4198608A4 (en) * 2020-09-07 2024-02-28 Samsung Electronics Co., Ltd. ELECTRONIC DEVICE WITH REDUCED CAMERA SIGNAL LINES

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09503610A (ja) * 1994-06-27 1997-04-08 マイクロチップ テクノロジー インコーポレイテッド データストリームモード切換機能を備えたメモリ装置
JP2001024712A (ja) * 1999-06-15 2001-01-26 Koninkl Philips Electronics Nv 並列システムをデータ・ストローブ型の送受信器とインタフェース接続するための伝送システム、送信器、受信器、及びインタフェース装置
US6574233B1 (en) * 1999-04-09 2003-06-03 Avaya Technology Corp. Arrangement for redefining an interface while maintaining backwards compatibility
JP2009163531A (ja) * 2008-01-08 2009-07-23 Fujitsu Microelectronics Ltd 割り込み管理機構およびマイクロコンピュータ
US20110122978A1 (en) * 2008-05-30 2011-05-26 Continental Teves Ag & Co, Ohg Serial peripheral interface having a reduced number of connecting lines
JP2012142690A (ja) * 2010-12-28 2012-07-26 Sony Corp 電子機器、電子機器の制御方法、送信装置および受信装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3750021A (en) 1971-06-14 1973-07-31 Gte Automatic Electric Lab Inc Data transmission employing correlative nonbinary coding where the number of bits per digit is not an integer
DE19637302A1 (de) 1996-09-13 1998-04-02 Dtm Data Telemark Gmbh Verfahren und Vorrichtung zur Vergrößerung der Reichweite des Übertragungsweges zwischen Funktionseinheiten des ISDN-Teilnehmeranschlusses mit einer minimierten Bandbreite
GB9903900D0 (en) * 1999-02-19 1999-04-14 Digital Gramaphone And Wireles Data encoding/decoding device and apparatus using the same
DE10008081B4 (de) 2000-02-22 2004-02-05 Siemens Ag Serielles Bussystem
US7835520B2 (en) * 2003-02-20 2010-11-16 Zoran Corporation Unique identifier per chip for digital audio/video data encryption/decryption in personal video recorders
US8301810B2 (en) * 2004-12-21 2012-10-30 Infortrend Technology, Inc. SAS storage virtualization controller, subsystem and system using the same, and method therefor
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
DE102007004044B4 (de) * 2007-01-22 2009-09-10 Phoenix Contact Gmbh & Co. Kg Verfahren und Anlage zur optimierten Übertragung von Daten zwischen einer Steuereinrichtung und mehreren Feldgeräten
JP4407724B2 (ja) 2007-06-18 2010-02-03 ソニー株式会社 記録再生装置、記録再生方法、再生装置、再生方法
EP2028797B1 (de) * 2007-08-23 2010-02-24 Siemens Aktiengesellschaft Verfahren zur Datenübertragung
US8725208B2 (en) 2008-11-05 2014-05-13 Pixart Imaging Inc. Serial transmission interface between an image sensor and a baseband circuit
CN101938433A (zh) * 2009-07-03 2011-01-05 南京壹进制信息技术有限公司 高效有线通讯方法
JP2011041059A (ja) 2009-08-12 2011-02-24 Sony Corp 符号化装置、情報処理装置、符号化方法、及びデータ伝送方法
CN103141066B (zh) * 2010-10-12 2015-06-10 松下电器产业株式会社 发送电路、接收电路、发送方法、接收方法、通信***及其通信方法
TWI581105B (zh) * 2010-10-29 2017-05-01 威盛電子股份有限公司 積體電路及其控制方法
US8898358B2 (en) * 2012-07-04 2014-11-25 International Business Machines Corporation Multi-protocol communication on an I2C bus
US9582457B2 (en) 2013-06-12 2017-02-28 Qualcomm Incorporated Camera control interface extension bus

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09503610A (ja) * 1994-06-27 1997-04-08 マイクロチップ テクノロジー インコーポレイテッド データストリームモード切換機能を備えたメモリ装置
US6574233B1 (en) * 1999-04-09 2003-06-03 Avaya Technology Corp. Arrangement for redefining an interface while maintaining backwards compatibility
JP2001024712A (ja) * 1999-06-15 2001-01-26 Koninkl Philips Electronics Nv 並列システムをデータ・ストローブ型の送受信器とインタフェース接続するための伝送システム、送信器、受信器、及びインタフェース装置
JP2009163531A (ja) * 2008-01-08 2009-07-23 Fujitsu Microelectronics Ltd 割り込み管理機構およびマイクロコンピュータ
US20110122978A1 (en) * 2008-05-30 2011-05-26 Continental Teves Ag & Co, Ohg Serial peripheral interface having a reduced number of connecting lines
JP2012142690A (ja) * 2010-12-28 2012-07-26 Sony Corp 電子機器、電子機器の制御方法、送信装置および受信装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021117646A1 (ja) * 2019-12-12 2021-06-17 ソニーセミコンダクタソリューションズ株式会社 通信装置および通信システム

Also Published As

Publication number Publication date
EP3008609A1 (en) 2016-04-20
CA2911401A1 (en) 2014-12-18
TW201506634A (zh) 2015-02-16
CN105283862A (zh) 2016-01-27
EP3008610A1 (en) 2016-04-20
US20140372642A1 (en) 2014-12-18
US9582457B2 (en) 2017-02-28
CN105283862B (zh) 2018-08-14
EP3008610B1 (en) 2017-08-30
JP6257757B2 (ja) 2018-01-10
KR20160018781A (ko) 2016-02-17
TWI607318B (zh) 2017-12-01
CA2911404A1 (en) 2014-12-18
US9811499B2 (en) 2017-11-07
US20170220518A1 (en) 2017-08-03
WO2014201293A1 (en) 2014-12-18
US20140372644A1 (en) 2014-12-18
EP3008609B1 (en) 2017-08-30
CN105283863A (zh) 2016-01-27
US9552325B2 (en) 2017-01-24
US20140372643A1 (en) 2014-12-18
KR20160019103A (ko) 2016-02-18
WO2014201289A1 (en) 2014-12-18
US9639499B2 (en) 2017-05-02
KR101790900B1 (ko) 2017-10-26
JP2016528589A (ja) 2016-09-15

Similar Documents

Publication Publication Date Title
JP6257757B2 (ja) カメラ制御インターフェース拡張バス
US9852104B2 (en) Coexistence of legacy and next generation devices over a shared multi-mode bus
JP6411480B2 (ja) CCIeプロトコルを介したエラー検出能力
JP2017520053A (ja) マルチプロトコルデバイスによって共有される動的調整可能なマルチラインバス
KR20160147842A (ko) 센서 글로벌 버스
US20150220472A1 (en) Increasing throughput on multi-wire and multi-lane interfaces
JP2017500631A (ja) 複数のスレーブデバイス識別子を有するカメラ制御スレーブデバイス
JP2017511044A (ja) エラー検出最適化を容易にするための共有バスを介したビット割振り
KR20160066029A (ko) 저전력 카메라 제어 인터페이스 버스 및 디바이스들
JP2018513635A (ja) Nベース数から物理線状態シンボルへの転換方法
WO2016069944A1 (en) Simultaneous edge toggling immunity circuit for multi-mode bus
US9490964B2 (en) Symbol transition clocking clock and data recovery to suppress excess clock caused by symbol glitch during stable symbol period
JP2017501493A (ja) レシーバクロックのみを用いるCCIeレシーバ論理レジスタ書込み

Legal Events

Date Code Title Description
A529 Written submission of copy of amendment under article 34 pct

Free format text: JAPANESE INTERMEDIATE CODE: A529

Effective date: 20151209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170525

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180702

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181002

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190401

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20190902