(57)【要約】【課題】内燃機関の制御を行う電子制御装置において、燃料噴射を適切に実行する技術を提供する。【解決手段】制御部は、Ｓ１５５では、開始角度から判定範囲内に要求噴射角度が含まれていると判断された場合に、現時点における回転角度を取得し、回転角度が要求噴射角度に一致する迄に要する時間である待機時間を算出し、実行指示に従って燃料噴射弁を駆動する駆動部であって実行指示を受けた時点から実行指示に指示された指示時間が経過した後に燃料噴射弁を駆動する駆動部に対して、実行指示であって待機時間を指示時間とする実行指示を出力する。制御部は、Ｓ１８５では、判定範囲を周期角度よりも大きく設定する。【選択図】図２
2018193922.tif 000002
【特許請求の範囲】
【請求項１】
クランク軸の回転角度に基づいて内燃機関の制御を行う電子制御装置（３０）であって、
所定の１周期分の大きさの角度である周期角度毎に前記回転角度を取得し、前記周期角度毎に取得した前記回転角度である開始角度から所定の角度範囲を表す判定範囲内に、前記回転角度がとり得る値のうちの特定の値であって前記内燃機関において燃料噴射弁に燃料の噴射を開始させる要求噴射角度が含まれているか否か、を判断する判断部（Ｓ１３０）と、
前記開始角度から前記判定範囲内に前記要求噴射角度が含まれていると判断された場合に、現時点における前記回転角度を取得し、前記回転角度が前記要求噴射角度に一致する迄に要する時間である待機時間を算出し、実行指示に従って前記燃料噴射弁を駆動する駆動部であって前記実行指示を受けた時点から前記実行指示に指示された指示時間が経過した後に前記燃料噴射弁を駆動する前記駆動部に対して、前記実行指示であって前記待機時間を前記指示時間とする前記実行指示を出力する指示部（Ｓ１５５）と、
前記判定範囲を前記周期角度よりも大きく設定する範囲設定部（Ｓ１８５）と、
を備える電子制御装置。
【請求項２】
請求項１に記載の電子制御装置であって、
前記開始角度から前記判定範囲内に前記要求噴射角度が含まれていると判断された場合に、前記回転角度であって前記指示部によって前記実行指示が出力されたときの指示角度を取得し、前記指示角度と前記開始角度との差を表す差分角度を算出する、算出部（Ｓ１６５）を更に備える
電子制御装置。
【請求項３】
請求項２に記載の電子制御装置であって、
前記差分角度が所定の角度閾値以下であるか否かを判断し、前記差分角度が前記角度閾値以下である場合に、前記周期角度を前記判定範囲として設定し、前記差分角度が前記角度閾値よりも大きい場合に、前記範囲設定部に、前記差分角度と前記周期角度との加算値を前記判定範囲として設定させる、条件付設定部（Ｓ１７５）
を更に備え、
前記回転角度は、前記周期角度を複数含む大きさの角度範囲である燃焼サイクル毎に初期化され、
前記判断部は、前記判定範囲であって、現燃焼サイクルよりも１燃焼サイクル前の燃焼サイクルにおいて設定された過去の前記判定範囲を取得し、前記開始角度から前記過去の判定範囲内に前記要求噴射角度が含まれているか否かを判断する
電子制御装置。
【請求項４】
請求項２に記載の電子制御装置であって、
前記回転角度は、前記周期角度を複数含む大きさの角度範囲である燃焼サイクル毎に初期化され、
前記差分角度が所定の角度閾値以下であるか否かを判断し、前記差分角度が前記角度閾値以下である場合に、前記周期角度を前記判定範囲として設定し、前記差分角度が前記角度閾値よりも大きい場合に、前記範囲設定部に、現燃焼サイクル以前の複数の前記燃焼サイクルにおける複数の前記差分角度のうちの最大値と前記周期角度との加算値、を前記判定範囲として設定させる、条件付設定部（Ｓ１７５）
を更に備え、
前記判断部は、前記判定範囲であって、現燃焼サイクルよりも１燃焼サイクル前の燃焼サイクルにおいて設定された過去の前記判定範囲を取得し、前記開始角度から前記過去の判定範囲内に前記要求噴射角度が含まれているか否かを判断する
電子制御装置。
【請求項５】
請求項１から請求項４に記載の電子制御装置であって、
前記判断部は、前記周期角度毎に、前記要求噴射角度を取得し、前記開始角度から前記判定範囲内に、取得した前記要求噴射角度が含まれているか否か、を判断する
電子制御装置。
【請求項６】
請求項２から請求項５のいずれか一項に記載の電子制御装置であって、
前記内燃機関は複数の気筒を備えており、
前記条件付設定部は、前記複数の気筒のそれぞれに対して、前記判定範囲を設定する
電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、内燃機関の制御を行う電子制御装置に関する。
【背景技術】
【０００２】
特許文献１では、内燃機関において、クランク軸の回転角度（以下、回転角度）に基づいて、燃料噴射の制御を開始する、という技術が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２７３６６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
内燃機関の制御を行う電子制御装置（以下、ＥＣＵ）は、燃料噴射の制御以外にも、内燃機関を作動させるための種々の制御を行うように構成され得る。ＥＣＵは、Electronic Control Unitの略である。ＥＣＵでは、これらの制御のうち、優先順位の高い制御が、割込処理によって、優先順位の低い制御よりも優先して実行されるように構成され得る。
【０００５】
しかしながら、このようなＥＣＵでは、燃料噴射の制御を開始する回転角度になったときに上述の割込処理が行われると、割込処理によって優先順位の高い制御が実行された後に燃料噴射の制御が開始される。つまり、燃料噴射の制御が遅れて開始され、燃料噴射を適切に実行することができない、という問題が生じ得る。
【０００６】
本開示の一局面は、内燃機関の制御を行う電子制御装置において、燃料噴射を適切に実行するための技術を提供する。
【課題を解決するための手段】
【０００７】
本開示の一つの局面は、クランク軸の回転角度に基づいて内燃機関の制御を行う電子制御装置（３０）である。電子制御装置は、判断部（Ｓ１３０）と、指示部（Ｓ１５５）と、範囲設定部（Ｓ１８５）と、を備える。判断部は、所定の１周期分の大きさの角度である周期角度毎に回転角度を取得し、周期角度毎に取得した回転角度である開始角度から所定の角度範囲を表す判定範囲内に、回転角度がとり得る値のうちの特定の値であって内燃機関において燃料噴射弁に燃料の噴射を開始させる要求噴射角度が含まれているか否か、を判断する。
【０００８】
指示部は、開始角度から判定範囲内に要求噴射角度が含まれていると判断された場合に、現時点における回転角度を取得し、回転角度が要求噴射角度に一致する迄に要する時間である待機時間を算出し、実行指示に従って燃料噴射弁を駆動する駆動部であって実行指示を受けた時点から実行指示に指示された指示時間が経過した後に燃料噴射弁を駆動する駆動部に対して、実行指示であって待機時間を指示時間とする実行指示を出力する。範囲設定部は、判定範囲を周期角度よりも大きく設定する。
【０００９】
このように電子制御装置は、周期角度毎に、このときの開始角度から判定範囲内に要求噴射角度が含まれるかを判断し、要求噴射角度が含まれる場合には、駆動部に対して待機時間後に燃料噴射弁が駆動されるように実行指示を出力する。ここで、判定範囲は、周期角度よりも大きく設定される。つまり、周期角度を１周期として、要求噴射角度が含まれる周期の少なくとも１周期以上前に、駆動部に対して実行指示が出力される。
【００１０】
ここで仮に、電子制御装置が、回転角度に同期して種々の制御を行うように構成されており、優先順位の高い制御については割込処理によって優先順位の低い制御よりも優先して実行されるように構成されているとする。
【００１１】
本電子制御装置では、このような構成において仮に何らかの割込処理が行われたとしても、要求噴射角度が含まれる周期の少なくとも１周期以上前に実行指示が出力され得るので、燃料の噴射が、要求噴射角度よりも遅れることが抑制される。従って、燃料噴射を適切に実行することができる。
【図面の簡単な説明】
【００１２】
【図１】燃料噴射制御システムの構成を示すブロック図。
【図２】第１実施形態の定期処理のフローチャート。
【図３】燃料噴射制御システの作動を説明する説明図。
【図４】変形例１の定期処理のフローチャート。
【図５】変形例２の定期処理のフローチャート。
【図６】第２実施形態の定期処理のフローチャート。
【発明を実施するための形態】
【００１３】
以下、図面を参照しながら、本開示の実施形態を説明する。
［１．第１実施形態］
［１−１．構成］
図１に示す燃料噴射制御システム１は、車両に搭載されるシステムであって、内燃機関（以下、エンジン）２０において燃料を噴射するための制御を行う。燃料噴射制御システム１は、ＥＣＵ３０を備える。燃料噴射制御システム１は、クランク角センサ１０、インジェクタ２１を備えていてもよい。
【００１４】
インジェクタ２１は、駆動信号に従って駆動され、エンジン２０において燃料を噴射する。なお、図１においては、エンジン２０が備える複数のインジェクタのうちの１つインジェクタ２１のみが図示されている。ここでは、エンジン２０はディーゼルエンジンであるものとする。但し、これに限定されるものではなく、エンジン２０はガソリンエンジンであってもよい。
【００１５】
クランク角センサ１０は、エンジン２０におけるクランク軸の回転角度（以下、回転角度）を検出する。クランク角センサ１０は、回転角度に基づいてエンジン２０の回転速度を更に検出するものであってもよい。クランク角センサ１０は、検出結果をＥＣＵ３０へ出力する。
【００１６】
回転角度の単位は、°ＣＡで表される。ＣＡは、Crank Angleの略である。クランク角センサ１０は、例えば、１°ＣＡ、６°ＣＡ、１０°ＣＡ等といった、予め定められた回転角度（以下、単位回転角度）毎に、回転角度を検出する。エンジン２０は複数の気筒を有しており、回転角度は、複数の気筒のうちのある気筒の上死点（以下、ＴＤＣ）を基準角度（位置）として、１燃焼サイクルである７２０°ＣＡ周期でカウントされるようになっている。１燃焼サイクルは、吸入工程、圧縮工程、燃焼工程、排気工程からなる。
【００１７】
燃料噴射制御システム１は、図示しない車速センサ、アクセルセンサを更に備えていてもよい。車速センサは、車両の速度（以下、車速）を検出する。アクセルセンサは、運転者によるアクセルの操作量（以下、アクセル開度）を検出する。これらの検出結果は、ＥＣＵ３０へ出力されてもよい。
【００１８】
ＥＣＵ３０は、駆動部４０と、制御部５０とを備える。
駆動部４０は、インジェクタ２１へ駆動信号を出力し、インジェクタ２１を駆動させる。インジェクタ２１を駆動させるとは、エンジン２０においてインジェクタ２１に燃料を噴射させることをいう。駆動部４０は、制御部５０から出力される実行指示に従って、駆動信号を出力する。実行指示には、指示時間が含まれる。指示時間は、駆動部４０が実行指示を受けた時点からインジェクタ２１に駆動信号を出力するまでの時間を表す。
【００１９】
つまり、駆動部４０は、実行指示に従って、実行指示を受けた時点から実行指示に指示された指示時間が経過する迄の間待機し、実行指示を受けた時点から指示時間が経過した後に、駆動信号を出力してインジェクタ２１を駆動する。
【００２０】
制御部５０は、ＣＰＵ、及び、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭなどを含むメモリを有する周知のマイクロコンピュータを備える。ＣＰＵは、非遷移的実体的記録媒体であるＲＯＭに格納されたプログラムを実行する。当該プログラムが実行されることで、当該プログラムに対応する方法が実行される。
【００２１】
ＥＣＵ３０は、ＣＰＵがプログラムを実行することで実現される機能の構成として、時間同期部５１、角度同期部５２、を備える。
時間同期部５１は、一又は複数の、時間に同期した処理（以下、時間同期処理）を実行する。時間に同期した処理とは、所定の時間毎に繰り返し実行される処理をいう。
【００２２】
時間同期部５１は、時間同期処理のうちの一つとして、要求噴射角度を所定の時間毎に算出する処理を行う。要求噴射角度とは、回転角度がとり得る値のうちの特定の値であって、エンジン２０においてインジェクタ２１に燃料の噴射を開始させる回転角度をいう。
【００２３】
時間同期部５１は、例えば、車速、アクセル開度、エンジン回転数等といった、車両の運転状態を表す検出結果に基づいて、予めメモリに記憶されているマップを用いて、車両の運転状態に応じた要求噴射角度を算出する。ここでは、要求噴射角度は、算出される毎に、メモリに新たに記憶し直される。つまり、メモリには、直近に算出された要求噴射角度が常に記憶されている。
【００２４】
角度同期部５２は、複数の、回転角度に同期した処理（以下、角度同期処理）を行う。回転角度に同期した処理とは、所定の回転角度毎に繰り返し実行される処理をいう。ここで、角度同期部５２は、割込処理を実行可能に構成されている。
【００２５】
割込処理とは、ある角度同期処理が実行されている途中で、実行中の角度同期処理よりも優先順位が高い角度同期処理が起動されると、先に実行されていた角度同期処理が中断され、優先順位が高い角度同期処理の実行が開始される、といった処理を表す。優先順位は、複数の角度同期処理のそれぞれについて予め定められており、ＲＯＭ等のメモリに記憶されている。
【００２６】
つまり、角度同期部５２は、優先順位が高い角度同期処理を、割込処理として、優先順位の低い角度同期処理よりも優先して実行する。角度同期部５２は、優先順位が高い角度同期処理の実行が割込処理によって完了した後に、中断されていた先に実行していた角度同期処理を再開する。
【００２７】
角度同期部５２は、角度同期処理のうちの一つとして、後述する定期処理を実行する。なお、複数の角度同期処理には、定期処理よりも優先順位の高い角度同期処理が少なくとも１つ含まれる。
【００２８】
また、制御部５０は、時間同期部５１、角度同期部５２とは別に、単位時間あたりの回転角度を繰り返し算出する機能を備える。単位時間あたりの回転角度は、例えば、予め定められた大きさの回転角度（以下、算出角度）毎に、回転角度が算出角度増加するために要した時間で算出角度を除算すること、によって算出される。
【００２９】
［１−２．処理］
次に、制御部５０が実行する、角度同期処理のうちの一つである定期処理について、図２のフローチャートを用いて説明する。定期処理は、周期角度毎に起動される。ここでは、制御部５０は、クランク角センサ１０から出力される回転角度が周期角度増加する毎に、定期処理を起動する。周期角度とは、所定の１周期分の大きさの角度であり、単位回転角度の所定の倍数に設定されている。所定の倍数とは、２以上の任意の整数をいう。具体的には、周期角度は３０°ＣＡに設定されており、該周期角度は予めＲＯＭ等のメモリに記憶されている。なお、周期角度が３０°ＣＡに限定されないこと、は言うまでもない。
【００３０】
回転角度は、周期角度を複数含む大きさの角度範囲である上述の燃焼サイクル毎に、初期化される。実行指示は、燃焼サイクル毎に設定される。つまり、定期処理は、燃焼サイクルよりも小さい周期角度毎に繰り返し実行される処理であって、燃焼サイクル毎の実行指示を設定するための処理である。
【００３１】
制御部５０は、はじめに、Ｓ１１０では、駆動部４０に対する実行指示が設定済みであるか否かを判断する。制御部５０は、実行指示が設定済みである場合は、本定期処理を終了する。制御部５０は、実行指示が設定されていない場合は、処理をＳ１１５に移行させる。
【００３２】
制御部５０は、Ｓ１１５では、開始角度を取得する。制御部５０は、本定期処理を起動するきっかけとなった回転角度を開始角度として取得する。つまり、開始角度とは、周期角度毎に取得した回転角度である。上述のように、周期角度は３０°ＣＡである。例えば、上死点（以下、ＴＤＣ）よりも３０°ＣＡ前の回転角度（以下、ＢＴＤＣ３０）、ＴＤＣよりも６０°ＣＡ前の回転角度（以下、ＢＴＤＣ６０）、ＴＤＣよりも９０°ＣＡ前の回転角度（以下、ＢＴＤＣ９０）等といった、周期角度である３０°ＣＡ毎の回転角度が、開始角度に相当する。
【００３３】
制御部５０は、Ｓ１２０では、上述の要求噴射角度をメモリから取得する。
制御部５０は、Ｓ１２５では、判定範囲をメモリから取得する。判定範囲とは、所定の回転角度の角度範囲（以下、角度範囲）を表す。判定範囲は、後述するＳ１７５、Ｓ１８５にて設定され、例えばＥＥＰＲＯＭ等の書き換え可能なメモリに記憶され得る。
【００３４】
制御部５０は、Ｓ１３０では、開始角度から所定の角度範囲を表す判定範囲内に、要求噴射角度が含まれているか否か、を判断する。制御部５０は、開始角度から判定範囲内に要求噴射角度が含まれている場合に処理をＳ１３５へ移行させ、開始角度から判定範囲内に要求噴射角度が含まれていない場合に本定期処理を終了する。
【００３５】
制御部５０は、Ｓ１３５では、現時点における回転角度を取得する。
制御部５０は、Ｓ１４０では、Ｓ１３５にて取得された、現時点における回転角度が要求噴射角度未満であるか否かを判断する。制御部５０は、現時点における回転角度が要求噴射角度未満である場合に、処理をＳ１５０へ移行させ、現時点における回転角度が要求噴射角度以上である場合に、処理をＳ１４５へ移行させる。現時点における回転角度が要求噴射角度以上である場合とは、例えば、割込処理が生じたことによって本定期処理が中断され、本ステップの時点で、回転角度が既に要求噴射角度以上となっている場合に相当する。
【００３６】
制御部５０は、Ｓ１４５では、最短時間を待機時間として設定し、処理をＳ１５５へ移行させる。ここでいう最短時間とは、駆動部４０が実行指示を受けた時点から駆動信号を出力する迄に必要とする最も短い時間を表す。最短時間は予めメモリに記憶されている。これにより、例えば、割込処理が発生したことによって本定期処理が中断され、Ｓ１３５にて取得された現時点における回転角度が要求噴射角度以上となり、後述する待機時間の算出が不可能となった場合には、最短時間が待機時間として設定される。
【００３７】
なお、Ｓ１４５にて待機時間として設定される時間は、最短時間に限定されるものではなく、任意の時間に設定され得る。但し、できるだけ短い時間であることが好ましい。
制御部５０は、Ｓ１５０では、待機時間を算出する。待機時間とは、Ｓ１３５にて取得された現時点における回転角度が、要求噴射角度に一致する迄に要する時間、を表す。具体的には、制御部５０は、現時点における回転角度と要求噴射角度との角度差を算出する。そして、制御部５０は、上述の単位時間あたりの回転角度に基づいて、算出した角度差を時間に変換することによって、待機時間を算出する。
【００３８】
制御部５０は、Ｓ１５５では、駆動部４０に対して、待機時間を指示時間とする実行指示を出力する。これにより、実行指示が出力されたこの時点から待機時間後に、駆動部４０からインジェクタ２１へ駆動信号が出力される。つまり、実行指示が出力されたこの時点から待機時間後に、エンジン２０においてインジェクタ２１により燃料の噴射が行われる。
【００３９】
制御部５０は、Ｓ１６０では、指示角度を取得する。指示角度とは、回転角度であって、Ｓ１５５によって実行指示が出力されたときの回転角度をいう。
制御部５０は、Ｓ１６５では、差分角度を算出する。差分角度とは、指示角度と開始角度との差を表す。つまり、差分角度は、開始角度であって判定範囲内に要求噴射角度が含まれていると判断された場合の該開始角度から、どれだけ遅れて実行指示が出力されたか、を回転角度で表した値である。
【００４０】
制御部５０は、Ｓ１７０では、差分角度が所定の角度閾値以下であるか否かを判断する。角度閾値は、開始角度から判定範囲内に要求噴射角度が含まれていると判断された場合の該開始角度から実行指示が設定されるまでの回転角度の角度差であって、割込処理が生じていない場合の角度差、に設定されている。ここでは、該角度差は１°ＣＡ未満であるものとし、角度閾値は、０°ＣＡに設定されている。但し、これに限定されるものではなく、角度閾値は該角度差に応じて適宜設定され得る。角度閾値は、予めＲＯＭ等のメモリに記憶されている。
【００４１】
なお、ここでは、割込処理が実行されたときに算出される差分角度の最大値は周期角度未満であるものとする。但し、これに限定されるものではない。割込処理が実行されたときに算出される差分角度の最大値は周期角度以上であってもよい。
【００４２】
制御部５０は、差分角度が角度閾値以下である場合に処理をＳ１７５へ移行させ、差分角度が角度閾値よりも大きい場合に処理をＳ１８０へ移行させる。
制御部５０は、Ｓ１７５では、周期角度を判定範囲として設定し、本定期処理を終了する。これにより、差分角度が角度閾値以下である場合には、つまり割込処理が実行されなかった場合には、周期角度が判定範囲として設定される。
【００４３】
制御部５０は、Ｓ１８０では、加算値を算出する。加算値とは、差分角度と周期角度とを加算した値である。
制御部５０は、Ｓ１８５では、加算値を判定範囲として設定し、本定期処理を終了する。これにより、差分角度が所定の角度閾値よりも大きい場合には、つまり割込処理が生じた場合には、加算値が判定範囲として設定される。その結果、判定範囲が周期角度よりも大きく設定される。
【００４４】
［１−３．作動］
このように構成されたＥＣＵ３０による作動を図３に基づいて説明する。図３におけるタイミングパルスとは、制御部５０がクランク角センサ１０から回転角度を取得するタイミングを表すパルス信号である。ここでは、タイミングパルスは、単位回転角度毎に出力されるものとする。制御部５０は、タイミングパルスの立ち上がりにおいて、クランク角センサ１０から回転角度を取得する。
【００４５】
上述のように周期角度は３０°ＣＡである。すなわち、３０°ＣＡ毎に、換言すれば、ＢＴＤＣ９０、ＢＴＤＣ６０、ＢＴＤＣ３０・・・において、定期処理が開始される。ＢＴＤＣ９０、ＢＴＤＣ６０、ＢＴＤＣ３０・・・、のそれぞれが、開始角度に相当する。
【００４６】
上述のように、要求噴射角度は開始角度毎に取得される。但し、ここでは説明を簡単にするため、開始角度毎に取得される要求噴射角度が、ＴＤＣよりも５３°ＣＡ前の回転角度を表すＢＴＤＣ５３であるものとする。要求噴射角度がＢＴＤＣ５３に限定されないことは、言うまでもない。
【００４７】
なお、以下の説明では、ｎ番目の燃焼サイクルを燃焼サイクルｎ、燃焼サイクルｎの次の燃焼サイクルを燃焼サイクルｎ＋１、・・・のように表す。ｎは、任意の整数であり得る。
【００４８】
（１）はじめに、燃焼サイクルｎでは、判定範囲Ｈnが周期角度Ｍ、すなわち３０°ＣＡに設定されている。燃焼サイクルｎでは、定期処理によって、開始角度から判定範囲Ｈn内に要求噴射角度が含まれるか否かが周期角度毎に判断され、開始角度がＢＴＤＣ６０のときに、開始角度から判定範囲Ｈn内に要求噴射角度が含まれると判断される。つまり、ＢＴＤＣ６０を開始角度とする定期処理において、実行指示が設定される。
【００４９】
実行指示の設定に用いられる待機時間は、ＢＴＤＣ６０において取得された要求噴射角度に基づいて算出される。燃焼サイクルｎでは、割込処理は生じていない。つまり、差分角度Ｄnが角度閾値未満と判断される。その結果、周期角度Ｍが次の燃焼サイクルにおける判定範囲として設定される。燃焼サイクルｎでは、実行指示に従って、駆動部４０が作動し、要求噴射角度において、インジェクタ２１による燃料の噴射が適切に実行される。
【００５０】
（２）燃焼サイクルｎ＋１では、１燃焼サイクル前の燃焼サイクルｎにおける定期処理によって、判定範囲Ｈn+1が周期角度Ｍに設定されている。このため、燃焼サイクルｎと同様に、開始角度がＢＴＤＣ６０のときに、開始角度から判定範囲Ｈn+1内に要求噴射角度が含まれると判断される。つまり、ＢＴＤＣ６０を開始角度とする定期処理において、実行指示が設定される。
【００５１】
但し、燃焼サイクルｎ＋１では、割込処理が生じている。ここでは、割込処理によって実行指示の設定が遅れ、回転角度が要求噴射角度以上となってから実行指示が設定されるものとする。この場合、実行指示の設定に用いられる待機時間は、上述の最短時間が用いられる。
【００５２】
また、割込処理の終了後に実行指示が設定されるので、差分角度Ｄn+1が角度閾値よりも大きいと判断される。つまり、周期角度Ｍと差分角度Ｄn+1との加算値が、次の燃焼サイクルにおける判定範囲として設定される。燃料サイクルｎ＋１では、実行指示に従って、駆動部４０が作動し、要求噴射角度よりも遅れて、インジェクタ２１による燃料の噴射が実行される。
【００５３】
（３）燃焼サイクルｎ＋２では、１燃焼サイクル前の燃焼サイクルｎ＋１における定期処理によって、判定範囲Ｈn+2が加算値に設定されている。このため、開始角度がＢＴＤＣ９０のときに、開始角度から判定範囲Ｈn+2内に要求噴射角度が含まれると判断される。つまり、ＢＴＤＣ９０を開始角度とする定期処理において、実行指示が設定される。実行指示の設定に用いられる待機時間は、ＢＴＤＣ９０において取得された要求噴射角度に基づいて算出される。
【００５４】
燃焼サイクルｎ＋２では、燃焼サイクルｎ＋１と同様の割込処理が生じている。その結果、割込処理の終了後に実行指示が設定されるので、差分角度Ｄn+2が角度閾値よりも大きいと判断される。つまり、周期角度Ｍと差分角度Ｄn+2との加算値が判定範囲として設定される。
【００５５】
但し、燃焼サイクルｎ＋２では、１周期を周期角度として、要求噴射角度が含まれる周期よりも１周期前の周期における開始角度であるＢＴＤＣ９０において実行指示が設定される。なお、定期処理では、ＢＴＤＣ９０において既に実行指示が設定されている場合、ＢＴＤＣ６０において実行指示が再び設定されないようになっている。つまり、ＢＴＤＣ９０において設定された実行指示によって駆動部４０が作動する。その結果、要求噴射角度において適切に、インジェクタ２１による燃料の噴射が実行される。
【００５６】
このように、仮に１燃焼サイクル前の燃焼サイクルにおいて割込処理が生じていた場合は、次の燃焼サイクルにおいて加算値が判定範囲として設定される。これにより、割込処理が生じていた燃焼サイクルの次の燃焼サイクルにおいては、要求噴射角度が含まれる周期よりも１周期前の周期における開始角度において実行指示が設定されるので、要求噴射角度に遅れることなく、インジェクタ２１による燃料の噴射が実行される。つまり、割込処理が生じたとしても、要求噴射角度に遅れることなく、燃料噴射の制御が適切に行われる。
【００５７】
（４）燃焼サイクルｎ＋３では、１燃焼サイクル前の燃焼サイクルｎ＋２における定期処理によって、判定範囲Ｈn+3が加算値に設定されている。このため、開始角度がＢＴＤＣ９０のときに、開始角度から判定範囲Ｈn+3内に要求噴射角度が含まれると判断される。つまり、ＢＴＤＣ９０を開始角度とする定期処理において、実行指示が設定される。実行指示の設定に用いられる待機時間は、ＢＴＤＣ９０において取得された要求噴射角度に基づいて算出される。
【００５８】
燃焼サイクルｎ＋３では、割込処理は生じていない。その結果、周期角度Ｍが次の燃焼サイクルにおける判定範囲として設定される。燃焼サイクルｎ＋３では、実行指示に従って、駆動部４０が作動し、要求噴射角度において、インジェクタ２１による燃料の噴射が適切に実行される。
【００５９】
（５）燃焼サイクルｎ＋４では、１燃焼サイクル前の燃焼サイクルｎ＋３における定期処理によって、判定範囲Ｈn+4が周期角度Ｍに設定されている。このため、開始角度がＢＴＤＣ６０のときに、開始角度から判定範囲Ｈn+4内に要求噴射角度が含まれると判断される。つまり、ＢＴＤＣ６０を開始角度とする定期処理において、実行指示が設定される。実行指示の設定に用いられる待機時間は、ＢＴＤＣ６０において取得された要求噴射角度に基づいて算出される。
【００６０】
燃焼サイクルｎ＋４では、割込処理は生じていない。その結果、周期角度Ｍが次の燃焼サイクルにおける判定範囲として設定される。燃焼サイクルｎ＋４では、実行指示に従って、駆動部４０が作動し、要求噴射角度において、インジェクタ２１による燃料の噴射が適切に実行される。
【００６１】
ここで、本燃焼サイクルでは、要求噴射角度は、ＢＴＤＣ６０において取得された値である。このため、本燃焼サイクルでは、例えばＢＴＤＣ９０において取得された要求噴射角度に基づいて実行指示が設定される場合よりも、現時点での車両の運転状態をより反映して、インジェクタ２１による燃料の噴射が実行される。
【００６２】
このように、仮に過去の燃焼サイクルにおいて割込処理が生じていたとしても、１燃焼サイクル前の燃焼サイクルにおいて割込処理が生じていなかった場合は、次の燃焼サイクルにおいて判定範囲が周期角度に設定される。これにより、割込処理が生じていなかった燃焼サイクルの次の燃焼サイクルにおいては、直近の開始角度において取得された要求噴射角度に基づいて実行指示が設定される。
【００６３】
その結果、割込処理が生じていなかった燃焼サイクルの次の燃焼サイクルにおいては、直近の、換言すれば最新の、運転状態を反映して、インジェクタ２１による燃料の噴射が実行される。
【００６４】
［１−４．効果］
以上詳述した第１実施形態によれば、以下の効果を奏する。
（１ａ）制御部５０は、上述のように、回転角度に同期して、周期角度毎に種々の制御を行う。制御部５０は、優先順位の高い制御については、割込処理によって優先順位の低い制御よりも優先して実行するように構成されている。制御部５０は、周期角度毎に、このときの開始角度から判定範囲内に要求噴射角度が含まれるかを判断し、要求噴射角度が含まれる場合には、駆動部４０に対して待機時間後にインジェクタ２１が駆動されるように実行指示を出力する。ここで、判定範囲は、周期角度よりも大きく設定されている。つまり、周期角度を１周期として、要求噴射角度が含まれる周期の少なくとも１周期以上前に、駆動部４０に対して実行指示が出力される。
【００６５】
この結果、仮に何らかの割込処理が生じたとしても、要求噴射角度が含まれる周期の少なくとも１周期以上前に実行指示が出力され得るので、燃料の噴射が、要求噴射角度よりも遅れることが抑制される。従って、燃料噴射を適切なタイミングで実行することができる。
【００６６】
（１ｂ）ＥＣＵ３０は、Ｓ１６５では、開始角度から判定範囲内に要求噴射角度が含まれていると判断された場合に、差分角度を算出する。その結果、燃料噴射のタイミング制御を精度よく行うために、該差分角度を利用することが可能となる。
【００６７】
（１ｃ）ＥＣＵ３０は、Ｓ１７５によって、差分角度が角度閾値以下である場合に、周期角度を判定範囲として設定する。ＥＣＵ３０は、差分角度が角度閾値よりも大きい場合に、Ｓ１８５によって、加算値を判定範囲として設定する。ここで、回転角度は、燃焼サイクル毎に初期化される。なお、角度閾値は、割込処理が生じていないときの、開始角度から実行指示が出力されるまでの角度差に設定されている。ＥＣＵ３０は、Ｓ１３０では、１燃焼サイクル前の燃焼サイクルにおいて設定された過去の判定範囲を取得し、開始角度から過去の判定範囲内に要求噴射角度が含まれているか否かを判断する。
【００６８】
つまり、直前の１燃焼サイクル前の燃焼サイクルにおいて割込処理が生じていたときは、その次の燃焼サイクルである現燃焼サイクルにおいては、（１ａ）と同様の効果が奏される。また、１燃焼サイクル前の燃焼サイクルにおいて割込処理が生じていなかったときは、周期角度が判定範囲として設定される。その結果、その次の燃焼サイクルである現燃料サイクルにおいては、最新の運転状態を反映したタイミングで、インジェクタ２１による燃料の噴射を実行することができる。
【００６９】
（１ｄ）ＥＣＵ３０は、Ｓ１３０では、開始角度毎に要求噴射角度を取得し、開始角度から判定範囲内に、取得した要求噴射角度が含まれているか否か、を判断する。その結果、周期角度毎に最新の要求噴射角度が取得され、該要求噴射角度に基づいて実行指示が設定される。つまり、最新の運転状態を反映したタイミングでインジェクタ２１による燃料の噴射を実行することが可能となる。
【００７０】
［１−５．変形例］
（変形例１）エンジン２０は複数の気筒を備えていてもよい。そして、制御部５０は、複数の気筒のそれぞれに対して、判定範囲を設定してもよい。この場合、制御部５０は、図２のフローチャートに示す定期処理に代えて、図４のフローチャートに示す定期処理を実行してもよい。図４のフローチャートでは、図２のフローチャートに対して、Ｓ１１７が追加されている。
【００７１】
制御部５０は、例えば、定期処理において、Ｓ１１７にて、複数の気筒のうちのいずれの気筒に対する定期処理を実行するかを設定し、Ｓ１２０では設定された気筒についての要求噴射角度を取得し、Ｓ１２５では設定された気筒についての判定範囲を取得するように構成されてもよい。また、制御部５０は、設定された気筒についてＳ１３０以降の処理を実行し、Ｓ１７５、Ｓ１８５では、設定された気筒について判定範囲を記憶する、というように構成されてもよい。そして、制御部５０は、これらの処理を気筒毎に実行するように構成されてもよい。
【００７２】
その結果、気筒毎の特性のばらつきを考慮して判定範囲を設定することができる。
（変形例２）差分角度は、現燃焼サイクル以前の複数の燃焼サイクルにおける複数の差分角度のうちの最大値に設定されてもよい。この場合、制御部５０は、図２のフローチャートに示す定期処理に代えて、図５のフローチャートに示す定期処理を実行してもよい。図５のフローチャートでは、図２のフローチャートに対して、Ｓ１７７−Ｓ１７９が追加されている。
【００７３】
ここで、回転角度は、上述のように、周期角度を複数含む大きさの角度範囲である燃焼サイクル毎に初期化される。制御部５０は、Ｓ１７０では、差分角度が角度閾値以下であるか否かを判断する。制御部５０は、Ｓ１７５では、差分角度が角度閾値以下である場合に、周期角度を判定範囲として設定する。制御部５０は、Ｓ１７７−Ｓ１８５では、差分角度が角度閾値よりも大きい場合に、現燃焼サイクル以前の複数の燃焼サイクルにおける複数の差分角度のうちの最大値と周期角度との加算値、を判定範囲として設定する。
【００７４】
具体的には、制御部５０は、Ｓ１７７では、Ｓ１６５にて算出された差分角度が、複数の過去の燃焼サイクルにおいて算出された差分角度のうちの最大値（以下、最大値）よりも大きいか否かを判断する。ここで、制御部５０は、算出された差分角度が最大値よりも大きい場合、Ｓ１８０にて該差分角度に基づいて加算値を算出し、Ｓ１８５にて該加算値を判定範囲として設定する。
【００７５】
一方、制御部５０は、算出された差分角度が最大値以下である場合、Ｓ１７９にて最大値を差分値として設定し、Ｓ１８０−Ｓ１８５では、該差分角度に基づいて加算値を算出し、判定範囲を設定する。
【００７６】
これにより、直前の燃焼サイクルにおいて割込処理が生じていなかったときは、（１ｃ）と同様の効果が奏される。また、直前の燃焼サイクルにおいて割込処理が生じていたときは、判定範囲は最大値に基づいて設定されるので、次回以降の燃焼サイクルにおいて割込処理が生じた場合には、開始角度から判定範囲内に要求噴射角度が含まれる周期の１周期以上前において確実に実行指示が設定される。従って、要求噴射角度に遅れることなく、適切なタイミングで、インジェクタ２１に燃料を噴射させることができる。
【００７７】
なお、制御部５０は、過去の燃焼サイクルにおける差分角度の最大値を用い、且つ、気筒毎に判定範囲を設定するように構成されてもよい。この場合は、図５のフローチャートに、図４のフローチャートにおけるＳ１１７が追加されてもよい。
【００７８】
［２．第２実施形態］
［２−１．第１実施形態との相違点］
第２実施形態は、基本的な構成は第１実施形態と同様であるため、相違点について以下に説明する。なお、第１実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。
【００７９】
前述した第１実施形態では、判定範囲は回転角度で表されていた。これに対し、第２実施形態では、判定範囲が時間で表されている点で、第１実施形態と相違する。
［２−２．処理］
次に、第２実施形態の制御部５０が、第１実施形態の図２に示す定期処理に代えて実行する定期処理について、図６のフローチャートを用いて説明する。なお、図６におけるＳ１１０−Ｓ１１５、Ｓ１２０、Ｓ１３０−Ｓ１５５の処理は、図２における同一ステップの処理と同様であるため、説明を一部簡略化している。
【００８０】
制御部５０は、Ｓ１１０−Ｓ１１５では、第１実施形態と同様の処理を行う。
制御部５０は、Ｓ１１９では、マイコンが備えるフリーランニングタイマを用いて、差分時間の計測を開始する。差分時間とは、開始角度から判定範囲内に要求噴射角度が含まれていると判断された場合の該開始角度となった時点から、どれだけ遅れて実行指示が出力されたか、を時間で表した値である。
【００８１】
制御部５０は、ＳＳ１２０では、第１実施形態と同様の処理を行う。
制御部５０は、Ｓ１２６では、判定範囲を取得する。ここでは、判定範囲は時間によって表されており、例えばＥＥＰＲＯＭ等の書き換え可能なメモリに記憶されている。
【００８２】
制御部５０は、Ｓ１２７では、上述の単位時間あたりの回転角度を取得する。
制御部５０は、Ｓ１２９では、単位時間あたりの回転角度に基づいて、時間によって表された判定範囲を角度によって表された判定範囲に変換する。
【００８３】
制御部５０は、Ｓ１３０−Ｓ１５５では、Ｓ１２９において角度によって表された判定範囲に基づいて、第１実施形態と同様の処理を行う。
制御部５０は、Ｓ１６１では、上述の差分時間の計測を終了する。
【００８４】
制御部５０は、Ｓ１６６では、開始角度から判定範囲内に要求噴射角度が含まれていると判断された場合に、Ｓ１１２及びＳ１６１の計測結果に基づいて、差分時間を算出する。つまり、回転角度が開始角度となった時点から実行指示が設定された時点までの時間が差分時間として計測される。これにより、燃料噴射のタイミング制御を精度よく行うために、該差分時間を利用することが可能となる。
【００８５】
制御部５０は、Ｓ１７１では、差分時間が時間閾値以下であるか否かを判断する。時間閾値は、開始角度から判定範囲内に要求噴射角度が含まれていると判断された場合の該開始角度の時点から実行指示が設定される時点までの時間差であって、割込処理が実行されない場合の時間差、に設定されている。
【００８６】
ここで、制御部５０は、差分時間が時間閾値以下である場合、つまり、割込処理が実行されていない場合に、処理をＳ１７６に移行させ、周期角度あたりの時間（以下、周期角度時間）を、時間によって表された判定範囲として設定する。ここでは、単位時間あたりの回転角度に基づいて、３０°ＣＡに相当する時間が周期角度時間として算出され、該周期角度時間が判定範囲として設定される。制御部５０は、時間によって表された判定範囲を設定した後に、本定期処理を終了する。
【００８７】
一方、制御部５０は、差分時間が時間閾値よりも大きい場合、処理をＳ１８１へ移行させる。
制御部５０は、Ｓ１８１では、時間によって表された加算値（以下、時間加算値）を算出する。時間加算値とは、差分時間と、周期角度時間とを加算した値である。時間加算値は、第１実施形態における加算値を時間で表した値である。
【００８８】
制御部５０は、Ｓ１８６では、時間加算値を時間によって表された判定範囲として設定し、本定期処理を終了する。
［２−３．効果］
以上詳述した第２実施形態によれば、前述した第１実施形態の効果（１ａ）−（１ｄ）を奏し、さらに、以下の効果を奏する。
【００８９】
（２ａ）判定範囲は時間によって表される。その結果、クランク角センサ１０によって取得される単位回転角度が大きい場合には、判定範囲が回転角度によって表される場合よりも、燃料噴射のタイミングを精度よく設定することができる。
【００９０】
［２−４．変形例］
（１）第２実施形態においても、時間によって表された判定範囲が、複数の気筒のそれぞれに対して、設定されてもよい。
【００９１】
（２）第２実施形態においても、差分角度が、現燃焼サイクル以前の複数の燃焼サイクルにおける複数の差分時間のうちの最大値に設定されてもよい。
［３．他の実施形態］
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
【００９２】
（３ａ）上記第１実施形態では、差分角度の大きさに基づいて、判定範囲を設定していたが、これに限定されるものではない。例えば、判定範囲は、周期角度よりも大きい値に予め設定されていてもよい。その結果、仮に何らかの割込処理が行われたとしても、周期角度を１周期として、要求噴射角度が含まれる周期の少なくとも１周期以上前に常に実行指示が出力される。
【００９３】
従って、要求噴射角度よりも遅れることなく、燃料噴射を実行することができる。この場合、例えば、図２のフローチャートにおけるＳ１６０−Ｓ１８５が削除されてもよい。なお、上記第２実施形態においても同様に、時間によって表された判定範囲が、周期角度時間よりも大きい値に予め設定されてもよい。
【００９４】
（３ｂ）上記第１実施形態では、割込処理が生じたときの遅れを表す差分角度が周期角度未満となる例について説明したが、これに限定されるものではない。差分角度は、周期角度以上であってもよい。差分角度が周期角度以上である場合においても、第１実施形態と同様の効果が奏される。なお、上記第２実施形態においても同様に、差分時間は、周期角度時間以上であってもよいし、周期角度時間未満であってもよい。
【００９５】
（３ｃ）上記第１実施形態において、差分角度は、現燃焼サイクル以前の複数の燃焼サイクルにおける複数の差分角度のうちの平均値に設定されてもよい。また、同様に、上記第２実施形態において、差分時間は、現燃焼サイクル以前の複数の燃焼サイクルにおける複数の差分時間のうちの平均値に設定されてもよい。
【００９６】
（３ｄ）上記実施形態では、ＥＣＵ３０が駆動部４０を備える例を説明したが、これに限定されるものではない。例えば、ＥＣＵ３０は、駆動部４０を備えていなくてもよい。この場合、駆動部４０は、ＥＣＵ３０の外部における装置として構成されていてもよい。
【００９７】
（３ｅ）上記実施形態における１つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、１つの構成要素が有する１つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、１つの構成要素によって実現したり、複数の構成要素によって実現される１つの機能を、１つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。なお、特許請求の範囲に記載した文言から特定される技術思想に含まれるあらゆる態様が本開示の実施形態である。
【００９８】
（３ｆ）上述した燃料噴射制御システム１、ＥＣＵ３０、制御部５０の他、制御部５０を機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体、燃料噴射制御方法など、種々の形態で本開示を実現することもできる。
【００９９】
［４．実施形態との対応］
ＥＣＵ３０が電子制御装置に相当し、インジェクタ２１が燃料噴射弁に相当する。
また、Ｓ１３０が判断部としての処理に相当し、Ｓ１５５が指示部としての処理に相当し、Ｓ１６５が算出部としての処理に相当し、Ｓ１７５が条件付設定部としての処理に相当し、Ｓ１８５が範囲設定部としての処理に相当する。
【符号の説明】
【０１００】
２０  エンジン、２１  インジェクタ、３０  ＥＣＵ、４０  駆動部。
【図１】
2018193922.tif 000003
【図２】
2018193922.tif 000004
【図３】
2018193922.tif 000005
【図４】
2018193922.tif 000006
【図５】
2018193922.tif 000007
【図６】
2018193922.tif 000008