(57)【特許請求の範囲】
【請求項１】
発生する電源電圧が異なるバッテリを備えた複数の車両において、それぞれの車両に搭載された制御対象機器を制御するための電子制御装置として、同様のハードウエア構成を備えた電子制御装置が用いられる場合に、書込装置から提供される前記制御対象機器を制御するための制御プログラムを、それぞれの電子制御装置のメモリに書き込むプログラム書込システムであって、
前記バッテリが発生する電源電圧を検出する検出手段と、
前記制御プログラムには、使用すべき電源電圧を示す使用電圧情報が付随しており、前記検出手段によって検出された電源電圧と、前記制御プログラムに付随する使用電圧情報とに基づいて、正しい制御プログラムであるか否かを判定する判定手段と、
前記判定手段が正しい制御プログラムではないと判定した場合に、当該制御プログラムを用いた処理の実行を停止する停止手段と、を備えることを特徴とするプログラム書込システム。
【請求項２】
前記検出手段、判定手段、及び停止手段は、前記制御プログラムが書き込まれる前記電子制御装置に設けられ、
前記書込装置から前記電子制御装置に制御プログラムが提供されたときに、前記判定手段が、前記検出手段によって検出された電源電圧と、前記制御プログラムに付随する使用電圧情報とに基づき、正しい制御プログラムではないと判定した場合、前記停止手段は、前記書込装置から前記電子制御装置に提供された制御プログラムのメモリへの書込処理を中止することを特徴とする請求項１に記載のプログラム書込システム。
【請求項３】
前記検出手段、判定手段、及び停止手段は、前記制御プログラムが書き込まれる前記電子制御装置に設けられ、
前記書込装置から前記電子制御装置に制御プログラムが提供されたとき、前記電子制御装置は、前記書込装置から提供された制御プログラムを、自身のメモリに書き込んでおき、
前記電子制御装置が車両に搭載されて、前記制御プログラムが書き込まれた後、前記判定手段が、前記検出手段によって検出された電源電圧と、前記制御プログラムに付随する使用電圧情報とに基づき、正しい制御プログラムではないと判定した場合、前記停止手段は、前記制御プログラムを用いての前記制御対象機器の制御の実行を停止することを特徴とする請求項１に記載のプログラム書込システム。
【請求項４】
前記電子制御装置は、前記制御プログラムが書き込まれたことを示す書込情報を不揮発性のメモリに書き込んでおき、当該不揮発性のメモリに書き込まれた書込情報に基づいて、初回起動時のみ、前記判定手段による判定処理を実行することを特徴とする請求項３に記載のプログラム書込システム。
【請求項５】
前記電子制御装置は、前記バッテリからの電源供給が絶たれたとき、その旨を示す電源途絶情報を前記不揮発性メモリに書き込んでおき、当該不揮発性メモリに書き込まれた電源途絶情報に基づいて、バッテリからの電源供給が再開されたときに、前記判定手段による判定処理を実行することを特徴とする請求項４に記載のプログラム書込システム。
【請求項６】
前記検出手段、判定手段、及び停止手段は、前記制御プログラムを提供する前記書込装置に設けられ、
前記判定手段が、前記検出手段によって検出された電源電圧と、制御プログラムに付随する使用電圧情報とに基づき、正しい制御プログラムではないと判定した場合、前記停止手段は、前記電子制御装置への制御プログラムの提供を行わないことを特徴とする請求項１に記載のプログラム書込システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、発生する電源電圧が異なるバッテリを備えた複数の車両において、それぞれの車両に搭載された制御対象機器を制御するための電子制御装置として、同様のハードウエア構成を備えた電子制御装置が用いられる場合に、書込装置から提供される制御対象機器を制御するための制御プログラムを、それぞれの電子制御装置のメモリに書き込むプログラム書込システムに関する。
【背景技術】
【０００２】
例えば、車両の仕様が異なっていても、制御ユニット（電子制御装置）を共通化できるようにすることが特許文献１に記載されている。この特許文献１に記載の制御ユニットでは、自動変速機や燃料噴射装置など車両に装備される制御対象をスイッチなどのセンサ類の出力に基づいて適宜コントロールする場合に、センサの出力に基づいて処理を実行する第１プログラム部と、センサ出力に基づかないで処理を実行する第２プログラム部とを設けている。そして、センサからの出力の有無を判別し、その判別結果に基づいて、両プログラムの内、いずれか一方を選択するようにしている。つまり、センサからの信号の有無を手がかりとして、制御に用いるプログラムを選択することにより、各車両の仕様に適したプログラムで制御対象を制御することができるようにしている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平２−１９７４３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した特許文献１では、制御ユニットを種々の仕様の車両で共通化できるようにするため、それら種々の仕様に対応する制御プログラムをすべて制御ユニット内に用意しておく必要がある。このため、制御プログラムは、個々の車両から見れば、不要なプログラム部分を含むものとなるので、制御プログラムを記憶しておくためのメモリ容量の増加を招くという不具合がある。
【０００５】
上述した不具合を解消するため、制御ユニットを共通化する場合に、ハードウエア構成としては同じ制御ユニットを使用しながら、その制御ユニットに用いる制御プログラムだけを、個々の仕様に適合したものとすることが考えられる。すなわち、制御プログラムは、制御ユニットが搭載される車両が決定されてから、制御ユニットに書き込むことにより、制御ユニットとして、異なる仕様の車両ごとに品番を付したり、在庫数を管理したりすることが不要となる。
【０００６】
ただし、ハードウエア構成として同じ制御ユニットを、１２Vと２４Vなど、バッテリ電圧の異なる車両に搭載しようとした場合、以下に説明するような問題が生じることが考えられる。つまり、制御ユニットは、ハードウエア構成として共通であるがゆえに、万一、制御ユニットに間違った制御プログラムが書き込まれてしまった場合でも、制御対象機器を駆動できてしまうことが起こりえる。
【０００７】
しかし、この場合、制御プログラムは、異なる電源電圧にて動作することを前提としているため、制御対象機器を正しく駆動することができなかったり、最悪の場合、駆動電流などが異なることに起因して、制御ユニットや、制御対象機器が損傷したりする可能性も否定できない。
【０００８】
本発明は、上述した点に鑑みてなされたもので、バッテリ電圧が異なる車両の制御対象機器を制御するための、同じハードウエア構成を備えた電子制御装置に対して、正しい制御プログラム以外の書き込みを防止することができ、万一、誤った制御プログラムが書き込まれたとしても、電子制御装置や制御対象機器の損傷を防止することが可能なプログラム書込システムを提供することも目的とする。
【課題を解決するための手段】
【０００９】
上述した目的を達成するために、請求項１に記載のプログラム書込システムは、発生する電源電圧が異なるバッテリを備えた複数の車両において、それぞれの車両に搭載された制御対象機器を制御するための電子制御装置として、同様のハードウエア構成を備えた電子制御装置が用いられる場合に、書込装置から提供される、制御対象機器を制御するための制御プログラムを、それぞれの電子制御装置のメモリに書き込むものであって、
バッテリが発生する電源電圧を検出する検出手段と、
制御プログラムには、使用すべき電源電圧を示す使用電圧情報が付随しており、検出手段によって検出された電源電圧と、制御プログラムに付随する使用電圧情報とに基づいて、正しい制御プログラムであるか否かを判定する判定手段と、
判定手段が正しい制御プログラムではないと判定した場合に、当該制御プログラムを用いた処理の実行を停止する停止手段と、を備えることを特徴とする。
【００１０】
請求項１に記載のプログラム書込システムは、上述した検出手段及び判定手段を備えているので、書込装置から提供される制御プログラムが、使用電圧の観点から、正しい制御プログラムであるか否かを判定することができる。そして、正しい制御プログラムではないと判定された場合、停止手段は、その制御プログラムを用いた処理の実行を停止する。例えば、制御プログラムが、まだ電子制御装置のメモリに書き込まれていなければ、書き込み処理の実行を停止し、すでに電子制御装置のメモリに書き込まれている場合には、その制御プログラムを用いての制御対象機器の制御を停止する。従って、正しい制御プログラム以外の書き込みを防止することができ、万一、誤った制御プログラムが書き込まれたとしても、その制御プログラムを用いての制御を実行しないので、電子制御装置や制御対象機器の損傷を防止することができる。
【００１１】
請求項２に記載したように、検出手段、判定手段、及び停止手段は、制御プログラムが書き込まれる電子制御装置に設けることができる。そして、書込装置から電子制御装置に制御プログラムが提供されたときに、判定手段が、検出手段によって検出された電源電圧と、制御プログラムに付随する使用電圧情報とに基づき、正しい制御プログラムではないと判定した場合、停止手段は、書込装置から電子制御装置に提供された制御プログラムのメモリへの書込処理を中止することが好ましい。これにより、誤った制御プログラムが電子制御装置のメモリに書き込まれることを未然に防ぐことができる。
【００１２】
一方、請求項３に記載したように、書込装置から電子制御装置に制御プログラムが提供されたときには、電子制御装置は、書込装置から提供された制御プログラムを、一旦、自身のメモリに書き込んでも良い。そして、電子制御装置が車両に搭載されて、制御プログラムが書き込まれた後、判定手段が、検出手段によって検出された電源電圧と、制御プログラムに付随する使用電圧情報とに基づき、正しい制御プログラムではないと判定した場合、停止手段が、制御プログラムを用いての制御対象機器の制御の実行を停止するようにしても良い。
【００１３】
例えば、工場出荷の時点で、電子制御装置が搭載される車両が決定されており、出荷前の最終工程などで、電子制御装置のメモリに制御プログラムが書き込まれることも考えられる。この場合、電子制御装置は、車両のバッテリに接続されない状態で、制御プログラムの書き込みが行われることになる。このため、電子制御装置に設けられた検出手段によってバッテリが発生する電源電圧を検出することができないので、電子制御装置は、制御プログラムの正誤を判定することなく、一旦、自身のメモリに書き込んでおく。そして、電子制御装置が車両に搭載されて、制御プログラムが書き込まれた後、バッテリによる電源電圧と、使用電圧情報とに基づき、正しい制御プログラムであるか否かを判定する。もし、正しい制御プログラムではないと判定した場合、この制御プログラムを用いての制御を実行しないので、電子制御装置や制御対象機器の損傷を防止することができる。
【００１４】
請求項４に記載したように、電子制御装置は、制御プログラムが書き込まれたことを示す書込情報を不揮発性のメモリに書き込んでおき、当該不揮発性のメモリに書き込まれた書込情報に基づいて、初回起動時のみ、判定手段による判定処理を実行することが好ましい。判定手段による判定処理は、電子制御装置のメモリに書き込まれた制御プログラムが正しいか否かを判定するものであり、制御プログラムの書き込み後に１回実行すれば十分なためである。
【００１５】
請求項５に記載したように、電子制御装置は、バッテリからの電源供給が絶たれたとき、その旨を示す電源途絶情報を不揮発性メモリに書き込んでおき、当該不揮発性メモリに書き込まれた電源途絶情報に基づいて、バッテリからの電源供給が再開されたときに、判定手段による判定処理を実行するようにしても良い。これにより、バッテリ交換時に、本来装着されるべきバッテリの電源電圧とは異なる電源電圧のバッテリが誤って装着されたときにも、制御プログラムを用いての、制御対象機器の制御の実行を停止することができる。
【００１６】
請求項６に記載したように、検出手段、判定手段、及び停止手段は、制御プログラムを提供する書込装置に設けることもできる。そして、判定手段が、検出手段によって検出された電源電圧と、制御プログラムに付随する使用電圧情報とに基づき、正しい制御プログラムではないと判定した場合、停止手段は、電子制御装置への制御プログラムの提供を行わないようにすることが好ましい。このようにしても、誤った制御プログラムが電子制御装置のメモリに書き込まれることを未然に防ぐことができる。
【図面の簡単な説明】
【００１７】
【図１】第１実施形態におけるプログラム書込システムの全体構成を示す構成図である。
【図２】第１実施形態のプログラム書込システムにおける制御プログラムの書込処理を示すフローチャートである。
【図３】制御プログラムの構成を概念的に示した図である。
【図４】第２実施形態によるプログラム書込システムにおいて、ＥＣＵ２０４が、車両のバッテリではなく生産ラインに設けられた電源２１３に電源ライン２１６を介して接続された状態で、書込装置２０１により制御プログラムの書き込みが行われる様子を示した図である。
【図５】ＥＣＵ２０４が車両に搭載されたときの状態をブロック図として示した図である。
【図６】ＥＣＵ２０４において、エンジン始動時に実行される処理を示した図である。
【図７】第３実施形態におけるプログラム書込システムの全体構成を示す構成図である。
【図８】第３実施形態のプログラム書込システムにおいて、書込装置３０１により実行される処理を示すフローチャートである。
【発明を実施するための形態】
【００１８】
（第１実施形態）
以下、本発明の第１実施形態におけるプログラム書込システムについて、図面に基づいて説明する。
【００１９】
図１に、本実施形態におけるプログラム書込システムの全体構成を示す。図１に示すように、プログラム書込システムは、制御プログラムの書き込みが行われる電子制御装置（ＥＣＵ）１０４と、このＥＣＵ１０４に対して、制御プログラムの書き込みの指示や、書き込まれるべき制御プログラムの提供を行う書込装置１０１とを有する。なお、図１では、ＥＣＵ１０４が車両１０２に搭載された状態で、接続線１０７を介して書込装置１０１と接続された状態を示している。
【００２０】
ＥＣＵ１０４は、書き込まれた制御プログラムに従って、車両１０２に搭載された制御対象機器を制御するものであるが、図１では、一例として、車両のエンジンの運転状態を制御するためのＥＣＵとしての構成を示している。すなわち、ＥＣＵ１０４は、エンジンの運転状態を検出する様々なセンサからの信号を入力する入力部と、この入力部を介して入力されたセンサ信号に基づき、エンジンの運転状態を制御するための様々な処理を実行するＭＣＵ（マイクロコンピュータユニット）と、このＭＣＵからの制御信号に基づいて、エンジンに取り付けられた、ＥＧＲ弁、インジェクタ、燃料ポンプ、及び電子スロットルバルブ等のアクチュエータ１０５へ駆動信号を出力する出力部とを備えている。なお、図１では、入力部、ＭＣＵ、及び出力部とも、簡略化のため、いずれも図示していない。
【００２１】
ＥＣＵ１０４のＭＣＵは、公知のように、ＣＰＵ、フラッシュＲＯＭ、ＲＡＭ等からなる。そして、書込装置１０１から提供された制御プログラムは、一時的にＲＡＭに保存され、その後、フラッシュＲＯＭに書き込まれる。
【００２２】
ＥＣＵ１０４は、電源ライン１０６を介してバッテリ１０３からの電源供給を受ける。ただし、ＥＣＵ１０４は、例えば、１２Vと２４Vなど、バッテリ電圧の異なる車両において、ハードウエア構成を変えずに共通して使用できるように、バッテリ電源電圧から、ＥＣＵ内の各部に供給する一定の基準電圧（目標電圧）を発生する電源回路を備えている。つまり、この電源回路は、例えば、降圧型のスイッチングレギュレータを有しており、バッテリ電圧によらず、ほぼ一定の基準電圧（例えば、１０Ｖ）を発生することが可能なものである。
【００２３】
また、ＥＣＵ１０４は、上述した入力部の一部の構成として、Ａ／Ｄ変換器を備えている。そして、バッテリ１０３との間を接続する電源ライン１０６は、別途、ＥＣＵ１０４の入力部にも接続され、バッテリ１０３が発生する電源電圧を入力部のＡ／Ｄ変換器によりＡ／Ｄ変換して取り込むことが可能に構成されている。これにより、ＥＣＵ１０４は、バッテリ１０３が発生する電源電圧を検出することができる。
【００２４】
次に、本実施形態のプログラム書込システムにおける制御プログラムの書込処理について、図２のフローチャートを参照しつつ説明する。なお、ＥＣＵ１０４内のフラッシュＲＯＭは、データの書き込みが可能な領域とデータの書き込みが不能な領域とに分割されており、これら各領域は、フラッシュＲＯＭの記憶領域に付されるアドレスによって指定されている。データの書き込みが不能な領域には、予めＥＣＵ１０４を起動するためのブートプログラムが記憶されている。書込装置１０１から提供される制御プログラムは、フラッシュＲＯＭの、データ書き込み可能領域に書き込まれる。
【００２５】
まず、ステップＳ１０１において、書込装置１０１により、ＥＣＵ１０４に付されているハードウエア品番が読み出され、書き込もうとしている制御プログラムとの対応が取れているかを確認する。ただし、上述したように、ＥＣＵ１０４は、バッテリ電圧の異なる車両において共通して使用されるものであり、書き込まれる制御プログラムは、バッテリ電圧の種類に応じて複数種類ある。従って、ステップＳ１０１の確認だけでは、バッテリ電圧をも考慮した上で、正しい制御プログラムが書き込まれるか否かを判断することはできない。
【００２６】
続くステップＳ１０２では、ＥＣＵ１０４に制御プログラムを書き込むため、ＥＣＵ１０４のセキュリティを解除する。このセキュリティ解除は、例えば、以下のようにして行われる。まず、予め、ＥＣＵ１０４と書込装置１０１とに、入力された数値に対して予め定められた演算を行って、その演算結果を返す同じ関数をそれぞれ記憶させておく。そして、ＥＣＵ１０４にて乱数を発生させ、ＥＣＵ１０４及び書込装置１０１それぞれにおいて、その乱数を上述した関数に入力することにより演算結果を得る。これらの演算結果をキーとして、ＥＣＵ１０４において、キーの照合を行う。そして、キーが一致した場合、認証が成立し、ＥＣＵ１０４のセキュリティが解除される。
【００２７】
続くステップＳ１０３では、書込装置１０１からＥＣＵ１０４への制御プログラムの転送に先立ち、書込装置１０１が、制御プログラムをフラッシュＲＯＭに書き込むための書込プログラムをＥＣＵ１０４に転送する。この書込プログラムは、ＲＡＭ内に書き込まれるか、一旦、ＥＣＵ１０４内のフラッシュＲＯＭ内に書き込まれる。ＲＡＭ内に書き込まれた場合はＥＣＵ１０４への電源供給が絶たれた時点で自動消去され、フラッシュＲＯＭ内に書き込まれた場合は制御プログラムの書き込みが正常に終了した時点で消去される。なお、書き込みプログラムは、予め、ＥＣＵ１０４のフラッシュＲＯＭ内に記憶させておいても良い。
【００２８】
ステップＳ１０４では、上述したように、ＥＣＵ１０４において、バッテリ１０３が発生する電源電圧をＡ／Ｄ変換することにより、バッテリ電圧ＶＶの検出を行なう。続くステップＳ１０５では、書込装置１０１が、ＥＣＵ１０４に向けて、制御プログラムの転送を開始する。なお、この制御プログラムの転送は分割して行われ、転送された制御プログラムは、一旦、ＥＣＵ１０４のＲＡＭに保存される。
【００２９】
ここで、制御プログラムの、最初にＥＣＵ１０４に転送される分割部分に、図３に示すように、当該制御プログラムが使用されるべき電源電圧を示す使用電圧情報１１０が含まれている。従って、ＥＣＵ１０４は、最初に書込装置１０１から転送されてきた制御プログラムの分割部分を受け取った時点で、その制御プログラムが使用されるべき電源電圧についての情報を取得することができる。なお、使用電圧情報１１０は、必ずしも制御プログラム内に保存されていなくとも良い。例えば、制御プログラムとは分離して、制御プログラムの転送に先立って、使用電圧情報だけを転送しても良いし、制御プログラムに使用電圧に応じたファイル名を付すことにより、そのファイル名を使用電圧情報として利用することも可能である。
【００３０】
ステップＳ１０６では、ＥＣＵ１０４は、上述した使用電圧情報１１０から、制御プログラムが使用されるべき使用電圧ＶＳを取得する。そして、ステップＳ１０７において、ＥＣＵ１０４は、ステップＳ１０４にて取得されたバッテリ電圧ＶＶと、ステップＳ１０６で取得された使用電圧ＶＳとを比較して、不一致であるか否かを判定する。このステップＳ１０７において、バッテリ電圧ＶＶと使用電圧ＶＳとが一致していると判定されると、ステップＳ１０８に進み、ＥＣＵ１０４は、最初に受け取った制御プログラムの分割部分をフラッシュＲＯＭに書き込むとともに、残りの制御プログラムを順次、書込装置１０１から転送させる。そして、受け取った制御プログラムを、順番に、フラッシュＲＯＭに書き込んでいく。
【００３１】
ステップＳ１０９では、ＥＣＵ１０４における、制御プログラムの書込処理が正常に終了したか否かを、例えば、チェックサムを用いて判定する。このとき、書込処理が正常に終了しなかったと判定されると、ＥＣＵ１０４は、ステップＳ１１０において、フラッシュＲＯＭに書き込んだ制御プログラムをすべて消去し、ステップＳ１１１の処理に進む。一方、ステップＳ１０９にて書込処理が正常に終了したと判定されると、ステップＳ１１０の処理を実行することなく、ステップＳ１１１の処理に進む。ステップＳ１１１では、ＥＣＵ１０４は、自身にリセットをかける。なお、リセットをかける際、ＥＣＵ１０４は、フラッシュＲＯＭに書込プログラムが保存されていた場合、保存された書込プログラムを消去する。
【００３２】
一方、ステップＳ１０７において、バッテリ電圧ＶＶと使用電圧ＶＳとが一致していないと判定されると、制御プログラムのフラッシュＲＯＭへの書き込みを行わないようにするため、ステップＳ１０８〜Ｓ１１０の処理を実行することなく、ステップＳ１１１の処理に進む。
【００３３】
以上のように、第１実施形態によるプログラム書込システムでは、ＥＣＵ１０４が、書込装置１０１から制御プログラムの提供を受けたときに、バッテリ電圧ＶＶと使用電圧ＶＳとに基づき、制御プログラムの正誤を判定する。そして、正しい制御プログラムではないと判定した場合、制御プログラムのフラッシュＲＯＭへの書込処理を中止する。これにより、誤った制御プログラムがＥＣＵ１０４のフラッシュＲＯＭに書き込まれることを未然に防ぐことができる。
【００３４】
（第２実施形態）
次に、本発明の第２実施形態によるプログラム書込システムについて、図４〜図６を参照しつつ説明する。
【００３５】
上述した第１実施形態では、プログラム書込システムを構成するＥＣＵ１０４が、車両１０２に搭載され、バッテリ１０３が発生する電源電圧を検出可能な状態で、制御プログラムの書込処理が行われるケースについて説明した。
【００３６】
しかしながら、例えば、工場出荷の時点で、ＥＣＵが搭載される車両が決定されており、出荷前の最終工程などで、ＥＣＵのフラッシュＲＯＭに制御プログラムが書き込まれることも考えられる。
【００３７】
本実施形態によるプログラム書込システムでは、このように、ＥＣＵが車両のバッテリに接続されていないときに、書込装置から制御プログラムを提供された場合であっても、その制御プログラムが、正しい制御プログラムであるかを判定するとともに、誤った制御プログラムであった場合には、その制御プログラムを用いた処理を停止できるようにしたものである。以下、具体的に、本実施形態によるプログラム書込システムについて説明する。
【００３８】
図４に示すように、ＥＣＵ２０４は、車両のバッテリではなく生産ラインに設けられた電源２１３に電源ライン２１６を介して接続された状態で、書込装置２０１により制御プログラムの書き込みが行われる。この場合、ＥＣＵ２０４は、車両のバッテリが発生する電源電圧を検出することができないので、使用電圧の観点において、上述した第１実施形態に示した制御プログラム書き込み中の制御プログラムの正誤を判定することなく、一旦、制御プログラムを、フラッシュＲＯＭに書き込んでおく。
【００３９】
そして、図５に示すようにＥＣＵ２０４が車両２０２に搭載され、制御プログラムが書き込まれた後、バッテリ２０３による電源電圧ＶＶと、使用電圧ＶＳとを比較することにより、正しい制御プログラムであるか否かを判定する。もし、正しい制御プログラムではないと判定した場合、この制御プログラムを用いての、エンジン制御を実行しないようにする。これにより、万一、誤った制御プログラムがＥＣＵ２０４のフラッシュＲＯＭに書き込まれたとしても、ＥＣＵ２０４や各アクチュエータ２０５が損傷する事態の発生を防止することができる。
【００４０】
以下に、本実施形態のプログラム書込システムにおいて実行される処理内容について、図６のフローチャートを用いて説明する。
【００４１】
まず、ステップＳ２０１では、ＥＣＵ２０４の初期化処理を行う。具体的には、ＥＣＵ２０４のＲＡＭやレジスタの値をすべてクリアする。続くステップＳ２０２では、バッテリ電圧判定実施条件が成立したか否かを判定する。具体的には、このバッテリ電圧判定実施条件の成立判定では、ＥＣＵ２０４のフラッシュＲＯＭに制御プログラムが書き込まれてから、初めてＥＣＵ２０４が起動されたか否かを判定する。この判定は、例えば、ＥＣＵ２０４が、制御プログラムが書き込まれたときに、その旨を示す書込情報を、フラッシュＲＯＭや、バックアップＲＡＭなどの不揮発性のメモリに書き込んでおき、その書込情報を参照することによって行うことができる。
【００４２】
このように、初回起動時であるか否かを判定するのは、ＥＣＵ２０４のフラッシュＲＯＭに書き込まれた制御プログラムが正しいか否かの判定が、制御プログラムの書き込み後に１回実行されれば十分なためである。換言すれば、ステップＳ２０２においてバッテリ電圧判定実施条件が不成立であると判定されると、制御プログラムの正誤判定を行うことなく、ステップＳ２０６の処理に進む。
【００４３】
ステップＳ２０２において、バッテリ電圧判定実施条件が成立したと判定された場合、すなわち、初回起動時である場合、ステップＳ２０３に進んで、車両のバッテリ電圧ＶＶの検出を行なう。続くステップＳ２０４では、制御プログラムに含まれる使用電圧情報１１０から、当該プログラムの使用電圧ＶＳを取得する。そして、ステップＳ２０５において、ＥＣＵ２０４は、バッテリ電圧ＶＶと、使用電圧ＶＳとを比較して、不一致であるか否かを判定する。なお、この判定時に、上述した不揮発性メモリに、制御プログラムの正誤判定処理が完了した情報、及びその判定結果を残しておく。これにより、次回以降のＥＣＵ２０４の起動時に、再度、制御プログラムの正誤判定処理を実施せずに済む。
【００４４】
ステップＳ２０５において、バッテリ電圧ＶＶと使用電圧ＶＳとが不一致であると判定されると、ステップＳ２１０の処理に進み、アクチュエータ２０５への駆動信号の出力を停止したままとし、制御プログラムを用いてのエンジン制御を実行しないようにする。
【００４５】
一方、ステップＳ２０５において、バッテリ電圧ＶＶと使用電圧ＶＳとが一致していると判定されると、ステップＳ２０６に進んで、図示しないスタータスイッチからの信号を取得する。ステップＳ２０７では、取得したスタータスイッチの信号に基づき、スタータスイッチがオンされているか否かを判定する。このとき、オンされていないと判定された場合には、ステップＳ２０６の処理に戻り、オンされていると判定された場合には、ステップＳ２０８の処理に進む。
【００４６】
ステップＳ２０８では、スタータモータに駆動信号を出力して、エンジンの始動を開始する。そして、ステップＳ２０９では、エンジンの始動後、運転者によるアクセル操作等に応じて最適な運転状態となるように、エンジンの制御を開始する。
【００４７】
（第３実施形態）
次に、本発明の第３実施形態におけるプログラム書込システムについて、図７、図８を参照しつつ説明する。
【００４８】
上述した第１、第２実施形態では、ＥＣＵ１０４，２０４において、制御プログラムが正しいか否かを判定するものであった。しかしながら、この判定は、車両に搭載されるＥＣＵはなく、そのＥＣＵに制御プログラムを提供する書込装置において行うことも可能である。
【００４９】
本第３実施形態では、書込装置において、制御プログラムが正しいか否かを判定するようにしたプログラム書込システムについて説明する。
【００５０】
図７は、第３実施形態によるプログラム書込システムの全体構成を示す図である。図７に示すように、本実施形態によるプログラム書込システムは、ＥＣＵ３０４が、車両に搭載された状態で、制御プログラムを書き込む場合に適用されるものである。そして、本実施形態では、書込装置３０１にて、制御プログラムの正誤を判定するため、電源ライン３０６ａを介して、車載バッテリ３０３と書込装置３０１とを接続し、書込装置３０１において、バッテリ３０３が発生する電源電圧を検出可能に構成されている。その他の構成は、第１実施形態と同様であるため、説明を省略する。
【００５１】
次に、図８のフローチャートに従って、書込装置３０１により実行される処理について説明する。
【００５２】
まず、ステップＳ３０１では、データベースや、外部記憶媒体から、ＥＣＵ３０４に書き込むべき制御プログラムを読み込む。続くステップＳ３０２では、車両のバッテリ電圧ＶＶを検出する。そして、ステップＳ３０３において、ステップＳ３０１にて読み込んだ制御プログラムに含まれる使用電圧情報１１０から、使用電圧ＶＳを取得する。
【００５３】
ステップＳ３０４では、書込装置３０１は、バッテリ電圧ＶＶと、使用電圧ＶＳとを比較して、不一致であるか否かを判定する。このステップＳ３０４において、バッテリ電圧ＶＶと使用電圧ＶＳとが不一致であると判定されると、そのまま、図８のフローチャートに示す処理を終了する。一方、ステップＳ３０４において、バッテリ電圧ＶＶと使用電圧ＶＳとが一致していると判定されると、ステップＳ３０５に進んで、制御プログラムの書き込み処理を実行する。
【００５４】
このように、本実施形態のプログラム書込システムでは、書込装置３０１が、書込処理を開始する前に、制御プログラムの正誤を判定し、もし誤っていると判定した場合には、書込処理を実行しないようにしている。従って、早い段階で、制御プログラムの正誤判定を行うことができるとともに、誤った制御プログラムがＥＣＵ３０４に書き込まれることを未然に防ぐことができる。
【００５５】
以上、本発明の好ましい実施形態について説明したが、本発明は上述した実施形態になんら制限されることなく、本発明の主旨を逸脱しない範囲において、種々変形して実施することが可能である。
【００５６】
例えば、上述した第２実施形態のプログラム書込システムでは、制御プログラムが書き込まれた後の、ＥＣＵ２０４の初回起動時に、制御プログラムの正誤判定を実行した。この第２実施形態のプログラム書込システムにおいて、さらに、ＥＣＵ２０４が、バッテリ２０３からの電源供給が絶たれたとき、その旨を示す電源途絶情報を不揮発性メモリに書き込んでおき、当該不揮発性メモリに書き込まれた電源途絶情報に基づいて、バッテリ２０３からの電源供給が再開されたときに、制御プログラムの正誤判定処理を実行するようにしても良い。このようにすれば、バッテリ交換時に、本来装着されるべきバッテリの電源電圧とは異なる電源電圧のバッテリが誤って装着されたときにも、制御プログラムを用いての、制御対象機器の制御の実行を停止することができるようになる。
【符号の説明】
【００５７】
１０１  書込装置
１０２  車両
１０３  バッテリ
１０４  ＥＣＵ
１０５  アクチュエータ
１０６  電源ライン
【図１】
0005516509.tif 000002
【図２】
0005516509.tif 000003
【図３】
0005516509.tif 000004
【図４】
0005516509.tif 000005
【図５】
0005516509.tif 000006
【図６】
0005516509.tif 000007
【図７】
0005516509.tif 000008
【図８】
0005516509.tif 000009