JP2014002472A - 電子制御装置 - Google Patents

電子制御装置 Download PDF

Info

Publication number
JP2014002472A
JP2014002472A JP2012136169A JP2012136169A JP2014002472A JP 2014002472 A JP2014002472 A JP 2014002472A JP 2012136169 A JP2012136169 A JP 2012136169A JP 2012136169 A JP2012136169 A JP 2012136169A JP 2014002472 A JP2014002472 A JP 2014002472A
Authority
JP
Japan
Prior art keywords
cpu
guard
processor
control device
electronic control
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.)
Granted
Application number
JP2012136169A
Other languages
English (en)
Other versions
JP5942625B2 (ja
Inventor
Kenji Shimizu
健司 清水
Katsuki Ishigaki
克記 石垣
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 JP2012136169A priority Critical patent/JP5942625B2/ja
Publication of JP2014002472A publication Critical patent/JP2014002472A/ja
Application granted granted Critical
Publication of JP5942625B2 publication Critical patent/JP5942625B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

【課題】2つのCPUを有するプロセッサを用いて制御対象を制御する電子制御装置において、2つのCPUのうち異常になった方を安価な構成で判別し、信頼性も確保する。
【解決手段】主プロセッサでは、制御処理のうち、制御対象を目標状態にさせる基本処理を、CPU1,2が分担して実行し、制御処理のうち、制御対象の状態を制限するガード処理を、CPU1,2の両方がロックステップモードで実行する。そして、CPU1,2によるガード処理の演算結果の不一致が主プロセッサ内の比較器で検出されると(S505:YES)、副プロセッサが、同じガード処理を実行し、その演算結果とCPU1,2の演算結果とを比較して、CPU1,2のうち異常な方を判別し、異常なCPUを示す情報を主プロセッサに送る。すると、CPU1,2のうち、異常な方は動作を停止し、正常な方が制御処理の全てを実行するようになる(S720,S810〜S840)。
【選択図】図13

Description

本発明は、2つのCPUによって制御対象を制御するための制御処理を行う主プロセッサと、副プロセッサとを備えた電子制御装置に関する。
2つのCPUを有したプロセッサとして、動作モードがロックステップモードとフリーステップモード(非ロックステップモード)とに切り替え可能なものがある(例えば、特許文献1参照)。
ロックステップモードでは、2つのCPUが同じ処理(プログラム)を実行し、その2つのCPUからのデータ(演算結果)が、ロックステップ喪失ロジックのハードウェアにより比較される。そして、その両データが異なれば、ロックステップ喪失ロジックにより、誤りとして検出される。一方、フリーステップモードでは、2つのCPUが別々の処理を実行可能となる。尚、フリーステップモードは、デュアルモードとも呼ばれる。
そして、特許文献1には、ロックステップモードとフリーステップモードを切り替えることにより、誤り検出と処理性能(パフォーマンス)とを最適化する思想が記載されている。
特開2006−302289号公報
上記のプロセッサでは、ロックステップモードを活用することにより、データ誤り(即ち、2つのCPUによる演算結果の不一致)は分かるが、どちらのCPUによる演算結果が正しいのか(結局は、どちらのCPUが正常なのか)は判断できない。
このため、この種のプロセッサを用いて制御対象を制御する電子制御装置において、2つのCPUによる演算結果の不一致が生じた場合には、制御対象を不適切に制御してしまわないようにすることを目的として、即座にプロセッサをリセットし、正常復帰を試みるしかない。
そこで、本発明は、2つのCPUを有するプロセッサを用いて制御対象を制御する電子制御装置において、そのプロセッサの2つのCPUのうちで異常になった方を、安価な構成で判別できるようにすると共に、信頼性も確保できるようにすることを目的としている。
本発明の電子制御装置は、主プロセッサと副プロセッサとを備えている。
主プロセッサは、第1CPUと第2CPUを有し、その2つのCPUにより、制御対象を制御するための制御処理を行う。
その制御処理には、「制御対象の目標状態を決定して、制御対象を該目標状態にさせる基本処理」と、「制御対象の許容限界状態を決定すると共に、制御対象の状態が基本処理によって該許容限界状態を逸脱してしまうことを阻止するガード処理」と、が含まれている。尚、ガード処理は、制御対象の状態を制限する処理でもある。
そして、主プロセッサでは、第1CPUが、基本処理のうちの一部を実行し、第2CPUが、基本処理のうち、前記一部(第1CPUが実行する部分)とは別の部分を実行し、第1CPUと第2CPUとの両方が、ガード処理を実行するようになっている。
つまり、制御処理のうちの基本処理は、第1CPUと第2CPUとで分担して実行されるが、制御処理のうちのガード処理は、第1CPUと第2CPUとの両方で実行される。
また、副プロセッサは、制御処理のうち、ガード処理を実行するようになっている。
そして、当該電子制御装置では、判別手段が、副プロセッサによるガード処理の演算結果と、第1CPUによるガード処理の演算結果と、第2CPUによるガード処理の演算結果とを比較することにより、第1CPUと第2CPUとのうちで異常な方のCPUを判別する。
このような電子制御装置によれば、主プロセッサの第1CPUと第2CPUとのうち、何れか一方が異常になった場合に、その異常になった方のCPUを判別することができるため、正常な方のCPUに処理を続けさせることができるようになる。そして、制御処理のうち、少なくとも、ガード処理の正常性を確保することができ、制御対象の状態が許容限界状態を逸脱してしまうことを阻止することができる。よって、制御対象の制御に関する信頼性を確保することができる。
しかも、副プロセッサは、制御処理のうち、ガード処理だけを実行すれば良いため、その副プロセッサの処理負荷は小さくて済む。このため、副プロセッサとしては、主プロセッサと比較して性能が低いもので良く、概して安価なものを使用することができる。
よって、主プロセッサの2つのCPUのうちで異常になった方を、安価な構成で判別できると共に、信頼性も確保することができる。
例えば、第1CPUと第2CPUとのうち、判別手段により異常と判別されたCPUの動作を停止させると共に、他方のCPU(即ち、正常な方のCPU)の動作モードを、制御処理の全てを実行する特別モードに切り替える切替手段を、主プロセッサに設けることが考えられる。その切替手段を設ければ、第1CPUと第2CPUとのうちの一方が異常になっても、正常な方のCPUにより、ガード処理も含めて制御処理を続行することができ、制御の信頼性を一層向上させることができる。また例えば、判別手段は、主プロセッサ及び副プロセッサとは別のハードウェアによって実現しても良いが、副プロセッサが判別手段として機能するようになっていれば、ハードウェアを少なくすることができるため有利である。
第1実施形態のECU(電子制御装置)の構成を周辺装置と共に表す構成図である。 第1実施形態の主プロセッサと副プロセッサの構成を表す構成図である。 第1実施形態のスロットル制御処理の構成を表すブロック図である。 第1実施形態の変速機制御処理の構成を表すブロック図である。 作動させるべき変速用ソレノイドの組み合わせとギア段との対応関係を示す図である。 6速から5速への変速制御例を表す図である。 第1実施形態の主プロセッサにおいて、スロットル制御処理が2つのCPUによってどのように実行されるかを表すフローチャートである。 第1実施形態の主プロセッサにおいて、変速機制御処理が2つのCPUによってどのように実行されるかを表すフローチャートである。 第1実施形態の主プロセッサにおける通信装置の動作を表すフローチャートである。 第1実施形態の副プロセッサが実行する処理を表すフローチャートである。 第1実施形態の主プロセッサにおける切替部の動作を表すフローチャートである。 第1実施形態の主プロセッサにおいて、特別モードのCPUが実行する特別モード処理を表すフローチャートである。 第1実施形態の主プロセッサの動作内容をまとめて表すフローチャートである。 第2実施形態の主プロセッサにおける2つのCPUが行う処理を表すフローチャートである。 第2実施形態の主プロセッサにおける通信装置の動作を表すフローチャートである。 第2実施形態の副プロセッサが実行する処理を表すフローチャートである。 第3実施形態のスロットル制御処理の構成を表すブロック図である。 第4実施形態のスロットル制御処理の構成を表すブロック図である。
以下に、本発明が適用された実施形態の電子制御装置について説明する。
[第1実施形態]
図1に示すように、第1実施形態の電子制御装置(以下、ECUという)11は、車両のエンジン13への吸入空気量を調節するスロットル15と、エンジン13の出力を車輪の駆動軸(図示省略)に伝達する変速機(オートマチックトランスミッション:AT)17とを制御する。
スロットル15は、そのスロットル15の開度(以下、スロットル開度という)を変化させるアクチュエータとしてのモータ19と、実際のスロットル開度(以下、実スロットル開度という)を検出する開度センサ21と共に、電子スロットル23としてモジュール化されている。
また、変速機17は、当該変速機17の内部に設けられた油圧経路(図示省略)の油圧(以下、ライン圧ともいう)を調整するためのライン圧ソレノイド25と、当該変速機17の変速比(詳しくは、変速機17におけるギア部27の変速比であり、本実施形態ではギア段)を変えるための複数(本実施形態では例えば4つ)の変速用ソレノイド31〜34とを備えている。
ライン圧ソレノイド25は、エンジン13の作動中において、ライン圧を調整すべくECU11により常時作動させられるリニアソレノイドである。また、変速用ソレノイド31〜34は、作動することで、その変速用ソレノイドに対応した油圧の個別経路に、ライン圧ソレノイド25によって調整された油圧を与えるものであり、車両の運転状態に応じて変更すべきギア段に応じた組み合わせで、1つ以上のものがECU11により作動させられる。
尚、変速機17は、例えばギア段が、変速比最大の最低ギア段である1速から、変速比最小の最高ギア段である6速まで、6通りに変化する6速自動変速機であり、低いギア段(“n速”のnの値が小さいギア段)ほど変速比が大きい。そして、変速用ソレノイド31〜34の各々を、第1変速用ソレノイド31、第2変速用ソレノイド32、第3変速用ソレノイド33、第4変速用ソレノイド34と称することにすると、作動させるべき変速用ソレノイドの組合せとギア段との対応関係は、例えば図5に示す通りである。
そして、ECU11には、スロットル15と変速機17を制御するために用いられる情報信号として、例えば、車両の運転者によるアクセルペダルの操作量(以下、アクセル操作量という)を検出するアクセルセンサ35からの信号(以下、アクセルセンサ信号という)や、運転者がブレーキペダルを踏んだこと(つまり、ブレーキ操作をしたこと)を検出するブレーキスイッチ37からの信号(以下、ブレーキスイッチ信号という)や、車両の走行速度(車速)を検出する車速センサ39からの信号(以下、車速センサ信号という)等が入力される。
そして、ECU11は、スロットル15を制御するための制御処理(以下、スロットル制御処理という)及び変速機17を制御するための制御処理(以下、変速機制御処理という)を行う主プロセッサ41と、主プロセッサ41による正常な制御を維持するための副プロセッサ42と、を備えている。
更に、ECU11は、主プロセッサ41からの信号に応じて電子スロットル23のモータ19に駆動信号を出力する駆動回路43と、主プロセッサ41からの信号に応じて変速機17のライン圧ソレノイド25及び変速用ソレノイド31〜34に駆動信号を出力する駆動回路45と、を備えている。
尚、本実施形態において、モータ19への駆動信号(以下、モータ駆動信号ともいう)は、車両のバッテリ電圧とグランドラインの電圧(=0V)とに切り替えられる信号である。そして、このことは、ライン圧ソレノイド25への駆動信号(以下、ライン圧ソレノイド駆動信号ともいう)及び変速用ソレノイド31〜34への駆動信号(以下、変速用ソレノイド駆動信号ともいう)についても同様である。
そして、ECU11において、主プロセッサ41には、ECU11へ入力される前述の情報信号と、開度センサ21からの信号(以下、開度センサ信号という)とが入力される。更に、主プロセッサ41には、駆動回路45から変速用ソレノイド31〜34に出力される駆動信号の各々が、変速用ソレノイド31〜34の駆動状態を表す変速用ソレノイド駆動状態信号として入力される。
尚、本実施形態では、例えば、アクセルセンサ信号は、アクセル操作量に応じた電圧のアナログ信号であり、ブレーキスイッチ信号は、ブレーキ操作が行われるとハイまたはローのアクティブレベルになる二値信号であり、車速センサ信号は、パルス間隔が車速に応じて変化するパルス信号であり、開度センサ信号は、実スロットル開度に応じた電圧のアナログ信号である。そして、主プロセッサ41への信号の入力は、その入力される信号の種類に適した入力回路(図示省略)を介して行われる。
また、ECU11において、主プロセッサ41と副プロセッサ42は、通信線47を介して通信可能に接続されている。
次に、図2に示すように、主プロセッサ41は、第1CPU1(以下単に、CPU1という)と、第2CPU2(以下単に、CPU2という)と、を備えている。
そして、主プロセッサ41は、CPU1,2に共通の構成要素として、CPU1,2により実行されるプログラムや固定のデータが記憶されたROM3と、CPU1,2による演算結果や外部からの入力情報等が記憶されるRAM4と、通信線47を介して副プロセッサ42と通信するための通信装置5と、CPU1による演算結果とCPU2による演算結果とを比較する比較器6と、入出力ポート(図示省略)等とを備えている。
更に、主プロセッサ41は、CPU1,2の何れかに異常が生じた場合に、異常な方のCPUの動作を停止させると共に、正常な方のCPUの動作モードを切り替える切替部7と、当該主プロセッサ41の外部からの入力情報を取り込んでRAM4の記憶領域である入力情報格納領域に記憶する入力処理部8も備えている。
この主プロセッサ41は、CPU1,2が同じ処理を実行するロックステップモードと、CPU1,2が別々の処理を実行可能なフリーステップモード(非ロックステップモードであり、デュアルモードとも呼ばれる)とに、動作モードが切り替え可能なプロセッサである。
また、入力処理部8は、アクセルセンサ信号、ブレーキスイッチ信号、開度センサ信号、及び変速用ソレノイド駆動状態信号の各値を、当該主プロセッサ41の入力端子から一定時間毎に読み取ってRAM4の入力情報格納領域に更新記憶すると共に、車速センサ信号のパルス間隔を、一定時間毎に計測してRAMの入力情報格納領域に更新記憶する。
一方、副プロセッサ42は、CPU51と、CPU51により実行されるプログラムや固定のデータが記憶されたROM53と、CPU51による演算結果等が記憶されるRAM54と、通信線47を介して主プロセッサ41と通信するための通信装置55とを備えている。
尚、図2において、実線の矢印は、データの伝達系統を表しており、点線の矢印は、命令または指示の伝達系統を表している。
次に、主プロセッサ41が行うスロットル制御処理と変速機制御処理について説明する。
〈スロットル制御処理〉
図3に示すように、スロットル制御処理は、センサ入力処理P1と、ドラビリ補正処理P2(尚、ドラビリは、ドライバビリティの略)と、アイドル回転補正処理P3と、スロットル開度算出処理P4と、モータ制御処理P5と、スロットル制御のガード処理P6とによって構成されている。
センサ入力処理P1では、アクセルセンサ信号とブレーキスイッチ信号の各値を、RAM4の入力情報格納領域から読み取り、その各値から、運転者によるアクセル操作量とブレーキ操作の有無を検出する。詳しくは、アクセルセンサ信号の値を、アクセル操作量を表す制御用データに換算すると共に、ブレーキスイッチ信号の値を、ブレーキ操作の有無を表す制御用データに換算する。
ドラビリ補正処理P2では、センサ入力処理P1で検出したアクセル操作量の変化速度に応じて、スロットル開度の補正値を算出する。例えば、アクセル操作量の増加方向の変化速度が大きいほど、補正値を大きくする。
アイドル回転補正処理P3では、センサ入力処理P1で検出したアクセル操作量が0の場合に、エンジン13のアイドル運転を確保するためのスロットル開度の補正値を算出する。
スロットル開度算出処理P4では、センサ入力処理P1で検出したアクセル操作量及びブレーキ操作の有無に基づきスロットル開度の基本値を算出し、その基本値に、ドラビリ補正処理P2とアイドル回転補正処理P3とで算出した各補正値を加えることで、目標スロットル開度を算出する(換言すれば、決定する)。
モータ制御処理P5では、開度センサ信号の値を、RAM4の入力情報格納領域から読み取って、その値から実スロットル開度を検出すると共に、その検出した実スロットル開度に応じて目標スロットル開度を補正することにより、実スロットル開度を目標スロットル開度にするためのスロットル開度の指令値である要求開度を決定する。
また、ガード処理P6は、スロットル15の許容限界状態として、スロットル開度の上限値であるスロットル開度ガード値を決定し、実スロットル開度が、そのスロットル開度ガード値を上回ってしまうことを阻止する処理である。
そして、ガード処理P6は、スロットル開度ガード値算出処理P6aと、スロットル出力処理P6bとからなる。
スロットル開度ガード値算出処理P6aでは、アクセルセンサ信号とブレーキスイッチ信号の各値を、RAM4の入力情報格納領域から読み取って、その各値からアクセル操作量とブレーキ操作の有無を検出し、更に、それらの検出値から、車両の加速度が不要に所定値以上になってしまう(つまり、車両が不要に急加速する)と考えられるスロットル開度よりも小さいスロットル開度を、スロットル開度ガード値として決定する。
そして、スロットル出力処理P6bでは、モータ制御処理P5で決定された要求開度がスロットル開度ガード値以下であれば、その要求開度を実現するためのモータ駆動信号の出力値を決定し(詳しくは例えばモータ駆動信号のデューティ比を決定し)、逆に、要求開度がスロットル開度ガード値よりも大きければ、実スロットル開度をスロットル開度ガード値にするためのモータ駆動信号の出力値を決定する。そして更に、スロットル出力処理P6bでは、決定した出力値のモータ駆動信号を、駆動回路43からモータ19へ出力させる。
本実施形態では、もしモータ制御処理P5で決定される要求開度が適正値にならなかった場合でも、このようなガード処理P6が実行されることにより、予期しない車両の急加速が防止される。
尚、本実施形態では、スロットル制御処理のうち、ガード処理P6以外の処理P1〜P5が、スロットル15の目標状態(この例では目標スロットル開度)を決定してスロットル15をその目標状態にさせる基本処理(以下、スロットル制御の基本処理ともいう)に相当している。
〈変速機制御処理〉
図4に示すように、変速機制御処理は、センサ入力処理P11と、変速判断処理P12と、ライン圧処理P13と、ライン圧ソレノイド出力処理P14と、第1変速用ソレノイド処理P15と、第2変速用ソレノイド処理P16と、第3変速用ソレノイド処理P17と、第4変速用ソレノイド処理P18と、変速機制御のガード処理P19とによって構成されている。
センサ入力処理P11では、アクセルセンサ信号の値と車速センサ信号のパルス間隔とを、RAM4の入力情報格納領域から読み取り、その各値からアクセル操作量と車速を検出する。詳しくは、アクセルセンサ信号の値を、アクセル操作量を表す制御用データに換算すると共に、車速センサ信号のパルス間隔を、車速を表す制御用データに換算する。
変速判断処理P12では、センサ入力処理P11で検出したアクセル操作量と車速に基づいて、変速機17の変速(即ち、ギア段の変更)が必要か否かを判断すると共に、変速が必要ならば、変速させる目標ギア段を決定する。
ライン圧処理P13では、センサ入力処理P11で検出したアクセル操作量と、現在のギア段(現在ギア段)と、変速判断処理P12で決定した目標ギア段とから、目標のライン圧である要求ライン圧を決定する。
ライン圧ソレノイド出力処理P14では、ライン圧処理P13で決定した要求ライン圧を実現するためのライン圧ソレノイド駆動信号の出力値を決定し(詳しくは例えばライン圧ソレノイド駆動信号のデューティ比を決定し)、その決定した出力値のライン圧ソレノイド駆動信号を、駆動回路45からライン圧ソレノイド25へ出力させる。
第1変速用ソレノイド処理P15では、変速判断処理P12で決定した目標ギア段と現在ギア段とのうち、少なくとも目標ギア段に基づいて、前述した変速用ソレノイドの組み合わせとギア段との対応関係(図5参照)から、第1変速用ソレノイド31の要求作動状態(この例では作動させるか非作動にするか)を決定する。例えば、図5に示すように、目標ギア段が1速〜4速のうちの何れかであれば、第1変速用ソレノイド31の要求作動状態を「作動」に決定し、目標ギア段が5速または6速であれば、第1変速用ソレノイド31の要求作動状態を「非作動」に決定する。
同様に、第2変速用ソレノイド処理P16では、少なくとも目標ギア段に基づいて第2変速用ソレノイド32の要求作動状態を決定し、第3変速用ソレノイド処理P17では、少なくとも目標ギア段に基づいて第3変速用ソレノイド33の要求作動状態を決定し、第4変速用ソレノイド処理P18では、少なくとも目標ギア段に基づいて第4変速用ソレノイド34の要求作動状態を決定する。
また、ガード処理P19は、変速機17の許容限界状態として、変速されるギア段(以下、変速ギア段という)の下限値(即ち、変速が許可される最低のギア段であり、換言すれば、変速比の上限値)である変速ギア段ガード値を決定し、実際のギア段が、その変速ギア段ガード値を下回ってしまうこと(即ち、変速ギア段ガード値よりも低いギア段になってしまうこと)を阻止する処理である。このため、ガード処理P19は、変速機17の許容限界状態として、変速比の上限値を決定し、実際の変速比がその上限値を上回ってしまうことを阻止する処理であるとも言える。
そして、ガード処理P19は、変速ギア段ガード値算出処理P19aと、変速用ソレノイド出力処理P19bとからなる。
変速ギア段ガード値算出処理P19aでは、車速センサ信号のパルス間隔と変速用ソレノイド駆動状態信号の各値とを、RAM4の入力情報格納領域から読み取って、その各値から、車速と変速用ソレノイド31〜34の現在の駆動状態(作動しているか否か)とを検出し、更に、変速用ソレノイド31〜34の現在の駆動状態から、現在のギア段を判別する。尚、現在のギア段は、前述した変速用ソレノイドの組み合わせとギア段との対応関係(図5参照)に基づき判別される。
そして更に、変速ギア段ガード値算出処理P19aでは、検出した車速と現在のギア段とから、変速に伴う車両の減速度(減速方向の加速度)が所定値以上になってしまう(つまり、変速に伴うトルクの変化によって車両が急減速する)と考えられる変速ギア段よりも1つ高いギア段(換言すれば、減速比が1段階小さいギア段)を、変速ギア段ガード値として決定する。例えば、車速が大きい場合ほど、また現在のギア段が高いギア段である場合ほど、変速ギア段ガード値は高いギア段に設定される。
そして、変速用ソレノイド出力処理P19bでは、変速用ソレノイド処理P15〜P18の各々で決定された変速用ソレノイド31〜34の要求作動状態から、目標ギア段を判別し、その目標ギア段が変速ギア段ガード値以上であれば、上記決定された要求作動状態を実現するための各変速用ソレノイド駆動信号の出力値を決定し(詳しくは例えば、どの変速用ソレノイド駆動信号をバッテリ電圧にし、どの変速用ソレノイド駆動電圧を0Vにするかを決定し)、その決定した出力値の各変速用ソレノイド駆動信号を、駆動回路45から変速用ソレノイド31〜34へ出力させる。
また、変速用ソレノイド出力処理P19bでは、目標ギア段が変速ギア段ガード値を下回っていた場合には、上記決定された要求作動状態を無視して(換言すれば、目標ギア段を無視して)、各変速用ソレノイド駆動信号の出力値を前回値と同じ値に決定し、その決定した出力値の各変速用ソレノイド駆動信号(即ち、現在のギア段を維持するための駆動信号)を、駆動回路45から変速用ソレノイド31〜34へ出力させる。尚、この場合、現在のギア段を維持するための駆動信号を出力することに代えて、例えば、ギア段を変速ギア段ガード値にするための駆動信号を出力するようになっていても良い。
以上のような変速機制御処理により、例えば、現在のギア段が6速で、目標ギア段が5速で、変速ギア段ガード値が5速以下(1速〜5速の何れか)であった場合には、ギア段が6速から5速に変速されることとなる。
そして、その場合、変速用ソレノイド31〜34は、図5における最下段の状態から、下から2段目の状態へと切り替えられることとなる。このため、図6に示すように、第1変速用ソレノイド31は非作動のままで、その第1変速用ソレノイド31に対応した油圧の経路は、油圧が抜かれた状態を保持することとなり、また、第3変速用ソレノイド33は作動したままで、その第3変速用ソレノイド33に対応した油圧の経路は、油圧がかけられた状態を保持することとなる。そして、第2変速用ソレノイド32は作動の状態から非作動に変化して、その第2変速用ソレノイド32に対応した油圧の経路から油圧が抜かれることとなり、第4変速用ソレノイド34は非作動から作動の状態に変化して、その第4変速用ソレノイド34に対応した油圧の経路に油圧がかけられることとなる。
また、目標ギア段が変速ギア段ガード値を下回っていた場合(即ち、目標ギア段が変速ギア段ガード値よりも低いギア段であった場合)には、ガード処理P19により、実際のギア段が変速ギア段ガード値よりも低いギア段になってしまうことが防止される。
よって、もし変速判断処理P12で決定される目標ギア段や変速用ソレノイド処理P15〜P18で決定される変速用ソレノイド31〜34の要求作動状態が適正値にならなかった場合でも、ガード処理P19が実行されることにより、予期しない車両の急減速が防止される。つまり、車両が比較的高速で走行している場合に、変速機17が高いギア段から低いギア段に変速してしまうと、急減速を誘発することとなるが、そのような事象が防止される。
尚、変速ギア段ガード値は、変速に伴うトルクの変化量を考慮して決定されるべき制御用パラメータであるため、本実施形態の変速ギア段ガード値算出処理P19aでは、変速ギア段ガード値を、車速だけでなく、車速と現在のギア段(現在の変速比でもある)との両方に基づいて決定している。このため、より精密に変速ギア段ガード値を決定することができ、延いては、より精密に車両の急減速を防止することができる。但し、変速ギア段ガード値は、現在のギア段を参照せずに、車速から決定するように構成することも可能である。
また、本実施形態では、変速機制御処理のうち、ガード処理P19以外の処理P11〜P18が、変速機17の目標状態(この例では目標ギア段)を決定して変速機17をその目標状態にさせる基本処理(以下、変速機制御の基本処理ともいう)に相当している。
一方、変速機17のライン圧は、仮に異常となっても急減速の要因とならないため、本実施形態では、ガード処理の対象から除外している。しかし、システムによっては、ライン圧をガード処理の対象としてもよい。
次に、前述のスロットル制御処理と変速機制御処理とが、主プロセッサ41のCPU1,2により、どのように実行されるかについて説明する。
主プロセッサ41において、スロットル制御処理は、例えば一定時間毎に実行される。
そして、図7に示すように、スロットル制御処理が開始される時点において、主プロセッサ41の動作モードはフリーステップモードになっており、CPU1が、スロットル制御の基本処理P1〜P5うち、例えば、センサ入力処理P1と、ドラビリ補正処理P2と、モータ制御処理P5とを、その順に実行する(S110〜S130)。また、CPU2が、基本処理P1〜P5のうち、例えば、アイドル回転補正処理P3と、スロットル開度算出処理P4とを、その順に実行する(S210,S220)。
尚、CPU2が実行するアイドル回転補正処理P3では、CPU1が実行するセンサ入力処理P1で検出されたアクセル操作量を使用し、CPU2が実行するスロットル開度算出処理P4では、CPU1が実行するドラビリ補正処理P2で算出された補正値を使用し、CPU1が実行するモータ制御処理P5では、CPU2が実行するスロットル開度算出処理P4で算出された目標スロットル開度を使用することとなる。そして、このように、CPU1,2の各々が実行する処理のうち、他方のCPUによる演算結果を用いる処理では、その処理の実行時点で確定している最新の演算結果が用いられる。このため、その処理の実行時点で、他方のCPUによる今回の演算結果がRAM4に未だ格納されていなければ、RAM4内の前回の演算結果が用いられることとなる。また、このことは、後述する図8の変速機制御処理についても同様である。
そして、CPU1,2による基本処理P1〜P5の実行が終了すると、主プロセッサ41の動作モードがロックステップモードになり、CPU1,2の両方が、ガード処理P6(スロットル開度ガード値算出処理P6a及びスロットル出力処理P6b)を実行する(S140,S230)。
一方、主プロセッサ41においては、変速機制御処理も、例えば一定時間毎に実行される。また、変速機制御処理は、例えば、スロットル制御処理とはマルチタスクのかたちで並列的に実行されるか、あるいは、スロットル制御処理の実行タイミングとは異なるタイミングで実行される。
そして、図8に示すように、変速機制御処理が開始される時点において、主プロセッサ41の動作モードはフリーステップモードになっており、CPU1が、変速機制御の基本処理P11〜P18のうち、例えば、センサ入力処理P11と、ライン圧処理P13と、第2変速用ソレノイド処理P16と、第4変速用ソレノイド処理P18とを、その順に実行する(S310〜S340)。また、CPU2が、基本処理P11〜P18のうち、例えば、変速判断処理P12と、第1変速用ソレノイド処理P15と、第3変速用ソレノイド処理P17と、ライン圧ソレノイド出力処理P14とを、その順に実行する(S410〜S440)。
そして、CPU1,2による基本処理P11〜P18の実行が終了すると、主プロセッサ41の動作モードがロックステップモードになり、CPU1,2の両方が、ガード処理P19(変速ギア段ガード値算出処理P19a及び変速用ソレノイド出力処理P19b)を実行する(S350,S450)。
次に、主プロセッサ41における比較器6について説明する。
比較器6は、主プロセッサ41の動作モードがロックステップモードの場合に動作する。
そして、比較器6は、CPU1によるガード処理P6の演算結果と、CPU2によるガード処理P6の演算結果とを比較する。本実施形態では、例えば、CPU1,2によるガード処理P6の最終結果同士が比較され、具体的には、モータ駆動信号の出力値を算出した結果同士が比較される。
更に、比較器6は、CPU1によるガード処理P19の演算結果と、CPU2によるガード処理P19の演算結果とを比較する。本実施形態では、例えば、CPU1,2によるガード処理P19の最終結果同士が比較され、具体的には、各変速用ソレノイド駆動信号について、それの出力値を算出した結果同士が比較される。
そして、主プロセッサ41では、比較器6によってCPU1による演算結果とCPU2による演算結果とが相違したことが検出されると、そのことを示す不一致通知が、比較器6から通信装置5に出力される。
すると、通信装置5は、比較器6からの不一致通知を受けることで、本来一致するはずのCPU1,2の演算結果が相違したことを検知し、図9に示すように、その相違した2つの演算結果である不一致演算結果と、不一致処理IDと、不一致処理入力データとを、副プロセッサ42に送信する(S510)。
尚、2つの不一致演算結果は、どのCPUによる演算結果であるかを識別可能にして副プロセッサ42へ送信される。例えば、CPU1による演算結果とCPU2による演算結果とで、通信フレームにおける配置位置が固定で決まっていれば、副プロセッサ42において、受信した不一致演算結果の各々が、どのCPUによる演算結果であるかを識別することができる。また例えば、不一致演算結果の各々に、それを算出したCPUの識別情報を付加しても良い。
また、不一致処理IDは、ガード処理P6とガード処理P19とのうち、CPU1,2による演算結果に不一致が生じた方を示す識別情報であり、スロットル制御と変速機制御とのうち、CPU1,2によるガード処理の演算結果に不一致が生じた方を示す識別情報でもある。そして、本実施形態では、不一致処理IDの値として、例えば、“1”がスロットル制御のガード処理P6を示し、“2”が変速機制御のガード処理P19を示す。
また、不一致処理入力データは、ガード処理P6とガード処理P19とのうち、CPU1,2による演算結果に不一致が生じた方の処理への入力データであって、CPU1,2が不一致演算結果を求めるのに使用した入力データである。
例えば、CPU1,2の演算結果に不一致が生じた処理がガード処理P6であれば、不一致処理入力データは、ガード処理P6への入力データであり、詳しくは、RAM4の入力情報格納領域に記憶されているアクセルセンサ信号及びブレーキスイッチ信号の各値と、モータ制御処理P5で決定された要求開度である(図3参照)。また、CPU1,2の演算結果に不一致が生じた処理がガード処理P19であれば、不一致処理入力データは、ガード処理P19への入力データであり、詳しくは、RAM4の入力情報格納領域に記憶されている車速センサ信号のパルス間隔及び変速用ソレノイド駆動状態信号の各値と、変速用ソレノイド処理P15〜P18の各々で決定された変速用ソレノイド31〜34の要求作動状態である(図4参照)。
次に、副プロセッサ42が行う処理(実際には、副プロセッサ42のCPU51が実行する処理)について説明する。
副プロセッサ42は、主プロセッサ41からの不一致演算結果、不一致処理ID及び不一致処理入力データを、通信装置55によって受信すると、図10の処理を開始する。
そして、図10に示すように、副プロセッサ42は、まずS610にて、通信装置55から、主プロセッサ41からの情報(不一致演算結果、不一致処理ID、不一致処理入力データ)を取得し、続くS620にて、主プロセッサ41からの不一致処理IDが“1”か否かを判定する。
そして、不一致処理IDが“1”であれば、S630に進み、「不一致処理ID=1」に対応する方であるスロットル制御のガード処理P6を、主プロセッサ41からの不一致処理入力データを用いて実行することにより、主プロセッサ41からの不一致演算結果と同じ種類の演算結果を求める。そして、その後、S650に進む。
また、不一致処理IDが“1”でなければ、“2”であるということであり、その場合には、S640に進む。そして、「不一致処理ID=2」に対応する方である変速機制御のガード処理P19を、主プロセッサ41からの不一致処理入力データを用いて実行することにより、主プロセッサ41からの不一致演算結果と同じ種類の演算結果を求める。そして、その後、S650に進む。
尚、S630で実行されるガード処理P6は、主プロセッサ41で実行されるガード処理P6と同じ処理であり、S640で実行されるガード処理P19も、主プロセッサ41で実行されるガード処理P19と同じ処理である。また、副プロセッサ42は、駆動回路43,45に接続されていない(あるいは更に、駆動回路43,45に信号を出力する機能がない)ため、副プロセッサ42がガード処理P6,P19を実行しても、モータ19及び変速用ソレノイド31〜34に出力される駆動信号に影響はない。
そして、S650では、当該副プロセッサ42が求めたガード処理の演算結果(即ち、S630またはS640で求めた演算結果)と、主プロセッサ41からの2つの不一致演算結果とを比較することにより、CPU1,2のうちで異常な方のCPUを判別する。
具体的には、当該副プロセッサ42が求めたガード処理の演算結果を「R3」とし、主プロセッサ41からの2つの不一致演算結果のうち、CPU1による演算結果を「R1」とし、CPU2による演算結果を「R2」とすると、S650では、R1とR2とのうちで、R3とは異なる方を異常データとし、CPU1,2のうちで、その異常データを算出した方を、異常なCPUとして判別する。つまり、R3を真として、多数決をとることにより、CPU1,2のうちで異常な方のCPUを判別する。
そして、次のS660にて、上記S650で異常と判別した方のCPUを示す異常側CPU情報を、通信装置55から主プロセッサ41へ送信させ、その後、当該副プロセッサ42側の処理を終了する。尚、S660では、主プロセッサ41へ、正常と判別した方のCPUを示す情報を送信しても良い。主プロセッサ41において、正常な方のCPUが分かれば、異常な方のCPUも分かるからである。
一方、主プロセッサ41では、副プロセッサ42からの異常側CPU情報が通信装置5によって受信されると、切替部7が動作する。
そして、図11に示すように、切替部7は、副プロセッサ42からの異常側CPU情報を通信装置5から取得し、その異常側CPU情報に基づいて、CPU1,2のうち、副プロセッサ42により異常と判別されたCPU(以下、異常側CPUという)を特定する(S710)。そして更に、切替部7は、CPU1,2のうち、異常側CPUの動作を停止させると共に、異常側CPUとは異なる方のCPU(以下、正常側CPUという)の動作モードを、制御処理(本実施形態ではスロットル制御処理及び変速機制御処理)の全てを実行する特別モードに切り替える(S720)。
すると、CPU1,2のうち、特別モードにされた正常側CPUは、図12に示す特別モード処理を、一定時間毎に行うようになる。
図12に示すように、正常側CPUは、特別モード処理を開始すると、まず、スロットル制御処理の基本処理P1〜P5を実行し(S810)、次に、変速機制御の基本処理P11〜P18を実行する(S820)。そして更に、スロットル制御のガード処理P6を実行し(S830)、次に、変速機制御のガード処理P19を実行する(S840)。
上記S810〜S840の処理(即ち、スロットル制御処理及び変速機制御処理)を終えると、次にS850にて、車速に基づき車両が停止したか否かを判定する。尚、車速としては、例えば、変速機制御処理におけるセンサ入力処理P11で検出した値を用いることができる。
そして、上記S850にて、車両が停止していないと判定した場合には、そのまま当該特別モード処理を終了する。すると、正常側CPUは、当該特別モード処理を一定時間後に再び開始することとなる。
また、上記S850にて、車両が停止したと判定した場合には、S860に進み、主プロセッサ41をリセットするためのリセット処理を行う。すると、主プロセッサ41におけるCPU1,2は、スロットル制御処理と変速機制御処理を図7及び図8に示したように実行する通常状態に戻ることとなる。
尚、S860のリセット処理は、例えば、主プロセッサ41の特定の出力端子から主プロセッサ41のリセット端子へ、アクティブレベルのリセット信号を出力する処理であるが、例えば、CPU1,2が実行するプログラムのアドレスを、リセットスタート時のアドレスに変更する処理であっても良い。
次に、主プロセッサ41の動作内容を、図13にまとめて示す。尚、図13において、既述した図7〜図9,図11,図12のステップ番号と同じ動作内容については、それと同じステップ番号を付している。
図13に示すように、主プロセッサ41において、CPU1,2が正常に動作している場合には、フリーステップモードで、CPU1がスロットル制御及び変速機制御の基本処理の一部P1,P2,P5,P11,P13,P16,P18を実行し(S110〜S130,S310〜S340)、CPU2が基本処理の残り部分P3,P4,P12,P15,P17,P14を実行する(S210,S220,S410〜S440)。つまり、基本処理は2つのCPU1,2により分担されて実行される。
また、主プロセッサ41においては、ロックステップモードで、CPU1,2の両方がガード処理P6,P19を実行する(S140,S350,S230,S450)。
そして、CPU1,2が正常に動作していれば、CPU1によるガード処理の演算結果と、CPU2によるガード処理の演算結果は、同じになり、比較器6により不一致は検出されない(S505:NO)。
しかし、CPU1,2のうちの一方が正常に動作しなくなると、CPU1によるガード処理の演算結果と、CPU2によるガード処理の演算結果とが、一致しなくなり、そのことが、比較器6によって検出される(S505:YES)。
すると、通信装置5により、主プロセッサ41から副プロセッサ42へ、2つの不一致演算結果と、不一致処理IDと、不一致処理入力データとが送信される(S510)。
そして、副プロセッサ42が、不一致処理IDによって示されるガード処理を、不一致処理入力データを用いて実行することにより、不一致演算結果と同じ種類の演算結果を求め、その求めた演算結果と2つの不一致演算結果とを比較して、CPU1,2のうち、異常な方のCPUを判別する。そして更に、副プロセッサ42は、異常側CPU情報を主プロセッサ41へ送信する。
このため、主プロセッサ41では、通信装置5により、副プロセッサ42からの異常側CPU情報が受信され、切替部7が、その異常側CPU情報に基づいて、異常側CPUを特定する(S710)。そして更に、切替部7は、異常側CPUの動作を停止させると共に、正常側CPUを特別モードで動作させる(S720)。
すると、正常側CPUは、スロットル制御処理及び変速機制御処理の全て(基本処理の全て及びガード処理)を実行するようになり(S810〜S840)、車両が停止すると(S850:YES)、当該主プロセッサ41をリセットして、正常復帰(即ち、異常側CPUの正常化)を試みることとなる(S860)。
以上のようなECU11によれば、主プロセッサ41のCPU1,2のうち、何れか一方が異常になった場合に、その異常になった方のCPUを判別することができる。
このため、ECU11では、CPU1,2のうち、異常と判別した方のCPUの動作を停止させると共に、正常な方のCPUに制御処理を実行させている。
そして、制御処理のうち、少なくともガード処理の正常性を確保することができるため、制御対象の状態が許容限界状態を逸脱してしまうことを阻止することができる。特に、本実施形態では、スロットル開度がスロットル開度ガード値を上回ってしまうことが阻止されるため、車両の急加速が防止され、また、変速機17の変速ギア段が変速ギア段ガード値よりも低いギア段になってしまうこと(換言すれば、変速比が変速ギア段ガード値に対応する変速比を上回ってしまうこと)が阻止されるため、車両の急減速が防止される。このように、制御対象の制御に関する信頼性を確保することができる。
しかも、副プロセッサ42は、制御処理のうち、ガード処理だけを実行すれば良く、更に、ガード処理は概して基本処理よりも簡単な処理であるため、その副プロセッサ42の処理負荷は主プロセッサ41よりも格段に小さくて済む。例えば、図4の変速機制御処理を例に挙げると、基本処理のうちの変速判断処理P12が非常に複雑な処理であるのに対して、ガード処理P19は、それほど複雑な処理ではない。このため、副プロセッサ42としては、主プロセッサ41と比較して性能が低いもので良く、安価なものを使用することができる。
よって、ECU11によれば、主プロセッサ41のCPU1,2のうちで異常になった方を、安価な構成で判別できると共に、信頼性も確保することができる。
その上、ECU11では、主プロセッサ41の切替部7が、CPU1,2のうちの正常側CPUに、ガード処理も含めて制御処理の全てを実行させるため(S810〜S840)、車両の走行を安全に継続させることができ、制御の信頼性を一層向上させることができる。更に、車両が停止してから主プロセッサ41をリセットするため(S850:YES,S860)、車両が停止した安全状態にて、正常状態に復帰することができる。
更に、副プロセッサ42が、CPU1,2のうちで異常な方のCPUを判別する判別手段として機能するため、ハードウェアを少なくすることができる。つまり、図10におけるS650の処理(判別手段としての処理)を、副プロセッサ42とは別のハードウェアによって実施するように構成しても良いが、そのような構成よりも、ハードウェアを少なくすることができる。
また、主プロセッサ41では、比較器6が動作するロックステップモードにて、CPU1,2の両方がガード処理を実行するため、CPU1,2によるガード処理の演算結果の不一致を、主プロセッサ41側にて検出することができる。
このため、ECU11では、前述したように、比較器6によってCPU1,2による演算結果の相違が検出された場合に、主プロセッサ41の通信装置5が、副プロセッサ42へ、その相違した2つの不一致演算結果を、どのCPUによる演算結果であるかを識別可能にして送信すると共に、不一致処理ID及び不一致処理入力データも送信するようになっている。そして、副プロセッサ42は、主プロセッサ41からの不一致処理入力データを用いて、不一致処理IDが示すガード処理を実行することにより、不一致演算結果と同じ種類の演算結果を求め、その求めた演算結果と2つの不一致演算結果とを比較することにより、CPU1,2のうちで異常な方のCPUを判別し、更に、その異常と判別したCPUを示す異常側CPU情報を、主プロセッサ41に送信するようになっている。そして更に、主プロセッサ41の切替部7は、副プロセッサ42からの異常側CPU情報に基づいて異常側CPUを特定する。
そして、このようなECU11によれば、主プロセッサ41から副プロセッサ42への情報送信の機会と、副プロセッサ42がガード処理を実行する機会とを、最小限にすることができるため、ECU11全体での処理負荷を抑制することができる。
また、主プロセッサ41は、スロットル制御と変速機制御の基本処理を、2つのCPU1,2によりフリーステップモードで実行するため、高い処理性能が得られる。
尚、本実施形態では、ガード処理が制御別に2つあるため、主プロセッサ41から副プロセッサ42へ不一致処理IDを送信することにより、副プロセッサ42で実行すべきガード処理を指示するようになっているが、ガード処理が1つであれば、不一致処理IDの送信は不要である。
一方、スロットル制御処理におけるセンサ入力処理P1では、アクセルセンサ信号とブレーキスイッチ信号の各値を、入力処理部8を介在させずに(つまり、RAM4の入力情報格納領域から読み取るのではなく)、主プロセッサ41の入力端子から読み取るようになっていても良い。また、モータ制御処理P5でも、開度センサ信号の値を、入力処理部8を介在させずに、主プロセッサ41の入力端子から読み取るようになっていても良い。同様に、変速機制御処理におけるセンサ入力処理P11でも、アクセルセンサ信号の値と車速センサ信号のパルス間隔とを、入力処理部8を介在させずに、主プロセッサ41の入力端子から読み取るようになっていても良い。
また、上記実施形態では、センサ入力処理P1とセンサ入力処理P11との各々で、アクセル操作量を検出したが、アクセル操作量は、センサ入力処理P1,P11の何れか一方で検出し、その検出値を、スロットル制御処理の基本処理と変速機制御処理の基本処理とで使用するようになっていても良い。
[第2実施形態]
次に、第2実施形態のECUについて説明するが、そのECUの符号としては、第1実施形態と同じ“11”を用いる。また、第1実施形態と同様の構成要素や処理についても、第1実施形態と同じ符号を用いる。そして、このことは、後述する他の実施形態についても同様である。
第2実施形態のECU11は、第1実施形態のECU11と比較すると、下記(1)〜(4)の点が異なる。
(1)主プロセッサ41は、ロックステップモードにならないプロセッサ(つまり、ロックステップ機能を持たないプロセッサ)であり、その主プロセッサ41には、比較器6がない。そして、主プロセッサ41のCPU1,2は、常にフリーステップモードで処理を実行する。
(2)このため、主プロセッサ41は、2つのCPU1,2によりスロットル制御処理と変速機制御処理とを、図14に示すように実行する。尚、図14に示す処理は、例えば一定時間毎に実行される。
図14に示すように、CPU1が、スロットル制御の基本処理P1〜P5を実行し(S910)、それと並行して、CPU2が、変速機制御の基本処理P11〜P18を実行する(S1010)。
次に、CPU1が、スロットル制御のガード処理P6を実行し(S920)、それと並行して、CPU2も、スロットル制御のガード処理P6を実行する(S1020)。
そして更に、CPU1が、変速機制御のガード処理P19を実行し(S930)、それと並行して、CPU2も、変速機制御のガード処理P19を実行する(S1030)。
つまり、第2実施形態では、スロットル制御と変速機制御のガード処理P6,P19も、2つのCPU1,2がフリーステップモードで実行する。
尚、図14の例では、スロットル制御の基本処理P1〜P5と、変速機制御の基本処理P11〜P18とを、制御処理におけるガード処理P6,P19以外の基本処理とし、その基本処理の一部である基本処理P1〜P5を、CPU1が実行し、残りの別部分である基本処理P11〜P18を、CPU2が実行するようにしているが、例えば、第1実施形態と同様に、基本処理P1〜P5をCPU1,2で分担して実行したり、基本処理P11〜P18をCPU1,2で分担して実行するようにしても良い。
(3)主プロセッサ41の通信装置5は、一定時間毎に送信動作を行う。そして、通信装置5は、その送信動作により、図15に示すように、ガード処理P6,P19の各々について、CPU1によるガード処理の演算結果である第1の演算結果と、CPU2によるガード処理の演算結果である第2の演算結果と、そのガード処理への入力データであって、CPU1,2の両方が第1及び第2の演算結果を求めるのに使用した入力データとを、副プロセッサ42へ送信する(S1100)。
尚、第1実施形態の不一致演算結果と同様に、ガード処理P6については、第1及び第2の演算結果として、例えば、ガード処理P6の最終結果であるモータ駆動信号の出力値が副プロセッサ42へ送信され、ガード処理P19については、第1及び第2の演算結果として、例えば、ガード処理P19の最終結果である各変速用ソレノイド駆動信号の出力値が副プロセッサ42へ送信される。また、ガード処理P6への入力データと、ガード処理P19への入力データは、第1実施形態の不一致処理入力データに関して説明した通りのデータである。
そして、第1及び第2の演算結果は、どのCPUによる演算結果であるかを識別可能にして副プロセッサ42へ送信される。例えば、CPU1による演算結果とCPU2による演算結果とで、通信フレームにおける配置位置が固定で決まっていれば、副プロセッサ42において、受信した演算結果の各々が、どのCPUによる演算結果であるかを識別することができる。また例えば、演算結果の各々に、それを算出したCPUの識別情報を付加しても良い。
更に、第1及び第2の演算結果と入力データは、ガード処理P6,P19のうちの何れに関するものであるかも識別可能にして副プロセッサ42へ送信される。例えば、ガード処理P6に関する情報とガード処理P19に関する情報とで、通信フレームにおける配置位置が固定で決まっていれば、副プロセッサ42において、受信した情報の各々が、どのガード処理に関するものであるかを識別することができる。また例えば、情報の各々に、それに対応するガード処理の識別情報を付加しても良い。
(4)副プロセッサ42は、主プロセッサ41からの情報(即ち、ガード処理P6,P19の各々についての、第1及び第2の演算結果と入力データ)を受信すると、図16の処理を開始する。
そして、図16に示すように、副プロセッサ42は、まずS1210にて、通信装置55から、主プロセッサ41からの情報を取得する。
次にS1220にて、ガード処理P6,P19の各々について、第1及び第2の演算結果が不一致である(相違している)か否かを判定し、第1及び第2の演算結果が不一致でなければ(つまり、同じであれば)、そのまま処理を終了する。
また、上記S1220にて、第1及び第2の演算結果が不一致であると判定した場合には、S1230に進み、ガード処理P6,P19のうち、第1及び第2の演算結果が不一致である方を、主プロセッサ41からの入力データを用いて実行することにより、不一致であった第1及び第2の演算結果と同じ種類の演算結果を求める。
そして、次のS1240にて、S1230で求めた演算結果と、S1220で不一致と判定した第1及び第2の演算結果とを比較することにより、CPU1,2のうちで異常な方のCPUを判別する。尚、このS1240での判別手法は、第1実施形態の図10におけるS650について説明した手法と同じである。
そして、次のS1250にて、上記S1240で異常と判別した方のCPUを示す異常側CPU情報を、通信装置55から主プロセッサ41へ送信させ、その後、処理を終了する。尚、本実施形態においても、副プロセッサ42から主プロセッサ41へは、正常と判別した方のCPUを示す情報を送信しても良い。
すると、本第2実施形態においても、主プロセッサ41の切替部7が図11に示した動作を行い、その結果、主プロセッサ41においては、CPU1,2のうち、異常側CPUの動作が停止し、正常側CPUは特別モード(図12)で動作することとなる。
以上のような第2実施形態のECU11によれば、主プロセッサ41から副プロセッサ42へ一定時間毎に情報(異常検出用及び異常側CPU判別用の情報)を送信することとなるが、そのこと以外については、第1実施形態のECU11と同様の効果が得られる。
尚、変形例として、副プロセッサ42は、S1220の判定を行う前に、主プロセッサ41からの入力データを用いて、ガード処理P6,P19の各々を実行しても良い。その場合、副プロセッサ42は、ガード処理P6,P19の各々について、当該副プロセッサ42の演算結果を真とし、その演算結果と主プロセッサ41からの第1及び第2の演算結果とを比較することにより、CPU1,2が正常か否か、正常でなければ、どちらのCPUが異常であるか、を判別すれば良い。
但し、図16に示したように、副プロセッサ42は、ガード処理を実行する前に、S1220の判定を行い、そのS1220で第1及び第2の演算結果が不一致であると判定した場合にガード処理を行う方が、効率的で好ましい。つまり、副プロセッサ42は、CPU1,2の何れかが異常である場合に、ガード処理を行ってみて、異常な方のCPUを判別することになるからである。
[第3実施形態]
第3実施形態のECU11では、第1または第2実施形態のECU11と比較すると、スロットル制御処理の構成が図17に示すようになっている。
図17に示すように、第3実施形態におけるスロットル制御処理では、ガード処理P6にスロットル出力処理P6bが含まれておらず、そのスロットル出力処理P6bに代わるスロットル出力処理P7は、ガード処理P6以外の基本処理の一部になっている。
そして、スロットル出力処理P7は、モータ制御処理P5で決定された要求開度を実現するためのモータ駆動信号の出力値を決定し、その決定した出力値のモータ駆動信号を、駆動回路43からモータ19へ出力させる。つまり、スロットル出力処理P7は、スロットル出力処理P6bからガード機能(スロットル開度を制限する機能)を無くした処理である。
一方、ガード処理P6には、スロットル出力処理P6bに代えて、モータ電源遮断処理P6cが含まれている。
そして、モータ電源遮断処理P6cでは、モータ制御処理P5で決定された要求開度がスロットル開度ガード値以下であれば、モータ19に電源を供給する電源リレー61をオンさせるが、要求開度がスロットル開度ガード値よりも大きければ、電源リレー61をオフさせて、モータ19への電源供給を停止することにより、実スロットル開度が基本処理によってスロットル開度ガード値を上回ってしまうことを阻止する。
尚、一般に、電子スロットル23では、アクセルペダルの操作に応じてスロットル15を動かすための機械的なバックアップ操作経路が設けられているため、モータ19への電源供給が停止されても、スロットル15はアクセルペダルの操作に応じて機械的に動くこととなる。よって、運転者による車両の運転は可能である。
そして、このような第3実施形態のECU11によっても、第1または第2実施形態のECU11と同様の効果が得られる。
[第4実施形態]
第4実施形態のECU11では、第1または第2実施形態のECU11と比較すると、スロットル制御処理の構成が図18に示すようになっている。
図18に示すように、第4実施形態におけるスロットル制御処理では、他システムの情報として、例えば、車両に搭載されたエアコン装置のオンオフ状態を示すエアコンスイッチ63からの信号(以下、エアコン信号という)も用いている。
具体的には、エアコン信号の値は、前述した入力処理部8により読み取られてRAM4の入力情報格納領域に記憶される。そして、センサ入力処理P1では、そのエアコン信号の値をRAM4の入力情報格納領域から読み取って、エアコン装置のオンオフ状態を検出する。そして更に、スロットル開度算出処理P4では、スロットル開度の基本値を算出するのに、センサ入力処理P1で検出したアクセル操作量及びブレーキ操作の有無だけでなく、センサ入力処理P1で検出したエアコン装置のオンオフ状態も用いる。例えば、スロットル開度算出処理P4では、エアコン装置がオフ状態である場合よりもオン状態である場合の方が、スロットル開度の基本値として、大きい値を算出する。
また、ガード処理P6におけるスロットル開度ガード値算出処理P6aでは、アクセルセンサ信号とブレーキスイッチ信号とエアコン信号の各値を、RAM4の入力情報格納領域から読み取って、その各値からアクセル操作量とブレーキ操作の有無とエアコン装置のオンオフ状態とを検出し、更に、それらの検出値からスロットル開度ガード値を決定する。
そして、このような第4実施形態のECU11によっても、第1または第2実施形態のECU11と同様の効果が得られる。また、スロットル15の制御にエアコン信号を用いるという第4実施形態の思想は、第3実施形態のECU11に対しても適用することができる。
以上、本発明の一実施形態について説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々なる態様で実施し得ることは勿論である。
例えば、変速機17は、変速比が無段階に変わる無段変速機であっても良い。
また、上記各実施形態のECU11は、スロットル制御と変速機制御との両方を行うものであったが、それらの何れか一方を行うものであっても良い。
また、第1実施形態の変形例として、主プロセッサ41のCPU1,2がガード処理(P6またはP19)の実行を開始するとき、あるいはその直前に、主プロセッサ41から副プロセッサ42へ、そのガード処理への入力データ(そのガード処理を実行するのに用いられる入力データ)を送信して、CPU1,2がガード処理を実行している間に、それと同じガード処理を副プロセッサ42が実行するようにしても良い。
その場合、主プロセッサ41の比較器6により、CPU1による演算結果とCPU2による演算結果とが相違したことが検出された場合には、主プロセッサ41から副プロセッサ42へ不一致処理入力データを送信する必要がなく、副プロセッサ42は、図10に示した処理のうち、S610,S650及びS660の処理を行えば良い。
このような変形例によれば、副プロセッサ42は、主プロセッサ41の比較器6によってCPU1,2のうちの何れかの異常が検出される前に、ガード処理を実行しておくことができ、延いては、主プロセッサ41へ異常側CPU情報を送信するまでの時間を短縮することができる。
1,2,51…CPU、11…ECU(電子制御装置)、5,55…通信装置、6…比較器、7…切替部、8…入力処理部、15…スロットル、17…変速機、19…モータ、31〜34…変速用ソレノイド、41…主プロセッサ、42…副プロセッサ、P1〜P5,P7,P11〜P18…制御処理のうちの基本処理、P6,P19…制御処理のうちのガード処理

Claims (12)

  1. 第1CPU(1)と第2CPU(2)を有し、その2つのCPU(1,2)により、制御対象(15,17)を制御するための制御処理を行う主プロセッサ(41)と、
    前記主プロセッサとは別の副プロセッサ(42)と、
    を備えた電子制御装置(11)において、
    前記制御処理には、
    前記制御対象の目標状態を決定して、前記制御対象を該目標状態にさせる基本処理(P1〜P5,P7,P11〜P18)と、
    前記制御対象の許容限界状態を決定すると共に、前記制御対象の状態が前記基本処理によって該許容限界状態を逸脱してしまうことを阻止するガード処理(P6,P19)と、が含まれており、
    前記第1CPUが、前記基本処理のうちの一部を実行し、
    前記第2CPUが、前記基本処理のうち、前記一部とは別の部分を実行し、
    前記第1CPUと前記第2CPUとの両方が、前記ガード処理を実行するようになっており、
    前記副プロセッサは、前記制御処理のうち、前記ガード処理を実行するようになっており、
    当該電子制御装置は、
    前記副プロセッサによる前記ガード処理の演算結果と、前記第1CPUによる前記ガード処理の演算結果と、前記第2CPUによる前記ガード処理の演算結果とを比較することにより、前記第1CPUと前記第2CPUとのうちで異常な方のCPUを判別する判別手段(42)を備えていること、
    を特徴とする電子制御装置。
  2. 請求項1に記載の電子制御装置において、
    前記主プロセッサは、
    前記第1CPUと前記第2CPUとのうち、前記判別手段により異常と判別されたCPUの動作を停止させると共に、他方のCPUの動作モードを、前記制御処理の全てを実行する特別モードに切り替える切替手段(7)を備えていること、
    を特徴とする電子制御装置。
  3. 請求項2に記載の電子制御装置において、
    前記副プロセッサが、前記判別手段として機能すること、
    を特徴とする電子制御装置。
  4. 請求項3に記載の電子制御装置において、
    前記主プロセッサは、
    前記第1CPUによる前記ガード処理の演算結果と前記第2CPUによる前記ガード処理の演算結果とを比較する比較器(6)と、
    前記比較器によって前記第1CPUによる演算結果と前記第2CPUによる演算結果とが相違したことが検出された場合に、その相違した2つの演算結果を、どのCPUによる演算結果であるかを識別可能にして前記副プロセッサへ送信すると共に、前記ガード処理に関する入力データであって、前記第1CPU及び前記第2CPUの両方が前記相違した2つの演算結果を求めるのに使用した入力データも、前記副プロセッサへ送信する送信手段(5)と、を備え、
    前記副プロセッサは、
    前記主プロセッサから、前記2つの演算結果と前記入力データとを受信し、前記入力データを用いて前記ガード処理を実行することにより、前記2つの演算結果と同じ種類の演算結果を求め、その求めた演算結果と前記2つの演算結果とを比較することにより、前記第1CPUと前記第2CPUとのうちで異常な方のCPUを判別し、更に、その異常と判別したCPUを識別可能な情報を、前記主プロセッサに送信するようになっており、
    前記主プロセッサの前記切替手段は、
    前記副プロセッサからの前記情報に基づいて、前記第1CPUと前記第2CPUとのうち、前記副プロセッサにより異常と判別されたCPUを特定すること、
    を特徴とする電子制御装置。
  5. 請求項4に記載の電子制御装置において、
    前記主プロセッサは、
    前記第1CPUと前記第2CPUとが同じ処理を実行するロックステップモードと、前記第1CPUと前記第2CPUとが別々の処理を実行可能なフリーステップモードとに、動作モードが切り替え可能なプロセッサであると共に、
    前記ガード処理を前記ロックステップモードで実行し、前記基本処理を前記フリーステップモードで実行するようになっており、
    前記比較器は、当該主プロセッサの動作モードが前記ロックステップモードの場合に動作すること、
    を特徴とする電子制御装置。
  6. 請求項3に記載の電子制御装置において、
    前記主プロセッサは、
    所定時間毎に、前記第1CPUによる前記ガード処理の演算結果である第1の演算結果と、前記第2CPUによる前記ガード処理の演算結果である第2の演算結果とを、どのCPUによる演算結果であるかを識別可能にして前記副プロセッサへ送信すると共に、前記ガード処理に関する入力データであって、前記第1CPU及び前記第2CPUの両方が前記第1及び第2の演算結果を求めるのに使用した入力データも、前記副プロセッサへ送信する送信手段(5)を備え、
    前記副プロセッサは、
    前記主プロセッサから、前記第1及び第2の演算結果と前記入力データとを受信し、前記入力データを用いて前記ガード処理を実行することにより、前記第1及び第2の演算結果と同じ種類の演算結果を求め、その求めた演算結果と前記第1及び第2の演算結果とを比較することにより、前記第1CPUと前記第2CPUとのうちで異常な方のCPUを判別し、更に、その異常と判別したCPUを識別可能な情報を、前記主プロセッサに送信するようになっており、
    前記主プロセッサの前記切替手段は、
    前記副プロセッサからの前記情報に基づいて、前記第1CPUと前記第2CPUとのうち、前記副プロセッサにより異常と判別されたCPUを特定すること、
    を特徴とする電子制御装置。
  7. 請求項6に記載の電子制御装置において、
    前記副プロセッサは、
    前記ガード処理を実行する前に、前記第1及び第2の演算結果が相違しているか否かを判定し、前記第1及び第2の演算結果が相違していると判定した場合に、前記入力データを用いて前記ガード処理を実行することにより、前記第1及び第2の演算結果と同じ種類の演算結果を求め、その求めた演算結果と前記第1及び第2の演算結果とを比較することにより、前記第1CPUと前記第2CPUとのうちで異常な方のCPUを判別すること、
    を特徴とする電子制御装置。
  8. 請求項1ないし請求項7の何れか1項に記載の電子制御装置において、
    前記制御対象は、車両のエンジン(13)への吸入空気量を調節するスロットル(15)であり、
    前記ガード処理(P6)は、前記許容限界状態として、前記スロットルの開度の上限値を決定し、前記スロットルの開度が前記上限値を上回ることを阻止する処理であること、
    を特徴とする電子制御装置。
  9. 請求項8に記載の電子制御装置において、
    前記ガード処理(P6)には、前記スロットルの開度が前記上限値を上回ることを阻止するための処理として、前記スロットルを動作させるアクチュエータ(19)への電源供給を停止する処理(P6c)が含まれていること、
    を特徴とする電子制御装置。
  10. 請求項1ないし請求項7の何れか1項に記載の電子制御装置において、
    前記制御対象は、車両の変速機(17)であり、
    前記ガード処理(P19)は、前記許容限界状態として、前記変速機の変速比の上限値を決定し、前記変速機の変速比が前記上限値を上回ることを阻止する処理であること、
    を特徴とする電子制御装置。
  11. 請求項10に記載の電子制御装置において、
    前記ガード処理(P19)には、前記上限値を決定するための処理として、前記車両の走行速度に基づき前記上限値を決定する処理(P19a)が含まれていること、
    を特徴とする電子制御装置。
  12. 請求項11に記載の電子制御装置において、
    前記ガード処理(P19)には、前記上限値を決定するための処理として、前記車両の走行速度と前記変速機の現在の変速比とに基づき前記上限値を決定する処理(19a)が含まれていること、
    を特徴とする電子制御装置。
JP2012136169A 2012-06-15 2012-06-15 電子制御装置 Active JP5942625B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012136169A JP5942625B2 (ja) 2012-06-15 2012-06-15 電子制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012136169A JP5942625B2 (ja) 2012-06-15 2012-06-15 電子制御装置

Publications (2)

Publication Number Publication Date
JP2014002472A true JP2014002472A (ja) 2014-01-09
JP5942625B2 JP5942625B2 (ja) 2016-06-29

Family

ID=50035614

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012136169A Active JP5942625B2 (ja) 2012-06-15 2012-06-15 電子制御装置

Country Status (1)

Country Link
JP (1) JP5942625B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112730874A (zh) * 2020-12-24 2021-04-30 交控科技股份有限公司 一种信号板及数据处理方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001306348A (ja) * 2000-04-19 2001-11-02 Aeroastro Inc 冗長系情報処理システム
JP2003216413A (ja) * 2002-01-23 2003-07-31 Denso Corp 電子制御装置及び制御プログラム
JP2003254094A (ja) * 2002-02-28 2003-09-10 Denso Corp 車両用電子制御装置
JP2008518304A (ja) * 2004-10-25 2008-05-29 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 少なくとも3つの処理ユニットを有する計算機システムにおけるモード切替及びデータ比較方法および装置
WO2010084611A1 (ja) * 2009-01-26 2010-07-29 トヨタ自動車株式会社 車両の制御装置
JP2011145900A (ja) * 2010-01-14 2011-07-28 Toyota Motor Corp マルチプロセッサ装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001306348A (ja) * 2000-04-19 2001-11-02 Aeroastro Inc 冗長系情報処理システム
JP2003216413A (ja) * 2002-01-23 2003-07-31 Denso Corp 電子制御装置及び制御プログラム
JP2003254094A (ja) * 2002-02-28 2003-09-10 Denso Corp 車両用電子制御装置
JP2008518304A (ja) * 2004-10-25 2008-05-29 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 少なくとも3つの処理ユニットを有する計算機システムにおけるモード切替及びデータ比較方法および装置
WO2010084611A1 (ja) * 2009-01-26 2010-07-29 トヨタ自動車株式会社 車両の制御装置
JP2011145900A (ja) * 2010-01-14 2011-07-28 Toyota Motor Corp マルチプロセッサ装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112730874A (zh) * 2020-12-24 2021-04-30 交控科技股份有限公司 一种信号板及数据处理方法

Also Published As

Publication number Publication date
JP5942625B2 (ja) 2016-06-29

Similar Documents

Publication Publication Date Title
JP3844246B2 (ja) 車両用自動変速機の変速制御方法及び装置
US10378646B2 (en) Shift control system for vehicle and shift control method for vehicle
US10155508B2 (en) Vehicle controller
EP1441265B1 (en) Electronic control unit
KR101199154B1 (ko) 하이브리드 차량의 변속 제어 시스템 및 그의 제어 방법
JP6449548B2 (ja) エンジン自動制御装置
JP5942625B2 (ja) 電子制御装置
EP1332909B1 (en) Cruise control system
JP5288289B2 (ja) 車両の制御装置
JP2011032903A (ja) 車両の制御装置
JP2012197748A (ja) 車両制御装置
JP7199929B2 (ja) 後輪操舵システムの制御方法
JP2010095046A (ja) 車両の制御装置
WO2013057800A1 (ja) 車両用制御装置
JP5741550B2 (ja) 制御装置及び車両制御システム
WO2021014769A1 (ja) 車両の制御装置および制御方法
JP4007038B2 (ja) 車両用電子制御装置
JP2015086936A (ja) 車両用制御装置
JP6306933B2 (ja) 車速センサ故障検出装置
KR101575333B1 (ko) 자동변속기 제어 방법 및 시스템
JPH05233577A (ja) 電子制御装置
JP2019164680A (ja) 電子制御装置
JP5333303B2 (ja) 制御装置
EP2090455B1 (en) Vehicle speed limiting device
JP6813327B2 (ja) 車両制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141024

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150909

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151124

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160509

R151 Written notification of patent or utility model registration

Ref document number: 5942625

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250