JP2016541211A - 低電力カメラ制御インターフェースバスおよびデバイス - Google Patents

低電力カメラ制御インターフェースバスおよびデバイス Download PDF

Info

Publication number
JP2016541211A
JP2016541211A JP2016546739A JP2016546739A JP2016541211A JP 2016541211 A JP2016541211 A JP 2016541211A JP 2016546739 A JP2016546739 A JP 2016546739A JP 2016546739 A JP2016546739 A JP 2016546739A JP 2016541211 A JP2016541211 A JP 2016541211A
Authority
JP
Japan
Prior art keywords
symbols
bus
ccie
transmitted
clock
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
JP2016546739A
Other languages
English (en)
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 JP2016541211A publication Critical patent/JP2016541211A/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/4295Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
    • 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/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

カメラ制御インターフェースバスからデータおよびクロックを抽出するためのシステム、方法、および装置について説明する。シンボルをバス上で送信中である間に、送信クロックが生成され得、シンボルをバスから受信しているとき、受信クロックが抽出され得る。装置がシンボルを送信中または受信中ではないとき、ハートビートクロックが、バス上で送信されるシンボルから抽出され得る。送信クロックは、バスのコネクタの対上での送信のためのシンボルのシーケンス内でデータを符号化するために使用され得る。受信クロックは、バス上で送信されるシンボル間で発生する遷移を検出すること、および、その遷移に基づいて、受信クロックを生成することによって抽出され得る。ハートビートクロックは、装置の動作を制御するため、または、装置の1つまたは複数の機能を同期させるために使用され得る。ハートビートクロックは、バス上で送信される制御ワード内で符号化され得る。

Description

関連出願の相互参照
本出願は、その内容全体が参照により本明細書に組み込まれる、2013年10月7日に出願された米国仮特許出願第61/887,891号、および2014年9月12日に出願された米国非仮特許出願第14/485,627号の優先権および利益を主張する。
本開示は、一般に高速データ通信インターフェースに関し、より詳細には、カメラ制御通信リンクにおけるクロック復元および管理に関する。
セルラー電話など、モバイルデバイスの製造業者は、モバイルデバイスの構成要素を、異なる製造業者を含む様々なソースから取得し得る。たとえば、セルラー電話におけるアプリケーションプロセッサが第1の製造業者から取得されることがあり、一方、セルラー電話のカメラが第2の製造業者から取得され得る。アプリケーションプロセッサおよびカメラまたは他のデバイスは、標準ベースのまたはプロプライエタリな物理インターフェースを使用して相互接続され得る。たとえば、カメラは、モバイル業界プロセッサインターフェースアライアンス(MIPI)によって指定されたカメラシリアルインターフェース規格に準拠するインターフェースを提供し得る。
MIPI規格は、マスタおよび1つまたは複数のスレーブを接続するバスとして構成された、2線式、双方向、半二重のシリアルインターフェースを使用する、カメラ制御インターフェース(CCI)を定義する。従来のCCIは、Inter-Integrated Circuit(I2C)バス上の通信のために使用されるいくつかのプロトコルと互換性があり、CCIは、単一のマスタを用いて、バス上で複数のスレーブを扱うことが可能である。CCIバスは、シリアルクロック(SCL)ラインおよびシリアルデータ(SDA)ラインを含み得る。
カメラなどのデバイスの使用は、高ビットレート通信インターフェースの使用を必要とし得る。多くの場合、高ビットレート通信インターフェースをサポートする送信機クロックの生成および使用は、カメラとコロケートされた処理システムによる電力消費を著しく増大させる結果となる。したがって、電力が低減された高速通信能力を提供する必要性が継続して存在する。
本明細書で開示する実施形態は、改善された低電力性能および他の能力を有する通信リンクから、クロック情報およびデータを抽出するためのシステム、方法、および装置を提供する。通信リンクに結合され、本明細書で開示するいくつかの態様に従って適応されたデバイスは、電力消費を低減するために、アイドルモードで動作するとき、内部クロックソースを中止または無効化することができる。これらのデバイスは、通信リンクから受信または導出されたクロック信号を使用して、ある程度まで動作し、いくつかの機能を維持し続けることができる。場合によっては、通信リンクに結合されたデバイスは、内部クロックソースを有していないことがあり、通信リンクから受信または導出されたクロック信号に依拠することができる。
本明細書で開示するいくつかの態様によれば、CCI拡張(CCIe)バスは、CCIeバスに結合されたスレーブデバイスが、CCIeバスのシンボル送信レートよりも著しく低い周波数を有するハートビートクロックを抽出することができるように、アイドルモードで動作され得る。アイドルモードでは、マスタデバイスは、CCIeプロトコルに整合するハートビートワードを反復的に、および、アイドルにされたスレーブデバイスがより低い周波数のハートビートクロックをCCIeバスから抽出することを可能にする方法で、送信することができる。
本開示のいくつかの態様は、マスタデバイスによってシリアルバス上で実施され得るデータ通信の方法に関する。この方法は、第1の複数のワードを、第1の動作モード中にCCIeバス上で第1のレートで送信するステップであって、第1の複数のワードはデータまたは制御情報を含むステップと、あらかじめ定義された制御ワードを、第2の動作モード中にCCIeバス上で第2のレートで反復的に送信するステップとを含み得る。第2の複数のワードは、第2の動作モードの終了時にCCIeバス上で第1のレートで送信され得る。第2のレートは、第1のレートよりも低くてよい。CCIeバス上で送信される各ワードは、シンボルのシーケンス内で送信され得、そこで、シンボルのシーケンス内の連続するシンボルの各対は、2つの異なるシンボルを含む。受信機は、2つ以上のシンボルがCCIeバス上で送信されるとき、CCIeバスのシグナリング状態における遷移から受信クロックを抽出するように構成され得る。
本開示の一態様では、あらかじめ定義された制御ワードは、CCIeバス上で送信されるあらかじめ定義された制御ワードごとに、単一のパルスがCCIeバスの第1の線上で送信されることを引き起こすことができる。
本開示の一態様では、第2のレートは、あらかじめ定義された制御ワードに対応するシンボルのシーケンス内のシンボルのグループ間に遅延を導入することによって取得される。この遅延は、CCIeバスの両方の線が各遅延の持続時間にわたって駆動されないように、シンボルのグループ間に導入され得る。
本開示の一態様では、あらかじめ定義された制御ワードを送信するステップは、CCIeバスのシグナリング状態における同期パターンを生成する。あらかじめ定義された制御ワードを送信するステップは、あらかじめ定義された制御ワードに対応するシンボルのシーケンスを、シンボルのグループとして送信するステップを含み得る。連続するシンボルのグループの各対は、遅延によって分離され得る。各シンボルのグループは、パルスがCCIeバスの第1の線上で送信されることを引き起こすことができ、パルスが第1の線上で送信される間に、CCIeバスの第2の線のシグナリング状態が不変のままであることを引き起こすことができる。
本開示の一態様では、あらかじめ定義された制御ワードを送信するステップは、あらかじめ定義された制御ワードに対応するシンボルのシーケンスを、3シンボルのグループに分割するステップを含む。各3シンボルのグループが、第1のシンボル送信レートでCCIeバス上で送信され得、次いで、次の3シンボルのグループ内の第1のシンボルの送信が、遅延され得る。第1の複数のワードを送信するステップは、第1の複数のワードに対応するシンボルのシーケンスを、第1のシンボル送信レートで送信するステップを含み得る。
本開示の一態様では、シンボルのシーケンス内の各シンボルは、シンボルがCCIeバス上で送信される間に、CCIeバスの少なくとも2本の線のシグナリング状態を決定する。
本開示のいくつかの態様は、CCIeバス上でマスタデバイスとして動作するように構成または適応され得る装置に関する。この装置は、第1の複数のワードを、第1の動作モード中にCCIeバス上で第1のレートで送信することであって、第1の複数のワードはデータまたは制御情報を含むこと、あらかじめ定義された制御ワードを、第2の動作モード中にCCIeバス上で第2のレートで反復的に送信すること、および、第2の複数のワードを、第2の動作モードの終了時にCCIeバス上で第1のレートで送信することを行うように構成された、処理回路を含み得る。第2のレートは、第1のレートよりも低くてよい。CCIeバス上で送信される各ワードは、シンボルのシーケンス内で送信され得、そこで、シンボルのシーケンス内の連続するシンボルの各対は、2つの異なるシンボルを含む。受信機は、2つ以上のシンボルがCCIeバス上で送信されるとき、CCIeバスのシグナリング状態における遷移から受信クロックを抽出するように構成され得る。
本開示のいくつかの態様は、CCIeバス上でマスタデバイスとして動作するように構成または適応され得る装置に関する。この装置は、第1の複数のワードを、第1の動作モード中にCCIeバス上で第1のレートで送信するための手段であって、第1の複数のワードはデータまたは制御情報を含む手段と、あらかじめ定義された制御ワードを、第2の動作モード中にCCIeバス上で第2のレートで反復的に送信するための手段と、第2の複数のワードを、第2の動作モードの終了時にCCIeバス上で第1のレートで送信するための手段とを含み得る。第2のレートは、第1のレートよりも低くてよい。CCIeバス上で送信される各ワードは、シンボルのシーケンス内で送信され得、そこで、シンボルのシーケンス内の連続するシンボルの各対は、2つの異なるシンボルを含む。受信機は、2つ以上のシンボルがCCIeバス上で送信されるとき、CCIeバスのシグナリング状態における遷移から受信クロックを抽出するように構成され得る。
本開示のいくつかの態様は、命令およびデータを含むか、または維持することができる、記憶媒体に関する。一例では、記憶媒体は、非一時的記憶媒体を含む。実行されるとき、命令は、第1の複数のワードを、第1の動作モード中にCCIeバス上で第1のレートで送信することであって、第1の複数のワードはデータまたは制御情報を含むこと、あらかじめ定義された制御ワードを、第2の動作モード中にCCIeバス上で第2のレートで反復的に送信すること、および、第2の複数のワードを、第2の動作モードの終了時にCCIeバス上で第1のレートで送信することを、1つまたは複数のプロセッサに行わせることができる。第2のレートは、第1のレートよりも低くてよい。CCIeバス上で送信される各ワードは、シンボルのシーケンス内で送信され得、そこで、シンボルのシーケンス内の連続するシンボルの各対は、2つの異なるシンボルを含む。受信機は、2つ以上のシンボルがCCIeバス上で送信されるとき、CCIeバスのシグナリング状態における遷移から受信クロックを抽出するように構成され得る。
本開示のいくつかの態様は、シリアルバス上でスレーブデバイスによって実施され得るデータ通信の方法に関する。この方法は、送信動作モードである間に、送信クロックを生成するステップと、別のデバイスがCCIeバス上で情報を送信中である間に、CCIeバスのシグナリング状態における遷移から受信クロックを抽出するステップと、休止またはアイドル動作モード中に、少なくとも1つのクロック信号を生成することをやめるステップと、受信クロックを使用して、休止またはアイドル動作モード中に、スレーブデバイスの1つまたは複数の動作を制御するステップとを含み得る。送信クロックは、CCIeバスのコネクタの対上で送信されるべきシンボルのシーケンス内でデータまたは制御情報を符号化するために使用され得る。CCIeバス上で送信される連続するシンボルの各対は、2つの異なるシンボルを含み得る。
本開示の一態様では、この方法は、スレーブデバイスがシンボルをCCIeバス上で送信中ではないとき、送信クロックを生成することをやめるステップを含む。
本開示の一態様では、受信クロックは、データまたは制御情報がCCIeバスの2つのノード間で送信されるときよりも、CCIeバスがアイドル動作モードであるときにより長い周期を有する。
本開示の一態様では、受信クロックを抽出するステップは、CCIeバスがアイドル動作モードであるとき、CCIeバス上で送信されるシンボルからハートビートクロックを抽出するステップを含む。ハートビートクロックは、あらかじめ定義された制御ワードに対応するシンボルのシーケンスから抽出され得る。ハートビートクロックは、データまたは制御情報がCCIeバスの2つのノード間で送信されるとき、CCIeバスから抽出された受信クロックよりも低い周波数を有し得る。
本開示の一態様では、同期パターンが、CCIeバスのシグナリング状態の遷移において決定され得る。同期パターンは、CCIeバスがアイドル動作モードであるとき、CCIeバス上で送信されるあらかじめ定義された制御ワードに対応するシンボルのシーケンスによって生成され得る。
本開示のいくつかの態様は、CCIeバス上でスレーブデバイスとして動作するように構成または適応され得る装置に関する。この装置は、送信動作モードである間に、送信クロックを生成すること、別のデバイスがCCIeバス上で情報を送信中である間に、CCIeバスのシグナリング状態における遷移から受信クロックを抽出すること、休止またはアイドル動作モード中に、少なくとも1つのクロック信号を生成することをやめること、および、受信クロックを使用して、休止またはアイドル動作モード中に1つまたは複数の動作を制御することを行うように構成された、処理回路を含み得る。送信クロックは、CCIeバスのコネクタの対上で送信されるべきシンボルのシーケンス内でデータまたは制御情報を符号化するために使用され得る。CCIeバス上で送信される連続するシンボルの各対は、2つの異なるシンボルを含み得る。
本開示のいくつかの態様は、CCIeバス上でスレーブデバイスとして動作するように構成または適応され得る装置に関する。この装置は、送信動作モードである間に、送信クロックを生成するための手段と、別のデバイスがCCIeバス上で情報を送信中である間に、CCIeバスのシグナリング状態における遷移から受信クロックを抽出するための手段と、休止動作モード中に、少なくとも1つのクロック信号を生成することをやめるための手段と、受信クロックを使用して、休止動作モード中に1つまたは複数の動作を制御するための手段とを含み得る。送信クロックは、CCIeバスのコネクタの対上で送信されるべきシンボルのシーケンス内でデータまたは制御情報を符号化するために使用され得る。CCIeバス上で送信される連続するシンボルの各対は、2つの異なるシンボルを含み得る。
本開示のいくつかの態様は、命令およびデータを含むか、または維持することができる、記憶媒体に関する。一例では、記憶媒体は、非一時的記憶媒体を含む。実行されるとき、命令は、送信動作モードである間に、送信クロックを生成すること、別のデバイスがCCIeバス上で情報を送信中である間に、CCIeバスのシグナリング状態における遷移から受信クロックを抽出すること、休止またはアイドル動作モード中に、少なくとも1つのクロック信号を生成することをやめること、および、受信クロックを使用して、休止またはアイドル動作モード中に1つまたは複数の動作を制御することを、1つまたは複数のプロセッサに行わせることができる。送信クロックは、CCIeバスのコネクタの対上で送信されるべきシンボルのシーケンス内でデータまたは制御情報を符号化するために使用され得る。CCIeバス上で送信される連続するシンボルの各対は、2つの異なるシンボルを含み得る。
複数の利用可能な規格のうちの1つに従って選択的に動作する、ICデバイス間のデータリンクを採用する装置を示す図である。 ICデバイス間のデータリンクを採用する装置のためのシステムアーキテクチャを示す図である。 I2Cの1バイト書込みデータ動作を示すタイミング図である。 CCIeプロトコルによるシリアルバス上のデータ送信の一例を示すタイミングチャートである。 本明細書で開示するいくつかの態様による送信機および受信機のいくつかの態様を示す図である。 本明細書で開示するいくつかの態様による、データをトランスコードするための符号化方式を示す図である。 CCIeプロトコルのいくつかの態様の簡略化された例を示す図である。 本明細書で開示するいくつかの態様によって適応された受信機において使用され得る、クロックおよびデータ復元回路の一例を示す図である。 本明細書で開示する1つまたは複数の態様による、クロックおよびデータ復元回路によって生成されたいくつかの信号のタイミングを示す図である。 本明細書で開示する1つまたは複数の態様によって与えられたハートビートクロックのいくつかの態様を示す図である。 本明細書で開示する1つまたは複数の態様による、CCIeバス上で送信されるシンボル内のハートビートワードの符号化を示す図である。 本明細書で開示する1つまたは複数の態様による、ハートビートワードを使用して生成されたハートビートクロックを示す図である。 本明細書で開示する1つまたは複数の態様によって与えられたハートビートクロックを使用する同期のためのプロセスを示す第1の状態図である。 本明細書で開示する1つまたは複数の態様によって与えられたハートビートクロックを使用して与えられた同期ワードを模倣することができる、送信シーケンスの一例を示す図である。 本明細書で開示する1つまたは複数の態様によって与えられたハートビートクロックを使用する同期のためのプロセスを示す第2の状態図である。 本明細書で開示するいくつかの態様によって適応され得る処理回路を採用する装置の一例を示すブロック図である。 本明細書で開示する1つまたは複数の態様による、CCIeマスタデバイスによって実施されるデータ通信のための方法のフローチャートである。 本明細書で開示する1つまたは複数の態様による、CCIeマスタデバイスのためのハードウェア実装形態の一例を示す図である。 本明細書で開示する1つまたは複数の態様による、CCIeスレーブデバイスによって実施されるデータ通信のための方法のフローチャートである。 本明細書で開示する1つまたは複数の態様による、CCIeスレーブデバイスのためのハードウェア実装形態の一例を示す図である。
次に、様々な態様について図面を参照して説明する。以下の説明では、説明の目的で、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つまたは複数を使用して実装され得る。処理回路102はまた、構成要素の中でも、アンテナ122、ディスプレイ124などの外部デバイス、ボタン128およびキーパッド126などのオペレータ制御に動作可能に結合され得る。
図2は、通信バスに接続された装置200のいくつかの態様を示すブロック概略図であり、この場合、装置は、ワイヤレスモバイルデバイス、モバイル電話、モバイルコンピューティングシステム、ワイヤレス電話、ノートブックコンピュータ、タブレットコンピューティングデバイス、メディアプレーヤ、ゲーミングデバイス、ウェアラブルコンピューティングデバイス、アプライアンス、車両などのうちの1つまたは複数において実施され得る。装置200は、シリアルバス230を使用して通信する複数のデバイス202、220、および222a〜222nを含み得る。本明細書で開示するいくつかの態様によれば、デバイス202、220、および/または222a〜222nのうちの2つ以上は、CCIe動作モードでシリアルバス230を使用するように構成または適応され得る。CCIe動作モードでは、シリアルバス230は、CCIeバス230と呼ばれ得る。CCIeバス230は、CCIeバス動作と互換性があるデバイス202、220、および/または222a〜222n間のより高いデータ転送レートを与えることができる。そのようなデバイス202、220、および/または222a〜222nは、CCIeデバイスと呼ばれ得る。CCIeデバイス202、220、および/または222a〜222nは、従来のCCIバスまたはI2CバスのSCLラインとSDAラインの両方上で送信されるシンボルとしてデータを符号化することによって、互いに通信するとき、より高いデータレートを達成することができる。CCIeデバイス、CCIおよび/またはI2Cデバイスは、同じCCIeバス230上で共存することができる。たとえば、データは、第1の時間間隔においてCCIe符号化を使用して送信されてよく、他のデータは、異なる時間間隔においてI2Cシグナリングコンベンションに従って送信されてよい。
CCIeバス230は、CCIeバス230によってサポートされる強化された機能のために構成されるデバイスのために、従来のI2CまたはCCIバスの能力を拡張することができる。たとえば、CCIeバス230は、I2CまたはCCIバスよりも高いビットレートをサポートすることができる。本明細書で開示するいくつかの態様によれば、CCIeバス230のいくつかのバージョンは、16.7Mbps以上のビットレートをサポートするように構成または適応されてよく、CCIeバス230のいくつかのバージョンは、少なくとも23メガビット毎秒のデータレートをサポートするように構成または適応され得る。
装置200は、カメラを含んでよく、かつ/またはいくつかのカメラ動作を制御するように構成され得る。一例では、イメージングデバイス202は、CCIeバス230上でスレーブデバイスとして動作するように構成される。イメージングデバイス202は、たとえば、イメージセンサーを管理するセンサー制御機能204を提供するように適応され得る。加えて、イメージングデバイス202は、構成レジスタまたは他のストレージ206と、制御論理212と、トランシーバ210と、ラインドライバ/受信機214aおよび214bとを含み得る。制御論理212は、状態機械、シーケンサ、信号プロセッサ、または汎用プロセッサなどの処理回路を含み得る。トランシーバ210は、受信機210aと、送信機210cと、タイミング、論理、およびストレージの回路および/またはデバイスを含む共通回路210bとを含み得る。一例では、送信機210cは、クロック生成回路208によって与えられたタイミングに基づいて、データを符号化および送信する。
センサーデバイス202は典型的に125MHz以上のクロックを必要しないか、または使用しないので、従来のイメージングデバイス204は、CCIeバス230の示されたビットレートをデバイス202が達成することを可能にするために十分高い周波数を有するクロックへのアクセスを有さなくてよい。しかしながら、本明細書で開示するいくつかの態様によれば、受信機210aは、高周波クロックの必要性を除去し、それによってアイドル期間中に電力を節約することができる、アナログ遅延回路を使用して、受信された送信から直接クロック信号を生成することによって、CCIeバス230から受信クロックを抽出するように構成または適応され得る。
図3は、シリアルバス230がI2Cプロトコルに従って動作させられるとき、1バイト書込みデータ動作の一例を示すタイミング図300である。各I2C送信320は、シリアルバス230上でアサートされる開始条件306とともに開始し、停止条件316がシリアルバス230上でアサートされるとき、終了する。開始条件306は、SCL信号線216が高状態で保持される間にSDA信号線218が低に遷移するとき、アサートされる。停止条件316は、SCL信号線216が高状態で保持される間にSDA信号線218が高に遷移するとき、アサートされる。I2Cプロトコルによれば、SDA信号線218上の遷移は、開始条件306および停止条件316を除いて、SCL信号線216が低であるときに発生する。
典型的なI2C動作では、I2Cマスタノードは、I2Cバス上のどのスレーブノードにマスタノードがアクセスすることを望むかを示すために、SDA信号線218上で7ビットのスレーブID302と、続いて、動作が読取り動作であるか、書込み動作であるかを示す、読取り/書込みビット312とを送り、それによって、読取り/書込みビット312は、書込み動作を示すために論理0にあり、読取り動作を示すために論理1にある。IDが7ビットのスレーブID302と一致するスレーブノードのみが、書込み(または、任意の他の)動作に応答することを許可される。I2Cスレーブノードがそれ自体のID302を検出するために、マスタノードは、SCLライン216上の8個のクロックパルスとともに、SDAライン218上に少なくとも8ビットを送信する。レガシーI2CスレーブノードがCCIe動作に反応することを防止するために、CCIe動作モードでデータを送信するようにこの挙動を活用することができる。
図4は、CCIeプロトコルに従って、および、2つ以上の通信するデバイス202、220、222a〜222nがCCIeプロトコルに従って通信するように構成または適応されるとき、動作させられるシリアルバス230上のデータ送信を示すタイミング図400である。CCIe動作モードでは、データは、CCIeバス230の信号線216、218上で連続的に送信される2ビットシンボルのセットに符号化される。シンボル402および404のシーケンスは、連続する送信間隔406、408において送信され得る。シンボル402、404の各シーケンスは、開始条件416、418、420によって先行される。開始条件416、418、420は、SCL信号線216が高状態で保持される間にSDA信号線218が低に遷移するとき、アサートされる。CCIeプロトコルによれば、SDA信号線218上の遷移は、シンボル402、404のシーケンスが送信されているとき、遷移がSCL信号線216上で発生するのと同時に発生し得る。開始条件416、418、420は、2つのシンボル間隔を占有し得る。
図示の例では、シンボル402、404の各シーケンスは、12シンボルを含み、16ビットのデータと3ビットのオーバーヘッドとを含み得る20ビットのデータ要素を符号化する。12シンボル402、404のシーケンス内の各シンボルは、シンボル期間(tsym)410ごとにSDA信号線218およびSCL信号線216のシグナリング状態を定義する。一例では、信号線216、218を駆動するために使用されるプッシュプルドライバ214a、214bは、20MHzシンボルクロックを使用して、50ns持続時間のシンボル期間410をサポートすることができる。{3,1}として示され得る、2シンボルシーケンスが、開始条件418を与えるために、シンボル402および404の連続するシーケンス間の期間414において送信される。得られた14シンボル送信(12シンボルペイロードおよび開始条件416、418、または420)では、第1の送信406の開始と第2の送信408の開始との間の最小経過時間412は、次のように計算され得る。
tword=14×tsym=700ns
したがって、16個のデータビットが各12シンボルワード406、408において送信されるので、20ビットは700nsごとに送信されてよく、約28.6Mbpsの未加工のビットレートおよび約22.86Mbpsの有用なビットレートを生じる。
図5は、本明細書で開示するいくつかの態様に従って構成された送信機500および受信機520の一例を示すブロック図である。CCIeの動作の場合、送信機500は、データ510を3進(ベース3)遷移番号512にトランスコードすることができ、3進遷移番号512は、SCL216およびSDA218の信号線上の送信のためのシンボルを選択するために使用される。図示の例では、入力データ510の各(データワードとも呼ばれる)データ要素は、19ビットまたは20ビットを有し得る。トランスコーダ502は、入力データ510を受信し、データ要素ごとに3進数512のシーケンスを生成することができる。3進数512は、2ビットにおいて符号化されてよく、各3進シーケンス512内に12個の3進数があり得る。エンコーダ504は、ラインドライバ506を通して送信される2ビットシンボル514のストリームを生成する。図示の例では、ラインドライバ506は、オープンドレイン出力トランジスタ508を含む。しかしながら、他の例では、ラインドライバ506は、プッシュプルドライバ(図2におけるドライバ214a、214bなど)を使用して、SCL216およびSDA218の信号線を駆動することができる。遷移は、2ビットシンボル514の出力ストリーム内の連続するシンボル間で、SCL信号線216およびSDA信号線218のうちの少なくとも1つの状態において与えられる。エンコーダ504は、連続するシンボルのどの対も2つの等しいシンボルを含まないことを保証することによって、連続するシンボル514間で遷移を与えることができる。少なくとも1つの線216および/または218における状態の遷移の利用可能性により、受信回路520がデータシンボル514のストリームから受信クロック538を抽出することが可能になる。
CCIeシステムでは、受信機520は、クロックおよびデータ復元回路(CDR)528を含むか、またはそれと協働する場合がある。受信機520は、CDR528に未加工の2ビットシンボル536のストリームを与えるラインインターフェース回路526を含み得る。CDR528は、未加工のシンボル536から受信クロック538を抽出し、受信クロック538とともに2ビットシンボル534のストリームを、受信機520の他の回路524および522に与える。いくつかの例では、CDR528は、複数のクロック538を生成することができる。デコーダ524は、受信クロック538を使用して、シンボル534のストリームを12個の3進数532のシーケンスに復号することができる。3進数532は、2ビットを使用して符号化され得る。次いで、トランスコーダ522は、12個の3進数532の各シーケンスを19ビットまたは20ビットの出力データ要素530に変換することができる。
図6は、CCIeバス230上の送信のためのクロック情報が埋め込まれたシンボル514のシーケンスを生成するために、エンコーダ504によって使用され得る符号化方式600を示す図である。符号化方式600はまた、CCIeバス230から受信されたシンボルから3進遷移番号を抽出するために、デコーダ524によって使用され得る。CCIe符号化方式600では、CCIeバス230の2本の線216、218により、4つの基本シンボルS:{0,1,2,3}の定義が可能になる。シンボル514、534のシーケンス内の任意の2つの連続するシンボルは、様々な状態を有し、シンボルシーケンス{0,0}、{1,1}、{2,2}および{3,3}は、連続するシンボルの無効な組合せである。したがって、各シンボル境界で3つのみの有効なシンボル遷移が可能であり、ここで、シンボル境界は送信クロックによって決定され、第1のシンボル(前のシンボルPs)622が終了し、第2のシンボル(現在のシンボルCs)624が開始するポイントを表す。
本明細書で開示するいくつかの態様によれば、3つの利用可能な遷移は、Psシンボル622ごとに遷移番号(T)626を割り当てられる。T626の値は、3進数によって表され得る。一例では、遷移番号626の値は、符号化方式用のシンボル順序付けサークル602を割り当てることによって決定される。シンボル順序付けサークル602は、4つの可能なシンボル用のサークル602上のロケーション604a〜604dと、ロケーション604a〜604dの間の回転の方向606とを割り振る。図示の例では、回転の方向606は時計回りである。遷移番号626は、有効な現在のシンボル624と直前のシンボル622との間の分離を表すことができる。分離は、前のシンボル622から現在のシンボルCs624に到達するために必要とされる、シンボル順序付けサークル602上の回転の方向606に沿ったステップの数として定義され得る。ステップの数は、単一の桁の3進数として表現することができる。シンボル間の3ステップの差分は、0base-3として表すことができることが諒解されよう。図6のテーブル620は、この手法を採用する符号化方式を要約する。
送信機500において、前に生成されたシンボル622、および遷移番号626として使用される入力3進数を知ると、テーブル620は、送信されるべき現在のシンボル624をルックアップするために使用され得る。受信機520において、テーブル620は、前に受信されたシンボル622と現在受信されたシンボル624との間の遷移を表す遷移番号626を決定するためのルックアップとして使用され得る。遷移番号626は、3進数として出力することができる。
引き続き図4〜図6を参照すると、複数ビットのデータ510が、シリアルバス230上の単一の送信間隔406、408における送信のために、シンボル514のシーケンス内で符号化され得る。一例では、20ビットのデータ510は、2シンボル開始条件416によって先行される12シンボル514、402、404のシーケンス内で符号化され得る。各送信402、404のペイロードの内容は、CCIeプロトコルによって決定および/または制御されてよく、CCIeプロトコルは、シリアルバス230を介した信頼できる通信を保証するための送信および制御機構のタイプを定義することができる。
図7は、CCIeプロトコル700のいくつかの態様の簡略図である。送信402、404において符号化された20ビット要素は、制御情報またはデータを含むとして識別され得る。12シンボル送信402、404において符号化された20ビットのうちの第1の送信ビット(b19)716は、制御情報704が送信されているとき、2進の「1」に設定され、符号化されたユーザデータ710、712、714が12シンボル送信402、404において送信されているとき、2進の「0」に設定され得る。制御情報は、デバイス間の通信を制御および順序付けするために使用されるコマンド、ステータス、レジスタ内容および/または設定、ならびに他の情報を含み得る。ユーザデータという用語は、アプリケーションまたはコンテキストに基づいて定義される情報の16ビットフィールド724を指し得る。様々なタイプのデータワード710、712、714が定義されてよく、これらのデータワード710、712、714は、以前に識別されたスレーブノードにおいて以前に識別されたメモリアドレスから読み取られるか、またはそのメモリアドレスに書き込まれるべき、スレーブアドレスもしくは識別子720、アドレスもしくはアドレスの部分722、またはアプリケーションデータ724などの情報を含み得る。
図7に示す簡略化された例700では、CCIeシリアルバス230上のマスタデバイス220は、1つまたは複数の送信においてスレーブ識別子710、1つまたは複数のアドレス送信712において読み取られるかまたは書き込まれるべきロケーションを識別する1つまたは複数のアドレスワード712a、712b、...712mにおいて送信されるアドレスを送ることによって、スレーブノード202、222a〜222nからまたはそれへの読取りまたは書込み動作を実施することができ、読取り/書込みユーザまたはアプリケーションデータは、1つまたは複数のユーザデータ送信ワード714a、714b、...714nにおいて送信され得る。
場合によっては、スレーブIDワード710は、16ビットのノード識別子720を含む。スレーブID720後に送信される2ビットフィールド726は、2進の「11」(10進の「3」)に設定され得る。追加のプロトコル定義(P)ビット718aは、誤り検出または他のプロトコル関連機能をサポートするために与えられ得る。一例では、Pビット718aは、現在のワードのためのパリティビットまたは別のエラー検出値であり得る。別の例では、ワードのシーケンス内のPビット718aは、そのワードのシーケンスのための誤り検出および/または訂正のために使用され得る。
場合によっては、各アドレスワード712は、16ビットアドレス値と、2ビットの制御コード728と、追加のプロトコル定義(P)ビット718bとを含む。複数のアドレスワード712a、712b、...712mは、連続的に送信され得る。制御コード728のためのビット設定の一例を、Table 1(表1)において提供する。図示の例では、制御コード728は、別のアドレスワード712b、...712mが現在のアドレスワード712a、712b後に送信されるべきであることを示すために、「00」に設定され得る。制御コード728は、データワードが次のデータワード714aとして送信されるべきであることを示すために、「01」に設定され得る。制御コード728は、データワードがCCIeシリアルバス230上で次のデータワード714aとして読み取られるべきであることを示すために、「10」に設定され得る。制御コード728は、「読取り指定」ワード712b、...712mが、バーストモードで読み取られるべきワードの数を定義するために後続することを示すために、「11」に設定され得る。
Figure 2016541211
場合によっては、各ユーザデータワード714は、16ビットのデータ値724と、2ビットの制御コード730と、追加のプロトコル定義(P)ビット718cとを含む。複数のユーザデータワード714a、714b、...714nは、連続的に送信され得る。書込みデータに関する制御コード730のためのビット設定の一例を、Table 2(表2)において提供する。読取りデータに関する制御コード730のためのビット設定の例を、Table 3(表3)において提供し、バースト読取りデータに関しては、Table 4(表4)において提供する。
Figure 2016541211
複数の書込みデータワードが連続的に送られ得る。Table 2(表2)では、制御コード730の値は、次のユーザデータワード714b、...714nを書き込むためのオフセット値を与える。たとえば、2進の「00」から2進の「10」までの値は、別の書込みデータワード714b、...714nが、制御コード730の値だけオフセットされた現在のロケーションにおいて書き込まれるべきであることを示す。2進の「11」に設定された制御コード730は、現在の書込みデータワード714a、714b、...714nが、書き込まれるべき最後のデータ724であることを示す。期待される次のワードは、新しいトランザクションを開始するためのスレーブIDワード710、あるいは、たとえば、シリアルバス230上でマスタデバイスにおける変化を引き起こすか、シリアルバス230が非アクティブ状態に入ることを引き起こすか、シリアルバス230の動作モードにおける(たとえば、I2Cモードへの)変化を開始するか、または何らかの他のアクティビティ、変化もしくはイベントを引き起こし得る、「終了」コードワードなどの制御ワード704であり得る。
Figure 2016541211
Table 3(表3)は、ただ1つの読取りデータワード714が送信される、単一データワード714読取り(Table 1(表1)におけるR1参照)に関する。制御コード730は、CRCが次のデータワード714において送信されるか否かを決定するために使用され得る。たとえば、制御コード730は、現在のデータワード714後に送信されるべきであるCRCワード714がない場合、2進の「11」に設定され、CRCワード714が現在のデータワード714後に送信されるべきである場合、「00」に設定され得る。
Figure 2016541211
Table 4(表4)は、複数のデータワード714のバーストモード読取り(Table 1(表1)におけるRB参照)に関する。アドレスワード712の制御コード728は、「読取り指定」ワードがアドレスワード712に後続することを示し得る。「読取り指定」ワードは16ビットフィールドを含んでよく、それによって、無限の数のビットが読み取られるべきであるとき、t=第1の送信ビット(b18)は2進の「1」に設定され、残りの15ビット(b17〜b3)が、送信されるべきデータワード714の数を指定するとき、「0」に設定される。RBモードで送信される読取りデータワード714は、16ビットの読取りデータ値724と、2ビットの制御コード730と、追加のプロトコル定義(P)ビット718cとを含み得る。読取りデータワードの制御コード730は、現在の読取りデータワード714a、714b、...714nが最後の読取りデータワード714であることを示すために、「11」に設定され、現在の読取りデータワード714a、714b、...714nが最後の読取りデータワード714ではないことを示すために、2進の「00」に設定され得る。
プロトコルは、スレーブノードが「読取り指定」ワードによって指定されるよりも多くのデータワード714(CRCワードを含まない)を送ることを禁止し得る。プロトコルは、スレーブノードが少なくとも1つの読取りワード714(CRCワードを含まない)を送ることを指定し得る。スレーブノードは、「読取り指定」ワードによって指定された数のワードを送信する前に、読取り転送を終了し得る。
図8は、本明細書で開示する1つまたは複数の態様によって使用され得るCDR回路800の一例を示し、図9は、CDR回路800によって生成されたいくつかの信号のタイミングの一例を示す。CDR回路800は、CCIeバス230上で送信されるシンボルのシーケンス内にクロック情報が埋め込まれる、CCIe送信方式において使用され得る。一例では、CDR回路800は、図5に示す受信機520のCDR528に組み込まれ得る。CDR回路800は、1つまたは複数のアナログ遅延素子を含み得る、遅延素子808a、812および826を含み得る。遅延素子808a、812および826は、CCIeバス230から受信されたシンボル902、910、912のためのセットアップ時間を最大にするように構成され得る。その例では、CDR回路800は、比較器804と、セットリセットラッチ806と、第1の遅延素子808aを含むワンショット素子808と、第2のアナログ遅延素子812と、第3のアナログ遅延素子826と、レベルラッチ810とを含む。比較器804は、シンボル902、910、912のストリームを含む2ビットの入力信号(SI信号)820を、SI信号820のレベルラッチされたインスタンスである信号(S信号)822と比較することができる。比較器は、比較(NE)信号814を出力する。セットリセットラッチ806は、比較器804からNE信号814を受信し、比較信号814のフィルタ処理済みバージョン(NEFLT信号816)を出力する。ワンショット素子808内の第1のアナログ遅延デバイス808aは、NEFLT信号816を受信することができ、NEFLT信号816の遅延されたバージョンであるNEDEL信号828を出力する。動作時、ワンショット素子808の論理は、NEFLT信号816と遅延されたNEDEL信号828とを受信し、NEFLT信号816によってトリガされたパルス906を含むNE1SHOT信号824を出力する。
第2のアナログ遅延デバイス812は、NE1SHOT信号824を受信し、IRXCLK信号818を出力する。場合によっては、出力クロック信号830が、たとえば、第3のアナログ遅延素子826を使用して、IRXCLK信号818から導出され得る。出力クロック信号830は、S信号822においてラッチされたシンボルを復号するために使用され得る。セットリセットラッチ806は、IRXCLK信号818の状態に基づいてリセットされ得る。レベルラッチ810は、SI信号820を受信し、レベルラッチされたS信号822を出力し、そこで、レベルラッチ810は、IRXCLK信号818によって有効化される。
動作時、遷移904が、現在のシンボル(S0)902と次のシンボル(S1)910との間で発生する。SI信号820の状態は、現在のシンボル902に対応する状態から、次のシンボル(S1)910に対応する状態へと変化し始める。最初に、SI信号820の状態は、現在のシンボルS0 902から次のシンボルS1 910への遷移904において、および/またはその後に発生し得る中間または不確定状態の発生のために、S1信号910の状態とは異なり得る。中間状態は、線間のスキュー、信号オーバーシュート、信号アンダーシュート、クロストークなどのために発生し得る。SI信号820の遷移中に、S信号822は、現在のシンボル902の遅延された表現を与える。NE信号814は、比較器804がSI信号820とS信号822との間で異なる値を検出するとき、高に遷移し、セットリセットラッチ806が非同期的に設定されることを引き起こす。したがって、NEFLT信号816は高に遷移し、この高状態は、IRXCLK818が高状態に遷移することによってセットリセットラッチ806がリセットされるまで、維持される。IRXCLK信号818は、NEFLT信号816の立ち上がりに遅延して応答して、高状態に遷移し、この遅延は、遅延素子812の動作に少なくとも部分的に起因し得る。
SI信号820上の中間状態は、SI信号が現在のシンボルS0 902の値を反映するとき、無効なデータと見なされてよく、短い期間を含み、(比較器804によって出力された)NE信号814が短い時間期間にわたって低状態の方へ戻ることを引き起こし得る。したがって、スパイクまたは遷移938が、NE信号814において発生し得る。スパイク938は、セットリセットラッチ806によって出力されたNEFLT信号816に影響を及ぼさず、その理由は、セットリセットラッチ806がセットのままであり、NEFLT信号816からNE信号814上のスパイク938を有効にブロックし、および/またはフィルタで除去するからである。
ワンショット回路808は、NEFLT信号816の立ち上がりエッジの後、NE1SHOT信号824において高状態を出力する。ワンショット回路808は、NE1SHOT信号824が低状態に戻る前に、遅延P期間916にわたって、NE1SHOT信号824を高状態に維持する。NE1SHOT信号824上の得られたパルス906は、アナログ遅延S素子812によって引き起こされた遅延S期間918の後、IRXCLK信号818に伝搬する。IRXCLK信号818の高状態は、セットリセットラッチ806をリセットし、NEFLT信号816は低に遷移する。IRXCLK信号818の高状態はまた、レベルラッチ810を有効化し、SI信号820の値がS信号822として出力される。
比較器804は、S信号822が次のシンボル910の値に対応するときを検出する。この時間に、S信号822は、SI信号820に一致し、比較器804の出力は、NE信号814を低に駆動する。NE1SHOT信号824上のパルス906のトレーリングエッジは、アナログ遅延S素子812によって引き起こされた遅延S期間918の後、IRXCLK信号818に伝搬する。このシーケンスは、さらなるシンボル(S2)912について反復する。
一例では、出力クロック信号830は、第3のアナログ遅延素子826によって遅延R期間920だけ遅延される。場合によっては、出力クロック信号830およびS信号822(データ)は、デコーダ524または他の回路に与えられ得る。デコーダ524は、出力クロック信号830またはその派生信号を使用して、S信号822上のシンボルをサンプリングし得る。
図示の例では、様々な遅延922a、922b、922c、922dは、様々な回路のスイッチング時間に起因し、および/または、配線、導電性トレース、コネクタなどを含み得る、リンクに関連付けられた立ち上がり時間に起因し得る。デコーダ524によるシンボル取り込みのための適切なセットアップ時間を与えるために、シンボルサイクル期間tSYMに関するタイミング制約が次のように定義されてよく、
tdNE+tdNEFLT+td1S+遅延S+遅延P+max(tHD,tREC-tdNE)<tSYM
また、セットアップ時間tSUに関するタイミング制約は、次のようになり得る。
Maxスキューspec+tSU<tdNE+td1S+遅延S
tsym:1シンボルサイクル期間、
tSU:IRXCLK818の立ち上がり(リーディング)エッジを基準とするレベルラッチ810のためのSI820のセットアップ時間、
tHD:IRXCLK818の立ち下がり(トレーリング)エッジを基準とするレベルラッチ810のためのSI820の保持時間、
tdNE:比較器804の伝搬遅延、
tdRST:IRXCLK818の立ち上がり(リーディング)エッジからのセットリセットラッチ806のリセット時間
CDR回路800は、アナログ遅延回路808a、812および826を採用して、受信機520が高周波自走システムクロックを使用することなく、CCIe符号化シンボルを復号できることを保証することができる。したがって、CCIeスレーブデバイス202(図2参照)は、CCIe READコマンドに応答するとき、送信クロック228をシステムクロックとして、および、ドーマントであるかまたはデータを受信するとき、CDR528(図5参照)によって生成された受信クロック538を使用するように適応され得る。一例では、送信クロック228は、10MHzの周波数を有するダブルデータレート(DDR)クロックであり得る。別の例では、送信クロックは、20MHzの周波数を有するシングルデータレート(SDR)クロックであり得る。
場合によっては、起動時間が、1つまたは複数の内部で生成された送信クロック228(図2のクロック生成器回路208参照)またはCDR回路800のために与えられ得る。スレーブデバイス202は、CCIe読取り要求が受信された後、送信クロック(TXCLK)228が安定化するようになるまで、シグナリングを操作することによって、CCIeバス230上でSTART条件を引き延ばすことができる。引き延ばされたSTART条件は、最後のアドレスワードがスレーブデバイス202によって(CCIeバス230のターンアラウンド中に)受信された後、第1のCCIe READワードがスレーブデバイス202によって送信される前に、発生し得る。この引き延ばしは、CCIeバスシステムの動作または同期を損なわない。追加または代替として、CCIeスレーブ202が、新たに書き込まれるデータを処理するためにいくつかの追加のクロックサイクルを必要とする場合、CCIeマスタ220は、ダミーのCCIe WRITEコマンドを送信することができる。
いくつかの低電力アプリケーションでは、スレーブデバイス202は、CCIe READ動作中のみに送信クロック228をオンにすることができる。スレーブデバイス202は、CDR回路528(図5参照)によって復元された受信クロックを使用して、シリアルバスとの同期を維持し、かつ/または低電力動作の期間中にスレーブデバイス202によって実施されるいくつかの動作を制御することができる。
CCIeマスタデバイス220はまた、低電力動作モードに入ることもでき、CCIeバス230がアイドルおよび/またはスリープ期間に入ることを引き起こすことができる。本明細書で開示するいくつかの態様によれば、CCIeマスタ220は、低電力のアイドルおよび/またはスリープ期間中に、より低周波数の「ハートビートクロック」を与えることができる。ハートビートクロックは、スレーブデバイス202、222a〜222nが、シリアルバス230、および/またはシリアルバス230にアタッチされた他のデバイス202、220、222a〜222nとの同期を維持することを可能にすることができる。ハートビートクロックは、スレーブデバイス202、222a〜222nによって、低電力のアイドルおよび/またはスリープ期間中にいくつかのアクティビティを制御するために使用され得る。
図7および図10〜図12を参照すると、本明細書で開示するいくつかの態様によって定義された制御ワード704は、ハートビートクロック1000(図10参照)を与えるために使用され得る。ハートビートクロック1000は、比較的短い持続時間1006を有し、比較的大きい時間期間1004だけ分離される、パルス1002a、1002b、1002c、1002dを与えることができる。一例では、パルス1002a、1002b、1002c、1002dは、2×50ns=100nsの2シンボル持続時間を用いて定義されてよく、それらのパルスは、30マイクロ秒(30μs)だけ分離され、それによって、33.33kHzの周波数を有するハートビートクロックを与えることができる。この例では、CCIeスレーブデバイス202、222a〜222nは、様々なスタンバイ動作のためにハートビートワードから抽出された33.33kHzクロックを使用することができる。
図11は、CCIeプロトコルに従って、および、CCIeスレーブデバイス202、222a〜222nが図10に示したハートビートクロック1000を含むハートビートクロックを生成することを可能にする方法で送信され得る制御ワード1116の一例1100を示す。一例では、制御ワード1116は、16進数0x81BEEとして表現されてよく、シンボル1122のストリーム中で与えられる12シンボルシーケンス1128を生成するために計算された14個の遷移番号1124のセットを生成するために、開始条件値とともにカプセル化され得る、12個の遷移番号1114のセットにマッピングされるビットパターン1112を生成するものである。タイミング図1120に示すように、12シンボルシーケンス1128の1つおきのシンボル1130は、「3」の値を有し、SDA信号線218とSCL信号線216の両方上で高い電圧レベルを生じる。この例では、SDA信号線218とSCL信号線216の両方が高状態であるとき、最小電流がSDA信号線218およびSCL信号線216に流れ得る。「3」のシンボル値は、シリアルバス230に関連付けられた電力消費を最小限に抑え得る。12シンボルシーケンス1128はまた、SDA信号線218またはSCL信号線216のうちの他方が高のままである間に、SDA信号線218またはSCL信号線216のいずれかが低に駆動されることを引き起こす、値「1」または「2」を有するシンボル1132、1134を含む。各12シンボル送信1128では、残りのシンボル1132が「1」の値を有する間に、1つのシンボル1134が「2」の値を与えられ得る。結果として、ハートビート制御ワード1116は、制御ワード1116が送信されるたびに、SDA信号線218上で6個のパルスと、SCL信号線216上で1つのパルスとを生成する。一例では、1.43MHzクロックは、ハートビート制御ワード1116を反復的に送信することによって、SCL信号線216上で与えられ得る。
図12は、図11に示した12シンボルシーケンス1128に対応するシンボル1202のストリーム内のシンボルのグループ間に遅延を導入することによって、低減された周波数のハートビートクロックが与えられ得る一例を示す。この例では、各シンボル対{1,3}1210a、1210b、1210c、1210dの送信後に遅延が導入されて、その間にSDA信号線218とSCL信号線216の両方が高状態である、シンボル対{1,3}1210a、1210b、1210c、1210d内の第2のシンボルのための延長されたシンボル間隔1208が取得される。シンボル対{1,3}1210a、1210b、1210c、1210dを含むシンボルの3シンボルグループの送信は、SDA信号線218上でパルスを与える。
低減された周波数のハートビートクロック1000は、本明細書で開示するいくつかの態様による、CDR528(図5参照)を装備する低電力のCCIeスレーブデバイス202、222a〜222nによって、様々な機能要素のためのクロックソースとして使用され得る。低減された周波数のハートビートクロック1000は、CCIeバス230がドーマントまたはアイドルである期間中に、CCIeバス230上で与えられ得る。ハートビートクロック1000は、CCIeバス230上のワードフォーマットを管理するCCIeプロトコルに適合しながら、32.768kHzの周波数で与えられ得る。CCIeマスタ220は、長くされたアイドルまたはドーマント期間にわたって、CCIeバス230上で同じ有効なワードを反復的に送信することができる。ドーマントまたは休止するスレーブデバイス202、222a〜222nは、マスタCCIeデバイス220によって送信される起動シーケンスにわたって、CCIeバス230を監視することができる。起動シーケンスは、SCL信号216が高状態で維持される間に、SDA信号218を最小時間期間にわたって低に駆動することによって生成された、開始条件416(図4参照)の送信を含み得る。図示の例では、ハートビートクロック1000は、ウェイクアップのために必要とされた最小時間期間未満にわたって、SDA信号線218上でパルスを与えることができる。このようにして、ハートビートクロック1000は、意図しないウェイクアップシグナリングを防止しながら、有効なCCIeワードを送信した結果として得られる。
スレーブデバイス202、222a〜222n内のウェイクアップ検出回路は、SDA信号218が最小のあらかじめ決定された時間期間にわたって低でプルされるとき、ウェイクアップを開始するように構成され得る。本明細書で説明する例では、ハートビート期間は、30μsにわたって構成され、ウェイクアップのための最小期間は、ハートビートクロック1000の受信中のSDA信号218の半サイクル時間よりも大きい(すなわち、15μsよりも大きい)時間として定義され得る。したがって、ハートビート信号1000は、スレーブデバイス202、222a〜222nをアウェイクさせない。ドーマントであるスレーブデバイス202、222a〜222n内の受信機520は、外部クロックソースおよびシステムクロックが無効化されるか、またはさもなければ利用不可能であるとき、復元された受信クロック1126、1206を使用することができる。
本明細書で開示するように、ハートビートクロック1000は、所望の遷移番号のシーケンスにマッピングされるCCIe制御ワード704を符号化することによって生成され得る。図11および図12に示した例では、CCIe制御ワード704は、3進数「2222_2222_2220」として表される、遷移番号のシーケンスにマッピングする、0x81BEEという16進値を有する。他の制御ワード704が使用され得る。1つの他の例では、ハートビートクロックは、0x81BF0という16進値を有するCCIe制御ワード704から生成され得る。
図13は、CCIeスレーブデバイス202、222a〜222nの同期を実施するために、CCIe同期/ハートビートワード1116を検出する方法を示す状態図1300を含む。場合によっては、ドーマントであるCCIeスレーブデバイス202、222a〜222n、および/またはリセットされているCCIeスレーブデバイス202、222a〜222nは、CCIeバス230との同期を失い得る。同期していないCCIeスレーブデバイス202、222a〜222nは、CCIeバスがアイドル動作モードである間に、同期を再び取得しようと試みることができる。場合によっては、同期/ハートビートワード1116は、同期していないCCIeスレーブデバイス202、222a〜222nの受信機において、遷移番号1124の一意のパターンを生成するように選択され得る。同期していないCCIeスレーブデバイス202、222a〜222nは、同期/ハートビートワード1116に対応する遷移番号1124の一意のパターンを認識するように構成され得る。
動作時、状態図1300に従って制御された状態機械は、ハートビートクロック1000から生成された受信クロック1126によってクロックされ得る。各状態遷移は、ハートビートクロック1000におけるクロックパルスに対応し得る。状態機械は、ハードウェアリセット1302によって初期化され得るが、同期プロセスへのエントリは、マスタデバイス220によって開始されたウェイクアップ1304によって開始され得る。状態機械は、最初に、アイドル状態1306であり得る第1の状態であり得る。アイドル状態1306で、状態機械は、シリアルバス230から復号された遷移番号を監視することができる。状態機械は、シリアスバス230から受信された遷移番号のシーケンス内で、反復遷移番号1136のうちの1つの存在を検出するように構成され得る。図11に示した例では、状態機械は、第2の状態1308に進み、シンボルカウンタ(S)を1という初期値に設定することができる。状態機械は、あらかじめ定義された数の反復遷移番号1136が連続して受信されるまで、または、反復遷移番号1136以外の遷移番号が受信される場合、第2の状態1308のままである。異なる遷移番号が受信される場合、状態機械は、アイドル状態1306に戻ることができる。あらかじめ定義された数の反復遷移番号1136が連続して受信された場合、状態機械は、シリアルバス230が同期/ハートビートワード1116を搬送中であり得ると決定することができ、状態機械は、第3の状態1310に進んで、残りの数の連続して受信される反復遷移番号1136を待機することができる。異なる遷移番号が受信される場合、状態機械は、アイドル状態1306に戻ることができる。残りの数の反復遷移番号1136が連続して受信される場合、状態機械は1312で、次の受信される遷移番号が同期遷移番号1124内の最後の遷移番号1138(ここでは、「0」)に対応するか否かを決定することができる。状態機械がそのような対応を決定する場合、状態機械は、同期動作モードでアイドル状態1306に戻る前に、同期状態1312に入ることができる。さもなければ、状態機械は、非同期動作モードでアイドル状態1306に戻ることができる。
CCIe同期/ハートビートワード1116は、他の場合には適格なCCIeワードにおいて発生しないシンボルおよび/または遷移の一意のシーケンスを与えるように選択され得る。場合によっては、シンボルおよび/または遷移の一意のシーケンスは、連続して送信される2つの異なるシンボルのシーケンスの部分が結合して、シンボルおよび/または遷移の一意のシーケンスを模倣するとき、発生し得る。図14は、CCIe同期/ハートビートワード1116に関連付けられた遷移1124の一意のシーケンスを模倣し得る、送信の組合せ1400の一例を示す。この例では、ハートビートクロック1000は、3進数(「2222_2222_2220」)1114として表された、遷移番号1124のシーケンスにマッピングするCCIe制御ワード1116から生成され得る。3進数1114は、第1のCCIeワード1402に後続するダミーシンボル1408と、開始シーケンス1410とによって分離された、順次の適格なCCIeワード1402および1404の対の送信によって模倣され得る。このシンボルの組合せは、状態機械が、CCIe同期/ハートビートワード1116が受信されたと誤って決定することを引き起こし得る。特に、第2のCCIeワード1404の送信中のポイント1406で、状態図1300を実行する状態機械は、同期を達成することなく、誤って同期動作モードに入り得る。
図15は、図11の例に示すような、遷移1124の一意のシーケンスを模倣し得る送信の組合せ1400に応答することなく、CCIe同期/ハートビートワード1116を検出する方法を示す状態図1500である。図15の状態図1500と図13の状態図1300との間の違いには、NEEDSYNCフラグの使用が含まれる。たとえば、状態図1500に従って動作させられた状態機械は、「NEEDSYNC」フラグが設定されるまで(条件1502参照)、アイドル状態1506のままであり得る。NEEDSYNCフラグは、ハードウェアリセット1502の後、または受信ワードにおいて誤りが検出された後、設定され得る。誤りは、無効な開始シーケンス、失敗したパリティ検査、誤り検出定数検査、冗長検査、および/または無効なアドレスもしくはコマンドフィールド値を通して検出され得る、プロトコル誤り、または他の同期外れ条件によって引き起こされ得る。
本開示の1つまたは複数の態様では、スレーブデバイス202、222a〜222nのうちの1つまたは複数を同期させるために使用され得るハートビート信号を含む、ハートビート信号1000が、CCIeバス230上で送信されるCCIeフレーム700(図7参照)間のみで送られ得る。いくつかの態様によれば、CCIeフレーム700は、スレーブデバイス202、222a〜222nを識別するスレーブID(SID)ワード710とともに開始する。CCIeフレーム700は、読取りまたは書込みのための1つまたは複数のデータワード714a、714b、...714nを含み得る。フレーム境界は、SID710と最後のデータワード714a、714b、...714nの終了とに先行する開始716として定義され得る。たとえば、同期またはハートビートシンボル1116は、最後のデータ書込み/読取りデータワード714a、714b、...714nの後、および次のSIDワード710の前に送信され得る。スレーブ202、222a〜222nは、スレーブ202、222a〜222nが同期を失った後、同期またはハートビートシンボルにおける同期情報を使用して、次のフレーム境界を発見することができる。
図16は、本明細書で開示する1つまたは複数の機能を実施するように構成され得る処理回路1602を採用する装置のためのハードウェア実装形態の簡略化された例を示す概念図1600である。たとえば、処理回路は、図1の処理回路102、図2のデバイス202またはデバイス220の少なくとも一部分などとして、配備され得る。本開示の様々な態様によれば、本明細書で開示する要素、または要素の任意の部分、または要素の任意の組合せは、処理回路1602を使用して実装され得る。処理回路1602は、ハードウェアモジュールとソフトウェアモジュールの何らかの組合せによって制御される1つまたは複数のプロセッサ1604を含む場合がある。プロセッサ1604の例には、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理デバイス(PLD)、状態機械、シーケンサ、ゲート論理、個別ハードウェア回路、および本開示全体にわたって説明する様々な機能を実施するように構成された他の適切なハードウェアが含まれる。1つまたは複数のプロセッサ1604は、特定の機能を実施し、ソフトウェアモジュール1616のうちの1つによって構成、増強または制御され得る専用プロセッサを含み得る。1つまたは複数のプロセッサ1604は、初期化中にロードされたソフトウェアモジュール1616の組合せを介して構成され、動作中に1つまたは複数のソフトウェアモジュール1616のローディングまたはアンローディングによってさらに構成される場合がある。
図示の例では、処理回路1602は、バス1610によって概略的に表されるバスアーキテクチャを用いて実装され得る。バス1610は、処理回路1602の具体的な用途および全体的な設計制約に応じて、任意の数の相互接続するバスおよびブリッジを含み得る。バス1610は、1つまたは複数のプロセッサ1604およびストレージ1606を含む様々な回路を互いにリンクさせる。ストレージ1606は、メモリデバイスおよび大容量ストレージデバイスを含む場合があり、本明細書ではコンピュータ可読媒体および/またはプロセッサ可読媒体と呼ばれる場合がある。バス1610は、タイミングソース、タイマー、周辺機器、電圧調整器、および電力管理回路などの様々な他の回路をリンクさせることもできる。バスインターフェース1608は、バス1610と1つまたは複数のトランシーバ1612との間のインターフェースを提供することができる。トランシーバ1612は、処理回路によってサポートされるネットワーキング技術ごとに提供される場合がある。場合によっては、複数のネットワーキング技術が、トランシーバ1612内で見出される回路または処理モジュールの一部または全部を共有することができる。各トランシーバ1612は、送信媒体を介して様々な他の装置と通信するための手段を提供する。装置の性質に応じて、ユーザインターフェース1618(たとえば、キーパッド、ディスプレイ、スピーカ、マイクロフォン、ジョイスティック)が設けられる場合もあり、直接またはバスインターフェース1608を介して、バス1610に通信可能に結合される場合がある。
プロセッサ1604は、バス1610の管理と、ストレージ1606を含む場合があるコンピュータ可読媒体に記憶されたソフトウェアの実行を含む場合がある全体的な処理とを担当することができる。この点で、プロセッサ1604を含む処理回路1602は、本明細書で開示する方法、機能および技法のうちの任意のものを実装するために使用され得る。ストレージ1606は、ソフトウェアを実行するとき、プロセッサ1604によって操作されるデータを記憶するために使用され得、ソフトウェアは、本明細書で開示する方法のうちの任意のものを実装するように構成され得る。
処理回路1602内の1つまたは複数のプロセッサ1604は、ソフトウェアを実行することができる。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、または他の名称で呼ばれるかどうかにかかわらず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、プロシージャ、機能、アルゴリズムなどを意味するように広く解釈されるべきである。ソフトウェアは、コンピュータ可読の形でストレージ1606または外部コンピュータ可読媒体内に存在することができる。外部コンピュータ可読媒体および/またはストレージ1606は、非一時的コンピュータ可読媒体を含む場合がある。非一時的コンピュータ可読媒体には、例として、磁気ストレージデバイス(たとえば、ハードディスク、フロッピー(登録商標)ディスク、磁気ストリップ)、光ディスク(たとえば、コンパクトディスク(CD)またはデジタル多用途ディスク(DVD))、スマートカード、フラッシュメモリデバイス(たとえば、「フラッシュドライブ」、カード、スティック、またはキードライブ)、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、レジスタ、リムーバブルディスク、およびコンピュータがアクセスし読み取ることができるソフトウェアおよび/または命令を記憶するための任意の他の適切な媒体が含まれる。また、コンピュータ可読媒体および/またはストレージ1606は、例として、搬送波、伝送路、ならびに、コンピュータがアクセスし読み取ることができるソフトウェアおよび/または命令を送信するための任意の他の適切な媒体も含み得る。コンピュータ可読媒体および/またはストレージ1606は、処理回路1602の中に、プロセッサ1604の中に、処理回路1602の外部に存在するか、または処理回路1602を含む複数のエンティティにわたって分散される場合がある。コンピュータ可読媒体および/またはストレージ1606は、コンピュータプログラ
ム製品内で具現化される場合がある。例として、コンピュータプログラム製品には、パッケージング材料内のコンピュータ可読媒体が含まれ得る。当業者は、特定の適用例および全体的なシステムに課された全体的な設計制約に応じて、本開示全体にわたって提示された記載の機能を最もよく実装する方法を認識されよう。
ストレージ1606は、本明細書でソフトウェアモジュール1616と呼ばれる場合がある、ロード可能なコードセグメント、モジュール、アプリケーション、プログラムなどにおいて維持および/または編成されるソフトウェアを維持することができる。ソフトウェアモジュール1616の各々は、処理回路1602にインストールまたはロードされ、1つまたは複数のプロセッサ1604によって実行されると、1つまたは複数のプロセッサ1604の動作を制御するランタイムイメージ1614に寄与する命令およびデータを含み得る。実行されると、いくつかの命令は、処理回路1602に、本明細書で説明するいくつかの方法、アルゴリズム、およびプロセスに従って機能を実施させることができる。
ソフトウェアモジュール1616のうちのいくつかは、処理回路1602の初期化の間にロードされ得、これらのソフトウェアモジュール1616は、本明細書で開示する様々な機能の実施を可能にするように処理回路1602を構成することができる。たとえば、いくつかのソフトウェアモジュール1616は、プロセッサ1604の内部デバイスおよび/または論理回路1622を構成することができ、たとえばトランシーバ1612、バスインターフェース1608、ユーザインターフェース1618、タイマー、数学的コプロセッサなどの外部デバイスへのアクセスを管理することができる。ソフトウェアモジュール1616は、割込みハンドラおよびデバイスドライバと対話し、処理回路1602によって提供される様々なリソースへのアクセスを制御する、制御プログラムおよび/またはオペレーティングシステムを含む場合がある。リソースには、メモリ、処理時間、トランシーバ1612へのアクセス、ユーザインターフェース1618などが含まれ得る。
処理回路1602の1つまたは複数のプロセッサ1604は、多機能とすることができ、それによって、ソフトウェアモジュール1616のいくつかは、ロードされ、異なる機能または同じ機能の異なるインスタンスを実施するように構成される。1つまたは複数のプロセッサ1604は、さらに、たとえば、ユーザインターフェース1618、トランシーバ1612、およびデバイスドライバからの入力に応答して開始される背景タスクを管理するように適応され得る。複数の機能の実施をサポートするために、1つまたは複数のプロセッサ1604は、マルチタスク環境を実現するように構成される場合があり、それにより、複数の機能の各々が、必要または要望に応じて、1つまたは複数のプロセッサ1604によってサービスされるタスクのセットとして実施される。一例では、マルチタスク環境は、異なるタスク間でプロセッサ1604の制御を渡す時分割プログラム1620を使用して実装される場合があり、それにより、各タスクは、任意の未処理動作の完了後、および/または割込みなどの入力に応答して、時分割プログラム1620に1つまたは複数のプロセッサ1604の制御を戻す。タスクが1つまたは複数のプロセッサ1604の制御を有するとき、処理回路は、事実上、制御するタスクに関連付けられた機能によって対処される目的に特化される。時間分割プログラム1620には、オペレーティングシステム、ラウンドロビンベースで制御を移すメインループ、機能の優先順位付けに従って1つもしくは複数のプロセッサ1604の制御を割り振る機能、および/または、1つもしくは複数のプロセッサ1604の制御を処理する機能に提供することによって外部イベントに応答する割込み駆動のメインループが含まれ得る。
図17は、データ通信のための方法を示すフローチャート1700を含む。その方法は、たとえば、CCIeマスタデバイス220によって実施され得る。ステップ1702で、第1の複数のワードが、第1の動作モード中にCCIeバス230上で第1のレートで送信される。第1の複数のワードは、データまたは制御情報を含み得る。
ステップ1704で、あらかじめ定義された制御ワードが、第2の動作モード中にCCIeバス230上で第2のレートで反復的に送信され得る。第2のレートは、第1のレートよりも低くてよい。あらかじめ定義された制御ワードは、CCIeバス230上で送信されるあらかじめ定義された制御ワードごとに、単一のパルスがCCIeバス230の第1の線上で送信されることを引き起こすことができる。第2のレートは、あらかじめ定義された制御ワードに対応するシンボルのシーケンス内のシンボルのグループ間に遅延を導入することによって取得され得る。この遅延は、CCIeバス230の両方の線が各遅延の持続時間にわたって駆動されないように、シンボルのグループ間に導入され得る。
ステップ1706で、第2の複数のワードが、第2の動作モードの終了時にCCIeバス230上で第1のレートで送信され得る。CCIeバス230上で送信される各ワードは、シンボルのシーケンス内で送信され得る。シンボルのシーケンス内の連続するシンボルの各対は、2つの異なるシンボルを含み得る。受信機は、2つ以上のシンボルがCCIeバス230上で送信されるとき、CCIeバス230のシグナリング状態における遷移から受信クロックを抽出するように構成され得る。
本開示の一態様では、あらかじめ定義された制御ワードは、CCIeバス230のシグナリング状態における同期パターンを生成する。あらかじめ定義された制御ワードは、あらかじめ定義された制御ワードに対応するシンボルのシーケンスを、シンボルのグループ内で送信することによって、送信され得る。連続するシンボルのグループの各対は、遅延によって分離され得る。各シンボルのグループは、パルスがCCIeバス230の第1の線上で送信されることを引き起こすことができ、パルスが第1の線上で送信される間に、CCIeバス230の第2の線のシグナリング状態が不変のままであることを引き起こすことができる。
本開示の一態様では、あらかじめ定義された制御ワードは、あらかじめ定義された制御ワードに対応するシンボルのシーケンスを3シンボルのグループに分割することによって、送信され得る。3シンボルのグループごとに、3シンボルのグループが、第1のシンボル送信レートでCCIeバス230上で送信され得、次の3シンボルのグループ内の第1のシンボルの送信が遅延され得る。第1の複数のワードに対応するシンボルのシーケンスは、第1のシンボル送信レートで送信され得る。
本開示の一態様では、シンボルのシーケンス内の各シンボルは、シンボルがCCIeバス230上で送信される間に、CCIeバス230の少なくとも2本の線のシグナリング状態を決定する。
図18は、処理回路1802を採用する装置1800のためのハードウェア実装形態の一例を示す概念図である。この例では、処理回路1802は、バス1816によって概略的に表されるバスアーキテクチャを用いて実装される場合がある。バス1816は、処理回路1802の具体的な用途および全体的な設計制約に応じて、任意の数の相互接続するバスおよびブリッジを含み得る。バス1816は、プロセッサ1812によって概略的に表される1つまたは複数のプロセッサと、コネクタまたは線1824を介して通信するように構成可能なラインインターフェース回路1820と、プロセッサ可読記憶媒体1814によって概略的に表されるコンピュータ可読媒体とを含む、様々な回路を互いにリンクさせる。バス1816は、タイミングソース、タイマー、周辺機器、電圧調整器、および電力管理回路などの様々な他の回路をリンクさせることもできる。バスインターフェース1818は、バス1816との間のインターフェースを提供する。1つまたは複数のトランシーバ(図示せず)は、送信媒体を介して様々な他の装置と通信するための手段を提供することができる。装置の性質に応じて、ユーザインターフェース1822(たとえば、キーパッド、ディスプレイ、スピーカ、マイクロフォン、ジョイスティック)が設けられる場合もある。1つまたは複数のクロック生成回路またはモジュール1804は、処理回路1802内に設けられるか、あるいは処理回路1802および/または1つもしくは複数のプロセッサ1812によって制御される場合がある。一例では、クロック生成回路またはモジュール1804は、1つもしくは複数の水晶発振器、1つもしくは複数の位相ロックループデバイス、および/または、1つもしくは複数の構成可能なクロックツリーを含む場合がある。
プロセッサ1812は、バス1816の管理と、プロセッサ可読記憶媒体1814に記憶されたソフトウェアの実行を含む全体的な処理とを担当する。ソフトウェアは、プロセッサ1812によって実行されるとき、処理回路1802に、任意の特定の装置のための上記で説明した様々な機能を実施させる。プロセッサ可読記憶媒体1814は、ソフトウェアを実行するときにプロセッサ1812によって操作されるデータを記憶するために使用される場合がある。
1つの構成では、処理回路は、現在の動作モードに基づいてクロック生成を管理するように構成されるモジュールおよび/または回路1804と、シリアルバス1824を使用して情報を送信および受信するように構成された1つまたは複数のモジュールおよび/または回路1806と、装置が休止モードである間に実施される機能およびタスクを管理するように構成されるモジュールおよび/または回路1808とを含み得る。一例では、装置は、第1の複数のワードを、第1の動作モード中にシリアルバス1824上で第1のレートで送信し、あらかじめ定義された制御ワードを、第2の動作モード中にシリアルバス1824上で第2のレートで反復的に送信し、第2の複数のワードを、第2の動作モードの終了時にシリアルバス1824上で第1のレートで送信することができる。第1の複数のワードは、データまたは制御情報を含み得る。第2のレートは、第1のレートよりも低くてよい。シリアルバス1824上で送信される各ワードは、シンボルのシーケンス内で送信される。シンボルのシーケンス内の連続するシンボルの各対は、2つの異なるシンボルを含み得る。受信機は、2つ以上のシンボルがシリアルバス1824上で送信されるとき、シリアルバス1824のシグナリング状態における遷移から受信クロックを抽出するように構成され得る。
図19は、データ通信のための方法を示すフローチャート1900を含む。その方法は、たとえば、CCIeスレーブデバイス202によって実施され得る。ステップ1902で、デバイス202が送信動作モードである間に、送信クロックが生成される。送信クロックは、CCIeバス230のコネクタの対上で送信されるべきシンボルのシーケンス内でデータまたは制御情報を符号化するために使用され得る。
ステップ1904で、別のデバイスがCCIeバス230上で情報を送信中である間に、受信クロックが、CCIeバス230のシグナリング状態における遷移から抽出され得る。
ステップ1906で、少なくとも1つのクロック信号が、休止動作モード中に抑制、終了、一時停止、または中断され得る。
ステップ1908で、受信クロックが、休止動作モード中にスレーブデバイスの1つまたは複数の動作を制御するために使用され得る。CCIeバス230上で送信される連続するシンボルの各対は、2つの異なるシンボルを含み得る。
本開示の一態様では、送信クロックは、スレーブデバイスがCCIeバス230上でシンボルを送信中ではないとき、抑制され得る。受信クロックは、データまたは制御情報がCCIeバス230の2つのノード間で送信されるときよりも、CCIeバス230がアイドル動作モードであるときにより長い周期を有し得る。
本開示の一態様では、受信クロックを抽出することは、CCIeバス230がアイドル動作モードであるとき、CCIeバス230上で送信されるシンボルからハートビートクロックを抽出することを含む。ハートビートクロックは、あらかじめ定義された制御ワードに対応するシンボルのシーケンスから抽出され得る。ハートビートクロックは、データまたは制御情報がCCIeバス230の2つのノード間で送信されるとき、CCIeバス230から抽出された受信クロックよりも低い周波数を有し得る。
本開示の一態様では、同期パターンが、CCIeバス230のシグナリング状態の遷移において決定され得る。同期パターンは、CCIeバス230がアイドル動作モードであるとき、CCIeバス230上で送信されるあらかじめ定義された制御ワードに対応するシンボルのシーケンスによって引き起こされ得る。
図20は、処理回路2002を採用する装置2000のためのハードウェア実装形態の一例を示す概念図である。この例では、処理回路2002は、バス2016によって概略的に表されるバスアーキテクチャを用いて実装される場合がある。バス2016は、処理回路2002の具体的な用途および全体的な設計制約に応じて、任意の数の相互接続するバスおよびブリッジを含み得る。バス2016は、プロセッサ2012によって概略的に表される1つまたは複数のプロセッサと、コネクタまたは線2024を介して通信するように構成可能なラインインターフェース回路2020と、プロセッサ可読記憶媒体2014によって概略的に表されるコンピュータ可読媒体とを含む、様々な回路を互いにリンクさせる。バス2016は、タイミングソース、タイマー、周辺機器、電圧調整器、および電力管理回路などの様々な他の回路をリンクさせることもできる。バスインターフェース2018は、バス2016との間のインターフェースを提供する。1つまたは複数のトランシーバ(図示せず)は、送信媒体を介して様々な他の装置と通信するための手段を提供することができる。装置の性質に応じて、ユーザインターフェース2022(たとえば、キーパッド、ディスプレイ、スピーカ、マイクロフォン、ジョイスティック)が設けられる場合もある。1つまたは複数のクロック生成回路またはモジュール2004は、処理回路2002内に設けられるか、あるいは処理回路2002および/または1つもしくは複数のプロセッサ2012によって制御される場合がある。一例では、クロック生成回路またはモジュール2004は、1つもしくは複数の水晶発振器、1つもしくは複数の位相ロックループデバイス、および/または、1つもしくは複数の構成可能なクロックツリーを含む場合がある。
プロセッサ2012は、バス2016の管理と、プロセッサ可読記憶媒体2014に記憶されたソフトウェアの実行を含む全体的な処理とを担当する。ソフトウェアは、プロセッサ2012によって実行されるとき、処理回路2002に、任意の特定の装置のための上記で説明した様々な機能を実施させる。プロセッサ可読記憶媒体2014は、ソフトウェアを実行するときにプロセッサ2012によって操作されるデータを記憶するために使用される場合がある。
1つの構成では、処理回路は、装置がCCIeバス230を含み得る線2024を介して送信中であるとき、送信クロックを生成するように構成されるモジュールおよび/または回路2004と、線2024上の遷移に基づいて、1つまたは複数の受信クロックを抽出するように構成されたモジュールおよび/または回路2006と、装置がアイドルまたはドーマント動作モードであるとき、休止動作モードを管理するように構成されたモジュールおよび/または回路2008とを含み得る。一例では、装置は、送信動作モードである間に、送信クロックを生成すること、別のデバイスが線2024上で情報を送信中である間に、線2024のシグナリング状態における遷移から受信クロックを抽出すること、休止動作モード中に、少なくとも1つのクロック信号を生成することをやめること、および、受信クロックを使用して、休止動作モード中に、スレーブデバイスの1つまたは複数の動作を制御することを行うように構成され得る。
開示されたプロセスにおけるステップの特定の順序または階層は、例示的な手法の一例であることを理解されたい。設計上の選好に基づいて、プロセスにおけるステップの特定の順序または階層は再構成され得ることを理解されたい。添付の方法クレームは、様々なステップの要素を例示的な順序で提示したものであり、提示された特定の順序または階層に限定されることを意味するものではない。
前述の説明は、いかなる当業者も本明細書で説明する様々な態様を実施することを可能にするように与えられる。これらの態様への様々な修正形態は、当業者に容易に明らかになり、本明細書で定義した一般的な原理は、他の態様に適用され得る。したがって、特許請求の範囲は本明細書に示された態様に限定されるものではなく、文言通りの特許請求の範囲に整合するすべての範囲を与えられるべきであり、単数形の要素への言及は、そのように明記されていない限り、「唯一無二の」を意味することを意図せず、「1つまたは複数の」を意味する。別段に明記されていない限り、「いくつかの」という用語は「1つまたは複数の」を指す。当業者に知られているまたは後で知られることになる、本開示全体にわたって説明した様々な態様の要素の構造的および機能的なすべての均等物は、参照により本明細書に明確に組み込まれ、特許請求の範囲によって包含されることが意図される。その上、本明細書で開示する内容は、そのような開示が特許請求の範囲で明記されているかどうかにかかわりなく、公に供することは意図されていない。いかなるクレーム要素も、要素が「ための手段」という語句を使用して明確に記載されていない限り、ミーンズプラスファンクションとして解釈されるべきではない。
100、200、1800、2000 装置
102、1602、1802、2002 処理回路
106 通信トランシーバ
108 特定用途向けIC(ASIC)
110 アプリケーションプログラミングインターフェース(API)
112 メモリ、メモリデバイス
114 ローカルデータベース
122 アンテナ
124 ディスプレイ
126 キーパッド
128 ボタン
202 デバイス、CCIeデバイス、イメージングデバイス、センサーデバイス、スレーブノード、CCIeスレーブデバイス、スレーブデバイス、CCIeスレーブ、スレーブ
204 センサー制御機能、従来のイメージングデバイス
206 構成レジスタまたは他のストレージ
208 クロック生成回路、クロック生成器回路
210、1612 トランシーバ
210a 受信機
210b 共通回路
210c、500 送信機
212 制御論理
214a、214b ラインドライバ/受信機、プッシュプルドライバ、ドライバ
216 SCL信号線、SCLライン、信号線、SCL、線、SCL信号
218 SDA信号線、SDAライン、信号線、SDA、線、SDA信号
220 デバイス、CCIeデバイス、マスタデバイス、CCIeマスタ、CCIeマスタデバイス、マスタCCIeデバイス
222a〜222n デバイス、CCIeデバイス、スレーブノード、スレーブデバイス、CCIeスレーブデバイス、スレーブ
228 送信クロック、TXCLK
230 シリアルバス、CCIeバス、CCIeシリアルバス
302 スレーブID、ID
306、418、420 開始条件
312 読取り/書込みビット
316 停止条件
320 I2C送信
402、404 シンボル、12シンボル、送信、12シンボル送信
406 送信間隔、第1の送信、12シンボルワード
408 送信間隔、第2の送信、12シンボルワード
412 最小経過時間
414 期間
416 開始条件、2シンボル開始条件
502 トランスコーダ
504 エンコーダ
506 ラインドライバ
508 オープンドレイン出力トランジスタ
510 データ、入力データ
512 3進(ベース3)遷移番号、3進数、3進シーケンス
514 2ビットシンボル、シンボル、データシンボル、12シンボル
520 受信機、受信回路
522 回路、トランスコーダ
524 回路、デコーダ
526、1820、2020 ラインインターフェース回路
528 クロックおよびデータ復元回路(CDR)、CDR回路
530 出力データ要素
532 3進数
534 2ビットシンボル、シンボル
536 未加工の2ビットシンボル、未加工のシンボル
538 受信クロック、クロック
600 符号化方式、CCIe符号化方式
602 シンボル順序付けサークル、サークル
604a〜604d ロケーション
606 回転の方向
620 テーブル
622 第1のシンボル(前のシンボルPs)、直前のシンボル、前に生成されたシンボル、前に受信されたシンボル
624 第2のシンボル(現在のシンボルCs)、現在受信されたシンボル
626 遷移番号(T)
700 CCIeプロトコル、簡略化された例、CCIeフレーム
704 制御情報、制御ワード、CCIe制御ワード
710 符号化されたユーザデータ、データワード、スレーブ識別子、スレーブIDワード、スレーブID(SID)ワード、SID
712 符号化されたユーザデータ、データワード、アドレス送信、アドレスワード
712a アドレスワード
712b、...712m アドレスワード、「読取り指定」ワード
714 符号化されたユーザデータ、データワード、ユーザデータワード、読取りデータワード、単一データワード、CRCワード、読取りワード
714a ユーザデータ送信ワード、データワード、ユーザデータワード、書込みデータワード、読取りデータワード、最後のデータワード、最後のデータ書込み/読取りデータワード
714b、...714n ユーザデータ送信ワード、ユーザデータワード、書込みデータワード、読取りデータワード、データワード、最後のデータワード、最後のデータ書込み/読取りデータワード
716 第1の送信ビット(b19)、開始
718a 追加のプロトコル定義(P)ビット、Pビット
718b、718c 追加のプロトコル定義(P)ビット
720 スレーブアドレスもしくは識別子、16ビットのノード識別子、スレーブID
722 アドレスもしくはアドレスの部分
724 16ビットフィールド、アプリケーションデータ、16ビットのデータ値、データ、16ビットの読取りデータ値
726 2ビットフィールド
728、730 2ビットの制御コード、制御コード
800 CDR回路
804 比較器
806 セットリセットラッチ
808 ワンショット素子、ワンショット回路
808a 遅延素子、第1の遅延素子、第1のアナログ遅延デバイス、アナログ遅延回路
810 レベルラッチ
812 遅延素子、第2のアナログ遅延素子、第2のアナログ遅延デバイス、アナログ遅延S素子、アナログ遅延回路
814 比較(NE)信号
816 NEFLT信号
818 IRXCLK信号、IRXCLK
820 2ビットの入力信号(SI信号)、SI
822 SI信号820のレベルラッチされたインスタンスである信号(S信号)、レベルラッチされたS信号
824 NE1SHOT信号
826 遅延素子、第3のアナログ遅延素子、アナログ遅延回路
828 NEDEL信号
830 出力クロック信号
902 シンボル、現在のシンボル(S0)
904 遷移
906、1002a、1002b、1002c、1002d パルス
910 シンボル、次のシンボル(S1)、S1信号
912 シンボル、さらなるシンボル(S2)
916 遅延P期間
918 遅延S期間
920 遅延R期間
922a、922b、922c、922d 遅延
938 スパイクまたは遷移
1000 ハートビートクロック、ハートビート信号
1004 時間期間
1006 持続時間
1100 制御ワード1116の一例
1112 ビットパターン
1114 遷移番号、3進数(「2222_2222_2220」)
1116 制御ワード、ハートビート制御ワード、CCIe同期/ハートビートワード、同期/ハートビートワード、CCIe制御ワード、同期またはハートビートシンボル
1122、1130、1132、1134、1202 シンボル
1124 遷移番号、同期遷移番号、遷移
1126、1206 受信クロック
1128 12シンボルシーケンス、12シンボル送信
1136 反復遷移番号
1138 最後の遷移番号
1208 延長されたシンボル間隔
1210a、1210b、1210c、1210d シンボル対{1,3}
1302、1502 ハードウェアリセット
1304、1504 ウェイクアップ
1306、1506 アイドル状態
1308 第2の状態
1310 第3の状態
1312 同期状態
1400 送信の組合せ
1402 第1のCCIeワード、CCIeワード
1404 CCIeワード、第2のCCIeワード
1406 ポイント
1408 ダミーシンボル
1410 開始シーケンス
1502 条件
1604、1812、2012 プロセッサ
1606 ストレージ
1608、1818、2018 バスインターフェース
1610、1816、2016 バス
1614 ランタイムイメージ
1616 ソフトウェアモジュール
1618、1822、2022 ユーザインターフェース
1620 時分割プログラム
1622 内部デバイスおよび/または論理回路
1804 クロック生成回路またはモジュール、現在の動作モードに基づいてクロック生成を管理するように構成されるモジュールおよび/または回路
1806 シリアルバス1824を使用して情報を送信および受信するように構成された1つまたは複数のモジュールおよび/または回路
1808 装置が休止モードである間に実施される機能およびタスクを管理するように構成されるモジュールおよび/または回路
1814、2014 プロセッサ可読記憶媒体
1824 コネクタまたは線、シリアルバス
2004 クロック生成回路またはモジュール、装置がCCIeバス230を含み得る線2024を介して送信中であるとき、送信クロックを生成するように構成されるモジュールおよび/または回路
2006 線2024上の遷移に基づいて、1つまたは複数の受信クロックを抽出するように構成されたモジュールおよび/または回路
2008 装置がアイドルまたはドーマント動作モードであるとき、休止動作モードを管理するように構成されたモジュールおよび/または回路
2024 コネクタまたは線

