(57)【要約】  ソフトウエア無線機は、ソフトウェア通信アーキテクチャ（ＳＣＡ）規格に準拠するオペレーティング環境を有する赤（コマンド）及び黒（データ）の無線サブシステムのような、１対の無線サブシステムを含む。ソフトウェア通信アーキテクチャ（ＳＣＡ）規格は、例えば統合戦術無線システム（ＪＴＲＳ）で用いられるようなものである。時刻を決定するため、無線サブシステムのうちの少なくとも一方によって、クロックが読み取られる。無線サブシステムのプロセッサは、グローバルなハードウェアタイミングパルスを用いて時刻を無線サブシステムへ配信する動作をする。各プロセッサは、フリーランニングタイマを含むことができ、フリーランニングタイマに合わせて１対の無線サブシステム内の任意の時刻源が設定される。
2009512392.tif 000002
【特許請求の範囲】
【請求項１】
それぞれがプロセッサを有する１対の無線サブシステムと、
時刻を決定するために少なくとも１つの無線サブシステムによって読まれるように動作する実時間クロックとを備え、該無線サブシステムの前記プロセッサがグローバルなハードウェアタイミングパルスを用いて前記時刻を前記無線サブシステムへ配信することを特徴とするソフトウエア無線機。
【請求項２】
前記１対の無線サブシステムは、ソフトウェア通信アーキテクチャ（ＳＣＡ）規格に準拠するオペレーティング環境を有する赤（コマンド）及び黒（データ）の無線サブシステムを含むことを特徴とする請求項１に記載のソフトウエア無線機。
【請求項３】
各プロセッサは、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）を含むことを特徴とする請求項１に記載のソフトウエア無線機。
【請求項４】
各プロセッサはフリーランニングタイマを含み、前記フリーランニングタイマに合わせて前記１対の無線サブシステム内の時刻源が設定されることを特徴とする請求項１に記載のソフトウエア無線機。
【請求項５】
ソフトウエア無線機内において時刻を同期させるシステムであって、
ソフトウェア通信アーキテクチャ（ＳＣＡ）規格に準拠するオペレーティング環境を有する赤（コマンド）及び黒（データ）の無線サブシステムと、
各無線サブシステム内のフィールドプログラマブルゲートアレイ（ＦＰＧＡ）及びフリーランニングタイマとを備え、それらタイマが同期しており、前記無線サブシステム内の時刻源が前記フリーランニングタイマに合わせて設定されることを特徴とするシステム。
【請求項６】
ＦＰＧＡによって読み出され、グローバルなハードウェアタイミングパルスによって前記無線サブシステム内に配信される動作をする実時間クロックをさらに備えることを特徴とする請求項５に記載のシステム。
【請求項７】
前記ＦＰＧＡは前記時刻が格納されるレジスタを含んでおり、フリーランニングシステム時間を生成するためにレジスタが共通クロックを用いて互いに一致してインクリメントされることを特徴とする請求項５に記載のシステム。
【請求項８】
ソフトウエア無線機の複数の無線サブシステム内において時刻を同期させる方法であって、
実時間クロックから時刻を読み取り、
前記無線サブシステム内に前記時刻を格納し、
グローバルなハードウェアタイミングパルスを用いて前記時刻を前記無線サブシステム内の処理要素へ配信することを特徴とする方法。
【請求項９】
前記複数の無線サブシステムのそれぞれの内部に含まれるフリーランニングタイマを同期させ、前記処理要素内の時刻源を前記フリーランニングタイマに合わせて設定することを特徴とする請求項８に記載の方法。
【請求項１０】
ソフトウェア通信アーキテクチャ（ＳＣＡ）規格に準拠するオペレーティング環境を有する赤（コマンド）及び黒（データ）の無線サブシステムに対応するフィールドプログラマブルゲートアレイ（ＦＰＧＡ）レジスタ内に前記時刻を格納することを特徴とする請求項８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、組込プロセッサを有する無線機及び他の用途のためのソフトウェア通信アーキテクチャ（Software Communications Architecture、ＳＣＡ）に関する。
【背景技術】
【０００２】
処理能力やプログラミング技術の進歩に伴って、ソフトウェア定義による移動無線通信装置（例えば無線機）の評判が高まり続けている。周波数、変調、帯域幅、セキュリティ機能、波形の要求といったタスクの実行をハードウェアや回路部品に頼るのではなく、これらの機能が、ソフトウエア無線機のソフトウェアモジュール又はソフトウェア部品によって実行される。つまり、ソフトウエア無線機ではアナログ信号がデジタルの領域へ変換され、そこでは上記の機能がデジタル信号処理を用いて実行され得るのである。
【０００３】
この無線機の大半の機能はソフトウェアで制御されるため、ソフトウエア無線機は、典型的には、比較的標準的なプロセッサ及びハードウェア部品で実装されてよい。これにより、装置のハードウェアコストが低減されるだけでなく、装置をアップグレードする際により大きな柔軟性も提供される。なぜなら、新しい通信波形モジュールが比較的容易に、また新しいハードウェア部品に交換する必要なく、装置にアップロードされ得るからである。
【０００４】
ソフトウエア無線機の特定のクラスの１つで、上記の有利な特徴を利用するのが、統合戦術無線（Joint Tactical Radio、ＪＴＲ）である。ＪＴＲ無線機は、比較的標準的な無線及び処理用ハードウェアを、無線機が用いることになる通信波形のための適切な波形ソフトウェアモジュールとともに含む。ＪＴＲは、ソフトウェア通信アーキテクチャ（ＳＣＡ）規格（www.JTRS.saalt.milを参照）に準拠するオペレーティングシステムソフトウェアも利用する。この規格は、引用することにより全体としてここに組み込まれているものとする。ＳＣＡは、どのようにハードウェア部品とソフトウェア部品とを相互運用して、異なる製造者及び開発者がそれぞれの部品を単一の装置へ容易に統合できるようにするか、を規定するオープンアーキテクチャのフレームワークである。
【０００５】
移動無線通信装置のさらに別のクラスで、異なる波形又はプロトコルで通信するためにソフトウェア部品を更に用いるようになっているのが、セルラー通信装置である。すなわち、今や多くのセルラー装置が、例えばグローバル・システム・フォー・モバイル・コミュニケーションズ（Global System for Mobile Communications、ＧＳＭ）やパーソナルコミュニケーションズサービス（Personal Communications Services、ＰＣＳ）といった、世界中で用いられる数多くのセルラー標準のうちの複数の標準で動作するように設計されている。
【０００６】
統合戦術無線システム（ＪＴＲＳ）ソフトウェアコンポーネントアーキテクチャ（ＳＣＡ）は、ソフトウエア無線機（ＳＤＲ）を実装するための一組のインターフェース及びプロトコルを、多くの場合、共通オブジェクトリクエストブローカアーキテクチャ（Common Object Request Broker Architecture、ＣＯＲＢＡ）に基づいて規定する。ＪＴＲＳ及びそのＳＣＡは、一部が、ソフトウェアの再プログラムが可能な無線機の一群で用いられる。このように、ＳＣＡは、ソフトウェアの再プログラムが可能なデジタル無線機を実装するための、規則、方法、及び設計基準の具体的なセットである。
【０００７】
ＪＴＲＳ  ＳＣＡ規格は、ＪＴＲＳジョイントプログラムオフィス（ＪＰＯ）が発行している。ＪＴＲＳ  ＳＣＡは、さまざまなＪＴＲＳ  ＳＣＡ実装間にアプリケーションソフトウェアの移植性を提供することと、商用規格を活用して開発コストを下げることと、設計モジュールの再利用可能性により新しい波形の開発時間を減らすことと、発展する商用のフレームワーク及びアーキテクチャを土台とすることとを目的に構成されてきている。
【０００８】
ＪＴＲＳ  ＳＣＡは、実装に依存しないように作成されているので、システム仕様ではなく、ＪＴＲＳの所望の目的を達成するためにシステムの設計を制約する一セットの規則である。ＪＴＲＳ  ＳＣＡのソフトウェアフレームワークは、オペレーティング環境（ＯＥ）を規定し、その環境からアプリケーションが用いるサービス及びインターフェースを指定する。ＳＣＡ  ＯＥは、コアフレームワーク（ＣＦ）と、ＣＯＲＢＡミドルウェアと、関連するボードサポートパッケージをもつポータブルオペレーティングシステムインターフェース（ＰＯＳＩＸ）に基づくオペレーティングシステム（ＯＳ）とで構成される。また、ＪＴＲＳ  ＳＣＡは、アプリケーションソフトウェア部品間のアプリケーションプログラミングインターフェース（ＡＰＩ）を定義するビルディングブロック構造（ＡＰＩ補遺にて規定されている）を提供する。
【０００９】
ＪＴＲＳ  ＳＣＡコアフレームワーク（ＣＦ）は、必須かつ「中核」となるオープンソフトウェアのインターフェース及びプロファイルのセットを規定するアーキテクチャ概念であり、これらのインターフェース及びプロファイルは、組込型分散コンピューティング通信システムにおいて、ソフトウェアアプリケーション部品の配置、管理、相互接続、及び相互通信を提供する。インターフェースは、ＪＴＲＳ  ＳＣＡ規格において定義されてよい。ただし、インターフェースのいくつかを開発業者が実装してもよいし、いくつかは非中核アプリケーション（すなわち波形など）によって実装されてもよいし、また、いくつかはハードウェア装置供給業者によって実装されてもよい。
【００１０】
ＪＴＲＳ無線機及びＳＣＡの規格では、典型的にはコマンド及びデータ（赤及び黒）の処理システム用のインターフェースが必要とされる。無線プラットフォームは、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）を含む多重プロセッサ組込システムを含んでよい。現在通用しているいくつかのシステムでは、処理要素間のタイミング同期がソフトウェアで調整されることが多い。この手法では処理要素間において一連のメッセージ交換を用いており、そこではある要素が、送信メッセージで最終的な時間基準を提供する。この現在の技術では、達成され得る正確さに限度がある。その理由は、メッセージ交換における割込待ち時間及びタイミング変動性にある、ソフトウエア無線機として典型的に動作するこれらの組込システム内の多重のプロセッサ及び処理の間で時刻を正確に同期させる方法を決定することが望ましく、不正確さを１マイクロ秒未満にして同期を正確に決定できることが望ましい。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明の目的は、上記背景に鑑み、多重無線サブシステムを有するソフトウエア無線機において、時間の不正確な一連のメッセージ交換を用いずに行う時刻同期及び配信を実現することにある。
【課題を解決するための手段】
【００１２】
本発明の非限定例によれば、ソフトウエア無線機は、それぞれがプロセッサを有する１対の無線サブシステムを含む。実時間クロックは、時刻を決定するために無線サブシステムの少なくとも１つによって読み出される動作をする。プロセッサは、グローバルなハードウェアタイミングパルスを用いて時刻を無線サブシステムへ配信する動作をする。１対の無線サブシステムは、ソフトウェア通信アーキテクチャ（Software Communications Architecture、ＳＣＡ）規格に準拠する赤（コマンド）及び黒（データ）の無線サブシステムとして構成され得る。
【００１３】
ある態様において、各プロセッサは、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）として構成され得るが、各フィールドプログラマブルゲートアレイ（ＦＰＧＡ）は、フリーランニングタイマを含み、フリーランニングタイマに合わせて１対の無線サブシステム内の任意の時刻源が設定される。各プロセッサは、時刻が格納されるレジスタを含むことができ、レジスタは、フリーランニングシステム時間を生成するために、共通クロックを用いて互いに一致してインクリメントされる。少なくとも１つのプロセッサは、時刻が変化した時にフリーランニングシステム時間に対する時刻オフセットを計算して、そのフリーランニングシステム時間に対する時刻オフセットを無線サブシステムへ配信する動作をすることができる。
【００１４】
別の態様において、波形源が無線サブシステムへインスタンス化（インスタンス作成、instantiate）され得るが、そこでは時刻を波形から得ることができる。時刻オフセットは、共通オブジェクトリクエストブローカアーキテクチャ（ＣＯＲＢＡ）を用いて配信され得る。
【００１５】
方法の態様についても開示するものとする。
【００１６】
本発明の他の目的、特徴、及び効果は、以下の本発明の詳細な説明から、添付の図面に照らして考慮して明らかになるであろう。
【発明を実施するための最良の形態】
【００１７】
以下、添付の図面を参照して、さまざまな実施の形態についてさらに十分に説明する。添付の図面には、好ましい実施の形態が示されている。多くの異なる形態が説明可能であり、説明された実施の形態は、ここに示された実施の形態に限定されると解釈されるべきではない。むしろ、これらの実施の形態は、この開示が徹底的かつ完全となるように、そして、この開示によって本発明の範囲が当業者に十分に伝わるように、提供されている。なお、全体を通して、同一の番号は同一の要素を指し、またプライム記号の表記を用いて、代替となる実施の形態における類似要素を示す。
【００１８】
本発明のある非限定実施形態において、フリーランニングタイマは、例えばフィールドプログラマブルゲートアレイ（ＦＰＧＡ）のカウンタで同期させられ、時刻源は、フリーランニングカウンタを基準としてラッチされる。システムはこれらのオフセットを取り込んで、オフセットをシステム中に配信する。ＦＰＧＡへクロックとして記録できる程に時間は正確である。これにより、システムは、標準的なＳＣＡ通信の仕組みとしてＣＯＲＢＡを用いて、時刻オフセットをシステム中に伝えることができる。オフセットをシステムの他の部分に提供する役割は、時刻サービスコードが果たすことができる。例えばＦＰＧＡ又はデジタルシグナルプロセッサ（ＤＳＰ）などの赤のプロセッサや、波形及びオペレーティング環境のソフトウェアといった、すべてのシステム構成要素に対して、正確な時間を維持することが可能である。
【００１９】
無線機の電源が投入されると、現在の時刻が実時間クロック（ＲＴＣ）チップから読み出され、無線機の両側にある１対のＦＰＧＡレジスタに格納される。１対のＦＰＧＡレジスタとはすなわち、ＳＣＡアーキテクチャを用いる無線プラットフォームでは、赤及び黒のサブシステムである。この時間は実質的にインスタンス化され、例えば、グローバルなハードウェアタイミングパルスを用いてすべての処理要素において生成され、又は読み込まれる。レジスタが読み込まれると、レジスタは共通のクロック源を用いて横並びでインクリメントを開始することができる。これらのレジスタは、無線機の電源が入っている間はインクリメントを続けて、フリーランニングの「システム時間」を生成することになる。無線時間が変更されると、フリーランニングシステム時間を基準とした無線時間に対するオフセットが計算されてメモリに格納される。無線時刻は、フリーランニングシステム時間に対するオフセットとして配信される。１組の処理要素を同一のクロックパルスによって同期させることによって、システムは確実に、システム時間を常に高い正確さで同期させておくことができる。これは、周波数ホッピングのアプリケーションにとって不可欠となり得る。
【００２０】
無線時間の変更をシステム時間に対するオフセットとして伝えることによって、システムは正確な時間の転送を確実に行うことができる。時間は、任意のプロセッサから更新されることもでき、そしてメッセージを伝える際の待ち時間を懸念することなく同期させられ得る。例えばＳＩＮＣＧＡＲＳ又はＨａｖｅＱｕｉｃｋＩＩ時間といった時間依存型波形は、典型的にはできる限り厳密に同期させられる必要があり、さもなければ無線機間の通信が損なわれかねない。そこでＪＴＲＳ  ＳＣＡに基づく無線機は、あらかじめ定められた仕組みをもつＳＣＡに基づくアーキテクチャを有しており、この仕組みは、オペレーティング環境と波形アプリケーション部品とを多くの周波数ホッピング波形に必要とされる程度の正確さにまで同期させる。
【００２１】
多重プロセッサ組込システム内における時刻同期及び配信、並びに関連する方法は、メインフレームコンピュータ又は小型コンピュータで使われるような任意の種類の無線ソフトウェア通信アーキテクチャに用いることができ、コンピュータには、例えば軍及び民間の用途で用いられるようなトランシーバ付加型のラップトップを含み、又は図１に示す携帯型無線通信装置２０を含む。この携帯型無線通信装置は、内部部品としてのトランシーバと、アンテナ２４及び制御ノブをもつ手持ち式筐体２２とを有することができる無線機として図示されている。表示用に、液晶ディスプレー（ＬＣＤ）又は類似の表示器が筐体の適切な位置に配置されてよい。赤及び黒のサブシステムのための二重のプロセッサシステムやＳＣＡに準拠するソフトウェアを含むさまざまな内部部品が、図示された無線機で動作する。なお、携帯型又は手持ち式の無線機が開示されてはいるが、ここに記載されるアーキテクチャは、ＳＣＡ及び本発明による時刻同期及び配信を用いるトランシーバとともに動作する任意のプロセッサシステムにおいて用いられ得る。
【００２２】
図１Ａは、時刻同期及び配信システム３０と基本的な機能部品を示す上位レベルのブロック図であり、２つのフィールドプログラマブルゲートアレイ（ＦＰＧＡ）３２、３４を含み、これらＦＰＧＡ３２、３４は、非限定的なシステムにおける赤及び黒、すなわちコマンド及びデータのＦＰＧＡに対応する。各ＦＰＧＡ３２、３４はフリーランニングカウンタ３６、３８を含み、各カウンタ３６、３８は時刻（time of day、ＴＯＤ）処理回路機能４０、４２とともに動作し、更に各処理はＴＯＤオフセット表４４、４６を有していて、一方のオフセット４４がオフセット転送（Transfer Offsets）によって他方のオフセット４６へ伝達されるようになっている。各ＦＰＧＡは読み取りレジスタを有する。一方のＴＯＤオフセット表４６は、ＦＰＧＡ３４とともに動作するデジタルシグナルプロセッサ（ＤＳＰ）５０へオフセット転送を送る。第１のＦＰＧＡ３２は、ＧＰＳ処理機能５２から信号を受信し、ＧＰＳの毎秒１パルス（Ｐｐｓ）のタイムマークパルスを介してモジュールから直接時間を取得する。他方のＦＰＧＡ３４は、実時間クロック（ＲＴＣ）ドライバ５４とともに１Ｐｐｓの割り込みで動作して、実時間クロックを正確に読み取る。
【００２３】
図６は、ソフトウェアシステム６０のブロック図であり、時刻同期及び配信の基本ソフトウェア部品を示している。赤側６２及び黒側６４が図示されており、黒側は時刻プラグイン６６を含み、時刻プラグイン６６はデータベース６８へアクセスするように構成され、データベース６８は、うるう秒、ＵＴＣオフセット、ＵＴＣの不確かさ、電源投入時間、及び最終書き込み時間を含む。ＴＯＤプラグイン６６はＴＯＤサービス７０及びＴＯＤ＿Ｂ処理７２とともに動作し、ＴＯＤ＿Ｂ処理７２は、読取・書込実時間クロック（ＲＴＣ）及びドライバ７４とともに動作し、そして、ＲＴＣを正確に読み取るために１Ｐｐｓの割込をもつ。データベース６８はＦＰＧＡドライバ７６とともに動作し、ＦＰＧＡドライバ７６はポータブルオペレーティングシステムインターフェース（ＰＯＳＩＸ）システム時間７８及び「Ｎｏｗ」オブジェクトＦＰＧＡタイマレジスタとともに動作する。ＦＰＧＡタイマレジスタは、ＴＯＤ＿Ｂ処理７２とともに「Ｎｏｗ」オブジェクト取得設定において動作するものである。ＦＰＧＡドライバ７６は、時間及び同期パルスのためにＦＰＧＡ８２及びＤＳＰ８４とともに動作する。ＴＯＤ＿Ｒ処理８６は、ＧＰＳ（ＵＴＣ＋うるう秒）時間転送と、ＧＰＳが「スリープ」できるという応答確認（ＡＣＫ）信号と、無線ＵＴＣ時間とを、ＴＯＤ＿Ｂ処理７２から受信する動作をする。赤側のＰＯＳＩＸシステム時間８８は、ＴＯＤ＿Ｒ処理８６とともに動作して更新ＰＯＳＩＸ時間を得る。ＴＯＤ＿Ｒ処理８６は、「Ｎｏｗ」オブジェクトＦＰＧＡタイマレジスタ９０とともに動作して、「Ｎｏｗ」オブジェクト取得設定の動作をする。赤側のＧＰＳ処理９２は、ＧＰＳの１Ｐｐｓのタイムマークパルスを介してモジュールから直接時間を取得して黒側のＴＯＤサービス７０へ信号を送信することができ、またＧＰＳ時間及びＵＴＣ時間の取得設定動作をする。ＨＭＩ９４は、ヒューマンマシンインターフェースとして、ＴＯＤプラグインとともにユーザ時間の取得設定動作をする。
【００２４】
ＴＯＤは、概略的には無線機全体にわたって正確な時間を管理し提供するために用いられるものである。ＴＯＤは、ＴＯＤ＿Ｂ処理７２と示され得る黒側部品と、ＴＯＤ＿Ｒ処理８６と示され得る赤側部品と、ＴＯＤサービス７０と、ＴＯＤプラグイン６６とで構成される。ＴＯＤ＿Ｂ処理及びＴＯＤ＿Ｒ処理は、無線機の黒及び赤のハードウェア部品を更新する役割を果たす。ＴＯＤサービス７０は、時間情報を提供し、無線機内のさまざまなハードウェア及びソフトウェアの時間部品の同期を管理する。この同期は、クロックを更新するためにＴＯＤ＿Ｂ処理７２を呼び出すことを含む。また、ＴＯＤサービス７０は、任意の登録ユーザへ、待ち状態にある任意の時間調整について通知サーバを介して通知もする。ＴＯＤプラグイン６６は、プラットフォームデータベース６８へ接続しており、ＴＯＤデータの書込及び受信のために用いられる。
【００２５】
ある非限定例において、時刻は２つの更新源により更新することができ、すなわち、ユーザが例えばＨＭＩ９４（アスキー、前面パネル、試験対応インターフェース）を介して行う場合、又は、より高い優先度を有するＧＰＳをもつＧＰＳ処理９２が行う場合がある。より高い優先度をもつ源によってすでに時間が更新されている場合、より低い優先度をもつ源は時間を更新できない。時間の飛び越しをしたり時間を後戻りしたりすることが波形では出来ないので、波形のインスタンス化がされていない時のみ時間の変更が行われ得る。
【００２６】
時間の更新が要求されると、時間変更の変化分が計算され、待ち状態の更新の通知サービスを行う通知サーバを経由してメッセージが送られる。このメッセージは、時間変更を追跡する必要のあるすべてのプラグインによって用いられることになる。時間オフセットは、インスタンス化される波形がなくなるまで追跡され得る。インスタンス化される波形がなくなると、ＴＯＤサービス７０は、クロックを更新してＴＯＤ＿Ｒ処理８６をＴＯＤ＿Ｂ処理７２と同期させるために、ＴＯＤ＿Ｂ処理７２を呼び出すことができる。
【００２７】
典型的には、無線機上で動作するＴＯＤサービス７０のインスタンスは１つである。このインスタンスは、ＴＯＤ＿Ｂ処理７２と、またＴＯＤプラグイン６６と、システムの一部としてインターフェースで接続する。ＴＯＤ＿Ｂ処理７２は、実時間クロック（ＲＴＣ）チップ及びドライバ７４、ならびに任意の黒のＦＰＧＡハードウェアと相互に動作する。また、ＴＯＤ＿Ｂ処理７２は、ＵＴＣ時間（「Ｎｏｗ」オブジェクト）及びオペレーティングシステム（ＯＳ）クロック（電源投入時）も更新する。任意の時間調整は、ＴＯＤ＿Ｒ処理８６へ送られることができ、ＴＯＤ＿ＢとＴＯＤ＿Ｒとの間のハードウェア線を用いて同期させられる。そして、赤側のＵＴＣ時間（「Ｎｏｗ」オブジェクト）及びＯＳクロック（電源投入時のみ）に対する更新は、ＴＯＤ＿Ｒによって実行される。ＴＯＤシステムプラグイン６６は、データベースへアクセスするために用いられる。
【００２８】
時間調整は、全地球測位システム（ＧＰＳ）以外の源から生じても良い。時間調整は、即時ではないかもしれない。典型的には、どの時刻源が時間を調整できるかを決定する方針が決まっている。正確さに劣る源を用いて現在の時間が設定された場合は、より正確な時刻源で時間を調整することができる。一方、より正確な時刻源を用いて現在の時間が設定された場合は、正確さに劣る時刻源で時間を調整することはできない。
【００２９】
ＧＰＳ処理は、ＧＰＳの毎秒１パルス（Ｐｐｓ）の割込が発生する前に時間更新を送ることができる。時間更新は、次パルスにおいて時間値を含むことができる。ＴＯＤサービスから得る時間は、典型的には無線機内で最も正確な時間データであってよく、これはＣＯＲＢＡの待ち時間による。このポートの時間の正確さは、不確定である。無線機の多くの部品は、ＴＯＤサービスを介して時間情報を得ることに関係してよい。
【００３０】
時間は、ＲＴＣチップ、「Ｎｏｗ」オブジェクト、又はＴＯＤサービスを介して得ることができる。ＴＯＤサービスは時間を得るために波形にて用いられる。時間を得ることに関係する他の任意の部品がＴＯＤサービスを用いることができる。ＴＯＤサービスによって提供される時間を用いる部品は、ＣＯＲＢＡの待ち時間があるために、この提供される時間が無線機内で最も正確な時間となるものではないことを認識しておく必要がある。
【００３１】
図２に、状態図を符号１００で示す。黒更新１０２及び赤同期１０４は、黒及び赤の時間部品を（それぞれ）更新する処理をする。電源投入１０６は、すべてのＴＯＤ部品の起動である。時間更新１０８は、ＨＭＩ又はＧＰＳから入ってくる時間更新を処理する。ＭＡＮＰＡＣＫ同期１１０は、いくつかのチャネル間の時間同期を処理する。波形無し待機１１２は、インスタンス化される波形がなくなるまでシステムを監視する。
【００３２】
ＴＯＤ＿Ｂ処理７２及びＴＯＤ＿Ｒ処理８６は、赤側と黒側との間で時間を同期させるために用いられる独立型の処理である。ＴＯＤサービス７０は、ＴＯＤ＿Ｂ処理７２に命令を出すためのＴＯＤ＿Ｂアプリケーションプログラミングインターフェース（ＡＰＩ）のインスタンスを含む。この点で、ＴＯＤ＿Ｂ処理７２はＴＯＤサービス７０のスレーブとして動作する。ＴＯＤ＿Ｂには、ＴＯＤサービスを呼び出す通信チャネルが存在しない。ＴＯＤ＿Ｂ処理は、現在の時間をＴＯＤ＿Ｒ処理と同期させる役割を果たす。
【００３３】
ＴＯＤ＿Ｂの役割は、以下を含む。
１．電源投入時にＲＴＣチップを読み取る。
２．黒側の時間部品を更新する。黒側の時間部品は、以下を含む。
ａ．黒のＦＰＧＡ（ＢＦＰＧＡ）上のハードウェアタイマで維持されるＵＴＣ時間（「Ｎｏｗ」オブジェクト）
ｂ．ＰＯＳＩＸシステム時間（電源投入のみ）
ｃ．ＲＴＣチップ
３．ハードウェア同期線を用いて時間をＴＯＤ＿Ｒと同期させる。
【００３４】
ＴＯＤ＿Ｒの役割は、以下の通りである。
１．赤側の時間部品を更新する。赤側の時間部品は、以下を含む。
ａ．赤のＦＰＧＡ（ＲＦＰＧＡ）上のＨＷタイマで維持されるＵＴＣ時間（「Ｎｏｗ」オブジェクト）
ｂ．ＰＯＳＩＸシステム時間（電源投入のみ）
【００３５】
ＴＯＤサービス７０は、インターフェース及び通信用に異なるポートを含むことができる。ユーザのＴｏｄＯｐポートは、ＨＭＩが時刻を調整できるようにするものである。ＧＰＳはＨＭＩより高い優先度を有しているので、ＨＭＩは、ＧＰＳがまだ時間を更新していない時だけ、時間を変更することができる。また、これらの調整は必ずしも即時に行われる訳ではない。時間の飛び越しをすることが波形にはできないので、インスタンス化される波形がない時に調整が行われる。インスタンス化される波形がなくなると、ＴＯＤ＿Ｂ及びＴＯＤ＿Ｒ内に存在する基本的な時間部品に対して調整が行われる。ＧｐｓＴｏｄＯｐポートは、ＧＰＳが時刻の調整をできるようにするものである。調整は必ずしも即時に行われる訳ではないので、同じことが前述同様に当てはまる。すなわち波形は時間の飛び越しをすることができないので、インスタンス化される波形がない時に調整が行われる。インスタンス化される波形がなくなると、ＴＯＤ＿Ｂ及びＴＯＤ＿Ｒ内に存在する基本的な時間部品に対して調整が行われる。
【００３６】
ＷａｖｅｆｏｒｍＴｏｄＯｐポートは、要求に応じて現在時間情報を波形へ送る。
【００３７】
ＴｉｍｅＡｄＮｏｔｉｆｉｃａｔｉｏｎポートは、システム内の部品が時間の調整を要求している旨の通知を送り出すために用いられる。この通知は、現在の時間変化分を最新に保つために時間を追跡する必要のある、すべての部品によって用いられることになる。
【００３８】
ＡｃｃｅｓｓＤａｔａｂａｓｅポートは、必要に応じてＴＯＤサービスがデータベース設定を取り出して更新することができるようにするものである。この接続は、ＴＯＤサービスとＴＯＤシステムプラグインとの間の内部接続である。データベース設定に含まれるデータは、ＵＴＣ時間、ＵＴＣオフセット、電源投入時間、最終更新時間、及び最終更新者を含む。
【００３９】
ＮｏｔｉｆｙＴｉｍｅＣｈａｎｇｅポートは、任意の波形、又は波形のために時間用部品を追跡しているプラグインへ、新しい時間オフセットを送り出すために用いられる。
【００４０】
図３は、電源投入シーケンスのシーケンス及びタイムチャートであり、上部にＴＯＤ＿Ｒ処理、ＴＯＤ＿Ｂ処理、ＴＯＤサービス、及びシステムを示す。ＴＯＤ＿Ｂ処理及びＴＯＤ＿Ｒ処理は、システム開始によって起動される。ＴＯＤサービスは、黒の入出力プロセッサ（ＢＩＯＰ）プラットフォームによって起動される。一連の番号は時間の流れを示す。実時間クロック（ＲＴＣ）チップ７４は、ＴＯＤ＿Ｂによって読み取られて、下記のように時間部品を初期化するために用いられる。
ａ．ＴＯＤ＿Ｂ７２は黒側の「Ｎｏｗ」オブジェクト８０を更新し、
ｂ．ＴＯＤ＿Ｂ７２は黒側のＰＯＳＩＸシステム時間７８を更新し、
ｃ．ＴＯＤ＿Ｂ７２はＴＯＤ＿Ｒ８６と同期する。この同期処理は、ＴＯＤ＿Ｂ７２が現在の時間をＴＯＤ＿Ｒへ送ることを伴う。ＴＯＤ＿Ｒ８６は、この時間を用いて、赤側の「Ｎｏｗ」オブジェクト９０とＰＯＳＩＸシステム時間８８とを更新する。
【００４１】
システム処理は、プラグインポートへ、ＴＯＤサービス７０からシステム処理上のＴＯＤプラグイン６６のポートへ接続する。ＴＯＤサービス７０は、ＴＯＤ＿Ｂ７２に電源投入値（最終書込時間、時刻源など）を照会する。そして、これらの値は、システムプラグイン６６のポートを経由してデータベース６８へ書き込まれる。データベースの照会は、ＴＯＤ＿Ｂ７２が初期化されるまで許可されない。
【００４２】
図４は、ＧＰＳ時間調整シーケンスのシーケンス及びタイムチャートであり、通知サービス、システムプラグイン、及びＧＰＳを示す。一連の番号は時間の流れを示す。ＧＰＳは、ＧＰＳパルスを取得して、現在の無線時間とＧＰＳ時間との間のオフセットを計算する。ＧＰＳはこのオフセットをＴＯＤサービス７０へ送り、ＴＯＤサービス７０は、待ち状態の更新についての通知を送る。ＴＯＤサービスは、インスタンス化される波形がなくなるのを待つ（すなわち、ＴＯＤサービスはシステムからの通知を聴くことになる）。波形がなくなったら、ＴＯＤサービスは、時間を更新するためにＴＯＤ＿Ｂを呼び出す。ＴＯＤ＿Ｂは時間調整を行う。調整には、黒側の「Ｎｏｗ」オブジェクトを更新することを含む。ＴＯＤ＿ＢはＴＯＤ＿Ｒと同期する。ＴＯＤ＿Ｒは赤側の「Ｎｏｗ」オブジェクトを更新する。時間要求の変更についての通知が送られる。
【００４３】
図５は、ユーザ時間調整処理であり、ＧＰＳの代わりにＨＭＩを示している。一連の番号は時間の流れを示す。ユーザ処理（例えばアスキー）は、新しい時間値をもつメッセージをシステムへ送る。システムは新しい時間値でＴＯＤサービスを呼び出す。ＴＯＤサービスは、ＧＰＳが時間を更新していないことを検証する。ＧＰＳが時間を更新していた場合は、エラーが返されることになる。ＴＯＤサービスは、待ち状態の更新がある旨の通知を送る。ＴＯＤサービスは、インスタンス化される波形がなくなるのを待つ（すなわち、ＴＯＤサービスはシステムからの通知を聴くことになる）。インスタンス化される波形がなくなったら、ＴＯＤサービスは、時間を更新するためにＴＯＤ＿Ｂを呼び出す。ＴＯＤ＿ＢはＴＯＤ＿Ｒと同期する。ＴＯＤ＿Ｒは赤側の「Ｎｏｗ」オブジェクトを更新する。時間要求の変更についての通知が送られる。
【００４４】
起動時にすべてのプラグインが読み込まれている訳ではないので、波形のプラグインが起動されるまでそれらの波形の時間オフセットを追跡する方法が存在する必要がある。これはさまざまな方法で実現できるが、ある限定例ではここに記載のように実現できる。
【００４５】
フィルコマンドが呼び出されると、セキュリティサービスからの時間がＴＯＤサービスへ送られる。これは、セキュリティサービスとＴＯＤサービスとの間にポート（ＣＯＲＢＡ）接続を作成することによって行われる。フィル時間と無線時間との間のオフセットが計算される。このオフセットは、時間が変化する間、更新されることになる。波形プラグインが起動されると、波形プラグインは、オフセットを得るためにＷａｖｅｆｏｒｍＴｏｄＯｐポート（ＣＯＲＢＡ）を介して呼び出しを行う。プラグインは、このオフセットを、自身が必要とするであろう任意の時間オフセットの基準として用いることができる。波形が起動され、そのプラグインがすでに動作している場合は、プラグインは、ＴＯＤサービスからオフセットを得て、正確なオフセットが用いられていることを確かなものとすることができる。システムがフィルモード又は波形モードにある時は、システムは「Ｎｏｗ」オブジェクトを更新しない。システムは、インスタンス化される波形がなくなるまで待つ。波形は、「ＷａｖｅｆｏｒｍＴｏｄＯｐ」ポートを用いてオフセットを取得する。システムは、このパラメータを取り出す機能を追加する。
【００４６】
このシステムに記載のように、ＨＭＩはフィルするコマンドを送ることができ、セキュリティサービスは時間メッセージをＴＯＤサービスへ送ることができ、ＴＯＤサービスは、「フィル時間」と無線時間との間のオフセットを計算してから、そのオフセットを格納する。
【００４７】
波形プラグインについては、システムがプラグインを起動する。波形のインスタンス化にあたり、ドメインマネージャは、波形とＴＯＤサービスとの間でポート接続を行う。ＷａｖｅｆｏｒｍＴｏｄＯｐポートを介して波形が呼び出しを行い、ＴＯＤサービスからオフセットを取得する。プラグインは、オフセットに基づいて自身の時間部品を更新する。
【００４８】
セキュリティサービスは時間オフセットをＴＯＤサービスへ送ることができ、ＴＯＤサービスはオフセットを格納し追跡することができる。波形がインスタンス化されている時は、波形又は波形プラグインは、時間オフセットをＴＯＤサービスから取り出すことができる。
【００４９】
再び図６を参照する。ＴＯＤサービス７０は、ＧＰＳ、ＨＭＩ、及び波形から時刻要求を取り込む役割を果たす。ＴＯＤサービスは、ＴＯＤプラグイン６６を介してデータベース６８にアクセスする。ＴＯＤサービス７０は、ＴＯＤ＿Ｂ処理７２を介して無線機の黒側の時間部品を更新する。ＴＯＤ＿Ｂ処理７２は、黒側のＰＯＳＩＸ７８、「Ｎｏｗ」オブジェクト８０、及び実時間クロック７４を更新する。また、ＴＯＤ＿Ｂ処理７２は、更新された時間をＴＯＤ＿Ｒ処理８６へ送り、ＴＯＤ＿Ｒ処理８６は、赤側のＰＯＳＩＸ８８及び「Ｎｏｗ」オブジェクト９０を更新する。
【００５０】
図７は、システム２００として、本発明のある非限定例における時刻同期及び配信において用いられ得る機能的ハードウェア部品群のブロック図の例を示すものである。図には黒及び赤のＦＰＧＡ回路２０２、２０４が示されており、各ＦＰＧＡ回路はそれぞれの黒及び赤の入出力プロセッサ２０６、２０８とともに動作する。赤の入出力プロセッサ２０８は、内部ＧＰＳ回路２１０及び高精度軽量ＧＰＳ受信機（ＰＬＧＲ）２１２とともに動作する。黒の入出力プロセッサ２０６は実時間クロック２１４とともに動作する。赤及び黒のＦＰＧＡ２０２、２０４は、温度制御された水晶発振器（ＴＣＸＯ）２２０から１９．２ＭＨｚのタイマ信号を受信する。赤及び黒のＦＰＧＡ２０２、２０４は、両者ともシエラ・バイパス回路２２２とともに動作し、黒のＦＰＧＡは、もう１つのＦＰＧＡ回路（ＭＦＰＧＡ）２２４とともに動作する。図中には部品間のさまざまな信号が示されている。
【００５１】
図８は、ＦＰＧＡ時間アーキテクチャを符号２５０で示すものであり、ＦＰＧＡは符号２５２で示され、タイマ事前読込レジスタ２５４と、タイマフェッチレジスタ２５６と、フリーランニングタイマ２５８とを含む。クロック分割回路２６０は、１９．２ＭＨｚの信号を受信し、信号をフリーランニングタイマ２５８へ送る。１Ｐｐｓ又は他の既知の粗タイマ２６２は、タイマ事前読込レジスタ２５４及びタイマフェッチレジスタ２５６とともに動作する。１Ｐｐｓの同期線は、黒の入出力プロセッサ（ＢＩＯＰ）２７０とともに動作し、ＵＴＣ時間２７４を受信する波形用時刻マネージャ２７２で受信される。図示のように、ＢＩＯＰ２７０は、以下の手段によってＵＴＣ時間を提供する。すなわち、（１）ハードウェアタイマ値を返すＣＯＲＢＡ呼び出しのような、タイマサービス、（２）ＰＯＳＩＸ時間、及び（３）ＨＷタイマ値としての「Ｎｏｗ」オブジェクトへの直接アクセス、である。
【００５２】
図８Ａは、汎用プロセッサとしてのＧＰＰ２８８とフィールドプログラマブルゲートアレイ２９０との間の同期を示す図であり、フィールドプログラマブルゲートアレイ２９０では、フリーランニングタイマがタイマフェッチへ取り出され、それぞれの同期が取れている。
【００５３】
図９は、赤及び黒のサブシステム３００、３０２を示す上位レベルのブロック図であり、黒のサブシステムの一部としての時刻サービス３０４がＴＯＤ＿Ｂ３０６及びＴＯＤ＿Ｒ３０８とともに動作し、ＴＯＤ＿Ｂ３０６及びＴＯＤ＿Ｒ３０８がそれぞれのＭＸ１タイマ３１０及び３１２を有する。ＴＯＤ＿Ｂ３０６はＲＴＣ３１４とともに動作する。ＴＯＤサービス３０４はＴＯＤプラットフォームプラグイン３２０とともに動作し、ＴＯＤプラットフォームプラグイン３２０はＨＭＩ３２２から信号を受信する。ＧＰＳ３２４は、図示のように信号をＴＯＤサービス３０４へ送ることができる。
【００５４】
図示のように無線機の時刻は１９．２ＭＨｚのＴＣＸＯ２２０から駆動されるフリーランニングＢＦＰＧＡタイマに基づくことができる。電源投入時、黒及び赤のタイマは事前読み込みされ得る。ＢＦＰＧＡ及びＲＦＰＧＡは、ＲＴＣから出てくる１Ｐｐｓを受信できる。パルスに応じて、クロック信号（ＣＬＫ）線はタイマにトリガをかけて起動することができる。ＧＰＳが捕捉する時（場合）は、ＧＰＳパルスがＲＦＰＧＡへ送られ得る。ＲＦＰＧＡがパルスを受信すると、ＲＦＰＧＡは、現在の時刻を記録して、その値をレジスタに格納することができる。ＲＦＰＧＡはＧＰＳへ割り込みを送ることができ（オフセット源がどこかであればＴＯＤ）、ＧＰＳはそこで、時間をＴＯＤへ送る時に用いるために、オフセットを格納する。ＭＦＰＧＡが設定される時は、ＢＦＰＧＡ内の時刻がＭＦＰＧＡへ読み込まれ得る。
【００５５】
図８に示すように、ＦＰＧＡの設計者はＢＩＯＰ２７０へ同期線を設けることができ、同期線は、時間（ＰＯＳＩＸ、システム時間、又は「Ｎｏｗ」時間）を得るために用いられ得る。ＦＰＧＡは、ＴＣＸＯから１９．２ＭＨｚ基準を得ることができる。任意の時間基準に対して、その基準とＵＴＣとの変分が定まっている場合は、波形はＦＰＧＡタイマをその基準に設定することができる。
【００５６】
図９に、赤及び黒のサブシステム間の相互動作を示す。無線機の時刻は、「Ｎｏｗ」オブジェクトによって追跡され、ＴＯＤ＿Ｂ（黒側の時間部品）によって維持される。「Ｎｏｗ」オブジェクトは、ＢＦＰＧＡタイマへ接続されたソフトウェア部品であり、ＢＦＰＧＡタイマは、基準日（一般に１９７０年１月１日）からの秒数としてのＵＴＣ時間を追跡するために用いられるものである。ＴＯＤ＿Ｂ部品は、「Ｎｏｗ」オブジェクトを更新するとともにＴＯＤ＿Ｒ部品（赤側の時間部品）を更新するためにも用いられる。この概念において、ＴＯＤ＿Ｂはマスタとみなされ、ＴＯＤ＿Ｒはスレーブとみなされる。ＴＯＤサービス３０４及びＴＯＤプラットフォームプラグイン３２０は、ＣＯＲＢＡ部品であり、それらは共同でＧＰＳ及びＨＭＩからの時間及び日付の要求を処理する。また、プラットフォームプラグイン３２０は、プラットフォームデータベースの読み取りと書き込みにも用いられる。
【００５７】
ＨＭＩ３２２は、ＴＯＤプラットフォームプラグイン３２０を介して時間変更を要求できる。その要求はＴＯＤサービス３０４へ送られてよく、そこでは無線時間に対するオフセットが計算されてデータベースに格納され得る。そのオフセットは、無線機上で動作している波形がなくなるまで格納されることになる。無線機上で動作している波形がない場合、ＴＯＤサービス３０４は、無線時間を更新して、格納されたオフセットを０に再設定するために、ＴＯＤ＿Ｂを呼び出すことができる。ＴＯＤ＿Ｂ（黒側のＴＯＤ）は、「Ｎｏｗ」オブジェクトを更新してオフセットを反映させ、新しい時間を実時間チップ（ＲＴＣ）に書き込み、新しい時間をＴＯＤ＿Ｒ（赤側のＴＯＤ）へ送る。
【００５８】
ＧＰＳ時間変更は、最初の要求がプラットフォームプラグイン経由ではなくＴＯＤサービスへ行く、という点を除いて、ＨＭＩ変更と同じアルゴリズムに従ってよい。
【００５９】
新しいオフセットがＴＯＤによって計算されると、その新しいオフセットはあらゆる波形プラグインへ送られる。波形プラグインは現在の時間オフセットを格納するものと予期される。このオフセットは波形データベースに格納されることになっているので、電源投入時に保持され得る。時間変更が行われると、ＴＯＤはあらゆる波形プラグインを呼び出して、それらの時間を更新する。波形が自身の時間オフセットを０に再設定し、追跡している他のオフセットを更新する。更新を実行する機能の実装は波形にて行う。時間変更要求は、ＨＭＩ又はＧＰＳのいずれからも生じ得る。時間変更が要求される時、波形は３つの状態のうちの１つであり得る。すなわち、１）その波形は動作している、２）その波形は動作していないが、他の波形が動作している、又は３）その波形は動作しておらず、他に動作している波形もない、である。
【００６０】
波形が動作している場合、時間要求はＴＯＤへ入り、ＴＯＤは新しい時間と現在の「Ｎｏｗ」時間とのオフセットを計算する。オフセットはデータベースに格納される。時間変更は波形へ送られる。そして波形はその時間変更を受け付けるか否かを決定する。波形が時間変更を受け付ける場合は、「Ｎｏｗ」オブジェクト及び他のすべてのＴＯＤ部品は、新しい時間を反映すべく更新される。格納されたオフセットは０に再設定される。
【００６１】
当の波形は動作していないが、他の波形が動作している場合、時間要求はＴＯＤへ入り、ＴＯＤは新しい時間と現在の「Ｎｏｗ」時間とのオフセットを計算する。オフセットはデータベースに格納される。波形プラグインに対して、新しいオフセットが存在する旨の呼び出しが行われる。波形は現在のオフセットを追跡する役割を果たす。波形は新しいオフセットを自身のデータベースに格納することができる。動作している波形がなくなると、ＴＯＤは、無線時間部品（「Ｎｏｗ」を含む）を更新して新しい時間を反映することができる。ＴＯＤは、自身のオフセットを０に再設定し、波形プラグインのオフセットを０に再設定するために波形プラグインを呼び出すことができる。波形プラグインは、自身のオフセットを再設定し、新しい時間を反映するために波形が追跡している可能性のある他のあらゆるオフセットを更新することができる。
【００６２】
無線機上で動作している波形がない場合、時間要求はＴＯＤへ入る。ＴＯＤは無線機上の時間部品（「Ｎｏｗ」を含む）を更新する。ＴＯＤは、波形プラグインのオフセットを０に再設定するために波形プラグインを呼び出すことができる。波形プラグインは、自身のオフセットを再設定し、新しい時間を反映するために波形が追跡している可能性のある他のあらゆるオフセットを更新することができる。
【００６３】
時間要求が行われると、ＴＯＤは「Ｎｏｗ」時間と新しい時間とのオフセットを計算することができる（累積オフセット）。時間要求が行われると、ＴＯＤは最終オフセットと新しい時間とのオフセットを計算することができる（現在のオフセット）。時間要求が行われると、ＴＯＤは、現在のオフセットも累積オフセットもすべての波形プラグインへ送ることができる。システム時間が変化したら（「Ｎｏｗ」オブジェクトが更新されたら）、ＴＯＤは、０である現在のオフセットと０である累積オフセットとをすべての波形プラグインへ送って、オフセットが再設定されたことを示すことができる。
【００６４】
波形オフセットを能動的に追跡する必要のある各波形は、「ＵｐｄａｔｅＯｆｆｓｅｔ」と呼ばれる機能を実装することができる。「ＵｐｄａｔｅＯｆｆｓｅｔ」は、新しい時間オフセットも累積時間オフセットも取り入れることができるものである。「ＵｐｄａｔｅＯｆｆｓｅｔ」機能は、現在のオフセットを波形のデータベースに格納するとともに波形プラグインが維持しているオフセットを更新するために用いられ得る。
【図面の簡単な説明】
【００６５】
【図１】図１は、本発明の非限定例による時刻同期及び配信機能を組み込むことができる手持ち式無線機としての携帯型無線通信装置の斜視図である。
【図１Ａ】図１Ａは、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）として構成され、本発明の非限定例による時刻同期及び配信機能を組み込んでいる２つのプロセッサを説明するブロック図である。
【図２】図２は、本発明の非限定例による時刻同期及び配信の状態図である。
【図３】図３は、本発明の非限定例による時刻同期及び配信の電源投入シーケンスを示すシーケンス図である。
【図４】図４は、本発明の非限定例による時刻同期及び配信のＧＰＳ時間調整シーケンスを示す図である。
【図５】図５は、本発明の非限定例による時刻同期及び配信のユーザ時間調整シーケンスを示す図である。
【図６】図６は、本発明の非限定例による時刻同期及び配信において用いられる基本ソフトウェア部品の上位レベルのブロック図である。
【図７】図７は、本発明の非限定例による時刻同期及び配信において用いられる基本ハードウェア部品を示すブロック図である。
【図８】図８は、本発明の非限定例による時刻同期及び配信において用いられるフィールドプログラマブルゲートアレイ時間アーキテクチャを示すブロック図である。
【図８Ａ】図８Ａは、本発明の非限定例による、汎用プロセッサ（ＧＰＰ）とＦＰＧＡとの間のシーケンスを示す図である。
【図９】図９は、時刻配信のブロック図であり、基本部品をプラットフォームプラグインとともに示す図である。
【図１】
2009512392.tif 000003
【図１Ａ】
2009512392.tif 000004
【図２】
2009512392.tif 000005
【図３】
2009512392.tif 000006
【図４】
2009512392.tif 000007
【図５】
2009512392.tif 000008
【図６】
2009512392.tif 000009
【図７】
2009512392.tif 000010
【図８】
2009512392.tif 000011
【図８Ａ】
2009512392.tif 000012
【図９】
2009512392.tif 000013
【手続補正書】
【提出日】平成20年6月13日(2008.6.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
それぞれがプロセッサを有する１対の無線サブシステムと、
時刻を決定するために少なくとも１つの無線サブシステムによって読まれるように動作する実時間クロックとを備え、該無線サブシステムの前記プロセッサがグローバルなハードウェアタイミングパルスを用いて前記時刻を前記無線サブシステムへ配信し、更に、波形がインスタンス化されている時に時間を取得する時刻サービスを備え、前記時刻サービスから時間オフセットが得られ、時間更新は、波形がインスタンス化されていない時にヒューマンマシンインターフェース又はＧＰＳを介して発生することを特徴とするソフトウエア無線機。
【請求項２】
前記１対の無線サブシステムは、ソフトウェア通信アーキテクチャ（ＳＣＡ）規格に準拠するオペレーティング環境を有する赤（コマンド）及び黒（データ）の無線サブシステムを含むことを特徴とする請求項１に記載のソフトウエア無線機。
【請求項３】
各プロセッサは、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）を含むことを特徴とする請求項１に記載のソフトウエア無線機。
【請求項４】
各プロセッサはフリーランニングタイマを含み、前記フリーランニングタイマに合わせて前記１対の無線サブシステム内の時刻源が設定されることを特徴とする請求項１に記載のソフトウエア無線機。
【請求項５】
ソフトウエア無線機内において時刻を同期させるシステムであって、
ソフトウェア通信アーキテクチャ（ＳＣＡ）規格に準拠するオペレーティング環境を有する赤（コマンド）及び黒（データ）の無線サブシステムと、
各無線サブシステム内のフィールドプログラマブルゲートアレイ（ＦＰＧＡ）及びフリーランニングタイマとを備え、それらタイマが同期しており、前記無線サブシステム内の時刻源が前記フリーランニングタイマに合わせて設定され、更に、波形がインスタンス化されている時に時間を取得する時刻サービスを備え、前記時刻サービスから時間オフセットが得られ、時間更新は、波形がインスタンス化されていない時にヒューマンマシンインターフェース又はＧＰＳを介して発生することを特徴とするシステム。
【請求項６】
ＦＰＧＡによって読み出され、グローバルなハードウェアタイミングパルスによって前記無線サブシステム内に配信される動作をする実時間クロックをさらに備えることを特徴とする請求項５に記載のシステム。
【請求項７】
前記ＦＰＧＡは前記時刻が格納されるレジスタを含んでおり、フリーランニングシステム時間を生成するためにレジスタが共通クロックを用いて互いに一致してインクリメントされることを特徴とする請求項５に記載のシステム。
【請求項８】
ソフトウエア無線機の複数の無線サブシステム内において時刻を同期させる方法であって、
実時間クロックから時刻を読み取り、
前記無線サブシステム内に前記時刻を格納し、
グローバルなハードウェアタイミングパルスを用いて前記時刻を前記無線サブシステム内の処理要素へ配信し、更に、波形がインスタンス化されている時に時刻サービスから時間を取得し、波形がインスタンス化されていない時にヒューマンマシンインターフェース又はＧＰＳを介して時間を更新することを特徴とする方法。
【請求項９】
前記複数の無線サブシステムのそれぞれの内部に含まれるフリーランニングタイマを同期させ、前記処理要素内の時刻源を前記フリーランニングタイマに合わせて設定することを特徴とする請求項８に記載の方法。
【請求項１０】
ソフトウェア通信アーキテクチャ（ＳＣＡ）規格に準拠するオペレーティング環境を有する赤（コマンド）及び黒（データ）の無線サブシステムに対応するフィールドプログラマブルゲートアレイ（ＦＰＧＡ）レジスタ内に前記時刻を格納することを特徴とする請求項８に記載の方法。
【国際調査報告】
2009512392.tif 000014