JP3968876B2 - 電子制御装置 - Google Patents
電子制御装置 Download PDFInfo
- Publication number
- JP3968876B2 JP3968876B2 JP18103698A JP18103698A JP3968876B2 JP 3968876 B2 JP3968876 B2 JP 3968876B2 JP 18103698 A JP18103698 A JP 18103698A JP 18103698 A JP18103698 A JP 18103698A JP 3968876 B2 JP3968876 B2 JP 3968876B2
- Authority
- JP
- Japan
- Prior art keywords
- microcomputer
- program
- user break
- electronic control
- break function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Storage Device Security (AREA)
Description
【発明の属する技術分野】
本発明は、所定の制御対象を制御する電子制御装置に関するもので、特に、制御に用いられる制御プログラム等を書換自在な電子制御装置に関するものである。
【0002】
【従来の技術】
従来、フラッシュROM(Read Only Memory)と称する書換可能な読出し専用のメモリが知られている。このフラッシュROMには、通常、フラッシュROMの書換処理プログラムを記憶する記憶領域と所定の制御対象を制御するための制御プログラムを記憶する記憶領域が設けられている。これらの記憶領域が不正に書換えられたりするとフラッシュROM内容が破壊されるため、フラッシュROMの機能としてのハードウェアによるガードが施されている。
【0003】
【発明が解決しようとする課題】
ところで、フラッシュROMのハードウェアによるガードはブロック単位にて可能であり、特定の記憶領域の部分だけをガードすることは一般的にできない。このため、フラッシュROMにおける記憶内容のうち制御プログラムを記憶する記憶領域のみを部分的に書換えようとしてもハードウェアによるガードによって書換えることができないこととなる。つまり、部分的な書換えを行うときにもハードウェアによるガードを外しておかなければならないのである。したがって、フラッシュROMに対するハードウェアによるガードを外し書換可能とした際に、書換処理プログラムを記憶する記憶領域に対して誤って書込実行が行われると記憶内容が化けたり、処理順序付け命令機能としてのスタック破壊等が起こることとなる。これにより、フラッシュROMの書換処理プログラムを記憶する記憶領域の内容が書換えられてしまうと二度とフラッシュROMへの書換処理実行ができなくなるという不具合が発生することとなる。
【0004】
そこで、この発明はかかる不具合を解決するためになされたもので、所定の制御対象を制御する電子制御装置内の書換可能な読出し専用のメモリの記憶内容を書換える際に所定の記憶領域への誤った書込処理を防止可能な電子制御装置の提供を課題としている。
【0005】
【課題を解決するための手段】
請求項1の電子制御装置によれば、マイクロコンピュータが有するユーザブレイク機能によって、内燃機関を制御するための制御プログラムと書換処理プログラムとをそれぞれの記憶領域に記憶する書換可能な読出し専用の記憶手段に対して、ユーザブレイク対象領域が設定される。これにより、記憶手段の予め指定された記憶領域内の所定アドレスに対して読出命令または書込命令が発生された際には、その所定アドレスの内容が変更されることなく予め指定された他のアドレスにジャンプさせることができ、何らかの異常による記憶手段への書込要求を排除することができる。
【0006】
請求項2の電子制御装置のマイクロコンピュータでは、ユーザブレイク機能が働いたときには、そのときの処理がリセットされ、ユーザブレイク機能が最優先されることで、所望の処理を直ちに起動させることができる。
【0007】
請求項3の電子制御装置のマイクロコンピュータでは、自らの動作状態が監視手段によって監視され、ユーザブレイク機能が働き割込が起動されたときには、監視手段への出力が停止されることでそのときの処理がリセットされる。このため、マイクロコンピュータは何らかの異常が発生してもプログラム破壊が防止されプログラムの暴走による電子制御装置の誤動作が回避される。
【0008】
請求項4の電子制御装置によれば、マイクロコンピュータが有するユーザブレイク機能によって、内燃機関を制御するための制御プログラムと書換処理プログラムとをそれぞれの記憶領域に記憶する書換可能な読出し専用の記憶手段に対して、ユーザブレイク対象領域が設定される。このため、記憶手段の書換時と通常処理時とでユーザブレイク対象領域が切換えられることで、記憶手段の書換時では制御プログラムのみを適宜、書換えることができ、通常処理時では何らかの異常で記憶手段の全記憶領域に書換要求されても制御プログラムが破壊されることが防止されプログラムの暴走による電子制御装置の誤動作が回避される。
【0009】
請求項5の電子制御装置のマイクロコンピュータでは、ユーザブレイク機能が働いたときには、そのときの処理がリセットされ、即ち、ユーザブレイク機能が最優先されることで、所望の処理を直ちに起動させることができる。
【0010】
請求項6の電子制御装置のマイクロコンピュータでは、自らの動作状態が監視手段によって監視され、ユーザブレイク機能が働き割込が起動されたときには、監視手段への出力が停止されることでそのときの処理がリセットされる。このため、マイクロコンピュータは何らかの異常が発生してもプログラム破壊が防止されプログラムの暴走による電子制御装置の誤動作が回避される。
【0011】
請求項7の電子制御装置のマイクロコンピュータでは、制御プログラムに従って制御する際に計数されたユーザブレイク機能の発生回数が所定回数以上となると実際に所定の制御対象に異常が発生しているとしてフェイルセーフモードが設定され、このときフェイルセーフモードのセット処理が実行される。これにより、異常検出の際のノイズ等による誤検出が排除され正確な検出を行うことができる。
【0012】
請求項8の電子制御装置のマイクロコンピュータでは、イグニッションスイッチによる電源接続から電源遮断までの1トリップ間に計数されたユーザブレイク機能の発生回数、設定されたフェイルセーフモードが電源遮断の直後にクリアされる。ここで、1トリップ間のユーザブレイク機能の発生回数、フェイルセーフモードはその都度、記憶されるため、1トリップ毎の新たなユーザブレイク機能の発生回数やフェイルセーフモードを検出することができる。
【0013】
【発明の実施の形態】
以下、本発明の実施の形態を実施例に基づいて説明する。
【0014】
図1は本発明の実施の形態の一実施例にかかる電子制御装置が適用され車両に搭載された内燃機関用電子制御装置の全体構成を示すブロック図である。
【0015】
図1において、10は内燃機関用電子制御装置(Electronic Control Unit;以下、単に、『ECU』と記す)であり、ECU10には図示しない内燃機関の運転状態を検出する各種センサ1からのセンサ信号が入力される。これら各種センサ1からのセンサ信号はECU10内の入力回路15により波形整形処理、A/D変換処理等が実行されたのちマイクロコンピュータ11に入力される。マイクロコンピュータ11では入力回路15からのセンサ信号に基づき内燃機関に対する最適な制御量が演算され、その演算結果としての制御信号が出力回路16に出力される。そして、出力回路16からの制御信号により内燃機関のイグナイタ21、インジェクタ(燃料噴射弁)22等のアクチュエータが駆動され、必要に応じて各種警告灯23が点灯される。また、ECU10はマイクロコンピュータ11内の内燃機関用制御プログラム及びデータを書換える際に接続されるメモリ書換機30との間でデータ通信を行うための通信回路17を備えている。
【0016】
ECU10内のマイクロコンピュータ11は、周知の中央処理装置としてCPU111、このCPU111に対してユーザブレイク機能を付与するユーザブレイクコントローラ(User Break Controller;以下、単に『UBC』と記す)112、プログラムやデータを格納するフラッシュROM113、各種データを格納するRAM114及びそれらを接続するバスライン等からなる論理演算回路として構成されている。更に、ECU10内のマイクロコンピュータ11にはフラッシュROM13及びRAM14が外付けされている。なお、フラッシュROM113,13は一旦書込まれたプログラムやデータを消去し再度、書込可能なメモリ、即ち、書換可能な読出し専用メモリであり、EEPROM等を用いることもできる。ここで、上記ユーザブレイク機能は、通常、ユーザのプログラムデバックを容易にするためマイクロコンピュータに付与される機能であるが、本実施例では、このユーザブレイク機能を別機能として利用するものである。
【0017】
そして、ECU10内のマイクロコンピュータ11には、IGSW(イグニッションスイッチ)2のON(オン)によるバッテリ3からの電源供給に基づき電源IC12を介してメイン電源が供給され、IGSW2がOFF(オフ)されることでバッテリ3からの電源供給が停止される。なお、電源IC12にはマイクロコンピュータ11のCPU111が正常動作していることを監視するWDT(Watch-Dog Timmer)12aが内蔵されている。一方、外付けされているRAM14にはIGSW2がOFFされても電源IC12を介してサブ電源が供給され、RAM14内に形成されたUBCFault記憶領域141に記憶されたUBCFault内容、UBCCount記憶領域142に記憶されたUBCCount回数がそれぞれ保護される。
【0018】
また、外部接続装置としてのメモリ書換機30は、ECU10側のフラッシュROM113,13に格納されたプログラムやデータを書換えるため、ECU10側のマイクロコンピュータ11とシリアル通信を行うCPU301、制御プログラムを格納するROM302、各種データを記憶するRAM303から主として構成され、フラッシュROM113,13の書換時に必要な高電圧を供給する電源回路31が接続されている。つまり、メモリ書換機30が接続用コネクタ(図示略)を介してECU10内の通信回路17に接続されると、メモリ書換機30とECU10内のマイクロコンピュータ11との間におけるシリアル通信が可能となる。
【0019】
次に、本発明の実施の形態の一実施例にかかる電子制御装置で使用されているマイクロコンピュータ11内のCPU111における全体の処理手順を示す図2のフローチャートに基づき、図3を参照して説明する。ここで、図3(a)はフラッシュROM113,13の記憶領域のうちフラッシュROM113の書換プログラムそのものまたはそれを他に転送するための転送プログラムを含む書換処理プログラムを記憶するブートプログラム記憶領域のみをユーザブレイク対象領域とするフラッシュROM書換時、図3(b)はフラッシュROM113,13の全記憶領域をユーザブレイク対象領域とする通常処理時をそれぞれ示す説明図である。なお、この制御ルーチンは所定のリセット毎にCPU111にて繰返し実行される。
【0020】
図2において、ステップS101〜ステップS107、ステップS109及びステップS110にて、マイクロコンピュータ11のフラッシュROM113内のブートプログラム記憶領域に格納されたブートプログラムが実行される。即ち、ステップS101で、初期設定が行われたのちステップS102に移行し、RAM114内に通信回路17からのデータが書込まれる。次にステップS103に移行して、フラッシュROM書換コマンドが受信されたかが判定される。ステップS103の判定条件が成立、即ち、フラッシュROM書換コマンドが受信されているときにはステップS104に移行し、UBC112によるユーザブレイク機能によって、ユーザブレイク対象領域がフラッシュROM113のブートプログラム記憶領域(アドレス00000000〜00007FFF)のみとされ、そのアドレス内容が変更されることのない書込禁止が実行される(図3(a)参照)。
【0021】
次にステップS105に移行して、フラッシュROM書換プログラムをRAM114,14へダウンロードするためのプログラムが実行される。次にステップS106に移行して、フラッシュROM書換プログラムがRAM114,14へダウンロードされる。次にステップS107に移行して、フラッシュROM書換プログラムへジャンプされる。ステップS107では、RAM114,14内のフラッシュROM書換プログラムが起動されたのちステップS108に移行し、フラッシュROM113,13の内容をメモリ書換機30から送出される新たな制御プログラム及びデータに書換えるためのフラッシュROM書換処理が実行される。
【0022】
一方、ブートプログラムにおいて、ステップS103の判定条件が成立せず、即ち、フラッシュROM書換コマンドが受信されていないときにはステップS109に移行し、UBC112によるユーザブレイク機能によって、ユーザブレイク対象領域がフラッシュROM(内部)113の記憶領域(アドレス00000000〜0001FFFF)及びフラッシュROM(外部)13の記憶領域(アドレス00200000〜003FFFFF)からなるフラッシュROM113,13の全記憶領域とされ、そのアドレス内容が変更されることのない書込禁止が実行される(図3(b)参照)。次にステップS110に移行して、内燃機関用制御プログラムへジャンプされる。ステップS110では、フラッシュROM113,13内の内燃機関用制御プログラムが起動されたのちステップS111に移行し、内燃機関用制御処理が実行される。なお、ステップS111の内燃機関用制御処理では、入力回路15からの各種センサ信号とフラッシュROM113,13内の内燃機関用制御プログラム及びデータとに基づき内燃機関に対する最適な点火時期や燃料噴射量等が演算され、その演算結果に応じてイグナイタ21やインジェクタ22等のアクチュエータを駆動するための制御信号が出力される。このようにして、内燃機関用制御処理が実行されることで内燃機関の運転状態が最適制御される。
【0023】
次に、上述の図2のステップS108のフラッシュROM書換中において、何らかの異常によりECU10におけるマイクロコンピュータ11内のフラッシュROM113,13のブートプログラム記憶領域へ書込要求されたときの処理手順を示す図4のフローチャートに基づき、図5を参照して説明する。ここで、図5はリセット信号、WDC(Watch-Dog Counter)信号等の遷移状態を示すタイムチャートである。
【0024】
図4において、ステップS201でフラッシュROM113のブートプログラム記憶領域に対する書込要求が受信されるとステップS202に移行し、ユーザブレイク割込が発生される。すると、ブートプログラム記憶領域の内容が書換えられることなくステップS203に移行し、例外処理を実行すべくステップS204にジャンプされる。ステップS204では、NOP(No-Operation:未処理命令)により無限ループ処理が実行される。このとき、図5に示すように、CPU111から電源IC12へ出力されるWDCパルスは、通常処理中ではベースルーチンで定期的に反転されているが、ユーザブレイク割込処理で無限ループが実行されると反転させることができなくなるため、所定時間後に電源IC12側からリセット信号が出力されCPU111のリセット端子がHigh(ハイ)からLow(ロー)とされることでリセットがかけられることとなる。
【0025】
次に、図4の処理手順の変形例について図6を参照して説明する。
【0026】
図6において、ステップS301でフラッシュROM113のブートプログラム記憶領域に対する書込要求が受信されるとステップS302に移行し、ユーザブレイク割込が発生される。すると、ブートプログラム記憶領域の内容が書換えられることなくステップS303に移行し、例外処理を実行すべくステップS304にジャンプされる。ステップS304では、メモリ書換機30へのリトライ要求が実行されたのちステップS305に移行する。ステップS305では、例外処理から通常処理に戻すため、図2のステップS101にジャンプされる。これにより、メモリ書換機30からのフラッシュROM書換要求待ちの状態となり、メモリ書換機30から再度、フラッシュROM書換要求があればその処理が実行されることとなる。
【0027】
次に、通常処理中として上述の図2のステップS111の内燃機関用制御処理中において、何らかの異常によりECU10におけるマイクロコンピュータ11内のフラッシュROM113,13の全記憶領域へ書込要求されたときの処理手順を示す図7のフローチャートに基づき、図5を参照して説明する。
【0028】
図7において、ステップS401でフラッシュROM113,13の全記憶領域に対する書込要求が受信されるとステップS402に移行し、ユーザブレイク割込が発生される。すると、フラッシュROM113,13の全記憶領域の内容が書換えられることなくステップS403に移行し、例外処理を実行すべくステップS404にジャンプされる。ステップS404では、異常内容が分かるようにするためUBCFaultがONとされRAM14内のUBCFault記憶領域141に記憶される。次にステップS405に移行して、IGSW2のON中に発生したUBCFault回数をカウントアップするためRAM14内のUBCCount記憶領域142に記憶されたUBCCountが「+1」インクリメントされる。次にステップS406に移行して、NOPにより無限ループ処理が実行される。このとき、図5に示すように、CPU111から電源IC12へ出力されるWDCパルスは、通常処理中ではベースルーチンで定期的に反転されているが、ユーザブレイク割込処理で無限ループが実行されると反転させることができなくなるため、所定時間後に電源IC12側からリセット信号が出力されCPU111のリセット端子がHigh(ハイ)からLow(ロー)とされることでリセットがかけられることとなる。
【0029】
次に、マイクロコンピュータ11内のCPU111のリセット後のフェイルセーフモードのセット処理手順を示す図8のフローチャートに基づいて説明する。
【0030】
図8において、ステップS501では、1回の異常検出ではノイズ等による誤検出の可能性が高いため冗長性をもたせるため、UBCCountが1より大きいかが判定される。ステップS501の判定条件が成立、即ち、RAM14内のUBCCount記憶領域142に記憶されているUBCCountが2以上で、IGSW2のON中にUBCFault回数が2回以上発生しているときにはステップS502に移行し、フェイルセーフモードのセット処理としてフューエル(燃料)カット、警告灯点灯等が実行される。なお、フラッシュROM113,13にはUBC112によるユーザブレイク割込で異常が発生されたことが記憶される。一方、ステップS501の判定条件が成立せず、即ち、RAM14内のUBCCount記憶領域142に記憶されているUBCCountが1未満であるときには、ステップS502がスキップされる。次にステップS503に移行して、通常処理が実行され、本ルーチンを終了する。
【0031】
次に、図8によるマイクロコンピュータ11内のCPU111のフェイルセーフモードのクリア処理手順を示す図9のフローチャートに基づいて説明する。
【0032】
図9において、IGSW2のONからOFFまでを1トリップと考えているため、ステップS601でIGSW2がOFF直後であるかが判定される。ステップS601の判定条件が成立せず、即ち、IGSW2がONであるときにはOFFとなるまで待って、ステップS601の判定条件が成立、即ち、IGSW2が今回OFFで前回ONであるときにはIGSW2のOFF直後であるとしてステップS602に移行し、UBCCountのクリア、フェイルセーフモードのクリア処理としてフューエルカット解除、警告灯消灯等が実行され、本ルーチンを終了する。
【0033】
このように、本実施例のECU10は、所定の制御対象としての内燃機関を制御するための制御プログラムと書換プログラムそのものまたはそれを他に転送するための転送プログラムを含む書換処理プログラムとしてのブートプログラムとをそれぞれの記憶領域に記憶する書換可能な読出し専用の記憶手段としてのフラッシュROM113,13と、フラッシュROM113,13の予め指定された記憶領域内の所定アドレスに対して読出命令または書込命令が発生された際には、その所定アドレスの内容を変更することなく予め指定された他のアドレスにジャンプさせるユーザブレイク機能を付与するUBC112を有するマイクロコンピュータ11とを具備し、フラッシュROM113,13のブートプログラムが記憶されたブートプログラム記憶領域をマイクロコンピュータ11によるユーザブレイク機能を働かせるユーザブレイク対象領域に設定するものである。
【0034】
したがって、マイクロコンピュータ11が有するUBC112によるユーザブレイク機能によって、内燃機関を制御するための制御プログラムとブートプログラムとをそれぞれの記憶領域に記憶するフラッシュROM113,13に対して、ユーザブレイク対象領域が適宜、設定される。これにより、フラッシュROM113,13の予め指定された記憶領域内の所定アドレスに対して読出命令または書込命令が発生された際には、その所定アドレスの内容が変更されることなく予め指定された他のアドレスにジャンプさせることができ、何らかの異常によるフラッシュROM113,13のブートプログラム記憶領域への書込要求を排除することができる。
【0035】
また、本実施例のECU10のマイクロコンピュータ11は、ユーザブレイク機能が働いたときには、そのときの処理がリセットされるものである。これにより、ユーザブレイク機能が最優先されることで、ユーザブレイク対象領域に対する所望の処理を直ちに起動させることができる。
【0036】
そして、本実施例のECU10のマイクロコンピュータ11は、ユーザブレイク機能が働いて割込が起動されたときには、自らが正常動作していることを監視する監視手段としての電源IC12に内蔵されたWDT12aによってそのときの処理がリセットされるようにWDT12aへの出力を停止するものである。即ち、マイクロコンピュータ11は自らの動作状態がWDT12aによって監視され、ユーザブレイク割込が起動されたときには、WDT12aへの出力が停止されることでそのときの処理がリセットされる。このため、マイクロコンピュータ11は何らかの異常が発生してもプログラム破壊が防止されプログラムの暴走によるECU10の誤動作が回避される。
【0037】
更に、本実施例のECU10は、所定の制御対象としての内燃機関を制御するための制御プログラムと書換プログラムそのものまたはそれを他に転送するための転送プログラムを含む書換処理プログラムとしてのブートプログラムとをそれぞれの記憶領域に記憶する書換可能な読出し専用の記憶手段としてのフラッシュROM113,13と、フラッシュROM113,13の予め指定された記憶領域内の所定アドレスに対して読出命令または書込命令が発生された際には、その所定アドレスの内容を変更することなく予め指定された他のアドレスにジャンプさせるユーザブレイク機能を付与するUBC112を有するマイクロコンピュータ11とを具備し、フラッシュROM113,13のブートプログラムが記憶されたブートプログラム記憶領域への書込みの際には、ブートプログラムが記憶されたブートプログラム記憶領域をマイクロコンピュータ11によるユーザブレイク機能を働かせるユーザブレイク対象領域に設定し、かつ制御プログラムが記憶された記憶領域をマイクロコンピュータ11によるユーザブレイク機能を働かせる対象領域外に設定すると共に、制御プログラムに従った制御実行の際には、ブートプログラムが記憶されたブートプログラム記憶領域と制御プログラムが記憶された記憶領域との両方をマイクロコンピュータ11によるユーザブレイク機能を働かせる対象領域に設定するものである。
【0038】
したがって、マイクロコンピュータ11が有するUBC112によるユーザブレイク機能によって、内燃機関を制御するための制御プログラムとブートプログラムとをそれぞれの記憶領域に記憶するフラッシュROM113,13に対して、ユーザブレイク対象領域が適宜、設定される。このため、フラッシュROM113,13の書換時と通常処理時とでユーザブレイク対象領域を切換えることにより、フラッシュROM書換時では制御プログラムのみを適宜、書換えることができ、通常処理時では何らかの異常でフラッシュROM113,13の全記憶領域に書換要求されても制御プログラムが破壊されることが防止されプログラムの暴走によるECU10の誤動作が回避される。
【0039】
また、本実施例のECU10のマイクロコンピュータ11は、制御プログラムに従った制御実行の際のユーザブレイク機能の発生回数を計数し、その起動時に計数された発生回数が所定回数以上であるときには所定の制御対象としての内燃機関の制御をフェイルセーフモードに設定するものである。このため、マイクロコンピュータ11は制御プログラムに従って内燃機関を制御する際に計数されたユーザブレイク機能の発生回数が所定回数以上となると実際に内燃機関に異常が発生しているとしてフェイルセーフモードが設定され、このときフェイルセーフモード(フューエルカット、警告灯点灯等)のセット処理が実行される。これにより、異常検出の際のノイズ等による誤検出が排除され正確な検出を行うことができる。
【0040】
そして、本実施例のECU10のマイクロコンピュータ11は、ユーザブレイク機能の発生回数と設定されたフェイルセーフモードとを電源遮断の際にクリアするものである。即ち、マイクロコンピュータ11ではIGSW2のONからOFFまでの1トリップ間に計数されたユーザブレイク機能の発生回数、設定されたフェイルセーフモード(フューエルカット、警告灯点灯等)がIGSW2がOFFされた直後にクリアされる。ここで、1トリップ間のユーザブレイク機能の発生回数、フェイルセーフモードはその都度、電源バックアップされたRAM14内に記憶される。これにより、1トリップ毎の新たなユーザブレイク機能の発生回数やフェイルセーフモードを検出することができる。
【0041】
ところで、上記実施例では、マイクロコンピュータ11の内部にフラッシュROM113及びRAM114、外部にフラッシュROM13及びRAM14を有する構成としたが、本発明を実施する場合には、これに限定されるものではなく、マイクロコンピュータの内部のみにフラッシュROM及びRAMを有する構成であってもよい。
【図面の簡単な説明】
【図1】 図1は本発明の実施の形態の一実施例にかかる電子制御装置が適用され車両に搭載されたECUの全体構成を示すブロック図である。
【図2】 図2は本発明の実施の形態の一実施例にかかる電子制御装置で使用されているマイクロコンピュータ内のCPUにおける全体の処理手順を示すフローチャートである。
【図3】 図3は本発明の実施の形態の一実施例にかかる電子制御装置で用いられるフラッシュROMに格納されたブートプログラム記憶領域とユーザブレイク対象領域との関係を示す説明図である。
【図4】 図4は本発明の実施の形態の一実施例にかかる電子制御装置で使用されているマイクロコンピュータ内のCPUにおけるフラッシュROM書換中にフラッシュROMのブートプログラム記憶領域へ書込要求されたときの処理手順を示すフローチャートである。
【図5】 図5は本発明の実施の形態の一実施例にかかる電子制御装置におけるリセット信号、WDC信号等の遷移状態を示すタイムチャートである。
【図6】 図6は図4の処理手順の変形例を示すフローチャートである。
【図7】 図7は本発明の実施の形態の一実施例にかかる電子制御装置で使用されているマイクロコンピュータ内のCPUにおける内燃機関用制御処理中にフラッシュROMの全記憶領域へ書込要求されたときの処理手順を示すフローチャートである。
【図8】 図8は本発明の実施の形態の一実施例にかかる電子制御装置で使用されているマイクロコンピュータ内のCPUにおけるリセット後のフェイルセーフモードのセット処理手順を示すフローチャートである。
【図9】 図9は本発明の実施の形態の一実施例にかかる電子制御装置で使用されているマイクロコンピュータ内のCPUにおけるフェイルセーフモードのクリア処理手順を示すフローチャートである。
【符号の説明】
1 各種センサ
10 ECU(内燃機関用電子制御装置)
11 マイクロコンピュータ
111 CPU
113,13 フラッシュROM
30 メモリ書換機
Claims (8)
- 所定の制御対象を制御するための制御プログラムと書換プログラムそのものまたはそれを他に転送するための転送プログラムを含む書換処理プログラムとをそれぞれの記憶領域に記憶する書換可能な読出し専用の記憶手段と、
前記記憶手段の予め指定された記憶領域内の所定アドレスに対して読出命令または書込命令が発生された際には、前記所定アドレスの内容を変更することなく予め指定された他のアドレスにジャンプさせるユーザブレイク機能を有するマイクロコンピュータとを具備し、
前記記憶手段の前記書換処理プログラムが記憶された記憶領域を前記マイクロコンピュータによる前記ユーザブレイク機能を働かせる対象領域に設定することを特徴とする電子制御装置。 - 前記マイクロコンピュータは、前記ユーザブレイク機能が働いたときには、そのときの処理がリセットされることを特徴とする請求項1に記載の電子制御装置。
- 前記マイクロコンピュータは、前記ユーザブレイク機能が働いて割込が起動されたときには、自らが正常動作していることを監視する監視手段によってそのときの処理がリセットされるように前記監視手段への出力を停止することを特徴とする請求項2に記載の電子制御装置。
- 所定の制御対象を制御するための制御プログラムと書換プログラムそのものまたはそれを他に転送するための転送プログラムを含む書換処理プログラムとをそれぞれの記憶領域に記憶する書換可能な読出し専用の記憶手段と、
前記記憶手段の予め指定された記憶領域内の所定アドレスに対して読出命令または書込命令が発生された際には、前記所定アドレスの内容を変更することなく予め指定された他のアドレスにジャンプさせるユーザブレイク機能を有するマイクロコンピュータとを具備し、
前記記憶手段の前記制御プログラムが記憶された記憶領域への書込みの際には、前記書換処理プログラムが記憶された記憶領域を前記マイクロコンピュータによる前記ユーザブレイク機能を働かせる対象領域に設定し、かつ前記制御プログラムが記憶された記憶領域を前記マイクロコンピュータによる前記ユーザブレイク機能を働かせる対象領域外に設定すると共に、前記制御プログラムに従った制御実行の際には、前記書換処理プログラムが記憶された記憶領域と前記制御プログラムが記憶された記憶領域との両方を前記マイクロコンピュータによる前記ユーザブレイク機能を働かせる対象領域に設定することを特徴とする電子制御装置。 - 前記マイクロコンピュータは、前記ユーザブレイク機能が働いたときには、そのときの処理がリセットされることを特徴とする請求項4に記載の電子制御装置。
- 前記マイクロコンピュータは、前記ユーザブレイク機能が働いて割込が起動されたときには、自らが正常動作していることを監視する監視手段によってそのときの処理がリセットされるように前記監視手段への出力を停止することを特徴とする請求項5に記載の電子制御装置。
- 前記マイクロコンピュータは、前記制御プログラムに従った制御実行の際の前記ユーザブレイク機能の発生回数を計数し、その起動時に計数された発生回数が所定回数以上であるときには所定の制御対象への制御をフェイルセーフモードに設定することを特徴とする請求項4乃至請求項6の何れか1つに記載の電子制御装置。
- 前記マイクロコンピュータは、前記ユーザブレイク機能の発生回数と設定された前記フェイルセーフモードとを電源遮断の際にクリアすることを特徴とする請求項7に記載の電子制御装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18103698A JP3968876B2 (ja) | 1998-06-26 | 1998-06-26 | 電子制御装置 |
US09/291,008 US6168321B1 (en) | 1998-06-26 | 1999-04-14 | Electronic control unit having user breakable function |
EP99107988A EP0967551B1 (en) | 1998-06-26 | 1999-04-22 | Electronic control unit having user breakable function |
DE69939728T DE69939728D1 (de) | 1998-06-26 | 1999-04-22 | Elektronische Steuereinheit mit Unterbrechungsfunktion für den Benutzer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18103698A JP3968876B2 (ja) | 1998-06-26 | 1998-06-26 | 電子制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000020404A JP2000020404A (ja) | 2000-01-21 |
JP3968876B2 true JP3968876B2 (ja) | 2007-08-29 |
Family
ID=16093651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP18103698A Expired - Fee Related JP3968876B2 (ja) | 1998-06-26 | 1998-06-26 | 電子制御装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6168321B1 (ja) |
EP (1) | EP0967551B1 (ja) |
JP (1) | JP3968876B2 (ja) |
DE (1) | DE69939728D1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3561211B2 (ja) | 2000-06-27 | 2004-09-02 | 株式会社東芝 | 情報処理装置および不揮発性記憶装置の書き換え制御方法 |
JP4399987B2 (ja) * | 2001-01-25 | 2010-01-20 | 株式会社デンソー | 車両統合制御におけるフェイルセーフシステム |
US7165137B2 (en) * | 2001-08-06 | 2007-01-16 | Sandisk Corporation | System and method for booting from a non-volatile application and file storage device |
US7082525B2 (en) * | 2002-10-02 | 2006-07-25 | Sandisk Corporation | Booting from non-linear memory |
JP4606693B2 (ja) * | 2002-11-22 | 2011-01-05 | ソニー株式会社 | 光ディスク、記録装置、再生装置、記録方法、再生方法 |
US6941219B2 (en) * | 2003-09-30 | 2005-09-06 | Detroit Diesel Corporation | Method for recreating valid calibration data for an engine control module |
US7594135B2 (en) * | 2003-12-31 | 2009-09-22 | Sandisk Corporation | Flash memory system startup operation |
JP2006004280A (ja) * | 2004-06-18 | 2006-01-05 | Toshiba Kyaria Kk | マイクロコンピュータおよび電気機器 |
US20070112773A1 (en) * | 2005-11-14 | 2007-05-17 | John Joyce | Method for assuring flash programming integrity |
JP6984512B2 (ja) * | 2018-03-22 | 2021-12-22 | 株式会社デンソー | 電子制御装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0410030A1 (en) * | 1989-07-25 | 1991-01-30 | Unisia Jecs Corporation | Method and apparatus for preventing failure of a CPU |
US5481713A (en) * | 1993-05-06 | 1996-01-02 | Apple Computer, Inc. | Method and apparatus for patching code residing on a read only memory device |
US5522076A (en) * | 1993-05-13 | 1996-05-28 | Kabushiki Kaisha Toshiba | Computer system having BIOS (basic input/output system)-ROM (Read Only Memory) writing function |
JP3310060B2 (ja) * | 1993-09-13 | 2002-07-29 | 株式会社東芝 | 記憶装置および同装置の制御プログラム書換え方法 |
JP3292864B2 (ja) | 1995-02-07 | 2002-06-17 | 株式会社日立製作所 | データ処理装置 |
JPH09128229A (ja) | 1995-11-06 | 1997-05-16 | Denso Corp | 電子制御装置 |
-
1998
- 1998-06-26 JP JP18103698A patent/JP3968876B2/ja not_active Expired - Fee Related
-
1999
- 1999-04-14 US US09/291,008 patent/US6168321B1/en not_active Expired - Lifetime
- 1999-04-22 DE DE69939728T patent/DE69939728D1/de not_active Expired - Lifetime
- 1999-04-22 EP EP99107988A patent/EP0967551B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0967551A2 (en) | 1999-12-29 |
US6168321B1 (en) | 2001-01-02 |
EP0967551B1 (en) | 2008-10-15 |
JP2000020404A (ja) | 2000-01-21 |
EP0967551A3 (en) | 2007-08-08 |
DE69939728D1 (de) | 2008-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3968876B2 (ja) | 電子制御装置 | |
US6401163B1 (en) | Apparatus and method for rewriting data from volatile memory to nonvolatile memory | |
JPH11272498A (ja) | 電子制御装置 | |
US7203581B2 (en) | Electronic control unit for controlling updating of data in non-volatile memory | |
JP4248624B2 (ja) | 内燃機関用電子制御装置。 | |
JP3097580B2 (ja) | 電子制御装置 | |
US10108469B2 (en) | Microcomputer and microcomputer system | |
WO2002023458A1 (en) | Method and system for reducing the time required to power down engine controller with faulty eeprom | |
JP3883842B2 (ja) | 車両用電子制御装置 | |
JP2001123874A (ja) | 電子制御装置のプログラム書換システム及びメモリ書換装置 | |
JP2002323902A (ja) | 電子制御装置 | |
JPH08178976A (ja) | 電源遮断検出装置 | |
JP3804454B2 (ja) | 電子制御装置 | |
JP2008196441A (ja) | 車両の制御装置 | |
JP4375857B2 (ja) | プログラム再書き込み機能付コンピュータ | |
JP3937598B2 (ja) | 電子制御装置 | |
JPH08287697A (ja) | メモリ装置 | |
JPH09171459A (ja) | 電子制御装置 | |
JP7024582B2 (ja) | 車載制御装置 | |
JP3960212B2 (ja) | 電子制御装置 | |
JP3908020B2 (ja) | 車両用電子制御装置 | |
JP2004021520A (ja) | 車両用電子制御装置 | |
JPH0325813B2 (ja) | ||
JP2002323990A (ja) | 電子制御装置及び不揮発性メモリの初期化方法 | |
JP7482245B2 (ja) | 電子制御装置及びウェイクアップ回路の診断方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041227 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070502 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070515 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070528 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100615 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110615 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110615 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120615 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120615 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130615 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140615 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |