(57)【特許請求の範囲】
【請求項１】
無線送信機ハードウェア部とプロセッサとを備えた半導体装置であって、
前記半導体装置は、前記無線送信機ハードウェア部を介し、第一通信プロトコルに従って、前記プロセッサで実行中の第一アプリケーションから、および、第二通信プロトコルを使用して、前記プロセッサまたは別のプロセッサで実行中の第二アプリケーションから情報を送信するように構成されており、
前記第一アプリケーションは、自分がデータパケットを送信する必要があると第一送信要求を生成し、前記第二アプリケーションは、自分がデータパケットを送信する必要があると第二送信要求を生成し、
前記半導体装置は、前記第一送信要求または前記第二送信要求を受信すると、前記無線送信機ハードウェア部用の送信タイムスロットを前記第一アプリケーションまたは前記第二アプリケーションに割り当てる制御回路をさらに備えており、
前記半導体装置は、前記第二通信プロトコルが定義されるのを可能にするアプリケーションプログラミングインターフェースをさらに備えている
ことを特徴とする、半導体装置。
【請求項２】
前記第一送信要求は第一プロトコル優先度指標を含み、前記第二送信要求は第二プロトコル優先度指標を含むものとし、
前記制御回路は、競合する第一送信要求および第二送信要求を受信した場合、前記第一プロトコル優先度指標および前記第二プロトコル優先度指標に基づいて、前記送信タイムスロットを割り当てるように構成されている
ことを特徴とする、請求項１に記載の半導体装置。
【請求項３】
無線受信機ハードウェア部とプロセッサとを備えた半導体装置であって、
前記半導体装置は、前記無線受信機ハードウェア部を介し、第一通信プロトコルに従って、前記プロセッサで実行中の第一アプリケーションに、および、第二通信プロトコルを使用して、前記プロセッサか別のプロセッサで実行中の第二アプリケーションに情報を受信するように構成されており、
前記第一アプリケーションは、自分がデータパケットを受信する必要があると第一受信要求を生成するように構成され、前記第二アプリケーションは、自分がデータパケットを受信する必要があると第二受信要求を生成するように構成されていて、
前記半導体装置は、前記第一受信要求または前記第二受信要求を受信すると、前記無線受信機ハードウェア部用の受信タイムスロットを前記第一アプリケーションまたは前記第二アプリケーションに割り当てる制御回路をさらに備えており、
前記制御回路は、競合する第一受信要求および第二受信要求を受信した場合は、前記第一通信プロトコルおよび前記第二通信プロトコルの優先度指標に基づいて、前記受信タイムスロットを割り当てるように構成されていて、
前記半導体装置は、前記第二通信プロトコルが定義されるのを可能にするアプリケーションプログラミングインターフェースをさらに備えている
ことを特徴とする半導体装置。
【請求項４】
前記第一受信要求は第一プロトコル優先度指標を含み、前記第二受信要求は第二プロトコル優先度指標を含むものとし、
前記制御回路は、競合する第一受信要求および第二受信要求を受信した場合、前記第一プロトコル優先度指標および前記第二プロトコル優先度指標に基づいて、前記受信タイムスロットを割り当てるように構成されている
ことを特徴とする、請求項３に記載の半導体装置。
【請求項５】
前記制御回路は、下位レベルの優先度指標で要求を発信したアプリケーションに、当該要求が拒否されたという信号を発信するように構成されている
ことを特徴とする、請求項２または請求項４に記載の半導体装置。
【請求項６】
前記第一アプリケーションは、少なくともいくつかの、前記第二通信プロトコルよりも高い優先度を利用可能である
ことを特徴とする、請求項２、請求項４、または請求項５に記載の半導体装置。
【請求項７】
前記第一通信プロトコルは、事前コンパイルされたプロトコルスタックによって実装される
ことを特徴とする、請求項１乃至請求項６のいずれかに記載の半導体装置。
【請求項８】
ファームウェア用メモリアドレスに格納されたファームウェアモジュールを有するメモリを備えていて、前記ファームウェアモジュールは前記第一アプリケーションの一部を形成する命令を含み、
前記プロセッサは、該当するスーパーバイザコール番号を各々有するスーパーバイザコール命令を受信して、（ｉ）前記ファームウェアモジュールのスーパーバイザコール処理ルーチンを呼び出すとともに（ｉｉ）前記スーパーバイザコール番号を前記スーパーバイザコール処理ルーチンに利用可能にすることによって、スーパーバイザコール命令に応答するように構成されている
ことを特徴とする、請求項１乃至請求項７のいずれかに記載の半導体装置。
【請求項９】
前記第一アプリケーションは、所定のアプリケーション用メモリアドレスに格納されるように、前記メモリにロードされる
ことを特徴とする、請求項８に記載の半導体装置。
【請求項１０】
前記第一アプリケーションは、起動される機能に対応し所定の該当するスーパーバイザーコール番号を有するスーパーバイザーコール命令を発信することによって、前記ファームウェアモジュールから無線通信機能を呼び出すように構成されている
ことを特徴とする、請求項８または請求項９に記載の半導体装置。
【請求項１１】
前記第一送信（または受信）要求および／または前記第二送信（または受信）要求は、さらにセッション識別欄を含む
ことを特徴とする、請求項１乃至請求項１０のいずれかに記載の半導体装置。
【請求項１２】
前記第一アプリケーションおよび／または前記第二アプリケーションは、前記制御回路からタイミング情報を受信する
ことを特徴とする、請求項１乃至請求項１１のいずれかに記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＣ無線通信装置およびその装置を構成する方法に関する。
【背景技術】
【０００２】
ＩＣ無線通信装置は、通常、プロセッサとメモリと無線通信回路とをシリコンチップ上に集積している。アンテナは、シリコン上に組み込んでもよいし、または、外部接続してもよい。該装置は、通常、電源に接続するためのピンと、クロック源と、センサ、タイマー、デジタルアナログ変換器、出力装置などの外部周辺機器とを有する。プロセッサは、この装置が無線メッセージの送受信を行なうのを管理するために、無線通信回路と相互にやり取りする。
【０００３】
このような無線通信装置あるいはチップは、無線マウスとキーボード、ゲーム機器用コントローラ、自転車の速度計、リモートコントロール、ガレージドア開閉器、ワイヤレススピーカーなどといった広範囲の無線製品で使用される。
【０００４】
このような装置のプロセッサは、ブルートゥースやブルートゥース低エネルギやジグビーといった所定の無線プロトコルに従う無線通信回路を制御するために、不揮発性メモリから直接にソフトウェアを実行する場合もある。
【０００５】
そのような無線通信チップを組み込んだワイヤレスマウス等の完成品を製造するには、通常、無線チップメーカーが製品メーカーに無線チップを供給し、製品メーカーがそのチップを製品のそれ以外の部分と統合する。このチップメーカーは、該製品メーカーが該無線装置用の特別仕様の応用ソフトウェアを開発し、導入し、デバッグすることができる、クロスコンパイラとローダとデバッガと説明書等のツールを含んだ開発キットも製品メーカーに提供する場合もある。特別仕様の応用ソフトウェアは、例えば、所望の通信プロトコルに従って、ワイヤレスマウスの動作センサからの入力を受信し、適切な無線メッセージを送信するためのルーチンを備えることができる。 
【０００６】
開発キットは、追加として、チップメーカーによって書かれた、ソフトウェアライブラリやオペレーティングシステムのソースコードを備えていてもよい。そうすれば、製品メーカーは、入手したソースコードを自らの特別仕様の応用ソフトウェアとともにコンパイル・リンクし、各チップのメモリ内の所定アドレスにロードする単一バイナリイメージファイルを作成することができる。
【０００７】
該ライブラリやオペレーティングシステムは、特定の無線プロトコルを実装する複数の命令を含む場合がある。メモリ管理やプロセッサスケジューリングやプロセス間通信などの他の機能も備えていてもよい。アプリケーション開発者は、ゼロからそれらをコーディングする必要がなく、自らのアプリケーションコードからこれらの提供機能を呼び出すことができる。このようにすれば、応用ソフトウェアの開発を簡単かつ迅速に行なうことができる。また、該無線チップの異なるモデル間での移植性を楽にすることができる
【０００８】
場合によっては、ある装置が、異なる無線プロトコルを用いて動作することができる必要がある。例えば、単一のデバイスが、ＷＩＦＩ（ＩＥＥＥ８０２.１１）およびブルートゥースの両方、または、ブルートゥースおよび専用無線プロトコルの両方を使用する通信をサポートする必要が生じる場合がある。
【０００９】
米国特許出願公開第２００８／０２８７１５８号公報は、ハードウェア調停装置を備えた共用アンテナを使用することで、独立した送受信ハードウェアとの複数の通信プロトコル間で一つの通信媒体を共有する方法を提供している。同様に、欧州特開１７２９４６３Ａ１は、複数の通信プロトコル間で一台のアンテナを共有する方法を提供している。
【００１０】
このように、各プロトコルごとに専用の完全に別々な無線インフラを持つことは、当該技術分野で知られてはいるが、リソースの観点で高価であり、また、ニつの無線通信タイプの間で干渉が起きる可能性もある。
【００１１】
したがって、アンテナおよび他の送受信リソースを共有するほうが、より実用的である。通常、これは、リアルタイム要件と各々のフレーム間タイミングに関する深い知識を使用して、ニつのプロトコルの動作を調整する、ライブラリおよびソースコードを記述することによって行われる。このような統合されたプロトコルスタックは、ニつのプロトコルが標準的なものである場合には実行可能な選択肢であると言える。このようなスタックは使用法がより複雑であり、多くの場合、機能を追加すると再度適格性確認が必要となるが、チップメーカーが提供し適切に動作確認を済ませることもできる。しかし、専用プロトコルを標準的なプロトコルと混合させたい場合、コードを実装する開発者は、両方のプロトコルの完全な知識を持っている必要があり、複雑さが増すことに起因し、一方または両方のプロトコルに問題を引き起こす可能性がある間違いを犯す恐れがある。
【発明の概要】
【００１２】
本発明は、この問題に対処することを目的とし、第一態様から見ると、無線送信機ハードウェア部とプロセッサとを備えた半導体装置を提供するものであって、前記半導体装置は、前記無線送信機ハードウェア部を介し、第一通信プロトコルに従って、前記プロセッサで実行中の第一アプリケーションから、または、第二通信プロトコルを使用して、前記プロセッサまたは別のプロセッサで実行中の第二アプリケーションから情報を送信するように構成されており、前記第一アプリケーションは、自分がデータパケットを送信する必要があると第一送信要求を生成し、前記第二アプリケーションは、自分がデータパケットを送信する必要があると第二送信要求を生成し、前記半導体装置は、前記第一送信要求または前記第二送信要求を受信すると、前記無線送信機ハードウェア部用の送信タイムスロットを前記第一アプリケーションまたは前記第二アプリケーションに割り当てる制御回路をさらに備えており、前記半導体装置は、前記第二プロトコルが定義されるのを可能にするアプリケーションプログラミングインターフェースをさらに備えている。
【００１３】
第二態様から見ると、本発明は、無線受信機ハードウェア部とプロセッサとを備えた半導体装置を提供するものであって、前記半導体装置は、前記無線受信機ハードウェア部を介し、第一通信プロトコルに従って、前記プロセッサで実行中の第一アプリケーションに、または、第二通信プロトコルを使用して、前記プロセッサか別のプロセッサで実行中の第二アプリケーションに情報を受信するように構成されており、前記第一アプリケーションは、自分がデータパケットを受信する必要があると第一受信要求を生成するように構成され、前記第二アプリケーションは、自分がデータパケットを受信する必要があると第二受信要求を生成するように構成されていて、前記半導体装置は、前記第一受信要求または前記第二受信要求を受信すると、前記無線受信機ハードウェア部用の受信タイムスロットを前記第一アプリケーションまたは前記第二アプリケーションに割り当てる制御回路をさらに備えており、前記制御回路は、競合する第一受信要求および第二受信要求を受信した場合は、前記第一通信プロトコルおよび前記第二通信プロトコルの優先度指標に基づいて、前記受信タイムスロットを割り当てるように構成されている。
【００１４】
このように、本発明によれば、二つの無線プロトコルは、それらの動作が完全に調整を経たものである場合に必要とされるような、相手についての詳細な知識を各々が持たなくても、無線ハードウェア資源を共有できることが当業者であれば理解できるであろう。これによって、複数のプロトコルを別々のスタックに互いに独立して実装することができ、したがって、チップ供給業者が標準プロトコルを事前検証済みの状態でスタック内に供給することができ、前記半導体装置で実装される他のプロトコルとコンパイル時またはリンク時に依存関係が生じることもない。開発者は、供給業者から提供されたプロトコルの挙動を考慮することなく専用プロトコルなどの他のプロトコルを記述することができるので、実装を簡素化することができ、専用プロトコルにエラーが発生しても供給業者から提供されたプロトコルに有害な影響を与えることはない。優位点として、このようにすれば、ある装置に製造時点で特定の機能を持たせるために資源の複製を行なう必要もなくなる。また、事前検証済みのプロトコルの性能や操作を妨げることなく、あるプロトコルが装置の製造後に予備資源を利用できるようにするという優位点もある。これらの予備資源は、製造時には知られていない用途に対し、安全で制御されたやり方で使用できるようになる。
【００１５】
一連の実施形態において、前記第一通信プロトコルは、事前コンパイルされたプロトコルスタックによって実装される。
【００１６】
一連の実施形態において、前記半導体装置は、ファームウェア用メモリアドレスに格納されたファームウェアモジュールを有するメモリを備えていて、前記ファームウェアモジュールは前記第一アプリケーションの一部を形成する命令を含み、前記プロセッサは、該当するスーパーバイザコール番号を各々有する複数のスーパーバイザコール命令を受信して、（ｉ）前記ファームウェアモジュールのスーパーバイザコール処理ルーチンを呼び出すとともに（ｉｉ）前記スーパーバイザコール番号を前記スーパーバイザコール処理ルーチンに利用可能にすることによって、スーパーバイザコール命令に応答するように構成されている。
【００１７】
前記第一アプリケーションは、所定のアプリケーション用メモリアドレスに格納されるように、前記半導体装置の前記メモリにロードされてもよい。前記第一アプリケーションは、起動される機能に対応する所定のスーパーバイザコール番号を有するスーパーバイザコール命令を発信することによって、前記ファームウェアモジュールから無線通信機能を呼び出すように構成されていてもよい。
【００１８】
一連の実施形態において、前記第一送信（または受信）要求および／または前記第二送信（または受信）要求は、さらにセッション識別欄を含む。セッション識別欄があれば、どちらのアプリケーションも、該当するプロトコルの下で同時に複数のセッションを維持することができる。セッション識別欄は、例えば、前記半導体装置が、ブルートゥースなどのプロトコルを使用して電話などのモバイル装置と通信するとともに、同じプロトコル、この例ではブルートゥース、を用いて他の装置と通信することができるようにするセッションを提供するために使用される場合もある。
【００１９】
本発明の第一態様の前記半導体装置は、前記制御回路が、前記送信要求を受信した順番に従って前記タイムスロットを割り当てるように構成することができる。しかし、一連の実施形態において、前記第一送信要求は第一プロトコル優先度指標を含み、前記第二送信要求は第二プロトコル優先度指標を含むものとし、
前記制御回路は、競合する第一送信要求および第二送信要求を受信した場合、前記第一プロトコル優先度指標および前記第二プロトコル優先度指標に基づいて、前記送信タイムスロットを割り当てるように構成されている。
【００２０】
同様に、本発明の第二態様の前記半導体装置は、前記制御回路が前記受信要求を受信した順番に従って前記タイムスロットを割り当てるように構成することができる。しかし、一連の実施形態において、前記第一受信要求は第一プロトコル優先度指標を含み、前記第二受信要求は第二プロトコル優先度指標を含むものとし、前記制御回路は、競合する第一受信要求および第二受信要求を受信した場合、前記第一プロトコル優先度指標および前記第二プロトコル優先度指標に基づいて前記受信タイムスロットを割り当てるように構成されている。
【００２１】
このように、本発明のこれらの実施形態によれば、前記制御回路が競合する第一送信（または受信）要求および第二送信（または受信）要求を受信した場合、それぞれの優先度指標に応じてタイムスロットを割り当てる。優先度指標があれば、リアルタイム処理を要するプロトコルが、重要な操作やシーケンスの完了に対する制御権をもっと持つことができる。一連の実施形態において、前記制御回路は、下位レベルの優先度指標で要求を発信したアプリケーションに、当該要求が拒否されたという信号を発信するように構成されている。したがって、前記アプリケーションは、（所定のアルゴリズムに従って）別の要求を発信することができる。これは、同じタイムスロットを求める要求であるが前回より高い優先度を持ったものか、もっと後のタイムスロットを求める要求である可能性が高い。
【００２２】
前記第一アプリケーションまたは前記第二アプリケーションは、送信要求または受信要求を発信するのと同様に、無線モジュールが送信または受信を行なわないようにするために該無線モジュールをアクセスする要求を発信することもできる場合がある。これは、前記半導体装置の最大電力レベルを制限する必要がある場合などに役立つ。
【００２３】
本明細書で、第一無線プロトコルおよび第二無線プロトコルに関して参照するが、限定することを意図するものではなく、追加の無線プロトコルをサポートすることもできる。これは、供給業者から提供される（例えば、事前コンパイルされた）追加プロトコルスタックまたはユーザ定義の追加プロトコルスタックの形をとる可能性が高い。
【００２４】
前記第一アプリケーションおよび前記第二アプリケーションは、同じ一連の優先度を利用可能であるとしてよい。しかし、別の一連の実施形態では、前記第一アプリケーションは、少なくともいくつかの、前記第二プロトコルよりも高い優先度を利用可能である。こうすれば、供給業者から提供されたプロトコルがユーザ定義のプロトコルから過度に中断されないことを保証することができる。
【００２５】
一連の実施形態では、前記第一アプリケーションおよび／または前記第二アプリケーションは、前記制御回路からタイミング情報を受信する。
【００２６】
さらに広い態様から見ると、本発明は、無線送信機ハードウェア部とプロセッサとを備えた半導体装置を提供するものであって、前記半導体装置は、前記送信機ハードウェア部を介し、第一通信プロトコルに従って、前記プロセッサで実行中の第一アプリケーションから、または、第二通信プロトコルを使用して、前記プロセッサか別のプロセッサで実行中の第二アプリケーションから情報を送信するように構成されていて、前記第一アプリケーションは、自分がデータパケットを送信する必要があると第一送信要求を生成するように構成され、前記第二アプリケーションは、自分がデータパケットを送信する必要があると第二送信要求を生成するように構成されていて、前記半導体装置は、前記第一送信要求または前記第二送信要求を受信すると、前記無線送信機ハードウェア部用の送信タイムスロットを前記第一アプリケーションまたは前記第二アプリケーションに割り当てる制御回路をさらに備えている。
【００２７】
一連の好ましい実施形態では、前記半導体装置は、前記第二通信プロトコルを受信するように構成されたアプリケーションプログラミングインターフェースを備えている。
【図面の簡単な説明】
【００２８】
ほんの一例として、添付図面を参照しながら、本発明の特定の実施形態を説明することにする。
【図１】本発明に係る装置の簡略化したシステムブロック図である。
【図２】図１を参照して説明した装置の簡略化したモジュールブロック図である。
【図３Ａ】および
【図３Ｂ】本実施形態の動作を示すタイミング図である。
【図４Ａ】および
【図４Ｂ】本実施形態の変形例である動作を示すタイミング図である。
【図５Ａ】および
【図５Ｂ】本実施形態の別の動作を示すタイミング図である。
【００２９】
まず、図１を参照すると、無線対応マイクロプロセッサ装置２の物理的な部分の概略図が示されている。これは、一般に「システムオンチップ」構成または「ＳｏＣ」構成として知られた集積半導体部品として提供されることが多い。装置２は、固定であれ移動体であれ、多種多様の応用例のいずれにも組み込むことができ、送信、受信、または両方を行なうように構成することができる。
【００３０】
装置２の中心部には、メモリ６と情報をやりとりするプロセッサ４が存在する。プロセッサ４は、共通アンテナ１２を共有し該装置が無線信号を送受信できるようにしている、無線受信機８および無線送信機１０とも情報をやりとりする。ＳｏＣ装置の一般的なデザインおよび動作は当業者に周知であるので、ここではこれ以上の詳細は不要である。
【００３１】
図２は、装置２の主な機能モジュールを示している。図の下部にはハードウェア層１４が存在する。これには、とりわけ、アンテナ１２を備える無線部１６と、送信機１０および受信機８を構成し、当技術分野でそれ自体知られているアンプ、アナログフィルタ等と、が含まれている。この例では、無線部１６は、送信（ＴＸ）および受信（ＲＸ）の両方が可能である。また、ハードウェアタイマ４２も備えている。
【００３２】
ハードウェア部１４の上方には、ここではソフトデバイス１８と呼ぶソフトウェア実装部がある。これは、実際にはファームウェアであって、装置２のメモリ６の特定の保護された部分、すなわち、ファームウェア用メモリアドレス、に常駐している。これは、ブルートゥース低エネルギーのような第一無線プロトコルを実装する第一アプリケーションを構成する複数の命令を有した第一プロトコルスタック２０を含んでいる。
【００３３】
第一プロトコルスタック２０は、リクエスト２４と戻り信号２６によって制御回路２２と交信することができる。制御回路２２は、無線ハードウェア部１６の動作を制御しタイマー４２と交信するハードウェアアクセス層２８と相互にやり取りする。
【００３４】
第一プロトコルスタック２０を含むファームウェアモジュールの機能は、プロセッサ４から機能提供用コールを用いてアクセスすることができる。こうして、該プロセッサは、各々該当するスーパーバイザコール番号を有するスーパーバイザコール命令を受信すると、（ｉ）ファームウェアモジュールにあるスーパーバイザコール処理ルーチンを呼び出すととともに（ｉｉ）スーパーバイザコール番号をスーパーバイザコール処理ルーチンが利用できるようにすることによって、スーパーバイザコール命令に応答する。
【００３５】
上述のソフトデバイス１８に加えて、該装置は、アプリケーション用メモリ３０の非保護領域をさらに含む。この非保護領域には、装置２を購入して製品に組み込む顧客が開発した専用無線プロトコルなどの第二無線プロトコルを実装する第二アプリケーションを構成している命令を有した第二プロトコルスタック３２が含まれる。第二プロトコルスタック３２は、対応する要求３４と戻り信号３６によって制御回路２２と情報をやりとりすることもできる。プロセッサ４は、アプリケーション用メモリ領域３０を直接にアクセスすることができるので、スーパーバイザコール命令を用いる必要はない。
【００３６】
以下の説明でさらに明らかになるように、該装置の構成は、第一プロトコルスタック２０と第二プロトコルスタック３２が互いに完全に独立しているが無線リソースを容易に共有することができるものである。特に、該装置の製造メーカーではなくサードパーティ開発者によって記述されてもよい第二プロトコルスタック３２が無くてもこの共有を達成することができることが分かるであろうが、この場合、「内蔵の」第一プロトコルスタック２０の詳細な動作とタイミングについて知るか、考慮に入れる必要がある。
【００３７】
図３Ａと図３Ｂは、図１および図２を参照して説明した実施形態の動作を示している。図には、これから説明するように、システムの異なる各部分を表す五本の垂直線が含まれていることが分かる。第一垂直線は、開発者による専用無線プロトコルを実装する第二プロトコルスタック３２を含んだソフトウェアアプリケーション３０を表している。第二垂直線３８は、ソフトデバイス１８からアプリケーション３０に提供されるアプリケーションプログラミングインターフェイス（ＡＰＩ）を表している。これは、図２に示した制御回路２２の一部を形成している。第三垂直線４０は、ハードウェアアクセス層２８（図２参照）の一部を含む無線イベントマネージャ（ＲＥＭ）を表している。第四垂直線は無線ハードウェア１６を表し、第５垂直線はハードウェアタイマ４２を表している。
【００３８】
ここで説明する動作は、セッションを開くための、アプリケーション３０からＡＰＩ３８へのコール３４.１で開始する。すると、ＡＰＩ３８は、対応するコール４４.１をＲＥＭ４０に渡す。続いて、ＡＰＩ３８は、ＲＥＭでセッションを開くために、所定のコールをＲＥＭ４０に送信する。
【００３９】
セッションが開かれて少し後に、アプリケーション３０は、無線リソースに一定期間アクセスを求めるための別の要求３４.２をする。この要求は、これからどのぐらい後に当該アクセスが必要となるのか、どのくらいの時間アクセスが必要となるのか、および、その特定要求に対してプロトコルスタック３２が決定する優先度も示した内容を含んでいる。ＡＰＩ３８は、無線タイムスロットの開始位置を計算する対応コール４４.２をＲＥＭ４０に再び渡し、その後、無線タイムスロットを要求するニ回目のコール４４.３を渡す。これで、アプリケーション３０が無線タイムスロットを要求するシーケンスは終了する。
【００４０】
無線要求で指定された時間に、ＲＥＭ４０は、ＡＰＩ３８がコールバックを受信する準備をすべきであることを示す信号４６.１、および、コールバック自体である第二信号４６.２を発信する。コールバック４６.２は、アプリケーション３０が、要求した無線タイムスロットの許可を得つつある、すなわち、すぐに無線にアクセスするというＲＥＭ４０からのサインを表している。したがって、ＡＰＩ３８は、コールバック３６.１をアプリケーション３０に渡して無線部１６の使用を開始できるようにする。アプリケーション３０は、コールバック３６.１を受信すると、最後に要求した無線タイムスロットが自分のタイマを参照することができるように、内部タイマを再起動する。これは、次の無線タイムスロットを要求するときは、該アプリケーションが要求した最後の無線タイムスロットを基準に要求が行なわれることを意味する。こうすれば、アプリケーション３０は、ソフトデバイス１８が実行している側のクロックにアクセスせずに動作することができ、これらの機能を容易に分離することができる。
【００４１】
図３Ｂを参照しながら、実施形態の動作をさらに説明する。図３Ｂの上半分は、アプリケーションが無線部１６にアクセスしている間の動作を示している。最初に示した信号は、ハードウェアタイマ４２からＲＥＭ４０への信号であるコールバック４８.１によって搬送される。これは、その後、ＲＥＭ ４０からＡＰＩ３８へのコールバック信号４６.３、および、ＡＰＩ３８からアプリケーション３０への後続コールバック信号３６.２によってアプリケーション３０に伝播されて戻る。同様に、無線部１６によって生成された信号は、コールバック信号５０.１、４６.４、および３６.３を介して伝播させることができる。このメカニズムによって、アプリケーション３０は、タイムスロット内から高精度で高周波のタイマにアクセスすることができる。これらのイベントによって、アプリケーションは、無線状態について自分が必要とする情報、および、イベントを抱えている間は無線機能セット一式を利用するのに必要なリソースに自分がアクセスできるようにする情報のすべてを取得することができるようになる。もちろん、特定の無線タイムスロットが動作中には、数個の信号が信号コールバックによって搬送される場合がある。
【００４２】
図３Ｂの下の部分は、アプリケーションが無線タイムスロットにアクセスするのを終了する手順を示している。これは、ＡＰＩ３８からアプリケーション３０へ、イベントが発生したことをアプリケーションに知らせる信号３６.４という形でのソフトデバイスイベント割り込みで始まる。すると、アプリケーション３０は、ソフトデバイスイベントが何だったのかはっきりさせるコール３４.３を返信する。これは、ソフトデバイスイベントをアプリケーション３０に提供する一般的なメカニズムである。後に、アプリケーション３０からＡＰＩ３８に、アプリケーションが無線を使用し終えたことを示す後続のコール３４.４が送信される。これは、後続の、ＲＥＭ ４０への、セッションを閉じるコール４４.４に伝播される。 ＡＰＩ３８は、その後、セッションが閉じられたことに起因してソフトデバイスイベントが発生したことを示す割り込み信号３６.５を送る。この割り込み信号は、アプリケーション３０からＡＰＩ３８へのコール３４.５によって受信確認が行なわれる。
【００４３】
上述の手順に従えば、アプリケーション３０は、ＡＰＩ３８を介して無線リソースへのアクセスを要求し許可を得ることができることがわかる。
【００４４】
図４Ａと図４Ｂは、無線リソースを求める要求が、内蔵の無線プロトコルからの別の要求と競合するなどの理由で、アプリケーションに許可されないときの該装置の動作をさらに示している。これらの図では、より明瞭になるように、アプリケーション３０とＡＰＩ３８と無線イベントマネージャ４０とだけが示されている。
【００４５】
手順の開始時に、アプリケーション３０は、セッションを開くコール３４.６を送信し、それがさらにコール４４.５によってＲＥＭ４０に伝播される。この部分の動作は、図３Ａを参照して説明したものと同じである。ここでも、ちょうど図３Ａのように、アプリケーション３０からＡＰＩ３８への要求３４.７が送信されると、ＡＰＩ３８からＲＥＭ４０へのコール４４.６および４４.７として伝播される。
【００４６】
少し経過してから、ＲＥＭ４０からＡＰＩ３８に、無線タイムスロットを求める要求が拒否つまりブロックされたことを示す信号４６.５が送信される。これによって、ＡＰＩ３８にソフトデバイスイベントが発生し、それが一対の標準的な信号３６.６およびコール３４.８を使ってアプリケーション３０に伝達される。
【００４７】
その後、アプリケーション３０は、無線タイムスロット３４.９を求める別の要求を行なう。この要求は、異なるタイムスロットを求めるものでの場合もあるし、前回の要求と同じタイムスロットを求めるものである場合もあるがより高い優先度を持ったものである場合もある。前述のように、該要求は、コール４４.７および４４.８を用いてＡＰＩ３８からＲＥＭ４０に伝播される。図示していないが、この結果として、タイムスロットが許可され、図３Ｂを参照して上述した手順となる。その後、図３Ｂを参照して説明したものと同じ、セッションを閉じる手順５２が続く。
【００４８】
図５Ａと図５Ｂは、図４Ａと図４Ｂを参照して説明した動作の変形例を示している。実際には、図５Ａと図５Ｂに示した動作は、ＲＥＭ４０からＡＰＩ３８への信号４６.６が、以前に許可された無線タイムスロットがキャンセルされたことを示すことを除いて、図４Ａと図４Ｂに示したものと同じである。このことは、未来のある時点に対してタイムスロットを要求しそれが許可されても、該タイムスロットが開始される前に、同じタイムスロットに対してより高い優先順位を持った競合する要求を受信した場合は、キャンセルされる可能性があるという事実を反映している。
【００４９】
全く同じ手順が、該装置に事前導入して供給された第一プロトコルスタック２０に対して適用されるが、第二プロトコルスタック３２を実装するアプリケーション３０を参照しながら動作を説明してきたことが理解されよう。したがって、ＡＰＩ３８とＲＥＭ ４０によって、両者間で、特定の優先度を有する要求の体系に基づいて、いずれのプロトコルに対しても、無線リソースへのアクセスを許可する単純なメカニズムが与えられるという良さがわかるであろう。これは、いずれかのプロトコルも相手の動作に関する知識を何も持つ必要なしに無線リソースを共有することができることを意味する。該プロトコルは、秩序あるやり方で、重要な送受信が発生すると処理され重要度の低いイベントは待たされることもあるように機能する一方で、他のプロトコルからのより重要度の高いイベントは処理されるように、それぞれのプロトコルが利用可能な優先度を設定することができる。一般的に、ユーザ実装のプロトコルスタック３２に与えられた優先度の範囲には、事前導入された標準プロトコルスタック２０にのみ使用可能な最高の優先度は含まれない。こうすれば、例えば、ユーザ実装のプロトコルは、認定された標準プロトコルの動作に不正アクセスすることが絶対できない。
【図１】
0006584403.tif 000002
【図２】
0006584403.tif 000003
【図３Ａ】
0006584403.tif 000004
【図３Ｂ】
0006584403.tif 000005
【図４Ａ】
0006584403.tif 000006
【図４Ｂ】
0006584403.tif 000007
【図５Ａ】
0006584403.tif 000008
【図５Ｂ】
0006584403.tif 000009