(57)【要約】【課題】バンク数を増加させることなく、アクセス競合の発生を抑制することができるメモリー制御の技術を提供すること。【解決手段】Ｘ個（Ｘは、Ｘ≧３を満たす整数）のバンクでなるメモリーに対する測位用衛星信号を受信した受信チャネル別の受信信号のアクセスを制御するメモリー制御方法であって、前記受信チャネルそれぞれに、個別のリングバッファを構成させるためのＮ個（Ｎは、Ｘ≧Ｎ≧２を満たす整数）の前記バンクを対応付け、且つ、同じ個数の同じ前記バンクが対応付けられた前記受信チャネルに係る、前記リングバッファの構成バッファをオフセットさせたメモリー割当情報を設定することと、前記メモリー割当情報に基づいて前記メモリーへのアクセス制御を行うことと、を含むメモリー制御方法を構成する。【選択図】図２
2017156288.tif 000002
【特許請求の範囲】
【請求項１】
Ｘ個（Ｘは、Ｘ≧３を満たす整数）のバンクでなるメモリーに対する測位用衛星信号を受信した受信チャネル別の受信信号のアクセスを制御するメモリー制御方法であって、
前記受信チャネルそれぞれに、個別のリングバッファを構成させるためのＮ個（Ｎは、Ｘ≧Ｎ≧２を満たす整数）の前記バンクを対応付け、且つ、同じ個数の同じ前記バンクが対応付けられた前記受信チャネルに係る、前記リングバッファの構成バッファをオフセットさせたメモリー割当情報を設定することと、
前記メモリー割当情報に基づいて前記メモリーへのアクセス制御を行うことと、
を含むメモリー制御方法。
【請求項２】
前記受信チャネルそれぞれへの前記Ｎ個のバンクの対応付けは、Ｙ個（Ｙは、Ｙ≧１を満たす整数）の前記バンクを１つの構成バッファとするＭ個（Ｍは、Ｍ≧２を満たす整数）の構成バッファ（但し、Ｙ×Ｍ＝Ｎが成り立つこと）で前記リングバッファを構成する対応付けであり、
前記アクセス制御は、前記リングバッファのうち、前記受信信号の書き込み対象である構成バッファ以外の構成バッファを読み出し対象とする制御を含む、
請求項１に記載のメモリー制御方法。
【請求項３】
前記バンクは１ポートメモリーであり、
前記アクセス制御は、前記バンクそれぞれに対して並列にアクセスすることを含む、
請求項１又は２に記載のメモリー制御方法。
【請求項４】
前記アクセス制御は、同一バンクに対して書き込み及び読み出しが競合した場合に、書き込みを優先して実行することを含む、
請求項３に記載のメモリー制御方法。
【請求項５】
前記設定することは、複数のＧＮＳＳ（Global Navigation Satellite System）からの前記測位用衛星信号を搬送周波数毎に１つの前記受信チャネルとすることを含む、
請求項１〜４の何れか一項に記載のメモリー制御方法。
【請求項６】
Ｘ個（Ｘは、Ｘ≧３を満たす整数）のバンクでなるメモリーに対する測位用衛星信号を受信した受信チャネル別の受信信号のアクセスを制御するメモリーコントローラーであって、
前記受信チャネルそれぞれに、個別のリングバッファを構成させるためのＮ個（Ｎは、Ｘ≧Ｎ≧２を満たす整数）の前記バンクを対応付け、且つ、同じ個数の同じ前記バンクが対応付けられた前記受信チャネルに係る、前記リングバッファの構成バッファをオフセットさせたメモリー割当情報を記憶する記憶部と、
前記メモリー割当情報に基づいて前記メモリーへのアクセス制御を行う制御部と、
を備えたメモリーコントローラー。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリーに対するアクセスを制御するメモリー制御方法等に関する。
【背景技術】
【０００２】
ＧＰＳ受信機に代表される測位用衛星信号受信機では、衛星信号の受信データを一旦サンプルメモリーに保存しておき、サンプルメモリーから読み出したデータに対して、相関演算等の処理を行って測位演算を実行している。サンプルメモリーは、並列してアクセス可能な複数（例えば、２つ）のバンク（ページ）で構成され、一方のバンクに書き込みを行っている間は、他方のバンクから読み出しを行うといったように、サンプルメモリーに対するデータの書き込みと読み出しとを並列して実行することができる（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第５４２０５９３号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年では、ＧＰＳ（Global Positioning System）やＱＺＳＳ（Quasi Zenith Satellite System）、ＧＬＯＮＡＳＳ（GLObal NAvigation Satellite System）、ＢｅｉＤｏｕ（北斗衛星導航系統）、Ｇａｌｉｌｅｏ（ガリレオ）といった様々な種類の衛星測位システムの衛星信号を受信して測位可能な、いわゆるマルチＧＮＳＳ（Global Navigation Satellite Systems）対応受信機（以下、「ＧＮＳＳ受信機」という）の開発が進められている。衛星測位システムはそれぞれ独自の仕様で運用されており、ＧＮＳＳ受信機では、衛星測位システム毎に、衛星信号を受信し、受信信号のデータに対する測位演算処理を行う。このため、サンプルメモリーにおいても、衛星測位システム毎にデータの格納領域を分ける必要がある。
【０００５】
そこで、例えば、衛星測位システム毎に入出力ポートを備えたバンクを別個に設ける考えがある。しかし、これでは衛星測位システムの種類の増加に応じて必要なバンク数が増加してしまう。
【０００６】
そこで、バンク数を増加させることなく、１つのバンクに対して複数の衛星測位システムのデータの格納領域を割り当てた場合、例えば、１つのバンクに対して異なる複数の衛星測位システムの受信データの書き込みが競合した場合、同時に書き込みを行うことができないため、書き込みに待ち時間が発生する。
【０００７】
本発明は、上記事情に鑑みてなされたものであり、その目的とするところは、バンク数を増加させることなく、アクセス競合の発生を抑制することができるメモリー制御の技術を提供することである。
【課題を解決するための手段】
【０００８】
上記課題を解決するための第１の形態は、Ｘ個（Ｘは、Ｘ≧３を満たす整数）のバンクでなるメモリーに対する測位用衛星信号を受信した受信チャネル別の受信信号のアクセスを制御するメモリー制御方法であって、前記受信チャネルそれぞれに、個別のリングバッファを構成させるためのＮ個（Ｎは、Ｘ≧Ｎ≧２を満たす整数）の前記バンクを対応付け、且つ、同じ個数の同じ前記バンクが対応付けられた前記受信チャネルに係る、前記リングバッファの構成バッファをオフセットさせたメモリー割当情報を設定することと、前記メモリー割当情報に基づいて前記メモリーへのアクセス制御を行うことと、を含むメモリー制御方法である。
【０００９】
また、他の形態として、Ｘ個（Ｘは、Ｘ≧３を満たす整数）のバンクでなるメモリーに対する測位用衛星信号を受信した受信チャネル別の受信信号のアクセスを制御するメモリーコントローラーであって、前記受信チャネルそれぞれに、個別のリングバッファを構成させるためのＮ個（Ｎは、Ｘ≧Ｎ≧２を満たす整数）の前記バンクを対応付け、且つ、同じ個数の同じ前記バンクが対応付けられた前記受信チャネルに係る、前記リングバッファの構成バッファをオフセットさせたメモリー割当情報を記憶する記憶部と、前記メモリー割当情報に基づいて前記メモリーへのアクセス制御を行う制御部と、を備えたメモリーコントローラーを構成しても良い。
【００１０】
この第１の形態等によれば、測位用衛星信号を受信する複数の受信チャネル別の受信信号を書き込むメモリーとして、バンク数を増加させることなく、アクセス競合の発生を抑えたメモリー制御を実現できる。すなわち、Ｘ個のバンクでなるメモリーについて、同一のバンクに対して複数の受信チャネルを対応付けることができるので、受信チャネルの増加にかかわらず、バンク数を増加させることがない。そして、同じ個数の同じバンクが対応付けられた受信チャネルについては、リングバッファの構成バッファをオフセットさせているので、例えば異なる受信チャネルの受信信号を同じタイミングで書き込む要求が発生した場合であっても、異なるバンクに対して書き込むことになる。このため、同一バンクへのアクセスが集中することなく、アクセス競合が減少する。
【００１１】
第２の形態として、第１の形態のメモリー制御方法であって、前記受信チャネルそれぞれへの前記Ｎ個のバンクの対応付けは、Ｙ個（Ｙは、Ｙ≧１を満たす整数）の前記バンクを１つの構成バッファとするＭ個（Ｍは、Ｍ≧２を満たす整数）の構成バッファ（但し、Ｙ×Ｍ＝Ｎが成り立つこと）で前記リングバッファを構成する対応付けであり、前記アクセス制御は、前記リングバッファのうち、前記受信信号の書き込み対象である構成バッファ以外の構成バッファを読み出し対象とする制御を含む、メモリー制御方法を構成しても良い。
【００１２】
この第２の形態によれば、Ｙ個のバンクを１つの構成バッファとするＭ個の構成バッファでリングバッファを構成するように、受信チャネルそれぞれにＮ個のバンクが対応付けられる。そして、リングバッファのうち、受信信号の書き込み対象以外の構成バッファを読み出し対象とするように、アクセス制御がなされる。つまり、バンクを単位とした受信チャネル別のアクセス制御を行うことができる。
【００１３】
第３の形態として、第１又は第２の形態のメモリー制御方法であって、前記バンクは１ポートメモリーであり、前記アクセス制御は、前記バンクそれぞれに対して並列にアクセスすることを含む、メモリー制御方法を構成しても良い。
【００１４】
この第３の形態によれば、バンクは１ポートメモリーであるが、バンクそれぞれに対して並列にアクセスすることができる。つまり、受信チャネルそれぞれのリングバッファが対応付けられたバンクは１ポートメモリーであるものの、リングバッファの構成バッファがオフセットされているため、例えば、同じタイミングで受信した信号を書き込む場合には、バンクそれぞれに対して並列にアクセスすることが可能となる。
【００１５】
第４の形態として、第３の形態のメモリー制御方法であって、前記アクセス制御は、同一バンクに対して書き込み及び読み出しが競合した場合に、書き込みを優先して実行することを含む、メモリー制御方法を構成しても良い。
【００１６】
この第４の形態によれば、同一バンクに対して書き込み及び読み出しが競合した場合、書き込みが優先して実行される。
【００１７】
第５の形態として、第１〜第４の何れかの形態のメモリー制御方法であって、前記設定することは、複数のＧＮＳＳ（Global Navigation Satellite System）からの前記測位用衛星信号を搬送周波数毎に１つの前記受信チャネルとすることを含む、メモリー制御方法を構成しても良い。
【００１８】
この第５の形態によれば、マルチＧＮＳＳに対応した受信チャネル別のメモリー制御方法を実現することができる。
【図面の簡単な説明】
【００１９】
【図１】携帯型電子機器の全体構成図。
【図２】ＧＮＳＳ受信機の内部構成図。
【図３】サンプルメモリー部の構成図。
【図４】サンプルメモリー部のバンクの構成図。
【図５】受信チャネルに対するバンクの対応付けの一例。
【図６】サンプルメモリー部に対する受信チャネル毎のバッファの割り当ての一例。
【図７】比較例となるメモリー構成の一例。
【図８】図７のメモリー構成に対するアクセス制御の一例。
【図９】図６のメモリー構成に対するアクセス制御の一例。
【図１０】受信チャネル割当情報の一例。
【図１１】メモリー割当情報の一例。
【図１２】メモリーコントローラーの機能構成図。
【図１３】サンプルメモリー部のアクセスに係る処理の流れのフローチャート。
【図１４】メモリー構成の変形例。
【発明を実施するための形態】
【００２０】
［全体構成］
図１は、本実施形態の携帯型電子機器１の全体構成図である。携帯型電子機器１は、ユーザーが携帯し、或いは腕や手首に装着して使用される小型の電子機器であり、例えば、腕時計型を成して構成される。携帯型電子機器１は、ＧＮＳＳ受信機１０と、メイン処理部５０と、操作部５２と、表示部５４と、音出力部５６と、時計部５８と、通信部６０と、メイン記憶部６２と、電源部７０とを備えて構成される。
【００２１】
ＧＮＳＳ受信機１０は、ＧＰＳやＱＺＳＳ、ＧＬＯＮＡＳＳ等の複数の衛星測位システムによる測位が可能ないわゆるマルチＧＮＳＳ対応受信機であり、受信した測位用衛星信号に重畳されて搬送されている情報に基づいて、ＧＮＳＳ受信機１０の位置や時計誤差を算出する。
【００２２】
メイン処理部５０は、ＣＰＵ（Central Processing Unit）等のプロセッサーやＦＰＧＡ（Field Programmable Gate Array）、ＡＳＩＣ（Application Specific Integrated Circuit）で構成される演算処理装置であり、メイン記憶部６２に記憶されたシステムプログラム等の各種プログラムに従って携帯型電子機器１の各部を統括的に制御する。また、ＧＮＳＳ受信機１０の測位結果に基づいて各種の処理を実行する。
【００２３】
操作部５２は、タッチパネルやボタンスイッチで構成される入力装置であり、ユーザーの操作に応じた操作信号をメイン処理部５０に出力する。表示部５４は、ＬＣＤ（Liquid Crystal Display）等で構成される表示装置であり、メイン処理部５０からの表示信号に基づく各種表示を行う。音出力部５６は、スピーカー等で構成される音声出力装置であり、メイン処理部５０からの音信号に基づく各種音声出力を行う。時計部５８は、内部時計であり、水晶発振器等を有する発振回路によって構成され、現在時刻や、指定されたタイミングからの経過時間を計時する。通信部６０は、無線ＬＡＮ（Local Area Network）やＢｌｕｅｔｏｏｔｈ（登録商標）等の無線通信装置であり、外部装置との通信を行う。
【００２４】
メイン記憶部６２は、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）等で構成される記憶装置であり、メイン処理部５０が携帯型電子機器１の各種機能を実現するためのプログラムやデータを記憶するとともに、メイン処理部５０の作業領域として用いられ、メイン処理部５０の演算結果や、操作部５２からの操作データ等を一時的に格納する。電源部７０は、携帯型電子機器１を構成する各部へ電源を供給する。
【００２５】
図２は、ＧＮＳＳ受信機１０の内部構成図である。ＧＮＳＳ受信機１０は、受信アンテナ１２と、受信部１４と、メモリーコントローラー２０と、サンプルメモリー部３０と、ベースバンド処理回路部４０とを有して構成される。なお、ＧＮＳＳ受信機１０は、受信アンテナ１２を有さず、受信部１４と、メモリーコントローラー２０と、サンプルメモリー部３０と、ベースバンド処理回路部４０とを有して構成されることとしても良い。
【００２６】
受信アンテナ１２は、ＧＮＳＳ受信機１０が利用可能な複数の衛星測位システムそれぞれの衛星信号の搬送波周波数の信号を受信可能に構成されている。受信部１４は、受信チャネルそれぞれに対応する複数のＲＦ受信回路部１６及びサンプリング部１８の組み合わせを有する。ＲＦ受信回路部１６は、受信アンテナ１２によって受信された信号を中間周波数の信号にダウンコンバートし、増幅した後、デジタル信号に変換して出力する。なお、ダイレクトコンバージョン方式の回路とするならば、直接ベースバンド周波数の信号に変換した上で、デジタル信号に変換して出力することができる。サンプリング部１８は、ＲＦ受信回路部１６から出力される受信信号を、所定のサンプル時間間隔（サンプリングレート）でサンプリングし、メモリーコントローラー２０に対して、サンプルメモリー部３０への書き込みを指示する。
【００２７】
メモリーコントローラー２０は、サンプリング部１８からの書き込み指示に従ったデータの書き込みや、ＢＢ（ベースバンド）処理部３００からの読み出し指示に従ったデータの読み出しといった、サンプルメモリー部３０へのアクセスを制御する。サンプルメモリー部３０は、サンプリング部１８から出力される受信信号のデータを記憶する。
【００２８】
図３は、サンプルメモリー部３０の構成図である。サンプルメモリー部３０は、６つのバンク３２−１〜３２−６（バンク数Ｘ＝６）によって構成される。それぞれのバンク３２は、１つのポートによって、データの書き込み、及び、読み出しを時分割で行ういわゆる１ポートメモリーである。
【００２９】
複数の受信チャネルそれぞれによる受信信号のデータを格納するため、サンプルメモリー部３０に対して、受信チャネル別に格納領域を割り当てて確保する必要がある。サンプルメモリー部３０に対する受信チャネルの割り当ては、受信チャネルの数や、各受信チャネルに割り当てた測位用衛星の種類に応じて決まる。以下では、受信チャネルの数を「７」とし、１つの受信チャネルにＧＰＳを割り当て、６つの受信チャネルそれぞれにＧＬＯＮＡＳＳの６つの測位用衛星それぞれを割り当てた場合について説明する。ＧＰＳは、ＣＤＭＡ方式で拡散変調されるため、全ての衛星の搬送波周波数が同じであり、ＧＬＯＮＡＳＳは、衛星毎に搬送波周波数が異なるためである。
【００３０】
先ず、図４に示すように、各バンク３２は、それぞれ４つの領域Ａ〜Ｄとなるようにアドレスを分けることができる。そして、受信チャネルそれぞれに、個別のリングバッファを構成させるためのＮ個（Ｎ≧２）のバンク３２を対応付けるが、同じ受信チャネルには、同じ領域のバンク３２を対応付ける。例えば、Ｎ＝３として、１つの受信チャネルに３つのバンク３２を対応付ける場合には、その３つのバンクの同じ領域（領域Ａなら領域Ａ）に対応付ける。対応付けるバンク３２の数Ｎは、航法メッセージのビット長に応じて決まる。
【００３１】
図５は、受信チャネルに対するバンクの対応付けの一例である。図５では、ＧＰＳには、６つのバンク３２が対応付けられ、ＧＬＯＮＡＳＳの各衛星には、それぞれ、３つのバンク３２が対応付けられている。詳細には、ＧＰＳには、バンク３２−１〜３２−６それぞれの領域Ａが対応付けられている。また、ＧＬＯＮＡＳＳの第１衛星（♯１）には、バンク３２−１〜３２−３それぞれの領域Ｂが対応付けられ、第２衛星（♯２）には、バンク３２−４〜３２−６それぞれの領域Ｂが対応付けられ、第３衛星（♯３）には、バンク３２−１〜３２−３それぞれの領域Ｃが対応付けられ、第４衛星（♯４）には、バンク３２−４〜３２−６それぞれの領域Ｃが対応付けられ、第５衛星（♯５）には、バンク３２−１〜３２−３それぞれの領域Ｄが対応付けられ、第６衛星（♯６）には、バンク３２−４〜３２−６それぞれの領域Ｄが対応付けられている。
【００３２】
そして、受信チャネルそれぞれに対応付けられたバンク３２に対して、リングバッファを構成するバッファ１〜３を割り当てる。このとき、同じ個数のバンク３２が対応付けられた受信チャネルについては、バッファ単位でオフセットさせるように割り当てる。
【００３３】
図６は、サンプルメモリー部３０に対する受信チャネル毎のバッファの割り当ての一例である。ＧＰＳには６つのバンク３２が対応付けられており、受信信号のサンプルデータのサイズに基づき、２つのバンク３２を１つのバッファとして割り当てる。すなわち、バンク３２−１，３２−２それぞれの領域Ａをバッファ１とし、バンク３２−３，３２−４それぞれの領域Ａをバッファ２とし、バンク３２−５，３２−６それぞれの領域Ａをバッファ３として割り当てる。
【００３４】
また、３つのバンク３２が対応付けられたＧＬＯＮＡＳＳの６つの受信チャネルについては、１つのバンク３２を１つのバッファとし、バッファ単位でオフセットするように、すなわちこの場合は１つのバンク３２単位でオフセットするように割り当てる。結果、バンク３２−１〜３２−３が対応付けられたＧＬＯＮＡＳＳの第１衛星（♯１）、第３衛星（♯３）、第５衛星（♯５）については、第１衛星（♯１）には、バンク３２−１〜３２−３の順にバッファ１〜３それぞれが割り当てられ、第３衛星（♯３）には、バンク３２−２，３２−３，３２−１の順にバッファ１〜３それぞれが割り当てられ、第５衛星（♯５）には、バンク３２−３，３２−１，３２−２の順にバッファ１〜３それぞれが割り当てられる。また、バンク３２−４〜３２−６が対応付けられたＧＬＯＮＡＳＳの第２衛星（♯２），第４衛星（♯４），第６衛星（♯６）についても同様に、第２衛星（♯２）には、バンク３２−４〜３２−６の順にバッファ１〜３それぞれが割り当てられ、第４衛星（♯４）には、バンク３２−５，３２−６，３２−４の順にバッファ１〜３それぞれが割り当てられ、第６衛星（♯６）には、バンク３２−６，３２−４，３２−５の順にバッファ１〜３それぞれが割り当てられる。
【００３５】
受信チャネル別のサンプルメモリー部３０へのアクセス（書き込み及び読み出し）は、バッファを単位として行われる。すなわち、例えばバッファ１〜３の順に書き込み対象とし、書き込み対象となっていない他の２つのバッファが、データの読み出し対象のバッファとなる。バッファの番号はいわば書き込みポインタとして機能するのである。
【００３６】
続いて、メモリーコントローラー２０によるサンプルメモリー部３０に対するアクセス制御について説明する。先ず、本実施形態との比較例として、図７に、バッファの割り当てを「オフセットさせない」場合の一例を示す。具体的には、各受信チャネルへのバンク３２の対応付けは、本実施形態と同じである。また、各受信チャネルのバッファの割り当ては、ＧＰＳについては、本実施形態と同じであるが、ＧＬＯＮＡＳＳについては、本実施形態と異なる。すなわち、バンク３２−１〜３２−３が対応付けられたＧＬＯＮＡＳＳの第１衛星（♯１）、第３衛星（♯３）、第５衛星（♯５）については、バンク３２−１〜３２−３の順にバッファ１〜３それぞれが割り当てられ、また、バンク３２−４〜３２−６が対応付けられたＧＬＯＮＡＳＳの第２衛星（♯２），第４衛星（♯４），第６衛星（♯６）については、バンク３２−４〜３２−６の順にバッファ１〜３それぞれが割り当てられている。
【００３７】
図８，図９は、メモリーコントローラー２０によるサンプルメモリー部３０へのアクセス制御の概略的なタイミングチャートの例を示している。分かり易く説明するために簡略的に表している。図８は、比較例のメモリー構成（図７参照）に対するアクセス制御を示し、図９は、本実施形態のメモリー構成（図６参照）に対するアクセス制御を示している。メモリーコントローラー２０は、所与のクロックタイミングで、サンプルメモリー部３０に対するアクセス（書き込み及び読み出し）を行う。図８，図９では、横方向を時間軸とするアクセスタイミングとし、受信チャネルそれぞれについて、書き込み及び読み出しの実行有無と、その実行対象となるバンク３２（Ｂ１〜Ｂ５）とを示している。
【００３８】
メモリーコントローラー２０は、バンク３２−１〜３２−６それぞれに対して並列にアクセスを行うことができる。また、バンク３２は１ポートメモリーであるため、書き込み及び読み出しを同時に行うことはできない。このため、１つのバンク３２に対して複数のアクセス指示が競合した場合には、書き込みを優先することとする。また、ＧＬＯＮＡＳＳでは、複数の衛星信号に対してサンプリング１８が同期したサンプリングを行っているため、ＧＬＯＮＡＳＳが割り当てられた複数の受信チャネルについては、ほぼ同時に書き込み指示がなされる。
【００３９】
図８に示すように、比較例のメモリー構成に対して、例えば、タイミングｔ１において、ＧＰＳ、及び、ＧＬＯＮＡＳＳの各衛星♯１〜♯６それぞれについて、ほぼ同時に書き込み指示がなされ、バッファ１への書き込み要求がなされている。このとき、ＧＰＳ、及び、ＧＬＯＮＡＳＳの衛星♯１，♯３，♯５については、バッファ１に同じバンク３２−１が割り当てられており、書き込み指示が競合する。そのため、同時に書き込みを実行することができず、タイミングをずらして、順に（図８では、ＧＰＳ、ＧＬＯＮＡＳＳの衛星♯１，♯３，♯５の順に）書き込みを実行している。また、ＧＬＯＮＡＳＳの衛星♯２，♯４，♯６についても同様に、バッファ１に同じバンク３２−４が割り当てられており、書き込み指示が競合するため、同時に書き込みを実行することができず、タイミングをずらして、順に（図８では、衛星♯２，♯４，♯６の順に）書き込みを実行している。つまり、タイミングｔ１に続くタイミングｔ２，ｔ３，ｔ４の図８における合計４回分の時間で書き込みの実行が完了している。
【００４０】
一方、サンプルメモリー部３０からの読み出しは、書き込み対象となっていないバッファであれば任意のタイミングで読み出し可能である。バッファ１が書き込み対象となっている場合には、書き込み対象でないバッファ２，３が読み出し対象となる。つまり、ＧＰＳについては、バッファ２，３が割り当てられているバンク３２−３〜３２−６が読み出し対象となり、ＧＬＯＮＡＳＳについては、バッファ２，３が割り当てられているバンク３２−２，３２−３，３２−５，３２−６が読み出し対象となる。
【００４１】
その後のタイミングｔ６においても同様に、ほぼ同時に、ＧＰＳ、及び、ＧＬＯＮＡＳＳの各衛星♯１〜♯６それぞれについての書き込み要求がなされている。このタイミングでも、書き込み指示が競合するため、同時に書き込みを実行することができず、タイミングをずらして書き込みを実行している。
【００４２】
これに対して、図９に示すように、本実施形態のメモリー構成では、図８のタイミングｔ１のときと同様に、タイミングｔ７において、ＧＰＳ、及び、ＧＬＯＮＡＳＳの各衛星♯１〜♯６それぞれについて、ほぼ同時に書き込み指示がなされ、バッファ１への書き込み要求がなされている。このとき、ＧＰＳ、及び、ＧＬＯＮＡＳＳの衛星♯１については、バッファ１に同じバンク３２−１が割り当てられており、書き込み指示に競合が発生するため、同時に書き込みを実行することができず、タイミングをずらして、順に（図９では、ＧＰＳ、衛星♯１の順に）書き込みを実行している。しかし、これ以外のＧＬＯＮＡＳＳの衛星♯２〜♯６については、バッファ１に割り当てられているバンクがバンク３２−２〜３２−６とそれぞれ異なっているため、バッファ１へのデータの書き込みを、同一のタイミングｔ７で実行している。つまり、タイミングｔ７，ｔ８の図９における合計２回分の時間で書き込みの実行が完了している。
【００４３】
一方、サンプルメモリー部３０からの読み出しは、バッファ１が書き込み対象となっている場合には、書き込み対象でないバッファ２，３が読み出し対象となる。つまり、ＧＰＳについては、バッファ２，３が割り当てられているバンク３２−３〜３２−６が読み出し対象となり、ＧＬＯＮＡＳＳについては、バッファ２，３が割り当てられているバンク３２−１〜３２−６が読み出し対象となる。
【００４４】
その後のタイミングｔ１０においても同様に、ほぼ同時に、ＧＰＳ、及び、ＧＬＯＮＡＳＳの各衛星♯１〜♯６それぞれについての書き込み要求がなされている。このタイミングでも、ＧＰＳ、及び、ＧＬＯＮＡＳＳの衛星♯１については、書き込み指示に競合が発生するため、タイミングをずらして順に書き込みを実行しているが、これ以外のＧＬＯＮＡＳＳの衛星♯２〜♯６については、書き込み指示は競合せず、同一のタイミングｔ７で書き込みを実行している。
【００４５】
このように、本実施形態のメモリー構成（図６参照）と、比較例のメモリー構成（図７参照）とを比較すると、受信チャネルそれぞれのデータを同一バッファへ書き込む際に要する時間は、比較例のメモリー構成では４回分のタイミングに相当する時間となり、本実施形態のメモリー構成では２回分のタイミングに相当する時間となることから、本実施形態のほうが短くなる。
【００４６】
図２に戻り、ベースバンド処理回路部４０は、ＢＢ処理部３００と、ＢＢ記憶部４００とを有する。
【００４７】
ＢＢ処理部３００は、ＣＰＵやＤＳＰ（Digital Signal Processor）等のプロセッサーで実現され、ＧＮＳＳ受信機１０の各部を統括的に制御する。また、ＢＢ処理部３００は、ベースバンドプログラム４０２の実行により実現される機能部として、受信チャネル割当部３０２と、メモリー割当部３０４と、測位演算部３０６とを有する。
【００４８】
受信チャネル割当部３０２は、受信チャネルそれぞれに、受信すべき測位衛星システムやその衛星を割り当てる。このとき、ＧＰＳやＧａｌｉｌｅｏ、ＢｅｉＤｏｕといった、測位用衛星信号の搬送波が各衛星で全て同じである衛星測位システムには１つの受信チャネルを割り当て、ＧＬＯＮＡＳＳといった、測位用衛星信号の搬送波が衛星毎に異なる衛星測位システムには、衛星毎に１つの受信チャネルを割り当てる。
【００４９】
割り当て結果は、受信チャネル割当情報４０４として記憶される。図１０は、受信チャネル割当情報４０４の一例である。図１０によれば、受信チャネル割当情報４０４は、受信チャネルそれぞれに、割り当てた衛星測位システムの種類や衛星を、対応付けて格納している。
【００５０】
メモリー割当部３０４は、受信チャネルそれぞれへの衛星測位システムの割り当てに従って、サンプルメモリー部３０に対する受信チャネルの割り当てを行う。すなわち、衛星測位システムに応じて、受信チャネルそれぞれに対応付けるバンクの数を決定する。そして、同一数のバンクを対応付けた受信チャネルについては、バッファ単位でオフセットして、バッファ１〜３それぞれに対応付けたバンクを割り当てる。
【００５１】
割り当て結果は、メモリー割当情報４０６として記憶される。図１１は、メモリー割当情報４０６の一例である。図１１によれば、メモリー割当情報４０６は、受信チャネルそれぞれについて、バッファ１〜３それぞれに割り当てたバンク３２及びその領域を対応付けて格納している。
【００５２】
測位演算部３０６は、測位用衛星システム毎に、サンプルメモリー部３０から読み出した受信信号のデータに対して、キャリヤ（搬送波）除去や相関演算等のデジタル信号処理を行って測位用衛星（測位用衛星信号）を捕捉し、捕捉した測位用衛星についての衛星軌道情報やメジャメント情報を取得する。そして、取得した衛星軌道情報やメジャメント情報を用いた位置算出処理を行って、ＧＮＳＳ受信機１０の位置や時計誤差を算出する。取得された衛星軌道情報やメジャメント情報、算出された位置や時計誤差などは、測位情報４０８として記憶される。
【００５３】
ＢＢ（ベースバンド）記憶部４００は、ＲＯＭやＲＡＭ等の記憶装置で実現され、ＢＢ処理部３００がベースバンド処理回路部４０を統括的に制御するためのシステムプログラムやデータ等を記憶しているとともに、ＢＢ処理部３００の作業領域として用いられ、ＢＢ処理部３００の演算結果を一時的に格納する。本実施形態では、ＢＢ記憶部４００には、ベースバンドプログラム４０２と、受信チャネル割当情報４０４と、メモリー割当情報４０６と、測位情報４０８とが記憶される。
【００５４】
図１２は、メモリーコントローラー２０の回路構成図である。メモリーコントローラー２０は、大きく、制御部１００と、記憶部２００とに分かれて構成される。制御部１００は、書き込み制御部１０２と、読み出し制御部１０４とを有する。
【００５５】
書き込み制御部１０２は、サンプリング部１８からの書き込み指示に従って、サンプルメモリー部３０に対するデータの書き込みを行う。但し、サンプルメモリー部３０の書き込みは、所定バッファ（例えば、バッファ１）から順に書き込み対象として実行することとする。具体的には、所与のクロックに従ったアクセスタイミング毎に、各受信チャネルのサンプリング部１８それぞれからなされた書き込み指示それぞれについて、記憶部２００のメモリー割当情報４０６を参照して、書き込み対象のバッファが割り当てられているサンプルメモリー部３０のバンクを判断し、他の書き込み指示との競合を判断する。競合していない書き込み指示については、当該書き込み指示に従って、書き込み対象のバッファが割り当てられているバンク３２への書き込みを実行する。競合する書き込み指示については、所定の優先順序（例えば、受信チャネルの序列や、書き込み指示の受付順など）に従って、実行する１つの書き込み指示を選択する。そして、選択した書き込み指示を実行し、選択しなかった書き込み指示については、次のアクセスタイミングにおいて、実行するかの判断対象とする。
【００５６】
読み出し制御部１０４は、測位演算部３０６からの読み出し指示に従って、サンプルメモリー部３０に対するデータの読み出しを行う。具体的には、記憶部２００のメモリー割当情報４０６を参照して、読み出し指示によって指定された受信チャネルの読み出し対象のバッファが割り当てられているバンク３２を判断し、判断したバンク３２が、書き込み制御部１０２による書き込み対象となっているか判断する。書き込み対象となっていないならば、読み出し指示に従って、読み出し対象となっているバッファが割り当てられているバンク３２からのデータの読み出しを実行し、読み出したデータを、測位演算部３０６へ出力する。書き込み対象となっているならば、読み出し指示を実行せず、次のアクセスタイミングにおいて、実行するかの判断対象とする。
【００５７】
記憶部２００には、メモリー割当情報４０６が記憶される。このメモリー割当情報４０６は、メモリー割当部３０４によって生成及び記憶された情報であり、ＢＢ記憶部４００に生成及び記憶されるメモリー割当情報４０６と同じものである。
【００５８】
［処理の流れ］
図１３は、ＧＮＳＳ受信機１０が実行するメモリー制御の流れを示すフローチャートであり、メモリー制御は、ベースバンドプログラム４０２を実行することにより実現される測位処理内の一部の処理である。
【００５９】
メモリー制御においては、先ず、メモリー割当部３０４が、測位に使用する受信チャネルそれぞれへの衛星測位システムの割り当てに従って、サンプルメモリー部３０に対する受信チャネルの割り当てを行う。この割り当てによって、メモリー割当情報４０６を生成する。すなわち、割り当てられた衛星測位システムに応じて、受信チャネルそれぞれに、個別のリングバッファを構成させるためのＮ個（Ｎ≧２）のバンクを対応付け、且つ、同じ個数の同じバンクを対応付けた受信チャネルについては、リングバッファの構成バッファをオフセットさせたメモリー割当情報４０６を設定する（ステップＳ１）。そして、設定したメモリー割当情報４０６を、メモリーコントローラー２０に出力して記憶させる（ステップＳ３）。
【００６０】
その後、メモリーコントローラー２０において、制御部１００が、メモリー割当情報４０６に従って、サンプルメモリー部３０に対するアクセス制御を行う。すなわち、書き込み制御部１０２が、サンプリング部１８からの書き込み指示に従ったサンプルメモリー部３０に対するデータの書き込みを行い、読み出し制御部１０４が、測位演算部３０６からの読み出し指示に従ったサンプルメモリー部３０からのデータの読み出しを実行する（ステップＳ５）。
【００６１】
［作用効果］
このように、本実施形態によれば、測位用衛星信号を受信する複数の受信チャネル別の受信信号を書き込むサンプルメモリーとして、バンク数を増加させることなく、アクセス競合の発生を抑えたメモリー制御を実現できる。すなわち、Ｘ個（上記実施形態では、６個）のバンク３２（上記実施形態では、バンク３２−１〜３２−６）でなるサンプルメモリー部３０について、同一のバンク３２に対して複数の受信チャネルを対応付けることができるので、受信チャネルの増加に関わらず、バンク数を増加させることがない。そして、同じ個数の同じバンク３２が対応付けられた受信チャネルについては、リングバッファの構成バッファをオフセットさせているので、例えば異なる受信チャネルの受信信号を同じタイミングで書き込む要求が発生した場合であっても、異なるバッファ（すなわちバンク３２）に対して書き込むことになる。このため、同一バンクへのアクセスが集中することなく、アクセス競合が減少する。
【００６２】
［変形例］
なお、本発明の適用可能な実施形態は上述の実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能なのは勿論である。
【００６３】
（Ａ）衛星測位システム
上述の実施形態では、ＧＰＳ、及び、ＧＬＯＮＡＳＳの２種類の衛星測位システムに対応したサンプルメモリー部３０のメモリー構成を説明したが、これ以外の衛星測位システムにも同様に適用可能である。
【００６４】
図１４は、ＧＰＳ、及び、ＧＬＯＮＡＳＳに加えて、更に、Ｇａｌｉｌｅｏ、及び、ＢｅｉＤｏｕを追加した場合のサンプルメモリー部３０のメモリー構成の一例である。この場合、Ｇａｌｉｌｅｏ、及び、ＢｅｉＤｏｕは、何れも、衛星信号がＣＤＭＡ（Code Division Multiple Access）方式で拡散変調された信号であるため、それぞれに１つの受信チャネルが割り当てられる。ＧＰＳ、及び、ＧＬＯＮＡＳＳについてのバッファの割り当ては、上述した実施形態と同様である。
【００６５】
また、Ｇａｌｉｌｅｏ、及び、ＢｅｉＤｏｕについては、ＧＰＳと同様に、６つのバンク３２−１〜３２−６を割り当てられる。そして、６つのバンク３２が対応付けられたＧＰＳ、Ｇａｌｉｌｅｏ、及び、ＢｅｉＤｏｕの各チャネルについては、２つのバンク３２で１つのバッファとなる。そのため、バッファ単位であるバンク３２の２つ分ずつオフセットさせたバッファ割り当てとなる。すなわち、図１４の例では、ＧＰＳについては、バンク３２−１，３２−２にバッファ１が割り当てられ、バンク３２−３，３２−４にバッファ２が割り当てられ、バンク３２−５，３２−６にバッファ３が割り当てられる。Ｇａｌｉｌｅｏについては、バンク３２−３，３２−４にバッファ１が割り当てられ、バンク３２−５，３２−６にバッファ２が割り当てられ、バンク３２−１，３２−２にバッファ３が割り当てられる。ＢｅｉＤｏｕについては、バンク３２−５，３２−６にバッファ１が割り当てられ、バンク３２−１，３２−２にバッファ２が割り当てられ、バンク３２−３，３２−４にバッファ３が割り当てられる。
【００６６】
（Ｂ）バンク数Ｘ
サンプルメモリー部３０を構成するバンク３２の数Ｘを「６（Ｘ＝６）」としたが、３以上（Ｘ≧３）であればいくつでも良い。
【００６７】
（Ｃ）バンク数Ｎ
受信チャネルに対応付けるバンク３２の数Ｎを、ＧＰＳについては「６（Ｎ＝６）」、ＧＬＯＮＡＳＳについては「３（Ｎ＝３）」としたが、これ以外でも良い。但し、Ｙ個（Ｙ≧１）のバンクを１つのバッファとして、Ｍ個（Ｍ≧２）のバッファでリングバッファを構成する必要がある。つまり、Ｙ×Ｍ＝Ｎ、が成り立つようにする。
【符号の説明】
【００６８】
１…携帯型電子機器、１０…ＧＮＳＳ受信機、１２…受信アンテナ、１４…受信部、１６…ＲＦ受信回路部、１８…サンプリング部、２０…メモリーコントローラー、１００…制御部、１０２…書き込み制御部、１０４…読み出し制御部、２００…記憶部、３０…サンプルメモリー部、３２…バンク、４０…ベースバンド処理回路部、３００…処理部、３０２…受信チャネル割当部、３０４…メモリー割当部、３０６…測位演算部、４００…記憶部、４０２…ベースバンドプログラム、４０４…受信チャネル割当情報、４０６…メモリー割当情報、４０８…測位情報、５０…メイン処理部、５２…操作部、５４…表示部、５６…音出力部、５８…時計部、６０…通信部、６２…メイン記憶部、７０…電源部
【図１】
2017156288.tif 000003
【図２】
2017156288.tif 000004
【図３】
2017156288.tif 000005
【図４】
2017156288.tif 000006
【図５】
2017156288.tif 000007
【図６】
2017156288.tif 000008
【図７】
2017156288.tif 000009
【図８】
2017156288.tif 000010
【図９】
2017156288.tif 000011
【図１０】
2017156288.tif 000012
【図１１】
2017156288.tif 000013
【図１２】
2017156288.tif 000014
【図１３】
2017156288.tif 000015
【図１４】
2017156288.tif 000016