(57)【要約】【課題】２つのＣＰＵを有するプロセッサを用いて制御対象を制御する電子制御装置において、２つのＣＰＵのうち異常になった方を安価な構成で判別し、信頼性も確保する。【解決手段】主プロセッサでは、制御処理のうち、制御対象を目標状態にさせる基本処理を、ＣＰＵ１，２が分担して実行し、制御処理のうち、制御対象の状態を制限するガード処理を、ＣＰＵ１，２の両方がロックステップモードで実行する。そして、ＣＰＵ１，２によるガード処理の演算結果の不一致が主プロセッサ内の比較器で検出されると（Ｓ５０５：ＹＥＳ）、副プロセッサが、同じガード処理を実行し、その演算結果とＣＰＵ１，２の演算結果とを比較して、ＣＰＵ１，２のうち異常な方を判別し、異常なＣＰＵを示す情報を主プロセッサに送る。すると、ＣＰＵ１，２のうち、異常な方は動作を停止し、正常な方が制御処理の全てを実行するようになる（Ｓ７２０，Ｓ８１０〜Ｓ８４０）。【選択図】図１３
2014002472.tif 000002
【特許請求の範囲】
【請求項１】
第１ＣＰＵ（１）と第２ＣＰＵ（２）を有し、その２つのＣＰＵ（１，２）により、制御対象（１５，１７）を制御するための制御処理を行う主プロセッサ（４１）と、
前記主プロセッサとは別の副プロセッサ（４２）と、
を備えた電子制御装置（１１）において、
前記制御処理には、
前記制御対象の目標状態を決定して、前記制御対象を該目標状態にさせる基本処理（Ｐ１〜Ｐ５，Ｐ７，Ｐ１１〜Ｐ１８）と、
前記制御対象の許容限界状態を決定すると共に、前記制御対象の状態が前記基本処理によって該許容限界状態を逸脱してしまうことを阻止するガード処理（Ｐ６，Ｐ１９）と、が含まれており、
前記第１ＣＰＵが、前記基本処理のうちの一部を実行し、
前記第２ＣＰＵが、前記基本処理のうち、前記一部とは別の部分を実行し、
前記第１ＣＰＵと前記第２ＣＰＵとの両方が、前記ガード処理を実行するようになっており、
前記副プロセッサは、前記制御処理のうち、前記ガード処理を実行するようになっており、
当該電子制御装置は、
前記副プロセッサによる前記ガード処理の演算結果と、前記第１ＣＰＵによる前記ガード処理の演算結果と、前記第２ＣＰＵによる前記ガード処理の演算結果とを比較することにより、前記第１ＣＰＵと前記第２ＣＰＵとのうちで異常な方のＣＰＵを判別する判別手段（４２）を備えていること、
を特徴とする電子制御装置。
【請求項２】
請求項１に記載の電子制御装置において、
前記主プロセッサは、
前記第１ＣＰＵと前記第２ＣＰＵとのうち、前記判別手段により異常と判別されたＣＰＵの動作を停止させると共に、他方のＣＰＵの動作モードを、前記制御処理の全てを実行する特別モードに切り替える切替手段（７）を備えていること、
を特徴とする電子制御装置。
【請求項３】
請求項２に記載の電子制御装置において、
前記副プロセッサが、前記判別手段として機能すること、
を特徴とする電子制御装置。
【請求項４】
請求項３に記載の電子制御装置において、
前記主プロセッサは、
前記第１ＣＰＵによる前記ガード処理の演算結果と前記第２ＣＰＵによる前記ガード処理の演算結果とを比較する比較器（６）と、
前記比較器によって前記第１ＣＰＵによる演算結果と前記第２ＣＰＵによる演算結果とが相違したことが検出された場合に、その相違した２つの演算結果を、どのＣＰＵによる演算結果であるかを識別可能にして前記副プロセッサへ送信すると共に、前記ガード処理に関する入力データであって、前記第１ＣＰＵ及び前記第２ＣＰＵの両方が前記相違した２つの演算結果を求めるのに使用した入力データも、前記副プロセッサへ送信する送信手段（５）と、を備え、
前記副プロセッサは、
前記主プロセッサから、前記２つの演算結果と前記入力データとを受信し、前記入力データを用いて前記ガード処理を実行することにより、前記２つの演算結果と同じ種類の演算結果を求め、その求めた演算結果と前記２つの演算結果とを比較することにより、前記第１ＣＰＵと前記第２ＣＰＵとのうちで異常な方のＣＰＵを判別し、更に、その異常と判別したＣＰＵを識別可能な情報を、前記主プロセッサに送信するようになっており、
前記主プロセッサの前記切替手段は、
前記副プロセッサからの前記情報に基づいて、前記第１ＣＰＵと前記第２ＣＰＵとのうち、前記副プロセッサにより異常と判別されたＣＰＵを特定すること、
を特徴とする電子制御装置。
【請求項５】
請求項４に記載の電子制御装置において、
前記主プロセッサは、
前記第１ＣＰＵと前記第２ＣＰＵとが同じ処理を実行するロックステップモードと、前記第１ＣＰＵと前記第２ＣＰＵとが別々の処理を実行可能なフリーステップモードとに、動作モードが切り替え可能なプロセッサであると共に、
前記ガード処理を前記ロックステップモードで実行し、前記基本処理を前記フリーステップモードで実行するようになっており、
前記比較器は、当該主プロセッサの動作モードが前記ロックステップモードの場合に動作すること、
を特徴とする電子制御装置。
【請求項６】
請求項３に記載の電子制御装置において、
前記主プロセッサは、
所定時間毎に、前記第１ＣＰＵによる前記ガード処理の演算結果である第１の演算結果と、前記第２ＣＰＵによる前記ガード処理の演算結果である第２の演算結果とを、どのＣＰＵによる演算結果であるかを識別可能にして前記副プロセッサへ送信すると共に、前記ガード処理に関する入力データであって、前記第１ＣＰＵ及び前記第２ＣＰＵの両方が前記第１及び第２の演算結果を求めるのに使用した入力データも、前記副プロセッサへ送信する送信手段（５）を備え、
前記副プロセッサは、
前記主プロセッサから、前記第１及び第２の演算結果と前記入力データとを受信し、前記入力データを用いて前記ガード処理を実行することにより、前記第１及び第２の演算結果と同じ種類の演算結果を求め、その求めた演算結果と前記第１及び第２の演算結果とを比較することにより、前記第１ＣＰＵと前記第２ＣＰＵとのうちで異常な方のＣＰＵを判別し、更に、その異常と判別したＣＰＵを識別可能な情報を、前記主プロセッサに送信するようになっており、
前記主プロセッサの前記切替手段は、
前記副プロセッサからの前記情報に基づいて、前記第１ＣＰＵと前記第２ＣＰＵとのうち、前記副プロセッサにより異常と判別されたＣＰＵを特定すること、
を特徴とする電子制御装置。
【請求項７】
請求項６に記載の電子制御装置において、
前記副プロセッサは、
前記ガード処理を実行する前に、前記第１及び第２の演算結果が相違しているか否かを判定し、前記第１及び第２の演算結果が相違していると判定した場合に、前記入力データを用いて前記ガード処理を実行することにより、前記第１及び第２の演算結果と同じ種類の演算結果を求め、その求めた演算結果と前記第１及び第２の演算結果とを比較することにより、前記第１ＣＰＵと前記第２ＣＰＵとのうちで異常な方のＣＰＵを判別すること、
を特徴とする電子制御装置。
【請求項８】
請求項１ないし請求項７の何れか１項に記載の電子制御装置において、
前記制御対象は、車両のエンジン（１３）への吸入空気量を調節するスロットル（１５）であり、
前記ガード処理（Ｐ６）は、前記許容限界状態として、前記スロットルの開度の上限値を決定し、前記スロットルの開度が前記上限値を上回ることを阻止する処理であること、
を特徴とする電子制御装置。
【請求項９】
請求項８に記載の電子制御装置において、
前記ガード処理（Ｐ６）には、前記スロットルの開度が前記上限値を上回ることを阻止するための処理として、前記スロットルを動作させるアクチュエータ（１９）への電源供給を停止する処理（Ｐ６ｃ）が含まれていること、
を特徴とする電子制御装置。
【請求項１０】
請求項１ないし請求項７の何れか１項に記載の電子制御装置において、
前記制御対象は、車両の変速機（１７）であり、
前記ガード処理（Ｐ１９）は、前記許容限界状態として、前記変速機の変速比の上限値を決定し、前記変速機の変速比が前記上限値を上回ることを阻止する処理であること、
を特徴とする電子制御装置。
【請求項１１】
請求項１０に記載の電子制御装置において、
前記ガード処理（Ｐ１９）には、前記上限値を決定するための処理として、前記車両の走行速度に基づき前記上限値を決定する処理（Ｐ１９ａ）が含まれていること、
を特徴とする電子制御装置。
【請求項１２】
請求項１１に記載の電子制御装置において、
前記ガード処理（Ｐ１９）には、前記上限値を決定するための処理として、前記車両の走行速度と前記変速機の現在の変速比とに基づき前記上限値を決定する処理（１９ａ）が含まれていること、
を特徴とする電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２つのＣＰＵによって制御対象を制御するための制御処理を行う主プロセッサと、副プロセッサとを備えた電子制御装置に関する。
【背景技術】
【０００２】
２つのＣＰＵを有したプロセッサとして、動作モードがロックステップモードとフリーステップモード（非ロックステップモード）とに切り替え可能なものがある（例えば、特許文献１参照）。
【０００３】
ロックステップモードでは、２つのＣＰＵが同じ処理（プログラム）を実行し、その２つのＣＰＵからのデータ（演算結果）が、ロックステップ喪失ロジックのハードウェアにより比較される。そして、その両データが異なれば、ロックステップ喪失ロジックにより、誤りとして検出される。一方、フリーステップモードでは、２つのＣＰＵが別々の処理を実行可能となる。尚、フリーステップモードは、デュアルモードとも呼ばれる。
【０００４】
そして、特許文献１には、ロックステップモードとフリーステップモードを切り替えることにより、誤り検出と処理性能（パフォーマンス）とを最適化する思想が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−３０２２８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記のプロセッサでは、ロックステップモードを活用することにより、データ誤り（即ち、２つのＣＰＵによる演算結果の不一致）は分かるが、どちらのＣＰＵによる演算結果が正しいのか（結局は、どちらのＣＰＵが正常なのか）は判断できない。
【０００７】
このため、この種のプロセッサを用いて制御対象を制御する電子制御装置において、２つのＣＰＵによる演算結果の不一致が生じた場合には、制御対象を不適切に制御してしまわないようにすることを目的として、即座にプロセッサをリセットし、正常復帰を試みるしかない。
【０００８】
そこで、本発明は、２つのＣＰＵを有するプロセッサを用いて制御対象を制御する電子制御装置において、そのプロセッサの２つのＣＰＵのうちで異常になった方を、安価な構成で判別できるようにすると共に、信頼性も確保できるようにすることを目的としている。
【課題を解決するための手段】
【０００９】
本発明の電子制御装置は、主プロセッサと副プロセッサとを備えている。
主プロセッサは、第１ＣＰＵと第２ＣＰＵを有し、その２つのＣＰＵにより、制御対象を制御するための制御処理を行う。
【００１０】
その制御処理には、「制御対象の目標状態を決定して、制御対象を該目標状態にさせる基本処理」と、「制御対象の許容限界状態を決定すると共に、制御対象の状態が基本処理によって該許容限界状態を逸脱してしまうことを阻止するガード処理」と、が含まれている。尚、ガード処理は、制御対象の状態を制限する処理でもある。
【００１１】
そして、主プロセッサでは、第１ＣＰＵが、基本処理のうちの一部を実行し、第２ＣＰＵが、基本処理のうち、前記一部（第１ＣＰＵが実行する部分）とは別の部分を実行し、第１ＣＰＵと第２ＣＰＵとの両方が、ガード処理を実行するようになっている。
【００１２】
つまり、制御処理のうちの基本処理は、第１ＣＰＵと第２ＣＰＵとで分担して実行されるが、制御処理のうちのガード処理は、第１ＣＰＵと第２ＣＰＵとの両方で実行される。
また、副プロセッサは、制御処理のうち、ガード処理を実行するようになっている。
【００１３】
そして、当該電子制御装置では、判別手段が、副プロセッサによるガード処理の演算結果と、第１ＣＰＵによるガード処理の演算結果と、第２ＣＰＵによるガード処理の演算結果とを比較することにより、第１ＣＰＵと第２ＣＰＵとのうちで異常な方のＣＰＵを判別する。
【００１４】
このような電子制御装置によれば、主プロセッサの第１ＣＰＵと第２ＣＰＵとのうち、何れか一方が異常になった場合に、その異常になった方のＣＰＵを判別することができるため、正常な方のＣＰＵに処理を続けさせることができるようになる。そして、制御処理のうち、少なくとも、ガード処理の正常性を確保することができ、制御対象の状態が許容限界状態を逸脱してしまうことを阻止することができる。よって、制御対象の制御に関する信頼性を確保することができる。
【００１５】
しかも、副プロセッサは、制御処理のうち、ガード処理だけを実行すれば良いため、その副プロセッサの処理負荷は小さくて済む。このため、副プロセッサとしては、主プロセッサと比較して性能が低いもので良く、概して安価なものを使用することができる。
【００１６】
よって、主プロセッサの２つのＣＰＵのうちで異常になった方を、安価な構成で判別できると共に、信頼性も確保することができる。
例えば、第１ＣＰＵと第２ＣＰＵとのうち、判別手段により異常と判別されたＣＰＵの動作を停止させると共に、他方のＣＰＵ（即ち、正常な方のＣＰＵ）の動作モードを、制御処理の全てを実行する特別モードに切り替える切替手段を、主プロセッサに設けることが考えられる。その切替手段を設ければ、第１ＣＰＵと第２ＣＰＵとのうちの一方が異常になっても、正常な方のＣＰＵにより、ガード処理も含めて制御処理を続行することができ、制御の信頼性を一層向上させることができる。また例えば、判別手段は、主プロセッサ及び副プロセッサとは別のハードウェアによって実現しても良いが、副プロセッサが判別手段として機能するようになっていれば、ハードウェアを少なくすることができるため有利である。
【図面の簡単な説明】
【００１７】
【図１】第１実施形態のＥＣＵ（電子制御装置）の構成を周辺装置と共に表す構成図である。
【図２】第１実施形態の主プロセッサと副プロセッサの構成を表す構成図である。
【図３】第１実施形態のスロットル制御処理の構成を表すブロック図である。
【図４】第１実施形態の変速機制御処理の構成を表すブロック図である。
【図５】作動させるべき変速用ソレノイドの組み合わせとギア段との対応関係を示す図である。
【図６】６速から５速への変速制御例を表す図である。
【図７】第１実施形態の主プロセッサにおいて、スロットル制御処理が２つのＣＰＵによってどのように実行されるかを表すフローチャートである。
【図８】第１実施形態の主プロセッサにおいて、変速機制御処理が２つのＣＰＵによってどのように実行されるかを表すフローチャートである。
【図９】第１実施形態の主プロセッサにおける通信装置の動作を表すフローチャートである。
【図１０】第１実施形態の副プロセッサが実行する処理を表すフローチャートである。
【図１１】第１実施形態の主プロセッサにおける切替部の動作を表すフローチャートである。
【図１２】第１実施形態の主プロセッサにおいて、特別モードのＣＰＵが実行する特別モード処理を表すフローチャートである。
【図１３】第１実施形態の主プロセッサの動作内容をまとめて表すフローチャートである。
【図１４】第２実施形態の主プロセッサにおける２つのＣＰＵが行う処理を表すフローチャートである。
【図１５】第２実施形態の主プロセッサにおける通信装置の動作を表すフローチャートである。
【図１６】第２実施形態の副プロセッサが実行する処理を表すフローチャートである。
【図１７】第３実施形態のスロットル制御処理の構成を表すブロック図である。
【図１８】第４実施形態のスロットル制御処理の構成を表すブロック図である。
【発明を実施するための形態】
【００１８】
以下に、本発明が適用された実施形態の電子制御装置について説明する。
［第１実施形態］
図１に示すように、第１実施形態の電子制御装置（以下、ＥＣＵという）１１は、車両のエンジン１３への吸入空気量を調節するスロットル１５と、エンジン１３の出力を車輪の駆動軸（図示省略）に伝達する変速機（オートマチックトランスミッション：ＡＴ）１７とを制御する。
【００１９】
スロットル１５は、そのスロットル１５の開度（以下、スロットル開度という）を変化させるアクチュエータとしてのモータ１９と、実際のスロットル開度（以下、実スロットル開度という）を検出する開度センサ２１と共に、電子スロットル２３としてモジュール化されている。
【００２０】
また、変速機１７は、当該変速機１７の内部に設けられた油圧経路（図示省略）の油圧（以下、ライン圧ともいう）を調整するためのライン圧ソレノイド２５と、当該変速機１７の変速比（詳しくは、変速機１７におけるギア部２７の変速比であり、本実施形態ではギア段）を変えるための複数（本実施形態では例えば４つ）の変速用ソレノイド３１〜３４とを備えている。
【００２１】
ライン圧ソレノイド２５は、エンジン１３の作動中において、ライン圧を調整すべくＥＣＵ１１により常時作動させられるリニアソレノイドである。また、変速用ソレノイド３１〜３４は、作動することで、その変速用ソレノイドに対応した油圧の個別経路に、ライン圧ソレノイド２５によって調整された油圧を与えるものであり、車両の運転状態に応じて変更すべきギア段に応じた組み合わせで、１つ以上のものがＥＣＵ１１により作動させられる。
【００２２】
尚、変速機１７は、例えばギア段が、変速比最大の最低ギア段である１速から、変速比最小の最高ギア段である６速まで、６通りに変化する６速自動変速機であり、低いギア段（“ｎ速”のｎの値が小さいギア段）ほど変速比が大きい。そして、変速用ソレノイド３１〜３４の各々を、第１変速用ソレノイド３１、第２変速用ソレノイド３２、第３変速用ソレノイド３３、第４変速用ソレノイド３４と称することにすると、作動させるべき変速用ソレノイドの組合せとギア段との対応関係は、例えば図５に示す通りである。
【００２３】
そして、ＥＣＵ１１には、スロットル１５と変速機１７を制御するために用いられる情報信号として、例えば、車両の運転者によるアクセルペダルの操作量（以下、アクセル操作量という）を検出するアクセルセンサ３５からの信号（以下、アクセルセンサ信号という）や、運転者がブレーキペダルを踏んだこと（つまり、ブレーキ操作をしたこと）を検出するブレーキスイッチ３７からの信号（以下、ブレーキスイッチ信号という）や、車両の走行速度（車速）を検出する車速センサ３９からの信号（以下、車速センサ信号という）等が入力される。
【００２４】
そして、ＥＣＵ１１は、スロットル１５を制御するための制御処理（以下、スロットル制御処理という）及び変速機１７を制御するための制御処理（以下、変速機制御処理という）を行う主プロセッサ４１と、主プロセッサ４１による正常な制御を維持するための副プロセッサ４２と、を備えている。
【００２５】
更に、ＥＣＵ１１は、主プロセッサ４１からの信号に応じて電子スロットル２３のモータ１９に駆動信号を出力する駆動回路４３と、主プロセッサ４１からの信号に応じて変速機１７のライン圧ソレノイド２５及び変速用ソレノイド３１〜３４に駆動信号を出力する駆動回路４５と、を備えている。
【００２６】
尚、本実施形態において、モータ１９への駆動信号（以下、モータ駆動信号ともいう）は、車両のバッテリ電圧とグランドラインの電圧（＝０Ｖ）とに切り替えられる信号である。そして、このことは、ライン圧ソレノイド２５への駆動信号（以下、ライン圧ソレノイド駆動信号ともいう）及び変速用ソレノイド３１〜３４への駆動信号（以下、変速用ソレノイド駆動信号ともいう）についても同様である。
【００２７】
そして、ＥＣＵ１１において、主プロセッサ４１には、ＥＣＵ１１へ入力される前述の情報信号と、開度センサ２１からの信号（以下、開度センサ信号という）とが入力される。更に、主プロセッサ４１には、駆動回路４５から変速用ソレノイド３１〜３４に出力される駆動信号の各々が、変速用ソレノイド３１〜３４の駆動状態を表す変速用ソレノイド駆動状態信号として入力される。
【００２８】
尚、本実施形態では、例えば、アクセルセンサ信号は、アクセル操作量に応じた電圧のアナログ信号であり、ブレーキスイッチ信号は、ブレーキ操作が行われるとハイまたはローのアクティブレベルになる二値信号であり、車速センサ信号は、パルス間隔が車速に応じて変化するパルス信号であり、開度センサ信号は、実スロットル開度に応じた電圧のアナログ信号である。そして、主プロセッサ４１への信号の入力は、その入力される信号の種類に適した入力回路（図示省略）を介して行われる。
【００２９】
また、ＥＣＵ１１において、主プロセッサ４１と副プロセッサ４２は、通信線４７を介して通信可能に接続されている。
次に、図２に示すように、主プロセッサ４１は、第１ＣＰＵ１（以下単に、ＣＰＵ１という）と、第２ＣＰＵ２（以下単に、ＣＰＵ２という）と、を備えている。
【００３０】
そして、主プロセッサ４１は、ＣＰＵ１，２に共通の構成要素として、ＣＰＵ１，２により実行されるプログラムや固定のデータが記憶されたＲＯＭ３と、ＣＰＵ１，２による演算結果や外部からの入力情報等が記憶されるＲＡＭ４と、通信線４７を介して副プロセッサ４２と通信するための通信装置５と、ＣＰＵ１による演算結果とＣＰＵ２による演算結果とを比較する比較器６と、入出力ポート（図示省略）等とを備えている。
【００３１】
更に、主プロセッサ４１は、ＣＰＵ１，２の何れかに異常が生じた場合に、異常な方のＣＰＵの動作を停止させると共に、正常な方のＣＰＵの動作モードを切り替える切替部７と、当該主プロセッサ４１の外部からの入力情報を取り込んでＲＡＭ４の記憶領域である入力情報格納領域に記憶する入力処理部８も備えている。
【００３２】
この主プロセッサ４１は、ＣＰＵ１，２が同じ処理を実行するロックステップモードと、ＣＰＵ１，２が別々の処理を実行可能なフリーステップモード（非ロックステップモードであり、デュアルモードとも呼ばれる）とに、動作モードが切り替え可能なプロセッサである。
【００３３】
また、入力処理部８は、アクセルセンサ信号、ブレーキスイッチ信号、開度センサ信号、及び変速用ソレノイド駆動状態信号の各値を、当該主プロセッサ４１の入力端子から一定時間毎に読み取ってＲＡＭ４の入力情報格納領域に更新記憶すると共に、車速センサ信号のパルス間隔を、一定時間毎に計測してＲＡＭの入力情報格納領域に更新記憶する。
【００３４】
一方、副プロセッサ４２は、ＣＰＵ５１と、ＣＰＵ５１により実行されるプログラムや固定のデータが記憶されたＲＯＭ５３と、ＣＰＵ５１による演算結果等が記憶されるＲＡＭ５４と、通信線４７を介して主プロセッサ４１と通信するための通信装置５５とを備えている。
【００３５】
尚、図２において、実線の矢印は、データの伝達系統を表しており、点線の矢印は、命令または指示の伝達系統を表している。
次に、主プロセッサ４１が行うスロットル制御処理と変速機制御処理について説明する。
【００３６】
〈スロットル制御処理〉
図３に示すように、スロットル制御処理は、センサ入力処理Ｐ１と、ドラビリ補正処理Ｐ２（尚、ドラビリは、ドライバビリティの略）と、アイドル回転補正処理Ｐ３と、スロットル開度算出処理Ｐ４と、モータ制御処理Ｐ５と、スロットル制御のガード処理Ｐ６とによって構成されている。
【００３７】
センサ入力処理Ｐ１では、アクセルセンサ信号とブレーキスイッチ信号の各値を、ＲＡＭ４の入力情報格納領域から読み取り、その各値から、運転者によるアクセル操作量とブレーキ操作の有無を検出する。詳しくは、アクセルセンサ信号の値を、アクセル操作量を表す制御用データに換算すると共に、ブレーキスイッチ信号の値を、ブレーキ操作の有無を表す制御用データに換算する。
【００３８】
ドラビリ補正処理Ｐ２では、センサ入力処理Ｐ１で検出したアクセル操作量の変化速度に応じて、スロットル開度の補正値を算出する。例えば、アクセル操作量の増加方向の変化速度が大きいほど、補正値を大きくする。
【００３９】
アイドル回転補正処理Ｐ３では、センサ入力処理Ｐ１で検出したアクセル操作量が０の場合に、エンジン１３のアイドル運転を確保するためのスロットル開度の補正値を算出する。
【００４０】
スロットル開度算出処理Ｐ４では、センサ入力処理Ｐ１で検出したアクセル操作量及びブレーキ操作の有無に基づきスロットル開度の基本値を算出し、その基本値に、ドラビリ補正処理Ｐ２とアイドル回転補正処理Ｐ３とで算出した各補正値を加えることで、目標スロットル開度を算出する（換言すれば、決定する）。
【００４１】
モータ制御処理Ｐ５では、開度センサ信号の値を、ＲＡＭ４の入力情報格納領域から読み取って、その値から実スロットル開度を検出すると共に、その検出した実スロットル開度に応じて目標スロットル開度を補正することにより、実スロットル開度を目標スロットル開度にするためのスロットル開度の指令値である要求開度を決定する。
【００４２】
また、ガード処理Ｐ６は、スロットル１５の許容限界状態として、スロットル開度の上限値であるスロットル開度ガード値を決定し、実スロットル開度が、そのスロットル開度ガード値を上回ってしまうことを阻止する処理である。
【００４３】
そして、ガード処理Ｐ６は、スロットル開度ガード値算出処理Ｐ６ａと、スロットル出力処理Ｐ６ｂとからなる。
スロットル開度ガード値算出処理Ｐ６ａでは、アクセルセンサ信号とブレーキスイッチ信号の各値を、ＲＡＭ４の入力情報格納領域から読み取って、その各値からアクセル操作量とブレーキ操作の有無を検出し、更に、それらの検出値から、車両の加速度が不要に所定値以上になってしまう（つまり、車両が不要に急加速する）と考えられるスロットル開度よりも小さいスロットル開度を、スロットル開度ガード値として決定する。
【００４４】
そして、スロットル出力処理Ｐ６ｂでは、モータ制御処理Ｐ５で決定された要求開度がスロットル開度ガード値以下であれば、その要求開度を実現するためのモータ駆動信号の出力値を決定し（詳しくは例えばモータ駆動信号のデューティ比を決定し）、逆に、要求開度がスロットル開度ガード値よりも大きければ、実スロットル開度をスロットル開度ガード値にするためのモータ駆動信号の出力値を決定する。そして更に、スロットル出力処理Ｐ６ｂでは、決定した出力値のモータ駆動信号を、駆動回路４３からモータ１９へ出力させる。
【００４５】
本実施形態では、もしモータ制御処理Ｐ５で決定される要求開度が適正値にならなかった場合でも、このようなガード処理Ｐ６が実行されることにより、予期しない車両の急加速が防止される。
【００４６】
尚、本実施形態では、スロットル制御処理のうち、ガード処理Ｐ６以外の処理Ｐ１〜Ｐ５が、スロットル１５の目標状態（この例では目標スロットル開度）を決定してスロットル１５をその目標状態にさせる基本処理（以下、スロットル制御の基本処理ともいう）に相当している。
【００４７】
〈変速機制御処理〉
図４に示すように、変速機制御処理は、センサ入力処理Ｐ１１と、変速判断処理Ｐ１２と、ライン圧処理Ｐ１３と、ライン圧ソレノイド出力処理Ｐ１４と、第１変速用ソレノイド処理Ｐ１５と、第２変速用ソレノイド処理Ｐ１６と、第３変速用ソレノイド処理Ｐ１７と、第４変速用ソレノイド処理Ｐ１８と、変速機制御のガード処理Ｐ１９とによって構成されている。
【００４８】
センサ入力処理Ｐ１１では、アクセルセンサ信号の値と車速センサ信号のパルス間隔とを、ＲＡＭ４の入力情報格納領域から読み取り、その各値からアクセル操作量と車速を検出する。詳しくは、アクセルセンサ信号の値を、アクセル操作量を表す制御用データに換算すると共に、車速センサ信号のパルス間隔を、車速を表す制御用データに換算する。
【００４９】
変速判断処理Ｐ１２では、センサ入力処理Ｐ１１で検出したアクセル操作量と車速に基づいて、変速機１７の変速（即ち、ギア段の変更）が必要か否かを判断すると共に、変速が必要ならば、変速させる目標ギア段を決定する。
【００５０】
ライン圧処理Ｐ１３では、センサ入力処理Ｐ１１で検出したアクセル操作量と、現在のギア段（現在ギア段）と、変速判断処理Ｐ１２で決定した目標ギア段とから、目標のライン圧である要求ライン圧を決定する。
【００５１】
ライン圧ソレノイド出力処理Ｐ１４では、ライン圧処理Ｐ１３で決定した要求ライン圧を実現するためのライン圧ソレノイド駆動信号の出力値を決定し（詳しくは例えばライン圧ソレノイド駆動信号のデューティ比を決定し）、その決定した出力値のライン圧ソレノイド駆動信号を、駆動回路４５からライン圧ソレノイド２５へ出力させる。
【００５２】
第１変速用ソレノイド処理Ｐ１５では、変速判断処理Ｐ１２で決定した目標ギア段と現在ギア段とのうち、少なくとも目標ギア段に基づいて、前述した変速用ソレノイドの組み合わせとギア段との対応関係（図５参照）から、第１変速用ソレノイド３１の要求作動状態（この例では作動させるか非作動にするか）を決定する。例えば、図５に示すように、目標ギア段が１速〜４速のうちの何れかであれば、第１変速用ソレノイド３１の要求作動状態を「作動」に決定し、目標ギア段が５速または６速であれば、第１変速用ソレノイド３１の要求作動状態を「非作動」に決定する。
【００５３】
同様に、第２変速用ソレノイド処理Ｐ１６では、少なくとも目標ギア段に基づいて第２変速用ソレノイド３２の要求作動状態を決定し、第３変速用ソレノイド処理Ｐ１７では、少なくとも目標ギア段に基づいて第３変速用ソレノイド３３の要求作動状態を決定し、第４変速用ソレノイド処理Ｐ１８では、少なくとも目標ギア段に基づいて第４変速用ソレノイド３４の要求作動状態を決定する。
【００５４】
また、ガード処理Ｐ１９は、変速機１７の許容限界状態として、変速されるギア段（以下、変速ギア段という）の下限値（即ち、変速が許可される最低のギア段であり、換言すれば、変速比の上限値）である変速ギア段ガード値を決定し、実際のギア段が、その変速ギア段ガード値を下回ってしまうこと（即ち、変速ギア段ガード値よりも低いギア段になってしまうこと）を阻止する処理である。このため、ガード処理Ｐ１９は、変速機１７の許容限界状態として、変速比の上限値を決定し、実際の変速比がその上限値を上回ってしまうことを阻止する処理であるとも言える。
【００５５】
そして、ガード処理Ｐ１９は、変速ギア段ガード値算出処理Ｐ１９ａと、変速用ソレノイド出力処理Ｐ１９ｂとからなる。
変速ギア段ガード値算出処理Ｐ１９ａでは、車速センサ信号のパルス間隔と変速用ソレノイド駆動状態信号の各値とを、ＲＡＭ４の入力情報格納領域から読み取って、その各値から、車速と変速用ソレノイド３１〜３４の現在の駆動状態（作動しているか否か）とを検出し、更に、変速用ソレノイド３１〜３４の現在の駆動状態から、現在のギア段を判別する。尚、現在のギア段は、前述した変速用ソレノイドの組み合わせとギア段との対応関係（図５参照）に基づき判別される。
【００５６】
そして更に、変速ギア段ガード値算出処理Ｐ１９ａでは、検出した車速と現在のギア段とから、変速に伴う車両の減速度（減速方向の加速度）が所定値以上になってしまう（つまり、変速に伴うトルクの変化によって車両が急減速する）と考えられる変速ギア段よりも１つ高いギア段（換言すれば、減速比が１段階小さいギア段）を、変速ギア段ガード値として決定する。例えば、車速が大きい場合ほど、また現在のギア段が高いギア段である場合ほど、変速ギア段ガード値は高いギア段に設定される。
【００５７】
そして、変速用ソレノイド出力処理Ｐ１９ｂでは、変速用ソレノイド処理Ｐ１５〜Ｐ１８の各々で決定された変速用ソレノイド３１〜３４の要求作動状態から、目標ギア段を判別し、その目標ギア段が変速ギア段ガード値以上であれば、上記決定された要求作動状態を実現するための各変速用ソレノイド駆動信号の出力値を決定し（詳しくは例えば、どの変速用ソレノイド駆動信号をバッテリ電圧にし、どの変速用ソレノイド駆動電圧を０Ｖにするかを決定し）、その決定した出力値の各変速用ソレノイド駆動信号を、駆動回路４５から変速用ソレノイド３１〜３４へ出力させる。
【００５８】
また、変速用ソレノイド出力処理Ｐ１９ｂでは、目標ギア段が変速ギア段ガード値を下回っていた場合には、上記決定された要求作動状態を無視して（換言すれば、目標ギア段を無視して）、各変速用ソレノイド駆動信号の出力値を前回値と同じ値に決定し、その決定した出力値の各変速用ソレノイド駆動信号（即ち、現在のギア段を維持するための駆動信号）を、駆動回路４５から変速用ソレノイド３１〜３４へ出力させる。尚、この場合、現在のギア段を維持するための駆動信号を出力することに代えて、例えば、ギア段を変速ギア段ガード値にするための駆動信号を出力するようになっていても良い。
【００５９】
以上のような変速機制御処理により、例えば、現在のギア段が６速で、目標ギア段が５速で、変速ギア段ガード値が５速以下（１速〜５速の何れか）であった場合には、ギア段が６速から５速に変速されることとなる。
【００６０】
そして、その場合、変速用ソレノイド３１〜３４は、図５における最下段の状態から、下から２段目の状態へと切り替えられることとなる。このため、図６に示すように、第１変速用ソレノイド３１は非作動のままで、その第１変速用ソレノイド３１に対応した油圧の経路は、油圧が抜かれた状態を保持することとなり、また、第３変速用ソレノイド３３は作動したままで、その第３変速用ソレノイド３３に対応した油圧の経路は、油圧がかけられた状態を保持することとなる。そして、第２変速用ソレノイド３２は作動の状態から非作動に変化して、その第２変速用ソレノイド３２に対応した油圧の経路から油圧が抜かれることとなり、第４変速用ソレノイド３４は非作動から作動の状態に変化して、その第４変速用ソレノイド３４に対応した油圧の経路に油圧がかけられることとなる。
【００６１】
また、目標ギア段が変速ギア段ガード値を下回っていた場合（即ち、目標ギア段が変速ギア段ガード値よりも低いギア段であった場合）には、ガード処理Ｐ１９により、実際のギア段が変速ギア段ガード値よりも低いギア段になってしまうことが防止される。
【００６２】
よって、もし変速判断処理Ｐ１２で決定される目標ギア段や変速用ソレノイド処理Ｐ１５〜Ｐ１８で決定される変速用ソレノイド３１〜３４の要求作動状態が適正値にならなかった場合でも、ガード処理Ｐ１９が実行されることにより、予期しない車両の急減速が防止される。つまり、車両が比較的高速で走行している場合に、変速機１７が高いギア段から低いギア段に変速してしまうと、急減速を誘発することとなるが、そのような事象が防止される。
【００６３】
尚、変速ギア段ガード値は、変速に伴うトルクの変化量を考慮して決定されるべき制御用パラメータであるため、本実施形態の変速ギア段ガード値算出処理Ｐ１９ａでは、変速ギア段ガード値を、車速だけでなく、車速と現在のギア段（現在の変速比でもある）との両方に基づいて決定している。このため、より精密に変速ギア段ガード値を決定することができ、延いては、より精密に車両の急減速を防止することができる。但し、変速ギア段ガード値は、現在のギア段を参照せずに、車速から決定するように構成することも可能である。
【００６４】
また、本実施形態では、変速機制御処理のうち、ガード処理Ｐ１９以外の処理Ｐ１１〜Ｐ１８が、変速機１７の目標状態（この例では目標ギア段）を決定して変速機１７をその目標状態にさせる基本処理（以下、変速機制御の基本処理ともいう）に相当している。
【００６５】
一方、変速機１７のライン圧は、仮に異常となっても急減速の要因とならないため、本実施形態では、ガード処理の対象から除外している。しかし、システムによっては、ライン圧をガード処理の対象としてもよい。
【００６６】
次に、前述のスロットル制御処理と変速機制御処理とが、主プロセッサ４１のＣＰＵ１，２により、どのように実行されるかについて説明する。
主プロセッサ４１において、スロットル制御処理は、例えば一定時間毎に実行される。
【００６７】
そして、図７に示すように、スロットル制御処理が開始される時点において、主プロセッサ４１の動作モードはフリーステップモードになっており、ＣＰＵ１が、スロットル制御の基本処理Ｐ１〜Ｐ５うち、例えば、センサ入力処理Ｐ１と、ドラビリ補正処理Ｐ２と、モータ制御処理Ｐ５とを、その順に実行する（Ｓ１１０〜Ｓ１３０）。また、ＣＰＵ２が、基本処理Ｐ１〜Ｐ５のうち、例えば、アイドル回転補正処理Ｐ３と、スロットル開度算出処理Ｐ４とを、その順に実行する（Ｓ２１０，Ｓ２２０）。
【００６８】
尚、ＣＰＵ２が実行するアイドル回転補正処理Ｐ３では、ＣＰＵ１が実行するセンサ入力処理Ｐ１で検出されたアクセル操作量を使用し、ＣＰＵ２が実行するスロットル開度算出処理Ｐ４では、ＣＰＵ１が実行するドラビリ補正処理Ｐ２で算出された補正値を使用し、ＣＰＵ１が実行するモータ制御処理Ｐ５では、ＣＰＵ２が実行するスロットル開度算出処理Ｐ４で算出された目標スロットル開度を使用することとなる。そして、このように、ＣＰＵ１，２の各々が実行する処理のうち、他方のＣＰＵによる演算結果を用いる処理では、その処理の実行時点で確定している最新の演算結果が用いられる。このため、その処理の実行時点で、他方のＣＰＵによる今回の演算結果がＲＡＭ４に未だ格納されていなければ、ＲＡＭ４内の前回の演算結果が用いられることとなる。また、このことは、後述する図８の変速機制御処理についても同様である。
【００６９】
そして、ＣＰＵ１，２による基本処理Ｐ１〜Ｐ５の実行が終了すると、主プロセッサ４１の動作モードがロックステップモードになり、ＣＰＵ１，２の両方が、ガード処理Ｐ６（スロットル開度ガード値算出処理Ｐ６ａ及びスロットル出力処理Ｐ６ｂ）を実行する（Ｓ１４０，Ｓ２３０）。
【００７０】
一方、主プロセッサ４１においては、変速機制御処理も、例えば一定時間毎に実行される。また、変速機制御処理は、例えば、スロットル制御処理とはマルチタスクのかたちで並列的に実行されるか、あるいは、スロットル制御処理の実行タイミングとは異なるタイミングで実行される。
【００７１】
そして、図８に示すように、変速機制御処理が開始される時点において、主プロセッサ４１の動作モードはフリーステップモードになっており、ＣＰＵ１が、変速機制御の基本処理Ｐ１１〜Ｐ１８のうち、例えば、センサ入力処理Ｐ１１と、ライン圧処理Ｐ１３と、第２変速用ソレノイド処理Ｐ１６と、第４変速用ソレノイド処理Ｐ１８とを、その順に実行する（Ｓ３１０〜Ｓ３４０）。また、ＣＰＵ２が、基本処理Ｐ１１〜Ｐ１８のうち、例えば、変速判断処理Ｐ１２と、第１変速用ソレノイド処理Ｐ１５と、第３変速用ソレノイド処理Ｐ１７と、ライン圧ソレノイド出力処理Ｐ１４とを、その順に実行する（Ｓ４１０〜Ｓ４４０）。
【００７２】
そして、ＣＰＵ１，２による基本処理Ｐ１１〜Ｐ１８の実行が終了すると、主プロセッサ４１の動作モードがロックステップモードになり、ＣＰＵ１，２の両方が、ガード処理Ｐ１９（変速ギア段ガード値算出処理Ｐ１９ａ及び変速用ソレノイド出力処理Ｐ１９ｂ）を実行する（Ｓ３５０，Ｓ４５０）。
【００７３】
次に、主プロセッサ４１における比較器６について説明する。
比較器６は、主プロセッサ４１の動作モードがロックステップモードの場合に動作する。
【００７４】
そして、比較器６は、ＣＰＵ１によるガード処理Ｐ６の演算結果と、ＣＰＵ２によるガード処理Ｐ６の演算結果とを比較する。本実施形態では、例えば、ＣＰＵ１，２によるガード処理Ｐ６の最終結果同士が比較され、具体的には、モータ駆動信号の出力値を算出した結果同士が比較される。
【００７５】
更に、比較器６は、ＣＰＵ１によるガード処理Ｐ１９の演算結果と、ＣＰＵ２によるガード処理Ｐ１９の演算結果とを比較する。本実施形態では、例えば、ＣＰＵ１，２によるガード処理Ｐ１９の最終結果同士が比較され、具体的には、各変速用ソレノイド駆動信号について、それの出力値を算出した結果同士が比較される。
【００７６】
そして、主プロセッサ４１では、比較器６によってＣＰＵ１による演算結果とＣＰＵ２による演算結果とが相違したことが検出されると、そのことを示す不一致通知が、比較器６から通信装置５に出力される。
【００７７】
すると、通信装置５は、比較器６からの不一致通知を受けることで、本来一致するはずのＣＰＵ１，２の演算結果が相違したことを検知し、図９に示すように、その相違した２つの演算結果である不一致演算結果と、不一致処理ＩＤと、不一致処理入力データとを、副プロセッサ４２に送信する（Ｓ５１０）。
【００７８】
尚、２つの不一致演算結果は、どのＣＰＵによる演算結果であるかを識別可能にして副プロセッサ４２へ送信される。例えば、ＣＰＵ１による演算結果とＣＰＵ２による演算結果とで、通信フレームにおける配置位置が固定で決まっていれば、副プロセッサ４２において、受信した不一致演算結果の各々が、どのＣＰＵによる演算結果であるかを識別することができる。また例えば、不一致演算結果の各々に、それを算出したＣＰＵの識別情報を付加しても良い。
【００７９】
また、不一致処理ＩＤは、ガード処理Ｐ６とガード処理Ｐ１９とのうち、ＣＰＵ１，２による演算結果に不一致が生じた方を示す識別情報であり、スロットル制御と変速機制御とのうち、ＣＰＵ１，２によるガード処理の演算結果に不一致が生じた方を示す識別情報でもある。そして、本実施形態では、不一致処理ＩＤの値として、例えば、“１”がスロットル制御のガード処理Ｐ６を示し、“２”が変速機制御のガード処理Ｐ１９を示す。
【００８０】
また、不一致処理入力データは、ガード処理Ｐ６とガード処理Ｐ１９とのうち、ＣＰＵ１，２による演算結果に不一致が生じた方の処理への入力データであって、ＣＰＵ１，２が不一致演算結果を求めるのに使用した入力データである。
【００８１】
例えば、ＣＰＵ１，２の演算結果に不一致が生じた処理がガード処理Ｐ６であれば、不一致処理入力データは、ガード処理Ｐ６への入力データであり、詳しくは、ＲＡＭ４の入力情報格納領域に記憶されているアクセルセンサ信号及びブレーキスイッチ信号の各値と、モータ制御処理Ｐ５で決定された要求開度である（図３参照）。また、ＣＰＵ１，２の演算結果に不一致が生じた処理がガード処理Ｐ１９であれば、不一致処理入力データは、ガード処理Ｐ１９への入力データであり、詳しくは、ＲＡＭ４の入力情報格納領域に記憶されている車速センサ信号のパルス間隔及び変速用ソレノイド駆動状態信号の各値と、変速用ソレノイド処理Ｐ１５〜Ｐ１８の各々で決定された変速用ソレノイド３１〜３４の要求作動状態である（図４参照）。
【００８２】
次に、副プロセッサ４２が行う処理（実際には、副プロセッサ４２のＣＰＵ５１が実行する処理）について説明する。
副プロセッサ４２は、主プロセッサ４１からの不一致演算結果、不一致処理ＩＤ及び不一致処理入力データを、通信装置５５によって受信すると、図１０の処理を開始する。
【００８３】
そして、図１０に示すように、副プロセッサ４２は、まずＳ６１０にて、通信装置５５から、主プロセッサ４１からの情報（不一致演算結果、不一致処理ＩＤ、不一致処理入力データ）を取得し、続くＳ６２０にて、主プロセッサ４１からの不一致処理ＩＤが“１”か否かを判定する。
【００８４】
そして、不一致処理ＩＤが“１”であれば、Ｓ６３０に進み、「不一致処理ＩＤ＝１」に対応する方であるスロットル制御のガード処理Ｐ６を、主プロセッサ４１からの不一致処理入力データを用いて実行することにより、主プロセッサ４１からの不一致演算結果と同じ種類の演算結果を求める。そして、その後、Ｓ６５０に進む。
【００８５】
また、不一致処理ＩＤが“１”でなければ、“２”であるということであり、その場合には、Ｓ６４０に進む。そして、「不一致処理ＩＤ＝２」に対応する方である変速機制御のガード処理Ｐ１９を、主プロセッサ４１からの不一致処理入力データを用いて実行することにより、主プロセッサ４１からの不一致演算結果と同じ種類の演算結果を求める。そして、その後、Ｓ６５０に進む。
【００８６】
尚、Ｓ６３０で実行されるガード処理Ｐ６は、主プロセッサ４１で実行されるガード処理Ｐ６と同じ処理であり、Ｓ６４０で実行されるガード処理Ｐ１９も、主プロセッサ４１で実行されるガード処理Ｐ１９と同じ処理である。また、副プロセッサ４２は、駆動回路４３，４５に接続されていない（あるいは更に、駆動回路４３，４５に信号を出力する機能がない）ため、副プロセッサ４２がガード処理Ｐ６，Ｐ１９を実行しても、モータ１９及び変速用ソレノイド３１〜３４に出力される駆動信号に影響はない。
【００８７】
そして、Ｓ６５０では、当該副プロセッサ４２が求めたガード処理の演算結果（即ち、Ｓ６３０またはＳ６４０で求めた演算結果）と、主プロセッサ４１からの２つの不一致演算結果とを比較することにより、ＣＰＵ１，２のうちで異常な方のＣＰＵを判別する。
【００８８】
具体的には、当該副プロセッサ４２が求めたガード処理の演算結果を「Ｒ３」とし、主プロセッサ４１からの２つの不一致演算結果のうち、ＣＰＵ１による演算結果を「Ｒ１」とし、ＣＰＵ２による演算結果を「Ｒ２」とすると、Ｓ６５０では、Ｒ１とＲ２とのうちで、Ｒ３とは異なる方を異常データとし、ＣＰＵ１，２のうちで、その異常データを算出した方を、異常なＣＰＵとして判別する。つまり、Ｒ３を真として、多数決をとることにより、ＣＰＵ１，２のうちで異常な方のＣＰＵを判別する。
【００８９】
そして、次のＳ６６０にて、上記Ｓ６５０で異常と判別した方のＣＰＵを示す異常側ＣＰＵ情報を、通信装置５５から主プロセッサ４１へ送信させ、その後、当該副プロセッサ４２側の処理を終了する。尚、Ｓ６６０では、主プロセッサ４１へ、正常と判別した方のＣＰＵを示す情報を送信しても良い。主プロセッサ４１において、正常な方のＣＰＵが分かれば、異常な方のＣＰＵも分かるからである。
【００９０】
一方、主プロセッサ４１では、副プロセッサ４２からの異常側ＣＰＵ情報が通信装置５によって受信されると、切替部７が動作する。
そして、図１１に示すように、切替部７は、副プロセッサ４２からの異常側ＣＰＵ情報を通信装置５から取得し、その異常側ＣＰＵ情報に基づいて、ＣＰＵ１，２のうち、副プロセッサ４２により異常と判別されたＣＰＵ（以下、異常側ＣＰＵという）を特定する（Ｓ７１０）。そして更に、切替部７は、ＣＰＵ１，２のうち、異常側ＣＰＵの動作を停止させると共に、異常側ＣＰＵとは異なる方のＣＰＵ（以下、正常側ＣＰＵという）の動作モードを、制御処理（本実施形態ではスロットル制御処理及び変速機制御処理）の全てを実行する特別モードに切り替える（Ｓ７２０）。
【００９１】
すると、ＣＰＵ１，２のうち、特別モードにされた正常側ＣＰＵは、図１２に示す特別モード処理を、一定時間毎に行うようになる。
図１２に示すように、正常側ＣＰＵは、特別モード処理を開始すると、まず、スロットル制御処理の基本処理Ｐ１〜Ｐ５を実行し（Ｓ８１０）、次に、変速機制御の基本処理Ｐ１１〜Ｐ１８を実行する（Ｓ８２０）。そして更に、スロットル制御のガード処理Ｐ６を実行し（Ｓ８３０）、次に、変速機制御のガード処理Ｐ１９を実行する（Ｓ８４０）。
【００９２】
上記Ｓ８１０〜Ｓ８４０の処理（即ち、スロットル制御処理及び変速機制御処理）を終えると、次にＳ８５０にて、車速に基づき車両が停止したか否かを判定する。尚、車速としては、例えば、変速機制御処理におけるセンサ入力処理Ｐ１１で検出した値を用いることができる。
【００９３】
そして、上記Ｓ８５０にて、車両が停止していないと判定した場合には、そのまま当該特別モード処理を終了する。すると、正常側ＣＰＵは、当該特別モード処理を一定時間後に再び開始することとなる。
【００９４】
また、上記Ｓ８５０にて、車両が停止したと判定した場合には、Ｓ８６０に進み、主プロセッサ４１をリセットするためのリセット処理を行う。すると、主プロセッサ４１におけるＣＰＵ１，２は、スロットル制御処理と変速機制御処理を図７及び図８に示したように実行する通常状態に戻ることとなる。
【００９５】
尚、Ｓ８６０のリセット処理は、例えば、主プロセッサ４１の特定の出力端子から主プロセッサ４１のリセット端子へ、アクティブレベルのリセット信号を出力する処理であるが、例えば、ＣＰＵ１，２が実行するプログラムのアドレスを、リセットスタート時のアドレスに変更する処理であっても良い。
【００９６】
次に、主プロセッサ４１の動作内容を、図１３にまとめて示す。尚、図１３において、既述した図７〜図９，図１１，図１２のステップ番号と同じ動作内容については、それと同じステップ番号を付している。
【００９７】
図１３に示すように、主プロセッサ４１において、ＣＰＵ１，２が正常に動作している場合には、フリーステップモードで、ＣＰＵ１がスロットル制御及び変速機制御の基本処理の一部Ｐ１，Ｐ２，Ｐ５，Ｐ１１，Ｐ１３，Ｐ１６，Ｐ１８を実行し（Ｓ１１０〜Ｓ１３０，Ｓ３１０〜Ｓ３４０）、ＣＰＵ２が基本処理の残り部分Ｐ３，Ｐ４，Ｐ１２，Ｐ１５，Ｐ１７，Ｐ１４を実行する（Ｓ２１０，Ｓ２２０，Ｓ４１０〜Ｓ４４０）。つまり、基本処理は２つのＣＰＵ１，２により分担されて実行される。
【００９８】
また、主プロセッサ４１においては、ロックステップモードで、ＣＰＵ１，２の両方がガード処理Ｐ６，Ｐ１９を実行する（Ｓ１４０，Ｓ３５０，Ｓ２３０，Ｓ４５０）。
そして、ＣＰＵ１，２が正常に動作していれば、ＣＰＵ１によるガード処理の演算結果と、ＣＰＵ２によるガード処理の演算結果は、同じになり、比較器６により不一致は検出されない（Ｓ５０５：ＮＯ）。
【００９９】
しかし、ＣＰＵ１，２のうちの一方が正常に動作しなくなると、ＣＰＵ１によるガード処理の演算結果と、ＣＰＵ２によるガード処理の演算結果とが、一致しなくなり、そのことが、比較器６によって検出される（Ｓ５０５：ＹＥＳ）。
【０１００】
すると、通信装置５により、主プロセッサ４１から副プロセッサ４２へ、２つの不一致演算結果と、不一致処理ＩＤと、不一致処理入力データとが送信される（Ｓ５１０）。
そして、副プロセッサ４２が、不一致処理ＩＤによって示されるガード処理を、不一致処理入力データを用いて実行することにより、不一致演算結果と同じ種類の演算結果を求め、その求めた演算結果と２つの不一致演算結果とを比較して、ＣＰＵ１，２のうち、異常な方のＣＰＵを判別する。そして更に、副プロセッサ４２は、異常側ＣＰＵ情報を主プロセッサ４１へ送信する。
【０１０１】
このため、主プロセッサ４１では、通信装置５により、副プロセッサ４２からの異常側ＣＰＵ情報が受信され、切替部７が、その異常側ＣＰＵ情報に基づいて、異常側ＣＰＵを特定する（Ｓ７１０）。そして更に、切替部７は、異常側ＣＰＵの動作を停止させると共に、正常側ＣＰＵを特別モードで動作させる（Ｓ７２０）。
【０１０２】
すると、正常側ＣＰＵは、スロットル制御処理及び変速機制御処理の全て（基本処理の全て及びガード処理）を実行するようになり（Ｓ８１０〜Ｓ８４０）、車両が停止すると（Ｓ８５０：ＹＥＳ）、当該主プロセッサ４１をリセットして、正常復帰（即ち、異常側ＣＰＵの正常化）を試みることとなる（Ｓ８６０）。
【０１０３】
以上のようなＥＣＵ１１によれば、主プロセッサ４１のＣＰＵ１，２のうち、何れか一方が異常になった場合に、その異常になった方のＣＰＵを判別することができる。
このため、ＥＣＵ１１では、ＣＰＵ１，２のうち、異常と判別した方のＣＰＵの動作を停止させると共に、正常な方のＣＰＵに制御処理を実行させている。
【０１０４】
そして、制御処理のうち、少なくともガード処理の正常性を確保することができるため、制御対象の状態が許容限界状態を逸脱してしまうことを阻止することができる。特に、本実施形態では、スロットル開度がスロットル開度ガード値を上回ってしまうことが阻止されるため、車両の急加速が防止され、また、変速機１７の変速ギア段が変速ギア段ガード値よりも低いギア段になってしまうこと（換言すれば、変速比が変速ギア段ガード値に対応する変速比を上回ってしまうこと）が阻止されるため、車両の急減速が防止される。このように、制御対象の制御に関する信頼性を確保することができる。
【０１０５】
しかも、副プロセッサ４２は、制御処理のうち、ガード処理だけを実行すれば良く、更に、ガード処理は概して基本処理よりも簡単な処理であるため、その副プロセッサ４２の処理負荷は主プロセッサ４１よりも格段に小さくて済む。例えば、図４の変速機制御処理を例に挙げると、基本処理のうちの変速判断処理Ｐ１２が非常に複雑な処理であるのに対して、ガード処理Ｐ１９は、それほど複雑な処理ではない。このため、副プロセッサ４２としては、主プロセッサ４１と比較して性能が低いもので良く、安価なものを使用することができる。
【０１０６】
よって、ＥＣＵ１１によれば、主プロセッサ４１のＣＰＵ１，２のうちで異常になった方を、安価な構成で判別できると共に、信頼性も確保することができる。
その上、ＥＣＵ１１では、主プロセッサ４１の切替部７が、ＣＰＵ１，２のうちの正常側ＣＰＵに、ガード処理も含めて制御処理の全てを実行させるため（Ｓ８１０〜Ｓ８４０）、車両の走行を安全に継続させることができ、制御の信頼性を一層向上させることができる。更に、車両が停止してから主プロセッサ４１をリセットするため（Ｓ８５０：ＹＥＳ，Ｓ８６０）、車両が停止した安全状態にて、正常状態に復帰することができる。
【０１０７】
更に、副プロセッサ４２が、ＣＰＵ１，２のうちで異常な方のＣＰＵを判別する判別手段として機能するため、ハードウェアを少なくすることができる。つまり、図１０におけるＳ６５０の処理（判別手段としての処理）を、副プロセッサ４２とは別のハードウェアによって実施するように構成しても良いが、そのような構成よりも、ハードウェアを少なくすることができる。
【０１０８】
また、主プロセッサ４１では、比較器６が動作するロックステップモードにて、ＣＰＵ１，２の両方がガード処理を実行するため、ＣＰＵ１，２によるガード処理の演算結果の不一致を、主プロセッサ４１側にて検出することができる。
【０１０９】
このため、ＥＣＵ１１では、前述したように、比較器６によってＣＰＵ１，２による演算結果の相違が検出された場合に、主プロセッサ４１の通信装置５が、副プロセッサ４２へ、その相違した２つの不一致演算結果を、どのＣＰＵによる演算結果であるかを識別可能にして送信すると共に、不一致処理ＩＤ及び不一致処理入力データも送信するようになっている。そして、副プロセッサ４２は、主プロセッサ４１からの不一致処理入力データを用いて、不一致処理ＩＤが示すガード処理を実行することにより、不一致演算結果と同じ種類の演算結果を求め、その求めた演算結果と２つの不一致演算結果とを比較することにより、ＣＰＵ１，２のうちで異常な方のＣＰＵを判別し、更に、その異常と判別したＣＰＵを示す異常側ＣＰＵ情報を、主プロセッサ４１に送信するようになっている。そして更に、主プロセッサ４１の切替部７は、副プロセッサ４２からの異常側ＣＰＵ情報に基づいて異常側ＣＰＵを特定する。
【０１１０】
そして、このようなＥＣＵ１１によれば、主プロセッサ４１から副プロセッサ４２への情報送信の機会と、副プロセッサ４２がガード処理を実行する機会とを、最小限にすることができるため、ＥＣＵ１１全体での処理負荷を抑制することができる。
【０１１１】
また、主プロセッサ４１は、スロットル制御と変速機制御の基本処理を、２つのＣＰＵ１，２によりフリーステップモードで実行するため、高い処理性能が得られる。
尚、本実施形態では、ガード処理が制御別に２つあるため、主プロセッサ４１から副プロセッサ４２へ不一致処理ＩＤを送信することにより、副プロセッサ４２で実行すべきガード処理を指示するようになっているが、ガード処理が１つであれば、不一致処理ＩＤの送信は不要である。
【０１１２】
一方、スロットル制御処理におけるセンサ入力処理Ｐ１では、アクセルセンサ信号とブレーキスイッチ信号の各値を、入力処理部８を介在させずに（つまり、ＲＡＭ４の入力情報格納領域から読み取るのではなく）、主プロセッサ４１の入力端子から読み取るようになっていても良い。また、モータ制御処理Ｐ５でも、開度センサ信号の値を、入力処理部８を介在させずに、主プロセッサ４１の入力端子から読み取るようになっていても良い。同様に、変速機制御処理におけるセンサ入力処理Ｐ１１でも、アクセルセンサ信号の値と車速センサ信号のパルス間隔とを、入力処理部８を介在させずに、主プロセッサ４１の入力端子から読み取るようになっていても良い。
【０１１３】
また、上記実施形態では、センサ入力処理Ｐ１とセンサ入力処理Ｐ１１との各々で、アクセル操作量を検出したが、アクセル操作量は、センサ入力処理Ｐ１，Ｐ１１の何れか一方で検出し、その検出値を、スロットル制御処理の基本処理と変速機制御処理の基本処理とで使用するようになっていても良い。
【０１１４】
［第２実施形態］
次に、第２実施形態のＥＣＵについて説明するが、そのＥＣＵの符号としては、第１実施形態と同じ“１１”を用いる。また、第１実施形態と同様の構成要素や処理についても、第１実施形態と同じ符号を用いる。そして、このことは、後述する他の実施形態についても同様である。
【０１１５】
第２実施形態のＥＣＵ１１は、第１実施形態のＥＣＵ１１と比較すると、下記（１）〜（４）の点が異なる。
（１）主プロセッサ４１は、ロックステップモードにならないプロセッサ（つまり、ロックステップ機能を持たないプロセッサ）であり、その主プロセッサ４１には、比較器６がない。そして、主プロセッサ４１のＣＰＵ１，２は、常にフリーステップモードで処理を実行する。
【０１１６】
（２）このため、主プロセッサ４１は、２つのＣＰＵ１，２によりスロットル制御処理と変速機制御処理とを、図１４に示すように実行する。尚、図１４に示す処理は、例えば一定時間毎に実行される。
【０１１７】
図１４に示すように、ＣＰＵ１が、スロットル制御の基本処理Ｐ１〜Ｐ５を実行し（Ｓ９１０）、それと並行して、ＣＰＵ２が、変速機制御の基本処理Ｐ１１〜Ｐ１８を実行する（Ｓ１０１０）。
【０１１８】
次に、ＣＰＵ１が、スロットル制御のガード処理Ｐ６を実行し（Ｓ９２０）、それと並行して、ＣＰＵ２も、スロットル制御のガード処理Ｐ６を実行する（Ｓ１０２０）。
そして更に、ＣＰＵ１が、変速機制御のガード処理Ｐ１９を実行し（Ｓ９３０）、それと並行して、ＣＰＵ２も、変速機制御のガード処理Ｐ１９を実行する（Ｓ１０３０）。
【０１１９】
つまり、第２実施形態では、スロットル制御と変速機制御のガード処理Ｐ６，Ｐ１９も、２つのＣＰＵ１，２がフリーステップモードで実行する。
尚、図１４の例では、スロットル制御の基本処理Ｐ１〜Ｐ５と、変速機制御の基本処理Ｐ１１〜Ｐ１８とを、制御処理におけるガード処理Ｐ６，Ｐ１９以外の基本処理とし、その基本処理の一部である基本処理Ｐ１〜Ｐ５を、ＣＰＵ１が実行し、残りの別部分である基本処理Ｐ１１〜Ｐ１８を、ＣＰＵ２が実行するようにしているが、例えば、第１実施形態と同様に、基本処理Ｐ１〜Ｐ５をＣＰＵ１，２で分担して実行したり、基本処理Ｐ１１〜Ｐ１８をＣＰＵ１，２で分担して実行するようにしても良い。
【０１２０】
（３）主プロセッサ４１の通信装置５は、一定時間毎に送信動作を行う。そして、通信装置５は、その送信動作により、図１５に示すように、ガード処理Ｐ６，Ｐ１９の各々について、ＣＰＵ１によるガード処理の演算結果である第１の演算結果と、ＣＰＵ２によるガード処理の演算結果である第２の演算結果と、そのガード処理への入力データであって、ＣＰＵ１，２の両方が第１及び第２の演算結果を求めるのに使用した入力データとを、副プロセッサ４２へ送信する（Ｓ１１００）。
【０１２１】
尚、第１実施形態の不一致演算結果と同様に、ガード処理Ｐ６については、第１及び第２の演算結果として、例えば、ガード処理Ｐ６の最終結果であるモータ駆動信号の出力値が副プロセッサ４２へ送信され、ガード処理Ｐ１９については、第１及び第２の演算結果として、例えば、ガード処理Ｐ１９の最終結果である各変速用ソレノイド駆動信号の出力値が副プロセッサ４２へ送信される。また、ガード処理Ｐ６への入力データと、ガード処理Ｐ１９への入力データは、第１実施形態の不一致処理入力データに関して説明した通りのデータである。
【０１２２】
そして、第１及び第２の演算結果は、どのＣＰＵによる演算結果であるかを識別可能にして副プロセッサ４２へ送信される。例えば、ＣＰＵ１による演算結果とＣＰＵ２による演算結果とで、通信フレームにおける配置位置が固定で決まっていれば、副プロセッサ４２において、受信した演算結果の各々が、どのＣＰＵによる演算結果であるかを識別することができる。また例えば、演算結果の各々に、それを算出したＣＰＵの識別情報を付加しても良い。
【０１２３】
更に、第１及び第２の演算結果と入力データは、ガード処理Ｐ６，Ｐ１９のうちの何れに関するものであるかも識別可能にして副プロセッサ４２へ送信される。例えば、ガード処理Ｐ６に関する情報とガード処理Ｐ１９に関する情報とで、通信フレームにおける配置位置が固定で決まっていれば、副プロセッサ４２において、受信した情報の各々が、どのガード処理に関するものであるかを識別することができる。また例えば、情報の各々に、それに対応するガード処理の識別情報を付加しても良い。
【０１２４】
（４）副プロセッサ４２は、主プロセッサ４１からの情報（即ち、ガード処理Ｐ６，Ｐ１９の各々についての、第１及び第２の演算結果と入力データ）を受信すると、図１６の処理を開始する。
【０１２５】
そして、図１６に示すように、副プロセッサ４２は、まずＳ１２１０にて、通信装置５５から、主プロセッサ４１からの情報を取得する。
次にＳ１２２０にて、ガード処理Ｐ６，Ｐ１９の各々について、第１及び第２の演算結果が不一致である（相違している）か否かを判定し、第１及び第２の演算結果が不一致でなければ（つまり、同じであれば）、そのまま処理を終了する。
【０１２６】
また、上記Ｓ１２２０にて、第１及び第２の演算結果が不一致であると判定した場合には、Ｓ１２３０に進み、ガード処理Ｐ６，Ｐ１９のうち、第１及び第２の演算結果が不一致である方を、主プロセッサ４１からの入力データを用いて実行することにより、不一致であった第１及び第２の演算結果と同じ種類の演算結果を求める。
【０１２７】
そして、次のＳ１２４０にて、Ｓ１２３０で求めた演算結果と、Ｓ１２２０で不一致と判定した第１及び第２の演算結果とを比較することにより、ＣＰＵ１，２のうちで異常な方のＣＰＵを判別する。尚、このＳ１２４０での判別手法は、第１実施形態の図１０におけるＳ６５０について説明した手法と同じである。
【０１２８】
そして、次のＳ１２５０にて、上記Ｓ１２４０で異常と判別した方のＣＰＵを示す異常側ＣＰＵ情報を、通信装置５５から主プロセッサ４１へ送信させ、その後、処理を終了する。尚、本実施形態においても、副プロセッサ４２から主プロセッサ４１へは、正常と判別した方のＣＰＵを示す情報を送信しても良い。
【０１２９】
すると、本第２実施形態においても、主プロセッサ４１の切替部７が図１１に示した動作を行い、その結果、主プロセッサ４１においては、ＣＰＵ１，２のうち、異常側ＣＰＵの動作が停止し、正常側ＣＰＵは特別モード（図１２）で動作することとなる。
【０１３０】
以上のような第２実施形態のＥＣＵ１１によれば、主プロセッサ４１から副プロセッサ４２へ一定時間毎に情報（異常検出用及び異常側ＣＰＵ判別用の情報）を送信することとなるが、そのこと以外については、第１実施形態のＥＣＵ１１と同様の効果が得られる。
【０１３１】
尚、変形例として、副プロセッサ４２は、Ｓ１２２０の判定を行う前に、主プロセッサ４１からの入力データを用いて、ガード処理Ｐ６，Ｐ１９の各々を実行しても良い。その場合、副プロセッサ４２は、ガード処理Ｐ６，Ｐ１９の各々について、当該副プロセッサ４２の演算結果を真とし、その演算結果と主プロセッサ４１からの第１及び第２の演算結果とを比較することにより、ＣＰＵ１，２が正常か否か、正常でなければ、どちらのＣＰＵが異常であるか、を判別すれば良い。
【０１３２】
但し、図１６に示したように、副プロセッサ４２は、ガード処理を実行する前に、Ｓ１２２０の判定を行い、そのＳ１２２０で第１及び第２の演算結果が不一致であると判定した場合にガード処理を行う方が、効率的で好ましい。つまり、副プロセッサ４２は、ＣＰＵ１，２の何れかが異常である場合に、ガード処理を行ってみて、異常な方のＣＰＵを判別することになるからである。
【０１３３】
［第３実施形態］
第３実施形態のＥＣＵ１１では、第１または第２実施形態のＥＣＵ１１と比較すると、スロットル制御処理の構成が図１７に示すようになっている。
【０１３４】
図１７に示すように、第３実施形態におけるスロットル制御処理では、ガード処理Ｐ６にスロットル出力処理Ｐ６ｂが含まれておらず、そのスロットル出力処理Ｐ６ｂに代わるスロットル出力処理Ｐ７は、ガード処理Ｐ６以外の基本処理の一部になっている。
【０１３５】
そして、スロットル出力処理Ｐ７は、モータ制御処理Ｐ５で決定された要求開度を実現するためのモータ駆動信号の出力値を決定し、その決定した出力値のモータ駆動信号を、駆動回路４３からモータ１９へ出力させる。つまり、スロットル出力処理Ｐ７は、スロットル出力処理Ｐ６ｂからガード機能（スロットル開度を制限する機能）を無くした処理である。
【０１３６】
一方、ガード処理Ｐ６には、スロットル出力処理Ｐ６ｂに代えて、モータ電源遮断処理Ｐ６ｃが含まれている。
そして、モータ電源遮断処理Ｐ６ｃでは、モータ制御処理Ｐ５で決定された要求開度がスロットル開度ガード値以下であれば、モータ１９に電源を供給する電源リレー６１をオンさせるが、要求開度がスロットル開度ガード値よりも大きければ、電源リレー６１をオフさせて、モータ１９への電源供給を停止することにより、実スロットル開度が基本処理によってスロットル開度ガード値を上回ってしまうことを阻止する。
【０１３７】
尚、一般に、電子スロットル２３では、アクセルペダルの操作に応じてスロットル１５を動かすための機械的なバックアップ操作経路が設けられているため、モータ１９への電源供給が停止されても、スロットル１５はアクセルペダルの操作に応じて機械的に動くこととなる。よって、運転者による車両の運転は可能である。
【０１３８】
そして、このような第３実施形態のＥＣＵ１１によっても、第１または第２実施形態のＥＣＵ１１と同様の効果が得られる。
［第４実施形態］
第４実施形態のＥＣＵ１１では、第１または第２実施形態のＥＣＵ１１と比較すると、スロットル制御処理の構成が図１８に示すようになっている。
【０１３９】
図１８に示すように、第４実施形態におけるスロットル制御処理では、他システムの情報として、例えば、車両に搭載されたエアコン装置のオンオフ状態を示すエアコンスイッチ６３からの信号（以下、エアコン信号という）も用いている。
【０１４０】
具体的には、エアコン信号の値は、前述した入力処理部８により読み取られてＲＡＭ４の入力情報格納領域に記憶される。そして、センサ入力処理Ｐ１では、そのエアコン信号の値をＲＡＭ４の入力情報格納領域から読み取って、エアコン装置のオンオフ状態を検出する。そして更に、スロットル開度算出処理Ｐ４では、スロットル開度の基本値を算出するのに、センサ入力処理Ｐ１で検出したアクセル操作量及びブレーキ操作の有無だけでなく、センサ入力処理Ｐ１で検出したエアコン装置のオンオフ状態も用いる。例えば、スロットル開度算出処理Ｐ４では、エアコン装置がオフ状態である場合よりもオン状態である場合の方が、スロットル開度の基本値として、大きい値を算出する。
【０１４１】
また、ガード処理Ｐ６におけるスロットル開度ガード値算出処理Ｐ６ａでは、アクセルセンサ信号とブレーキスイッチ信号とエアコン信号の各値を、ＲＡＭ４の入力情報格納領域から読み取って、その各値からアクセル操作量とブレーキ操作の有無とエアコン装置のオンオフ状態とを検出し、更に、それらの検出値からスロットル開度ガード値を決定する。
【０１４２】
そして、このような第４実施形態のＥＣＵ１１によっても、第１または第２実施形態のＥＣＵ１１と同様の効果が得られる。また、スロットル１５の制御にエアコン信号を用いるという第４実施形態の思想は、第３実施形態のＥＣＵ１１に対しても適用することができる。
【０１４３】
以上、本発明の一実施形態について説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々なる態様で実施し得ることは勿論である。
【０１４４】
例えば、変速機１７は、変速比が無段階に変わる無段変速機であっても良い。
また、上記各実施形態のＥＣＵ１１は、スロットル制御と変速機制御との両方を行うものであったが、それらの何れか一方を行うものであっても良い。
【０１４５】
また、第１実施形態の変形例として、主プロセッサ４１のＣＰＵ１，２がガード処理（Ｐ６またはＰ１９）の実行を開始するとき、あるいはその直前に、主プロセッサ４１から副プロセッサ４２へ、そのガード処理への入力データ（そのガード処理を実行するのに用いられる入力データ）を送信して、ＣＰＵ１，２がガード処理を実行している間に、それと同じガード処理を副プロセッサ４２が実行するようにしても良い。
【０１４６】
その場合、主プロセッサ４１の比較器６により、ＣＰＵ１による演算結果とＣＰＵ２による演算結果とが相違したことが検出された場合には、主プロセッサ４１から副プロセッサ４２へ不一致処理入力データを送信する必要がなく、副プロセッサ４２は、図１０に示した処理のうち、Ｓ６１０，Ｓ６５０及びＳ６６０の処理を行えば良い。
【０１４７】
このような変形例によれば、副プロセッサ４２は、主プロセッサ４１の比較器６によってＣＰＵ１，２のうちの何れかの異常が検出される前に、ガード処理を実行しておくことができ、延いては、主プロセッサ４１へ異常側ＣＰＵ情報を送信するまでの時間を短縮することができる。
【符号の説明】
【０１４８】
１，２，５１…ＣＰＵ、１１…ＥＣＵ（電子制御装置）、５，５５…通信装置、６…比較器、７…切替部、８…入力処理部、１５…スロットル、１７…変速機、１９…モータ、３１〜３４…変速用ソレノイド、４１…主プロセッサ、４２…副プロセッサ、Ｐ１〜Ｐ５，Ｐ７，Ｐ１１〜Ｐ１８…制御処理のうちの基本処理、Ｐ６，Ｐ１９…制御処理のうちのガード処理
【図１】
2014002472.tif 000003
【図２】
2014002472.tif 000004
【図３】
2014002472.tif 000005
【図４】
2014002472.tif 000006
【図５】
2014002472.tif 000007
【図６】
2014002472.tif 000008
【図７】
2014002472.tif 000009
【図８】
2014002472.tif 000010
【図９】
2014002472.tif 000011
【図１０】
2014002472.tif 000012
【図１１】
2014002472.tif 000013
【図１２】
2014002472.tif 000014
【図１３】
2014002472.tif 000015
【図１４】
2014002472.tif 000016
【図１５】
2014002472.tif 000017
【図１６】
2014002472.tif 000018
【図１７】
2014002472.tif 000019
【図１８】
2014002472.tif 000020