説明

ナビゲーション装置

【課題】マルチコアプロセッサ上でプログラムを動作させる場合に、プログラムの処理時間の短縮を図ることができるナビゲーション装置を提供する。
【解決手段】ナビゲーションプログラムを構成するプログラムのうちリアルタイム性よりも高スループットを高めることが要求される地図更新プログラム或いはセキュリティプログラムをSMP型プログラムとして構成した上でコアC2,C3に割当て、それらのプログラムを起動する場合は、コアC2,C3をTSPMモード(機能分散動作モード)からTTSMモード(負荷分散動作モード)に切換える。これにより、AMP型プログラムを割当てられた1つのコア上で動作させる従来構成と比較して、プログラムの処理時間の短縮を図ることができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のコアを有したマルチコアプロセッサ上で動作し、ナビゲーションプログラムを構成する各プログラムを割当てられたコア上で動作させるオペレーティングシステムを備えたナビゲーション装置に関する。
【背景技術】
【0002】
従来より、例えばカーナビゲーション装置では、ハードディスクに記憶された地図情報として新規の地図情報が発行されたり、新年度の地図情報が発行されたりする毎に地図情報を更新することが行われている。このような更新は、ディーラにおいて新規(新年度)の地図情報が記憶されたハードディスク装置をカーナビゲーション装置に接続し、作業者がカーナビゲーション装置の備えられた地図更新ボタンを操作することにより地図情報を更新するようにしている。また、情報センタから新しい地図情報を任意のタイミング、或いは自動的にダウンロードしたりすることも行われている(特許文献1参照)。
【特許文献1】特開2001−165669号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
ところで、ハードディスク装置に記憶されている地図情報は膨大なデータ量(例えば10Gバイト)であり、全ての地図情報を更新するには長時間を要することから、地図更新をディーラが実行する場合には、地図更新を短時間(例えば30分)内に終わらせたいという要求がある。
【0004】
しかしながら、カーナビゲーション装置を起動した状態では、カーナビゲーション装置の制御装置が極めて資源効率の高いマルチコアプロセッサであっても、プログラムはAMP(Asymmetrical multi-processing)型(非対称型マルチプロセッシング)として構成されていることから、プログラムが動作するコアは固定しており、動作時間を短縮することは困難であるという事情がある。
【0005】
本発明は上記事情に鑑みてなされたもので、その目的は、マルチコアプロセッサ上でプログラムを動作させる場合に、プログラムの処理時間の短縮を図ることができるナビゲーション装置を提供することにある。
【課題を解決するための手段】
【0006】
請求項1の発明によれば、ナビゲーションプログラムのうちリアルタイム性(プログラムの手順通りに動作するという意味)よりも高スループットが要求されるプログラムはSMP型プログラムに構成されていると共に分散動作する特定コアに割当てられており、オペレーティングシステムは、動作モード判定手段による判定結果に応じてSMP型プログラムを起動する場合は、複数のコアを負荷分散動作モードに切換えた状態でSMP型プログラムを特定コア上で動作させる。これにより、SMP型プログラムは、複数のコア上で負荷分散されて動作するので、プログラムの処理時間の短縮化を図ることができる。
【0007】
マルチコアプロセッサに車両のバッテリから給電するように構成した場合、SMP型プログラムが割当てられたコア上で動作中にアクセサリ電源がOFFした場合であっても、電源検出手段によりマルチコアプロセッサへのメイン電源の給電は継続することから、SMP型プログラムを継続して実行することができるものの、他のコアでAMP型プログラムの動作状態が継続してしまうことから、車両のバッテリが消耗してしまう。
【0008】
そこで、請求項2の発明によれば、オペレーティングシステムは、SMP型プログラムを起動した場合にアクセサリ電源がOFFしたときは、当該プログラムに割当てられたコア以外のコアを低消費電力モードに切換えるので、マルチコアプロセッサ全体の消費電力を抑制することができる。また、SMP型プログラムの動作が終了したときは、電源検出手段によりマルチコアプロセッサへのメイン電源の給電が停止するので、バッテリの消耗を一層低減することができる。
【発明を実施するための最良の形態】
【0009】
以下、本発明の一実施形態について図面を参照して説明する。図1は、カーナビゲーション装置の全体構成を示す機能ブロック図である。カーナビゲーション装置1は、制御回路2、車両の現在位置を検出するための位置検出器3、地図データ入力器4a、新地図データ入力器5、操作スイッチ群6、電源検出部(電源検出手段に相当)7、外部メモリ8、カラー液晶ディスプレイ等からなる表示装置9、リモコンセンサ11及びリモコン12を備えると共に、携帯電話機13との間でBluetooth(登録商標)通信を実行可能に構成されている。
【0010】
位置検出器3は、車両のピッチ角を検出するためのGセンサ14、車両のロール角を検出するためのジャイロスコープ15、車両の走行距離を検出する距離センサ16、人工衛星からの送信電波に基づいて車両の現在位置を検出(測位)するGPS(Global Positioning System)のためのGPS受信機17を有している。各センサ14〜16は、それぞれ性質の異なる誤差を有している。このため、制御回路2は、各センサ14〜16の検出値を補間しながら用いることにより、車両の現在位置、進行方向、速度、走行距離、現在時刻等を高精度で検出するようになっている。なお、精度によっては、位置検出器3を上述したセンサ14〜16の一部のみで構成してもよい。また、ステアリングの回転センサや各転動輪の車輪センサ等を用いてもよい。
【0011】
地図データ入力器4aは、道路地図データ、目印データ、マップマッチング用データ、目的地データ(施設データベース)、交通情報を道路データに変換するためのテーブルデータなどの地図情報を記録した内蔵ハードディスク装置(以下、内蔵HDDと称する)4の一部から構成されている。
【0012】
新地図データ入力器5は、新規の地図情報を記録した外付けのハードディスク装置により構成されており、例えばディーラにおいてカーナビゲーション装置1に接続された状態で操作スイッチ群6の地図更新スイッチが操作されたときは、制御回路2により新規の地図情報が読込まれて地図データ入力器4aに書き込まれるようになっている。
【0013】
上記道路地図データは、道路形状、道路幅、道路名、信号、踏切、建造物、各種施設、地名、地形等のデータを含むとともに、その道路地図を表示装置9の画面上に表示するためのデータを含んでいる。また、目的地データは、駅等の交通機関、レジャー施設、宿泊施設、公共施設等の施設や、小売店、デパート、レストラン等の各種の店舗、住居やマンション、地名などに関する情報からなり、このデータにはそれらの電話番号や住所、緯度および経度等のデータが含まれるとともに、施設を示すランドマーク等を、表示装置9の画面上に道路地図に重ね合せて表示するためのデータを含んで構成されている。
【0014】
操作スイッチ群6は、詳しく図示はしないが、表示装置9の画面の近傍に設けられたメカニカルスイッチや、表示装置9の画面上に設けられるタッチパネルを含んで構成されている。ユーザ(ドライバ)は、この操作スイッチ群6を用いて、目的地、目的地の検索に必要な情報、通過点などの入力、および表示装置9の画面や表示態様の切り替え等を行う各種のコマンドの入力を行うようになっている。尚、ユーザは、リモコン12を操作することによってもコマンド等を入力できるようになっている。
【0015】
外部メモリ8は、フラッシュメモリカード等から構成され、例えば他の規格に対応するためのプログラムソフトが記憶され、あるいは特定のデータ例えば経路案内時に制御回路2が設定した目的地までの経路のデータ等が記憶されるようになっている。
【0016】
表示装置9の画面には、車両の位置周辺の地図が各種縮尺で表示されるとともに、その表示に重ね合わせて、車両の現在位置と進行方向とを示す現在地マーク(ポインタ)が表示されるようになっている。また、目的地までの経路案内の実行時には、経路案内用の画面が表示されるようになっている。さらに、表示装置9には、利用者が目的地の検索に必要な情報等を入力したり、目的地の検索や設定を行うための入力用の画面や、各種のメッセージ等も表示されるようになっている。
【0017】
制御回路2の主体は、複数のコアからなるマルチコアプロセッサ10であり、メモリ(RAM、ROM、EEPROM、フラッシュメモリ等)、I/Oなど(図示せず)を備えている。マルチコアプロセッサ10がプログラムを実行することにより、カーナビゲーション装置1が有する目的地検索機能、経路探索機能、経路案内機能、各種選択機能が動作するようになっている。尚、RAMはD−RAMであり、給電状態を維持する必要から、イグニッションスイッチのオフ状態でも車両のバッテリから給電されるようになっている。
【0018】
ここで、経路探索機能は、車両の出発地(現在位置)から目的地までの推奨する走行経路を自動計算するものであり、その手法としては、例えばダイクストラ法が用いられている。具体的には、走行経路に沿って移動可能なように、表示装置9の画面に現在地周辺の道路地図を表示するとともに、車両の現在位置と進行方向を示す現在地マークを道路地図に重ね合わせて表示する機能である。この場合、車両の走行に伴って現在地の表示は地図上を移動し、地図は車両の位置に応じてスクロール表示される。このとき、車両の現在地を道路上にのせるマップマッチングが行なわれる。
携帯電話機13は、基地局と通信することにより外部ネットワークを通じて情報センタ18と接続可能であり、制御回路2は、情報センタ18から各種コンテンツを入手可能となっている。
【0019】
図2は、電源検出部7と制御回路2との間で授受される各種信号を示している。電源検出部7は、バッテリの電源電圧及びACC(accessory)電源電圧を検出し、制御回路2に対してメイン電源信号、ACC電源状態検出信号を出力すると共に、制御回路2から電源断許可信号を入力するようになっている。制御回路2は、コアC0〜C3を有したマルチコアである。
【0020】
内蔵HDD4には、OS(オペレーティングシステム)としてマルチコアプロセッサ対応OS(例えばイーソル社のeT-Kernel Multi-Core Edition(商品名、以下、T-Kernelと称する))が記憶されていると共に、カーナビゲーションの機能を発揮するための複数のアプリケーションソフトが記憶されており、第1記憶手段及び第2記憶手段に相当する。T-Kernelは、ユビキタス・ネットワーキング社会を容易に実現するためにT-Enginフォーラム(非営利団体)が提唱する開発環境或いは実行環境で、組込み機器の開発効率を高めることを目的として仕様が共通化されたマルチコアプロセッサであるT-Engin上で動作するOSである。T-Kernelのソースコードは、無償で提供されており、自由に複製したり改変したりすることが可能となっている。
【0021】
T-Kernelは、マルチコアプロセッサを用いたマルチコアプロセッサのためのリアルタイムOSであり、SMP(Symmetrical multi-processing)型(対称型マルチプロセッシング)とAMP(Asymmetrical multi-processing)型(非対称型マルチプロセッシング)の2種類のプログラムの混在が可能である。つまり、単一のプログラムを複数のコアで処理する負荷分散型のプログラムであるSMP型プログラムと、それぞれのコア上で別々のプログラムを処理させる機能分散型のプログラムであるAMP型プログラムとが混在可能であり、各プログラムの特徴を最大限発揮させることが可能である。
【0022】
また、内蔵HDD4には、ナビゲーションプログラムを構成する動作モード判定プログラム(動作モード判定手段に相当)が記憶されている。この動作モード判定処理プログラムは、図3に示すようにACC電源状態やユーザ操作情報としてのリモコン12からの信号に基づいて以下の動作モードマトリクスに従い、最適な動作モードを判定し、その動作モードに応じて各コアC0〜C3の動作モードを切換えるようになっている。
【0023】
図4は、各コアC0〜C3の動作モードマトリクスを示している。動作モードとしては、通常状態、地図更新(電源ON)、地図更新(電源OFF)が設定されており、各動作モードに対応して各コアC0〜C3の動作モードが設定されている。つまり、各コアC0〜C3は、通常状態ではTSPMが設定され、地図更新(電源ON)ではC0,C1がTSPM,C2,C3がTTSMに切換えられ、地図更新(電源OFF)ではC0,C1が低消費電力状態、C2,C3がTTSMに切換えられるようになっている。
【0024】
TTSM及びTSPMモードの意味は次の通りである。
TTSM……T-EnginのTSM(True SMP Mode)モードで、SMP型プログラムを分散処理して平均スループットを最大限に高めることができる。
TSPM……T-EnginのSPM(Single Processor Mode)モードで、AMP型プログラムを単独処理してリアルタイム性(タスクがプログラム通り処理されるという意味)を保証することができる。
【0025】
図4に示す例の場合、コアC2,C3がTTSMに設定可能な特定コアに相当する。
本実施形態では、SMP型プログラムとして例えば地図情報更新プログラム、或いはセキュリティプログラムなどのリアルタイム性よりも処理時間の短縮が望まれるプログラムが設定されている。これらのプログラムは、従来AMP型プログラムとして構成されており、予め割り振られた1個のコア上で動作するように設定されていた。
【0026】
次に上記構成の作用について説明する。
ユーザが車両のイグニッションスイッチをACC位置に切換えると、電源検出部7は、カーナビゲーション装置1の制御回路2にメイン電源を給電する。すると、制御回路2が起動し、内蔵HDD4からT-Kernelを読込み、T-Kernelがナビゲーションプログラムを構成する各プログラムを管理するようなる。
【0027】
ナビゲーションプログラムとしては、制御回路2のRAM上に常駐して割当てられたコア上で動作する常駐プログラムと、必要に応じてRAMに読込まれて割当てられたコア上で動作する非常駐プログラムとがある。常駐プログラムとしては、表示装置9に対する表示を制御する表示制御プログラム、操作スイッチ群6の操作状態を判断する操作検出プログラム、本発明に関連した動作モード判定処理プログラムなどがある。また、非常駐プログラムとしては、カーナビゲーションの機能を実現するための目的地検索プログラム、経路探索プログラム、経路案内プログラム、地図情報更新プログラム、セキュリティプログラムなどがある。本実施形態では、地図情報更新プログラム及びセキュリティプログラムをSMP型プログラムとして構成しており、複数のコアで分散動作可能となっている。また、他のプログラムを従来と同様なAMP型プログラムとして構成している。
【0028】
制御回路2は、操作スイッチ群6に対する操作、或いは適宜タイミングで所定のプログラムをマルチコアプロセッサ10のコアに割当てて起動するようになっている。
制御回路2は、ACC電源がオンしたときは、各コアの動作モードを通常状態とする。この通常状態では、全てのコアC0〜C3をT-ENGINEのTSPMとする。つまり、AMP型プログラムを割当てられた1個のコア上で動作させる(図5参照)。この場合、動作モード判定処理プログラムは、例えばコアC0上で常駐プログラムとして動作するようになる。
【0029】
さて、ディーラの担当者は、新規の地図情報が記憶された外付けHDDの新地図データ入力器5を入手したときは、対応するカーナビゲーション装置1の車両の所有者に連絡し、地図情報の更新を連絡する。車両の所有者が車両をディーラに持ち込んだときは、作業者は、カーナビゲーション装置1に新地図データ入力器5を接続し、操作スイッチ群6の地図更新スイッチを操作する。
【0030】
制御回路2は、地図更新スイッチが操作されたときは、各コアC0〜C3の動作モードを図4に示す動作モードマトリクスに基づいて地図更新(電源ON)に切換える。この地図更新(電源ON)では、動作モード判定処理プログラムは、コアC2,C3の動作モードをTSPMからTTSMに切換えると共に、内蔵HDD4から地図更新プログラムを読込んで起動する。この場合、地図更新プログラムはコアC2,C3に割当てられているので、コアC2,C3上で分散動作する(図6参照)。これにより、制御回路2は、新地図データ入力器5に記憶されている新規の地図情報を内蔵HDD4の地図データ入力器4aに書込むようになり、新規の地図情報に更新することができる。このとき、地図更新プログラムは、他のプログラムの影響を受けることなく2個のコアC2,C3上で分散動作するので、処理時間の短縮を図ることができる。また、コアC0,C1上では、常駐型のAMP型プログラム或いは必要に応じて所定のAMP型プログラムが起動している(図6参照)。
【0031】
ところで、地図更新は処理する地図情報のデータ量が極めて大きいことから、上述のように処理時間の短縮を図ることが可能であっても、作業者がアクセサリ電源をオフすることがある。このような場合、従来では、制御回路2に対するメイン電源が断たれてしまうことから、制御回路2が停止してしまい、地図更新処理が中断されてしまうことになる。
【0032】
このような場合、電源検出部7は、ACC電源のOFFを検出した場合は、制御回路2に対してメイン電源の給電を維持した状態でACC電源がOFFしたことを通知する。これにより、制御回路2は、地図更新処理を継続して実行するので、地図更新処理が中断してしまうことを防止できる。
【0033】
しかしながら、このように地図更新処理を継続することができるものの、コアC0,C1が動作しているので、その分、マルチコアプロセッサ10の消費電力が増大する。
そこで、動作モード判定処理プログラムは、地図更新処理状態でACC電源がOFFしたときは、図4に示す動作モードマトリクスに基づいて動作モードを地図更新(電源OFF)に切換える。つまり、コアC0,C1を低消費電力動作モードに切換える(図7参照)。これにより、コアC0,C1の消費電力が抑制されるので、マルチコアプロセッサ10全体の消費電力を抑制することができるようになる。
動作モード判定処理プログラムは、地図更新が終了したときは、電源検出部7に対して電源断許可を通知する。電源検出部7は、制御回路2から電源断許可が通知されたときは、制御回路2に対するメイン電源の給電を停止する。
【0034】
以上のようにして、制御回路2による地図更新処理が終了したときは、制御回路2に対するメイン電源の給電が停止するので、以後におけるバッテリの消耗を抑制することができる。尚、カーナビゲーション装置1のD−RAMのバックアップ状態を継続するために、D−RAMに対するメイン電源の給電状態は継続される。
以上のような作用効果は、セキュリティプログラムをコアC2,C3上で動作させる場合にも同様に得られる。
【0035】
このような実施形態によれば、ナビゲーションプログラムを構成するプログラムのうちリアルタイム性よりも高スループットを高めることが要求される地図更新プログラム或いはセキュリティプログラムをSMP型プログラムとして構成した上でコアC2,C3に割当て、それらのプログラムを起動する場合は、コアC2,C3をTSPMモード(機能分散動作モード)からTTSMモード(負荷分散動作モード)に切換えるようにしたので、AMP型プログラムを割当てられた1つのコア上で動作させる従来構成と比較して、プログラムの処理時間の短縮を図ることができる。
【0036】
しかも、制御回路2は、地図更新処理中にACC電源がOFFしたときは、制御回路2に対するメイン電源の給電を継続した状態で、特定コア以外のコアC0,C1を低消費電力動作モードに切換えるようにしたので、制御回路2の消費電力を低減することができる。
さらに、制御回路2による地図更新処理が終了したときは、制御回路2に対するメイン電源の給電を停止するようにしたので、制御回路2の消費電力を一層低減することができる。
【0037】
(その他の実施形態)
本発明は、上記実施形態に限定されることなく、次のように変形または拡張できる。
マルチコアプロセッサ10のコア数は4個に限定されることなく、2個、3個、或いは5個以上であってもよい
SMP型プログラムが動作するコア数は2個に限定されることなく、3個のコアに割当てるようにしてもよい。尚、マルチコアプロセッサ10のコア数が多くなるほど、SMP型プログラムが動作するコア数を多く割当てることができる。
【0038】
複数のコアで分散処理するプログラムとしては、地図更新プログラム及びセキュリティプログラム以外のプログラムに適用してもよい。
マルチコアプロセッサ10上で動作するOSとしては、T-Kernel以外のOSを用いるようにしてもよい。
【図面の簡単な説明】
【0039】
【図1】本発明の一実施形態におけるカーナビゲーション装置の構成を示す機能ブロック図
【図2】電源検出部と制御回路との間の信号を示す図
【図3】動作モード判定処理プログラムの入力情報を示す図
【図4】各コアC0〜C3の動作モードマトリクスを示す図
【図5】各コアC0〜C3が通常状態の場合を示す図
【図6】地図更新プログラムがコアC2,C3上で分散動作する場合を示す図
【図7】コアC0,C1を低消費電力動作モードに切換えた状態を示す図
【符号の説明】
【0040】
図面中、1はカーナビゲーション装置、2は制御回路、4は内蔵HDD(第1記憶手段、第2記憶手段)、4aは地図データ入力器、5は新地図データ入力器、7は電源検出部(電源検出手段)、10はマルチコアプロセッサである。

