(57)【特許請求の範囲】
【請求項１】
ＧＰＳ衛星からの信号により車両の位置を検出して車両周囲の地図画像をディスプレイに表示するナビゲーション装置において、
機種識別用データを発生する機種識別用データ発生手段と、
複数の機種に共通の主プログラムと複数の機種別副プログラムとにより構成される実行プログラムを記憶する実行プログラム記憶手段と、
前記実行プログラム記憶手段に記憶された前記実行プログラムに従って処理を実行する処理手段と、
不揮発性メモリ及びダイナミックランダムアクセスメモリと
を有し、
前記処理手段は、前記機種識別用データ発生手段で発生した前記機種識別用データを前記不揮発性メモリに複写し、更に該不揮発性メモリに複写した前記機種識別用データを前記ダイナミックランダムアクセスメモリに複写して、
前記主プログラムに従って処理を実行中に前記ダイナミックランダムアクセスメモリに複写した前記機種識別用データを参照して前記複数の機種別副プログラムのうちから特定の機種別副プログラムを呼び出すことを特徴とするナビゲーション装置。
【請求項２】
前記機種識別用データ発生手段は、複数の端子と、これらの端子に選択的に接続された抵抗素子とにより構成されることを特徴とする請求項１に記載のナビゲーション装置。
【請求項３】
前記処理手段は、定期的に前記不揮発性メモリと前記ダイナミックランダムアクセスメモリとに記憶されている機種識別用データを比較することにより、前記ダイナミックランダムアクセスメモリに記録されている機種識別用データの異常の有無を検査することを特徴とする請求項１に記載のナビゲーション装置。
【請求項４】
前記処理手段は、前記機種識別用データ発生手段から機種識別用データを複数回読み出して、最も出現頻度が高い値を前記不揮発性メモリに複写することを特徴とする請求項１に記載のナビゲーション装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、基本的な仕様が同一のハードウエアに同一の実行プログラムを搭載して、価格帯又は仕向け先等が異なる複数の機種を実現する車載用ナビゲーション装置に関する。
【０００２】
【従来の技術】
ＧＰＳ（Global Positioning System ）衛星から送られてくるＧＰＳ信号を利用して車両の現在位置を検出するナビゲーション装置が既に実用化され、広く普及している。また、車載用ナビゲーション装置は、車載用オーディオ装置及びＴＶチューナー等に接続されて、これらの装置の操作部及びディスプレイ部としても使用される。
【０００３】
ところで、ナビゲーション装置は、価格帯や仕向け先等に応じて、基本的な仕様は同じでも各種表示画面や付加的な機能（例えば、エアコンの状態表示の有無など）が異なる複数の機種を開発する必要がある。この場合、従来は、図７に示すように、基本的な仕様が同一のハードウエアＡ1 ，Ａ2 ，Ａ3 に対し、各機種毎に異なる実行プログラム（ソフトウエア）Ａ，Ｂ，Ｃが搭載される。
【０００４】
また、車載用ナビゲーション装置では、実行プログラムをフラッシュメモリ等の書替え可能な記憶装置に記憶しておき、プログラムのバージョンアップを可能にしているものも多い。バージョンアップ用プログラムは、例えば最新の地図データとともにＣＤ−ＲＯＭに記録して供給される。
【０００５】
【発明が解決しようとする課題】
従来のナビゲーション装置では、各機種毎に異なる実行プログラムが必要であるため、バージョンアップに際しては機種毎にＣＤ−ＲＯＭを作成する必要があり、ＣＤ−ＲＯＭの作成コストが高くなる。また、メーカーにおいても、各機種毎にソフトウエアを管理する必要があり、煩雑である。
【０００６】
以上から本発明の目的は、基本的なハードウエア仕様が同一の機種に対し、同一の実行プログラムで各機種毎の動作を可能としたナビゲーション装置を提供することである。
【０００７】
【課題を解決するための手段】
上記した課題は、ＧＰＳ衛星からの信号により車両の位置を検出して車両周囲の地図画像をディスプレイに表示するナビゲーション装置において、機種識別用データを発生する機種識別用データ発生手段と、複数の機種に共通の主プログラムと複数の機種別副プログラムとにより構成される実行プログラムを記憶する実行プログラム記憶手段と、前記実行プログラム記憶手段に記憶された前記実行プログラムに従って処理を実行する処理手段と、不揮発性メモリ及びダイナミックランダムアクセスメモリとを有し、前記処理手段は、前記機種識別用データ発生手段で発生した前記機種識別用データを前記不揮発性メモリに複写し、更に該不揮発性メモリに複写した前記機種識別用データを前記ダイナミックランダムアクセスメモリに複写して、前記主プログラムに従って処理を実行中に前記ダイナミックランダムアクセスメモリに複写した前記機種識別用データを参照して前記複数の機種別副プログラムのうちから特定の機種別副プログラムを呼び出すことを特徴とするナビゲーション装置により解決する。
【０００８】
以下、本発明の作用について説明する。
ＣＤ−ＲＯＭの作成コストを削減するためには、１枚のＣＤ−ＲＯＭに複数の機種別実行プログラムを記録しておくことが考えられる。しかし、ナビゲーション装置の実行プログラムは比較的サイズが大きいので、１枚のＣＤ−ＲＯＭに複数の実行プログラムを記録すると、地図データ等の他のデータを記録するための容量が少なくなってしまう。
【０００９】
そこで、本発明においては、実行ファイルを、１つの主プログラムと、複数の機種別副プログラムとで構成する。また、ナビゲーション装置に機種識別用データ発生手段を設け、この機種識別用データ発生手段により機種固有の機種識別用データを発生させる。機種識別用データ発生手段は、例えば複数の端子と、これらの端子に選択的に接続された抵抗素子、すなわちハードウエアにより構成する。処理手段は、主プログラムに従って動作しているときに機種識別用データにより機種を識別し、機種固有の処理を実行する場合には、機種識別用データにより示される特定の機種別副プログラムを呼び出す。
【００１０】
このように、本発明においては、ナビゲーション装置として各機種に共通する部分を主プログラムで処理し、各機種固有の部分を機種別副プログラムで処理するので、１つの実行プログラムにより各機種固有の機能を実現できる。これにより、ＣＤ−ＲＯＭ又はＤＶＤ−ＲＯＭ（以下、単に「ＣＤ−ＲＯＭ」という）等の製造コストが低減されるとともに、ソフトウエアの管理が容易になる。
【００１１】
なお、機種毎に固有の処理を実行しようとする毎に機種識別用データ発生手段（ハードウエア）から機種識別用データを読み込んでいては、処理に時間がかかってしまう。このため、機種識別用データは、ダイナミックランダムアクセスメモリ（Dynamic Random Access Memory：以下、ＤＲＡＭという）に記憶しておくことが好ましい。しかし、ＤＲＡＭに記憶されたデータは電源をオフにしたときに消えてしまう。また、ＤＲＡＭに記憶されたデータは、ノイズ等の原因により動作中に書き替えられてしまうおそれもある。ＤＲＡＭに記憶された機種識別用データが書き替えられてしまうと、他の機種用の副プログラムが実行されて、他の機種用の表示画面が表示されるなどの誤動作が発生するおそれがある。
【００１２】
このような不具合を防ぐために、本発明においては、機種識別用データ発生手段から取得した機種識別用データを不揮発性メモリに複写する。このとき、機種識別用データ発生手段からデータを複数回読み出し、最も出現頻度が高い値を機種識別用データとすることが好ましい。そして、不揮発性メモリに記憶された機種識別用データをＤＲＡＭに複写し、実行プログラムを実行中に各機種別の副プログラムを呼び出すときには、ＤＲＡＭに記憶されている機種識別用データを参照する。
【００１３】
また、請求項３に記載の発明においては、ＤＲＡＭに記憶されている機種識別用データと不揮発性メモリに記憶されている機種識別用データとを定期的に比較し、ＤＲＡＭに記録されている機種識別用データに異常がないか否かを検査する。これにより、他の機種用の機種別副プログラムが実行されることを確実に回避できる。
【００１４】
【発明の実施の形態】
以下、本発明の実施の形態について、添付の図面を参照して説明する。
図１は本発明の実施の形態のナビゲーション装置を示すブロック図である。本実施の形態においては、図２に示すように、３種類のナビゲーション装置Ａ，Ｂ，Ｃについて共通の実行プログラムＡで動作させる場合について説明する。ナビゲーション装置Ａ，Ｂ，ＣのハードウエアＡ1 ，Ａ2 ，Ａ3 の仕様は基本的に同じであり、細部の仕様（例えば、他の装置と接続するためのポートの有無や、後述するＩ／Ｏポート１２の端子ａ〜ｄに接続されるチップ抵抗の有無等）のみが若干異なる。
【００１５】
ＣＰＵ１１、Ｉ／Ｏ（Input-Output）ポート１２、ＳＲＡＭ（Static Random Access Memory ）１３、フラッシュメモリ１４、ＤＲＡＭ１５及びインターフェース１６等が共通バスライン２０に接続されており、この共通バスライン２０を介して相互にデータが送受される。また、共通バスライン２０には、ＧＰＳ受信機と接続されるインターフェース（図示せず）及びディスプレイに接続されるインターフェース（図示せず）等も接続されている。
【００１６】
Ｉ／Ｏポート１２は、機種毎（ナビゲーション装置Ａ，Ｂ，Ｃ毎）に異なる機種識別用データを発生する。すなわち、Ｉ／Ｏポート１２は４個の端子ａ〜ｄを備えており、これらの端子ａ〜ｄと電源ラインＶccとの間には、ナビゲーション装置の機種Ａ，Ｂ，Ｃに応じて、チップ抵抗１８が選択的に接続される。例えば、図３に示すように、ナビゲーション装置Ａでは端子ｃにのみチップ抵抗１８が接続され、ナビゲーション装置Ｂでは端子ｂにのみチップ抵抗１８が接続され、ナビゲーション装置Ｃでは端子ｂ，ｃ，ｄにチップ抵抗１８が接続されている。Ｉ／Ｏポート１２は、チップ抵抗１８を介して電源電圧が入力された端子を“１”、チップ抵抗が接続されていない端子を“０”として、４ビットの機種識別用データとする。つまり、各機種毎にチップ抵抗の接続状態は異なるので、機種識別用データにより機種を識別することができる。なお、本実施の形態において、機種識別用データの最下位ビットはパリティビットとする。
【００１７】
フラッシュメモリ１４は書替え可能なメモリであり、このフラッシュメモリ１４にはハードウエアをナビゲーション装置として動作させるための実行プログラムが記憶される。ＳＲＡＭ１３は機種識別用データ及び後述するエラー履歴を記憶するための不揮発性メモリであり、このＳＲＡＭ１３は、ナビゲーション装置の電源がオフになってもバッテリー（図示せず）によりバックアップされて、記憶した機種識別用データを保持する。ＤＲＡＭ１５も機種識別用データを記憶するためのメモリであり、このＤＲＡＭ１５はナビゲーション装置の電源がオフになると、データは消えてしまう。
【００１８】
インターフェース１６はＣＤ−ＲＯＭ駆動装置１７と接続され、ＣＤ−ＲＯＭ駆動装置１７に装填されたＣＤ−ＲＯＭから読み出したバージョンアップ用プログラム又は地図データをバスライン２０に出力する。ＣＰＵ１１は、フラッシュメモリ１４に記憶されている実行プログラムに従ってＧＰＳ受信機で受信したＧＰＳ信号から車両の現在位置を検出したり、ＣＤ−ＲＯＭから読み出した地図データを基に地図画像を描画したり、車両の現在位置を出発地として目的地までの誘導経路を探索し、その誘導経路に沿って車両を目的地まで案内すべく種々の案内情報をディスプレイに表示する。また、バージョンアップ時には、ＣＰＵ１１はＣＤ−ＲＯＭからバージョンアップ用プログラムを読み出してフラッシュメモリ１４に書き込む。
【００１９】
図４は本実施の形態のナビゲーション装置の実行プログラムの構成を示す模式図である。この実行プログラムは、１つのメインルーチン（主プログラム）と、３つの機種別サブルーチン（機種別副プログラム）Ａ，Ｂ．Ｃとにより構成されている。ＣＰＵ１１はメインルーチンに従った処理を実行し、Ｉ／Ｏポート１２から機種識別用データを入力してＳＲＡＭ１３及びＤＲＡＭ１５にコピーする。そして、機種毎に異なる処理が必要なときに、ＤＲＡＭ１５に記憶されている機種識別用データを参照して、メインルーチンから呼び出す機種別サブルーチンを選択する。機種別サブルーチンＡはナビゲーション装置Ａ用のサブルーチンであり、ナビゲーション装置Ａに固有の機能、固有の表示及び遷移するタイミング等を実現するためのプログラムが記述されている。同様に、機種別サブルーチンＢ，Ｃはそれぞれナビゲーション装置Ｂ，Ｃに固有の機能、固有の表示及び遷移するタイミング等を実現するためのプログラムが記述されている。
【００２０】
図５は本実施の形態のナビゲーション装置の電源オン時の動作を示すフローチャート、図６は機種識別用データの遷移を示す模式図である。
まず、ナビゲーション装置の電源をオンにすると、ステップＳ１において、ＣＰＵ１１は、ＳＲＡＭ１３からＤＲＡＭ１５に機種識別用データをコピーする。そして、ステップＳ２に移行し、コピーが正常に行われたか否かをチェックする。コピーが正常に行われなかった場合、例えばＤＲＡＭ１５に記憶されたデータが“００００”の場合（工場出荷時又はＳＲＡＭがクリアされたとき）はステップＳ３に移行し、ＤＲＡＭ１５に機種識別用データが正常にコピーされた場合はステップＳ８に移行する。
【００２１】
ステップＳ２でＤＲＡＭ１５への機種識別用データのコピーに失敗した場合、ステップＳ３において、ＣＰＵ１１はＳＲＡＭ１３に記憶されているデータを読み出し、データが空（“００００”）か否かを調べる。そして、データが空でない場合はステップＳ４に移行してＳＲＡＭ１３にエラー履歴を残した後、ステップＳ５に移行する。一方、ステップＳ３でデータが空のときは、ステップＳ３からステップＳ５に直接移行する。ここで、エラー履歴が不要な場合は、ステップＳ３，Ｓ４を省略してもよい。
【００２２】
ステップＳ５において、ＣＰＵ１１はＩ／Ｏポート１２から機種識別用データを読み出し、ＳＲＡＭ１３に格納する。このとき、エラーの発生を防止するために、ＣＰＵ１１はＩ／Ｏポート１２から機種識別用データを１１回読み出し、最も出現頻度が多い値を正常な機種識別用データとしてＳＲＡＭ１３に格納する。そして、ＳＲＡＭ１３からＤＲＡＭ１５に機種識別用データをコピーする。
【００２３】
次に、ステップＳ６に移行し、ＣＰＵ１１は、ＳＲＡＭ１３及びＤＲＡＭ１５に格納したデータにパリティーエラーがあるか否かを調べる。パリティーエラーがある場合はステップＳ７に移行してＳＲＡＭ１３にエラー履歴を残した後、ステップＳ８に移行する。一方、ステップＳ６でパリティーエラーが発生していない場合は、ステップＳ６からステップＳ８に直接移行する。ここで、エラー履歴が不要な場合は、ステップＳ６，Ｓ７を省略してもよい。
【００２４】
ステップＳ８において、ＣＰＵ１１はフラッシュメモリ１４に書き込まれた実行プログラムに従って所定の処理（例えば、ＧＰＳ受信機で受信したＧＰＳ信号から車両の現在位置を検出したり、車両の現在位置の周囲の地図データをＣＤ−ＲＯＭから読み出して地図を描画する動作）を行う。また、必要に応じて、ＤＲＡＭ１５に記憶されている機種識別用データを参照し、その機種識別用データにより示される機種別サブルーチンを呼び出して、機種固有の処理を実行する。
【００２５】
この間、ＣＰＵ１１は定期的にＤＲＡＭ１５及びＳＲＡＭ１３にそれぞれ記憶されている機種識別用データを比較する。すなわち、ステップＳ９において、ＣＰＵ１１は一定時間（例えば、１０分間）が経過したか否かを調べ、経過した場合はステップＳ１０に移行して、ＤＲＡＭ１５及びＳＲＡＭ１３に記憶されている機種識別用データを比較する。そして、両者の値が一致している場合はステップＳ８に戻り、処理を継続する。一方、両者の値が一致していない場合は、ステップＳ１１に移行して、エラー履歴をＳＲＡＭ１３に保存する。ここで、エラー履歴が不要な場合はステップＳ１１を省略してもよい。その後、ステップＳ１に戻って、ＳＲＡＭ１３からＤＲＡＭ１５に機種識別用データのコピーを行い、ステップＳ２以降の処理を繰り返す。
【００２６】
本実施の形態においては、実行プログラムを各機種共通にできるので、バージョンアップの際に機種毎にＣＤ−ＲＯＭを作成する必要がない。これにより、ＣＤ−ＲＯＭの作成コストが低減される。また、各機種毎の実行ファイルを１枚のＣＤ−ＲＯＭに格納する場合に比べて必要とする記憶容量が削減でき、バージョンアップ用プログラム以外のデータ（地図データ等）を格納する容量を確保することができる。更に、メーカーにおいては、複数の機種の実行ファイルを共通化できるので、ソフトウエアの管理が容易になる。
【００２７】
また、本実施の形態においては、ＳＲＡＭ１３及びＤＲＡＭ１５にそれぞれ記憶されている機種識別用データを定期的に比較し、両者が異なる場合にはＳＲＡＭ１３からＤＲＡＭ１５に機種識別用データを再度コピーするので、異なる機種用のサブルーチンが実行されることを確実に防止できる。
更に、本実施の形態においては、仮に機種識別用データにエラーが発生してもエラー履歴をＳＲＡＭ１３に記憶した後に処理を継続するので、ナビゲーション装置としての機能が失われることはない。
【００２８】
なお、上述の実施の形態においては１０分間毎にＳＲＡＭ１３及びＤＲＡＭ１５にそれぞれ記憶されている機種識別用データを比較する場合について説明したが、ＳＲＡＭ１３及びＤＲＡＭ１５に記憶されている機種識別用データの比較は、一定の処理毎、例えばメインルーチンからサブルーチンＡ，Ｂ，Ｃのいずれかに処理が移行する前に行うようにしてもよい。
【００２９】
また、上述の実施の形態においては、機種識別用データ発生手段としてＩ／Ｏポート１２及びチップ抵抗１８を用いた場合について説明したが、機種識別用データ発生手段の構成はこれに限定されるものではなく、ハードウエアにより機種固有のデータを発生するものであればよい。
【００３０】
【発明の効果】
以上説明したように、本発明によれば、機種識別用データを発生する機種識別用データ発生手段と、主プログラムと複数の機種別副プログラムとにより構成される実行プログラムを記憶する実行プログラム記憶手段とを有し、処理手段は、主プログラムを実行中に前記機種識別用データを参照して、前記複数の機種別副プログラムのうちから特定の機種別副プログラムを呼び出すので、複数の機種のナビゲーション装置に搭載する実行プログラムを共通化することができる。
【００３１】
この場合に、不揮発性メモリ及びダイナミックランダムアクセスメモリを備え、前記機種識別用データ発生手段で発生した機種識別用データを前記不揮発性メモリ及び前記ダイナミックランダムアクセスメモリに記憶させておき、機種別副プログラムを読み出すときにはダイナミックランダムアクセスメモリに記憶している機種識別用データを参照するようにすることにより、処理速度の向上が図れる。更に、定期的に前記不揮発性メモリ及び前記ダイナミックランダムアクセスメモリにそれぞれ記憶されている機種識別用データを比較して機種識別用データの異状の有無を検査することにより、他の機種用の副プログラムを実行してしまうことを確実に防止できる。
【図面の簡単な説明】
【図１】本発明の実施の形態のナビゲーション装置を示すブロック図である。
【図２】本発明の実施の形態に係る３種類のナビゲーション装置のハードウエア及びソフトウエア構成を示す模式図である。
【図３】同じくその３種類のナビゲーション装置におけるチップ抵抗の接続状態及び機種識別用データを示す模式図である。
【図４】実施の形態のナビゲーション装置の実行プログラムの構成を示す模式図である。
【図５】実施の形態のナビゲーション装置の電源オン時の動作を示すフローチャートである。
【図６】実施の形態のナビゲーション装置における機種識別用データの遷移を示す模式図である。
【図７】従来のナビゲーション装置のハードウエア及びソフトウエア構成を示す模式図である。
【符号の説明】
１１  ＣＰＵ、
１２  Ｉ／Ｏポート、
１３  ＳＲＡＭ、
１４  フラッシュメモリ、
１５  ＤＲＡＭ、
１６  インターフェース、
１７  ＣＤ−ＲＯＭ駆動装置、
１８  チップ抵抗、
２０  共通バスライン。
【図１】
0003670128.tif 000002
【図２】
0003670128.tif 000003
【図３】
0003670128.tif 000004
【図４】
0003670128.tif 000005
【図５】
0003670128.tif 000006
【図６】
0003670128.tif 000007
【図７】
0003670128.tif 000008