説明

車両用装置

【課題】データを正常にバックアップできないためにNAND型フラッシュメモリをリセットした場合であってもソフトの起動が遅れてしまうことがない車両用装置を提供する。
【解決手段】リセットシーケンサ3は、データのバックアップが正常に終了しなかったときは、起動要因を待機することなくCPU5を起動してSDカード7を「idle」状態から「tran」状態に移行させることにより、データのバックアップが正常に終了した次のアクセサリオン時にはすでにSDカード7を「tran」状態となっているようにする。これにより、アクセサリオン時にCPU5によるSDカード7に対するアクセスが直ちに可能となり、ソフトの起動が遅くなってしまうことを防止できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ブートプログラムが記憶されたブートデバイス用メモリとしてフラッシュメモリを使用する車両用装置に関する。
【背景技術】
【0002】
車両用の電子機器(たとえば車両用ナビゲーション装置)では、メモリとしてフラッシュメモリを使用することが一般化している(特許文献1参照)。この種のフラッシュメモリとしては、IPL(Initial Program Loader)、OS(Operating System)及びアプリケーションプログラムが記憶されたブートデバイス用のフラッシュメモリと、地図メディア用のフラッシュメモリカードで構成される。ブートデバイス用のフラッシュメモリはNOR型フラッシュメモリであることから、メモリの寸法が大きくコストが高い。一方、地図メディア用のフラッシュメモリカードに使用されているNAND型フラッシュメモリは、メモリ寸法が小さく低コストで大容量化できることから、ブートデバイス用として使用することでコストダウンを図ることができる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平09−182010号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、NAND型フラッシュメモリは、フラッシュメモリを構成するメモリブロックに先天的な不良ブロックが含まれ、且つ使用中にも不良ブロックが発生することから、このような不良ブロックをメモリカードコントローラで使用しないように管理している。また、NAND型フラッシュメモリは書換回数の制限もあることから、その管理もメモリカードコントローラで行っている。
SDカードなどのNAND型フラッシュメモリでは、上述した不良ブロックの管理や書換回数を管理するために、電源投入時(アクセサリオン時)にメモリカードコントローラが全てのフラッシュメモリのサーチや、フラッシュメモリに格納した変換テーブルを検索するなどの初期設定処理を行っている。この初期設定処理には、実際の計測結果で最大1秒要する。このため、例えばSDカードをブートデバイス用として使用する場合は、メモリカードコントローラが初期設定処理を実行している間、CPUがフラッシュメモリにアクセスすることができない状態となる。この結果、CPUがフラッシュメモリから最初に読込むIPLの読込みが遅れてしまうので、OSなどのソフトの起動が遅れてしまって車載LANなどの通信への応答が間に合わなくなってしまう虞がある。
そこで、車両のアクセサリオフ時でもバッテリと接続されたバックアップ電源をSDカードに接続することで、電源投入による初期設定処理を車両の組立時のみに行い、使用者が車両を使用する状態ではSDカードの初期設定処理を実行しないことが考えられる。
【0005】
さて、CPUは、アクセサリオフとなったタイミングでSDカードにバックアップデータを記憶するようにしているが、正常にバックアップできない場合は、バックアップの異常終了であるとしてSDカードをリセットする必要がある。
しかしながら、このような構成を採用した場合、次のアクセサリオンによる起動時にSDカードを初期化する必要があるが、初期化に応じてSDカードにおいて初期設定処理が行われてしまい、結局、ソフトの起動が遅くなってしまうという不具合を解決することはできない。
【0006】
本発明は上記事情に鑑みてなされたもので、その目的は、NAND型フラッシュメモリをブートデバイス用として使用すると共に制御手段を起動する起動要因の終了時に制御手段がNAND型フラッシュメモリにデータをバックアップする場合に、データを正常にバックアップできないためにNAND型フラッシュメモリをリセットした場合であってもソフトの起動が遅れてしまうことがない車両用装置を提供することにある。
【課題を解決するための手段】
【0007】
請求項1の発明によれば、バッテリからバックアップ電源に給電されると、バックアップ電源から電源制御手段に第2電圧が給電されるので、電源制御手段は、バックアップ電源から第2電圧が給電された場合は、電源スイッチをオンしてNAND型フラッシュメモリからなる記憶手段に第1電圧を給電することにより記憶手段を動作可能とする。このとき同時に、電源制御手段は、電源に給電指令を与えることにより制御手段に第2電圧を給電することにより制御手段を起動してから、起動要因待機状態となる。これにより、制御手段が起動し、記憶手段が初期設定処理終了しているかを判定する。なお起動要因の発生に応じて記憶手段が初期設定処理を開始して終了するのは通常は車両の製造時において車両へのバッテリ接続後に最初に起動要因が発生(最初のアクセサリオン操作)した場合である。このときバックアップ電源から給電された記憶手段のコントローラは、不良ブロックのサーチ、及び論理ブロックと物理ブロックの変換テーブルの作成などの初期設定処理を実行する。
【0008】
その後車両が使用者に手渡され、起動要因が発生(アクセサリオン操作)すると、電源制御手段により電源を通じて制御手段に給電されて制御手段が起動する。この場合、記憶手段はすでに初期設定終了となっているので、記憶手段において時間を要する初期設定処理が行われることはない。これにより、制御手段は、記憶手段からブートプラグムを読込むブート処理を直ちに実行し、そのブートプラグムを実行することにより例えば外部からの指令に直ちに応じることができる。
その後起動要因が終了(アクセサリオフ操作)すると、電源制御手段は、制御手段にデータのバックアップ指令を与え、制御手段がデータのバックアップを正常終了したときには電源を通じた制御手段への給電を停止する。なおこのとき、電源スイッチはオン状態を維持しているので、バックアップ電源から記憶手段に給電された状態が維持される。
【0009】
さて、起動要因が終了すると、制御手段は、バックアップ指令に従ってバックアップが必要なデータを記憶手段に記憶する。しかしこのとき、制御手段がデータを記憶手段に正常に記憶することができなかった場合は、電源制御手段は、異常が発生したとして電源スイッチをリセットすると共に電源に対する給電指令を停止してから電源に給電指令を与えるので、異常状態を解消することができる。この場合、電源スイッチはリセットによりオフ・オンするので、記憶手段へのバックアップ電源による給電が停止された後、直ちにバックアップ電源が再び給電され、それに伴って記憶手段のコントローラにより初期設定処理が行われる。これにより、起動要因が終了し、制御手段のデータバックアップが正常終了しなかったとしても、次の起動要因の発生を待つことなく、すぐに初期設定処理を行うことができる。つまり、次の起動要因が発生するまでには初期設定処理が終了しているので、次の起動要因が発生した場合は、制御手段は、記憶手段からブートプラグムを読込むブート処理を直ちに実行し、そのブートプラグムを実行することができる。
【0010】
請求項2の発明によれば、バックアップ終了判定値を用いることによりデータのバックアップが正常に終了したか否かの判定を容易に行うことができる。
請求項3の発明によれば、電源制御手段はバックアップ電源により給電されており、制御手段への給電が停止するにしても電源制御手段によりバックアップ終了判定値が保持されるので、起動した制御手段は、バックアップ終了判定値により初期設定処理が終了しているか否かを確実に判定することができる。
請求項4の発明によれば、請求項2の発明のように電源制御手段にバックアップ終了判定値を記憶することなく実現できるので、電源制御手段の構成を簡単化することができる。
【0011】
請求項5の発明によれば、異常発生時にはバックアップ用記憶手段への給電を停止するので、バックアップ用記憶手段に記憶されたバックアップデータの異常状態を解消して初期状態とすることができる。
請求項6の発明によれば、制御手段の電源が遮断された状態では、記憶手段と制御手段とを接続する所定のラインはプルアップ抵抗を通じて0Vとなるので、プルアップ抵抗をバックアップ電源に接続する構成に比較して、制御手段に電圧が回り込んで不安定となってしまうことを防止できる。
請求項7の発明によれば、アクセサリオンによる制御手段の起動に対応することができる。
【図面の簡単な説明】
【0012】
【図1】本発明の第1実施形態における全体構成を概略的に示す図
【図2】リセットシーケンサの動作を示すフローチャートである。
【図3】リセットシーケンサによるCPUのリセット動作を示す図
【図4】CPUの起動処理を示すフローチャート
【図5】CPUのブート処理の手順を示す図
【図6】データバックアップの手順を示すフローチャート(その1)
【図7】データバックアップの手順を示すフローチャート(その2)
【図8】CPUによる初期化を示すフローチャート
【図9】SDカードの遷移状態を概略的に示す図
【図10】本発明の第2実施形態を示す図2相当図
【発明を実施するための形態】
【0013】
(第1実施形態)
以下、本発明の第1実施形態について図1ないし図9を参照して説明する。
図1は、車両用ナビゲーション装置の全体構成を概略的に示している。車両用ナビゲーション装置(以下「カーナビ」という。車両用装置に相当)1は、電源スイッチ2、リセットシーケンサ3(電源制御手段に相当)、電源4、CPU5(制御手段に相当)、DRAM6(バックアップ用記憶手段に相当)、SDカード7(記憶手段に相当)から構成されている。カーナビ1はバックアップ電源(以下「BU電源」という)8からの給電状態で動作する。BU電源8は、車両のイグニッションスイッチがオフされてメイン電源がオフしても給電状態が継続される電源であり、バッテリ電圧(例えば12V)を3.3V(第1電圧に相当)に降圧して生成される。BU電源8には、電源スイッチ2、リセットシーケンサ3、電源4が接続されている。従って、カーナビ1をBU電源8に接続した状態では、BU電源8から電源スイッチ2、リセットシーケンサ3、電源4への給電状態となる。
【0014】
電源スイッチ2にSDカード7が接続されており、電源スイッチ2がオンした状態(動作状態)でBU電源8がSDカード7に接続される。電源4は、DC/DCコンバータ4a〜4cを内蔵しており、リセットシーケンサ3からのENB信号(給電指令に相当)に応じて3.3V,1.1V,1.8V(第2電圧に相当)を生成してCPU5へ出力する。リセットシーケンサ3にはタイマ3aとバックアップフラグ(以下「BUフラグ」という。初期設定処理判定値に相当)3b、バックアップエンドフラグ(以下「BU Endフラグ」という。バックアップ終了判定値に相当)3cが内蔵されており、BUフラグ3b及びBU Endフラグ3cは、リセットシーケンサ3がBU電源8から給電されて起動した状態ではオフされている。リセットシーケンサ3は、後述するように車両のイグニッションスイッチからアクセサリオン信号(イグニッションスイッチがアクセサリ位置に位置した状態で例えばハイレベルとなるレベル信号)を受信(「起動要因が発生」に相当)するようになっており、その受信に応じて後述するように電源スイッチ2及び電源4を制御する。尚、電源としてシリーズ電源を用いるようにしてもよい。
【0015】
SDカード7は、コントローラ7a、RAM7b及びNAND型フラッシュメモリ7cを内蔵して構成されている。コントローラ7aは、NAND型フラッシュメモリ7cの不良ブロックの管理、及び論理ブロックと物理ブロックとの対応関係をRAM7bに作成した変換テーブルで管理する。
即ち、NAND型フラッシュメモリ7cは、複数のメモリブロックに分割されており、そのメモリブロックが消去時の最小単位となる。NAND型フラッシュメモリ7cのブロックには製造時の不良である初期不良ブロックと、使用中に不良となった後発不良ブロックがあり、コントローラ7aは、それらの不良ブロックを使用しないようにブロックを管理している。また、NAND型フラッシュメモリ7cのデータ管理は、データ更新時は消去済み領域に更新データを書き込み、元のデータが存在する領域を消去するという、追加書き込み方式を採用していることから、ある論理ブロックに対応するデータが存在する物理ブロックは、固定ではなく、常にメモリ内を移動している。このため、コントローラ7aは、電源投入時に、全物理ブロックの論理ブロックアドレス情報格納領域をサーチし、RAM7b上に、論理ブロックと物理ブロックの変換テーブルを作成するようにしている。変換テーブル作成後は、この変換テーブルを参照すれば、論理ブロックに対応する物理ブロックを直ちに判断可能なため、全ブロックのサーチ動作は電源投入時に1回行われる。すなわち電源スイッチ2がオフ状態からオン状態となり、BU電源8からの給電がなされる(電源投入の)たびに、全ブロックのサーチ動作(特許請求の範囲にいう初期設定処理)が1回行われる。以後、コントローラ7aは、データの更新を行い、対応する物理ブロックの位置が変化した場合は、論理番地と物理番地の変換テーブルの更新作業を行い、次のアクセスに備える。
【0016】
SDカード7とCPU5との間は、データライン、アドレスライン、コマンドラインとで接続されており、それらのラインはSDカード7の仕様に基づいてプルアップ抵抗9を通じてCPU5の電源ラインである3.3Vラインと接続されている。SDカード7のNAND型フラッシュメモリ7cには、IPL(Initial Program Loader、ブートプログラムに相当)、OS(Operating System、「ブートプラグムの実行により読込まれるプログラム」に相当)、アプリケーションプログラム、地図データなどが記憶されている。IPLは、CPU5がOSを読み込むために必要とする最小限のプログラムである。
DRAM6は、CPU5によりデータが記憶されるもので、BU電源8に接続されたDC/DCコンバータ10から電源スイッチ11を通じて給電されており、データの記憶状態が維持されている一方、後述するように異常発生時にはリセットシーケンサ3により電源スイッチ11がオフされることによりリセットされる。
【0017】
さて、上述したようなSDカード7特有の事情により、電源投入時にコントローラ7aが行う初期設定処理に時間を要し、その間はCPU5がSDカード7にアクセスすることができない。この時間は、SDカード7のメーカ、仕様により異なるが、最大1秒見込む必要があることを確認している。つまり、CPU5は、SDカード7の電源投入時は、最大1秒間SDカード7にアクセスすることができないことから、その間はSDカード7からIPLを読込むことができず、車内LANを通じた要求に応じることができない。
【0018】
そこで、リセットシーケンサ3及びCPU5は次のように動作する。
図2は、リセットシーケンサ3の動作を示すフローチャートである。カーナビ1をBU電源8に接続すると、リセットシーケンサ3に給電されて起動する。リセットシーケンサ3は、起動すると電源スイッチ2をオンするので(S1)、BU電源8がSDカード7に接続されて給電される。このBU電源8によるSDカード7への給電状態は、バッテリが車両に接続されている限り継続することから、初期設定処理は通常はカーナビ1をBU電源8に接続した状態での最初の1回のみである。但し、バッテリが完全に放電した後に充電されたり、バッテリが交換されたりした場合、或いはカーナビ1をBU電源8に再接続した場合には、リセットシーケンサ3が起動することから、初期設定処理を実行することになる。また、リセットシーケンサ3が電源スイッチ2を断続させることでSDカード7へのBU電源8からの給電が途絶え、再び給電(電源投入)がなされると、そのたびに初期設定処理を実行することになる。さらに後述するようにCPU5がリセットされた場合にはCPU5がSDカード7を初期化するので初期設定処理が実行されることになる。
【0019】
リセットシーケンサ3は、起動すると、スタンバイ状態(起動要因待機状態に相当)となり、BU Endフラグによりバックアップ完了チェックを行う(S2)。このBU Endフラグとは、後述するようにデータバックアップが正常に終了したときに1となるフラグで、リセットシーケンサ3の起動時(すなわちカーナビ1が最初にBU電源8に接続され、リセットシーケンサ3が初めて起動した時)には0となっていることから、起動要因が発生するまで待機する(S3)。カーナビ1を取付けた作業者が確認のためにイグニッションスイッチをアクセサリオン位置に回すと、アクセサリオン信号を受信(「起動要因が発生」に相当)するので(S3:ACC−ON)、電源4にENB信号を出力することにより1.1/1.8/3.3VをCPU5へ投入してから(S4)、CPU5をリセットする(S5)。
【0020】
CPU5は、リセットされて起動したときは、SDカード7に対して初期化を実行する。
図8は、本発明におけるCPU5によるSDカード7に対する初期化を示すフローチャートである。CPU5は、SDカード7に対してステータスコマンドを発行してから(T1)、SDカード7からのレスポンスを判定する(T2)。この場合、SDカード7は初期設定処理が行われていない「idle」状態であることから、アクセスが不可となっている。これにより、レスポンスが無いことから(T2:無)、SD初期化コマンドを発行してから(T3)、SDカード7が初期化されるか(T4)、タイムアウトしたか(T5)を判定する。初期化が終了することなくタイムアウトしたときは(T5:タイムアウト)、SD初期化コマンドを再発行する(T3)。タイムアウトする前にSDカード7による初期設定処理が終了すると(T4:終了)、ステータスコマンドを発行してから(T6)、レスポンスエラーが無いことを確認することにより(T7:無)、SDカード7に対する初期化を終了する。尚、レスポンスエラーが有ったときは(T7:有)、SD初期化コマンドを再発行する(T3)。この場合、SDカード7は、初期設定処理が終了したところで、「idle」状態から「tran」状態に移行してCPU5によるアクセスが可能となる。
【0021】
図9は、SDカード7の遷移状態を概略的に示す図である。SDカード7は、電源投入時は「idle」状態にあり、上述したCPU5による初期化(SDカード7による初期設定処理)によりCPU5によるアクセスが可能な「tran」状態に移行する。この場合、「idle」状態から「tran」状態となるまでの初期化シーケンスを実行するまで最大1秒要する。CPU5からリードコマンドを受けたときは「data」状態に移行し、リードが終了したときは「tran」状態に復帰する。CPU5からライトコマンドを受けたときは「prg」状態に移行し、ライトが終了したときは「tran」状態に復帰する。「tran」状態、「data」状態、「prg」状態の何れの状態においてCPU5からリセットコマンドを受けたときは「idle」状態に移行する。
【0022】
続けてCPU5は、起動処理を実行する。
図4は、CPU5の起動処理を示すフローチャートである。CPU5は、リセットシーケンサ3のBUフラグ3bを読取り、BUフラグ3bがオンしているかを判定する。リセットシーケンサ3が起動した状態ではBUフラグ3bはオフしているので、待機処理を実行する。この待機処理とは、SDカード7が初期設定処理を実行するのに十分な時間待機するもので、例えば2秒が設定されている。待機処理終了後、BUフラグ3bをオンしてから、ブート処理を実行する。
【0023】
図5はCPU5のブート処理の手順を示している。CPU5のROM5aにはブートローダーとSDドライバが予め記憶されており、まず、ブートローダーを読取ってから、SDカード7にアクセス可能となるようにSDドライバを起動したり、SDカード7との通信を行うためのI/Fを設定したりした後、SDカード7にIPLを読出す読出しコマンドを送信する。この場合、上述したようにSDカード7の初期設定処理が終了していることから、IPLを読取ることができ、そのIPLを実行することによりOSを読取ることができる。
【0024】
図2に戻って、CPU5をリセットしたリセットシーケンサ3は、CPU5の起動が終了するのを待機し(S6)、タイムアウトした場合は(S6:タイムアウト)、異常であると判定してCPU5をリセットすることによりCPU5を再起動する(S7)。一方、CPU5の起動が終了した場合は(S6:終了)、動作状態に移行し、CPU5が正常に動作しているかを監視しながら(S8)、アクセサリオン信号の受信状態が継続しているかを判定する(S9)。CPU5が正常動作しない場合は(S8:NG)、CPU5を繰り返してリセットする(S7)。
【0025】
図3は、リセットシーケンサ3によるCPU5のリセット動作を示している。CPU5は、起動後はタイマによる一定周期でウオッチドッグ用のクリア信号をリセットシーケンサ3に出力する。リセットシーケンサ3は、カウンタによるカウント動作を実行しており、規定時間内にCPU5からクリア信号を受信した場合はカウンタをクリアし、規定時間内にCPU5からクリア信号を受信しない場合はカウント値がFull(FFFF……)になると、異常であるとしてCPU5をリセットする。リセットの動作方式についてはこれに限らない。
【0026】
さて、リセットシーケンサ3は、アクセサリがオフされた場合は(S9:OFF)、終了処理状態に移行する。終了処理状態に移行すると、処理終了タイマを起動し、CPU5に割り込み(バックアップ指令に相当)を掛けてデータをバックアップする(S10)。
図6及び図7は、データバックアップの手順を示すフローチャートであり、2つの手順がある。図6に示す第1の手順では、CPU5に割り込みを掛けると、CPU5は、キャッシュメモリとして機能するRAM5bに記憶されているデータをDRAM6へ書き込み、SDカード7へのバックデータがあるかを判定し、バックアップデータがある場合は、DRAM6の該当するバックアップデータをSDカード7へ転送する。DRAM6にバックアップを要するデータがある(SDカード7にバックアップするのではなくDRAM6内にてバックアップしておくべきデータがある)場合は、DRAM6をセルフリフレッシュする。このセルフリフレッシュとは、DRAM6に内蔵されたリフレッシュ回路で自動的にリフレッシュを行えるようにしたもので、一度リフレッシュの命令を与えれば、DRAM6に電力を供給するだけでデータ保持が可能になるため、電力消費を抑えることができる。
【0027】
一方、図7に示す第2の手順では、CPU5に割り込みを掛けると、CPU5は、RAM5bのデータをDRAM6に書込み、DRAM6にバックアップを要するデータがある場合は、DRAM6をセルフリフレッシュ状態とする。次に、SDカード7へのバックアップデータがある場合は、SDカード7へバックアップデータを書き込む。
以上のような手順により、CPU5のRAM5bに記憶されていたデータがバックアップされると共に、SDカード7にバックアップを要するデータが記憶される。
【0028】
図2に戻って、リセットシーケンサ3は、終了処理状態で上述したようにデータのバックアップを試みた後、バックアップが正常に終了したかを判定し(S11)、タイマの時間内にバックアップが正常に終了したときは(S11:OK)、BU Endフラグを1とし(S12)、タイマをクリアしてから、電源4を停止することによりCPU5を停止する(S14)。一方、タイマがタイムオーバとなった場合は(S11:NG)、異常が生じたとして、電源4を停止すると共に電源スイッチ2をオフ・オンすることによりSDカード7をリセットする(S13)。これにより、SDカード7のコントローラ7aが次回のアクセサリオンを待つことなく初期設定処理を行い、異常状態を解消して次の起動(アクセサリオン)時に備えることができる。つまり、次回起動時にはすでに初期設定処理は終了しているため、ブート処理が直ちに実行され、その分迅速に外部の指令にこたえることが可能になる。
なお、このようなバックアップが正常に終了しない原因にはSDカード7の異常状態によるものと、CPU5の異常状態によるものとが想定される。SDカード7のリセットは前者を解消するものである。しかし、CPU5の異常状態によりバックアップが正常に終了しない状況に対してはSDカード7のリセットによる対応だけでは不十分である。
【0029】
そこで、本実施形態では、リセットシーケンサ3が電源4への給電指令を停止(S14における1.1/1.8/3.3V遮断)して終了処理状態からスタンバイ状態に移行すると、BU Endフラグに基づいてバックアップが完了したかをチェックするのである(S2)。BU Endフラグが1の場合は(S2:BU End=1)、バックアップが正常に完了したとして、起動要因が発生するまで待機する(S3)。当然この場合には、SDカード7はリセットされていないので、SDカード7は「tran」状態にあり、次のアクセサリオン時にはCPU5からの速やかなアクセスが可能となっている。一方、バックアップが正常に終了しなかったときは、BU Endフラグは0であることから(S2:BU End=0)アクセサリオンを待つことなく(ステップS3をスキップし)、ステップS4に移行して電源4を動作させて1.1/1.8/3.3VをCPU5へ投入してから(S4)、CPU5をリセットする(S5)。CPU5をリセットすることにより、CPU5側に発生している異常状態を解消することができる。なお、このステップS5におけるCPU5のリセット起動(再起動)にともない、自動的にSDカード7に対する初期化(SDカード7の初期設定処理)が行われる。
【0030】
以下、CPU5の起動が終了(S6)し、CPU5が正常に動作していることを確認(S8:OK)すると、いまはアクセサリオフ状態で動作している(S9:OFF)ので、自動的にS10に移行しデータのバックアップを行う。そしてデータのバックアップが正常に終了した(S11:OK)ときは、BU Endフラグが1となり(S12)、SDカード7の「tran」状態が継続する。
このような動作によれば、アクセサリオフ時にデータバックアップが正常終了しなかった場合、次回アクセサリオンを待つことなく、SDカード7をリセットするので、次のアクセサリオンオンのタイミングまでには初期設定処理が終了し、SDカード7を「tran」状態とすることができる。よってアクセサリオン時にCPU5によるSDカード7に対するアクセスが直ちに可能となり、ソフトの起動が遅れてしまうことを防止できる。
また、SDカード7のリセットに加え、次のアクセサリオンを待つことなく、CPU5もリセット起動(再起動)し、データのバックアップをそれが正常終了するまで繰り返すので、データをSDカード7に正常かつ確実バックアップすることができる。
【0031】
なお、上述でデータのバックアップが正常に終了しない場合(S11:NG→S13→S14)では、DRAM6にバックアップを試みたバックアップデータ(DRAM6へのバックアップを要するデータ)が異常となっている(データ自体が破損していたり、不完全となっていたりする)可能性があるため、DRAM6もリセットする必要がある。そこで、本実施形態ではリセットシーケンサ3が電源4への給電指令を停止(S14における1.1/1.8/3.3V遮断)するのに加え、このタイミングでオン状態の電源スイッチ11をオフしてオンすることにより、DRAM6への給電を停止し、再起動(リセット)する。これにより、DRAM(バックアップ用記憶手段)内に存在するバックアップデータの異常状態を確実に解消して初期状態とすることができ、DRAM6へ正常なバックアップを行うための準備を整えることができる。
【0032】
また、SDカード7とCPU5との間のラインであるデータライン、アドレスライン、コマンドラインは、プルアップする必要があるものの、プルアップ抵抗9をBU電源8に接続した場合、CPU5への停止状態であってもBU電源8からの電圧がCPU5に回り込んでCPU5が不安定となる虞がある。
しかしながら、本実施形態では、プルアップ抵抗9をCPU5の電源ライン(3.3V)と接続するようにしたので、CPU5への給電が停止した状態ではプルアップ抵抗9の電圧は0Vとなり、CPU5に電圧が回り込んでしまうことを防止できる。
【0033】
さて、車両が使用者に手渡され、使用者がアクセサリオン操作する場合は、SDカード7の初期設定処理が終了した状態でのアクセサリオン操作となる。この場合、SDカード7にはBU電源8からの給電状態が継続しており、リセットシーケンサ3のBUフラグ3bはオンしているので、図4の起動処理に示すように、リセットシーケンサ3により起動されたCPU5は、起動するにしても待機処理を実行することなくブート処理を実行してSDカード7からIPLを読取る。これにより、CPU5は、SDカード7からIPLを読取り、そのIPLの実行によりOSを読取るので、車内LANを通じた要求に確実に応えることができる。
そして、リセットシーケンサ3は、上述したように起動時にタイマがタイムアップした場合は、CPU5をリセットし、CPU5の動作状態では、CPU5が正常に動作しているかを監視し、使用者によりアクセサリオフ操作された場合は、データのバックアップを実行し、正常に終了しない場合は、SDカード7をリセットし、CPU5を強制終了すると同時にDRAMへの給電を停止(DRAM6をリセット)する。
【0034】
このような実施形態によれば、次のような効果を奏することができる。
リセットシーケンサ3は、データのバックアップが正常に終了しなかったときは、アクセサリオンを待機することなくCPU5を起動してSDカード7を「idle」状態から「tran」状態に移行させるようにしたので、次のアクセサリオン時にCPU5によるSDカード7に対するアクセスが直ちに可能となり、ソフトの起動が遅くなってしまうことを防止できる。
CPU5は、BU電源8に接続されたリセットシーケンサ3が保持するバックアップフラグのオンオフにより待機処理を実行するか否かを判定するので、CPU5への給電が停止するにしても、起動したCPU5は、バックアップフラグのオンオフにより初期設定処理が行われているか否かを確実に判定することができる。
【0035】
リセットシーケンサ3は、アクセサリオン信号が停止した場合はCPU5に割り込みを掛け、CPU5がデータをバックアップするようにしたので、CPU5のRAM5bに記憶されているバックアップが必要な地図データをSDカード7に記憶することができる。また、地図データをSDカード7に記憶することができない場合は、異常が生じたとして電源スイッチ2、11及び電源4を停止するので、異常状態を解除して初期状態とすることができる。
CPU5への給電が停止した状態では、SDカード7とCPU5とを接続する各ラインはプルアップ抵抗9を通じて0Vとなるので、プルアップ抵抗9をバックアップ電源8に接続する構成に比較して、バックアップ電源8からSDカード7とCPU5とを接続する各ラインの保護カードなどを介してCPU5に電圧が回り込んで不安定となってしまうことを防止できる。
【0036】
(第2実施形態)
次に、本発明の第2実施形態について図10を参照して説明する。この第2実施形態は、バックアップが正常に終了しなかったときは、CPU5の起動後にデータをバックすることを特徴とする。
図10はリセットシーケンサ3の動作を示しており、図2に示す動作のステップと同一ステップには同一のステップ番号を付し、異なるステップに新たなステップ番号を付して説明する。
リセットシーケンサ3は、アクセサリオンに応じてCPU5の起動が終了したときは(S6:終了)、BU Endフラグ=0かを判定し(S21)、BU Endフラグ=0の場合は(S21:BU End=0)、データのバックアップは正常に終了しなかったと判定してデータをバックアップし(S22)、バックアップが正常終了したときは(S23:OK)、BU Endフラグ=1としてステップS8に移行する。
【0037】
さて、データのバックアップが正常に終了しなかったとき(S23:NG)は、アクセサリオフを待つことなく(S9などをスキップして)、SDカード7をリセットし、初期設定処理を行ってSDカード7側の異常状態を解消する。つまり、この時点でSDカード7は「tran」状態となる。そしてCPU5を再起動(S14→S2:BU End=0→S4→S5→S6:終了)し、前記「tran」状態となったところでSDカード7に対してデータのバックアップが行われる(S22)である。
この後最終的にアクセサリオフ後のデータバックアップが正常に終了した場合には(S23:OK→S24→S8:OK→S9:OFF→S10→S11:OK→S12)SDカード7の「tran」状態がアクセサリオフでも継続するので、次のアクセサリオン時にはSDカード7が「tran」状態となっており、CPU5によるSDカード7に対するアクセスが直ちに可能となる。
【0038】
このような実施形態によれば、データのバックアップが正常に終了しなかった場合であっても、次のアクセサリオンまでにSDカード7を「idle」状態から「tran」状態に移行するようにしたので、第1実施形態と同様に、アクセサリオン時にCPU5によるSDカード7に対するアクセスが直ちに可能となり、ソフトの起動が遅くなってしまうことを防止できる。
また、CPU5の起動直後にデータのバックアップを行うようにしたので、バックアップに失敗したデータを確実にバックアップすることができる。なお、この実施形態2ではデータのバックアップが2段階に行われる(S22、S10)ためよりバックアップを確実にすることができるようになる。
【0039】
(その他の実施形態)
本発明は、上記実施形態に限定されることなく、次のように変形または拡張できる。
CPU5は、電源4の起動時にSDカード7が応答しない場合は初期設定処理未終了であると判断して初期設定処理を実行し、起動時にSDカード7が応答した場合は初期設定処理終了であると判断して初期設定処理を実行することなくブート処理を実行するようにしても良い。このような構成によれば、リセットシーケンサ3にバックアップ用フラグを設ける必要がないことから、リセットシーケンサ3の構成を簡単化することができる。
本発明をカーナビ以外の車両用装置に適用するようにしてもよい。
【符号の説明】
【0040】
図面中、1は車両用ナビゲーション装置(車両用装置)、2は電源スイッチ、3はリセットシーケンサ(電源制御手段)、4は電源、5はCPU(制御手段に相当)、6はDRAM(バックアップ用記憶手段)、7はSDカード(記憶手段)、7aはコントローラ、7cはNAND型フラッシュメモリ、8はバックアップ電源である。

