(57)【要約】【課題】処理負荷が高くなることを抑制しつつ、トルクの監視が正確に行われるか否かを判定できる内燃機関制御システムを提供すること。【解決手段】ＥＣＵは、エンジンの燃焼状態を制御する制御部と、エンジンに要求されている要求トルクと、エンジンの実トルクの推定値である推定トルクとを用いて、トルク異常状態であるか否かのトルク監視を行う監視部と、を備えている。監視部は、エアフロセンサで検出された空気流量を取得するとともに、インジェクタ５０への駆動信号とエンジン回転数とを用いて空気流量の推定値である推定空気流量を推定する（Ｓ１０〜Ｓ４０）。そして、監視部は、取得した空気流量と、推定した推定空気流量とを比較して、空気流量と推定空気流量との乖離が所定量に達していると判定した場合、トルク監視が正常に行われないと診断する（Ｓ５０〜Ｓ７０）。【選択図】図３
2019094873.tif 000002
【特許請求の範囲】
【請求項１】
ドライバが要求する内燃機関の駆動トルクに応じて、少なくとも燃料噴射装置を駆動制御しつつ、前記内燃機関の燃焼状態を制御する制御部（２０）と、
前記内燃機関に要求されている要求トルクと、前記内燃機関の実トルクの推定値である推定トルクとを用いて、トルク異常状態であるか否かのトルク監視を行う監視部（３０）と、を備え、
前記監視部は、
空気流量センサで検出された、前記内燃機関の気筒に供給される空気流量を取得する取得部（Ｓ４０）と、
前記燃料噴射装置への駆動信号と前記内燃機関の回転数とを用いて、前記空気流量の推定値である推定空気流量を推定する推定部（Ｓ１０〜Ｓ３０）と、
前記取得部にて取得した前記空気流量と、前記推定部にて推定した前記推定空気流量とを比較して、前記空気流量と前記推定空気流量との乖離が所定量に達していると判定した場合、前記トルク監視が正常に行われないと診断する異常診断部（Ｓ５０〜Ｓ７０）と、を備えている内燃機関制御システム。
【請求項２】
前記異常診断部は、前記乖離が前記所定量に達していると判定し、さらに、前記乖離が前記所定量に達している状態が所定時間継続した場合に、前記トルク監視が正常に行われないと診断する請求項１に記載の内燃機関制御システム。
【請求項３】
前記推定部は、前記駆動信号と前記回転数に加えて、前記燃料噴射装置に供給する燃料を高圧の状態で蓄える蓄圧部の燃料圧力とを用いて、前記推定空気流量を推定する請求項１又は２に記載の内燃機関制御システム。
【請求項４】
前記推定部は、前記駆動信号と前記回転数に加えて、前記内燃機関から排出される排気ガスの空燃比に関する情報である空燃比情報を用いて、前記推定空気流量を推定する請求項１又は２に記載の内燃機関制御システム。
【請求項５】
前記推定部は、前記駆動信号と前記回転数に加えて、前記内燃機関から排出される排気ガスの空燃比の目標値である目標空燃比を用いて、前記推定空気流量を推定する請求項１又は２に記載の内燃機関制御システム。
【請求項６】
前記内燃機関の排気中におけるガス成分の濃度を検出する排気センサ、又は前記内燃機関の運転状態を用いて、燃料噴射量のフィードバック制御が行われていない状態又は行えない状態であるか否かを判定するフィードバック判定部（Ｓ１００、Ｓ１１０）を、さらに備え、
前記異常診断部は、前記フィードバック判定部にて前記フィードバック制御が行われていない状態又は行えない状態であると判定された場合、前記フィードバック制御が行われていない状態又は行えない状態であると判定されていない場合よりも、前記所定量を大きくすることで、前記トルク監視が正常に行われないと診断されにくくする請求項１乃至５のいずれか一項に記載の内燃機関制御システム。
【請求項７】
前記内燃機関の排気中におけるガス成分の濃度を検出する排気センサ、又は前記内燃機関の運転状態を用いて、燃料噴射量のフィードバック制御が行われていない状態又は行えない状態であるか否かを判定するフィードバック判定部（Ｓ１００、Ｓ１１０）を、さらに備え、
前記異常診断部は、前記フィードバック判定部にて前記フィードバック制御が行われていない状態又は行えない状態であると判定された場合、前記トルク監視が正常に行われているか否かの診断を行わない請求項１乃至５のいずれか一項に記載の内燃機関制御システム。
【請求項８】
前記異常診断部は、前記空気流量と前記推定空気流量との乖離に基づいて、前記トルク監視が正常に行われないと診断した場合、前記空気流量センサが異常と診断する請求項１乃至７のいずれか一項に記載の内燃機関制御システム。
【請求項９】
前記監視部は、前記空気流量センサで検出された前記空気流量を用いて前記推定トルクを推定するものであり、前記空気流量センサが異常と診断されていない場合は、前記空気流量を用いて推定した前記推定トルクを用いて前記トルク監視を行い、前記空気流量センサが異常と診断された場合は、前記推定空気流量を用いて前記推定トルクを推定するとともに、前記推定空気流量を用いて推定した前記推定トルクを用いて前記トルク監視を行う請求項８に記載の内燃機関制御システム。
【請求項１０】
前記監視部は、前記空気流量センサで検出された前記空気流量を用いて前記推定トルクを推定するものであり、前記空気流量センサが異常と診断されていない場合は、前記空気流量を用いて推定した前記推定トルクを用いて前記トルク監視を行い、前記空気流量センサが異常と診断された場合は、前記推定空気流量を用いて前記推定トルクを推定し、前記空気流量を用いて推定した前記推定トルクと、前記推定空気流量を用いて推定した前記推定トルクのうち大きいトルクを示す方を用いて前記トルク監視を行う請求項８に記載の内燃機関制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、内燃機関制御システムに関する。
【背景技術】
【０００２】
従来、機関の回転数と吸気管圧力又はスロットル開度とから機関の吸入空気量を推定し、推定吸入空気量と空気流量センサによる吸入空気量を比較して、空気流量センサの故障を検出する内燃機関の燃料制御装置がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平４−２６２０３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、内燃機関制御システムの一例とし、内燃機関の制御を行う制御部とは別に、要求トルクと推定トルクとを比較することで、トルクを監視する監視部を備えている技術が考えられる。また、推定トルクは、機関の吸入空気量を用いて算出することができる。
【０００５】
この場合、監視部は、推定トルクを算出するために用いるセンサが故障などによって異常な値を出力すると、その異常な値を用いて推定トルクを算出してしまうので、トルクを正確に監視できない。そこで、特許文献１に開示されているように、推定吸入空気量と空気流量センサによる吸入空気量を比較して空気流量センサの故障を検出することで、トルクの監視が正確に行われているか否かを判断することが考えられる。
【０００６】
しかしながら、特許文献１に開示されている吸気管圧センサやスロットル開度センサなどを用いた吸気の圧力変化に基づく吸気流量推定モデルは、圧力変化が早いため、高周期でサンプリングする必要があり、モデル推定を行う装置の処理負荷が高くなる。
【０００７】
本開示は、上記問題点に鑑みなされたものであり、処理負荷が高くなることを抑制しつつ、トルクの監視が正確に行われるか否かを判定できる内燃機関制御システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために本開示は、
ドライバが要求する内燃機関の駆動トルクに応じて、少なくとも燃料噴射装置を駆動制御しつつ、内燃機関の燃焼状態を制御する制御部（２０）と、
内燃機関に要求されている要求トルクと、内燃機関の実トルクの推定値である推定トルクとを用いて、トルク異常状態であるか否かのトルク監視を行う監視部（３０）と、を備え、
監視部は、
推定トルクを推定するために、空気流量センサで検出された、内燃機関の気筒に供給される空気流量を取得する取得部（Ｓ４０）と、
燃料噴射装置への駆動信号と内燃機関の回転数とを用いて、空気流量の推定値である推定空気流量を推定する推定部（Ｓ１０〜Ｓ３０）と、
取得部にて取得した空気流量と、推定部にて推定した推定空気流量とを比較して、空気流量と推定空気流量との乖離が所定量に達していると判定した場合、トルク監視が正常に行われないと診断する異常診断部（Ｓ５０〜Ｓ７０）と、を備えていることを特徴とする。
【０００９】
このように、本開示は、燃料噴射装置への駆動信号と内燃機関の回転数とから推定した推定空気流量を取得する。つまり、燃料噴射装置への駆動信号と内燃機関の回転数がわかれば、単位時間あたり／単位気筒あたりの燃料噴射量が概算できる。また、単位時間あたり／単位気筒あたりの燃料噴射量が分かれば、それに応じてどの程度の空気が内燃機関に供給されているかも概算できる。よって、本開示は、燃料噴射装置への駆動信号と内燃機関の回転数とから空気流量を推定することができる。
【００１０】
この燃料噴射装置への駆動信号や内燃機関の回転数は、吸気の圧力変化ほど急激な変化をしない。このため、本開示は、吸気管圧センサやスロットル開度センサなどを用いて、吸気の圧力変化を用いて空気流量を推定する場合ほど高周期でサンプリングする必要がない。よって、本開示は、推定空気流量を取得するために処理負荷が高くなることを抑制することができる。
【００１１】
また、本開示は、このように推定した推定空気流量と空気流量センサで検出された空気流量との乖離が所定量に達しているか否かを判定する。そして、本開示は、推定空気流量と空気流量との乖離が所定量に達している場合、燃料噴射装置の駆動信号、内燃機関の回転数、空気流量センサによる空気流量のいずれかが正常ではないと判断することができる。さらに、本開示は、空気流量センサによる空気流量によって推定トルクを推定するので、推定空気流量と空気流量との乖離が所定量に達している場合、トルク監視が正常に行われないと判断することができる。このように、本開示は、処理負荷が高くなることを抑制しつつ、トルク監視が正確に行われているか否かを判定することができる。
【００１２】
なお、特許請求の範囲、及びこの項に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本開示の技術的範囲を限定するものではない。
【図面の簡単な説明】
【００１３】
【図１】第１実施形態におけるＥＣＵの概略構成を示すブロック図である。
【図２】第１実施形態における制御部と監視部の概略構成を示すブロック図である。
【図３】第１実施形態における監視部の処理動作を示すフローチャートである。
【図４】第２実施形態における制御部と監視部の概略構成を示すブロック図である。
【図５】第３実施形態における監視部の処理動作を示すフローチャートである。
【図６】第４実施形態における監視部の処理動作を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下において、図面を参照しながら、本開示を実施するための複数の形態を説明する。各形態において、先行する形態で説明した事項に対応する部分には同一の参照符号を付して重複する説明を省略する場合がある。各形態において、構成の一部のみを説明している場合は、構成の他の部分については先行して説明した他の形態を参照し適用することができる。
【００１５】
（第１実施形態）
図１は、車両に搭載された電子制御装置（Electronic Control Unit）であって、車両に搭載された内燃機関の動作を制御するＥＣＵ１０を示す。本実施形態では、内燃機関制御システムをＥＣＵ１０に適用した例を採用する。本実施形態に係る内燃機関は点火着火式のガソリンエンジンであるが、自着火式のディーゼルエンジンであってもよい。以下においては、内燃機関を単にエンジンとも記載する。
【００１６】
ＥＣＵ１０は、ＭＣＵ１１(Micro Controller Unit)、点火駆動ＩＣ１２、燃料噴射弁駆動ＩＣ１３、電子スロットル駆動ＩＣ１４、第２通信部１５及び統合ＩＣ１６などを備えている。以下においては、燃料噴射弁駆動ＩＣ１３をＩＮＪ駆動ＩＣ１３、電子スロットル駆動ＩＣ１４を電スロ駆動ＩＣ１４と略称で記載する。
【００１７】
ＭＣＵ１１は、演算処理装置であるＣＰＵ１１ａと、記憶媒体であるメモリ１１ｍと、入力処理回路１１ｂと、第１通信部１１ｃと、ＣＰＵチェック部１１ｄなどを備えている。また、ＭＣＵ１１は、制御部２０及び監視部３０を有している。これらは、いずれについても、共通するＣＰＵ１１ａ及びメモリ１１ｍにより提供される機能である。すなわち、メモリ１１ｍの制御用記憶領域２０ｍに記憶された制御プログラムをＣＰＵ１１ａが実行している時のＣＰＵ１１ａ及びメモリ１１ｍは、制御部２０として機能する。一方、メモリ１１ｍの監視用記憶領域３０ｍに記憶された監視プログラムをＣＰＵ１１ａが実行している時のＣＰＵ１１ａ及びメモリ１１ｍは、監視部３０として機能する。制御用記憶領域２０ｍ及び監視用記憶領域３０ｍは、メモリ１１ｍの記憶領域のうち異なる領域に、別々に設定されている。
【００１８】
しかしながら、本開示は、これに限定されない。ＥＣＵ１０は、ＣＰＵとメモリとを含む制御部２０と、制御部２０とは異なるＣＰＵとメモリとを含む監視部３０とを備えていてもよい。
【００１９】
図１に示す例では、ＭＣＵ１１は１つの半導体チップ上に、ＣＰＵ１１ａ、メモリ１１ｍ、入力処理回路１１ｂ、第１通信部１１ｃ及びＣＰＵチェック部１１ｄが集積されているが、複数の半導体チップに分散して集積させてもよい。また、複数の半導体チップに分散して集積させた場合、共通の基板に複数の半導体チップを実装させてもよいし、複数の基板の各々に半導体チップを実装させてもよい。さらに、共通した１つの筐体に各々の半導体チップを収容させてもよいし、別々の筐体に収容させてもよい。
【００２０】
メモリ１１ｍは、プログラム及びデータを記憶する記憶媒体であり、ＣＰＵ１１ａによって読み取り可能なプログラムを非一時的に格納する非遷移的実体的記憶媒体を含む。記憶媒体は、半導体メモリ又は磁気ディスクなどによって提供されうる。メモリ１１ｍに記憶されたプログラムは、ＣＰＵ１１ａによって実行されることで、ＥＣＵ１０をこの明細書に記載される装置として機能させ、この明細書に記載される方法を実行するように制御装置を機能させる。なお、メモリ１１ｍは、データを一時的に格納する記憶媒体を含んでいてもよい。
【００２１】
制御装置が提供する手段及び／又は機能は、実体的な記憶媒体に記録されたソフトウェア及びそれを実行するコンピュータ、ソフトウェアのみ、ハードウェアのみ、あるいはそれらの組合せによって提供することができる。例えば、制御装置がハードウェアである電子回路によって提供される場合、それは多数の論理回路を含むデジタル回路、又はアナログ回路によって提供することができる。
【００２２】
ＭＣＵ１１には、例えば、アクセル開度センサ４１、スロットルセンサ、カムセンサ、クランクセンサ４２、エアフロセンサ４３、水温センサ、インマニ圧センサなどが、入力処理回路１１ｂと電気的に接続されている。また、ＭＣＵ１１には、外部ＥＣＵが第１通信部１１ｃと電気的に接続されている。よって、ＭＣＵ１１は、各種センサからのセンサ信号や外部ＥＣＵからの外部信号が入力される。
【００２３】
アクセル開度センサは、車両の運転者によるアクセル操作量に応じた電気信号を出力する。なお、電気信号は、例えば電圧信号である。ＭＣＵ１１は、アクセル開度センサ４１からのセンサ信号に基づき、車両の運転者つまりエンジンのドライバが操作したアクセルペダルの踏込量を演算する。
【００２４】
スロットルセンサは、スロットルバルブの開度（スロットル開度）に応じたセンサ信号を出力する。ＭＣＵ１１は、スロットルセンサからのセンサ信号に基づき、スロットル開度を演算する。
【００２５】
カムセンサは、カムシャフトの回転に応じてパルス状のセンサ信号を出力する。クランクセンサ４２は、エンジンのクランクシャフト（出力軸）の回転に応じてパルス状のセンサ信号を出力する。ＭＣＵ１１は、クランクセンサ４２からのセンサ信号に基づき、クランクシャフトの単位時間当りの回転数、つまりエンジン回転数を演算する。また、ＭＣＵ１１は、カムセンサ及びクランクセンサ４２からのセンサ信号に基づき、気筒判別を行う。なお、エンジン回転数は、内燃機関の回転数に相当する。
【００２６】
エアフロセンサ４３は、空気流量センサに相当し、エンジンの吸入空気量に応じた信号を出力する。ＭＣＵ１１は、エアフロセンサ４３より出力されるセンサ信号に基づき、吸気流量や流速を演算する。また、吸気流量は、推定トルクの算出に用いるパラメータである。吸気流量は、空気流量に相当する。
【００２７】
水温センサは、エンジンを冷却する冷却水の温度に応じた信号を出力する。ＭＣＵ１１は、水温センサからのセンサ信号に基づき、冷却水の温度を演算する。インマニ圧センサは、サージタンク又は吸気マニホールド内の吸気圧に応じたセンサ信号を出力する。ＭＣＵ１１は、インマニ圧センサからのセンサ信号に基づき、燃焼室へ吸入される吸気の圧力を演算する。
【００２８】
外部ＥＣＵから出力された外部信号は、例えば、エンジンの出力軸を駆動源とする補機の動作状態を表す信号が挙げられる。上記補機の具体例としては、車室内を空調する空調装置が有している。冷媒圧縮機であって、エンジンの出力軸を駆動源とするコンプレッサが挙げられる。
【００２９】
点火駆動ＩＣ１２は、点火装置と電気的に接続されている。点火駆動ＩＣ１２は、エンジンが備えている点火装置への電力供給と、電力供給の遮断を制御するスイッチング素子を有している。ＭＣＵ１１は、このスイッチング素子への指令信号を出力する。具体的には、ＭＣＵ１１は、上記した各種信号に基づき、点火装置で放電点火させる時期の目標値である目標点火時期を演算し、演算した目標点火時期に応じて指令信号を点火駆動ＩＣ１２へ出力する。なお、目標点火時期は、要求点火時期と言い換えることもできる。
【００３０】
ＩＮＪ駆動ＩＣ１３は、図２に示すように、インジェクタ５０に電気的に接続されている。ＩＮＪ駆動ＩＣ１３は、エンジンが備えているインジェクタ５０の燃料噴射弁への電力供給と遮断を制御するスイッチング素子を有している。ＭＣＵ１１は、このスイッチング素子への指令信号を出力する。具体的には、ＭＣＵ１１は、上記した各種信号に基づき、燃料噴射弁で燃料噴射させる期間（つまり噴射量）の目標値である目標噴射量を演算し、演算した目標噴射量に応じて指令信号をＩＮＪ駆動ＩＣ１３へ出力する。なお、目標噴射量は、要求噴射量と言い換えることもできる。
【００３１】
そして、ＭＣＵ１１は、ＩＮＪ駆動ＩＣ１３への指令信号によってスイッチング素子を制御して、インジェクタ５０の燃料噴射弁への電力供給を示す駆動信号と、電力供給の遮断を示す駆動信号を出力することで、インジェクタ５０の燃料噴射弁を駆動する。このように、ＭＣＵ１１は、ＩＮＪ駆動ＩＣ１３におけるスイッチング素子を介して、インジェクタ５０への駆動信号を出力する、と言える。なお、インジェクタ５０は、燃料噴射装置に相当する。
【００３２】
電スロ駆動ＩＣ１４は、図２に示すように、電子スロットル６０に電気的に接続されている。電スロ駆動ＩＣ１４は、エンジンが備えている電子スロットル６０における電子スロットルバルブ（電スロ）への電力供給と、電力供給の遮断を制御するスイッチング素子を有している。ＭＣＵ１１は、このスイッチング素子への指令信号を出力する。具体的には、ＭＣＵ１１は、上記した各種信号に基づき、電スロのバルブ開度の目標値である目標開度を演算し、演算した目標開度に応じて指令信号を電スロ駆動ＩＣ１４へ出力する。なお、目標開度は、要求吸気流量と言い換えることもできる。
【００３３】
このように、ＥＣＵ１０は、点火装置、燃料噴射弁及び電スロの動作を制御することで、エンジンの燃焼状態を制御する。つまり、ＥＣＵ１０は、少なくともインジェクタ５０を駆動制御しつつ、エンジンの燃焼状態を制御するとも言える。そして、ＭＣＵ１１により演算される目標点火時期、目標噴射量及び目標開度は、エンジンの燃焼状態を制御する制御量の目標値である目標制御量に相当する。
【００３４】
第２通信部１５は、ＭＣＵ１１からの指示に応じて、ＭＣＵ１１が把握している各種情報を外部ＥＣＵへ出力する。ＭＣＵ１１は、例えば、トルク監視異常、エアフロセンサ異常など異常が生じている旨を表す異常フラグの信号を、第２通信部１５を介して、車両運転者が視認する表示装置の動作を制御する表示ＥＣＵへ出力する。表示ＥＣＵは、異常フラグの信号を取得した場合に警告表示や警告音を発生させる。しかしながら、本開示は、警告表示や警告音を発生させなくて目的を達成できる。
【００３５】
ＣＰＵチェック部１１ｄは、メモリ１１ｍに記憶されているプログラム及びデータが正常であるか否かのチェックを実行する等、ＣＰＵ１１ａ及びメモリ１１ｍが正常であるか否かをチェックする。このチェックは、例えばパリティチェックなどを採用できる。
【００３６】
統合ＩＣ１６は、図示しないメモリ、及びメモリに記憶されている各種のプログラムを実行するＣＰＵ等を備えている。統合ＩＣ１６は、ＣＰＵが実行するプログラムに応じて、マイコン監視部１６ａとして機能したり、電スロカット部１６ｂとして機能したりする。マイコン監視部１６ａは、ＣＰＵチェック部１１ｄのチェック結果を参照しつつ、ＭＣＵ１１の動作不良を監視する。
【００３７】
統合ＩＣ１６は、マイコン監視部１６ａが異常を検出した場合には、電スロの動作を制限するといった電スロカットの制御を実行する。電スロカット部１６ｂは、電スロ駆動ＩＣ１４へ電スロカットを指令する信号である電スロカット指令信号を出力する。統合ＩＣ１６は、電スロカット指令信号を出力することで、例えば、アクセル開度にかかわらず、予め設定しておいた所定開度に目標開度を固定して、エンジンの出力が所定出力未満となるように制限する。あるいは、目標開度をゼロにしてエンジンを強制的に停止させる。なお、電スロ駆動ＩＣ１４は、ＭＣＵ１１から出力される指令信号よりも電スロカット指令信号を優先して動作する。
【００３８】
制御部２０は、ドライバが要求するエンジンの駆動トルクであるユーザ要求トルクに応じて、上記目標制御量を算出する。一方、監視部３０は、エンジンに要求されている要求トルクと、エンジンの実トルクの推定値である推定トルクとを用いて、トルク異常状態であるか否かのトルク監視を行う。このように、ＥＣＵ１０は、制御部２０と監視部３０とを備えた内燃機関制御システムを提供する。
【００３９】
まず、制御部２０に関して説明する。制御部２０は、要求トルク算出部２１及び駆動信号出力部２２としての機能を有している。要求トルク算出部２１は、入力処理回路１１ｂ及び第１通信部１１ｃから取得した各種信号に基づき、エンジンに要求するべきトルクである要求トルクを算出する。なお、要求トルクは、エンジンに要求するべきトルクであるため、機関要求トルクとも言える。
【００４０】
ここで、図２を用いて、要求トルク算出部２１に関して詳しく説明する。なお、図２においては、複数のＩＣのうちＩＮＪ駆動ＩＣ１３及び電スロ駆動ＩＣ１４のみを図示している。
【００４１】
要求トルク算出部２１は、ドライバ要求トルク算出部２１ａと目標トルク算出部２１ｂとを有している。ドライバ要求トルク算出部２１ａは、アクセル開度センサ４１からのセンサ信号、すなわちアクセル開度に基づきドライバ要求トルクを算出する。アクセル開度が大きいほど、ドライバ要求トルクは大きい値に算出される。例えば、アクセル開度とドライバ要求トルクとの相関を表すマップをメモリ１１ｍに予め記憶させておき、ドライバ要求トルク算出部２１ａは、そのマップを参照して、アクセル開度に応じたドライバ要求トルクを算出する。
【００４２】
なお、ドライバ要求トルク算出部２１ａは、アクセル開度に加えて、エンジン回転数に基づきドライバ要求トルクを算出してもよい。この場合、エンジン回転数が高回転数であるほど、ドライバ要求トルクは大きい値に算出される。また、エンジン回転数及びアクセル開度とドライバ要求トルクとの相関を表すマップをメモリ１１ｍに予め記憶させておき、ドライバ要求トルク算出部２１ａは、そのマップを参照して、エンジン回転数及びアクセル開度に応じたドライバ要求トルクを算出する。
【００４３】
目標トルク算出部２１ｂは、ドライバ要求トルクを用いて機関要求トルクを算出する。例えば、目標トルク算出部２１ｂは、リザーブ込みトルクを、トルク効率で除算して、機関要求ルクを算出する。要するに、目標トルク算出部２１ｂは、総ロストルク及びリザーブトルクをドライバ要求トルクに加算した値を、トルク効率で除算することで、機関要求トルクを算出する。
【００４４】
この場合、目標トルク算出部２１ｂは、ポンプロス、フリクションロス、及びロストルク学習値などを加算して、総ロストルクを算出する。さらに、目標トルク算出部２１ｂは、ドライバ要求トルク、総ロストルク、及び外部要求トルクを加算して、ロス込みトルクを算出する。外部要求トルクの具体例としては、車載バッテリへの充電を目的として、内燃機関で駆動する発電機による発電量を増大させるといった、発電増大分のトルクが挙げられる。
【００４５】
なお、ポンプロスは、エンジンのピストンが往復動する際に吸排気から受ける抵抗によるエネルギーロスである。フリクションロスは、エンジンのピストンが往復動する際のシリンダとの摩擦による機械エネルギーロスである。
【００４６】
また、目標トルク算出部２１ｂは、ロス込みトルクに、リザーブトルクを加算して、リザーブ込みトルクを算出する。具体的には、目標トルク算出部２１ｂは、アイドルリザーブ、触媒暖機リザーブ及び補機リザーブの各々に相当するトルクを加算してリザーブトルクを算出する。アイドルリザーブトルクとは、内燃機関のアイドル運転時に発進性／加速性を考慮して意図的に点火遅角状態からの点火進角による即応性を向上させるトルクアップ分に相当するトルクのことである。触媒暖機リザーブトルクとは、内燃機関の排気を浄化する触媒を活性化温度以上に温度上昇させるべく排気温度を上昇させる暖機制御を実施するにあたり、排気温度を上昇させることに用いる燃焼エネルギのロス分をトルクに換算した値のことである。補機リザーブトルクとは、内燃機関を駆動源とする発電機等の補機を駆動させるのに要するトルクのことである。また、これら各々のリザーブトルクは、エンジン回転数、エンジン負荷及び水温等のエンジンの運転状態に応じて設定される。
【００４７】
さらに、目標トルク算出部２１ｂは、最大トルク発生点火時期（ＭＢＴ点火時期）、ノック学習込みベース遅角量及び目標ラムダに基づき、トルク効率を算出する。ＭＢＴ点火時期とは、最大トルクが得られる点火時期のことであり、エンジン回転数やエンジン負荷、水温等に応じて異なる時期となる。但し、ＭＢＴ点火時期ではノッキングが生じやすいので、ＭＢＴ点火時期よりも所定時間遅い時期、つまり所定角度遅角させた時期で点火させることが要求される。その遅角させた時期をベース点火時期と呼ぶ。その遅角量（ベース遅角量）は、エンジン回転数やエンジン負荷、水温等に応じて異なる。
【００４８】
また、ノッキングがセンサで検出された場合には、点火時期を所定時間だけ遅角させるように補正するフィードバック制御を実行してもよい。この遅角補正量（ノック学習量）を次回以降の点火時期制御に反映させる学習制御をノック学習と呼ぶ。そして、ベース点火時期にノック学習量を反映させた時期が目標点火時期に相当する。
【００４９】
制御部２０は、ＭＢＴ点火時期から目標点火時期を減算して得られた時期を、ＭＢＴ点火時期に対する目標点火時期の遅角量であるＭＢＴ遅角量として算出する。制御部２０は、算出したＭＢＴ遅角量及び目標ラムダに基づき、トルク効率を算出する。
【００５０】
トルク効率とは、燃焼室での燃焼エネルギのうち、クランク軸の回転トルクに変換される分のエネルギの割合のことである。ＭＢＴ遅角量が小さいほど、つまり目標点火時期がＭＢＴ点火時期に近いほど、トルク効率は高い値に算出される。目標ラムダとは、燃焼室で燃焼する混合気に含まれる、空気と燃料の比率（ラムダ）の目標値のことである。目標トルク算出部２１ｂは、目標ラムダに応じた値にトルク効率を算出する。例えば、ＭＢＴ遅角量及び目標ラムダとトルク効率との相関を表すマップをメモリ１１ｍに予め記憶させておき、目標トルク算出部２１ｂは、そのマップを参照して、ＭＢＴ遅角量及び目標ラムダに応じたトルク効率を算出する。
【００５１】
なお、上記したＭＢＴ点火時期、ベース点火時期及び目標ラムダの各々は、エンジン回転数、エンジン負荷及び水温等のエンジンの運転状態に応じて、制御部２０により設定される。
【００５２】
また、上記ノック学習に係る学習制御は、制御部２０により実行される。本実施形態に係るＥＣＵ１０は、点火駆動ＩＣ１２から出力される駆動電流又は電圧を検出する検出回路を備えている。そして、制御部２０は、その検出回路による検出値を用いて機関要求トルクを演算している。具体的には、上記検出値に基づき実点火時期を算出し、その実点火時期を用いてノック学習に係る学習制御を実行し、ノック学習量を算出している。
【００５３】
なお、ここで採用した、機関要求トルクの算出方法は、一例に過ぎない。本開示は、これに限定されない。つまり、機関要求トルクの算出方法は、特に限定されない。
【００５４】
駆動信号出力部２２は、要求吸気流量算出部２２ａと要求噴射量算出部２２ｂなどを備えている。駆動信号出力部２２は、要求トルク算出部２１で算出された機関要求トルクに応じて目標制御量を算出し、算出した目標制御量に応じて各ＩＣ１２〜１４に各種指令信号を出力することで、各アクチュエータ５０、６０などに駆動信号を出力する。
【００５５】
例えば、要求吸気流量算出部２２ａは、要求トルク算出部２１で算出された機関要求トルクに応じて要求吸気流量を算出し、算出した要求吸気流量に応じて電スロ駆動ＩＣ１４に指令信号を出力する。このようにして、要求吸気流量算出部２２ａは、電子スロットル６０に駆動信号を出力する。また、要求噴射量算出部２２ｂは、要求トルク算出部２１で算出された機関要求トルクに応じて要求空燃比を算出し、算出した要求空燃比と吸気流量から算出した要求噴射量に応じてＩＮＪ駆動ＩＣ１３に指令信号を出力する。このようにして、要求噴射量算出部２２ｂは、インジェクタ５０に駆動信号を出力する。なお、駆動信号出力部２２は、要求トルク算出部２１で算出された機関要求トルクに応じて要求点火時期を算出し、算出した要求点火時期に応じて点火駆動ＩＣ１２に指令信号を出力する。
【００５６】
次に、監視部３０に関して説明する。監視部３０は、エンジンに要求されている要求トルクと、エンジンの実トルクの推定値である推定トルクとを用いて、トルク異常状態であるか否かのトルク監視を行う。このように、ＥＣＵ１０は、制御部２０と監視部３０とを備えた内燃機関制御システムを提供する。
【００５７】
要求トルクは、エンジンに要求されているトルクのことであり、制御部２０の要求トルク算出部２１により算出される要求トルクと同義である。但し、監視部３０で算出される要求トルクは、トルク異常の監視に用いられる値である。一方、制御部２０で算出される要求トルクは、エンジンに対する目標制御量の算出に用いられる値である。つまり、監視用の要求トルクと制御用の要求トルクは、用途が異なる。また、監視用の要求トルクと制御用の要求トルクは、メモリ１１ｍの記憶領域のうち異なる領域に記憶されたプログラムによって演算された値である。
【００５８】
監視部３０は、図１に示すように、入力保障部３１、トルク監視部３２としての機能を有している。入力保障部３１は、図２に示すように、噴射量変換部３１ａ、推定吸気流量算出部３１ｂ、特性診断部３１ｃとしての機能を有している。
【００５９】
入力保障部３１は、入力処理回路１１ｂ及び第１通信部１１ｃから取得した各種信号のデータが正常であることをチェックする。入力保障部３１は、異常であれば、データ修復、データ再取得、データ廃棄等を実行する。これにより、監視部３０は、異常データを用いて各種算出を行うことを回避できる。つまり、入力保障部３１は、監視部３０による算出に用いられる各種データが正常であることを保障する。ここでのチェックは、上記と同様に、パリティチェックなどを採用できる。
【００６０】
また、入力保障部３１は、ＩＮＪ駆動ＩＣ１３の駆動信号が入力され、この駆動信号が正常であることをチェックする。そして、入力保障部３１は、トルク監視部３２によるトルク監視が正常に行われているか否かを診断する。この点に関しては、後程詳しく説明する。
【００６１】
トルク監視部３２は、要求トルク算出部３２ａ、推定トルク算出部３２ｂ、トルク異常判定部３２ｃ及び電スロカット制御部３２ｄとしての機能を有している。トルク異常判定部３２ｃは、要求トルク算出部３２ａにより算出された機関要求トルクと、推定トルク算出部３２ｂにより算出された推定トルクとの差分を算出し、その差分が所定以上であればトルク異常状態であると判定する。トルク異常状態であると判定された場合、電スロカット制御部３２ｄは、電スロカット部１６ｂと同様にして、電スロ駆動ＩＣ１４へ電スロカットを指令する信号を出力する。なお、トルク監視部３２は、トルク異常状態であると判定された場合、ＩＮＪ駆動ＩＣ１３への通電をカットしてもよい。
【００６２】
要求トルク算出部３２ａは、例えば、触媒暖機要求トルク及びアイドル要求トルクと、ドライバ要求トルクと、外部要求トルクとを加算して機関要求トルクを算出する。要求トルク算出部３２ａは、入力処理回路１１ｂ及び第１通信部１１ｃから取得した各種信号であって、入力保障部３１により保障された信号に基づき機関要求トルクを算出する。
【００６３】
この場合、要求トルク算出部３２ａは、触媒暖機目標回転数及びアクセル開度に基づき、触媒暖機要求トルクを算出する。エンジンの排気を浄化する触媒を活性化温度以上に温度上昇させるべく排気温度を上昇させる暖機制御を実行している期間におけるエンジン回転数の目標値が触媒暖機目標回転数である。そして、要求トルク算出部３２ａは、暖機制御を実行している期間におけるアクセル開度及び触媒暖機目標回転数に基づき、触媒暖機要求トルクを算出する。
【００６４】
触媒暖機要求トルクとは、触媒暖機リザーブトルクと同義である。但し、監視部３０で算出される触媒暖機要求トルクは、トルク異常の監視に用いられる値である。一方、制御部２０で算出される触媒暖機リザーブトルクは、エンジンに対する目標制御量の算出に用いられる値である。つまり、これら監視用の触媒暖機要求トルクと制御用の触媒暖機リザーブトルクは、メモリ１１ｍの記憶領域のうち異なる領域に記憶されたプログラムによって演算された値である。
【００６５】
なお、本実施形態では、触媒暖機要求トルクの算出に用いる変数の例示として触媒暖機目標回転数及びアクセル開度を記載しているが、他の変数として、水温、ドライバ要求トルク、エンジン回転数及び吸気充填効率が挙げられる。吸気充填効率とは、スロットルバルブを通過した吸気の流量に対する、燃焼室で圧縮される吸気の流量の比率のことである。要求トルク算出部３２ａは、これらの変数の少なくとも１つを用いて触媒暖機要求トルクを算出する。
【００６６】
要求トルク算出部３２ａは、アクセルペダルが踏み込まれていない時の触媒暖機目標回転数が大きいほど、触媒暖機要求トルク（リザーブ量）を大きく算出する。また、要求トルク算出部３２ａは、アクセルペダルが踏み込まれている時のアクセル開度が所定未満であれば触媒暖機要求トルクを所定値に設定し、所定以上であればゼロに設定する。さらに、水温やエンジン回転数に応じて触媒暖機要求トルクを増減させてもよいし、特に吸気充填効率に応じて触媒暖機要求トルクを増減させてもよい。吸気充填効率とは、スロットルバルブを通過した吸気の流量に対する、燃焼室で圧縮される吸気の流量の比率のことである。
【００６７】
要求トルク算出部３２ａは、アイドル目標回転数及びエンジン回転数に基づき、アイドル要求トルクを算出する。エンジンのアイドル運転時にトルクアップさせて燃焼を安定化させるアイドル制御を実行している期間におけるエンジン回転数の目標値がアイドル目標回転数である。そして、要求トルク算出部３２ａは、アイドル制御を実行している期間におけるエンジン回転数及びアイドル目標回転数に基づき、アイドル要求トルクを算出する。
【００６８】
アイドル要求トルクとは、アイドルリザーブトルクと同義である。但し、監視部３０で算出されるアイドル要求トルクは、トルク異常の監視に用いられる値である。一方、制御部２０で算出されるアイドルリザーブトルクは、エンジンに対する目標制御量の算出に用いられる値である。つまり、これら監視用のアイドル要求トルクと制御用のアイドルリザーブトルクは、メモリ１１ｍの記憶領域のうち異なる領域に記憶されたプログラムによって演算された値である。
【００６９】
なお、本実施形態では、アイドル要求トルクの算出に用いる変数の例示としてアイドル目標回転数及びエンジン回転数を記載しているが、他の変数として、水温、車速、大気圧及び吸気充填効率が挙げられる。要求トルク算出部３２ａは、これらの変数の少なくとも１つを用いてアイドル要求トルクを算出する。
【００７０】
要求トルク算出部３２ａは、アクセルペダルが踏み込まれていない時の目標回転数とエンジン回転数との差分が小さいほど、アイドル要求トルク（リザーブ量）を大きく算出する。また、要求トルク算出部３２ａは、アクセルペダルが踏み込まれている時のアクセル開度が小さいほど、アイドル要求トルクを大きく算出する。さらに、水温やエンジン回転数に応じてアイドル要求トルクを増減させてもよいし、特に吸気充填効率に応じてアイドル要求トルクを増減させてもよい。
【００７１】
なお、要求トルク算出部３２ａによる機関要求トルクの算出方法は、上記一例を採用することができるが、これに限定されない。
【００７２】
推定トルク算出部３２ｂは、ＭＢＴ推定トルクにトルク効率を乗算した値を、ロストルクを考慮しない推定トルクとして算出する。推定トルク算出部３２ｂは、算出した推定トルクから、ロストルクを減算した値を、監視用の推定トルクとして演算する。推定トルク算出部３２ｂは、入力処理回路１１ｂ及び第１通信部１１ｃから取得したクランクセンサ４２やエアフロセンサ４３などの各種信号であって、入力保障部３１により保障された信号に基づき、エンジンが実際に出力している駆動トルクを推定する。
【００７３】
この場合、推定トルク算出部３２ｂは、吸気充填効率及びエンジン回転数に基づき、点火時期がＭＢＴである場合におけるエンジンの実際の駆動トルク（ＭＢＴ推定トルク）を推定する。ＭＢＴ推定トルクは、エンジン回転数が高回転数であるほど、また、吸気充填効率が大きいほど大きい値が算出される。例えば、エンジン回転数及び吸気充填効率とＭＢＴ推定トルクとの相関を表すマップをメモリ１１ｍに予め記憶させておき、推定トルク算出部３２ｂは、このマップを参照して、エンジン回転数及び吸気充填効率に応じたＭＢＴ推定トルクを算出する。
【００７４】
また、推定トルク算出部３２ｂは、吸気充填効率及びエンジン回転数に基づきＭＢＴ点火時期を算出する。推定トルク算出部３２ｂは、吸気充填効率及びエンジン回転数に基づきベース点火時期を算出する。これらのＭＢＴ点火時期及びベース点火時期は、ＭＢＴ推定トルクの算出と同様に、メモリ１１ｍに予め記憶させておいたマップを参照して算出される。
【００７５】
また、推定トルク算出部３２ｂは、ＭＢＴ点火時期からベース点火時期を減算した値を、ベース遅角量として演算する。そして、推定トルク算出部３２ｂは、ベース遅角量に基づきトルク効率を算出する。但し、推定トルク算出部３２ｂは、ノック学習量が予め設定しておいた所定量又はゼロとみなしてトルク効率を算出する。
【００７６】
また、推定トルク算出部３２ｂは、エンジン回転数及び水温に基づき、ポンプロス及びフリクションロスを含むロスエネルギをトルク換算したロストルクを算出する。例えば、エンジン回転数及び水温とロストルクとの相関を表すマップをメモリ１１ｍに予め記憶させておき、推定トルク算出部３２ｂは、このマップを参照して、エンジン回転数及び水温に応じたロストルクを算出する。
【００７７】
なお、推定トルク算出部３２ｂによる駆動トルクの推定方法は、上記一例を採用することができるが、これに限定されない。
【００７８】
ここで、図３を用いて、監視部３０の処理動作に関して説明する。監視部３０は、所定時間毎に図３のフローチャートに示す処理を実行する。
【００７９】
ステップＳ１０では、インジェクタ駆動信号を取得する（推定部）。噴射量変換部３１ａは、燃料噴射量を算出するために、インジェクタ５０に対する駆動信号（噴射時間）をＩＮＪ駆動ＩＣ１３から取得する。
【００８０】
ステップＳ２０では、エンジン回転数を取得する（推定部）。噴射量変換部３１ａは、燃料噴射量を算出するために、クランクセンサ４２からのセンサ信号に基づきエンジン回転数を取得する。つまり、噴射量変換部３１ａは、クランクセンサ４２からのセンサ信号に基づきエンジン回転数を演算する。
【００８１】
ステップＳ３０では、推定吸気流量を取得する（推定部）。監視部３０は、インジェクタ５０に対する駆動信号とエンジン回転数とを用いて、吸気流量の推定値である推定吸気流量を取得（推定）する。推定吸気流量は、推定空気流量に相当する。
【００８２】
まず、噴射量変換部３１ａは、ステップＳ１０で取得した駆動信号と、ステップＳ２０で取得したエンジン回転数とを用いて、燃料噴射量を取得する。つまり、噴射量変換部３１ａは、ステップＳ１０で取得した駆動信号と、ステップＳ２０で取得したエンジン回転数とに相関した燃料噴射量を取得する。例えば、駆動信号及びエンジン回転数と燃料噴射量との相関を表すマップをメモリ１１ｍに予め記憶させておき、噴射量変換部３１ａは、このマップを参照して、駆動信号及びエンジン回転数に応じた燃料噴射量を取得する。言い換えると、噴射量変換部３１ａは、駆動信号とエンジン回転数を燃料噴射量に変換する。また、噴射量変換部３１ａは、駆動信号に基づくインジェクタ５０の噴射時間と、エンジン回転数とを用いて燃料噴射量を取得するとも言える。このように、監視部３０は、インジェクタ５０への駆動信号とエンジン回転数がわかれば、単位時間あたり／単位気筒あたりの燃料噴射量が概算できる。
【００８３】
単位時間あたり／単位気筒あたりの燃料噴射量が分かれば、それに応じてどの程度の吸気がエンジンに供給されているかも概算できる。つまり、エンジンへの吸気流量を推定できる。
【００８４】
そこで、推定吸気流量算出部３１ｂは、駆動信号とエンジン回転数とから得た燃料噴射量から推定吸気流量を取得する。つまり、推定吸気流量算出部３１ｂは、駆動信号とエンジン回転数とか得た燃料噴射量に相関した推定吸気流量を取得する。例えば、燃料噴射量と推定吸気流量との相関を表すマップをメモリ１１ｍに予め記憶させておき、推定吸気流量算出部３１ｂは、このマップを参照して、燃料噴射量に応じた推定吸気流量を取得する。このようにして、監視部３０は、インジェクタ５０への駆動信号とエンジン回転数とを用いて、吸気流量を推定することができる。なお、監視部３０は、所定の空燃比で制御されている場合、インジェクタ５０への駆動信号とエンジン回転数とを用いて、吸気流量を推定することができる。
【００８５】
ステップＳ４０では、吸気流量を取得する（取得部）。特性診断部３１ｃは、トルク異常判定部３２ｃによるトルク監視が正常に行われているか否かを判定するために、エアフロセンサ４３より出力されるセンサ信号に基づき吸気流量を取得する。これによって、監視部３０は、駆動信号とエンジン回転数とに基づく推定吸気流量と、エアフロセンサ４３のセンサ信号に基づく吸気流量とを取得することができる。
【００８６】
ステップＳ５０では、｜推定吸気流量−吸気流量｜≧所定量であるか否かを判定する（異常診断部）。特性診断部３１ｃは、ステップＳ３０で推定した推定吸気流量とステップＳ４０で取得した吸気流量とを比較して、推定吸気流量と吸気流量との乖離が所定量に達しているか否かを判定する。これは、トルク監視部３２によるトルク監視が正常に行われているか否かを診断するためである。
【００８７】
特性診断部３１ｃは、乖離が所定量に達していないと判定した場合はステップＳ８０へ進む。一方、特性診断部３１ｃは、乖離が所定量に達していると判定した場合は、トルク監視が正常に行われていない可能性があるとみなしてステップＳ６０へ進む。なお、乖離が所定量に達している状態は異常状態であるものの、特性診断部３１ｃは、乖離が所定量に達していると判定したことで、直ちにトルク監視が異常であるとは判定しない。これは、ノイズなどの影響によって乖離が所定量に達した場合に誤判定することを抑制するためである。
【００８８】
また、特性診断部３１ｃは、推定吸気流量と吸気流量とが所定の対応関係を満たしている場合にステップＳ８０に進み、推定吸気流量と吸気流量とが所定の対応関係を満たしていない場合にステップＳ６０へ進むようにしてもよい。所定の対応関係の一例としては、一致などをあげることができる。つまり、特性診断部３１ｃは、推定吸気流量と吸気流量とが一致している場合にステップＳ８０に進み、推定吸気流量と吸気流量とが一致していない場合にステップＳ６０へ進むようにしてもよい。この場合、所定量はゼロ以外とみなすことができる。
【００８９】
また、所定量は、公差範囲などを採用できる。この場合、特性診断部３１ｃは、乖離が公差範囲内であると判定した場合はステップＳ８０へ進み、乖離が公差範囲を超えていると判定した場合はステップＳ６０へ進む。
【００９０】
また、所定量は、エンジンが燃焼するか否かの関係性、すなわちエンジンとしての許容範囲などから決定してもよい。この場合、特性診断部３１ｃは、乖離がエンジンとしての許容範囲内であると判定した場合はステップＳ８０へ進み、乖離がエンジンとしての許容範囲を超えていると判定した場合はステップＳ６０へ進む。
【００９１】
さらに、所定量は、意図しない加速が発生するトルクとなるか否かによって決定してもよい。この場合、特性診断部３１ｃは、乖離が意図しない加速が発生しないトルクとなる量と判定した場合はステップＳ８０へ進み、意図しない加速が発生するトルクとなる量と判定した場合はステップＳ６０へ進む。
【００９２】
なお、ここで挙げた例は一例に過ぎない。本開示は、推定吸気流量と吸気流量との乖離が、トルク監視が正常に行われていないと判断できる量であればステップＳ６０へ進み、トルク監視が正常に行われていると判断できる量であればステップＳ８０へ進むものであれば採用できる。
【００９３】
ステップＳ６０では、異常状態経過時間＞所定時間であるか否かを判定する（異常診断部）。特性診断部３１ｃは、乖離が所定量に達している状態の経過時間が所定時間を超えていると判定した場合はステップＳ７０へ進み、経過時間が所定時間を超えていると判定しなかった場合はステップＳ８０へ進む。なお、経過時間は、継続時間と言い換えることもできる。
【００９４】
なお、後程説明するが、乖離が所定量に達している状態の経過時間が所定時間を超えている場合、エアフロセンサ４３の異常とみなすことができる。そこで、ここでの所定時間は、エアフロセンサ４３が異常とみなせる状態になってから、エアフロセンサ４３の異常に伴う二次故障が起こるまでの時間を採用できる。また、この時間は、例えばシミュレーションなどによって決定することができる。さらに、ここでの所定時間は、エアフロセンサ４３が正常な状態では起こりえない、乖離が所定量に達している状態の継続時間などを採用することができる。
【００９５】
ステップＳ７０では、トルク監視が異常であると判定する（異常診断部）。特性診断部３１ｃは、乖離が所定量に達していると判定し、さらに、乖離が所定量に達している状態が所定時間継続したと判定した場合、インジェクタ５０の駆動信号、エンジンの回転数、吸気流量センサによる吸気流量のいずれかが正常ではないと判断できる。よって、特性診断部３１ｃは、乖離が所定量に達していると判定し、さらに、乖離が所定量に達している状態が所定時間継続したと判定した場合、トルク監視が異常と診断する。つまり、特性診断部３１ｃは、トルク監視が正常に行われないと診断する。
【００９６】
ステップＳ８０では、トルク監視が正常であると判定する。特性診断部３１ｃは、乖離が所定量に達していると判定しなかった場合、及び、乖離が所定量に達している状態が所定時間継続したと判定しなかった場合、トルク監視が正常におこなわれていると診断する。
【００９７】
なお、トルク監視部３２は、特性診断部３１ｃによる診断結果を取得することができる。よって、トルク監視部３２は、トルク監視が正常に行われるか否かを認識することができる。
【００９８】
また、特性診断部３１ｃは、吸気流量と推定吸気流量との乖離に基づいて、トルク監視が正常に行われないと診断した場合、エアフロセンサ４３が異常と診断してもよい。つまり、特性診断部３１ｃは、乖離が所定量に達していると判定し、さらに、乖離が所定量に達している状態が所定時間継続したと判定した場合、トルク監視が正常に行われないと診断するとともに、エアフロセンサ４３が異常と診断する。
【００９９】
上記のように、推定吸気流量を算出するにあたり、インジェクタ５０の噴射時間やエンジン回転数を主に用いる。これらの信号は、複数気筒を持つ昨今のエンジンであれば、インジェクタ５０を少なくとも２本備え、クランクセンサ４２とカムセンサを少なくとも１つずつ備えており、比較診断が個々の信号で可能である。
【０１００】
しかしながら、エアフロセンサ４３は、複数備えていることはコストの観点からほぼ無く、吸気管圧センサなど別パラメータとした多重系システムになってことが多い。そのため、推定吸気流量を算出するにあたり、各信号を上流で電気的異常だけでなく、特性異常の診断も可能である。つまり、それらの信号を用いた推定吸気流量とエアフロセンサ４３に基づく吸気流量を比較した結果、乖離が起こり続けてしまう場合は、エアフロの特性異常である可能性が高い。よって、特性診断部３１ｃは、乖離が所定量に達していると判定し、さらに、乖離が所定量に達している状態が所定時間継続したと判定した場合、トルク監視が正常に行われないと診断するとともに、エアフロセンサ４３が異常と診断する。
【０１０１】
なお、監視部３０は、エアフロセンサ４３が異常と診断した場合、通知部７０を介して、警告表示や警告音を発生させてもよい。この場合、監視部３０は、第２通信部１５を介して通知部７０に、警告表示や警告音の発生指示を行う。しかしながら、本開示は、警告表示や警告音を発生させなくても目的を達成できる。
【０１０２】
トルク監視部３２は、エアフロセンサ４３で検出された吸気流量を用いて推定トルクを推定するものである。そして、エアフロセンサ４３が異常と診断されていない場合、トルク監視部３２は、エアフロセンサ４３で検出された吸気流量を用いて推定した推定トルクを用いてトルク監視を行う。一方、エアフロセンサ４３が異常と診断された場合、トルク監視部３２は、推定吸気流量を用いて推定トルクを推定するとともに、推定吸気流量を用いて推定した推定トルクを用いてトルク監視を行ってもよい。
【０１０３】
エアフロセンサ４３に基づく推定トルクが正しく算出できない場合は、トルク監視を正しく行うことができない。しかしながら、噴射時間ベースでは、ある程度の推定トルクの算出は可能なため、診断を継続することが可能となる。
【０１０４】
また、トルク監視部３２は、エアフロセンサ４３が異常と診断された場合、吸気流量を用いて推定した推定トルクと、推定吸気流量を用いて推定した推定トルクのうち大きいトルクを示す方を用いてトルク監視を行ってもよい。これによって、本開示は、より安全側にトルク監視を実施することができる。
【０１０５】
以上のように、ＥＣＵ１０は、インジェクタ５０への駆動信号とエンジンの回転数とから推定した推定吸気流量を取得する。つまり、インジェクタ５０への駆動信号とエンジンの回転数がわかれば、単位時間あたり／単位気筒あたりの燃料噴射量が概算できる。また、単位時間あたり／単位気筒あたりの燃料噴射量が分かれば、それに応じてどの程度の吸気流量が供給されているかも概算できる。このようにして、ＥＣＵ１０は、推定吸気流量を推定できる。
【０１０６】
このインジェクタ５０への駆動信号やエンジンの回転数は、吸気の圧力変化ほど急激な変化をしない。このため、ＥＣＵ１０は、吸気管圧センサやスロットル開度センサなどを用いて、吸気の圧力変化を用いて吸気流量を推定する場合ほど高周期でサンプリングする必要がない。よって、ＥＣＵ１０は、推定吸気流量を取得するために処理負荷が高くなることを抑制することができる。
【０１０７】
また、ＥＣＵ１０は、このように推定した推定吸気流量とエアフロセンサ４３で検出された吸気流量との乖離が所定量に達しているか否かを判定する。そして、ＥＣＵ１０は、推定吸気流量と吸気流量との乖離が所定量に達している場合、インジェクタ５０の駆動信号、エンジンの回転数、吸気流量センサによる吸気流量のいずれかが正常ではないと判断することができる。また、ＥＣＵ１０は、吸気流量センサによる吸気流量によって推定トルクを推定するため、推定吸気流量と吸気流量との乖離が所定量に達している場合、トルク監視が正常に行われないと判断することができる。このように、ＥＣＵ１０は、処理負荷が高くなることを抑制しつつ、トルク監視が正確に行われているか否かを判定することができる。
【０１０８】
また、ＥＣＵ１０は、入力保障する信号数が最小化できることで、ＭＣＵ１１のリソースを含めたＥＣＵ１０全体のコスト低減と、制御部２０とは独立した監視部３０によるトルク監視機能の実現が可能となる。さらに、ＥＣＵ１０は、駆動信号（噴射時間）とエンジン回転数とから吸気流量を推定するため、エンジンが直噴エンジン以外であっても適用することができる。
【０１０９】
（変形例１）
推定吸気流量算出部３１ｂは、インジェクタ５０の駆動信号とエンジン回転数に加えて、エンジンから排出される排気ガスの空燃比に関する情報である空燃比情報を用いて、推定吸気流量を推定してもよい（推定部）。これによって、ＥＣＵ１０は、空燃比情報を用いない場合よりも、吸気流量の推定精度を向上させることができる。
【０１１０】
（変形例２）
推定吸気流量算出部３１ｂは、インジェクタ５０の駆動信号とエンジン回転数に加えて、エンジンから排出される排気ガスの空燃比の目標値である目標空燃比を用いて、推定吸気流量を推定してもよい（推定部）。これによって、ＥＣＵ１０は、目標空燃比を用いない場合よりも、吸気流量の推定精度を向上させることができる。
【０１１１】
以上、本開示の好ましい実施形態について説明した。しかしながら、本開示は、上記実施形態に何ら制限されることはなく、本開示の趣旨を逸脱しない範囲において、種々の変形が可能である。以下に、本開示のその他の形態として、第２実施形態〜第４実施形態に関して説明する。上記実施形態及び第２実施形態〜第４実施形態は、夫々単独で実施することも可能であるが、適宜組み合わせて実施することも可能である。本開示は、実施形態において示された組み合わせに限定されることなく、種々の組み合わせによって実施可能である。
【０１１２】
（第２実施形態）
図４を用いて、第２実施形態のＥＣＵ１０ａに関して説明する。ＥＣＵ１０ａは、ＥＣＵ１０と同様の箇所が多い。ここでは、ＥＣＵ１０ａにおけるＥＣＵ１０と同様の個所に、ＥＣＵ１０と同じ符号を付与する。よって、ＥＣＵ１０ａにおけるＥＣＵ１０と同じ符号の構成要素は、上記実施形態を参照して適用することができる。
【０１１３】
ＥＣＵ１０ａは、燃圧センサ４４が電気的に接続され、燃圧センサ４４からのセンサ信号を取得可能に構成されている点、及び推定吸気流量の推定方法がＥＣＵ１０と異なる。
【０１１４】
燃圧センサ４４は、インジェクタ５０に供給する燃料を高圧の状態で蓄える蓄圧部の燃料圧力（燃圧）に応じたセンサ信号を出力する。監視部３０は、駆動信号と回転数に加えて、燃圧センサ４４のセンサ信号から得られる燃料圧力を用いて、推定吸気流量を推定する。詳述すると、噴射量変換部３１ａは、燃料圧力と噴射時間がわかれば、単位時間あたり／単位気筒あたりの燃料噴射量が概算できる。そして、上記のように、単位時間あたり／単位気筒あたりの燃料噴射量が分かれば、それに応じてどの程度の吸気がエンジンに供給されているかも概算できる。よって、推定吸気流量算出部３１ｂは、燃料圧力と噴射時間とから得た燃料噴射量から推定吸気流量を取得する。
【０１１５】
ＥＣＵ１０ａは、ＥＣＵ１０と同様の効果を奏することができる。さらに、ＥＣＵ１０ａは、エンジンとして、直噴方式のエンジンを採用した場合であっても、推定吸気流量を推定することができる。また、ＥＣＵ１０ａは、ＥＣＵ１０よりも吸気流量の推定精度を向上させることができる。
【０１１６】
（第３実施形態）
図５を用いて、第３実施形態のＥＣＵ１０に関して説明する。本実施形態は、第１実施形態と同様の個所が多いため、便宜的に第１実施形態と同じ符号を用いる。また、本実施形態では、第１実施形態と同じ処理に同じステップ番号を用いる。よって、本実施形態における第１実施形態と同じ符号の構成要素及び同じステップ番号は、上記実施形態を参照して適用することができる。本実施形態は、監視部３０の処理動作が第１実施形態と異なる。
【０１１７】
監視部３０は、所定時間毎に図５のフローチャートに示す処理を実行する。ステップＳ５０では、上記と同様に、｜推定吸気流量−吸気流量｜≧所定量であるか否かを判定する（異常診断部）。特性診断部３１ｃは、乖離が所定量に達していないと判定した場合はステップＳ８０へ進む。一方、特性診断部３１ｃは、乖離が所定量に達していると判定した場合はステップＳ７０へ進む。つまり、本実施形態の特性診断部３１ｃは、乖離が所定量に達している状態で直ちにトルク監視が異常であると判定する。また、特性診断部３１ｃは、乖離が所定量に達している状態の継続時間を考慮することなく、トルク監視が異常であると判定する。
【０１１８】
本実施形態のＥＣＵ１０は、第１実施形態と同様の効果を奏することができる。さらに、本実施形態のＥＣＵ１０は、乖離が所定量に達している状態の継続時間を考慮しないため、即座にトルク監視が異常であるか否かを判定することができる。
【０１１９】
なお、本実施形態の特性診断部３１ｃは、乖離が所定量に達していると判定した場合、トルク監視が正常に行われないと診断するとともに、エアフロセンサ４３が異常と診断してもよい。
【０１２０】
（第４実施形態）
図６を用いて、第４実施形態のＥＣＵ１０に関して説明する。本実施形態は、第１実施形態と同様の個所が多いため、便宜的に第１実施形態と同じ符号を用いる。よって、本実施形態における第１実施形態と同じ符号の構成要素は、上記実施形態を参照して適用することができる。本実施形態は、監視部３０の処理動作が第１実施形態と異なる。
【０１２１】
上記のように、噴射量から推定吸気流量を概算するのは、所定の空燃比で制御されていることが前提である。空燃比フィードバック制御が行われている場合とそうでない場合とでは、空燃比の確からしさが異なる。このため、空燃比フィードバック制御が行われている場合とそうでない場合とでは、推定吸気流量の推定精度もかわってくる。このため、エアフロセンサ４３が正常に動作していても、推定吸気流量と吸気流量の乖離が大きくなる可能性がある。
【０１２２】
そこで、監視部３０は、エンジンの排気中におけるガス成分の濃度を検出する排気センサ又はエンジンの運転状態から燃料噴射量のフィードバック制御が行われていない状態又は行えない状態であるか否かを判定する機能を備えている。本実施形態では、一例として、エンジンの運転状態を取得し、エンジンの運転状態から燃料噴射量のフィードバック制御が行われていない状態又は行えない状態であるか否かを判定する例を採用する。
【０１２３】
監視部３０は、所定時間毎に図６のフローチャートに示す処理を実行する。ステップＳ１００では、運転状態を取得する（フィードバック判定部）。監視部３０は、燃料噴射量のフィードバック制御が行われていない状態、又は行えない状態であるか否かを判定するために、運転状態を取得する。
【０１２４】
ステップＳ１１０では、フィードバック制御中であるか否かを判定する（フィードバック判定部）。監視部３０は、ステップＳ１００で取得した運転状態に基づいて、フィードバック制御中であるか否かを判定する。例えば、燃料カット中、触媒保護増量や燃料カットからの復帰直後などのリッチ制御中、及びリーン制御中は、燃料噴射量のフィードバック制御が行われていない状態とみなすことができる。空燃比センサが未活性状態の場合は、燃料噴射量のフィードバック制御が行えない状態とみなすことができる。
【０１２５】
監視部３０は、ステップＳ１００で取得した運転状態に基づいて、フィードバック制御中であると判定した場合、ステップＳ１２０へ進む。ステップＳ１２０では、異常診断を許可する。監視部３０は、フィードバック制御中と判定した場合、推定吸気流量の推定精度を確保することができるとみなして異常診断を許可する。よって、監視部３０は、異常診断が許可の場合に限って、図３や図５のフローチャートに示す処理を開始する。
【０１２６】
一方、監視部３０は、ステップＳ１００で取得した運転状態に基づいて、フィードバック制御中でない、すなわち、フィードバック制御が行われていない状態、又は行えない状態であると判定した場合、ステップＳ１３０へ進む。
【０１２７】
ステップＳ１３０では、異常診断を禁止する。監視部３０は、フィードバック制御中でないと判定した場合、推定吸気流量の推定精度を確保することができないとみなして異常診断を禁止する。よって、監視部３０は、異常診断が禁止の場合、実行タイミングであっても、図３や図５のフローチャートに示す処理を実行しない。
【０１２８】
本実施形態のＥＣＵ１０は、第１実施形態と同様の効果を奏することができる。さらに、本実施形態のＥＣＵ１０は、推定吸気流量の推定精度が確保できる場合に限って、トルク監視が正確に行われているか否かを判定するため、誤判定することを抑制できる。
【０１２９】
（第４実施形態の変形例）
また、監視部３０は、ステップＳ１３０において、フィードバック制御が行われていない状態又は行えない状態であると判定されていない場合よりも、乖離と比較する所定量を大きくすることで、トルク監視が正常に行われないと診断されにくくしてもよい。つまり、監視部３０は、フィードバック制御中でないと判定した場合は、フィードバック制御中と判定した場合よりも、トルク監視が正常に行われるか否かの判断基準を緩める方に変更してもよい。また、監視部３０は、ステップＳ１３０において、フィードバック制御が行われていない状態又は行えない状態であると判定されていない場合よりも、異常状態の継続時間と比較する所定時間を長くしてもよい。なお、監視部３０は、ステップＳ１２０では判断基準を変更しない。
【０１３０】
この変形例に関しても、第４実施形態と同様の効果を奏することができる。
【符号の説明】
【０１３１】
１０、１０ａ…ＥＣＵ、１１…ＭＣＵ、１１ａ…ＣＰＵ、１１ｂ…入力処理回路、１１ｃ…第１通信部、１１ｄ…ＣＰＵチェック部、１１ｍ…メモリ、１２…点火駆動ＩＣ、１３…ＩＮＪ駆動ＩＣ、１４…電スロ駆動ＩＣ、１５…第２通信部、１６…統合ＩＣ、１６ａ…マイコン監視部、１６ｂ…電スロカット部、２０…制御部、２０ｍ…制御用記憶領域、２１…要求トルク算出部、２１ａ…ドライバ要求トルク算出部、２１ｂ…目標トルク算出部、２２…駆動信号出力部、２２ａ…要求吸気流量算出部、２２ｂ…要求噴射量算出部、３０…監視部、３０ｍ…監視用記憶領域、３１…入力保障部、３１ａ…噴射量変換部、３１ｂ…推定吸気流量算出部、３１ｃ…特性診断部、３２…トルク監視部、３２ａ…要求トルク算出部、３２ｂ…推定トルク算出部、３２ｃ…トルク異常判定部、３２ｄ…電スロカット制御部、４１…アクセル開度センサ、４２…クランクセンサ、４３…エアフロセンサ、４４…燃圧センサ、５０…インジェクタ、６０…電子スロットル、７０…通知部
【図１】
2019094873.tif 000003
【図２】
2019094873.tif 000004
【図３】
2019094873.tif 000005
【図４】
2019094873.tif 000006
【図５】
2019094873.tif 000007
【図６】
2019094873.tif 000008