リモートバスイネーブルのためのシステムおよび技法が本明細書に開示されている。いくつかの実施形態では、リモートイネーブル機能を有する通信システムは、バスの下流セグメントに連結されたマスタトランシーバと、電圧レギュレータであって、電圧レギュレータは電圧出力とイネーブル入力とを有し、電圧出力はマスタトランシーバに連結されている、電圧レギュレータと、電圧レギュレータのイネーブル入力に連結されたスイッチと、を含み得る。
本明細書で使用されるとき、「リモートバスイネーブル」は、バスを介した通信をイネーブルするためにバス上の非マスタデバイスを使用することを指し得る。例えば、バス上のマスタデバイスが電源オフ、低電力、スリープ、またはその他のスタンバイモードにある(したがって、バスを介した通常の通信がディスエーブルされている)場合、本明細書に開示されているリモートバスイネーブルシステムおよび技法は、非マスタデバイス(例えば、スレーブデバイス、またはスイッチ等のバスに沿った別のデバイス)がマスタデバイスを「起動」させることを可能にし、それによってバス上の通信をイネーブルする。起動すると、マスタデバイスはその発見および初期化プロトコルを実行し得、その後バスは高速通信リンクとして使用され得る。本明細書で開示されるシステムおよび技法のうちの様々なものは、このため、電力節約(例えば、アクティブな通信が必要でないときに、マスタデバイスが通信システム全体を低電力モードにすることを可能にすることによって)、および完全な通信に柔軟かつ迅速に戻ること(例えば、バス上のスレーブまたは他のデバイスがマスタを起動させることを可能にすることによって)をイネーブルし得る。リモートバスイネーブルについて本明細書で開示されるシステムおよび技法のうちの様々なものは、マスタデバイスを起動させるために通常のバス通信を必要としないという意味において、それら自体が比較的低電力である場合があり、代わりに、通常のバス通信よりも少ない電力を使用する他のメカニズムを使用して、マスタデバイスの起動を開始し得る。
いくつかの従来の通信システムでは、通信バスは、マスタデバイスから発行されたコマンドによってのみイネーブルされ得、マスタデバイスがスリープ状態、またはさもなければ低電力モードであるときには、マスタデバイスは通信が回復する前に直接電源投入されなければならない。この種類の直接電源投入は、余分の線、または潜在的に、永続的に「オン」のままである(したがって、永続的に電力を消費する)完全に独立したバスシステムを必要とする可能性がある。
本明細書に開示されている実施形態のいずれも、任意の好適な設定で使用され得る。いくつかの実施形態では、後述するように、本明細書で開示される通信システムは車両内で使用されてもよく、リモートバスイネーブル技法を使用して、車両内の非マスタ構成要素が、通信システムがスリープまたは他の休止モードにあるときに通信システムを活性化することを可能にし得る。例えば、車内の(例えば、バックミラー上の)路傍支援または緊急通報ボタンを押して、(例えば、後述するように、スレーブデバイスとして、または別の様態で)ボタンが連結している通信バス内のマスタデバイスの起動をトリガし得る。別の例では、通信バスに連結されたマイクロホンが、音声コマンドが認識されるか、または騒音レベルの上昇が検出されたときにマスタデバイスの起動をトリガし得る。
以下の詳細な説明では、本明細書の一部を形成する添付の図面を参照し、全体を通して、同様の数字は同様の部分を指定し、図面中には実施可能な実施形態が例示として示されている。本開示の範囲から逸脱することなく、他の実施形態が利用され得、構造的または論理的な変更がなされ得ることを理解されたい。したがって、以下の詳細な説明は、限定的な意味で解釈されるべきではない。
様々な動作は、特許請求される主題の理解に最も役立つ様態で、複数の別個のアクションまたは動作として順番に説明され得る。しかしながら、説明の順序は、これらの動作が必然的に順序に依存することを暗示するものとして解釈されるべきではない。特に、これらの動作は、提示の順序で実行されなくてもよい。説明する動作は、説明する実施形態とは異なる順序で実行されてもよい。様々なさらなる動作が実行されてもよく、かつ/または説明する動作は、さらなる実施形態では省略されてもよい。
本開示の目的のために、「Aおよび/またはB」という言い回しは,(A)、(B)、または(AおよびB)を意味する。本開示の目的のために、「A、B、および/またはC」という言い回しは、(A)、(B)、(C)、(AおよびB)、(AおよびC)、(BおよびC)、または(A、B、およびC)を意味する。
本明細書では様々な構成要素を単数形で(例えば、「プロセッサ」、「周辺デバイス」等)言及または例示することがあるが、これは単に説明を容易にするためのものであり、単数形で言及されたいかなる要素も、本明細書の教示による複数のそのような要素を含み得る。
本説明では、「一実施形態では(in an embodiment)」または「実施形態では(in embodiments)」という言い回しを使用するが、これらは各々、1つ以上の同じまたは異なる実施形態に言及してもよい。さらに、本開示の実施形態に関して使用されるとき、「備える(comprising)」、「含む(including)」、「有する(having)」等の用語は同義語である。本明細書で使用されるとき、「回路」という用語は、特定用途向け集積回路(ASIC)、電子回路、および光学回路、1つ以上のソフトウェアまたはファームウェアプログラムを実行するプロセッサ(共有、専用、またはグループ)、および/またはメモリ(共有、専用、またはグループ)、組み合わせ論理回路、および/または記載された機能を提供する他の好適なハードウェアを指してもよく、その一部であってもよく、またはそれらを含んでもよい。マスタノードは、本明細書ではマスタ「デバイス」と呼ばれることもあり、同様に、スレーブノードは、本明細書ではスレーブ「デバイス」と呼ばれることもある。
図1は、様々な実施形態による、例示的な半二重2線式通信システム100のブロック図である。システム100は、ホスト110、マスタノード102、および少なくとも1つのスレーブノード104を含む。図1において、3つのスレーブノード(0、1、および2)が例示されている。図1における3つのスレーブノード104の描写は単純に例示的であり、システム100は、所望に応じて、1つ、2つ、またはそれ以上のスレーブノード104を含み得る。
マスタノード102は、2線式バス106を介してスレーブノード104と通信し得る。バス106は、バス106に沿うノードをデイジーチェーン様式で接続するためにバス106に沿って隣接するノード間に異なる2線式バスリンクを含んでもよい。例えば,図1に図示されるように、バス106は、マスタノード102をスレーブノード0に連結させるリンク、スレーブノード0をスレーブノード1に連結させるリンク、およびスレーブノード1をスレーブノード2に連結させるリンクを含み得る。いくつかの実施形態では、バス106のリンクは各々、単一のツイストペア線(例えば、非シールドツイストペア)から形成されてもよい。いくつかの実施形態では、バス106のリンクは各々、同軸ケーブルから形成されてもよい(例えば、コアが「正の」線を提供し、シールドが「負の」線を提供する、またはその逆)。
ホスト110は、マスタノード102をプログラムし、バス106に沿って送信される様々なペイロードの発信者および受信者として作用するプロセッサを含み得る。いくつかの実施形態では、ホスト110は、例えば,マイクロコントローラであるか、それを含み得る。特に、ホスト110は、バス106に沿って起こる集積回路間サウンド(I2S)通信のマスタであってもよい。ホスト110は、I2S/時分割多重(TDM)バスおよび/または集積回路間(I2C)バスを介してマスタノード102と通信し得る。いくつかの実施形態では、マスタノード102は、ホスト110のハウジング内に位置するトランシーバ(例えば、図2を参照して以下に説明するノードトランシーバ120)であってもよい。マスタノード102は、構成および読取りのために、I2Cバスを介してホスト110によってプログラム可能であってもよく、全てのスレーブノード104に対するクロック、同期、およびフレーム形成を生成するように構成されてもよい。いくつかの実施形態では、マスタノード102内のホスト110間のI2C制御バスの拡張は、バス106を介して送信されるデータストリームに埋め込まれてもよく、ホスト110が1つ以上のスレーブノード104に対するレジスタおよびステータス情報に直接アクセスすることを可能にし、ならびに遠距離にわたるI2C間通信をイネーブルして、ホスト110が周辺デバイス108を制御することを可能にし得る。
マスタノード102は、「下流」信号(例えば、バス106に沿ってマスタノード102から離れて送信されるデータ信号、電力信号等)を生成し、「上流」信号(例えば、バス106に沿ってマスタノード102に向けて送信された)を受信し得る。マスタノード102は、バス106を介する同期データ送信のためのクロック信号を提供し得る。本明細書で使用されるとき、「同期データ」は、バス106に沿った同じノードへの/からの2つの連続した送信間に固定時間間隔で連続的にストリーミングされるデータ(例えば、オーディオ信号)を含み得る。いくつかの実施形態では、マスタノード102によって提供されるクロック信号は、ホスト110によってマスタノード102に提供されるI2S入力から導出されてもよい。スレーブノード104は、バス106上で下流に、またはバス106上で上流に送信されるデータフレームの可能な宛先を表すアドレス可能なネットワーク接続点であってもよい。スレーブノード104は、下流または上流データフレームの可能なソースを表してもよい。システム100は、制御情報および他のデータがバス106を介して1つのノードから次のノードに両方向に送信されることを可能にしてもよい。1つ以上のスレーブノード104は、またバス106を介して送信される信号によって電力供給されてもよい。
特に、マスタノード102およびスレーブノード104の各々は、正の上流端子(「AP」として示される)、負の上流端子(「AN」として示される)、正の下流端子(「BP」として示される)、および負の下流端子(「BN」として示される)を含み得る。ノードの正および負の下流端子は、隣接する下流ノードの正および負の上流端子にそれぞれ連結され得る。図1に示すように、マスタノード102は、正および負の上流端子を含み得るが,これらの端子は使用されない場合があり、他の実施形態では、マスタノード102は、正および負の上流端子を含まない場合がある。バス106に沿った最後のスレーブノード104(図1のスレーブノード2)は、正および負の下流端子を含み得るが、これらの端子は使用されない場合があり、他の実施形態では、バスに沿った最後のスレーブノード104は、正および負の下流端子を含まない場合がある。
以下に詳細に論じられるように、マスタノード102は、任意選択的に1つ以上のスレーブノード104を意図したデータと共に、周期的に同期制御フレームを下流に送出してもよい。例えば、マスタノード102は、同期制御フレームを1024ビット(スーパーフレームを表す)毎に48kHzの周波数で送信してもよく、49.152Mbpsのバス106上の実効ビットレートをもたらす。例えば44.1kHzを含む他のレートがサポートされてもよい。同期制御フレームは、スレーブノード104が各スーパーフレームの開始を識別することを可能にし、また、物理層符号化/信号化と組み合わせて、各スレーブノード104がバス106からその内部動作クロックを導出することを可能にし得る。同期制御フレームは、同期の開始を信号伝送するためのプリアンブル、ならびに様々なアドレス指定モード(例えば、通常、ブロードキャスト、発見)を可能にする制御フィールド、構成情報(例えば、スレーブノード104のレジスタへの書き込み)、I2C情報の伝達、スレーブノード104における特定の汎用入出力(GPIO)ピンのリモート制御、および他のサービスを含んでもよい。プリアンブルおよびペイロードデータに続く同期制御フレームの一部は、同期制御フレーム内の情報が新しいプリアンブルと間違えられる可能性を低減し、関連する電磁放射のスペクトルを平坦化するためにスクランブルされてもよい。
同期制御フレームは、マスタノード102によって最後のスレーブノード104として構成されたか、またはそれ自体を最後のスレーブノード104として自己識別した最後のスレーブノード104(すなわち、図1のスレーブノード2)に到達するまで、(任意選択で、マスタノード102から到来し得るが、追加的または代替的に1つ以上の上流のスレーブノード104から、またはスレーブノード104自体から到来し得る他のデータと共に)スレーブノード104間を通されてもよい。同期制御フレームを受信すると、最後のスレーブノード104は、同期応答フレームを送信し、続いて送信が許可されている任意のデータ(例えば、指定されたタイムスロット内の24ビットオーディオサンプル)を送信し得る。同期応答フレームは、(任意選択で下流のスレーブノード104からのデータと共に)スレーブノード104間で上流に通されてもよく、同期応答フレームに基づいて、各スレーブノード104は、もしあれば、スレーブノード104が送信を許可されるタイムスロットを識別することができてもよい。
いくつかの実施形態では、システム100内の1つ以上のスレーブノード104は、周辺デバイス108に連結され、それと通信し得る。例えば、スレーブノード104は、後述するように、I2S、パルス密度変調(PDM)、TDM、および/またはI2Cプロトコルを使用して、関連付けられた周辺デバイス108からデータを読み、および/またはデータ書くように構成され得る。本明細書では「周辺デバイス108」を単数形で呼ぶことがあるが、これは単に議論を簡単にするためのものであり、単一のスレーブノード104が0個、1個、またはそれを超える周辺デバイスと連結されてもよい。周辺デバイス108に含まれ得る周辺デバイスの例としては、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、アナログ/デジタル変換器(ADC)、デジタル/アナログ変換器(DAC)、デジタル/アナログ変換器(DAC)、コーデック、マイクロホン、マイクロホンアレイ、スピーカ、オーディオアンプ、プロトコルアナライザ、加速度計またはその他の動きセンサ、環境条件センサ(例えば、温度、湿度、および/またはガスセンサ)、有線または無線通信トランシーバ、表示デバイス(例えば、タッチスクリーンディスプレイ)、ユーザインターフェース構成要素(例えば、ボタン、ダイヤル、または他の制御)、カメラ(例えばビデオカメラ)、メモリデバイス、あるいはデータを送信および/または受信する任意の他の好適なデバイス、を含み得る。本明細書では、異なる周辺デバイス構成のいくつかの例を詳細に論じる。
いくつかの実施形態では、周辺デバイス108は、集積回路間サウンド(I2S)通信用に構成された任意のデバイスを含み得、周辺デバイス108は、I2Sプロトコルを介して関連付けられたスレーブノード104と通信し得る。いくつかの実施形態では、周辺デバイス108は、集積回路間(I2C)通信用に構成された任意のデバイスを含み得、周辺デバイス108は、I2Cプロトコルを介して関連付けられたスレーブノード104と通信し得る。いくつかの実施形態では、スレーブノード104は、どの周辺デバイス108にも連結されなくてもよい。
スレーブノード104およびそれに関連付けられた周辺デバイス108は別々のハウジングに収容され、有線または無線通信接続を通して連結されてもよく、あるいは共通ハウジングに収容されてもよい。例えば、周辺デバイス108として接続されたスピーカは、関連付けられたスレーブノード104のためのハードウェアが他のスピーカ部品を含むハウジング内に収容されるように、関連付けられたスレーブノード104(例えば、図2を参照して以下で論じられるノードトランシーバ120)のためのハードウェアと共にパッケージ化されてもよい。同じことは、任意の種類の周辺デバイス108にも当てはまり得る。
上記で論じたように、ホスト110は、マルチチャネルI2SおよびI2C通信プロトコルを使用してマスタノード102と通信し、かつ制御し得る。特に、ホスト110は、I2Sを介してマスタノード102内のフレームバッファ(図示せず)にデータを送信し、マスタノード102は、フレームバッファからデータを読み出し、バス106に沿ってデータを送信し得る。類似して、マスタノード102は、バス106を介して受信したデータをフレームバッファ内に記憶し得、次いで、I2Sを介してホスト110にデータを送信し得る。
各スレーブノード104は、マスタノード102からの通信によって構成され得る内部制御レジスタを有し得る。いくつかのこのようなレジスタを以下で詳細に論じる。各スレーブノード104は、下流データを受信してもよく、データをさらに下流に再送信してもよい。各スレーブノード104は、上流データを受信および/または生成し、および/またはデータを上流に再送信し、かつ/またはデータを上流トランザクションに追加してもよい。
バス106に沿った通信は,周期的スーパーフレーム内で起こり得る。各スーパーフレームは、下流同期制御フレームで開始し、下流送信の期間(「下流部分」とも呼ばれる)、上流送信の期間(「上流部分」とも呼ばれる)、および無送信の期間(バス106が駆動されていない)に分割され、別の下流同期制御フレームの送信直前に終了し得る。マスタノード102は、1つ以上のスレーブノード104に送信するためのいくつかの下流部分と、1つ以上のスレーブノード104から受信するためのいくつかの上流部分とで(ホスト110によって)プログラムされ得る。各スレーブノード104は、バス106を下って再送信するためのいくつかの下流部分と、消費するためのいくつかの下流部分と、バス106を上って再送信するためのいくつかの上流部分と、スレーブノード104がスレーブノード104から受信したデータを関連付けられた周辺デバイス108から送信し得るいくつかの上流部分とで(マスタノード102によって)プログラムされ得る。バス106に沿った通信は、図2〜図12を参照して以下でさらに詳細に論じられる。
マスタノード102およびスレーブノード104の各々は、システム100の構成要素間の通信を管理するためのトランシーバを含み得る。図2は、様々な実施形態による、図1のシステム100のノード(例えば、マスタノード102またはスレーブノード104)に含まれ得るノードトランシーバ120のブロック図である。いくつかの実施形態では、ノードトランシーバ120はシステム100のノードの各々に含まれてもよく、制御信号が、ノードトランシーバ120がマスタ(例えば、MSTRピンが高のとき)として作用するか、またはスレーブ(例えば、MSTRピンが低のとき)として作用するかを示すために、マスタ(MSTR)ピンを介してノードトランシーバ120に提供され得る。
ノードトランシーバ120は、上流差動信号(DS)トランシーバ122および下流DSトランシーバ124を含み得る。上流DSトランシーバ122は、図1を参照して上述した正および負の上流端子に連結され得、下流DSトランシーバ124は、図1を参照して上述した正および負下流端子に連結され得る。いくつかの実施形態では、上流DSトランシーバ122は、低電圧DS(LVDS)トランシーバであってもよく、下流DSトランシーバ124は、LVDSトランシーバであってもよい。システム100内の各ノードは、バス106にAC連結されてもよく、データ信号は、バス106を介してタイミング情報を提供するための適切な符号化(例えば、差動マンチェスタ符号化、バイフェーズマーク符号化、マンチェスタ符号化、非ゼロ復帰、ランレングス制限を伴う非ゼロ復帰反転(NRZI)符号化、または任意の他の好適な符号化)を伴う所定の形態のDS(例えば、LVDSまたはマルチポイントLVDS(MLVDS)または同様の信号伝送)を使用して、(例えば、上流DSトランシーバ122および/または下流DSトランシーバ124を介して)バス106に沿って伝達されてもよい。
上流DSトランシーバ122および下流DSトランシーバ124は、バスプロトコル回路126と通信してもよく、バスプロトコル回路126は、他の構成要素の中でも、位相ロックループ(PLL)128および電圧レギュレータ回路130と通信し得る。ノードトランシーバ120が電源投入されると、電圧レギュレータ回路130は、PLL128によって電源投入リセットとして使用される「電源良好」信号を立ち上げてもよい。
上述のように、システム100内の1つ以上のスレーブノード104は、データと同時にバス106を介して送信される電力を受け取ってもよい。この動作モードは、本明細書では「ファントム給電」と呼ばれることがある。配電のため(これは、スレーブノード104のうちのいくつかは、専らそれらに提供されるローカル電源を有するように構成され得るので、任意選択である)、マスタノード102は、マスタノード102とスレーブノード0との間のバスリンクにDCバイアスをかけてもよい(例えば、下流端子の一方を電圧レギュレータによって提供される電圧源に接続し、他方の下流端子を接地することによって)。DCバイアスは、5V、8V、自動車バッテリの電圧、またはより高い電圧等の所定の電圧であってもよい。相続く各スレーブノード104は、電力を回復するためにその上流バスリンクを選択的にタップすることができる(例えば、電圧レギュレータ回路130を使用して)。この電力を使用して、スレーブノード104自体(および、任意選択的に、スレーブノード104に連結された1つ以上の周辺デバイス108)に給電してもよい。スレーブノード104はまた、上流バスリンクから、またはローカル電源から回復された電力のいずれかによって、次のインラインスレーブノード104のために下流バスリンクに選択的にバイアスをかけてもよい。例えば、スレーブノード0は、上流バスリンク106上のDCバイアスを使用して、スレーブノード0自体および/または1つ以上の関連付けられた周辺デバイス108のための電力を回復してもよく、および/またはスレーブノード0は、その下流バスリンク106をバイアスするために、その上流バスリンク106から電力を回復してもよい。
このため、いくつかの実施形態では、システム100内の各ノードは、下流バスリンクを介して後続の下流ノードに電力を提供し得る。ノードの給電は、シーケンス化された様態で実行されてもよい。例えば、バス106を介してスレーブノード0を発見および構成した後、マスタノード102は、スレーブノード1に電力を供給するために、その下流バスリンク106に電力を供給するようにスレーブノード0に指示してもよく、スレーブノード1が発見および構成された後、マスタノード102は、スレーブノード2に電力を供給するために、その下流バスリンク106に電力を供給するようにスレーブノード1に指示してもよく、(バス106に連結された追加のスレーブノード104についても同様である。いくつかの実施形態では、1つ以上のスレーブノード104は、その上流バスリンクから電力供給される代わりに、またはそれに追加して、ローカルで給電されてもよい。いくつかのそのような実施形態では、所与のスレーブノード104のためのローカル電源を使用して、1つ以上の下流スレーブノードに電力を提供してもよい。
いくつかの実施形態では、上流フィルタリング回路132は、上流DSトランシーバ122と電圧レギュレータ回路130との間に配設され得、下流フィルタリング回路131は、下流DSトランシーバ124と電圧レギュレータ回路130との間に配設され得る。バス106の各リンクは、AC(信号)およびDC(電力)成分を搬送し得るので、上流フィルタリング回路132および下流フィルタリング回路131はACおよびDC成分を分離し、AC成分を上流DSトランシーバ122および下流DSトランシーバ124に提供し、DC成分を電圧レギュレータ130に提供してもよい。上流DSトランシーバ122および下流DSトランシーバ124のライン側のAC結合は、高速双方向通信を可能にするために、トランシーバ122および124をライン上のDC成分から実質的に切り離す。上記で論じたように、DC成分は、給電のためにタップされてもよく、上流フィルタリング回路132および下流フィルタリング回路131は、電圧レギュレータ回路130に提供されるAC成分を低減するために、例えば、フェライト、コモンモードチョーク、またはインダクタを含んでもよい。いくつかの実施形態では、上流フィルタリング回路132は、上流DSトランシーバ122に含まれてもよく、および/または下流フィルタリング回路131は、下流DSトランシーバ124に含まれてもよく、他の実施形態では、フィルタリング回路は、トランシーバ122および124の外部であってもよい。
ノードトランシーバ120は、ノードトランシーバ120と外部デバイス155との間のI2S、TDM、およびPDM通信のためのトランシーバ127を含み得る。「外部デバイス155」は、本明細書において単数形で言及することがあるが、これは単に例示を容易にするためであり、複数の外部デバイスが、I2S/TDM/PDMトランシーバ127を介してノードトランシーバ120と通信し得る。当技術分野において既知のように、I2Sプロトコルは、(例えば、プリント回路基板(PCB)上のオーディオチップ間で)パルス符号変調(PCM)情報を搬送するためのものである。本明細書で使用されるとき、「I2S/TDM」は、TDMを使用する複数のチャネルへのI2Sステレオ(2チャネル)コンテンツの拡張を指し得る。当技術分野において既知のように、PDMは、シグマデルタ変換器において使用され得、特に、PDMフォーマットは、間引き前のオーバーサンプルされた1ビットシグマデルタADC信号を表し得る。PDMフォーマットは、デジタルマイクロホンの出力フォーマットとしてしばしば使用される。I2S/TDM/PDMトランシーバ127は、バスプロトコル回路126および外部デバイス155との通信のためのピンと通信し得る。6つのピン、BCLK、SYNC、DTX[1:0]、およびDRX[1:0]が図2に図示され、BCLKピンは、I2Sビットクロックのために使用され得、SYNCピンは、I2Sフレーム同期信号のために使用され得、DTX[1:0]ピンおよびDRX[1:0]ピンは、それぞれ送信および受信データチャネルのために使用される。2つの送信ピン(DTX[1:0])および2つの受信ピン(DRX[1:0])が図2に図示されているが、任意の所望の数の受信および/または送信ピンが使用されてもよい。
ノードトランシーバ120がマスタノード102に含まれる場合、外部デバイス155は、ホスト110を含んでもよく、I2S/TDM/PDMトランシーバ127は、ホスト110からデータを受信し、ホスト110のI2Sインターフェースクロックと同期してデータをホスト110に送出することができるI2Sスレーブ(BCLKおよびSYNCに関して)を提供してもよい。特に、I2Sフレーム同期信号は、SYNCピンでホスト110からの入力として受信されてもよく、PLL128は、その信号を使用してクロックを生成してもよい。ノードトランシーバ120がスレーブノード104に含まれる場合、外部デバイス155は、1つ以上の周辺デバイス108を含んでもよく、I2S/TDM/PDMトランシーバ127は、周辺デバイス108とのI2S通信を制御することができる(BCLKおよびSYNCのための)I2Sクロックマスタを提供してもよい。特に、I2S/TDM/PDMトランシーバ127は、SYNCピンにI2Sフレーム同期信号を出力として提供してもよい。ノードトランシーバ120内のレジスタは、バス106を介してデータスロットとして、どのかつどれだけの数のI2S/TDMチャネルが送信されているかを決定してもよい。ノードトランシーバ120内のTDMモード(TDMMODE)レジスタは、TDM送信または受信ピン上の連続するSYNCパルス間にいくつのTDMチャネルが適合するかの値を記憶してもよい。チャネルサイズの知識と共に、ノードトランシーバ120は、サンプリング時間(例えば、48kHz)内のビット量と一致するように、BCLKレートを自動的に設定してもよい。
ノードトランシーバ120は、ノードトランシーバ120と外部デバイス157との間のI2C通信のためのトランシーバ129を含み得る。「外部デバイス157」は、単数形で呼ぶことがあるが、これは単に例示を簡単にするためのものであり、複数の外部デバイスが、I2Cトランシーバ129を介してノードトランシーバ120と通信し得る。当技術分野において既知のように、I2Cプロトコルは、クロック(SCL)およびデータ(SDA)ラインを使用してデータ移送を提供する。I2Cトランシーバ129は、バスプロトコル回路126および外部デバイス157との通信のためのピンと通信し得る。4つのピン、ADR1、ADR2、SDA、およびSCLが図2に図示され、ADR1およびADR2は、ノードトランシーバ120がI2Cスレーブとして作用するとき(例えば、それがマスタノード102に含まれるとき)、ノードトランシーバ120によって使用されるI2Cアドレスを修正するために使用されてもよく、およびSDAおよびSCLは、それぞれI2Cシリアルデータおよびシリアルクロック信号として使用される。ノードトランシーバ120がマスタノード102に含まれる場合、外部デバイス157は、ホスト110を含んでもよく、I2Cトランシーバ129は、ホスト110からプログラミング命令を受け取ることができるI2Cスレーブを提供してもよい。特に、I2Cシリアルクロック信号は、SCLピンにレジスタアクセスのためのホスト110からの入力として受信されてもよい。ノードトランシーバ120がスレーブノード104に含まれる場合、外部デバイス157は、周辺デバイス108を含んでもよく、I2Cトランシーバ129は、ホスト110によって提供され、かつバス106を介してノードトランシーバ120に送信される命令に従って、I2Cトランシーバが1つ以上の周辺デバイスをプログラムすることを可能にするためにI2Cマスタを提供してもよい。特に、I2Cトランシーバ129は、SCLピンにI2Cシリアルクロック信号を出力として提供してもよい。
ノードトランシーバ120は、バスプロトコル回路126と通信する割り込み要求(IRQ)ピンを含み得る。ノードトランシーバ120がI2Cトランシーバ129を介してマスタノード102に含まれる場合、バスプロトコル回路126は、IRQピンを介してホスト110に向けてイベント駆動型割り込み要求を提供し得る。ノードトランシーバ120がスレーブノード104に含まれるとき(例えば、MSTRピンが低のとき)、IRQピンは、割り込み要求能力を有するGPIOピンとして機能し得る。ノードトランシーバ120は、図2に示されたものに加えて他のピン(例えば、図14〜図28を参照して以下に論じられるSENSEピンおよびVSSNピン)を含み得る。
システム100は、任意のいくつかの異なる動作モードで動作し得る。バス106上のノードは各々、どの動作モードが現在イネーブルされているかを示すレジスタを有してもよい。実施され得る様々な動作モードの例の説明が以下に続く。スタンバイ動作モードでは、バスの活性は、包括的な電力節約を可能にするために低減され、必要とされる唯一のトラフィックは、各ノードのPLL(例えば、PLL128)を同期させ続けるための最小の下流プリアンブルである。スタンバイ動作モードでは、バス106にわたる読み出しおよび書き込みはサポートされない。発見動作モードでは、マスタノード102は、バス106に沿って所定の信号を送出して、バス106に沿って分布するスレーブノード104のトポロジーをマップ化するために好適な応答を待ち得る。通常動作モードでは、バス106を介して周辺デバイス108へ、および周辺デバイス108からアクセスするのと同様に、フルレジスタアクセスが、スレーブノード104へ、およびスレーブノード104から利用可能であってもよい。通常モードは、同期上流データの有無を問わず、かつ同期下流データの有無を問わず、ホスト110によって包括的に構成され得る。
図3は、様々な実施形態による、システム100内の通信に使用される同期制御フレーム180の一部の図である。特に、同期制御フレーム180は、以下で論じるように、データクロック回復およびPLL同期に使用され得る。上述のように、バス106を介した通信は、両方向で発生し得るため、通信は、下流部分と上流部分とに時分割多重化され得る。下流部分では、同期制御フレームおよび下流データは、マスタノード102から送信され得、一方上流部分では、同期応答フレームおよび上流データは、スレーブノード104の各々からマスタノード102に送信され得る。同期制御フレーム180は、プリアンブル182および制御データ184を含み得る。各スレーブノード104は、受信した同期制御フレーム180のプリアンブル182をPLL128に供給するためのタイムベースとして使用するように構成され得る。これを容易にするため、プリアンブル182は、正当な制御データ184の「規則」に従わず、このため、制御データ184から直ぐに区別され得る。
例えば、いくつかの実施形態では、バス106に沿った通信は、最初にクロック、ゼロで遷移の差動マンチェスタ符号化スキームを使用して符号化されてもよい。このような符号化スキームによれば、各ビット時間は、クロック遷移で始まる。データ値がゼロである場合、符号化信号は、ビット時間の中間で再び遷移する。データ値が1である場合、符号化信号は、再び遷移しない。図5に図示されるプリアンブル182は、符号化プロトコルに違反してもよく(例えば、ビット時間5、7、および8の開始時に発生しないクロック遷移を有することによって)、これは、プリアンブル182が、制御データ184についてのいかなる正当な(例えば、正しく符号化された)パターンとも一致しなくてもよいことを意味する。加えて、プリアンブル182は、制御データ184に対して正当なパターンを取り、かつ単一ビット時間または複数ビット時間の期間、バス106を強制的に高または低にすることによって、複製することができない。図5に図示されるプリアンブル182は、単純に例示的であり、同期制御フレーム180は、任意の好適な様態で制御データ184によって使用される符号化に違反し得る異なるプリアンブル182を含んでもよい。
バスプロトコル回路126は、バス106から回復されたクロック上で走り、同期制御フレーム180を検出してPLL128にフレーム同期インジケータを送出するために差動マンチェスタ復号器回路を含んでもよい。このような様態で、同期制御フレーム180は、システムクロックまたはより高速なオーバーサンプリングクロックを使用することなく検出され得る。結果として、スレーブノード104は、スレーブノード104に水晶クロック源を必要とせずにバス106からPLL同期信号を受信することができる。
上述のように、バス106に沿った通信は、周期的スーパーフレーム内で起こってもよい。図4は、様々な実施形態による、スーパーフレーム190の図である。図6に示されるように、スーパーフレームは、同期制御フレーム180で始まり得る。同期制御フレーム180がPLL128のためのタイミング源として使用される場合、スーパーフレームが通信される頻度(「スーパーフレーム周波数」)は、同期信号周波数と同じであり得る。オーディオデータがバス106に沿って送信されるいくつかの実施形態では、スーパーフレーム周波数は、システム100で使用されるオーディオサンプリング周波数と同じ(例えば、48kHzまたは44.1kHzのいずれか)であってもよいが、任意の好適なスーパーフレーム周波数を使用してもよい。各スーパーフレーム190は、下流送信の期間192、上流送信の期間194、および無送信の期間196(例えば、バス106が駆動されていないとき)に分割され得る。
図4において、スーパーフレーム190は、初期の下流送信の期間192および後期の上流送信の期間194で示されている。下流送信の期間192は、同期制御フレーム180およびX個の下流データスロット198を含んでもよく、ここで、Xはゼロであってもよい。バス106上の実質的に全ての信号は、ライン符号化され、同期信号は、上記で論じたように、同期制御フレーム180内の同期プリアンブル182の形態で、マスタノード102から最後のスレーブノード104(例えば、スレーブノード104C)へ下流に転送され得る。下流、TDM、同期データは、同期制御フレーム180の後のX個の下流データスロット198に含まれてもよい。下流データスロット198は、等しい幅を有してもよい。上記で論じたように、PLL128は、ノードがバス106を介して通信を計時するために使用するクロックを提供し得る。バス106がオーディオデータを送信するために使用されるいくつかの実施形態では、PLL128は、オーディオサンプリング周波数の倍数(例えば、オーディオサンプリング周波数の1024倍、各スーパーフレームに1024ビットクロックをもたらす)で動作し得る。
上流送信の期間194は、同期応答フレーム197およびY個の上流データスロット199を含み得、ここで、Yはゼロであることができる。いくつかの実施形態では、各スレーブノード104は、下流データスロット198の一部を消費してもよい。最後のスレーブノード(例えば、図1のスレーブノード2)は、(最後のスレーブノードのレジスタに記憶された所定の応答時間の後に)同期応答フレーム197で応答し得る。上流、TDM、同期データは、同期応答フレーム197の直後の上流データスロット199内に各スレーブノード104によって追加されてもよい。上流データスロット199は、等しい幅を有してもよい。最後のスレーブノードではないスレーブノード104(例えば、図1のスレーブノード0および1)は、そのレジスタのうちの1つの読み出しがスーパーフレーム190の同期制御フレーム180において要求された場合、またはリモートI2C読み出しがスーパーフレーム190の同期制御フレーム180において要求された場合、受信された同期応答フレーム197をそれ自体の上流応答と置き換え得る。
上記で論じたように、同期制御フレーム180は、各下流送信を開始し得る。いくつかの実施形態では、同期制御フレーム180は、64ビット長でもよいが、任意の他の好適な長さが使用されてもよい。同期制御フレーム180は、上述のように、プリアンブル182で始まり得る。いくつかの実施形態では、同期制御フレーム180がスレーブノード104によって下流のスレーブノード104に再送信されるとき、プリアンブル182は、再送信されるのではなく、送信スレーブノード104によって生成されてもよい。
同期制御フレーム180の制御データ184は、バス106を介してトランザクションを制御するために使用されるデータを包含するフィールドを含み得る。これらのフィールドの例を以下で論じ、いくつかの実施形態を図5に図示する。特に、図5は、様々な実施形態による、通常モード、I2Cモード、および発見モードにおける同期制御フレーム180のための例示的フォーマットを図示する。いくつかの実施形態では、異なるプリアンブル182または同期制御フレーム180は、通常モードへの移行が送出されるまでスレーブノード104が同期制御フレーム180の全部を受信する必要がないように、完全にスタンバイモードで使用されてもよい。
いくつかの実施形態では、同期制御フレーム180は、カウント(CNT)フィールドを含み得る。CNTフィールドは、任意の好適な長さ(例えば、2ビット)を有し得、前のスーパーフレームで使用された値から増分し得る(フィールドの長を剰余演算)。予期しないCNT値を受信するスレーブノード104は、割り込みを返すようにプログラムされてもよい。
いくつかの実施形態では、同期制御フレーム180は、ノードアドレス指定モード(NAM)フィールドを含み得る。NAMフィールドは、任意の好適な長さ(例えば、2ビット)を有し得、バス106を介してスレーブノード104のレジスタへのアクセスを制御するために使用され得る。通常モードでは、スレーブノード104のレジスタは、スレーブノード104のIDおよびレジスタのアドレスに基づいて読み出され、および/または書き込まれ得る。ブロードキャストトランザクションは、全てのスレーブノード104によって取られるべき書き込みである。いくつかの実施形態では、NAMフィールドは、「無」(例えば、どの特定のスレーブノード104にもアドレス指定されていないデータ)、「通常」(例えば、下記で論じるアドレスフィールドに特定された特定のスレーブノード104へのデータユニキャスト)、「ブロードキャスト」(例えば、全てのスレーブノード104にアドレス指定された)、および「発見」を含む4つのノードアドレス指定モードを提供し得る。
いくつかの実施形態では、同期制御フレーム180は、I2Cフィールドを含み得る。I2Cフィールドは、任意の好適な長さ(例えば、1ビット)を有し得、下流送信の期間192がI2Cトランザクションを含むことを示すために使用され得る。I2Cフィールドは、ホスト110が、関連付けられたスレーブノード104に対してI2Cスレーブとして作用する周辺デバイス108にリモートアクセスするための命令を提供したことを示し得る。
いくつかの実施形態では、同期制御フレーム180は、ノードフィールドを含み得る。ノードフィールドは、任意の好適な長さ(例えば、4ビット)を有し得、どのスレーブノードが通常およびI2Cアクセスのためにアドレス指定されているかを示すために使用され得る。発見モードでは、このフィールドは、スレーブノード104のノードIDレジスタ内に、新たに発見されたスレーブノード104のための識別子をプログラムするために使用され得る。システム100内の各スレーブノード104は、以下で論じるように、スレーブノード104がマスタノード102によって発見されたとき、一意のIDが割り当てられ得る。いくつかの実施形態では、マスタノード102はノードIDを有さず、一方他の実施形態では、マスタノード102はノードIDを有し得る。いくつかの実施形態では、バス106上でマスタノード102に接続されたスレーブノード104(例えば、図1のスレーブノード0)は、スレーブノード0であり、相続く各スレーブノード104は、前のスレーブノードよりも1高い数を有する。しかしながら、これは単純に例示的であり、任意の好適なスレーブノード識別システムが使用されてもよい。
いくつかの実施形態では、同期制御フレーム180は、読み出し/書き込み(RW)フィールドを含み得る。RWフィールドは、任意の好適な長さ(例えば、1ビット)を有し得、通常アクセスが読み出し(例えば、RW==1)であるか、または書き込み(例えば、RW==0)であるかを制御するために使用され得る。
いくつかの実施形態では、同期制御フレーム180は、アドレスフィールドを含み得る。アドレスフィールドは、任意の好適な長さ(例えば、8ビット)を有し得、バス106を通してスレーブノード104の特定のレジスタをアドレス指定するために使用され得る。I2Cトランザクションの場合、アドレスフィールドは、開始/停止、待機、読み出し/書き込み、およびデータVLD等のI2C制御値に置き換えられ得る。発見トランザクションの場合、アドレスフィールドは、所定の値(例えば、図5に図示されているような)を有し得る。
いくつかの実施形態では、同期制御フレーム180は、データフィールドを含み得る。データフィールドは、任意の好適な長さ(例えば、8ビット)を有し得、通常書き込み、I2C書き込み、およびブロードキャスト書き込みのために使用され得る。4を乗じた、RESPCYCS値は、受信されている同期制御フレーム180の開始と送信されている同期応答フレーム197の開始との間に、新たに発見されたノードが何サイクル経過することを許容すべきかを決定するために使用され得る。NAMフィールドが発見モードを示す場合、以下に論じられるノードアドレスおよびデータフィールドは、好適な任意選択の乗数(例えば、4)を乗じたときに、同期制御フレーム180の終わりから同期応答フレーム197の開始までの時間をビットで示すRESPCYCS値として符号化されてもよい。これは、新たに発見されたスレーブノード104が、上流送信のための適切なタイムスロットを決定することを可能にする。
いくつかの実施形態では、同期制御フレーム180は、巡回冗長検査(CRC)フィールドを含み得る。CRCフィールドは、任意の好適な長さ(例えば、16ビット)を有し得、プリアンブル182に続く同期制御フレーム180の制御データ184のためのCRC値を送信するために使用され得る。いくつかの実施形態では、CRCは、CCITT−CRCエラー検出スキームに従って計算され得る。
いくつかの実施形態では、プリアンブル182とCRCフィールドとの間の同期制御フレーム180の少なくとも一部は、この間隔におけるビットのシーケンスがプリアンブル182と周期的に一致する(このため、新しいスーパーフレーム190の開始のときスレーブノード104によって誤って解釈され得る)可能性を低減するために、ならびに上述のように電磁放射を低減するために、スクランブルされてもよい。いくつかのそのような実施形態では、同期制御フレーム180のCNTフィールドは、スクランブルされたフィールドが、1つのスーパーフレームから次へと異なるようにスクランブルされることを確実にするために、スクランブル化論理によって使用され得る。本明細書に記載のシステム100の様々な実施形態は、スクランブル化を省略し得る。
上記で論じたように、スクランブル化および/またはエラー符号化等の技法に加えて、またはその代わりに、他の技法を使用して、プリアンブル182がスレーブノード104によって一意に識別され得ることを保証するか、またはプリアンブル182が同期制御フレーム180内の他の場所に現れる可能性を低減し得る。例えば、同期制御フレーム180の残部の特定の符号化がそれに一致する可能性を低減させるように、より長い同期シーケンスが使用されてもよい。追加的または代替的に、同期制御フレームの残部は、固定「0」または「1」値を適切なビットに置くことによって等、同期シーケンスが発生し得ないように構造化され得る。
マスタノード102は、バス106上の通信に特有の要求とI2C要求の両方を含む、読み出しおよび書き込み要求をスレーブノード104に送出し得る。例えば、マスタノード102は、(RWフィールドを使用して示された)読み出しおよび書き込み要求を(NAMおよびノードフィールドを使用して)1つ以上の指定されたスレーブノード104に送出してもよく、その要求が、バス106に特有のスレーブノード104に対する要求、スレーブノード104に対するI2C要求、またはスレーブノード104の1つ以上のI2Cポートで1つのスレーブノード104に連結されたI2C互換の周辺デバイス108に渡されるI2C要求であるかどうかを示すことができる。
上流通信に転じて、同期応答フレーム197は、各上流送信を開始してもよい。いくつかの実施形態では、同期応答フレーム197は、64ビット長であってもよいが、任意の他の好適な長さが使用されてもよい。同期応答フレーム197はまた、同期制御フレーム180のプリアンブル182に関して上記で論じたように、プリアンブルと、それに続いてデータ部分を含んでもよい。下流送信の終わりに、バス106上の最後のスレーブノード104は、RESPCYCSカウンタが満了するまで待機し、次いで、同期応答フレーム197を上流に送信し始めてもよい。上流のスレーブノード104が通常の読み出しまたは書き込みトランザクションによって標的とされている場合、スレーブノード104は、それ自体の同期応答フレーム197を生成し、下流から受信したものと置き換えてもよい。いずれかのスレーブノード104が、予想される時間に下流スレーブノード104からの同期応答フレーム197を見ない場合、スレーブノード104はそれ自体の同期応答フレーム197を生成し、それを上流に送信し始める。
同期応答フレーム197のデータ部分は、応答情報をマスタノード102に返信するために使用されるデータを包含するフィールドを含み得る。これらのフィールドの例が以下で論じられ、いくつかの実施形態が図6に図示されている。特に、図6は、様々な実施形態による、通常モード、I2Cモード、および発見モードにおける同期応答フレーム197のための例示的フォーマットを図示する。
いくつかの実施形態では、同期応答フレーム197は、カウント(CNT)フィールドを含み得る。CNTフィールドは、任意の好適な長さ(例えば、2ビット)を有し得、その前に受信した同期制御フレーム180内のCNTフィールドの値を送信するために使用され得る。
いくつかの実施形態では、同期応答フレーム197は、肯定応答(ACK)フィールドを含んでもよい。ACKフィールドは,任意の好適な長さ(例えば、2ビット)を有し得、そのスレーブノード104が同期応答フレーム197を生成するとき、前の同期制御フレーム180において受信したコマンドに肯定応答するためにスレーブノード104によって挿入されてもよい。ACKフィールド内で通信され得る例示的なインジケータとしては、待機、肯定応答、否肯定応答(NACK)、および再試行が含まれる。いくつかの実施形態では、ACKフィールドは、ブロードキャストメッセージを受信し処理したことをスレーブノード104によって肯定応答を送信するようにサイズ決定され得る(例えば、ブロードキャスト肯定応答をマスタノード102に送信することによって)。いくつかのそのような実施形態では、スレーブノード104はまた、スレーブノード104が送信するデータ(それは、例えば、キーパッドまたはタッチスクリーンからの非TDM入力等の要求ベースの上流送信のため、またはスレーブノード104がエラーまたは緊急状態を報告したいとき等の優先付け上流送信のために使用することができる)を有するかどうかを示してもよい。
いくつかの実施形態では、同期応答フレーム197はI2Cフィールドを含んでもよい。I2Cフィールドは、任意の好適な長さ(例えば、1ビット)を有し得、その前に受信した同期制御フレーム180内のI2Cフィールドの値を送信するために使用され得る。
いくつかの実施形態では、同期応答フレーム197は、ノードフィールドを含んでもよい。ノードフィールドは、任意の好適な長さ(例えば、4ビット)を有し得、同期応答フレーム197を生成するスレーブノード104のIDを送信するために使用され得る。
いくつかの実施形態では、同期応答フレーム197は、データフィールドを含んでもよい。データフィールドは、任意の好適な長さ(例えば、8ビット)を有し得、その値は、トランザクションの種類および同期応答フレーム197を生成するスレーブノード104のACK応答に依存し得る。発見トランザクションの場合、データフィールドは、その前に受信した同期制御フレーム180内のRESPCYCSフィールドの値を含み得る。ACKフィールドがNACKを示す場合、または同期応答フレーム197がブロードキャストトランザクションに応答しているとき、データフィールドは、ブロードキャスト肯定応答(BA)インジケータ(最後のスレーブノード104が、ブロードキャスト書き込みがエラーなしに受信されたかどうかを示し得る)、発見エラー(DER)インジケータ(発見トランザクションにおいて新しく発見されたスレーブノード104が、既存のスレーブノード104と一致するかどうかを示す)、およびCRCエラー(CER)インジケータ(NACKがCRCエラーによって引き起こされたかどうかを示す)を含み得る。
いくつかの実施形態では、同期応答フレーム197は、CRCフィールドを含んでもよい。CRCフィールドは、任意の好適な長さ(例えば、16ビット)を有し得、プリアンブルとCRCフィールドとの間の同期応答フレーム197の部分に対するCRC値を送信するために使用され得る。
いくつかの実施形態では、同期応答フレーム197は、割り込み要求(IRQ)フィールドを含んでもよい。IRQフィールドは、任意の好適な長さ(例えば、1ビット)を有し得、割り込みがスレーブノード104から信号伝送されたことを示すために使用され得る。
いくつかの実施形態では、同期応答フレーム197は、IRQノード(IRQNODE)フィールドを含んでもよい。IRQNODEフィールドは、任意の好適な長さ(例えば、4ビット)を有し得、IRQフィールドによって提示された割り込みを信号伝送したスレーブノード104のIDを送信するために使用され得る。いくつかの実施形態では、IRQフィールドを生成するためのスレーブノード104は、それ自体のIDをIRQNODEフィールドに挿入する。
いくつかの実施形態では、同期応答フレーム197は,第2のCRC(CRC−4)フィールドを含んでもよい。CRC−4フィールドは、任意の好適な長さ(例えば、4ビット)を有し得、IRQおよびIRQNODEフィールドのためのCRC値を送信するために使用され得る。
いくつかの実施形態では、同期応答フレーム197は、同期応答フレーム197の最後のビット(例えば、最後の10ビット)として、IRQフィールド、IRQNODEノードフィールド、およびCRC−4フィールドを含んでもよい。上記で論じたように、これらの割り込み関連フィールドは、CRC−4の形態でそれら自体のCRC保護を有し得る(このため、その前のCRCフィールドによって保護されない)。マスタノード102に割り込みを信号伝送する必要があるいずれのスレーブノード104も、その割り込み情報をこれらのフィールドに挿入する。いくつかの実施形態では、未解決の割り込みを有するスレーブノード104は、同じく未解決の割り込みを有するさらに下流の任意のスレーブノード104よりも高い優先度を有し得る。バス106に沿った最後のスレーブノード104(例えば、図1のスレーブノード2)は、常にこれらの割り込みフィールドを取り込むことができる。最後のスレーブノード104が未解決の割り込みを有さない場合、最後のスレーブノード104は、IRQビットを0に設定し、IRQNODEフィールドをそのノードIDに設定し、正しいCRC−4値を提供し得る。便宜上、割り込みを伝達する同期応答フレーム197は、本明細書において「割り込みフレーム」と呼ばれることがある。
いくつかの実施形態では、プリアンブル182とCRCフィールドとの間の同期応答フレーム197の少なくとも一部は、放射を低減するためにスクランブルされてもよい。いくつかのそのような実施形態では、同期応答フレーム197のCNTフィールドは、スクランブルされたフィールドが1つのスーパーフレームから次へ異なってスクランブルされることを確実にするために、スクランブル化論理によって使用されてもよい。本明細書に記載のシステム100の様々な実施形態は、スクランブル化を省略し得る。
上記で論じたように、スクランブル化および/またはエラー符号化等の技法に加えて、またはその代わりに、他の技法を使用して、プリアンブル182がスレーブノード104によって一意に識別され得ることを保証するか、またはプリアンブル182が同期応答フレーム197内の他の場所に現れる可能性を低減し得る。例えば、同期応答フレーム180の残部の特定の符号化がそれに一致する可能性を低減させるように、より長い同期シーケンスが使用されてもよい。追加的または代替的に、同期応答フレームの残部は、固定「0」または「1」値を適切なビットに置くことよって等、同期シーケンスが発生し得ないように構造化され得る。
図7は、様々な実施形態による、図2のバスプロトコル回路126のブロック図である。バスプロトコル回路126は、本明細書に記載のバス106のプロトコルに従ってノードトランシーバ120の動作を制御するための制御回路154を含み得る。特に、制御回路154は、送信のための同期フレーム(例えば、上記で論じた、同期制御フレームまたは同期応答フレーム)の生成、受信した同期フレームの処理、および受信した同期制御フレームにおいて特定された制御動作の実行を制御し得る。制御回路154は、以下で論じるように、プログラム可能なレジスタを含み得る。制御回路154は、同期制御フレームを作成および受信し、受信したメッセージに適切に反応し(例えば、バスプロトコル回路126がスレーブノード104に含まれるときは同期制御フレームに関連付けられ、またはバスプロトコル回路126がマスタノード102に含まれるときはI2Cデバイスから)、および異なる動作モード(例えば、通常、発見、スタンバイ等)に対するフレーム形成を調整し得る。
ノードトランシーバ120がバス106に沿った送信のためのデータを準備している場合、プリアンブル回路156は、送信用の同期フレームのためのプリアンブルを生成し、受信した同期フレームからプリアンブルを受信するように構成され得る。いくつかの実施形態では、下流同期制御フレームのプリアンブルは、1024ビット毎にマスタノード102によって送出され得る。上記で論じたように、1つ以上のスレーブノード104は、下流同期制御フレームのプリアンブルに同期し、プリアンブルからローカルの、位相の揃ったマスタクロックを生成し得る。
巡回冗長検査(CRC)挿入回路158は、送信用の同期フレームのための1つ以上のCRCを生成するように構成され得る。フレーム/圧縮回路160は、I2S/TDM/PDMトランシーバ127から(例えば、トランシーバ127に関連付けられたフレームバッファから)および/またはI2Cトランシーバ129から着信データを取り、任意選択でデータを圧縮し、および任意選択でデータのパリティ検査ビットまたはエラー訂正コード(ECC)を生成するように構成し得る。多重化器(MUX)162は、プリアンブル回路156からのプリアンブル、同期フレーム、およびデータを送信用のストリームに多重化し得る。いくつかの実施形態では、送信ストリームは、スクランブル化回路164によって送信前にスクランブルされ得る。
例えば、いくつかの実施形態では、フレーム/圧縮回路160は浮動小数点圧縮スキームを適用し得る。そのような一実施形態では、制御回路154は、数の中にいくつの繰り返し符号ビットがあるかを示す3ビットと、それに続いて符号ビットおよびN−4ビットのデータを送信し得、ここで、Nは、バス106を介して送信されるデータのサイズである。データ圧縮の使用は、所望の場合、マスタノード102によって構成され得る。
いくつかの実施形態では、ノードトランシーバ120に入る受信ストリームは、スクランブル化解除回路166によってスクランブル解除され得る。多重化解除器(DEMUX)168は、受信ストリームからのプリアンブル、同期フレーム、およびデータを多重化解除し得る。受信側のCRC検査回路159は、受信した同期フレームを検査して正しいCRCを見出し得る。CRC検査回路159が着信同期制御フレーム180内にCRC失敗を識別すると、制御回路154は、失敗について通知され得、同期制御フレーム180の制御データ184内のいずれの制御コマンドも実行しない。CRC検査回路159が着信同期応答フレーム197内にCRC失敗を識別すると、制御回路154は、失敗について通知され得、割り込みフレーム内にホスト110に送信するための割り込みを生成し得る。フレーム解除/圧縮解除回路170は、受信データを受け入れ、任意選択でそのパリティを検査し、任意選択でエラー検出および訂正(例えば、単一エラー訂正〜二重エラー検出(SECDED))を実行し、任意選択でデータを圧縮解除し得、およびI2S/TDM/PDMトランシーバ127(例えば、トランシーバ127に関連付けられたフレームバッファ)および/またはI2Cトランシーバ129に受信データを書き込み得る。
上記で論じたように、上流および下流データは、スーパーフレーム190内のTDMデータスロットにおいてバス106に沿って送信され得る。制御回路154は、バス106上のこれらのデータスロットを管理するための専用のレジスタを含んでもよく、そのいくつかの例を以下で論じる。制御回路154がマスタノード102に含まれる場合、これらのレジスタの値は、ホスト110によって制御回路154内にプログラムされ得る。制御回路154がスレーブノード104に含まれる場合、これらのレジスタの値は、マスタノード102によって制御回路154内にプログラムされ得る。
いくつかの実施形態では、制御回路154は、下流スロット(DNSLOTS)レジスタを含んでもよい。ノードトランシーバ120がマスタノード102に含まれる場合、このレジスタは、下流データスロットの総数の値を保持し得る。このレジスタはまた、マスタノード102内のI2S/TDM/PDMトランシーバ127によるI2S/TDM/PDMの組み合わせの受信のために使用されるデータスロットの数を定義し得る。スレーブノード104では、LDNSLOTSに関して以下でさらに詳しく論じるように、このレジスタは、ローカルで生成された下流スロットの追加前または追加後に次のスレーブノード104へ下流に渡されるデータスロットの数を定義し得る。
いくつかの実施形態では、制御回路154は、ローカル下流スロット(LDNSLOTS)レジスタを含んでもよい。このレジスタは、マスタノード102内で未使用であってもよい。スレーブノード104では、このレジスタは、スレーブノード104が使用し、再送信しないデータスロットの数を定義し得る。あるいは、このレジスタは、スレーブノード104が下流バスリンク106に寄与し得るスロットの数を定義し得る。
いくつかの実施形態では、制御回路154は、上流スロット(UPSLOTS)レジスタを含んでもよい。マスタノード102では、このレジスタは、上流データスロットの総数の値を保持し得る。このレジスタはまた、マスタノード102内のI2S/TDM/PDMトランシーバ127によるI2S/TDM送信のために使用されるスロットの数を定義し得る。スレーブノード104では、このレジスタは、スレーブノード104がそれ自体のデータを追加し始める前に上流に渡されるデータスロットの数を定義し得る。
いくつかの実施形態では、制御回路154は、ローカル上流スロット(LUPSLOTS)レジスタを含んでもよい。このレジスタは、マスタノード102内で未使用であってもよい。スレーブノード104では、このレジスタは、スレーブノード104が下流から受信したデータに、それが上流に送出される前に、追加するデータスロットの数を定義し得る。このレジスタはまた、スレーブノード104内のI2S/TDM/PDMトランシーバ127によるI2S/TDM/PDMの組み合わせの受信のために使用されるデータスロットの数を定義し得る。
いくつかの実施形態では、制御回路154は、ブロードキャスト下流スロット(BCDNSLOTS)レジスタを含んでもよい。このレジスタは、マスタノード102内で未使用であってもよい。スレーブノード104では、このレジスタは、ブロードキャストデータスロットの数を定義し得る。いくつかの実施形態では、ブロードキャストデータスロットは、常にデータフィールドの始まりに位置し得る。ブロードキャストデータスロットのデータは、複数のスレーブノード104によって使用され得、それらが使用されるか否かにかかわらず、全てのスレーブノード104によって下流に渡され得る。
いくつかの実施形態では、制御回路154は、スロットフォーマット(SLOTFMT)レジスタを含んでもよい。このレジスタは、上流送信用または下流送信用のデータのフォーマットを定義し得る。I2S/TDM/PDMトランシーバ127のデータサイズはまた、このレジスタによって決定され得る。いくつかの実施形態では、正当なデータサイズには、8、12、16、20、24、28、および32ビットが含まれる。このレジスタはまた、下流トラフィック用または上流トラフィック用に浮動小数点圧縮をイネーブルするビットを含んでもよい。浮動小数点圧縮がイネーブルされると、I2S/TDMのデータサイズは、バス106を介したデータサイズよりも4ビット大きくなり得る。システム100内の全てのノードは、データスロットがイネーブルされるときにSLOTFMTに対して同じ値を有し得、ノードは、全てのノードが同じ値で更新されるように、ブロードキャスト書き込みによってプログラムされ得る。
図8〜11は、本明細書に記載のバスプロトコルの様々な実施形態による、バス106に沿った情報交換の例を図示する。特に、図8〜11は、各スレーブノード104が、周辺デバイス108として1つ以上のスピーカおよび/または1つ以上のマイクロホンに連結されている実施形態を図示する。周辺デバイス108の任意の所望の配置は、本明細書に記載の技法に従って、任意の特定のスレーブノード104に連結され得るので、これは単純に例示的なものである。
始めに、図8は、様々な実施形態による、バス106上の双方向通信のための信号伝送およびタイミング考慮事項を図示する。図8に描写されるスレーブノード104は、様々な数のセンサ/アクチュエータ要素を有し、そのため、異なる量のデータが、様々なスレーブノード104に送出され、またはそこから受信され得る。具体的には、スレーブノード1は2つの要素を有し、スレーブノード4は4つの要素を有し、スレーブノード5は3つの要素を有し、そのため、マスタノード102によって送信されるデータは、スレーブノード1について2つのタイムスロット、スレーブノード4について4つのタイムスロット、およびスレーブノード5について3つのタイムスロットを含む。同様に、スレーブノード0は3つの要素を有し、スレーブノード2は3つの要素を有し、スレーブノード3は3つの要素を有し、スレーブノード6は1つの要素を有し、スレーブノード7は4つの要素を有し、そのため、それらのスレーブノード104によって上流に送信されるデータは、対応する数のタイムスロットを含む。要素とタイムスロットとの間に1対1の相関が存在しなくてもよいことに留意されたい。例えば、周辺デバイス108に含まれる、3つのマイクロホンを有するマイクロホンアレイは、3つのマイクロホンからの信号(および場合によってはマスタノード102または他のスレーブノード104から受信した情報も)を組み合わせて、処理の種類に応じて、単一のタイムスロットまたは複数のタイムスロットに対応し得る単一のデータサンプルを作り出すデジタル信号プロセッサを含み得る。
図8において、マスタノード102は、同期制御フレーム(SCF)と、それに続く特定のスレーブノード104(SD)に連結されたスピーカのためのデータを送信する。相続く各スレーブノード104は、同期制御フレームを転送し、また少なくとも下流スレーブノード104宛てのいずれのデータも転送する。特定のスレーブノード104は、全てのデータを転送してもよく、またはそのスレーブノード104宛てのデータを除去してもよい。最後のスレーブノード104が同期制御フレームを受信すると、そのスレーブノード104は、同期応答フレーム(SRF)と、任意選択でそれに続いてスレーブノード104が送信することが許可されている任意のデータを送信する。相続く各スレーブノード104は、下流スレーブノード104からの任意のデータと共に同期応答フレームを転送し、任意選択で、特定のスレーブノード104(MD)に連結された1つ以上のマイクロホンからのデータを挿入する。図8の例では、マスタノード102は、データをスレーブノード1、4、および5(図8にはアクティブスピーカとして描写されている)に送出し、スレーブノード7、6、3、2、および0(図8にはマイクロホンアレイとして描写されている)からデータを受信する。
図9は、下流DSトランシーバ124の見地から、様々な実施形態による、下流送信からのデータの動的除去および上流送信へのデータの挿入を概略的に図示する。図9では、図8にあるように、マスタノード102は、同期制御フレーム(SCF)と、それに続くスレーブノード1、4、および5(SD)のためのデータを逆の順序で送信する(例えば、スレーブノード5のデータの後にスレーブノード4のデータが続き、その後にスレーブノード1のデータが続く等)(マスタとラベル付けされた列を参照)。スレーブノード1がこの送信を受信すると、スレーブノード1は、それ自体のデータを除去し、同期制御フレームと、それに続くスレーブノード5および4のためのデータのみをスレーブノード2に転送する。スレーブノード2および3は、スレーブノード1によって転送されたデータがスレーブノード4によって受信されるように(スレーブ3とラベル付けされた列を参照)、データを変更せずに転送する(スレーブ2とラベル付けされた列を参照)。スレーブノード4は、それ自体のデータを除去し、同期制御フレームと、それに続くスレーブノード5のためのデータのみをスレーブノード5に転送し、同様に、スレーブノード5はそれ自体のデータを除去し、同期制御フレームのみをスレーブノード6に転送する。スレーブノード6は、同期制御フレームをスレーブノード7に転送する(スレーブ6とラベル付けされた列を参照)。
この時点で、スレーブノード7は、同期応答フレーム(SRF)と、それに続くそれ自体のデータをスレーブノード6に送信する(スレーブ6とラベル付けされた列を参照)。スレーブノード6は、同期応答フレームをスレーブノード7からのデータおよびそれ自体のデータと共にスレーブノード5に転送し、次に、スレーブノード5は、同期応答フレームをスレーブノード7および6からのデータと共にスレーブノード4に転送する。スレーブノード4は、追加すべきデータを有さず、そのため単純にデータをスレーブノード3に転送し(スレーブ3とラベル付けされた列を参照)、スレーブノード3は、データをそれ自体のデータと共にスレーブノード2に転送し(スレーブ2とラベル付けされた列を参照)、次に、スレーブノード2は、データをそれ自体のデータと共にスレーブノード1に転送する。スレーブノード1は、追加すべきデータを有さず、そのためデータをスレーブノード0に転送し、スレーブノード0は、データをそれ自体のデータと共に転送する。結果として、マスタノード102は、同期応答フレームと、それに続くスレーブノード7、6、3、2、および0からのデータを受信する(マスタとラベル付けされた列を参照)。
図10は、図9と同様に、下流DSトランシーバ124の見地から、下流送信からのデータの動的除去および上流送信へのデータ挿入の別の例を図示するが、図10では、スレーブノード104は、マスタノード102がデータを下流に、全てのスレーブノード104へ送出し、全てのスレーブノード104から戻るデータを受信するように、周辺デバイス108としてのセンサとアクチュエータの両方に連結されている。また、図10では、データは、その宛先またはその発信元のノードアドレスに基づいて順序付けられる。「Y」とラベル付けされたデータスロットは、データの完全性検査またはデータ訂正のために使用され得る。
図11は、図9と同様に、下流DSトランシーバ124の見地から、下流送信からのデータの動的除去および上流送信へのデータ挿入の別の例を図示するが、図11では、データは、逆の順序ではなく逐次的順序で下流と上流に伝達される。各スレーブノード104におけるバッファリングは、データを選択的に追加、除去、および/または転送することを可能にする。
上記で論じたように、各スレーブノード104は、下流または上流送信からデータを除去し得、かつ/または下流または上流送信にデータを追加し得る。このため、例えば、マスタノード102は、別個のデータサンプルをいくつかのスレーブノード104の各々に送信し得、そのような各スレーブノード104は、それ自体のデータサンプルを除去し、下流スレーブ向けに意図されたデータのみを転送し得る。一方、スレーブノード104は、下流スレーブノード104からデータを受信し、そのデータを追加データと共に転送し得る。できるだけ少ない必要な情報を送信することの1つの利点は、システム100によって全体として消費される電力量を低減させることである。
システム100はまた、具体的にはスレーブノード104の下流スロット使用法の構成を通して、マスタノード102からスレーブノード104へのブロードキャスト送信(およびマルチキャスト送信)をサポートしてもよい。各スレーブノード104は、ブロードキャスト送信を処理し、それを次のスレーブノード104に渡し得るが、特定のスレーブノード104は、そのブロードキャストメッセージを「消費」し得る(すなわち、ブロードキャスト送信を次のスレーブノード104に渡さない)。
システム100は、下流送信(例えば、特定のスレーブノード104から1つ以上の他のスレーブノード104へ)もサポートし得る。このような上流送信は、ユニキャスト上流送信、マルチキャスト上流送信、および/またはブロードキャスト上流送信を含んでもよい。上流送信に関して上記で論じたように、上流アドレス指定によって、スレーブノード104は、スレーブノード104の上流スロット使用法の構成に基づいて、データを上流送信から除去するか否か、および/または上流送信を次の上流スレーブノード104に渡すか否かを決定し得る。このため、例えば、データは、特定のスレーブノード104によって、そのデータをマスタノード102に渡すことに加えて、またはその代わりに、1つ以上の他のスレーブノード104に渡され得る。このようなスレーブ対スレーブ関係は、例えば、マスタノード102を介して構成され得る。
このため、様々な実施形態では、スレーブノード104は、情報を選択的に転送,削除、および追加する能力を有するアクティブ/インテリジェント中継器ノードとして動作し得る。スレーブノード104は、各スレーブノード104が、その中でデータを受信/送信する関係するタイムスロット(複数可)を知っているので、必ずしもデータの全てを復号/検討することなしにこのような機能を概して実行し得、したがって、タイムスロットからデータを除去し、またはタイムスロットにデータを追加することができる。スレーブノード104は、全てのデータを復号/検討する必要がなくてもよいにもかかわらず、スレーブノード104は、典型的に、それが送信/転送するデータを再クロックし得る。これは、システム100の堅牢性を改善し得る。
いくつかの実施形態では、バス106は、リングトポロジーにおける一方向性通信のために構成されてもよい。例えば、図12は、リングトポロジーにおけるマスタノード102および4つのスレーブノード104の配置1200を図示し、様々な実施形態による、配置1200における一方向性通信のための信号伝送およびタイミング考慮事項を図示する。このような実施形態では、ノード内のトランシーバ120は、上流および下流通信のための2つの双方向トランシーバではなく、受信専用トランシーバ(マスタ入力)および送信のみのトランシーバ(マスタ出力)を含み得る。図12に図示されるリンク層同期スキームでは、マスタノード102は、同期制御フレーム(SCF)180と、任意選択でそれに続く様々なスレーブノード104に連結された3つのスピーカのための「下流」データ1202を送信し(図8〜図11を参照して上記で論じたように、異なるスピーカのためのデータは、任意の好適な順序で配置され得る)、相続く各スレーブノード104は、前のスレーブノード104からの任意の「上流」データおよびそれ自体の「上流」データと共に同期制御フレーム180を転送して、「上流」データ1204を提供する(例えば、図8〜図11を参照して上記で論じたように、8つの異なるマイクロホンからのデータは、任意の好適な順序で配置され得る)。
本明細書に記載されるように、データは、システム100の要素間でいくつかの方法のうちのいずれかで通信され得る。いくつかの実施形態では、データは、スレーブノード104によって上流に(例えば、データスロット199を使用して)、またはスレーブノード104またはマスタノード102によって下流に(例えば、データスロット198を使用して)一組の同期データスロットの一部として送信されてもよい。このようなデータの量は、データスロット内のビット数を変更することによって、または余分なデータスロットを含めることによって、調節され得る。システム100では、データはまた、同期制御フレーム180または同期応答フレーム197に含めることによって通信され得る。このように通信されるデータとしては、ホスト110からのI2C制御データ(スレーブノード104に関連付けられた周辺デバイス108からの応答を伴う)、ホスト110/マスタノード102からスレーブノード104への書き込みアクセスおよびスレーブノード104からホスト110/マスタノード102への読み出しアクセスを含み得るスレーブノード104のレジスタへのアクセス(例えば、発見およびスロットおよびインターフェースの構成のための)、ならびに周辺デバイス108からホスト110への割り込みを介したイベント信号伝送を含み得る。いくつかの実施形態では、GPIOピンが、スレーブノード104からマスタノード102へ情報を伝達するために使用されてもよい(例えば、マスタノード102にI2Cを介してGPIOピンをポーリングさせることによって、またはスレーブノード104のノードトランシーバ120に割り込み要求ピンで割り込みを生成させることによって)。例えば、いくつかのこのような実施形態では、ホスト110は、I2Cを介して情報をマスタノード102に送出し得、次いで、マスタノード102は、GPIOピンを介してその情報をスレーブに送出し得る。バス106を介して送信されるものとして本明細書で論じられるいずれの種類のデータも、これらの通信経路のうちの任意の1つ以上を使用して送信され得る。システム100内の他の種類のデータおよびデータ通信技法が、本明細書で開示され得る。
本開示の実施形態は、所望のように構成するために、任意の好適なハードウェアおよび/またはソフトウェアを使用してシステム内に実装され得る。図13は、様々な実施形態による、システム100においてホストまたはノード(例えば、ホスト110、マスタノード102、またはスレーブノード104)として機能し得るデバイス1300を概略的に図示する。いくつかの構成要素が、デバイス1300に含まれるものとして図13に図示されているが、これらの構成要素のうちの任意の1つ以上は、用途に好適なように、省略または複製され得る。
加えて、様々な実施形態において、デバイス1300は、図13に図示された構成要素のうちの1つ以上を含まないことがあるが、デバイス1300は、その1つ以上の構成要素に連結するためのインターフェース回路を含んでもよい。例えば、デバイス1300は、表示デバイス1306を含まないことがあるが、表示デバイス1306が連結され得る表示デバイスインターフェース回路(例えば、コネクタおよび駆動回路)を含み得る。別の組の例では、デバイス1300は、オーディオ入力デバイス1324またはオーディオ出力デバイス1308を含まないことがあるが、オーディオ入力デバイス1324またはオーディオ出力デバイス1308が連結され得るオーディオ入力または出力デバイスインターフェース回路(例えば、コネクタおよびサポート回路)を含み得る。
本明細書に開示されている実施形態のいずれかに従って、デバイス1300は、デバイス1300がバス106に連結されるときバス106に沿った通信を管理するためのノードトランシーバ120を含んでもよい。デバイス1300は、ノードトランシーバ120に含まれるか、またはノードトランシーバ120とは別個であり得る処理デバイス1302(例えば、1つ以上の処理デバイス)を含んでもよい。本明細書で使用されるとき、「処理デバイス」という用語は、レジスタおよび/またはメモリからの電子データを処理してその電子データをレジスタおよび/またはメモリに記憶され得る他の電子データに変換する任意のデバイスまたはデバイスの一部を指し得る。処理デバイス1302は、1つ以上のデジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、暗号プロセッサ、または任意の他の好適な処理デバイスを含み得る。デバイス1300は、メモリ1304を含み得、それ自体は、揮発性メモリ(例えば、ダイナミックランダムアクセスメモリ(DRAM))、不揮発性メモリ(例えば、読み出し専用メモリ(ROM))、フラッシュメモリ、ソリッドステートメモリ、および/またはハードディスクドライブ等の1つ以上のメモリデバイスを含み得る。
いくつかの実施形態では、メモリ1304は、デバイス1300に本明細書で開示される技法のうちの任意の好適なものを実行させるプログラミング命令の作業コピーおよび永久コピーを記憶するために用いられ得る。いくつかの実施形態では、上述の技法を実行するための機械アクセス可能な媒体(非一時的コンピュータ可読記憶媒体を含む)、方法、システム、およびデバイスは、2線式バスを介した通信のための本明細書に開示の実施形態の例示的な例である。例えば、コンピュータ可読媒体(例えば、メモリ1304)は、処理デバイス1302に含まれる処理デバイスのうちの1つ以上によって実行されるとき、デバイス1300に本明細書に開示の技法のうちのいずれかを実行させる記憶された命令を有し得る。
いくつかの実施形態では、デバイス1300は、別の通信チップ1312(例えば、1つ以上の他の通信チップ)を含んでもよい。例えば、通信チップ1312は、デバイス1300へのデータ移送およびデバイス1300からのデータ移送のための無線通信を管理するために構成され得る。「無線」という用語およびその派生語は、変調される電磁放射の使用によって非ソリッド媒体を通じてデータを通信し得る回路、デバイス、システム、方法、技法、通信チャネル等を説明するために使用され得る。その用語は、関連するデバイスがいかなる配線も含まないことを暗示しないが、いくつかの実施形態では含まないことがある。
通信チップ1312は、Wi−Fi(IEEE802.11ファミリー)、IEEE802.16規格(例えば、IEEE802.16−2005改正)、ロングタームエボリューション(LTE)プロジェクトと共に任意の改正、更新、および/または改訂(例えば、アドバンストLTEプロジェクト、ウルトラモバイル広帯域(UMB)プロジェクト(「3GPP2」とも呼ばれる、等)を含む米国電気電子学会(IEEE)規格を含むが、これらに限定されない、いくつかの無線規格またはプロトコルのうちの任意のものを実装し得る。IEEE802.16互換広帯域無線アクセス(BWA)ネットワークは、一般的にWiMAXネットワークと呼ばれ、IEEE802.16規格の適合性および相互運用性試験に合格する製品に対する認証マークであるWorldwide Interoperability for Microwave Accessを表す頭字語である。1つ以上の通信チップ1312は、Global System for Mobile Communication(GSM(登録商標))、General Packet Radio Service(GPRS)、Universal Mobile Telecommunications System(UMTS)、High Speed Packet Access(HSPA)、Evolved HSPA(E−HSPA)、またはLTEネットワークに従って動作し得る。1つ以上の通信チップ1312は、Enhanced Data for GSM(登録商標) Evolution(EDGE)、GSM(登録商標) EDGE Radio Access Network(GERAN)、Universal Terrestrial Radio Access Network(UTRAN)、またはEvolved UTRAN(E−UTRAN)に従って動作し得る。1つ以上の通信チップ1312は、符号分割多元接続(CDMA)、時分割多重接続(TDMA)、Digital Enhanced Cordless Telecommunications(DECT)、Evolution−Data Optimized(EV−DO)、およびそれらの派生物、ならびに3G、4G、5G、およびそれ以降に指定された任意の他の無線プロトコルに従って動作し得る。他の実施形態では、通信チップ1312は、他の無線プロトコルに従って動作し得る。デバイス1300は、無線通信を促進し、かつ/または他の無線通信(AMもしくはFM無線送信等の)を受信するアンテナ1322を含んでもよい。
いくつかの実施形態では、通信チップ1312は、本明細書に記載のバス106のためのプロトコル以外のプロトコルを使用して有線通信を管理してもよい。有線通信としては、電気通信プロトコル、光通信プロトコル、または任意の他の好適な通信プロトコルを含み得る。通信チップ1312によってイネーブルされ得る有線通信プロトコルの例としては、イーサネット(登録商標)、コントローラエリアネットワーク(CAN)、I2C、media−oriented systems transport(MOST)、または任意の他の好適な有線通信プロトコルを含み得る。
上述のように、通信チップ1312は、複数の通信チップを含んでもよい。例えば、第1の通信チップ1312は、Wi−FiまたはBluetooth(登録商標)等の短距離無線通信専用であってもよく、第2の通信チップ1312は、GPS、EDGE、GPRS、CDMA、WiMAX、LTE、EV−DO、その他等のより長距離無線通信専用であってもよい。いくつかの実施形態では、第1の通信チップ1312は、無線通信専用であってもよく、第2の通信チップ1312は、有線通信専用であってもよい。
デバイス1300は、バッテリ/電力回路1314を含んでもよい。バッテリ/電源回路1314は、1つ以上のエネルギー蓄積デバイス(例えば、バッテリまたはキャパシタ)および/またはデバイス1300の構成要素をデバイス1300とは別のエネルギー源(例えば、ACライン電力、自動車バッテリによって提供される電圧、等)に連結するための回路を含んでもよい。例えば、バッテリ/電源回路1314は、図2を参照して上記で論じた上流フィルタリング回路132および下流フィルタリング回路131を含んでもよく、バス106上でバイアスによって充電することができる。
デバイス1300は、表示デバイス1306(または、上記で論じたような対応するインターフェース回路)を含んでもよい。表示デバイス1306は、例えば、ヘッドアップディスプレイ、コンピュータモニタ、プロジェクタ、タッチスクリーンディスプレイ、液晶ディスプレイ(LCD)、発光ダイオードディスプレイ、またはフラットパネルディスプレイ等の任意の視覚的インジケータを含んでもよい。
デバイス1300は、オーディオ出力デバイス1308(または、上記で論じたような対応するインターフェース回路)を含んでもよい。オーディオ出力デバイス1308は、例えば、スピーカ、ヘッドホン、またはイヤホン等の、可聴インジケータを生成する任意のデバイスを含んでもよい。
デバイス1300は、オーディオ入力デバイス1324(または、上記で論じたような対応するインターフェース回路)を含んでもよい。オーディオ入力デバイス1324は、マイクロホン、マイクロホンアレイ、またはデジタル楽器(例えば、電子楽器デジタルインターフェース(MIDI)出力を有する楽器)等の音を表す信号を生成する任意のデバイスを含んでもよい。
デバイス1300は、全地球測位システム(GPS)デバイス1318(または、上記で論じたような対応するインターフェース回路)を含んでもよい。GPSデバイス1318は、当技術分野において既知のように、衛星ベースのシステムと通信していてもよく、デバイス1300の位置を受信し得る。
デバイス1300は、別の出力デバイス1310(または、上記で論じたような対応するインターフェース回路)を含んでもよい。他の出力デバイス1310の例としては、オーディオコーデック、ビデオコーデック、プリンタ、他のデバイスに情報を提供するための有線送信器もしくは無線送信器、またはさらなる記憶デバイスを含み得る。加えて、本明細書で論じられる周辺デバイス108のうちの任意の好適なものが、他の出力デバイス1310に含まれてもよい。
デバイス1300は、別の入力デバイス1320(または、上記で論じたような対応するインターフェース回路)を含んでもよい。他の入力デバイス1320の例としては、加速度計、ジャイロスコープ、画像取込デバイス、キーボード、マウス、スタイラス、タッチパッドのようなカーソル制御デバイス、バーコードリーダ、クイックレスポンス(QR)コードリーダ、または無線周波数識別(RFID)リーダを含み得る。加えて、本明細書で論じられるセンサまたは周辺デバイス108のうちの任意の好適なものが、他の入力デバイス1320に含まれてもよい。
デバイス1300に関連して上記に記載した表示、入力、出力、通信、またはメモリデバイスのうちの任意の好適なものが、システム100内の周辺デバイス108として機能してもよい。代替的または追加的に、デバイス1300に関連して上記に記載した表示、入力、出力、通信、またはメモリデバイスのうちの好適なものが、ホスト(例えば、ホスト110)またはノード(例えば、マスタノード102またはスレーブノード104)に含まれてもよい。
図14〜図28は、図1のシステム100におけるリモートバスイネーブルのための様々なシステムおよび技法を図示する。これらのシステムおよび技法は、マスタノード102およびスレーブノード104の任意の実施形態を含む、本明細書に開示されたシステム100の任意の実施形態と共に使用され得る。図面を伴う図14〜図28に例示された実施形態の様々なものの動作および構成要素について説明を加える。これらの実施形態では、マスタノード102に関連付けられた電圧レギュレータ111−1は、イネーブル入力における高(または低、所定のように)電圧に応答して電圧レギュレータ111−1の動作をイネーブルする「イネーブル」入力(例えば、ピン)を有し得る。電圧レギュレータ111−1がイネーブルされるとき、電圧レギュレータ111−1は、マスタノード102に動作電圧を提供して、本明細書に記載されるような通常のバス動作を制御するようにそれをイネーブルし、電圧レギュレータ111−1がイネーブルされていないとき、電圧レギュレータ111−1はマスタノード102に動作電圧を提供せず、マスタノード102は低電力モード(例えば、スタンバイモード、アイドルモード、スリープモード、等)となり得る。バス106に沿って通信を制御するためにマスタノード102をイネーブルすることは,本明細書では「バス106のイネーブル化」と呼ばれることがある。
特定の回路および動作の詳細が、図14〜図28の実施形態のうちの様々な実施形態に関して論じられ、それらは、図14〜図28の実施形態のうちの他のものに適用し得るが、例証の経済性のために繰り返されない場合がある。図14〜図28に図示する実施形態では、マスタノード102は、ノードトランシーバ120−1および関連付けられた下流フィルタリング回路131を含み得、スレーブノード104は、ノードトランシーバ120−1および関連付けられた上流フィルタリング回路132を含み得る。図14〜図28はまた、システム100内にさらなる下流スレーブノード104(図示せず)がある場合に適切な、下流フィルタリング回路131を含むスレーブノード104を図示する。電力は、電源119(例えば、バッテリまたは他の電源デバイス)によってマスタノード102に提供され得、電源119の出力が電圧レギュレータ111−1に入力されるように、電源119とマスタノード102との間に電圧レギュレータ111−1が配設され得る。図14〜図28に図示される実施形態の様々なものに含まれるダイオードは、不注意による電流の流れに対して保護するのに役立ち、必要に応じて含まれても含まれなくてもよい。図14〜図28の実施形態は、様々な方法で配置された、いくつかのハイパスフィルタ(HPF)およびローパスフィルタ(LPF)を含み、任意の好適なHPFおよびLPF回路が使用され得る。
いくつかの実施形態では、電圧レギュレータ111−1および電源119は、単一の電圧安定化電源に統合されてもよい。したがって、本明細書に開示されている「電圧レギュレータ111」は、任意の好適な電源を表すと理解されてもよい。図14〜図28のいずれかに図示されたスイッチは、制御信号(例えば、閾値を超える音レベル、スマートフォンまたはリモコンから受信した無線通信、等)に応答して開/閉される機械的に作動されるスイッチまたは電子スイッチによって提供され得る。例えば、スイッチは、プッシュボタンスイッチ、ダイヤルスイッチ、マイクロコントローラによって制御される電界効果トランジスタ(FET)スイッチ、等であってもよい。
図14〜図28には図示されていないが、いくつかの実施形態では、より厳密に制御されたイネーブル電圧を達成するために、追加の電圧レギュレータまたはツェナーダイオードを電圧レギュレータ111−1のイネーブル入力に使用してもよい。図14〜図28には図示されていないが、いくつかの実施形態では、追加の電圧レギュレータまたはツェナーダイオードをホスト110および/またはノードトランシーバ120のI/Oピンに使用してもよい(例えば、印加され得る最大電圧を制限することによってこれらのピンを保護するために)。
図14は、スレーブノード104が、それ自体のローカル電源(電源119に連結されたその関連付けられた電圧レギュレータ111−2によって示されている)を有し得る、システム100の一実施形態を図示する。電圧レギュレータ111−2の出力ピンに連結されたスイッチ113は、スイッチ113が閉じているときに、(抵抗器R5を通じて)バス106にDC電圧を印加することができ、次いで(抵抗器R4を通じて)電圧レギュレータ111−1をイネーブルし得る。電圧レギュレータ111−1の出力は、抵抗器R1を通して電圧レギュレータ111−1のイネーブル入力に連結されてもよく、このループは、スレーブノード104のスイッチ113がモメンタリスイッチである(したがって、最初に閉じられた直ぐ後に開く)場合、電圧レギュレータ111−1をイネーブルモードに維持し得る。いくつかの実施形態では、抵抗器R4と電圧レギュレータ111−1のイネーブル入力との間に連結されたダイオードは、上述のように含まれなくてもよい。ホスト110(上述のように、マイクロコントローラであってもよく、またはマイクロコントローラを含んでもよい)は、電圧レギュレータ111−1のイネーブル入力に抵抗器R2によって連結されたI/Oピンを有してもよく、ホスト110は、マスタノード102が低電力モードに入るときに、このI/Oピンを使用して電圧レギュレータ111−1をディスエーブルにし得る。いくつかの実施形態では、ホスト110のI/Oピンは、スイッチ113がバスイネーブルを開始した後に(例えば、瞬間的に閉じることによって)電圧レギュレータ111−1上のイネーブル入力を維持し得る。スレーブノード104のI/Oピンは、スイッチ113がいつ閉じられるかを検出するようにスイッチ113の一方の側に連結されてもよく、いくつかの実施形態では、スレーブノード104が、スイッチ113が閉じられたことを検出すると、スレーブノード104は、(例えば、I2Cを介して送信される)割り込みを生成し得る。抵抗器R5の抵抗は、バス106がスレーブノード104の電圧レギュレータ111−2に短絡されているように見えた場合に故障を識別するライン診断を妨害しないようにするために、スレーブノード104とマスタノード102との間に高インピーダンスを提供するように選択され得る。抵抗器R5は、電流制限抵抗器として作用し得、抵抗器R6または抵抗器R3を有する分圧器の一部とすることができる。図14のシステム100では、スレーブノード104は、バス106が非アクティブのとき、電圧レギュレータ111−2に電流を引き込み、ノードトランシーバ120−2に静止電流を引き込み得る。
図15は、ノードトランシーバ120−1自体が、抵抗器R2によって電圧レギュレータ111−1のイネーブル入力に連結されたI/Oピンを有し得るシステム100の一実施形態を図示し、マスタノード102が低電力モードに入るとき、マスタノード102は、このI/Oピンを使用して電圧レギュレータ111−1をディスエーブルにし得る。いくつかの実施形態では、ノードトランシーバ120−1のI/Oピンは、スイッチ113がバスイネーブルを開始した後に(例えば、瞬間的に閉じることによって)、電圧レギュレータ111−1上のイネーブル入力を維持し得る。そのような一実施形態は、例えば、ホスト110が、電圧レギュレータ111−1をディスエーブルにするための利用可能なI/Oピンを有していない場合に特に好適であり得る。図15のシステム100では、スレーブノード104は、バス106が非アクティブのとき、電圧レギュレータ111−2に電流を引き込み、ノードトランシーバ120−2に静止電流を引き込み得る。図15のシステム100内(およびシステム100の他の実施形態)の電圧レギュレータ111−2は、(以下でさらに論じるように)分圧器、別の電圧制限回路、または電源119への直接接続であってもよい。
図16は、スレーブノード104が、マスタノード102によってバス106を介して提供される電圧による「ファントム給電」であり得るシステム100の一実施形態を図示する。具体的には、上記で論じたように、スレーブノード104の上流フィルタリング回路132は、図示されるように、バス106を介して提供される信号をローパスフィルタリングし、低周波数(例えば、DC)成分を使用してノードトランシーバ120−2に給電し得る。図16に図示するように、スレーブノード104に関連付けられた電圧レギュレータ111−2は、上記で論じたように、スイッチ113を通して信号伝送イネーブルを実行するように、スレーブノード104がバス106に電力投入することを可能にするために含まれ得る任意選択の構成要素であるが、(図14および図15の実施形態とは対照的に)スレーブノード104に給電するために使用されなくてもよい。図16のシステム100は、(図14を参照して上記で論じたように)電圧レギュレータ111−1のイネーブル入力に連結されたホスト110のI/Oピン、または(図15を参照して上記で論じたように)抵抗器R2を通して電圧レギュレータ111−1のイネーブル入力に連結されたノードトランシーバ120−1のI/Oピンを含み得る。図16(および図17〜図20)の実施形態では、ノードトランシーバ120−2によって引き込まれる静止電流は制限されてもよい。
図17に図示されるシステム100の実施形態では、それ自体の電圧レギュレータ111−3(例えば、電池)を有するスイッチ115は、(例えば、抵抗器R8を介して)示されるようにバス106に連結されてもよく、このスイッチ115は、図14を参照して上記で論じたように、マスタノード102をイネーブルするために使用されてもよい。いくつかの実施形態では、抵抗器R8の抵抗は抵抗器R5の抵抗に等しくてもよい。したがって、図17は、スイッチ115(または別のデバイス)のような非スレーブスイッチがバス106に連結され、バス通信を可能にするために使用され得る一実施形態を例示する。図17はまた、スレーブノード104に関連付けられたスイッチ113を図示し、これはまた、スイッチ115またはスイッチ113のいずれかの作動がバス106に沿った通信をイネーブルし得るように、バス通信をイネーブルするために使用され得る(例えば、図14を参照して上記で論じたように)。例えば、スレーブノード104は、車両の天井に取り付けられたマイクロホンデバイスであってもよく、スイッチ115は、上部照明器具の近くまたはダッシュボード内に位置する緊急路傍支援ボタンであってもよく、バス106に沿った通信は、(スイッチ115に関連付けられた)緊急路傍支援ボタンを押すことによって、あるいは(スイッチ113に関連付けられた)スレーブノード104によって受信され解釈された音声コマンドを発行することによってイネーブルされ得る。いくつかの実施形態では、スイッチ113(およびバス106をイネーブルするためのその関連付けられた回路)は、図17のシステム100に含まれない場合がある。図17の実施形態では、(図16を参照して上記で論じたように)スレーブノード104もファントム給電されており、電圧レギュレータ111−3およびスイッチ115(およびそれらに関連付けられた回路)はまた、図14および図15に図示されているシステム100(その中で、スレーブノード104はローカルで給電されている)と組み合わせて使用されてもよい。
図18は、バス106上のスレーブノード104の「後」に位置するスイッチ117および関連付けられた電圧レギュレータ111−4は、バス106をイネーブルするために使用され得るシステム100の一実施形態を図示する。具体的には、スレーブノード104は、スイッチ117/電圧レギュレータ111−4が(抵抗R9を通して)バス106と接触する点とバス106に沿ったマスタノード102との間に配設され得る。いくつかの実施形態では、抵抗器R9の抵抗は、抵抗器R5の抵抗に等しくてもよい。図18はまた、図17を参照して上記で論じたように、スイッチ115およびスイッチ113を含み、いくつかの実施形態では、スイッチ115および/またはスイッチ113(およびバス106をイネーブルするためのそれらに関連付けられた回路)は、図18のシステム100の実施形態から省略されてもよい。図18では、マスタノード102およびスレーブノード104の内部のスイッチはNMOS/PMOSFETとして示されており、動作中、スイッチ117によってバス106に印加された電圧は、これらの内部NMOS/PMOSFETを横切ってマスタノード102に「戻る」までずっと降下し得る。図18の実施形態では、(図16を参照して上記で論じたように)スレーブノード104もファントム給電されており、電圧レギュレータ111−4およびスイッチ117(およびそれらに関連付けられた回路)はまた、図14および図15に図示されるシステム100(その中で、スレーブノード104はローカルで給電されている)と組み合わせて使用されてもよい。したがって、図18は、スイッチ117(または別のデバイス)のような非スレーブスイッチをバス106に連結し、バス通信をイネーブルするために使用し得る別の実施形態を例示する。例えば、スレーブノード104は、図17を参照して上記で論じたように、車両の天井に取り付けられたマイクロホンデバイスであってもよく、スイッチ117は、緊急路傍支援ボタンであってもよい。
図19は、図18に図示される実施形態といくつかの特徴を共有するシステム100の一実施形態を図示するが、図19では、抵抗器R4と電圧レギュレータ111−1のイネーブル入力との間にダイオードは存在しない。十分な逆方向保護が、(例えば、PMOS1のダイオード記号によって図示されるように)マスタノード102内のPMOSFET(「PMOS1」とラベル付けされている)によって提供され得る。図19(および図20)の実施形態では、抵抗器R5およびR6は、電圧レギュレータ111−1のイネーブル入力における電圧のための分圧器を提供し得る。必要に応じて、スイッチ113、115、117(およびバス106をイネーブルするためのそれらに関連付けられた回路)のうちの1つ以上を図19の実施形態から省略してもよい。同様に、図14〜図28のうちのいずれかに図示されたシステム100の実施形態は、抵抗器R4と電圧レギュレータ111−1のイネーブル入力との間のダイオードを省略することによって改変されてもよい。
図20は、図18に図示された実施形態といくつかの特徴を共有するシステム100の一実施形態を例示するが、図20では、スイッチ113、115、および117は、電圧レギュレータ111−2、111−3、および111−4をそれぞれいずれも介さずに電源119に連結されている。いくつかの実施形態では、スイッチ113、115、および/または117は、示されるように、電源119に直接連結されてもよい。必要に応じて、スイッチ113、115、117(およびバス106をイネーブルするためのそれらに関連付けられた回路)のうちの1つ以上を、図20の実施形態から省略してもよい。同様に、図14〜図28のいずれかに図示されているシステム100の実施形態は、電源119とスイッチ113、115、および/または117との間の電圧レギュレータ111を省略することによって改変されてもよい。図20の実施形態では、(図16を参照して上記で論じたように)スレーブノード104もファントム給電されており、スイッチ113、115、および117(およびそれらに関連付けられた回路)はまた、図14および図15に図示されているシステム100(その中で、スレーブノード104はローカルで給電されている)と組み合わせて使用されてもよい。
図14〜図20は、抵抗器R4と接地との間に抵抗器R6を図示している。抵抗器R6のためのこの特定の位置は単純に例示的であり、抵抗器R6は、システム100内のいくつかの位置のいずれかに位置決めされ得る。図21は、図14のシステム100の文脈において抵抗器R6の例示的な位置を図示し、システム100は、これらの点線位置のうちのいずれか1つに抵抗器R6を含み得る。より一般的には、図21に図示される抵抗器R6の位置のうちのいずれも、本明細書に開示されている実施形態のいずれかにおいて使用され得る。抵抗器R6は、システム100内の1つ以上の他の抵抗器と一緒に、電圧レギュレータ111−1のイネーブル入力に提供される電圧を生成するための分圧器を提供し得る。抵抗器R6は、いくつかの実施形態では含まれなくてもよい。抵抗器R7は、いくつかの実施形態では、同様に再配置されてもよい。
スイッチにローカルな電源(例えば、電圧レギュレータ)が、スイッチの作動によりバス106のイネーブルを開始するのに使用される電力(例えば、電圧)を提供するとき(例えば、図14〜図21を参照して上記で論じたように)、例示的なイネーブルシーケンスは以下の通りであり得る。マスタノード102は、その関連付けられた電圧レギュレータ111−1がディスエーブルされる低電力モードで開始してもよい。スイッチ(例えば、適切な実施形態ではスイッチ113、115、または117)を閉じて、電源(例えば、電圧レギュレータ111−2、111−3、111−4、および/または電源119)への接続を完了し得る。電源は、スイッチを通して(いくつかの実施形態では、高インピーダンスを提供し、したがってケーブル診断との干渉を軽減するために使用される逆電流保護ダイオードおよび抵抗器を通して)バス106上にバイアス電圧を供給し得る。バス106上のバイアス電圧は、(例えば、順方向ダイオードおよび抵抗器を通して)マスタノード102に対して「ローカルの」電圧レギュレータ111−1のイネーブル入力に接続されてもよい。このため、電圧レギュレータ111−1は、(電源によって提供される)バス106上のバイアス電圧によって最初にイネーブルされ得、電圧レギュレータ111−1は、(例えば、図14〜図28の様々なものに図示されるように、電圧レギュレータ111−1の出力から電圧レギュレータ111−1のイネーブル入力へのフィードバックループによって)イネーブル状態に保持され得る。ノードトランシーバ120−1は、電圧レギュレータ111−1から出力された電圧を受け取り得、電源投入し得る。
いくつかの実施形態では、ホスト110もまた、電圧レギュレータ111−1に接続されてもよく、例えば、ホスト110は、電圧レギュレータ111−1によって給電されてもよく、電圧レギュレータ111−1から出力される電圧に応答して立ち上がってもよい。別の例では、ホスト110は、電圧レギュレータ111−1のイネーブルを表す信号(例えば、電圧レギュレータ111−1からの出力信号または電圧レギュレータ111−1のイネーブル入力における信号)を(入力ピンで)受信し得る。この後者の実施形態は、ホスト110が電圧レギュレータ111−1によって給電されず、代わりに異なる電源を有するときに特に適切であり得る。マスタノード102が電源投入されたことを検出すると、ホスト110は、ノードトランシーバ120−1のプログラミングおよびバス106上のスレーブノード104の発見を開始し得る。ノードトランシーバ120−1は、(例えば、ノードトランシーバ120−1のバスバイアススイッチおよびライン診断機能を介して)バス106上のバイアスの制御を引き継ぎ得る。スレーブノード104の発見時に、スレーブノード104は、バスイネーブルを開始したスイッチの状態を反映するI /Oピンの状態を監視し得る。このスイッチの状態が変化すると(例えば、スイッチが開閉されると)、スレーブノード104は、ホスト110に割り込みを送信するか、またはバス106を介してホスト110へのこの情報のGPIO間移送を作成し得る。スイッチの特定の状態は、後続のイベント(例えば、マスタノード102は、その低電力モードに戻ってもよく、ホスト110は、バス106をディスエーブルにする前にいくつかの所定の「ハウスキーピング」手順を実行してもよい、等)を決定し得る。バス106に沿った通信は、ノードトランシーバ120−1へのI/Oピンが低に引き下げられるときに遮断されてもよい。いくつかの実施形態では、ノードトランシーバ120−1への電力の遮断(例えば、電圧レギュレータ111−1からの)は、ノードトランシーバ120−1内のデータレジスタの全てをリセットしてもよい。
図14〜図21を参照して上記で論じた実施形態では、バス106は、バス106を非接地基準電圧に連結することによってイネーブルされていた。図22は、バス106を非接地基準電圧ではなく接地に連結することによってバス通信をイネーブルし得るシステム100の一実施形態を図示する。特に、図22は、3つのスイッチ113、115、および117のいずれかを閉じて、バス106を(それぞれ関連付けられた抵抗器R8、R5、およびR9を通して)接地に瞬間的に短絡し、上記で論じたようにバス106を介した通信をイネーブルし得る、システム100の一実施形態を図示する。図22(および図23)において、抵抗器RBおよびRCは、(例えば、抵抗器R8と共に)オフレベルおよびイネーブル入力レベルを位置決めするための分圧器を提供する。いくつかの実施形態では、バス106に弱いバイアスを提供するために、PMOS1の代わりに抵抗器RBを使用してもよい。抵抗器RBおよびRCは、任意選択である。図22および図23の実施形態において、ホスト110のI/Oピンからの信号は、電圧レギュレータ111−1をディスエーブルするために使用され得る。必要に応じて、スイッチ113、115、117(および、バス106をイネーブルするためのそれらに関連付けられた回路)のうちの1つ以上を図22の実施形態から省略してもよい。図22の実施形態では、(図16を参照して上記で論じたように)スレーブノード104もファントム給電されており、図23の実施形態のスイッチ113、115、および/または117(およびそれらの関連付けられた回路)はまた、図14および図15に図示されているシステム100(その中で、スレーブノード104はローカルで給電されている)と組み合わせて使用されてもよい。
図23は、図22に図示される実施形態といくつかの特徴を共有するシステム100の一実施形態を例示するが、図23では、電圧レギュレータ111−1は、(高電圧入力ではなく)低電圧入力を使用して動作をイネーブルし得る。図23の実施形態では、図22を参照して上記で論じたように、スイッチ113、115、および117は、バス106と接地との間に配設されて図示されており、したがって、これらのスイッチ113、115、および117は、図14〜図21に図示されるように、電源119から導出される電圧の代わりにバス106を接地に連結させ得る。必要に応じて、スイッチ113、115、117(およびバス106をイネーブルするためのそれらに関連付けられた回路)のうちの1つ以上を、図23の実施形態から省略してもよい。図23の実施形態では、(図16を参照して上記で論じたように)スレーブノード104もファントム給電されており、図23の実施形態のスイッチ113、115、および/または117(およびそれらの関連付けられた回路)はまた、図14および図15に図示されているシステム100(その中で、スレーブノード104はローカルで給電されている)と組み合わせて使用されてもよい。
スイッチの作動が、(例えば、図22〜図23を参照して上記で論じたように)バス106をローカル接地に接続することによってバス106をイネーブルするとき、例示的なイネーブルシーケンスは以下の通りであり得る。マスタノード102は、その関連付けられた電圧レギュレータ111−1がディスエーブルされる低電力モードで開始してもよい。小量の電力を使用して、PMOS1をイネーブルされた状態に維持し得る(一方、図示されたNMOSFETはオフである)。スイッチ(例えば、適切な実施形態におけるスイッチ113、115、または117)を閉じて、バス106を接地に短絡し得る。ノードトランシーバ120−1のSENSEピンは、バス106上の電圧降下を感知し得、これに応じて、ノードトランシーバ120−1は割り込み要求を生成し得る。割り込み要求に応答して、ホスト110は、マスタノード102に電源投入させ得、ノードトランシーバ120−1のプログラミングおよびバス106上のスレーブノード104の発見を開始し得る。ノードトランシーバ120−1は、(例えば、ノードトランシーバ120−1のバスバイアススイッチおよびライン診断機能を介して)バス106上のバイアスの制御を引き継ぎ得る。スレーブノード104の発見時に、スレーブノード104は、バスイネーブルを開始したスイッチの状態を反映するI/Oピンの状態を監視し得る。このスイッチの状態が変化すると(例えば、スイッチが開閉されると)、スレーブノード104は、ホスト110に割り込みを送信するか、またはバス106を介してホスト110へのこの情報のGPIO間移送を作成し得る。スイッチの特定の状態は、後続のイベント(例えば、マスタノード102は、その低電力モードに戻ってもよく、ホスト110は、バス106をディスエーブルにする前にいくつかの所定の「ハウスキーピング」手順を実行してもよい、等)を決定し得る。
いくつかの実施形態では、バス106によって提供されるファントム給電自体が、バス106に沿った通信をイネーブルするために使用され得る。図24は、スレーブノード104がファントム給電であり得るシステム100の一実施形態を図示し、ファントム給電自体を使用してバスイネーブルを開始し得る。特に、スイッチ113が閉じられるとき、バス106は弱く短絡され得る。マスタノード102は、以下にさらに論じられるように(バス106を介して通信は行われないかもしれないが)、低電力モードの間、バス106に小さいバイアスを提供してもよく、この小さなバイアスを使用して「起動」信号をマスタノード102に送り返し得る。いくつかの実施形態では、バス106のさらに下のスレーブノード104(図示せず)は、その上流回路がそうするように構成されているとき、リモートバスイネーブルを感知し得る。必要に応じて、スイッチ113、115、および117(およびバス106をイネーブルするためのそれらに関連付けられた回路)のうちの1つ以上を、図24の実施形態から省略してもよい。図24(および図25〜図26)の実施形態では、抵抗器R6は、NMOSFETのオン抵抗、または別の内部抵抗器によって提供されてもよい。図17に図示される実施形態とは対照的に、例えば、別個の電圧レギュレータ111をスイッチ113、115、または117に関連付けなくてもよい。
スイッチが、任意の所望の論理機能を達成するために本明細書に開示された任意の実施形態に含まれてもよい。例えば、図25は、4つのスイッチ113−1、113−2、115、および117が(追加の抵抗器RAと共に)含まれるシステム100の一実施形態を図示する。スイッチ113−1および113−2は、スイッチ113−1またはスイッチ113−2を閉じることによってバス106をイネーブルし得るように配置される。いくつかの実施形態では、スイッチ113−1および113−2(またはスイッチの任意の他の数および配置)は、動作中に異なるイベントをトリガすることができるノードトランシーバ120−2の固有のI/Oピンに経路指定されてもよい。いくつかの実施形態では、図25においてR5とラベル付けされた2つの抵抗器は同じ抵抗を有してもよい。任意の所望の配置において、任意の数のスイッチが、本明細書に開示されている実施形態のうちのいずれかと共に使用されてもよい。必要に応じて、スイッチ113、115、および117(およびバス106をイネーブルするためのそれらに関連付けられた回路)のうちの1つ以上を、図25の実施形態から省略してもよい。図25の実施形態では、(図16を参照して上記で論じたように)スレーブノード104もファントム給電されており、図25の実施形態のスイッチ113−1、113−2、115,および/または117(およびそれらの関連付けられた回路)はまた、図14および図15に図示されているシステム100(その中で、スレーブノード104はローカルで給電されている)と組み合わせて使用されてもよい。
上述のように、図14〜図25に図示される異なる特徴は、リモートバスイネーブル機能を有するシステム100の追加の実施形態において好適であるように組み合わされてもよい。例えば、図26は、図25のスイッチ113−1、113−2、115、および117の配置、および図23の電圧レギュレータ111−1の周りの「負論理」配置を含むシステム100の一実施形態を図示する。図26の実施形態では、ノードトランシーバ120−1の内部または外部にあるNMOSFETは、マスタノード102の低電力モード中にスイッチオンし、ライン診断および発見の前にスイッチオフするように制御され得る。抵抗器RCおよび/または抵抗器R6の値は、ノードトランシーバ120−1における電圧を適切に設定するように選択され得る。
バス106上のバイアスがそれ自体(例えば、図24〜図26を参照して上記に論じたように)リモートバスイネーブルのために使用されるとき、例示的なイネーブルシーケンスは以下の通りであり得る。ホスト110は、低電力モードであってもよい。マスタノード102は、マスタノード102が(例えば、PMOS1またはSENSEピンを制御することによって)バス106にバイアス電圧を供給し、かつVSSNピンの電圧を測定する低電力モードにあってもよい。VSSNピンの電圧は、リモートイネーブルスイッチのいずれも係合されない場合、低であり得る。いくつかの実施形態では、VSSNピンの電圧を測定する代わりに、マスタノード102は、SENSEピンの電圧変化を測定してもよく、またはバス106上の電流を(例えば、VSSNピンまたはSENSEピンで)測定してもよい。バス106上の通信がイネーブルされていないとき、バス106上の電流は、低くあり得る(例えば、スレーブノード(複数可)104によって引き込まれる静止電流に等しい)。スイッチ(例えば、適切な実施形態におけるスイッチ113、115、または117)を閉じて、高インピーダンス抵抗器(それぞれR5、R8、およびR9)を介して両側の線を橋渡しし、バス106内の電流の流れを予測可能な値(ライン診断中に感知される他の電流レベルとは異なるように選択され得る)に増加させ得る。ノードトランシーバ120−1のVSSNピンの電圧も増加し得る。ノードトランシーバ120−1は、電流または電圧のこの変化を感知し、(例えば、IRQピンを介してホスト110に送信される割り込み要求を用いて)そのイベントをホスト110に信号伝送し得る。ホスト110は、ノードトランシーバ120−1のプログラミングおよびバス106上のスレーブノード104の発見を開始することによって反応し得る。ノードトランシーバ120−1は、(例えば、ノードトランシーバ120−1のバスバイアススイッチおよびライン診断機能を介して)バス106上のバイアスの制御を引き継ぎ得る。スレーブノード104の発見時に、スレーブノード104は、バスイネーブルを開始したスイッチの状態を反映するI/Oピンの状態を監視し得る。このスイッチの状態が変化すると(例えば、スイッチが開閉されると)、スレーブノード104は、ホスト110に割り込みを送信するか、またはバス106を介してホスト110へのこの情報のGPIO間移送を作成し得る。スイッチの特定の状態は、後続のイベント(例えば、マスタノード102は、その低電力モードに戻ってもよく、ホスト110は、バス106をディスエーブルにする前にいくつかの所定の「ハウスキーピング」手順を実行してもよい、等)を決定し得る。
「ファントム給電イネーブル」システム(図24〜図26に図示すもののような)は、スイッチが、マスタノード102に対して(例えば、バス106に沿ってインラインの次と、またはバス106上の最初の2つのスレーブノード104の間で)「閉」のときに特に有利であり得る。スイッチがバス106の「さらなる」下流にあるとき、スイッチの作動がマスタノード102で検出可能であるように、追加の構成要素がシステム100に含まれてもよい。
上述のように、リモートバスイネーブル機能を達成するために、本明細書に開示されている実施形態のいずれにおいても、スイッチの任意の配置を使用し得る。例えば、図27は、バス106が、電源119(例えば、システムバッテリ)と電圧レギュレータ111−1のイネーブル入力との間に連結されたスイッチ121によってイネーブルされ得るシステム100の一実施形態を図示する。スイッチ121は、本明細書に開示されているスイッチ113、115、および/または117の配置のいずれかと併せて、またはその代わりに使用されてもよい。図27の実施形態では、(図16を参照して上記で論じたように)スレーブノード104もファントム給電されており、スイッチ121(およびその関連付けられた回路)はまた、図14および図15に図示されているシステム100(その中で、スレーブノード104はローカルで給電されている)と組み合わせて使用されてもよい。
図28は、図27に図示する実施形態といくつかの特徴を共有するシステム100の一実施形態を図示するが、図28では、バス106は、1つ以上のローカルバッテリ123に連結された1つ以上のスイッチ125によってイネーブルされ得る。いくつかの実施形態では、図28のシステム100は、バス106がディスエーブルされている間、図24〜図26の実施形態よりも少ない電流を引き込み得る。いくつかの実施形態では、バッテリ123は、ノードトランシーバ120−2内の電圧レギュレータ(図示せず)(その出力は図28に図示されるVOUTピンによって提供される)によってシステム100の通常のアクティブ動作中にトリクル充電されてもよい。スイッチ125は、本明細書に開示されているスイッチ113、115、117、および/または121の配置のうちのいずれかと併せて、またはその代わりに使用されてもよい。図28の実施形態では、(図16を参照して上記で論じたように)スレーブノード104もファントム給電されており、スイッチ125(およびその関連付けられた回路)はまた、図14および図15に図示されているシステム100(その中で、スレーブノード104はローカルで給電されている)と組み合わせて使用されてもよい。
以下の段落は,本明細書に開示されている実施形態の様々なものの実施例を提供する。
実施例1は、バスの下流リンクに連結されたマスタトランシーバと、電圧レギュレータであって、電圧レギュレータは電圧出力およびイネーブル入力を有し、かつ電圧出力はマスタトランシーバに連結されている、電圧レギュレータと、電圧レギュレータのイネーブル入力に連結されているスイッチと、を含む、リモートイネーブル機能を有する通信システムである。
実施例2は、実施例1の主題を含み得、かつ、バスの下流リンクに連結されたスレーブトランシーバをさらに含み得る。
実施例3は、実施例2の主題を含み得、かつ、電圧レギュレータが第1の電圧レギュレータであり、スイッチは、バスの下流リンクとスレーブトランシーバと関連付けられた第2の電圧レギュレータとの間に連結されていることをさらに特定し得る。
実施例4は、実施例3の主題を含み得、かつ、第2の電圧レギュレータは、スレーブトランシーバに電力を提供することをさらに特定し得る。
実施例5は、実施例3の主題を含み得、かつ、第2の電圧レギュレータがスレーブトランシーバに電力を提供しないことをさらに特定し得る。
実施例6は、実施例2〜5のいずれかの主題を含み得、かつ、バスの下流リンクはバスの第1の下流リンクであり、電圧レギュレータは、第1の電圧レギュレータであり、通信システムは、第2の電圧レギュレータをさらに含み、通信システムは、スレーブトランシーバの下流にあるバスの第2の下流リンクをさらに含み、スイッチは、バスの第2の下流リンクと第2の電圧レギュレータの間に連結されていることをさらに特定し得る。
実施例7は、実施例1〜6のいずれかの主題を含み得、かつ、電圧レギュレータが第1の電圧レギュレータであり、通信システムは、第2の電圧レギュレータをさらに含み、スイッチは、バスの下流リンクと第2の電圧レギュレータとの間に連結されていることをさらに特定し得る。
実施例8は、実施例1〜7のいずれかの主題を含み得、かつ、マスタトランシーバとバスの下流リンクとの間の下流フィルタリング回路と、下流フィルタリング回路と電圧レギュレータのイネーブル入力との間のダイオードと、をさらに含み得る。
実施例9は、実施例8の主題を含み得、かつ、ダイオードは、PMOS電界効果トランジスタによって提供されることをさらに特定し得る。
実施例10は、実施例1〜9のいずれかの主題を含み得、かつ、電源の出力は、電圧レギュレータに連結され、スイッチは、電源の出力とバスの下流リンクとの間に連結されている電源をさらに含み得る。
実施例11は、実施例10の主題を含み得、かつ、スイッチは、電源の出力に直接連結されていることをさらに特定し得る。
実施例12は、実施例1〜11のいずれかの主題を含み得、かつ、スイッチは、接地とバスの下流リンクとの間に連結されていることをさらに特定し得る。
実施例13は、実施例1〜12のいずれかの主題を含み得、かつ、バスの下流リンクは、2本の線を含み、スイッチは、2本の線の間に連結されていることをさらに特定し得る。
実施例14は、実施例1〜13のいずれかの主題を含み得、かつ、スイッチは、第1のスイッチであり、通信システムは、電圧レギュレータのイネーブル入力に連結された第2のスイッチをさらに含むことをさらに特定し得る。
実施例15は、実施例1〜14のいずれかの主題を含み得、かつ充電可能なバッテリをさらに含み得、充電可能なバッテリは、バスのスイッチとバスの下流リンクとの間に連結されている。
実施例16は、実施例1〜15のいずれかの主題を含み得、かつマスタトランシーバに連結されたホストをさらに含み得、ホストは、電圧レギュレータのイネーブル入力に連結された出力を有する。
実施例17は、実施例16の主題を含み得、かつ、ホストは、集積回路間(I2C)プロトコルを介してマスタトランシーバに連結されていることをさらに特定し得る。
実施例18は、実施例1〜17のいずれかの主題を含み得、かつ、マスタトランシーバは、電圧レギュレータのイネーブル入力に連結された出力を有することをさらに特定し得る。
実施例19は、実施例1〜18のいずれかの主題を含み得、かつ、バスは、2線式バスであり、マスタトランシーバは、バスの下流リンク上に同期制御フレームを周期的に送信し、バスの下流リンクから同期応答フレームを受信し、同期応答フレームは、バス上の最後の下流デバイスに源を発することをさらに特定し得る。
実施例20は、バスの下流リンクに連結されたマスタトランシーバと、バスの下流リンクと接地との間に連結されたスイッチと、を含む、リモートイネーブル機能を有する通信システムである。
実施例21は、実施例20の主題を含み得、かつマスタトランシーバに連結されたホストをさらに含み得、マスタトランシーバは、バスの下流リンクと接地との間の短絡を検出し、短絡の検出に応答して、ホストに割り込みを送出する。
実施例22は、実施例21の主題を含み得、かつ、ホストは、割り込みの受信に応答してマスタトランシーバを初期化することをさらに特定し得る。
実施例23は、通信システム内のマスタトランシーバによって、低電力モードに入ることを含み、ここで通信システムは2線式通信バスを含み、かつマスタトランシーバは2線式通信バス上で同期制御フレームを下流に周期的に送信し、さらに通信システムにおいて、スイッチの作動を表す信号を検出することを含み、ここでスイッチはマスタトランシーバから遠隔であり、そして信号の検出に応答して、マスタトランシーバを低電力モードから抜け出させることを含む、リモートイネーブル機能を含む通信システムを動作させる方法である。
実施例24は、実施例23の主題を含み得、かつ、スイッチは、緊急ボタンと関連付けられていることをさらに特定し得る。
実施例25は、実施例23または24のいずれかの主題を含み得、通信システムが車両内に含まれることをさらに特定し得る。
実施例26は、本明細書に開示されている実施形態のいずれかに従って、リモートバスイネーブル機能を有する通信システムである。
実施例27は、本明細書に開示されている実施形態のいずれかに従って、通信バスをリモートイネーブルする方法である。
実施例28は、本明細書に開示されている実施形態のいずれかに従って、マスタデバイスのリモートイネーブルを提供するためにマスタデバイスに連結された回路である。
実施例29は、本明細書に開示されている実施形態のいずれかに従って、スレーブデバイスが連結される通信バスのリモートイネーブルを提供するためにスレーブデバイスに連結された回路である。
実施例30は、それぞれ回路の異なるマスタデバイスとスレーブデバイスとの間の通信バスのリモートイネーブルを提供するためにバスに連結された回路である。
実施例31は、マスタデバイスとスレーブデバイスとの間の通信バスのリモートイネーブルを提供するためにバスに連結された回路であり、スレーブデバイスは、通信バスに沿ってマスタデバイスと回路との間に連結される。
実施例32は、本明細書に開示されている実施形態のいずれかに従って、リモートバスイネーブル機能のための手段を含む通信システムである。
実施例33は、本明細書に開示されている方法のいずれかを実行するための手段を含む通信システムである。