(57)【要約】      （修正有）【課題】噴射キャンセルの判定を適切に実行できるようにした電子制御装置を提供する。【解決手段】マイコン６は、今回の駆動指令パルスのオフタイミングに対応したパルスオフイベントにて次回の駆動指令パルスのオンタイミングをエンジン５のクランク軸の回転角度の閾値によりセットできるようになっている。マイコン６は、エンジン５のクランク軸の回転角度が閾値にコンペアマッチし、次回の駆動指令パルスのオンタイミングが到来したときに起床される次回のパルスオンイベントにおいて、今回の駆動指令パルスのオフタイミングから次回のパルスオンイベントの実行タイミングまでの時間間隔に基づいて、次回の駆動指令パルスに対応した噴射をキャンセルするか否かを判定する。【選択図】図１
2020133609.tif 000002
【特許請求の範囲】
【請求項１】
エンジン（５）に燃料を噴射制御する電子制御装置であって、
前記エンジンのクランク軸の回転角度に関する信号を入力する入力部（１４）を備え、通常は駆動指令パルスのオンタイミングからオフタイミングの間、前記駆動指令パルスを駆動制御部（７）に出力することで前記駆動制御部によりインジェクタ（４）を駆動制御して噴射するように構成され、前記駆動指令パルスのオンタイミングに対応したパルスオンイベント（ＥＶon）を実行し、前記駆動指令パルスのオフタイミングに対応したパルスオフイベント（ＥＶoff）を実行する駆動指令部（６）を備え、
前記駆動指令部は、
今回の前記駆動指令パルスのオフタイミングに対応した前記パルスオフイベントにて次回の駆動指令パルスのオンタイミングを前記回転角度の閾値によりセットできるようになっており、
前記入力部に入力される前記回転角度が前記閾値にコンペアマッチして前記次回の駆動指令パルスのオンタイミングが到来したときに起床される次回の前記パルスオンイベントにおいて、前記今回の駆動指令パルスのオフタイミングから前記次回のパルスオンイベントの実行タイミングまでの時間間隔に基づいて、前記次回の駆動指令パルスに対応した噴射をキャンセルするか否かを判定する（Ｓ１２）電子制御装置。
【請求項２】
前記駆動指令部は、前記パルスオンイベントにてその前記駆動指令パルスのオフタイミングをセットする（Ｓ１４〜Ｓ１６）請求項１記載の電子制御装置。
【請求項３】
前記駆動指令部は、前記噴射をキャンセルする場合、通常の前記駆動指令パルスのパルス幅よりも短い微小パルスを前記駆動指令パルスとして前記駆動制御部に出力することで前記噴射をキャンセルする（Ｓ１３）請求項２記載の電子制御装置。
【請求項４】
前記微小パルスは、前記インジェクタから燃料を噴射しない程度のパルス時間に設定されている請求項３記載の電子制御装置。
【請求項５】
前記駆動指令部は、
前記今回の前記パルスオフイベントにおいて前記今回の前記パルスオフイベントの直後から前記駆動指令パルスを出力不能な時間間隔として所定のパルスガード時間（Ｋ）をセットし、
前記パルスガード時間以内に前記パルスオンイベントが実行されているか否かを判定し、
前記パルスガード時間以内に前記パルスオンイベントが実行されていれば、前記パルスガード時間の経過後に前記駆動指令パルスをオン出力する（Ｓ１８、Ｓ３１、Ｓ３２）請求項１から４の何れか一項に記載の電子制御装置。
【請求項６】
前記パルスガード時間（Ｋ）は、隣接する前記駆動指令パルスが前記駆動制御部により別々の前記駆動指令パルスとして区別可能にする所定時間に設定されている請求項５記載の電子制御装置。
【請求項７】
前記駆動指令部はマイコン（６）により構成され、
前記パルスオンイベント、前記パルスオフイベントにおける前記マイコンの信号制御に係る動作を決定するアクションレジスタを前記マイコンに備え、
前記マイコンは、前記アクションレジスタにセットされる識別値に基づいて、前記パルスガード時間内に前記駆動指令パルスをオン出力しないようにする請求項６記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子制御装置に関する。
【背景技術】
【０００２】
近年のエンジンＥＣＵは、エンジン制御の高性能化に伴い、１エンジンサイクル内で複数段の駆動指令パルスを発生させることで多段噴射制御する。急加速時には、単位時間当たりに発生する駆動指令パルスが増加するため、複数の駆動指令パルスが近接することになる。このとき、多段噴射に係る各噴射段の間隔が、所定のキャンセル閾値以内となるときには、当該多段噴射の途中の噴射段をキャンセルしなければならない。特許文献１記載の技術では、微小パルスを出力することで途中の噴射段をキャンセルしている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−７１３８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１記載の技術では、噴射キャンセルの判定は、噴射終了時に起床される噴射オフイベントの最中に実施される。しかし、以下のような問題がある。
【０００５】
今回の噴射オフイベントにて次回の噴射のタイミングが確定した後、エンジンのクランク軸の回転速度が増加しエンジン回転数が上昇したとき、隣接する噴射間の時間間隔がキャンセル閾値以内となった場合、噴射をキャンセル判定すべきであるものの噴射制御してしまうことになる。
【０００６】
また、今回の噴射オフイベントにて次回の噴射のキャンセルが確定した後に、エンジンのクランク軸の回転速度が低下しエンジン回転数が低下したとき、隣接する噴射間の時間間隔がキャンセル閾値より拡大した場合、噴射をキャンセルすべきでないもののキャンセルしてしまう。
【０００７】
本発明の目的は、噴射キャンセルの判定を適切に実行できるようにした電子制御装置を提供することにある。
【課題を解決するための手段】
【０００８】
請求項１記載の発明は、エンジン（５）に燃料を噴射制御する電子制御装置を対象としている。駆動指令部（６）は、エンジンのクランク軸の回転角度を入力する入力部（１４）を備え、通常は駆動指令パルスのオンタイミングからオフタイミングの間、駆動指令パルスを駆動制御部に出力することで駆動制御部によりインジェクタを駆動制御して噴射するように構成されている。また駆動指令部（６）は、駆動指令パルスのオンタイミングに対応してパルスオンイベント（ＥＶon）を実行し、駆動指令パルスのオフタイミングに対応してパルスオフイベント（ＥＶoff）を実行する。
【０００９】
また駆動指令部は、今回の駆動指令パルスのオフタイミングに対応したパルスオフイベントにて次回の駆動指令パルスのオンタイミングを回転角度の閾値によりセットできるようになっている。駆動指令部は、入力部に入力される回転角度が閾値にコンペアマッチして次回の駆動指令パルスのオンタイミングが到来したときに起床される次回のパルスオンイベントにおいて、今回の駆動指令パルスのオフタイミングから次回のパルスオンイベントの実行タイミングまでの時間間隔に基づいて、次回の駆動指令パルスに対応した噴射をキャンセルするか否かを判定するようにしている。
【００１０】
この場合、例えば、噴射オフイベントにて次の噴射のタイミングが確定した後、エンジンのクランク軸の回転速度が増加しエンジン回転数が上昇し、隣接する噴射間の時間間隔がキャンセル閾値以内となった場合には、今回の駆動指令パルスのオフタイミングから次回のパルスオンイベントの実行タイミングまでの時間間隔に基づいて、次回の駆動指令パルスに対応した噴射をキャンセルできる。
【００１１】
逆に、例えば、噴射オフイベントにて次回の噴射のキャンセルが確定した後に、エンジンのクランク軸の回転速度が低下しエンジン回転数が低下したとき、隣接する噴射間の時間間隔がキャンセル閾値より拡大した場合には、今回の駆動指令パルスのオフタイミングから次回のパルスオンイベントの実行タイミングまでの時間間隔に基づいて、次回の駆動指令パルスに対応した噴射をキャンセル不要と判定して通常通り噴射制御を実行できる。これにより、噴射キャンセルの判定を適切に実行できる。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態における燃料噴射制御システムの電気的構成図
【図２】噴射前イベントの処理内容を説明するフローチャート
【図３】パルスオンイベントの処理内容を説明するフローチャート
【図４】パルスオフイベントの処理内容を説明するフローチャート
【図５】駆動指令パルス、各レジスタ、カウンタ、クランク信号の時間変化を説明するタイミングチャート
【図６】比較例を示す駆動指令パルス、各レジスタ、カウンタ、クランク信号の時間変化を説明するタイミングチャート
【図７】第２実施形態における噴射前イベントの処理内容を説明するフローチャート
【図８】パルスオンイベントの処理内容を説明するフローチャート
【図９】パルスオフイベントの処理内容を説明するフローチャート
【図１０】パルスガード解除イベントの処理内容を説明するフローチャート
【図１１】駆動指令パルス、各レジスタ、カウンタ、クランク信号の時間変化を説明するタイミングチャート
【図１２】第３実施形態における駆動指令パルス、各レジスタ、カウンタ、クランク信号の時間変化を説明するタイミングチャート
【発明を実施するための形態】
【００１３】
以下、電子制御装置の幾つかの実施形態について図面を参照しながら説明する。各実施形態において、同一の動作を行う構成については、同一の符号を付して必要に応じて説明を省略することがある。
【００１４】
（第１実施形態）
図１から図６は、第１実施形態の説明図を示す。まず図１を参照して電子制御装置１の電気的構成を説明する。電子制御装置１は、クランク角センサ２やカム角センサ３などの各種センサから入力されるセンサ信号に基づいて、インジェクタ４を通じてエンジン５の内部に燃料を噴射制御する内燃機関の噴射制御装置である。エンジン５は、複数の気筒を備えるディーゼルエンジン、ガソリンエンジン、又はガスエンジンである。クランク角センサ２、カム角センサ３は、エンジン回転角度とエンジン回転速度を演算するために用いられるセンサである。
【００１５】
電子制御装置１は、駆動指令部としてのマイクロコンピュータ６（以下、マイコンと略す）、駆動制御部としてのインジェクタ駆動用ＡＳＩＣ７（以下、ＡＳＩＣと略す）、及び、駆動回路８を備える。マイコン６は、演算コア９、ＲＯＭ１０、ＲＡＭ１１、割込処理部１２、タイマユニット１３、及び第１周辺Ｉ／Ｏ１４を内部バス１５により相互接続して構成され、燃料噴射タイミングや燃料噴射量等を演算する。
【００１６】
ＡＳＩＣ７は、インジェクタ４を駆動制御する集積回路であり、揮発性メモリ及び不揮発性メモリを含む記憶部１６、回路制御部１７、パルスカウンタ１８、及び第２周辺Ｉ／Ｏ１９を内部バス２０により相互接続して構成されている。マイコン６にＡＳＩＣ７の機能を一体に組み込んで構成しても良い。
【００１７】
マイコン６とＡＳＩＣ７とは、第１周辺Ｉ／Ｏ１４及び第２周辺Ｉ／Ｏ１９を通じてデータを相互に通信可能になっている。また、マイコン６は第１周辺Ｉ／Ｏ１４及び第２周辺Ｉ／Ｏ１９を通じて専用線を用いてＡＳＩＣ７に駆動指令パルスを出力可能になっている。第１周辺Ｉ／Ｏ１４は、エンジン５のクランク軸のクランクパルス信号が入力され、これによりクランク軸の回転角度に関する信号が入力される入力部として機能する。
【００１８】
マイコン６には、１つ以上の演算コア９が組み込まれている。ＲＯＭ１０にはマイコン６の制御プログラムが記憶されている。ＲＯＭ１０には、後述する噴射前イベントＥＶb、パルスオンイベントＥＶon、又はパルスオフイベントＥＶoffにて演算コア９により実行される複数のプログラムが記憶されている。
【００１９】
演算コア９は、クランク角センサ２、カム角センサ３からマイコン６に入力されるセンサ信号に含まれる情報を用い、ＲＯＭ１０に記憶された制御プログラムにしたがって演算処理を行うもので、インジェクタ４の駆動タイミングを演算し、ＡＳＩＣ７に対し駆動指令パルスを出力する。
【００２０】
ＲＡＭ１１は、演算コア９が演算処理するときに一時的にデータを保持するもので、後述する駆動指令パルスの予定出力回数、現在出力回数、駆動指令パルスのオンタイミング及びオフタイミング、及び、キャンセル閾値Ｔを記憶するワークエリアが確保されている。
【００２１】
マイコン６は、周辺機能としてタイマユニット１３を備える。タイマユニット１３は、所定タイミングごとにカウントアップするフリーランの時間カウンタ２１、カウント変化スピードがエンジン５のクランク軸の回転速度に比例して変化する角度カウンタ２２を内蔵している。またタイマユニット１３は、第１及び第２コンペアマッチレジスタを含むレジスタ２３を内蔵している。
【００２２】
タイマユニット１３は、事前にレジスタ２３にセットされた時間の閾値と時間カウンタ２１のカウンタ値とがコンペアマッチしたときに、割込処理部１２に対して割込要因を送信する。タイマユニット１３は、事前にレジスタ２３にセットされたエンジン回転角度の閾値と角度カウンタ２２のカウンタ値とがコンペアマッチしたときに、割込処理部１２に対して割込要因を送信する。割込処理部１２は、割込要因を受信すると演算コア９に対し割込通知を行い、演算コア９が割込通知を受付けると、割込要因に応じた所定の制御プログラムを実行する。
【００２３】
他方、ＡＳＩＣ７の記憶部１６には、電流プロファイルデータが記憶されており、インジェクタ４に流す電流値（電流波形）が記憶されている。記憶部１６には、パルスカウンタ１８のカウンタ値ごとに電流プロファイルデータが記憶されている。
【００２４】
パルスカウンタ１８は、マイコン６から送信された駆動指令パルスの数をカウントするもので、フィードバック制御に使用される回路であり、駆動指令パルスを入力すると当該駆動指令パルスのオンタイミングに同期して１インクリメントされる。パルスカウンタ１８は、第２周辺Ｉ／Ｏ１９を介してマイコン６から書換可能に構成され、１エンジンサイクルごとにマイコン６からゼロクリアされる。パルスカウンタ１８は、個々のインジェクタ４ごとに用意されている。すなわちエンジン５が４気筒であれば４つ用意されている。
【００２５】
駆動回路８は、ＭＯＳＦＥＴ等のスイッチング素子を用いたパワー駆動回路であり、回路制御部１７は、マイコン６から入力される駆動指令パルスがオンの間、駆動回路８を用いてインジェクタ４を駆動制御する。回路制御部１７は、インジェクタ４に流れるインジェクタ電流が記憶部１６に記憶された所定の電流プロファイルデータと一致するように制御する。
【００２６】
インジェクタ４は、例えばソレノイド式のインジェクタである。インジェクタ４は燃料が供給されると共にアクチュエータ（何れも図示せず）を所定位置に保持することで噴射弁を閉弁しているが、インジェクタ４に電流が供給されると、アクチュエータが駆動され噴射弁を開いて燃料をエンジン５に噴射する。
【００２７】
ＡＳＩＣ７は、電流プロファイルを切り替えることで、インジェクタ４に供給されるインジェクタ電流を切替え、インジェクタ４から噴射される燃料の噴射量や消費電力を切替えることができる。
【００２８】
本形態に特徴的な作用、動作を説明する。マイコン６は、入力されるセンサ信号に基づいて１エンジンサイクル内で複数段の駆動指令信号の駆動指令パルスを発生させることで多段噴射制御する。この間、演算コア９は、割込処理部１２により噴射前イベントＥＶb、パルスオンイベントＥＶon、パルスオフイベントＥＶoffが発行されると対応したイベントを実行する。
【００２９】
図２に処理内容を示す噴射前イベントＥＶbは、１エンジンサイクルあたり気筒ごとに１回、駆動指令パルスの出力前に割込処理部１２により発行されるイベントである。図３に処理内容を示すパルスオンイベントＥＶonは、駆動指令パルスのオンタイミングに対応して割込処理部１２により発行されるイベントである。図４に処理内容を示すパルスオフイベントＥＶoffは、駆動指令パルスのオフタイミングに対応して割込処理部１２により発行されるイベントである。
【００３０】
噴射前イベントＥＶbの処理では、図２に示すように、演算コア９は、Ｓ１において１エンジンサイクルあたりの駆動指令パルスの予定出力回数を演算する。１エンジンサイクル中における多段噴射は、パイロット噴射、プレ噴射、メイン噴射、アフタ噴射、ポスト噴射などと称され、噴射段毎に１又は複数の駆動制御パルスを出力する。予定出力回数は、エンジン回転数など様々な要因により決定されるが、ここでは詳細説明を省略する。次に、演算コア９は、Ｓ２においてＲＡＭ１１のワークエリアの中の現在出力回数の記憶値をゼロクリアする。
【００３１】
次に、演算コア９は、Ｓ３において多段噴射の各噴射段の目的に基づいて駆動指令パルス毎の電流プロファイルを演算する。マイコン６及びＡＳＩＣ７は、Ｓ４において第１周辺Ｉ／Ｏ１４及び第２周辺Ｉ／Ｏ１９を通じて電流プロファイルデータを通信処理し、ＡＳＩＣ７内の記憶部１６に対し噴射段毎に上書き更新する。このとき、ＡＳＩＣ７の回路制御部１７は、記憶部１６内に記憶されている電流プロファイルデータと上書き更新する電流プロファイルデータとを照合し、噴射段毎に電流プロファイルデータが一致していれば上書き更新しなくても良い。
【００３２】
次に、マイコン６は、Ｓ５においてＡＳＩＣ７と通信することでパルスカウンタ１８の記憶値をゼロクリアする。次に、演算コア９は、Ｓ６において全ての駆動指令パルスについて駆動指令パルス毎にオンタイミング及びオフタイミングを演算する。このとき、演算コア９が演算する駆動指令パルスのオンタイミング及びオフタイミングは、時間カウンタ２１によりカウントされる時間の閾値により指定しても、角度カウンタ２２によりカウントされるエンジン５のクランク回転角度の閾値により指定しても良く、エンジン回転速度等に基づいて適宜決定される。
【００３３】
次に、演算コア９は、Ｓ７において初回の駆動指令パルスのオンタイミングが時間指定であるか否かを判定する。演算コア９は、初回の駆動指令パルスのオンタイミングを時間により指定しているときには、Ｓ８において演算した時間の閾値を第１コンペアマッチレジスタにセットする。
【００３４】
他方、演算コア９が、初回の駆動指令パルスのオンタイミングをエンジン回転角度により指定しているときには、Ｓ９にて演算した角度の閾値を第１コンペアマッチレジスタにセットする。演算コア９が、第１コンペアマッチレジスタにセットした時間の閾値に時間カウンタ２１のカウンタ値が一致したり、第１コンペアマッチレジスタにセットしたクランク回転角度の閾値に角度カウンタ２２のカウンタ値が一致すると、タイマユニット１３は、パルスオンイベントＥＶonを発行する。このため、演算コア９が第１コンペアマッチレジスタにセットすることで、パルスオンイベントＥＶonの起床タイミングを決定できる。
【００３５】
タイマユニット１３は、パルスオンイベントＥＶonの起床タイミングが到来すると割込処理部１２に対してパルスオンイベントＥＶonの割込要因を送信し、割込処理部１２は、割込要因を受信すると演算コア９に対し割込通知を行い、演算コア９が、割込通知を受付けるとパルスオンイベントＥＶonに関する制御プログラムを実行する。
【００３６】
演算コア９が、図３に示すパルスオンイベントＥＶonを実行するときには、Ｓ１１においてＲＡＭ１１のワークエリアに保存されている現在出力回数の記憶値を１インクリメントする。本実施形態では、コンペアマッチが発生したタイミングにて、マイコン６からＡＳＩＣ７に駆動指令パルスをオフからオンとして出力させる。このため、ＡＳＩＣ７が駆動指令パルスを入力することで、ＡＳＩＣ７のパルスカウンタ１８のカウント値もまた正常に１インクリメントされる。
【００３７】
演算コア９は、Ｓ１２において前回パルスオフイベントタイミングと今回パルスオンタイミングとの時間間隔とキャンセル閾値Ｔとを比較することで今回の噴射段の噴射をキャンセルするか否かを判定する。
時間間隔が、キャンセル閾値Ｔ以内の場合、演算コア９は、キャンセル必要と判定し、時間間隔がキャンセル閾値Ｔより大きい場合、演算コア９はキャンセル不要と判定する。なお、キャンセル閾値Ｔは、噴射をキャンセルすべき時間間隔であり、予め定められている所定の時間間隔である。
【００３８】
演算コア９は、キャンセル必要と判断すれば、Ｓ１３において駆動指令パルスが微小パルスとなるように当該微小パルス出力用のオフタイミングを第２コンペアマッチレジスタにセットする。微小パルスの幅は、ＡＳＩＣ７が駆動指令パルスとして認識可能な長い幅（例えばμｓオーダ）で、且つ、インジェクタ４を駆動不能な幅であれば良く、このときインジェクタ４の噴射孔は開放せず閉塞したままとなる。すなわち、微小パルスの幅は、インジェクタ４から燃料噴射しない程度のパルス時間に設定されている。
【００３９】
逆に、演算コア９は、キャンセル不要と判断すれば、Ｓ１４において次回の駆動指令パルスのオフタイミングが時間指定であるか否かを判定する。演算コア９は、次回の駆動指令パルスのオンタイミングが時間指定であるときには、Ｓ１５において時間の閾値を第２コンペアマッチレジスタにセットする。
【００４０】
他方、演算コア９は、次回の駆動指令パルスのオンタイミングがクランク回転角度により指定されていれば、Ｓ１６においてクランク回転角度の閾値を第２コンペアマッチレジスタにセットする。演算コア９が、第２コンペアマッチレジスタにセットした時間の閾値に時間カウンタ２１のカウンタ値が一致したり、第２コンペアマッチレジスタにセットしたクランク回転角度の閾値に角度カウンタ２２のカウンタ値が一致すると、タイマユニット１３はパルスオフイベントＥＶoffを発行する。このため、演算コア９が第２コンペアマッチレジスタにセットすることで、パルスオフイベントＥＶoffの起床タイミングを決定できる。
【００４１】
タイマユニット１３は、パルスオフイベントＥＶoffの起床タイミングが到来すると、割込処理部１２に対してパルスオフイベントＥＶoffの割込要因を送信し、割込処理部１２は割込要因を受信すると演算コア９に対し割込通知を行い、演算コア９が割込通知を受付けるとパルスオフイベントＥＶoffに関する制御プログラムを実行する。
【００４２】
本実施形態では、コンペアマッチが発生したタイミングにてマイコン６がＡＳＩＣ７に対し駆動指令パルスをオンからオフとする。演算コア９は、図４に示すＳ２１において現在出力回数が予定出力回数以上となっているか否かを判定する。現在出力回数が、予定出力回数以上であれば、演算コア９は、Ｓ２１において、現在の駆動指令パルスが出力予定の最後のパルスと判断する。そして、マイコン６は、パルスオフイベントＥＶoffを終了する。他方、現在出力回数が予定出力回数未満であれば、演算コア９は、出力予定の後続パルスが存在すると判定し、事前にＳ６にて演算されている次回の駆動指令パルスのオンタイミングを読み出す。
【００４３】
次に、演算コア９は、Ｓ２２において次回の駆動指令パルスのオンタイミングが時間指定であるか否かを判定する。演算コア９は、次回の駆動指令パルスのオンタイミングを時間指定するときには、Ｓ２３において時間の閾値を第１コンペアマッチレジスタにセットする。他方、演算コア９は、初回の駆動指令パルスのオンタイミングをクランク回転角度により指定するときには、Ｓ２４においてクランク回転角度の閾値を第１コンペアマッチレジスタにセットする。これにより、前述同様に、次回のパルスオンイベントＥＶonの起床タイミングを決定できる。その後、演算コア９は、前述したように、次回の噴射に関するパルスオンイベントＥＶonを繰り返す。
【００４４】
以上示したように、演算コア９は、１エンジンサイクルの中で、１回だけ噴射前イベントＥＶbの処理を実行した後、各噴射段に対応してパルスオンイベントＥＶon、及び、パルスオフイベントＥＶoffを繰り返し実行することで、駆動指令パルスを順次ＡＳＩＣ７に出力できる。
【００４５】
以下、具体例について、図５及び図６のタイミングチャートを参照しながら説明する。
駆動指令パルスの出力予定回数が３回、初回のオンタイミングを角度Ｘ、初回のオフタイミングを時刻Ａと指定した場合の具体例を図５に示している。また、従来技術を適用した場合の不具合例を比較例として図６に示している。
【００４６】
演算コア９は、噴射前イベントＥＶbを実行した後、初回の駆動指令パルスのパルスオンイベントＥＶonを角度Ｘにて実行し、パルスオフイベントＥＶoffを時刻Ａにて実行する。この図５の具体例では、演算コア９はパルスオフイベントＥＶoffを時刻Ａにて実行したとき、次回の駆動指令パルスのオンタイミングを、クランク回転角度の閾値（角度Ｙ）を用いてセットしている。
【００４７】
演算コア９は、２回目のパルスオフイベントＥＶoff内で初回のパルスオンイベントＥＶonからの時間間隔を演算する。そして演算コア９は、時間間隔をキャンセル閾値Ｔと比較した結果、時間間隔がキャンセル閾値Ｔより広い場合、噴射のキャンセル不要と判定する。演算コア９は、パルスオフイベントＥＶoffにおいて、駆動指令パルスのオンタイミングをクランク回転角度の閾値（角度Ｙ）により第１コンペアマッチレジスタにセットする。
【００４８】
通常、演算コア９が、１エンジンサイクルの中で前述の多段噴射に係る各イベントを繰り返しても、エンジン回転数が一定の場合やエンジン回転数が緩やかに変化する場合には、正常に実行される。
【００４９】
しかし、マイコン６が初回のパルスオフイベントＥＶoffを実行した後、図５のタイミングｔ１以降に示すように、エンジン５のクランク軸の回転速度が上昇しエンジン回転数が上昇すると、角度カウンタ２２の周期はエンジン回転数に比例して変化するため、角度カウンタ２２のカウントアップ速度が上昇する。
【００５０】
この場合、エンジン５のクランク軸の回転角度が本来の予定間隔Ｐ（図６参照）を経過するよりも速く閾値にコンペアマッチし、初回の駆動指令パルスのオフタイミングと２回目の駆動指令パルスのオンタイミングとの間の時間間隔が短くなる。このとき、時間間隔が本来の予定間隔Ｐより短くなったとしても、マイコン６が、駆動指令パルスをそのままＡＳＩＣ７に出力してしまうことで、図６の不具合例に示すように、ＡＳＩＣ７は、通常通り噴射制御してしまう。
【００５１】
本実施形態では、初回のオンタイミングは、噴射前イベントＥＶb内で第１コンペアマッチレジスタにセットされ、その後、初回のオフタイミングは、パルスオンイベントＥＶon内で第２コンペアマッチレジスタにセットされ、そして、２回目のオンタイミングは、直前のパルスオフイベントＥＶoff内で第１コンペアマッチレジスタにセットされる。
【００５２】
初回のパルスオフイベントＥＶoff後に、エンジン回転数が上昇することで角度カウンタ２２のカウントアップ速度が上昇し、本来の予定間隔Ｐを経過するよりも速く角度がコンペアマッチした場合、図５に示すように、演算コア９が、そのコンペアマッチしたときに起床される２回目のパルスオンイベントＥＶonにて初回のオフタイミングと２回目のパルスオンイベントＥＶonの実行タイミングまでの時間間隔とキャンセル閾値Ｔとを比較し、時間間隔がキャンセル閾値Ｔ以内のときには、噴射をキャンセルすると判定する。
【００５３】
このとき、演算コア９は、２回目の駆動指令パルスのオフタイミングとして事前に図２のＳ６にて演算した時刻Ｂではなく、微小パルス出力用の時刻Ｅを第２コンペアマッチレジスタにセットする（図３のＳ１２→Ｓ１３）。マイコン６は、ＡＳＩＣ７に微小パルスを出力するが、ＡＳＩＣ７は、入力された微小パルスに基づいて回路制御部１７により駆動回路８を通じてインジェクタ４を駆動したとしてもアクチュエータを充分に駆動できないため、噴射弁を閉弁したまま保持できる。これにより、燃料噴射量に影響を与えることなく噴射のキャンセルを実現できる。
【００５４】
以下、本実施形態の特徴をまとめる。本実施形態によれば、演算コア９が、２回目のパルスオンイベントＥＶonにおいて、初回の駆動指令パルスのオフタイミング（パルスオフイベントＥＶoffの実行タイミング）から２回目のパルスオンイベントＥＶonの実行タイミングまでの時間間隔に基づいて、２回目の駆動指令パルスに対応した噴射をキャンセルするか否かを判定するようにした。これにより、初回のパルスオフイベントＥＶoffにて次の噴射のタイミングを確定した後、エンジン５のクランク軸の回転速度が増加してエンジン回転数が上昇し、隣接する噴射間の時間間隔がキャンセル閾値以内となった場合であっても、マイコン６は噴射をキャンセル判定できる。これにより、直前のエンジン５のクランク軸の回転角度の変化、エンジン回転数の変化を反映して噴射制御でき、噴射のキャンセル判定を適切に実行できる。
【００５５】
マイコン６は、２回目のパルスオンイベントＥＶonにてその駆動指令パルスのオフタイミングをセットするため、パルスオンイベントＥＶonの発生後にパルス幅を調整できる。またパルスオンイベントＥＶonの実行時に駆動指令パルスのパルス幅を調整できる。
【００５６】
マイコン６は、駆動指令パルスとして微小パルスを出力することで噴射のキャンセルを実現することができ、パルスオンイベントＥＶonの実行後に噴射をキャンセルできる。
【００５７】
（第２実施形態）
図７から図１１は、第２実施形態の追加説明図を示す。第１実施形態と同一部分については同一符号を付すと共に同一処理を行う部分については同一ステップ番号を付して必要に応じて説明を省略し、第１実施形態と異なる部分について説明する。
【００５８】
本形態では、図１に示したマイコン６のＲＡＭ１１にはパルスガード時間Ｋを記憶するワークエリアが確保されている。図１には図示していないが、第１周辺Ｉ／Ｏ１４と第２周辺Ｉ／Ｏ１９との間にローパスのノイズフィルタが設置されている場合がある。
パルスガード時間Ｋは、駆動指令パルスのオンからオフの立下り、オフからオンの立上りの信号が連続して現れたときに前述のノイズフィルタに吸収されない程度の時間長に設定される。ＡＳＩＣ７側からの視点で考慮すると、パルスガード時間Ｋは、隣接する駆動指令パルスがＡＳＩＣ７により別々の駆動指令パルスとして区別可能にする所定時間に設定されている。
【００５９】
エンジン回転数が、パルスオフイベントＥＶoffの後に急激に上昇すると、隣接する駆動指令パルスの時間間隔がある一定時間より短くなり、駆動指令パルス間の立上り及び立下りの信号がノイズフィルタに吸収されてしまい、ＡＳＩＣ７が駆動指令パルスの入力パルスカウンタ値を正常にカウントできなくなる虞がある。このため、パルスガード時間Ｋは、このノイズフィルタの構成及び回路定数に基づいて適応的に設定されていることが望ましい。
【００６０】
また図１に示したマイコン６のレジスタ２３には、第１アクションレジスタ及び第２アクションレジスタが用意されている。第１アクションレジスタは、第１コンペアマッチレジスタがコンペアマッチしたときの信号制御内容を示す。また第２アクションレジスタは、第２コンペアマッチレジスタがコンペアマッチしたときの信号制御内容を示す。
【００６１】
実行時の信号制御内容としては、「パルスオン」、「パルスオフ」、又は、「アクションなし」を選択できる。「パルスオン」は、駆動指令パルスをオン出力する動作を実行することを示す。「パルスオフ」は、駆動指令パルスをオフ出力する動作を実行することを示す。「アクションなし」は、何もアクションしないことを示す。
レジスタ２３内の第１及び第２アクションレジスタは、マイコン６に内蔵されるレジスタであり、マイコン６がリアルタイム制御でき、マイコン６は第１又は第２アクションレジスタにセットされる識別値に基づいて動作を決定できる。
【００６２】
第１実施形態でも説明したように、マイコン６は、入力されるセンサ信号に基づいて１エンジンサイクル内で複数段に係る駆動指令パルスを発生させることで多段噴射制御する。この間、演算コア９は、割込処理部１２により噴射前イベントＥＶb、パルスオンイベントＥＶon、パルスオフイベントＥＶoffが発行されると対応したイベントを実行する。
【００６３】
図７に示すように、噴射前イベントＥＶb処理では、第１実施形態にて説明したＳ１〜Ｓ９の処理を実行した後、演算コア９は、Ｓ１０ａにおいてレジスタ２３中の第１アクションレジスタに「パルスオン」をセットし、Ｓ１０ｂにおいてレジスタ２３中の第２アクションレジスタに「パルスオフ」をセットする。
【００６４】
図８に示すように、パルスオンイベントＥＶonでは、演算コア９は、Ｓ１１において現在出力回数を１インクリメントする。
【００６５】
次に演算コア９は、Ｓ１７においてパルスガード判定する。このパルスガード判定処理は、隣接するパルスオフイベントＥＶoffの実行タイミングとパルスオンイベントＥＶonの実行タイミングとの時間間隔と、パルスガード時間Ｋとの間の比較に基づいて行われる。
【００６６】
演算コア９は、Ｓ１７においてパルスオンイベントＥＶonの発生タイミングがパルスガード時間Ｋ以内であるか否かを判定し、パルスガード時間Ｋ以内であれば、Ｓ１８において第２アクションレジスタに「パルスオン」をセットする。
逆に、演算コア９は、Ｓ１７においてパルスオンイベントＥＶonの実行タイミングがパルスガード時間Ｋの外であれば、Ｓ１２において噴射のキャンセルを判定する。噴射のキャンセル判定は、第１実施形態と同様に、前回噴射オフタイミングと今回噴射オンタイミングの時間間隔とキャンセル閾値Ｔとの比較に基づいて行うと良い。
【００６７】
演算コア９は、Ｓ１２にて噴射のキャンセルを必要と判断すれば、Ｓ１３にて第２コンペアマッチレジスタに微小パルス出力用のオフ時間をセットする。また演算コア９は、Ｓ１２にて噴射のキャンセルを不要と判断すれば、Ｓ１４〜Ｓ１６に示すように第１実施形態と同様に次回の駆動指令パルスのオフタイミングを時間の閾値又はクランク軸の回転角度の閾値によりセットする。
【００６８】
図９に示すように、パルスオフイベントＥＶoffでは、第１実施形態にて説明したＳ２１〜Ｓ２４の処理を実行する。その後、演算コア９は、Ｓ２５において第２コンペアマッチレジスタに現在時刻＋パルスガード時間Ｋをセットする。演算コア９は、Ｓ２６ａにおいて第１アクションレジスタに「アクションなし」をセットし、Ｓ２６ｂにおいて第２アクションレジスタに「アクションなし」をセットする。本形態では、マイコン６は、第２コンペアマッチレジスタのコンペアマッチのタイミングにてＡＳＩＣ７に駆動指令パルスをオフ出力する。
【００６９】
また、タイマユニット１３の時間カウンタ２１によりパルスガード時間Ｋが経過したことが判定されると、割込処理部１２はパルスガード解除イベントＥＶpを発行する。図１０に示すように、演算コア９が、パルスガード解除イベントＥＶpを実行するときに、Ｓ３１において第２アクションレジスタに記憶されている状態が「パルスオン」であるか「アクションなし」であるかを判定することで、既に対応したパルスオンイベントＥＶonが実行されているか否かを判定する。
【００７０】
第２アクションレジスタに「パルスオン」とセットされていれば、演算コア９は、既にパルスオンイベントＥＶonが発行されているため、パルスオンイベント発生済と判断し、Ｓ３２において第２コンペアマッチレジスタに微小パルス出力用のオフ時間Ｆをセットし、Ｓ３３の処理に進む。
【００７１】
逆に、第２アクションレジスタに「アクションなし」と状態が記憶されていれば、演算コア９は、パルスオンイベント未発生と判断し、第２コンペアマッチレジスタの設定を行うことなく、そのままＳ３３の処理に進む。
【００７２】
そして演算コア９は、第２アクションレジスタの状態に拘わらず、Ｓ３３において第１アクションレジスタに「パルスオン」をセットし、Ｓ３４において第２アクションレジスタに「パルスオフ」をセットする。マイコン６は、このように処理を繰り返す。
【００７３】
以下、具体例について、図１１のタイミングチャートを参照しながら説明する。第１実施形態と同様に、１回目のパルスオフイベントＥＶoff後にエンジン回転数が急上昇し、１回目と２回目の駆動指令パルスの時間間隔が極端に短くなる場合の例を図１１に示している。
【００７４】
演算コア９は、初回のパルスオンイベントＥＶonにて初回の駆動指令パルスのオフタイミングを時刻Ａとして第２コンペアマッチレジスタにセットする（図８のＳ１４〜Ｓ１６：図１１のタイミングｔｘ）。演算コア９は、初回のパルスオフイベントＥＶoffにおいて、２回目の駆動指令パルスのオンタイミングを角度の閾値として角度Ｙを第１コンペアマッチレジスタにセットする（図９のＳ２４）が、第２コンペアマッチレジスタには、現在時刻Ａとパルスガード時間Ｋとを加算した値Ａ＋Ｋをセットする（図９のＳ２５：図１１のタイミングｔa）。
【００７５】
このとき、演算コア９は、第１アクションレジスタ及び第２アクションレジスタに「アクションなし」としてセットする（図９のＳ２６ａ、Ｓ２６ｂ）。この後、エンジン回転数がタイミングｔ２にて急上昇した場合、角度カウンタ２２のカウントアップ速度が急増する。図１１のタイミングｔ２以降参照。
【００７６】
その後、角度カウンタ２２が角度Ｙにコンペアマッチすると２回目のパルスオンイベントＥＶonが起床されるが、このパルスオンイベントＥＶonが現在時刻Ａ＋パルスガード時間Ｋ以内に発生した場合、演算コア９は、第２アクションレジスタに「パルスオン」とセットする（図８のＳ１７→Ｓ１８：図１１のタイミングｔy）。パルスガード時間Ｋが経過すると、時間カウンタ２１のカウンタ値が第２コンペアマッチレジスタの値Ａ＋Ｋにコンペアマッチし、演算コア９は、パルスガード解除イベントＥＶpを実行する（図１１のタイミングｔak）。するとマイコン６は、第２アクションレジスタにセットされた「パルスオン」を実行し、駆動指令パルスをオン出力する。
【００７７】
したがって、演算コア９が、パルスオフイベントＥＶoff内にて第１アクションレジスタ及び第２アクションレジスタに「アクションなし」としてセットすることで、パルスガード時間Ｋの途中で角度カウンタ２２の値が第１コンペアマッチレジスタの値（角度Ｙ）にコンペアマッチした場合でも、駆動指令パルスが即時にオン出力されることはなく、パルスガード時間Ｋの経過後に次回の駆動指令パルスがオン出力されるようになる。
【００７８】
これにより、今回の初回の駆動指令パルスのオフタイミングから次回の２回目の駆動指令パルスのオンタイミングまでの時間間隔がパルスガード時間Ｋ以上となることが保証される。このため、ＡＳＩＣ７側では、駆動指令パルスを正常に認識でき、ＡＳＩＣ７がパルスカウンタ１８により駆動指令パルスを正常にカウントできる。
【００７９】
なお、演算コア９は、パルスガード解除イベントＥＶpにおいて第２アクションレジスタの状態を参照し「パルスオン」であった場合には、第２コンペアマッチレジスタに微小パルス出力用のオフ時間Ｆをセットする（図１０のＳ３１→Ｓ３２：図１１のｔak）。すると、第１実施形態と同様に、インジェクタ４から燃料噴射されない程度の微小パルスを出力できる。
【００８０】
オフ時間Ｆが経過すると、パルスオフイベントＥＶoffが発行されるが、演算コア９が第１コンペアマッチレジスタに時間の閾値（時刻Ｃ）をセットすると共に、第２コンペアマッチレジスタに現在時刻Ｆ＋パルスガード時間Ｋをセットする（図９のＳ２３→Ｓ２５：図１１のｔf）。
【００８１】
その後、パルスガード時間Ｋが経過すると、パルスガード解除イベントＥＶpが発行されるが、演算コア９が第２アクションレジスタの状態を参照しても「アクションなし」と記憶されているため、演算コア９は、Ｓ３３において第１アクションレジスタに「パルスオン」、Ｓ３４において第２アクションレジスタに「パルスオフ」をセットして終了する（図１０のＳ３３、Ｓ３４：図１１のタイミングｔfk）。
【００８２】
その後、時刻Ｃが経過すると、第１コンペアマッチレジスタがコンペアマッチすることでパルスオンイベントＥＶonが発行される。第１アクションレジスタがパルスオン設定されているため、コンペアマッチに同期して駆動指令パルスをオン出力する。また、演算コア９は、噴射のキャンセル判定してもキャンセル不要と判断し、第２コンペアマッチレジスタに時間の閾値（時刻Ｄ）をセットする（図８のＳ１２、Ｓ１４、Ｓ１５：図１１のタイミングｔc）。
その後、時刻Ｄが経過すると、パルスオフイベントＥＶoffが発行され、演算コア９は第２アクションレジスタに記憶された「パルスオフ」を実行することで、駆動指令パルスをオフ出力する（図１１のタイミングｔd）。このように処理が繰り返される。
【００８３】
本実施形態によれば、マイコン６は、初回のパルスオフイベントＥＶoffにて当該初回のパルスオフイベントＥＶoff直後から駆動指令パルスを出力不能な時間間隔として所定のパルスガード時間Ｋをセットし、パルスガード時間Ｋ以内にパルスオンイベントＥＶonが実行されていれば、パルスガード時間Ｋの経過後に駆動指令パルスを出力するようにしている。これにより、パルス間の時間間隔をパルスガード時間Ｋ以上確保することができ、ＡＳＩＣ７がパルスカウンタ１８により駆動指令パルスの入力数を正常にカウントできる。
【００８４】
パルスガード時間Ｋは、隣接する駆動指令パルスがＡＳＩＣ７により別々の駆動指令パルスとして区別可能にする所定時間に設定されているため、たとえマイコン６とＡＳＩＣ７との間にノイズフィルタが設置されていたとしても、隣接する駆動指令パルスの間の立下り、立上り信号がノイズフィルタに吸収されることがなくなる。これにより、ＡＳＩＣ７は駆動指令パルスを正常に認識できる。
【００８５】
マイコン６は、レジスタ２３内の第１又は第２アクションレジスタにセットされる識別値に基づいて動作を決定し、パルスガード時間Ｋ以内に駆動指令パルスを出力しない。このとき、第１及び第２アクションレジスタは、マイコン６内蔵のレジスタのためリアルタイム制御できる。
【００８６】
（第３実施形態）
図１２は、第３実施形態の説明図を示す。第３実施形態は、マイコン６が初回のパルスオフイベントＥＶoffを実行した後、エンジン５のクランク軸の回転速度が下降しエンジン回転数が下降した場合の例を挙げて説明する。
【００８７】
マイコン６が実行する処理内容は、第１実施形態と同様であるため説明を省略する。角度カウンタ２２の周期はエンジン回転数に比例して変化するため、角度カウンタ２２のカウントアップ速度も下降する。図１２のタイミングｔ３以降参照。
【００８８】
このとき、エンジン５のクランク軸の回転角度が、本来の噴射するべき予定間隔Ｐよりも遅く閾値にコンペアマッチし、１回目の駆動指令パルスのオフタイミングと２回目の駆動指令パルスのオンタイミングとの間の時間間隔が長くなる。このとき、時間間隔が本来の予定間隔Ｐより長くなるため、マイコン６は、駆動指令パルスをそのままＡＳＩＣ７に出力する。これにより、ＡＳＩＣ７は、通常通り燃料を噴射制御できる。
【００８９】
「発明が解決しようとする課題」の欄に例示したように、パルスオフイベントＥＶoffにて次回の噴射のキャンセルを確定した後に、エンジン５のクランク軸の回転速度が低下しエンジン回転数が低下したとき、隣接する噴射間の時間間隔がキャンセル閾値Ｔより拡大した場合、噴射をキャンセルすべきでないもののキャンセルしてしまうことになる。
【００９０】
本実施形態によれば、初回のパルスオフイベントＥＶoffの後に、エンジン回転数が低下することで角度カウンタ２２のカウントアップ速度が下降した場合、本来の予定間隔Ｐを経過しても角度カウンタ２２がクランク回転角度の閾値とコンペアマッチしない。その後、時間経過すると角度カウンタ２２が閾値（角度Ｙ）とコンペアマッチすることになる。
【００９１】
このため、演算コア９が、そのコンペアマッチしたときに起床される２回目のパルスオンイベントＥＶonにて初回のパルスオフタイミングと２回目のパルスオンイベントＥＶonの実行タイミングとの間の時間間隔とキャンセル閾値Ｔとを比較するが、このとき時間間隔がキャンセル閾値Ｔよりも大きくなるため、噴射をキャンセルすることなく駆動指令パルスを正常に出力することで通常通り噴射制御できる。
【００９２】
本開示は、前述した実施形態に準拠して記述したが、本開示は当該実施形態や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範畴や思想範囲に入るものである。
【符号の説明】
【００９３】
図面中、１は電子制御装置、４はインジェクタ、５はエンジン、６はマイコン（駆動指令部）、７はインジェクタ駆動用ＡＳＩＣ（駆動制御部）、１４は第１周辺Ｉ／Ｏ（入力部）、を示す。
【図１】
2020133609.tif 000003
【図２】
2020133609.tif 000004
【図３】
2020133609.tif 000005
【図４】
2020133609.tif 000006
【図５】
2020133609.tif 000007
【図６】
2020133609.tif 000008
【図７】
2020133609.tif 000009
【図８】
2020133609.tif 000010
【図９】
2020133609.tif 000011
【図１０】
2020133609.tif 000012
【図１１】
2020133609.tif 000013
【図１２】
2020133609.tif 000014