(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0009】
以下に本発明の実施の形態を説明する。
図1は、本発明に係る自動車用電子制御装置の一例を示すブロック図である。
図1の自動車用電子制御装置100は、一例として車両に搭載された走行用エンジン(内燃機関)200を制御する装置であり、CPU101、ROM102、RAM103、AD変換器(アナログ−デジタル変換回路)104、パルス入力回路105、デジタル出力回路106、パルス出力回路107などを含むマイクロコンピュータを備えて構成される。
【0010】
エンジン200には、スロットル開度(アクセル開度)TVOに応じた電圧信号を出力するスロットルセンサ201、エンジン200の吸入空気流量QAに応じた電圧信号を出力する熱線式などのエアフローセンサ202、クランク軸の回転に同期するパルス信号POSを出力するクランク角センサ203などの各種センサが設けられ、更に、車両の駆動軸には当該駆動軸の回転に同期するパルス信号を出力する車速センサ204が設けられている。
また、エンジン200には、電子制御装置100からの出力で制御されるデバイスとして、各種のリレー211、燃料噴射弁212、パワートランジスタ内蔵のイグニッションコイル213などが設けられている。
【0011】
電子制御装置100のAD変換器104は、スロットルセンサ201やエアフローセンサ202などの各種センサ(電圧出力センサ)が出力する電圧信号(アナログ出力信号)を入力してデジタル信号に変換する。AD変換器104が出力するデジタル信号は、図示省略したレジスタを介してバッファ(RAM103など)に格納され、CPU101により制御パラメータとして用いられる。
【0012】
また、電子制御装置100のパルス入力回路105は、クランク角センサ203や車速センサ204などの各種センサ(パルス出力センサ)が出力するパルス信号を入力して、パルス信号の周期計測や所定時間内のパルス発生数の計数などを行う。
パルス入力回路105が出力する周期データや計数データなどは、図示省略したレジスタを介してバッファに格納され、CPU101により制御パラメータとして用いられる。
【0013】
そして、CPU101は、ROM102に格納されているプログラムに従い複数の制御パラメータを演算処理することで、燃料噴射弁213、イグニッションコイル214に内蔵されるパワートランジスタなどの制御パルス信号を決定し、係る制御パルス信号をパルス出力回路107から各デバイスに出力する。
また、CPU101は、ROM102に格納されているプログラムに従い複数の制御パラメータCPを演算処理することで、各種のリレー211などのオン・オフを決定し、係るオン・オフ信号をデジタル出力回路106から各デバイスに出力する。
【0014】
更に、CPU101は、ROM102に格納されているプログラムに従いAD変換器104の出力異常(AD変換器104の故障)の有無を検出する診断処理を実施する。
図2のフローチャートは、CPU101による診断処理の一例を示す。
図2のフローチャートに示される処理は、CPU101により所定時間毎に割り込み処理される。
【0015】
CPU101は、ステップS501で、AD変換器104のデジタル出力値から求められた複数の制御パラメータ(状態量検出値)のうちの予め選択された1つを、AD変換器104の出力異常に用いる第1制御パラメータCP1として読み込む。
次のステップS502で、CPU101は、AD変換器104のデジタル出力値のうちの1つであって第1制御パラメータを検出するセンサとは別のセンサで検出され、第1制御パラメータに相関して変化する制御パラメータとして予め選択された第2制御パラメータCP2を読み込む。
【0016】
例えば、第1制御パラメータCP1は、スロットルセンサ201が出力する電圧信号をAD変換器104でデジタル信号に変換して求められたスロットル開度データ(開度検出値)TVOであり、第2制御パラメータCP2は、エアフローセンサ202が出力する電圧信号をAD変換器104でデジタル信号に変換して求められた吸入空気流量データ(流量検出値)QAである。
【0017】
図3は、エンジン200の過渡状態でのスロットル開度TVO及び吸入空気流量QAの変化を例示するものであり、スロットル開度TVOの単位時間当たりの変化量(変化速度)と、吸入空気流量QAの単位時間当たりの変化量(変化速度)とを示す。
この
図3に示すように、スロットル開度TVOと吸入空気流量QAとは相互に相関して変化する状態量であり、一方が増加すると他方も増え、一方が減少すると他方も減る特性を有し、双方の変化速度は相互に相関して変化する。
【0018】
CPU101は、次いでステップS503に進み、第1制御パラメータCP1の単位時間当たりの変化量(変化速度)と第2制御パラメータCP2の単位時間当たりの変化量(変化速度)との比R1(R1=CP1の変化量/CP2の変化量)を演算する。
【0019】
なお、CPU101は、第1制御パラメータCP1の変化速度と第2制御パラメータCP2の変化速度との少なくとも一方を所定関数に従って補正し、補正後の制御パラメータCP1,CP2に基づいて比R1を演算することができる。
また、CPU101は、制御パラメータCP1,CP2の単位時間当たりの変化量(変化速度)の比R1を演算する代わりに、第1制御パラメータCP1と第2制御パラメータCP2との比(R1=CP1/CP2)を演算することができる。
【0020】
次いで、CPU101は、ステップS504で、比R1が下限閾値MIN1と上限閾値MAX1(MIN1<MAX1)とで挟まれる領域内の値であるか否かを検出する。
下限閾値MIN1及び上限閾値MAX1は、スロットルセンサ201及びエアフローセンサ202が正常で、かつ、AD変換器104が正常であるときに、下限閾値MIN1と上限閾値MAX1とで挟まれる領域を比R1が逸脱することがない値として予め実験やシミュレーションによって適合されている。
【0021】
比R1が下限閾値MIN1と上限閾値MAX1とで挟まれる領域(正常範囲)内の値(MIN1≦R1≦MAX1)である場合、つまり、スロットル開度データTVOの増減変化に連動して吸入空気流量データQAが変化している場合、CPU101は、ステップS505に進み、カウンタC1をクリア(零にリセット)し、次のステップS506では、AD変換器104の出力が正常であることを判定する。
係るAD変換器104の正常状態では、CPU101は、AD変換器104の出力に基づく制御パラメータを用いたエンジン200の制御(燃料噴射制御や点火時期制御など)を通常に実施させる。
【0022】
なお、CPU101は、上記のAD変換器104の診断とは別に各センサの故障診断を実施し、センサが正常であるときにAD変換器104の出力異常の有無を診断することで、センサ故障とAD変換器104の故障とを区別することが可能である。
例えばスロットルセンサ201を多重に設け、CPU101が複数のスロットルセンサ201の検出出力が一致するか否かを検出することで、複数のスロットルセンサ201のいずれかが故障している状態を検出することができる。そして、CPU101は、複数のスロットルセンサ201の検出出力が一致するスロットルセンサ201の正常状態においてAD変換器104の診断を行うことで、AD変換器104が正常に動作しているか否かを診断することができる。
【0023】
一方、比R1が下限閾値MIN1と上限閾値MAX1とで挟まれる領域内の値でない場合、換言すれば、スロットル開度データTVOと吸入空気流量データQAとが連動して変化していない場合、CPU101は、ステップS507に進み、カウンタC1をインクリメントする。つまり、CPU101は、比R1が下限閾値MIN1を下回る場合にカウンタC1をインクリメントし、比R1が上限閾値MAX1を上回る場合にもカウンタC1をインクリメントする。
例えば第1制御パラメータCP1としてのスロットル開度データTVOが上昇しているときに第2制御パラメータCP2としての吸入空気量データQAが一定値を保持する場合、比R1は正常範囲(上限閾値MAX1)よりも高くなり、CPU101はカウンタC1をインクリメントする。
【0024】
また、例えばスロットル開度データTVOが減少しているときに吸入空気量データQAが一定値を保持する場合、比R1は正常範囲(下限閾値MIN1)よりも低くなり、CPU101はカウンタC1をインクリメントする。
逆に、吸入空気量データQAが増減変化するときにスロットル開度データTVOが一定値を保持する場合、比R1は正常範囲(下限閾値MIN1と上限閾値MAX1とで挟まれる領域)を逸脱し、CPU101はカウンタC1をインクリメントする。
【0025】
スロットル開度TVO(第1制御パラメータCP1)と吸入空気量QA(第2制御パラメータCP2)とは、
図3に例示したように相互に同調して変化するから、CPU101は、これらの制御パラメータが同調変化しているか否かを比R1と閾値MIN1、MAX1との比較に基づき検出する。
そして、吸入空気量データQAとスロットル開度データTVOとが同調して変化していない場合はAD変換器104の出力異常(AD変換器104の故障)が発生している可能性があるので、CPU101は、カウンタC1をインクリメントして異常判定履歴を更新する。
【0026】
ステップS507でカウンタC1をインクリメントした後、CPU101は、ステップS508に進み、カウンタC1の値が閾値SL1以上であるか否かを検出する。
そして、カウンタC1の値が閾値SL1未満であれば、比R1が正常範囲を逸脱する状態(AD変換器104の出力異常の判定)がノイズなどに影響されて一時的に発生したものであって、AD変換器104は正常に動作している可能性があるので、CPU101は、最終的な異常判定を行うことなく今回の診断処理を終了させる。
【0027】
一方、カウンタC1の値が閾値SL1以上になると、比R1が正常範囲を逸脱する状態が継続的なものであってAD変換器104に異常(故障)が発生しているものと推定されるので、CPU101は、ステップS509へ進み、AD変換器104の出力異常の発生を判定する。
なお、前記閾値SL1は、ノイズなどに影響されて比R1が一時的に異常値を示すときに、カウンタC1が超えることのない値になるように、予め実験やシミュレーションによって適合されている。
換言すれば、カウンタC1の値が閾値SL1以上になった場合は、比R1が異常値である状態がノイズなどに影響されたものではなく、AD変換器104の出力異常(故障)に因るものであると判定できるように、閾値SL1は適合される。
【0028】
上記のように、CPU101は、センサのアナログ出力をAD変換器104でデジタル信号に変換して得た制御パラメータのうち、相互に相関して変化する制御パラメータCP1,CP2を比較することで、AD変換器104の出力異常の有無を診断する。
これにより、CPU101は、AD変換されたデジタル信号が正常領域内で固着する異常を含むAD変換器104の出力異常(動作不良)を、専用の診断回路を用いずに検出できる。
【0029】
なお、CPU101は、AD変換器104の出力異常の発生を検出したときには、センサのアナログ出力(電圧信号)を正しく読み込むことができない状態、換言すれば、エンジン200の運転状態を正しく認識することができない状態であるので、スロットル開度や燃料噴射量などの変化を所定低域に制限するなどのフェイルセーフ処理を実施する。
【0030】
ところで、
図2のフローチャートに示す診断処理で、CPU101は、AD変換器104の出力に基づく制御パラメータ同士を比較してAD変換器104の出力異常の有無を診断するが、CPU101は、AD変換器104の出力に基づく第1制御パラメータCP1と、パルス入力回路105の出力から求めた第2制御パラメータCP2とを比較して、AD変換器104の出力異常の有無を診断することができる。
【0031】
図4のフローチャートは、AD変換器104の出力に基づく第1制御パラメータCP1と、パルス入力回路105の出力から求めた第2制御パラメータCP2とを比較して、AD変換器104の出力異常の有無を診断する、CPU101の診断処理の一例を示す。
図4のフローチャートに示される処理は、CPU101により所定時間毎に割り込み処理される。
【0032】
CPU101は、ステップS601で、AD変換器104のデジタル出力値から求められる複数の制御パラメータ(状態量検出値)のうちの予め設定された1つを、AD変換器104の出力異常に用いる第1制御パラメータCP1として読み込む。
次のステップS602で、CPU101は、パルス入力回路105の出力から求められる制御パラメータのうちの複数に基づき、第1制御パラメータCP1の期待値Aex(第2制御パラメータ)を算出する。
【0033】
例えば、第1制御パラメータCP1は、スロットルセンサ201が出力する電圧信号をAD変換器104でデジタル信号に変換して求めたスロットル開度データ(開度検出値)TVOであり、期待値Aexの算出に用いる複数の制御パラメータは、クランク角センサ203が出力するパルス信号からパルス入力回路105で求められたエンジン回転数NE(rpm)の検出データ及び車速センサ204が出力するパルス信号からパルス入力回路105で求められた車速VSP(km/h)の検出データである。
【0034】
図5に例示するように、エンジン回転数NEが高く車速VSPが高い状態はスロットル開度TVOが高い状態であり、逆に、エンジン回転数NEが低く車速VSPが低い状態はスロットル開度TVOが低い状態であり、エンジン回転数NEと車速VSPとからそのときのスロットル開度TVOを大凡推定できる。
そこで、CPU101は、共にセンサのパルス出力から求められたエンジン回転数NE及び車速VSPに基づきそのときのスロットル開度TVOを推定し、当該推定値を、AD変換器104の出力から求められるスロットル開度データTVOの期待値Aexに設定する。
【0035】
また、スロットル開度データTVOに代えて、エアフローセンサ202が出力する電圧信号をAD変換器104でデジタル信号に変換して求めた吸入空気流量データQAを、第1制御パラメータCP1とすることができる。
図5に例示するように、エンジン回転数NEが高く車速VSPが高い状態は吸入空気流量QAが多い状態であり、逆に、エンジン回転数NEが低く車速VSPが低い状態は吸入空気流量QAが少ない状態であり、エンジン回転数NEと車速VSPとからそのときの吸入空気流量QAを大凡推定できる。
【0036】
そこで、CPU101は、共にセンサのパルス出力から求められるエンジン回転数NE及び車速VSPに基づきそのときの吸入空気流量QAを推定し、当該推定値を、AD変換器104の出力から求められる吸入空気流量データQAの期待値Aexに設定する。
なお、例えば、車両の停止状態(車速VSPが略零)でエンジン回転数NEがアイドル回転数域であること(車両のアイドル停止状態であること)を診断実施条件とし、診断実施条件が成立するときはスロットル開度TVO又は吸入空気流量QAが所定範囲になっているものと推定して、期待値Aexを設定することができる。
【0037】
CPU101は、ステップS602で期待値Aexを設定すると、ステップS603にて、第1制御パラメータCP1の単位時間当たりの変化量(変化速度)と当該第1制御パラメータCP1の期待値Aexの単位時間当たりの変化量(変化速度)との比R2(R2=CP1の変化量/Aexの変化量)を演算する。
ここで、CPU101は、第1制御パラメータCP1と当該第1制御パラメータCP1の期待値Aexとの比をR2に設定する(R2=CP1/Aex)ことができる。
【0038】
そして、次のステップS604で、CPU101は、比R2が下限閾値MIN2と上限閾値MAX2(MIN2<MAX2)とで挟まれる領域内の値であるか否かを検出する。
下限閾値MIN2及び上限閾値MAX2は、アナログ出力がAD変換器104に入力されるセンサ(スロットルセンサ201、エアフローセンサ202)が正常で、かつ、AD変換器104が正常であるときに、下限閾値MIN2と上限閾値MAX2とで挟まれる領域を比R2が逸脱することがない値として予め実験やシミュレーションによって適合されている。
【0039】
比R2が下限閾値MIN2と上限閾値MAX2とで挟まれる領域(正常範囲)内の値である場合、つまり、MIN2≦R2≦MAX2を満たす場合、CPU101は、ステップS605に進み、カウンタC2をクリア(零にリセット)し、次のステップS606では、AD変換器104の出力が正常であることを判定する。
係るAD変換器104の正常状態では、CPU101は、AD変換器104の出力に基づく制御パラメータを用いたエンジン200の制御(燃料噴射制御や点火時期制御など)を通常に実施させる。
【0040】
一方、比R2が下限閾値MIN2と上限閾値MAX2とで挟まれる領域内の値でない場合、つまり、スロットル開度データTVO(吸入空気流量データQA)の変動が期待値Aexの変動に見合っていない場合、CPU101は、ステップS607に進み、カウンタC2をインクリメントする。
換言すれば、CPU101は、比R2が下限閾値MIN2を下回る場合にカウンタC2をインクリメントし、かつ、比R2が上限閾値MAX2を上回る場合にもカウンタC2をインクリメントする。
【0041】
例えば、スロットル開度TVOの期待値Aexが上昇しているときに、第1制御パラメータとしてのスロットル開度データTVO(吸入空気流量データQA)が一定値を保持する場合、比R2は正常範囲(下限閾値MIN2)よりも低くなり、CPU101はカウンタC2をインクリメントする。
また、例えば、スロットル開度TVOの期待値Aexが減少しているときに、第1制御パラメータとしてのスロットル開度データ(吸入空気流量データQA)が一定値を保持する場合、比R2は正常範囲(上限閾値MAX2)よりも高くなり、CPU101はカウンタC2をインクリメントする。
【0042】
このように、CPU101は、スロットル開度データTVO又は吸入空気量データQAが期待値Aexと同調して変化しているか否かを、比R2と閾値MIN2、MAX2との比較に基づき検出し、スロットル開度データTVO又は吸入空気量データQAが期待値Aexと同調変化していない場合はAD変換器104の出力異常が発生している可能性があるので、カウンタC2をインクリメントして異常判定履歴を更新する。
【0043】
ステップS607でカウンタC2をインクリメントした後、CPU101は、ステップS608に進み、カウンタの値C2が閾値SL2以上であるか否かを検出する。
そして、カウンタC2の値が閾値SL2未満であれば、比R2が正常範囲を逸脱する状態がノイズなどに影響された一時的なものであってAD変換器104の異常(故障)ではない可能性があるので、CPU101は、最終的な異常判定を行うことなく診断処理を終了させる。
【0044】
一方、カウンタC2の値が閾値SL2以上になると、比R2が正常範囲を逸脱する状態が継続的なものであってAD変換器104に異常(故障)が発生しているものと推定されるので、CPU101は、ステップS609へ進み、AD変換器104の出力異常の発生を判定する。
なお、前記閾値SL2は、ノイズ影響などに影響されて比R2が一時的に異常値を示すときに、カウンタC2が超えることのない値になるように、予め実験やシミュレーションによって適合されている。
換言すれば、カウンタC2の値が閾値SL2以上になった場合は、比R2が異常値である状態がノイズなどに影響されたものではなく、AD変換器104の出力異常に因るものであると判定できるように、閾値SL2は適合される。
【0045】
上記のように、CPU101は、センサのアナログ出力をAD変換器104でデジタル信号に変換して得た第1制御パラメータ(スロットル開度TVOや吸入空気流量QAなどの状態量検出値)と、パルス出力を発生するセンサから求めた制御パラメータ(エンジン回転数NEや車速VSPなどの状態量検出値)から推定される第1制御パラメータの期待値(予測値)Aexとを比較することで、AD変換器104の出力異常の有無を診断するので、AD変換器104の出力異常の有無を専用の診断回路を用いずに検出できる。
【0046】
また、期待値Aexの決定に用いる制御パラメータ(エンジン回転数NEや車速VSPなどの状態量検出値)は、AD変換器104によるアナログ/デジタル変換によって求められる値ではなく、パルス信号を出力するセンサの信号を入力するパルス入力回路105によって検出される値であって、AD変換器104の正常・異常に影響されて変動することがない。
従って、AD変換器104の正常・異常に影響されて変動する第1制御パラメータCP1と、AD変換器104の正常・異常に影響されない期待値Aexとを比較することになる。
【0047】
このため、AD変換器104の出力異常は、正常値である期待値Aexに対する第1制御パラメータCP1のずれとして現れることになり、第1制御パラメータCP1の異常、換言すれば、AD変換器104の出力異常をより高精度に検出できる。
【0048】
以上、好ましい実施形態を参照して本発明の内容を具体的に説明したが、本発明の基本的技術思想及び教示に基づいて、当業者であれば種々の変形態様を採り得ることは自明である。
例えば、上記実施形態において、CPU101は、AD変換器104によるセンサ出力のアナログ/デジタル変換によって求められた第1制御パラメータCP1(又は第1制御パラメータCP1の変化速度)と、別のセンサの出力から求めた制御パラメータであって第1制御パラメータに相関して変化する第2制御パラメータCP2(又は第2制御パラメータCP2の変化速度)との比に基づいて、AD変換器104の出力異常の有無を診断するが、第1制御パラメータと第2制御パラメータとの差と閾値とを比較してAD変換器104の出力異常の有無を診断することができる。
【0049】
また、第1制御パラメータCP1を、スロットル開度TVOや吸入空気量QAに限定するものではなく、例えば、各種の温度センサの出力信号(電圧信号)がAD変換器104でデジタル信号に変換される構成では、係る温度データを第1制御パラメータCP1とすることができる。
そして、CPU101は、例えば、エンジンの冷却水温度を第1制御パラメータCP1とし、冷却水温度に相関して変化する潤滑油温度を第2制御パラメータPC2とし、これらを比較することでAD変換器104の出力異常の有無を診断することができる。
【0050】
また、CPU101は、第1制御パラメータCP1を冷却水温度又は潤滑油温度とし、これら温度の期待値Aexを車速及びエンジン回転数から推定し、期待値Aex(第2制御パラメータCP2)と第1制御パラメータCP1とを比較して、AD変換器104の出力異常の有無を診断することができる。
【0051】
また、電子制御装置100が、例えば、エンジンの吸気負圧(ブースト)に応じた電圧信号を出力するセンサの出力をAD変換器104で変換して吸気負圧データを検出する場合、係る吸気負圧データを第1制御パラメータCP1若しくは第2制御パラメータCP2とし、スロットル開度データTVO又は吸入空気量データQAを第2制御パラメータCP2若しくは第1制御パラメータCP1とし、これら第1制御パラメータCP1と第2制御パラメータCP2とを比較して、AD変換器104の出力異常の有無を診断することができる。
【0052】
更に、CPU101は、吸気負圧データを第1制御パラメータCP1とし、車速VSP及びエンジン回転数NEから推定した吸気負圧を期待値Aex(第2制御パラメータCP2)とし、係る第1制御パラメータCP1と期待値Aexとを比較してAD変換器104の出力異常の有無を診断することができる。
【0053】
また、CPU101は、AD変換器104の出力から求めた制御パラメータCP1,CP2同士を比較し、更に、これらの制御パラメータCP1,CP2のうちの少なくとも1つについて、パルス出力を発生するセンサから求めた複数の制御パラメータに基づき期待値Aexを求めて、当該期待値Aexと制御パラメータとを比較することができる。
【0054】
また、上記実施形態では、CPU101は、比R1,R2(又は差)が正常範囲を逸脱した連続回数が閾値SL1,SL2以上になったときに、CPU101はAD変換器104の出力異常を判定するが、連続回数の計数処理を省略することができる。つまり、CPU101は、比R1,R2(又は差)が正常範囲を逸脱したときにAD変換器104の出力異常を判定することができる。
【0055】
また、CPU101は、比R1,R2(又は差)が正常範囲を逸脱した連続回数の増大に応じ、エンジン出力をより低く制限するフェイルセーフ処理に切り替えることができる。
また、CPU101は、比R1,R2(又は差)と正常範囲(正常値)との乖離が大きくなるほど、カウンタC1,C2をインクリメントするときのステップ幅を大きくし、最終的な異常判定のタイミングを早めることができる。
【0056】
また、自動車用電子制御装置100の制御対象をエンジン200に限定するものではなく、例えば、自動変速機を制御する自動車用電子制御装置100にも本願発明に係るAD変換器の診断処理を適用することが可能である。
例えば、自動変速機を制御する自動車用電子制御装置100の場合、ATフルードの温度を検出する油温センサの電圧信号、油圧を検出する圧力センサの電圧信号などのアナログ信号がAD変換器を介してCPU101に読み込まれ、入力軸の回転数(rpm)を検出する回転センサのパルス信号などのパルス信号がパルス入力回路(信号検出回路)を介してCPU101に読み込まれる。
そして、CPU101は、油温や油圧などの検出データを第1制御パラメータとし、係る第1制御パラメータに相関して変化する第2制御パラメータと第1制御パラメータとを比較することで、AD変換器の出力異常の有無を診断することができる。
【0057】
また、CPU101は、第2制御パラメータとして、CAN(Controller Area Network)を介して他の電子制御装置から送信される制御パラメータを用いることができる。
また、アナログ出力を発生するセンサを多重に備える場合に、CPU101は、係る多重センサのうちの1つのアナログ出力をAD変換器でデジタル信号に変換して求められる制御パラメータを第1制御パラメータとし、多重センサのうちの別のセンサのアナログ出力をAD変換器でデジタル信号に変換して求められる制御パラメータを第2制御パラメータとし、これら第1制御パラメータと第2制御パラメータとを比較して、AD変換器の出力異常の有無を診断することができる。