(57)【要約】      （修正有）【課題】書換モードへ移行するためのプログラムを、書換可能に記録する装置において、プログラム更新時にエラーが生じても、安全かつ確実なプログラム更新を確保することができるようにする。【解決手段】フラッシュＲＯＭにおいて書換可能に記憶されたアプリケーション（書換条件判定）プログラムにより、書換条件が満足されているか否かを判断し、車両状態や周囲環境が所定の状態であると、書換条件が満足されているとして、書換プログラムを実行し、ＲＯＭ内のアプリケーションプログラムを更新する。また、ブートプログラムにより、書換条件判定プログラムのサム値を演算し（Ｓ１３０）、これを規定値と比較して、書換条件判定プログラムが正しいものであるか否かを、書換条件判定プログラムの実行前に判断し（Ｓ１４０）、書換条件判定プログラムが正しいものではない場合には、警告灯３を点灯させるように制御を行う（Ｓ１５０）。【選択図】  図４
2006323776.tif 000002
【特許請求の範囲】
【請求項１】
書換可能に、応用プログラムを記憶する不揮発性メモリと、
前記不揮発性メモリが記憶する応用プログラムを、前記不揮発性メモリから読み出して、この応用プログラムを実行するコンピュータと、
外部装置からの入力データに基づき、前記不揮発性メモリに書換可能に記憶された応用プログラムを、更新する更新手段と、
を備えた情報処理装置であって、
前記不揮発性メモリには、予め定められた更新条件が満足されたか否かを判断し、前記更新条件が満足されると、前記更新手段を起動する手順を、前記コンピュータに実行させるための更新判断プログラム、を含む前記応用プログラムが書換可能に記憶され、
当該情報処理装置は、更に、
前記不揮発性メモリにおいて書換可能に記憶された更新判断プログラムが正しいものであるか否かを、前記コンピュータによる前記更新判断プログラムの実行前に、判断する診断手段と、
前記診断手段により前記更新判断プログラムが正しいものではないと判断されると、エラー情報を出力する出力手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記診断手段及び出力手段としての機能は、前記コンピュータによって実現され、
前記コンピュータを前記診断手段及び出力手段として機能させるためのプログラムは、前記応用プログラムを起動するために、前記コンピュータが実行するブートプログラムに組み込まれ、
前記ブートプログラムは、前記応用プログラムの実行に先駆けて、前記コンピュータを前記診断手段として機能させるためのプログラムを、前記コンピュータに実行させ、前記更新判断プログラムが正しいものではない場合、前記応用プログラムの実行に代えて、前記コンピュータを前記出力手段として機能させるためのプログラムを、前記コンピュータに実行させるための構成を備えることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記不揮発性メモリには、前記応用プログラムとして、前記更新判断プログラムと、車両に搭載された所定の制御対象装置を制御するための車両制御用プログラムと、が書換可能に記憶され、
前記コンピュータは、車両に搭載された各種センサからの入力信号を受け付ける入力ポート及び前記制御対象装置に対する制御信号を出力する出力ポートを有し、前記車両制御用プログラムを実行することにより、前記各種センサからの入力信号に基づき、前記出力ポートから制御信号を出力して、前記制御対象装置を制御し、前記更新判断プログラムを実行することにより、前記各種センサからの入力信号に基づき、更新条件が満足されたか否かを判断することを特徴とする請求項１又は請求項２記載の情報処理装置。
【請求項４】
前記コンピュータは、前記更新手段の起動に用いる割込信号入力用のポートを有すると共に、前記割込信号入力用のポートから、割込信号が入力されると、前記更新手段を起動する機能を有していることを特徴とする請求項１〜請求項３のいずれかに記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、書換可能な不揮発性メモリにプログラムを記憶する情報処理装置に関する。
【背景技術】
【０００２】
従来より、プログラムを容易に更新可能とするために、フラッシュＲＯＭ等の書換可能な不揮発性メモリに、プログラムを記録する情報処理装置が知られている。この種の技術は、車両用の電子制御装置にも適用されており、従来技術としては、例えば、自動車のエンジンを制御するエンジン制御装置として、データの消去及び書込が可能な不揮発性メモリに、エンジン制御プログラムを記録したものが知られている（特許文献１参照）。
【０００３】
また、不揮発性メモリにプログラムを記録し、必要に応じて、これを更新する情報処理装置では、プログラムの更新（書換）時にエラーが発生する可能性があるため、プログラムの更新が正常に行われたか否かを判断することが行われている。
【０００４】
例えば、上述のエンジン制御装置では、プログラムの更新終了時に、終了データを、プログラムの末尾に書き込むことによって、プログラムの更新が最後まで行われたことを不揮発性メモリに記録する。そして、終了データが不揮発性メモリに書き込まれているか否かを、制御プログラムの実行前に判断し、終了データが書き込まれていない場合には、制御プログラムが正常ではないと判断して、制御プログラムを実行しないようにする。
【特許文献１】特開平９−１２８２２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、車両用の電子制御装置では、プログラム更新時にエラーが生じないようにする目的や、車両安全確保の目的で、車両が停止していることや、車両内が適切な温度であること等の所定条件を確認した後に、書換モードへ移行することが行われている。また、書換モードへ移行するための条件判断を行うプログラムを、制御プログラムと合わせて、不揮発性メモリに、書換可能に記録することが行われている。
【０００６】
しかしながら、上述したプログラムの更新終了時に、終了データを不揮発性メモリに書き込む手法では、エラーにより移行条件を含む応用プログラムの一部が誤った記述となっても、ユーザ側で、これを発見することができないという問題があった。
【０００７】
書換モードへ移行するためのプログラムを、不揮発性メモリに、書換可能に記録する装置では、過去のプログラム更新時にエラーが発生して、書換モードへの移行条件が誤った記述となると、適切でない環境で、装置が書換モードに移行してしまう。従って、このようなエラーをユーザが認識していないと、プログラム更新時の車両の安全やプログラムの正常な更新に問題が生じるのである。
【０００８】
勿論、このような問題は、書換モードに移行するための上記プログラムを、不揮発性メモリに、書換不可能に記録することによって解決することができる。しかしながら、書換モードに移行するためのプログラムを、書換不可能に記録してしまうと、制御プログラムの変更に伴って、移行条件の変更が必要となるような大幅なプログラム更新ができなくなり、不便である。
【０００９】
本発明は、こうした問題に鑑みなされたものであり、書換モードへ移行するためのプログラムを、書換可能に不揮発性メモリに記録する情報処理装置において、プログラムの更新時にエラーが生じた場合でも、安全を確保することができるようにすることを第一の目的とする。
【００１０】
また、上記装置では、移行条件がエラーにより実現不可能な条件となると、その後、二度とプログラムを書き換えることができないといった問題が生じるので、本発明は、再度のプログラム更新を実現できるようにすることを第二の目的とする。
【課題を解決するための手段】
【００１１】
かかる目的を達成するためになされた請求項１記載の情報処理装置は、不揮発性メモリに書換可能に応用プログラムを記憶し、コンピュータにて、不揮発性メモリから応用プログラムを読み出し、実行する。また、外部装置からの入力データに基づき、不揮発性メモリに書換可能に記憶された応用プログラムを、更新手段にて更新する。
【００１２】
また、不揮発性メモリには、予め定められた更新条件が満足されたか否かを判断し、更新条件が満足されると、上記更新手段を起動する手順を、コンピュータに実行させるための更新判断プログラム、を含む応用プログラムが書換可能に記憶されており、情報処理装置は、不揮発性メモリにおいて書換可能に記憶された上記更新判断プログラムが正しいものであるか否かを、コンピュータによる更新判断プログラムの実行前に、診断手段にて判断し、更新判断プログラムが正しいものではない場合、出力手段にてエラー情報を出力する。
【００１３】
このように構成された本発明の情報処理装置によれば、プログラムの更新時にエラーが生じ、更新判断プログラムが正常に動作しなくなった場合に、更新判断プログラムが異常な状態であることをユーザに報知することができるので、この現象をユーザが理解していないことによって、安全上の問題が生じるのを防止することができる。例えば、情報処理装置が車両制御用の情報処理装置である場合、車速がゼロでもないのにもかかわらず、更新条件が満足されて、更新手段が起動してしまうことによる車両安全上の問題を解消することができる。
【００１４】
尚、上述した診断手段、出力手段、更新手段としての機能は、プログラムによりコンピュータに実現させることができる。
請求項２記載の情報処理装置は、コンピュータを診断手段及び出力手段として機能させるためのプログラムが、応用プログラムを読み出すために、上記コンピュータが実行するブートプログラムに組み込まれたものである。この情報処理装置におけるコンピュータは、ブートプログラムの実行により、上記応用プログラムの実行に先駆けて、診断手段として機能するためのプログラムを実行すると共に、このプログラムの実行結果に従って、更新判断プログラムが正しいものではない場合、出力手段として機能するためのプログラムを、応用プログラムに代えて実行する。
【００１５】
このように、診断手段及び出力手段としての機能をコンピュータに実現させるためのプログラムを、ブートプログラムに組み込んでおけば、簡単な構造で、更新判断プログラムの実行前に、更新判断プログラムが正しいものであるか否かを判断することができる。また、更新されることがないため診断手段及び出力手段が正しいものであるか否かを判断する必要がない。
【００１６】
また、本発明は、車両制御用の情報処理装置に適用されると好ましい。請求項３記載の情報処理装置は、更新判断プログラムと、車両に搭載された所定の制御対象装置を制御するための車両制御用プログラムと、が応用プログラムとして、不揮発性メモリに記憶され、上記コンピュータが、車両に搭載された各種センサからの入力信号を受け付ける入力ポート及び制御対象装置に対する制御信号を出力する出力ポートを有し、車両制御用プログラムを実行することにより、各種センサからの入力信号に基づき、出力ポートから制御信号を出力して、制御対象装置を制御し、更新判断プログラムを実行することにより、各種センサからの入力信号に基づき、更新条件が満足されたか否かを判断する構成にされたものである。
【００１７】
この発明によれば、プログラム更新時に、更新条件に誤りが生じることにより、例えば、センサから入力される車速がゼロでもないにもかかわらず、更新条件が満足されて、更新手段が起動してしまうのを防止することができる。即ち、更新条件として、車両の安全を確保するための条件を設定する場合には、更新時の誤りによって、車両の安全が確保できなくなるのを防止することができる。
【００１８】
また、更新条件として、良好なプログラム書換環境の条件を設定する場合には、良好なプログラム書換環境でないにもかかわらず、プログラムの更新が行われて、プログラムに誤り等が生じるのを防止することができる。
【００１９】
その他、プログラム更新時にエラーが生じて、更新判断プログラムが正しいものではなくなり、正常な更新判断ができなくなると、更新判断プログラムによって更新手段を起動することができなくなる可能性があるので、上述の情報処理装置には、割込信号入力用のポートを設けるとよい。
【００２０】
請求項４記載の情報処理装置は、コンピュータが、更新手段の起動に用いる割込信号入力用のポートを有すると共に、割込信号入力用のポートから、割込信号が入力されると、更新手段を起動する機能を有したものである。
【００２１】
この情報処理装置によれば、更新判断プログラムによっては更新手段を起動することができなくなっても、割込信号を入力するといった特別な操作により、更新手段を起動することができる。即ち、この発明によれば、更新判断プログラムの異常によって、応用プログラムの更新ができなくなるのを防止することができる。従って、本発明によれば、更新判断プログラムの書換に失敗した場合でも、情報処理装置を処分しなくて済み、経済性が向上する。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施例について、図面とともに説明する。尚、本発明の実施の形態は、下記の実施例に何ら限定されることなく、本発明の技術的範囲に属する限り、種々の態様を採りえることは言うまでもない。
【００２３】
図１は、本発明が適用された車両（自動車）用の電子制御装置１の構成を表す説明図である。この電子制御装置１は、自動車に搭載されて、エンジン制御を行うものであり、マイクロコンピュータ１０と、割込入力回路２０と、マイクロコンピュータ１０に接続されたコネクタ３１，３２と、を備える。
【００２４】
コネクタ３１は、エンジン制御（燃料噴射制御、点火時期制御等）に必要な車両状態を検出するセンサの出力信号等を、マイクロコンピュータ１０に入力するためのものであり、各種センサに接続される。
【００２５】
コネクタ３１に接続されるセンサとしては、例えば、吸入空気量を測定するエアフローセンサや、吸気温度を検出する吸気温センサ４１、吸気圧を検出する吸気圧センサ４２、冷却水の温度を検出する水温センサ４３、スロットル開度を検出するスロットルセンサ、エンジンの回転速度を検出するディストリビュータ４４、車両速度を検出する車速センサ４５、空燃比を検出する空燃比センサ、始動操作を検出するスタータスイッチ４６等が挙げられる。
【００２６】
また、コネクタ３２は、外部ツール５（車両診断用ツールや、プログラム更新用ツール）を接続するためのコネクタであり、マイクロコンピュータ１０の通信ポートＰｓに接続されている。
【００２７】
一方、割込入力回路２０は、コネクタ３１から入力される信号から、書換モード移行用の割込信号を生成して、これをマイクロコンピュータ１０に入力するためのものである。この割込入力回路２０は、正当な手続き以外では割込信号が発生しないように、冗長な構成にされている。本実施例では、コネクタ３１を通じて上記手続きを実行することにより、割込信号を、この割込入力回路２０に発生させて、マイクロコンピュータ１０を書換モードに移行させる。
【００２８】
図２は、割込入力回路２０の構成を表したブロック図である。図２に示すように、割込入力回路２０は、アンド回路Ａ１，Ａ２，Ａ３と、ノット回路Ｎ１，Ｎ２と、から構成されている。アンド回路Ａ１は、コネクタ３１における水温センサ４３の接続部Ｃ４とマイクロコンピュータ１０とを結ぶ線路に、ノット回路Ｎ１を介して接続され、更に、コネクタ３１における吸気温センサ４１の接続部Ｃ３とマイクロコンピュータ１０とを結ぶ線路に、直接接続されている。
【００２９】
即ち、割込入力回路２０は、接続部Ｃ４からＬ（ロウ）信号が入力され、接続部Ｃ３からＨ（ハイ）信号が入力されると、アンド回路Ａ１からＨ信号を出力し、それ以外の場合にはＬ信号を出力する構成にされている。尚、このように割込入力回路２０が構成されているのは、電子制御装置１の通常の使用状態（車両に搭載されている状態であって、水温センサ４３が接続部Ｃ４に接続され、吸気温センサ４１が接続部Ｃ３に接続されている状態）では、アンド回路Ａ１から必ずＬ信号が出力されるようにするためである。
【００３０】
また、アンド回路Ａ２は、コネクタ３１における吸気圧センサ４２の接続部Ｃ２とマイクロコンピュータ１０とを結ぶ線路に、ノット回路Ｎ２を介して接続され、更に、コネクタ３１におけるスタータスイッチ４６の接続部Ｃ１とマイクロコンピュータ１０とを結ぶ線路に、直接接続されている。
【００３１】
即ち、割込入力回路２０は、接続部Ｃ２からＬ信号が入力され、接続部Ｃ１からＨ信号が入力されると、アンド回路Ａ２からＨ信号を出力し、それ以外の場合にはＬ信号を出力する構成にされている。
【００３２】
その他、アンド回路Ａ３は、アンド回路Ａ１，Ａ２に接続され、アンド回路Ａ１，Ａ２の両者からＨ信号が入力された場合にのみ、マイクロコンピュータ１０への割込信号として、Ｈ信号を出力する構成にされている。
【００３３】
従って、割込入力回路２０は、電子制御装置１の通常の使用状態（センサがコネクタ３１に接続されて装置が車両に搭載されている状態）では、割込信号をマイクロコンピュータ１０に入力せず、ユーザの操作によって、接続部Ｃ４，Ｃ２からＬ信号が入力され、接続部Ｃ３，Ｃ１からＨ信号が入力されると、割込信号をマイクロコンピュータ１０に入力する。
【００３４】
尚具体的に、本実施例では、装置が正常に書換モードに移行しなくなった場合、当該電子制御装置１を車両から取り外して、図２に示すように、接続部Ｃ４，Ｃ２を接地し、接続部Ｃ３，Ｃ１に特定電圧（５Ｖ）を印加することによって、Ｌ信号及びＨ信号を割込入力回路２０に入力し、これによって割込信号をマイクロコンピュータ１０に入力し、マイクロコンピュータ１０を書換モードに移行させる。
【００３５】
続いて、マイクロコンピュータ１０の構成及び動作について説明する。図１に示すように、本実施例のマイクロコンピュータ１０は、各種演算処理を行うＣＰＵ１１と、プログラム等を記憶する書換可能なＲＯＭ（所謂フラッシュＲＯＭ）１３と、ＣＰＵ１１によるプログラム実行時に作業領域と使用されるＲＡＭ１５と、図示しない通信回路・入出力回路等を備えると共に、外部ツール５との通信用の通信ポートＰｓと、割込信号入力用のポートＰｉと、コネクタ３１を介して各種センサに接続される検出信号入力用の入力ポートＰ１，Ｐ２，Ｐ３，Ｐ４，Ｐ５，Ｐ６，…と、図示しないイグナイタやインジェクタ等の制御対象装置に接続される制御信号出力用の出力ポートＰｏと、警告灯３制御用の出力ポートＰｋと、を備える。
【００３６】
マイクロコンピュータ１０のＲＯＭ１３は、書換不可能なマスク領域に、ブートプログラム記憶領域Ｒ１を備え、書換可能な領域に、アプリケーション（応用）プログラム記憶領域Ｒ２を備える。また、ブートプログラム記憶領域Ｒ１には、ブートプログラムと、アプリケーションプログラム記憶領域Ｒ２の書換処理を実現する書換プログラムと、が書換不可能に記録され、アプリケーションプログラム記憶領域Ｒ２には、図４に示すエンジン制御処理をＣＰＵ１１に実現させるためのエンジン制御プログラム（制御データを含む）と、図４に示す書換条件判定処理をＣＰＵ１１に実現させるための書換条件判定プログラムと、認証コードとを備えたアプリケーションプログラムが書換可能に記録されている。
【００３７】
図３は、ＲＯＭ１３内のデータ構成を示した説明図である。また、図４は、マイクロコンピュータ１０のＣＰＵ１１が起動直後に実行する処理の手順を示したフローチャートである。本実施例のＣＰＵ１１は、起動直後にブートプログラム記憶領域Ｒ１に記憶されたブートプログラムを、ＲＯＭ１３から読み出して実行する。
【００３８】
ＣＰＵ１１は、ブートプログラムの実行を開始すると、図示しないレジスタの初期設定を行うなどの所定の初期処理を実行した後（Ｓ１１０）、アプリケーションプログラムの認証コードが記述された領域を参照して、その認証コードが、ブートプログラムに記述された所定の認証コードと一致するか否かを判断し、これによって、アプリケーションプログラムが、メーカ等にて作成された当該電子制御装置１に適合する正当なプログラムであるか否かを判断する（Ｓ１２０）。そして、認証コードが一致しないと判断すると（Ｓ１２０でＮｏ）、Ｓ１５０に移行して、車両に搭載された警告灯３（例えば、メータパネル内の警告灯）を点灯させる。その後、アプリケーションプログラムを読み出すことなく、当該ブートプログラムを終了する。
【００３９】
一方、認証コードが一致すると判断すると（Ｓ１２０でＹｅｓ）、チェックサム方式にて、アプリケーションプログラム記憶領域Ｒ２内の予め定められた領域に記録された書換条件判定プログラムが正しいものであるか否かを判断する。具体的には、アプリケーションプログラム記憶領域Ｒ２内の予め定められた領域に記録された書換条件判定プログラムのサム値を演算し（Ｓ１３０）、このサム値が、予めブートプログラムに記述された規定値であるか否かを判断する（Ｓ１４０）。そして、サム値が規定値ではないと判断すると（Ｓ１４０でＮｏ）、Ｓ１５０に移行して、車両に搭載された警告灯３を点灯させ、その後、アプリケーションプログラムを読み出すことなく、ブートプログラムを終了する。
【００４０】
尚、本実施例では、サム値が規定値となるように、書換条件判定プログラムが設計されていることを前提として上記ステップを実行する。換言すると、本実施例では、書換条件判定プログラムの記憶領域を冗長に用意し、この冗長な領域を用いて、サム値が規定値となるように、書換条件判定プログラムを設計する。
【００４１】
従って、サム値が規定値ではない状態は、アプリケーションプログラムの更新時に、何等かのエラーが生じて、アプリケーションプログラムに、誤りが生じていることを意味し、本実施例では、この場合、警告灯３を点灯させて（Ｓ１５０）、異常をユーザに報知するのである。
【００４２】
これに対し、書換条件判定プログラムのサム値が規定値であると判断すると（Ｓ１４０でＹｅｓ）、ＣＰＵ１１は、アプリケーションプログラム記憶領域Ｒ２に記憶されているアプリケーションプログラムを読み出し（Ｓ１６０）、これを実行する（Ｓ１７０〜Ｓ１９０）。
【００４３】
アプリケーションプログラムを実行すると、ＣＰＵ１１は、まず、初期設定を行って、ＲＡＭに用意された受信履歴フラグをリセットし（Ｓ１７０）、その後、アプリケーションプログラムに含まれるエンジン制御プログラムを実行し、各種センサからの入力信号に基づき、車両状態に対応した制御信号を、インジェクタやイグナイタ等の制御対象装置に対して出力ポートＰｏから出力する。これにより、周知のエンジン制御を、１単位分行う（Ｓ１８０）。
【００４４】
また、１単位分のエンジン制御が終了すると、外部ツール５から、コネクタ３２及び通信ポートＰｓを介して、書換要求信号が入力されているか否かを判断し（Ｓ１８５）、書換要求信号が入力されていないと判断すると（Ｓ１８５でＮｏ）、再び、１単位分のエンジン制御を行う（Ｓ１８０）。
【００４５】
一方、書換要求信号が入力されていると判断すると（Ｓ１８５でＹｅｓ）、ＣＰＵ１１は、アプリケーションプログラムに含まれる書換条件判定プログラムを実行する（Ｓ１９０）。図５は、書換条件判定プログラムの実行により、ＣＰＵ１１にて実現される書換条件判定処理を表すフローチャートである。
【００４６】
書換条件判定プログラムを実行すると、ＣＰＵ１１は、まずＳ２１０にて、受信履歴フラグがセットされているか否かを判断し、受信履歴フラグがセットされていない（即ち、リセット状態である）と判断すると（Ｓ２１０でＮｏ）、受信履歴フラグをセットした後（Ｓ２２０）、アプリケーションプログラムの書換条件が満足されているか否かを判断する（Ｓ２３０）。
【００４７】
尚、本実施例において、書換条件は、書換条件判定プログラムに、直接記述されている。具体的に、アプリケーションプログラムの書換条件は、車両安全確保の観点等から、設計者が設定し、書換条件判定プログラムに記述する。例えば、車両安全確保の観点から、車両が停止していることを、書換条件として設定し、この条件を書換条件判定プログラムに記述する。
【００４８】
例えば、車速センサ４５の入力信号に基づき、車両速度がゼロである場合にのみ、書換条件が満足されたとし（Ｓ２３０でＹｅｓ）、書換プログラムを読み出して実行するように、書換条件判定プログラムを設計することにより、車両が停止していることを書換条件として設定する。
【００４９】
その他、車両安全確保の観点から、書換条件には、エンジン回転数についての条件を設定することができる。具体的には、ディストリビュータ４４の入力信号に基づき、エンジン回転数が規定値以下であれば、書換条件が満足されたとし（Ｓ２３０でＹｅｓ）、書換プログラムを読み出して実行するように、書換条件判定プログラムを設計することにより、エンジン回転数が規定値以下であることを書換条件として設定することができる。尚、複数の書換条件を設定する場合には、全ての書換条件が満足された場合にのみ、Ｓ２３０でＹｅｓと判断して、書換プログラムを読み出し実行するように、書換条件判定プログラムを設計すればよい。
【００５０】
また、ＲＯＭ書換時の動作保証条件を、書換条件として設定するには、例えば、電子制御装置１の周辺温度が規定値以下である場合に、書換条件が満足されたとし（Ｓ２３０でＹｅｓ）、書換プログラムを読み出して実行するように、書換条件判定プログラムを設計することができる。このような手法で、動作保証条件を、書換条件として設定すれば、アプリケーションプログラムの実行時に、エラーの発生を防止することができる。
【００５１】
話を戻し、Ｓ２３０において、アプリケーションプログラムの書換条件が満足されていないと判断すると（Ｓ２３０でＮｏ）、ＣＰＵ１１は、コネクタ３２に接続されている外部ツール５に対し、プログラムの書換を禁止した旨の書換禁止通知信号を出力する（Ｓ２４０）。その後、書換プログラムを読み出すことなく、当該書換条件判定処理を終了する。尚、Ｓ２４０の処理後には、再び、Ｓ１８０に移行して、エンジン制御を行っても良いし、再度のエンジン制御を行わずに、休止状態に移行してもよい。
【００５２】
一方、Ｓ２３０において、アプリケーションプログラムの書換条件が満足されていると判断すると（Ｓ２３０でＹｅｓ）、ＣＰＵ１１は、ＲＯＭ１３のブートプログラム記憶領域Ｒ１から書換プログラムを読み出し（Ｓ２５０）、これを実行する（Ｓ２６０）。尚、書換プログラムの実行により、当該電子制御装置１は、書換モードに移行する。
【００５３】
即ち、書換プログラムをＣＰＵ１１が実行することにより実現される書換処理では、外部ツール５との通信により、外部ツール５から更新データ（新しいアプリケーションプログラムの全て、又は、差分データ等）を受信し、この更新データに基づいて、アプリケーションプログラム記憶領域Ｒ２内のデータを書き換え、ＲＯＭ１３内のアプリケーションプログラムを更新する。そして、この書換処理を終了すると、休止状態に移行し、その後、ブートプログラムを再起動する。
【００５４】
また、本実施例の電子制御装置１のマイクロコンピュータ１０では、割込入力回路２０からの入力信号（換言すると、ポートＰｉからの入力信号）を常時監視し、割込信号（Ｈ信号）が入力されている場合には、書換プログラムを実行する。図６は、ＣＰＵ１１が、割込発生時に実行する割込制御処理を表すフローチャートである。
【００５５】
ＣＰＵ１１は、ポートＰｉから割込信号が入力され、割込信号が入力されていると判断すると書換プログラムを読み出し（Ｓ３２０）、これを実行する（Ｓ３３０）。
従って、本実施例では、装置が正常に書換モードに移行しなくなった場合（Ｓ２３０でＹｅｓと判断して、書換プログラムを読み出し、実行することができなくなった場合）、電子制御装置１を車両から取り外して、図２に示すように、コネクタ３１を通じて、センサ接続時には発生しえない組合せのＬ信号及びＨ信号を生成すれば、割込信号を発生させて、マイクロコンピュータ１０を書換モードに移行させることができる。
【００５６】
以上、本実施例の電子制御装置１について説明したが、この電子制御装置１では、アプリケーションプログラムによって、コネクタ３１から入力されるセンサの検出信号に基づき、書換条件（本発明の更新条件に相当）が満足されているか否かを判断し（Ｓ２３０）、車両状態や周囲の環境が所定の状態である場合にのみ、書換条件が満足されたとして（Ｓ２３０でＹｅｓ）、書換プログラムを起動し（本発明の更新手段を起動する手順に相当）、これを実行して（Ｓ２６０）、ＲＯＭ１３に書換可能に記録された当該アプリケーションプログラムを更新する（更新手段）。
【００５７】
従って、一度アプリケーションプログラムの更新に失敗して、書換条件が変化してしまった場合には、車両状態や周囲の環境が適切な状態にないにもかかわらず、外部ツール５から書換要求信号を入力する程度で、電子制御装置１が書換モードに移行してしまい、例えば、車両が停止していないにもかかわらず、書換モードに移行してしまう可能性があるが、本実施例では、これに対処するために、ブートプログラムによって、アプリケーションプログラム記憶領域Ｒ２における書換条件判定プログラム（本発明の更新判断プログラムに相当）が記憶された領域のサム値を演算し、これを規定値と比較することにより、書換条件判定プログラムが正しいものであるか否かを、書換条件判定プログラムの実行前に判断し（Ｓ１３０，Ｓ１４０の処理が診断手段に相当）、書換条件判定プログラムが正しいものではない（サム値が規定値ではない）場合には、アプリケーションプログラムの実行に代えて、警告灯３を点灯させる制御を行い（Ｓ１５０の処理が出力手段に相当）、車両の安全を確保するようにした。
【００５８】
このように、本実施例の電子制御装置１によれば、アプリケーションプログラムの更新時にエラーが生じ、書換条件判定プログラムが正常に動作しなくなった場合に、書換条件判定プログラムが異常な状態であることをユーザに報知するので、この現象をユーザが認識していないことによって、車両安全上又はプログラム更新の問題が生じるのを防止することができる。
【００５９】
また、本実施例によれば、書換条件判定プログラムを診断する手順をＣＰＵ１１に実行させるためのプログラム及び、書換条件判定プログラムが異常である場合に、警告灯３を点灯させる手順をＣＰＵ１１に実行させるためのプログラムが、ブートプログラムに組み込まれているので、簡単なプログラム構成で、アプリケーションプログラムの実行の先駆けて、確実に書換条件判定プログラムを診断し、異常がある場合には、その旨をユーザに報知することができる。
【００６０】
その他、本実施例の電子制御装置１では、マイクロコンピュータ１０が、書換プログラムの起動に用いる割込信号入力用のポートＰｉを有すると共に、ポートＰｉから、割込信号が入力されると、書換プログラムを読み出して実行する（Ｓ３２０，Ｓ３３０）。従って、本実施例によれば、書換条件判定プログラムによっては書換プログラムを起動することができなくなっても、コネクタ３１を通じてセンサ接続時にはなりえない信号を生成するといった特別な操作を行うことにより、割込信号を生成して、書換プログラムを起動することができ、書換条件判定プログラムの書換に失敗した場合でも、再度のプログラム更新が可能で、経済的な面で有利である。
【００６１】
また、本発明は、上述した実施例に限定されるものではなく、例えば、車両制御用の電子制御装置以外の装置に、適用されてもよい。その他、上記実施例では、チェックサム方式にて、書換条件判定プログラムが正しいものであるか否かを判断するようにしたが、その他の方式にて、書換条件判定プログラムが正しいものであるか否かを判断するようにしてもよい。
【図面の簡単な説明】
【００６２】
【図１】本発明が適用された車両用の電子制御装置１の構成を表す説明図である。
【図２】割込入力回路２０の構成を表すブロック図である。
【図３】ＲＯＭ１３内のデータ構成を示した説明図である。
【図４】ＣＰＵ１１が起動直後に実行する処理を示したフローチャートである。
【図５】書換条件判定プログラムにより、ＣＰＵ１１にて実現される書換条件判定処理を表すフローチャートである。
【図６】ＣＰＵ１１が実行する割込制御処理を表すフローチャートである。
【符号の説明】
【００６３】
１…電子制御装置、３…警告灯、５…外部ツール、１０…マイクロコンピュータ、１１…ＣＰＵ、１３…ＲＯＭ、１５…ＲＡＭ、２０…割込入力回路、３１，３２…コネクタ、４１…吸気温センサ、４２…吸気圧センサ、４３…水温センサ、４４…ディストリビュータ、４５…車速センサ、４６…スタータスイッチ、Ａ１，Ａ２，Ａ３…アンド回路、Ｎ１，Ｎ２…ノット回路、Ｃ１，Ｃ２，Ｃ３，Ｃ４，Ｃ５，Ｃ６…接続部、Ｐ１，Ｐ２，Ｐ３，Ｐ４，Ｐ５，Ｐ６，Ｐｉ…入力ポート、Ｐｋ，Ｐｏ…出力ポート、Ｐｓ…通信ポート、Ｒ１…ブートプログラム記憶領域、Ｒ２…アプリケーションプログラム記憶領域
【図１】
2006323776.tif 000003
【図２】
2006323776.tif 000004
【図３】
2006323776.tif 000005
【図４】
2006323776.tif 000006
【図５】
2006323776.tif 000007
【図６】
2006323776.tif 000008