(57)【要約】【課題】メモリのリソースが少ない状態であっても書換処理を実行【解決手段】ＥＣＵ１は、記憶内容の書き換えが可能でありエンジン制御プログラムを記憶するフラッシュＲＯＭ５と、記憶内容の書き換えが可能なＲＡＭ４を備え、フラッシュＲＯＭ５とＲＡＭ４に記憶されたプログラムに従って処理を行う。そしてＥＣＵ１は、予め設定された書換条件が成立すると、フラッシュＲＯＭ５内のエンジン制御プログラムの内容を書き換える書換処理を行うように構成され、書換処理は、複数の書換工程を順次実行することにより、エンジン制御プログラムの内容を書き換えるものであり、エンジン制御プログラムの内容を書き換えるための書換制御プログラムは、複数の書換工程のそれぞれに対応した複数の工程プログラムにより構成され、書換処理において現時点で実行されるべき書換工程を検出し、検出工程に対応する工程プログラムをＲＡＭ４に記憶させる。【選択図】図１
2013092978.tif 000002
【特許請求の範囲】
【請求項１】
記憶内容の書き換えが可能な不揮発性メモリであり、所定の制御対象を制御するための制御プログラムを記憶する書換可能不揮発性メモリと、
記憶内容の書き換えが可能なメモリである書換可能メモリとを備え、
前記書換可能不揮発性メモリおよび前記書換可能メモリに記憶されたプログラムに従って処理を行うように構成されるとともに、予め設定された書換条件が成立した場合には、前記書換可能不揮発性メモリに記憶された前記制御プログラムの内容を書き換える書換処理を行うように構成された電子制御装置であって、
前記書換処理は、複数の書換工程を順次実行することにより、前記制御プログラムの内容を書き換えるものであり、
前記制御プログラムの内容を書き換えるための書換プログラムは、複数の前記書換工程のそれぞれに対応したプログラムである複数の工程プログラムにより構成されており、
前記書換条件が成立すると、その後、予め設定された書換終了条件が成立するまで、前記書換処理において現時点で実行されるべき書換工程を検出する実行工程検出手段と、
前記実行工程検出手段により検出された前記書換工程に対応する前記工程プログラムを前記書換可能メモリに記憶させる工程プログラム記憶手段とを備える
ことを特徴とする電子制御装置。
【請求項２】
前記実行工程検出手段は、
当該実行工程検出手段としての機能をコンピュータの処理によって実現するためのプログラムを前記書換可能メモリに記憶させることにより実行される
ことを特徴とする請求項１に記載の電子制御装置。
【請求項３】
前記書換プログラムは、
前記工程プログラムとして、
前記書換可能不揮発性メモリに記憶された前記制御プログラムのデータを消去するための消去工程プログラムと、
前記書換可能不揮発性メモリに新たな前記制御プログラムのデータを書き込むための書込工程プログラムとを含む
ことを特徴とする請求項１または請求項２に記載の電子制御装置。
【請求項４】
記憶内容の書き換えが可能な不揮発性メモリであり、所定の制御対象を制御するための制御プログラムを記憶する書換可能不揮発性メモリと、
記憶内容の書き換えが可能なメモリである書換可能メモリとを備え、
前記書換可能不揮発性メモリおよび前記書換可能メモリに記憶されたプログラムに従って処理を行うように構成されるとともに、予め設定された書換条件が成立した場合には、前記書換可能不揮発性メモリに記憶された前記制御プログラムの内容を書き換える書換処理を行うように構成された電子制御装置で用いられるメモリ書換方法であって、
前記書換処理は、複数の書換工程を順次実行することにより、前記制御プログラムの内容を書き換えるものであり、
前記制御プログラムの内容を書き換えるための書換プログラムは、複数の前記書換工程のそれぞれに対応したプログラムである複数の工程プログラムにより構成されており、
前記書換条件が成立すると、その後、予め設定された書換終了条件が成立するまで、前記書換処理において現時点で実行されるべき書換工程を検出する実行工程検出手順と、
前記実行工程検出手段により検出された前記書換工程に対応する前記工程プログラムを前記書換可能メモリに記憶させる工程プログラム記憶手順とを備える
ことを特徴とするメモリ書換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の制御対象の制御に用いる制御プログラムを書き換え可能な電子制御装置およびメモリ書換方法に関する。
【背景技術】
【０００２】
従来、例えば自動車のエンジンやトランスミッション等を制御する電子制御装置として、電気的に記憶内容の書き換え（詳しくは、データの消去および書き込み）が可能なフラッシュメモリやＥＥＰＲＯＭ等の書換可能不揮発性メモリを備え、その書換可能不揮発性メモリに記憶された制御プログラムおよび制御データを書き換え可能なものが知られている。
【０００３】
すなわち、この種の電子制御装置では、それに搭載されたマイクロコンピュータの主要部を成すＣＰＵ（中央演算処理装置）が、通常時には、書換可能不揮発性メモリ内の制御プログラムおよび制御データに従って、エンジン等の制御対象を制御するための制御処理を行うが、例えば別途接続されるデータ書換装置から書換要求を受けると、上記書換可能不揮発性メモリの記憶内容（つまり、制御プログラムを構成するデータ、および制御プログラムの実行時に参照される制御データ）を、上記データ書換装置から送信される新たなデータに書き換えるための書換処理を行う（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開昭６３−２２３９０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１に記載のように制御プログラム等を書き換える技術では、書換可能不揮発性メモリに記憶されている書換プログラムを一括して揮発性メモリへ一時的に記憶させることにより上記書換処理を行うため、揮発性メモリのメモリリソースが少ない状態では、上記書換処理を行うことができなくなるという問題があった。
【０００６】
本発明は、こうした問題に鑑みてなされたものであり、書換プログラムを一時的に記憶するメモリのメモリリソースが少ない状態であっても書換処理の実行を可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するためになされた請求項１に記載の電子制御装置は、記憶内容の書き換えが可能な不揮発性メモリであり、所定の制御対象を制御するための制御プログラムを記憶する書換可能不揮発性メモリと、記憶内容の書き換えが可能なメモリである書換可能メモリとを備え、書換可能不揮発性メモリおよび書換可能メモリに記憶されたプログラムに従って処理を行うように構成されるとともに、予め設定された書換条件が成立した場合には、書換可能不揮発性メモリに記憶された制御プログラムの内容を書き換える書換処理を行うように構成された電子制御装置であって、書換処理は、複数の書換工程を順次実行することにより、制御プログラムの内容を書き換えるものであり、制御プログラムの内容を書き換えるための書換プログラムは、複数の書換工程のそれぞれに対応したプログラムである複数の工程プログラムにより構成されており、実行工程検出手段が、書換条件が成立すると、その後、予め設定された書換終了条件が成立するまで、書換処理において現時点で実行されるべき書換工程を検出し、工程プログラム記憶手段が、実行工程検出手段により検出された書換工程に対応する工程プログラムを書換可能メモリに記憶させる。
【０００８】
このように構成された電子制御装置では、複数の書換工程を順次実行することにより制御プログラムの内容を書き換える書換処理において現時点で実行されるべき書換工程を検出し、検出された書換工程に対応する工程プログラムを書換可能メモリに記憶させる。これにより、電子制御装置は、書換可能メモリに記憶された、現時点で実行されるべき工程プログラムに従って処理を行うことができる。
【０００９】
このため電子制御装置は、書換処理を実行するために、書換プログラムを構成する複数の工程プログラムのうち、現時点で実行されるべき書換工程に対応する工程プログラムのみを書換可能メモリに記憶させればよく、書換プログラムを一括して書換可能メモリに記憶させる必要がない。これにより、書換可能メモリのメモリリソースが少ない状態であっても書換処理を実行することができる。
【００１０】
また、請求項１に記載の電子制御装置において、請求項２に記載のように、実行工程検出手段は、当該実行工程検出手段としての機能をコンピュータの処理によって実現するためのプログラムを書換可能メモリに記憶させることにより実行されるようにするとよい。
【００１１】
このように構成された電子制御装置では、実行工程検出手段としての機能は、書換可能メモリに記憶されたプログラムに従って実行される。このため、書換可能不揮発性メモリに記憶された制御プログラムのデータを消去する処理、および、書換可能不揮発性メモリに新たな制御プログラムのデータを書き込む処理などのように、書換可能不揮発性メモリに記憶されたプログラムに従って処理を実行することができない状態であっても、実行工程検出手段としての機能の処理を実行することができる。
【００１２】
また、請求項１または請求項２に記載の電子制御装置において、請求項３に記載のように、書換プログラムは、工程プログラムとして、書換可能不揮発性メモリに記憶された制御プログラムのデータを消去するための消去工程プログラムと、書換可能不揮発性メモリに新たな制御プログラムのデータを書き込むための書込工程プログラムとを含むようにするとよい。
【００１３】
このように構成された電子制御装置では、書換可能不揮発性メモリに記憶された制御プログラムのデータを消去する処理を実行するときに消去工程プログラムを書換可能メモリに記憶させるとともに、書換可能不揮発性メモリに新たな制御プログラムのデータを書き込む処理を実行するときに書込工程プログラムを書換可能メモリに記憶させることができる。
【００１４】
このため、消去工程プログラムと書込工程プログラムのうち、現時点で実行されるべき書換工程に対応する工程プログラムのみを書換可能メモリに記憶させればよく、消去工程プログラムと書込工程プログラムとを一括して書換可能メモリに記憶させる必要がない。これにより、消去工程プログラムと書込工程プログラムとを一括して書換可能メモリに記憶させる場合と比較して、書換可能メモリのメモリリソースがさらに少ない状態であっても書換処理を実行することができる。
【００１５】
また、請求項４に記載のメモリ書換方法は、記憶内容の書き換えが可能な不揮発性メモリであり、所定の制御対象を制御するための制御プログラムを記憶する書換可能不揮発性メモリと、記憶内容の書き換えが可能なメモリである書換可能メモリとを備え、書換可能不揮発性メモリおよび書換可能メモリに記憶されたプログラムに従って処理を行うように構成されるとともに、予め設定された書換条件が成立した場合には、書換可能不揮発性メモリに記憶された制御プログラムの内容を書き換える書換処理を行うように構成された電子制御装置で用いられるメモリ書換方法であって、書換処理は、複数の書換工程を順次実行することにより、制御プログラムの内容を書き換えるものであり、制御プログラムの内容を書き換えるための書換プログラムは、複数の書換工程のそれぞれに対応したプログラムである複数の工程プログラムにより構成されており、実行工程検出手順で、書換条件が成立すると、その後、予め設定された書換終了条件が成立するまで、書換処理において現時点で実行されるべき書換工程を検出し、工程プログラム記憶手順で、実行工程検出手段により検出された書換工程に対応する工程プログラムを書換可能メモリに記憶させる。
【００１６】
このメモリ書換方法は、請求項１に記載の電子制御装置にて実行される方法であり、当該方法を実行することで、請求項１に記載の電子制御装置と同様の効果を得ることができる。
【図面の簡単な説明】
【００１７】
【図１】ＥＣＵ１の構成を示すブロック図である。
【図２】フラッシュＲＯＭ５内のプログラム配置を示す図である。
【図３】フラッシュＲＯＭ５に記憶されるプログラムの構成を示すブロック図である。
【図４】ＥＣＵ１の起動時におけるメモリマップである。
【図５】書換処理を示すフローチャートである。
【図６】リプログ要求判断処理の実行時におけるメモリマップである。
【図７】イベント検出プログラム３２のＲＡＭ４への記憶時におけるメモリマップである。
【図８】通信イベントを検出した後におけるメモリマップである。
【図９】処理時間がかかる通信イベントを検出した後におけるメモリマップである。
【図１０】消去イベントを検出した後におけるメモリマップである。
【図１１】書込イベントを検出した後におけるメモリマップである。
【図１２】エンジン制御プログラム２３の実行時におけるメモリマップである。
【図１３】本実施形態におけるＥＣＵ１の書換処理を示すシーケンス図である。
【図１４】別の実施形態におけるＥＣＵ１の書換処理を示すシーケンス図である。
【発明を実施するための形態】
【００１８】
以下に本発明の実施形態を図面とともに説明する。
図１は、電子制御装置（以下、ＥＣＵという）１の構成を示すブロック図である。図２は、フラッシュＲＯＭ５内のプログラム配置を示す図である。
【００１９】
本実施形態のＥＣＵ１は、車両に搭載され、図１に示すように、車両のエンジンＥＧの制御を行う。
ＥＣＵ１は、ＣＰＵ（中央演算装置）２と、ＣＰＵ２が実行するプログラムやプログラムの実行時に参照されるデータを格納するＲＯＭ３と、電源が供給されている間はデータの記憶が維持できる、データを一時的に記憶するためのＲＡＭ４と、データ書き換え可能な不揮発性メモリであるフラッシュＲＯＭ５と、入出力回路６と、車両内の通信線１１に接続された他の装置とＥＣＵ１が通信するための通信回路７と、これらの構成を接続するバスライン８とを備えている。
【００２０】
ＣＰＵ２は、エンジンＥＧを制御するための情報として、吸気管圧力センサ、エンジン回転数センサ、エンジン水温センサ、排気系の酸素センサ（空燃比センサ）、車速センサ、イグニッションスイッチ等から各種信号を入出力回路６を介して入力する。なお、図１に示すエンジンＥＧは、エンジン本体を含め、吸気系、排気系等、エンジンに関連する系を総称して示すものであって、本実施例では詳細な説明を省略する。
【００２１】
そしてＣＰＵ２は、ＲＯＭ３、ＲＡＭ４、およびフラッシュＲＯＭ５に記憶されたプログラムに基づいて各種処理を実行する。またＣＰＵ２は、入出力回路６を介して入力される各種信号に基づいて制御演算を行い、その演算結果に基づき、点火装置やインジェクタ等の電気負荷へ入出力回路６を介して駆動信号を出力することにより、エンジンＥＧの制御に関係する電気負荷を制御する。例えばＣＰＵ２は、インジェクタの開弁タイミングおよび開弁時間を演算し、その演算結果に基づいて、インジェクタを駆動するための駆動信号を出力することにより、エンジンＥＧへの燃料噴射を制御する。
【００２２】
また通信回路７には、フラッシュＲＯＭ５に記憶されるプログラムの書き換え等を行うためのプログラム書換装置ＲＰが、通信線１１を介して接続される。このプログラム書換装置ＲＰは、例えば、コネクタ（不図示）を介して着脱可能になっており、プログラムの書き換え時等にＥＣＵ１に接続される。なおプログラム書換装置ＲＰは、マイコンおよび表示装置（ディスプレイ）を備えたハンディタイプの装置、または小型のパソコン等である。
【００２３】
なお、ＥＣＵ１の電源としては、イグニッションスイッチのオン／オフに連動して車載バッテリから供給される動作用電源と、車載バッテリから常時供給されるバックアップ電源とがある。そしてＥＣＵ１は、イグニッションスイッチがオンされると動作用電源が供給されて動作する。
【００２４】
そしてフラッシュＲＯＭ５には、図２に示すように、ＥＣＵ１の起動直後に実行を開始する起動プログラム２１と、エンジンを制御するためのエンジン制御プログラム２３（詳しくは、エンジン制御用の制御プログラムを構成するデータと、その制御プログラムの実行時に参照される制御データ）と、フラッシュＲＯＭ５の記憶内容（すなわち、制御プログラムを構成するデータおよび制御データ）を、プログラム書換装置ＲＰから送信される新たなデータに書き換えるための書換制御プログラム２２とが記憶されている。
【００２５】
そして書換制御プログラム２２は、リプログ要求判断プログラム３１、イベント検出プログラム３２、消去プログラム３３、書込プログラム３４、通信接続プログラム３５、および通信解釈プログラム３６から構成されている。なお、これら各プログラム３１〜３６の詳細は後述する。また書換制御プログラム２２には、ＲＡＭ４に対応したアドレス情報が記載されている。すなわち書換制御プログラム２２は、フラッシュＲＯＭ５に格納されている状態ではプログラムを実行することができない。
【００２６】
図３は、フラッシュＲＯＭ５に記憶されるプログラムの構成を示すブロック図である。
ＥＣＵ１は、図３に示すように、起動プログラム２１と書換制御プログラム２２により処理を実行し、書換制御プログラム２２は、通信機能４１と書換機能４２とイベント検出機能４３を有する。
【００２７】
通信機能４１では、プログラム３１，３５，３６により、リプログ要求判断と通信接続と複数の通信解釈を実行する。また書換機能４２では、プログラム３３，３４により、プログラム書き込みとプログラム消去とプログラム書換検証を実行する。またイベント検出機能４３では、プログラム３２により、プログラム書換装置ＲＰとの通信または書換制御プログラム２２の内部処理で発生するイベントを検出する。
【００２８】
そして起動プログラム２１は、書換制御プログラム２２をＲＡＭ４に記憶させて実行させる機能を有し、これら記憶および実行を、イベント検出機能４３によるイベント検出毎に段階的に実行する。
【００２９】
このように構成されたＥＣＵ１において、車両のイグニッションスイッチ（不図示）のオンに伴い電源が投入されると、ＣＰＵ２は、図４に示すように、フラッシュＲＯＭ５内の起動プログラム２１を実行し、プログラム書換装置ＲＰから送信される新たなデータ（すなわち、新たなエンジン制御用の制御プログラムおよび制御データ）に書き換える書換処理を行う。図４は、ＥＣＵ１の起動時におけるフラッシュＲＯＭ５とＲＡＭ４のメモリマップである。
【００３０】
次に、ＥＣＵ１のＣＰＵ２で実行される書換処理について、図５を用いて説明する。図５は、書換処理を示すフローチャートである。
この書換処理が実行されると、ＣＰＵ２は、まずＳ１０にて、図６に示すように、リプログ要求判断プログラム３１をＲＡＭ４に記憶させて、リプログ要求判断プログラム３１による処理（以下、リプログ要求判断処理という）の実行を開始させる。図６は、リプログ要求判断処理の実行時におけるフラッシュＲＯＭ５とＲＡＭ４のメモリマップである。
【００３１】
なお、このリプログ要求判断処理では、プログラム書換装置ＲＰから制御プログラムの書換要求指令を受信した場合、または、現状のエンジン制御プログラム２３が動作不可である場合に、リプログ要求があると判断する。なお、「現状のエンジン制御プログラム２３が動作不可である場合」とは、例えば、エンジン制御プログラム２３がフラッシュＲＯＭ５に書き込まれていない場合が該当する。
【００３２】
そして図５に示すように、Ｓ２０にて、リプログ要求判断処理でリプログ要求があると判断したか否かを判断する。ここで、リプログ要求がないと判断した場合には（Ｓ２０：ＮＯ）、書換処理を終了する。これにより、ＥＣＵ１は、フラッシュＲＯＭ５内のエンジン制御プログラム２３によりエンジンを制御するための処理を実行する。
【００３３】
一方、リプログ要求があると判断した場合には（Ｓ２０：ＹＥＳ）、Ｓ３０にて、図７に示すように、既にＲＡＭ４に記憶されているリプログ要求判断プログラム３１に上書きするようにしてイベント検出プログラム３２をＲＡＭ４に記憶させて、イベント検出プログラム３２による処理（以下、イベント検出処理という）の実行を開始させる。図７は、イベント検出プログラム３２のＲＡＭ４への記憶時におけるフラッシュＲＯＭ５とＲＡＭ４のメモリマップである。なお、このイベント検出処理は、上述のイベント検出機能４３を担う処理である。
【００３４】
その後、図５に示すように、Ｓ４０にて、イベント検出処理でイベントを検出したか否かを判断する。ここで、イベントを検出していない場合には（Ｓ４０：ＮＯ）、Ｓ４０の処理を繰り返すことにより、イベントを検出するまで待機する。一方、イベントを検出した場合には（Ｓ４０：ＹＥＳ）、Ｓ５０にて、検出したイベントが、プログラム書換の終了を示す終了イベントであるか否かを判断する。
【００３５】
ここで、終了イベントでない場合には（Ｓ５０：ＮＯ）、Ｓ６０にて、イベント検出処理で検出したイベントに対応するプログラムを書換制御プログラム２２の中から選択して、選択したプログラムをＲＡＭ４に記憶して実行させ、その後Ｓ４０に移行し、上述の処理を繰り返す。
【００３６】
Ｓ６０の処理として、例えば、イベント検出処理で通信イベントを検出した場合には、図８に示すように、既にＲＡＭ４に記憶されているイベント検出プログラム３２に上書きすることなく、通信解釈プログラム３６をＲＡＭ４に記憶して実行させる。図８は、通信イベントを検出した後におけるフラッシュＲＯＭ５とＲＡＭ４のメモリマップである。
【００３７】
通信解釈プログラム３６は、プログラム書換装置ＲＰから受信した各種要求を解釈し、要求に応じた処理を実行し、プログラム書換装置ＲＰへ応答を送信する機能を有する。各種要求の例として、セキュリティ解除、通信速度変更、およびＥＣＵ情報（品番など）読出などがある。
【００３８】
またＳ６０の処理として、処理時間がかかる通信イベントをイベント検出処理で検出した場合には、図９に示すように、既にＲＡＭ４に記憶されているイベント検出プログラム３２に上書きすることなく、通信接続プログラム３５と通信解釈プログラム３６をＲＡＭ４に記憶して実行させる。図９は、処理時間がかかる通信イベントを検出した後におけるフラッシュＲＯＭ５とＲＡＭ４のメモリマップである。
【００３９】
通信接続プログラム３５は、処理時間がかかる要求に対応してプログラム書換装置ＲＰとの通信接続を維持するために、プログラム書換装置ＲＰに対する定期的な接続通信をＥＣＵ１から行う機能を有する。なお、処理時間がかかる要求の例として、チェックサム計算および難解な暗号解読などがある。
【００４０】
またＳ６０の処理として、消去イベントをイベント検出処理で検出した場合には、図１０に示すように、既にＲＡＭ４に記憶されているイベント検出プログラム３２に上書きすることなく、消去プログラム３３と通信接続プログラム３５をＲＡＭ４に記憶して実行させる。図１０は、消去イベントを検出した後におけるフラッシュＲＯＭ５とＲＡＭ４のメモリマップである。
【００４１】
消去プログラム３３は、フラッシュＲＯＭ５内のエンジン制御プログラム２３を一括して消去する機能を有する。なお、消去プログラム３３による一括消去は、通常、処理時間がかかるため、プログラム書換装置ＲＰとの通信接続を維持するための通信接続プログラム３５の実行を要する。但し、処理時間は、マイコン仕様、または、通信により要求された消去範囲に影響するため、必ず処理時間がかかるわけではない。例えば、消去時間が速い、消去要求範囲が狭い、既消去は消去しない、などにより処理時間が変動する。
【００４２】
そして、イベント検出処理で消去終了を検出すると、イベント検出待ち状態（以下、定常状態という）に戻る。
またＳ６０の処理として、書込イベントをイベント検出処理で検出した場合には、図１１に示すように、既にＲＡＭ４に記憶されているイベント検出プログラム３２に上書きすることなく、書込プログラム３４と通信接続プログラム３５をＲＡＭ４に記憶して実行させる。図１１は、書込イベントを検出した後におけるフラッシュＲＯＭ５とＲＡＭ４のメモリマップである。
【００４３】
書込プログラム３４は、プログラム書換装置ＲＰから受信した書換データ（つまり、フラッシュＲＯＭ５に格納すべき新たなデータ）をフラッシュＲＯＭ５に書き込む機能を有する。なお、書込プログラム３４は、所定バイト分の書換データを受信する毎に書き込みを行うため、書込時間がかかる。このため、プログラム書換装置ＲＰとの通信接続を維持するための通信接続プログラム３５の実行を要する。また、書込プログラム３４は、所定バイト分の書換データを受信する毎に書き込みを行うため、受信した書換データを一時的に格納するためのデータバッファ５１がＲＡＭ４に設けられる。
【００４４】
そして、イベント検出処理で書込終了を検出すると、書換データを再度受信するために、定常状態に戻り、書込イベントが検出される毎に書込プログラム３４が実行される。
また、図５に示すように、Ｓ５０にて、終了イベントである場合には（Ｓ５０：ＹＥＳ）、書換処理を終了する。これにより、ＥＣＵ１は、フラッシュＲＯＭ５内のエンジン制御プログラム２３によりエンジンを制御するための処理を実行する。図１２は、エンジン制御プログラム２３の実行時におけるフラッシュＲＯＭ５とＲＡＭ４のメモリマップである。エンジン制御プログラム２３が実行されると、図１２に示すように、エンジン制御プログラム２３を構成する制御プログラムおよび制御データによってＥＣＵ１が動作し、ＲＡＭ４に記憶されていたプログラム３１〜３６は制御変数によって上書きされる。
【００４５】
このように構成されたＥＣＵ１では、例えば図１３に示すようにして書換処理を行う。図１３は、ＥＣＵ１の書換処理を示すシーケンス図である。
ＥＣＵ１は、まず、ＥＣＵ１の起動直後に実行を開始する起動プログラム２１が、リプログ要求判断プログラム３１をＲＡＭ４に記憶して（Ｌ１を参照）、リプログ要求判断処理の実行を開始させる（Ｐ１を参照）。そして、プログラム書換装置ＲＰから制御プログラムの書換要求指令が送信されると（Ｌ２を参照）、リプログ要求判断処理でリプログ要求があると判断し（Ｐ２を参照）、起動プログラム２１が、イベント検出プログラム３２をＲＡＭ４に記憶して（Ｌ３を参照）、イベント検出処理の実行を開始させる（Ｐ３を参照）とともに、プログラム書換装置ＲＰへ書換要求応答を送信する（Ｌ４を参照）。
【００４６】
その後、プログラム書換装置ＲＰから、プログラム書換のための各種処理要求が送信されると（Ｌ５を参照）、各種処理要求に応じたイベント（通信イベント、消去イベント、書込イベント）がイベント検出処理により検出され（Ｐ４を参照）、起動プログラム２１が、検出されたイベントに対応したプログラム（消去プログラム３３、書込プログラム３４、通信接続プログラム３５、通信解釈プログラム３６）をＲＡＭ４に記憶して（Ｌ６を参照）、検出されたイベントに対応した処理を実行させる（Ｐ５を参照）。そして、検出されたイベントに対応した処理は、プログラム書換装置ＲＰからの各種処理要求に対応した応答を送信する（Ｌ７を参照）。
【００４７】
このように構成されたＥＣＵ１は、記憶内容の書き換えが可能な不揮発性メモリであり、エンジンを制御するためのエンジン制御プログラム２３を記憶するフラッシュＲＯＭ５と、記憶内容の書き換えが可能なメモリであるＲＡＭ４とを備え、フラッシュＲＯＭ５およびＲＡＭ４に記憶されたプログラムに従って処理を行うように構成されるとともに、プログラム書換装置ＲＰから制御プログラムの書換要求指令を受信した場合、または、現状のエンジン制御プログラム２３が動作不可である場合に、フラッシュＲＯＭ５に記憶されたエンジン制御プログラム２３の内容を書き換える書換処理を行うように構成された電子制御装置であって、書換処理は、複数の書換工程を順次実行することにより、エンジン制御プログラム２３の内容を書き換えるものであり、エンジン制御プログラム２３の内容を書き換えるための書換制御プログラム２２は、複数の書換工程のそれぞれに対応したプログラムである複数の工程プログラム（すなわち、消去プログラム３３、書込プログラム３４、通信接続プログラム３５、および通信解釈プログラム３６）により構成されており、プログラム書換装置ＲＰからエンジン制御プログラム２３の書換要求指令を受信した場合、または、現状のエンジン制御プログラム２３が動作不可である場合に、その後、プログラム書換の終了を示す終了イベントを検出するまで、書換処理において現時点で実行されるべき書換工程を検出し（Ｓ４０）、検出された書換工程に対応する工程プログラムをＲＡＭ４に記憶させる（Ｓ６０）。
【００４８】
このように構成されたＥＣＵ１では、複数の書換工程を順次実行することによりエンジン制御プログラム２３の内容を書き換える書換処理において現時点で実行されるべき書換工程を検出し、検出された書換工程に対応する工程プログラムをＲＡＭ４に記憶させる。これによりＥＣＵ１は、ＲＡＭ４に記憶された、現時点で実行されるべき工程プログラムに従って処理を行うことができる。
【００４９】
このためＥＣＵ１は、書換処理を実行するために、書換制御プログラム２２を構成する複数の工程プログラムのうち、現時点で実行されるべき書換工程に対応する工程プログラムのみをＲＡＭ４に記憶させればよく、書換制御プログラム２２を一括してＲＡＭ４に記憶させる必要がない。これにより、ＲＡＭ４のメモリリソースが少ない状態であっても書換処理を実行することができる。
【００５０】
またイベント検出機能４３は、イベント検出プログラム３２をＲＡＭ４に記憶させることにより実行される（Ｓ３０）。このため、フラッシュＲＯＭ５に記憶されたエンジン制御プログラム２３のデータを消去する処理、および、フラッシュＲＯＭ５に新たなエンジン制御プログラム２３のデータを書き込む処理などのように、フラッシュＲＯＭ５に記憶されたプログラムに従って処理を実行することができない状態であっても、イベント検出機能４３の処理を実行することができる。
【００５１】
また書換制御プログラム２２は、消去プログラム３３、書込プログラム３４を含む。これにより、フラッシュＲＯＭ５に記憶されたエンジン制御プログラム２３のデータを消去する処理を実行するときに消去プログラム３３をＲＡＭ４に記憶させるとともに、フラッシュＲＯＭ５に新たなエンジン制御プログラム２３のデータを書き込む処理を実行するときに書込プログラム３４をＲＡＭ４に記憶させることができる。
【００５２】
このため、消去プログラム３３と書込プログラム３４のうち、現時点で実行されるべき書換工程に対応する工程プログラムのみをＲＡＭ４に記憶させればよく、消去プログラム３３と書込プログラム３４とを一括してＲＡＭ４に記憶させる必要がない。これにより、消去プログラム３３と書込プログラム３４とを一括してＲＡＭ４に記憶させる場合と比較して、ＲＡＭ４のメモリリソースがさらに少ない状態であっても書換処理を実行することができる。
【００５３】
以上説明した実施形態において、フラッシュＲＯＭ５は本発明における書換可能不揮発性メモリ、ＲＡＭ４は本発明における書換可能メモリ、Ｓ２０の判断条件は本発明における書換条件、エンジン制御プログラム２３は本発明における制御プログラム、通信イベント、消去イベント、および書込イベントは本発明における書換工程、書換制御プログラム２２は本発明における書換プログラム、消去プログラム３３、書込プログラム３４、通信接続プログラム３５、および通信解釈プログラム３６は本発明における工程プログラム、Ｓ５０の判断条件は本発明における書換終了条件、Ｓ３０，Ｓ４０の処理は本発明における実行工程検出手段および実行工程検出手順、Ｓ６０の処理は本発明における工程プログラム記憶手段および工程プログラム記憶手順、消去プログラム３３は本発明における消去工程プログラム、書込プログラム３４は本発明における書込工程プログラムである。
【００５４】
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採ることができる。
例えば上記実施形態においては、起動プログラム２１が、ＥＣＵ１の起動直後にリプログ要求判断プログラム３１をＲＡＭ４に記憶して、リプログ要求判断処理の実行を開始させるものを示した（図１３を参照）。しかし、図１４に示すように、プログラム書換装置ＲＰから書換要求指令が送信されると（Ｌ２を参照）、起動プログラム２１が、リプログ要求判断プログラム３１をＲＡＭ４に記憶して（Ｌ１を参照）、リプログ要求判断処理の実行を開始させる（Ｐ１を参照）ようにしてもよい。
【符号の説明】
【００５５】
１…ＥＣＵ、２…ＣＰＵ、３…ＲＯＭ、４…ＲＡＭ、５…フラッシュＲＯＭ、６…入出力回路、７…通信回路、８…バスライン、１１…通信線、２１…起動プログラム、２２…書換制御プログラム、２３…エンジン制御プログラム、３１…リプログ要求判断プログラム、３２…イベント検出プログラム、３３…消去プログラム、３４…書込プログラム、３５…通信接続プログラム、３６…通信解釈プログラム、４１…通信機能、４２…書換機能、４３…イベント検出機能、５１…データバッファ、ＥＧ…エンジン、ＲＰ…プログラム書換装置
【図１】
2013092978.tif 000003
【図２】
2013092978.tif 000004
【図３】
2013092978.tif 000005
【図４】
2013092978.tif 000006
【図５】
2013092978.tif 000007
【図６】
2013092978.tif 000008
【図７】
2013092978.tif 000009
【図８】
2013092978.tif 000010
【図９】
2013092978.tif 000011
【図１０】
2013092978.tif 000012
【図１１】
2013092978.tif 000013
【図１２】
2013092978.tif 000014
【図１３】
2013092978.tif 000015
【図１４】
2013092978.tif 000016