(57)【要約】【課題】処理負荷及び記憶領域の増加を抑制することができる制御装置を提供すること。【解決手段】ＥＣＵ２００は、記憶部３０と、複数の入力信号が入力され制御演算を実行するメイン演算部４０と、複数の入力信号が入力され冗長演算を実行する冗長演算部５０と、を備えて構成されている。メイン演算部４０は、記憶部３０を用いつつ、複数の入力信号が正常であるか否かの入力保証を行うダイアグ演算部４１と、ダイアグ演算部４１にて正常であることが保証された入力信号を用いて制御演算を実行する第１演算部（４２，４３）と、を有している。冗長演算部５０は、複数の入力信号を互いに比較して、複数の入力信号から一つの入力信号を選択する比較選択部５１と、比較選択部５１にて選択された入力信号を用いて、冗長演算を実行する第２演算部（５２，５３）と、を有している。【選択図】図１
2014238661.tif 000002
【特許請求の範囲】
【請求項１】
入力された入力信号を用いて、制御対象（５００，５１０）に対する制御信号を生成するための制御演算を実行する制御装置（２００，２１０）であって、
記憶部（３０）と、複数の前記入力信号が入力され前記制御演算を実行するメイン演算部（４０，６０）と、複数の前記入力信号が入力され冗長演算を実行する冗長演算部（５０，７０）と、を備え、
前記メイン演算部は、
前記記憶部を用いつつ、複数の前記入力信号が正常であるか否かの入力保証を行うための保証演算を実行する入力保証演算部（４１，６１）と、
前記入力保証演算部にて正常であることが保証された前記入力信号を用いて前記制御演算を実行する第１演算部（４２，４３，６２）と、を有し、
前記冗長演算部は、
複数の前記入力信号を互いに比較して、複数の前記入力信号から一つの入力信号を選択する比較選択部（５１，７１）と、
前記比較選択部にて選択された前記入力信号を用いて、前記冗長演算を実行する第２演算部（５２，５３，７２）と、を有することを特徴とする制御装置。
【請求項２】
前記制御演算の演算結果と前記冗長演算の演算結果とを比較して前記メイン演算部の異常を検出する比較部（２０）を備えることを特徴とする請求項１に記載の制御装置。
【請求項３】
前記比較選択部は、前記比較部における検出において、前記メイン演算部の異常が最も未検出となりにくい入力信号を選択することを特徴とする請求項２に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置に関する。特に、本発明は、メイン演算部と、冗長演算部とを備えた制御装置に関する。
【背景技術】
【０００２】
従来、メイン演算部と冗長演算部とを備えた制御装置の一例として、特許文献１に開示された制御ユニットがある。この制御ユニットは、駆動ユニット（以下、制御対象と称する）に対する制御を実行するものであり、入力回路と、マイクロコンピュータ（以下、マイコンと称する）とを備えて構成されている。入力回路には、入力ラインを介して二つの測定装置が接続されている。マイコンは、入力回路を介して、測定装置からの信号が入力信号として供給される。そして、マイコンは、プログラム構成に関して二つのレベルに分割されている。第１のレベル（以下、メイン演算部と称する）は、制御対象に対する制御を実行するためのプログラムがまとめられている。第２のレベル（以下、冗長演算部と称する）は、制御機能の機能モニタリングの働きをするプログラムがまとめられている。つまり、一つのマイコンによって、駆動ユニットの出力に対する制御機能、及びこの制御機能のモニタリングを実行することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表平１１−５０５５８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上述のように、メイン演算部が実行するメイン演算に加えて、冗長演算部が冗長演算を実行する場合、冗長演算とメイン演算とを切り分けて行う必要がある。
【０００５】
また、上記マイコンでは、二つの測定装置からの入力信号が、メイン演算部に供給されると共に、冗長演算部にも供給される。従って、メイン演算部は、この二つの入力信号を用いて、入力信号が正常であるか否かの入力保証のための演算（以下、ダイアグ演算と称する）を行うことが考えられる。この場合、上述のように、冗長演算とメイン演算とを切り分けて行う必要があるため、冗長演算部に関しても、メイン演算部と同様にダイアグ演算を行うことになる。さらに、冗長演算部がダイアグ演算時に用いる記憶領域やプログラムが必要となる。従って、マイコンは、冗長演算部がダイアグ演算を行うことによって、マイコン自身の処理負荷が増えるだけでなく記憶領域も増えることになる。
【０００６】
本発明は、上記問題点に鑑みなされたものであり、処理負荷及び記憶領域の増加を抑制することができる制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために本発明は、
入力された入力信号を用いて、制御対象（５００，５１０）に対する制御信号を生成するための制御演算を実行する制御装置（２００，２１０）であって、
記憶部（３０）と、複数の入力信号が入力され制御演算を実行するメイン演算部（４０，６０）と、複数の入力信号が入力され冗長演算を実行する冗長演算部（５０，７０）と、を備え、
メイン演算部は、
記憶部を用いつつ、複数の入力信号が正常であるか否かの入力保証を行うための保証演算を実行する入力保証演算部（４１，６１）と、
入力保証演算部にて正常であることが保証された入力信号を用いて制御演算を実行する第１演算部（４２，４３，６２）と、を有し、
冗長演算部は、
複数の入力信号を互いに比較して、複数の入力信号から一つの入力信号を選択する比較選択部（５１，７１）と、
比較選択部にて選択された入力信号を用いて、冗長演算を実行する第２演算部（５２，５３，７２）と、を有することを特徴とする。
【０００８】
このように、本発明は、メイン演算部に加えて、冗長演算部を備えている。そして、メイン演算部は、入力保証演算部によって保証演算を行う。このため、第１演算部は、正常であると保証された入力信号を用いて制御演算を実行することができる。
【０００９】
これに対して、冗長演算部は、比較選択部によって、複数の入力信号を互いに比較して、複数の入力信号から一つの入力信号を選択する。そして、第２演算部は、比較選択部にて選択された入力信号を用いて冗長演算を実行する。このように、冗長演算部は、複数の入力信号を互いに比較して、複数の入力信号から一つの入力信号を選択するだけなので、入力保証演算部のように記憶部を用いる必要がない。従って、本発明は、処理負荷及び記憶領域の増加を抑制することができる。
【００１０】
なお、特許請求の範囲およびこの項に記載した括弧内の符号は、ひとつの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、発明の技術的範囲を限定するものではない。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態における制御装置の概略構成を示すブロック図である。
【図２】第２実施形態における制御装置の概略構成を示すブロック図である。
【図３】第２実施形態における制御装置の処理動作を示すフローチャートである。
【図４】メイン演算部が正常であう場合のタイムチャートである。
【図５】メイン演算部が異常である場合のタイムチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を図に基づいて説明する。
【００１３】
（第１実施形態）
まず、図１に基づいて、第１実施形態におけるＥＣＵ２００を説明する。本実施形態では、本発明をＥＣＵ２００に適用した例を採用している。なお、ＥＣＵは、Electronic Control Unitの略である。
【００１４】
ＥＣＵ２００は、主構成要素としてマイコン１００を備えている。また、ＥＣＵ２００は、第１センサ３００、第２センサ４００、及びアクチュエータ５００が電気的に接続されている。ＥＣＵ２００は、第１センサ３００の検出結果を示す信号、及び第２センサ４００の検出結果を示す信号が入力される。このように、ＥＣＵ２００は、複数の信号（入力信号）が入力されることになる。
【００１５】
そして、ＥＣＵ２００は、第１センサ３００及び第２センサ４００から出力された複数の信号（入力信号）を用いて、制御対象であるアクチュエータ５００に対する制御信号を生成するための制御演算を実行する。言い換えると、ＥＣＵ２００は、入力された入力信号に基づいた制御信号を生成する。つまり、ＥＣＵ２００は、アクチュエータ５００を制御する装置と言い換えることができる。よって、制御信号は、アクチュエータ５００を制御するための信号である。
【００１６】
また、ＥＣＵ２００に入力される複数の入力信号は、第１センサ３００の検出結果を示す信号、及び第２センサ４００の検出結果を示す信号（この場合、センサ値）である。第１センサ３００、第２センサ４００、及びアクチュエータ５００は、特に限定されない。但し、第１センサ３００と第２センサ４００とは、検出対象が同一であり、ＥＣＵ２００がアクチュエータ５００を制御するための信号を出力する。また、第１センサ３００と第２センサ４００とは、ＥＣＵ２００がアクチュエータ５００を制御するための信号であり、互いに相関関係にある信号を出力するセンサであっても採用できる。
【００１７】
また、本実施形態では、ＥＣＵ２００として、第１センサ３００及び第２センサ４００が接続されており、この第１センサ３００及び第２センサ４００から入力された入力信号を用いて制御演算を実行する例を採用した。しかしながら、本発明はこれに限定されない。ＥＣＵ２００は、ＣＡＮバスなどの通信線が接続されており、通信線から入力された入力信号を用いて制御演算を実行するものであっても採用できる。つまり、ＥＣＵ２００は、他のＥＣＵから出力され、通信線を介して入力された信号を用いて制御演算を実行するものであっても採用できる。さらに、ＥＣＵ２００は、スイッチが接続されており、スイッチから入力された入力信号を用いて制御演算を実行するものであっても採用できる。
【００１８】
このように、ＥＣＵ２００に入力される入力信号を出力する複数の入力機器は、センサ（３００や４００など）や、スイッチや、ＥＣＵなどを採用できる。よって、ＥＣＵ２００に入力される複数の入力信号は、各入力機器が出力する同じ信号であってもよいし、各入力機器が出力する互いに相関関係にある信号であってもよい。また、このように、各入力機器が出力する信号は、同じであるか、互いに相関関係にあるものの、各入力機器やＥＣＵ２００までの経路などに異常が生じている場合、ＥＣＵ２００には異なった信号として入力されることもある。さらに、ＥＣＵ２００は、各入力機器やＥＣＵ２００までの経路などが正常である場合、複数の入力信号のうちのどの入力信号を用いて制御演算を行っても、同じ制御信号を生成することができる。
【００１９】
さらに、本実施形態では、ＥＣＵ２００に二つの入力信号が入力される例を採用している。しかしながら、本発明はこれに限定されない。ＥＣＵ２００には、三つ以上の入力信号が入力されてもよい。
【００２０】
マイコン１００は、主に、ＡＤＣ１０、ＣＰＵ、ＲＯＭ、ＲＡＭ、レジスタなどを備えて構成されている。マイコン１００は、ＣＰＵが入力信号やＲＯＭに記憶されたプログラムに基づいて、ＲＡＭ及びレジスタを一時的に記憶領域として用いつつ各種演算処理を実行する。ＣＰＵは、演算処理として、上記制御演算に加えて、後ほど説明する冗長演算、ダイアグ演算などを実行する。また、マイコン１００は、ダイアグ演算時のように記憶領域を用いることなく、複数の入力信号を比較して、複数の入力信号から一つの入力信号を選択する比較選択処理を実行する。
【００２１】
なお、ＡＤＣは、analog to digital converterの略である。ＣＰＵは、Central Processing Unitの略である。ＲＯＭは、Read Only Memoryの略である。ＲＡＭは、Random AccessMemoryの略である。
【００２２】
このように構成されたマイコン１００は、図１に示すように、機能ブロックとして、比較部２０、記憶部３０、メイン演算部４０、冗長演算部５０とを備えて構成されている。さらに、メイン演算部４０は、ダイアグ演算部４１、第１制御演算部４２、第２制御演算部４３を備えて構成されている。また、冗長演算部５０は、比較選択部５１、第１制御演算部５２、第２制御演算部５３を備えて構成されている。
【００２３】
例えば、マイコン１００が二つのＣＰＵを備えている場合、一方のＣＰＵをメイン演算部４０とし、他方のＣＰＵを冗長演算部５０とすることができる。また、マイコン１００がマルチコアタイプのＣＰＵを備えている場合、一つのコアをメイン演算部４０とし、他のコアのうちの一つのコアを冗長演算部５０とすることができる。
【００２４】
マイコン１００のＡＤＣ１０には、第１センサ３００からの信号及び第２センサ４００からの信号が入力される。ＡＤＣ１０は、アナログ信号である第１センサ３００からの信号をデジタル信号に変換してメイン演算部４０及び冗長演算部５０に出力する。同様に、ＡＤＣ１０は、アナログ信号である第２センサ４００からの信号をデジタル信号に変換してメイン演算部４０及び冗長演算部５０に出力する。よって、メイン演算部４０及び冗長演算部５０は、デジタル変換された入力信号が入力される。なお、以下の説明においては、第１センサ３００の検出結果を示す信号を第１信号、第２センサ４００の検出結果を示す信号を第２信号とも称する。
【００２５】
また、記憶部３０は、上記ＲＯＭ、ＲＡＭ、レジスタなどによって構成されている。記憶部３０の一部（例えばＲＯＭ）には、メイン演算部４０用のプログラム、及び冗長演算部５０用のプログラムが記憶されている。また、メイン演算部４０及び冗長演算部５０は、演算処理を実行する際に、記憶部３０の一部（例えばＲＡＭやレジスタ）を用いる。
【００２６】
なお、メイン演算部４０が用いる記憶領域（記憶部３０の一部）と、冗長演算部５０が用いる記憶領域（記憶部３０の一部）とは、別々に設けられていてもよい。言い換えると、メイン演算部４０が用いる記憶部と、冗長演算部５０が用いる記憶部とは、切り分けられていてもよい。
【００２７】
また、メイン演算部４０が実行するプログラムと、冗長演算部５０が実行するプログラムとは、別々に設けられている。言い換えると、メイン演算部４０が実行するプログラムと、冗長演算部５０が実行するプログラムとは、切り分けられている。
【００２８】
また、マイコン１００は、ＲＯＭ、ＲＡＭ、レジスタからなる記憶領域（記憶部３０）を一つのアドレス空間として一括管理してもよい。この場合、メイン演算部４０が用いる記憶領域と、冗長演算部５０が用いる記憶領域とは、上記アドレス空間の一部とすることができる。
【００２９】
ここで、メイン演算部４０に関して説明する。メイン演算部４０は、ＡＤＣ１０によってデジタル変換された複数の入力信号が入力される。ダイアグ演算部４１は、本発明の特許請求の範囲における入力保証演算部に相当し、記憶部３０を用いつつ、複数の入力信号が正常であるか否かの入力保証を行うための保証演算（ダイアグ演算）を実行する。本実施形態でのダイアグ演算部４１は、第１信号と第２信号の保証演算を実行する。
【００３０】
また、ダイアグ演算部４１は、複数の入力信号のうち、正常であると保証した入力信号を第１制御演算部４２及び第２制御演算部４３に出力する。また、ダイアグ演算部４１は、全ての入力信号が異常であるとみなした場合、固定値（デフォルト値）を第１制御演算部４２及び第２制御演算部４３に出力する。
【００３１】
なお、ダイアグ演算部４１は、複数の入力信号が正常であると保証した場合は、複数の入力信号のいずれか一つの入力信号を第１制御演算部４２及び第２制御演算部４３に出力する。このように複数の入力信号が正常であった場合、ダイアグ演算部４１は、予め決められたメインの入力機器から出力された信号（入力信号）を、第１制御演算部４２及び第２制御演算部４３に出力する。例えば、第１センサ３００をメインの入力機器、第２センサ４００をサブの入力機器と予め決めておく。この場合、ダイアグ演算部４１は、第１信号と第２信号が共に正常であると保証すると、第１信号を第１制御演算部４２及び第２制御演算部４３に出力する。
【００３２】
ここで、ダイアグ演算部４１が行う保証演算の一例を説明する。例えば、ダイアグ演算部４１は、第１信号及び第２信号の夫々が、各センサの特性上起こり得ない高い電圧や低い電圧であるか否かによって、各入力信号が正常であるか否かの入力保証を行う。つまり、ダイアグ演算部４１は、第１信号を絶対値と比較すると共に、第２信号を絶対値と比較することで入力保証を行う。よって。ダイアグ演算部４１は、各入力信号と絶対値とを比較する保証演算を実行する、と言い換えることができる。
【００３３】
ここでの絶対値とは、高い電圧側の閾値電圧である第１閾値、及び低い電圧側の閾値電圧である第２閾値を示す。この第１閾値及び第２閾値は、記憶部３０に記憶させておく必要がある。よって、ダイアグ演算部４１は、保証演算を実行する場合、第１閾値及び第２閾値を記憶部３０から読み出して、第１信号を第１閾値及び第２閾値と比較すると共に、第２信号を第１閾値及び第２閾値と比較する。そして、ダイアグ演算部４１は、第１信号が第１閾値よりも高い場合、第１信号が第２閾値よりも低い場合、第２信号が第１閾値よりも高い場合、第２信号が第２閾値よりも低い場合に異常であると検出する（異常とみなす、異常と判定する）。この異常は、Ｈｉ−Ｌｏｗ異常と称することもできる。つまり、ダイアグ演算部４１は、第１閾値よりも低く且つ第２閾値よりも高い入力信号を正常であると検出する（正常とみなす、正常と判定する、正常であると保証する）。
【００３４】
また、ダイアグ演算部４１は、第１信号及び第２信号の夫々が、一定時間以上継続したか否かによって、各入力信号が正常であるか否かの入力保証を行ってもよい。つまり、ダイアグ演算部４１は、第１信号（言い換えると、第１信号を示す電圧値）が同じ値で継続している時間を計測することで入力保証を行う。同様に、ダイアグ演算部４１は、第２信号（言い換えると、第２信号を示す電圧値）が同じ値で継続している時間を計測することで入力保証を行う。よって、ダイアグ演算部４１は、入力信号の夫々が同じ値である継続時間を計測する保証演算を実行する、と言い換えることができる。
【００３５】
そして、ダイアグ演算部４１は、第１信号が同じ値で一定時間以上継続した場合に異常であると検出する。同様に、ダイアグ演算部４１は、第２信号が同じ値で一定時間以上継続した場合に異常であると検出する。なお、ダイアグ演算部４１は、同じ値で一定時間以上継続していない入力信号を正常であると検出する。この異常は、固着異常と称することもできる。
【００３６】
また、ダイアグ演算部４１は、第１信号及び第２信号の夫々が、類似センサ（図示）の検出値と電圧差が発生したか否かによって、各入力信号が正常であるか否かの入力保証を行ってもよい。言い換えると、ダイアグ演算部４１は、特性異常検出を行ってもよい。つまり、ダイアグ演算部４１は、第１信号を類似センサの検出値と比較すると共に、第２信号を類似センサの検出値と比較することで入力保証を行う。よって、ダイアグ演算部４１は、各入力信号と他の検出値とを比較する保証演算を実行する、と言い換えることができる。詳述すると、ダイアグ演算部４１は、特性異常検出を行う際には単純比較ではなく、所定値以上の電圧差が一定時間継続することを検出する。そのため、ダイアグ演算部４１は、センサ間の検出値の差分を取り、差分と所定値との比較を行い、継続時間を計測する必要がある。従って、ダイアグ演算部４１は、単純比較する場合よりも、特性異常検出を行う場合の方が処理が増える。
【００３７】
なお、類似センサとは、第１センサ３００や第２センサ４００と同様の検出結果（検出値）を出力するセンサである。よって、第１信号と比較される検出値を出力する類似センサは、第１センサ３００と同様の検出結果を出力するセンサである。同様に、第２信号と比較される検出値を出力する類似センサは、第２センサ４００と同様の検出結果を出力するセンサである。
【００３８】
類似センサの検出値は、記憶部３０に記憶させておく必要がある。よって、ダイアグ演算部４１は、保証演算を実行する場合、検出値を記憶部３０から読み出して、第１信号を検出値と比較すると共に、第２信号を検出値と比較する。そして、ダイアグ演算部４１は、第１信号と検出値とが異なる場合（電圧差がある場合）、第２信号と検出値とが異なる場合に、異常であると検出する。この異常は、特性異常と称することもできる。つまり、ダイアグ演算部４１は、検出値と同じ入力信号を正常であると検出する。なお、ダイアグ演算部４１は、検出値と入力信号とが完全に一致していなくても、一定範囲の違いであれば同じとみなすようにしてもよい。
【００３９】
また、ダイアグ演算部４１は、特性異常検出を行う際には、第１信号と比較する類似センサの検出値として第２信号を採用することもできる。つまり、ダイアグ演算部４１は、第１信号と第２信号とを用いて上記特性異常検出を行うこともできる。
【００４０】
第１制御演算部４２及び第２制御演算部４３は、本発明の特許請求の範囲における第１演算部に相当し、記憶部３０を用いつつ、ダイアグ演算部４１にて正常であることが保証された入力信号を用いて上記制御演算を実行する。また、ＥＣＵ２００は、第１センサ３００から入力された入力信号、及び第２センサ４００から入力された入力信号がいずれも正常であると保証された場合、二つの入力信号のいずれか一つを用いて制御演算を実行する。このように、第１制御演算部４２及び第２制御演算部４３は、第１センサ３００から入力された信号、及び第２センサ４００から入力された信号が共に正常である場合、どちらの入力信号であっても制御演算に用いることができる。さらに、第１制御演算部４２及び第２制御演算部４３は、ダイアグ演算部４１にて複数の入力信号が異常であるとみなされた場合は、固定値を用いて制御演算を実行する（フェールセーフ処置）。なお、ＥＣＵ２００は、入力信号として三つ以上の信号が入力される場合であり、且つ、三つの入力信号が全て正常であると保証された場合、三つの入力信号のいずれか一つを用いて制御演算を実行する。
【００４１】
本実施形態では、第１演算部として、第１制御演算部４２及び第２制御演算部４３を備えたメイン演算部４０を採用した。しかしながら、本発明はこれに限定されない。メイン演算部４０は、第１制御演算部４２及び第２制御演算部４３のいずれか一方を有していれば採用できる。つまり、メイン演算部４０は、制御演算を実行する演算部（第１演算部）を少なくとも一つ備えていれば採用できる。よって、メイン演算部４０は、制御演算を実行する演算部（第１演算部）を三つ以上備えていてもよい。
【００４２】
次に、冗長演算部５０に関して説明する。冗長演算部５０は、メイン演算部４０と同様に、ＡＤＣ１０によってデジタル変換された複数の入力信号が入力される。比較選択部５１は、複数の入力信号を互いに比較して、複数の入力信号から一つの入力信号を選択する（比較選択処理）。よって、比較選択部５１は、複数の入力信号を互いに比較して、複数の入力信号から一つの入力信号を出力する回路を採用することができる。なお、この比較とは、複数の入力信号の大小比較である。また、複数の入力信号から一つの入力信号を選択するとは、複数の入力信号から一つの入力信号を選択して出力する、と言い換えることもできる。
【００４３】
本実施形態での比較選択部５１は、第１信号と第２信号とを比較して、第１信号と第２信号の一方の入力信号を選択する。つまり、比較選択部５１は、第１信号と第２信号から、後ほど説明する第１制御演算部５２及び第２制御演算部５３が演算に用いる一つの入力信号を選択する。なお、比較選択部５１は、入力信号として三つ以上の信号が入力される場合は、三つの入力信号からいずれか一つの入力信号を選択する。なお、比較選択部５１は、比較部２０における検出において、メイン演算部４０の異常が最も未検出となりにくい入力信号を選択する。
【００４４】
このように、比較選択部５１は、第１信号と第２信号とを相対的に比較して、一方の入力信号を選択する。よって、比較選択部５１は、上記ダイアグ演算部４１のように記憶領域を用いることなく、一つの入力信号を選択することができる。つまり、比較選択部５１は、冗長演算部５０が演算処理を実行する際に用いる記憶部３０を用いることなく、一つの入力信号を選択することができる。また、比較選択部５１は、第１信号と第２信号とを相対的に比較するだけなので、ダイアグ演算部４１よりも処理負荷を軽減できる。
【００４５】
第１制御演算部５２及び第２制御演算部５３は、本発明の特許請求の範囲における第２演算部に相当し、記憶部３０を用いつつ、比較選択部５１にて選択された入力信号を用いて冗長演算を実行する。詳述すると、第１制御演算部５２及び第２制御演算部５３は、冗長演算を実行することで、メイン演算部４０が正常に動作しているか否かを監視するための冗長信号を生成する。よって、第１制御演算部５２及び第２制御演算部５３は、冗長演算として、第１制御演算部４２及び第２制御演算部４３が実行する制御演算と同様の演算を実行する。但し、第１制御演算部５２及び第２制御演算部５３は、冗長演算として、第１制御演算部４２及び第２制御演算部４３が実行する制御演算よりも簡易的な演算を実行するものであってもよい。当然ながら、第１制御演算部５２及び第２制御演算部５３は、第１制御演算部４２及び第２制御演算部４３が実行する制御演算よりも簡易的であり、且つ、第１制御演算部４２及び第２制御演算部４３が実行する制御演算に相関する演算を実行する。
【００４６】
このように、冗長演算部５０は、メイン演算部４０が正常に動作しているか否かを監視するための冗長信号を生成するものであるため、監視部と言い換えることもできる。なお、この冗長信号は、メイン演算部４０が正常に動作していない場合、制御信号の代替信号として用いることもできる。
【００４７】
本実施形態では、第２演算部として、第１制御演算部５２及び第２制御演算部５３を備えた冗長演算部５０を採用した。しかしながら、本発明はこれに限定されない。冗長演算部５０は、第１制御演算部５２及び第２制御演算部５３のいずれか一方を有していれば採用できる。つまり、冗長演算部５０は、冗長演算を実行する演算部（第２演算部）を少なくとも一つ備えていれば採用できる。よって、冗長演算部５０は、冗長演算を実行する演算部（第２演算部）を三つ以上備えていてもよい。
【００４８】
比較部２０は、メイン演算部４０における制御演算の演算結果と、冗長演算部５０における冗長演算の演算結果とが入力される。つまり、比較部２０は、制御信号と冗長信号とが入力される。比較部２０は、制御信号と冗長信号とを比較して、メイン演算部４０の異常を検出する。比較部２０は、制御信号が冗長信号よりも所定値以上大きい場合にメイン演算部４０は異常であると判定し、制御信号が冗長信号よりも大きくない場合にメイン演算部４０は正常であると判定する。このようにして、ＥＣＵ２００は、メイン演算部４０が異常であるか否かを検出することができる。なお、ここでは、冗長演算部５０は正常に動作しているものとする。
【００４９】
また、比較部２０によってメイン演算部４０が正常であると判定された場合、メイン演算部４０から制御信号がアクチュエータ５００に出力される。言い換えると、比較部２０は、メイン演算部４０が正常であると判定した場合、メイン演算部４０から出力された制御信号をアクチュエータ５００に出力可能とする。
【００５０】
しかしながら、比較部２０は、メイン演算部４０が異常であると判定した場合、アクチュエータ５００を停止させたり、フェールセーフを実行したりする。例えば、比較部２０は、メイン演算部４０が出力した制御信号のかわりに、予め決められた固定値をアクチュエータ５００に出力する。また、比較部２０は、メイン演算部４０が出力した制御信号のかわりに、冗長演算部５０が出力した冗長信号をアクチュエータ５００に出力してもよい。
【００５１】
このように、ＥＣＵ２００は、メイン演算部４０に加えて、冗長演算部５０を備えている。そして、メイン演算部４０は、ダイアグ演算部４１によって保証演算を行う。このため、第１制御演算部４２及び第２制御演算部４３は、第１信号及び第２信号のうち、正常であると保証された入力信号を用いて制御演算を実行することができる。
【００５２】
これに対して、冗長演算部５０は、比較選択部５１によって、第１信号及び第２信号を互いに大小比較して、第１信号及び第２信号から一つの入力信号を選択する。そして、第１制御演算部５２及び第２制御演算部５３は、比較選択部５１にて選択された入力信号を用いて冗長演算を実行する。このように、冗長演算部５１は、二つの入力信号を互いに比較して、二つの入力信号から一つの入力信号を選択するだけなので、ダイアグ演算部４１のように記憶部３０を用いる必要がない。従って、ＥＣＵ２００は、処理負荷及び記憶領域（ＲＯＭやＲＡＭなどのリソーセス）の増加を抑制することができる。つまり、ＥＣＵ２００は、冗長演算部５０が、メイン演算部４０に設けられたダイアグ演算部４１と同様のダイアグ演算部を有している場合よりも、処理負荷及び記憶領域の増加を抑制することができる。
【００５３】
また、冗長演算部５０は、二つの入力信号を互いに比較して、二つの入力信号から一つの入力信号を選択するだけである。よって、冗長演算部５０が実行するプログラは、メイン演算部４０が実行するプログラムよりも簡素化することができる。つまり、冗長演算部５０が実行するプログラは、メイン演算部４０が実行するプログラムよりも容量を小さく（少なく）することができる。従って、ＥＣＵ２００は、冗長演算部５０がメイン演算部４０に設けられたダイアグ演算部４１と同様のダイアグ演算部を有している場合よりも、記憶部３０における記憶領域（例えば記憶部３０のＲＯＭ）の増加を抑制できる。
【００５４】
なお、ＥＣＵ２００は、特許文献１の第３のレベルのテストを実施するようにしてもよい。つまり、ＥＣＵ２００は、冗長演算部５０が正常に動作しているか否かのテストを実施してもよい。この第３のレベルに関しては、特許文献１を参照されたい。
【００５５】
この場合、冗長演算部５０は、特許文献１の第３のレベルが行うテストの対象範囲となる。しかしながら、冗長演算部５０は、メイン演算部４０よりも処理負荷が小さいの。よって、このため、ＥＣＵ２００は、特許文献１の第３のレベルのテストを実施する場合、第３のレベルが行うテストの処理を低減できる。
【００５６】
以上、本発明の好ましい実施形態について説明した。しかしながら、本発明は、上述した実施形態に何ら制限されることはなく、本発明の趣旨を逸脱しない範囲において、種々の変形が可能である。
【００５７】
（第２実施形態）
次に、図２〜図５に基づいて、第２実施形態におけるＥＣＵ２１０を説明する。本実施形態では、本発明をＥＣＵ２１０に適用した例を採用している。なお、ＥＣＵ２１０は、車両に設けられており、第１アクセルセンサ３１０又は第２アクセルセンサ４１０から出力された信号を用いて、エンジンのトルク値を算出するためのトルク演算を実行する制御装置である。つまり、トルク値は、ＥＣＵ２００における制御信号に相当し、トルク演算は、ＥＣＵ２００における制御演算に相当する。
【００５８】
なお、ＥＣＵ２１０は、ＥＣＵ２００と同様の箇所が多いので、ＥＣＵ２００と同様の箇所に関する説明は省略する。ここでは、ＥＣＵ２１０において、ＥＣＵ２００と異なる点を重点的に説明する。また、ＥＣＵ２１０において、ＥＣＵ２００と同様の箇所には、同じ符号を付与する。
【００５９】
まず、図２を用いて、ＥＣＵ２１０の構成を説明する。ＥＣＵ２１０は、主構成要素としてマイコン１１０を備えている。また、ＥＣＵ２１０は、第１アクセルセンサ３１０、第２アクセルセンサ４１０、及びアクチュエータ５１０が電気的に接続されている。ＥＣＵ２１０は、第１アクセルセンサ３１０の検出結果を示す信号、及び第２アクセルセンサ４１０の検出結果を示す信号が入力される。このように、ＥＣＵ２１０は、複数の信号（入力信号）が入力されることになる。
【００６０】
第１アクセルセンサ３１０は、ＥＣＵ２００に接続されている第１センサ３００に相当する。同様に、第２アクセルセンサ４１０は、ＥＣＵ２００に接続されている第２センサ４００に相当する。第１アクセルセンサ３１０及び第２アクセルセンサ４１０の夫々は、車両に設けられたアクセルの踏み込み量（言い換えると、アクセル開度）を検出し、この踏み込み量に応じた信号を出力する。よって、ＥＣＵ２１０は、入力信号として、踏み込み量に応じた信号が入力されることになる。そして、ＥＣＵ２１０は、入力された入力信号を用いて、アクチュエータ５１０に対するトルク値を生成するためのトルク演算を実行する。
【００６１】
なお、第１アクセルセンサ３１０及び第２アクセルセンサ４１０は、アクセル開度が大きくなるに連れて、ＥＣＵ２１０への入力電圧（入力信号）が大きくなるものとする。つまり、ＥＣＵ２１０によって制御されるアクチュエータ５１０は、ＥＣＵ２１０への入力電圧が低くなるに連れてトルクが減少する。よって、ＥＣＵ２１０が搭載されている車両は、ＥＣＵ２１０への入力電圧が低くなるに連れて車両速度は減速することとなる。本実施形態では、第１アクセルセンサ３１０の検出結果を示す信号を第１信号、第２アクセルセンサ４１０の検出結果を示す信号を第２信号とも称する。
【００６２】
マイコン１１０は、図２に示すように、機能ブロックとして、比較部２０、記憶部３０、メイン演算部６０、冗長演算部７０とを備えて構成されている。さらに、メイン演算部６０は、ダイアグ演算部６１、トルク演算部６２を備えて構成されている。また、冗長演算部７０は、比較選択部７１、トルク演算部７２を備えて構成されている。
【００６３】
メイン演算部６０は、ＥＣＵ２００のメイン演算部４０に相当する。よって、メイン演算部６０は、ＥＣＵ２００のダイアグ演算部４１に相当するダイアグ演算部６１と、ＥＣＵ２００の第１制御演算部４２及び第２制御演算部４３に相当するトルク演算部６２とを有している。このトルク演算部６２は、ダイアグ演算部６１にて正常であることが保証された入力信号を用いて上記トルク演算を実行する。
【００６４】
冗長演算部７０は、ＥＣＵ２００の冗長演算部５０に相当する。よって、冗長演算部７０は、ＥＣＵ２００の比較選択部５１に相当する比較選択部７１と、ＥＣＵ２００の第１制御演算部５２及び第２制御演算部５３に相当するトルク演算部７２とを有している。このトルク演算部７２は、比較選択部７１にて選択された入力信号を用いて冗長演算を実行する。なお、トルク演算部７２は、冗長演算として、トルク演算部６２が実行するトルク演算と同様の演算を実行する。但し、トルク演算部７２は、冗長演算として、トルク演算部６２が実行するトルク演算よりも簡易的なトルク演算を実行するものであってもよい。
【００６５】
ここで、図３を用いて、ＥＣＵ２１０の処理動作に関して説明する。ＥＣＵ２１０は、所定時間毎に、図３のフローチャートに示す処理を実行する。なお、ステップＳ１０〜Ｓ１３は、メイン演算部６０が実行する処理である。ステップＳ１４〜Ｓ１７は、冗長演算部７０が実行する処理である。そして、ステップＳ１８〜２１は、比較部２０が実行する処理である。また、ここでは、メイン演算部６０の処理の後に、冗長演算部７０の処理を行う例を採用している。しかしながら、本発明はこれに限定されない。本発明は、冗長演算部７０の処理の後に、メイン演算部６０の処理を行ってもよいし、冗長演算部７０の処理とメイン演算部６０の処理とを並行して行ってもよい。
【００６６】
ステップＳ１０では、ダイアグ演算部６１は、上述のようにダイアグ演算を行う。ステップＳ１１では、ダイアグ演算部６１は、異常があるか否かを判定する。そして、ダイアグ演算部６１は、正常であると判定した場合はステップＳ１２へ進み、異常があると判定した場合はステップＳ１３へ進む。
【００６７】
なお、ダイアグ演算部６１は、異常があると判定した場合は、フラグを立てることで、第１信号及び第２信号の少なくとも一方が異常であることを示すようにしてもよい。このフラグは、センサダイアグフラグと称することもできる。例えば、図４のタイムチャートに示すように、タイミングｔ１でセンサ異常が発生した場合、ダイアグ演算部６１は、タイミングｔ２で異常があると判定することができる。そして、ダイアグ演算部６１は、タイミングｔ２でセンサダイアグフラグを立てる。このセンサダイアグフラグは、ＥＣＵ２００においても採用できる。
【００６８】
ステップＳ１２では、トルク演算部６２は、メイントルク演算を実行する。つまり、トルク演算部６２は、ダイアグ演算部６１にて正常であることが保証された入力信号を用いてトルク演算を実行する。一方、ステップＳ１３では、トルク演算部６２は、センサ異常と判定すると共に、固定値を用いて制御演算を実行する（フェールセーフ処置）。
【００６９】
ステップＳ１４では、比較選択部７１は、第１信号と第２信号とを比較する。つまり、比較選択部７１は、第１信号が示す電圧値と、第２信号が示す電圧値との大小を比較する。そして、ステップＳ１５では、比較選択部７１は、第１信号が第２信号よりも小さいと判定した場合はステップＳ１６へ進み、第２信号が第１信号よりも小さいと判定した場合はステップＳ１７へ進む。
【００７０】
言い換えると、比較選択部７１は、第１信号が第２信号よりも小さいと判定した場合、比較部２０における検出において、メイン演算部６０の異常が最も未検出となりにくい入力信号として第１信号を選択する。つまり、比較選択部７１は、第１信号が第２信号よりも小さいと判定した場合、第２信号よりも第１信号の方が、比較部２０における検出において、メイン演算部６０の異常が未検出となりにくい入力信号とみなす。
【００７１】
同様に、比較選択部７１は、第２信号が第１信号よりも小さいと判定した場合、比較部２０における検出において、メイン演算部６０の異常が最も未検出となりにくい入力信号として第２信号を選択する、と言い換えることができる。つまり、比較選択部７１は、第２信号が第１信号よりも小さいと判定した場合、第１信号よりも第２信号の方が、比較部２０における検出において、メイン演算部６０の異常が未検出となりにくい入力信号とみなす。このようにすることで、本実施形態では、第１信号と第２信号のうち、アクセルペダル開度が小さい方の信号を選択することになる。従って、本実施形態では、第１信号と第２信号のうち、トルク演算部７２にて算出されるトルク値が小さくなる方の信号を選択することになる。
【００７２】
ステップＳ１６では、トルク演算部７２は、第１信号を用いてトルク演算（冗長演算）を実行する。一方、ステップＳ１７では、トルク演算部７２は、第２信号を用いてトルク演算（冗長演算）を実行する。
【００７３】
ステップＳ１８では、比較部２０は、トルク比較を行う。つまり、比較部２０は、メイン演算部６０のトルク演算部６２が行ったトルク演算の結果と、冗長演算部７０のトルク演算部７２が行ったトルク演算の結果とを比較する。よって、比較部２０は、トルク演算部６２が行ったトルク演算の結果が示す電圧値と、トルク演算部７２が行ったトルク演算の結果が示す電圧値とを比較することになる。
【００７４】
ステップＳ１９では、比較部２０は、メイン演算結果が冗長演算結果よりも大きいか否かを判定する。つまり、比較部２０は、トルク演算部６２が行ったトルク演算の結果が示す電圧値が、トルク演算部７２が行ったトルク演算の結果が示す電圧値よりも大きいか否かを判定する。そして、比較部２０は、メイン演算結果が冗長演算結果よりも大きいと判定した場合はステップＳ２０へ進み、メイン演算結果が冗長演算結果よりも大きくないと判定した場合はステップＳ２１へ進む。
【００７５】
なお、トルク演算部６２が行ったトルク演算の結果が示す電圧値は、制御信号に相当するトルク値である。一方、トルク演算部７２が行ったトルク演算の結果が示す電圧値は、冗長信号に相当するトルク値である。また、これらのトルク値は、アクチュエータ５１０を制御する際の目標トルク値である。さらに、これらのトルク値は、アクチュエータ５１０の制御に必要な目標トルク値、と言い換えることもできる。
【００７６】
ステップＳ２１では、比較部２０は、メイン演算部６０から出力された制御信号をアクチュエータ５１０に出力する。つまり、比較部２０は、メイン演算結果が冗長演算結果よりも大きくないと判定した場合はメイン演算部６０が正常であるとみなす。そして、比較部２０は、メイン演算部６０から出力された制御信号をアクチュエータ５１０に出力可能とする。
【００７７】
ステップＳ２０では、比較部２０は、演算異常と判定すると共に、フェールセーフ処置を行う。つまり、比較部２０は、メイン演算結果が冗長演算結果よりも大きいと判定した場合はメイン演算部６０の異常（演算異常）とみなす。例えば、メイン演算部６０にて記憶部３０の異常などが生じた場合に、演算異常となることがある。なお、記憶部３０の異常とは、演算ＲＡＭ異常などをあげることができる。
【００７８】
なお、比較部２０は、異常とみなした場合、フラグを立てることで、メイン演算部６０の演算異常であることを示すようにしてもよい。このフラグは、演算異常フラグと称することもできる。また、この演算異常フラグは、ＥＣＵ２００においても採用できる。
【００７９】
例えば、図５のタイムチャートに示すように、メイン演算部６０に異常が生じている場合、タイミングｔ１でセンサ異常が発生したとしても、ダイアグ演算部６１は、タイミングｔ２で異常があると判定できない。この場合、トルク演算部６２は、図５のタイミングｔ２からｔ３の間に示されているように、第１信号をメインセンサとして扱う場合、第１信号を用いて、トルク演算を行うことが考えられる。つまり、メイン演算部６０は、ダイアグ演算部６１がタイミングｔ２で異常と判定できないため、トルク演算部６２によるトルク演算の結果が大きくなってしまう。一方、トルク演算部７２は、第２信号を用いてトルク演算を行うことになる。
【００８０】
よって、図５のタイミングｔ２からｔ３の間に示されているように、メイン演算結果が冗長演算結果よりも大きくなる。このため、比較部２０は、メイン演算結果と冗長演算結果を比較して、メイン演算結果が冗長演算結果よりも大きいと判定し、メイン演算部６０の異常とみなす。そして、比較部２０は、タイミングｔ３で演算異常フラグを立てる。このように、ＥＣＵ２１０は、メイン演算部６０が異常であり、且つ、冗長演算部７０がダイアグ演算を行わなくても、比較選択部７１が簡易的な大小比較を行うことで、メイン演算部６０の異常を検出することができる。なお、ダイアグ演算部６１による入力信号の異常判定と、比較部２０によるメイン演算部６０の異常判定とを切り分ける際には、図４，５のタイムチャートに示すように、メイン演算部を先に確定させることが必要である。
【００８１】
そして、比較部２０は、メイン演算部６０が異常であると判定した場合、例えば、比較部２０は、メイン演算部６０が出力した制御信号のかわりに、予め決められた固定値をアクチュエータ５１０に出力する。また、比較部２０は、メイン演算部６０が出力した制御信号のかわりに、冗長演算部７０が出力した冗長信号をアクチュエータ５１０に出力してもよい。さらに、比較部２０は、メイン演算部６０が異常であると判定した場合、アクチュエータ５１０を停止させてもよい。
【００８２】
このように、本実施形態の比較部２０は、エンジンのトルク過大状態を検出するものである。比較部２０は、比較選択部７１が第１信号と第２信号のうち、トルク演算部７２にてトルクが大きく算出される方を選択してしまうと、メイン演算部６０にて記憶部３０の異常などが生じている場合に、この異常を検出できない可能性がある。しかしながら、本発明は、上述のように、比較選択部７１が第１信号と第２信号のうち、トルク演算部７２にてトルクが小さく算出される方を選択するので、メイン演算部６０にて記憶部３０の異常などが生じている場合に、この異常を検出しやすい。
【００８３】
また、本実施形態では、アクセル開度が大きくなるに連れて、ＥＣＵ２１０への入力電圧（入力信号）が大きくなる第１アクセルセンサ３１０及び第２アクセルセンサ４１０を採用した。しかしながら、本発明は、これに限定されない。第１アクセルセンサ３１０及び第２アクセルセンサ４１０は、アクセル開度が大きくなるに連れて、ＥＣＵ２１０への入力電圧（入力信号）が小さくなるものでも採用できる。但し、この場合、比較選択部７１は、第１信号と第２信号のうち、大きい方の信号を選択することになる。
【符号の説明】
【００８４】
１０  ＡＤＣ、２０  比較部、３０  記憶部、４０  メイン演算部、４１  ダイアグ演算部、４２  第１制御演算部，４３  第２制御演算部、５０  冗長演算部、５１  比較選択部、５２  第１制御演算部、５３  第２制御演算部、１００  マイコン、２００  ＥＣＵ、３００  第１センサ、４００  第２センサ、５００  アクチュエータ
【図１】
2014238661.tif 000003
【図２】
2014238661.tif 000004
【図３】
2014238661.tif 000005
【図４】
2014238661.tif 000006
【図５】
2014238661.tif 000007