(57)【特許請求の範囲】
【請求項１】
所定の制御対象を制御するための制御プログラムと書換プログラムそのものまたはそれを他に転送するための転送プログラムを含む書換処理プログラムとをそれぞれの記憶領域に記憶する書換可能な読出し専用の記憶手段と、
前記記憶手段の予め指定された記憶領域内の所定アドレスに対して読出命令または書込命令が発生された際には、前記所定アドレスの内容を変更することなく予め指定された他のアドレスにジャンプさせるユーザブレイク機能を有するマイクロコンピュータとを具備し、
前記記憶手段の前記書換処理プログラムが記憶された記憶領域を前記マイクロコンピュータによる前記ユーザブレイク機能を働かせる対象領域に設定することを特徴とする電子制御装置。
【請求項２】
前記マイクロコンピュータは、前記ユーザブレイク機能が働いたときには、そのときの処理がリセットされることを特徴とする請求項１に記載の電子制御装置。
【請求項３】
前記マイクロコンピュータは、前記ユーザブレイク機能が働いて割込が起動されたときには、自らが正常動作していることを監視する監視手段によってそのときの処理がリセットされるように前記監視手段への出力を停止することを特徴とする請求項２に記載の電子制御装置。
【請求項４】
所定の制御対象を制御するための制御プログラムと書換プログラムそのものまたはそれを他に転送するための転送プログラムを含む書換処理プログラムとをそれぞれの記憶領域に記憶する書換可能な読出し専用の記憶手段と、
前記記憶手段の予め指定された記憶領域内の所定アドレスに対して読出命令または書込命令が発生された際には、前記所定アドレスの内容を変更することなく予め指定された他のアドレスにジャンプさせるユーザブレイク機能を有するマイクロコンピュータとを具備し、
前記記憶手段の前記制御プログラムが記憶された記憶領域への書込みの際には、前記書換処理プログラムが記憶された記憶領域を前記マイクロコンピュータによる前記ユーザブレイク機能を働かせる対象領域に設定し、かつ前記制御プログラムが記憶された記憶領域を前記マイクロコンピュータによる前記ユーザブレイク機能を働かせる対象領域外に設定すると共に、前記制御プログラムに従った制御実行の際には、前記書換処理プログラムが記憶された記憶領域と前記制御プログラムが記憶された記憶領域との両方を前記マイクロコンピュータによる前記ユーザブレイク機能を働かせる対象領域に設定することを特徴とする電子制御装置。
【請求項５】
前記マイクロコンピュータは、前記ユーザブレイク機能が働いたときには、そのときの処理がリセットされることを特徴とする請求項４に記載の電子制御装置。
【請求項６】
前記マイクロコンピュータは、前記ユーザブレイク機能が働いて割込が起動されたときには、自らが正常動作していることを監視する監視手段によってそのときの処理がリセットされるように前記監視手段への出力を停止することを特徴とする請求項５に記載の電子制御装置。
【請求項７】
前記マイクロコンピュータは、前記制御プログラムに従った制御実行の際の前記ユーザブレイク機能の発生回数を計数し、その起動時に計数された発生回数が所定回数以上であるときには所定の制御対象への制御をフェイルセーフモードに設定することを特徴とする請求項４乃至請求項６の何れか１つに記載の電子制御装置。
【請求項８】
前記マイクロコンピュータは、前記ユーザブレイク機能の発生回数と設定された前記フェイルセーフモードとを電源遮断の際にクリアすることを特徴とする請求項７に記載の電子制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、所定の制御対象を制御する電子制御装置に関するもので、特に、制御に用いられる制御プログラム等を書換自在な電子制御装置に関するものである。
【０００２】
【従来の技術】
従来、フラッシュＲＯＭ（Read Only Memory）と称する書換可能な読出し専用のメモリが知られている。このフラッシュＲＯＭには、通常、フラッシュＲＯＭの書換処理プログラムを記憶する記憶領域と所定の制御対象を制御するための制御プログラムを記憶する記憶領域が設けられている。これらの記憶領域が不正に書換えられたりするとフラッシュＲＯＭ内容が破壊されるため、フラッシュＲＯＭの機能としてのハードウェアによるガードが施されている。
【０００３】
【発明が解決しようとする課題】
ところで、フラッシュＲＯＭのハードウェアによるガードはブロック単位にて可能であり、特定の記憶領域の部分だけをガードすることは一般的にできない。このため、フラッシュＲＯＭにおける記憶内容のうち制御プログラムを記憶する記憶領域のみを部分的に書換えようとしてもハードウェアによるガードによって書換えることができないこととなる。つまり、部分的な書換えを行うときにもハードウェアによるガードを外しておかなければならないのである。したがって、フラッシュＲＯＭに対するハードウェアによるガードを外し書換可能とした際に、書換処理プログラムを記憶する記憶領域に対して誤って書込実行が行われると記憶内容が化けたり、処理順序付け命令機能としてのスタック破壊等が起こることとなる。これにより、フラッシュＲＯＭの書換処理プログラムを記憶する記憶領域の内容が書換えられてしまうと二度とフラッシュＲＯＭへの書換処理実行ができなくなるという不具合が発生することとなる。
【０００４】
そこで、この発明はかかる不具合を解決するためになされたもので、所定の制御対象を制御する電子制御装置内の書換可能な読出し専用のメモリの記憶内容を書換える際に所定の記憶領域への誤った書込処理を防止可能な電子制御装置の提供を課題としている。
【０００５】
【課題を解決するための手段】
請求項１の電子制御装置によれば、マイクロコンピュータが有するユーザブレイク機能によって、内燃機関を制御するための制御プログラムと書換処理プログラムとをそれぞれの記憶領域に記憶する書換可能な読出し専用の記憶手段に対して、ユーザブレイク対象領域が設定される。これにより、記憶手段の予め指定された記憶領域内の所定アドレスに対して読出命令または書込命令が発生された際には、その所定アドレスの内容が変更されることなく予め指定された他のアドレスにジャンプさせることができ、何らかの異常による記憶手段への書込要求を排除することができる。
【０００６】
請求項２の電子制御装置のマイクロコンピュータでは、ユーザブレイク機能が働いたときには、そのときの処理がリセットされ、ユーザブレイク機能が最優先されることで、所望の処理を直ちに起動させることができる。
【０００７】
請求項３の電子制御装置のマイクロコンピュータでは、自らの動作状態が監視手段によって監視され、ユーザブレイク機能が働き割込が起動されたときには、監視手段への出力が停止されることでそのときの処理がリセットされる。このため、マイクロコンピュータは何らかの異常が発生してもプログラム破壊が防止されプログラムの暴走による電子制御装置の誤動作が回避される。
【０００８】
請求項４の電子制御装置によれば、マイクロコンピュータが有するユーザブレイク機能によって、内燃機関を制御するための制御プログラムと書換処理プログラムとをそれぞれの記憶領域に記憶する書換可能な読出し専用の記憶手段に対して、ユーザブレイク対象領域が設定される。このため、記憶手段の書換時と通常処理時とでユーザブレイク対象領域が切換えられることで、記憶手段の書換時では制御プログラムのみを適宜、書換えることができ、通常処理時では何らかの異常で記憶手段の全記憶領域に書換要求されても制御プログラムが破壊されることが防止されプログラムの暴走による電子制御装置の誤動作が回避される。
【０００９】
請求項５の電子制御装置のマイクロコンピュータでは、ユーザブレイク機能が働いたときには、そのときの処理がリセットされ、即ち、ユーザブレイク機能が最優先されることで、所望の処理を直ちに起動させることができる。
【００１０】
請求項６の電子制御装置のマイクロコンピュータでは、自らの動作状態が監視手段によって監視され、ユーザブレイク機能が働き割込が起動されたときには、監視手段への出力が停止されることでそのときの処理がリセットされる。このため、マイクロコンピュータは何らかの異常が発生してもプログラム破壊が防止されプログラムの暴走による電子制御装置の誤動作が回避される。
【００１１】
請求項７の電子制御装置のマイクロコンピュータでは、制御プログラムに従って制御する際に計数されたユーザブレイク機能の発生回数が所定回数以上となると実際に所定の制御対象に異常が発生しているとしてフェイルセーフモードが設定され、このときフェイルセーフモードのセット処理が実行される。これにより、異常検出の際のノイズ等による誤検出が排除され正確な検出を行うことができる。
【００１２】
請求項８の電子制御装置のマイクロコンピュータでは、イグニッションスイッチによる電源接続から電源遮断までの１トリップ間に計数されたユーザブレイク機能の発生回数、設定されたフェイルセーフモードが電源遮断の直後にクリアされる。ここで、１トリップ間のユーザブレイク機能の発生回数、フェイルセーフモードはその都度、記憶されるため、１トリップ毎の新たなユーザブレイク機能の発生回数やフェイルセーフモードを検出することができる。
【００１３】
【発明の実施の形態】
以下、本発明の実施の形態を実施例に基づいて説明する。
【００１４】
図１は本発明の実施の形態の一実施例にかかる電子制御装置が適用され車両に搭載された内燃機関用電子制御装置の全体構成を示すブロック図である。
【００１５】
図１において、１０は内燃機関用電子制御装置（Electronic Control Unit;以下、単に、『ＥＣＵ』と記す）であり、ＥＣＵ１０には図示しない内燃機関の運転状態を検出する各種センサ１からのセンサ信号が入力される。これら各種センサ１からのセンサ信号はＥＣＵ１０内の入力回路１５により波形整形処理、Ａ／Ｄ変換処理等が実行されたのちマイクロコンピュータ１１に入力される。マイクロコンピュータ１１では入力回路１５からのセンサ信号に基づき内燃機関に対する最適な制御量が演算され、その演算結果としての制御信号が出力回路１６に出力される。そして、出力回路１６からの制御信号により内燃機関のイグナイタ２１、インジェクタ（燃料噴射弁）２２等のアクチュエータが駆動され、必要に応じて各種警告灯２３が点灯される。また、ＥＣＵ１０はマイクロコンピュータ１１内の内燃機関用制御プログラム及びデータを書換える際に接続されるメモリ書換機３０との間でデータ通信を行うための通信回路１７を備えている。
【００１６】
ＥＣＵ１０内のマイクロコンピュータ１１は、周知の中央処理装置としてＣＰＵ１１１、このＣＰＵ１１１に対してユーザブレイク機能を付与するユーザブレイクコントローラ（User Break Controller;以下、単に『ＵＢＣ』と記す）１１２、プログラムやデータを格納するフラッシュＲＯＭ１１３、各種データを格納するＲＡＭ１１４及びそれらを接続するバスライン等からなる論理演算回路として構成されている。更に、ＥＣＵ１０内のマイクロコンピュータ１１にはフラッシュＲＯＭ１３及びＲＡＭ１４が外付けされている。なお、フラッシュＲＯＭ１１３，１３は一旦書込まれたプログラムやデータを消去し再度、書込可能なメモリ、即ち、書換可能な読出し専用メモリであり、ＥＥＰＲＯＭ等を用いることもできる。ここで、上記ユーザブレイク機能は、通常、ユーザのプログラムデバックを容易にするためマイクロコンピュータに付与される機能であるが、本実施例では、このユーザブレイク機能を別機能として利用するものである。
【００１７】
そして、ＥＣＵ１０内のマイクロコンピュータ１１には、ＩＧＳＷ（イグニッションスイッチ）２のＯＮ（オン）によるバッテリ３からの電源供給に基づき電源ＩＣ１２を介してメイン電源が供給され、ＩＧＳＷ２がＯＦＦ（オフ）されることでバッテリ３からの電源供給が停止される。なお、電源ＩＣ１２にはマイクロコンピュータ１１のＣＰＵ１１１が正常動作していることを監視するＷＤＴ（Watch-Dog Timmer）１２ａが内蔵されている。一方、外付けされているＲＡＭ１４にはＩＧＳＷ２がＯＦＦされても電源ＩＣ１２を介してサブ電源が供給され、ＲＡＭ１４内に形成されたＵＢＣＦault記憶領域１４１に記憶されたＵＢＣＦault内容、ＵＢＣＣount記憶領域１４２に記憶されたＵＢＣＣount回数がそれぞれ保護される。
【００１８】
また、外部接続装置としてのメモリ書換機３０は、ＥＣＵ１０側のフラッシュＲＯＭ１１３，１３に格納されたプログラムやデータを書換えるため、ＥＣＵ１０側のマイクロコンピュータ１１とシリアル通信を行うＣＰＵ３０１、制御プログラムを格納するＲＯＭ３０２、各種データを記憶するＲＡＭ３０３から主として構成され、フラッシュＲＯＭ１１３，１３の書換時に必要な高電圧を供給する電源回路３１が接続されている。つまり、メモリ書換機３０が接続用コネクタ（図示略）を介してＥＣＵ１０内の通信回路１７に接続されると、メモリ書換機３０とＥＣＵ１０内のマイクロコンピュータ１１との間におけるシリアル通信が可能となる。
【００１９】
次に、本発明の実施の形態の一実施例にかかる電子制御装置で使用されているマイクロコンピュータ１１内のＣＰＵ１１１における全体の処理手順を示す図２のフローチャートに基づき、図３を参照して説明する。ここで、図３（ａ）はフラッシュＲＯＭ１１３，１３の記憶領域のうちフラッシュＲＯＭ１１３の書換プログラムそのものまたはそれを他に転送するための転送プログラムを含む書換処理プログラムを記憶するブートプログラム記憶領域のみをユーザブレイク対象領域とするフラッシュＲＯＭ書換時、図３（ｂ）はフラッシュＲＯＭ１１３，１３の全記憶領域をユーザブレイク対象領域とする通常処理時をそれぞれ示す説明図である。なお、この制御ルーチンは所定のリセット毎にＣＰＵ１１１にて繰返し実行される。
【００２０】
図２において、ステップＳ１０１〜ステップＳ１０７、ステップＳ１０９及びステップＳ１１０にて、マイクロコンピュータ１１のフラッシュＲＯＭ１１３内のブートプログラム記憶領域に格納されたブートプログラムが実行される。即ち、ステップＳ１０１で、初期設定が行われたのちステップＳ１０２に移行し、ＲＡＭ１１４内に通信回路１７からのデータが書込まれる。次にステップＳ１０３に移行して、フラッシュＲＯＭ書換コマンドが受信されたかが判定される。ステップＳ１０３の判定条件が成立、即ち、フラッシュＲＯＭ書換コマンドが受信されているときにはステップＳ１０４に移行し、ＵＢＣ１１２によるユーザブレイク機能によって、ユーザブレイク対象領域がフラッシュＲＯＭ１１３のブートプログラム記憶領域（アドレス00000000〜00007FFF）のみとされ、そのアドレス内容が変更されることのない書込禁止が実行される（図３（ａ）参照）。
【００２１】
次にステップＳ１０５に移行して、フラッシュＲＯＭ書換プログラムをＲＡＭ１１４，１４へダウンロードするためのプログラムが実行される。次にステップＳ１０６に移行して、フラッシュＲＯＭ書換プログラムがＲＡＭ１１４，１４へダウンロードされる。次にステップＳ１０７に移行して、フラッシュＲＯＭ書換プログラムへジャンプされる。ステップＳ１０７では、ＲＡＭ１１４，１４内のフラッシュＲＯＭ書換プログラムが起動されたのちステップＳ１０８に移行し、フラッシュＲＯＭ１１３，１３の内容をメモリ書換機３０から送出される新たな制御プログラム及びデータに書換えるためのフラッシュＲＯＭ書換処理が実行される。
【００２２】
一方、ブートプログラムにおいて、ステップＳ１０３の判定条件が成立せず、即ち、フラッシュＲＯＭ書換コマンドが受信されていないときにはステップＳ１０９に移行し、ＵＢＣ１１２によるユーザブレイク機能によって、ユーザブレイク対象領域がフラッシュＲＯＭ（内部）１１３の記憶領域（アドレス00000000〜0001FFFF）及びフラッシュＲＯＭ（外部）１３の記憶領域（アドレス00200000〜003FFFFF）からなるフラッシュＲＯＭ１１３，１３の全記憶領域とされ、そのアドレス内容が変更されることのない書込禁止が実行される（図３（ｂ）参照）。次にステップＳ１１０に移行して、内燃機関用制御プログラムへジャンプされる。ステップＳ１１０では、フラッシュＲＯＭ１１３，１３内の内燃機関用制御プログラムが起動されたのちステップＳ１１１に移行し、内燃機関用制御処理が実行される。なお、ステップＳ１１１の内燃機関用制御処理では、入力回路１５からの各種センサ信号とフラッシュＲＯＭ１１３，１３内の内燃機関用制御プログラム及びデータとに基づき内燃機関に対する最適な点火時期や燃料噴射量等が演算され、その演算結果に応じてイグナイタ２１やインジェクタ２２等のアクチュエータを駆動するための制御信号が出力される。このようにして、内燃機関用制御処理が実行されることで内燃機関の運転状態が最適制御される。
【００２３】
次に、上述の図２のステップＳ１０８のフラッシュＲＯＭ書換中において、何らかの異常によりＥＣＵ１０におけるマイクロコンピュータ１１内のフラッシュＲＯＭ１１３，１３のブートプログラム記憶領域へ書込要求されたときの処理手順を示す図４のフローチャートに基づき、図５を参照して説明する。ここで、図５はリセット信号、ＷＤＣ(Watch-Dog Counter）信号等の遷移状態を示すタイムチャートである。
【００２４】
図４において、ステップＳ２０１でフラッシュＲＯＭ１１３のブートプログラム記憶領域に対する書込要求が受信されるとステップＳ２０２に移行し、ユーザブレイク割込が発生される。すると、ブートプログラム記憶領域の内容が書換えられることなくステップＳ２０３に移行し、例外処理を実行すべくステップＳ２０４にジャンプされる。ステップＳ２０４では、ＮＯＰ（No-Operation：未処理命令）により無限ループ処理が実行される。このとき、図５に示すように、ＣＰＵ１１１から電源ＩＣ１２へ出力されるＷＤＣパルスは、通常処理中ではベースルーチンで定期的に反転されているが、ユーザブレイク割込処理で無限ループが実行されると反転させることができなくなるため、所定時間後に電源ＩＣ１２側からリセット信号が出力されＣＰＵ１１１のリセット端子がＨｉｇｈ（ハイ）からＬｏｗ（ロー）とされることでリセットがかけられることとなる。
【００２５】
次に、図４の処理手順の変形例について図６を参照して説明する。
【００２６】
図６において、ステップＳ３０１でフラッシュＲＯＭ１１３のブートプログラム記憶領域に対する書込要求が受信されるとステップＳ３０２に移行し、ユーザブレイク割込が発生される。すると、ブートプログラム記憶領域の内容が書換えられることなくステップＳ３０３に移行し、例外処理を実行すべくステップＳ３０４にジャンプされる。ステップＳ３０４では、メモリ書換機３０へのリトライ要求が実行されたのちステップＳ３０５に移行する。ステップＳ３０５では、例外処理から通常処理に戻すため、図２のステップＳ１０１にジャンプされる。これにより、メモリ書換機３０からのフラッシュＲＯＭ書換要求待ちの状態となり、メモリ書換機３０から再度、フラッシュＲＯＭ書換要求があればその処理が実行されることとなる。
【００２７】
次に、通常処理中として上述の図２のステップＳ１１１の内燃機関用制御処理中において、何らかの異常によりＥＣＵ１０におけるマイクロコンピュータ１１内のフラッシュＲＯＭ１１３，１３の全記憶領域へ書込要求されたときの処理手順を示す図７のフローチャートに基づき、図５を参照して説明する。
【００２８】
図７において、ステップＳ４０１でフラッシュＲＯＭ１１３，１３の全記憶領域に対する書込要求が受信されるとステップＳ４０２に移行し、ユーザブレイク割込が発生される。すると、フラッシュＲＯＭ１１３，１３の全記憶領域の内容が書換えられることなくステップＳ４０３に移行し、例外処理を実行すべくステップＳ４０４にジャンプされる。ステップＳ４０４では、異常内容が分かるようにするためＵＢＣＦaultがＯＮとされＲＡＭ１４内のＵＢＣＦault記憶領域１４１に記憶される。次にステップＳ４０５に移行して、ＩＧＳＷ２のＯＮ中に発生したＵＢＣＦault回数をカウントアップするためＲＡＭ１４内のＵＢＣＣount記憶領域１４２に記憶されたＵＢＣＣountが「＋１」インクリメントされる。次にステップＳ４０６に移行して、ＮＯＰにより無限ループ処理が実行される。このとき、図５に示すように、ＣＰＵ１１１から電源ＩＣ１２へ出力されるＷＤＣパルスは、通常処理中ではベースルーチンで定期的に反転されているが、ユーザブレイク割込処理で無限ループが実行されると反転させることができなくなるため、所定時間後に電源ＩＣ１２側からリセット信号が出力されＣＰＵ１１１のリセット端子がＨｉｇｈ（ハイ）からＬｏｗ（ロー）とされることでリセットがかけられることとなる。
【００２９】
次に、マイクロコンピュータ１１内のＣＰＵ１１１のリセット後のフェイルセーフモードのセット処理手順を示す図８のフローチャートに基づいて説明する。
【００３０】
図８において、ステップＳ５０１では、１回の異常検出ではノイズ等による誤検出の可能性が高いため冗長性をもたせるため、ＵＢＣＣountが１より大きいかが判定される。ステップＳ５０１の判定条件が成立、即ち、ＲＡＭ１４内のＵＢＣＣount記憶領域１４２に記憶されているＵＢＣＣountが２以上で、ＩＧＳＷ２のＯＮ中にＵＢＣＦault回数が２回以上発生しているときにはステップＳ５０２に移行し、フェイルセーフモードのセット処理としてフューエル（燃料）カット、警告灯点灯等が実行される。なお、フラッシュＲＯＭ１１３，１３にはＵＢＣ１１２によるユーザブレイク割込で異常が発生されたことが記憶される。一方、ステップＳ５０１の判定条件が成立せず、即ち、ＲＡＭ１４内のＵＢＣＣount記憶領域１４２に記憶されているＵＢＣＣountが１未満であるときには、ステップＳ５０２がスキップされる。次にステップＳ５０３に移行して、通常処理が実行され、本ルーチンを終了する。
【００３１】
次に、図８によるマイクロコンピュータ１１内のＣＰＵ１１１のフェイルセーフモードのクリア処理手順を示す図９のフローチャートに基づいて説明する。
【００３２】
図９において、ＩＧＳＷ２のＯＮからＯＦＦまでを１トリップと考えているため、ステップＳ６０１でＩＧＳＷ２がＯＦＦ直後であるかが判定される。ステップＳ６０１の判定条件が成立せず、即ち、ＩＧＳＷ２がＯＮであるときにはＯＦＦとなるまで待って、ステップＳ６０１の判定条件が成立、即ち、ＩＧＳＷ２が今回ＯＦＦで前回ＯＮであるときにはＩＧＳＷ２のＯＦＦ直後であるとしてステップＳ６０２に移行し、ＵＢＣＣountのクリア、フェイルセーフモードのクリア処理としてフューエルカット解除、警告灯消灯等が実行され、本ルーチンを終了する。
【００３３】
このように、本実施例のＥＣＵ１０は、所定の制御対象としての内燃機関を制御するための制御プログラムと書換プログラムそのものまたはそれを他に転送するための転送プログラムを含む書換処理プログラムとしてのブートプログラムとをそれぞれの記憶領域に記憶する書換可能な読出し専用の記憶手段としてのフラッシュＲＯＭ１１３，１３と、フラッシュＲＯＭ１１３，１３の予め指定された記憶領域内の所定アドレスに対して読出命令または書込命令が発生された際には、その所定アドレスの内容を変更することなく予め指定された他のアドレスにジャンプさせるユーザブレイク機能を付与するＵＢＣ１１２を有するマイクロコンピュータ１１とを具備し、フラッシュＲＯＭ１１３，１３のブートプログラムが記憶されたブートプログラム記憶領域をマイクロコンピュータ１１によるユーザブレイク機能を働かせるユーザブレイク対象領域に設定するものである。
【００３４】
したがって、マイクロコンピュータ１１が有するＵＢＣ１１２によるユーザブレイク機能によって、内燃機関を制御するための制御プログラムとブートプログラムとをそれぞれの記憶領域に記憶するフラッシュＲＯＭ１１３，１３に対して、ユーザブレイク対象領域が適宜、設定される。これにより、フラッシュＲＯＭ１１３，１３の予め指定された記憶領域内の所定アドレスに対して読出命令または書込命令が発生された際には、その所定アドレスの内容が変更されることなく予め指定された他のアドレスにジャンプさせることができ、何らかの異常によるフラッシュＲＯＭ１１３，１３のブートプログラム記憶領域への書込要求を排除することができる。
【００３５】
また、本実施例のＥＣＵ１０のマイクロコンピュータ１１は、ユーザブレイク機能が働いたときには、そのときの処理がリセットされるものである。これにより、ユーザブレイク機能が最優先されることで、ユーザブレイク対象領域に対する所望の処理を直ちに起動させることができる。
【００３６】
そして、本実施例のＥＣＵ１０のマイクロコンピュータ１１は、ユーザブレイク機能が働いて割込が起動されたときには、自らが正常動作していることを監視する監視手段としての電源ＩＣ１２に内蔵されたＷＤＴ１２ａによってそのときの処理がリセットされるようにＷＤＴ１２ａへの出力を停止するものである。即ち、マイクロコンピュータ１１は自らの動作状態がＷＤＴ１２ａによって監視され、ユーザブレイク割込が起動されたときには、ＷＤＴ１２ａへの出力が停止されることでそのときの処理がリセットされる。このため、マイクロコンピュータ１１は何らかの異常が発生してもプログラム破壊が防止されプログラムの暴走によるＥＣＵ１０の誤動作が回避される。
【００３７】
更に、本実施例のＥＣＵ１０は、所定の制御対象としての内燃機関を制御するための制御プログラムと書換プログラムそのものまたはそれを他に転送するための転送プログラムを含む書換処理プログラムとしてのブートプログラムとをそれぞれの記憶領域に記憶する書換可能な読出し専用の記憶手段としてのフラッシュＲＯＭ１１３，１３と、フラッシュＲＯＭ１１３，１３の予め指定された記憶領域内の所定アドレスに対して読出命令または書込命令が発生された際には、その所定アドレスの内容を変更することなく予め指定された他のアドレスにジャンプさせるユーザブレイク機能を付与するＵＢＣ１１２を有するマイクロコンピュータ１１とを具備し、フラッシュＲＯＭ１１３，１３のブートプログラムが記憶されたブートプログラム記憶領域への書込みの際には、ブートプログラムが記憶されたブートプログラム記憶領域をマイクロコンピュータ１１によるユーザブレイク機能を働かせるユーザブレイク対象領域に設定し、かつ制御プログラムが記憶された記憶領域をマイクロコンピュータ１１によるユーザブレイク機能を働かせる対象領域外に設定すると共に、制御プログラムに従った制御実行の際には、ブートプログラムが記憶されたブートプログラム記憶領域と制御プログラムが記憶された記憶領域との両方をマイクロコンピュータ１１によるユーザブレイク機能を働かせる対象領域に設定するものである。
【００３８】
したがって、マイクロコンピュータ１１が有するＵＢＣ１１２によるユーザブレイク機能によって、内燃機関を制御するための制御プログラムとブートプログラムとをそれぞれの記憶領域に記憶するフラッシュＲＯＭ１１３，１３に対して、ユーザブレイク対象領域が適宜、設定される。このため、フラッシュＲＯＭ１１３，１３の書換時と通常処理時とでユーザブレイク対象領域を切換えることにより、フラッシュＲＯＭ書換時では制御プログラムのみを適宜、書換えることができ、通常処理時では何らかの異常でフラッシュＲＯＭ１１３，１３の全記憶領域に書換要求されても制御プログラムが破壊されることが防止されプログラムの暴走によるＥＣＵ１０の誤動作が回避される。
【００３９】
また、本実施例のＥＣＵ１０のマイクロコンピュータ１１は、制御プログラムに従った制御実行の際のユーザブレイク機能の発生回数を計数し、その起動時に計数された発生回数が所定回数以上であるときには所定の制御対象としての内燃機関の制御をフェイルセーフモードに設定するものである。このため、マイクロコンピュータ１１は制御プログラムに従って内燃機関を制御する際に計数されたユーザブレイク機能の発生回数が所定回数以上となると実際に内燃機関に異常が発生しているとしてフェイルセーフモードが設定され、このときフェイルセーフモード（フューエルカット、警告灯点灯等）のセット処理が実行される。これにより、異常検出の際のノイズ等による誤検出が排除され正確な検出を行うことができる。
【００４０】
そして、本実施例のＥＣＵ１０のマイクロコンピュータ１１は、ユーザブレイク機能の発生回数と設定されたフェイルセーフモードとを電源遮断の際にクリアするものである。即ち、マイクロコンピュータ１１ではＩＧＳＷ２のＯＮからＯＦＦまでの１トリップ間に計数されたユーザブレイク機能の発生回数、設定されたフェイルセーフモード（フューエルカット、警告灯点灯等）がＩＧＳＷ２がＯＦＦされた直後にクリアされる。ここで、１トリップ間のユーザブレイク機能の発生回数、フェイルセーフモードはその都度、電源バックアップされたＲＡＭ１４内に記憶される。これにより、１トリップ毎の新たなユーザブレイク機能の発生回数やフェイルセーフモードを検出することができる。
【００４１】
ところで、上記実施例では、マイクロコンピュータ１１の内部にフラッシュＲＯＭ１１３及びＲＡＭ１１４、外部にフラッシュＲＯＭ１３及びＲＡＭ１４を有する構成としたが、本発明を実施する場合には、これに限定されるものではなく、マイクロコンピュータの内部のみにフラッシュＲＯＭ及びＲＡＭを有する構成であってもよい。
【図面の簡単な説明】
【図１】  図１は本発明の実施の形態の一実施例にかかる電子制御装置が適用され車両に搭載されたＥＣＵの全体構成を示すブロック図である。
【図２】  図２は本発明の実施の形態の一実施例にかかる電子制御装置で使用されているマイクロコンピュータ内のＣＰＵにおける全体の処理手順を示すフローチャートである。
【図３】  図３は本発明の実施の形態の一実施例にかかる電子制御装置で用いられるフラッシュＲＯＭに格納されたブートプログラム記憶領域とユーザブレイク対象領域との関係を示す説明図である。
【図４】  図４は本発明の実施の形態の一実施例にかかる電子制御装置で使用されているマイクロコンピュータ内のＣＰＵにおけるフラッシュＲＯＭ書換中にフラッシュＲＯＭのブートプログラム記憶領域へ書込要求されたときの処理手順を示すフローチャートである。
【図５】  図５は本発明の実施の形態の一実施例にかかる電子制御装置におけるリセット信号、ＷＤＣ信号等の遷移状態を示すタイムチャートである。
【図６】  図６は図４の処理手順の変形例を示すフローチャートである。
【図７】  図７は本発明の実施の形態の一実施例にかかる電子制御装置で使用されているマイクロコンピュータ内のＣＰＵにおける内燃機関用制御処理中にフラッシュＲＯＭの全記憶領域へ書込要求されたときの処理手順を示すフローチャートである。
【図８】  図８は本発明の実施の形態の一実施例にかかる電子制御装置で使用されているマイクロコンピュータ内のＣＰＵにおけるリセット後のフェイルセーフモードのセット処理手順を示すフローチャートである。
【図９】  図９は本発明の実施の形態の一実施例にかかる電子制御装置で使用されているマイクロコンピュータ内のＣＰＵにおけるフェイルセーフモードのクリア処理手順を示すフローチャートである。
【符号の説明】
１          各種センサ
１０          ＥＣＵ（内燃機関用電子制御装置）
１１          マイクロコンピュータ
１１１        ＣＰＵ
１１３，１３  フラッシュＲＯＭ
３０          メモリ書換機
【図１】
0003968876.tif 000002
【図２】
0003968876.tif 000003
【図３】
0003968876.tif 000004
【図４】
0003968876.tif 000005
【図５】
0003968876.tif 000006
【図６】
0003968876.tif 000007
【図７】
0003968876.tif 000008
【図８】
0003968876.tif 000009
【図９】
0003968876.tif 000010