以下、本発明による電子制御装置を、好適な実施の形態にしたがって図面を用いて説明する。なお、図面の説明においては、同一部分または相当部分には同一符号を付し、重複する説明を省略する。
実施の形態1.
はじめに、本発明の実施の形態1におけるECU1との比較例として、ECU1Aについて説明する。図1は、比較例におけるECU1Aを示す構成図である。
図1に示すECU1Aは、ゲート制御部3、MOS(Metal−Oxide−Semiconductor)トランジスタ4、故障判定信号出力部5、故障検知信号出力部6およびMCU(Micro Controller Unit)7を備える。
ECU1Aには、ECU1Aによって制御される制御対象となる負荷2が接続される。負荷2の具体例としては、例えば、車両に搭載されるアクチュエータが挙げられる。
ゲート制御部3は、MOSトランジスタ4のゲートを制御することで、MOSトランジスタをオンとオフとの間でスイッチングする。ゲート制御部3は、このようなスイッチング制御によって、負荷2に流れる電流を制御する。
故障判定信号出力部5は、コンパレータ51を有する。コンパレータ51は、外部ピンを介して負荷2と接続されており、コンパレータ51には、負荷2の状態を示す監視値が入力される。監視値は、例えば、負荷2に発生する電圧、または負荷2に流れる電流である。コンパレータ51は、入力される監視値と、予め設定される監視閾値とを比較し、その比較の結果、監視値が監視閾値以上である場合、故障判定信号F_detを出力する。
このように、故障判定信号出力部5は、制御対象となる負荷2の状態を示す監視値が監視閾値以上である場合、故障判定信号F_detを出力するように構成されている。
故障検知信号出力部6は、スパイク、過渡応答などのノイズによる故障の誤判定を防止するために設けられる。故障検知信号出力部6は、故障判定信号出力部5による故障判定信号F_detの出力が継続される時間である継続時間Tdを算出する。故障検知信号出力部6は、算出した継続時間Tdが予め設定される一定の継続時間閾値Tth以上である場合、故障検知信号F_fltをMCU7に出力する。
MCU7は、故障検知信号出力部6から故障検知信号F_fltが入力されると、故障フラグF_flgを立てる。また、MCU7は、予め設定される一定の周期Tpdごとに故障フラグF_flgを読み、その後、故障フラグF_flgを解除する。
MCU7は、故障フラグF_flgを読んだ結果、故障フラグF_flgが立っていれば、負荷2の故障が発生したと判定する。なお、故障の具体例としては、地絡故障、天絡故障、断線故障などが挙げられる。
MCU7は、故障が発生したと判定すれば、負荷2に対するフェールセーフを実現する。具体的には、MCU7は、フェールセーフ措置として、例えば、MOSトランジスタ4をオフにするようにゲート制御部3に指令することで負荷2に流れる電流を遮断する。
次に、ECU1Aによって生成される故障判定信号F_det、故障検知信号F_fltおよび故障フラグF_flgの時間変化について、図2を参照しながら説明する。図2は、比較例におけるECU1Aによって生成される故障判定信号F_det、故障検知信号F_fltおよび故障フラグF_flgの時間変化の一例を示すタイミングチャートである。
図2に示すように、時刻t1において、故障判定信号F_detの出力が開始され、時刻t2において、故障判定信号F_detの出力が終了する。故障判定信号F_detの出力が継続する継続時間Td(1)が継続時間閾値Tth未満であるので、故障検知信号F_fltが出力されない。
時刻t3において、故障判定信号F_detの出力が開始される。故障判定信号F_detの出力が継続する継続時間Td(2)が継続時間閾値Tthに達した時刻t4において、故障検知信号F_fltの出力が開始され、さらに、故障フラグF_flgが立つ。また、時刻t5において、故障判定信号F_detの出力が終了すると、故障検知信号F_fltの出力が終了する。
時刻t6において、MCU7は、故障フラグF_flgを読み、その後、故障フラグF_flgを解除する。また、MCU7は、故障フラグF_flgを読んだ結果、故障フラグF_flgが立っているので、故障が発生したと判定する。
以上から分かるように、比較例におけるECU1Aの構成は、制御対象の故障が発生し、事後的にその故障が発生したことを判定可能な構成となっている。このような構成では、故障を未然に防ぐことができない。したがって、故障が発生する前段階で、故障の発生を予知可能なように、ECU1Aの構成を工夫することが望ましい。これに対して、実施の形態1におけるECU1は、制御対象の故障の発生を予知可能な構成となっている。
次に、本発明の実施の形態1におけるECU1について、図3を参照しながら説明する。図3は、本発明の実施の形態1におけるECU1を示す構成図である。なお、実施の形態1におけるECU1を説明するにあたって、上述した比較例におけるECU1Aと同様である点の説明を省略し、ECU1Aと異なる点を中心に説明する。
図3に示すECU1は、ゲート制御部3、MOSトランジスタ4、故障判定信号出力部5、MCU7および故障予知部8を備える。EUC1には、ECU1によって制御される制御対象となる負荷2が接続される。
故障判定信号出力部5は、入力される監視値と、予め設定される監視閾値とを比較し、その比較の結果、監視値が監視閾値以上である場合に、故障判定信号F_detを出力する。故障予知部8は、故障検知信号出力部81、タイマ82および推論部83を備える。
故障検知信号出力部81は、先の図1に示す故障検知信号出力部6と同様に、故障判定信号F_detの出力が継続される継続時間Tdを算出し、算出した継続時間Tdが継続時間閾値Tth以上である場合、故障検知信号F_fltをMCU7に出力する。また、故障検知信号出力部81は、算出した継続時間Tdを推論部83に与える。
このように、故障予知部8は、故障判定信号出力部5からの故障判定信号F_detの出力が継続される時間である継続時間Tdを算出するように構成されている。
タイマ82は、推論部83が後述する時間間隔Tiを算出するために用いる時刻を計測して推論部83に与える。
推論部83は、推論処理部831、推論ネットワーク832および記憶部833を有する。
推論処理部831は、故障検知信号出力部81から与えられる継続時間Tdと、タイマ82から与えられる時刻とから、前回出力された故障判定信号F_detと、今回出力された故障判定信号F_detとの間の時間間隔である時間間隔Tiを算出する。なお、実施の形態1では、推論処理部831は、今回の故障判定信号F_detの出力が開始される時刻と、前回の故障判定信号F_detの出力が終了する時刻との間の時間間隔を、時間間隔Tiとして算出するように構成される場合を例示する。
このように、故障予知部8は、故障判定信号出力部5から出力される故障判定信号F_detと、当該故障判定信号F_detよりも前に出力された前回の故障判定信号F_detとの間の時間間隔を算出するように構成されている。
推論処理部831は、算出した時間間隔Tiと、故障検知信号出力部81から与えられる継続時間Tdとに基づいて、後述する推論ネットワーク832を用いて、故障の発生を予知する。推論処理部831は、故障の発生を予知すれば、故障予知信号F_altをMCU7に出力する。
このように、故障予知部8は、算出した継続時間Tdおよび時間間隔Tiに基づいて、制御対象となる負荷2の故障の発生を予知するように構成されている。
記憶部833は、故障検知信号出力部81によって算出される継続時間Tdの時系列データと、推論処理部831によって算出される時間間隔Tiの時系列データと、後述する推論ネットワーク832におけるステート間の遷移に関する情報とを含む推論情報を保持する。
ゲート制御部3および故障予知部8のハードウエア構成は、例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field Programmable Gate Array)によって実現される。より具体的なハードウエア構成例は、実施の形態2で後述する。
MCU7は、故障検知信号出力部81から故障検知信号F_fltが入力されると、故障フラグF_flgを立てる。また、MCU7は、予め設定される一定の周期Tpdごとに故障フラグF_flgを読み、その後、故障フラグF_flgを解除する。
MCU7は、故障フラグF_flgを読んだ結果、故障フラグF_flgが立っていれば、負荷2の故障が発生したと判定する。なお、故障の具体例としては、地絡故障、天絡故障、断線故障などが挙げられる。
このように、MCU7は、故障検知信号出力部81から故障検知信号F_fltを受けた場合、負荷2の故障が発生したと判定する。MCU7は、故障が発生したと判定すれば、故障発生に対応した制御を負荷2に対して行う。具体的には、MCU7は、故障発生に対応した制御として、例えば、負荷2に流れる電流を遮断する制御を行う。
また、MCU7は、推論部83から故障予知信号F_altを受けた場合、負荷2の故障が発生する可能性がある、すなわち、負荷2の故障の発生を予知したと判定する。MCU7は、負荷2の故障の発生を予知したと判定すれば、故障予知に対応した制御を負荷2に対して行う。具体的には、MCU7は、故障予知に対応した制御として、例えば、負荷2に流れる電流を正常時よりも減少させる制御を行う。
次に、ECU1によって生成される故障判定信号F_det、故障検知信号F_fltおよび故障フラグF_flgの時間変化について、図4を参照しながら説明する。図4は、本発明の実施の形態1におけるECU1によって生成される故障判定信号F_det、故障検知信号F_fltおよび故障フラグF_flgの時間変化の一例を示すタイミングチャートである。
図4に示すように、時刻t1において、故障判定信号F_detの出力が開始され、時刻t2において、故障判定信号F_detの出力が終了する。継続時間Td(1)が継続時間閾値Tth未満であるので、故障検知信号F_fltが出力されない。
時刻t3において、故障判定信号F_detの出力が開始され、時刻t4において、故障判定信号F_detの出力が終了する。継続時間Td(2)が継続時間閾値Tth未満であるので、故障検知信号F_fltが出力されない。推論処理部831は、故障判定信号F_detの出力が開始された時刻t3から、前回の故障判定信号F_detの出力が終了した時刻t2を差し引くことで、時間間隔Ti(1)を算出する。
時刻t5において、故障判定信号F_detの出力が開始され、時刻t6において、故障判定信号F_detの出力が終了する。継続時間Td(3)が継続時間閾値Tth未満であるので、故障検知信号F_fltが出力されない。推論処理部831は、故障判定信号F_detの出力が開始された時刻t5から、前回の故障判定信号F_detの出力が終了した時刻t4を差し引くことで、時間間隔Ti(2)を算出する。
時刻t7において、故障判定信号F_detの出力が開始され、時刻t9において、故障判定信号F_detの出力が終了する。故障判定信号F_detの出力が継続する継続時間Td(4)が継続時間閾値Tthに達した時刻t8において、故障検知信号F_fltの出力が開始され、さらに、故障フラグF_flgが立つ。時刻t9において、故障判定信号F_detの出力が終了すると、故障検知信号F_fltの出力が終了する。
時刻t10において、MCU7は、故障フラグF_flgを読み、その後、故障フラグF_flgを解除する。また、MCU7は、故障フラグF_flgを読んだ結果、故障フラグF_flgが立っているので、故障が発生したと判定する。
次に、推論ネットワーク832について、図5を参照しながら説明する。図5は、本発明の実施の形態1における推論ネットワーク832の概念を示す説明図である。
ここで、推論ネットワーク832は、継続時間Tdおよび時間間隔Tiに関する以下の情報を利用して構成される。
(1)継続時間Tdが長ければ長いほど、また、時間間隔Tiが短ければ短いほど、真の故障が発生する可能性が高いという情報
(2)継続時間Tdおよび時間間隔Tiを時系列的に見ることで、負荷2の状態が真の故障が発生する可能性が、高くなる方向あるいは解消される方向のいずれの方向に進むかという情報
具体的には、図5に示すように、推論ネットワーク832は、それぞれが負荷2の状態を表す複数の正常ステートS1−1〜Sn−4間で負荷2の状態を遷移させることが可能に構成されている。また、複数の正常ステートS1−1〜Sn−4は、n個のステージ1〜nのそれぞれに対応して属している。ただし、nは2以上の整数である。
ステージ1に属している2つの正常ステートには、2つのインデックス1および2が個別に付されており、これら2つの正常ステートは、それぞれ、S1−1およびS1−2と表記される。また、ステージnに属している4つの正常ステートには、4つのインデックス1〜4が個別に付されており、これら4つの正常ステートは、それぞれ、Sn−1、Sn−2、Sn−3およびSn−4と表記される。他のステージに属している正常ステートも同様である。以下、正常ステートに付されたインデックスをステートインデックスと表記する。
図5に示すように、時間間隔Tiが短いほどステージが深くなり、時間間隔Tiが長いほどステージが浅くなる。ステージが深いことは、上述のステージに付された数字が大きいことと等価である。反対に、ステージが浅いことは、上述のステージに付された数字が小さいことと等価である。つまり、ステージnが最も深く、ステージ1が最も浅いこととなる。
また、図5に示すように、継続時間Tdが長いほどステートインデックスが小さくなり、継続時間Tdが短くなるほどステートインデックスが大きくなる。例えば、ステージ1に属している正常ステートS1−1およびS1−2を比べると、ステートインデックスが小さい正常ステートS1−1の方が、継続時間Tdが長いこととなる。
さらに、図5に示すように、初期ステートS0が定義される。負荷2の状態が現在位置しているステートである現ステートが、複数の正常ステートS1−1〜Sn−4のいずれであっても、後述する初期ステート遷移条件を満たせば、負荷2の状態を現ステートから初期ステートS0に遷移させることが可能である。
上述の初期ステートS0に加えて、故障ステートSfがさらに定義される。現ステートが複数の正常ステートS1−1〜Sn−4のいずれであっても、後述する故障ステート遷移条件に従って、負荷2の状態を現ステートから故障ステートSfに遷移させることが可能である。
故障ステート遷移条件は、複数の正常ステートS1−1〜Sn−4に個別に対応して定められている。現ステートが複数の正常ステートS1−1〜Sn−4のいずれであっても、継続時間Tdおよび時間間隔Tiが、現ステートに対応する故障ステート遷移条件を満たせば、負荷2の状態を現ステートから故障ステートSfに遷移させることが可能である。このように、推論ネットワーク832は、複数の正常ステートS1−1〜Sn−4のいずれからでも、故障ステートSfに負荷2の状態を遷移させることが可能に構成されている。
現ステートが属しているステージが深くなるほど、故障ステート遷移条件が緩くなる。具体的には、例えば、現ステートが属しているステージがステージ1である場合と、現ステートが属しているステージがステージ4である場合とを比べると、後者の方が、現ステートから故障ステートSfに負荷2の状態が遷移しやすい。
ここで、具体例として、現ステートが初期ステートS0であって、故障判定信号出力部5から故障判定信号F_detが出力された場合を考える。この場合、推論処理部831は、出力された故障判定信号F_detに対応する継続時間Tdと、継続時間閾値Tthとを比較することによって、推論ネットワーク832で負荷2の状態を遷移させる。
すなわち、継続時間Tdが継続時間閾値Tth以上である場合には、推論処理部831は、負荷2の状態を、現ステートである初期ステートS0から、故障ステートSfに遷移させる。この場合、推論処理部831は、故障が発生したことを検知する。
一方、継続時間Tdが継続時間閾値Tth未満である場合には、推論処理部831は、出力された故障判定信号F_detに対応する時間間隔Tiを算出する。この場合、推論処理部831は、時間間隔Tiを∞として算出する。推論処理部831は、現ステートである初期ステートS0に対応する遷移条件に従って、継続時間Tdおよび時間間隔Tiに基づいて、初期ステートS0から、ステージ1に属している正常ステート、すなわち正常ステートS1−1または正常ステートS1−2に負荷2の状態を遷移させる。
続いて、故障判定信号出力部5から故障判定信号F_detが新たに出力されれば、推論処理部831は、ステージ遷移条件およびステート遷移条件に従って、新たに出力された故障判定信号F_detに対応して算出された継続時間Tdおよび時間間隔Tiに基づいて、負荷2の状態を、現ステートから別のステートに遷移させる。
上述のステージ遷移条件は、複数のステージ1〜nに個別に対応して定められている。推論処理部831は、現ステートが属しているステージに対応するステージ遷移条件に従って、新たに入力された故障判定信号F_detに対応する時間間隔Tiの値に基づいて、現ステートが属しているステージから遷移させる遷移先ステージを決定する。
上述のステージ遷移条件は、現ステートが属しているステージがどのステージであるかによって異なる。また、時間間隔Tiの値が同じであっても、現ステートが属しているステージによって、そのステージに対して、遷移先ステージが深くなったり浅くなったりすることがあり得る。例えば、現ステートが属しているステージがステージ4である場合には、遷移先ステージがステージ3となり、現ステートが属しているステージがステージ1である場合には、遷移先ステージがステージ2となることがあり得る。
上述のステート遷移条件は、複数の正常ステートS1−1〜Sn−4に個別に対応して定められている。推論処理部831は、決定した遷移先ステージに属している複数の正常ステートの中から、現ステートに対応するステート遷移条件に従って、新たに出力された故障判定信号F_detに対応する継続時間Tdの値に基づいて、負荷2の状態を遷移させる遷移先ステートを決定する。
上述のステート遷移条件は、現ステートがどのステートであるかによって異なる。また、継続時間Tdの値が同じであっても、現ステートのインデックスによって、遷移先ステートのインデックスが異なることがあり得る。例えば、現ステートが正常ステートS4−1である場合には、遷移先ステートが正常ステートS3−2となり、現ステートが正常ステートS4−3である場合には、遷移先ステートが正常ステートS3−3となることがあり得る。
故障判定信号出力部5から故障判定信号F_detが出力されるたびに、推論処理部831は、上述のように、推論ネットワーク832に関して、ステート間で負荷2の状態を遷移させる推論処理を行う。
なお、推論ネットワーク832は、事前に定められている。すなわち、推論ネットワーク832に関する上述の初期ステート遷移条件、故障ステート遷移条件、ステージ遷移条件およびステート遷移条件は、それぞれ、事前に定められている。また、推論ネットワーク832を構成するステージの数と、各ステージに属している正常ステートの数は、それぞれ、事前に定められている。
一例として、負荷2に電圧ストレスをかけたり温度ストレスをかけたりすることで、負荷2が正常状態から故障状態に至るまでの挙動を実測し、その実測結果を参照して、推論ネットワーク832を事前に定める方法が考えられる。別例として、記憶部833に格納されている推論情報を記憶部833から取り出し、取り出した推論情報を参照して、推論ネットワーク832を事前に定める方法が考えられる。
次に、故障予知部8の動作について、図6を参照しながら説明する。図6は、本発明の実施の形態1におけるECU1の故障予知部8によって行われる一連の動作を示すフローチャートである。なお、図6に示すフローチャートの処理は、例えば、予め設定された周期で繰り返し実行される。
ステップS101において、推論処理部831は、予め定められる一定時間の間、故障判定信号出力部5から故障予知部8への故障判定信号F_detの入力が停止しているか否かを判定することで、初期ステート遷移条件を満たしているか否かを判定する。
ステップS101において、推論処理部831は、一定時間の間、故障予知部8への故障判定信号F_detの入力が停止していると判定した場合、初期ステート遷移条件を満たしたと判定し、処理がステップS102へと進む。推論処理部831は、一定時間の間、故障予知部8への故障判定信号F_detの入力が停止していないと判定した場合、初期ステート遷移条件を満たしていないと判定し、処理がステップS103へと進む。処理がステップS103へと進む場合には、故障判定信号出力部5から今回の故障判定信号F_detが出力されたこととなる。
ステップS102において、推論処理部831は、推論ネットワーク832で、負荷2の状態を現ステートから初期ステートS0に遷移させる。この場合、推論処理部831は、現在までに得られている推論情報を記憶部833に記憶する。その後、処理が終了となる。
ステップS103において、推論処理部831は、故障検知信号出力部81によって算出される今回の故障判定信号F_detに対応する継続時間Tdが継続時間閾値Tth以上であるか否かを判定する。
ステップS103において、継続時間Tdが継続時間閾値Tth以上であると判定された場合には、処理がステップS108へと進む。継続時間Tdが継続時間閾値Tth未満であると判定された場合には、処理がステップS104へと進む。
ステップS104において、推論処理部831は、今回の故障判定信号F_detに対応する時間間隔Ti、すなわち、前回の故障判定信号F_detと今回の故障判定信号F_detとの間の時間間隔Tiを算出する。その後、処理がステップS105へと進む。なお、現ステートが初期ステートS0であれば、推論処理部831は、時間間隔Tiを∞として算出する。
ステップS105において、推論処理部831は、推論ネットワーク832を用いて、今回の故障判定信号F_detに対応する継続時間Tdと、今回の故障判定信号F_detに対応する時間間隔Tiとに基づいて、推論処理を実行する。その後、処理がステップS106へと進む。
具体的には、推論処理部831は、ステージ遷移条件およびステート遷移条件に従って、継続時間Tdおよび時間間隔Tiに基づいて、負荷2の状態を現ステートから遷移させる遷移先ステートを決定する。また、推論処理部831は、決定した遷移先ステートに現ステートから負荷2の状態を遷移させる。
推論ネットワーク832では、上述したように、複数のステージに個別に対応してステージ遷移条件が定められ、複数の正常ステートに個別に対応してステート遷移条件が定められている。また、上述したように、複数の正常ステートに個別に対応して故障ステート遷移条件が定められている。
推論処理部831は、現ステートが属しているステージに対応するステージ遷移条件を参照し、参照したステージ遷移条件に従って、時間間隔Tiの値に基づいて、現ステートが属しているステージから遷移させる遷移先ステージを決定する。推論処理部831は、現ステートに対応するステート遷移条件を参照し、参照したステート遷移条件に従って、継続時間Tdの値に基づいて、決定した遷移先ステージに属している正常ステートの中から、遷移先ステートを決定する。このように、推論処理部831は、ステージ遷移条件およびステート遷移条件に従って、継続時間Tdおよび時間間隔Tiに基づいて、負荷2の状態を現ステートから遷移させる遷移先ステートを一意的に決定するように構成されている。
また、推論処理部831は、現ステートに対応する故障ステート遷移条件を参照し、参照した故障ステート遷移条件を、継続時間Tdおよび時間間隔Tiが満たしていれば、負荷2の状態を、現ステートから故障ステートSfに遷移させる。
ステップS106において、推論処理部831は、ステップS105での推論処理の結果、故障の発生を予知したか否かを判定する。
ステップS106において、推論処理の結果、故障の発生を予知したと判定された場合には、処理がステップS107へと進む。具体的には、推論処理部831は、推論処理の結果、遷移先ステートが故障ステートSfである場合には、故障の発生を予知したと判定する。この場合、推論処理部831は、現在までに得られている推論情報を記憶部833に記憶し、さらに、推論ネットワーク832で、負荷2の状態を、現ステートである故障ステートSfから、初期ステートS0に遷移させる。
このように、推論処理部831は、故障判定信号出力部5から故障判定信号F_detが出力されれば当該故障判定信号F_detに対応して算出された継続時間Tdおよび時間間隔Tiに基づいて推論ネットワーク832で負荷2の状態を遷移させる推論処理を実行するように構成されている。また、推論処理部831は、このような推論処理の実行によって、推論ネットワーク832で負荷2の状態が故障ステートSfに遷移すれば、負荷2の故障の発生を予知するように構成されている。
ステップS106において、推論処理の結果、故障の発生を予知していないと判定された場合には、処理が終了となる。具体的には、推論処理部831は、推論処理の結果、遷移先ステートが故障ステートSf以外のステートである場合には、故障の発生を予知していないと判定する。この場合、推論ネットワーク832で、ステップS105で決定された遷移先ステートに負荷2の状態が留まり、次回の処理が開始される。
ステップS107において、推論処理部831は、故障予知信号F_altをMCU7に出力する。この場合、MCU7は、故障の発生を予知したと判定し、故障予知に対応した制御を負荷2に対して行う。
ステップS108において、故障検知信号出力部81は、故障検知信号F_fltをMCU7に出力する。この場合、MCU7は、故障が発生したと判定し、故障発生に対応した制御を負荷2に対して行う。
以上、本実施の形態1によれば、ECU1は、制御対象の状態を示す監視値が監視閾値以上である場合、故障判定信号F_detを出力する故障判定信号出力部5と、制御対象の故障の発生を予知する故障予知部8とを備えて構成されている。故障予知部8は、故障判定信号出力部5からの故障判定信号F_detの出力が継続される時間である継続時間Tdを算出するように構成されている。故障予知部8は、故障判定信号出力部5から出力される故障判定信号F_detと、当該故障判定信号F_detよりも前に出力された前回の故障判定信号F_detとの間の時間間隔Tiを算出するように構成されている。故障予知部8は、算出した継続時間Tdおよび時間間隔Tiに基づいて、制御対象の故障の発生を予知するように構成されている。
これにより、制御対象の故障の発生を予知することが可能になる。したがって、故障が発生しないように事前に予防措置を取ることができ、その結果、故障の発生を抑制することができる。
実施の形態2.
なお、先の実施の形態1におけるECU1を実現するためのより具体的なハードウエア構成としては、例えば、図7に示す構成が挙げられる。図7は、本発明の実施の形態2におけるECU1のハードウエア構成の例を示す構成図である。なお、実施の形態2では、先の実施の形態1と同様である点の説明を省略し、先の実施の形態1と異なる点を中心に説明する。
図7に示すECU1は、不揮発性メモリ12、FPGA13およびMCU7によって構成される。なお、FPGA13の代わりに、ASICであってもよい。ECU1には、センサ14と、制御対象となる負荷2の具体例であるアクチュエータ15とがそれぞれ接続される。ECU1、ゲートウェイ11、センサ14およびアクチュエータ15は、車内に設けられ、リモートチャネル10は、車外に設けられる。
FPGA13は、先の実施の形態1で説明したゲート制御部3および故障予知部8の機能を実現する。不揮発性メモリ12は、FPGA13を構成するためのビットストリームを保持する。リモートチャネル10は、ゲートウェイ11を介して、不揮発性メモリ12に保持されているビットストリームを用いてFPGA13を構成する。
MCU7は、センサ14からアナログデータを受け、さらに、FPGA13から、故障検知信号F_fltを受けるとともに故障予知信号F_altを受ける。MCU7は、FPGA13から故障検知信号F_fltを受けた場合、アクチュエータ15の故障が発生したと判定し、故障発生に対応した制御をアクチュエータ15に対して行う。
MCU7は、FPGA13から故障予知信号F_altを受けた場合、アクチュエータ15の故障の発生を予知したと判定し、故障予知に対応した制御をアクチュエータ15に対して行う。
リモートチャネル10は、ゲートウェイ11を介して、FPGA13に搭載されているメモリ、すなわち記憶部833に格納されている推論情報を取り出すことが可能である。この推論情報は、推論ネットワーク832の妥当性を検証する際に利用される。推論ネットワーク832を検証した結果として、推論ネットワーク832が改訂された場合、リモートチャネル10は、FPGA13に実装されている推論部83の推論ネットワーク832を更新する。
すなわち、リモートチャネル10は、ゲートウェイ11を介して、FPGA13に実装されている推論部83の推論ネットワーク832を、上述の改訂後の推論ネットワーク832に更新する。このように、ECU1の外部側、すなわちリモートチャネル10側からの操作によって推論ネットワーク832が更新可能に構成されている。これにより、バグフィックスに対応することが可能となるとともに、故障予知の性能を向上させることが可能となる。