【特許請求の範囲】
【請求項1】
少なくともブートプラグム及び当該ブートプラグムの実行により読込まれるプログラムを記憶したNAND型フラッシュメモリと、電源投入時に前記NAND型フラッシュメモリの全ての不良ブロックをサーチし、検出した不良ブロックを除外して論理ブロックと物理ブロックとの対応関係を管理する初期設定処理を実行するコントローラとを有した記憶手段と、
車両に搭載されたバッテリの電圧を第1電圧に変圧するバックアップ電源と、
前記バックアップ電源と接続され、オン状態で前記バックアップ電源から前記第1電圧を前記記憶手段に給電する電源スイッチと、
前記バックアップ電源と接続され、給電指令を受けたときは前記第1電圧から第2電圧を生成する電源と、
前記電源と接続され、前記電源から前記第2電圧が給電されると起動し、起動すると前記記憶手段のコントローラによる初期設定処理が終了しているか否かを判定し、初期設定処理未終了であると判定した場合は、初期設定処理が終了するのを待機する待機処理を実行してから前記記憶手段からブートプラグムを読込むブート処理を実行し、初期設定処理終了であると判定した場合は、前記待機処理を実行することなく前記ブート処理を実行すると共に、データのバックアップ指令を受けたときは、バックアップを必要とするデータを前記記憶手段に記憶する制御手段と、
前記バックアップ電源と接続され、前記バックアップ電源から前記第2電圧が給電されると起動し、起動すると前記電源スイッチをオンしてから車両の起動要因が発生するのを待機する起動要因待機状態となり、前記起動要因待機状態となってから、起動要因が発生した場合は前記電源に給電指令を与え、その後前記車両の起動要因が終了した場合は前記制御手段に前記バックアップ指令を与え、前記制御手段がデータのバックアップを正常終了したときは前記電源に対する給電指令を停止してから前記起動要因待機状態となり、正常終了しなかったときは前記オンした電源スイッチをオフしてまたオンするリセットを行うと共に前記電源に対する給電指令を停止してから再び給電指令を与える電源制御手段と、
を備えたことを特徴とする車両用装置。
【請求項2】
前記電源制御手段は、初期状態で未終了を示し、データのバックアップが正常終了したか否かを示すバックアップ終了判定値を記憶するように設けられ、前記バックアップ終了判定値が前記バックアップの正常終了を示していたときは、前記電源に対する給電指令を停止してから前記起動要因待機状態となり、前記バックアップ終了判定値が前記バックアップの正常終了を示していなかったときは、前記電源スイッチをリセットすると共に前記電源に対する給電指令を停止してから前記電源に再び給電指令を与えることを特徴とする請求項1記載の車両用装置。
【請求項3】
前記電源制御手段は、前記初期設定処理が終了しているか否かを示す判定値であって前記電源制御手段の起動時には第1の値となるよう定められた初期設定処理判定値を記憶するように設けられ、
前記制御手段は、当該制御手段の起動時に前記初期設定処理判定値が前記第1の値の場合は前記記憶手段の初期設定処理未終了であると判断すると共に初期設定処理終了後に前記初期設定処理判定値を第2の値とし、一方当該制御手段の起動時に前記初期設定処理判定値が第2の値の場合は前記記憶手段のコントローラによる初期設定処理終了であると判断することを特徴とする請求項1または2記載の車両用装置。
【請求項4】
前記制御手段は、起動時に前記記憶手段にアクセスできない場合は初期設定処理未終了であると判断し、起動時に前記記憶手段にアクセスできた場合は初期設定処理終了であると判断することを特徴とする請求項1ないし3の何れかに記載の車両用装置。
【請求項5】
前記バックアップ電源により給電され、バックアップデータを記憶するバックアップ用記憶手段を備え、
前記制御手段は、バックアップが必要なデータを前記バックアップ用記憶手段に記憶し、バックアップを正常に終了できなかった場合は異常が生じたとして前記バックアップ用記憶手段への給電を停止することを特徴とする請求項1ないし4の何れかに記載の車両用装置。
【請求項6】
前記記憶手段と前記制御手段との間を接続するラインの内、仕様に基づいてプルアップが要求されているラインを、プルアップ抵抗を通じて前記電源から前記制御手段に給電する電源ラインと接続したことを特徴とする請求項1ないし5のいずれかに記載の車両用装置。
【請求項7】
前記起動要因は、使用者によるアクセサリオンであることであることを特徴とする請求項1ないし6のいずれかに記載の車両用装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate