(57)【特許請求の範囲】
【請求項１】
データの書き換えが可能な不揮発性メモリを備え、通常時には、前記不揮発性メモリに格納された制御プログラム及び制御データに従って所定の制御対象を制御し、外部からの書き換え指令を受けた場合には、前記不揮発性メモリに格納されている制御プログラム又は制御データの一部又は全部を、外部から送信されて来る新たな制御プログラム又は制御データに書き換えるための書換処理に移行する自動車用電子制御装置と、
前記電子制御装置に接続され、該電子制御装置へ、前記書き換え指令を送信した後、前記新たな制御プログラム又は制御データを送信するメモリ書換装置と、
を備えた自動車用電子制御装置のメモリ書換システムにおいて、
前記電子制御装置は、
当該電子制御装置の制御対象を示す識別情報を記憶する識別情報記憶手段と、
前記メモリ書換装置からの前記書き換え指令を受けると、前記識別情報記憶手段に記憶されている識別情報を前記メモリ書換装置へ送信する識別情報送信手段とを備え、
前記メモリ書換装置には、前記新たな制御プログラム又は制御データの候補である複数の制御プログラム又は制御データを、該各制御プログラム又は制御データに適合する制御対象を示す識別情報と夫々対応させて予め記憶するプログラム記憶手段が備えられ、
前記プログラム記憶手段に記憶された複数の制御プログラム又は制御データのうち、前記電子制御装置から前記メモリ書換装置へ送信された識別情報と同じ識別情報に対応する制御プログラム又は制御データが、前記新たな制御プログラム又は制御データとして、前記メモリ書換装置から前記電子制御装置へ送信されること、
を特徴とする自動車用電子制御装置のメモリ書換システム。
【請求項２】
請求項１に記載の自動車用電子制御装置のメモリ書換システムにおいて、
前記メモリ書換装置は、
前記電子制御装置からの識別情報と同じ識別情報に対応する制御プログラム又は制御データを、前記プログラム記憶手段に記憶された複数の制御プログラム又は制御データの中から検索する検索手段を備えると共に、該検索手段により検索された制御プログラム又は制御データを、前記新たな制御プログラム又は制御データとして前記電子制御装置へ送信すること、
を特徴とする自動車用電子制御装置のメモリ書換システム。
【請求項３】
請求項２に記載の自動車用電子制御装置のメモリ書換システムにおいて、
前記メモリ書換装置は、前記検索手段によって前記電子制御装置からの識別情報と同じ識別情報に対応する制御プログラム又は制御データを検索できなかった場合に、前記プログラム記憶手段に記憶された複数の制御プログラム又は制御データが前記電子制御装置の制御対象に適合していない旨を外部に報知すること、
を特徴とする自動車用電子制御装置のメモリ書換システム。
【請求項４】
請求項２又は請求項３に記載の自動車用電子制御装置のメモリ書換システムにおいて、
前記メモリ書換装置は、
所定の切換操作が行われると、前記検索手段の動作を禁止して、前記電子制御装置へ送信する新たな制御プログラム又は制御データを、前記プログラム記憶手段に記憶された複数の制御プログラム又は制御データの中から、外部操作に応じて選択可能な動作モードに切り替わるように構成されていること、
を特徴とする自動車用電子制御装置のメモリ書換システム。
【請求項５】
請求項１ないし請求項４の何れかに記載の自動車用電子制御装置のメモリ書換システムにおいて、
前記識別情報は、前記制御プログラム又は制御データの一部として設けられており、前記電子制御装置の前記不揮発性メモリが、前記識別情報記憶手段として用いられていることを特徴とする自動車用電子制御装置のメモリ書換システム。
【請求項６】
データの書き換えが可能な不揮発性メモリを備え、通常時には、前記不揮発性メモリに格納された制御プログラム及び制御データに従って所定の制御対象を制御し、外部からの書き換え指令を受けた場合には、前記不揮発性メモリに格納されている制御プログラム又は制御データの一部又は全部を、外部から送信されて来る新たな制御プログラム又は制御データに書き換えるための書換処理に移行する自動車用電子制御装置において、
当該電子制御装置の制御対象を示す識別情報を記憶する識別情報記憶手段と、
外部からの前記書き換え指令を受けると、前記識別情報記憶手段に記憶されている識別情報を外部へ送信する識別情報送信手段とを備え、
更に、前記識別情報は、車種名、車のグレード名、或いは車の仕向地毎に設定されること、
を特徴とする自動車用電子制御装置。
【請求項７】
データの書き換えが可能な不揮発性メモリを備え、通常時には、前記不揮発性メモリに格納された制御プログラム及び制御データに従って所定の制御対象を制御し、外部からの書き換え指令を受けた場合には、前記不揮発性メモリに格納されている制御プログラム又は制御データの一部又は全部を、外部から送信されて来る新たな制御プログラム又は制御データに書き換えるための書換処理に移行する自動車用電子制御装置に接続され、
前記電子制御装置へ、前記書き換え指令を送信した後、前記新たな制御プログラム又は制御データを送信するメモリ書換装置であって、
前記新たな制御プログラム又は制御データの候補である複数の制御プログラム又は制御データを、該各制御プログラム又は制御データに適合する制御対象を示す識別情報と夫々対応させて予め記憶するプログラム記憶手段と、
前記電子制御装置からの識別情報と同じ識別情報に対応する制御プログラム又は制御データを、前記プログラム記憶手段に記憶された複数の制御プログラム又は制御データの中から検索する検索手段とを備え、
該検索手段により検索された制御プログラム又は制御データを、前記新たな制御プログラム又は制御データとして前記電子制御装置へ送信すること、
を特徴とするメモリ書換装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電気的にデータの書き換えが可能な不揮発性メモリに格納された制御プログラムや制御データを、該不揮発性メモリを電子制御装置に搭載した状態で書き換える技術に関する。
【０００２】
【従来の技術】
従来より、例えば特開平６−２７２６１１号公報に開示されているように、自動車のエンジン等を制御する電子制御装置として、電気的にデータの書き換え（詳しくはデータの消去及び書き込み）が可能な不揮発性メモリに制御用のプログラム及びデータを格納しておき、このような制御プログラムや制御データを、市場への供給後でも書き換え可能に構成されたものが提案されている。
【０００３】
即ち、この種の電子制御装置は、通常時には、不揮発性メモリに格納された制御プログラム及び制御データに従ってエンジン等の制御対象を制御するのであるが、別途用意されたメモリ書換装置が接続されて、そのメモリ書換装置から書き換え指令が送信されて来ると、所定の通信手順を踏んだ後に、不揮発性メモリの内容を書き換えるための書換処理を実行するように構成されている。尚、この書換処理は、不揮発性メモリに格納されている制御プログラム又は制御データの一部又は全部を消去し、その消去したメモリ領域に、上記メモリ書換装置から送信されて来る新たな制御プログラム又は制御データを書き込む、といった手順で実行される。
【０００４】
一方、このような電子制御装置に接続される上記メモリ書換装置は、書き換えるべき新たな制御プログラムや制御データを記憶する記憶媒体（フロッピーディスク，ハードディスク，ＣＤ−ＲＯＭ等）を備えており、作業者によって所定の操作が行われると、電子制御装置へ書き換え指令を送信した後、上記記憶媒体に記憶されている新たな制御プログラムや制御データを電子制御装置へ送信するように構成されている。尚、記憶媒体に複数の制御プログラム又は制御データが記憶されており、作業者によって選択された制御プログラム等を電子制御装置へ送信する、といった構成も考えられる。
【０００５】
そして、このような電子制御装置とメモリ書換装置とからなる、電子制御装置のメモリ書換システムでは、電子制御装置の不揮発性メモリに格納される制御プログラムや制御データを、メモリ書換装置から電子制御装置へ送信する新たな制御プログラムや制御データに書き換えることができ、これによって、電子制御装置の動作内容（制御内容）を任意に変更することができる。
【０００６】
【発明が解決しようとする課題】
ところが、例えば自動車においては、異なる車種間ではもちろんであるが、同一車種であっても、グレード（搭載装備）やエンジンの型式、或いは仕向地（輸出国）等の違いによって、電子制御装置が行うべき制御の内容は異なっている。換言するならば、電子制御装置の不揮発性メモリに格納すべき制御プログラムや制御データは、その電子制御装置が制御する制御対象毎に異なっている。
【０００７】
よって、この種の電子制御装置のメモリ書換システムでは、作業者が、電子制御装置の制御対象に不適合な制御プログラム等がメモリ書換装置側の記憶媒体に記憶されていることを知らずに、或いは、メモリ書換装置側の記憶媒体に記憶されている複数の制御プログラム等の中から、誤って、電子制御装置の制御対象に不適合なものを選択して、メモリ書換装置から電子制御装置へ、制御対象に不適合な制御プログラムや制御データを送信させてしまう可能性がある。そして、このような作業ミスが発生すると、電子制御装置が制御対象を適切に制御することができなくなるという問題があった。
【０００８】
例えば、型式Ａのエンジンを制御する電子制御装置の制御プログラムを書き換える際に、作業者が、メモリ書換装置側の記憶媒体に型式Ｂのエンジンに適合する制御プログラムが記憶されていることを知らずに、或いは、メモリ書換装置側の記憶媒体に記憶されている複数の制御プログラムの中から、誤って型式Ｂのエンジンに適合する制御プログラムを選択して、書き換え作業を行ってしまった場合には、電子制御装置の制御内容が、実際の制御対象である型式Ａのエンジンに適合せずに、エンジンが動作しなくなったり、或いは、エンジンが動作したとしても、本来の性能を発揮できなくなる。
【０００９】
本発明は、このような問題に鑑みなされたものであり、電子制御装置の不揮発性メモリに格納される制御プログラムや制御データが、その電子制御装置の制御対象に不適合なものに書き換えられてしまうことを確実に防止できる、電子制御装置のメモリ書換システム，電子制御装置，及びメモリ書換装置を提供することを目的としている。
【００１０】
【課題を解決するための手段、及び発明の効果】
上記目的を達成するためになされた請求項１のメモリ書換システムは、データの書き換えが可能な不揮発性メモリを備える自動車用電子制御装置と、この電子制御装置に接続されるメモリ書換装置とから構成されている。
【００１１】
そして、電子制御装置は、通常時には、不揮発性メモリに格納された制御プログラム及び制御データに従って所定の制御対象を制御するのであるが、メモリ書換装置が接続されて、そのメモリ書換装置から送信される書き換え指令を受けた場合には、不揮発性メモリに格納されている制御プログラム又は制御データの一部又は全部を、その後メモリ書換装置から送信されて来る新たな制御プログラム又は制御データに書き換えるための、書換処理に移行する。
【００１７】
尚、データの書き換えが可能な不揮発性メモリとしては、フラッシュＥＥＰＲＯＭ（通称、フラッシュＲＯＭ）或いはＥＥＰＲＯＭが一般的であるが、電気的に書き換え可能な他のＲＯＭでも良い。
【００２０】
ここで特に、請求項１のメモリ書換システムにおいて、電子制御装置は、当該電子制御装置の制御対象を示す識別情報を記憶する識別情報記憶手段と、識別情報送信手段とを備えている。そして、識別情報送信手段は、メモリ書換装置からの書き換え指令を受けると、識別情報記憶手段に記憶されている識別情報をメモリ書換装置へ送信する。
【００３３】
一方、メモリ書換装置は、プログラム記憶手段を備えており、該プログラム記憶手段には、電子制御装置へ送信する新たな制御プログラム又は制御データの候補である複数の制御プログラム又は制御データが、その各制御プログラム又は制御データに適合する制御対象を示す識別情報と夫々対応して予め記憶されている。
そして、このメモリ書換システムでは、プログラム記憶手段に記憶された複数の制御プログラム又は制御データのうち、電子制御装置からメモリ書換装置へ送信された識別情報と同じ識別情報に対応する制御プログラム又は制御データが、新たな制御プログラム又は制御データとして、メモリ書換装置から電子制御装置へ送信されるようになっている。よって、電子制御装置の制御プログラムや制御データを、その電子制御装置の制御対象に適合した制御プログラムや制御データに確実に書き換えることができる。
次に、請求項２のメモリ書換システムでは、メモリ書換装置が検索手段を備えている。
そして、検索手段が、電子制御装置からの識別情報と同じ識別情報に対応する制御プログラム又は制御データを、プログラム記憶手段に記憶された複数の制御プログラム又は制御データの中から検索する。そして更に、メモリ書換装置は、検索手段によって検索された制御プログラム又は制御データを、新たな制御プログラム又は制御データとして電子制御装置へ送信する。
【００３４】
このような請求項２のメモリ書換システムによれば、電子制御装置の制御対象を示す識別情報に対応する制御プログラム又は制御データ、即ち、電子制御装置の制御対象に適合する制御プログラム又は制御データが、メモリ書換装置のプログラム記憶手段に記憶された複数の制御プログラム又は制御データの中から自動的に選択され、その制御プログラム又は制御データが、メモリ書換装置から電子制御装置へ送信されることとなる。
【００３５】
よって、作業者による人為的な選択ミスを無くすことができる。
次に、請求項３のメモリ書換システムでは、請求項２のメモリ書換システムにおいて、メモリ書換装置は、検索手段によって電子制御装置からの識別情報と同じ識別情報に対応する制御プログラム又は制御データを検索できなかった場合に、プログラム記憶手段に記憶された複数の制御プログラム又は制御データが電子制御装置の制御対象に適合していない旨を外部に報知する。
【００３６】
このような請求項３のメモリ書換システムによれば、作業者は、プログラム記憶手段に記憶された複数の制御プログラム又は制御データが電子制御装置の制御対象に全て適合していないことを、メモリ書換装置の報知動作によって確実に知ることができる。尚、このような報知があった場合には、作業者は、電子制御装置の制御対象に適合する制御プログラム又は制御データをプログラム記憶手段に記憶させてから、再度、書き換えのための作業を行えばよい。
【００３７】
次に、請求項４のメモリ書換システムでは、請求項２又は３のメモリ書換システムにおいて、メモリ書換装置は、所定の切換操作が行われると、検索手段の動作を禁止して、電子制御装置へ送信する新たな制御プログラム又は制御データを、プログラム記憶手段に記憶された複数の制御プログラム又は制御データの中から、外部操作に応じて選択可能な動作モードに切り替わるように構成されている。
【００３８】
このような請求項４のメモリ書換システムによれば、作業者は、メモリ書換装置から電子制御装置へ送信する新たな制御プログラム又は制御データを、電子制御装置の識別情報記憶手段に記憶された識別情報に関わらず、任意に選択することができるようになり、延いては、電子制御装置の適用範囲を拡張することができる。
【００３９】
つまり、電子制御装置の制御対象を変更したり、或いは追加したりする必要が生じた場合に、制御プログラムや制御データを変更するだけで対応できるのであれば、電子制御装置の制御プログラム又は制御データを、それまでの制御対象に適合しないものに書き換える必要が生じる。そして、請求項４のメモリ書換システムによれば、作業者は、メモリ書換装置から送信させる新たな制御プログラム又は制御データを、電子制御装置の識別情報記憶手段に記憶された識別情報に関わらず任意に選択できるため、上記の如く電子制御装置の制御対象が変更されるような場合にも対応できるようになる。
【００４０】
次に、請求項５のメモリ書換システムでは、請求項１〜４のメモリ書換システムにおいて、識別情報は、制御プログラム又は制御データの一部として設けられており、電子制御装置の前記不揮発性メモリが、識別情報記憶手段として用いられている。
【００４１】
この構成によれば、識別情報と制御プログラム又は制御データとの対応を確実に維持することができる。また、電子制御装置においては、識別情報が、不揮発性メモリ内に制御プログラム等と共に格納されることとなり、識別情報を記憶するための特別なメモリを用意する必要がない。
【００４２】
一方、請求項６の自動車用電子制御装置は、通常時には、データの書き換えが可能な不揮発性メモリに格納された制御プログラム及び制御データに従って所定の制御対象を制御するのであるが、外部からの書き換え指令を受けた場合には、不揮発性メモリに格納されている制御プログラム又は制御データの一部又は全部を、外部から送信されて来る新たな制御プログラム又は制御データに書き換えるための、書換処理に移行する。ここで特に、この自動車用電子制御装置は、当該電子制御装置の制御対象を示す識別情報を記憶する識別情報記憶手段と、識別情報送信手段とを備えている。そして、識別情報は、車種名、車のグレード名、或いは車の仕向地毎に設定されており、識別情報送信手段は、外部からの書き換え指令を受けると、識別情報記憶手段に記憶されている識別情報を外部へ送信する。
【００４３】
つまり、請求項６の電子制御装置は、請求項１〜５のメモリ書換システムを形成する電子制御装置と同様の構成を備えている。そして、この電子制御装置によれば、当該電子制御装置から外部へ送信される識別情報によって、その制御対象を知ることができる。
【００４４】
よって、制御プログラムや制御データが、その電子制御装置の制御対象に不適合なものに誤って書き換えられてしまうことを、事前に防止することができるようになる。
【００４７】
次に、請求項７のメモリ書換装置は、データの書き換えが可能な不揮発性メモリを備えた自動車用電子制御装置に接続される。即ち、このメモリ書換装置に接続される電子制御装置は、通常時には、不揮発性メモリに格納された制御プログラム及び制御データに従って所定の制御対象を制御し、外部からの書き換え指令を受けた場合には、不揮発性メモリに格納されている制御プログラム又は制御データの一部又は全部を、外部から送信されて来る新たな制御プログラム又は制御データに書き換えるための書換処理に移行する。そこで、請求項７のメモリ書換装置は、電子制御装置へ、書き換え指令を送信した後、新たな制御プログラム又は制御データを送信するのである。
【００４８】
ここで特に、請求項７のメモリ書換装置は、電子制御装置に送信する新たな制御プログラム又は制御データの候補である複数の制御プログラム又は制御データを、該各制御プログラム又は制御データに適合する制御対象を示す識別情報と夫々対応させて予め記憶するプログラム記憶手段と、電子制御装置からの識別情報と同じ識別情報に対応する制御プログラム又は制御データを、プログラム記憶手段に記憶された複数の制御プログラム又は制御データの中から検索する検索手段とを備えており、その検索手段により検索された制御プログラム又は制御データを、新たな制御プログラム又は制御データとして電子制御装置へ送信する。
【００４９】
つまり、請求項７のメモリ書換装置は、請求項２のメモリ書換システムを形成するメモリ書換装置と同様の構成を備えている。そして、このメモリ書換装置によれば、請求項１，２のメモリ書換システムを形成できる。
【００５３】
【発明の実施の形態】
以下、本発明が適用された実施例について図面を用いて説明する。尚、本発明の実施の形態は、下記の実施例に何ら限定されることなく、本発明の技術的範囲に属する限り、種々の形態を採り得ることは言うまでもない。
【００５４】
［第１参考例］
まず、図１は、自動車に搭載されて内燃機関型エンジンの制御を行うエンジン制御装置（以下、ＥＣＵという）２と、ＥＣＵ２に内蔵されたエンジン制御用のプログラムやデータを書き換える際にＥＣＵ２に接続されるメモリ書換装置４とからなる、第１参考例の電子制御装置のメモリ書換システム６の全体構成を表すブロック図である。
【００５５】
図１に示すように、ＥＣＵ２は、エンジンの運転状態に応じた信号を出力する種々のセンサからの信号を入力する入力回路８と、入力回路８からの信号に基づきエンジンに対する最適制御量を演算し、その演算結果に基づき制御信号を出力するＣＰＵ１０と、ＣＰＵ１０からの制御信号を受けて、エンジンに取付けられたインジェクタやイグナイタ等のアクチュエータを駆動する出力回路１２と、ＣＰＵ１０がエンジンを制御するのに必要な制御プログラム及び制御データを格納するフラッシュＲＯＭ１４と、ＣＰＵ１０が動作するのに必要な他のプログラムを格納するＲＯＭ１６と、ＣＰＵ１０の演算結果等を一時格納するＲＡＭ１８と、メモリ書換装置４との間でシリアルデータ通信を行うための通信回路２０とを備えている。
ここで、フラッシュＲＯＭ１４は、電気的にデータの消去及び書き込みが可能な不揮発性メモリであり、このフラッシュＲＯＭ１４には、ＥＣＵ２が制御するエンジンに合ったエンジン制御用の制御プログラム及び制御データが、既に格納されている。そして、図２に示すように、フラッシュＲＯＭ１４に格納された制御プログラム及び制御データの所定位置（この例では先頭）には、当該制御プログラム及び制御データに適合するエンジンの型式を示す、識別情報としての識別コードが挿入されている。つまり、この識別コードは、制御プログラム及び制御データの一部としてフラッシュＲＯＭ１４内に格納されており、当該ＥＣＵ２の制御対象を示していることとなる。尚、識別コードは、車種名や車のグレード名、或いは車の仕向地など毎に設定されるものであってもよい。
【００５６】
また、ＲＯＭ１６は、データの書き換えが不能な不揮発性メモリであり、このＲＯＭ１６には、ＣＰＵ１０がリセット直後に実行するブートプログラムが既に格納されている。
一方、メモリ書換装置４は、ＥＣＵ２にフラッシュＲＯＭ１４の書き換えを行わせるための処理を実行するＣＰＵ２２と、ＣＰＵ２２が動作するのに必要なプログラムを格納するＲＯＭ２４と、ＣＰＵ２２の演算結果等を一時格納するＲＡＭ２６と、ＣＰＵ２２がＥＣＵ２との間でシリアルデータ通信を行うための通信回路２８と、作業者が当該メモリ書換装置４に様々な指示入力を行うための入力装置３０と、各種メッセージ等を表示するための表示装置３２と、ＥＣＵ２のフラッシュＲＯＭ１４に書き込むために用意される新たな制御プログラム及び制御データを記憶する記憶装置３４と、ＣＰＵ２２と入力装置３０，表示装置３２，及び記憶装置３４とを接続するインタフェース３６とを備えている。
【００５７】
尚、入力装置３０は、キーボードや各種スイッチ等によって構成されており、表示装置３２は、ＣＲＴや液晶パネル等によって構成されている。また、記憶装置３４は、フロッピーディスク，ハードディスク，ＣＤ−ＲＯＭ，メモリカートリッジ等からなり、図１ではメモリ書換装置４の内部に設けられているが、メモリ書換装置４の外部に設けられていてもよい。
【００５８】
ここで、ＥＣＵ２のフラッシュＲＯＭ１４に既に格納された制御プログラム及び制御データと全く同様に、記憶装置３４に記憶される新たな制御プログラム及び制御データの所定位置（この例では先頭）にも、図２に示すように当該制御プログラム及び制御データに適合するエンジンの型式を示す、識別情報としての識別コードが挿入されている。
【００５９】
そして、このようなメモリ書換装置４とＥＣＵ２との接続は、接続用コネクタ４２を介して、互いの通信ライン４４が夫々接続されることにより行われる。即ち、接続用コネクタ４２が嵌合されると、通信ライン４４を介して、メモリ書換装置４側の通信回路２８とＥＣＵ２側の通信回路２０とが接続され、これによりメモリ書換装置４とＥＣＵ２との間における双方向のシリアル通信が可能となる。
【００６０】
尚、図示はされていないが、接続用コネクタ４２が嵌合されると、メモリ書換装置４側からＥＣＵ２のフラッシュＲＯＭ１４へ、フラッシュＲＯＭ１４の書き換えに時に必要な高電圧（例えば１２Ｖ）が印加されるようになっている。
このように構成されたメモリ書換システム６では、上述したように、ＥＣＵ２において、フラッシュＲＯＭ１４には、エンジン制御用の制御プログラム及び制御データが格納されており、また、通常のＲＯＭ１６には、書き換え対象とならないブートプログラムが格納されている。そして、ＥＣＵ２のＣＰＵ１０は、車両のイグニッションスイッチがオンされて、ＥＣＵ２内の電源回路（図示省略）から動作電圧（５Ｖ）が供給されると、リセット状態から動作を開始して、ＲＯＭ１６内のブートプログラムを起動する。そして、メモリ書換装置４が接続されていない通常時には、そのブートプログラムにてフラッシュＲＯＭ１４内の制御プログラムをコールして、エンジンの制御を行っている。
【００６１】
また、ＣＰＵ１０は、ブートプログラムを起動した際に、メモリ書換装置４からの書き換え指令としての書換要求信号を受信すると、フラッシュＲＯＭ１４内の制御プログラムをコールすることなく、そのままブートプログラムを実行する。そして、後述する所定条件が成立すると、フラッシュＲＯＭ１４に格納されている現在の制御プログラム及び制御データを、その後メモリ書換装置４から送信されて来る新たな制御プログラム及び制御データに書き換える。
【００６２】
一方、メモリ書換装置４は、ＥＣＵ２に接続された後に作業者によって所定の操作が行われると、所定時間の間、ＥＣＵ２へ上述した書換要求信号を送信し、その後、後述する所定条件が成立すれば、記憶装置３４に記憶されている新たな制御プログラム及び制御データを、通信ライン４４を介してＥＣＵ２へ送信する。
【００６３】
そして、このようなメモリ書換装置４及びＥＣＵ２の動作により、ＥＣＵ２のフラッシュＲＯＭ１４に格納される制御プログラム及び制御データは、メモリ書換装置４の記憶装置３４に記憶された新たな制御プログラム及び制御データに書き換えられる。
【００６４】
そこで次に、ＥＣＵ２内のＣＰＵ１０にて実行される処理と、メモリ書換装置４のＣＰＵ２２にて実行される処理について、図３及び図４を用いて説明する。尚、図３はＥＣＵ２のＣＰＵ１０にて実行される処理を表すフローチャートであり、そのステップ（以下、Ｓと記す）１００〜Ｓ１５０の処理が、ＲＯＭ１６内のブートプログラムによって実行され、点線で囲まれたＳ２００の処理が、フラッシュＲＯＭ１４内の制御プログラムによって実行される。また、図４はメモリ書換装置４のＣＰＵ２２にて実行される処理を表すフローチャートである。
【００６５】
まず、ＥＣＵ２側では、車両のイグニッションスイッチがオンされて、ＣＰＵ１０がリセット状態から動作を開始すると、ＲＯＭ１６に格納されたブートプログラムが起動する。
そして、図３に示すように、まず、Ｓ１００にて、メモリ書換装置４からの書換要求信号を受信したか否かを判定し、書換要求信号を受信していないと判定した場合には、Ｓ１１０に進んで、フラッシュＲＯＭ１４内の制御プログラムへジャンプする。そして、その後は、図３のＳ２００に示すように、フラッシュＲＯＭ１４内の制御プログラムに従って行われるエンジン制御処理が実行される。
【００６６】
尚、Ｓ２００のエンジン制御処理は、入力回路８を介して読み込んだ各種センサ信号と、フラッシュＲＯＭ１４内の制御データとに基づき、エンジンに対する最適な燃料噴射量や点火時期等を演算し、その演算結果に応じてインジェクタやイグナイタ等のアクチュエータを駆動するための制御信号を出力する、といった手順で繰り返し実行される。そして、このようなエンジン制御処理が実行されることにより、エンジンの運転が可能となる。
【００６７】
一方、ブートプログラムにおいて、上記Ｓ１００でメモリ書換装置４からの書換要求信号を受信したと判定した場合には、フラッシュＲＯＭ１４内の制御プログラムへジャンプすることなく、そのままＳ１２０に移行する。
そして、このＳ１２０にて、後述するようにメモリ書換装置４から送信されて来る識別コードを受信し、続くＳ１３０にて、受信したメモリ書換装置４からの識別コードと、フラッシュＲＯＭ１４に格納されている自分側の識別コードとが一致しているか否かを判定する、書換許可手段としての処理を実行する。
【００６８】
そして、Ｓ１３０にて、両識別コードが一致していると判定した場合には、Ｓ１４０に進んで、フラッシュＲＯＭ１４に格納されている現在の制御プログラム及び制御データを、メモリ書換装置４から送信されて来る新たな制御プログラム及び制御データに書き換えるための書換処理を実行する。
【００６９】
尚、この書換処理は、例えば次のような手順で実行される。
１．まず、フラッシュＲＯＭ１４に格納されている全てのプログラム及びデータを消去する。
２．次に、メモリ書換装置４から新たな制御プログラム及び制御データが送信されて来るのを待ち、それらを受信すると、その受信した制御プログラム及び制御データを、旧来のプログラム及びデータが格納されていたフラッシュＲＯＭ１４のメモリ領域に順次書き込んで行く。
【００７０】
３．そして、メモリ書換装置４からの全ての制御プログラム及び制御データを受信して、フラッシュＲＯＭ１４の書き換えが完了すれば、その後、処理を行わない無限ループに入る。
そして、このようなＳ１４０の書換処理が実行されることにより、フラッシュＲＯＭ１４に格納された制御プログラム及びデータが、メモリ書換装置４からの新たな制御プログラム及び制御データに書き換えられる。
【００７１】
一方、Ｓ１３０にて、メモリ書換装置４からの識別コードと、フラッシュＲＯＭ１４に格納されている自分側の識別コードとが一致していないと判定した場合には、Ｓ１５０に移行する。そして、このＳ１５０にて、メモリ書換装置４側の識別コードと当該ＥＣＵ２側の識別コードとが一致していない旨を示す不一致信号を、メモリ書換装置４へ送信し、その後、Ｓ１００へ戻る。
【００７２】
次に、メモリ書換装置４では、作業者が入力装置３０を操作して所定の指示入力を行うと、ＣＰＵ２２が、図４に示す処理を実行する。
即ち、まず、Ｓ３００で、所定時間の間、ＥＣＵ２へ書換要求信号を送信して、ＥＣＵ２のＣＰＵ１０に前述したＳ１２０以降の処理を実行させ、続くＳ３１０にて、記憶装置３４に記憶されている新たな制御プログラム及び制御データの上記所定位置から識別コードを読み出し、その読み出した識別コードをＥＣＵ２へ送信する。
【００７３】
すると、前述したように、ＥＣＵ２側において、当該メモリ書換装置４からＥＣＵ２へ送信した識別コードと、ＥＣＵ２のフラッシュＲＯＭ１４に既に格納されている識別コードとが一致しているか否か判定され、両識別コードが一致していなければ、ＥＣＵ２から当該メモリ書換装置４へ、不一致信号が送信されて来るため、続くＳ３２０にて、ＥＣＵ２からの不一致信号を受信したか否かを判定する。
【００７４】
そして、Ｓ３２０にて、所定時間経過しても不一致信号を受信しないと判定した場合には、ＥＣＵ２が制御するエンジンの型式（即ちＥＣＵ２の制御対象）と、記憶装置３４に記憶されている新たな制御プログラム及び制御データに適合するエンジンの型式とが一致しているとして、Ｓ３３０に進む。そして、このＳ３３０にて、記憶装置３４に記憶されている新たな制御プログラム及び制御データをＥＣＵ２へ送信し、続くＳ３４０にて、フラッシュＲＯＭ１４の書き換えが完了したことを示すメッセージを、表示装置３２に表示する。そして、以後は、この状態で待機する。
【００７５】
一方、Ｓ３２０にて、ＥＣＵ２からの不一致信号を受信したと判定した場合には、Ｓ３５０に移行して、エラー表示を行い、以後、この状態で待機する。尚、Ｓ３５０のエラー表示は、作業者が用意して記憶装置３４に記憶させた新たな制御プログラム及び制御データが、ＥＣＵ２が制御するエンジンに適合していない旨を表示装置３２に表示する、といった具合いに行われる。
【００７６】
このような第１参考例のメモリ書換システム６において、ＥＣＵ２のフラッシュＲＯＭ１４に格納された制御プログラム及び制御データを書き換える場合には、作業者は、メモリ書換装置４の記憶装置３４に、予め用意された新たな制御プログラム及び制御データを記憶させ、その後、ＥＣＵ２にメモリ書換装置４を接続して、メモリ書換装置４を操作すると共に、車両のイグニッションスイッチをオンしてＥＣＵ２を初期状態から作動させる。
【００７７】
すると、メモリ書換装置４は、ＥＣＵ２へ、まず、書換要求信号を送信し（Ｓ３００）、その後、記憶装置３４に記憶された新たな制御プログラム及び制御データの識別コードを送信する（Ｓ３１０）。一方、ＥＣＵ２は、メモリ書換装置４からの書換要求信号を受信すると（Ｓ１００：ＹＥＳ）、次にメモリ書換装置４から送信されて来る識別コードを受信し（Ｓ１２０）、その受信したメモリ書換装置４からの識別コードと、フラッシュＲＯＭ１４に格納されている自分側の識別コードとが一致しているか否かを判定する（Ｓ１３０）。
【００７８】
そして、両識別コードが一致している場合（Ｓ１３０：ＹＥＳ）には、ＥＣＵ２が書換処理を実行すると共に（Ｓ１４０）、メモリ書換装置４がＥＣＵ２へ新たな制御プログラム及び制御データを送信し（Ｓ３３０）、これによって、フラッシュＲＯＭ１４の書き換えが行われる。尚、この書き換えによって、フラッシュＲＯＭ１４内の識別コードも、メモリ書換装置４から送信されて来る新たな識別コードに書き換えられることとなるが、旧来の識別コードと新たな識別コードとは一致しているため、結局、フラッシュＲＯＭ１４内の識別コードは不変である。
【００７９】
これに対して、メモリ書換装置４からの識別コードと自分側の識別コードとが一致していない場合には（Ｓ１３０：ＮＯ）、ＥＣＵ２は、書換処理を実行することなく、メモリ書換装置４へ不一致信号を送信し（Ｓ１５０）、メモリ書換装置４は、ＥＣＵ２からの不一致信号を受けると（Ｓ３２０：ＹＥＳ）、新たな制御プログラム及び制御データを送信することなく、エラー表示を行う。
【００８０】
つまり、第１参考例のメモリ書換システム６では、メモリ書換装置４が、作業者によって用意された新たな制御プログラム及び制御データを送信する前に、その制御プログラム及び制御データに適合するエンジンの型式を示す識別コードを送信し（Ｓ３１０）、ＥＣＵ２は、フラッシュＲＯＭ１４に格納された自己の制御対象を示す識別コードと、メモリ書換装置４からの識別コードとが一致している場合にのみ（Ｓ１３０：ＹＥＳ）、Ｓ１４０の書換処理へ移行するようにしている。
【００８１】
従って、このような第１参考例のメモリ書換システム６によれば、作業者が、メモリ書換装置４の記憶装置３４に、ＥＣＵ２が制御するエンジンに適合しない制御プログラム及び制御データを記憶させてしまい、その不適合な制御プログラム及び制御データがＥＣＵ２へ送信されそうな場合には、ＥＣＵ２は、書換処理へ移行しなくなる。よって、第１参考例のメモリ書換システム６によれば、ＥＣＵ２のフラッシュＲＯＭ１４に格納される制御プログラムや制御データが、そのＥＣＵ２の制御対象に適合しない制御プログラムや制御データに、誤って書き換えられてしまうことを確実に防止することができる。
【００８２】
尚、このように制御プログラム及び制御データの書き換えが行われない場合には、作業者は、メモリ書換装置４側の記憶装置３４に記憶させる制御プログラム又は制御データを、ＥＣＵ２の制御対象に適合するものに変更してから、再度、書き換えのための作業を行えばよい。
【００８３】
また、上記第１参考例のメモリ書換システム６では、ＥＣＵ２は、メモリ書換装置４からの識別コードと自分側の識別コードとが一致していないと判定すると（Ｓ１３０：ＮＯ）、メモリ書換装置４へ不一致信号を送信し（Ｓ１５０）、メモリ書換装置４は、ＥＣＵ２からの不一致信号を受けると（Ｓ３２０：ＹＥＳ）、表示装置３２にエラー表示を行うようにしている。
【００８４】
従って、このメモリ書換システム６によれば、作業者は、書き換えようとして用意した新たな制御プログラム及び制御データがＥＣＵ２の制御対象に適合していないことを、メモリ書換装置４側の報知動作としてのエラー表示によって、確実に知ることができる。
【００８５】
尚、上記第１参考例のＥＣＵ２では、Ｓ１４０の書換処理を実行するためのプログラムを、ブートプログラム中（即ち、ＲＯＭ１６）に設けるようにしたが、書換処理のための書換プログラムを、メモリ書換装置４から受信してＲＡＭ１８に格納し、その後、ブートプログラムからＲＡＭ１８内の書換プログラムへジャンプするようにしてもよい。そして、このようにすれば、ブートプログラムが小規模になってメモリの節約が可能となる。また、このように、メモリ書換装置４からＥＣＵ２へ書換プログラムを送信するように構成する場合には、メモリ書換装置４が、ＥＣＵ２へ、書換プログラムと共に識別コードを送信し、ＥＣＵ２が、書換プログラムを受信した後に、メモリ書換装置４からの識別コードと自分側の識別コードとを比較するようにしてもよい。
【００８６】
［第２参考例］
次に、第２参考例の電子制御装置のメモリ書換システムについて説明する。第２参考例のメモリ書換システムは、上述した第１参考例のメモリ書換システム６に対して、ＥＣＵ２側とメモリ書換装置４側とで夫々実行される処理が異なるだけであり、ハードウェア上の構成については全く同じである。
【００８７】
そこで以下、第２参考例のメモリ書換システムにおいて、ＥＣＵ２側のＣＰＵ１０で実行される処理と、メモリ書換装置４側のＣＰＵ２２で実行される処理について、図５及び図６を用いて説明する。
尚、図５はＥＣＵ２のＣＰＵ１０が実行する処理を表すフローチャートであり、そのＳ４００，Ｓ４１０，Ｓ４４０，及びＳ５００の処理は、図３のＳ１００，Ｓ１１０，Ｓ１４０，及びＳ２００の処理と全く同じであるため、説明は省略する。また、図６はメモリ書換装置４のＣＰＵ２２が実行する処理を表すフローチャートである。
【００８８】
まず、図５に示すように、ＥＣＵ２のＣＰＵ１０は、リセットスタート直後のＳ４００でメモリ書換装置４からの書換要求信号を受信したと判定した場合には、フラッシュＲＯＭ１４内の制御プログラムへジャンプすることなく、Ｓ４２０に移行する。
【００８９】
そして、このＳ４２０にて、フラッシュＲＯＭ１４に格納されている自分側の識別コードをメモリ書換装置４へ送信する、識別情報送信手段としての処理を実行し、続くＳ４３０にて、後述するようにメモリ書換装置４から送信されて来る一致信号を受信したか否かを判定する。そして、一致信号を受信したと判定した場合には、Ｓ４４０に進んで、フラッシュＲＯＭ１４内の制御プログラム及び制御データを書き換えるための書換処理を実行するが、Ｓ４３０で所定時間経過しても一致信号を受信できないと判定した場合には、Ｓ４４０に進むことなくＳ４００へ戻る。
【００９０】
次に、図６に示すように、メモリ書換装置４のＣＰＵ２２は、まず、Ｓ６００で、所定時間の間、ＥＣＵ２へ書換要求信号を送信して、ＥＣＵ２のＣＰＵ１０に前述したＳ４２０の処理を実行させ、続くＳ６１０にて、ＥＣＵ２から送信されて来る識別コードを受信する。
【００９１】
そして、続くＳ６２０にて、受信したＥＣＵ２からの識別コードと、記憶装置３４に記憶されている新たな制御プログラム及び制御データの識別コードとが一致しているか否かを判定する、送信許可手段としての処理を実行し、両識別コードが一致していると判定した場合には、ＥＣＵ２が制御するエンジンの型式（即ちＥＣＵ２の制御対象）と、記憶装置３４に記憶されている新たな制御プログラム及び制御データに適合するエンジンの型式とが一致しているとして、Ｓ６３０に進み、ＥＣＵ２へ一致信号を送信する。
【００９２】
すると、前述したように、ＥＣＵ２のＣＰＵ１０は書換処理の実行を開始するため、続くＳ６４０にて、記憶装置３４に記憶されている新たな制御プログラム及び制御データをＥＣＵ２へ送信し、続くＳ６５０にて、フラッシュＲＯＭ１４の書き換えが完了したことを示すメッセージを、表示装置３２に表示する。そして、以後は、この状態で待機する。
【００９３】
一方、Ｓ６２０にて、ＥＣＵ２からの識別コードと、記憶装置３４に記憶されている新たな制御プログラム及び制御データの識別コードとが一致していないと判定した場合には、Ｓ６６０に移行して、図４のＳ３５０と全く同様に、表示装置３２にエラー表示を行い、以後、この状態で待機する。
【００９４】
つまり、第２参考例のメモリ書換システムでは、第１参考例のメモリ書換システム６とは全く逆に、ＥＣＵ２からメモリ書換装置４へ、ＥＣＵ２の制御対象を示す識別コードを送信し（Ｓ４２０）、メモリ書換装置４は、ＥＣＵ２からの識別コードと、今から送信しようとしている新たな制御プログラム又は制御データの識別コードとが一致している場合にのみ（Ｓ６２０：ＹＥＳ）、その新たな制御プログラム又は制御データをＥＣＵ２へ送信するようにしている（Ｓ６４０）。
【００９５】
このような第２参考例のメモリ書換システムによれば、作業者が、メモリ書換装置４の記憶装置３４に、ＥＣＵ２が制御するエンジンに適合しない制御プログラム及び制御データを記憶させてしまった場合には、メモリ書換装置４は、その不適合な制御プログラム又は制御データをＥＣＵ２へ送信しなくなる。
【００９６】
従って、このような第２参考例のメモリ書換システムによっても、第１参考例のメモリ書換システム６と同様に、ＥＣＵ２のフラッシュＲＯＭ１４に格納される制御プログラムや制御データが、そのＥＣＵ２の制御対象に適合しない制御プログラムや制御データに、誤って書き換えられてしまうことを確実に防止することができる。
【００９７】
また、上記第２参考例のメモリ書換システムでは、メモリ書換装置４は、ＥＣＵ２からの識別コードと、記憶装置３４に記憶されている新たな制御プログラム及び制御データの識別コードとが一致していないと判定すると（Ｓ６２０：ＮＯ）、表示装置３２にエラー表示を行うようにしている。
【００９８】
従って、第２参考例のメモリ書換システムによっても、作業者は、書き換えようとして用意した新たな制御プログラム及び制御データがＥＣＵ２の制御対象に適合していないことを、メモリ書換装置４側の報知動作としてのエラー表示によって、確実に知ることができる。
【００９９】
ところで、上述した第１参考例及び第２参考例では、メモリ書換装置４の記憶装置３４に、新たな制御プログラム及び制御データが１つだけしか記憶されていない場合について説明したが、記憶装置３４に、複数の制御プログラム及び制御データを記憶するようにし、更に、作業者がメモリ書換装置４の入力装置３０を操作することによって、ＥＣＵ２に送信する新たな制御プログラム及び制御データを、記憶装置３４に記憶されたものの中から択一的に選択できるようにしてもよい。
【０１００】
尚、当然、この場合も、記憶装置３４に記憶される各制御プログラム及び制御データの所定位置には、その制御プログラム及び制御データに適合するエンジンの型式を示す識別コードを入れておくこととなる。
そして、第１参考例の場合には、メモリ書換装置４のＣＰＵ２２が、図４のＳ３１０にて、作業者によって選択された新たな制御プログラム及び制御データの識別コードをＥＣＵ２へ送信すればよく、また、第２参考例の場合には、メモリ書換装置４のＣＰＵ２２が、図６のＳ６２０にて、ＥＣＵ２からの識別コードと、作業者によって選択された新たな制御プログラム及び制御データの識別コードとを比較判定すればよい。
【０１０１】
そして、このようなメモリ書換システムによれば、作業者は、メモリ書換装置４からＥＣＵ２へ送信する新たな制御プログラム及び制御データを、複数の制御プログラム及び制御データの中から、任意に選択することができ、しかも、作業者が、誤ってＥＣＵ２の制御対象に適合しない制御プログラム及び制御データを選択してしまった場合には、前述したように、ＥＣＵ２側にて書換処理への移行が禁止されるか（Ｓ１３０：ＮＯ）、或いは、メモリ書換装置４側にて新たな制御プログラム等の送信が禁止される（Ｓ６２０：ＮＯ）。よって、ＥＣＵ２の制御プログラムや制御データが、そのＥＣＵ２の制御対象に不適合なものに書き換えられてしまうことを確実に防止することができる。
【０１０２】
［実施例］
次に、実施例の電子制御装置のメモリ書換システムについて説明する。本実施例のメモリ書換システムは、上述した第２参考例のメモリ書換システムに対して、メモリ書換装置４の記憶装置３４に、前述した如く識別コードが挿入された制御プログラム及び制御データが予め複数記憶されている点と、メモリ書換装置４のＣＰＵ２２が図７に示す処理を実行する点とが異なっている。尚、ハードウェア上の構成、及びＥＣＵ２のＣＰＵ１０が実行する処理（図５）については、第２参考例の場合と全く同じであるため、説明は省略する。
【０１０３】
そこで以下、実施例のメモリ書換システムにおいて、メモリ書換装置４側のＣＰＵ２２で実行される処理について、図７及び図８を用いて説明する。
図７に示すように、メモリ書換装置４のＣＰＵ２２は、まず、Ｓ７００で、所定時間の間、ＥＣＵ２へ書換要求信号を送信し、続くＳ７１０にて、当該メモリ書換装置４の動作モードがマニュアルモードに設定されているか否かを判定する。尚、マニュアルモードとは、ＥＣＵ２へ送信する新たな制御プログラム及び制御データを、記憶装置３４に記憶された複数の制御プログラム及び制御データの中から、入力装置３０の操作に応じて選択可能な動作モードである。また、マニュアルモードの設定は、作業者が入力装置３０に配設された所定のモード切換スイッチを操作することによって行われる。
【０１０４】
Ｓ７１０でマニュアルモードに設定されていないと判定した場合には、続くＳ７２０にて、記憶装置３４に記憶された各制御プログラム及び制御データ内の識別コードを順次参照するためのカウンタＫに「１」をセットし、続くＳ７３０にて、前述したようにＥＣＵ２のＣＰＵ１０が図５のＳ４２０を実行することによりＥＣＵ２側から送信されて来る識別コードを受信する。
【０１０５】
ここで、本実施例では、記憶装置３４に、ｍ個の制御プログラム及び制御データが１番目からｍ番目までの順で記憶されている。
そこで、続くＳ７４０では、記憶装置３４から、カウンタＫの値によって決まるＫ番目の制御プログラム及び制御データ内に挿入された識別コードを読み出し、続くＳ７５０にて、その読み出した識別コードと、Ｓ７３０で受信したＥＣＵ２からの識別コードとが一致しているか否かを判定する。そして、両識別コードが一致していると判定した場合には、Ｓ７６０に進んで、Ｓ７４０で読み出した識別コードに対応する制御プログラム及び制御データを選択して記憶装置３４から読み出し、続くＳ７７０にて、ＥＣＵ２へ一致信号を送信する。
【０１０６】
すると、前述したように、ＥＣＵ２のＣＰＵ１０は書換処理の実行を開始するため、続くＳ７８０にて、Ｓ７６０で記憶装置３４から読み出した新たな制御プログラム及び制御データをＥＣＵ２へ送信し、これによって、ＥＣＵ２にフラッシュＲＯＭ１４の書き換えを行わせる。そして、新たな制御プログラム及び制御データの送信が終了すると、続くＳ７９０にて、フラッシュＲＯＭ１４の書き換えが完了したことを示すメッセージを表示装置３２に表示し、以後は、この状態で待機する。
【０１０７】
一方、Ｓ７５０にて、Ｓ７４０で読み出した識別コードと、Ｓ７３０で受信したＥＣＵ２からの識別コードとが一致していないと判定した場合には、Ｓ８００に移行して、カウンタＫの値に「１」を加算し、続くＳ８１０にて、カウンタＫの値が「ｍ」よりも大きいか否かを判定する。そして、カウンタＫの値が「ｍ」よりも大きくないと判定した場合には、Ｓ７４０に戻る。
【０１０８】
また、Ｓ８１０にて、カウンタＫの値が「ｍ」よりも大きいと判定した場合には、Ｓ８２０に進んで、エラー表示を行い、以後、この状態で待機する。尚、Ｓ８２０のエラー表示は、記憶装置３４に記憶されている全ての制御プログラム及び制御データが、ＥＣＵ２が制御するエンジンに適合していない旨を表示装置３２に表示する、といった具合いに行われる。
【０１０９】
一方更に、Ｓ７１０にて、当該メモリ書換装置４の動作モードがマニュアルモードに設定されていると判定した場合には、Ｓ８３０に移行し、マニュアルモード処理を実行した後、Ｓ７９０へ移行する。
ここで、マニュアルモード処理は、図８に示す如く実行される。即ち、まずＳ９００にて、前述したようにＥＣＵ２から送信されて来る識別コードを受信し、続くＳ９１０にて、Ｓ９００で受信したＥＣＵ２からの識別コードと、当該メモリ書換装置４の動作モードがマニュアルモードであることを示すメッセージとを、表示装置３２に表示する。
【０１１０】
そして、続くＳ９２０にて、作業者により入力装置３０が操作されて、記憶装置３４に記憶された複数の制御プログラム及び制御データの中から、ＥＣＵ２へ送信する新たな制御プログラム及び制御データが選択されるのを待ち、新たな制御プログラム及び制御データが選択されると、Ｓ９３０に進む。
【０１１１】
このＳ９３０では、ＥＣＵ２へ一致信号を送信することにより、ＥＣＵ２のＣＰＵ１０に書換処理の実行を開始させる。そして、続くＳ９４０にて、Ｓ９２０で作業者により選択された新たな制御プログラム及び制御データを、記憶装置３４から読み出してＥＣＵ２へ送信し、これによってＥＣＵ２にフラッシュＲＯＭ１４の書き換えを行わせる。
【０１１２】
そして、Ｓ９４０の実行により、新たな制御プログラム及び制御データの送信が終了すると、当該マニュアルモード処理を終了して、図７のＳ７９０に進む。
尚、本実施例においては、記憶装置３４がプログラム記憶手段に相当し、フラッシュＲＯＭ１４が識別情報記憶手段に相当している。また、図７のＳ７２０〜Ｓ７６０，Ｓ８００，Ｓ８１０の処理が検索手段に相当している。
【０１１３】
つまり、実施例のメモリ書換システムでは、第２参考例の場合と同様に、ＥＣＵ２からメモリ書換装置４へ、ＥＣＵ２の制御対象（ＥＣＵ２が制御するエンジンの型式）を示す識別コードを送信するようにしているのであるが、メモリ書換装置４のＣＰＵ２２が、図７のＳ７２０〜Ｓ７６０，Ｓ８００，Ｓ８１０の処理を実行することにより、ＥＣＵ２からの識別コードと同じ識別コードを有する制御プログラム及び制御データを、記憶装置３４に記憶された複数の制御プログラム及び制御データの中から検索するようにしている。そして更に、メモリ書換装置４のＣＰＵ２２は、上記処理によって検索した制御プログラム及び制御データを、新たな制御プログラム又は制御データとしてＥＣＵ２へ送信するようにしている（Ｓ７８０）。
【０１１４】
従って、このような実施例のメモリ書換システムによれば、ＥＣＵ２の制御対象を示す識別コードに対応する制御プログラム及び制御データ、即ち、ＥＣＵ２が制御するエンジンに適合する制御プログラム及び制御データが、メモリ書換装置４の記憶装置３４に記憶された複数の制御プログラム及び制御データの中から自動的に選択され、その選択された制御プログラム及び制御データが、メモリ書換装置４からＥＣＵ２へ送信されることとなる。よって、作業者による人為的な選択ミスを無くすことができ、延いては、ＥＣＵ２の制御プログラム及び制御データを、そのＥＣＵ２の制御対象に適合した制御プログラム及び制御データに確実に書き換えることができる。
【０１１５】
また、実施例のメモリ書換システムでは、メモリ書換装置４のＣＰＵ２２は、カウンタＫの値が「ｍ」よりも大きくなった場合、即ち、ＥＣＵ２からの識別コードと同じ識別コードを有する制御プログラム及び制御データを記憶装置３４の中から検索できなかった場合に（Ｓ８１０：ＹＥＳ）、表示装置３２にエラー表示を行うようにしている（Ｓ８２０）。
【０１１６】
従って、作業者は、記憶装置３４に記憶された複数の制御プログラム及び制御データがＥＣＵ２の制御対象に全て適合していないことを、メモリ書換装置４の報知動作としてのエラー表示によって、確実に知ることができる。尚、このようなエラー表示があった場合には、作業者は、ＥＣＵ２の制御対象に適合する制御プログラム及び制御データをメモリ書換装置４の記憶装置３４に記憶させてから、再度、書き換えのための作業を行えばよい。
【０１１７】
そして更に、実施例のメモリ書換システムでは、メモリ書換装置４は、作業者によって入力装置３０のモード切換スイッチが操作されると、その動作モードがマニュアルモードに切り替わるように構成されている。そして、このマニュアルモードに設定されると、図７のＳ７２０〜Ｓ７８０及びＳ８００〜Ｓ８２０の処理に代えて、図８のマニュアルモード処理が実行され、記憶装置３４に記憶された複数の制御プログラム及び制御データの中から、入力装置３０の操作によって選択された制御プログラム及び制御データが、新たな制御プログラム及び制御データとしてＥＣＵ２へ送信されるようになる（Ｓ９２０〜Ｓ９４０）。
【０１１８】
従って、このような実施例のメモリ書換システムによれば、作業者は、メモリ書換装置４からＥＣＵ２へ送信する新たな制御プログラム及び制御データを、ＥＣＵ２側の識別コードに関わらず、任意に選択することができるようになり、これによって、ＥＣＵ２の適用範囲を大きく拡張することができる。
【０１１９】
即ち、このようなマニュアルモードを設けることで、例えば下記の（ａ）〜（ｃ）のような効果を得ることができる。
（ａ）まず、Ａという車両にはアメリカ仕様と日本仕様とがあり、アメリカ仕様の車両に搭載されるＥＣＵ２ａと、日本仕様の車両に搭載されるＥＣＵ２ｂとは、ハードウェアが同一であり、フラッシュＲＯＭ１４に格納される制御プログラムだけが異なっているものとする。尚、各ＥＣＵ２ａ，２ｂの制御プログラムは、各国毎の規制に適合するように構成されており、これに伴って、各制御プログラムの識別コードも異なることとなる。
【０１２０】
ここで、アメリカ仕様の車両を日本国内に持ち込んだ場合、日本の規制に適合させるためには、ＥＣＵ２ａの制御プログラムをアメリカ仕様のものから日本仕様のものに書き換えることが望ましい。ところが、上述したように、アメリカ仕様の制御プログラムと日本仕様の制御プログラムとでは、識別コードが異なるため、マニュアルモードが設定されていない場合には、制御プログラムの書き換えを行うことができなくなる。
【０１２１】
これに対して、マニュアルモードを備えた実施例のメモリ書換システムによれば、作業者は、メモリ書換装置４から送信させる新たな制御プログラム及び制御データを、ＥＣＵ２側の識別コードに関わらず任意に選択できるため、元々はアメリカ仕様の車両に搭載されていたＥＣＵ２ａの制御プログラムを、日本仕様の制御プログラムに強制的に書き換えることができるようになる。
【０１２２】
（ｂ）次に、Ｂという車両には、ナビゲーションやＡＢＳ等のオプション付き仕様と、オプション無し仕様とがあり、オプション付き仕様の車両に搭載されるＥＣＵ２ｃと、オプション無し仕様の車両に搭載されるＥＣＵ２ｄとは、ハードウェアが同一であり、フラッシュＲＯＭ１４に格納される制御プログラムだけが異なっているものとする。尚、各ＥＣＵ２ｃ，２ｄの制御プログラムは夫々異なっており、これに伴って、各制御プログラムの識別コードも異なることとなる。
【０１２３】
ここで、オプション無し仕様の車両に上記オプションを後付けした場合には、ＥＣＵ２ｄの制御プログラムを書き換えることが望ましいが、オプション付き仕様の制御プログラムと、オプション無し仕様の制御プログラムとでは、識別コードが異なるため、マニュアルモードが設定されていない場合には、制御プログラムの書き換えを行うことができなくなる。
【０１２４】
ところが、マニュアルモードを備えた実施例のメモリ書換システムによれば、元々はオプション無し仕様の車両に搭載されていたＥＣＵ２ｄの制御プログラムを、オプション付き仕様の制御プログラムに強制的に書き換えることができるようになる。
【０１２５】
（ｃ）一方、近年の電子制御装置（ＥＣＵ）は、設計及び製造コストを抑えるために、ハードウェアを極力共通化して、ソフトウェアにより、異なる機種に対応する傾向にある。そして、市場において故障が発生し、ＥＣＵを交換する必要がある場合には、整備工場から制御プログラムが格納されていないＥＣＵを発注し、その整備工場にて、ＥＣＵの車両への組み付け及び制御プログラムの書き込みを行うようにすると都合がよい。
【０１２６】
このような場合、マニュアルモードを備えた実施例のメモリ書換システムによれば、識別コードを有さないＥＣＵの制御プログラムを、整備工場において新規に書き込むことができるようになる。
ところで、上記各参考例及び実施例のメモリ書換システムでは、図２に例示したように、識別コードを制御プログラム及び制御データの一部として設けるようにしているため、識別コードと制御プログラム及び制御データとの対応を確実に維持することができ、しかも、ＥＣＵ２においては、識別コードが、フラッシュＲＯＭ１４内に制御プログラム及び制御データと共に格納されることとなるため、識別コードを記憶するための特別なメモリ領域を用意する必要がない。
【０１２７】
尚、他の実施の形態として、例えば、メモリ書換装置４の記憶装置３４では、識別コードを、対応する制御プログラム及び制御データのファイル名として格納し、また、ＥＣＵ２側では、識別コードを、書き換え対象でない通常のＲＯＭ１６に格納しておくように構成してもよい。
【０１２８】
一方、上記実施例では、フラッシュＲＯＭ１４に格納された制御プログラム及び制御データの全部を書き換える場合について説明したが、制御プログラム又は制御データの一部を書き換える場合についても全く同様である。そして、この場合には、各制御プログラム毎及び各制御データ毎に、識別コードを付与しておけばよい。
【０１２９】
また、上記実施例では、エンジンを制御するＥＣＵ２について説明したが、本発明の適用範囲は、これに限られない。即ち、例えばブレーキ、トランスミッション、サスペンション等の制御対象を制御する電子制御装置に対しても、全く同様に適用することができ、何れの場合でも、ＥＣＵ２のフラッシュＲＯＭ１４に格納される制御プログラムや制御データが、そのＥＣＵ２の制御対象に適合しない制御プログラムや制御データに、誤って書き換えられてしまうことを防止することができる。
【図面の簡単な説明】
【図１】参考例及び実施例の電子制御装置のメモリ書換システムの全体構成を表すブロック図である。
【図２】識別コードを説明する説明図である。
【図３】第１参考例のエンジン制御装置（ＥＣＵ）側で実行される処理を表すフローチャートである。
【図４】第１参考例のメモリ書換装置側で実行される処理を表すフローチャートである。
【図５】第２参考例のエンジン制御装置（ＥＣＵ）側で実行される処理を表すフローチャートである。
【図６】第２参考例のメモリ書換装置側で実行される処理を表すフローチャートである。
【図７】  実施例のメモリ書換装置側で実行される処理を表すフローチャートである。
【図８】図７のＳ８３０で実行されるマニュアルモード処理を表すフローチャートである。
【符号の説明】
２…エンジン制御装置（ＥＣＵ）    ４…メモリ書換装置
６…メモリ書換システム    ８…入力回路    １０，２２…ＣＰＵ
１２…出力回路    １４…フラッシュＲＯＭ    １６，２４…ＲＯＭ
１８，２６…ＲＡＭ    ２０，２８…通信回路    ３０…入力装置
３２…表示装置    ３４…記憶装置    ３６…インタフェース
４２…接続用コネクタ    ４４…通信ライン
【図１】
0003550834.tif 000002
【図２】
0003550834.tif 000003
【図３】
0003550834.tif 000004
【図４】
0003550834.tif 000005
【図５】
0003550834.tif 000006
【図６】
0003550834.tif 000007
【図７】
0003550834.tif 000008
【図８】
0003550834.tif 000009