(57)【特許請求の範囲】
【請求項１】
スイッチを介して、ナビゲーション装置の各部に電力を供給する電源装置と、
前記ナビゲーション装置の制御を行なうコンピュータプログラムを格納するための書き換え可能な揮発性の内部記憶手段と、
前記内部記憶手段のリフレッシュ動作を行うコントローラとを備え、
前記内部記憶手段と前記コントローラとは、前記スイッチを介すことなく前記電源装置に接続されており、
前記内部記憶手段に格納されたコンピュータプログラムの内容が正常であるか否かを判定する判定手段と、
前記内部記憶手段に格納されたコンピュータプログラムの内容が正常である場合に、前記内部記憶手段に格納されたコンピュータプログラムを実行する実行手段とを備えた、ナビゲーション装置。
【請求項２】
ナビゲーション装置の制御を行なうコンピュータプログラムを記憶した外部記憶手段と、
前記内部記憶手段に格納されたコンピュータプログラムの内容が正常でない場合に、前記外部記憶手段から前記内部記憶手段にナビゲーション装置の制御を行なうコンピュータプログラムを転送する転送手段とをさらに備え、
前記実行手段は、前記転送手段による前記コンピュータプログラムの転送後に、前記内部記憶手段に格納されたコンピュータプログラムを実行する、請求項１に記載のナビゲーション装置。
【請求項３】
前記判定手段は、前記内部記憶手段の中の特定番地に書込まれている値の当否を確認することにより前記内部記憶手段の内容が正常であるか否かを判定する、請求項１または請求項２に記載のナビゲーション装置。
【請求項４】
前記判定手段は、前記内部記憶手段の中の特定番地に保存されているサム値とプログラム領域の開始アドレスから終了アドレスまでの値を一定バイト単位ずつ足し込むことにより計算したサム値とを照合することにより前記内部記憶手段の内容が正常か否かを判定する、請求項１または請求項２に記載のナビゲーション装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ナビゲーション装置に関し、特に、装置内部の書き換え可能な記憶部に書き込まれたコンピュータプログラムに従って制御を行なうナビゲーション装置に関する。
【０００２】
【従来の技術】
従来から、液晶モニタ等の表示部に車両の現在位置を表示して乗員を誘導する装置として、ナビゲーション装置がある。ナビゲーション装置は、動作を制御するためにマイクロプロセッサを使用しており、そのマイクロプロセッサのプログラム（以下「コンピュータプログラム」という。）はＲＯＭ等の装置内部の記憶部やＣＤ−ＲＯＭ等の取り外し可能な外部記憶部に記憶されている。取り外し可能な外部記憶部にプログラムが記憶されているナビゲーション装置は、コンピュータプログラムをＣＤ−ＲＯＭ等の外部記憶部からフラッシュメモリ等の内部記憶部に読み込んで、その読み込まれたコンピュータプログラムに従ってナビゲーション装置の動作を制御するというものである。
【０００３】
このようなナビゲーション装置が、例えば特開平９−９６５３０に開示されている。これは、フラッシュメモリ上に既に存在するコンピュータプログラムのバージョンよりも新しいバージョンのコンピュータプログラムを記憶したＣＤ−ＲＯＭをナビゲーション装置に挿入すると、そのコンピュータプログラムがフラッシュメモリに転送されることにより、ユーザが容易にナビゲーションプログラムを更新できるようにしたものである。
【０００４】
【発明が解決しようとする課題】
この従来のナビゲーション装置においては、ＣＤ−ＲＯＭに記憶されたコンピュータプログラムをフラッシュメモリに読み込み、その読み込まれたコンピュータプログラムに従って動作していたため、フラッシュメモリの動作時間の問題上、高速動作の実現が困難であった。
【０００５】
特に、コンピュータプログラムを更新する場合等は、その度にフラッシュメモリへの書き込み動作が必要となるため、書き込み時間の遅いフラッシュメモリを使用していたのでは、コンピュータプログラムが実行されるまでにかなりの時間を要することになる。したがって、この場合、ユーザは、すばやく現在位置周辺の地図を参照することができず、使い勝手の面からも問題があった。
【０００６】
また、コンピュータプログラムのワークエリアとして地図データやプログラム変数を保存するために、フラッシュメモリの他に、別途、高速動作が可能なＤＲＡＭ等を使用する必要があった。
【０００７】
フラッシュメモリ等の不揮発性メモリはコストが高い上、ＤＲＡＭ等の使用も必要となると、さらにコストがかかることになる。このことは、ナビゲーション装置に対するコスト低減への要求に反することになる。
【０００８】
本発明はかかる実状に鑑み考え出されたものであり、その目的は、従来のナビゲーション装置の動作速度やコスト面を改良し、より使い勝手のよいナビゲーション装置を提供することである。
【０００９】
【課題を解決するための手段】
上記目的を達成するため、本発明のナビゲーション装置は、ナビゲーション装置の制御を行なうコンピュータプログラムを記憶した外部記憶手段と、ナビゲーション装置の制御を行なうコンピュータプログラムを格納するための書き換え可能な内部記憶手段と、内部記憶手段に格納されたコンピュータプログラムの内容が正常であるか否かを判定する判定手段と、その判定の結果に基づいて、外部記憶手段から内部記憶手段にナビゲーション装置の制御を行なうコンピュータプログラムを転送する転送手段とを備える。
【００１０】
この発明によると、内部記憶手段の内容が正常でない場合には、外部記憶手段から直ちにコンピュータプログラムが転送されるため、異常な状態からの実行を防止することができる。また、内部記憶手段の内容が正常である場合には、直ちに内部記憶手段に記憶されているナビゲーション装置の制御を行うコンピュータプログラムの内容を実行することができるため、常に正常な状態でナビゲーション装置が動作すると共に、その動作速度も速いという、より使い勝手のよいナビゲーション装置を提供することが可能となる。
【００１１】
好ましくは、書き換え可能な内部記憶手段は、揮発性メモリを含む。
揮発性メモリを使用することにより、高速動作が困難なフラッシュメモリ等の不揮発性メモリを使用するよりも、コンピュータプログラムの高速処理が可能となる。また、フラッシュメモリ等の不揮発性メモリと揮発性メモリの両方を使用しなくて済むため、低コストに押さえることもできる。
【００１２】
好ましくは、判定手段は、内部記憶手段の中の特定番地に書込まれている値の当否を確認することにより、内部記憶手段の内容が正常であるか否かを判定する。
【００１３】
また、好ましくは、判定手段は、内部記憶手段の中の特定番地に保存されているサム値と、プログラム領域開始アドレスから終了アドレスまでの値を一定バイト単位ずつ足し込むことにより計算したサム値とを照合することにより内部記憶手段の内容が正常か否かを判定する。
【００１４】
これにより、上述した効果に加えて、内部記憶手段の内容が正常か否かを容易に判定することができる。
【００１５】
【発明の実施の形態】
次に、本発明の実施の形態を、図面に基づいて説明する。
【００１６】
図１は、本発明の実施の形態におけるナビゲーション装置の構成を示すブロック図である。図１を参照して、ナビゲーション装置は、例えば、ＧＰＳ衛生から送信される電波を受信するＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）受信機１１３、地球磁界等を検出するジャイロセンサ１１５、車輪の回転数から移動距離を検出する測距センサ１１７、ナビゲーション装置の動作を制御するコンピュータ（ＣＰＵ）１０１、地図情報およびコンピュータプログラム等を記憶したＣＤ−ＲＯＭ１０３、主電源（ＡＣＣ）投入（スイッチＯＮ）後に実行すべきイニシャルプログラム等を記憶したＲＯＭ１０５、ＣＤ−ＲＯＭ１０３から読み出されたコンピュータプログラムを書き込むためのエリア、および、プログラムのワークエリアとしてのＤＲＡＭ１０７、ＤＲＡＭ１０７をコントロールし、リフレッシュ動作等を行なうメモリコントローラ（ＣＴＬ）１０６、車両の現在位置についての検出結果を表示するディスプレイ１０９、および、目的地等の必要なパラメータの入力を行なう入力装置１１１とにより構成されている。
【００１７】
なお、ナビゲーション装置全体は、ＤＲＡＭ１０７およびメモリＣＴＬ１０６を除き、電源装置（バッテリ）１０８にスイッチ（ＳＷ）を介して接続されている。そして、ＤＲＡＭ１０７およびそのメモリＣＴＬ１０６は、スイッチのＯＮ／ＯＦＦにかかわらず常にリフレッシュ動作が行なわれるように、別途、電源装置（バッテリ）１０８に接続されている。
【００１８】
したがって、ＤＲＡＭ１０７の内容は、電源装置（バッテリ）１０８が外されたり故障したりしない限り、スイッチをＯＦＦにしても破壊されないようになっている。
【００１９】
次に、ＣＰＵ１０１の動作について図１および図２を参照して説明する。ＣＰＵ１０１は、スイッチがＯＮになると、ＲＯＭ１０５に記憶されたイニシャルプログラムに従って動作する。
【００２０】
ステップＳ１０１においてＤＲＡＭ１０７の内容が正常か否かを確認する確認処理を行なう。そして、ステップＳ１０３において確認結果の判定を行なう。判定の結果、正常であればステップＳ１０９において、ＤＲＡＭ１０７上のコンピュータプログラムに処理を移行する。
【００２１】
判定の結果が異常であれば、ステップＳ１０５において、ＣＤ−ＲＯＭ１０５からコンピュータプログラムをＤＲＡＭ１０７上に読み込む。そして、ステップＳ１０７において、次回正常確認のための処理を行なった後、ステップＳ１０９において、ＤＲＡＭ１０７上のコンピュータプログラムに処理を移行する。
【００２２】
これにより、車両のバッテリが何らかの要因により外される等して、ＤＲＡＭ１０７のコンピュータプログラムの内容が破壊されていても、再度ＣＤ−ＲＯＭ１０５から読み込むことにより、通常通りコンピュータプログラムを実行することが可能となる。
【００２３】
また、ＤＲＡＭ１０７上のコンピュータプログラムが正常の場合には、電源投入後直ちにプログラムが実行されることになり、ユーザが素早く現在位置周辺の地図を参照等することができるようになる。
【００２４】
図３は、図２におけるＤＲＡＭ１０７の内容確認処理（ステップＳ１０１）の一つを示したフローチャートである。本図に示すように、まず、ステップＳ３０１において、ＤＲＡＭ１０７上の特定アドレス（例えば１０００番地）の値の読み出しを行なう（Ａ←１０００番地の内容）。次に、ステップＳ３０３において、ＲＯＭ１０５に保存されている特定値（例えば１２３４）を読み出す（Ｂ←１２３４）。
【００２５】
そして、ステップＳ３０５において、特定アドレスの値と特定値１２３４とを比較し（Ａ＝Ｂ？）、等しければステップＳ３０７においてＤＲＡＭ１０７の結果が正常であるとされ、等しくなければステップＳ３０９においてＤＲＡＭ１０７の結果が異常であるとされる。このようにして、ＤＲＡＭ１０７の結果に対する確認処理を行ない、メインプログラム（図２）に戻る。
【００２６】
図４は、図３におけるＤＲＡＭ１０７の内容確認処理の結果が異常である場合の、次回正常確認のための処理（図２のステップＳ１０７）を示したフローチャートである。
【００２７】
本図に示すように、ステップＳ４０１において、図３のステップＳ３０３で読み出されたＲＯＭ１０５に保存されている特定値（例えば１２３４）を、ＤＲＡＭ１０７の特定アドレス（例えば１０００番地）に保存する（［１０００番地］←１２３４）。そして、メインプログラムに戻り、ＤＲＡＭ１０７上のプログラムに処理を移行する。
【００２８】
このようにして、ＤＲＡＭ１０７の内容が正常か否かを容易に確認することができる。また、バッテリが外される等しない限り、次回電源投入後にＤＲＡＭの内容が正常であることを確認することができる。
【００２９】
図５は、図２におけるＤＲＡＭ１０７の内容確認処理（ステップＳ１０１）の他の一つを示したフローチャートである。本図に示すように、まず、ステップＳ５０１において、サム値がクリアされる（ＳＵＭ＝０）。次に、ステップＳ５０３において、ＤＲＡＭ１０７に保存しているプログラム領域の開始アドレス（例えば２０００番地）を読み出し（ＡＤＲ＿ＳＴ＝２０００）、ステップＳ５０５において、ＤＲＡＭ１０７に保存している領域の終了アドレス（例えば１０００００番地）を読み出す（ＡＤＲ＿ＥＮＤ＝１０００００）。
【００３０】
そして、ステップＳ５０７において、開始アドレス（２０００番地）に格納されている値を読み出し（ＶＡＬ＝［ＡＤＲ＿ＳＴの内容］）、ステップＳ５０９において、サム値にその値を加算する（ＳＵＭ＋＝ＶＡＬ）。そして、ステップＳ５１１でアドレスを一定バイトだけ進める（ＡＤＲ＿ＳＴ＋＋）。
【００３１】
ステップＳ５１３で、一定バイトだけ進めたアドレスと、終了アドレスとを比較することにより、終了アドレスまでの値をサム値に加算したか否かを判断する（ＡＤＤ＿ＳＴ＞ＡＤＲ＿ＥＮＤ？）。そして、一定バイトだけ進めたアドレスが終了アドレスよりも小さい場合（Ｎｏの場合）は、ステップＳ５０７に戻り、ステップＳ５１３までの処理を再度行なう。このようにして、サム値に終了アドレスの値が加算されるまで、ステップＳ５０７からステップＳ５１３までの処理を繰り返す。
【００３２】
一定バイトだけ進めたアドレスが終了アドレスよりも大きい場合、即ち、終了アドレスの値までの加算が終了した場合（Ｙｅｓの場合）は、ステップＳ５１５において、予め保存（例えば１０００番地に保存）していたサム値を読み出し（ＳＵＭ＿ＳＴＲ＝１０００番地の内容）、ステップＳ５１７において、計算したサム値と照らし合わせる（ＳＵＭ＝ＳＵＭ＿ＳＴＲ？）。
【００３３】
計算したサム値が保存していたサム値と等しければステップＳ５１９においてＤＲＡＭ１０７の結果が正常であるとされ、等しくなければステップＳ５２１においてＤＲＡＭ１０７の結果が異常であるとされる。このようにして、ＤＲＡＭ１０７の内容に対する確認処理を行ない、メインプログラムに戻る。
【００３４】
図６は、図５におけるＤＲＡＭ１０７の内容確認処理の結果が異常である場合の、次回正常確認のための処理（図２のステップＳ１０７）を示したフローチャートである。
【００３５】
本図に示すように、ステップＳ６０１において、図５に示したフローチャートのステップＳ５０１からステップＳ５１３の処理と同様の処理を行なうことにより、新たにサム値（ＳＵＭ）を計算する。そして、ステップＳ６０２において、その値を特定アドレス（例えば１０００番地）に保存する（［１０００番地］←ＳＵＭ）。そして、メインプログラムに戻り、ＤＲＡＭ１０７上のプログラムに処理を移行する。
【００３６】
このようにして、ＤＲＡＭ１０７の内容が正常か否かを、容易かつ正確に確認することができる。また、バッテリが外される等しない限り、次回電源投入後にＤＲＡＭの内容が正常であることを確認することができる。
【００３７】
なお、図１では、内部記憶部としてＤＲＡＭ１０７を用いているが、バックアップ電源により記憶が消えないように処理されたＳＲＡＭ等の揮発性メモリを用いてもよい。
【００３８】
また、図１におけるＣＤ−ＲＯＭ１０３には、地図情報およびコンピュータプログラムの両方が記憶されている単一のＣＤ−ＲＯＭの他、地図情報およびコンピュータプログラムが別々に記憶された複数のＣＤ−ＲＯＭを使用してもよい。
【００３９】
また、図１においては、ＣＤ−ＲＯＭに地図情報およびコンピュータプログラムを記憶しているが、代わりにメモリカード等を用いてもよい。
【００４０】
今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えるべきである。本発明の範囲は、上記した説明ではなく特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内ですべての変更が含まれることが意図される。
【図面の簡単な説明】
【図１】本発明の実施の形態におけるナビゲーション装置の構成を示すブロック図である。
【図２】ＲＯＭ１０５に記憶されたイニシャルプログラムを示すフローチャートである。
【図３】図２におけるＤＲＡＭ１０７の内容確認処理（ステップＳ１０１）の一つを示したフローチャートである。
【図４】図３におけるＤＲＡＭ１０７の内容確認処理の結果が異常である場合の、次回正常確認のための処理（図２のステップＳ１０７）を示したフローチャートである。
【図５】図２におけるＤＲＡＭ１０７の内容確認処理（ステップＳ１０１）の他の一つを示したフローチャートである。
【図６】図５におけるＤＲＡＭ１０７の内容確認処理の結果が異常である場合の、次回正常確認のための処理（図２のステップＳ１０７）を示したフローチャートである。
【符号の説明】
１０１  ＣＰＵ
１０３  ＣＤ−ＲＯＭ
１０５  ＲＯＭ
１０６  メモリＣＴＬ
１０７  ＤＲＡＭ
１０８  電源装置（バッテリ）
１０９  ディスプレイ
１１１  入力装置
１１３  ＧＰＳ受信機
１１５  ジャイロセンサ
１１７  測距センサ
【図１】
0004173597.tif 000002
【図２】
0004173597.tif 000003
【図３】
0004173597.tif 000004
【図４】
0004173597.tif 000005
【図５】
0004173597.tif 000006
【図６】
0004173597.tif 000007