(57)【要約】  バス所有権ハンドオフ技法を開示する。一態様では、バス所有権ハンドオフは、バスに関連付けられた各マスタ内にモジュロNカウンタを設けることによって扱われる。単一のクロックソースが、同期的に各モジュロNカウンタを増分するために使用される。各マスタはまた、モジュロNカウンタのNに対応する、N個のエントリをもつトリガテーブルを含む。マスタホストは、マスタのそれぞれの優先度に従って、各トリガテーブル内のエントリをポピュレートする。各マスタ内の比較器は、トリガテーブル内のエントリをモジュロNカウンタと比較するために使用される。ポピュレートされたエントリとモジュロNカウンタとの間に一致がある場合、マスタによる送信が有効にされる。一致がない場合、そのマスタのための送信は不可能にされる。ネゴシエーションなしでハンドオフを有効にすることによって、ハンドオフに関連付けられたレイテンシがほぼ2クロックサイクルに低減され、デバイスが様々なセルラープロトコルのための厳しいタイミング要件を満たすことが可能になる。
2019507415.tif 000002
【特許請求の範囲】
【請求項１】
複数のマスタによって共有されるバスを制御するための方法であって、
複数のマスタデバイスのうちの第1のマスタにおいて、モジュロNカウンタを増分するステップであって、前記増分がクロック信号に基づく、ステップと、
前記モジュロNカウンタの出力をトリガテーブルと比較するステップと、
前記モジュロNカウンタの前記出力が、前記トリガテーブル内のエントリと一致する場合、関連付けられたバス上で前記第1のマスタによる送信を有効にするステップと
を含む方法。
【請求項２】
前記関連付けられたバス上で前記送信を有効にするステップが、関連付けられた無線周波数フロントエンド制御インターフェース(RFFE)バス上で前記送信を有効にするステップを含む、請求項1に記載の方法。
【請求項３】
前記トリガテーブルをポピュレートするための命令を受信するステップをさらに含む、請求項1に記載の方法。
【請求項４】
前記トリガテーブルをポピュレートするための前記命令を受信するステップが、バスマスタホストから前記命令を受信するステップを含む、請求項3に記載の方法。
【請求項５】
前記トリガテーブルをポピュレートするための前記命令を受信するステップが、前記モジュロNカウンタの可能な出力に対応する選択された値をポピュレートする前記命令を受信するステップを含む、請求項3に記載の方法。
【請求項６】
前記選択された値が連続的である、請求項5に記載の方法。
【請求項７】
前記選択された値が、すべての可能な値全体にわたって均等に散在する、請求項5に記載の方法。
【請求項８】
前記選択された値が、すべての可能な値全体にわたって不均等に散在する、請求項5に記載の方法。
【請求項９】
第1のシステムリセットの後、および第2のシステムリセットの前に、前記トリガテーブル内のエントリを調整するステップをさらに含む、請求項1に記載の方法。
【請求項１０】
前記複数のマスタデバイスのすべてに共通のマスタクロック信号を受信するステップをさらに含み、前記クロック信号に基づいて増分する前記ステップが、前記マスタクロック信号に基づいて増分するステップを含む、請求項1に記載の方法。
【請求項１１】
前記モジュロNカウンタの前記出力が、前記トリガテーブル内のエントリと一致しない場合、前記関連付けられたバスの使用を不可能にするステップをさらに含む、請求項1に記載の方法。
【請求項１２】
データが前記関連付けられたバス上に存在する場合、前記モジュロNカウンタを増分するステップを中断するステップをさらに含む、請求項1に記載の方法。
【請求項１３】
複数のマスタによって共有されるバスを制御するための方法であって、
複数のマスタによってバスを共有するための優先度技法を決定するステップと、
前記優先度技法に対応するエントリで、前記複数のマスタの各々におけるトリガテーブルをポピュレートするステップと、
前記バス上でマスタクロック信号を維持するステップと、
前記複数のマスタのうちの各マスタにおいて、前記マスタクロック信号に基づいて、モジュロNカウンタを増分するステップと、
前記複数のマスタのうちの各マスタにおいて、前記モジュロNカウンタの出力を、前記トリガテーブルのうちのそれぞれ1つにおける前記エントリと比較するステップと、
それぞれのモジュロNカウンタの前記出力が、前記トリガテーブルのうちのそれぞれ1つにおける前記エントリと一致するか否かに基づいて、前記複数のマスタのうちの異なるものによる前記バス上の送信を有効にするステップと
を含む方法。
【請求項１４】
データが前記バス上に存在する場合、前記モジュロNカウンタを増分するステップを中断するステップをさらに含む、請求項13に記載の方法。
【請求項１５】
前記優先度技法を決定するステップが、アクセス比率を決定するステップを含む、請求項13に記載の方法。
【請求項１６】
前記アクセス比率に基づいて、前記トリガテーブル内の値に対応する前記エントリを割り当てるステップをさらに含む、請求項15に記載の方法。
【請求項１７】
バスからクロック信号を受信するように構成された、バスインターフェースと、
前記クロック信号に基づいて増分するように構成された、モジュロNカウンタと、
イネーブル値を記憶するように構成された、トリガテーブルと、
前記モジュロNカウンタおよび前記トリガテーブルに結合された比較器であって、前記モジュロNカウンタの出力を、前記トリガテーブル内の前記イネーブル値と比較し、それに基づいて、送信イネーブル信号を出力するように構成される、比較器と、
前記送信イネーブル信号が存在するとき、前記バス上でデータを送信するように構成された、送信機と
を備えるマスタ。
【請求項１８】
前記トリガテーブルが、リモートマスタホストによってポピュレートされるように構成される、請求項17に記載のマスタ。
【請求項１９】
前記トリガテーブルが、エントリがリモートマスタホストから動的に変更されることを可能にするように構成される、請求項17に記載のマスタ。
【請求項２０】
前記トリガテーブルがレジスタを備える、請求項17に記載のマスタ。
【請求項２１】
前記バスインターフェースが、無線周波数フロントエンド制御インターフェース(RFFE)を備える、請求項17に記載のマスタ。
【請求項２２】
前記モジュロNカウンタが、データが前記バス上に存在するとき、増分を中断するように構成される、請求項17に記載のマスタ。
【請求項２３】
前記モジュロNカウンタに通信可能に結合され、データが前記バス上に存在することを前記モジュロNカウンタに示すように構成された、クロックゲートとバスステータスモニタとをさらに備える、請求項22に記載のマスタ。
【請求項２４】
前記比較器が、複数のANDゲートと、ORゲートとを備える、請求項17に記載のマスタ。
【請求項２５】
前記送信機が、異なるマスタからの前のデータ送信の完了の2クロックサイクル内で送信するように構成される、請求項17に記載のマスタ。
【請求項２６】
前記トリガテーブルの非順次エントリがポピュレートされる、請求項17に記載のマスタ。
【請求項２７】
バスと、
クロックソースと、
制御システムとバスインターフェースとを備えるマスタホストであって、前記バスインターフェースが前記バスに結合される、マスタホストと、
複数のマスタであって、前記複数のマスタの各々が、
前記クロックソースからクロック信号を受信するように構成された、前記バスインターフェースと、
前記クロック信号に基づいて増分するように構成された、モジュロNカウンタと、
前記マスタホストからの入力に基づいて、イネーブル値を記憶するように構成された、トリガテーブルと、
前記モジュロNカウンタおよび前記トリガテーブルに結合された比較器であって、前記モジュロNカウンタの出力を、前記トリガテーブル内の前記イネーブル値と比較し、それに基づいて、送信イネーブル信号を出力するように構成される、比較器と、
前記送信イネーブル信号が存在するとき、前記バス上でデータを送信するように構成された、送信機と
を備える、複数のマスタと
を備えるシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権出願
本出願は、その全体が参照により本明細書に組み込まれる、2016年1月13日に出願された「BUS OWNERSHIP HAND-OFF TECHNIQUES」と題する米国特許出願第14/994,226号の優先権を主張する。
【０００２】
本開示の技術は、一般に、2つ以上のマスタの間で通信バス所有権ハンドオフを実行するための技法に関する。
【背景技術】
【０００３】
コンピューティングデバイスは、現代の社会においてますます一般的になっている。より一般的なコンピューティングデバイスの中には、モバイルフォンがある。そのようなデバイスは、パブリックランドモバイルネットワーク(PLMN)を通して、公衆交換電話網(PSTN:Public Switched Telephone Network)へのオーディオ通信を可能にした、簡易なデバイスとして最初は始まった場合があるが、フルマルチメディアエクスペリエンスのサポート、ならびに複数のワイヤレスプロトコルのサポートが可能な、スマートフォンに進化してきた。セルラーワイヤレスプロトコル内でも、モバイルフォン無線は、複数の無線周波数(RF)信号チェーンを有することが多い、極めて複雑、マルチバンド、およびマルチスタンダードの設計に発展している。RF信号チェーンにおけるあらゆる構成要素は、所与の時間に所望の構成になっていなければならず、さもなければシステムが故障することになる。したがって、正確なタイミング、トリガ、および速度のすべてが必要である。
【０００４】
MIPIアライアンスのウェブサイトにおいてさらに説明されているように、「RFフロントエンド制御インターフェース(RFFE:RF Front-End Control Interface)のためのMIPIアライアンス仕様は、RFフロントエンドデバイスを制御するための一般的で普及した方法を提供するために開発された。様々なフロントエンドデバイスがあり、電力増幅器(PA)、低雑音増幅器(LNA)、フィルタ、スイッチ、電力管理モジュール、アンテナチューナ、およびセンサが含まれる。これらの機能は、適用例に応じて、別個のデバイス内に配置されるか、または、単一のデバイスに統合されるかのいずれかであり得る。モバイル無線通信における傾向は、いくつかの並列トランシーバからなる複雑な複数無線システムに向かっている。これは、RFフロントエンド設計の複雑さの急激な増加を伴う。したがって、RFFEバスは、最も単純な1マスタおよび1スレーブの構成から、潜在的には、数十ものスレーブを伴うマルチマスタ構成までの構成において、効率的に動作することが可能でなければならない。」
【０００５】
複数のマスタがRFFEバス上にあるデバイスでは、RFFEプロトコルは、不可避のレイテンシをもたらす所有権移行を可能にする。レイテンシの問題を悪化させることは、衝突予測不可能性のために、レイテンシが固定レイテンシではない場合があることである。そのような予測不可能なレイテンシは、RFフロントエンドによってサービスされている様々なワイヤレスプロトコルによって示される性能要件を妨げることがある。したがって、低減されたレイテンシのハンドオフ手法の必要がある。
【発明の概要】
【課題を解決するための手段】
【０００６】
発明を実施するための形態で開示する態様は、バス所有権ハンドオフ技法を含む。詳細には、バス所有権ハンドオフは、バスに関連付けられた各マスタ内にモジュロNカウンタを設けることによって扱われる。単一のクロックソースが、同期的に各モジュロNカウンタを増分するために使用される。各マスタはまた、モジュロNカウンタのNに対応する、N個のエントリをもつトリガテーブルを含む。マスタホストは、マスタのそれぞれの優先度に従って、各トリガテーブル内のエントリをポピュレートする。各マスタ内の比較器は、トリガテーブル内のエントリをモジュロNカウンタと比較するために使用される。ポピュレートされたエントリとモジュロNカウンタとの間に一致がある場合、マスタによる送信が有効にされる。一致がない場合、そのマスタのための送信は不可能にされる。ネゴシエーションなしでハンドオフを有効にすることによって、ハンドオフに関連付けられたレイテンシがほぼ2クロックサイクルに低減され、デバイスが様々なセルラープロトコルのための厳しいタイミング要件を満たすことが可能になる。
【０００７】
この点について、一態様では、複数のマスタによって共有されるバスを制御するための方法を開示する。方法は、複数のマスタデバイスのうちの第1のマスタにおいて、モジュロNカウンタを増分するステップであって、増分がクロック信号に基づく、ステップを含む。方法はまた、モジュロNカウンタの出力をトリガテーブルと比較するステップを含む。方法はまた、モジュロNカウンタの出力が、トリガテーブル内のエントリと一致する場合、関連付けられたバス上で第1のマスタによる送信を有効にするステップを含む。
【０００８】
別の態様では、複数のマスタによって共有されるバスを制御するための方法を開示する。方法は、複数のマスタによってバスを共有するための優先度技法を決定するステップを含む。方法はまた、優先度技法に対応するエントリで、複数のマスタの各々におけるトリガテーブルをポピュレートするステップを含む。方法はまた、バス上でマスタクロック信号を維持するステップを含む。方法はまた、複数のマスタのうちの各マスタにおいて、マスタクロック信号に基づいて、モジュロNカウンタを増分するステップを含む。方法はまた、複数のマスタのうちの各マスタにおいて、モジュロNカウンタの出力を、トリガテーブルのうちのそれぞれ1つにおけるエントリと比較するステップを含む。方法はまた、それぞれのモジュロNカウンタの出力が、トリガテーブルのうちのそれぞれ1つにおけるエントリと一致するか否かに基づいて、複数のマスタのうちの異なるものによるバス上の送信を有効にするステップを含む。
【０００９】
別の態様では、マスタを開示する。マスタは、バスからクロック信号を受信するように構成された、バスインターフェースを含む。マスタはまた、クロック信号に基づいて増分するように構成された、モジュロNカウンタを含む。マスタはまた、イネーブル値を記憶するように構成された、トリガテーブルを含む。マスタはまた、モジュロNカウンタおよびトリガテーブルに結合された比較器を含む。比較器は、モジュロNカウンタの出力を、トリガテーブル内のイネーブル値と比較し、それに基づいて、送信イネーブル信号を出力するように構成される。マスタはまた、送信機を含む。送信機は、送信イネーブル信号が存在するとき、バス上でデータを送信するように構成される。
【００１０】
別の態様では、システムを開示する。システムは、バスを含む。システムはまた、クロックソースを含む。システムはまた、マスタホストを含む。マスタホストは、制御システムとバスインターフェースとを含む。バスインターフェースは、バスに結合される。システムはまた、複数のマスタを含む。複数のマスタの各々は、バスインターフェースを含む。バスインターフェースは、クロックソースからクロック信号を受信するように構成される。複数のマスタの各々はまた、モジュロNカウンタを含む。モジュロNカウンタは、クロック信号に基づいて増分するように構成される。複数のマスタの各々はまた、トリガテーブルを含む。トリガテーブルは、マスタホストからの入力に基づいて、イネーブル値を記憶するように構成される。複数のマスタの各々はまた、モジュロNカウンタおよびトリガテーブルに結合された比較器を含む。比較器は、モジュロNカウンタの出力を、トリガテーブル内のイネーブル値と比較し、それに基づいて、送信イネーブル信号を出力するように構成される。複数のマスタの各々はまた、送信機を含む。送信機は、送信イネーブル信号が存在するとき、バス上でデータを送信するように構成される。
【図面の簡単な説明】
【００１１】
【図１】無線周波数フロントエンド制御インターフェース(RFFE)バスを示す、モバイル端末のための例示的なシステム図のブロック図である。
【図２】本開示の例示的な態様による、複数のマスタを有するRFFEシステムのブロック図である。
【図３Ａ】システムレベルの観点からの、本開示の例示的な態様による、図2のRFFEシステムを動作させるためのプロセスのフローチャートである。
【図３Ｂ】マスタレベルの観点からの、本開示の例示的な態様による、図2のRFFEシステムを動作させるためのプロセスのフローチャートである。
【図４】本開示の例示的な態様に従ってポピュレートされた、複数のトリガテーブルの図である。
【図５】4バスマスタRFFEシステムのための例示的な等優先度技法の図である。
【図６】3バスマスタRFFEシステムのための例示的な不等優先度技法の図である。
【図７】2バスマスタRFFEシステムのためのいくつかの例示的な部分優先度技法の図である。
【図８】データ送信中のカウンタ増分の中断を強調する、バスハンドオフ技法の信号-時間図である。
【図９】図2のマスタによって使用され得るような、例示的な比較器の簡略ブロック図である。
【発明を実施するための形態】
【００１２】
ここで図面を参照して、本開示のいくつかの例示的な態様について説明する。「例示的」という語は、本明細書では「一例、事例、または例示としての働きをすること」を意味するために使用される。「例示的」として本明細書で説明するいずれの態様も、必ずしも他の態様よりも好ましいか、または有利であると解釈されるべきではない。
【００１３】
発明を実施するための形態で開示する態様は、バス所有権ハンドオフ技法を含む。詳細には、バス所有権ハンドオフは、バスに関連付けられた各マスタ内にモジュロNカウンタを設けることによって扱われる。単一のクロックソースが、同期的に各モジュロNカウンタを増分するために使用される。各マスタはまた、モジュロNカウンタのNに対応する、N個のエントリをもつトリガテーブルを含む。マスタホストは、マスタのそれぞれの優先度に従って、各トリガテーブル内のエントリをポピュレートする。各マスタ内の比較器は、トリガテーブル内のエントリをモジュロNカウンタと比較するために使用される。ポピュレートされたエントリとモジュロNカウンタとの間に一致がある場合、マスタによる送信が有効にされる。一致がない場合、そのマスタのための送信は不可能にされる。ネゴシエーションなしでハンドオフを有効にすることによって、ハンドオフに関連付けられたレイテンシがほぼ2クロックサイクルに低減され、デバイスが様々なセルラープロトコルのための厳しいタイミング要件を満たすことが可能になる。
【００１４】
この点について、図1は、スマートフォン、モバイルコンピューティングデバイスタブレットなど、モバイル端末10のシステムレベルブロック図である。モバイル端末は、本開示の例示的な態様から利益を得ることが可能であるとして特に企図されるが、本開示はそのように限定されず、複数のマスタを有するバスを有し、最小限のレイテンシを伴う有効なバス所有権ハンドオフ技法を必要とする、いかなるシステムにおいても有用であり得ることを諒解されたい。例示のために、モバイル端末10内の無線周波数フロントエンド制御インターフェース(RFFE)バス12が、本開示による例示的なバス所有権移行技法を実装することが仮定される。
【００１５】
引き続き図1を参照すると、モバイル端末10は、ユニバーサルフラッシュストレージ(UFS)バス18を通して、大容量ストレージ要素16と通信する、アプリケーションプロセッサ14(ホストと呼ばれることがある)を含む。アプリケーションプロセッサ14は、ディスプレイシリアルインターフェース(DSI)バス22を通してディスプレイ20に、および、カメラシリアルインターフェース(CSI)バス26を通してカメラ24に、さらに接続され得る。マイクロフォン28、スピーカ30、およびオーディオコーデック32など、様々なオーディオ要素が、シリアル低電力インターチップマルチメディアバス(SLIMbus:serial low-power interchip multimedia bus)34を通して、アプリケーションプロセッサ14に結合され得る。加えて、オーディオ要素は、SOUNDWIRE(商標)バス36を通して互いに通信し得る。モデム38もまた、SLIMbus34に結合され得る。モデム38は、周辺構成要素相互接続(PCI)もしくはPCIエクスプレス(PCIe)バス40、および/またはシステム電力管理インターフェース(SPMI)バス42を通して、アプリケーションプロセッサ14にさらに接続され得る。
【００１６】
引き続き図1を参照すると、SPMIバス42はまた、ワイヤレスローカルエリアネットワーク(LAN)集積回路44、電力管理集積回路(PMIC)46、コンパニオン集積回路(ブリッジチップと呼ばれることがある)48、および無線周波数集積回路(RFIC)50にも結合され得る。別個のPCIバス52および54もまた、アプリケーションプロセッサ14をコンパニオン集積回路48およびワイヤレスLAN集積回路44に結合し得ることを諒解されたい。アプリケーションプロセッサ14は、センサバス58を通してセンサ56にさらに接続され得る。モデム38およびRFIC50は、バス60を使用して通信し得る。
【００１７】
引き続き図1を参照すると、および本開示にとって特に重要であるが、RFIC50は、RFFEバス12を通して、アンテナチューナ62、スイッチ64、および電力増幅器66など、1つまたは複数のRFFE要素に結合し得る。加えて、RFIC50は、バス70を通して、エンベロープトラッキング電源(ETPS)68に結合し得、ETPS68は、電力増幅器66と通信し得る。集合的に、RFIC50を含む1つまたは複数のRFFE要素は、RFFEシステム72であると見なされ得る。
【００１８】
本開示の例示的な態様では、複数のマスタがRFFEバス12に関連付けられ得る。従来のRFFEプロトコルの下で、複数のマスタは、競合ベースのプロトコルを通して、RFFEバス12の所有権を移行し、それによって、RFFEバス12を介した通信において、可変で許容できないレイテンシがもたらされる。
【００１９】
本開示の例示的な態様は、競合ベースのハンドオフを排除し、優先権ベースの技法を代わりに用いることによって、複数のマスタの間のバス所有権移行からのレイテンシを低減する。複数のマスタおよびプロセスに対する例示的な変更について、図2、図3A、および図3Bを参照しながら詳説する。
【００２０】
この点について、図2は、図1のRFFEシステム72のより詳細な図を示す。本開示の例示的な態様では、第1のマスタ74、第2のマスタ76、および第3のマスタ78が、RFFEバス12に関連付けられる。RFFEプロトコルに記載されているように、RFFEバス12は2線式バスであり、1線がクロック信号を搬送し、1線がデータ信号を搬送する。3つのマスタのみがRFFEシステム72において示されているが、より多いまたはより少ないマスタが存在し得ることを諒解されたい。クロックソース80は、第1のマスタ74、第2のマスタ76、および第3のマスタ78の各々に同期クロック信号82を与える。クロック信号82は、RFFEバス12上で同様にクロック信号の働きをし得る。複数のスレーブ84(0)〜84(M)は、同様にRFFEバス12に関連付けられる。クロックソース80は、デバイスに電力供給し得るVIO信号(図示せず)をさらに与え得る。同様に、クロックソース80は、デバイスを有効にするイネーブル(EN)信号を与え得る。
【００２１】
引き続き図2を参照すると、第1のマスタ74は、バスマスタホスト86を含む。さらに、第1のマスタ74は、モジュロNカウンタ88と、その中にN個のエントリ(イネーブル値と呼ばれることがある)をもつトリガテーブル90と、比較器92と、送信機94と(RFFE IPブロックと呼ばれることがある)を含む。送信機94は、バスインターフェース96を通して、RFFEバス12に結合される。バスマスタホスト86は、マスタ74、76、および78のためのバスアクセスのための相対的優先度を決定し、本開示の例示的な態様による部分優先度技法を可能にする。詳細には、バスマスタホスト86は、トリガテーブル90内のエントリをポピュレートする。比較器92は、トリガテーブル90内のエントリを、モジュロNカウンタ88からの出力と比較する。ポピュレートされたエントリとモジュロNカウンタ88との間に一致がある場合、比較器92は、送信機94による送信を有効にする。
【００２２】
引き続き図2を参照すると、モジュロNカウンタ88は、クロック信号82に基づいて増分する。詳細には、クロック信号82は、第1のマスタ74に着信し、ゲート98に渡され、ゲート98はANDゲートであり得る。ゲート98はまた、バスステータスモニタ100にも結合される。バスステータスモニタ100がRFFEバス12上のアクティビティを検出するとき、0がゲート98に与えられる。RFFEバス12上でアクティビティが検出されないとき、1がゲート98に与えられる。このようにして、ゲート98は、データがRFFEバス12上に存在しないときのみ、モジュロNカウンタ88を選択的に増分する。そうでない場合、モジュロNカウンタ88の増分は、RFFEバス12上にデータがないような時間になるまで中断される。
【００２３】
引き続き図2を参照すると、第2のマスタ76もまた、モジュロNカウンタ88Aと、その中にN個のエントリをもつトリガテーブル90Aと、比較器92Aと、送信機94Aと、バスインターフェース96Aと、ゲート98Aと、バスステータスモニタ100Aとを含む。これらの要素は、トリガテーブル90Aが、トリガテーブル90の直接的なポピュレーションではなく、リモートバスマスタホスト86によってポピュレートされるが、第1のマスタ74内の同等の名前が付いた要素と実質的に同様である。同様に、第3のマスタ78もまた、モジュロNカウンタ88Bと、その中にN個のエントリをもつトリガテーブル90Bと、比較器92Bと、送信機94Bと、バスインターフェース96Bと、ゲート98Bと、バスステータスモニタ100Bとを含む。これらの要素は、トリガテーブル90Bが、トリガテーブル90の直接的なポピュレーションではなく、リモートバスマスタホスト86によってポピュレートされるが、第1のマスタ74内の同等の名前が付いた要素と実質的に同様である。
【００２４】
図1および図2のハードウェア図に対して、本開示に関連付けられた例示的なプロセスを、図3Aおよび図3Bを参照しながら提供する。この点について、図3Aは、システムレベルの観点から方法を見るプロセス150を示す。したがって、プロセス150は、複数のマスタ(たとえば、マスタ74、76、および78)によって共有されるバス(たとえば、RFFEバス12)のための優先度技法を決定することによって開始する(ブロック152)。以下で図4〜図8を参照しながら、よりよく示されているように、優先度技法は、各マスタが等しくバス上の時間を共有する均等優先度技法、または、あるあらかじめ定義された比率(たとえば、4つのマスタに対する60/20/10/10、4つのマスタに対する30/30/30/10、3つのマスタに対する70/20/10、2つのマスタに対する60/40、2つのマスタに対する70/30など)に従って、マスタがバス上の時間を共有する、不均等優先度技法であり得る。さらに、バス上のマスタ制御のインターリービングのシーケンスおよび度合いが、優先度技法の一部として決定される。やはり、例示的な優先度技法は、以下で説明する、図4〜図8を参照しながら、よりよく示されている。例示的な態様では、バスマスタホスト86は、優先度技法を決定する。代替的に、図1のアプリケーションプロセッサ14などの制御システムは、優先度技法を決定し、優先度技法をバスマスタホスト86に与え得る。
【００２５】
引き続き図3Aを参照すると、次いで、バスマスタホスト86は、優先度技法に対応するエントリで、複数のマスタの各々におけるトリガテーブル(たとえば、トリガテーブル90、90A、および90B)をポピュレートする(ブロック154)。RFFEシステム72は、RFFEバス12上でマスタクロックを維持する(ブロック156)。各マスタは、それぞれのバスステータスモニタ(たとえば、バスステータスモニタ100、100A、および100B)の使用によって、データがRFFEバス12上に存在するか否かを決定する(ブロック158)。データがRFFEバス12上に存在する場合、プロセス150は、RFFEバス12上でマスタクロックを維持すること、および、データの有無について、RFFEバス12を監視することに戻る。
【００２６】
引き続き図3Aを参照すると、データがRFFEバス12上にない場合、各ANDゲート(たとえば、ゲート98、98A、および98B)は、クロック信号が各モジュロNカウンタ(たとえば、モジュロNカウンタ88、88A、および88B)に到達することを可能にし、クロック信号82は、各マスタにおけるモジュロNカウンタを増分する(ブロック160)。各マスタにおいて、それぞれの比較器は、モジュロNカウンタの出力を、それぞれのトリガテーブル内のエントリと比較し(ブロック162)、一致がある場合、送信イネーブル信号を出力する。したがって、RFFEシステム72は、何のマスタにおいて一致エントリを出力するかを有効に決定し(ブロック164)、一致するマスタにおいて送信が有効にされる(ブロック166)。
【００２７】
モジュロNカウンタを増分する前に、データがRFFEバス12上にあるか否かを評価することによって、プロセス150は、データが存在する場合、モジュロNカウンタを増分することを有効に中断するか、または不可能にすることを諒解されたい。したがって、複数のマスタがRFFEバス12を制御しようと試みるとき、RFFEバス12上の衝突がなくなる。
【００２８】
また、本開示の例示的な態様は、優先度技法に対する動的な変更を可能にすることにも留意されたい。したがって、たとえば、バスマスタホスト86は、必要に応じて、またはシステムリセットなどのイベント後、それぞれのトリガテーブルのポピュレーションについての修正された命令を送り得る。
【００２９】
図3Bは、図3Aのプロセス150と同様であるが、マスタレベルの観点からのプロセス200を示す。この点について、プロセス200は、マスタが、トリガテーブル90をポピュレートするための命令を受信するとき、開始する(ブロック202)。命令は、リモートバスマスタホスト86から、またはローカルバスマスタホスト86から来る場合がある。命令に基づいて、マスタは、トリガテーブル90をポピュレートする(ブロック204)。マスタは、マスタクロック信号82を受信し(ブロック206)、バスステータスモニタ100を使用して、データがRFFEバス12上に存在するか否かを決定する(ブロック208)。データがRFFEバス12上に存在する場合、プロセス200は、ブロック206で、マスタクロック信号82を受信することに戻る。しかしながら、データがRFFEバス12上に存在しない場合、バスステータスモニタ100は1を出力し、ANDゲート98は、クロック信号82をモジュロNカウンタ88に出力し、モジュロNカウンタ88が増分し得るようにする(ブロック210)。
【００３０】
引き続き図3Bを参照すると、マスタは、比較器92を使用して、モジュロNカウンタ88の出力を、トリガテーブル90内のエントリと比較し(ブロック212)、モジュロNカウンタ88の出力がトリガテーブル90内のエントリと一致するか否かを決定する(ブロック214)。ブロック214に対する答えがnoである場合、プロセス200は、ブロック206(すなわち、マスタクロック信号82を受信すること)に戻る。しかしながら、ブロック214に対する答えがyesであり、モジュロNカウンタ88の出力が、トリガテーブル90内のエントリと一致する場合、比較器92は、RFFEバス12上でマスタによる送信を有効にする(ブロック216)。送信が終了すると(ブロック218)、プロセス200は、マスタがマスタクロック信号82を受信すること(ブロック206)に戻る。
【００３１】
やはり、図示されていないが、マスタは、システムリセットまたは他のイベント後など、トリガテーブル90内のエントリを更新するための命令を受信し得ることに留意されたい。そのような命令は、元のテーブルポピュレーション命令と同じフォーマットにおいて、バスマスタホスト86から来る場合がある。
【００３２】
上記で言及したように、比較器92およびモジュロNカウンタ88を伴うトリガテーブル90の使用は、効率的な、低レイテンシの、マスタ間のハンドオフを可能にし、その理由は、マスタ間の競合がなく、マスタがハンドオフを実行するたびに、メッセージが交換される必要がないからである。そのような低減されたレイテンシによって、本開示のシステムが、様々なワイヤレスプロトコルの一層厳しいタイミング要件を満たすことが可能になり得る。
【００３３】
この点について、図4は、2マスタシステム72'に関連付けられ、75/25の優先度比率を有する、トリガテーブル90および90Aを示す。2マスタシステム72'は、Nが4であり、したがって、トリガテーブル90および90Aの各々におけるエントリ250の数も4であると仮定する。Nが4であるので、モジュロNカウンタ88は、00、01、10、または11を出力することができる。命令がバスマスタホスト86から来るとき、エントリは、優先度技法に従ってポピュレートされる(例示のためにXとして示される)。したがって、75/25の優先度比率を保つために、第1のトリガテーブル90は、00、10、および11のためにポピュレートされたエントリ(すなわち、エントリの75%)を有し、第2のトリガテーブル90Aは、01においてポピュレートされた1つのエントリのみを有する。どのエントリがどのマスタに割り当てられるかもまた、所望の結果を達成するために操作され得るパラメータであることに留意されたい。すなわち、第1のマスタのための00をポピュレートする選択肢は、第1のマスタがRFFEバス12を使用するための第1の機会を有することになることを意味する。
【００３４】
図5は、各マスタに、優先度技法によってRFFEバス12への等しいアクセスが割り振られる、4バスマスタシステム72''を示す。したがって、Nは、やはり簡単のために4であり、モジュロNカウンタ88が増分するとき、各マスタ74、76、78、および252は、次にRFFEバス12へのアクセスを有する。マスタ74、76、78、および252がRFFEバス12へのアクセスを与えられる順序は、1つのマスタにより早いアクセスを与えるように変更され得るが、サイクルにわたって、各マスタは、RFFEバス12を使用するための等しい機会を有する。
【００３５】
図6は、Nが16であり、優先度比率が50/12.5/37.5である、3バスマスタシステム72'''を示す。すなわち、第1のマスタ74は、0000、0011、0100、0110、1001、1011、1110、および1111(点によって示される)を割り振られ得、第2のマスタ76は、0001および1010(＼で示される)を割り振られ得、第3のマスタ78は、0010、0101、0111、1000、1100、および1101(／で示される)を割り振られ得る。モジュロNカウンタ88、88A、および88Bが増分するとき、RFFEバス12の制御は、競合ベースのメッセージングなどの必要なしに、異なるマスタ74、76、および78の間で渡される。マスタがRFFEバス12を使用しなければならない機会は、順次(たとえば、1100および1101または1110または1111)、あるいは非順次(たとえば、0001および1010)であり得ることに留意されたい。
【００３６】
図7は、優先度技法がいくつかの異なるパラメータに沿って変動される、2バスマスタシステム72''''を示す。最上行は、マスタクロック信号82であり、第2の行は、モジュロNカウンタの有効カウントを示す(Nが16であり、2進ではなく10進記数法で表現されると仮定する)。第3の行254は、各マスタが交互のアクセスをもつ等優先度を有すると仮定する。第4の行256は、各マスタが制御を有するたびに、より長い期間がそのマスタに割り当てられる等優先度を、各マスタが有すると仮定する(すなわち、モジュロNカウンタの2カウント)。第4の行256の優先度技法は、マスタが、RFFEバス12を使用するために比較的小さい待機期間を有することを可能にすると同時に、また、RFFEバス12の使用を終えるために、マスタに2カウンタ増分を可能にする。第5の行258は、各マスタが等優先度を有するが、順次カウンタ増分のためにRFFEバス12を制御すると仮定する。この優先度技法は、RFFEバス12のハンドオフのためにより長い待機時間を与える。第6の行260は、81.25/18.75の比率を有し、各マスタが順次カウンタ増分を有する。第7の行262は、順次カウンタ増分とともに12.5/87.5の比率を有する。
【００３７】
諒解されるべきであるように、Nの値、マスタの数、RFFEバス12への順次または非順次アクセスを有するための能力、および異なる比率を有するための能力は、設計者の特定のニーズを満たすために、優先度技法の操作における高い柔軟性を与える。上述のように、バスマスタホスト86は、必要に応じて、または、状況が変化し、異なるマスタがRFFEバス12へのより多くのアクセスを必要とする場合に望まれるように、優先度技法をさらに動的に変更し得る。
【００３８】
図8は、アクティブな送信の開始において(たとえば、270で、第2のマスタ76がトランザクションを開始するとき)、どのようにカウンタ増分が(概して274において示される)トランザクションの終了まで(概して272において示される)保留にされるかを示す。進行中のトランザクションは、代替マスタがバス所有権を有することができるようになる前に、完了することを可能にされる。カウンタ増分は、(概して276において示される)アイドル期間が検出されると、再開され、次いで、次のマスタが、(概して278において示される)トランザクションを開始することを可能にされる。次のトランザクション中に、カウンタ増分が再度(概して280において示される)保留にされる。カウンタ増分がアクティブなトランザクション中に中断されているために、バス所有権機会は、優先度シーケンスにおいて待機している次のバスマスタに自動的に与えられる。
【００３９】
図9は、モジュロ4カウンタ88'とともに例示的な比較器92'を示す。ANDゲートおよびORゲートの特定の組合せが示されるが、他のハードウェア構成もまた使用され得ることを諒解されたい。しかしながら、ゲートの数を比較的最小に保つことによって、バスハンドオフの間の遅延は、ほぼ2クロックサイクルであり、比較的低レイテンシが保証される。
【００４０】
本明細書で開示する態様に関して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムが、電子ハードウェア、メモリの中もしくは別のコンピュータ可読媒体の中に記憶されるとともにプロセッサもしくは他の処理デバイスによって実行される命令、または両方の組合せとして実装され得ることを、当業者はさらに諒解されよう。本明細書で説明するマスタデバイスおよびスレーブデバイスは、例として、任意の回路、ハードウェア構成要素、集積回路(IC)、またはICチップにおいて使用されてもよい。本明細書で開示するメモリは、任意のタイプおよびサイズのメモリであってよく、任意のタイプの所望の情報を記憶するように構成され得る。この互換性を明確に示すために、上記では、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップについて、それらの機能に関して概略的に説明した。そのような機能がどのように実装されるのかは、特定の適用例、設計選択、および/またはシステム全体に課される設計制約によって決まる。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装してもよいが、そのような実装決定が本開示の範囲からの逸脱を引き起こすものと解釈されるべきではない。
【００４１】
本明細書で開示する態様に関して説明した様々な例示的な論理ブロック、モジュール、および回路は、プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、または本明細書で説明した機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行され得る。プロセッサは、マイクロプロセッサであってもよいが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であってもよい。プロセッサはまた、コンピューティングデバイスの組合せ(たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携した1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成)としても実装され得る。
【００４２】
本明細書で開示する態様は、ハードウェアにおいて、かつハードウェアに記憶される命令において具現化されてよく、たとえば、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、電気的プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態のコンピュータ可読媒体の中に存在してよい。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取ること、および記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体は、プロセッサと一体であってよい。プロセッサおよび記憶媒体は、ASICの中に存在してよい。ASICはリモート局の中に存在してよい。代替として、プロセッサおよび記憶媒体は、個別構成要素としてリモート局、基地局、またはサーバの中に存在してよい。
【００４３】
本明細書の例示的な態様のいずれかにおいて説明した動作ステップが、例および説明を提供するために記載されていることにも留意されたい。説明した動作は、図示したシーケンス以外の数多くの異なるシーケンスで実行されてよい。さらに、単一の動作ステップにおいて説明した動作は、実際にはいくつかの異なるステップにおいて実行されてよい。さらに、例示的な態様で説明した1つまたは複数の動作ステップは組み合わせられてよい。当業者にとって容易に明らかであるように、フローチャート図に示す動作ステップが数多くの異なる修正を受けてもよいことを理解されたい。情報および信号が様々な異なる技術および技法のいずれかを使用して表される場合があることも当業者は理解されよう。たとえば、上記の説明全体にわたって参照され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁気粒子、光場もしくは光学粒子、またはそれらの任意の組合せによって表現されてよい。
【００４４】
本開示の前述の説明は、いかなる当業者も本開示を作製または使用することが可能になるように提供される。本開示の様々な修正が、当業者に容易に明らかになり、本明細書で規定する一般原理は、本開示の趣旨または範囲から逸脱することなく他の変形形態に適用され得る。したがって、本開示は、本明細書で説明した例および設計に限定されるものでなく、本明細書で開示する原理および新規の特徴と一致する最も広い範囲が与えられるべきである。
【符号の説明】
【００４５】
10  モバイル端末
12  無線周波数フロントエンド制御インターフェース(RFFE)バス、RFFEバス
14  アプリケーションプロセッサ(ホスト)
16  大容量ストレージ要素
18  ユニバーサルフラッシュストレージ(UFS)バス
20  ディスプレイ
22  ディスプレイシリアルインターフェース(DSI)バス
24  カメラ
26  カメラシリアルインターフェース(CSI)バス
28  マイクロフォン
30  スピーカ
32  オーディオコーデック
34  シリアル低電力インターチップマルチメディアバス、SLIMbus
36  SOUNDWIRE(商標)バス
38  モデム
40  周辺構成要素相互接続(PCI)もしくはPCIエクスプレス(PCIe)バス
42  システム電力管理インターフェース(SPMI)バス、SPMIバス
44  ワイヤレスローカルエリアネットワーク(LAN)集積回路、ワイヤレスLAN集積回路
46  電力管理集積回路(PMIC)
48  コンパニオン集積回路、ブリッジチップ
50  無線周波数集積回路、RFIC
52、54  PCIバス
56  センサ
58  センサバス
60  バス
62  アンテナチューナ
64  スイッチ
66  電力増幅器
68  エンベロープトラッキング電源、ETPS
70  バス
72  RFFEシステム
72'  2マスタシステム
72''  4バスマスタシステム
72'''  3バスマスタシステム
72''''  2バスマスタシステム
74  第1のマスタ、マスタ
76  第2のマスタ、マスタ
78  第3のマスタ、マスタ
80  クロックソース
82  同期クロック信号、クロック信号、マスタクロック信号
84(0)〜84(M)  スレーブ
86  バスマスタホスト、リモートバスマスタホスト、ローカルバスマスタホスト
88、88A、88B  モジュロNカウンタ
88'  モジュロ4カウンタ
90  トリガテーブル、第1のトリガテーブル
90A  トリガテーブル、第2のトリガテーブル
90B  トリガテーブル
92、92'、92A、92B  比較器
94、94A、94B  送信機
96、96A、96B  バスインターフェース
98  ゲート、ANDゲート
98A、98B  ゲート
100、100A、100B  バスステータスモニタ
250  エントリ
252  マスタ
254  第3の行
256  第4の行
258  第5の行
260  第6の行
262  第7の行
【図１】
2019507415.tif 000003
【図２】
2019507415.tif 000004
【図３Ａ】
2019507415.tif 000005
【図３Ｂ】
2019507415.tif 000006
【図４】
2019507415.tif 000007
【図５】
2019507415.tif 000008
【図６】
2019507415.tif 000009
【図７】
2019507415.tif 000010
【図８】
2019507415.tif 000011
【図９】
2019507415.tif 000012
【国際調査報告】
2019507415.tif 000013
2019507415.tif 000014