[go: up one dir, main page]

JP3991384B2 - 電子制御装置 - Google Patents

電子制御装置 Download PDF

Info

Publication number
JP3991384B2
JP3991384B2 JP07177397A JP7177397A JP3991384B2 JP 3991384 B2 JP3991384 B2 JP 3991384B2 JP 07177397 A JP07177397 A JP 07177397A JP 7177397 A JP7177397 A JP 7177397A JP 3991384 B2 JP3991384 B2 JP 3991384B2
Authority
JP
Japan
Prior art keywords
processing
data
stored
control device
electronic
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
Application number
JP07177397A
Other languages
English (en)
Other versions
JPH1083321A (ja
Inventor
大輔 渡
佐奈恵 平田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP07177397A priority Critical patent/JP3991384B2/ja
Priority to US08/892,125 priority patent/US5980081A/en
Publication of JPH1083321A publication Critical patent/JPH1083321A/ja
Priority to US09/215,302 priority patent/US5966305A/en
Application granted granted Critical
Publication of JP3991384B2 publication Critical patent/JP3991384B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0421Multiprocessor system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/22Pc multi processor system
    • G05B2219/2239Reallocate, reschedule execution of controlled functions if one processor fails
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24203Restart, recover from error only if detected states equal stored states

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Automation & Control Theory (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、外部からの入力データに基づき所定の処理を実行し、その処理結果に基づき他の装置へ信号を出力するデータ処理装置及び電子制御装置に関する。
【0002】
【従来の技術】
従来より、例えば車両の内燃機関等を制御する電子制御装置には、データ処理装置として、CPU,ROM,RAM等からなるマイクロコンピュータが設けられており、マイクロコンピュータでは、CPUが、予めROMに書き込まれたプログラムに従って、外部からの入力データに基づき所定の制御処理を実行し、その処理結果に基づいてアクチュエータを駆動する出力回路等へ制御信号を出力するようにしている。
【0003】
ここで、この種の電子制御装置において、制御対象を制御するための制御処理が確実に実行されるようにするためには、まず、ROMにプログラムを書き込む工程にて、ROMに本来のプログラムデータが正確に書き込まれたか否かを、例えばチェックサムによってチェック(所謂サムチェック)するようにしている。
【0004】
そして更に、電子制御装置内に、CPUから所謂ウォッチドックパルスが定期的に出力されているか否かを監視する監視回路を設け、ウォッチドックパルスの出力が停止すると、上記監視回路が、何等かの異常が発生したと判断してCPUの動作をリセットするようにしている。
【0005】
【発明が解決しようとする課題】
しかしながら、上記前者のチェックサムによるチェックでは、複数の書き込みエラーがあった場合に、そのエラーを発見することができない場合があるため、ROMに本来のプログラムが正確に書き込まれなかったことを検出できないまま、電子制御装置が使用されてしまう可能性がある。そして、そのプログラム異常が通常動作時に現象として顕著に現れないようなものである場合には、その異常を発見することは難しい。
【0006】
一方、上記後者のウォッチドックパルスによる異常検出を行っても、CPUがウォッチドックパルスを出力するための出力処理を定期的に実行しさえすれば、監視回路は異常が発生したことを検知することができない。よって、実際の制御処理に関するサブルーチン等のプログラムデータやCPUの機能に異常が生じて、予め定められた処理が正確に実行されていない場合であっても、そのことを検出できない可能性がある。
【0007】
本発明は、このような問題に鑑みなされたものであり、予め定められた所定の処理を実行する際の異常を確実に検出可能なデータ処理装置と、信頼性の高い電子制御装置を提供することを目的としている。
【0008】
【課題を解決するための手段、及び発明の効果】
上記目的を達成するためになされた請求項1に記載の電子制御装置では、処理実行制御手段が、外部からの入力データを所定のデータ記憶領域に格納して処理手段を作動させる。すると、処理手段は、データ記憶領域に格納されたデータ(つまり、この場合には外部からの入力データ)に基づき、車両用内燃機関の吸気経路に設けられたスロットル弁の開閉を制御する電子装置の動作が正常であるか否かを監視するための処理を実行する。
【0009】
ここで特に、請求項1に記載の電子制御装置は、検査データ記憶手段と検査実行手段とを備えており、検査データ記憶手段には、前記処理手段が正常であるか否かを検査するべく予め値の設定された疑似入力データと、その疑似入力データに基づき電子装置の動作が正常であるか否かを監視するための処理を行った場合の処理結果を表す期待値データとが、予め記憶されている。そして、検査実行手段は、処理実行制御手段が処理手段を作動させていない期間中の所定時に、検査データ記憶手段に記憶された疑似入力データを前記データ記憶領域に格納して処理手段を作動させ、その処理結果と検査データ記憶手段に記憶された期待値データとが一致していない場合に、処理手段が異常であると判定する。
【0010】
つまり、請求項1に記載の電子制御装置では、基本的には、処理実行制御手段が、外部からの入力データをデータ記憶領域に格納して処理手段を作動させることにより、外部からの入力データに基づき電子装置の動作が正常であるか否かを監視するための処理が実行される。
【0011】
そして特に、予め値の設定された疑似入力データと、その疑似入力データに基づき処理手段が処理を実行した場合に得られるべきである処理結果としての期待値データとを、予め検査データ記憶手段に記憶させておき、処理実行制御手段が処理手段を作動させていない期間中の所定時に、検査実行手段が、処理手段に上記疑似入力データに基づき処理を実行させて、その処理結果(疑似入力データに基づく処理結果)と上記期待値データとが一致していなければ、処理手段が異常であると判定するようにしている。
【0012】
このような電子制御装置によれば、処理手段を実際に作動させることで、処理手段が正常であるか否かを判定することができるため、処理手段に異常が生じて電子装置の動作が正常であるか否かを監視するための処理を正確に実行できなくなったことを、確実に検出することができる。即ち、処理手段が、ハードウェアによる論理回路によって構成されている場合には、その回路に異常が生じていることを確実に検出することができ、また、処理手段が、プログラムに従って処理を実行するCPUによって構成されている場合には、プログラム及びCPUの何れかに異常が生じていることを確実に検出することができるのである。
【0013】
次に、請求項2に記載の電子制御装置では、請求項1に記載の電子制御装置において、上記電子装置は、スロットル弁の開閉を制御するために必要な所定のデータを入力して、該入力したデータに基づきスロットル弁の開閉の制御目標値を算出し、該算出した制御目標値に応じてスロットル弁の開閉を制御すると共に、その算出した制御目標値を表す算出データを外部へ出力するように構成されている。
【0014】
そして、請求項2に記載の電子制御装置においては、処理手段の実行する処理が、前記所定のデータに基づき電子装置が制御目標値を算出するのと同じ手順で制御目標値を算出する演算処理と、電子装置が出力する前記算出データの表す制御目標値と前記演算処理にて算出した制御目標値とを比較して、両制御目標値が一致していない場合に電子装置の動作が異常であると判定する判定処理とからなっており、処理実行制御手段は、電子装置に入力される前記所定のデータと、電子装置から出力される前記算出データとを、前記入力データとして前記データ記憶領域に格納して処理手段を作動させる。
【0015】
このように処理実行制御手段が処理手段を作動させることにより、電子装置の動作が正常であるか否かが監視される。そして、請求項2に記載の電子制御装置において、検査データ記憶手段には、疑似入力データとして、前記所定のデータに対応するものと、前記算出データに対応するものとが記憶されていると共に、期待値データとして、前記判定処理による判定結果に対応するものが記憶されており、検査実行手段は、検査データ記憶手段に記憶された前記疑似入力データを前記データ記憶領域に格納して処理手段を作動させ、処理手段が前記判定処理を実行したことによる判定結果と、検査データ記憶手段に記憶された前記判定結果に対応する期待値データとが一致していない場合に、処理手段が異常であると判定する。このような請求項2に記載の電子制御装置によれば、請求項1の効果を確実に得ることができる。
【0016】
一方、請求項3に記載の電子制御装置では、検査データ記憶手段には、更に、期待値データとして、前記演算処理により算出される制御目標値に対応するものが記憶されており、検査実行手段は、更に、処理手段が疑似入力データに基づき前記演算処理を実行して算出した制御目標値と、検査データ記憶手段に記憶された前記制御目標値に対応する期待値データとが一致していない場合に、処理手段が異常であると判定する。
【0017】
このような請求項3に記載の電子制御装置によれば、上記の制御処理が正確に実行されていないということがより確実に検出されることとなるため、請求項1の効果をより一層確実に得ることができる。
【0018】
また、請求項4に記載の電子制御装置では、請求項1に記載の電子制御装置において、処理手段の実行する処理が、請求項2と同じ演算処理と判定処理とからなっていると共に、請求項2と同じ処理実行制御手段が備えられている。
【0019】
そして、請求項4に記載の電子制御装置では、検査データ記憶手段には、疑似入力データとして、前記所定のデータに対応するものと、前記算出データに対応するものとが記憶されていると共に、期待値データとして、前記演算処理により算出される制御目標値に対応するものが記憶されており、検査実行手段は、検査データ記憶手段に記憶された前記疑似入力データを前記データ記憶領域に格納して処理手段を作動させ、処理手段が前記演算処理を実行して算出した制御目標値と、検査データ記憶手段に記憶された前記制御目標値に対応する期待値データとが一致していない場合に、処理手段が異常であると判定する。このような請求項4に記載の電子制御装置によっても、請求項2と同様に、請求項1の効果を確実に得ることができる。
【0020】
次に、請求項5に記載の電子制御装置は、請求項2又は請求項3に記載の電子制御装置において、検査データ記憶手段には、処理手段が前記判定処理により分岐される全ての経路の処理を実行するように夫々設定された複数の疑似入力データと、その各疑似入力データに夫々対応する複数の期待値データとが記憶されている。そして、検査実行手段は、前記各疑似入力データのそれぞれを前記データ記憶領域に順次格納して、その度毎に処理手段を作動させ、その各処理結果と該各処理結果に夫々対応する期待値データとが一致していない場合に、処理手段が異常であると判定する。
【0021】
つまり、請求項5に記載の電子制御装置では、処理手段が実行する処理の分岐経路を全て検査して、処理手段が正常であるか否かを判定するようにしており、この電子制御装置によれば、電子装置の動作が正常であるか否かを監視するための処理を正確に実行できなくなったことを、一層確実に検出することができる。
【0022】
ここで、請求項1ないし請求項5の何れか1項に記載の電子制御装置において、検査実行手段は、例えば、当該電子制御装置が初期状態から動作を開始した時の1回だけ、疑似入力データを前記データ記憶領域に格納して処理手段を作動させると共に、処理手段が正常であるか否かを判定するようにしても良いが、請求項6に記載のように構成すれば、処理手段に異常が発生したことをより確実に検出できる。
【0023】
即ち、請求項6に記載の電子制御装置では、検査実行手段が、所定時間毎に、疑似入力データを前記データ記憶領域に格納して処理手段を作動させると共に、処理手段が正常であるか否かを判定するようにしている。そして、この電子制御装置によれば、当該電子制御装置が動作している途中で処理手段に異常が発生したことを確実に検出できる。
【0024】
次に、請求項7に記載の電子制御装置は、処理手段の処理結果に基づき、電子装置へ信号を出力する信号出力手段を備えている。そして、このような請求項7に記載の電子制御装置において、処理実行制御手段が処理手段を作動させた直後にだけ、信号出力手段が、処理手段による処理結果に基づき電子装置へ信号を出力するのであれば、その出力される信号は、常に外部からの入力データに応じたものとなるため問題はない。
【0025】
しかし、信号出力手段が様々なタイミングで上記信号を出力するように構成すると、その出力される信号は、擬似入力データに応じたものとなってしまう可能性がある。つまり、検査実行手段が処理手段を作動させた直後に、信号出力手段が、処理手段による処理結果に基づいて電子装置へ信号を出力すると、その時点の処理結果は擬似入力データに基づくものであるため、信号出力手段によって出力される信号は、外部からの入力データに応じたものではなく、擬似入力データに応じたものとなってしまうのである。
【0026】
そこで、請求項8に記載の電子制御装置では、請求項7に記載の電子制御装置において、処理実行制御手段が、外部からの入力データをデータ記憶領域に格納して処理手段を作動させた際の該処理手段による処理結果を、データ記憶領域とは異なる特定の記憶領域に格納するようにしており、更に、信号出力手段は、上記特定の記憶領域に格納された処理手段による処理結果に基づいて、電子装置へ信号を出力するようにしている。
【0027】
このような請求項8に記載の電子制御装置によれば、信号出力手段が如何なるタイミングで電子装置へ信号を出力するように構成しても、その出力される信号は、外部からの入力データに基づき処理手段が処理を実行した場合の処理結果に基づくものとなり、電子装置へ常に適切な信号を出力することができるようになる。
【0028】
次に、請求項9に記載の電子制御装置では、請求項7又は請求項8に記載の電子制御装置において、信号出力手段は、処理手段による処理結果が、前記電子装置の動作が異常であることを示す場合に、前記信号として、電子装置の動作モードを異常発生時の動作モードに移行させるための指令信号を出力する。そして更に、検査実行手段は、処理手段が異常であると判定すると、少なくとも信号出力手段の動作を停止させる。尚、上記指令信号としては、電子装置の動作を強制的に停止させるような信号でも良い。
【0029】
つまり、請求項9に記載の電子制御装置では、処理手段が処理を実行することにより、電子装置の動作が正常であるか否かを監視し、異常であると判定すると、電子装置の動作モードを異常発生時の動作モードに移行させるための指令信号を出力して、その電子装置が異常な動作を継続してしまうことを防止するようにしている。そして特に、請求項9に記載の電子制御装置では、検査実行手段が、電子装置の正常/異常を監視するための処理を実行する処理手段が異常であると判定すると、少なくとも信号出力手段の動作を停止させて、上記指令信号が出力されないようにしている。
【0030】
このような請求項9に記載の電子制御装置によれば、前述したように、処理手段が電子装置の動作が正常であるか否かを監視するための処理を正確に実行できなくなったことを、確実に検出することができるため、電子装置が正常であるにもかかわらず、その電子装置へ上記指令信号を誤って出力してしまうことを防止することができ、電子装置の動作状態を監視する際の信頼性を向上させることができる。
【0031】
また、上記電子装置は制御対象(スロットル弁)を制御するものであり、請求項9に記載の電子制御装置によれば、電子装置の動作モードを誤って異常発生時の動作モードに移行させてしまうことを防止できるため、制御対象に対する制御の信頼性を向上させることができる。
【0036】
次に、請求項10に記載の電子制御装置では、第1の処理装置が、車両用内燃機関の吸気経路に設けられたスロットル弁の開閉を制御するための処理を実行し、フェールセーフ手段が、第1の処理装置によるスロットル弁の開閉制御が停止された場合に、内燃機関の吸入空気を確保する。また、第2の処理装置が、内燃機関に対する燃料噴射及び点火を制御するための処理を実行すると共に、第1の処理装置が正常であるか否かを監視し、第3の処理装置が、第2の処理装置が正常であるか否かを監視して、異常であると判断すると、第2の処理装置に代わって内燃機関に対する燃料噴射及び点火を制御する。
【0037】
そして、この電子制御装置では、第2の処理装置により第1の処理装置が異常であると判断された場合には、第1の処理装置がリセットされ、第3の処理装置により第2の処理装置が異常であると判断された場合には、第2の処理装置と第1の処理装置とが両方共にリセットされる。
【0038】
つまり、スロットル弁の開閉度合は内燃機関の出力に直接的に反映されるため、その制御には高い安全性が要求される。そこで、スロットル弁を制御する第1の処理装置が正常であるか否かを監視する第2の処理装置が異常であると判断された場合には、第2の処理装置だけではなく第1の処理装置をもリセットするようにしている。換言すれば、当該電子制御装置に少しでも異常があるとみなされる場合には、安全性を最優先して第1の処理装置をリセットするようにしているのである。
【0039】
そして、この電子制御装置では、第1の処理装置によるスロットル弁の開閉制御が停止されても、フェールセーフ手段により内燃機関の吸入空気が確保され、また、第2の処理装置が異常となっても、第3の処理装置により、内燃機関に対する燃料噴射及び点火が行われて内燃機関の運転が可能となる。
【0040】
よって、この電子制御装置によれば、異常に対する安全性と内燃機関の最低限の運転(延いては、車両の最低限の走行)とを、高い次元で両立させることができるのであるが、特に、第1及び第2の処理装置のうちの少なくとも何れか一方は、自己が外部からの入力データに応じて実行する特定の処理を、予め用意された疑似入力データに基づき所定のタイミングで実際に実行し、その処理結果と予め用意された期待値データとが一致していない場合に、自分自身が異常であると判定して、自己を監視する処理装置へ自分自身が異常であることを報知するように構成されている。
【0041】
このため、請求項10に記載の電子制御装置によれば、第1の処理装置及び/又は第2の処理装置に異常が生じていることをより確実に検出して、スロットル弁の制御を担う第1の処理装置をリセットすることができるようになり、車両用の内燃機関を制御する際の安全性・信頼性を一層向上させることができる。
【0042】
また、このような電子制御装置に対し、第1の処理装置にてスロットル弁の開閉を制御するための処理が正確に実行されているか否かを検査する検査手段を設け、更に、その検査手段により前記処理が正確に実行されていないと判断されると、制御停止手段が、第1の処理装置によるスロットル弁の開閉制御だけを停止させる、というように構成すれば、スロットル弁を不適当に制御してしまうことを防止しつつ、第1の処理装置では他の処理を継続して実行できるようになり、安全性を確保しながら最大限の処理を実施できる。
【0043】
【発明の実施の形態】
以下、本発明が適用された実施例について図面を用いて説明する。尚、本発明の実施の形態は、下記の実施例に何ら限定されることなく、本発明の技術的範囲に属する限り、種々の形態を採り得ることは言うまでもない。
【0044】
[第1実施例]
まず図1は、車両に搭載された内燃機関を制御する、第1実施例のエンジン制御装置2及びその周辺装置の構成を表す構成図である。尚、本実施例のエンジン制御装置2は、内燃機関の点火時期や内燃機関の吸気経路(以下、吸気系という)4に設けられたスロットル弁6等を制御するものであるが、ここでは、スロットル弁6の制御に関する部分について説明する。
【0045】
図1に示すように、本実施例のエンジン制御装置(以下単に、制御装置という)2は、アクセルペダル8の開度(以下、ペダル開度という)を検出するペダル開度センサ10からの信号,車両の自動変速機を制御するトランスミッション制御装置(トランスミッションECU)12からの自動変速機のギア位置を示す信号,及び,内燃機関の冷却水温を検出する水温センサ14からの信号等を入力し、それら各信号をデジタル処理可能な信号に夫々変換して出力する入力回路16を備えている。
【0046】
そして、制御装置2は、内燃機関を制御するためのプログラムが予め内蔵されたROM18と、ROM18に内蔵されたプログラムに従って、内燃機関を制御するための様々な制御処理を実行するメインCPU20と、メインCPU20の処理結果を一時記憶するためのRAM22と、メインCPU20からの駆動指令に応じて、スロットル弁6の開度を調節するためのスロットルモータ24を作動させる出力回路26とを備えている。
【0047】
また更に、制御装置2は、メインCPU20の動作が正常であるか否かを監視するためのプログラムが予め内蔵されたROM28と、ROM28に内蔵されたプログラムに従って、メインCPU20の動作を監視するための処理を実行するサブCPU30と、サブCPU30の処理結果を一時記憶するためのRAM32と、サブCPU30からウォッチドックパルスW/D2が定期的に出力されているか否かを監視し、ウォッチドックパルスW/D2の出力が停止すると、サブCPU30にリセット信号RST2を出力する監視IC34とを備えている。
【0048】
そして、本実施例の制御装置2においては、メインCPU20が、後述する図2の処理を実行することにより、入力回路16からの上記各信号に基づきスロットル弁6の制御開度(以下、スロットル開度という)を算出し、その算出したスロットル開度に応じた駆動指令を出力回路26に出力する。すると、出力回路26によってスロットルモータ24が作動され、その駆動力により開度調節器36が作動して、スロットル弁6の開度が変化するようになっている。
【0049】
尚、開度調節器36は、アクセルペダル8とスロットル弁6とをワイヤやリンク機構等を介して機械的に連結するメカ駆動系と、スロットルモータ24の作動に応じてスロットル弁6の開度を調節する電子制御系とを形成し、更に、スロットルモータ24の作動によるスロットル弁6の最大開度をアクセルペダル8の踏込量に応じた開度以下に規制するガード機能を備えた周知のものである。よって、スロットル弁6の開度は、当該制御装置2によって、アクセルペダル8の踏込量に応じた開度の範囲内で制御されることとなる。また、当該制御装置2がスロットル弁6に対する開度制御を停止しても、スロットル弁6の開度は、運転者によるアクセルペダル8の踏込量に応じて調節可能である。
【0050】
また、本実施例の制御装置2においては、入力回路16からメインCPU20に入力される上記各信号が、サブCPU30にも入力されており、更に、サブCPU30とメインCPU20とは、シリアル通信ライン38によって、通信可能に接続されている。
【0051】
そして、サブCPU30は、メインCPU20からウォッチドックパルスW/D1が定期的に出力されているか否かを監視して、ウォッチドックパルスW/D1の出力が停止するとメインCPU20にリセット信号RST1を出力する、通常のウォッチドックパルスによる監視を行うと共に、後述する図4の監視処理を実行することにより、メインCPU20が正常に動作しているか否かを詳細に監視する。そして更に、サブCPU30は、後述する図5のロジック判定処理を実行することにより、自分自身が上記監視処理を正確に実行できているか否かをチェックするようにしている。
【0052】
尚、図1に示すように、サブCPU30が処理を実行する際にアクセスするRAM32は、処理の最終結果を格納するための制御データRAM32cと、上記最終結果を導出する際の途中の処理結果を格納するためのワークRAM32wとに区別されている。
【0053】
次に、メインCPU20とサブCPU30とが夫々実行する処理について説明する。
まず図2は、メインCPU20が実行する処理(メインCPU処理)を表すフローチャートである。尚、このメインCPU処理は、車両のイグニッションスイッチ(図示省略)がオンされると実行が開始される。また、図2において、ステップ120〜ステップ150の処理は、常時繰り返して実行されるように表されているが、実際には予め定められた所定時間毎に実行される。
【0054】
図2に示すように、メインCPU20が当該処理の実行を開始すると、まず、ステップ(以下単に「S」と記す)110にて、内部の諸データを初期化するための初期化処理を実行する。
そして、続くS120にて、入力回路16からの信号に基づき、内燃機関の冷却水温(以下単に、水温ともいう),ペダル開度,及び自動変速機のギア位置を検出し、その各検出値を表すデータを所定の演算式fに代入することにより、制御目標値であるスロットル開度を算出する。
【0055】
そして、次のS130にて、シリアル通信ライン38を介してサブCPU30から指令信号としての制御停止指令が送信されて来たか否か(換言すれば、制御停止指令を受信したか否か)を判定し、制御停止指令を受信していなければ、S140に進む。そして、このS140にて、S120で算出したスロットル開度に応じた駆動指令を出力回路26に出力して、スロットル弁6の実際の開度が上記算出したスロットル開度となるようにスロットルモータ24を制御し、その後S120へ戻る。
【0056】
これに対し、S130にて、サブCPU30からの制御停止指令を受信したと判定した場合には、S150に移行して、スロットルモータ24の制御を停止し、その後S120へ戻る。
つまり、メインCPU20は、内燃機関の冷却水温,ペダル開度,及び自動変速機のギア位置に基づきスロットル開度を算出し(S120)、通常時には、スロットル弁6の開度が上記算出したスロットル開度となるようにスロットルモータ24を制御するのであるが(S140)、サブCPU30からの制御停止指令を受けると(S130:YES)、スロットルモータ24の制御を停止して(S150)、スロットル弁6の開度がアクセルペダル8の踏込量だけに応じて調節される無制御状態の動作モード(異常発生時の動作モード)に移行するようにしている。
【0057】
一方、メインCPU20は、上記S120で算出したスロットル開度を、図示しない一定時間毎の割り込み処理により、シリアル通信ライン38を介してサブCPU30へ送信するようにしている。尚、サブCPU30からの上記制御停止指令も、この割り込み処理によって受信する。
【0058】
次に、図3は、サブCPU30が実行する処理(サブCPU処理)を表すフローチャートである。尚、このサブCPU処理も、車両のイグニッションスイッチがオンされると実行が開始される。また、図3において、S300〜S500の処理は、常時繰り返して実行されるように表されているが、実際には予め定められた所定時間毎に実行される。
【0059】
図3に示すように、サブCPU30は、当該処理の実行を開始すると、まずS200にて、内部の諸データを初期化するための初期化処理を実行する。そして、続くS300にて、メインCPU20が正常に動作しているか否かを監視するための図4に示す監視処理(メインCPUの監視処理)を実行する。
【0060】
即ち、図4に示す如く監視処理の実行が開始されると、まずS310にて、入力回路16からの信号に基づき、内燃機関の冷却水温,ペダル開度,及び自動変速機のギア位置を検出し、その各検出値を表すデータと、メインCPU20から前述の如く送信されて来るスロットル開度(以下、メインCPUスロットル開度という)とを、外部からの入力データとして、ワークRAM32w内の記憶領域WT,WP,WG,WMSに夫々格納する。尚、本実施例では、上記各記憶領域WT,WP,WG,WMSが、データ記憶領域に相当しており、水温を示すデータが記憶領域WTに格納され、ペダル開度を示すデータが記憶領域WPに格納され、ギア位置を示すデータが記憶領域WGに格納され、メインCPUスロットル開度を示すデータが記憶領域WMSに格納される。
【0061】
そして、次のS320にて、メインCPU20の動作が正常であるか否かを判定するための監視サブルーチンをコールして実行する。
この監視サブルーチンの実行が開始されると、まずS322にて、ワークRAM32wの記憶領域WT,WP,WGに夫々格納されているデータ(つまり、水温,ペダル位置,及びギア位置を夫々示すデータ)を、メインCPU20が図2のS120でスロットル開度を算出するのに用いる式と全く同じ演算式fに代入して、制御目標値であるスロットル開度を算出し、その算出したスロットル開度を、ワークRAM32w内の記憶領域WSSに格納する。
【0062】
そして、続くS324にて、記憶領域WSSに格納したスロットル開度(即ち、自己が算出したスロットル開度)と、記憶領域WMSに格納されているメインCPUスロットル開度(即ち、メインCPU20が算出したスロットル開度)とが一致しているか否かを判定し、両スロットル開度が一致していると判定した場合には、続くS326にて、ワークRAM32w内の記憶領域WHに、メインCPU20が正常であることを示す判定データを格納して、当該監視サブルーチンの実行を終了する。
【0063】
一方、S324にて、2つの記憶領域WSS,WMSに格納された両スロットル開度が一致していないと判定した場合には、S328に移行して、上記記憶領域WHに、メインCPU20が異常であることを示す判定データを格納して、当該監視サブルーチンの実行を終了する。
【0064】
このようにして監視サブルーチンの実行が終わると、メインCPUの監視処理では、次のS330に進み、監視サブルーチンを実行したことによりワークRAM32wの記憶領域WSSに格納されたスロットル開度の算出結果を、制御データRAM32c内の記憶領域CSSに格納すると共に、監視サブルーチンを実行したことによりワークRAM32wの記憶領域WHに格納された判定データ(以下、判定結果という)を、制御データRAM32c内の記憶領域CHに格納する。尚、本実施例では、制御データRAM32c内の上記各記憶領域CSS,CHが、特定の記憶領域に相当している。
【0065】
そして、続くS340にて、制御データRAM32cの記憶領域CHに格納された判定結果が、異常を示しているか否かを判定し、異常を示していない場合には、当該監視処理をそのまま終了する。
また、S340にて肯定判定した場合、即ち上記記憶領域CHに格納された判定結果が異常を示していると判定した場合には、S350に進み、S340での肯定判定が所定回数だけ継続したか否かを判定する。そして、所定回数だけ継続していなければ、当該監視処理をそのまま終了するが、所定回数継続した場合には、S360に進んで、メインCPU20へ前述した制御停止指令を送信して、その後、当該監視処理を終了する。
【0066】
つまり、この監視処理では、ワークRAM32wの記憶領域WT,WP,WG,WMSに、夫々、水温,ペダル位置,ギア位置,及びメインCPUスロットル開度を示すデータを格納して(S310)、監視サブルーチンをコールすることにより(S320)、メインCPU20と全く同様に制御目標値であるスロットル開度を算出すると共に、その算出したスロットル開度とメインCPU20が算出したスロットル開度(メインCPUスロットル開度)とを比較して、メインCPU20の動作が正常であるか否かを判定するようにしている。
【0067】
そして、監視サブルーチンを実行したことによる処理結果であるスロットル開度の算出結果と、メインCPU20の動作が正常であるか否かの判定結果とを、制御データRAM32c内の記憶領域CSS,CHに夫々格納し(S330)、記憶領域CHに格納された判定結果が所定回数継続して異常を示している場合には(S340及びS350:YES)、メインCPU20へ制御停止指令を送信して、メインCPU20の動作モードを、スロットル弁6に対する無制御状態の動作モードに移行させるようにしている(S360)。
【0068】
このようにして監視処理の実行が終了すると、図3に示すようにサブCPU処理では、S400に進む。そして、このS400にて、本実施例に特有の図5に示すロジック判定処理を実行する。
即ち、図5に示す如くロジック判定処理の実行が開始されると、まずS410にて、ROM28に予め内蔵されたダミーデータマップを読み込む。
【0069】
ここで、このダミーデータマップは、当該サブCPU30によって所定のサブルーチンが正確に実行されるか否かをチェックするために設けられたものであり、図6に示すように、予め値が設定された疑似入力データとしてのダミー入力データと、チェック対象のサブルーチン(チェックサブルーチン)を示すチェックサブルーチン名と、ダミー入力データに基づきチェックサブルーチンを実行した場合に得られるべきである処理結果としての期待値データとから構成されている。
【0070】
そして、本実施例では、当該ロジック判定処理によって、図4の監視処理でコールされる監視サブルーチンの実行状態をチェックするようにしているため、図6に示すように、ダミーデータマップのチェックサブルーチン名は、「監視サブルーチン」となっている。そして、ダミー入力データとしては、水温のダミー入力データであるダミー値1と、ペダル開度のダミー入力データであるダミー値2と、ギア位置のダミー入力データであるダミー値3と、メインCPUスロットル開度のダミー入力データであるダミー値4とが用意されており、これらに対応して、期待値データとしては、スロットル開度の期待値データである期待値1と、メインCPU20が正常であるか否かの判定結果の期待値データである期待値2とが用意されている。
【0071】
また、本実施例では、監視サブルーチンの実行時にS324で肯定判定されてS326の処理が正確に行われるか否かを検査するための図6(A)に示すダミーデータマップ1と、逆にS324で否定判定されてS328の処理が正確に行われるか否かを検査するための図6(B)に示すダミーデータマップ2との、2つのダミーデータマップがROM28に内蔵されており、上記S410では、その実行毎に、ダミーデータマップ1,2を1つずつ読み込むようにしている。
【0072】
そして、ロジック判定処理では、S410でダミーデータマップを読み込むと、続くS420にて、S410で読み込んだダミーデータマップに用意された4つのダミー値1,2,3,4を、夫々、ワークRAM32w内の記憶領域WT,WP,WG,WMSに格納し、続くS430にて、S410で読み込んだダミーデータマップのチェックサブルーチン名に対応するサブルーチン(即ち、本実施例では図4に示したS322〜S328の監視サブルーチン)をコールして実行する。
【0073】
すると、この場合の監視サブルーチンの実行においては、まずS322にて、ワークRAM32wの記憶領域WT,WP,WGに夫々格納されたダミー値1,2,3に基づきスロットル開度を算出して、その算出値をワークRAM32wの記憶領域WSSに格納することとなり、続くS324では、上記記憶領域WSSに格納したダミー値1,2,3に基づくスロットル開度と、ワークRAM32wの記憶領域WMSに格納されたダミー値4とが一致しているか否かを判定することとなる。そして、S324の分岐判定に応じてS326或いはS328の処理を実行し、ワークRAM32wの記憶領域WHに、メインCPU20が正常或いは異常であることを示す判定結果を格納することとなる。
【0074】
このようにして監視サブルーチンの実行が終わると、次のS440にて、S410で読み込んだダミーデータマップに用意された2つの期待値1,2を、ワークRAM32w内の2つの記憶領域WKS,WKHに夫々格納する。
そして、続くS450にて、上記記憶領域WKSに格納された値(即ち、スロットル開度の期待値データである期待値1)と、ワークRAM32wの記憶領域WSSに格納されている値(即ち、監視サブルーチンのS322でダミー値1,2,3に基づき算出されたスロットル開度)とが一致しているか否かを判定し、2つの記憶領域WKS,WSSに格納されている値が一致していると判定した場合には、S460に進む。
【0075】
S460では、上記記憶領域WKHに格納された値(即ち、メインCPU20が正常であるか否かの判定結果の期待値データである期待値2)と、ワークRAM32wの記憶領域WHに格納されている値(即ち、監視サブルーチンにおけるS324の分岐判定に応じて記憶領域WHに格納された判定結果)とが一致しているか否かを判定し、2つの記憶領域WKH,WHに格納されている値が一致していると判定した場合には、そのままS470進む。
【0076】
そして、S470では、ROM28内に他のダミーデータマップが有るか否かを判定し、他のダミーデータマップが有る場合には、S410に戻って、そのダミーデータマップを読み込む。また、S470で他のダミーデータマップが無いと判定した場合には、当該ロジック判定処理を終了する。
【0077】
一方、S450にて、2つの記憶領域WKS,WSSに格納されている値が一致していないと判定するか、或いは、S460にて、2つの記憶領域WKH,WHに格納されている値が一致していないと判定した場合には、監視サブルーチンが正確に実行されていないと判断して、S480に移行する。そして、このS480にて、制御データRAM32c内のフェールセーフ実施フラグをセット(オン)し、その後、前述したS470に進んで、他のダミーデータマップが有ればS410に戻り、他のダミーデータマップが無ければ当該ロジック判定処理を終了する。
【0078】
このようにしてロジック判定処理の実行が終了すると、図3に示すようにサブCPU処理では、S500に進む。そして、このS500にて、フェールセーフ実施フラグがセット(オン)されているか否かを判定し、フェールセーフ実施フラグがセットされていなければ、S300に戻って、メインCPUの監視処理を再び実行する。
【0079】
これに対し、S500でフェールセーフ実施フラグがセットされていると判定した場合には、S300に戻ることなくS600に移行して、監視IC34へ定期的に出力しているウォッチドックパルスW/D2を停止する。すると、当該サブCPU30は、やがて監視IC34から出力されるリセット信号RST2によってリセットされ、その後、図3のサブCPU処理を最初のS200から再度実行することとなる。
【0080】
次に、図5のロジック判定処理により、図4に示した監視サブルーチンの実行状態がどの様にチェックされるかについて、具体的に説明する。
まず、ロジック判定処理のS410で、図6(A)のダミーデータマップ1が読み込まれた場合について説明する。
【0081】
この場合には、S420にて、ワークRAM32wの記憶領域WTに、水温のダミー入力データとして「40℃」が格納され、ワークRAM32wの記憶領域WPに、ペダル開度のダミー入力データとして「2.0deg」が格納され、ワークRAM32wの記憶領域WGに、ギア位置のダミー入力データとして「パーキング」が格納され、ワークRAM32wの記憶領域WMSに、メインCPUスロットル開度のダミー入力データとして「2.5deg」が格納される。
【0082】
ここで、図6(A)のダミーデータマップ1にて、スロットル開度の期待値データ(期待値1)が「2.5deg」に設定されていることから分かるように、メインCPU処理のS120及び監視サブルーチンのS322で用いられている演算式fに、ダミーデータマップ1で用意された水温=「40℃」,ペダル開度=「2.0deg」,ギア位置=「パーキング」のダミー入力データを代入すると、算出されるスロットル開度は「2.5deg」となるはずである。
【0083】
よって、S430で監視サブルーチンがコールされて、監視サブルーチンのS322が正確に実行されたならば、そのS322でワークRAM32wの記憶領域WSSに格納されるスロットル開度は「2.5deg」となる。また更に、監視サブルーチンのS324以降も正確に実行されたならば、この時、ワークRAM32wの記憶領域WMSには、メインCPUスロットル開度のダミー入力データとして「2.5deg」が格納されているため、S324にて、ワークRAM32wの記憶領域WSSと記憶領域WMSとに夫々格納されているスロットル開度が一致していると肯定判定され、S326にて、ワークRAM32wの記憶領域WHに、メインCPU20が正常であることを示す判定結果が格納されることとなる。
【0084】
一方、監視サブルーチンを実行した後のS440では、ワークRAM32wの記憶領域WKSに、スロットル開度の期待値データとして「2.5deg」が格納され、また、ワークRAM32wの記憶領域WKHに、判定結果の期待値データとして「正常」が格納される。
【0085】
従って、前述したように監視サブルーチンの全ステップが正確に実行されたならば、ロジック判定処理では、S450にて、ワークRAM32wの記憶領域WKSに格納された値(スロットル開度の期待値データ=「2.5deg」)と、ワークRAM32wの記憶領域WSSに格納されている値(監視サブルーチンのS322で算出されたスロットル開度=「2.5deg」)とが一致していると肯定判定され、続く460にて、ワークRAM32wの記憶領域WKHに格納された値(判定結果の期待値データ=「正常」)と、ワークRAM32wの記憶領域WHに格納されている値(監視サブルーチンのS324で肯定判定されてS326で記憶領域WHに格納された判定結果=「正常」)とが一致していると肯定判定され、この結果、監視サブルーチンが正確に実行されていると判断される。
【0086】
これに対して、例えば監視サブルーチンのS322が正確に実行されなければ、そのS322でワークRAM32wの記憶領域WSSに格納されるスロットル開度が「2.5deg」とならないため、ロジック判定処理のS450で否定判定される。また、監視サブルーチンのS322が正確に実行されたとしても、S324の判定処理で正確に肯定判定されなかったり、S326の処理が確実に実行されなければ、ワークRAM32wの記憶領域WHに、メインCPU20が正常であることを示す判定結果が格納されないため、ロジック判定処理のS460で否定判定される。
【0087】
そして、上記S450或いはS460で否定判定されると、監視サブルーチンが正確に実行されていないと判断されて、S480でフェールセーフ実施フラグがセットされ、前述したように、当該サブCPU30が監視IC34によってリセットされる。
【0088】
つまり、ダミーデータマップ1に用意されたダミー入力データは、監視サブルーチンにおいてS324で肯定判定される場合の処理経路(S322→S324:YES→S326)が実行されるように設定されており、ロジック判定処理のS410でダミーデータマップ1を読み込んだ場合には、S324で肯定判定される場合の上記処理経路が全て正確に実行されて初めて、監視サブルーチンが正確に実行されたと判断される。
【0089】
次に、ロジック判定処理のS410で、図6(B)のダミーデータマップ2が読み込まれた場合には、S420にて、ワークRAM32wの記憶領域WTに、水温のダミー入力データとして「60℃」が格納され、ワークRAM32wの記憶領域WPに、ペダル開度のダミー入力データとして「7.0deg」が格納され、ワークRAM32wの記憶領域WGに、ギア位置のダミー入力データとして「3速」が格納され、ワークRAM32wの記憶領域WMSに、メインCPUスロットル開度のダミー入力データとして「10.0deg」が格納される。
【0090】
ここで、図6(B)のダミーデータマップ2にて、スロットル開度の期待値データ(期待値1)が「8.0deg」に設定されていることから分かるように、メインCPU処理のS120及び監視サブルーチンのS322で用いられている演算式fに、ダミーデータマップ2で用意された水温=「60℃」,ペダル開度=「7.0deg」,ギア位置=「3速」のダミー入力データを代入すると、算出されるスロットル開度は「8.0deg」となるはずである。
【0091】
よって、S430で監視サブルーチンがコールされて、監視サブルーチンのS322が正確に実行されたならば、そのS322でワークRAM32wの記憶領域WSSに格納されるスロットル開度は「8.0deg」となる。また更に、監視サブルーチンのS324以降も正確に実行されたならば、この時、ワークRAM32wの記憶領域WMSには、メインCPUスロットル開度のダミー入力データとして「10.0deg」が格納されているため、S324にて、ワークRAM32wの記憶領域WSSと記憶領域WMSとに夫々格納されているスロットル開度が一致していないと否定判定され、S328にて、ワークRAM32wの記憶領域WHに、メインCPU20が異常であることを示す判定結果が格納されることとなる。
【0092】
一方、監視サブルーチンを実行した後のS440では、ワークRAM32wの記憶領域WKSに、スロットル開度の期待値データとして「8.0deg」が格納され、また、ワークRAM32wの記憶領域WKHに、判定結果の期待値データとして「異常」が格納される。
【0093】
従って、前述したように監視サブルーチンの全ステップが正確に実行されたならば、ロジック判定処理では、S450にて、ワークRAM32wの記憶領域WKSに格納された値(スロットル開度の期待値データ=「8.0deg」)と、ワークRAM32wの記憶領域WSSに格納されている値(監視サブルーチンのS322で算出されたスロットル開度=「8.0deg」)とが一致していると肯定判定され、続く460にて、ワークRAM32wの記憶領域WKHに格納された値(判定結果の期待値データ=「異常」)と、ワークRAM32wの記憶領域WHに格納されている値(監視サブルーチンのS324で否定判定されてS328で記憶領域WHに格納された判定結果=「異常」)とが一致していると判定され、この結果、監視サブルーチンが正確に実行されていると判断される。
【0094】
これに対して、例えば監視サブルーチンのS322が正確に実行されなければ、そのS322でワークRAM32wの記憶領域WSSに格納されるスロットル開度が「8.0deg」とならないため、ロジック判定処理のS450で否定判定される。また、監視サブルーチンのS322が正確に実行されたとしても、S324の判定処理で正確に否定判定されなかったり、S328の処理が確実に実行されなければ、ワークRAM32wの記憶領域WHに、メインCPU20が異常であることを示す判定結果が格納されないため、ロジック判定処理のS460で否定判定される。
【0095】
そして、ダミーデータマップ1の場合と全く同様に、上記S450或いはS460で否定判定されると、監視サブルーチンが正確に実行されていないと判断されて、S480でフェールセーフ実施フラグがセットされ、当該サブCPU30が監視IC34によってリセットされる。
【0096】
つまり、ダミーデータマップ2に用意されたダミー入力データは、監視サブルーチンにおいてS324で否定判定される場合の処理経路(S322→S324:NO→S328)が実行されるように設定されており、ロジック判定処理のS410でダミーデータマップ2を読み込んだ場合には、S324で否定判定される場合の上記処理経路が全て正確に実行されて初めて、監視サブルーチンが正確に実行されたと判断される。
【0097】
そして、このようにロジック判定処理のS410でダミーデータマップ2を読み込んだ場合と、前述の如くダミーデータマップ1を読み込んだ場合との、2通りのチェックにより、監視サブルーチンの全経路の処理が正確に実行されるか否かが検査されるのである。
【0098】
尚、本実施例では、ROM28に内臓された監視サブルーチン(S322〜S328)を構成するプログラムデータとサブCPU30自体が、予め定められた処理を実行する処理手段に相当しており、サブCPU30が実行する監視処理中のS310,S320,及びS330が、処理実行制御手段に相当し、サブCPU30が実行する監視処理中のS340,S350,及びS360が、信号出力手段に相当している。そして、ダミーデータマップ1,2を内臓するROM28が、検査データ記憶手段に相当し、サブCPU30が実行するロジック判定処理(S410〜S480)及びサブCPU処理中のS500,S600が、検査実行手段に相当している。
【0099】
以上詳述したように、本実施例の制御装置2では、内燃機関を実際に制御するメインCPU20とは別にサブCPU30を設けており、このサブCPU30が、メインCPUの監視処理(図4)にて、監視サブルーチンをコールして実行することにより、メインCPU20の動作が正常であるか否かを監視し、メインCPU20の動作が異常であると判断すると、メインCPU20へ制御停止指令を送信して、メインCPU20が不適当な制御を行うことを防止している。
【0100】
そして特に、本実施例の制御装置2では、サブCPU30が監視サブルーチンを実行する際のパラメータである水温,ペダル位置,ギア位置,及びメインCPUスロットル開度のダミー入力データと、そのダミー入力データに基づき監視サブルーチンを実行した場合に得られるべきである処理結果としての期待値データとを、ダミーデータマップ1,2として予めROM28に内臓しており、サブCPU30が、上記監視処理と交互に実行するロジック判定処理(図5)にて、ワークRAM32wの記憶領域WT,WP,WG,WMSにダミー入力データを格納して(S420)、監視サブルーチンをコールし(S430)、その処理結果と上記期待値データとが一致していなければ、監視サブルーチンが正確に実行されていないと判断するようにしている(S450:NO,S460:NO)。
【0101】
このような本実施例の制御装置2によれば、監視サブルーチンを実際にコールして実行することで、監視サブルーチンが正確に実行されているか否かを判定することができるため、監視サブルーチンを構成するROM28内のプログラムデータやサブCPU30の機能に異常が生じてメインCPU20を監視するための処理を正確に実行できなくなったことを、確実に検出することができる。
【0102】
そして、本実施例のサブCPU30では、監視サブルーチンが正確に実行されていないと判断すると、監視処理の実行を止めてメインCPU20へ制御停止指令を送信しないようにすると共に、監視IC34へのウォッチドックパルスW/D2を停止して、自分(サブCPU30)が監視IC34によってリセットされるようにしている(S480,S500:YES,S600)。
【0103】
従って、本実施例の制御装置2によれば、メインCPU20が正常であるにもかかわらず、メインCPU20へ制御停止指令を誤って送信してしまうことを防止でき、メインCPU20の動作状態を監視する際の信頼性を向上させることができる。
【0104】
また、本実施例のサブCPU30では、既述したように、図4の監視処理において、監視サブルーチンの処理結果であるスロットル開度の算出結果とメインCPU20の動作が正常であるか否かの判定結果とを、ワークRAM32wとは異なる制御データRAM32c内の記憶領域CSS,CHに夫々格納し(S330)、その制御データRAM32c内の記憶領域CHに格納された判定結果に基づいて、メインCPU20へ制御停止指令を送信するか否かを決定するようにしている(S340〜S360)。
【0105】
このような本実施例のサブCPU30によれば、監視処理におけるS340〜S360の処理を、どの様なタイミングで実行するようにしても、制御停止指令は、外部からの本来の入力データに基づき監視サブルーチンが実行された場合の処理結果だけに基づいて送信されることとなり、ダミー入力データを用いて監視サブルーチンを実行することによる影響を完全に無くすことができる。また、例えば、制御データRAM32c内の記憶領域CSSに格納されたスロットル開度の算出結果に基づき、図示しない他の処理を実行して所定の信号を出力する場合には、その処理をどの様なタイミングで実行するようにしても、出力される信号は、外部からの本来の入力データに応じたものとなり、ダミー入力データを用いて監視サブルーチンを実行することによる影響を完全に無くすことができる。
【0106】
一方更に、本実施例では、監視サブルーチンにおいてS324で肯定判定される場合の処理経路が実行されるように設定されたダミー入力データを有するダミーデータマップ1と、監視サブルーチンにおいてS324で否定判定される場合の処理経路が実行されるように設定されたダミー入力データを有するダミーデータマップ2との、2種類のダミーデータマップをROM28内に用意して、監視サブルーチンの全経路の処理が正確に実行されるか否かを検査するようにしている。よって、監視サブルーチンを正確に実行できなくなったことを、一層確実に検出することができる。
【0107】
また、本実施例のサブCPU30では、図5のロジック判定処理を所定時間毎に実行するようにしているため、当該サブCPU30が動作している途中で、監視サブルーチンのプログラムデータやサブCPU30の機能に異常が生じこと、即ち、メインCPU20を監視するための処理を正確に実行できなくなったことを、確実に検出できる。
【0108】
尚、上記実施例では、メインCPU20が正常か否かを監視するための監視サブルーチンの実行状態をチェックするようにしたが、チェックする対象のサブルーチンは、当然、他の処理を行うものでも良い。
また、メインCPU20で制御対象を制御するために実行される所定のサブルーチンの実行状態をチェックするために、メインCPU20が、図5のロジック判定処理と同様の処理を実行するようにしても良い。そして、このように構成すれば、制御処理が正確に実行されなくなったことを確実に検出することができ、制御の信頼性を大幅に向上させることができる。
【0109】
一方、チェック対象であるサブルーチンが、制御対象を制御する上などで非常に重要なものであれば、図5のロジック判定処理は、CPUが初期状態から動作を開始した直後に実行するようにしても良い。そして、このようにすれば、不適当な制御を行ってしまうことを、事前に且つ確実に防止することができる。
【0110】
また、上記実施例では、図5のS450にて、ダミー入力データに基づき算出されたスロットル開度(記憶領域WSS内の値)と、スロットル開度の期待値データ(記憶領域WKS内の値)とが、完全に一致しているか否かを判定するようにしたが、演算誤差を考慮して、両値の差が所定範囲内ならば正常と判定するようにしても良い。
【0111】
[第2実施例]
次に、図7は、第2実施例のエンジン制御装置40及びその周辺装置の構成を表す構成図であり、この制御装置40は、前述した第1実施例の制御装置2と比較して、ハードウェア上、主に以下の(1)〜(7)の点が異なっている。
【0112】
(1)入力回路16には、ペダル開度センサ10及び水温センサ14以外にも、内燃機関の排気経路に設けられたO2 センサ42,内燃機関のクランク軸が所定角度回転する毎にパルス信号を出力する回転角センサ44,内燃機関に生じたノッキングを検出するノックセンサ46,及び内燃機関の排気温度を検出する排気温センサ48などの、各種センサからの信号が入力されている。尚、これら各種センサからの信号は、第1実施例の場合と同様に、入力回路16を介して、メインCPU20とサブCPU30の両方に入力される。
【0113】
(2)トランスミッションECU12を始め、アンチスキッド制御を行う制御装置(以下、ABS・ECUという)50や、運転席正面のメータパネルの表示を制御する制御装置(以下、インパネECUという)52などの、他の電子制御装置と通信を行うための通信IC54を備えており、この通信IC54は、車両内でLANを構築するための通信ライン56を介して上記他の電子制御装置に接続されている。そして、メインCPU20が、通信IC54を介して、上記他の電子制御装置との間で情報交換を行い、その通信で取得した情報は、メインCPU20からシリアル通信ライン38を介してサブCPU30へも提供されるようになっている。
【0114】
(3)サブCPU30は、メインCPU20が正常に動作しているか否かを監視すると共に、内燃機関に対する燃料噴射制御や点火制御を行う。このため、当該制御装置40には、サブCPU30からの噴射指令に応じてインジェクタなどの燃料噴射装置60を駆動する出力回路58と、サブCPU30からの点火指令に応じてイグナイタなどの点火装置64を駆動する出力回路62とが設けられている。
【0115】
(4)監視IC34は、ウォッチドックパルスW/D2によるサブCPU30の監視を行うだけではなく、サブCPU30からのウォッチドックパルスW/D2が途絶えた場合に、サブCPU30に代わり上記両出力回路58,62へ予め定められた固定の噴射指令と点火指令をハードウェア的に出力して、車両の最低限の走行を確保するバックアップ機能を備えている。
【0116】
(5)制御装置40は、当該装置40に異常があるか否かを診断するための診断装置66と着脱自在に接続されるようになっており、このため上記診断装置66との間で通信を行うための通信回路68が設けられている。
(6)内燃機関の吸気系4には、スロットル弁6をバイパスするバイパス経路4aが設けられており、このバイパス経路4aにより所定量の空気が常に内燃機関へ供給されるようになっている。そして、このバイパス経路4aにより、スロットル弁6が全閉状態で停止するような異常が生じた場合でも、内燃機関を継続して動作させることが可能である。
【0117】
(7)サブCPU30の出力ポートのうち、メインCPU20へリセット信号RST1を出力するための出力ポートは、当該サブCPU30が監視IC34からのリセット信号RST2によってリセットされると、メインCPU20をリセットする側のレベルに初期化される。このため、サブCPU30がリセットされると、メインCPU20もリセットされることとなる。
【0118】
次に、本第2実施例の制御装置40においては、メインCPU20が、車両の運転性や安全性を向上させるための付加的な制御を実施し、サブCPU30が、車両を走行させるための基本的な制御を実施している。
そこで、メインCPU20とサブCPU30が夫々行う処理の内容について説明する。
【0119】
まず、メインCPU20は、第1実施例で説明した図2の処理を実行することで、内燃機関の冷却水温,ペダル開度,及び自動変速機のギア位置に基づき、スロットル弁6の開度を制御するが、この処理において、ペダル開度が「0」のとき、即ちアクセルペダル8が操作されていないときには、内燃機関のアイドル回転数が最適な回転数となるようにスロットル弁6の開度を制御する、いわゆるアイドルスピード制御(ISC)も行っている。
【0120】
また、メインCPU20は、通信ライン56及び通信IC54を介して、トランスミッションECU12から自動変速機のギア位置などの変速情報を取得すると共に、ABS・ECU50から車速情報を取得している。そして、その取得した情報に基づき、車両の運転状態に適したエンジントルクを発生するように(具体的には、例えば変速時のショックを和らげるように)スロットル弁6の開度を制御する、いわゆるトラクション制御も行っている。
【0121】
また更に、メインCPU20は、図示されないオートクルーズスイッチがオンされた場合に、ABS・ECU50からの車速情報に基づき、実際の車速が車両運転者により設定された目標車速となるようにスロットル弁6の開度を制御する、いわゆるオートクルーズ制御も行っている。
【0122】
一方、メインCPU20は、スロットル弁6に関する制御以外に、通信IC54を介してトランスミッションECU12などの他の電子制御装置と通信を行うための通信制御と、内燃機関の排気ガスを吸気系4に再循環させて排気ガスに含まれるNOx を低減する、いわゆるEGR(Exhaust Gas Recirculation )制御と、内燃機関の全回転域でトルク出力を有効に発生できるように内燃機関の吸排気バルブの開閉タイミングを制御する、いわゆる可変バルブタイミング(VVT:Variable Valve Timing )制御と、各種センサからのセンサ信号やサブCPU30からの情報などに基づき車両各部の状態を監視して異常がある場合にその異常情報を記憶し、前述した診断装置66が接続された場合に上記記憶した異常情報を通信回路68を介して診断装置66へ出力する、いわゆるダイアグノシス処理とを実施している。
【0123】
尚、EGR制御は、内燃機関の排気経路と吸気系4とを結ぶ連絡通路に設けられたEGR弁70を、所定条件の成立時に開弁駆動することにより行われる。また、VVT制御は、内燃機関の回転数や負荷に応じてVVT制御用のアクチュエータ72を駆動することにより行われるが、何等かの原因でメインCPU20の動作が停止した場合には、図示されないメカニカルな機構により、吸排気バルブの開閉タイミングは、走行に支障をきたさない所定のタイミングに設定されるようになっている。一方、メインCPU20は、サブCPU30からの制御停止指令を受けてスロットル弁6に対する制御を停止した場合には、通信IC54から通信ライン56を介してインパネECU52へ警告信号を出力し、その警告信号を受けたインパネECU52がメータパネルに配置された所定の警告灯Lを点灯させて、車両運転者に対し異常の発生を報知するようになっている。
【0124】
次に、サブCPU30は、図8に示す如く通常の燃料噴射制御処理(S700)と点火制御処理(S710)を繰り返し実行することにより、内燃機関に対する燃料噴射制御と点火制御を行っている。尚、サブCPU30は、点火制御を行う際に、ノックセンサ46からの信号に基づき内燃機関のノッキングを検出し、その検出結果に応じてノッキングが抑制されるように点火時期を補正する、いわゆるノック補正制御も行っている。そして、これらの制御と並行して、ウォッチドックパルスW/D1の有無によりメインCPU20の動作を監視する処理と、第1実施例で説明した図4及び図5の処理を含んだ図3の処理を実行している。
【0125】
そして更に、本第2実施例のサブCPU30は、メインCPU20がトラクション制御とオートクルーズ制御を夫々行うために実行する各処理に対しても、図3の処理と同様の処理を実行している。
つまり、サブCPU30は、メインCPU20にてトラクション制御用の処理が正確に実行されているか否かを監視する図4と同様の監視処理(以下、監視処理Aという)、及び、その監視処理Aを自分自身が正確に実行できているか否かを判定する図5と同様のロジック判定処理(以下、ロジック判定処理Aという)と、メインCPU20にてオートクルーズ制御用の処理が正確に実行されているか否かを監視する図4と同様の監視処理(以下、監視処理Bという)、及び、その監視処理Bを自分自身が正確に実行できているか否かを判定する図5と同様のロジック判定処理(以下、ロジック判定処理Bという)とを実行している。そして、図4の監視処理と同様に、上記各監視処理A,Bの何れかで異常の発生を判定すると、メインCPU20へ制御停止指令を送信してスロットル弁6に対する制御を中止させ、また、図5のロジック判定処理と同様に、上記各ロジック判定処理A,Bの何れかで監視処理A,Bを正確に実行できていないと判定すると、監視IC34へのウォッチドックパルスW/D2の出力を停止して、当該サブCPU30自身に異常が生じたことを報知する。
【0126】
以上のような本第2実施例の制御装置40においては、メインCPU20が、高い安全性が要求されるスロットル弁6の制御と、他の電子制御装置との通信制御,EGR制御,VVT制御,及びダイアグノシス処理といった付加価値向上のための制御を行っており、しかも、このようなメインCPU20の動作が停止しても、車両には大きな支障が無いようにフェールセーフのための手段が設けられている。
例えば、スロットル弁6の制御が停止しても、既述した開度調節器36のメカ駆動系により、アクセルペダル8の操作に応じてスロットル弁6を開閉させることができ、また、アクセルペダル8が操作されていない時には、吸気系4のバイパス経路4aにより、内燃機関をアイドル運転させることができる。一方、VVT制御が停止しても、前述したように、図示されないメカニカルな機構により、吸排気バルブの開閉タイミングは走行に支障をきたさない所定のタイミングに設定される。尚、通信制御,EGR制御,及びダイアグノシス処理といった制御が停止しても、内燃機関の動作に支障は無い。
【0127】
そして、本第2実施例の制御装置40においては、メインCPU20の動作を監視するサブCPU30が、燃料噴射制御及び点火制御といった内燃機関を動作させる上で必須の制御を行っており、このサブCPU30の動作を監視する監視IC34が、サブCPU30の異常時に出力回路58,62へ固定の噴射指令と点火指令を出力して、内燃機関の最低限の運転を確保するように構成されている。
【0128】
そして更に、本第2実施例の制御装置40においては、メインCPU20からサブCPU30へのウォッチドックパルスW/D1が停止すると、メインCPU20はサブCPU30からのリセット信号RST1によりリセットされる。また、サブCPU30から監視IC34へのウォッチドックパルスW/D2が停止すると、サブCPU30は監視IC34からのリセット信号RST2によりリセットされ、更にサブCPU30がリセットされると、上記(7)で述べたようにメインCPU20も数珠つなぎ的にリセットされる。
【0129】
つまり、スロットル弁6の制御には高い安全性が要求されるため、スロットル弁制御を行うメインCPU20を監視するサブCPU30が異常であると判断された場合には、サブCPU30だけではなくメインCPU20をもリセットするようにしている。換言すれば、当該制御装置40内に少しでも異常があるとみなされる場合には、安全性を最優先してメインCPU20をリセットするようにしているのである。
【0130】
そして、本第2実施例の制御装置40では、前述したように、メインCPU20によるスロットル弁6の制御が停止しても、開度調節器36のメカ駆動系と吸気系4のバイパス経路4aとにより、内燃機関の吸入空気が確保され、また、サブCPU30の動作が停止しても、監視IC34の機能により内燃機関の最低限の運転が可能となる。
【0131】
従って、この制御装置40によれば、異常に対する安全性と内燃機関の最低限の運転(車両の最低限の走行)とを、高い次元で両立させることができる。
即ち、本第2実施例のように、メインCPU20,サブCPU30,及び監視IC34からなる複数の処理装置を直列に接続すると共に、後段の処理装置が前段の処理装置の動作を監視して、異常を検出した時には、その異常を検出した処理装置よりも前段側の全ての処理装置がリセットされるように構成し、更に、高い安全性が要求されるスロットル弁6の制御処理を、最も前段側の処理装置に分担させると共に、内燃機関を動作させるために必要な制御処理を、より後段側の処理装置に分担させることで、異常発生時における安全性と最低限の運転性能とを確実に両立させることができるのである。
【0132】
そして特に、本第2実施例の制御装置40によれば、サブCPU30が実行する図5のロジック判定処理や、それと同様のロジック判定処理A,Bにより、当該制御装置40内の異常(この実施例ではサブCPU30自身の異常)をより確実に検出できるため、内燃機関を制御する際の安全性・信頼性を一層向上させることができる。
【0133】
また、本第2実施例の制御装置40では、サブCPU30が、図4の監視処理及び前述した監視処理A,Bを実行することにより、メインCPU20がスロットル弁6を正常に制御しているか否かを監視し、異常を検知した場合には、メインCPU20へ制御停止指令を送信してスロットル弁6に対する制御だけを停止させるようにしている。よって、メインCPU20にて通信制御やEGR制御などの他の制御は継続して実行されることとなり、安全性を確保しつつ最大限の処理を実行できる。
【0134】
尚、本第2実施例では、メインCPU20が第1の処理装置に相当し、サブCPU30が第2の処理装置に相当し、監視IC34が第3の処理装置に相当し、開度調節器36のメカ駆動系と吸気系4のバイパス経路4aがフェールセーフ手段に相当している。また、図4の監視処理におけるS360が、制御停止手段に相当し、図4の監視処理におけるS360以外が、検査手段に相当している。
【0135】
ところで、本第2実施例及び前述した第1実施例の制御装置2,40によれば、メインCPU20が図2のS120で算出するスロットル開度と、サブCPU30が監視サブルーチン(図4)のS322で算出するスロットル開度とが、両方共に同じ値であるが実際には不適切な値である、といった異常がある場合にも、その異常を確実に検出することができる。例えば、万一、メインCPU20とサブCPU30の各々でスロットル開度を算出するために用いられる演算式fのプログラムに、共通の誤りが含まれているような場合でも、その誤りをダミー入力データ及び期待値データを用いたロジック判定処理により検出できるのである。
【0136】
一方、本第2実施例でも、第1実施例と同様に、メインCPU20が正常か否かを監視するための監視サブルーチンの実行状態を、ロジック判定処理によりチェックするようにしたが、チェックする対象のサブルーチンは、当然、他の処理を行うものでも良い。
【0137】
また、メインCPU20で実行される所定のサブルーチンの実行状態をチェックするために、メインCPU20が、図5のロジック判定処理と同様の処理を実行し、その処理で異常を判定した場合に、サブCPU30へのウォッチドックパルスW/D1の出力を停止して、メインCPU20に異常が生じたことをサブCPU30へ報知するようにしても良い。
【図面の簡単な説明】
【図1】 第1実施例のエンジン制御装置及びその周辺装置の構成を表す構成図である。
【図2】 図1のメインCPUが実行する処理(メインCPU処理)を表すフローチャートである。
【図3】 図1のサブCPUが実行する処理(サブCPU処理)を表すフローチャートである。
【図4】 サブCPUが実行するメインCPUの監視処理及び監視サブルーチンを表すフローチャートである。
【図5】 サブCPUが実行するロジック判定処理を表すフローチャートである。
【図6】 サブCPUがロジック判定処理を実行する際に用いるダミーデータマップを説明する説明図である。
【図7】 第2実施例のエンジン制御装置及びその周辺装置の構成を表す構成図である。
【図8】 図7のサブCPUがエンジン制御のために実行する基本的な処理を説明するフローチャートである。
【符号の説明】
2,40…エンジン制御装置(制御装置) 4…吸気経路(吸気系)
4a…バイパス経路 6…スロットル弁
8…アクセルペダル 10…ペダル開度センサ
12…トランスミッション制御装置(トランスミッションECU)
14…水温センサ 16…入力回路 18,28…ROM
20…メインCPU 30…サブCPU 22,32…RAM
32c…制御データRAM 32w…ワークRAM
24…スロットルモータ 26,58,62…出力回路 34…監視IC
36…開度調節器 38…シリアル通信ライン
42…O2 センサ 44…回転角センサ 46…ノックセンサ
48…排気温センサ 50…ABS・ECU 52…インパネECU
54…通信IC 56…通信ライン 60…燃料噴射装置
64…点火装置 66…診断装置 68…通信回路 70…EGR弁
72…VVT制御用アクチュエータ

Claims (11)

  1. 車両用内燃機関の吸気経路に設けられたスロットル弁の開閉を制御する電子装置と、
    所定のデータ記憶領域に格納されたデータに基づき、前記電子装置の動作が正常であるか否かを監視するための処理を実行する処理手段と、
    外部からの入力データを前記データ記憶領域に格納して前記処理手段を作動させる処理実行制御手段と、
    を備えた電子制御装置において、
    前記処理手段が正常であるか否かを検査するべく予め値の設定された疑似入力データと、該疑似入力データに基づき前記電子装置の動作が正常であるか否かを監視するための処理を行った場合の処理結果を表す期待値データとを予め記憶する検査データ記憶手段と、
    前記処理実行制御手段が前記処理手段を作動させていない期間中の所定時に、前記検査データ記憶手段に記憶された前記疑似入力データを前記データ記憶領域に格納して前記処理手段を作動させ、その処理結果と前記検査データ記憶手段に記憶された前記期待値データとが一致していない場合に、前記処理手段が異常であると判定する検査実行手段と、
    を備えたことを特徴とする電子制御装置。
  2. 請求項1に記載の電子制御装置において、
    前記電子装置は、
    前記スロットル弁の開閉を制御するために必要な所定のデータを入力して、該入力したデータに基づき前記スロットル弁の開閉の制御目標値を算出し、該算出した制御目標値に応じて前記スロットル弁の開閉を制御すると共に、前記算出した制御目標値を表す算出データを外部へ出力するように構成されており、
    前記処理手段が実行する処理は、
    前記所定のデータに基づき前記電子装置が前記制御目標値を算出するのと同じ手順で前記制御目標値を算出する演算処理と、前記電子装置が出力する前記算出データの表す制御目標値と前記演算処理にて算出した制御目標値とを比較して、両制御目標値が一致していない場合に前記電子装置の動作が異常であると判定する判定処理とからなり、
    前記処理実行制御手段は、
    前記電子装置に入力される前記所定のデータと、前記電子装置から出力される前記算出データとを、前記入力データとして前記データ記憶領域に格納して前記処理手段を作動させ、
    更に、前記検査データ記憶手段には、
    前記疑似入力データとして、前記所定のデータに対応するものと、前記算出データに対応するものとが記憶されていると共に、前記期待値データとして、前記判定処理による判定結果に対応するものが記憶されており、
    前記検査実行手段は、
    前記処理手段が前記疑似入力データに基づき前記判定処理を実行したことによる判定結果と、前記検査データ記憶手段に記憶された前記判定結果に対応する期待値データとが一致していない場合に、前記処理手段が異常であると判定すること、
    を特徴とする電子制御装置。
  3. 請求項2に記載の電子制御装置において、
    前記検査データ記憶手段には、更に、
    前記期待値データとして、前記演算処理により算出される制御目標値に対応するものが記憶されており、
    前記検査実行手段は、更に、
    前記処理手段が前記疑似入力データに基づき前記演算処理を実行して算出した制御目標値と、前記検査データ記憶手段に記憶された前記制御目標値に対応する期待値データとが一致していない場合に、前記処理手段が異常であると判定すること、
    を特徴とする電子制御装置。
  4. 請求項1に記載の電子制御装置において、
    前記電子装置は、
    前記スロットル弁の開閉を制御するために必要な所定のデータを入力して、該入力したデータに基づき前記スロットル弁の開閉の制御目標値を算出し、該算出した制御目標値に応じて前記スロットル弁の開閉を制御すると共に、前記算出した制御目標値を表す算出データを外部へ出力するように構成されており、
    前記処理手段が実行する処理は、
    前記所定のデータに基づき前記電子装置が前記制御目標値を算出するのと同じ手順で前記制御目標値を算出する演算処理と、前記電子装置が出力する前記算出データの表す制御目標値と前記演算処理にて算出した制御目標値とを比較して、両制御目標値が一致していない場合に前記電子装置の動作が異常であると判定する判定処理とからなり、
    前記処理実行制御手段は、
    前記電子装置に入力される前記所定のデータと、前記電子装置から出力される前記算出データとを、前記入力データとして前記データ記憶領域に格納して前記処理手段を作動させ、
    更に、前記検査データ記憶手段には、
    前記疑似入力データとして、前記所定のデータに対応するものと、前記算出データに対応するものとが記憶されていると共に、前記期待値データとして、前記演算処理により算出される制御目標値に対応するものが記憶されており、
    前記検査実行手段は、
    前記処理手段が前記疑似入力データに基づき前記演算処理を実行して算出した制御目標値と、前記検査データ記憶手段に記憶された前記制御目標値に対応する期待値データとが一致していない場合に、前記処理手段が異常であると判定すること、
    を特徴とする電子制御装置。
  5. 請求項2又は請求項3に記載の電子制御装置において、
    前記検査データ記憶手段には、前記処理手段が前記判定処理により分岐される全ての経路の処理を実行するように夫々設定された複数の疑似入力データと、該各疑似入力データに夫々対応する複数の期待値データとが記憶されており、
    前記検査実行手段は、前記各疑似入力データのそれぞれを前記データ記憶領域に順次格納して、その度毎に前記処理手段を作動させ、その各処理結果と該各処理結果に夫々対応する前記期待値データとが一致していない場合に、前記処理手段が異常であると判定すること、
    を特徴とする電子制御装置。
  6. 請求項1ないし請求項5の何れか1項に記載の電子制御装置において、
    前記検査実行手段は、所定時間毎に、前記疑似入力データを前記データ記憶領域に格納して前記処理手段を作動させると共に、前記処理手段が正常であるか否かを判定すること、を特徴とする電子制御装置。
  7. 請求項1ないし請求項6の何れか1項に記載の電子制御装置において、
    前記処理手段による処理結果に基づき、前記電子装置へ信号を出力する信号出力手段を備えていることを特徴とする電子制御装置。
  8. 請求項に記載の電子制御装置において、
    前記処理実行制御手段は、外部からの入力データを前記データ記憶領域に格納して前記処理手段を作動させた際の該処理手段による処理結果を、前記データ記憶領域とは異なる特定の記憶領域に格納するように構成されており、
    前記信号出力手段は、前記特定の記憶領域に格納された前記処理手段による処理結果に基づき、前記電子装置へ信号を出力するように構成されていること、
    を特徴とする電子制御装置。
  9. 請求項7又は請求項8に記載の電子制御装置において、
    記信号出力手段は、前記処理手段による処理結果が、前記電子装置の動作が異常であることを示す場合に、前記信号として、前記電子装置の動作モードを異常発生時の動作モードに移行させるための指令信号を出力するように構成されており、
    更に、前記検査実行手段は、前記処理手段が異常であると判定すると、少なくとも前記信号出力手段の動作を停止させること、
    を特徴とする電子制御装置。
  10. 車両用内燃機関の吸気経路に設けられたスロットル弁の開閉を制御するための処理を少なくとも実行する第1の処理装置と、
    該第1の処理装置によるスロットル弁の開閉制御が停止された場合に、前記内燃機関の吸入空気を確保するフェールセーフ手段と、
    前記内燃機関に対する燃料噴射及び点火を制御するための処理を少なくとも実行すると共に、前記第1の処理装置が正常であるか否かを監視する第2の処理装置と、
    該第2の処理装置が正常であるか否かを監視して、異常であると判断すると前記第2の処理装置に代わって前記内燃機関に対する燃料噴射及び点火を制御する第3の処理装置とを備え、
    前記第2の処理装置により前記第1の処理装置が異常であると判断された場合には、前記第1の処理装置がリセットされ、前記第3の処理装置により前記第2の処理装置が異常であると判断された場合には、前記第2の処理装置と前記第1の処理装置とが両方共にリセットされるように構成された車両用の電子制御装置であって、
    更に、前記第1及び第2の処理装置のうちの少なくとも何れか一方は、自己が外部からの入力データに応じて実行する特定の処理を、予め用意された疑似入力データに基づき所定のタイミングで実行し、その処理結果と予め用意された期待値データとが一致していない場合に、自分自身が異常であると判定して、自己を監視する前記処理装置へ自分自身が異常であることを報知するように構成されていること、
    を特徴とする電子制御装置。
  11. 請求項10に記載の電子制御装置において、
    前記第1の処理装置にて前記スロットル弁の開閉を制御するための処理が正確に実行されているか否かを検査する検査手段と、
    該検査手段により前記処理が正確に実行されていないと判断されると、前記第1の処理装置によるスロットル弁の開閉制御だけを停止させる制御停止手段と、
    を備えたことを特徴とする電子制御装置。
JP07177397A 1996-07-15 1997-03-25 電子制御装置 Expired - Fee Related JP3991384B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP07177397A JP3991384B2 (ja) 1996-07-15 1997-03-25 電子制御装置
US08/892,125 US5980081A (en) 1996-07-15 1997-07-14 Control system having effective error detection capabilities
US09/215,302 US5966305A (en) 1996-07-15 1998-12-18 Control system having effective error detection capabilities

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP18509296 1996-07-15
JP8-185092 1996-07-15
JP07177397A JP3991384B2 (ja) 1996-07-15 1997-03-25 電子制御装置

Publications (2)

Publication Number Publication Date
JPH1083321A JPH1083321A (ja) 1998-03-31
JP3991384B2 true JP3991384B2 (ja) 2007-10-17

Family

ID=26412875

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07177397A Expired - Fee Related JP3991384B2 (ja) 1996-07-15 1997-03-25 電子制御装置

Country Status (2)

Country Link
US (2) US5980081A (ja)
JP (1) JP3991384B2 (ja)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4061694B2 (ja) * 1998-02-19 2008-03-19 株式会社デンソー 電子制御装置及び制御システム
JPH11249732A (ja) * 1998-03-05 1999-09-17 Suzuki Motor Corp 制御装置の通信方法及び通信装置
US6112148A (en) * 1998-12-18 2000-08-29 Cummins Engine Co., Inc. System and method for controlling diagnostic annunciators
JP4221857B2 (ja) * 1999-12-07 2009-02-12 株式会社デンソー 車載装置
KR100345115B1 (ko) * 1999-12-14 2002-07-24 현대자동차주식회사 로직 진단 방법
JP4267173B2 (ja) * 2000-05-01 2009-05-27 トヨタ自動車株式会社 異常診断システム
DE10030996B4 (de) * 2000-06-30 2010-07-22 Robert Bosch Gmbh Vorrichtung und Verfahren zur Steuerung von Betriebsabläufen, insbesondere bei einem Fahrzeug
US6470259B1 (en) * 2000-10-25 2002-10-22 Visteon Global Technologies, Inc. Electronic throttle control system
US6845467B1 (en) 2001-02-13 2005-01-18 Cisco Systems Canada Co. System and method of operation of dual redundant controllers
US6760653B2 (en) * 2001-05-15 2004-07-06 Trw Inc. Electric power assisted steering system having a single integrated circuit with two processors
KR100949659B1 (ko) * 2001-08-24 2010-03-26 루크 라멜렌 운트 쿠프룽스바우 베타일리궁스 카게 어댑터 커넥터
JP3967599B2 (ja) * 2002-01-28 2007-08-29 株式会社デンソー 車両用電子制御装置
JP3818218B2 (ja) * 2002-05-22 2006-09-06 トヨタ自動車株式会社 車両用電子制御装置
US6820604B2 (en) * 2003-01-09 2004-11-23 Robert Bosch Corporation System with an offset learn function and a method of determining a throttle-position sensor offset
JP4348950B2 (ja) * 2003-01-23 2009-10-21 株式会社デンソー 電子制御装置
JP2004259137A (ja) * 2003-02-27 2004-09-16 Denso Corp 電子制御装置
US7410710B2 (en) * 2003-04-04 2008-08-12 Texaco Inc. Firstout shutdown tracing for fuel processor control system
US7539903B2 (en) * 2003-06-30 2009-05-26 Siemens Aktiengesellschaft Method for monitoring the execution of a program by comparing a request with a response and introducing a falsification in a response
JP4209743B2 (ja) * 2003-08-08 2009-01-14 三菱電機株式会社 電子制御装置
DE10361465A1 (de) * 2003-12-23 2005-08-11 Endress + Hauser Gmbh + Co. Kg Prozessmessgerät mit erweiterter Hardwarefehlererkennung
JP4254577B2 (ja) * 2004-03-04 2009-04-15 株式会社デンソー 制御装置
JP4109238B2 (ja) * 2004-10-18 2008-07-02 トヨタ自動車株式会社 車輌用制御装置
JP2006338605A (ja) * 2005-06-06 2006-12-14 Denso Corp プログラム異常監視方法及びプログラム異常監視装置
DE102005060902A1 (de) * 2005-12-20 2007-06-28 Robert Bosch Gmbh Steuergerät für eine Maschine
JP4747930B2 (ja) * 2006-04-24 2011-08-17 トヨタ自動車株式会社 電子制御装置、及び、演算機能検査方法
JP2007328679A (ja) * 2006-06-09 2007-12-20 Omron Corp 多重化cpu暴走監視装置
JP2008123357A (ja) * 2006-11-14 2008-05-29 Honda Motor Co Ltd 並列計算機システム、並列計算方法および並列計算機用プログラム
JP4859803B2 (ja) * 2007-10-01 2012-01-25 日立オートモティブシステムズ株式会社 電動アクチュエータの制御装置
US8511305B2 (en) * 2007-10-29 2013-08-20 Smiths Medical Asd, Inc. Redundant power control for respiratory system heaters
US7912619B2 (en) * 2008-04-30 2011-03-22 Mtu Aero Engines Gmbh Engine regulation system and method for qualifying the components of the engine regulation system
US20100005342A1 (en) 2008-07-01 2010-01-07 Dambra Joseph J Redundant Error Detection in a Clinical Diagnostic Analyzer
DE102008034150A1 (de) 2008-07-22 2010-01-28 Continental Automotive Gmbh Sicherheitsüberwachung mit Hilfe von Verbindungsleitungen zwischen Steuergeräten eines Kraftfahrzeugs
EP2182331B1 (de) * 2008-11-04 2020-08-19 VEGA Grieshaber KG Auslagerung einer Komponente mit Auswirkung auf die Sicherheitsfunktion aus dem sicherheitsrelevanten Bereich
JP5218018B2 (ja) * 2008-12-18 2013-06-26 株式会社デンソー センサ装置
US8463483B2 (en) * 2010-02-12 2013-06-11 GM Global Technology Operations LLC Method and system for monitoring vehicle electrical systems
DE102010044280A1 (de) * 2010-09-02 2012-03-08 Conti Temic Microelectronic Gmbh Vorrichtung und Verfahren zur Regelung eines Doppelkupplungsgetriebes
US9921712B2 (en) 2010-12-29 2018-03-20 Mako Surgical Corp. System and method for providing substantially stable control of a surgical tool
US9119655B2 (en) 2012-08-03 2015-09-01 Stryker Corporation Surgical manipulator capable of controlling a surgical instrument in multiple modes
DE102011005766A1 (de) * 2011-03-18 2012-09-20 Zf Friedrichshafen Ag Steuergerät für ein Kraftfahrzeug
JP5360123B2 (ja) * 2011-04-22 2013-12-04 株式会社デンソー 車載電子制御装置、診断ツールおよび診断システム
JP6016258B2 (ja) * 2011-12-27 2016-10-26 ボッシュ株式会社 車両用エンジン制御装置
US9226796B2 (en) 2012-08-03 2016-01-05 Stryker Corporation Method for detecting a disturbance as an energy applicator of a surgical instrument traverses a cutting path
US9820818B2 (en) 2012-08-03 2017-11-21 Stryker Corporation System and method for controlling a surgical manipulator based on implant parameters
KR102603224B1 (ko) 2012-08-03 2023-11-16 스트리커 코포레이션 로봇 수술을 위한 시스템 및 방법
KR20150019836A (ko) * 2013-08-16 2015-02-25 현대모비스 주식회사 부팅 시 오류 검출 기능을 갖는 멀티미디어 장치 및 그 동작 방법
KR102352068B1 (ko) * 2014-08-04 2022-01-17 인텔 코포레이션 복수의 프로세서를 포함하는 기능 안전이 있는 애플리케이션을 위한 전자 시스템에서 프로그램을 실행하는 방법, 대응되는 시스템 및 컴퓨터 프로그램 제품
JP6540227B2 (ja) * 2015-05-21 2019-07-10 株式会社ジェイテクト 車両用制御装置
WO2018112025A1 (en) 2016-12-16 2018-06-21 Mako Surgical Corp. Techniques for modifying tool operation in a surgical robotic system based on comparing actual and commanded states of the tool relative to a surgical site
JP7251469B2 (ja) * 2019-12-26 2023-04-04 株式会社デンソー 電子制御装置
CN117544584B (zh) * 2024-01-09 2024-04-16 紫光恒越技术有限公司 基于双cpu架构的控制方法、装置、交换机及介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4049957A (en) * 1971-06-23 1977-09-20 Hitachi, Ltd. Dual computer system
US4503536A (en) * 1982-09-13 1985-03-05 General Dynamics Digital circuit unit testing system utilizing signature analysis
US4882669A (en) * 1983-11-28 1989-11-21 Canon Kabushiki Kaisha Multi computer fail safe control apparatus
US4803682A (en) * 1985-03-04 1989-02-07 Sanyo Electric Co., Ltd. Resetting system
US4791569A (en) * 1985-03-18 1988-12-13 Honda Giken Kogyo Kabushiki Kaisha Electronic control system for internal combustion engines
US5157780A (en) * 1990-06-12 1992-10-20 Advanced Micro Devices, Inc. Master-slave checking system
US5144230A (en) * 1990-11-26 1992-09-01 The Boeing Company Method and system for testing integrated circuits by cycle stealing
DE69202665T2 (de) * 1991-10-10 1995-09-21 Koyo Seiko Co Elektrische Servolenkung.
JP3325040B2 (ja) * 1992-04-27 2002-09-17 富士通テン株式会社 電子スロットル制御機構
US5360077A (en) * 1992-06-01 1994-11-01 Koyo Seiko Co., Ltd. Electric power steering apparatus
JP3284636B2 (ja) * 1993-02-04 2002-05-20 株式会社デンソー Cpuシステムの異常検出装置
JP3214792B2 (ja) * 1994-12-01 2001-10-02 富士通株式会社 異常通報装置検証用データ生成方法及び装置並びに異常通報装置検証方法及び装置
JPH08270488A (ja) * 1995-02-02 1996-10-15 Nippondenso Co Ltd エンジン制御装置

Also Published As

Publication number Publication date
US5980081A (en) 1999-11-09
US5966305A (en) 1999-10-12
JPH1083321A (ja) 1998-03-31

Similar Documents

Publication Publication Date Title
JP3991384B2 (ja) 電子制御装置
JP2574892B2 (ja) 自動車における負荷分担制御方法
US6135085A (en) Control apparatus for use in internal combustion engine
JP3505760B2 (ja) 車両の自己診断装置
US7765041B2 (en) Electronic control apparatus for vehicle and diagnosing method thereof
US7104259B2 (en) Diagnostic device for exhaust gas recirculation system
JPH07105801B2 (ja) 車両用通信制御装置
US20080288153A1 (en) Electronic Throttle Control Remedial Action Desensitization
JP4753085B2 (ja) 内燃機関の制御装置
JP4348950B2 (ja) 電子制御装置
KR100704322B1 (ko) 자동차 내 연산 소자를 모니터링하기 위한 방법 및 장치
JP5258880B2 (ja) 内燃機関の完全自動機能検査を行う方法および配置
JP3953542B2 (ja) 電子制御装置
JPS592102A (ja) 内燃機関の動作制御方式
JP7251469B2 (ja) 電子制御装置
CN115509207A (zh) 用于发动机超速保护开发的测试方法及其使用的测试设备
JP2659367B2 (ja) 排気ガス再循環装置の故障診断装置
JPH05263693A (ja) 電子式スロットル制御装置付きエンジンのフェイルセーフ装置
US11572059B2 (en) Method and control device for detecting, during the operation of a hybrid vehicle, whether combustion is taking place in an internal combustion engine of the hybrid vehicle
JP2565141B2 (ja) 自動車における負荷分担制御方法
KR100239648B1 (ko) Vvt의 고장 진단방법
JP2668037B2 (ja) 自動車用エンジン
JP2010052460A (ja) 車両の制御装置
JPS5911407A (ja) 学習制御システムを持つ自動車の診断装置
JPH06101561A (ja) 車速検出手段の異常検出装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051025

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060926

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: 20070703

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070716

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: 20100803

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110803

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120803

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130803

Year of fee payment: 6

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