(57)【要約】  データバスが、第１通信プロトコルを用いるデジタル通信のための第１インターフェースに結合され、第２通信プロトコルを用いるマルチドロップバスを制御するマスターバスコントローラを備えているデバイスコントローラと、マルチドロップバスに結合され、第２通信プロトコルを用いて前記デバイスコントローラとのデジタル通信を送受信するように構成されたスレーブデバイスとを備えている。伝送線路の各端は、伝送線路の一端に取り付けられたデバイスと、他端に取り付けられた他のデバイスとによって終端されている。第２通信プロトコルは、固定のフレームフォーマットを用いながら複数データレートをサポートしている。安全な同期が、有効な候補を探索する代わりに全ての偽の位置をシステマチックに消滅させることで確立されてもよい。音声帯域におけるノイズは、擬似乱数生成器を用いてデータをスクランブルすることで低減されてもよい。【選択図】図１Ａ
2021536151.tif 000002
【特許請求の範囲】
【請求項１】
複数のタイムスロットを備える通信プロトコルを用いてデジタル通信を行うためのマルチドロップバスに結合されたマスターデバイスと、
前記マルチドロップバスに結合され、前記通信プロトコルに従って前記マスターデバイスとデジタル通信を送受信するように構成された第１スレーブデバイスと、
を備え、
前記複数のタイムスロットの少なくとも一つが、前記第１スレーブデバイスのための通信設定を規定して帯域幅及び／又は信号インテグリティを動的に最適化するために用いられる
システム。
【請求項２】
前記マルチドロップバスは、２つの線において異なる電圧レベルで終端され、これにより、低電力動作と低電磁妨害を容易化する差動データバスである
請求項１に記載のシステム。
【請求項３】
要求される信号伝送レートよりも大きい信号伝送レートで動作し、各サイクルの一部でマルチドロップバスを休止したままにしておくことで、電力消費が低減されている
請求項２に記載のシステム。
【請求項４】
前記マルチドロップバスが、端部トランスミッタを用いてスレーブデバイスを受け取るように構成されたマルチドロップ差動長線路長バスである
請求項１に記載のシステム。
【請求項５】
前記マルチドロップバスが、更に、予期された固定パターンに従って変化していないタイムスロットを識別し、安全な同期のために無効な位置を消滅させることを含んで２以上の接続デバイスを同期するように構成された
請求項１に記載のシステム。
【請求項６】
前記システムが、更に、マルチドロップバスのデジタル通信トラフィックと独立してバルクデータ転送を容易化するように構成されている
請求項１のシステム。
【請求項７】
前記第１スレーブデバイスと前記バスに接続されている第２スレーブデバイスとが、送信メッセージが一連の前進又は後進伝搬波として送られるようにタイミングが取られ、これにより、終端された伝送線路を用いたマルチドロップ高速双方向通信が可能になっている
請求項１に記載のシステム。
【請求項８】
前記マルチドロップバス上の中間ノードが、伝搬波に短い中断を生じさせるように前記マルチドロップバスに接続され、
前記中間ノードに起因する前記伝送線路の途絶の物理的長さが、信号伝送に用いられる最短の波長よりも短い
請求項１に記載のシステム。
【請求項９】
デバイス間の遅延が、既知の値にバスをチャージし、前記バスの始点と終点のドライバを無効化して前記バスをフローティングにし、測定の間に終端されないようにし、前記デバイスがバスのレベルを変化させることを待ち、遷移遅延を測定することにより測定される
請求項１に記載のシステム。
【請求項１０】
システムタイミングが前記マスターデバイス及び／又は前記第１スレーブデバイスに設けられたフラクショナルＰＬＬから得られており、前記ＰＬＬが、擬似乱数生成器からの出力を分数加算器に加算することでディザリングされ、これにより、ＥＭＩを低減する
請求項１に記載のシステム。
【請求項１１】
擬似乱数生成器が、一以上のデータポートの出力をスクランブルし、これにより出力スペクトルを白色化して低ＥＭＩを可能にするように構成された
請求項１に記載のシステム。
【請求項１２】
ＰＬＬが前記マスターデバイスと前記第１スレーブデバイスの間の同期を得るために用いられる
請求項１に記載のシステム。
【請求項１３】
前記ＰＬＬが、前記ＰＬＬの初期ロックの間に有効にされ、その後、前記ＰＬＬがランダムなバストラフィックにロックすることを避けるために、同期情報を通過させるのみになる時間ゲートを備えている
請求項１２に記載のシステム。
【請求項１４】
ＤＬＬがマスターデバイスと１以上のスレーブデバイスの間のロックを得るために用いられる
請求項１に記載のシステム。
【請求項１５】
前記ＤＬＬが、前記ＤＬＬの初期ロックの間に有効にされ、その後、前記ＤＬＬがランダムなバストラフィックにロックすることを避けるために、同期情報を通過させるのみになる時間ゲートを備えている
請求項１４に記載のシステム。
【請求項１６】
複数のタイムスロットを備える通信プロトコルを用いるデジタル通信のためのマルチドロップバスに結合されたマスターデバイスを提供することと、
第１スレーブデバイスを前記マルチドロップバスに結合し、前記スレーブデバイスを前記通信プロトコルに従って前記マスターデバイスとのデジタル通信を送受信するように設定することと、
前記複数のタイムスロットの少なくとも一を用いて前記第１スレーブデバイスのための通信設定を規定して動的に帯域幅及び／又は信号インテグリティを最適化することと、
を含む
方法。
【請求項１７】
更に、前記マルチドロップバスを逆極性で終端された差動データバスとして動作させ、これにより低電力動作と低電磁妨害を容易化することを含む
請求項１６に記載の方法。
【請求項１８】
更に、予期された固定パターンに従って変化しないタイムスロットを識別し、安全な同期のために無効な位置を消滅することを含んで２以上の接続デバイスを同期することを含む
請求項１６に記載の方法。
【請求項１９】
前記第１スレーブデバイスと前記バスに接続された第２スレーブデバイスとが、送信メッセージが一連の前進又は後進伝搬波として送られるようにタイミングが取られ、これにより、終端された伝送線路を用いたマルチドロップ高速双方向通信が可能になっている
請求項１６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この出願は、２０１８年５月３１日に出願された米国仮特許出願第６２／６７８，９９３号及び２０１８年８月２２日に出願された米国仮特許出願第６２／７２１，４１２の優先権及び利益を主張するものであり、それらの出願のそれぞれは、参照することにより、その全体がそのまま本願に組み込まれる。
【０００２】
この出願は、２０１８年９月７日に出願された米国特許出願第１６／１２５，６１７号の部分継続出願であり、当該出願は、参照することにより、その全体がそのまま本願に組み込まれる。
【０００３】
本願は、全体としてはデータ通信に関しており、より具体的には、例えば、デバイス間のデジタルデータの通信のためのシステム及び方法に関する。
【背景技術】
【０００４】
電子デバイスの間でデジタルデータを送受信するための様々なインターフェースが本技術では知られている。しかしながら、既存のインターフェースは、多くの近代的なシステムの全ての要求に合致しているわけではない。信頼性と良好な信号品質を維持し、低コスト、低電力デバイスへの要求に合致しながら、様々な接続デバイスのために高帯域幅の通信を可能にすることが望ましい場合がしばしばある。例えば、動的ノイズキャンセレーション（ＡＮＣ）ヘッドセットは、複雑で高価な装備を要求することがあり、ＡＮＣヘッドセットとホストデバイスの間で高帯域幅の通信を行うことは、ホストデバイス上でノイズキャンセレーション信号を処理する等のある種のアプリケーションにとって望ましい場合がある。
【０００５】
いくつかのアプローチでは、高帯域幅の通信は、レシーバで終端するデジタル通信リンクを介して行われる。これらのアプローチは、ある種の構成について満足のいく信号インテグリティを提供することがあるが、同時に低電力消費の要求がある場合には、レシーバ終端における固定的な電力消費は好ましくない場合がある。更に、これらのアプローチの多くは、低遅延データ転送のために最適化されていない。なぜなら、データ通信は、デジタル通信リンクを介して転送するのにサンプル期間を丸々要することがあるからである。一部のシステムには、しばしば、複数デバイスへの接続をサポートしたり、特定の長さの要求（例えば、１〜２メートル）を満たす物理的リンクをサポートしたりするような追加の要求がある。追加の要求は、接続デバイス間の通信、異なるデバイス種類をサポートし、適合することへの柔軟性、及び、データがシリアル化されたフォーマットで輸送されるシステムにおいてバルクデータ転送を含む様々なデータ転送実装をサポートすることを含むことがある。
【０００６】
上記の点からみて、本技術においては、デジタルデータ通信システム及び方法の向上に対する継続した要求がある。
【発明の概要】
【０００７】
本開示は、物理的に接続されたデバイス間でのデジタルデータ通信の向上という本技術における要求に対応するシステム及び方法を提供する。様々な実施形態において、データバスシステム及び方法は、第１通信プロトコルに従ってデジタル音声データ通信を行うための第１インターフェースに接続されたデバイスコントローラを備えている。デバイスコントローラは、第２通信プロトコルに従ってマルチドロップバスを制御するマスターバスコントローラを備えている。第１スレーブデバイスは、マルチドロップバスに接続されており、第２通信プロトコルに従ってデバイスコントローラとのデジタル音声データ通信を送受信するように構成されている。各伝送線路は該伝送線路の一端に取り付けられたデバイスを用い、他端に取り付けられた他のデバイスによって終端されている。中間シグナリングノードを含むことによるインピーダンス不整合による反射は、マルチドロップデバイスへの対応及び高速な信号伝送が可能であるように制御される。第２通信プロトコルは、固定のフレームフォーマットを用いながら複数の音声データレートをサポートしていてもよい。
【０００８】
いくつかの実施形態では、第１スレーブデバイスとバスに接続された第２スレーブデバイスとは、送信されたメッセージが、一連の前進又は後進伝搬波として送られるようにタイミングが取られ、これにより、終端された伝送線路を用いたマルチドロップ高速双方向通信が可能になる。一実施形態では、差動シグナリングが通信に用いられ、コモンモード干渉を低減するために、一の線路が論理ハイに終端され、一の線路が論理ローに終端される。一実施形態では、差動シグナリングがＥＭＩを低減するために用いられ、データが伝送されずバスが空いているときに、終端レベルに従ってハイレベルとローレベルのうちの一に出力ドライバを設定することによって各伝送線路の終端が処理される。これにより、伝送終点による電力消費の低減が可能になる。
【０００９】
いくつかの実施形態では、伝送線路上の中間ノードが、伝搬波に短い中断を生じさせるように、かつ、スタブ及び／又は伝送線路の途絶が信号伝送に用いられる最短波長よりも極めて短い（例えば、最短波長の１／５０未満）という要請と共に、伝送線路に接続される。出力終端レベルが最終的な出力状態レベル（休止レベル）に等しいという条件で、電力消費が、最小の要求信号伝送レートよりも高い信号伝送レートを用い、各クロックサイクル又は各フレームの一部でバスを休止しておくことで低減され、これにより、終端における電力ロスを低減する。信号伝送のために必要な電力が容量型又は誘導型降下レギュレータによって得られ、これにより、レギュレータにおける電力ロスを最小にしてもよい。バスにおける伝送電圧を低減することにより、電力消費が更に限定されることがあり、差動シグナリングが、システムが外部ノイズ及びＥＭＩに対して頑強でありながら低電圧信号伝送を可能にするように用いられてもよい。
【００１０】
いくつかの実施形態では、コンポーネント間の遅延が、バスを既知の値にチャージし、バスがフローティングになり測定の間に終端されないことを保証するために、伝送線路の始点及び終点にあるドライバを無効にし、デバイスがバスにおけるレベルを変化させるのを待ち、遷移遅延を測定することで測定される。伝送線路の各端のドライバは、複数のドライバに現在のバス状態を変更することを許可することにより、バスに接続されたコンポーネントの計数の間、無効にされてもよい。現在のバス状態は、コントローラによって設定されてもよく、デバイスの計数を許可する所定の時間ウィンドウにおいて、一以上のデバイスが反対の値に伝送線路を変化することがある。デバイスコントローラは、更に、第１通信プロトコルによる通信を同期するための第１クロック信号と、第２通信プロトコルによる通信を同期するための第２クロック信号と、音声データ処理に用いられる第３クロック信号とを提供する位相同期ループ（ＰＬＬ）又は遅延同期ループを更に備えていてもよい。
【００１１】
様々な実施形態において、第２通信プロトコルは、固定のフレーム構造を用いながら異なる通信帯域幅をサポートしている。いくつかの実施形態では、データポートまたは各同期信号に続くデータが高周波搬送波又は擬似乱数生成器によって変調され、これにより、音声システムにおける干渉の低減のために音声帯域幅における電流変調を低減する。デバイスコントローラ、第１スレーブデバイス及び第２スレーブデバイスは、音声ヘッドセット又は他の音声聴取装置を備えていてもよい。いくつかの実施形態では、電力消費の低減のために、トランスミッタの活性化の間、伝送線路の端における終端が一時的に無効にされる。
【００１２】
様々な実施形態において、方法が、第１通信プロトコルに従って第１インターフェースを通じてデジタル音声データを送受信することと、第２通信プロトコルに従ってデバイスコントローラを用いてマルチドロップバスを制御することと、マルチドロップバスに接続された第１スレーブデバイスを用いることと、第２通信プロトコルに従ってデバイスコントローラを用いてデジタル音声データを送受信することと、任意の信号の終端を可能にするために、伝送線路の各端のトランスミッタを既知の状態に設定することとを含む。いくつかの実施形態では、第２通信プロトコルは、固定のフレームフォーマットを用いながら複数の音声データレートをサポートしていてもよい。
【００１３】
当該方法は、更に、位相同期又は遅延同期ループを用いて、第１通信プロトコルに従った通信を同期するための第１クロック信号と、第２通信プロトコルに従った通信を同期するための第２クロック信号と、音声データ処理に用いられる第３クロック信号とを、生成することを含んでいてもよい。いくつかの実施形態では、第２通信プロトコルが、固定のフレーム構造を用いながら異なる通信帯域幅をサポートしている。スペクトル拡散によって放射されるＥＭＩを低減するためにＰＬＬ又はＤＬＬにディザが加えられてもよい。バス上を伝送されるデータは、音声帯域におけるスペクトル成分を低減するために、送信時にスクランブルされ、受信時にデスクランブルされてもよい。
【００１４】
発明の範囲は、特許請求の範囲によって規定され、特許請求の記載は、参照することで本項に組み込まれる。発明の実施形態のより完全な理解は、以下に記載した、一以上の実施形態の詳細な説明を考慮することで、その追加の利点の実現と共に当業者に与えられるであろう。以下では、最初に簡潔に説明する図面の添付シートが参照される。
【図面の簡単な説明】
【００１５】
【図１Ａ】図１Ａは、一以上の実施形態による、例示的なバスインターフェースシステムである。
【００１６】
【図１Ｂ】図１Ｂは、一以上の実施形態による例示的なヘッドセットを図示している。
【図１Ｃ】図１Ｃは、一以上の実施形態による例示的なヘッドセットを図示している。
【００１７】
【図２Ａ】図２Ａは、一以上の実施形態による例示的なバスインターフェースシステムである。
【００１８】
【図２Ｂ】図２Ｂは、一以上の実施形態による例示的なヘッドセットを図示している。
【００１９】
【図３】図３は、一以上の実施形態による例示的なタイミングシーケンスを図示している。
【００２０】
【図４】図４は、一以上の実施形態による、時間ゲーティングが行われる例示的な位相同期ループ（ＰＬＬ）を図示している。
【００２１】
【図５Ａ】図５Ａは、一以上の実施形態による例示的なクロックソルーションを図示している。
【図５Ｂ】図５Ｂは、一以上の実施形態による例示的なクロックソルーションを図示している。
【００２２】
【図６Ａ】図６Ａは、一以上の実施形態による例示的なクロックソルーションを図示している。
【図６Ｂ】図６Ｂは、一以上の実施形態による例示的なクロックソルーションを図示している。
【００２３】
【図７】図７は、一以上の実施形態による例示的なクロックソルーションを図示している。
【００２４】
【図８Ａ】図８Ａは、一以上の実施形態による例示的なクロックソルーションを図示している。
【図８Ｂ】図８Ｂは、一以上の実施形態による例示的なクロックソルーションを図示している。
【００２５】
【図９Ａ】図９Ａは、一以上の実施形態による例示的なフレーム構造を図示している。
【図９Ｂ】図９Ｂは、一以上の実施形態による例示的なフレーム構造を図示している。
【図９Ｃ】図９Ｃは、一以上の実施形態による例示的なフレーム構造を図示している。
【図９Ｄ】図９Ｄは、一以上の実施形態による例示的なフレーム構造を図示している。
【図９Ｅ】図９Ｅは、一以上の実施形態による例示的なフレーム構造を図示している。
【図９Ｆ】図９Ｆは、一以上の実施形態による例示的なフレーム構造を図示している。
【００２６】
【図１０Ａ】図１０Ａは、一以上の実施形態による、接続されたデバイスの遅延測定のための方法を図示している。
【００２７】
【図１０Ｂ】図１０Ｂは、一以上の実施形態による、接続されたデバイスの計数のための方法を図示している。
【００２８】
【図１１Ａ】図１１Ａは、一以上の実施形態による例示的な双方向通信配置を図示している。
【００２９】
【図１１Ｂ】図１１Ｂは、一以上の実施形態による、差動シグナリング、同期、及びデジタルデータ通信の例を図示している。
【００３０】
【図１１Ｃ】図１１Ｃは、一以上の実施形態による差動シグナリングシステムの例を図示している。
【００３１】
【図１１Ｄ】図１１Ｄは、一以上の実施形態による差動シグナリングシステムの他の例を図示している。
【００３２】
【図１２】図１２は、一以上の実施形態による例示的なＰＬＬロックシーケンスを図示している。
【００３３】
【図１３】図１３は、一以上の実施形態による例示的なＰＬＬ同期イネーブル回路である。
【００３４】
【図１４】図１４は、一以上の実施形態による例示的な同期シグナリングを図示している。
【００３５】
【図１５】図１５は、一以上の実施形態によるデジタルデータ通信システムの例示的な動作を図示している。
【００３６】
【図１６Ａ】図１６Ａは、一以上の実施形態において用いられ得る例示的なフレーム構造を図示している。
【図１６Ｂ】図１６Ｂは、一以上の実施形態において用いられ得る例示的なフレーム構造を図示している。
【図１６Ｃ】図１６Ｃは、一以上の実施形態において用いられ得る例示的なフレーム構造を図示している。
【００３７】
【図１７】図１７は、一以上の実施形態による例示的なフレームを図示している。
【００３８】
【図１８Ａ】図１８Ａは、一以上の実施形態による、バルク転送を含む読み出し及び書き込み動作のための例示的なフレーム構成を図示している。
【図１８Ｂ】図１８Ｂは、一以上の実施形態による、バルク転送を含む読み出し及び書き込み動作のための例示的なフレーム構成を図示している。
【図１８Ｃ】図１８Ｃは、一以上の実施形態による、バルク転送を含む読み出し及び書き込み動作のための例示的なフレーム構成を図示している。
【００３９】
【図１９】図１９は、一以上の実施形態による例示的なフレーム同期アルゴリズムを図示している。
【００４０】
含まれている図面は、説明のための目的であり、前後関係に応じた音声処理を提供するための開示された方法及びシステムのための可能なシステム及び方法の例を提供するのみの役割をするものである。これらの図面は、決して、本開示の要旨及び範囲から離れることなく当業者によって開示されたものに対し、形態及び詳細における如何なる変更を制限するものではない。
【発明を実施するための形態】
【００４１】
本開示は、本技術における、電子デバイス間のデジタルデータ通信の向上の要求に対応する。様々な実施形態において、物理的データリンクを介して接続されたマスターデバイス及び一以上のスレーブデバイスの間で低電力、高帯域幅、マルチドロップ及び／又は低遅延通信を提供するためのシステム及び方法が開示される。本開示は、低電力消費、高帯域幅と長いリンク長の組み合わせ、低くより制御された遅延、ポイントツーポイント接続に加えてマルチドロップトポロジーのサポート、及び、簡単なデバイス間同期を含む、従来のシステム及び方法に対しての多くの利点を提供する。
【００４２】
様々な実施形態において、ビットを早く伝送し、その後、クロックサイクルの残り又はフレームの期間の残りの間はバスを休止しておくプロセスを通じて、終端されたデバイスについてさえも低電力が得られる。反対の極性で終端された差動データバスは、低電力動作及び低電磁妨害（ＥＭＩ）を容易にする。本開示は、また、終端されていない端を有する構成における低電力消費を容易にする。ここで、高周波クロック又はタイミング要素が、データが１以上の時間単位において受信可能であることを確実にするために用いられ、これにより、物理システムを変更することなく、高い信号−ノイズ比（ＳＮＲ）と高いデータレートの間の選択が可能になる。例えば、複数のタイムスロットが、帯域幅と信号インテグリティの間の折衷を可能にするために各シンボルを規定するために用いられてもよい。
【００４３】
本開示は、更に、低ＥＭＩのためのコモンシグナリングの低減を確保するために、マルチドロップ差動長線路長バスに、端部トランスミッタを実際の終端として用い、逆の終端極性を用いる複数のデバイスを設ける。接続デバイスの同期のためのアルゴリズムは、期待されたパターンに従って変化しないタイムスロットを発見することと、安全な同期のために無効な位置を全てシステマチックに消滅させることとを含む。このようにして、ある種のシステムの実装は、任意のランダムデータを用いてもなお安全な同期を保証可能にする。探索は、単一の同期候補しか残っていないときに最初に終了されるであろうし、よって、如何なるランダムデータも、偽同期を引き起こさない。また、バストラフィックと独立してメモリモジュール間の転送を容易化するために、バルクデータ転送のためのアルゴリズムが提供される。いくつかの実施形態では、ＥＭＩの低減が、システムクロックにディザを加えることで達成される。音声帯域における干渉は、送信の前にデータシンボルをスクランブルし、（元の値を得るために）受信後に値をデスクランブルすることによって低減されてもよい。本開示のこれら及び他の特徴及び利点は、下記の開示を参照することで理解されるであろう。
【００４４】
本明細書には、様々な実施形態が開示されている。一実施形態では、システムが、複数のタイムスロットを備える通信プロトコルを用いてデジタル通信を行うためのマルチドロップバスに結合されたマスターデバイスと、該マルチドロップバスに結合され、該通信プロトコルに従ってマスターデバイスとのデジタル通信を送受信するように構成された第１スレーブデバイスとを備えている。タイムスロットの少なくとも一つは、動的に帯域幅及び／又は信号インテグリティを最適化するために第１スレーブデバイスのための通信設定を規定するために用いられる。マルチドロップバスは、２つの信号線上で異なる電圧レベルに終端された差動データバスであり、これにより、低電力動作及び低電磁妨害を容易化する。一態様では、該マルチドロップバスは、端部トランスミッタを用いて複数のスレーブデバイスを受信するように構成されたマルチドロップ差動長線路長バスである。必要とされる信号伝送レートよりも高い信号伝送レートで動作し、該マルチドロップバスを各サイクルの一部で休止しておくことで、電力消費が低減される。
【００４５】
一実施形態では、システムが、更に、期待された固定パターンに従って変化していないタイムスロットを特定し、安全な同期のために無効な位置を消滅させることを含みながら、２以上の接続デバイスを同期するように構成されている。該システムは、更に、マルチドロップバスのデジタル通信トラフィックと無関係にバルクデータ転送を容易化するように構成されている。他の態様では、第１スレーブデバイスと該バスに接続された第２スレーブデバイスとが、送信されたメッセージが一連の前進又は後進伝搬波として送られるようにタイミングが取られ、これにより、終端された伝送線路を用いたマルチドロップ高速双方向通信を可能にする。マルチドロップバス上の中間ノードが、伝搬波に短い中断を生じさせるようにマルチドロップバスに接続され、中間ノードに起因する伝送線路への途絶の物理的な長さが、信号伝送に用いられる最短波長よりも短い。
【００４６】
いくつかの実施形態では、デバイス間の遅延が、バスを既知の値にチャージし、バスをフローティングにして測定の間、終端されないようにバスの始点及び終点のドライバを無効にし、デバイスがバス上のレベルを変化させることを待ち、遷移遅延を測定することにより測定される。ＰＬＬ又はＤＬＬが、マスターデバイスと第１スレーブデバイスの間のロックを得るために用いられる。システムタイミングが、マスターデバイス及び／又は第１スレーブデバイスに設けられたフラクショナルＰＬＬから得られ、擬似乱数生成器からの出力を分数加算器に加えることによりＰＬＬがディザリングされ、これによりＥＭＩを低減する。一実施形態では、擬似乱数生成器が、一以上のデータポートの出力をスクランブルするように構成され、これにより、出力スペクトルを白色化することでＥＭＩの低減を可能にする。ＰＬＬ及び／又はＤＬＬは、ＰＬＬがランダムなバストラフィックにロックすることを避けるために、ＰＬＬの初期ロックの間に有効にされ、その後、同期情報を通過させるのみになる時間ゲートを備えていてもよい。
【００４７】
様々な実施形態において、方法が、複数のタイムスロットを備える通信プロトコルを用いたデジタル通信のためのマルチドロップバスに結合されたマスターデバイスを提供することと、第１スレーブデバイスをマルチドロップバスに結合して、該通信プロトコルに従ってマスターデバイスとのデジタル通信を送受信するように該スレーブデバイスを設定することと、タイムスロットの少なくとも一つを用いて、動的に帯域幅及び／又は信号インテグリティを最適化するように第１スレーブデバイスの通信設定を規定することとを含む。当該方法は、更に、マルチドロップデータバスを逆極性に終端された差動データバスとして動作させることを含んでいてもよく、これにより、低電力動作及び低電磁妨害を容易化し、及び／又は期待された固定パターンに従って変化しないタイムスロットを特定し、安全な同期に無効な位置を消滅させることを含む２以上の接続デバイスの同期を行ってもよい。当該方法のいくつかの実施形態では、第１スレーブデバイスとバスに接続された第２スレーブデバイスとが、送信されたメッセージが、一連の前進又は後進伝搬波として送られるようにタイミングが取られ、これにより、終端された伝送線路を用いたマルチドロップ高速双方向通信が可能になる。
【００４８】
図１Ａを参照して、本開示の一以上の実施形態による、例示的な音声システム１００を説明する。システム１００は、ホストデバイス１１０と少なくとも一の接続デバイス１３０とを備えている。ホストデバイス１１０は、音声データを接続デバイス１３０に送信し又は接続デバイス１３０から受信するように構成されている任意の電子デバイス、例えば、スマートフォン、タブレットコンピューター、ラップトップコンピューター、自動車用音声インターフェース、音声会議システム、音声再生システム又は他の電子デバイスであってもよい。接続デバイス１３０は、音声データを送信し、受信し、及び／又は処理するように構成された１以上の電子デバイスを備えていてもよく、例えば、一以上のマイクロホン、ラウドスピーカー又は音声処理システムを備えていてもよい。本実施形態では、音声通信を参照して議論されるが、本明細書に記述されているシステム及び方法は、本開示に従って他の電子デバイス及びデータ種類について実施されてもよいと理解されよう。
【００４９】
図示されている実施形態では、ホストデバイス１１０は、アプリケーションプロセッサ１１２と、音声コーデック１１４と、インターフェースコンポーネント１１６とを備えている。アプリケーションプロセッサ１１２は、ホストデバイス１１０と接続デバイス１３０との間のデジタル音声データ通信を制御する。音声コーデック１１４は、ホストデバイス１１０の要求に従って音声入力処理及び／又は音声出力処理を行う。インターフェースコンポーネント１１６は、ケーブル１２０及び互換コネクタを介してホストデバイス１１０と接続デバイス１３０との間の物理的接続を容易化する。様々な実施形態において、インターフェースコンポーネント１１６は、コネクタを受け入れるポートと、それに対応する、通信プロトコルを実施するためのインターフェースコントローラとを備えていてもよい。本明細書で説明する実施形態では、ユニバーサルシリアルバス（ＵＳＢ）コネクタ及びインターフェースを説明する。しかしながら、他のケーブル、コネクタ及びプロトコルが本明細書で説明した実施形態に従って用いられてもよいと理解されよう。
【００５０】
一以上の実施形態では、アプリケーションプロセッサ１１２は、例えば、SoundWire規格又はＵＳＢ規格によって規定されているようなクロック及びデータラインを備える多線バスプロトコルを用いてホストデバイス１１０及び接続デバイス１３０の間の通信を容易化する。アプリケーションプロセッサ１１２は、SoundWire又は他のデジタルインターフェースのような音声インターフェースを用いて、マスター−スレーブの関係で音声コーデック１１４と通信してもよい。音声コーデック１１４は、当該２つのインターフェースプロトコルの間で音声データを変換しながらアプリケーションプロセッサ１１２とインターフェースコンポーネント１１６との間の通信を容易化する。音声データは、インターフェースコンポーネント１１６と、ケーブル１２０上のデータ送信を処理するように構成されているデバイスコントローラ１４０との間で送信される。デバイスコントローラ１４０は、更に、接続デバイス１３０のインターフェースバスを介する、音声コンポーネント１４２及び音声コンポーネント１４４のような一以上のスレーブデバイスとの通信のためのマスターデバイスとして動作し、ユーザインターフェースコンポーネント１４６を介するユーザ入力の処理のような他のデバイス機能を容易化することに対応している。一実施形態では、バスラインは、電源バス（ＶＢＵＳ）と、データ送信のための差動対Ｄ＋、Ｄ−と、接地と、デバイスＩＤとを備えている。本開示の教示に従って、他のバスライン構成が用いられてもよいことが当業者には理解されよう。システム１００の様々なデバイス及びコンポーネントの間の通信は、本明細書に開示されているデジタルデータ通信システム及び方法に従って容易化され得る。
【００５１】
図１Ｂを参照して、図１Ａの例示的な接続デバイス１３０は、ホストデバイス１１０のインターフェースコンポーネント１１６に接続するためのＵＳＢコネクタ１５２と、コネクタ１５２に収容されたデバイスコントローラと、（例えばボタンのような）ユーザインターフェース１５７と、デバイスコントローラ１５２を音声コンポーネント１６０及び１７０と接続する有線データバス１５８とを備えるＵＳＢヘッドセット１５０として実施され得る。一実施形態では、ヘッドセット１５０は、動的ノイズキャンセレーション（ＡＮＣ）ヘッドセットである。図１Ｃを参照して、ＡＮＣヘッドセットにおける使用のための音声コンポーネント１６０、１７０の例示的な実施形態が図示されている。音声コンポーネント１６０／１７０は、ヘッドセット１５０のデータバス１５８上にあるスレーブデバイスとして実装されている。音声コンポーネント１６０／１７０のそれぞれは、スレーブコンポーネントから音声データを受け取り、１以上のスピーカー１８６を駆動してユーザのために音声データを再生するための音声出力回路１８２と、一以上のマイクロホン１８４からセンサーデータを受け取り、受け取ったデータをデジタル化し、データバス１５８を介してマスターに送信するために、デジタル化した音声データをスレーブに提供するための音声入力回路１８０とを備えている。
【００５２】
接続デバイスの他の実施形態が図２Ａに図示されている。接続デバイス２３０は、コネクタ２１６と、ケーブル２２０と、デバイスコントローラ２４０と、ユーザインターフェース２４６と、音声コンポーネント２４２、２４４とを備えている。コネクタ２１６は、（例えば、図１Ａのインターフェースコンポーネント１１６のような）ホストデバイスのインターフェースコンポーネントに結合することに対応している。ケーブル２２０は、コネクタ２１６を、ホストデバイスと通信するために用いられる通信プロトコルと接続デバイス２３０のバスプロトコルとの間のインターフェースを提供するデバイスコントローラ２４０に結合する。デバイスコントローラ２４０は、音声コンポーネント２４２及び音声コンポーネント２４４のような一以上のスレーブデバイスを結合する通信バスのマスターとして動作する。ユーザインターフェース２４６は、デバイスコントローラ２４０に結合されて（音量調節やイアフォンセットのミュートのような）ユーザによる調節を提供する。
【００５３】
図２Ｂを参照して、図２Ａの例示的な接続デバイス２３０は、ホストデバイス１１０のインターフェースコンポーネント１１６に接続するためのＵＳＢコネクタ２５２と、ＵＳＢケーブル２５４と、デバイスコントローラ２５６と、（例えばボタンのような）ユーザインターフェース２５７と、音声コンポーネント２６０、２７０をデバイスコントローラ２５６に接続する有線データバス２５８とを備えるＵＳＢヘッドセット２５０（例えば、ＵＳＢイアフォン）として実装され得る。
【００５４】
本開示のシステム及び方法は、長い有線リンク、低電力実装及び高帯域幅通信をサポートしている。様々な実施形態において、低デューティサイクルが信号に用いられ、これにより終端されたリンクに関連する固定的な電力消費が低減される。本開示の様々な態様において、低デューティサイクルは、シンボル毎をベースとして（例えば、短いシンボルを用いることにより）、及び／又は、データパケットを送信し、その後速やかにバスを短期間休止させることで達成される。これらのアプローチの一つの利点は、データパケットが素早く送信された後でバスを休止させることが可能になるので低遅延リンクがサポートされると共に、該低遅延リンクが少ない電力しか又は全く電力を消費しないことである。一以上の実施形態では、各受信装置に内部位相同期ループ（ＰＬＬ）又はＤＬＬ（遅延同期ループ）を組み込んで定期的に送られる同期シンボルに基づいて高速内部クロックを生成することにより、一層に高いデータレートがサポートされる。シンボルに低デューティサイクルを用いることの一つの利点は、中間の伝送レートについて低電力消費が可能になることである。なぜなら、終端されたリンクの使用による固定的な電力消費は、低デューティサイクルにより低減されるからである。言い換えれば、終端された伝送線路を用いながら高ボーレートが可能なリンクは、低から中速の信号伝送について低電力消費を得るために使用されることがある。なぜなら、本明細書に開示されている様々な実施形態の電力消費は、使用される帯域幅に線形的に増減する（データを受信するために用いられる受信ＰＬＬからの電力消費は一定であろうが、全体の電力割当量の小さな割合にすることができる）。このように、本明細書に開示されているデータリンクの実装は、中から低帯域幅を用いる場合に低電力消費が可能でありながら、なおも、やや高い電力消費を使って大量のデータを転送することもできる。両方の場合において、ＰＬＬクロック周波数又はＤＬＬ遅延は、一定であってもよく、システム要求に合わせて変動してもよい。
【００５５】
本開示は、更に、従来のシステムでは信号インテグリティを劣悪にするであろう中間ノードでのインピーダンス不整合がある場合でもなお、高品質信号が得られるようにする制御を中間ノードにおいて提供することで、マルチドロップバス構成をサポートしている。多くの従来のシステムでは、これは、伝送線路の端において終端することを避け、その代わりに信号のスルーレートを制御することで解決されているが、このようにすると、反射を避けることができる最大スルーレートの制約により、システムが低速になる。本明細書に開示された様々なシステム及び方法は、このような制約を受けない。
【００５６】
本明細書に開示されている実施形態は、信号インテグリティの劣化を最小にしながら頑強で信頼性が高いデータリンクを提供する。いくつかの実施形態では、トランスミッタは、更に電力消費を低減するために、送信の間、それ自身の並列終端抵抗を無効にしてもよい。いくつかの実施形態では、バス伝送線路の各端のトランスミッタは、送信していないとき出力レベルを固定値に設定することで終端を行ってもよい。この電圧レベルをシステムの固定休止値に設定し、直列出力インピーダンスをバスインピーダンスに整合させる（即ち、各端の出力トランスミッタが送信していないときに終端として用いられる）ことで、低電力消費が実現されるであろう（例えば、送信データが無い場合には内部クロックの生成以外に電力消費が無いなど）。従来のシステムでは、伝送線路におけるインピーダンスの変化は、送信される信号における反射を引き起こし得る。この事実の結果、従来のシステムは、顕著に送信信号を歪ませることなく伝送線路上の中間ノードに複数のコンポーネントを設置することは容易にはできないという注釈に基づく設計の制約に固執している。
【００５７】
しかしながら、本開示では、関連する最短の波長と比較して比較的短い距離に渡ってしかインピーダンスの変化が起こらなければ、信号の妨害は非常に少ないであろうし、実用的なシステムが実施され得ると認識されている。例として、５０Ω伝送線路を用いる実験用システムが、複数の中間ノードを備えていた。中間ノードのそれぞれは、小さなスタブ（１〜２ｃｍの長さ）を備えており、これは、スルーレートを４．７ｎｓから４．８ｎｓに（又は、約１００ｐｓの増大）変化させ、各ノードについて約６％振幅を減少させる結果となった。このように、スルーレートが僅かに増加し、振幅が少し減少しても、信号の変化は最小であったし、良好なアイダイアグラムが得られたし、頑強なデータ伝送が達成された。従って、従来の理論では、反射を避けるために伝送線路に沿ったインピーダンスの変化を禁止するシステム要求につながっていたが、これらの擾乱体の長さが関連する最高速の信号の波長よりも非常に短い限り、実用的に機能するシステムに有害でないような小さな強度を有するように、これらの反射は制御可能である。
【００５８】
実験用のシステムは、２ｃｍのスタブ長を有していたが、これは、空気中では０．１ｎｓよりも短い伝送時間に等しく、立ち上がり時間（５ｎｓ）よりも非常に短い。この場合、立ち上がり時間とスタブによる遅延との間の比は５０以上であり、システムにおいて最小の遅延と擾乱しか起こさなかった。もし、遅延が５ｎｓ（シールドなしの１５０ｃｍのケーブルに等価）であったなら、システムにおける立ち上がり時間と遅延とは、対比可能な程度であり、ケーブルは、端が開放されているように見えたであろう。このように、本明細書に開示されているように寸法が決められた場合には、本開示の一以上のシステムは、伝送線路の端で適切に終端された非常に高速な信号の伝送を可能にすると同時に複数のコンポーネントを同じ伝送線路に設けることが可能になり、これにより、なおも高速伝送を可能にするマルチドロップバスシステムを得るという問題を解決する。更に、前進波又は後進波が制御されているように信号の伝送のシーケンスのタイミングを取ることにより、伝送線路上の中間ノードにあり伝搬波を擾乱するアクティブなトランスミッタに関連する問題を避けることが可能になる。
【００５９】
ここでは、図３を参照しながら、一以上の実施形態によるタイミングシーケンスの例を説明する。図３は、マスターデバイスと３つのスレーブデバイスの間の情報の伝搬を示している。データ転送の方向に関連するタイミングを最適化することで、より高い帯域幅を得ることができる。様々な実施形態において、全てのデータパッケージは、それらが吸収される場所である線端の終端に到達すると消滅する。マスターＭ１が、伝送線路の端に、同一の伝送線路上にある複数のスレーブデバイス（Ｓ１、Ｓ２、Ｓ３）と共に設けられているとしよう。スレーブデバイスは、数字１、２、３等でラベル付けされており、各スレーブデバイスは、マスターデバイスから更に離れている。
【００６０】
マスターＭ１から前進伝搬波を送信するとき、マスターＭ１は、最初にメッセージを送る（時間Ａ）。その後、すぐ、前進波がちょうどスレーブデバイスＳ１を通過したとき（時間Ｃ）にスレーブデバイスＳ１が続き、そして、スレーブデバイスＳ１からのメッセージの終わりが完結したときに（時間Ｅ）、スレーブデバイスＳ２がその前進伝搬波メッセージを送る。スレーブデバイスＳ３は、スレーブデバイスＳ２からのメッセージが完結したときに前進伝搬波メッセージを送る。全ての前進伝搬波メッセージが完結し、伝送線路の他端での終端によって吸収されると、伝送線路にある最後のデバイス（例えば、時間ＦにおけるスレーブデバイスＳ３）が、マスターＭ１に向けて後進伝搬波を送信し始める。この後進伝搬波に続き、該最後のデバイスからのメッセージがちょうど通過した後、伝送線路にある最後から二番目のデバイス（例えば、時間ＧにおけるスレーブデバイスＳ２）からの後進伝搬波が送信されるなどする。全ての後進伝搬波メッセージが完結し、マスターデバイスにおける終端によって吸収されると、マスターＭ１は、再び、上述のように、前進伝搬波を用いたメッセージの送信を開始するであろう。
【００６１】
いくつかの実施形態では、２つのデバイスは、もし、これらのデバイスが伝送線路の反対の端に位置しており、自身が送信する波の影響が、測定した波（前進及び後進伝搬波の重畳）から差し引かれるのであれば、同時にメッセージを送信してもよい。いくつかの実施形態では、これは、伝送線の中間点に設けられたデバイスについてさえも行われてもよい。しかしながら、いくつかの実施形態では、中間点に設けられたデバイスは、一般的には、受信と同時に送信すべきではない。なぜなら、これは、前進又は後進伝搬波の反射を引き起こし得るからである。
【００６２】
様々な実施形態において、音声ヘッドセットのような音声デバイスと共に用いられるための通信バスは、高帯域幅及び低電力消費を可能にするために、差動インピーダンス整合シグナリングを用いたマルチドロップバスを備えている。当該バスは、高制御と音声帯域幅を有しており、１０メートルを超えるまでのリンクをサポートしている。一以上の実施形態では、全バスリンク長は、２メートル又はそれよりも小さい。図１Ａを参照すると、リンク長は、２つの終端端点ＺＥＮＤの間の信号線の長さであり、コネクタに集積化されることがあるデバイスコントローラ１４０からユーザインターフェースコンポーネント１４６までのケーブル１２０の長さ（長さＡ）、ユーザインターフェースコンポーネント１４６から中間ノードまでの信号線の長さ（長さＢ１及び長さＢ２）、及び、中間ノードから終端端点までの信号線の長さ（長さＣ１、長さＣ２）を含む。一実施形態では、リンクは、終端端点からの全長が０〜２００ｃｍであり、次の範囲を含んでいる：長さＡ、０〜８０ｃｍ；長さＢ、０〜６０ｃｍ；及び長さＣ、０〜６０ｃｍ。一実施形態では、スタブＢ２及びＣ２は、信号インテグリティへの影響を最小にするために可能な限り短く維持されるべきである。
【００６３】
図２Ａを参照して、一実施形態では、ＵＳＢケーブルの長さは０〜２００ｃｍであり、各終端端点とデバイスコントローラ２４０との間のリンク長は、それぞれ、０〜１００ｃｍである。図示されている実施形態では、ヘッドセットの端子端と最も遠いスピーカー又はマイクロホンの間のリンクは、２００ｃｍ未満であるが、他の距離も用いられ得る。
【００６４】
様々な実施形態において、リンクは、標準のクロックレート、例えば、１２．２８８ＭＨｚ及び１９．２００ＭＨｚをサポートしており、これにより、標準的な遠隔通信及び音声システムとの互換性がある。一実施形態では、１２．２８８ＭＨｚの動作モードにおいては、信号伝搬の方向を切り替えるときのターンアラウンド遅延を増加することにより、１０ｍの結合距離がサポートされる。
【００６５】
様々な実施形態において、ＰＬＬのロックイン範囲が狭く、各同期シンボルの間に一定数のビットを維持することが望ましい。更に、様々な実施形態において、複数のクロックシステムと４８ｋＨｚの互換性を維持することが望ましい。
本開示は、簡単で頑強な、スレーブデバイスとマスターデバイスの間の初期的な同期を提供し、更に、様々な実施形態では、一定のフレームサイズを用いる。一定のフレームサイズの使用は、複数のクロックシステムとの互換性を確保するために複数のフレームサイズを可能にするSoundWire及び類似のプロトコルとは対照的である。一以上の実施形態では、異なるサンプリング周波数を用いる複数の音声ポートのような複数のソース間での同期を維持するために、一以上のビーコンビットがフレームにおいて信号として送られる。
【００６６】
本開示の一以上の実施形態による例示的な動作モードが、下のテーブルに図示されている：
【表１】
2021536151.tif 000003
【００６７】
本明細書に開示されたシステム及び方法は、エネルギー効率が高い設計であり、フレームサイズに干渉する同期シンボルに関する問題のいくつかを解決し、同期カラムをコマンドに混ぜることで効率的な帯域幅使用手法を含み、簡単な刻時手法を有し、単一のクロック源を用い、最適な信号インテグリティのための遅延の精密な調整を可能にし、１２．２８８、１９．２００、及び１２．０００ＭＨｚのシステムをサポートし、広い帯域でのＰＬＬ追尾が要求されておらず（即ち、ＰＬＬが比較的狭いロックイン範囲しかサポートする必要がない）、複数のクロックシステムをサポートするための可変のデータフォーマットでも一定のフレームサイズが使用可能であり、データ受信の間、アイダイアグラムの最適化のためのサンプル間隔の細かい段階化を用いたスレーブ遅延の正確な測定を含む、追加の利点を提供する。様々な実施形態において、例えば、一定のフレーム長を維持しながら、マルチドロップバスが、遠隔通信、ＵＳＢ、音声動作モードのような複数のクロックシステムに用いられ得る。場合によっては、７６８ｋＨｚのような低い同期周波数が、より長いバス径のために用いられてもよい。
【００６８】
マスターが同期シンボル（典型的には、０から１への遷移）を完了した後のタイムスロットがコマンドの信号伝送に用いられ得るように、又は、このタイムスロットを未駆動にしておき、複数のデバイスが電流レベルを変更することを許容するが（ワイヤード−オア構成と同様に）電流レベルの駆動を許容しないようにすることにより、複数のデバイスが同じタイムスロットに応答することを許容するために、同期シンボルが、スレーブ遅延の注意深いタイミング取りによってコマンドの信号伝送にマージされてもよい。
【００６９】
クロックのサポート
前に議論したように、従来のバストポロジーが遭遇する一つの問題は、所望の基本周波数を得るために必要とされる逓倍器又は分周器を含む、異なるクロック周波数へのサポートに関連している。一つの例として、４８ｋＨｚは、１９．２００ＭＨｚを４００（４×５×５）で分周する、又は、１２．２８８ＭＨｚを２５６（４×４×４×４）で分周することにより得ることができる。本明細書に開示された様々な実施形態において、バスで伝送されるコマンドは、音声フローを妨げない。一以上の実施形態では、コマンドは、音声データと同じケイデンス（又は、その約数）で発行される。いくつかの実施形態では、データラインにクロックを組み込んで、これにより信号線と電力消費を節約するためのＰＬＬ又はＤＬＬクロック同期の制約がある。差動シグナリングを用いることで、電磁妨害（ＥＭＩ）を制約可能である。
【００７０】
一実施形態では、付加ビットを追加して通信フレームに同期とコマンドのための余地を与えることを含むソリューションが提供される。当該システムは、様々なクロック周波数をサポート可能であり、フレーム構造は、長いバス径の制約が与えられた帯域幅の使用に関して最適化され得る。本実施形態の構造は、デコードに対して確定的で簡単であり、例えば、各同期フレーム間のクロックパルスの数を一定にする等、正確なクロック周波数を特定するために複雑なアナログ回路を必要としない。
【００７１】
SoundWireのような既存のシステムは、例えば、全部で１５２の組み合わせに対して８の列サイズと１９の可能な行の値のような、様々な既定のフレームフォーマットを含んでいる。一つの難題は、それぞれが異なる逓倍器を有しているので（１９２００／４８＝４００及び１２２８８／４８＝２５６）、特別なアナログシステムを必要とせずに１２．２８８ＭＨｚと１９．２００ＭＨｚの両方の動作をサポートするシステムを設計することである。本明細書に開示された様々な実施形態では、１２．２８８ＭＨｚ、１９．２００ＭＨｚの両方、そして、１２．０００ＭＨｚのシステムでさえもサポート可能な単一フレームサイズが使用され得る。
【００７２】
本明細書に開示されたＰＬＬ及び刻時ソルーションは、従来のシステムに関連する様々な問題を解決する。終端されていない伝送線路がある場合、反射が存在し、これは信号品質を阻害することがある。一つのソルーションは、データ送信を低速にすることである。しかしながら、多くのシステムでは高速送信が求められ、よって、所望でない反射を消滅するために終端された信号線が好まれる。（各シンボルに対して、または、各サイクル／ラインの終わりの休止スペースとして）データに対して高速なクロック速度と低いデューティサイクルを用いることにより、送信ビット当たりの固定的な電力消費を低減し、これにより、中程度の速度のリンクについて低減された電力消費を得ることができる。
【００７３】
２つのデバイスしかない場合には、交差するトラフィックが無いため、デバイス間の同期は簡単になる。更に、この２つのデバイスは伝送線路の端に位置しているから半電圧を被ることはないであろうから、このようなシステムは、各端に終端が必要でない場合がある。複数のデバイスを用いる場合、スレーブデバイスがマスターデバイスとのロックを失う可能性がある。一つの解決は、バスを再起動することであるが、システムがある期間音声を失うので、それは多くの実装では望ましくない。本開示の様々な実施形態は、バス上の他のデバイスが動作を継続している間にクロック同期を解決することで同期を失ったスレーブデバイスの問題に対処する。
【００７４】
図４を参照して、ここでは、図１Ａのデバイスコントローラ１４０に含まれることがある例示的な位相同期ループ（ＰＬＬ）３００と、図２Ａのデバイスコントローラ２４０と、図１Ａのスレーブデバイス１４２、１４４と、図２Ａの２４２、２４４を説明する。ＰＬＬ３００は、複数のスレーブデバイスからの、主同期信号と時間多重化された信号が存在しても当該回路がロックを維持することを可能にする。
【００７５】
ＰＬＬ（又はＤＬＬ）３００は、入力参照クロックの位相及び周波数に相応する位相及び周波数を有する出力クロック信号を生成する。動作の間、参照クロック信号が、時間ゲート３０２を介して、及び、分周器３１０からのフィードバック信号が位相検出器３０４に入力される。位相検出器３０４は、入力参照クロック信号とフィードバック信号の位相及び周波数を比較して制御信号を出力し、フィードバック信号が参照クロック信号の位相及び周波数と同期した位相及び周波数を有するように、しかるべくフィードバック信号を調節する。位相検出器３０４は、参照クロック信号及びフィードバック信号の立ち上がり（又は立ち下がり）エッジの位相を揃える。位相検出器３０４の出力は、電圧制御発振器（ＶＣＯ）３０８の電圧と周波数を調節するためにループフィルタ３０６に供給される。ＶＣＯ３０８から出力された信号は、分周器３１０を通り抜けてフィードバック信号を生成する。出力クロック信号は、本明細書に記載された様々なシステムコンポーネントに供給される。図示された実施形態では、分周器は、１４４ビットのフレームサイズの倍数であるように構成されるが、他の整数値（例えば、Ｍ＝１６、Ｍ＝４２、Ｍ＝４８、又はＭ＝８０）が選択され得る。Ｍ＝４を用いると直接的に４個のタイムスロットができ、バス信号のデータ取り込みにクロックの両方の位相を用いると８個のタイムスロットができる。Ｍ＝８を用いると直接的に８つのタイムスロットができ、両方の位相を用いると１６個のタイムスロットができ、これは、高解像度に関する簡単な解決法を与える。
【００７６】
様々な実施形態において、時間ゲート３０２が初期の起動の間、常に有効にされ、その後は、マスターデバイスから参照同期パルスを受け取っている間のみ有効にされる。これは、複数のスレーブデバイスもバス上で信号伝送を行い、これらが時間においてマスターとずれている場合でも、当該回路をマスターにロックさせることを可能にする。更に、もし、ＰＬＬ／ＤＬＬがマスター同期とのロックを失っても、デバイスは、出力ドライバを無効にしてバス衝突を避け、同期パルスの広範囲の探索を再び有効にするであろう。いくつかの実施形態では、（例えば十分に狭い時間ウィンドウを用いることで）時間ゲートを位相検出器として用いることにより、位相検出器を全く除去し得る。これは、タイミングジッタを低減するために用いられ得る（時間ゲートは、分周器を介するＶＣＯからの出力により、なおも制御されるであろう）。いくつかの実施形態では、位相検出器は、周波数と位相の両方の差に鋭敏であり、これにより正しい状態を初期的に安全に得ることを確実にするように、位相−周波数タイプ（タイプＩＩＩ−ＩＶ位相検出器）のものであろう。
【００７７】
ここでは、本開示の実施形態と共に使用するための例示的なクロック分周ソリューションを説明する。一実施形態では、図５Ａ、図５Ｂに図示されているように、あるクロックソリューションは、音声入力及び出力処理に用いられる音声クロック４０２と、ホストデバイスと接続デバイスの間のＵＳＢ通信に用いられるＵＳＢクロック４０４と、本開示の低遅延データバスにおいて使用するためのデータバス及びＤＳＰクロック４０６の３つの同期クロック信号を生成する周波数同期ループ（ＦＬＬ）４００の実装である。ＵＳＢプロトコルに存在する同期パルスが、タイミング参照として用いられてもよい。
【００７８】
図示されている実施形態では、同期検出器４１０がＦＬＬ４００の入力に結合されている。同期検出器４１０は、適切なバス通信を可能にするようにクロック信号がシステムクロック（ＵＳＢクロック参照）と同期しているかを判定する。もし、同期シンボルが同期から外れて到達する場合、同期検出器４１０は、ＦＬＬ４００に、クロックサイクルをマスタークロックと同期させるようにクロックサイクルを修正させるであろう。ＦＬＬ４００は、図示されているように、デジタルフィルタ及び予測器４１２と、デルタ−シグマＤＡＣのようなデジタル−アナログコンバータ（ＤＡＣ）４１０と、電圧制御発振器（ＶＣＯ）４１７と、分周器４２４と、周波数カウンタ４１８と、結果を参照周波数４０８とを比較する減算器ブロック４１４とを備えて実装され得る。図示されている他の態様は、参照周波数整数値４８３８４（符号４０８参照）を用いることであり、参照周波数整数値は、分周器４２０、分周器４２２、及び、分数分周器４２６を用いてＦＬＬ４００に所望の分周周波数を生成させるために用いられ得る。クロック信号を分数値で分周するために用いられ得る分数分周器４３０の実施形態が、図５Ｂに図示されている。分数分周器４３０は、位相加算器４３２と分周器４３４とを用いて実装されている。ここでは、ある位相値が各クロックサイクルの位相和に加算され、現在の位相和が、ある最大位相値を超えると、他の位相値が現在の和から減じられ、出力が活性化される。２の補数による加算器が用いられる場合、位相値は２Ｎ段階にとられてもよく、２の補数演算において発生する自動ラップアラウンドにより、減算が必要でない。いくつかの実施形態では、デルタ−シグマコンバータが、位相加算器の代わりに積算を行い、これにより、分数分周に起因するスパーを消滅させてもよい。これは、出力スペクトルを拡散することにより出力クロック信号のＥＭＩを低減するためにも用いられ得る。
【００７９】
本開示の様々な実施形態のための例示的なクロックソリューションが、下記のテーブルに図示されている。ここに用いられているように、「イアーリンク」という用語は、本開示の音声バスシステム及び方法を参照している。
【表２】
2021536151.tif 000004
【００８０】
第２のクロックソリューションの例示的な実施形態が、図６Ａ、図６Ｂに図示されている。第２のクロックソリューションは、音声入力及び出力処理に用いられる音声クロック５０２と、ホストデバイスと接続デバイスの間のＵＳＢ通信に用いられるＵＳＢクロック５０４と、本開示の低遅延データバスにおいて使用するためのデータバス及びＤＳＰクロック５０６の３つの同期クロック信号を生成する周波数同期ループ（ＦＬＬ）５００の実装である。ＦＬＬ５００は、ここに説明しているようなことを除き、図５Ａと図５Ｂの対応するコンポーネントと同様に実装され得る、同期検出器５１０と、フィルタ及び予測器５１２と、デルタ−シグマＤＡＣ５１６と、ＶＣＯ５１７と、分周器５２４と、周波数カウンタ５１８と、減算器ブロック５１４とを備えている。ＦＬＬ４００は、分周器５２０と、分周器５２２と、音声クロック周波数の１２５／１２８倍で周波数を出力するＰＬＬ５４０とを用いて所望の分周周波数を生成する。ＰＬＬ５４０の実施形態が図６Ｂに図示されており、分周器５２０の出力からの１／１２８参照入力と、位相検出器５４４と、ループフィルタ５４６と、ＶＣＯ５４８と、１／１２５分周器５５０とを備えている。
【００８１】
第３のクロックソリューションの例示的な実施形態が図７に図示されている。第３のクロックソリューションは、音声入力及び出力処理に用いられる音声クロック６０２と、ホストデバイスと接続デバイスとの間のＵＳＢ通信に用いられるＵＳＢクロック６０４と、本開示の低遅延データバスにおいて用いられるデータバス及びＤＳＰクロック６０６の３つの同期クロック信号を生成する周波数同期ループ（ＦＬＬ）６００の実装である。ＦＬＬ６００は、ここに説明するようなことを除き、図５Ａ、図５Ｂ、図６の対応するコンポーネントと同様に実装され得る、同期検出器６１０と、フィルタ及び予測器６１２と、デルタ−シグマＤＡＣ６１６と、ＶＣＯ６１７と、分周器６２４と、周波数カウンタ６１８と、減算器ブロック６１４とを備えている。ＦＬＬ６００は、分周器６２０と、分周器６２２と、音声クロック周波数の２１倍で周波数を出力するＰＬＬ６３０を用いて所望の分周周波数を生成する。
【００８２】
第４のクロックソリューションの例示的な実施形態が図８Ａ及び図８Ｂに図示されている。第４のクロックソリューションは、音声入力及び出力処理に用いられる１２．２８８ＭＨｚの音声クロック信号７０２と、ホストデバイスと接続デバイスとの間のＵＳＢ通信に用いられる１２ＭＨｚのＵＳＢクロック信号７０４と、本開示の低遅延データバスに用いられる２５８．０５８ＭＨｚのデータバス及びＤＳＰクロック信号７０６の３つの同期クロック信号を生成する周波数同期ループ（ＦＬＬ）７００の実装である。ＦＬＬ７００は、ここで説明するようなことを除き、図５〜図７の対応するコンポーネントと同様に実装され得る同期検出器７１０と、フィルタ及び予測器７１２と、デルタ−シグマＤＡＣ７１６と、ＶＣＯ７１７と、分周器７２４と、周波数カウンタ７１８と、減算器ブロック７１４とを備えている。ＦＬＬ７００は、分数分周器７２０と、分周器７２２と、音声クロック信号７０２の２１倍で周波数を出力する分数分周器７３０とを用いて所望の分周周波数を生成する。データバス及びＤＳＰクロック信号７０６を生成するために用いられ得る分数分周器７２０の実施形態が図８Ｂに図示されている。分数分周器７２０は、位相加算器７３２と分周器７３４とを用いて実装される。分数分周器７２０では、ある位相値が各クロックサイクルについて位相和に加算され、現在の位相和がある最大位相値を超えたとき、他の位相値が位相和から減算されて出力が活性化される。場合によっては、ディザ生成器７３６が、クロックを分数値で分周するだけでなく、ディザ値を更に中間位相値に加算するように位相加算器のディザリングを行う。これはクロックのジッタを増加させるであろうが、加算されるディザの量を制御することでシステムクロックのＥＭＩを低減するために使用可能である。典型的には、放射されるＥＭＩは、この動作により、１５〜２０ｄＢだけ低減されるであろう。ディザ生成器７３６は、デジタル擬似乱数生成器や乱数を生成する他のデジタル回路を用いて実装され得る。もし、擬似乱数生成器がゼロと異なる平均値を位相加算シーケンスに加えるのであれば、このことが、位相加算器を更新するときに考慮に入れられるべきである。
【００８３】
フレーム構造
本開示の様々な実施形態によれば、サポートされている複数の周波数に渡って単一のフレーム構造が使用されることがある。ここでは、開示された実施形態と共に用いられる例示的なフレーム構造を説明する。
【００８４】
図９Ａの実施形態を参照して、フレーム構造が、４２ビットの一定サイズのフレームを備えており、同期パターンが１フレーム当たり１回の頻度で繰り返す。一実施形態では、１メッセージ当たりのコマンドビットの数は３２ビットであり、メッセージ同期ビットは、４８ｋＨｚ毎に１回繰り返す。各フレームは、１以上のサブフレーム、例えば４のサブフレームを備えていてもよく、各サブフレームは、同一構成を有しており、同期に関しては同じに見える。コマンドビットの例示的な編成が下記に図示されている。ここで、ＳＣＭＤは、コマンドの開始であり、Ｓ４８は、４８ｋＨｚビーコンであり、ＲＥＳは保留のフィールドであり、ＯＰ２−ＯＰ０は、３ビットオペコードであり、ＤＥＶ３−０は、４ビットのデバイス番号であり、ＤＡＴは、コマンドの一部として転送されるべきデータであり、ＰＡＲはセキュリティのためのパリティビットであり、ＡＣＫは、承認ビットである。
【表３】
2021536151.tif 000005
【００８５】
ビットＳは、各４８ｋＨｚ時間ティック、又は、各６４番目のフレーム、又は２５６個のサブフレーム（９．６００ＭＨｚシステムについては、２４ｋＨｚ時間ティック又は５１２個のサブフレーム）について、最初のサブフレームの開始時に１に等しくなる。該Ｓビットは、フレームの開始を発見し、複数の音声ソースを４８ｋＨｚに同期する（例えば、最初のフレームの開始は、サンプルイベントであるべきである等）ために用いられ得る。
【００８６】
データ編成の詳細は、更に、図９Ａに図示されている。０から１への遷移が、マスターに内部タイミングを同期するためにスレーブデバイスのＰＬＬによって用いられ、コマンドビットＣＭＤが続く。次に、１６ビットの音声がマスターデバイスからスレーブデバイスに転送されてもよく、その後、マスターデバイスからスレーブデバイスへのハンドオーバー（読み出し、Ｒコマンドを含む）の間、（信号方向を変更させるために）１以上のタイムスロットの遅延が続く。次に、１６ビットの音声がスレーブデバイスからマスターデバイスに転送されてもよく、その後、１以上のタイムスロットの遅延が続く。
【００８７】
９．６００ＭＨｚ、１２．０００ＭＨｚ、１６．０００ＭＨｚのシステムの実施形態が、図９Ｂ及び図９Ｃに図示されている。これらのフォーマットは、遠隔通信クロックのサポートを可能にするであろうし、マスターとスレーブの間で用いられる帯域幅を、マスターによって又はスレーブによって用いられる帯域幅の約１／３から２／３に変化することが可能である。これらのフォーマットは、１９．２００ＭＨｚに相応するクロック周波数でのより効率的な転送のために、一行当たりのビット数が１０、又は、それよりやや多いという利点を有している。この周波数、又は、３８．４０ＭＨｚ（＝２×１９．２０ＭＨｚ）は、しばしば、移動電話や携帯デバイスのような遠隔通信アプリケーションにおいて用いられる。
【００８８】
図９Ｄ及び図９Ｅを参照して、追加のフレーム構造を説明する。様々な実施形態によれば、各同期パルスの間の各フレームに、同一数のビットが存在する。しかしながら、例えばコマンドに用いられる帯域幅の量を変更することにより、ビット数は、変更され得る。フレーム構造は、行および列の数も変化され得るが、それでもビットの数を同一に維持し得る。例えば、図９Ｄ及び図９Ｅの両方が、１フレーム当たり同一のビット数を備えている。様々な約数に分解可能な１フレーム当たりのより大きなビット数（例えば、８０又は１４４ビット）で除算することで、より高い帯域幅による受信アイ開口における高ジッタという犠牲を払うが、ＰＬＬ逓倍係数を変更することなくフレーム編成を変更可能である。
【００８９】
例示的なメッセージフィールドの編成が、下記に図示されている。
【表４】
2021536151.tif 000006
【００９０】
多くのコマンドが従来のものである（何もしない、レジスタの読み出し及び書き込み）かもしれないが、ＤＥＬＡＹコマンドは、伝送線路に接続されたデバイス間での最適なタイミング取りのための遅延を見出すことに用いられ得ることが理解されるであろう。これは、マスターが最初に線路をある値にチャージし、その後、バスホルダーでこの値を保持し、又は、フローティングバスを用い、その後、主ドライバを開放し、その後は、バスに接続された任意のデバイスがこの値をトグル可能であるようにすることで達成され得る。マスターに最も近く位置しているデバイスが、バスラインのトグルに最初に影響を与えるであろうし、これは、高速に刻時されてタイミングイベントを検出するカウンタを用いて、又は、複数の遅延回路を用いて高い信頼度で測定され得る。測定の間、タイミングに影響を及ぼさないようにバスは終端されないであろう。測定は、（スレーブ送信タイミングを最適化するために）マスターの内部で行うことができ、（スレーブ−スレーブ間通信タイミングを最適化するために）スレーブデバイスの内部で行うこともできる。
【００９１】
図９Ｆは、様々な実施形態による、例示的なプロトコルシンボルを図示している。例示的なコマンドのもう一つのセットが、更に、下記のテーブルに図示されている。
【表５】
2021536151.tif 000007
【００９２】
ここでは、「レジスタ読み出し動作」の実施形態を説明する。レジスタ読み出し動作を実行するために、下記のシーケンスが実行されてもよい：（ｉ）アドレス書き込み動作を用いて正しいアドレス値を書き込む。（ｉｉ）レジスタ読み出し動作を行う（データフィールドは、読み出し値を含むであろう）。もし、ある範囲のレジスタを読み出す必要があるなら、これは、各読み出し動作間でアドレスレジスタを更新することなく実行可能である。これは、アドレスカウンタが各読み出し動作で１だけインクリメントされ得るため可能となっている。
【００９３】
ここでは、「レジスタ書き込み動作」の実施形態を説明する。レジスタ書き込み動作を行うために、下記のシーケンスが実行されてもよい：（ｉ）アドレス書き込み動作を用いて正しいアドレス値を書き込む。（ｉｉ）レジスタ書き込み動作を行う（データフィールドは、読み出し値を含むであろう）。もし、ある範囲のレジスタが書き込まれるべきであるなら、これは、各書き込み動作間でアドレスレジスタを更新することなく実行可能である。これは、アドレスカウンタが各書き込み動作で１だけインクリメントされ得るため可能となっている。
【００９４】
ここでは、「アドレスレジスタ書き込み動作」の実施形態を説明する。レジスタアクセスは、アドレスレジスタによって制御される。レジスタ操作を行う前に、まず、アドレスレジスタの値が規定される。これは、アドレスレジスタ書き込み動作で引き起こされる。アドレスレジスタは、宛先のスレーブデバイス内の現在アクティブであるレジスタを示している。続くアクセス（読み出し又は書き込み動作）は、アドレスレジスタをインクリメントすることがある。これは、複数のレジスタへのより高速なアクセスを可能にする。様々な実施形態において、読み出し及び書き込み動作の両方を制御する単一のレジスタしか存在せず、如何なる読み出し又は書き込み動作でも、このアドレスレジスタの値をインクリメントすることがある。インクリメントは、アドレスレジスタの値が、読み出し又は書き込み動作において、最初に一度用いられた後に行われる。アドレスレジスタの現在値は、テーブルに図示されているコマンドを用いては読み返すことはできない。
【００９５】
ここでは、「ビーコン」コマンドの実施形態を説明する。このコマンドは、４８ｋＨｚの繰り返し周期でマスターによって送出されることがある。それは、全音声ソースが同期されるように音声タイミングをフレームの開始に同期するためにスレーブによって用いられることがある。
【００９６】
ここでは、「デバイスループ遅延」コマンドの実施形態を説明する。このコマンドは、スレーブデバイスによって開始されマスターに伝搬する遷移を測定することで、スレーブデバイスからマスターへのターンアラウンド遅延を測定する。この実施形態では、２経路遅延を測定するための機構が提供される。ここでは、遅延測定のための方法８００の実施形態を、図１０Ａを参照しながら説明する。まず、マスターが、デバイスにコマンドを送り、遅延測定が開始することを指示する（ステップ８０２）。次に、両端で終端が無効にされ（ステップ８０４）、伝送線路が既知のシンボルでチャージされる（ステップ８０６）。既知のデバイスが、ステップ８０８において伝送線路をディスチャージすることで応答する。チャージイベントからディスチャージイベントまでの遅延が、ステップ８１０において測定される。ステップ８１２において、もしシステムが端部終端を備えているなら、伝送線路の両端において終端が有効にされる。
【００９７】
一の実装では、マスターがデバイスループ遅延コマンドを送出し、その後、問い合わせるべきデバイス番号が続く。次に、マスターは、データフィールドにおいてデバイスＩＤ値を送出する。もし、デバイスＩＤがデータフィールドと同一であれば、内部フラグ（“device_update_ready”）がセットされるであろう。もし、デバイスＩＤがデータフィールドと同一でない場合、内部フラグはリセットされるであろう。次に、バスが、マスターにより既知の状態に設定される（即ち、バスが、既知の論理値、０に初期化される）。マスターは、弱いバスホルダーで、又は、フローティングバスを用いてこの状態を維持し、バスを既知の状態に駆動した後でそのトランスミッタを無効にし、測定の間、両端における終端が無効にされることを確実にするであろう。例として、マスターは、同期のために０−１信号を用い、バスを“１”状態にしておいてもよい。
【００９８】
その後、スレーブデバイスは、スレーブデバイス内部の強い内部ドライバを用いて、この状態を異なる値に駆動することができる。一実施形態では、スレーブデバイスは、次のシーケンス−ZZZZ-00-ZZZZ−を出力する。ここで、Ｚが無効にされたドライバであり、０は、ロー信号を駆動する。該２つの０は、全ての遅延状態の下で０を正しく読むことを確実にするであろう。マスターのレシーバが、１以上のスレーブから遷移信号を受け取ると、マスターは、タイミングから遅延を知るであろう。このイベントのタイミングは、最近接するデバイスへの双方向遅延を見出し、送信または受信タイミング遅延を制御することによってレシーバのアイダイアグラムを最適化するために用いられるであろう。遅延値は、マスターデバイス内部の内部オーバーサンプルドクロックに基づいて測定されてもよく、マスターデバイス内部の遅延線又は遅延サンプルの使用に基づいて測定されてもよい。重大な量のノイズ又はクロックジッタがバスに存在しているような場合には、良い遅延読み出しを得るためには、この過程を複数回繰り返す必要があるかもしれない。これは、複数タイムスロットから高分解能、例えば、２ｎｓで得られ、その後、複数、例えば、６４の読み出し値に渡って平均化がなされた返し値の読み出しを含んでいてもよい。もし、返し値が０〜３６ｎｓの任意の位置で発生し得るのであれば、全ての場合に遅延を正確に決定するためには、それぞれがスレーブデバイスから帰られた複数の測定結果に基づいている全部で１９の値が必要になるであろうし、それぞれの場合に、良い平均値が返されるようにするためには、複数の（例えば、６４の）読み出しを実施する必要があるかもしれない。中間の遅延位置から探索を開始することにより、探索時間を顕著に短縮することができる。更に、最後に返された値は、遅延が長すぎるか短すぎるかの指標を与えるから、最後に返された値が何であるかに依存して探索方向を変えることで、探索時間を短縮することも可能である。この限定的な場合では、ちょうど遷移において、スレーブから返される概ね５０％の０と１とを測定するであろう。これに加え、最善のサンプリング点を得るためには、１／２データスロットを追加する必要があろう。
【００９９】
他の実装では、マスターは、スレーブから読み出した値を書き返し、そしてスレーブデバイス自らに内部遅延を調整させてもよい。これは、スレーブからマスターへの通信を最適化する、即ち、調節に必要な帯域幅を低減するために使用され得る。同様に、１つのスレーブデバイスが他のスレーブデバイスから読み出した値を書き込み、当該他のスレーブデバイスに自らに内部送信タイミングを調整させてもよい。
【０１００】
バスに残存する電荷は、マスターがバスを既知の値に設定し、これにより伝送線路に如何なる以前の情報もない状態にするとき、マスターによって吸収されるであろう。もし、複数のスレーブが存在するのであれば、複数のスレーブは、そのデバイスＩＤ（１６ビットで一定）を用いて、一度に一つずつ消滅可能である。マスターに最も近いスレーブは、得られた遅延値に対応するであろう。言い換えれば、デバイス遅延の測定又はバスに接続されたデバイスの計数の間、最初に伝送線路に接続されたデバイス（典型的にはマスター）と最後にバスに接続されたデバイス（典型的にはスレーブデバイス）は、両方が、この過程の間、そのドライバを無効化して、伝送線路内部の固有の電荷によって状態を維持するフローティングバスを有効にするであろう。
【０１０１】
様々な実施形態において、番号ＤＥＶとデータフィールド値以上のデバイスＩＤを有するデバイスのみが、出力を活性化するであろう。バスに現在接続されている最も高いアドレスを有するデバイスを発見し、異なるデバイスＩＤ（帯域幅を節約するために典型的には３ビット）を割り当てることによってサーチからこのデバイスを削除し、バスに接続された２番目に高いデバイスのアドレスを発見し続ける、等を行うために、その後、２分探索が使用可能である。言い換えれば、デバイスＩＤのＭＳＢが最初に読み出され、低いデバイスＩＤを有するすべてのスレーブが離脱するように、調停手続きが最初に用いられる必要があろう。この手順は、唯一のデバイスのみが応答するまで継続されるであろう（注：この手続きはＩ２Ｃ多マスター及びSoundWireアドレス調停と類似している）。
【０１０２】
一実施形態では、測定を阻害しないことを確実にするために、遅延コマンドが用いられるときに全てのデバイスがフレームの最後の行において通常のデータトラフィックを止めるであろう。いくつかの実施形態では、スレーブデバイスは、ある幾何学的構成に対応する特定の遅延を用いるようにプログラムされ、これにより、このコンポーネントとのやり取りの前に物理的遅延を見出す必要をなくし、不揮発性メモリまたは内部回路に遅延値を運ぶための他の手段を含む必要をなくしてもよい。
【０１０３】
図１０Ｂを参照して、内部デバイス番号を保持しているがバスに適したデバイス番号を保持していない接続デバイスの計数のための方法８５０が図示されている。ステップ８５２において、マスターは、コマンドを送信して計数が開始することを指示する。ステップ８５４において両端における終端が無効にされ、ステップ８５６において、マスターが、伝送線路を既知のシンボルでチャージするように進める。もし、デバイス番号からのビットがハイであれば、バス上の未知のデバイスが、伝送線路をディスチャージすることで応答する（ステップ８５８）。既知の遅延の後、この位置についてデバイス番号にロービットがある全てのデバイスが停止するであろう（ステップ８６０）。もし、複数のデバイスがとどまっているならば（ステップ８６２）、次のデバイスビットがチェックされ、ステップ８６４においてデバイス調停が継続する。もし、単一のデバイスのみが残存しているなら、ステップ８６６において該デバイスにアドレスが割り当てられる。もし、マスターが、事前に、全ての接続されたデバイスの長いＩＤ（例えば、１６ビット）を知っているならば、マスターは、単に、これらに一つずつ呼びかけ、起動の直後に、アドレス調停を実行する必要なしに、各デバイスに新しい短いＩＤ（３ビット）を再割り当てすることができる。
【０１０４】
ここでは、「デバイスアドレス設定」コマンドの実施形態を説明する。パワーオンリセットの後、スレーブデバイスはデバイスアドレス値０が割り当てられる。このコマンドを実行すると、宛先のデバイスは、新しいアドレス（０〜７）を得るであろう。なお、アドレス７（１１１）は、ブロードキャストのために含まれている。一実施形態では、device_update_ready セットを有するデバイスのみが更新される。
【０１０５】
二重動作
ここでは、図１１Ａを参照して二重動作の実施形態を説明する。様々な実施形態において、バス９００は、単信又は二重動作モードで動作し得る。この配置では、Ｉ／Ｏポートは、出力ドライバの設計により、同時に信号の送受信を行うように構成されることがある。該配置は、家庭用のオーディオシステムに用いられることがあるように、バス長が２５メートルを超えることを可能にするために用いられてもよい。
【０１０６】
この実施形態では、前進及び後進伝搬波の過渡応答が、２つのドライバが同時に存在しているときに何が起こるかを評価するために用いられる。任意の点の電圧は、前進及び後進伝搬波の和によって決定される。従って、出力ドライバのインピーダンスと伝送線路のインピーダンスを考慮に入れることにより、むしろ簡単に、任意のノードにおける点を測定し、２つのドライバからの影響を差し引くことができる。
【０１０７】
簡単のために、まず、伝送線路の各端に位置する２つのドライバ９０２及び９０４のみがある状況を評価しよう。リンクを適切に終端するために、ドライバ９０２及び９０４が、伝送線路のインピーダンスＺ０に等しい値の直列終端を用いるとも仮定しよう。これは、前進及び後進伝搬波の両方が、初期のドライバ電圧の半分であろうということを意味している。任意の点の電圧は、前進及び後進伝搬波の和から見出すことが可能であるので、測定した電圧からドライバ電圧の半分を差し引くことで正しい受信電圧を見出すことができる。これは、差動の場合には、単に、反転した送信電圧の半分を受信電圧に加える、例えば、キャパシタを用いて差動送信電圧の半分を交換して加える等で行うことができる。このアプローチでは、多くの構成でトランスミッタ方向のターンアラウンドの間の双方向遅延は必要なく、ターンアラウンド遅延が無いことにより、継続動作を行い、データストリームに休止を入れることなく、非常により長いリンク（例えば、２５メートル）が可能であり、極めて高速での全二重動作（０．１〜５Ｇｂｐｓ）が可能である。なお、この構成は、各線端にある一つのノードに動作が留められ、少なくとも一のノードが定期的に同期パルスを送出する限り、如何なるタイミング調整も必要としない。
【０１０８】
複数スレーブ
ここでは、複数のスレーブの様々な実施形態を説明する。二重動作は、単一のマスターと単一のスレーブデバイスしかないときには比較的簡単であるが、複数のスレーブデバイスがある場合には状況がより複雑になる。一つの問題は、中継ノードが、いずれの方向からの波も反射するであろうということである。なぜなら、中継ノードは、（マルチドロップ接続を可能にするために）終端を提供しないからである。従って、伝統的な二重動作は、ある実装については実用的ではないかもしれない。しかしながら、適切に信号のタイミングを取ることで、スループットを増大させることができる。様々な実施形態において、信号は、最初にマスターからスレーブデバイスに向かうであろう。他のスレーブデバイスは、それらが送信を開始できるようになる前に、マスターからの前進波がこれらのデバイスを通り過ぎるまで待つ必要があるかもしれない。従って、如何なるハンドオーバー遅延を必要とせずにこの状況に対処する例示的なタイミングダイアグラムは、次の送信シーケンス{M, S1, S2, S3, S4, S5}であり、その後、方向を変えるときにこのパターンを反対{S5, S4, S3, S2, S1, M}で繰り返すことであろう。ここで、Mはマスターを表しており、S1は、マスターに最も近いスレーブデバイスであり、S5は、マスターから最も遠いスレーブデバイスである。言い換えれば、バスに接続されたデバイスは、シーケンスを前進又は後進波について送信し、そのようにして伝送線路上の中間点からの反射の問題を当然に回避するであろう。バスに接続されたデバイスのタイミング遅延は、この手法を試みる前に、当然に特定され訂正されるであろう。
【０１０９】
すべての通信について差動シグナリング手法が用いられることを確保することで、放出及び受け取るＥＭＩが、顕著に低減されるであろう。図１１Ｂは、休止期間で始まり、同期信号が続き、そしてデータが続き、そして再度休止になる差動シグナリング９２０の例を示している。休止期間は、コモンモードノイズを避けるためには差動の性質を有しているべきであり、これは、休止時間の間の固定的な電力消費を避け、これにより控え目な帯域幅の要求について非常に低い電力消費を可能にするために、一の信号線における終端が、ハイレベルで終わり、他方がローレベルで終わるべきであることを意味している。
【０１１０】
図１１Ｃは、休止モードにおいて可能な最低のＥＭＩと可能な最低の電力消費を確保するためにハイ及びローシグナリング電圧に終端する差動シグナリングシステム９３０の例を示している。図１１Ｄは、各端のトランスミッタ９４２、９４４、９４６及び９４８がバスの直列終端として用いられ、これにより、終端負荷が無いことで端のノードにおける電力消費を低減し、実装を簡単にする、差動シグナリングシステム９４０の類似の例を示している。各端のバスドライバは、データを送っていないときに休止状態になり、デフォルトの終端電圧を送り、これにより、休止状態での電力消費を低減する。いくつかの実施形態では、２本の伝送線路の一方が、遮蔽のための接地の代わりに電力線を使用し、これにより、電力の伝送も可能にする。いくつかの実施形態は、シールドされた同軸ケーブルの代わりに、例えば、低ＥＭＩの要求のために４線のツイストペア構成になっているDATA+、DATA-、接地及び電源のような４本のツイスト線を用いてもよい。接地及び電源線は、更にＥＭＩを低減する。他の実施形態では、単一のシールドが使用され、電力と差動データがシールドの内部の３本のケーブルに位置している。
【０１１１】
いくつかの応用では、バスで発生しているランダムな信号伝送によって誘起される音声ノイズを最小化することが重要である。これは、バス上の様々なソースのシグナリングレベルを変化させる、例えば、データポートのトランスミッタ及びレシーバで擬似乱数生成器を用い、これによりバストラフィックをランダムにし、これにより音声帯域におけるスペクトル成分を低減することで行われてもよい。場合によっては、ランダム化は、音声帯域のスペクトル成分がデータ信号を高周波成分で乗じることにより、例えば、各行をあるランダムな又は事前に定義された値で乗じることによって一層に低くなるように、スペクトル先鋭化によって行われてもよい。場合によっては、ランダム化は、単に行を可聴帯域幅の外部の搬送波で乗算することによって行われてもよい。いくつかの実施形態では、各ポートは、エラーテスター（例えば、検証とテストのための８ビット擬似乱数生成器）を備えている。このポートテスタは、音声データのスクランブル及びデスクランブルにも用いられ得る。デジタル領域における乗算は、ＸＯＲ又はＸＮＯＲゲートによって実行され得る。例えば、ほとんど同一の擬似乱数生成器が、元の一連のデータを復元するために用いられ得る。擬似乱数生成器と、レシーバ／テスターの例については、例えば、SoundWire規格を参照されたい。以前には、類似の技術が、例えば無線モデムにおいて送信データストリームからＤＣ成分を低減し又は除去するために用いられてきた。ここでスクランブルを用いることは、同一値の複数のシンボルの伝送を伴う状況を避けることすらせず、これは、同期を失わせる事態になり得るが、出力スペクトルの低周波成分を低減し、例えば音声帯域における干渉を避けるように用いられる。
【０１１２】
場合によっては、ランダム化は、例えば、様々なトランスミッタからの出力をランダム化し、これにより如何なる音声への擾乱を低減するのみならず、更に、変調器のノイズ伝達関数を意図的に制御することによってノイズの出力スペクトルをノイズシェーピングすら行うように、既知のパターンを用いるデルタ−シグマ変調器を用いて実行され得る。
【０１１３】
ケーブル仕様
ここでは、様々な実施形態による例示的なケーブル仕様を説明する。イン−イアーヘッドセットについては、例えば、細いＡＷＧ３０又はＡＷＧ３４ワイヤを用いるシールドされた構成のようなユーザ要求を満足するために、細いケーブルが使用されることがある。長いリンク、又は、大型のヘッドセット及びヘッドホンについては、太いケーブルが使用可能であることがあり、これは、少し減衰を低減もする。８本ではなく４本のワイヤのみが必要であることを除き、一例は、ＣＡＴ５要求（ワイヤ種類ＡＷＧ２４）に似た、二重撚りケーブル対であろう。例えば、標準の１００ＢＡＳＥ−ＴＸケーブルが使用可能である。１５メータのリンクの減衰は、６６ｄｂ／１００ｍ×１５ｍ＝９．９ｄＢ又は３．１倍である。このように、システムを設計する際には、送信電圧と最大レシーバヒステリシスの間の相違を考慮に入れるべきである。
【０１１４】
中間ノード
ここでは、中間ノードの例示的な実施形態を説明する。様々な実施形態において、端のノードは、伝送線路と整合するために、Ｚ０の直列出力インピーダンスを有しているが、中間ノードから見ると、１／２Ｚ０のインピーダンスになるであろう（なぜなら、中間ノードには、本質的に、それぞれがインピーダンスＺ０を有する２本の伝送線路が見えるであろうからである）。全てのノードが同一の性能を有することがしばしば望ましい。様々な実施形態において、（ｉ）各ノードが、Ｕ０の出力電圧を有し、（ｉｉ）各端のノードがＺ０の出力インピーダンスを有している。中間ノードのインピーダンスは、もし、中間ノードが当該ノードに伝搬波が到達している間にアクティブであるならば、反射波を生じさせるであろう。この状況は、信号のタイミングを適切にする、即ち、前に伝送された情報を有する信号波が通過した後に、各ノードが最初に信号を送信することで回避可能である。伝搬波は、最終的には、伝送線路の端で吸収されるであろう。差動シグナリングが用いられる場合、例示的な伝送線路インピーダンス及び信号電圧は、Ｚ０＝７５Ω、Ｕ０＝２５０ｍＶを含んでいてもよい。
【０１１５】
加えて、伝送線路上の中間ノードは、２つの線路入力に対面するであろうし、もし、それらの出力インピーダンスが、伝送線路の遠く端に位置するノードと同一であるならば、出力信号電圧は、低くなるであろう。これは、中間ノードについてより低い出力インピーダンスを用いたり、中間ノードの出力駆動電圧を高くしたり、又は、伝送線路上のレシーバをより低い閾値電圧に調節したりすることで訂正可能である。
【０１１６】
起動シーケンス
ここでは、例示的な起動シーケンスを説明する。様々な実施形態において、通常のシグナリングは、差動２レベルシグナリングである。しかしながら、あり得るスレーブ故障の後、又は、電源がダウンした状態の後での起動状態又は再同期のための固有のパターンを得るために、マスターは、第３の、又は、より高い、相違する電圧レベルを送出するように構成されてもよい。このレベルは、データ伝送には用いられず、スレーブデバイスの再同期又は起動状態（低電力スタンバイからのウェークアップ）のためにのみ使用されるであろう。これは、放射されるＥＭＩには影響しないであろう。なぜなら、この、より高いレベルは、初期同期の間（例えば、最初の１ｍｓ）の間しか用いられないからである。一実施形態では、起動シーケンスは、通常の信号伝送レベルの２倍の電圧レベルの１２ビットスロットからなる。様々な実施形態において、起動シーケンスの直後にＰＬＬによって用いられる同期エッジが続くであろう。ＥＭＩを低減し、使用可能な帯域幅を増加するために、起動シーケンスは、通常動作の間には伝送されないであろう。図示の実施形態では、起動又は再同期の間、マスターは、おおよそ、（１２．２８８ＭＨｚのクロック周波数を用いた場合）元の帯域幅の６２．５％を残しており、９．６０ＭＨｚ動作モードでは、通常の帯域幅の４０％を残している。簡単な実装では、ＤＣオフセットが、ある数のタイムスロット、例えば、１２のタイムスロットに追加され、レシーバが差動であるため、追加のオフセットはデータに影響せず、しかしながら電源投入状態を検出するために使用可能である。初期及び起動状態のためのみの更に簡単な実装においては、１．０Ｖのようなロジック電圧が、ウェークアップ検出のために用いられ、これにより、差動レシーバを低電力状態にする必要をなくしてもよい。
【０１１７】
例示的な差動シグナリング電圧が、下のテーブルに図示されている。
【表６】
2021536151.tif 000008
【０１１８】
様々な実施形態において、スレーブデバイスの安全な起動機構を確保するために、スレーブデバイスが再び同期に復帰する必要があるときに、より高い電圧レベルがバスラインにおいて用いられる。この、より高い電圧は、通常のデータトラフィックとリセット状態とを区別するために使用されるであろう。それは、バスが動作している間に、低電力ウェークアップのための電源投入回路（例えばウェークアップワード）に用いられてもよい。この、より高いバス電圧は、ウェークアップ回路をトリガし、電力消費を低減するように、バス上のランダムノイズを避けるために、通常のデータシンボルよりも長時間オンにされ得る。合理的な耐性と、良好なノイズ耐性と、低電力消費を得るために、ウェークアップイベントが、一連の１２ビットスロットからなるであろうことが示唆される。これは、１３４．４００ＭＨｚの最高ビットクロックで、約８９ｎｓの最小オン時間に等価である。
【０１１９】
図１２を参照して、ステップ１００２においてシステムが電源オンされ、ロックフラグとドライバが無効にされ（ステップ１００４）、位相検出器が無効にされる（ステップ１００６）。ステップ１００８では、デバイスを検出するために広範囲サーチが有効にされる。もし、ステップ１０１０で、あるデバイスについて特別なシーケンスが検知されたなら、ステップ１０１２において同期パルスが検出される。もし、デバイスについて特別なシーケンスが検出されない場合、このステップは、それが検出されるまで繰り返される。ステップ１０１４において、もし、ＰＬＬがロックされているなら、広範囲サーチが無効にされ（ステップ１０１６）、ドライバが有効にされる（ステップ１０１８）。同期シーケンス（ステップ１０１２〜１０１８）は、時間ゲートが開かれると（ステップ１０２０）、繰り返される。もし、ＰＬＬがロックされておらず（ステップ１０１４）、狭帯域が有効にされているなら（ステップ１０２２）、ステップ１０２４においてドライバが無効にされ、高電力での広範囲サーチを繰り返すように制御がステップ１００８に移る。
【０１２０】
ここでは、図１３を参照して、特別な起動回路１１００の動作を説明する。通常動作の間には、起動シーケンスは存在せず、この回路からの出力はゼロであろう。この回路からの出力は、ＰＬＬがロックされるまで使用される。動作時に、この回路は、バスからの入力をフィルタし、もし、バスが、ある時間、あるハイ閾値を超えているならば、次のハイからローヘの遷移を検知するようにＰＬＬを有効にする。バスレベルがローであるとき、当該回路は、如何なる蓄積された電荷をも排出し、再び、中断されないハイ値のシーケンスを探し始める。
【表７】
2021536151.tif 000009
この一連の論理１の長さは、クロック周波数とハイ値同期パルスの長さに依存するであろう。これは、アナログ回路により、エラー状態において同期の開始をチェックするために用いられてもよい。
【０１２１】
位相検出器からの出力は、５０ｎｓ（多くても１２０ｎｓ）後、又は、複数の論理１の後に論理０になった後に有効にされる。これは、図示された実施形態では、多くとも４の連続するタイムスロットに渡る障害の間でさえ音声転送を可能にする。障害状態の間、最初の４列が音声転送のために用意される一方で、各５番目の列が論理０を送信するために用いられ、その後、同期パルスの開始まで更なる音声が続く。０から１への遷移の後、位相検出器の出力は、再び無効にされる。一実施形態では、スレーブデバイスは、ロックを得た後、現在のロック位置によって決まる狭いウィンドウにおいて同期遷移を探し、他の全てのバストラフィックを無視する。
ロックオン検出器
【表８】
2021536151.tif 000010
【０１２２】
ここでは、例示的な信号伝送ソルーションを説明する。第１の信号伝送シーケンスソルーションでは、
３レベルシグナリングが用いられる：ＣＡＴ５シグナリングと同様に、ＥＭＩ低減のために、｛−１，０，＋１｝が｛ロー，ゼロ，ハイ｝によって信号化される。
論理０：前と同一レベル。
（４つの０の後、逆のシーケンスからの値が続くことがある。即ち、安全な開始検出を確保するために、いくつかの０の後、逆方向に行く）。
論理１：３値のシーケンスにおける隣の値、例えば、複数の１が、シーケンス｛ゼロ，ハイ，ゼロ，ロー，ゼロ，ハイ，ロー等｝として信号化される。そして、同期とデータとを区別するために、同期値は、正当なデータ値によって可能なものと異なるシーケンス、例えば、｛ハイ，ロー，ハイ，ロー｝又は｛ゼロ，ハイ，ゼロ，ハイ｝を用いるであろう。言い換えれば、３値エンコーディングは、生成された高調波を低減することでＥＭＩの低減を可能にしながら、レシーバが同期とデータを確実に区別することができるようにする。
【０１２３】
第２の信号伝送シーケンスソルーションでは、２レベルシグナリングが用いられる。一実施形態では、マスター以外のデバイスは、１行において４個を超えるタイムスロットを所有することはできず、パケット間にゼロが挿入されるであろう。もし、複数デバイスがデータを互いに相互に送る場合、各４ビットの間に間隔が設けられ、ゼロが挿入される。もし、アナログ遅延回路が、上述よりも更に狭い耐性で作られ得るのであれば、より多くのビットが順次に輸送可能である。これは、如何なる正当なデータ値と異なる同期シンボルの特別なエンコーディングを可能にするために、帯域幅がトレードオフになる例である。８／１０Ｂエンコーディングのような他のエンコーディング手法が、同期とデータとを区別するために使用され得る。
【０１２４】
第３の信号伝送シーケンスソルーションでは、ＤＣオフセットがマスターからの全ての信号に加えられる一方で、スレーブはＤＣオフセットを用いないであろう。差動信号は、フレームの開始を指示するために、マスターによりコモンモード信号で変調されてもよい。これは、いくらかＥＭＩを増加させるであろうが、これは、初期の同期の間の短い期間でしか発生しないであろう。このＤＣオフセットの変更は、スレーブによって確実に検出可能であり、これにより、バス上の現在のシグナリングパターン及び如何なるスレーブデバイス内の如何なる以前に遭遇した状態に無関係に、同期を常に得ることができる。図１４（３）は、このソルーションの例を図示している。
【０１２５】
高速遷移
図１５を参照して、本開示の動作の実施形態を説明する。このソルーションは、音声が未だ動作している間でさえも同期レートを変更することを可能にする。一実施形態では、２５０ｍＶシグナリングが低速及び高速モードの両方で用いられてもよく、ゲーティングされた時間ウィンドウにおける受信信号の同期エッジが、音声のサンプリングに用いられる。低速モードでは、もしタイムスロットが駆動されていなければバスでの追加の電力消費は無く、高速で動作する内部ＰＬＬからの少しの追加の電力消費しか存在しない。従って、低消費電力モードとして用いられる低速モードのためのより高い周波数が、選択されてもよい。低速モードでは、 デバイスは、比較的容易に同期をチェックできる（例えば、１２スロットのうちの２スロットが同期に用いられる）。一実施形態では、全デバイスが、常に同期に維持される。他の実施形態では、デバイスは、スリープモードに入り、特別なＶＤＤウェークアップ信号を待つことがある。これは、デバイスが機能する前に遅延（例えば、１ｍｓ）を誘発することがある。
【０１２６】
一以上の実施形態では、高速への遷移が、低速モードにおいて遅い同期（例えば、７６８ｋＨｚ）で開始される。追加の同期シンボルが高速モードに備えて挿入され、タイムスロットが短くされるが、元の７６８ｋＨｚの遷移は維持される。シンボルは、伝送期間の中央で読まれると想定される。追加の同期シンボルは、低速モードデバイスには見えない。各トランスミッタは、より短いシンボルを挿入するために、元のタイムスロットのクロックの少なくとも二倍で動作する内部クロックを備えている。高速モードになった今では、より多くのタイムスロットが存在する。様々な実施形態において、低速のデバイスが、高速モードで読み出しを行う。このソルーションは、音声の動作を維持し、かつ、低速及び高速のデバイスの両方を同時にバスに接続させながら、帯域幅及び同期繰り返しレートを変化させることを可能にする。それは基本的には、既存のタイミングでサブ期間を挿入し、これらのサブ期間を既存の転送プロトコルに帯域幅を追加するために用いられる。このアプローチは、SoundWireのような既存のインターフェースとの上位互換のために使用され得るし、また、元のインターフェースが提供できないであろう高帯域幅をサポートすることを可能にし得る。
【０１２７】
フレーム同期とバルク転送
当業者は、本明細書で開示されているシステム及び方法の多くの利点を認識するであろう。様々な実施形態において、複数のアップストリーム接続インターフェース装置（スレーブ装置）が、様々な地点でバスに取り付けられることがあり、部分的には、正確なタイミング施策により、互いにフルスピードで通信することがある。異なるデバイスからの信号伝送は、タイミング制御と伝送線路を介して伝搬される前進及び後進波を区別することにより、緊密に積み重ねられ得る。これは、ＥＭＩを低減する穏やかなスルーレートを用いてさえ、高帯域幅を可能にする。これは、ＦＣＣクラスＡ及びＢデバイス、パート１５のようなＥＭＩ規格への認証及び遵守のために有益である。
【０１２８】
本明細書に記載したシステムは、２本のワイヤによる低電力データ通信を容易化するために用いられ得る。このインターフェースは、一つのマスターと一以上のスレーブ装置を有するマルチドロップ動作をサポートしており、従来の時間多重化低遅延システムよりも長い距離に渡ってフルスピードでスレーブ間のポイントツーポイントの通信を可能にする。低電磁干渉（ＥＭＩ）が、差動低電圧動作及びスルーレートの制御によって達成される。各スレーブデバイスは、ＰＬＬ又はＤＬＬを備えており、システムは、終端された、マルチドロップ、かつ、複数デバイスのシステム配置をサポートしている。
【０１２９】
当該システム及び方法は、従来のアプローチに対する多くの利点を提供する簡単なフレーム構造及び初期同期シーケンスを含んでいる。様々な実施形態において、スレーブ及びマスターデバイスの間の初期同期は、簡単かつ頑強であり、一定のフレームサイズを用いる。複数のクロックシステムとの互換性を確保するために従来のシステムにおいては可変フレームサイズが用いられてきたが、本開示では、異なるアプローチが取られている。本開示は、柔軟かつ有効なソルーションを提供するために、ここに開示したようなオーバーサンプリングされたクロックシステムにより提供される追加の自由度を用いている。いくつかの実施形態では、実際のクロック周波数は、フレームの一部を構成するビーコン信号から推論されてもよい。
【０１３０】
いくつかの実施形態では、クロック周波数及び動作モードに関係なく、一ラインのデータが８０タイムスロットを備えている。個々のフィールドは同一シーケンスに存在するであろうが、これらのタイムスロットの解釈は、選択された構成に依存し得る。起動時に、デフォルトのデータフォーマットが、最長のバス径（最低スピード）に合わせて設定される。図１６Ａを参照して、各ラインのデータの異なるフィールドが図示されている。個々のタイムスロットの解釈を変更することにより、ボーレートとバス径の間で様々な折衷案が選択可能である。同期パターンは、各ラインのデータ当たり１つの頻度で繰り返す（例えば、図に示すように、同期レートは３．０７２ＭＨｚである）。各ラインは、０から１への遷移で開始する。この遷移は、ビットが受信可能であるように、内部のデルタ−シグマコンバータのために、そして、バス上のＰＬＬ／ＤＬＬをロックするためのサンプルイベントとして用いられる。図１６Ａは、同期パターンと簡単化されたラインの説明を図示している。０から１への遷移のイベントをデルタ−シグマコンバータのためのサンプリングイベントとして用いることの一つの利点は、それが、マスタークロックからのジッタのみを含み、スレーブデバイスのクロック再生に関連する追加のジッタを含まないことである。よって、このソルーションは、ＰＬＬ／ＤＬＬの低電流消費の要求によりスレーブデバイスのクロック再生ユニットの内部に高ジッタが存在してもなお、音声サンプリングについてジッタを低減することができる。
【０１３１】
各ラインは、同期フィールド（当該フレームは論理１で開始し論路０で終わる）と、コマンドフィールド（Ｃは、マスターからのコマンド）と、前方（典型的には、マスターからスレーブ）への音声の輸送のためのフィールドと、シグナリング方向を変えることを可能にするための２方向遅延「ターンアラウンド」（Ｔ１）と、スレーブデバイスからの応答フィールド“Ｒ”（スレーブデバイスからの読み出し時にしか用いられない）と、後方（典型的にはスレーブからマスター）への音声の輸送のためのフィールドと、同期パターンの開始を完了させる、可能な空きフィールドとを有している。当該ラインは、更に、前方コマンド（マスターからスレーブ）と、フレーミング（ビーコン）フィールド（Ｆ）と、データフィールドＤ０〜Ｄ４を含んでいることがある。これらのフィールドのそれぞれに割り当てられるスロットの数は、アプリケーションによって変更し得るが、ライン内のタイムスロットの総数は、固定した数、例えば、８０である。ラインにおける列の数を変更するためには、図１５の技法（例えば、同期レートを７６８から３０７２ｋＨｚに変更する）が使用可能である。図１６は、起動時のデフォルトの構成を表しており、ここでは、下に示されているインデックスは、各フィールドの開始時のタイムスロットの数である。
【０１３２】
データの輸送が、伝送線路上で発生するであろう。複数のデバイスからのデータパケットの間の衝突を避けるために、前進波と後進波とを区別しよう。前進波は、マスターで開始し、マスターから離れるように向けられる。後進又は反転波は、スレーブデバイスから送出されたデータであり、マスターに向かう方向に伝搬する。ターンアラウンド期間の間は、デバイスは如何なる情報も転送せず、そのドライバは、（そのようなシステムのための動的終端の可能性は別として）無効にされる。
【０１３３】
音声データは、リンクにおいて、両方向、即ち、マスターデバイスからスレーブデバイスに向かう前方、及び、スレーブデバイスからマスターデバイスに向かう後方に伝搬可能である。もしスレーブデバイスが、当該スレーブデバイスよりもマスターから離れて位置している他のスレーブデバイスにデータを転送したい場合、それは、図１６Ｂに図示されているように、前方に、すなわち、Ｄ０〜Ｄ７とラベリングされているフィールドにおいてデータを送信する。様々な実施形態において、システムは、制御データ（レジスタ読み出し及び書き込み）、等時性音声（ＰＤＭ及びＰＣＭ）、異時性音声（ＰＣＭ）、及び、バルク転送動作に対応していてもよい。
【０１３４】
下のテーブルは、信号インテグリティ決定に対して様々な帯域幅の要求に適合するためのインターフェースの微調整を可能にするレジスタを列挙している。いくつかの実施形態では、インターフェースは、リセットが適用された後、デフォルト値で起動するであろう。この実施形態では、ＴＸ遅延は、マルチドロップ構成との互換性を確保するために符号あり２の補数の値として格納され、ＲＸ遅延は、符号あり２の補数の値として格納される。ＰＬＬ／ＤＬＬにおける遅延により、負のオフセットが存在し得る。もし、レジスタＦの値がレジスタＧの値と同一であれば、ブロックデータは転送されないであろう。もし、レジスタＪの値がレジスタＫの値と同一であれば、ブロックデータは転送されないであろう。本実施形態では、全てのレジスタ値は、半クロックの増分でカウントされ、ＴＸ及びＲＸ遅延レジスタを除いては、全てのレジスタ値は正（単一バイト）である。
【０１３５】
下記のテーブルを参照して、マルチドロップ構成との互換性を確保するために、ＴＸ遅延が符号あり２の補数の値として格納される。ＲＸ遅延は符号あり２の補数の値として格納され、ＰＬＬにおける遅延により、負のオフセットが存在し得る。もし、レジスタＦの値がレジスタＧの値と同一であれば、ブロックデータは転送されないであろう。もし、レジスタＪの値がレジスタＫの値と同一であれば、ブロックデータは転送されないであろう。全レジスタ値は、半クロックの増分でカウントされる。ＴＸ及びＲＸ遅延レジスタを除いては、全てのレジスタ値は正（単一バイト）である。
【表９】
2021536151.tif 000011
【０１３６】
フレームの要約が図１７に図示されている。最初の列と最後の列の箱は、マスターによって３．０７２ＭＨｚのレートで駆動された同期である。次の２行の特定の箱（例えば、ＯＰ，ＩＤ，＃＃，Ｃ，ＦＡ，ＳＡ）は、マスターによって駆動されるコマンドフィールドを表している。Ｍとラベルされた箱は、マスターからスレーブへの音声データを表しており、Ｓとラベルされた箱は、スレーブからマスターへの音声データ又は応答を含んでいることがある。２番目の列の１とラベルされた箱は、ターンアラウンド遅延または論理１を含んでいることがあり、Ｔとラベルされた箱は、マスターからスレーブへのターンアラウンド遅延である。図示された実施形態では、１列が、マルチドロップ、多書き込みアプリケーション（調停／計数）に割り当てられている。殆どの列が、単一のデバイス専用だが、本明細書に記載されているように注意深いタイミング制御を用いて共有も可能である。
【０１３７】
帯域幅を節約するために、レジスタ読み出し及び書き込み動作は、最初にスレーブデバイスの内部のアドレスレジスタを更新し、その後、実際の読み出し又は書き込み動作を起こすことで行われてもよい。このようにすれば、読み出し及び書き込み動作を繰り返して行うときに、コマンドごとにアドレスを転送する必要がなくなるであろう。
【０１３８】
コマンドは、少なくとも２つのエラーが意図と異なる動作を起こすために必要となるように冗長性を用いてエンコードされるが、通常は、この状況すら発生する前により多くのエラーが必要となる。当該動作は、保守的な動作に留意しながら設計された―可能な誤動作を起こして進もうとするよりも、むしろ、任意の単一のエラーは何の動作も起こさないであろう。コマンドは、下記のシンボル｛Ａ，Ｂ，Ｃ，Ｄ｝上で構築される。シンボルは、下記のように定義される。
Ａ＝｛Ｄ２，Ｄ１，Ｄ０｝＝｛１，０，０｝
Ｂ＝｛Ｄ２，Ｄ１，Ｄ０｝＝｛０，１，０｝
Ｃ＝｛Ｄ２，Ｄ１，Ｄ０｝＝｛０，０，１｝
Ｄ＝｛Ｄ２，Ｄ１，Ｄ０｝＝｛１，１，１｝
これらのコマンドは、その２つの間でハミング距離を有している。即ち、一つの正しいシンボルを他の正しいシンボルにマッピングするために２つのエラーが必要となる。下記の値は、障害又は不適正なシンボルと考えられる。
Ｆ１＝｛Ｄ２，Ｄ１，Ｄ０｝＝｛０，１，１｝
Ｆ２＝｛Ｄ２，Ｄ１，Ｄ０｝＝｛１，０，１｝
Ｆ３＝｛Ｄ２，Ｄ１，Ｄ０｝＝｛１，１，０｝
Ｆ４＝｛Ｄ２，Ｄ１，Ｄ０｝＝｛０，０，０｝
【０１３９】
もし、あるコマンドにおいて、何らかの不適正なシンボルに遭遇した場合、このコマンドは無視されてもよく、意図されたレシーバは、このフレームの終了時にリクエストアテンション（Request Attention）で応答可能である。如何なる現在進行中のブロック動作も中断されるべきであり、非ブロック動作のみが継続されるであろう。
【０１４０】
コマンドは、オペコードフィールドによって定義される。このフィールドは、３又は６ビットで構成可能である。メモリからの２４ビットの読み出しのみが、オペコードの短縮形態を用いるであろう。言い換えれば、「２４ビット読み出し」のための特定のオペコードに遭遇した場合、このフレームは、全ての６つのオペコードビットを読む前ですら、読み出しフレームとして即刻認識されるべきである。
【０１４１】
ブロック動作は、レジスタへの及びレジスタからの大量のデータ転送に適している。これらの転送は、ラインの特別なフィールドをこれらの種類の転送にあてることで、それらが如何なる音声転送と干渉しないように保護されてきた。このように、音声転送は、ブロック転送と干渉し得ないし、逆も同じである。これは、最下位のハードウェア層によって取り扱われる。これは、単純なプログラミングエラーがバスをクラッシュしないようにすることを保証する。ブロック動作に割り当てられるタイムスロットをゼロに低減することが可能である。これは、いくつものエラーがフレームに発生した場合であってもブロック動作が行われないようにすることを保証するであろう。
【０１４２】
一実施形態では、全てのブロック動作はシンボルＡで始まり、その後、第２シンボルとして、これらのうちの一つの値が続く：（ｉ）“Ａ”（ブロック動作を停止）−このブロックは、一連のブロック動作の最後から２番目のブロックになり、次のフレームは、ブロックデータを含む最後のブロックになる、即ち、ブロック転送が１フレーム遅れて停止するであろう。（ｉｉ）“Ｂ”（連続書き込み動作のために開始アドレスを定義）−定義された開始アドレスから始めてデータがメモリに保存され、次のデータワードのそれぞれが、隣のメモリセルの内容を格納し、現フレームから３番目のフレームがブロック転送を用いる、即ち、ブロック転送が２フレーム遅れで開始するであろう。（ｉｉｉ）“Ｃ”（連続読み出し動作のために開始アドレスを定義）−定義された開始アドレスから始めてデータがメモリに保存され、次のデータワードのそれぞれが、隣のメモリセルの内容を格納し、現フレームから３番目のフレームがブロック転送を用いる、即ち、ブロック転送が２フレーム遅れで開始するであろう。
【０１４３】
他の実施形態では、「ブロック動作の停止」を用いる代わりに、バルク転送の間にコピーされるべき要素の数が、最初に、スタートアドレスと共に定義されるであろう。バルク動作が開始された後、宛先のデバイスそれ自身がすべての動作を行い、バルク転送の終わりに、ＩＲＱ（”Request Attention”）がマスターに知らせるために生成され、転送が完了する。マスターは、その後、バルク転送が成功したかを調べ、ＣＲＣ値が正しいかをチェックするためにスレーブデバイスの状態にアクセスすることができるようになっていてもよい。
【０１４４】
単一の読み出し及び書き込み動作は、最初にレジスタ操作の開始アドレスを定義し、その後、任意の後動作が、その前に定義されたアドレス値を用いてＩ／Ｏ動作を行うことで機能する。その後に続くレジスタ操作のためのアドレスの定義は、シンボルＤを送り、その後にシンボルＢを続けることで定義される。
【０１４５】
アドレスのインクリメントを伴う読み出し及び書き込み動作は、最初にレジスタ操作の開始アドレスを定義し、その後、任意の後動作が、その前に定義されたアドレス値を用いてＩ／Ｏ動作を行うことで機能する。この動作を用いる場合、各読み出し又は書き込み動作が完了した後、デバイス内部で、その後の読み出し又は書き込み動作が、アドレス値を後付けでインクリメントするであろう。アドレスのインクリメントを伴う、その後のレジスタ操作のためのアドレスの定義は、シンボルＤを送り、その後にシンボルＣを続けることで定義される。
【０１４６】
単一の書き込み動作は、シンボルＤを送り、その後シンボルＡを続けることで実行される。用いられるアドレスは、この動作を用いる前に定義する必要があろう。
【０１４７】
単一の読み出し動作を行う場合、バスのタイミングの詳細が複雑であるため、該読み出し動作は、２番目のシンボルの全てのビットをブロックするであろう。従って、読み出し動作は、最初のシンボルによって完全に定義される一方で、２番目のシンボルが無視される（この場合、マスターはバスを駆動しないだろう）。更に、読み出し動作は、最初のシンボル（フレームの最初の３行）が読み出され解釈された直後に開始すべきである。読み出し動作は、シンボルＣによって定義される。
【０１４８】
もし、デバイスＩＤ番号が７であるならば、これは状態読み出し動作を行い、バスに接続された全てのデバイス（マスターを除く）は、その状態を返すであろう。各デバイスから返される３ビットは、下記のとおりである（ＭＳＢが最初に返され、ＬＳＢが最後に返される）：
【表１０】
2021536151.tif 000012
【０１４９】
もし、デバイスＩＤ番号が７であるならば、これは状態読み出し動作を行い、バスに接続された全てのデバイス（マスターを除く）は、その状態を返すであろう。各デバイスから返される３ビットは、下記のとおりである（ＭＳＢが最初に返され、ＬＳＢが最後に返される）。
【０１５０】
デバイス０−６は、対応するＡ−Ｇフィールドにおいて、関連するデバイス状態データ（バスに接続、ＩＲＱレベル）を用いて応答してもよい。バス上の直前の値が１であるため、全ての変化は、負論理を用いて（アクティブのイベントがゼロ）信号化される必要があろう。この動作には、可能な２４ビットのうちの最後の２１ビットのみが用いられる。デバイスは、この３ビットアドレスを得るために動的アドレス割り当てを用いてもよいし、又は（例えば、ピンによるプログラムでの）固定のデバイスアドレスを用いてもよい。もし、動的アドレス割り当てを用いるのであれば、デバイスは、初期値としてアドレス０を用いてもよい。もし、読み出しの間、マスターがＩＤを０に設定するのであれば、それは、最後にアクセスされたバルク転送ポートから２４ビットのＣＲＣ値を読み出すことを表しているであろう。これは、もしデバイス状態が読み出されているのであれば最初のオペコードは“Ｃ”であり、２番目のオペコードは送られていないことを意味している。
【０１５１】
バスに接続された全てのデバイスから状態を返すために、確認フラグ及び注目フラグを含む様々な状態フラグが提供されている。確認フラグは、トランザクションが成功したこと（例えば、３ビットＣＲＣ値によって確認された読み出し又は書き込み）を確認する。複数のデバイスが異なる値でバスを駆動しようとすることで発生する可能性があるバス衝突を回避するために、これは、論理ローがアクティブの信号で定義された。デバイスが注目を要求する場合、該デバイスは、このタイムスロットをローに駆動すべきであり、そうでなければ、該デバイスは、このタイムスロットにおいて如何なる値も駆動すべきでない。これは共有されているビットなので、全てのデバイスは、このタイムスロットに応答できる。注目フラグ（例えば、ＡＴ）は、バスに接続された任意のデバイスから注目されることの要求を信号として送る。複数のデバイスが異なる値でバスを駆動しようとすることで発生する可能性があるバス衝突を回避するために、これは、論理ローがアクティブの信号で定義された。デバイスが注目を要求する場合、該デバイスは、このタイムスロットをローに駆動すべきであり、そうでなければ、該デバイスは、このタイムスロットにおいて如何なる値も駆動すべきでない。
単一エラーがブロック転送動作を引き起こすことを避けるために、ブロック転送は、その前のフレームにおいて完全に定義されるであろう。１行当たりのコマンドビットの数を変更することにより、例えばＤＳＰプログラムのアップロードのために、レジスタに又はレジスタから大量のデータを非常に速く転送できる。ブロック転送は、列がこの動作に割り当てられた場合にのみ発生するであろう。これは、ブロック転送の開始を定義するレジスタへの書き込みによって発生する。もし、ブロック転送レジスタが、タイミングにおいてそれに続くターンアラウンドレジスタと同じ又は大きい場合には、ブロック転送コマンドが発行されている場合であってもブロックデータは転送されないであろう。これは、ブロックデータが偶発的に音声データを書き換えないようにすることを確実にする。コマンドのエンコーディングを行う例示的なコマンドテーブルが、以下に提示される：
【表１１】
2021536151.tif 000013
【０１５２】
図１８Ａ、１８Ｂ、１８Ｃを参照して、ここでは、ブロック転送動作を更に詳細に説明する。フレーム１８０２に図示されているように、３２ビットアドレスが、スレーブデバイスに割り当てられる（続く動作ではインクリメントされない）。タイトなタイミングにより、列２におけるデバイスＩＤ及び初期値は、これらの値が送られた後にコマンドが最初に完了されるので、バッファされることがある。次に、フレーム１８０４に図示されているように、３２ビットアドレスが、スレーブデバイスに割り当てられる（続く動作でインクリメントされる）。フレーム１８０６に図示されているように、前に割り当てられたアドレスを用いて２４ビット読み出しが得られる（もし、ＩＤ＝アドレス７であれば、コマンドにおける例外である）。フレーム１８０８に図示されているように、全ての接続されたデバイスの読み出し状態（もし、ＩＤ＝アドレス７であれば、到達コマンドにおける例外である）。２４ビットの返されたデータの最初の３ビットは使用されず、最後に使用されたバルク転送ポートによって上書きされることがある。フレーム１８１０は、最後のバルク転送動作からの読み出し状態、例えば、最後に用いられたバルク転送ポートからの２４ビットの読み出しＣＲＣ値を図示している（もし、ＩＤ＝アドレス０であれば、読み出しコマンドにおける例外である）。フレーム１８１２は、前に割り当てられたアドレスを用いた書き込み３２ビットを図示している。スレーブデバイスは、ライン６までこれが書き込みコマンドであることを知らないであろう。これは、あり得る書き込みコマンドのためにライン４、５、６においてレジスタデータをバッファする必要があろうことを意味している。
【０１５３】
図１８Ｂのフレーム１８１４は、３２ビットブロック書き込み転送動作の開始を示している。データの書き込みは、２フレーム後に（即ち、このフレームではなく、次のフレームでもなく）初めて開始するであろう。３番目のフレームが開始するまで、フレームレイアウトは同一であろう。フレーム１８１６は、書き込みバルクデータの転送（連続）を図示している。フレーム１８１８は、３２ビットブロックバルク読み出し転送動作の開始を図示している。レジスタデータの読み出しは、３番目のフレームで初めて開始するであろう。３番目のフレームが開始するまで、フレームレイアウトは、その前のフレームと同じであろう（即ち、バルク転送はまだ開始していない）。Ｄ０〜Ｄ２３がデバイス０−７にマッピングされる。各デバイスは、多くとも３つのバルク転送ポートしか有していなくてもよい。０の値は、ポートが２フレームで活性化されることを示している。各デバイスには３ビットが割り当てられる（例えば、デバイス１がビットＤ３−Ｄ５に割り当てられ、それぞれが、内部バルク転送ポートに対応している）。フレーム１８２０は、読み出しバルクデータ（連続）の転送を図示している。
【０１５４】
フレーム同期アルゴリズム
マスターは、ある期間の後にスレーブが同期（ＰＬＬ／ＤＬＬロック）を得るであろうことを前提としている。スレーブデバイスは、任意のサポートされている速度でバスに接続し、その機能についてフィードバックを提供する。通信を開始する前にスレーブがメッセージ同期を得ているかをチェックするための実施形態が提供される。いくつかの実施形態では、単一フレームメッセージが用いられる。ビーコンがフレームの開始を指示するために使用可能であり、また、同期に使用可能である。
【０１５５】
図１９を参照して、ここでは、フレーム同期アルゴリズム１９００の実施形態を説明する。ステップ１９０２では、プロセスは、ＰＬＬ又はＤＬＬがマスターとロックするのを待つ。ステップ１９０４では、シフトレジスタ（ＳＨＩＦＴ１）が０ｘＦＦＦＦ．ＦＦＦＦに設定される。ステップ１９０６では、最初の値が第１ラインから読み出されて第２シフトレジスタに入れられる。この処理は、サーチレジスタを初期化するために３２ラインに渡って繰り返される。いくつかの実施形態では、各ラインは３．０７２ＭＨｚで繰り返され、これは、ＰＤＭ及び高音質音声のためのサンプリング点を提供することがある。各フレームが３２ラインに渡って繰り返され、９６ｋＨｚのフレーム繰り返し周波数を与える。いくつかの実施形態では、フレームの終了を示すビーコンが各第２フレームに（４８ｋＨｚの繰り返しレートで）送られる。
【０１５６】
そして、次のステップが６４フレームに渡って繰り返される。ステップ１９０８では、シフトレジスタ２から値が読み出される。当該値は、新しい読み出し値の反対の値であるべきである（ステップ１９２０で比較される）。もしそうでなければ、第１シフトレジスタのこのビットは、ステップ１９０２においてリセットされる。そうでなければ、プロセスは第２シフトレジスタ、ＳＨＩＦＴ２を更新するためにステップ１９１２に進む。ステップ１９０８では両方のレジスタをシフトし、続けて３２ラインを完成させる。このプロセスは、その後、６４フレームに渡って繰り返される。交互パターンをチェックすることにより、６４フレームの後、フレーム同期が実現可能である。言い換えれば、実際の同期位置をチェックする代わりに、このアルゴリズムは、唯一の有効な位置が残されるまで全ての無効な位置を消去する。この方法は、ランダムデータがコマンド列に発生していても、スレーブデバイスが常にロックされていることを保証する。もし、３２ビットレジスタが、６４フレーム後にもなお、複数のセットされているビットを含んでいる場合、当該方法は、無効な位置が消去されるまで繰り返される。
【０１５７】
図示された実施形態では、第１シフトレジスタの１である唯一のビットが、フレーム同期位置を示している。いくつかの実施形態では、もし、第１シフトレジスタの１の値であるビットが２以上ある場合、エラーが発生し、アルゴリズムは、再起動されるべきである。これは、通常の状況では発生しない（ランダムデータについては、これが起こる確率は、２−６４＜１０−２０である）ことが予期される。
【０１５８】
一の実装では、全てのフィールドがマスタークロックを用いてオーバーサンプリングされる。１ラインのデータが８０のタイムスロットに分割され、複数のタイムスロットがバス上でデータを定義するために用いられる。全てのフィールドがマスタークロックを用いてオーバーサンプリングされてもよい。この実施形態では、デフォルトのクロック周波数が２４５．７６ＭＨｚに設定されるが、他の周波数も用いられ得る。スレーブデバイス及びマスターデバイスについて初期のＰＬＬ同期周波数が３．０７２ＭＨｚに設定されるが、ここに説明しているように、他の周波数も用いられ得る。
【０１５９】
これらのタイムスロットの解釈は、個々のフィールドは同じ順序であろうが、選択された構成に依存するであろう。起動時に、デフォルトのデータフォーマットが、最大のバス径に合わせて（最も遅い速度）設定される。図１６Ｃを参照して、例示的なフレーム構成が、各ラインのデータにおいて異なるフィールドを示しながら図示されている。個々のタイムスロットの解釈を変更することで、ボーレートとバス径の間での様々な折衷案を選択することができる。同期パターンは、１ラインのデータ当たり１回の頻度で繰り返す。同期パターンは、０から１への遷移である。
【０１６０】
図示された実施形態では、一のラインが、同期フィールド（０−１）、ターンアラウンド期間Ｔ１（マスターデバイスも如何なるスレーブデバイスも方向の変更を許可するようにアクティブになっていない期間であり、このタイムスロットも、前方コマンド（マスター制御）とフレーム作成情報Ｆを含んでいる）と、コマンドフィールド（ＣＭＤ又は応答Ｒ）と、前方に（典型的には、マスターからスレーブに）音声を輸送するためのフィールドと、マスターからスレーブにバルクレジスタデータを輸送するためのフィールドＢ１と、信号伝搬方向の変更を可能にするためのターンアラウンド期間Ｔ２と、後方に（典型的には、スレーブからマスターに）音声を輸送するためのフィールドと、スレーブからマスターにバルクデータを輸送するためのフィールドＢ２と、次のラインが開始するまでのデータの整列のための空フィールドとを含んでいる。
【０１６１】
マスターがコマンドフィールドにコマンドを発行すると、良好なタイミングマージンを確保するために、マスターは、隣接するＴ１フィールドも同じ値で駆動するであろう。しかしながら、マスターがスレーブデバイスからの応答を期待しているときには、マスターは、Ｔ１及びＣＭＤフィールドを駆動しないであろう。Ｔ２フィールドは、如何なるデバイスによっても駆動されず、データのターンアラウンドに割り当てられている。スレーブデバイスがコマンドフィールドに応答を発行する場合、それは“ＣＭＤ”フィールドのみを駆動し、隣接するＴ１フィールドは駆動されずに信号のターンアラウンドのために用いられる。スレーブデバイスからマスターデバイスまでの実際の距離は、未知である場合がある。従って、コマンドが発行されると、スレーブデバイスからマスターデバイスへの実際の遅延を測定することになろう。実際の遅延は、タイミングを最適化する、例えば、受信アイダイアグラムを最適化するために用いられよう。
【０１６２】
これらのフィールドのそれぞれに割り当てられるタイムスロットの数は、応用によって異なり得るが、図示された実施形態では、１ラインのタイムスロットの総数は８０である。起動時のデフォルト設定は、各フィールドの開始時のタイムスロットの数を示している。起動時にはバルク転送にはタイムスロットは割り当てられていない。
【０１６３】
ＴＮと印がつけられたタイムスロットは、ターンアラウンド遅延のためのものである。これらのタイムスロットの内部には実際のデータ値は定義されない。ターンアラウンド遅延Ｔ１−Ｔ２は、データ方向を変更（即ち、前進波から後進波へ、及び、その逆に）できるように割り当てられている。マスター及びスレーブデバイスから送信されるビット数は変化することがあり、そして、如何なる送信が開始する前にもプログラムされるべきである。上記に示した例では、マスターは、スレーブに各ラインにおいて６ビットを送信し、スレーブは、マスターに各ラインにおいて４ビットを送信する。この例はデフォルト設定を示しており、マスター及びスレーブに割り当てられる帯域幅は、他の設定にプログラムされ得る。同期パターンは、データ構成に関わらず固定されたままである。コマンドターンアラウンド等のためにデータビット当たりに割り当てられたタイムスロットの数をプログラミングすることにより、典型的には高いジッタ要求と短い最大バス径を犠牲にしながら、帯域幅を相当に増加することができる。このプログラム可能な性質は、システムデザイナが、各方向にどれだけの帯域幅が同期、コマンド及びデータに使用可能かを決定することによって、高いシグナルインテグリティのために帯域幅をトレードオフの関係にすることを可能にする。また、スルーレートと出力伝送電圧をプログラミングすることにより、システムがＥＭＩについての要求をパスできるようにしながら信号インテグリティを最適化できる。
【０１６４】
マスターがコマンドフィールドにおいてコマンドを発行するとき、マスターは、より良いタイミングマージンを確保するために隣接するＴ１及びＴ２フィールドを同一値で駆動するであろう。しかしながら、マスターがスレーブデバイスからの応答を期待しているときには、マスターはＴ１、ＣＭＤ及びＴ２フィールドを駆動しないであろう。スレーブデバイスがコマンドフィールドにおいて応答を発行するとき、スレーブデバイスは“ＣＭＤ”フィールドのみを駆動し、隣接するＴ１及びＴ２フィールドは駆動されず、信号のターンアラウンドのために用いられるであろう。スレーブデバイスからマスターデバイスへの実際の距離は未知である場合がある。従って、コマンドが発行されると、スレーブデバイスからマスターデバイスへの実際の遅延を測定することになろう。実際の遅延は、タイミングの最適化、例えば、受信アイダイアグラムの最適化に用いられるであろう。高いデータインテグリティのために用いられる値が、各データ単位の中央に位置している一方で、マスターは、遅延最適化のために、通常のサンプリングの前に１／２データ単位で、即ち、２つデータ値の間のエッジでスレーブ遅延をサンプリングするであろう。
【０１６５】
クロックの両方のエッジを用いることで２回のオーバーサンプリングが達成可能である。マスターがコマンドフィールドにおいてコマンドを発行する場合、マスターは、隣接する“Ｔ”フィールドを同一値で駆動するであろう。スレーブデバイスがコマンドフィールドにおいて応答を発行する場合、スレーブデバイスは、“Ｒ”フィールドのみを駆動し、隣接する“Ｔ”フィールドは駆動されずに信号のターンアラウンドのために用いられるであろう。バス径が短く、バス周波数が低い場合、
遅延測定が実行可能になる前に、漏れ電流がバス値を変更し得る。この場合、漏れ電流が遅延測定に全く影響を与えないことを確実にするためにシステムにバスホルダーを設けることが最適である。このようなバスホルダーの出力インピーダンスは、典型的には１〜２ｋΩの範囲であろう。
【０１６６】
スレーブデバイスは、それが一旦ロックされたなら、デバイス状態を伝えることによって応答すべきである。スレーブＰＬＬ回路は、１ｍｓ以内にマスターとのロックを得ることができるべきであり、他の制御回路部によって用いられるように「ＰＬＬロック」信号を出力できるべきである。更に、ＰＬＬは、スレーブコマンドコントローラから論理信号（「メッセージ同期」信号）を予期すべきである。「メッセージ同期」信号がハイであり、スレーブＰＬＬが、自身がロック状態にあると判断したなら、スレーブＰＬＬは、狭帯域幅モードに変化すべきである。狭帯域幅モードでは、時間ゲートは、同期エッジの周辺の狭い時間ウィンドウにおいてのみ位相検出器からの出力を許容するであろう。もしこれらの信号のいずれかがアクティブ（ハイ）ではないならば、ＰＬＬは、広い帯域の位相検出に変化すべきであり、スレーブデバイスは、バスへの書き込みができないようになるべきである（これがなされたら、他のデバイスの上書きができなくなる）。
【０１６７】
音声データは、リンク上を双方向で、即ち、マスターデバイスからスレーブデバイスへの前方及びスレーブデバイスからマスターデバイスへの後方に伝搬可能である。もしスレーブデバイスが、自身よりもマスターから離れて位置する他のスレーブデバイスにデータを転送したい場合、該スレーブデバイスは、前方に、即ち、「マスター音声」とラベルされたフィールドにおいてデータを送信する。
【０１６８】
ポートプログラミング
様々な実施形態において、データ転送は、ポートプログラミングによって取り扱われる。任意の送信ポートから任意の受信ポートにデータを転送可能にするために、データはモノラルチャネルのように扱われてもよい。このアプローチを用いて、ステレオチャンネル及び多チャンネルシステムは、チャネルがグループとして扱われる状況と比較して、より長いプログラミングシーケンスを用いることになろう。しかしながら、このアプローチは、より簡単であり、任意のデータ転送についてより高い柔軟性を与える。
【０１６９】
あるポートに対応する全てのレジスタは、バンク（シャドー）レジスタを有するであろう。主及びシャドーレジスタの選択は、バンク選択レジスタに書き込むことで達成される。一以上のエラーによるバンクレジスタ値の変化に起因する、バスの振る舞いへの破滅的な変化を避けるために、このレジスタは、特別に保護されていた。言い換えれば、バンク値を変更するためには、バンク番号１を選択するために特定のレジスタに特定の８ビット値を書き込む必要があり、バンク番号０を選択するために、これら２つのワードの間に長いハミング距離がある異なる８ビット値を書き込む必要がある。一つのシナリオから他のシナリオに変更するときに不調や歪に遭遇することなく、２以上の再生モードの間で変更をシームレスに行うためにバンクレジスタが用いられる。なお、如何なる音声の不調をも避けるためには、適切なバッファリングによってフィルタ構成を変更する際に、群遅延に注意を払う必要もあるかもしれない。
【０１７０】
任意のデータを任意の送信ポートから任意の受信ポートに自在に転送できるようにするために、送信及び受信ポートの両方が、フレーム内のデータの位置を自在にプログラム可能である。例えば、ある行変数は、書き込まれるべき最初のデータの行の選択を許容することがあり、行増分は、隣接するアクティブな行への間隔を選択するために使用可能である。列変数は、書き込まれるべき最初の列を選択するために使用され得、“最終列”変数は、データが書き込まれ又は読み出されている最後の列を選択するために使用され得る。所与のデータポートからのデータ長（例えば、データ語長）もプログラムされ得る。いくつかの実施形態では、データ値は、１以上のフレームに渡って延伸することがあり、ストリームの同期がプログラムされることがある。これは、典型的には、この同期を達成するためのビーコンビットを用いて達成されている。
【０１７１】
バルク転送は、バルク転送が有効にされる前に、開始行、行増分、開始列及び列停止レジスタが、定義される必要がある場合がある。バルク制御ビットがバルク転送コマンドを有効に及び無効にするために使用され得る。バルク転送をサポートしているポートのみがこのビットを使用し、そうでなければ値が無視される。バルク転送は、ポートによって実行される最後のバルク動作の間に転送される全ビットの２４ビットＣＲＣチェック値を保持する追加のレジスタを有していることがある。各デバイスは、同時に動作するバルク転送ポートを一つしか持つことはできず、通常は２以上のバルク転送ポートを持つことはないであろう。バルク制御レジスタは、（例えば、３２ビットアドレスの）開始レジスタと、（例えば、３２ビットアドレスの）終了レジスタと、（例えば、３２ビットの）長さレジスタと、単一又は連続転送を示すフラグと、読み出し／書き込み方向フラグとを含んでいてもよい。なお、ポートは、バルク転送開始コマンドに反応するために最初に有効される必要がある。ポート転送の間に有効にされるポートは、マスターによって書き込まれる２４ビットワードによって与えられる。バルク転送動作の開始の間、２４ビットワードがマスターによって書き込まれる。各デバイスは、内部的にこれらのビットを（もし、いずれかが実装されているのであれば）バルク転送ポートに割り当てる。
【０１７２】
電力消費
帯域幅の要求が穏やかである簡潔なシステムについては、リンクの終端を避けることで顕著に電力消費を低減可能である。その代わりに、トランスミッタは、ラインインピーダンスで直列終端されるであろう。トランスミッタ側からの如何なる反射をも避けるために、トランスミッタの出力インピーダンスは、出力レベルの変化の間でも比較的安定であるべきである。これは、出力インピーダンスが突然非常に高くなる時間ゾーンが無いように、順次に、同時には一つだけ活性化される複数のドライバを持つことで達成可能である。また、もし伝送線路の各端に位置している２つのデバイスしか無ければ、反射の問題は消え去り、リンクの端が終端されずに直列終端トランスミッタを用いて高速及び低電力が達成可能である。
【０１７３】
並列終端を避けることにより、電力消費は、（２５０ｍＶのシグナリング、５０ｐＦの負荷、及び、４０Ｍｂｉｔの信号伝送に基づけば）容量的に充電するだけによる、２×１２５μＷ＝２５０μＷまでに減少するであろう。実使用では、受信ＰＬＬ（例えば、２５０μＷ）の電力消費と制御オーバヘッドのためのいくらかの追加の帯域幅を追加する必要があろうし、しかしながら、１ｍＷを下回るような電力割当量は、非現実的である。
【０１７４】
様々な実施形態において、マスターは、スレーブをウェークアップ可能であるべきであり、スレーブは、マスターをウェークアップ可能であるべきである。よい信号インテグリティと全ての他の回路の電力消費量の低下を確保するために、最も簡単なゼロ電力ウェークアップ（＜１μA）モードでは、より高い信号電圧（約１Ｖ）を用いる。より複雑なソルーションでは、全てのモードで同一の信号電圧を維持可能であろうが、これは、より複雑な回路と受信回路が常にオンにされる必要がある（１００μＡ）。マスターは、全スレーブに書き込みを行い、次のフレームにバス停止が開始することを伝えるであろう。マルチドロップバスについては、これは、端点にあるノードが、フレームの終わりに終端を無効にすることを必要とするであろう。次のフレームにおいて、マスターは、弱いドライバ（約５ｋΩ）を用いてＤ＋をＶＤＤに駆動するであろう。遷移の間の如何なるＥＭＩをも低減するためにハイインピーダンスが使用され得る。Ｄ＋がＶＤＤである限り、これは、低電力状態がまだアクティブであることを示すものである。スレーブは、中間の強さのドライバ（約６００Ω）を用いてウェークアップエベントを伝えるためにＤ＋ラインをプルダウンすることがある。これは、少なくとも７ｎｓ（１５ｐＦ以上の負荷）の遷移を確保する。（もし、標準の３２．７６８ｋＨｚ低電力ウェークアップクロックがマスターで用いられていても）マスターがイベントを登録したことを確実にするためには、このラインは、少なくとも５０μｓの間、ローにプルダウンされている必要がある。多くとも１００μｓの後、スレーブはプルダウンイベントを無効にし、マスターは、イベントが登録されてバスが再起動した後で、少なくとも１００μｓの間バスを起動し始めるであろう。
【０１７５】
ＰＬＬ同期
システムの電源が投入されるとき、スレーブデバイスは、マスターデバイスと同期を確立する必要があろう。これは、次のようにして達成される：（ｉ）マスターが、各ラインにおいて固定の同期パターン（０から１への遷移）を送出する。（ｉｉ）マスターが、コマンド応答及びターンアラウンドに割り当てられたタイムスロットを除くフレームの全ビットを定義する。（ｉｉｉ）スレーブデバイスのＰＬＬ／ＤＬＬがマスターにロックされると、それは、「スレーブロック状態」ビット（ＥａｒＬｉｎｋコマンドのセクション参照）を活性化して応答する。（ｉｖ）これでマスターデバイスがスレーブデバイスをプログラム可能である。
【０１７６】
一実施形態では、１ラインが、クロック周波数及び電力モードに関わらず、８０個のタイムスロットを含んでいる。同期パターンは、１ライン当たりに１回の頻度で繰り返す。同期パターンは、０から１への遷移である。ライン／周期の最初の０から１への遷移のみがスレーブデバイスのＰＬＬ／ＤＬＬによって使用される。コマンドタイムスロットが、同期タイムスロットの直後に続くので、これは、初期的には、１ラインには単一の０から１への遷移しかないことを意味しており、従って、ＰＬＬの同期イベントは、一意に定義されるであろう。立ち上がりクロックエッジが同期に用いられている限り、スレーブのＰＬＬ／ＤＬＬ回路は、１ｍｓ以内にマスターとのロックを得ることができるべきであり、他の制御回路に使用されるであろう内部“ＰＬＬ／ＤＬＬロック”信号を出力可能であるべきである。更に、ＰＬＬ／ＤＬＬは、スレーブコマンドコントローラからの論理信号（「メッセージ同期」信号）を予期すべきである。「メッセージ同期」信号がハイであり、スレーブＰＬＬ／ＤＬＬが、自身がロックされていると特定した場合、狭帯域幅モードに変更すべきである。狭帯域幅モードでは、時間ゲートは、位相検出器からの出力を、同期エッジの周辺の狭い時間ウィンドウにおいてのみ許容するであろう。もし、これらの信号のいずれかがアクティブ（ハイ）でない場合、ＰＬＬ／ＤＬＬは、広い帯域の位相検出に変化する（即ち、位相／遅延検出器ウィンドウのゲーティング論理を無効にし、バス衝突を避けるためにスレーブ出力トランスミッタを無効にする）べきである。マスターは、デバイス状態を読み出し、これにより、スレーブがロックを得たときに検出すべきである。更に、このメッセージは、スレーブデバイスの遅延タイミングを最適化するために使用されることがあり、ポート転送が開始される前に完了されるべきである。
【０１７７】
同期が得られた後、遷移の周辺のウィンドウ（例えば、＋／−３タイムスロット、即ち、６タイムスロットからなる同期タイムスロットの半分）がＰＬＬ／ＤＬＬのために開放される。ＰＬＬに狭い時間ウィンドウが用いられる理由は、ＰＬＬによって統合されるべき位相検出器からの出力は、バス上の如何なるデータ通信によっても混乱されてはならないからである。このように、ＰＬＬを、広い、即ち、時間領域で広い受信帯域幅で始動し、その後、ＰＬＬ統合ユニットへの入力を時間ゲーティングする必要がある。時間ゲートウィンドウの幅は、タイムスロットの幅に依存しており、一のタイムスロットは、スレーブＰＬＬの１クロック周期によって決定される。約２９４．９１２ＭＨｚ（３．０７２ＭＨｚ×９６）の内部クロック周波数については、１つの同期ビットを送信するのに６タイムスロットを使用するシステムでは、これは、約＋／−１０．２ｎｓにあたる。この構成は、（１０−１２のビットエラーレートについて）この値の約１４倍であるピークジッタについては約７２７ｐｓＲＭＳまでのジッタを受け入れるであろう。
【０１７８】
適用可能である場合、本開示で提供されている様々な実施形態は、ハードウェア、ソフトウェア、又は、ハードウェアとソフトウェアとの組み合わせを用いて実施され得る。また、適用可能である場合、本明細書に提示されている様々なハードウェアコンポーネント及び／又はソフトウェアコンポーネントは、本開示の要旨から離れることなく、ソフトウェア、ハードウェア及び／又はその両方を備える複合コンポーネントに組み合わされ得る。適用可能である場合、本明細書に提示されている様々なハードウェアコンポーネント及び／又はソフトウェアコンポーネントは、本開示の範囲から離れることなく、ソフトウェア、ハードウェア及び／又はその両方を備えるサブコンポーネントに分離され得る。加えて、適用可能である場合、ソフトウェアコンポーネントは、ハードウェアコンポーネントとして実装され得るし、また、逆も同じであると考えられる。
【０１７９】
前述の開示は、本開示を正確な形式に限定し、又は、開示されている特定の使用領域に限定する意図はない。従って、様々な代替的な実施形態及び／又は本開示への変更が、ここにおいて明示的に説明されていようと暗示されていようと、開示に即して可能であると考えられる。本開示の上記の実施形態をもってすれば、当業者は、本開示の範囲を離れることなく、形態及び詳細に変更がなされ得ると利認識するであろう。従って、本開示は、クレームによってのみ限定される。
【図１Ａ】
2021536151.tif 000014
【図１Ｂ】
2021536151.tif 000015
【図１Ｃ】
2021536151.tif 000016
【図２Ａ】
2021536151.tif 000017
【図２Ｂ】
2021536151.tif 000018
【図３】
2021536151.tif 000019
【図４】
2021536151.tif 000020
【図５Ａ】
2021536151.tif 000021
【図５Ｂ】
2021536151.tif 000022
【図６Ａ】
2021536151.tif 000023
【図６Ｂ】
2021536151.tif 000024
【図７】
2021536151.tif 000025
【図８Ａ】
2021536151.tif 000026
【図８Ｂ】
2021536151.tif 000027
【図９Ａ】
2021536151.tif 000028
【図９Ｂ】
2021536151.tif 000029
【図９Ｃ】
2021536151.tif 000030
【図９Ｄ】
2021536151.tif 000031
【図９Ｅ】
2021536151.tif 000032
【図９Ｆ】
2021536151.tif 000033
【図１０Ａ】
2021536151.tif 000034
【図１０Ｂ】
2021536151.tif 000035
【図１１Ａ】
2021536151.tif 000036
【図１１Ｂ】
2021536151.tif 000037
【図１１Ｃ】
2021536151.tif 000038
【図１１Ｄ】
2021536151.tif 000039
【図１２】
2021536151.tif 000040
【図１３】
2021536151.tif 000041
【図１４】
2021536151.tif 000042
【図１５】
2021536151.tif 000043
【図１６Ａ】
2021536151.tif 000044
【図１６Ｂ】
2021536151.tif 000045
【図１６Ｃ】
2021536151.tif 000046
【図１７】
2021536151.tif 000047
【図１８Ａ】
2021536151.tif 000048
【図１８Ｂ】
2021536151.tif 000049
【図１８Ｃ】
2021536151.tif 000050
【図１９】
2021536151.tif 000051
【手続補正書】
【提出日】令和3年7月8日(2021.7.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のタイムスロットを備える通信プロトコルを用いてデジタル通信を行うためのマルチドロップバスに結合されたマスターデバイスと、
前記マルチドロップバスに結合され、前記通信プロトコルに従って前記マスターデバイスとデジタル通信を送受信するように構成された第１スレーブデバイスと、
を備え、
前記複数のタイムスロットの少なくとも一つが、前記第１スレーブデバイスのための通信設定を規定して帯域幅及び／又は信号インテグリティを動的に最適化するために用いられる
システム。
【請求項２】
前記マルチドロップバスは、２つの線において異なる電圧レベルで終端され、これにより、低電力動作と低電磁妨害を容易化する差動データバスである
請求項１に記載のシステム。
【請求項３】
要求される信号伝送レートよりも大きい信号伝送レートで動作し、各サイクルの一部でマルチドロップバスを休止したままにしておくことで、電力消費が低減されている
請求項２に記載のシステム。
【請求項４】
前記マルチドロップバスが、端部トランスミッタを用いてスレーブデバイスを受け取るように構成されたマルチドロップ差動長線路長バスである
請求項１〜３のいずれか１項に記載のシステム。
【請求項５】
前記マルチドロップバスが、更に、予期された固定パターンに従って変化していないタイムスロットを識別し、安全な同期のために無効な位置を消滅させることを含んで２以上の接続デバイスを同期するように構成された
請求項１〜４のいずれか１項に記載のシステム。
【請求項６】
前記システムが、更に、マルチドロップバスのデジタル通信トラフィックと独立してバルクデータ転送を容易化するように構成されている
請求項１〜５のいずれか１項に記載のシステム。
【請求項７】
前記第１スレーブデバイスと前記バスに接続されている第２スレーブデバイスとが、送信メッセージが一連の前進又は後進伝搬波として送られるようにタイミングが取られ、これにより、終端された伝送線路を用いたマルチドロップ高速双方向通信が可能になっている
請求項１〜６のいずれか１項に記載のシステム。
【請求項８】
前記マルチドロップバス上の中間ノードが、伝搬波に短い中断を生じさせるように前記マルチドロップバスに接続され、
前記中間ノードに起因する前記伝送線路の途絶の物理的長さが、信号伝送に用いられる最短の波長よりも短い
請求項１〜７のいずれか１項に記載のシステム。
【請求項９】
デバイス間の遅延が、既知の値にバスをチャージし、前記バスの始点と終点のドライバを無効化して前記バスをフローティングにし、測定の間に終端されないようにし、前記デバイスがバスのレベルを変化させることを待ち、遷移遅延を測定することにより測定される
請求項１〜８のいずれか１項に記載のシステム。
【請求項１０】
システムタイミングが前記マスターデバイス及び／又は前記第１スレーブデバイスに設けられたフラクショナルＰＬＬから得られており、前記ＰＬＬが、擬似乱数生成器からの出力を分数加算器に加算することでディザリングされ、これにより、ＥＭＩを低減する
請求項１〜９のいずれか１項に記載のシステム。
【請求項１１】
擬似乱数生成器が、一以上のデータポートの出力をスクランブルし、これにより出力スペクトルを白色化して低ＥＭＩを可能にするように構成された
請求項１〜１０のいずれか１項に記載のシステム。
【請求項１２】
ＰＬＬが前記マスターデバイスと前記第１スレーブデバイスの間の同期を得るために用いられる
請求項１〜１１のいずれか１項に記載のシステム。
【請求項１３】
前記ＰＬＬが、前記ＰＬＬの初期ロックの間に有効にされ、その後、前記ＰＬＬがランダムなバストラフィックにロックすることを避けるために、同期情報を通過させるのみになる時間ゲートを備えている
請求項１２に記載のシステム。
【請求項１４】
ＤＬＬがマスターデバイスと１以上のスレーブデバイスの間のロックを得るために用いられる
請求項１〜１３のいずれか１項に記載のシステム。
【請求項１５】
前記ＤＬＬが、前記ＤＬＬの初期ロックの間に有効にされ、その後、前記ＤＬＬがランダムなバストラフィックにロックすることを避けるために、同期情報を通過させるのみになる時間ゲートを備えている
請求項１４に記載のシステム。
【請求項１６】
複数のタイムスロットを備える通信プロトコルを用いるデジタル通信のためのマルチドロップバスに結合されたマスターデバイスを提供することと、
第１スレーブデバイスを前記マルチドロップバスに結合し、前記スレーブデバイスを前記通信プロトコルに従って前記マスターデバイスとのデジタル通信を送受信するように設定することと、
前記複数のタイムスロットの少なくとも一を用いて前記第１スレーブデバイスのための通信設定を規定して動的に帯域幅及び／又は信号インテグリティを最適化することと、
を含む
方法。
【請求項１７】
更に、前記マルチドロップバスを逆極性で終端された差動データバスとして動作させ、これにより低電力動作と低電磁妨害を容易化することを含む
請求項１６に記載の方法。
【請求項１８】
更に、予期された固定パターンに従って変化しないタイムスロットを識別し、安全な同期のために無効な位置を消滅することを含んで２以上の接続デバイスを同期することを含む
請求項１６または１７に記載の方法。
【請求項１９】
前記第１スレーブデバイスと前記バスに接続された第２スレーブデバイスとが、送信メッセージが一連の前進又は後進伝搬波として送られるようにタイミングが取られ、これにより、終端された伝送線路を用いたマルチドロップ高速双方向通信が可能になっている
請求項１６〜１８のいずれか１項に記載の方法。
【国際調査報告】
2021536151.tif 000052
2021536151.tif 000053