(57)【要約】【課題】２つのコンピュータを備える電子制御装置において、一方のコンピュータにおける複数の診断処理が確実に実行されているかを他方のコンピュータによって直接的に監視すること。【解決手段】エンジン制御マイコン４が複数の診断処理を行なうとともに、その診断処理に関する情報（送信ＩＤ、演算値及び判定値）をスロットル制御マイコン６に送信する。スロットル制御マイコン６は、それらの診断処理に関する情報に基づいて、確実にそれぞれの診断処理が行なわれたことを直接的に監視することができる。【選択図】      図１
2004225635.tif 000002
【特許請求の範囲】
【請求項１】
第１のコンピュータと第２のコンピュータとを備える電子制御装置であって、
前記第１のコンピュータは、
自身の動作が正常か否かを判断するために、少なくとも２種類の異なる演算を行なって第１及び第２の演算値を算出し、それぞれに対応する予め記憶された第１及び第２の正常値と対比して、第１の演算値と第１の正常値との関係及び第２の演算値と第２の正常値との関係が正常であるか否かを診断する第１及び第２の診断処理を実施する第１の診断処理部と、
前記第１の診断処理部の第１及び第２の診断処理に関する情報を前記第２のコンピュータに送信する送信部とを備え、
前記第２のコンピュータは、
前記第１及び第２の診断処理に関する情報を受信する受信部と、
前記受信部が受信する前記第１及び第２の診断処理に関する情報に基づいて、前記第１の診断処理部が正常に機能しているかを診断する第２の診断処理部とを備えることを特徴とする電子制御装置。
【請求項２】
前記送信部は、前記第１及び第２の診断処理に関する情報として、前記第１の診断処理部における前記第１及び第２の診断処理に用いられる第１及び第２の演算値と第１及び第２の正常値とを送信し、
前記第２の診断処理部は、当該第１の演算値と第１の正常値及び第２の演算値と第２の正常値とを対比する第３及び第４の診断処理を実施することにより、前記第１の診断処理部における前記第１及び第２の演算値と第１及び第２の正常値との対比判定が正常であるか否かを判定することを特徴とする請求項１に記載の電子制御装置。
【請求項３】
前記第１の診断処理部は、前記第１の演算値と第１の正常値との対比判定及び第２の演算値と第２の正常値との対比判定をそれぞれ繰り返し行い、前記送信部は、前記第１及び第２の診断処理に関する情報として、前記第１の診断処理部の第１及び第２の診断処理に用いられた最新の第１の演算値と第１の正常値、もしくは第２の演算値と第２の正常値を送信し、
前記受信部が前記第１の演算値と第１の正常値を受信しない時間、もしくは第２の演算値と第２の正常値を受信しない時間が所定の異常判定時間以上となった場合、前記第２の診断処理部は、前記第１の診断処理部の第１もしくは第２の診断処理が停止していると判定することを特徴とする請求項１又は請求項２に記載の電子制御装置。
【請求項４】
前記送信部は、前記第１の演算値と第１の正常値、及び第２の演算値と第２の正常値を交互に送信することを特徴とする請求項３に記載の電子制御装置。
【請求項５】
第１のコンピュータと第２のコンピュータとを備える電子制御装置であって、
前記第１のコンピュータは、
自身の動作が正常か否かを判断するために、所定の演算により算出した演算値と、予め記憶されている正常値とを対比して、当該演算値と正常値との関係が正常であるか否かを診断する診断処理を実施する第１の診断処理部と、
前記第１の診断処理部の診断処理に用いられる演算値と正常値とを前記第２のコンピュータに送信する送信部とを備え、
前記第２のコンピュータは、
前記演算値と正常値とを受信する受信部と、
前記受信部が受信した演算値と正常値との対比判定を行なうことにより、前記第１の診断処理部が正常に機能しているかを診断する診断処理を実施する第２の診断処理部とを備えることを特徴とする電子制御装置。
【請求項６】
前記第１の診断処理部は繰り返し診断処理を行い、前記送信部は、前記第１の診断処理部における診断処理に用いられる最新の演算値及び正常値を送信し、
前記受信部が前記演算値及び正常値を受信しない時間が、所定の異常判定時間以上となった場合、前記第２の診断処理部は、前記第１の診断処理部の診断処理が停止していると判定することを特徴とする請求項５に記載の電子制御装置。
【請求項７】
前記第２のコンピュータは、前記第２の診断処理部によって前記第１の診断処理部の診断処理が停止していると判定された場合と前記第１の診断処理部の対比判定が異常と判定された場合とで、異なる異常処理を行なう異常処理手段を備えることを特徴とする請求項３又は請求項６に記載の電子制御装置。
【請求項８】
前記第１及び第２のコンピュータは、車両のエンジンのスロットルバルブ開度を制御するために用いられ、
前記異常処理手段は、前記第２の診断処理部によって前記第１の診断処理部の診断処理が停止していると判定された場合には、所定の制限開度を上限として、前記スロットルバルブ開度の制御を継続させ、前記第１の診断処理部の対比判定が異常と判定された場合には、前記スロットルバルブ開度の制御を停止することを特徴とする請求項７に記載の電子制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、２つのコンピュータを備える電子制御装置において、一方のコンピュータの診断機能が正常に作動しているかを他方のコンピュータによって監視する電子制御装置に関する。
【０００２】
【従来の技術】
従来、２つのコンピュータを備える電子制御装置において、それらのコンピュータ間で異常の発生を監視するものが知られている。例えば、特許文献１に記載された電子制御装置は、エンジン制御マイクロコンピュータ（マイコン）とスロットル制御マイコンとを備える。そして、エンジン制御マイコン内に、スロットル制御マイコンの異常を監視するための監視プログラムが設けられる。監視プログラムは、各種のエンジン制御を行なうためのベースプログラムとは独立して、周期的に割込み処理される割込みプログラムである。そして、この監視プログラムにおいて、エンジン制御マイコンのデータを用いて演算した演算値（例えば、燃料噴射量）と、スロットル制御マイコンから送信されたデータを用いて同じ演算によって算出した演算値とを比較する。この比較処理において、両演算値が一致した場合には、スロットル制御マイコンは正常であると判定する。
【０００３】
エンジン制御マイコンに対しては、２つのウオッチドックタイマーが設けられる。１つはエンジン制御マイコンが正常にベースプログラムを実行しているかを監視するものであり、もう１つは、エンジン制御マイコンが、正常に監視プログラムを実行しているかを監視するものである。
【０００４】
そして、監視プログラムが実行されると、監視プログラムを構成する複数のサブルーチン等の処理が所定の順序で実行されているか否かが判定され、所定の順序で実行されていない場合には、ウオッチドックタイマーへのウオッチドックパルスの出力を停止する。この場合、エンジン制御マイコンが、スロットル制御マイコンの動作を監視できない可能性があるため、監視プログラムの実行を監視するウオッチドックタイマーは、スロットルバルブを駆動するためのモータの電源をカットする。
【０００５】
【特許文献１】特開平１１−２９４２５２号公報
【０００６】
【発明が解決しようとする課題】
しかしながら、上述した従来技術によれば、ウオッチドックタイマーへウオッチドックパルスが出力されている限り、監視プログラムは正常に機能していると判定されてしまう。換言すれば、上述した従来技術は、エンジン制御マイコンが実行すべき診断処理（ダイアグノーシス）が確実に実行されているか否かを直接的に監視することはできない。このため、実際には診断処理が行なわれること無く、ウオッチドックパルスが出力されるようなモードで、監視プログラムに異常が発生した場合には、上述した従来技術では、そのような異常を検知することができない。
【０００７】
特に、車両のエンジンやスロットルバルブを制御する電子制御装置においては、制御上、重要なパラメータが正しいか否かをチェックしたり、ＲＯＭに記憶されているデータやプログラムが正しいかをチェックする等複数の診断処理が行なわれる。このような複数の診断処理が確実に実行されているかをチェックすることは、適切な制御を行なう上で非常に重要である。
【０００８】
本発明は、かかる従来の問題点を鑑みてなされたもので、２つのコンピュータを備える電子制御装置において、一方のコンピュータにおける複数の診断処理が確実に実行されているかを他方のコンピュータによって直接的に監視することが可能な電子制御装置を提供することを第１の目的とする。
【０００９】
また、一方のコンピュータにおける診断処理を監視するとともに、その診断処理自体の信頼性も併せて他方のコンピュータによって監視することが可能な電子制御装置を提供することを第２の目的とする。
【００１０】
【課題を解決するための手段】
上記第１の目的を達成するために、請求項１に記載の電子制御装置は、第１のコンピュータと第２のコンピュータとを備え、
第１のコンピュータは、
自身の動作が正常か否かを判断するために、少なくとも２種類の異なる演算を行なって第１及び第２の演算値を算出し、それぞれに対応する予め記憶された第１及び第２の正常値と対比して、第１の演算値と第１の正常値との関係及び第２の演算値と第２の正常値との関係が正常であるか否かを診断する第１及び第２の診断処理を実施する第１の診断処理部と、
第１の診断処理部の第１及び第２の診断処理に関する情報を第２のコンピュータに送信する送信部とを備え、
第２のコンピュータは、
第１及び第２の診断処理に関する情報を受信する受信部と、
受信部が受信する第１及び第２の診断処理に関する情報に基づいて、第１の診断処理部が正常に機能しているかを診断する第２の診断処理部とを備えることを特徴とする。
【００１１】
上述したように、第１のコンピュータは、第１及び第２の診断処理に関する情報を送信部によって第２のコンピュータに送信する。第２のコンピュータは、第１及び第２の診断処理に関する情報を受信部によって受信し、それら第１及び第２の診断処理に関する情報に基づいて、第２の診断処理部が第１の診断処理部は正常に機能しているかを診断する。このように、請求項１に記載の電子制御装置では単なるウオッチドックパルスではなく、第１のコンピュータが第１及び第２の診断処理に関する情報を送信するため、第２のコンピュータは、それら第１及び第２の診断処理に関する情報に基づいて、確実に複数の診断処理が行なわれたことを直接的に監視することができる。
【００１２】
請求項２に記載したように、送信部は、第１及び第２の診断処理に関する情報として、第１の診断処理部における第１及び第２の診断処理に用いられる第１及び第２の演算値と第１及び第２の正常値とを送信し、第２の診断処理部は、当該第１の演算値と第１の正常値及び第２の演算値と第２の正常値とを対比する第３及び第４の診断処理を実施することにより、第１の診断処理部における第１及び第２の演算値と第１及び第２の正常値との対比判定が正常であるか否かを判定することが好ましい。
【００１３】
このように、第１及び第２の診断処理に関する情報として、第１及び第２の診断処理に用いられる第１及び第２の演算値と第１及び第２の正常値とを送信することにより、第１の診断処理部において第１及び第２の診断処理が実施されたことを直接的かつ確実に監視することができる。さらに、第２のコンピュータにおいて、第２の診断処理部が、受信した第１の演算値と第１の正常値及び第２の演算値と第２の正常値とを対比する第３及び第４の診断処理を実施することにより、第１の診断処理部における対比判定が正常であるか否かも確認することができる。
【００１４】
請求項３に記載の電子制御装置は、第１の診断処理部が、第１の演算値と第１の正常値との対比判定及び第２の演算値と第２の正常値との対比判定をそれぞれ繰り返し行ない、送信部が、第１及び第２の診断処理に関する情報として、第１の診断処理部の第１及び第２の診断処理に用いられた最新の第１の演算値と第１の正常値、もしくは第２の演算値と第２の正常値を送信する。そして、第２のコンピュータの受信部が第１の演算値と第１の正常値を受信しない時間、もしくは第２の演算値と第２の正常値を受信しない時間が所定の異常判定時間以上となった場合、第２の診断処理部が、第１の診断処理部の第１もしくは第２の診断処理が停止していると判定する。これにより、第２の診断処理部において、第１の診断処理部による第１及び第２の診断処理の停止状態を検知することが可能になる。
【００１５】
なお、請求項４に記載したように、送信部は、第１の演算値と第１の正常値、及び第２の演算値と第２の正常値を交互に送信することが好ましい。第１の診断処理と第２の診断処理との実行タイミングに依存して、一方のみが送信されることを防止するためである。このように、前回送信した演算値及び正常値の種類と異なる演算値及び正常値を優先的に送信すべきであるが、それらの演算値及び正常値が求められていない場合には、前回送信したのと同じ種類の演算値及び正常値を送信することが好ましい。
【００１６】
次に、上述した第２の目的を達成するために、請求項５に記載の電子制御装置は、第１のコンピュータと第２のコンピュータとを備え、
第１のコンピュータは、
自身の動作が正常か否かを判断するために、所定の演算により算出した演算値と予め記憶されている正常値とを対比して、当該演算値と正常値との関係が正常であるか否かを診断する診断処理を実施する第１の診断処理部と、
第１の診断処理部の診断処理に用いられる演算値と正常値とを第２のコンピュータに送信する送信部とを備え、
第２のコンピュータは、
演算値と正常値とを受信する受信部と、
受信部が受信した演算値と正常値との対比判定を行なうことにより、第１の診断処理部が正常に機能しているかを診断する診断処理を実施する第２の診断処理部とを備えることを特徴とする。
【００１７】
このように、第１の診断処理部における診断処理に用いた演算値と正常値とを第２のコンピュータに送信することにより、第２のコンピュータの第２の診断処理部は、実際に第１の診断処理部において診断処理がなされたか否かを直接的に確認することができる。さらに、第２の診断処理部においても、受信した演算値と正常値との対比判定を実施することにより、第１の診断処理部における対比判定が正常であるか否かも確認することができる。
【００１８】
請求項６に記載したように、第１の診断処理部は繰り返し診断処理を行ない、送信部は、第１の診断処理部における診断処理に用いられる最新の演算値及び正常値を送信し、受信部が演算値及び正常値を受信しない時間が、所定の異常判定時間以上となった場合、第２の診断処理部は、第１の診断処理部の診断処理が停止していると判定することが好ましい。これにより、第２の診断処理部において、第１の診断処理部による診断処理の停止状態を検知することが可能になる。
【００１９】
請求項７に記載したように、第２のコンピュータは、第２の診断処理部によって第１の診断処理部の診断処理が停止していると判定された場合と第１の診断処理部の対比判定が異常と判定された場合とで、異なる異常処理を行なう異常処理手段を備えることが好ましい。第１の診断処理部の診断処理が停止している場合には、第１のコンピュータにおける動作が正常か否かを第２のコンピュータで確認することはできないが、第１のコンピュータの動作は正常である場合もありえる。すなわち、第１の診断処理部の対比判定が異常である場合に比較して、第１の診断処理部の診断処理が停止している場合には、ある程度の動作が確保できるようにすることが好ましいのである。
【００２０】
具体例としては、請求項８に記載したように、第１及び第２のコンピュータが、車両のエンジンのスロットルバルブ開度を制御するために用いられる場合、異常処理手段は、第２の診断処理部によって第１の診断処理部の診断処理が停止していると判定された場合には、所定の制限開度を上限として、スロットルバルブ開度の制御を継続させ、第１の診断処理部の対比判定が異常と判定された場合には、スロットルバルブ開度の制御を停止することが好ましい。これにより、単に第１の診断処理部の診断処理が停止している場合には、少なくとも車両のエンジンの駆動を確保することができる。
【００２１】
【発明の実施の形態】
以下、本発明による電子制御装置の実施の形態について、図面に基づいて説明する。図１は、本実施形態による電子制御装置の全体の構成を示すブロック図である。なお、本実施形態による電子制御装置は、エンジン制御マイクロコンピュータ及びスロットル制御マイクロコンピュータを有する車両用の内燃機関の電子制御装置として適用されるものである。
【００２２】
図１に示す様に、電子制御装置（以下ＥＣＵと記す）２は、エンジンの制御を行なうエンジン制御マイクロコンピュータ（以下、マイコン）４と、スロットルバルブ２６の制御を行なうスロットル制御マイコン６を備えている。エンジン制御マイコン４は、エンジン回転数や冷却水温等のエンジン状態信号、アクセル開度信号、スロットルバルブ２６のバルブ開度信号等を入力し、制御に必要な演算を行って、燃料噴射量や点火時期の調節を行なうために、インジェクタやイグナイタ等に制御信号を出力するものである。さらに、エンジン制御マイコン４は、上述した検出信号等に基づいてスロットルバルブ２６の目標開度を算出し、スロットル制御マイコン６に与える。
【００２３】
このエンジン制御マイコン４は、ウオッチドックパルス（ＷＤＣ）をウオッチドックタイマー（ＷＤＴ）８に出力することにより、ＷＤＴ８にてその異常の発生が監視されている。そして、ＷＤＴ８が、異常を検出した場合は、エンジン制御マイコン４に対してリセット信号を出力して、エンジン制御マイコン４をリセットする。
【００２４】
また、エンジン制御マイコン４内には、スロットル制御マイコン６の異常を監視するために、図示しないウオッチドックタイマーが設けられている。スロットル制御マイコン６は、所定のプログラムに従って正常に処理を実行している場合には、周期的にウオッチドックパルスＷＤＣをエンジン制御マイコン４に対して出力する。エンジン制御マイコン４にウオッチドックパルスＷＤＣが所定時間以上入力されない場合には、エンジン制御マイコン４は、スロットル制御マイコン６にリセット信号を出力して、スロットル制御マイコン６をリセットする。
【００２５】
エンジン制御マイコン４は、各種のエンジン制御を行なうためのベースプログラムとは独立して、自身の動作が正常か否かをチェックするための診断処理プログラム及びこの診断処理プログラムにおける診断処理データやスロットルバルブ２６の目標開度に関する制御データ等をスロットル制御マイコン６に送信する通信処理プログラムを有する。これらの診断処理プログラム及び通信処理プログラムは、周期的に割込み処理される割込みプログラムであり、詳細については後述する。
【００２６】
また、スロットル制御マイコン６は、エンジン制御マイコン４から送信された制御データ、さらにアクセル開度信号及びバルブ開度信号等に基づいてスロットルバルブ２６を制御するためのベースプログラムに加え、エンジン制御マイコン４から送信された診断データに基づいて、エンジン制御マイコン４において診断処理が適切になされているか否かを監視する監視プログラム及び監視プログラムによって異常が発見された場合には、その異常の態様に応じたフェールセーフ処理を行なうフェールセーフプログラムを備えている。これらの監視プログラム及びフェールセーフプログラムも、周期的に割込み処理される割込みプログラムであり、その詳細については後述する。
【００２７】
エンジン制御マイコン４もしくはスロットル制御マイコン６において、上述した診断処理プログラムもしくは監視プログラムにより、重大な異常が生じたと判定された場合には、それぞれのマイコン４，６からアンド回路１２に異常を示すＬＯＷ信号が出力される。
【００２８】
アンド回路１２は、スロットルバルブ２６のスロットルモータ２０を駆動するモータ駆動回路２２に図示しないバッテリからの電源電圧を供給するリレー２４回路のオン、オフを切り換えるものである。すなわち、アンド回路１２は、エンジン制御マイコン４及びスロットル制御マイコン６からの信号が共に正常を示すＨＩＧＨ信号の場合にＨＩＧＨ出力となり、どちらか一方が異常を示すＬＯＷ信号を出力した場合にＬＯＷ出力となる。
【００２９】
アンド回路１２の出力は、リレー回路２４のリレーコイルと直列接続されたトランジスタ１４のベースに入力されている。このため、アンド回路１２にどちらか一方のマイコン４，６からＬＯＷ信号が出力された場合は、トランジスタ１４がオフされ、リレーコイルへの通電が停止する。この結果、リレー回路２４のリレー接点がオフし、モータ駆動回路２２への電源供給が停止されるため、スロットルモータ２０の駆動が停止する。この場合、スロットルバルブ２６は図示しないスプリングにより全閉位置に固定され、スロットルバルブ２６による吸入空気量の制御が禁止される。
【００３０】
なお、スロットル制御マイコン６は、エンジン制御マイコン４から送信された制御データ、アクセル開度信号及びバルブ開度信号等に基づき、制御に必要な演算を行って、モータ駆動回路（Ｈブリッジ回路）２２に制御信号を出力する。モータ駆動回路２２は、スロットルモータ２０に接続されており、このスロットルモータ２０によりスロットルバルブ２６を駆動し、吸入空気量を調節する。
【００３１】
次に、本実施形態の電子制御装置２の制御処理を説明する。
【００３２】
まず、エンジン制御マイコン４での処理を説明する。エンジン制御マイコン４は、ベースプログラムを実行することにより、例えば燃料噴射量の算出や、点火時期の算出等のエンジン制御処理を行なう。さらに、このベースプログラムによるエンジン制御処理とは独立して、ＲＯＭチェックルーチンやインストラクションチェックルーチン等の診断処理プログラム及びこの診断処理プログラムにおける診断処理データ等をスロットル制御マイコン６に送信する通信処理プログラムを実行する。以下、診断処理プログラム及び通信処理プログラムについて詳しく説明する。
【００３３】
図２は、上述したＲＯＭチェックルーチンを示すフローチャートである。このＲＯＭチェックルーチンは、例えば８ｍｓ間隔で割込み処理によって実行される。まず、ステップＳ１００において、ＲＯＭの記憶領域における所定範囲のチェックサムを計算し、その演算結果をＲＯＭＣＨＫＳＵＭというＲＡＭに記憶する。このチェックサムを計算する範囲は、ＲＯＭチェックルーチンが実施される度に変更される。
【００３４】
次にステップＳ１１０では、各計算範囲に対応して予め記憶されているＲＯＭ判定値を読出し、ＲＯＭＣＨＫＳＵＭに記憶された演算結果と比較する。この比較処理において、演算結果とＲＯＭ判定値とが一致しないと判定された場合には、ＲＯＭが異常であると考えられるので、ステップＳ１２０に進み、ＲＯＭ異常処理を実施する。すなわち、このＲＯＭ異常処理では、エンジン制御マイコン４からアンド回路１２に対して異常である旨を示すＬＯＷ信号を出力して、リレー回路２４をオフする。
【００３５】
ステップＳ１１０にて演算結果とＲＯＭ判定値とが一致したと判定されるか、もしくはステップＳ１２０にてＲＯＭ異常処理が実施されると、ステップＳ１３０に進み、ＲＯＭチェックルーチンが実行されたことを示すため、フラグＸＲＯＭＪＤＧに１をセットする。
【００３６】
図３は、上述したインストラクションチェックルーチンを示すフローチャートである。このインストラクションチェックルーチンは、例えば１６ｍｓ間隔で割込み処理によって実行される。まず、ステップＳ１４０において、チェックしたい関数をコールして呼び出し、所定（固定）の入力値を代入した場合の演算結果を算出する。その算出した演算結果は、ＣＡＬＤＡＴＡというＲＡＭに記憶される。
【００３７】
次にステップＳ１５０では、関数及び入力値に対応して予め記憶されているインストラクション（インスト）判定値を読出し、ＣＡＬＤＡＴＡに記憶された演算結果と比較する。この比較処理において、演算結果がインスト判定値以下であれば、インストラクションチェックの結果は正常と考えられるため、ステップＳ１７０に進む。一方、演算結果が、インスト判定値よりも大きい場合には、インストラクションチェックの結果は異常となり、ステップＳ１６０に進み、異常処理を行なう。この異常処理においても、エンジン制御マイコン４からアンド回路１２に対して異常である旨を示すＬＯＷ信号を出力して、リレー回路２４をオフする。
【００３８】
なお、上述した関数はエンジン制御処理やスロットル開度制御処理を実施する際に用いられるものである。そして、所定の入力値が代入されたとき、その関数による演算が正常に実施されたとみなしえる演算値もしくは範囲を予め設定しておく。そして、正常とみなしえる演算値もしくは範囲をインスト判定値として予め記憶しておくことにより、各関数による演算が正常に行なわれたか否かを判定することができる。
【００３９】
その後、ステップＳ１７０に進み、インストラクションチェックルーチンが実行されたことを示すため、フラグＸＩＮＳＴＪＤＧに１をセットする。
【００４０】
このように、エンジン制御マイコン４は、複数の種類の診断処理ルーチンを実行することにより、エンジン制御処理やスロットル制御処理を適切になしえるか否かを常に確認する。そして、何らかの異常が発生し、制御が適切になしえない可能性がある場合には、スロットルバルブ２６のスロットルモータ２０を駆動するモータ駆動回路２２への電源供給を停止する。
【００４１】
次に、通信処理プログラムについて説明する。この通信処理プログラムのフローチャートを図４に示す。この通信処理ルーチンは、上述した診断処理プログラムとは独立して、例えば８ｍｓ間隔で割込み処理により実行される。
【００４２】
まず、通信処理ルーチンによって送信される送信データのデータ構造について、図５に基づいて説明する。図５に示すように、送信データには、ｎ個のデータ（ＤＡＴＡ１、ＤＡＴＡ２、……、ＤＡＴＡｎ）からなり、通信ナンバー、スロットルバルブの目標開度等を示す制御データ、診断処理データ、及び送信データのチェックサムが含まれる。
【００４３】
診断処理データは、診断処理の種類（ＲＯＭチェック、インストラクションチェック）を示す送信ＩＤ，各チェックルーチンにおいて算出された演算結果である送信データ１、及びその演算結果と比較される判定値である送信データ２からなる。
【００４４】
このような構造を有する送信データを作成し、送信するために、通信処理ルーチンでは以下のような処理を行なう。
【００４５】
まずステップＳ２００では、前回の処理によって送信した診断処理データの種類を判定する。具体的には、前回送信した診断処理データの送信ＩＤがＲＯＭチェックに関する診断処理データを送信したことを示す１であるか否か判定する。このように、前回送信した診断処理データの種類を判定するのは、ＲＯＭチェック及びインストラクションチェック等の診断処理と通信処理のタイミングによって常に同じ種類の診断処理データを送信してしまうことを防止するためである。すなわち、本通信処理ルーチンでは、前回送信した診断処理データとは異なる診断処理データが優先的に送信される。ただし、異なる種類の診断処理データがまだ算出されていない場合には、同じ種類の診断処理データが算出されているか否かを判定し、算出されていれば、同じ種類の診断処理データを送信する。
【００４６】
ステップＳ２００において、前回送信した診断処理データの送信ＩＤが１と判定された場合には、ステップＳ２１０にて、インストラクションチェックが実行されたか否かを、フラグＸＩＮＳＴＪＤＧの値に基づいて判定する。このとき、フラグＸＩＮＳＴＪＤＧの値が１であれば、インストラクションチェックが実行され、インストラクションチェックに関する診断処理データが算出済みである。このため、ステップＳ２２０に進んで、診断処理データとして、送信ＩＤ＝２、送信データ１＝ＣＡＬＤＡＴＡ、送信データ２＝インスト判定値とセットする。その後、ステップＳ２３０にて、フラグＸＩＮＳＴＪＤＧの値を０にリセットして、同じ診断処理データが再度送信されることを防止する。
【００４７】
ステップＳ２１０において、フラグＸＩＮＳＴＪＤＧの値が１ではないと判定された場合、インストラクションチェックに関する診断処理データはまだ算出されていないので、ステップＳ２４０に進む。ステップＳ２４０では、ＲＯＭチェックが実行されたか否かを、フラグＸＲＯＭＪＤＧの値に基づいて判定する。このとき、フラグＸＲＯＭＪＤＧの値が１であれば、ＲＯＭチェックが実行され、ＲＯＭチェックに関する診断処理データが算出済みである。このため、ステップＳ２５０に進んで、診断処理データとして、送信ＩＤ＝１、送信データ１＝ＲＯＭＣＨＫＳＵＭ、送信データ２＝ＲＯＭ判定値とセットする。その後、ステップＳ２６０にて、フラグＸＲＯＭＪＤＧの値を０にリセットして、同じ診断処理データが再度送信されることを防止する。
【００４８】
ステップＳ２４０にて、フラグＸＲＯＭＪＤＧの値が１ではないと判定された場合には、まだ、前回の送信時からＲＯＭチェック及びインストラクションチェックとも実施されていないため、ステップＳ３１０に進む。ステップＳ３１０では、送信すべき診断処理データが無いことを示すため、送信ＩＤ＝０、送信データ１＝０、送信データ２＝０とセットする。
【００４９】
また、ステップＳ２００において、前回送信した診断処理データの送信ＩＤが１ではないと判定された場合には、ステップＳ２７０に進んで、フラグＸＲＯＭＪＤＧの値が１であるか否かを判定する。このとき、フラグＸＲＯＭＪＤＧの値が１であると、ＲＯＭチェックに関する診断処理データが算出されているので、ステップＳ２５０に進む。
【００５０】
一方、ステップＳ２７０にてフラグＸＲＯＭＪＤＧの値が１ではないと判定された場合には、ステップＳ２８０にて、フラグＸＩＮＳＴＪＤＧの値が１であるか否か判定する。このとき、フラグＸＩＮＳＴＪＤＧの値が１であると、インストラクションに関する診断処理データが算出されているので、ステップＳ２９０に進む。なお、ステップＳ２９０及びステップＳ３００の処理は、ステップＳ２２０及びステップＳ２３０の処理と同様であるため、説明を省略する。
【００５１】
また、ステップＳ２８０にて、フラグＸＩＮＳＴＪＤＧの値が１ではないと判定された場合には、ＲＯＭチェック及びインストラクションチェックに関する診断処理データは算出されていないので、ステップＳ３１０に進む。
【００５２】
このようにして、診断処理データをセットした後に、ステップＳ３２０において、ベースプログラムによって算出されるスロットルバルブ２６の目標開度等の制御データをセットし、図５に示す送信データを作成する。なお、通信ナンバー、制御データ、及び診断処理データがすべて確定した後に、それらのデータのチェックサムが計算され、そのチェックサムも送信データに付加される。そして、送信データの作成が完了すると、その送信データがエンジン制御マイコン４からスロットル制御マイコン６に送信される。
【００５３】
この送信データは、ステップＳ２００において、前回送信した診断処理データの送信ＩＤの種類を判定するため、ＲＡＭに一時的に記憶される。
【００５４】
次に、送信データを受信するスロットル制御マイコン６における演算処理について説明する。スロットル制御マイコン６は、スロットルバルブ２６の開度等を制御するためのベースプログラムに加えて、送信データに基づいて、エンジン制御マイコン４が正常に診断処理を実施しているかを監視する監視プログラムと、エンジン制御マイコン４の診断処理が異常と判定された場合にフェールセーフ処理を実施するフェールセーフプログラムを有している。
【００５５】
図６及び図７は、上述した監視プログラムの内容を示す第１及び第２の監視処理ルーチンである。図６に示す第１の監視処理ルーチンでは、まず、ステップＳ４００において、送信データの受信処理を行なう。なお、この第１の監視処理ルーチンは、スロットル制御マイコン６が送信データを受信した時に実行される。また、図示してはいないが、受信された送信データはベースプログラムにも与えられる。そして、ベースプログラムでは、送信データに含まれる制御データ、アクセル開度信号及びスロットルバルブ開度信号に基づいて、モータ駆動回路２２に対する制御信号を作成し、モータ駆動回路２２へ出力する。
【００５６】
ステップＳ４１０では、送信データのチェックサムを計算するとともに、送信データに付加されたチェックサムと一致するか否かを判定する。このとき、不一致と判定された場合には、送信データに何らかの異常が発生した可能性があるためそのまま本ルーチンを終了する。
【００５７】
ステップＳ４２０では、送信データに含まれる診断処理データの送信ＩＤが１であるか否かを判定する。このとき、送信ＩＤが１と判定されると、ステップＳ４３０に進んで、ＲＯＭ判定未処理時間カウンタＣＲＯＭＦに０をセットすることにより、カウンタＣＲＯＭＦのカウント値をクリアする。次に、ステップＳ４４０において、送信された診断処理データの送信データ１と送信データ２とを比較し、両者が一致するか否かを判定する。このとき、両者が不一致であると判定されると、ステップＳ４５０にてＲＯＭの異常判定が行なわれる。一方、ステップＳ４４０にて、送信データ１と送信データ２とが一致すると判定された場合には、ＲＯＭのチェック結果は正常であるため、そのまま本ルーチンを終了する。
【００５８】
また、ステップＳ４２０において、送信された診断処理データの送信ＩＤが１ではないと判定された場合には、ステップＳ４６０に進み、診断処理データの送信ＩＤが２であるか否か判定される。このとき、送信ＩＤが２と判定されると、ステップＳ４７０に進んで、インストラクション判定未処理時間カウンタＣＩＮＳＴＦのカウント値をクリアする。次に、ステップＳ４８０において、送信された診断処理データの送信データ１と送信データ２とを比較し、送信データ１が送信データ２以下であるか否かを判定する。このとき、送信データ１が送信データ２よりも大きいと判定されると、ステップＳ４９０にてインストラクションチェックの異常判定が行なわれる。
【００５９】
なお、ステップＳ４６０にて送信ＩＤが２ではないと判定された場合、その送信ＩＤは０とみなすことができる。この場合、送信データには診断処理データが含まれていないので、そのまま、本ルーチンを終了する。また、ステップＳ４８０にて、送信データ１が送信データ２以下であると判定された場合にも、インストラクションチェックの結果は正常であるため、そのまま本ルーチンを終了する。
【００６０】
このように、本実施形態においては、スロットル制御マイコン６が、エンジン制御マイコン４の個々の診断処理に関するデータを受信するので、より直接的に、エンジン制御マイコン４にて個々の診断処理が適切に実施されているか否かを確認することができる。
【００６１】
そして、スロットル制御マイコン６は、診断処理に関するデータとして、エンジン制御マイコン４における対比判定に用いられた演算値（送信データ１）及び判定値（送信データ２）を受信し、スロットル制御マイコン６においても、演算値と判定値との対比判定を行なう。これにより、エンジン制御マイコン４にて実施される診断処理における対比判定が正常であるか否かをも確認することができる。
【００６２】
次に、図７に示す第２の監視処理ルーチンは、例えば１６ｍｓ間隔で割込み処理によって実施されるものであり、まず、ステップＳ５００において、ＲＯＭ判定未処理時間カウンタＣＲＯＭＦをインクリメントする。そして、ステップＳ５１０にてこのＲＯＭ判定未処理時間カウンタＣＲＯＭＦが所定値以上まで増加されたか否かを判定する。すなわち、ＲＯＭ判定未処理時間カウンタＣＲＯＭＦは、図６に示す第１の監視処理ルーチンによって、ＲＯＭチェックに関する診断処理データを受信する毎にリセットされる。このため、ステップＳ５１０において、ＲＯＭ判定未処理時間カウンタＣＲＯＭＦの値が所定値以上まで増加されたと判定されるのは、スロットル制御マイコン６が、所定時間以上、ＲＯＭチェックに関する診断処理データを受信できない場合である。そこで、ステップＳ５１０において、ＲＯＭ判定未処理時間カウンタＣＲＯＭＦが所定値以上と判定された場合には、ステップＳ５２０に進み、ＲＯＭ判定処理異常と判定する。
【００６３】
次にステップＳ５３０では、インストラクション判定未処理時間カウンタＣＩＮＳＴＦをインクリメントする。そして、ステップＳ５４０にてこのインストラクション判定未処理時間カウンタＣＩＮＳＴＦが所定値以上まで増加されたか否かを判定する。このインストラクション判定未処理時間カウンタＣＩＮＳＴＦも、図６に示す第１の監視処理ルーチンによって、インストラクションチェックに関する診断処理データを受信する毎にリセットされる。このため、ステップＳ５４０において、インストラクション判定未処理時間カウンタＣＩＮＳＴＦの値が所定値以上まで増加されたと判定されるのは、スロットル制御マイコン６が、所定時間以上、インストラクションチェックに関する診断処理データを受信できない場合である。そこで、ステップＳ５４０において、インストラクション判定未処理時間カウンタＣＩＮＳＴＦが所定値以上と判定された場合には、ステップＳ５５０に進み、インスト判定処理異常と判定する。
【００６４】
図８は、スロットル制御マイコン６にて実施されるフェールセーフ処理の内容を示すフローチャートである。このフェールセーフルーチンは、例えば１６ｍｓの周期で割込み処理される。
【００６５】
まず、ステップＳ６００では、図６のフローチャートによってＲＯＭ異常判定がなされたか否かが判定される。また、ステップＳ６１０では、同じく図６のフローチャートによってインストラクション異常判定がなされたか否かが判定される。これらのステップＳ６００とＳ６１０とのいずれかで異常判定がなされたと判定された場合、ステップＳ６２０に進んで、これらの異常に対応したフェールセーフ処理を行なう。すなわち、ＲＯＭやエンジン制御等に用いられる関数に異常が生じた場合には、正常なエンジン制御やスロットル制御を行ない得ないため、スロットルバルブ２６の駆動を停止する。具体的には、スロットル制御マイコン６からアンド回路１２に対して、異常を示すＬＯＷ信号を出力し、リレー回路２４をオフする。さらに、インストルメントパネルに設けられた異常ランプの点灯を行なう。
【００６６】
ステップＳ６００及びステップＳ６１０において、ＲＯＭ異常判定及びインストラクション異常判定がなされていないと判定された場合には、ステップＳ６３０に進む。ステップＳ６３０では、図７のフローチャートによりＲＯＭ判定処理異常の判定がなされているか否かを判定する。また、ステップＳ６４０では、同じく図７のフローチャートによりインストラクション判定処理異常の判定がなされているか否かを判定する。これらのステップＳ６３０とＳ６４０とのいずれかで判定処理異常と判定された場合には、ステップＳ６５０に進んで、これらの異常に対応したフェールセーフ処理を行なう。すなわち、この場合のフェールセーフ処理として、スロットルバルブ２６の最大開度を制限しつつ、異常ランプの点灯を行なう。
【００６７】
ＲＯＭ判定処理異常もしくはインストラクション判定処理異常と判定された場合、エンジン制御マイコン４では、ＲＯＭチェックルーチンもしくはインストラクションチェックルーチンが適切に処理されていない可能性がある。このため、スロットルバルブ２６を全閉から全開までの範囲に渡って制御するのではなく、所定開度を上限とした最大開度制限制御を行なうのである。この最大開度制限制御では、算出されたスロットルバルブ２６の目標開度が所定上限開度を超えている場合には、所定上限開度が目標開度とされる。
【００６８】
ここで、エンジン制御マイコン４のＲＯＭチェックやインストラクションチェックに関する診断処理が停止している場合には、エンジン制御マイコン４の動作が正常か否かをスロットル制御マイコン６で確認することはできないが、単に診断処理のみが停止しているだけで、エンジン制御マイコン４の動作は正常である場合もありえる。このような理由から、診断処理がおこなわれていないだけで、スロットルバルブ２６の駆動を完全に停止してしまうのではなく、最大開度制限制御を行なうことにより、少なくとも車両が走行できる範囲でスロットルバルブ２６が動作できるようにするのである。
【００６９】
ステップＳ６３０及びステップＳ６４０において、ＲＯＭ判定処理異常及びインストラクション判定処理異常とは判定されなかった場合には、エンジン制御マイコン４は、正常に診断処理を実行し、かつその動作は正常であると考えられるため、ステップＳ６６０に進んで、通常のスロットル制御を実施する。また、異常ランプを消灯状態に維持する。
【００７０】
このように、本実施形態による電子制御装置２によれば、従来技術のように、単なるウオッチドックパルスではなく、エンジン制御マイコン４が個々の診断処理に関する情報（送信ＩＤ、演算値及び判定値）を送信するため、スロットル制御マイコン６は、それらの診断処理に関する情報に基づいて、確実に個々の診断処理が行なわれたことを直接的に監視することができる。
【００７１】
なお、本発明による電子制御装置は、上述した実施形態に制限されることなく、種々変形して実施することが可能である。
【００７２】
例えば、上述した実施形態では、エンジン制御マイコン４が、診断処理として、ＲＯＭチェックルーチンとインストラクションチェックルーチンを実行する例について説明した。しかしながら、診断処理としては、ＲＯＭチェックルーチンやインストラクションチェックルーチンに限定されるものではなく、これらのチェックルーチンに置き換えて、もしくはこれらのチェックルーチンとともに各種のチェックルーチンを実行しても良い。
【００７３】
その他のチェックルーチンの例を図９及び図１０を用いて説明する。まず、図９（ａ），（ｂ），（ｃ）は、制御上重要なパラメータを算出し記憶するルーチン及びそのパラメータを記憶するＲＡＭのチェック処理を実施するためのチェックルーチンを示すフローチャートである。
【００７４】
エンジン制御マイコン４におけるＲＡＭチェック処理では、制御上重要なパラメータを算出するとともにその反転値も併せて算出し、そのパラメータ及び判定値を同時にＲＡＭに記憶する。そして、ＲＡＭのセルが壊れていないことを確認するため、反転値のさらに反転値を算出して、元のパラメータと比較する。特に、図９に示す例では、パラメータとして、スロットルバルブ２６の目標開度とアクセル開度とを算出しており、比較処理においては加算値同士を比較する。このようにすれば、比較処理を１回で済ませることができる。なお、パラメータの数は２つに限られるものではなく、３つ以上の場合にもそれらの加算値を求めることで同様に処理できる。
【００７５】
図９（ａ）のスロットル目標開度演算ルーチンでは、まずステップＳ７００にて、マップや演算式を用いた所定の演算によってスロットルバルブの目標開度（ＤＳＬＯＴ）を算出する。そして、ステップＳ７１０では、その目標開度（ＤＳＬＯＴ）の反転値（ＤＳＬＯＴＩＮＶ）を算出する。ステップＳ７２０では、算出した目標開度（ＤＳＬＯＴ）及び目標開度の反転値（ＤＳＬＯＴＩＮＶ）を同時にＲＡＭに書き込む。
【００７６】
また、図９（ｂ）のアクセル開度演算ルーチンでは、ステップＳ７３０にて、アクセル開度信号に基づいてアクセル開度（ＡＣＣ）を演算する。ステップＳ７４０では、そのアクセル開度の反転値（ＡＣＣＩＮＶ）を算出する。そして、ステップＳ７５０において、算出したアクセル開度（ＡＣＣ）及びアクセル開度の反転値（ＡＣＣＩＮＶ）を同時にＲＡＭに書き込む。
【００７７】
なお、図９（ａ）、（ｂ）の各ルーチンは、例えば８ｍｓ毎に周期的に実行される。これらの各ルーチンで行われるＲＡＭへの書き込みが有効であるかを検証するため、別のタイミング（例えば１６ｍｓ毎）で図９（ｃ）に示すＲＡＭチェックルーチンを実行する。
【００７８】
このＲＡＭチェックルーチンでは、まずステップＳ７６０において、それぞれＲＡＭに書き込まれた目標開度（ＤＳＬＯＴ）とアクセル開度（ＡＣＣ）とを加算して、判定値１として保存する。ステップＳ７７０では、目標開度の反転値（ＤＳＬＯＴＩＮＶ）の反転値及びアクセル開度の反転値（ＡＣＣＩＮＶ）の反転値をそれぞれ算出して加算し、判定値２として保存する。そして、ステップＳ７８０において、判定値１と判定値２とが一致しているか否かを判定する。このとき、不一致と判定された場合には、ＲＡＭに異常が生じている可能性があるため、ＲＡＭ異常判定処理として、リレー回路２４をオフする。ステップＳ８００では、ＲＡＭ判定が実施されたことを示すため、フラグＸＲＡＭＪＤＧに１をセットする。
【００７９】
そして、通信処理において、他の診断処理と同様に、ＸＲＡＭＪＤＧが１となっているか確認し、１である場合には、ＲＡＭチェックに関する診断処理データが算出済みであると判定して、ＲＡＭチェックを示す送信ＩＤ，判定値１、及び判定値２を診断処理データとしてスロットル制御マイコン６に送信する。
【００８０】
なお、エンジン制御マイコン４が３種類以上の診断処理データを送信する場合には、最も古い送信履歴を持つデータから優先的に送信されるようにすると良い。
【００８１】
次に、図１０に示す例について説明する。図１０（ａ）はスロットルの目標開度を算出する目標開度演算ルーチンを複数のサブルーチンで構成した場合のフローチャートを示す。図１０（ｂ）、（ｃ）、（ｄ）は、各サブルーチンの内容を示すフローチャートであり、特に図１０（ｄ）はフローチェック異常検出処理を行なうフローチェックルーチンを示すフローチャートである。
【００８２】
例えば８ｍｓ毎に処理されるスロットル目標開度演算ルーチンでは、まずステップＳ９００において、フローチェック用のカウンタＣＦＬＯＷを０にセットする。次にステップＳ９１０及びステップＳ９２０のサブルーチンを実行した後、ステップＳ９３０にて、フローチェック処理を実施する。つまり、この目標開度演算ルーチンは、各サブルーチンが順番通りに実行されないと、最終的に演算される目標開度が異常な値になるため、各サブルーチンの実行順序を監視するのである。
【００８３】
図１０（ｂ）に示すサブルーチン（処理Ａ）について説明する。このサブルーチン（処理Ａ）においては、ステップＳ９１１において、カウンタＣＦＬＯＷの値が０か否かを確認する。図１０（ａ）のステップＳ９００においてカウンタＣＦＬＯＷが正常にコールされた場合には、カウンタＣＦＬＯＷの値は０となる。このため、カウンタＣＦＬＯＷの値が０と判定された場合には、正しい順序で処理が行なわれていると考えられる。この場合には、処理Ａが実施されたことを示すために、ステップＳ９１３において、カウンタＣＦＬＯＷの値を１に変更する。一方、カウンタＣＦＬＯＷの値が０以外である場合には、ステップＳ９１５において、カウンタＣＦＬＯＷにフロー異常であることを示す値＄ＦＦをセットする。そして、ステップＳ９１７において、処理Ａとしての所定の制御処理を実施した後、本ルーチンを終了する。
【００８４】
図１０（ｃ）に示すサブルーチン（処理Ｂ）も、図１０（ｂ）に示すサブルーチン（処理Ａ）と同様であり、まず、カウンタＣＦＬＯＷの値が１であるか確認する（ステップＳ９２１）。カウンタＣＦＬＯＷの値が１である場合には、処理Ｂが実施されたことを示すために、カウンタＣＦＬＯＷの値を２に変更する（ステップＳ９２３）。一方、カウンタＣＦＬＯＷの値が１以外である場合には、カウンタＣＦＬＯＷにフロー異常であることを示す値＄ＦＦをセットする（ステップＳ９２５）。そして、ステップＳ９２７において、処理Ｂとしての所定の制御処理を実施した後、本ルーチンを終了する。
【００８５】
図１０（ｄ）に示すフローチェックルーチンでは、ステップＳ９３１において、カウンタＣＦＬＯＷの値が２であるか否かを判定する。目標開度演算ルーチンにおけるサブルーチンが順番通りに実行された場合には、カウンタＣＦＬＯＷの値は２となっているはずである。従って、カウンタＣＦＬＯＷの値が２である場合には、異常処理を行なうことなく、ステップＳ９３５に進んで、フローチェックが実施されたことを示すために、フラグＸＦＬＯＷＪＤＧに１をセットする。
【００８６】
一方、ステップＳ９３１において、カウンタＣＦＬＯＷの値が２以外であると判定された場合には、フロー異常であるため、ステップＳ９３３に進んで、フロー異常処理として、リレー回路２４をオフする。
【００８７】
そして、エンジン制御マイコン４の通信処理において、他の診断処理と同様に、ＸＦＬＯＷＪＤＧが１となっているか確認し、１である場合には、フローチェックに関する診断処理データが算出済みであると判定して、フローチェックを示す送信ＩＤ，カウンタＣＦＬＯＷ、及び判定値（２）を診断処理データとしてスロットル制御マイコン６に送信する。
【００８８】
また、上述した実施形態においては、複数種類の診断処理を行い、それぞれの診断処理に関するデータをエンジン制御マイコン４からスロットル制御マイコン６へ送信する例について説明した。しかしながら、エンジン制御マイコン４は、少なくとも１種類の診断処理を行い、その診断処理に関するデータ（演算値及び判定値等）をスロットル制御マイコン６へ送信するものであっても良い。
【図面の簡単な説明】
【図１】実施形態による電子制御装置の全体の構成を示すブロック図である。
【図２】エンジン制御マイクロコンピュータにおいて実施されるＲＯＭチェックルーチンを示すフローチャートである。
【図３】エンジン制御マイクロコンピュータにおいて実施されるインストラクションチェックルーチンを示すフローチャートである。
【図４】エンジン制御マイクロコンピュータにおいて実施される通信処理ルーチンを示すフローチャートである。
【図５】通信処理ルーチンによって送信される送信データのデータ構造を示す説明図である。
【図６】スロットル制御マイクロコンピュータにおいて実施される第１の監視処理ルーチンを示すフローチャートである。
【図７】スロットル制御マイクロコンピュータにおいて実施される第２の監視処理ルーチンを示すフローチャートである。
【図８】スロットル制御マイコン６にて実施されるフェールセーフルーチンの内容を示すフローチャートである。
【図９】（ａ）はスロットルバルブの目標開度を演算するルーチンを示すフローチャートであり、（ｂ）はアクセル開度を演算するルーチンを示すフローチャートであり、（ｃ）はそれらの目標開度及びアクセル開度を記憶するＲＡＭのチェック処理を実施するためのチェックルーチンを示すフローチャートである。
【図１０】（ａ）はスロットルの目標開度を算出する目標開度演算ルーチンを複数のサブルーチンで構成した場合のフローチャートを示し、（ｂ）、（ｃ）及び（ｄ）は、各サブルーチンの内容を示すフローチャートである。
【符号の説明】
２…電子制御装置（ＥＣＵ）
４…エンジン制御マイクロコンピュータ
６…スロットル制御マイクロコンピュータ
８…ウオッチドックタイマー
１２…ＡＮＤ回路
１４…トランジスタ
２０…スロットルモータ
２２…モータ駆動回路
２４…リレー回路
２６…スロットルバルブ
【図１】
2004225635.tif 000003
【図２】
2004225635.tif 000004
【図３】
2004225635.tif 000005
【図４】
2004225635.tif 000006
【図５】
2004225635.tif 000007
【図６】
2004225635.tif 000008
【図７】
2004225635.tif 000009
【図８】
2004225635.tif 000010
【図９】
2004225635.tif 000011
【図１０】
2004225635.tif 000012