(57)【要約】    【課題】  記憶装置にデータを再書き込みする方法において、書き込み失敗後の再書き込みの際に、書き込み失敗したデータと同じデータを書き込みできる方法を提供する。    【解決手段】  フラッシュメモリ３に元々書き込まれていた制御データと新たに書き込む制御データとの関係を識別する識別データを、フラッシュメモリ３の記憶領域にて通信用データを常駐させるローダー領域３ａ外の先頭に割り付けた識別ＩＤ領域３ｃに書き込んでおく。これにより、通信エラーが発生したときでも、識別データは書き込み完了している可能性が高くなる。したがって、再書き込みの際に、フラッシュメモリ３上の識別データと、新たに書き込むデータの識別データとの一致を判断してから、フラッシュメモリ３内のデータを消去して新たなデータを再書き込みすることで、書き込み失敗したデータと同じデータを書き込むことができる。【選択図】  図２
2006113985.tif 000002
【特許請求の範囲】
【請求項１】
電子制御装置に実装された記憶装置にデータを再書き込みする方法において、
前記記憶装置に元々書き込まれていた制御データと新たに書き込む制御データとの関係を識別する識別データを、該記憶装置の記憶領域にて少なくとも通信用データを常駐させる常駐領域外の先頭の領域に割り付けて書き込んでおき、
再書き込みの際に、前記記憶装置に書き込まれた識別データと、データ書き込みを行うメモリ書換装置に格納された新たなデータの識別データとの一致を判断してから、前記常駐領域外に書き込まれたデータを消去し、
前記新たなデータを再書き込みすることを特徴とする電子制御装置のデータ再書き込み方法。
【請求項２】
前記識別データは、ベクター領域の直後に割り付けて書き込むことを特徴とする請求項１記載の電子制御装置のデータ再書き込み方法。
【請求項３】
前記識別データは、冗長化して書き込むことを特徴とする請求項１又は請求項２記載の電子制御装置のデータ再書き込み方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子制御装置（例えば車両制御用のマイコン）に実装された記憶装置にデータを再書き込みする方法に関し、特に書き込み失敗後の再書き込みの際に、書き込み失敗したデータと同じデータを書き込むことができる電子制御装置のデータ再書き込み方法に関する。
【背景技術】
【０００２】
従来、車両においては、エンジンの制御や自動変速機を含む駆動系の制御などにマイコンが使用されており、その制御データ等は、電気的に書換え可能な不揮発性のメモリ（フラッシュメモリ）に記憶させている。車両開発段階あるいは市場（ディーラー）にて、車載されたマイコンの制御内容を変更する場合には、メモリに記憶されたデータの書換えが要求される。
【０００３】
かかるデータの書換えを行う場合には、車載のマイコンに対し、非車載のメモリ書換装置（電子システム診断テスター等）の通信手段を介して接続し、マイコンのメモリに記憶されたデータの一部又は全部を一旦消去して、そこに新たなデータを書き込むようになっている。ここで、新たなデータの書換えの途中に、何らかのデータ不良、あるいはノイズ等による通信エラーが発生した場合には、データ書き込みが失敗することになる。
【０００４】
このように通信エラー等によりデータ書き込みが失敗した場合には、マイコンの電源を一度切ってから再立ち上げする必要があるので、特許文献１に記載の技術では、電源を切っても記憶内容が消去しないフラッシュメモリに通信用データを一旦確保しておき、この通信用データを用いて必要なデータの再書き込みを行うようになっていた。
【特許文献１】特開平１１−７３８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、上記特許文献１に記載の技術においては、データの書き込みに失敗したときでもデータの再書き込みを継続して行うことができるが、書き込み失敗後の再書き込みを行う際に、どのようなデータでも書き込みできる構成になっていた。
そして、メモリ書換装置には、例えばエンジンの排気量や、自動変速機（ＡＴ）か手動式の変速機（ＭＴ）か、あるいはオートクルーズ装置を搭載しているか否か等の車両の仕様に応じて、非常に多くの種類のデータやプログラム等が格納されているが、上記特許文献１に記載の技術は、データの再書き込みの際に、どのようなデータでも書き込み可能であり、書き込み失敗したデータと同じデータが書き込まれる保証がなかったため、改善の余地があった。
【０００６】
そこで、本発明は、このような問題点に対処し、電子制御装置に実装された記憶装置にデータを再書き込みする際に、書き込み失敗したデータと同じデータを書き込むことができる電子制御装置のデータ再書き込み方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明による電子制御装置のデータ再書き込み方法は、記憶装置に元々書き込まれていた制御データと新たに書き込む制御データとの関係を識別する識別データを、該記憶装置の記憶領域にて常駐領域外の先頭の領域に割り付けて書き込んでおき、再書き込みの際に、記憶装置上の識別データと、新たに書き込むデータの識別データとの一致を判断してから、常駐領域外に書き込まれたデータを消去して新たなデータを再書き込みすることを特徴とするものである。
【発明の効果】
【０００８】
本願発明によれば、記憶装置の常駐領域外の先頭の領域に識別データが書き込まれるので、電子制御装置とメモリ書換装置との間で通信エラー等が発生したときでも、識別データについては書き込み完了している可能性が高くなり、記憶装置に元々書き込まれていたデータと新たに書き込むデータとの関係を識別できる可能性が向上する。したがって、電子制御装置にデータを再書き込みする際に、書き込み失敗したデータと同じデータを書き込むことができ、誤書き込みを防止することができる。
【発明を実施するための最良の形態】
【０００９】
以下に本発明の実施の形態を添付図面に基づいて詳細に説明する。
図１は電子制御装置（車両制御用のマイコン）のシステム構成を示している。車載のマイコン１は、ＣＰＵ２、不揮発性のフラッシュメモリ（ＦＬＡＳＨ ＥＥＰＲＯＭ）３、揮発性のＲＡＭ４、各種センサ・アクチュエータとの入出力のためのＩ／Ｏ５及び通信Ｉ／Ｆ６等を備えている。
【００１０】
この通信Ｉ／Ｆ６には、コネクタ７を介して、非車載のメモリ書換装置（電子システム診断テスター）８を接続可能である。なお、符号８ａは表示用ディスプレイを示している。また、メモリ書換装置８には、例えばエンジンの排気量や、ＡＴ車かＭＴ車か、あるいはオートクルーズ装置を搭載しているか否か等の車両の仕様に応じて、非常に多くの種類のデータやプログラム等が格納されている。
【００１１】
ここにおいて、マイコン１に実装されたフラッシュメモリ３は、何度でも電気的に記憶の書換えが可能な不揮発性の記憶装置であり、例えば１０２４Ｋバイトの容量で、一括またはブロック単位でデータを消去し、新たなデータをアドレス順に書き込むことができるようになっている。このフラッシュメモリ３の記憶領域には、図２に示すように、所定のアドレス位置に、通信用データや識別データ、制御データ、制御プログラム等を書き込む領域が割り付けられている。
【００１２】
図２の右側に示す本実施形態のメモリマップにおいては、フラッシュメモリ３の記憶領域のヘッド部に、ローダー領域３ａが割り付けられている。このローダー領域３ａは、マイコン１の立ち上げ直後に起動するプログラムを書き込む領域であって、少なくとも通信用データを常駐させており、この領域内の記憶内容はフラッシュメモリ３のデータ書換えを行うときでも消去されないようになっている。
【００１３】
このローダー領域３ａより後ろのアドレスは、フラッシュメモリ３のデータ書換えを行うときに、元々書き込まれていたデータを消去して、そこに新たなデータを書き込み可能な領域であって、アドレスの先頭から順に、マイコン１の設定情報を書き込むベクター領域３ｂ、識別データを書き込む識別ＩＤ領域３ｃ、制御データ等を書き込むデータ領域３ｄ、汎用サブルーチンを書き込むライブラリー領域３ｅ、各種プログラムを書き込むプログラム領域３ｆが割り付けられており、フラッシュメモリ３内の記憶領域の割付が最適化されている。
【００１４】
これに対し、図２の左側に示す参考例においては、フラッシュメモリ３の記憶領域には、先頭のアドレスから順に、ローダー領域、ベクター領域、第１のデータ領域、識別ＩＤ領域、第２のデータ領域、ライブラリー領域、第３のデータ領域、プログラム領域が割り付けられており、記憶領域の割付が最適化されていない。
これにより、図２の右側に示す本実施形態例においては、データ書き込みの途中で通信エラーが発生したときであっても、識別データについては、識別ＩＤ領域３ｃに書き込み完了している可能性が参考例のものと比べて高くなり、フラッシュメモリ３に元々書き込まれていたデータと、新たに書き込むデータとの関係を識別できる可能性が向上する。したがって、データを再書き込みする際に、書き込み失敗したデータと同じデータを書き込むことができ、誤書き込みを防止することができる。なお、データを再書き込みする方法については、図３を参照して後に詳しく述べる。
【００１５】
また、本実施形態例においては、前記識別データは、ベクター領域３ｂの直後の識別ＩＤ領域３ｃに書き込まれるようになっており、ローダー領域３ａに書き込まれるものでないので、上述したように、ローダー領域３ａ内の記憶内容はフラッシュメモリ３のデータ書換えを行うときでも消去されない。したがって、ローダー領域３ａに常駐させる通信用データについては、車両の仕様に応じて多くの種類のものを用意しなくてもよく、共通化することができる。
【００１６】
さらに、本実施形態においては、前記識別データは、１つの識別ＩＤ領域３ｃに冗長化して書き込まれている。具体的には、識別データとしては、例えばマイコン１の部品番号（例えば、「12345 AA000」）が用いられており、このような１６進数の識別データが、識別ＩＤ領域３ｃ内に、「12345 AA000  12345 AA000」のように、２回にわたって冗長化して書き込まれている。
【００１７】
次に、このように構成されたフラッシュメモリ３にデータを再書き込みする方法について説明する。図３は、フラッシュメモリ３のデータ書換えの流れを示すフローチャートである。この書換えのフローは、例えば車両のイグニションスイッチをＯＮにすることによってスタートする。
まず、ステップＳ１において、図１に示す車載のマイコン１側で、制御データの書換え要求が有るか否かを判断する。マイコン１にメモリ書換装置８が接続されていない場合には、制御データの書換え要求が無いと判断して、ステップＳ１は“No”側に進んで終了する。このときは、通常のエンジン制御の動作に移行する。
【００１８】
これに対し、例えばディーラーにてサービスマンが、図１に示すように、マイコン１の通信Ｉ／Ｆ６にコネクタ７を介してメモリ書換装置８を接続した場合には、マイコン１側で制御データの書換え要求が有ると判断する。この場合には、ステップＳ１は“Yes”側に進み、前回のデータの書き込みが正常に終了したか否かを判断する（ステップＳ２）。
前回の書き込みが正常に終了していたと判断した場合には、ステップＳ２は“Yes”側に進み、ステップＳ３をジャンプしてステップＳ４に入る。それ以降の動作については後述する。一方、前回の書き込みが正常に終了していないと判断した場合には、ステップＳ２は“No”側に進み、前回の書き込みのときに、フラッシュメモリ３に識別データが正しく書き込まれたか否かを判断する（ステップＳ３）。このとき、図２を参照して説明したように、識別データを書き込む識別ＩＤ領域３ｃは、フラッシュメモリ３の記憶領域にてローダー領域３ａ外の先頭の領域に割り付けられているので、たとえ前回の書き込みの途中に通信エラー等が発生した場合であっても、識別データについては、書き込み完了している可能性が高い。
【００１９】
また、上述したように、識別データは、識別ＩＤ領域３ｃに冗長化して書き込まれているので、前回の書き込みの途中に通信エラー等によってデータの書換えに失敗した場合であっても、それがどのようなタイミングで発生したかを判断することができる。
すなわち、データの書換えを行うときには、フラッシュメモリ３のローダー領域３ａ外の領域に記憶された全ての情報を一度消去する。実際には、ローダー領域３ａの外の領域は、便宜的に「FFFFF FFFFF」と書き込まれる。なお、記号Fはマイコンの初期値を表すものである。
【００２０】
そして、例えばデータの書き込みを行っているときに通信エラー等が発生した場合において、識別ＩＤ領域３ｃに書き込まれた２つの識別データがどちらも「FFFFF FFFFF」のままの場合には、識別ＩＤ領域３ｃに識別データを書き込む前に、通信エラー等が発生したことが分かる。
また、２つの識別データが、互いに異なっている場合には、識別ＩＤ領域３ｃに識別データを書き込む途中に、通信エラー等が発生したことが分かる。
【００２１】
また、２つの識別データが、いずれも「FFFFF FFFFF」でなく、かつ、互いに一致している場合には、識別ＩＤ領域３ｃに識別データを書き込みした後で、通信エラー等が発生したことが分かる。
このように、識別ＩＤ領域３ｃに書き込まれた２つの識別データを比較することによって、通信エラー等が発生して書換えが止まったタイミングが、識別データの書き込み途中又はメモリ消去後でデータ書き込み前（初期値の状態）であるか、あるいは、識別データの書換え終了後又はメモリ消去前であるか、を判断できる。
【００２２】
そして、上記のように、識別データの書換え終了後又はメモリ消去前のタイミングで、データの書換えが止まった場合には、識別ＩＤ領域３ｃに識別データが書き込まれている状態となるので、フラッシュメモリ３に元々書き込まれていたデータと、新たに書き込むデータとの関係を識別することができる。
ここで、前回の書き込みの際に、フラッシュメモリ３に識別データが正しく書き込まれていると判断した場合には、ステップＳ３は“Yes”側に進む。すると、この識別データをマイコン１側のフラッシュメモリ３から読み込み（ステップＳ４）、メモリ書換装置８側に識別データを返信する（ステップＳ５）。そして、フラッシュメモリ３に書き込まれていた識別データと、メモリ書換装置８内にてこれから再書き込みを行う新たなデータの識別データとが一致するか否かを、該メモリ書換装置８で判断してから、再書き込みの動作を開始する。
【００２３】
具体的には、フラッシュメモリ３のローダー領域３ａ外の領域に記憶されている古いデータを消去し、そこに新しいデータをアドレス順に書き込む。このようにデータを再書き込みする際にも、識別データは、前記フラッシュメモリ３のローダー領域３ａ外の先頭の領域に割り付けて書き込みしておく。そして、再書き込みが完了したときに、サム・パリティ・チェックを行い、データ通信におけるデータの誤り(エラー)を検出する。
【００２４】
そして、ステップＳ７において、サム・パリティ・チェックを行い、通信エラーを検出したか否かを判断する。通信エラーを検出した場合には、“Yes”側に進み、ステップＳ３に戻り、上述の動作（ステップＳ３〜Ｓ７）を繰り返す。また、ステップＳ７において、通信エラーを検出しなかった場合には、“No”側に進み、再書き込みの動作を終了する。
【００２５】
以上に説明したように、図１に示すマイコン１にデータを再書き込みする際に、書き込み失敗したデータと同じデータを書き込むことができ、誤書き込みを防止することができる。
なお、ステップＳ３において、識別データが正しく書き込まれていないと判断した場合には、“No”側に進んで終了する。このときは、これ以上の書き込みを禁止するメッセージをメモリ書換装置８の表示用ディスプレイ８ａに表示し、マイコン１自体を交換する。これにより、誤った種類のデータを書き込んでしまうことを防止することができる。
【００２６】
また、上記書き込み禁止のメッセージに代わりに、全ての書き込みを許可する特殊なＩＤをメモリ書換装置８に返信して、これを表示用ディスプレイ８ａに表示することもできる。この場合には、フラッシュメモリ３にどのような制御データでも書き込むことができるようになるのが、ディーラーのサービスマンが、メモリ書換装置８を操作して書き込み失敗したデータと同じデータを選択し、これをマイコン１に書き込むことができる。この場合には、マイコン１を交換しなくてもよくなり、コストの削減を図ることができる。
【図面の簡単な説明】
【００２７】
【図１】本発明を実施する電子制御装置の一実施形態を示すシステム図
【図２】フラッシュメモリのデータ割り付けを示すメモリマップ
【図３】電子制御装置のデータ書換えの流れを示すフローチャート
【符号の説明】
【００２８】
１…車両制御用マイコン
２…ＣＰＵ
３…フラッシュメモリ（ＦＬＡＳＨ ＥＥＰＲＯＭ）
４…ＲＡＭ
５…Ｉ／Ｏ
６…通信Ｉ/Ｆ
７…コネクタ
８…メモリ書換装置（電子システム診断テスター）
【図１】
2006113985.tif 000003
【図２】
2006113985.tif 000004
【図３】
2006113985.tif 000005