(57)【要約】  カメラ制御インターフェースバスからデータおよびクロックを抽出するためのシステム、方法、および装置について説明する。シンボルをバス上で送信中である間に、送信クロックが生成され得、シンボルをバスから受信しているとき、受信クロックが抽出され得る。装置がシンボルを送信中または受信中ではないとき、ハートビートクロックが、バス上で送信されるシンボルから抽出され得る。送信クロックは、バスのコネクタの対上での送信のためのシンボルのシーケンス内でデータを符号化するために使用され得る。受信クロックは、バス上で送信されるシンボル間で発生する遷移を検出すること、および、その遷移に基づいて、受信クロックを生成することによって抽出され得る。ハートビートクロックは、装置の動作を制御するため、または、装置の1つまたは複数の機能を同期させるために使用され得る。ハートビートクロックは、バス上で送信される制御ワード内で符号化され得る。
2016541211.tif 000002
【特許請求の範囲】
【請求項１】
データ通信の方法であって、
第1の複数のワードを、第1の動作モード中にカメラ制御インターフェース拡張(CCIe)バス上で第1のレートで送信するステップであって、前記第1の複数のワードはデータまたは制御情報を備えるステップと、
あらかじめ定義された制御ワードを、第2の動作モード中に前記CCIeバス上で第2のレートで反復的に送信するステップであって、前記第2のレートは前記第1のレートよりも低いステップと、
第2の複数のワードを、前記第2の動作モードの終了時に前記CCIeバス上で前記第1のレートで送信するステップと
を含み、
前記CCIeバス上で送信される各ワードが、シンボルのシーケンス内で送信され、前記シンボルのシーケンス内の連続するシンボルの各対が、2つの異なるシンボルを備え、
受信機が、2つ以上のシンボルが前記CCIeバス上で送信されるとき、前記CCIeバスのシグナリング状態における遷移から受信クロックを抽出するように構成される、方法。
【請求項２】
前記あらかじめ定義された制御ワードが、前記CCIeバス上で送信されるあらかじめ定義された制御ワードごとに、単一のパルスが前記CCIeバスの第1の線上で送信されることを引き起こす、請求項1に記載の方法。
【請求項３】
前記第2のレートが、前記あらかじめ定義された制御ワードに対応するシンボルのシーケンス内のシンボルのグループ間に遅延を導入することによって取得される、請求項1に記載の方法。
【請求項４】
前記遅延が、前記CCIeバスの両方の線が各遅延中に駆動されないように、前記シンボルのグループ間に導入される、請求項3に記載の方法。
【請求項５】
前記あらかじめ定義された制御ワードを送信するステップが、前記CCIeバスの前記シグナリング状態における同期パターンを生成する、請求項1に記載の方法。
【請求項６】
前記あらかじめ定義された制御ワードを送信するステップが、
前記あらかじめ定義された制御ワードに対応するシンボルのシーケンスを、シンボルのグループ内で送信するステップであって、連続するシンボルのグループの各対が遅延によって分離されるステップ
を含む、請求項1に記載の方法。
【請求項７】
各シンボルのグループが、パルスが前記CCIeバスの第1の線上で送信されることを引き起こし、前記パルスが前記第1の線上で送信される間に、前記CCIeバスの第2の線のシグナリング状態が不変のままであることを引き起こす、請求項6に記載の方法。
【請求項８】
前記あらかじめ定義された制御ワードを送信するステップが、
前記あらかじめ定義された制御ワードに対応する前記シンボルのシーケンスを、3シンボルのグループに分割するステップと、
3シンボルのグループごとに、
前記3シンボルのグループを、第1のシンボル送信レートで前記CCIeバス上で送信するステップと、
次の3シンボルのグループ内の第1のシンボルの送信を遅延させるステップと
を含む、請求項1に記載の方法。
【請求項９】
前記第1の複数のワードを送信するステップが、前記第1の複数のワードに対応するシンボルのシーケンスを、前記第1のシンボル送信レートで送信するステップを含む、請求項8に記載の方法。
【請求項１０】
前記シンボルのシーケンス内の各シンボルが、前記シンボルが前記CCIeバス上で送信される間に、前記CCIeバスの少なくとも2本の線の前記シグナリング状態を決定する、請求項1に記載の方法。
【請求項１１】
データ通信の方法であって、
送信動作モードである間に、送信クロックを生成するステップであって、前記送信クロックは、カメラ制御インターフェース拡張(CCIe)バスのコネクタの対上で送信されるべきシンボルのシーケンス内でデータまたは制御情報を符号化するために使用されるステップと、
別のデバイスが前記CCIeバス上で情報を送信中である間に、前記CCIeバスのシグナリング状態における遷移から受信クロックを抽出するステップと、
休止動作モード中に、少なくとも1つのクロック信号を生成することをやめるステップと、
前記受信クロックを使用して、前記休止動作モード中に1つまたは複数の動作を制御するステップと
を含み、
前記CCIeバス上で送信される連続するシンボルの各対が、2つの異なるシンボルを含む、方法。
【請求項１２】
シンボルを前記CCIeバス上で送信していないとき、前記送信クロックを生成することをやめるステップ
をさらに含む、請求項11に記載の方法。
【請求項１３】
前記受信クロックが、データまたは制御情報が前記CCIeバスの2つのノード間で送信されるときよりも、前記CCIeバスがアイドル動作モードであるときにより長い周期を有する、請求項11に記載の方法。
【請求項１４】
前記受信クロックを抽出するステップが、
前記CCIeバスがアイドル動作モードであるとき、前記CCIeバス上で送信されるシンボルからハートビートクロックを抽出するステップ
を含み、
前記ハートビートクロックが、あらかじめ定義された制御ワードに対応するシンボルのシーケンスから抽出され、
前記ハートビートクロックが、データまたは制御情報が前記CCIeバスの2つのノード間で送信されるとき、前記CCIeバスから抽出された受信クロックよりも低い周波数を有する、請求項11に記載の方法。
【請求項１５】
前記方法が、
前記CCIeバスの前記シグナリング状態の遷移における同期パターンを決定するステップ
をさらに含み、
前記同期パターンが、前記CCIeバスがアイドル動作モードであるとき、前記CCIeバス上で送信されるあらかじめ定義された制御ワードに対応するシンボルのシーケンスによって生成される、請求項11に記載の方法。
【請求項１６】
カメラ制御インターフェースバス上でスレーブデバイスとして動作するように構成可能な装置であって、
処理回路を備え、前記処理回路が、
送信動作モードである間に、送信クロックを生成することであって、前記送信クロックは、カメラ制御インターフェース拡張(CCIe)バスのコネクタの対上で送信されるべきシンボルのシーケンス内でデータまたは制御情報を符号化するために使用されること、
別のデバイスが前記CCIeバス上で情報を送信中である間に、前記CCIeバスのシグナリング状態における遷移から受信クロックを抽出すること、
休止動作モード中に、少なくとも1つのクロック信号を生成することをやめること、および
前記受信クロックを使用して、前記休止動作モード中に1つまたは複数の動作を制御すること
を行うように構成され、
前記CCIeバス上で送信される連続するシンボルの各対が、2つの異なるシンボルを含む、装置。
【請求項１７】
前記処理回路が、
シンボルを前記CCIeバス上で送信していないとき、前記送信クロックを生成することをやめること
を行うように構成される、請求項16に記載の装置。
【請求項１８】
前記受信クロックが、データまたは制御情報が前記CCIeバスの2つのノード間で送信されるときよりも、前記CCIeバスがアイドル動作モードであるときにより長い周期を有する、請求項16に記載の装置。
【請求項１９】
前記処理回路が、
前記CCIeバスがアイドル動作モードであるとき、前記CCIeバス上で送信されるシンボルからハートビートクロックを抽出すること
を行うように構成され、
前記ハートビートクロックが、あらかじめ定義された制御ワードに対応するシンボルのシーケンスから抽出され、
前記ハートビートクロックが、データまたは制御情報が前記CCIeバスの2つのノード間で送信されるとき、前記CCIeバスから抽出された受信クロックよりも低い周波数を有する、請求項16に記載の装置。
【請求項２０】
前記処理回路が、
前記CCIeバスの前記シグナリング状態の遷移における同期パターンを決定すること
を行うように構成され、
前記同期パターンが、前記CCIeバスがアイドル動作モードであるとき、前記CCIeバス上で送信されるあらかじめ定義された制御ワードに対応するシンボルのシーケンスによって生成される、請求項16に記載の装置。
【請求項２１】
カメラ制御インターフェースバス上でマスタデバイスとして動作するように構成可能な装置であって、
処理回路を備え、前記処理回路が、
第1の複数のワードを、第1の動作モード中にカメラ制御インターフェース拡張(CCIe)バス上で第1のレートで送信することであって、前記第1の複数のワードはデータまたは制御情報を備えること、
あらかじめ定義された制御ワードを、第2の動作モード中に前記CCIeバス上で第2のレートで反復的に送信することであって、前記第2のレートは前記第1のレートよりも低いこと、および
第2の複数のワードを、前記第2の動作モードの終了時に前記CCIeバス上で前記第1のレートで送信すること
を行うように構成され、
前記CCIeバス上で送信される各ワードが、シンボルのシーケンス内で送信され、前記シンボルのシーケンス内の連続するシンボルの各対が、2つの異なるシンボルを備え、
受信機が、2つ以上のシンボルが前記CCIeバス上で送信されるとき、前記CCIeバスのシグナリング状態における遷移から受信クロックを抽出するように構成される、装置。
【請求項２２】
前記あらかじめ定義された制御ワードが、前記CCIeバス上で送信されるあらかじめ定義された制御ワードごとに、単一のパルスが前記CCIeバスの第1の線上で送信されることを引き起こす、請求項21に記載の装置。
【請求項２３】
前記第2のレートが、前記あらかじめ定義された制御ワードに対応するシンボルのシーケンス内のシンボルのグループ間に遅延を導入することによって取得される、請求項21に記載の装置。
【請求項２４】
前記遅延が、前記CCIeバスの両方の線が各遅延中に駆動されないように、前記シンボルのグループ間に導入される、請求項23に記載の装置。
【請求項２５】
前記あらかじめ定義された制御ワードを送信することが、前記CCIeバスの前記シグナリング状態における同期パターンを生成する、請求項21に記載の装置。
【請求項２６】
前記処理回路が、
前記あらかじめ定義された制御ワードに対応するシンボルのシーケンスを、シンボルのグループ内で送信することであって、連続するシンボルのグループの各対が遅延によって分離されること
によって、前記あらかじめ定義された制御ワードを送信するように構成される、請求項21に記載の装置。
【請求項２７】
各シンボルのグループが、パルスが前記CCIeバスの第1の線上で送信されることを引き起こし、前記パルスが前記第1の線上で送信される間に、前記CCIeバスの第2の線のシグナリング状態が不変のままであることを引き起こす、請求項26に記載の装置。
【請求項２８】
前記処理回路が、
前記あらかじめ定義された制御ワードに対応する前記シンボルのシーケンスを、3シンボルのグループに分割すること、ならびに
3シンボルのグループごとに、
前記3シンボルのグループを、第1のシンボル送信レートで前記CCIeバス上で送信すること、および
次の3シンボルのグループ内の第1のシンボルの送信を遅延させること
を行うように構成される、請求項21に記載の装置。
【請求項２９】
前記第1の複数のワードを送信することが、前記第1の複数のワードに対応するシンボルのシーケンスを、前記第1のシンボル送信レートで送信することを含む、請求項28に記載の装置。
【請求項３０】
前記シンボルのシーケンス内の各シンボルが、前記シンボルが前記CCIeバス上で送信される間に、前記CCIeバスの少なくとも2本の線の前記シグナリング状態を決定する、請求項21に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、その内容全体が参照により本明細書に組み込まれる、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」に設定され得る。
【００４８】
【表１】
2016541211.tif 000003
【００４９】
場合によっては、各ユーザデータワード714は、16ビットのデータ値724と、2ビットの制御コード730と、追加のプロトコル定義(P)ビット718cとを含む。複数のユーザデータワード714a、714b、...714nは、連続的に送信され得る。書込みデータに関する制御コード730のためのビット設定の一例を、Table 2(表2)において提供する。読取りデータに関する制御コード730のためのビット設定の例を、Table 3(表3)において提供し、バースト読取りデータに関しては、Table 4(表4)において提供する。
【００５０】
【表２】
2016541211.tif 000004
【００５１】
複数の書込みデータワードが連続的に送られ得る。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であり得る。
【００５２】
【表３】
2016541211.tif 000005
【００５３】
Table 3(表3)は、ただ1つの読取りデータワード714が送信される、単一データワード714読取り(Table 1(表1)におけるR1参照)に関する。制御コード730は、CRCが次のデータワード714において送信されるか否かを決定するために使用され得る。たとえば、制御コード730は、現在のデータワード714後に送信されるべきであるCRCワード714がない場合、2進の「11」に設定され、CRCワード714が現在のデータワード714後に送信されるべきである場合、「00」に設定され得る。
【００５４】
【表４】
2016541211.tif 000006
【００５５】
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  コネクタまたは線
【図１】
2016541211.tif 000007
【図２】
2016541211.tif 000008
【図３】
2016541211.tif 000009
【図４】
2016541211.tif 000010
【図５】
2016541211.tif 000011
【図６】
2016541211.tif 000012
【図７】
2016541211.tif 000013
【図８】
2016541211.tif 000014
【図９】
2016541211.tif 000015
【図１０】
2016541211.tif 000016
【図１１】
2016541211.tif 000017
【図１２】
2016541211.tif 000018
【図１３】
2016541211.tif 000019
【図１４】
2016541211.tif 000020
【図１５】
2016541211.tif 000021
【図１６】
2016541211.tif 000022
【図１７】
2016541211.tif 000023
【図１８】
2016541211.tif 000024
【図１９】
2016541211.tif 000025
【図２０】
2016541211.tif 000026
【国際調査報告】
2016541211.tif 000027
2016541211.tif 000028