(57)【要約】  ＧＰＳ信号サンプルのストリームを受けるＦＩＦＯバッファ（１５）と、メモリ（１３）と、ＦＩＦＯバッファ（１５）からメモリ（１３）へＧＰＳ信号サンプルを伝送するＤＭＡコントローラ（１６）と、そして、メモリ（１３）からＧＰＳ信号サンプルを読み出し、これらを処理して位置ｆｉｘを得るように構成されたＧＰＳ信号処理ソフトウエアが実行されるＣＰＵ（１７）と、そして、ＤＭＡコントローラ（１６）とＧＰＳ信号サンプルのストリームのサンプル数をカウントし続けるＣＰＵ（１７）とから独立して動作するカウンタ（２０）を備えたソフトウエアＧＰＳ処理構成。
2008542785.tif 000002
【特許請求の範囲】
【請求項１】
複数ＧＰＳ信号サンプルのストリームを受けるＦＩＦＯバッファと、メモリと、前記ＦＩＦＯバッファから前記メモリへ前記複数ＧＰＳ信号サンプルを伝送するＤＭＡコントローラと、そして、前記メモリから前記複数ＧＰＳ信号サンプルを読み出し、これらを処理して位置ｆｉｘを得るように構成されたＧＰＳ信号処理ソフトウエアが実行されるＣＰＵとを備えたソフトウエアＧＰＳ処理構成であって、
前記ＤＭＡコントローラと、複数ＧＰＳ信号サンプルのストリームのサンプル数をカウントし続ける前記ＣＰＵとから独立して動作するカウンタを備えたことを特徴としたソフトウエアＧＰＳ処理構成。
【請求項２】
前記カウンタは外部カウント信号を受け、個々のカウントが二つ以上のＧＰＳ信号サンプルのストリームを示す請求項１に記載のソフトウエアＧＰＳ処理構成。
【請求項３】
ＧＰＳアンテナと、受信した複数ＧＰＳ信号をサンプリングするためのアナログ・デジタル変換器と前記複数ＧＰＳ信号サンプルのストリームを出力する処理構成とを含むＧＰＳ  ＲＦフロントエンドとを備えたＧＰＳ受信機であって、
前記処理構成は、さらに、個々のカウントが二つ以上のＧＰＳ信号サンプルのストリームを示すカウント信号を出力することを特徴としたＧＰＳ受信機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウエアＧＰＳ、そして、特に、ＧＰＳ信号サンプルのストリームを受けるＦＩＦＯバッファと、メモリと、ＦＩＦＯバッファからメモリへＧＰＳ信号サンプルを伝送するＤＭＡコントローラと、そして、メモリからＧＰＳ信号サンプルを読み出し、これらを処理して位置ｆｉｘを得るように構成されたＧＰＳ信号処理ソフトウエアが実行されるＣＰＵとを備えたソフトウエアＧＰＳ処理構成に関する。
【０００２】
本発明は、さらに、ＧＰＳアンテナと、受信したＧＰＳ信号をサンプリングするためのアナログ・デジタル変換器とＧＰＳ信号サンプルのストリームを出力する処理構成とを含むＧＰＳ  ＲＦフロントエンドとを備えた、対応ＧＰＳ受信機に関する。
【背景技術】
【０００３】
図１は、ソフトウエアＧＰＳの従来の実施例１０を概略的に示す。ＧＰＳＲＦフロントエンド１１は、そのアンテナと、典型的には、バンド外のＲＦ障害を低減するためのパッシブ・バンドパス・フィルタリングと前置増幅と中間周波数（ＩＦ）へのダウンコンバージョンとアナログからデジタルへの変換とによる前処理とを介して、ＮＡＶＳＴＡＲ  ＳＰＳ  ＧＰＳ信号を受信する。処理結果のＧＰＳ信号サンプルは、対応サンプル・クロック信号と共に、フロントエンドからストリームとしてマイクロプロセサ１２に出力される。
【０００４】
ＧＰＳ信号サンプルは補足され、そして、ＣＰＵによる後処理のために、システムメモリ１３に記憶される。これは、典型的には、多くのマイクロプロセサに対して設けられている同期シリアルポート１４へＧＰＳ信号サンプルのストリームを送出することにより行われる。同期シリアルポート１４は、データを、例えば、典型的には、１６ビットワードのワードにデシリアライズし、このワードはファースト・イン／ファースト・アウト（ＦＩＦＯ）バッファ１５に渡される。ダイレクト・メモリ・アクセス（ＤＭＡ）コントローラ１６は、データをＦＩＦＯから取り出し、システムメモリに記憶させるように構成されており、ある数のワードが蓄積されるとＦＩＦＯからの要求信号によりトリガされる。ＤＭＡ伝送は、データ・ソース及び行き先アドレスを特定するメモリに記憶された複数ディスクリプタと、伝送されるデータ長とにより制御される。ループに複数ディスクリプタを連結させることにより、ＣＰＵの関与なしに、データをリングバッファに捕捉することが可能になり、これは、比較的リソースが少ない携帯システムにおいて効果的である。
【０００５】
ＣＰＵ１７上で実行されるソフトウエアは、ＤＭＡコントローラのステータスを読み、リングバッファにどれだけデータが有り、そして、処理可能かを判断できる。リングバッファが何度満杯になったかを監視することにより、このソフトウエアは、如何なる時にでも捕捉されたデータ量を累積して、従って、メモリ内の所定サンプルにより表される時間位置を保持することもできる。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところが、マイクロプロセサのクロック速度が変化したときに問題が生じる。これは、携帯システムにおいて、電力を温存するために、クロック速度が現在の処理要求に合ったときに、屡々起こりうる。クロック速度変化の間、フェーズ・ロック・ループ（ＰＬＬ）が新しい周波数で安定するために、ＤＭＡ伝送を含む内部システムの活動が１００マイクロ秒以上停止することがありうる。ＳＳＰは、この時間にデータを受信し、ＦＩＦＯに記憶し続けるが、ＦＩＦＯから除かれるデータが無いので、いずれオーバフローし、データが消失する。さらには、どれだけのデータが消失したかが分からないので、サンプル蓄積量が不明となる。この場合、ＧＰＳ復号化ソフトウエアが、あたかも今立ち上がったかのように同じアルゴリズムを用いて、再スタートしなければならなくなることが起こりうるので、新たな位置Ｆｉｘを得るのに数秒かかる。
【課題を解決するための手段】
【０００７】
本発明によれば、上述のタイプのソフトウエアＧＰＳ処理構成が、ＤＭＡコントローラと、ＧＰＳ信号サンプルのストリームのサンプル数をカウントし続ける前記ＣＰＵとから独立して動作するカウンタを備える。
【０００８】
このような構成により、データ伝送中断後にサンプルの蓄積カウントが回復でき、そして、ＧＰＳ復号化アルゴリズムの本質により、すべてのデータを回復する必要がなく、利用可能なデータを用いて現在位置Ｆｉｘが決定でき、そして、復号化処理を再開する必要がない。
【発明を実施するための最良の形態】
【０００９】
図２を参照すると、本発明による、ソフトウエアＧＰＳの実施例が示され、図１に示されたソフトウエアＧＰＳの従来の実施例と比べて改良されている。
【００１０】
特に、ＧＰＳ  ＲＦフロントエンド１１からの各クロックサイクルを上げるために、４ビットカウンタがＧＰＳ  ＲＦフロントエンドに接続されている。このカウンタは、１６クロックサイクル毎にキャリーアウト信号を発生する一般的な論理素子である。キャリーアウト信号はＳＳＰのフレーム入力に接続される。フレーム入力はデータストリーム中のワード境界を規定し、図１の実施例では、ＳＳＰにより内部で発生されるであろう。
【００１１】
フレーム入力信号が、さらに、マイクロプロセサ周辺に一体化されている３２ビットカウンタに接続される。これは、典型的には、カウンタクロック源のソフトウエア構成を用いて行われるが、フレーム信号を専用のカウンタ入力ピンに外部接続することによっても達成可能である。
【００１２】
カウンタは、ＤＭＡ伝送中断の間、動作し続け、そして、ソフトウエアにより読み出し、受信したデータ蓄積量を判定することができる。
【００１３】
カウンタレジスタを読むことにより、ＳＳＰによりデシリアライズされたばかりのデータワードの（ワードにおける）蓄積時間が与えられる。ところが、メモリに記憶されたデータの捕捉時間を知るためには、このデータが記憶されるメモリアドレスをソフトウエアが決定する必要がある。ＤＭＡ伝送のための現在の対象アドレス、そして、これからＦＩＦＯされる伝送中のワード数によってアドレスは変わり、そして、アドレスはメモリマップ・レジスタを読むことにより決定される。ところが、これらのレジスタ値も周期的に変わり、そして、データワードが同一の場合に三値がすべて知られた時のみに正しい結果が得られる。このタイミングを一定にするのは、ソフトウエアがすべてのレジスタを連続して読んでいる時には難しく、何故ならば、それらは、ＣＰＵコアレジスタよりアクセスが遅い周辺バス上に存在するからである。この問題を解消する処理が考案された。
【００１４】
第一段階では、ＤＭＡ対象アドレスレジスタのみが監視される。このレジスタは、ＦＩＦＯからのデータ伝送のバースト中に変わり、これは、通常、ＦＩＦＯを満杯にするのに要する時間より遙かに短い。従って、ＤＭＡコントローラは、ＦＩＦＯ及びフレームカウンタに比べてアイドル状態が長くなり、両変化状態は各ワード境界にて起こる。ＤＭＡアイドル段階は決定することができ、何故ならば、これはバースト伝送段階に続くからであり、そして、アドレスは、次の段階では安定すると見なされるからである。
【００１５】
次の段階で、ＦＩＦＯ充足度を示すレジスタを、これがカウントアップするまで、ソフトウエアが繰り返し読み、データワードが今受け取られたことを示す。
【００１６】
最終段階で、一体化カウンタレジスタからの合計ワードカウントをソフトウエアが読む。ソフトウエアはこのカウンタのラップアラウンドをチェックし、それに応じて合計を調整する。バッファ動作開始からのオフセットＮにおけるメモリ内のワードの（ワードにおける）サンプリング時間ＴｎはＴｎ＝Ｃ-Ｆ-(Ｄ-Ｎ)で与えられ、ここで、Ｃはワードカウンタの値であり、ＦはＦＩＦＯ内のワード数であり、ＤはＤＭＡコントローラの現在の対象アドレスであり、メモリバッファ動作開始からのワード内のオフセットである。
【００１７】
上記の方法においては、もし、サンプリングクロックが直接内部カウンタに接続されていた場合に比べて、大きな信頼性を持って、外部４ビットカウンタが入力サンプルをカウントできる。必要なレジスタを読むためのアルゴリズムとの組み合わせで、ソフトウエアがこれに関連するハードウエア状態を読むことができるよりも、頻繁に起きる事象（サンプリングクロック）に同期してしまう問題を解消する。
【図面の簡単な説明】
【００１８】
【図１】上述の、ソフトウエアＧＰＳの従来の実施例１０を概略的に示す図である。
【図２】本発明による、ソフトウエアＧＰＳの実施例を概略的に示す図である。
【図１】
2008542785.tif 000003
【図２】
2008542785.tif 000004
【国際調査報告】
2008542785.tif 000005
2008542785.tif 000006