【特許請求の範囲】
【請求項1】
複数のコアを有したマルチコアプロセッサと、
ナビゲーションプログラムを構成する複数のプログラムが記憶された第1記憶手段と、
電源の投入に応じて前記マルチコアプロセッサ上で動作し、実行するナビゲーション機能に応じて前記第1記憶手段から所定のプログラムを読込むことにより当該プログラムを割当てられたコア上で動作させるオペレーティングシステムが記憶された第2記憶手段と、
動作モードを判定する動作モード判定手段とを備え、
前記ナビゲーションプログラムのうち高速処理を要求するプログラムは、SMP(Symmetrical multi-processing)型プログラムとして構成されていると共に複数の特定コアで動作するように割当てられ、
前記オペレーティングシステムは、前記動作モード判定手段による判定結果に応じて前記SMP型プログラムを起動する場合は、前記特定コアを負荷分散動作モードに切換えた状態で前記SMP型プログラムを起動することを特徴とするナビゲーション装置。
【請求項2】
車両のバッテリから前記マルチコアプロセッサに給電可能であると共に、ACC電源の状態を検出する電源検出手段を備え、
前記電源検出手段は、車両のACC電源状態を前記マルチコアプロセッサに通知し、
前記マルチコアプロセッサは、前記電源検出手段によりACC電源がオフしたことが通知された場合に前記SMP型プログラムが起動していたときは、当該SMP型プログラムに割当てられたコア以外のコアを低消費電力モードに切換えると共に、前記SMP型プログラムの動作が終了したときは前記電源検出手段に電源断許可を通知し、
前記電源検出手段は、前記マルチコアプロセッサから電源断許可が通知されたときは、前記マルチコアプロセッサに対する給電を停止することを特徴とする請求項1記載のナビゲーション装置。
【請求項3】
前記マルチコアプロセッサはT-Engineであり、
前記マルチコアプロセッサ対応オペレーティングシステムはT-Kernelであることを特徴とする請求項1または2記載のナビゲーション装置。
【請求項4】
前記SMP型プログラムは、地図更新プログラムであることを特徴とする請求項1ないし3の何れかに記載のナビゲーション装置。
【請求項5】
前記SMP型プログラムは、セキュリティプログラムであることを特徴とする請求項1ないし3の何れかに記載のナビゲーション装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2009−211643(P2009−211643A)
【公開日】平成21年9月17日(2009.9.17)
【国際特許分類】
【出願番号】特願2008−56526(P2008−56526)
【出願日】平成20年3月6日(2008.3.6)
【出願人】(000004260)株式会社デンソー (27,639)
【Fターム(参考)】