(57)【要約】【課題】データ検証領域の先頭位置および末尾位置に同一内容の識別情報を格納することにより、識別情報間に挟まれたデータ空間内のデータの正否を判定可能とする。【解決手段】まず、データ検証領域の先頭位置の先頭識別情報が期待値であるかどうかを判定する（ステップＳ１）。先頭識別情報が期待値であれば、データ検証領域の末尾位置の末尾識別情報が期待値であるかどうかを判定する（ステップＳ２）。末尾識別情報も期待値であれば、先頭識別情報と末尾識別情報とが同一内容であるかどうかを判定する（ステップＳ３）。先頭識別情報と末尾識別情報とが同一内容であれば、先頭識別情報と末尾識別情報とに挟まれたデータ空間内のデータが正しいと判定する（ステップＳ４）。それ以外の場合には、先頭識別情報と末尾識別情報とに挟まれたデータ空間内のデータが正しくないと判定する（ステップＳ５）。【選択図】  図３
2006268176.tif 000002
【特許請求の範囲】
【請求項１】
フラッシュＥＥＰＲＯＭのデータ検証領域の先頭位置および末尾位置に同一内容の識別情報を格納することにより、前記先頭位置の識別情報と前記末尾位置の識別情報とが一致し、かつ期待値であることを確認することで、前記識別情報間に挟まれたデータ空間内のデータが正しいと判定することを特徴とするフラッシュＥＥＰＲＯＭのデータ正否判定方法。
【請求項２】
前記データ検証領域が、フラッシュＥＥＰＯＲＭ内のブロックである請求項１記載のフラッシュＥＥＰＲＯＭのデータ正否判定方法。
【請求項３】
フラッシュＥＥＰＯＲＭ内のすべてのブロックの先頭位置および末尾位置に同一内容の識別情報を格納する請求項２記載のフラッシュＥＥＰＲＯＭのデータ正否判定方法。
【請求項４】
前記ブロックの先頭位置および末尾位置に格納される同一内容の識別情報が、ブロック毎に異なる請求項３記載のフラッシュＥＥＰＲＯＭのデータ正否判定方法。
【請求項５】
前記識別情報間に挟まれたデータ空間内のデータが、電子制御装置名および通信規約を含む請求項１ないし請求項４のいずれか１項に記載のフラッシュＥＥＰＲＯＭのデータ正否判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はフラッシュＥＥＰＲＯＭ（Electrically Erasable and Programmable Read-Only Memory）のデータ正否判定方法に関し、詳しくは、フラッシュＥＥＰＲＯＭ内の領域のデータの正否を判定するフラッシュＥＥＰＲＯＭのデータ正否判定方法に関する。
【背景技術】
【０００２】
従来から、例えば車両のエンジンやトランスミッション等の制御対象機器を制御する電子制御装置では、電気的に記憶内容の書換えが可能なフラッシュＥＥＰＲＯＭに制御プログラム（詳しくは、制御プログラムを構成する命令コードやそのプログラムで参照される固定の制御データ）を格納しておき、電子制御装置の市場への供給後でも、フラッシュＥＥＰＲＯＭ内の制御プログラムをオンボード（すなわち、車両等に電子制御装置を搭載したままの状態）にて書換え可能に構成したものがある（例えば、特許文献１，特許文献２，特許文献３参照）。
【０００３】
この種のプログラム書換え機能を有する電子制御装置は、通常制御モード時には、フラッシュＥＥＰＲＯＭに格納された制御プログラムに従ってエンジン等の制御対象機器を制御するが、別途接続される外部装置としてのフラッシュＥＥＰＲＯＭ書換え装置から書換え要求信号を受信するなどして書換え条件が成立したと判定すると、自電子制御装置の動作モードを通常制御モードからフラッシュＥＥＰＲＯＭ書換えモードに移行させて、フラッシュＥＥＰＲＯＭ内の制御プログラムをフラッシュＥＥＰＲＯＭ書換え装置から送信されてくる新たな制御プログラムに書き換える書換え処理を行なう。そして、このような電子制御装置によれば、何等かの原因で制御対象機器の動作内容（制御内容）を変更しなければならない場合に、制御プログラムを簡単に変更することができる。例えば、制御プログラムをバージョンアップする場合等がある。
【０００４】
ところが、フラッシュＥＥＰＲＯＭは、データの書換え処理に際して、１つのブロック内のデータを一括消去し、しかる後にブロック内にデータを順次書き込まなければならないという特性がある。すなわち、データの書換え処理は、ブロック内のデータの一括消去処理と順次書込み処理との２つ処理からなる。このため、フラッシュＥＥＰＲＯＭのブロック内のデータの一括消去または順次書込みの途中で何らかの原因により書換え処理が中断された場合、フラッシュＥＥＰＲＯＭのブロック内のデータが不完全なものとなる可能性があった。
【０００５】
そこで、従来の電子制御装置には、フラッシュＥＥＰＲＯＭのデータのチェックサムによる第１段階の判定と、フラッシュＥＥＰＲＯＭのデータと他のメモリのデータとの一致を見る第２段階の判定とを併用して、データ異常の検出精度を向上させるようにしたものがあった（例えば、特許文献４参照）。
【０００６】
なお、電子制御装置に特有の技術ではないが、２つのフラッシュＥＥＰＲＯＭに保持されているデータの一致を判定することにより、フラッシュＥＥＰＲＯＭの正常性を判定する技術が知られていた（例えば、特許文献５参照）。また、フラッシュＥＥＰＲＯＭの同一ブロック（セクタ）内にチェック用エリアを設けて、フラッシュＥＥＰＲＯＭの障害を検出する技術も知られていた（例えば、特許文献６参照）。
【０００７】
ところで、制御プログラムの書換えに際しては、電子制御装置が扱う通信規約（プロトコル）とフラッシュＥＥＰＲＯＭ書換え装置が扱う通信規約とが一致していないと、電子制御装置，フラッシュＥＥＰＲＯＭ書換え装置間の通信が成立をしないため、電子制御装置が通信規約を確認できるようにする必要がある。しかし、通信規約は電子制御装置とフラッシュＥＥＰＲＯＭ書換え装置との組み合わせの関係で変わることがあるため、従来の電子制御装置では、フラッシュＥＥＰＲＯＭ上に予め必要とする通信制御情報（電子制御装置名、通信規約等）を記憶させ、その通信制御情報を電子制御装置自身が読み出して、フラッシュＥＥＰＲＯＭ書換え装置との通信を行なう方法を採用している。これにより、電子制御装置は、複数の通信規約に対応することも可能となる。
【特許文献１】特開平１１−１４１３９４号公報
【特許文献２】特開平１１−１７５３３１号公報
【特許文献３】特開２００１−２６５６０１号公報
【特許文献４】特開２００２−３３４０２４号公報
【特許文献５】特開２００１−３０７４９８号公報
【特許文献６】特開２００３−１５０４５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従来の電子制御装置では、制御プログラムがフラッシュＥＥＰＲＯＭの複数ブロックに跨って格納されており、各ブロック内の制御プログラムのデータの書換えは各ブロック単位で行なわれている。このため、一部または全部のブロックの一括消去または順次書込みの途中で何らかの原因により書換え処理が中断されていたが、全体の制御プログラムの書換え処理は完了したような場合、フラッシュＥＥＰＲＯＭの制御プログラムが不完全なものとなる可能性があった。
【０００９】
特に、従来の電子制御装置では、フラッシュＥＥＰＲＯＭ上にフラッシュＥＥＰＲＯＭ書換え装置との通信に必要な通信制御情報（電子制御装置名，通信規約等）を予め記憶させ、その通信制御情報を電子制御装置自身が読み出して、フラッシュＥＥＰＲＯＭ書換え装置との通信を行なう方法を採用していたので、上記通信制御情報を記憶した領域で書換え処理の中断等が起こっていた場合には、制御プログラムの書換えに際して、電子制御装置がフラッシュＥＥＰＲＯＭから読み出した通信制御情報（電子制御装置名，通信規約等）とフラッシュＥＥＰＲＯＭ書換え装置が扱う通信制御情報（電子制御装置名，通信規約等）とが一致しなくなり、電子制御装置，フラッシュＥＥＰＲＯＭ書換え装置間の通信が成立をしないため、制御プログラムの書換え処理ができなくなるという問題があった。
【００１０】
また、従来の電子制御装置には、フラッシュＥＥＰＲＯＭの特定の領域内のデータの正否を判定できる仕組みがなく、フラッシュＥＥＰＲＯＭにデータの正否を判定したい領域（以下、データ検証領域という）があっても、そのデータ検証領域内のデータだけについての正否判定は行なうことができないという問題があった。このため、フラッシュＥＥＰＲＯＭのデータ検証領域内のデータの正否判定を行なう場合には、フラッシュＥＥＰＲＯＭ全体のデータの正否判定を行なわなければならないという不都合があった。
【００１１】
さらに、従来の電子制御装置では、フラッシュＥＥＰＲＯＭの特定の領域内のデータの正否を判定できる仕組みがないので、フラッシュＥＥＰＲＯＭに格納された制御プログラムの一部だけを修正する場合であっても、フラッシュＥＥＰＲＯＭに格納された制御プログラム全体を書き換える必要があり、電子制御装置とフラッシュＥＥＰＲＯＭ書き換え装置とを接続する通信回線の回線速度によっては制御プログラムの書換え処理に長時間を要するとともに制御プログラムの書換え作業が面倒であるという問題もあった。
【００１２】
本発明の目的は、フラッシュＥＥＰＲＯＭにあるデータ検証領域の先頭位置および末尾位置に同一内容の識別情報を格納することにより、先頭位置の識別情報と末尾位置の識別情報とが一致し、かつ期待値であることを確認することで、識別情報間に挟まれたデータ空間内のデータが正しいと判定するようにしたフラッシュＥＥＰＲＯＭのデータ正否判定方法を提供することにある。
【課題を解決するための手段および発明の効果】
【００１３】
請求項１記載のフラッシュＥＥＰＲＯＭのデータ正否判定方法は、フラッシュＥＥＰＲＯＭのデータ検証領域の先頭位置および末尾位置に同一内容の識別情報を格納することにより、前記先頭位置の識別情報と前記末尾位置の識別情報とが一致し、かつ期待値であることを確認することで、前記識別情報間に挟まれたデータ空間内のデータが正しいと判定することを特徴とする。請求項１記載のフラッシュＥＥＰＲＯＭのデータ正否判定方法によれば、データの正否を判定したいデータ検証領域の先頭位置に格納した識別情報と期待値とを比較したり、末尾位置に格納した識別情報と期待値とを比較したりするばかりではなく、先頭位置に格納した識別情報と末尾位置に格納した識別情報との一致をも確認するようにしたことにより、識別情報間に挟まれたデータ空間内のデータの正否をより正確に判定することができる。特に、フラッシュＥＥＰＲＯＭのブロック内のデータの一括消去または順次書込みの途中で何らかの原因により書換え処理が中断された場合等にも、フラッシュＥＥＰＲＯＭのブロック内のデータが不完全なものとなったことを確実に判定することができる。
【００１４】
請求項２記載のフラッシュＥＥＰＲＯＭのデータ正否判定方法は、請求項１記載のフラッシュＥＥＰＲＯＭのデータ正否判定方法において、前記データ検証領域が、フラッシュＥＥＰＯＲＭ内のブロックであることを特徴とする。請求項２記載のフラッシュＥＥＰＲＯＭのデータ正否判定方法によれば、データの正否を判定したいデータ検証領域をフラッシュＥＥＰＯＲＭ内のブロックとしたことにより、フラッシュＥＥＰＯＲＭのブロック単位にデータの正否を判定できるという利点がある。また、フラッシュＥＥＰＲＯＭ内の任意の１つのブロックについてだけでも、ブロック内のデータの正否を判定することが可能となるという利点がある。
【００１５】
請求項３記載のフラッシュＥＥＰＲＯＭのデータ正否判定方法は、請求項２記載のフラッシュＥＥＰＲＯＭのデータ正否判定方法において、フラッシュＥＥＰＯＲＭ内のすべてのブロックの先頭位置および末尾位置に同一内容の識別情報を格納することを特徴とする。請求項３記載のフラッシュＥＥＰＲＯＭのデータ正否判定方法によれば、フラッシュＥＥＰＯＲＭの一部のデータが正しければ良いのではなく、フラッシュＥＥＰＯＲＭの全てのデータが正しくなければならないような場合には、フラッシュＥＥＰＯＲＭ全体のデータの正否を判定することができる。
【００１６】
請求項４記載のフラッシュＥＥＰＲＯＭのデータ正否判定方法は、請求項３記載のフラッシュＥＥＰＲＯＭのデータ正否判定方法において、前記ブロックの先頭位置および末尾位置に格納される同一内容の識別情報が、ブロック毎に異なることを特徴とする。請求項４記載のフラッシュＥＥＰＲＯＭのデータ正否判定方法によれば、フラッシュＥＥＰＯＲＭ内の各ブロックの先頭領域および末尾領域にブロック毎に異なる識別情報を格納するようにしたので、ブロック毎に先頭位置の識別情報および末尾位置の識別情報が異なる期待値と比較されることになり、ブロック毎のデータの正否をより正確に判定することができる。
【００１７】
請求項５記載のフラッシュＥＥＰＲＯＭのデータ正否判定方法は、請求項１ないし請求項４のいずれか１項に記載のフラッシュＥＥＰＲＯＭのデータ正否判定方法において、前記識別情報間に挟まれたデータ空間内のデータが、電子制御装置名および通信規約を含むことを特徴とする。請求項５記載のフラッシュＥＥＰＲＯＭのデータ正否判定方法によれば、フラッシュＥＥＰＲＯＭのデータの正否を判定したいデータ検証領域に電子制御装置名および通信規約が格納されている場合に、当該データ検証領域の先頭位置および末尾位置に同一内容の識別情報を格納し、先頭位置の識別情報が期待値であり、かつ末尾位置の識別情報が期待値であるとともに、先頭位置の識別情報と末尾位置の識別情報とが一致することを確認することで、フラッシュＥＥＰＲＯＭに格納された電子制御装置名および通信規約が正しいことをより正確に判定することができ、正しいと判定された電子制御装置名および通信規約を用いて、電子制御装置はフラッシュＥＥＰＲＯＭ書換え装置と通信可能な方法で確実に通信を行なうことができる。
【発明を実施するための最良の形態】
【００１８】
フラッシュＥＥＰＲＯＭのデータ検証領域の先頭位置および末尾位置に同一内容の識別情報を格納することにより、先頭位置の識別情報と末尾位置の識別情報とが一致し、かつ期待値であることを確認することで、識別情報間に挟まれたデータ空間内のデータが正しいと判定するようにした。
【００１９】
以下、本発明の実施例について図面を参照しながら詳細に説明する。
【実施例１】
【００２０】
図１は、本発明の実施例１に係るフラッシュＥＥＰＲＯＭのデータ正否判定方法が適用される電子制御装置が配設された電子制御システムの構成を示すブロック図である。この電子制御システムは、複数種類の電子制御装置１Ａ，１Ｂ，…，１Ｎを備えている。例えば、車両のエンジンの燃料噴射等を制御するためのエンジン制御用電子制御装置，車両のドアの開閉，ロック等を制御するためのボデー制御用電子制御装置，車両のブレーキ操作時における車輪のロックを防止するためのブレーキ制御用電子制御装置，車両の加速途中での車輪の空転を防止するためのトラクション制御用電子制御装置，車両を定速走行させるための定速走行制御用電子制御装置等である。
【００２１】
電子制御装置１Ａ，１Ｂ，…，１Ｎは、互いに通信回線５を介して接続されている。通信回線５としては、いわゆる車載ＬＡＮ（Local Area Network）があり、具体的には、ＣＡＮ（Car Area Network），Ｓａｆｅ−ｂｙ  Ｗｉｒｅ，ＦｌｅｘＲａｙ等が想定される。また、通信回線５には、コネクタ４が設けられており、コネクタ４には、フラッシュＥＥＰＲＯＭ書換え装置１０が着脱自在に接続されるようになっている。
【００２２】
電子制御装置１Ａは、自電子制御装置１Ａの制御対象機器（エンジン等）を制御するための処理を行なうマイクロコンピュータ２と、外部装置としてのフラッシュＥＥＰＲＯＭ書換え装置１０との間でデータ通信を行なう通信制御装置３とを含んで構成されている。なお、他の電子制御装置１Ｂ，…，１Ｎも、電子制御装置１Ａと同様に構成されていることはいうまでもない。
【００２３】
マイクロコンピュータ２は、プログラムを実行するＣＰＵ（Central Processing Unit）２１と、ＣＰＵ２１によって実行されるプログラムを記憶するフラッシュＥＥＰＲＯＭ２３と、ＣＰＵ２１による演算結果等を一時的に記憶するＲＡＭ（Random Access Memory）２４と、入力回路（図示せず），出力回路（図示せず），および通信制御装置３との間で信号やデータをやり取りするＩ／Ｏ（Input/Output）２５と、各種レジスタ（図示せず）等を備えている。
【００２４】
フラッシュＥＥＰＲＯＭ２３は、ブロック単位に電気的に記憶内容の一括消去および順次書込みが可能なＥＥＰＲＯＭである。フラッシュＥＥＰＲＯＭ２３には、フラッシュＥＥＰＲＯＭ書換え専用プログラム２３１と、制御対象機器を制御するための制御プログラム２３２とがあらかじめ書き込まれている。なお、書換え専用プログラム２３２は、フラッシュＥＥＰＥＯＭに書き込む場合と、書換えが不可能なマスクＲＯＭに書き込んでおく場合とがあるが、図１は、フラッシュＥＥＰＲＯＭ２３に書き込んだ場合の例である。
【００２５】
図２は、フラッシュＥＥＰＲＯＭ２３において、データの正否を判定したいデータ検証領域の一例を示す図である。このデータ検証領域は、先頭位置に格納された先頭識別情報と、末尾位置に格納された末尾識別情報と、先頭識別情報，末尾識別情報間のデータ空間とから構成されている。先頭識別情報と末尾識別情報とは、同一内容である。データ空間には、検証対象となるデータが書き込まれている。本実施例１では、電子制御装置名，通信規約等の通信制御情報が書き込まれているものとする。なお、データ検証領域は、フラッシュＥＥＰＲＯＭ２３のブロックのサイズである必要はかならずしもない。このように、フラッシュＥＥＰＲＯＭ２３のデータ検証領域に検証対象のデータを書き込む際に、当該データ検証領域の先頭位置および末尾位置に同一内容の識別情報を格納するようにしたのは、先頭位置の先頭識別情報と末尾位置の末尾識別情報とが一致し、かつ期待値であることを確認することで、先頭識別情報，末尾識別情報間に挟まれたデータ空間内のデータ（特に、電子制御装置名，通信規約等の通信制御情報）が正しく書き込まれていると推定することができるからである。
【００２６】
電子制御装置１Ａには、フラッシュＥＥＰＲＯＭ２３に書き込まれている制御プログラム２３２を新たな内容に書き換える際に、コネクタ４および通信回線５を介してフラッシュＥＥＰＲＯＭ書換え装置１０が接続される。電子制御装置１ＡとフラッシュＥＥＰＲＯＭ書換え装置１０との接続は、両者のコネクタ４を介して互いの通信回線５が信号的に接続されることにより行なわれる。すなわち、コネクタ４同士が連結されると、電子制御装置１Ａのマイクロコンピュータ２は、通信回線５および通信制御装置３を介してフラッシュＥＥＰＲＯＭ書換え装置１０とシリアルデータ通信可能になる。
【００２７】
フラッシュＥＥＰＲＯＭ書換え装置１０は、図示しないマイクロコンピュータや制御プログラム格納媒体等を内蔵する外部装置であって、操作メニューやエラーメッセージなどを表示するディスプレイや電子制御装置１Ａ等のフラッシュＥＥＰＲＯＭ２３のデータ書換えをなどを指令するための操作スイッチ（キーボード）等を備えるものである。
【００２８】
フラッシュＥＥＰＲＯＭ書換え装置１０と電子制御装置１Ａ（マイクロコンピュータ２）とが通信を行なって、マイクロコンピュータ２に内蔵されたフラッシュＥＥＰＲＯＭ２３の制御プログラム２３２を書き換える。通信回線５には、複数の電子制御装置１Ａ，１Ｂ，…，１Ｎが接続されているため、通信制御情報（電子制御装置１Ａ，１Ｂ，…，１Ｎの名称，通信規約等）をフラッシュＥＥＰＲＯＭ２３に組み込み、制御プログラム２３２の書換え処理時にその通信制御情報を利用して書換えを実現している。
【００２９】
図３は、本発明の実施例１に係るフラッシュＥＥＰＲＯＭのデータ正否判定方法の処理手順を示すフローチャートである。フラッシュＥＥＰＲＯＭ２３のデータ検証領域内のデータの正否を判定する場合、まず、当該データ検証領域の先頭位置に格納されている先頭識別情報を読み出して、先頭識別情報が期待値であるかどうかを判定する（ステップＳ１）。先頭識別情報が期待値であれば、当該データ検証領域の末尾位置に格納されている末尾識別情報を読み出して、末尾識別情報が期待値であるかどうかを判定する（ステップＳ２）。末尾識別情報も期待値であれば、先頭識別情報と末尾識別情報とが同一内容であるかどうかを判定する（ステップＳ３）。先頭識別情報と末尾識別情報とが同一内容であれば、先頭識別情報と末尾識別情報とに挟まれたデータ空間内のデータが正しいと判定する（ステップＳ４）。それ以外の場合には、当該データ空間内のデータが正しくないと判定する（ステップＳ５）。
【００３０】
図４は、本実施例１に係るフラッシュＥＥＰＲＯＭのデータ正否判定方法を、電子制御装置１Ａの制御プログラム２３２の書換え処理に適用した場合のフローチャートである。詳しくは、フラッシュＥＥＰＲＯＭ２３のデータ検証領域（ブロック単位であるか否かは問わない）に同一内容の識別情報を挟んで通信制御情報（電子制御装置名，通信規約等）を格納しておき、電子制御装置１Ａが、本実施例１に係るフラッシュＥＥＰＲＯＭのデータ正否判定方法により通信制御情報（電子制御装置名，通信規約等）の正否を判定してから、制御プログラム２３２の書換え処理を開始するようにした場合の動作を示すフローチャートである。
【００３１】
次に、このように構成された実施例１に係るフラッシュＥＥＰＲＯＭのデータ正否判定方法が適用される電子制御装置１Ａの動作について説明する。ここでは、図４のフローチャートの場合を例にとって説明する。
【００３２】
車両のイグニッションスイッチがオンされるなどして、電子制御装置１Ａにおいて、電源回路（図示せず）からマイクロコンピュータ２へのリセット信号が解除されると、ＣＰＵ２１が、まず、フラッシュＥＥＰＲＯＭ２３内の制御プログラム２３２の実行を開始する。
【００３３】
次に、ＣＰＵ２１は、制御プログラム２３２により、初期化処理を行なった後、通常制御モードで制御対象機器を制御するための制御処理を行なう（ステップＳ１０１）。このため、ＣＰＵ２１は、フラッシュＥＥＰＲＯＭ書換え装置１０から制御プログラム２３２の書換えを指示する制御プログラム書換え要求が電子制御装置１Ａに送信されてこない限り、通常制御モードで制御対象機器の制御処理を継続する。
【００３４】
電子制御装置１Ａが通常制御モードでの動作中に、フラッシュＥＥＰＲＯＭ書換え装置１０は、電子制御装置１Ａの制御プログラム２３２を書き換えるために、制御プログラム書換え要求を通信回線５を介して電子制御装置１Ａに送信する（ステップＳ１０２）。
【００３５】
電子制御装置１Ａでは、ＣＰＵ２１が、制御プログラム２３２により、自電子制御装置１Ａに対する制御プログラム書換え要求を受信したかどうかを判定している（ステップＳ１０３）。
【００３６】
ＣＰＵ２１は、自電子制御装置１Ａに対する制御プログラム書換え要求を受信していないと判定した場合には（ステップＳ１０３：Ｎｏ）、ステップＳ１０１に制御を戻す。
【００３７】
ＣＰＵ２１は、電子制御装置１Ａに対する制御プログラム書換え要求を受信したと判定した場合には（ステップＳ１０３：Ｙｅｓ）、制御プログラム２３２からフラッシュＥＥＰＲＯＭ書換え専用プログラム２３１にジャンプすることにより（ステップＳ１０４）、通常制御モードからフラッシュＥＥＰＲＯＭ書換えモードに移行する。
【００３８】
フラッシュＥＥＰＲＯＭ書換えモードに移行すると、ＣＰＵ２１は、フラッシュＥＥＰＲＯＭ書換え専用プログラム２３１により、フラッシュＥＥＰＲＯＭ２３の制御プログラム２３２の書換え処理の準備として、制御プログラム書換え要求により書換えを要求されたフラッシュＥＥＰＲＯＭ２３のデータ検証領域の先頭位置に格納された先頭識別情報が期待値であるかどうかを判定する（ステップＳ１０５）。
【００３９】
先頭識別情報が期待値に一致していなければ（ステップＳ１０５：Ｎｏ）、ＣＰＵ２１は、フラッシュＥＥＰＲＯＭ書換え専用プログラム２３１により、フラッシュＥＥＰＲＯＭ２３のデータ検証領域のデータが検証対象の通信制御情報（電子制御装置名，通信規約等）でないと判定し、ステップＳ１１０に制御を移す。
【００４０】
先頭識別情報が期待値に一致していれば（ステップＳ１０５：Ｙｅｓ）、ＣＰＵ２１は、フラッシュＥＥＰＲＯＭ書換え専用プログラム２３１により、フラッシュＥＥＰＲＯＭ２３のデータ検証領域の末尾位置に格納された末尾識別情報が期待値であるかどうかを判定する（ステップＳ１０６）。
【００４１】
末尾識別情報が期待値に一致していなければ（ステップＳ１０６：Ｎｏ）、ＣＰＵ２１は、フラッシュＥＥＰＲＯＭ書換え専用プログラム２３１により、先頭識別情報がフラッシュＥＥＰＲＯＭ２３に書き込まれてから末尾識別情報がフラッシュＥＥＰＲＯＭ２３に書き込まれるまでの期間に書込みエラー等が発生していて、先頭識別情報と末尾識別情報とに挟まれたデータ空間内のデータである通信制御情報（電子制御装置名，通信規約等）が正しくないと判定し、ステップＳ１１０に制御を移す。
【００４２】
末尾識別情報も期待値に一致していれば（ステップＳ１０６：Ｙｅｓ）、ＣＰＵ２１は、フラッシュＥＥＰＲＯＭ書換え専用プログラム２３１により、先頭識別情報と末尾識別情報とが同一内容であるかどうかを判定する（ステップＳ１０７）。
【００４３】
先頭識別情報と末尾識別情報とが同一内容でなければ（ステップＳ１０７：Ｎｏ）、ＣＰＵ２１は、フラッシュＥＥＰＲＯＭ書換え専用プログラム２３１により、先頭識別情報がフラッシュＥＥＰＲＯＭ２３に書き込まれてから末尾識別情報がフラッシュＥＥＰＲＯＭ２３に書き込まれるまでの期間に書込みエラー等が発生していて、先頭識別情報と末尾識別情報とに挟まれたデータ空間内のデータである通信制御情報（電子制御装置名，通信規約等）が正しくないと判定し、ステップＳ１１０に制御を移す。
【００４４】
先頭識別情報と末尾識別情報とが同一内容であれば（ステップＳ１０７：Ｙｅｓ）、ＣＰＵ２１は、フラッシュＥＥＰＲＯＭ書換え専用プログラム２３１により、先頭識別情報と末尾識別情報とに挟まれたデータ空間内のデータである通信制御情報（電子制御装置名，通信規約等）が正しいと判定し、データ空間内のデータである通信制御情報（電子制御装置名，通信規約等）を読み出して、それに従った通信方法でフラッシュＥＥＰＲＯＭ書換え装置１０と通信を開始する（ステップＳ１０８）。
【００４５】
通信が開始されると、フラッシュＥＥＰＲＯＭ書換え装置１０が自身の制御プログラム格納媒体に書き込まれている制御プログラム２３２のデータを順次送信してくるので、ＣＰＵ２１は、フラッシュＥＥＰＲＯＭ書換え専用プログラム２３１により、受信した制御プログラム２３２のデータを、フラッシュＥＥＰＲＯＭ２３の該当する領域に順次書き込むことによって制御プログラム２３２の書換え処理を実行する（ステップＳ１０９）。詳しくは、フラッシュＥＥＰＲＯＭ書換え装置１０から送信されてくる制御プログラム書換え要求に従い、フラッシュＥＥＰＲＯＭ２３の該当ブロックを一括消去した後に、フラッシュＥＥＰＲＯＭ書換え装置１０から送信されてくる制御プログラム２３２のデータをフラッシュＥＥＰＲＯＭ２３の該当ブロックに順次書き込んでいく処理をブロック毎に繰り返して書換え処理を実行する。
【００４６】
そして、フラッシュＥＥＰＲＯＭ２３の制御プログラム２３２の書換え処理が完了すると、ＣＰＵ２１は、フラッシュＥＥＰＲＯＭ書換え専用プログラム２３１から制御プログラム２３２にジャンプして、フラッシュＥＥＰＲＯＭ書換えモードから通常制御モードに復帰する。
【００４７】
一方、ステップＳ１１０では、ＣＰＵ２１は、フラッシュＥＥＰＲＯＭ２３の制御プログラム２３２の書換え処理の準備を停止し、その状態を継続する。これにより、一定時間後に、ウォッチドックタイマ（図示せず）によりエラー処理が行なわれる。
【００４８】
本実施例１によれば、フラッシュＥＥＰＲＯＭ２３のデータ検証領域に通信制御情報（電子制御装置名，通信規約等）を格納するとともに、当該データ検証領域の先頭位置および末尾位置に同一内容の識別情報を格納したことにより、先頭識別情報が期待値であり、かつ末尾識別情報が期待値であるとともに、先頭識別情報と末尾識別情報とが一致することを確認することで、フラッシュＥＥＰＲＯＭ２３に格納された通信制御情報（電子制御装置名，通信規約等）が正しいことをより正確に判定することができ、正しいと判定された通信制御情報（電子制御装置名，通信規約等）を用いて、電子制御装置１Ａは、フラッシュＥＥＰＲＯＭ書換え装置１０と通信可能な方法で確実に通信を行なうことができる。
【００４９】
また、本実施例１によれば、データ検証領域がフラッシュＥＥＰＲＯＭ２３の一部であっても、フラッシュＥＥＰＲＯＭ２３全体のデータ検証を行なうことなしに、データ検証領域のデータの正しさを判定することが可能となる。
【００５０】
ところで、上記実施例１の動作の説明では、フラッシュＥＥＰＲＯＭ２３の不特定サイズのデータ検証領域に格納された通信制御情報（電子制御装置名，通信規約等）の正否を判定する場合を例にとって説明したが、データ検証領域をフラッシュＥＥＰＲＯＭ２３のブロック（以下、データ検証ブロックという）にとり、当該データ検証ブロックの先頭位置および末尾位置に同一内容の識別情報を格納することもできる。このようにすれば、データ検証ブロック全体のデータの正否判定も高速に行えるようになる。
【００５１】
また、上記実施例１の動作の説明では、フラッシュＥＥＰＲＯＭ２３に設けられるデータ検証領域が１箇所であるように説明したが、データ検証領域は１箇所に限られず、またフラッシュＥＥＰＲＯＭ２３の全てのブロックをデータ検証ブロックとしてフラッシュＥＥＰＲＯＭ２３全体のデータの正否を検証することもできる。
【実施例２】
【００５２】
図５は、本発明の実施例２に係るフラッシュＥＥＰＲＯＭのデータ正否判定方法が適用されるフラッシュＥＥＰＲＯＭ２３のメモリマップである。本実施例２に係るフラッシュＥＥＰＲＯＭのデータ正否判定方法は、フラッシュＥＥＰＲＯＭ２３全体の各ブロックをデータ検証領域（データ検証ブロック）とするものであり、各データ検証ブロックの先頭位置および末尾位置には同一内容の識別情報が格納されている。
【００５３】
また、データ検証ブロックの先頭位置および末尾位置に格納される同一内容の識別情報は、異なるデータ検証ブロックでは異なる内容になっている。例えば、各データ検証ブロックの順番を示す情報（例えば、ブロック番号）等のデータ検証ブロックに固有な値を含めるようにするとよい。このようにすれば、データ検証ブロック毎に先頭識別情報および末尾識別情報が異なる期待値と比較されることになり、データ検証ブロック毎のデータの正否をより正確に判定することができる。
【００５４】
なお、本実施例２に係るフラッシュＥＥＰＲＯＭのデータ正否判定方法が適用されるフラッシュＥＥＰＲＯＭ２３を配設する電子制御装置は、図１に示した電子制御装置１Ａと同様に構成されているので、図示およびその詳しい説明を省略する。
【００５５】
このような実施例２に係るフラッシュＥＥＰＲＯＭのデータ正否判定方法では、図３に示したデータ正否判定処理が、フラッシュＥＥＰＲＯＭ２３の各データ検証ブロックに対して繰り返し実行される。
【００５６】
本実施例２によれば、特定のデータ検証ブロックではなく、フラッシュＥＥＰＲＯＭ２３の全てのブロックの先頭位置および末尾位置に同一内容の識別情報を格納したことにより、ブロッフラッシュＥＥＰＲＯＭ２３全体に書き込まれたデータが正しく書き込まれているかどうかを検証することができる。
【００５７】
以上、本発明の各実施例について説明したが、これらはあくまでも例示にすぎず、本発明はこれらに限定されるものではなく、特許請求の範囲の趣旨を逸脱しない限りにおいて、当業者の知識に基づく種々の変更が可能である。
【００５８】
例えば、本発明のフラッシュＥＥＰＲＯＭのデータ正否判定方法では、データ検証領域の先頭位置および末尾位置に同一内容の識別情報を格納するようにしたが、データ検証領域の中間位置に同一内容の第３の識別情報，第４の識別情報，…等を追加格納するようにしてもよい。このようにすれば、これらの識別情報を用いて、制御プログラムのデータ正否判定をさらに正確に行なうことが可能になる。
【００５９】
また、本発明のフラッシュＥＥＰＲＯＭのデータ正否判定方法は、フラッシュＥＥＰＲＯＭを含む一般的な電子回路において、フラッシュＥＥＰＲＯＭのデータの正否を判定する場合にも同様に適用可能である。
【００６０】
さらに、本発明のフラッシュＥＥＰＲＯＭのデータ正否判定方法は、フラッシュＥＥＰＲＯＭのデータ検証領域のみならず、マイクロコンピュータに存在するあらゆるデータ検証領域の先頭位置および末尾位置に同一内容の識別情報を格納することで、あらゆるデータについてデータ正否判定を行なうこともできる。
【図面の簡単な説明】
【００６１】
【図１】本発明の実施例１に係るフラッシュＥＥＰＲＯＭのデータ正否判定方法が適用される電子制御装置の構成を示すブロック図。
【図２】本実施例１に係るフラッシュＥＥＰＲＯＭのデータ正否判定方法が適用されたデータ検証領域のメモリマップ。
【図３】本実施例１に係るフラッシュＥＥＰＲＯＭのデータ正否判定方法の処理手順を示すフローチャート。
【図４】本実施例１に係るフラッシュＥＥＰＲＯＭのデータ正否判定方法の具体的な適用例を示すフローチャート。
【図５】本発明の実施例２に係るフラッシュＥＥＰＲＯＭのデータ正否判定方法が適用されたフラッシュＥＥＰＲＯＭのメモリマップ。
【符号の説明】
【００６２】
１Ａ，１Ｂ，…，１Ｎ  電子制御装置
２  マイクロコンピュータ
３  通信制御装置
４  コネクタ
５  通信回線
１０  フラッシュＥＥＰＲＯＭ書換え装置
２１  ＣＰＵ
２３  フラッシュＥＥＰＲＯＭ
２４  ＲＡＭ
２５  Ｉ／Ｏ
２３１  フラッシュＥＥＰＲＯＭ書換え専用プログラム
２３２  制御プログラム
Ｓ１〜Ｓ５  ステップ
【図１】
2006268176.tif 000003
【図２】
2006268176.tif 000004
【図３】
2006268176.tif 000005
【図４】
2006268176.tif 000006
【図５】
2006268176.tif 000007