Claims (30)

  1. データ通信の方法であって、
    第1の複数のワードを、第1の動作モード中にカメラ制御インターフェース拡張(CCIe)バス上で第1のレートで送信するステップであって、前記第1の複数のワードはデータまたは制御情報を備えるステップと、
    あらかじめ定義された制御ワードを、第2の動作モード中に前記CCIeバス上で第2のレートで反復的に送信するステップであって、前記第2のレートは前記第1のレートよりも低いステップと、
    第2の複数のワードを、前記第2の動作モードの終了時に前記CCIeバス上で前記第1のレートで送信するステップと
    を含み、
    前記CCIeバス上で送信される各ワードが、シンボルのシーケンス内で送信され、前記シンボルのシーケンス内の連続するシンボルの各対が、2つの異なるシンボルを備え、
    受信機が、2つ以上のシンボルが前記CCIeバス上で送信されるとき、前記CCIeバスのシグナリング状態における遷移から受信クロックを抽出するように構成される、方法。
  2. 前記あらかじめ定義された制御ワードが、前記CCIeバス上で送信されるあらかじめ定義された制御ワードごとに、単一のパルスが前記CCIeバスの第1の線上で送信されることを引き起こす、請求項1に記載の方法。
  3. 前記第2のレートが、前記あらかじめ定義された制御ワードに対応するシンボルのシーケンス内のシンボルのグループ間に遅延を導入することによって取得される、請求項1に記載の方法。
  4. 前記遅延が、前記CCIeバスの両方の線が各遅延中に駆動されないように、前記シンボルのグループ間に導入される、請求項3に記載の方法。
  5. 前記あらかじめ定義された制御ワードを送信するステップが、前記CCIeバスの前記シグナリング状態における同期パターンを生成する、請求項1に記載の方法。
  6. 前記あらかじめ定義された制御ワードを送信するステップが、
    前記あらかじめ定義された制御ワードに対応するシンボルのシーケンスを、シンボルのグループ内で送信するステップであって、連続するシンボルのグループの各対が遅延によって分離されるステップ
    を含む、請求項1に記載の方法。
  7. 各シンボルのグループが、パルスが前記CCIeバスの第1の線上で送信されることを引き起こし、前記パルスが前記第1の線上で送信される間に、前記CCIeバスの第2の線のシグナリング状態が不変のままであることを引き起こす、請求項6に記載の方法。
  8. 前記あらかじめ定義された制御ワードを送信するステップが、
    前記あらかじめ定義された制御ワードに対応する前記シンボルのシーケンスを、3シンボルのグループに分割するステップと、
    3シンボルのグループごとに、
    前記3シンボルのグループを、第1のシンボル送信レートで前記CCIeバス上で送信するステップと、
    次の3シンボルのグループ内の第1のシンボルの送信を遅延させるステップと
    を含む、請求項1に記載の方法。
  9. 前記第1の複数のワードを送信するステップが、前記第1の複数のワードに対応するシンボルのシーケンスを、前記第1のシンボル送信レートで送信するステップを含む、請求項8に記載の方法。
  10. 前記シンボルのシーケンス内の各シンボルが、前記シンボルが前記CCIeバス上で送信される間に、前記CCIeバスの少なくとも2本の線の前記シグナリング状態を決定する、請求項1に記載の方法。
  11. データ通信の方法であって、
    送信動作モードである間に、送信クロックを生成するステップであって、前記送信クロックは、カメラ制御インターフェース拡張(CCIe)バスのコネクタの対上で送信されるべきシンボルのシーケンス内でデータまたは制御情報を符号化するために使用されるステップと、
    別のデバイスが前記CCIeバス上で情報を送信中である間に、前記CCIeバスのシグナリング状態における遷移から受信クロックを抽出するステップと、
    休止動作モード中に、少なくとも1つのクロック信号を生成することをやめるステップと、
    前記受信クロックを使用して、前記休止動作モード中に1つまたは複数の動作を制御するステップと
    を含み、
    前記CCIeバス上で送信される連続するシンボルの各対が、2つの異なるシンボルを含む、方法。
  12. シンボルを前記CCIeバス上で送信していないとき、前記送信クロックを生成することをやめるステップ
    をさらに含む、請求項11に記載の方法。
  13. 前記受信クロックが、データまたは制御情報が前記CCIeバスの2つのノード間で送信されるときよりも、前記CCIeバスがアイドル動作モードであるときにより長い周期を有する、請求項11に記載の方法。
  14. 前記受信クロックを抽出するステップが、
    前記CCIeバスがアイドル動作モードであるとき、前記CCIeバス上で送信されるシンボルからハートビートクロックを抽出するステップ
    を含み、
    前記ハートビートクロックが、あらかじめ定義された制御ワードに対応するシンボルのシーケンスから抽出され、
    前記ハートビートクロックが、データまたは制御情報が前記CCIeバスの2つのノード間で送信されるとき、前記CCIeバスから抽出された受信クロックよりも低い周波数を有する、請求項11に記載の方法。
  15. 前記方法が、
    前記CCIeバスの前記シグナリング状態の遷移における同期パターンを決定するステップ
    をさらに含み、
    前記同期パターンが、前記CCIeバスがアイドル動作モードであるとき、前記CCIeバス上で送信されるあらかじめ定義された制御ワードに対応するシンボルのシーケンスによって生成される、請求項11に記載の方法。
  16. カメラ制御インターフェースバス上でスレーブデバイスとして動作するように構成可能な装置であって、
    処理回路を備え、前記処理回路が、
    送信動作モードである間に、送信クロックを生成することであって、前記送信クロックは、カメラ制御インターフェース拡張(CCIe)バスのコネクタの対上で送信されるべきシンボルのシーケンス内でデータまたは制御情報を符号化するために使用されること、
    別のデバイスが前記CCIeバス上で情報を送信中である間に、前記CCIeバスのシグナリング状態における遷移から受信クロックを抽出すること、
    休止動作モード中に、少なくとも1つのクロック信号を生成することをやめること、および
    前記受信クロックを使用して、前記休止動作モード中に1つまたは複数の動作を制御すること
    を行うように構成され、
    前記CCIeバス上で送信される連続するシンボルの各対が、2つの異なるシンボルを含む、装置。
  17. 前記処理回路が、
    シンボルを前記CCIeバス上で送信していないとき、前記送信クロックを生成することをやめること
    を行うように構成される、請求項16に記載の装置。
  18. 前記受信クロックが、データまたは制御情報が前記CCIeバスの2つのノード間で送信されるときよりも、前記CCIeバスがアイドル動作モードであるときにより長い周期を有する、請求項16に記載の装置。
  19. 前記処理回路が、
    前記CCIeバスがアイドル動作モードであるとき、前記CCIeバス上で送信されるシンボルからハートビートクロックを抽出すること
    を行うように構成され、
    前記ハートビートクロックが、あらかじめ定義された制御ワードに対応するシンボルのシーケンスから抽出され、
    前記ハートビートクロックが、データまたは制御情報が前記CCIeバスの2つのノード間で送信されるとき、前記CCIeバスから抽出された受信クロックよりも低い周波数を有する、請求項16に記載の装置。
  20. 前記処理回路が、
    前記CCIeバスの前記シグナリング状態の遷移における同期パターンを決定すること
    を行うように構成され、
    前記同期パターンが、前記CCIeバスがアイドル動作モードであるとき、前記CCIeバス上で送信されるあらかじめ定義された制御ワードに対応するシンボルのシーケンスによって生成される、請求項16に記載の装置。
  21. カメラ制御インターフェースバス上でマスタデバイスとして動作するように構成可能な装置であって、
    処理回路を備え、前記処理回路が、
    第1の複数のワードを、第1の動作モード中にカメラ制御インターフェース拡張(CCIe)バス上で第1のレートで送信することであって、前記第1の複数のワードはデータまたは制御情報を備えること、
    あらかじめ定義された制御ワードを、第2の動作モード中に前記CCIeバス上で第2のレートで反復的に送信することであって、前記第2のレートは前記第1のレートよりも低いこと、および
    第2の複数のワードを、前記第2の動作モードの終了時に前記CCIeバス上で前記第1のレートで送信すること
    を行うように構成され、
    前記CCIeバス上で送信される各ワードが、シンボルのシーケンス内で送信され、前記シンボルのシーケンス内の連続するシンボルの各対が、2つの異なるシンボルを備え、
    受信機が、2つ以上のシンボルが前記CCIeバス上で送信されるとき、前記CCIeバスのシグナリング状態における遷移から受信クロックを抽出するように構成される、装置。
  22. 前記あらかじめ定義された制御ワードが、前記CCIeバス上で送信されるあらかじめ定義された制御ワードごとに、単一のパルスが前記CCIeバスの第1の線上で送信されることを引き起こす、請求項21に記載の装置。
  23. 前記第2のレートが、前記あらかじめ定義された制御ワードに対応するシンボルのシーケンス内のシンボルのグループ間に遅延を導入することによって取得される、請求項21に記載の装置。
  24. 前記遅延が、前記CCIeバスの両方の線が各遅延中に駆動されないように、前記シンボルのグループ間に導入される、請求項23に記載の装置。
  25. 前記あらかじめ定義された制御ワードを送信することが、前記CCIeバスの前記シグナリング状態における同期パターンを生成する、請求項21に記載の装置。
  26. 前記処理回路が、
    前記あらかじめ定義された制御ワードに対応するシンボルのシーケンスを、シンボルのグループ内で送信することであって、連続するシンボルのグループの各対が遅延によって分離されること
    によって、前記あらかじめ定義された制御ワードを送信するように構成される、請求項21に記載の装置。
  27. 各シンボルのグループが、パルスが前記CCIeバスの第1の線上で送信されることを引き起こし、前記パルスが前記第1の線上で送信される間に、前記CCIeバスの第2の線のシグナリング状態が不変のままであることを引き起こす、請求項26に記載の装置。
  28. 前記処理回路が、
    前記あらかじめ定義された制御ワードに対応する前記シンボルのシーケンスを、3シンボルのグループに分割すること、ならびに
    3シンボルのグループごとに、
    前記3シンボルのグループを、第1のシンボル送信レートで前記CCIeバス上で送信すること、および
    次の3シンボルのグループ内の第1のシンボルの送信を遅延させること
    を行うように構成される、請求項21に記載の装置。
  29. 前記第1の複数のワードを送信することが、前記第1の複数のワードに対応するシンボルのシーケンスを、前記第1のシンボル送信レートで送信することを含む、請求項28に記載の装置。
  30. 前記シンボルのシーケンス内の各シンボルが、前記シンボルが前記CCIeバス上で送信される間に、前記CCIeバスの少なくとも2本の線の前記シグナリング状態を決定する、請求項21に記載の装置。
JP2016546739A 2013-10-07 2014-09-15 低電力カメラ制御インターフェースバスおよびデバイス Pending JP2016541211A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361887891P 2013-10-07 2013-10-07
US61/887,891 2013-10-07
US14/485,627 2014-09-12
US14/485,627 US20150100711A1 (en) 2013-10-07 2014-09-12 Low power camera control interface bus and devices
PCT/US2014/055698 WO2015053907A1 (en) 2013-10-07 2014-09-15 Low power camera control interface bus and devices

Publications (1)

Publication Number Publication Date
JP2016541211A true JP2016541211A (ja) 2016-12-28

Family

ID=52777894

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016546739A Pending JP2016541211A (ja) 2013-10-07 2014-09-15 低電力カメラ制御インターフェースバスおよびデバイス

Country Status (6)

Country Link
US (1) US20150100711A1 (ja)
EP (1) EP3055778A1 (ja)
JP (1) JP2016541211A (ja)
KR (1) KR20160066029A (ja)
CN (1) CN105637495B (ja)
WO (1) WO2015053907A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017208713A (ja) * 2016-05-18 2017-11-24 ソニー株式会社 通信装置、通信方法、プログラム、および、通信システム

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10031547B2 (en) * 2013-12-18 2018-07-24 Qualcomm Incorporated CCIe receiver logic register write only with receiver clock
CA2856027A1 (en) * 2014-03-18 2015-09-18 Smartrek Technologies Inc. Mesh network system and techniques
US20170255588A1 (en) * 2016-03-07 2017-09-07 Qualcomm Incorporated Multiprotocol i3c common command codes
JP6911282B2 (ja) * 2016-05-18 2021-07-28 ソニーグループ株式会社 通信装置、通信方法、プログラム、および、通信システム
JP6828271B2 (ja) * 2016-05-18 2021-02-10 ソニー株式会社 通信装置、通信方法、プログラム、および、通信システム
CN106527576A (zh) * 2016-12-01 2017-03-22 郑州云海信息技术有限公司 一种pcie设备的时钟分离设计方法和系统
DE112016007532T5 (de) * 2016-12-21 2019-09-26 Vacon Oy Priorisierte serielle kommunikation
US10649946B1 (en) * 2019-01-15 2020-05-12 Nxp Usa, Inc. Fast link turnaround using MIPI D-PHY
US11606156B1 (en) * 2019-04-25 2023-03-14 Acacia Communications, Inc. Clock synchronization
CN111510633B (zh) * 2020-04-30 2021-04-13 中国科学院长春光学精密机械与物理研究所 串行总线通信系统及通信方法
JP2023089317A (ja) * 2020-05-11 2023-06-28 ソニーセミコンダクタソリューションズ株式会社 通信装置及び通信システム
CN113721501A (zh) * 2021-08-12 2021-11-30 珠海格力电器股份有限公司 编码器的低功耗控制方法、装置、控制器和编码器

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3539287B2 (ja) * 1999-07-15 2004-07-07 セイコーエプソン株式会社 データ転送制御装置及び電子機器
US20040218599A1 (en) * 2003-05-01 2004-11-04 Genesis Microchip Inc. Packet based video display interface and methods of use thereof
US7733915B2 (en) * 2003-05-01 2010-06-08 Genesis Microchip Inc. Minimizing buffer requirements in a digital video system
EP2247068B1 (en) * 2003-12-08 2013-09-25 Qualcomm Incorporated High data rate interface with improved link synchronization
US7689856B2 (en) * 2006-11-08 2010-03-30 Sicortex, Inc. Mesochronous clock system and method to minimize latency and buffer requirements for data transfer in a large multi-processor computing system
US8223796B2 (en) * 2008-06-18 2012-07-17 Ati Technologies Ulc Graphics multi-media IC and method of its operation
US8320770B2 (en) * 2009-03-20 2012-11-27 Fujitsu Limited Clock and data recovery for differential quadrature phase shift keying
US8291207B2 (en) * 2009-05-18 2012-10-16 Stmicroelectronics, Inc. Frequency and symbol locking using signal generated clock frequency and symbol identification
EP3048536B1 (en) * 2011-10-05 2020-02-19 Analog Devices, Inc. Two-wire communication system for high-speed data and power distribution
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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017208713A (ja) * 2016-05-18 2017-11-24 ソニー株式会社 通信装置、通信方法、プログラム、および、通信システム
US11791934B2 (en) 2016-05-18 2023-10-17 Sony Group Corporation Communication device, communication method, program, and communication system

Also Published As

Publication number Publication date
US20150100711A1 (en) 2015-04-09
KR20160066029A (ko) 2016-06-09
CN105637495A (zh) 2016-06-01
CN105637495B (zh) 2018-08-07
WO2015053907A1 (en) 2015-04-16
EP3055778A1 (en) 2016-08-17

Similar Documents

Publication Publication Date Title
JP2016541211A (ja) 低電力カメラ制御インターフェースバスおよびデバイス
KR101790900B1 (ko) 카메라 제어 인터페이스 확장 버스
JP6625557B2 (ja) センサーグローバルバス
US20150220472A1 (en) Increasing throughput on multi-wire and multi-lane interfaces
JP2016538747A (ja) Phyの変更を最小限に抑えかつプロトコルを変更せずにmipi d−phyリンクレートを向上させるための方法
US10484164B2 (en) Clock and data recovery for pulse based multi-wire link
US9710424B2 (en) Synchronization method for multi-symbol words
US9490964B2 (en) Symbol transition clocking clock and data recovery to suppress excess clock caused by symbol glitch during stable symbol period