(57)【要約】【課題】多段噴射中の噴射段数を予定噴射段数よりも減ずる制御を、駆動指令パルスのパルス間隔の制約を受けることなく適切に行う。【解決手段】エンジン２の燃料噴射制御装置１は、駆動指令パルスを出力するマイコン４と、駆動指令パルスを入力する毎にカウンタ値を書き換えるパルスカウンタ２０を有し、カウンタ値に応じて多段噴射の制御を行うインジェクタ駆動制御部５と、を備える。マイコン４は、駆動指令パルスを出力することに加え、駆動指令パルスよりもパルス幅が短い微小パルスを出力可能であり、多段噴射中の噴射段数を予定噴射段数よりも減ずる制御を行う場合に、キャンセルする噴射に対応する駆動指令パルスに代えて微小パルスを出力する。パルスカウンタ２０は、微小パルスを入力する毎でもカウンタ値を書き換える。【選択図】図１
2018071384.tif 000002
【特許請求の範囲】
【請求項１】
気筒毎の多段噴射の制御を行うエンジン（２）の燃料噴射制御装置（１）であって、
駆動指令パルスを出力するマイコン（４）と、
前記駆動指令パルスを入力する毎にカウンタ値を書き換えるパルスカウンタ（２０）を有し、前記カウンタ値に応じて多段噴射の制御を行うインジェクタ駆動制御部（５）と、を備え、
前記マイコンは、前記駆動指令パルスを出力することに加え、前記駆動指令パルスよりもパルス幅が短い微小パルスを出力可能であり、多段噴射中の噴射段数を予定噴射段数よりも減ずる制御を行う場合に、キャンセルする噴射に対応する前記駆動指令パルスに代えて前記微小パルスを出力し、
前記パルスカウンタは、前記微小パルスを入力する毎でも前記カウンタ値を書き換えるエンジンの燃料噴射制御装置。
【請求項２】
前記インジェクタ駆動制御部は、前記駆動指令パルス毎に異なる電流プロファイルを格納する電流プロファイル格納部（２１）を有し、前記カウンタ値に応じて電流プロファイルを切り替える請求項１に記載のエンジンの噴射制御装置。
【請求項３】
前記マイコンは、次回の噴射をキャンセルする場合に、今回の噴射においてインジェクタ（３）の噴射弁が完全に閉弁した後に、前記微小パルスを出力する請求項１又は２に記載のエンジンの噴射制御装置。
【請求項４】
前記マイコンは、前記インジェクタの噴射弁が開弁しない程度のパルス幅のパルスを前記微小パルスとして出力する請求項１から３の何れか一項に記載のエンジンの噴射制御装置。
【請求項５】
前記マイコンは、多段噴射の最後の噴射をキャンセルする場合に、そのキャンセルする噴射に対応する微小パルスの出力を抑制する請求項１から４の何れか一項に記載のエンジンの噴射制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジンの燃料噴射制御装置に関する。
【背景技術】
【０００２】
近年、エンジンの燃料噴射制御装置においては、エンジン制御を高性能化するため、複雑な噴射制御が要求されている。その１つとして、例えば特許文献１に開示されているように、燃料噴射量のばらつきを抑制するため、マイクロコンピュータ（以下、マイコンと称する）から入力する駆動指令パルス毎に異なる電流プロファイルを設定可能なインジェクタ駆動用ＡＳＩＣ（以下、ＡＳＩＣと称する）を用い、インジェクタ駆動時の電流プロファイルを、パイロット噴射、プレ噴射、メイン噴射、アフター噴射、ポスト噴射等の噴射目的毎に切り替える技術が供されている。電流プロファイルとは、インジェクタに供給されるインジェクタ電流の電流値や電流波形の形状等を示すデータである。ＡＳＩＣは、駆動指令パルスを入力する毎にカウンタ値を１インクリメントするパルスカウンタを有し、パルスカウンタのカウンタ値により駆動指令パルスを区別し、電流プロファイルを切り替える。このパルスカウンタのカウンタ値は、マイコンとＡＳＩＣとが通信を行うことで書き換え可能である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１９７０９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一方、燃焼効率の向上、エンジン回転変動の抑制、デポジット除去等を目的として、１エンジンサイクルあたりの噴射段数を予定噴射段数よりも減ずる制御が要求されている。しかしながら、上記したようなパルスカウンタのカウンタ値により駆動指令パルスを区別する構成において、噴射段数を予定噴射段数よりも減ずる制御を行うようにすると以下の課題が生じる。多段噴射のうち途中の噴射をキャンセルすると、パルスカウンタのカウンタ値と後続の駆動指令パルスの電流プロファイルの設定とが不一致となる。そのため、キャンセルした駆動指令パルスのパルス数分だけパルスカウンタのカウンタ値を書き換える必要がある。その場合、次の駆動指令パルスを入力するまでにカウンタ値の書き換えを完了する必要があるが、マイコンとＡＳＩＣとが通信を行ってカウンタ値を書き換える構成では、駆動指令パルスのパルス間隔が短いと、次の駆動指令パルスを入力するまでに通信を完了することができず、カウンタ値を正常に書き換えることができない懸念がある。一方、次の駆動指令パルスを入力するまでに通信を完了するようにパルス間隔を長くすると、要求されている噴射制御を実現することができない。
【０００５】
本発明は、上記した事情に鑑みてなされたものであり、その目的は、多段噴射中の噴射段数を予定噴射段数よりも減ずる制御を、駆動指令パルスのパルス間隔の制約を受けることなく適切に行うことができるエンジンの燃料噴射制御装置を提供することにある。
【課題を解決するための手段】
【０００６】
請求項１に記載した発明によれば、気筒毎の多段噴射の制御を行うエンジンの燃料噴射制御装置（１）であって、マイコン（４）は、駆動指令パルスを出力する。インジェクタ駆動制御部（５）は、駆動指令パルスを入力する毎にカウンタ値を書き換えるパルスカウンタ（２０）を有し、カウンタ値に応じて多段噴射の制御を行う。マイコンは、駆動指令パルスを出力することに加え、駆動指令パルスよりもパルス幅が短い微小パルスを出力可能であり、多段噴射中の噴射段数を予定噴射段数よりも減ずる制御を行う場合に、キャンセルする噴射に対応する駆動指令パルスに代えて微小パルスを出力する。パルスカウンタは、微小パルスを入力する毎でもカウンタ値を書き換える。
【０００７】
噴射段数を予定噴射段数よりも減ずる制御を行う場合に、マイコンとインジェクタ駆動制御部とが通信を行ってカウンタ値を書き換える従来構成とは異なり、駆動指令パルスに代えて微小パルスを出力することで、カウンタ値を書き換えるようにした。マイコンとインジェクタ駆動制御部とが通信を行ってカウンタ値を書き換える場合よりも、そのカウンタ値の書き換えに要する時間を大幅に短縮することができる。これにより、多段噴射中の噴射段数を予定噴射段数よりも減ずる制御を、駆動指令パルスのパルス間隔の制約を受けることなく適切に行うことができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の第１の実施形態を示す機能ブロック図
【図２】タイミングチャート（その１）
【図３】タイミングチャート（その２）
【図４】タイミングチャート（その３）
【図５】タイミングチャート（その４）
【図６】タイミングチャート（その５）
【図７】噴射前イベントの発行時処理を示すフローチャート
【図８】噴射前イベントの発行時処理を示すフローチャート
【図９】噴射オンイベントの発行時処理を示すフローチャート
【図１０】噴射オフイベントの発行時処理を示すフローチャート
【図１１】噴射オフイベントの発行時処理を示すフローチャート
【図１２】本発明の第２の実施形態を示し、噴射オフイベントの発行時処理を示すフローチャート
【発明を実施するための形態】
【０００９】
（第１の実施形態）
以下、本発明の第１の実施形態について図１から図１１を参照して説明する。エンジンの燃料噴射制御装置１は、図示しない各種センサと電気的に接続されており、それら各種センサから入力する各種センサ信号に含まれる各種情報を適宜用い、車両の原動機であるエンジン２へのインジェクタ３からの燃料噴射を制御する。エンジン２は、複数の気筒を有するディーゼルエンジン、ガソリンエンジン又はガスエンジン等である。
【００１０】
燃料噴射制御装置１は、マイコン４と、インジェクタ駆動用ＡＳＩＣ（以下、ＡＳＩＣと称する）５（インジェクタ駆動制御部に相当する）と、出力回路６とを有する。
マイコン４は、燃料噴射タイミングや燃料噴射量等を演算する電子機器であり、演算コア７と、時間タイマユニット８と、角度タイマユニット９と、割り込み処理部１０と、ＲＯＭ１１と、ＲＡＭ１２と、第１周辺Ｉ／Ｏ１３とを有し、それらが内部バス１４を介して相互接続されて構成されている。
【００１１】
演算コア７は、各種センサからマイコン４に入力される各種センサ信号に含まれる各種情報を適宜用い、所定の制御プログラムにしたがって演算処理を行うプロセッサである。本実施形態では、演算コア７が時間タイマユニット８及び角度タイマユニット９とは別に設けられている構成を例示しているが、演算コア７が時間タイマユニット８又は角度タイマユニット９に内蔵されていても良い。
【００１２】
時間タイマユニット８は、マイコン４のペリフェラル機能の１つである。時間タイマユニット８は、所定周期毎にカウントアップする時間フリーランカウンタ（図示せず）を有しており、演算コア７によりセットされたカウンタ値と、時間フリーランカウンタのカウンタ値（以下、時間フリーランカウンタ値と称する）とを比較し、両者が一致した場合に、後述する駆動指令パルスのオン／オフを切り替え可能である。又、時間タイマユニット８は、上記した通りに両者が一致した場合に、割り込み要因を割り込み処理部１０に出力する。
【００１３】
角度タイマユニット９は、マイコン４のペリフェラル機能の１つである。角度タイマユニット９は、カウントアップ速度がエンジン回転速度に比例して変化する角度フリーランカウンタ（図示せず）を有しており、演算コア７によりセットされたカウンタ値と、角度フリーランカウンタのカウンタ値（以下、角度フリーランカウンタ値と称する）とを比較し、両者が一致した場合に、後述する駆動指令パルスのオン／オフを切り替え可能である。又、角度タイマユニット９は、上記した通りに両者が一致した場合に、割り込み要因を割り込み処理部１０に出力する。
【００１４】
割り込み処理部１０は、時間タイマユニット８又は角度タイマユニット９から割り込み要因を入力すると、その割り込み要因を特定可能なイベントとして後述する噴射前イベント、噴射オンイベント、噴射オフイベントを発行する。演算コア７は、割り込み処理部１０によりイベントが発行されると、その発行されたイベントにより特定される割り込み要因に応じて所定の制御プログラムにしたがって割り込み処理を行う。
【００１５】
ＲＯＭ１１は、演算コア７等と接続された記憶領域であり、噴射制御を行うための噴射前イベント、噴射オンイベント及び噴射オフイベントでそれぞれ実行される各種制御プログラムや各種データを記憶している。
【００１６】
ＲＡＭ１２は、演算コア７等と接続された記憶領域であり、演算コア７により決定された１エンジンサイクルあたりの駆動指令パルスの出力回数である予定出力回数（即ち予定噴射段数）、現在出力回数、オンタイミング及びオフタイミング等を一時的に記憶する。
【００１７】
第１周辺Ｉ／Ｏ１３は、マイコン４とその他の周辺機器との間で各種情報を入出力するためのインターフェイスである。マイコン４は、第１周辺Ｉ／Ｏ１３を介してエンジン回転角やエンジン回転速度を演算するために必要なクランク角センサ１５からのセンサ信号及びカム角センサ１６からのセンサ信号を入力する。又、第１周辺Ｉ／Ｏ１３は、ＡＳＩＣ５の後述する第２周辺Ｉ／Ｏ１９との間でパルス信号線１７及び通信バス１８を接続している。マイコン４は、駆動指令パルスを第１周辺Ｉ／Ｏ１３からパルス信号線１７を介してＡＳＩＣ５に出力し、第１周辺Ｉ／Ｏ１３から通信バス１８を介してＡＳＩＣ５の各種データを読み書きする。
【００１８】
ＡＳＩＣ５は、インジェクタ３の駆動を制御する専用のＩＣであり、マイコン４から駆動指令パルスを入力すると、その入力した駆動指令パルスに同期して出力回路６を制御し、インジェクタ３の駆動を制御する。ＡＳＩＣ５は、駆動指令パルスのオン中は制御対象のインジェクタ３にインジェクタ電流を供給し、インジェクタ３の噴射弁を開弁することで、燃料をインジェクタ３からエンジン２に噴射させる。本実施形態では、インジェクタ３の駆動を制御する専用のＩＣであるＡＳＩＣ５が設けられている構成を例示しているが、ＡＳＩＣ５よりも汎用性が高いマイコンが設けられ、インジェクタ３の駆動をマイコンにより制御しても良い。
【００１９】
ＡＳＩＣ５は、第２周辺Ｉ／Ｏ１９と、パルスカウンタ２０と、電流プロファイル格納部２１とを有し、それらが内部バス２２を介して相互接続されて構成されている。パルスカウンタ２０、電流プロファイル格納部２１及び出力回路６は、インジェクタ３毎に用意される。
【００２０】
第２周辺Ｉ／Ｏ１９は、ＡＳＩＣ５とマイコン４との間で各種情報を入出力すると共に、ＡＳＩＣ５と出力回路６との間で各種情報を入出力するためのインターフェイスである。
【００２１】
パルスカウンタ２０は、ＡＳＩＣ５の記憶領域であり、駆動指令パルスのオンタイミングに同期してカウンタ値を１インクリメントするカウンタである。パルスカウンタ２０は、マイコン４からの書き換え信号が通信バス１８を介して第２周辺Ｉ／Ｏ１９に入力されることでカウンタ値を書き換え可能である。パルスカウンタ２０は、エンジンサイクル毎にマイコン４からのゼロクリア信号が通信バス１８を介して第２周辺Ｉ／Ｏ１９に入力されると、カウンタ値をゼロクリアする。
【００２２】
電流プロファイル格納部２１は、ＡＳＩＣ５の記憶領域であり、パルスカウンタ２０のカウンタ値毎に異なる複数の電流プロファイルを格納可能である。電流プロファイルとは、インジェクタ３に供給されるインジェクタ電流の電流値や電流波形の形状等を示すデータである。マイコン４は、ＡＳＩＣ５と通信バス１８を介して通信を行うことで電流プロファイルを読み書き可能である。
【００２３】
出力回路６は、電流駆動のＭＯＳＦＥＴ（図示せず）等を用いたパワー回路であり、インジェクタ３に供給されるインジェクタ電流を制御する。ＡＳＩＣ５は、第２周辺Ｉ／Ｏ１９を介してＭＯＳＦＥＴ等のオン／オフを切り替え、インジェクタ電流が所定の電流プロファイルと一致するように制御する。インジェクタ３は、インジェクタ電流が供給されると、アクチュエータ（図示せず）により噴射弁が開弁して燃料をエンジン２に噴射する。このようにＡＳＩＣ５は、電流プロファイルを切り替えることで、インジェクタ３に供給されるインジェクタ電流（即ち電流プロファイルの駆動電流）を切り替え、インジェクタ３から噴射される燃料の噴射量や消費電力を切り替える。
【００２４】
次に、上記した構成の作用について図２から図１１を参照して説明する。
前述した［発明が解決しようとする課題］で説明したように、燃料噴射制御装置１においては、燃焼効率の向上、エンジン回転変動の抑制、デポジット除去等を目的として、１エンジンサイクルあたりの噴射段数を予定噴射段数よりも減ずる制御を行う場合がある。予定噴射段数を４段とし、噴射段数を予定噴射段数通りに行う場合、即ち多段噴射のうち途中の噴射をキャンセルしない場合のタイミングチャートを図２に示す。この場合、マイコン４は、駆動指令パルス１〜４を順次出力する。ＡＳＩＣ５は、マイコン４から駆動指令パルス１〜４を順次入力すると、それぞれの駆動指令パルス１〜４のオンタイミングでパルスカウンタ２０のカウンタ値を１インクリメントし（ｔ１，ｔ３，ｔ５，ｔ７）、カウンタ値毎に異なる電流プロファイル１〜４の駆動電流を出力回路６に出力する。即ち、ＡＳＩＣ５は、それぞれ駆動指令パルス１〜４のオンタイミングで電流プロファイル１〜４の駆動電流を出力回路６に出力する。
【００２５】
一方、多段噴射のうち途中の噴射をキャンセルする場合を以下に説明する。例えば４段の噴射のうち２段目の噴射と３段目の噴射とをキャンセルする場合に、噴射のキャンセルに対して何ら処置を施さない場合のタイミングチャートを図３に示す。この場合、マイコン４は、駆動指令パルス１を出力した後に、駆動指令パルス２，３を出力せずに駆動指令パルス４を出力する。ＡＳＩＣ５は、マイコン４から駆動指令パルス１を入力すると、駆動指令パルス１のオンタイミングでカウンタ値を１インクリメントし、電流プロファイル１の駆動電流を出力回路６に出力する。その後、ＡＳＩＣ５は、マイコン４から駆動指令パルス２，３を入力せずに駆動指令パルス４を入力すると、駆動指令パルス４のオンタイミングでカウンタ値を１インクリメントするが、インクリメントした後のカウンタ値が「２」となるので、電流プロファイル２の駆動電流を出力回路６に出力する。即ち、ＡＳＩＣ５は、マイコン４から駆動指令パルス４を入力したにも拘らず、電流プロファイル４の駆動電流を出力回路６に出力せず、電流プロファイル２の駆動電流を出力回路６に出力してしまう事態が発生する。
【００２６】
このような不具合の発生に対し、マイコン４からの書き換え信号によりパルスカウンタ２０のカウンタ値を書き換える場合のタイミングチャートを図４に示す。この場合、マイコン４は、駆動指令パルス１を出力した後に、カウンタ値の「１」から「３」への書換えを命令する書き換え信号を出力する。ＡＳＩＣ５は、マイコン４から書き換え信号を入力すると、カウンタ値を「１」から「３」に書き換える（ｔ１１）。その後、ＡＳＩＣ５は、マイコン４から駆動指令パルス４を入力すると、駆動指令パルス４のオンタイミングでカウンタ値を１インクリメントし、インクリメントした後のカウンタ値が「４」となるので、電流プロファイル４の駆動電流を出力回路６に出力する。これにより、前述したようなマイコン４から駆動指令パルス４を入力したにも拘らず電流プロファイル２の駆動電流を出力回路６に出力してしまう事態の発生を未然に回避することができる。
【００２７】
しかしながら、このようにマイコン４とＡＳＩＣ５とが通信を行ってカウンタ値を書き換える構成では、駆動指令パルスのパルス間隔が短いと、駆動指令パルス４を入力するまでに通信を完了することができず、カウンタ値を正常に書き換えることができない懸念がある。即ち、マイコン４とＡＳＩＣ５との通信によりカウンタ値を書き換える場合には、通信方式にも依存するが一般的に数十〜数百マイクロ秒程度の通信時間を要し、この通信を駆動指令パルス１のオフタイミング（ｔ２）から駆動指令パルス４のオンタイミング（ｔ７）までの期間に完了する必要がある。これは駆動指令パルス１と駆動指令パルス４とのパルス間隔を、通信時間よりも長く設定しなければならないという噴射制御の制約を意味する。
【００２８】
この点に関し、本実施形態では、マイコン４が駆動指令パルスに代わって微小パルスを出力することで、パルスカウンタ２０のカウンタ値を書き換えるようにした。微小パルスとは、駆動指令パルスのオンタイミングとオフタイミングとの時間差であるパルス幅が、ＡＳＩＣ５が微小パルスをパルスとして認識可能であり、且つインジェクタ３の噴射弁が開弁しない程度、即ちＭＯＳＦＥＴのオン遅れ時間未満のパルスである。微小パルスによりカウンタ値を書き換える場合のタイミングチャートを図５に示す。この場合、マイコン４は、駆動指令パルス１を出力した後に、微小パルスを２回出力する。ＡＳＩＣ５は、マイコン４から微小パルスを入力する毎に微小パルスのオンタイミングでカウンタ値を１インクリメントする。即ち、ＡＳＩＣ５は、最初の微小パルスを入力すると、カウンタ値を「１」から「２」に書き換え（ｔ２１）、続いて２回目の微小パルスを入力すると、カウンタ値を「２」から「３」に書き換える（ｔ２２）。その後、ＡＳＩＣ５は、マイコン４から駆動指令パルス４を入力すると、駆動指令パルス４のオンタイミングでカウンタ値を１インクリメントし、インクリメントした後のカウンタ値が「４」となるので、電流プロファイル４の駆動電流を出力回路６に出力する。即ち、ＡＳＩＣ５は、マイコン４から駆動指令パルス４を入力すると、電流プロファイル４の駆動電流を出力回路６に出力する。これにより、マイコン４からの書き換え信号によりパルスカウンタ２０のカウンタ値を書き換えなくとも、前述したようなマイコン４から駆動指令パルス４を入力したにも拘らず電流プロファイル２の駆動電流を出力回路６に出力してしまう事態の発生を未然に回避することができる。
【００２９】
このようにマイコン４が駆動指令パルスに代えて微小パルスを出力することでカウンタ値を書き換える構成では、数マイクロ秒でカウンタ値の書き換えを完了するので、前述したマイコン４とＡＳＩＣ５とが通信を行ってカウンタ値を書き換える構成と比較し、駆動指令パルスのパルス間隔を短くする、即ち駆動指令パルス同士を大幅に近接させることができる。
【００３０】
次に、割り込み処理部１０により発行される噴射前イベント、噴射オンイベント、噴射オフイベントについて図６を参照して説明する。
噴射前イベントは、１エンジンサイクルあたりに１回、駆動指令パルスの出力前に割り込み処理部１０により発行されるイベントである。演算コア７は、噴射前イベントのタイミングを制御プログラムにより決定し、イベント起床タイミングのカウンタ値を時間タイマユニット８又は角度タイマユニット９にセットする。時間タイマユニット８は、演算コア７によりイベント起床タイミングのカウンタ値がセットされると、そのセットされたカウンタ値と時間フリーランカウンタ値とが一致すると、噴射前イベントの割り込み要因を割り込み処理部１０に出力する。角度タイマユニット９は、演算コア７によりイベント起床タイミングのカウンタ値がセットされると、そのセットされたカウンタ値と角度フリーランカウンタ値とが一致すると、噴射前イベントの割り込み要因を割り込み処理部１０に出力する。
【００３１】
噴射オンイベントは、駆動指令パルスのオンタイミングに同期して割り込み処理部１０により発行されるイベントである。時間タイマユニット８又は角度タイマユニット９は、駆動指令パルスのオンタイミングに同期して噴射オンイベントの割り込み要因を割り込み処理部１０に出力する。噴射オフイベントは、駆動指令パルスのオフタイミングに同期して割り込み処理部１０により発行されるイベントである。時間タイマユニット８又は角度タイマユニット９は、駆動指令パルスのオフタイミングに同期して噴射オフイベントの割り込み要因を割り込み処理部１０に出力する。
【００３２】
現在出力回数は、前述したようにＲＡＭ１２に記憶されるデータであり、噴射前イベントのタイミングで演算コア７によりゼロクリアされ、噴射オンイベントのタイミングで演算コア７によりカウントアップされる。即ち、現在出力回数は、ＡＳＩＣ５のパルスカウンタ２０のカウンタ値に同期してカウントアップされる。尚、噴射前イベント、噴射オンイベント、噴射オフイベント、現在出力回数はインジェクタ３毎に用意される。
【００３３】
次に、噴射前イベント、噴射オンイベント、噴射オフイベントのそれぞれの発行時に演算コア７が実行する処理について順次説明する。
（１）噴射前イベントの発行時に演算コア７が実行する処理
演算コア７は、噴射前イベントが発行されると、噴射前イベントの発行時処理を開始する。演算コア７は、噴射前イベントの発行時処理を開始すると、最初に予定出力回数を演算する（Ｓ１）。予定出力回数はエンジン回転数等の様々な要因により決定される。演算コア７は、前回のエンジンサイクルでインクリメントした現在出力回数をゼロクリアする（Ｓ２）。演算コア７は、パイロット噴射、プレ噴射、メイン噴射、アフター噴射、ポスト噴射等の噴射目的に応じて駆動指令パルス毎の電流プロファイルを演算し（Ｓ３）、その演算した電流プロファイルをＡＳＩＣ５と通信を行うことで電流プロファイル格納部２１に格納する（Ｓ４）。尚、演算コア７は、前回のエンジンサイクルと今回のエンジンサイクルとで駆動指令パルス毎の電流プロファイルが全て一致していれば、その演算した電流プロファイルを通信によりＡＳＩＣ５の電流プロファイル格納部２１に格納しなくても良い。
【００３４】
演算コア７は、ＡＳＩＣ５と通信を行うことでパルスカウンタ２０のカウンタ値をゼロクリアする（Ｓ５）。演算コア７は、駆動指令パルス毎のオンタイミングとオフタイミングとを演算する（Ｓ６）。演算コア７は、駆動指令パルス毎のオンタイミングとオフタイミングとを時間指定及びエンジン回転角指定の何れで演算しても良く、何れで演算するかをエンジン回転速度等の状況に応じて適宜決定する。
【００３５】
演算コア７は、初回駆動指令パルスのオンタイミングを時間指定で演算すると（Ｓ７：ＹＥＳ）、その演算値に対応する時間フリーランカウンタ値を時間タイマユニット８にセットする（Ｓ８）。一方、演算コア７は、初回駆動指令パルスのオンタイミングをエンジン回転角指定で演算すると（Ｓ９：ＹＥＳ）、その演算値に対応する角度フリーランカウンタ値を角度タイマユニット９にセットする（Ｓ１０）。
【００３６】
演算コア７は、初回駆動指令パルスのオフタイミングを時間指定で演算すると（Ｓ１１：ＹＥＳ）、その演算値に対応する時間フリーランカウンタ値を時間タイマユニット８にセットし（Ｓ１２）、噴射前イベントの発行時処理を終了する。一方、演算コア７は、初回駆動指令パルスのオフタイミングをエンジン回転角指定で演算すると（Ｓ１３：ＹＥＳ）、その演算値に対応する角度フリーランカウンタ値を角度タイマユニット９にセットし（Ｓ１４）、噴射前イベントの発行時処理を終了する。
【００３７】
（２）噴射オンイベントの発行時に演算コア７が実行する処理
演算コア７は、噴射オンイベントが発行されると、噴射オンイベントの発行時処理を開始する。演算コア７は、噴射オンイベントの発行時処理を開始すると、ＡＳＩＣ５のパルスカウンタ２０との同期を維持するために現在出力回数を１インクリメントし（Ｓ２１）、噴射オンイベントの発行時処理を終了する。この場合、演算コア７は、最新のエンジン制御状態を考慮し、出力中の駆動指令パルスのオフタイミング、後続の駆動指令パルスのオンタイミング及びオフタイミングを更新しても良い。
【００３８】
（３）噴射オフイベントの発行時に演算コア７が実行する処理
演算コア７は、噴射オフイベントが発行されると、噴射オフイベントの発行時処理を開始する。演算コア７は、噴射オフイベントの発行時処理を開始すると、最初に現在出力回数と予定出力回数とを比較し、現在出力回数が予定出力回数未満であるか否かを判定する（Ｓ３１）。
【００３９】
演算コア７は、現在出力回数が予定出力回数未満であると判定すると（Ｓ３１：ＹＥＳ）、出力予定の後続の駆動指令パルスが残っている、即ち今回の駆動指令パルスが出力予定の途中の駆動指令パルスであると判定し、次回の駆動指令パルスのオンタイミングとオフタイミングとを決定する処理に移行する。
【００４０】
演算コア７は、燃焼効率の向上、エンジン回転変動の抑制、デポジット除去等の様々な要因を用い、次回の噴射をキャンセルする必要があるか否かを判定する（Ｓ３２）。演算コア７は、次回の噴射をキャンセルする必要がないと判定すると（Ｓ３２：ＮＯ）、次回駆動指令パルスのオンタイミング及びオフタイミングをそれぞれ時間指定及びエンジン回転角指定の何れで演算するかを選択する。演算コア７は、次回駆動指令パルスのオンタイミングを時間指定で演算すると（Ｓ３３：ＹＥＳ）、その演算値に対応する時間フリーランカウンタ値を時間タイマユニット８にセットする（Ｓ３４）。一方、演算コア７は、次回駆動指令パルスのオンタイミングをエンジン回転角指定で演算すると（Ｓ３５：ＹＥＳ）、その演算値に対応する角度フリーランカウンタ値を角度タイマユニット９にセットする（Ｓ３６）。
【００４１】
演算コア７は、次回駆動指令パルスのオフタイミングを時間指定で演算すると（Ｓ３７：ＹＥＳ）、その演算値に対応する時間フリーランカウンタ値を時間タイマユニット８にセットし（Ｓ３８）、噴射オフイベントの発行時処理を終了する。一方、演算コア７は、次回駆動指令パルスのオフタイミングをエンジン回転角指定で演算すると（Ｓ３９：ＹＥＳ）、その演算値に対応する角度フリーランカウンタ値を角度タイマユニット９にセットし（Ｓ４０）、噴射オフイベントの発行時処理を終了する。
【００４２】
これに対し、演算コア７は、次回の噴射をキャンセルする必要があると判定すると（Ｓ３２：ＹＥＳ）、今回の駆動指令パルスがオフしてから第１所定時間後に微小パルスがオンするように時間フリーランカウンタ値を時間タイマユニット８にセットする（Ｓ４１）。この場合、演算コア７は、インジェクタ３の噴射弁が完全に閉弁した直後に微小パルスがオンするように時間フリーランカウンタ値を時間タイマユニット８にセットする。即ち、インジェクタ３の噴射弁は駆動指令パルスのオフタイミングの後に閉弁を開始するが、今回の噴射の閉弁を完了する前に演算コア７が微小パルスを出力してしまうと、今回の噴射の閉弁を完了するタイミングが遅れてしまい、噴射量に影響が与えられてしまう懸念がある。そのため、演算コア７がインジェクタ３の噴射弁が完全に閉弁した直後に微小パルスを出力することで、今回の噴射の閉弁を完了するタイミングが遅れてしまう事態の発生を未然に回避し、噴射量に影響が与えられてしまう事態の発生を未然に回避することができる。
【００４３】
そして、演算コア７は、微小パルスがオンしてから第２所定時間後に微小パルスがオフするように時間フリーランカウンタ値を時間タイマユニット８にセットし（Ｓ４２）、噴射オフイベントの発行時処理を終了する。この場合、演算コア７は、前述したようにＡＳＩＣ５が微小パルスをパルスとして認識可能であり、且つインジェクタ３の噴射弁が開弁しない程度のパルス幅とするように時間フリーランカウンタ値を時間タイマユニット８にセットする。即ち、ＡＳＩＣ５が微小パルスをパルスとして認識不能であると、パルスカウンタ２０のカウンタ値が１インクリメントされず、又、インジェクタ３の噴射弁が開弁してしまうと、噴射量に影響が与えられてしまう懸念がある。そのため、演算コア７が上記したパルス幅の微小パルスを出力することで、パルスカウンタ２０のカウンタ値が１インクリメントされない事態の発生を未然に回避することができ、噴射量に影響が与えられてしまう事態の発生を未然に回避することができる。
【００４４】
尚、演算コア７は、現在出力回数が予定出力回数未満でないと判定すると（Ｓ３１：ＮＯ）、出力予定の後続の駆動指令パルスが残っていない、即ち今回の駆動指令パルスが出力予定の最後の駆動指令パルスであると判定し、噴射オフイベントの発行時処理を終了する。
【００４５】
以上に説明したように第１の本実施形態によれば、次に示す効果を得ることができる。
エンジンの燃料噴射制御装置１において、噴射段数を予定噴射段数よりも減ずる制御を行う場合に、駆動指令パルスに代えて微小パルスを出力することで、パルスカウンタ２０のカウンタ値を書き換えるようにした。マイコン４とＡＳＩＣ５とが通信を行ってパルスカウンタ２０のカウンタ値を書き換える場合よりも、そのカウンタ値の書き換えに要する時間を大幅に短縮することができる。これにより、駆動指令パルスのパルス間隔が短い場合でも、多段噴射中の噴射段数を予定噴射段数よりも減ずる制御を適切に行うことができる。
【００４６】
又、駆動指令パルス毎に異なる電流プロファイルを電流プロファイル格納部２１に格納し、パルスカウンタ２０のカウンタ値に応じて電流プロファイルを切り替えるようにした。駆動指令パルス毎に最適な電流プロファイルを選択することで、噴射量のばらつきを軽減することができる。
又、次回の噴射をキャンセルする場合に、今回の噴射においてインジェクタ３の噴射弁が完全に閉弁した後に、微小パルスを出力するようにした。今回の噴射の閉弁を完了するタイミングが遅れてしまう事態の発生を未然に回避し、噴射量に影響が与えられてしまう事態の発生を未然に回避することができる。
又、インジェクタ３の噴射弁が開弁しない程度のパルス幅のパルスを微小パルスとして出力するようにした。噴射量に影響が与えられてしまう事態の発生を未然に回避することができる。
【００４７】
（第２の実施形態）
次に、本発明の第２の実施形態について図１２を参照して説明する。尚、前述した第１の実施形態と同一部分については説明を省略し、異なる部分について説明する。第２の実施形態では、演算コア７は、多段噴射のうち途中の噴射をキャンセルする場合には微小パルスを出力するが、多段噴射のうち最後の噴射をキャンセルする場合には微小パルスの出力を抑制する（即ち微小パルスを出力しない）。
【００４８】
演算コア７は、噴射オフイベントの発行時処理において、現在出力回数が予定出力回数未満であると判定し（Ｓ３１：ＹＥＳ）、次回の噴射をキャンセルする必要があると判定すると（Ｓ３２：ＹＥＳ）、現在出力回数に「１」を加算した値と予定出力回数とを比較し、現在出力回数に「１」を加算した値が予定出力回数未満であるか否かを判定する（Ｓ５１）。
【００４９】
演算コア７は、現在出力回数に「１」を加算した値が予定出力回数未満であると判定すると（Ｓ５１：ＹＥＳ）、キャンセルする必要があると判定した次回の噴射が多段噴射のうち途中の噴射であると判定し、第１の実施形態で説明したＳ４１，Ｓ４２を実行し、噴射オフイベントの発行時処理を終了する。一方、演算コア７は、現在出力回数に「１」を加算した値が予定出力回数未満でないと判定すると（Ｓ５１：ＮＯ）、キャンセルする必要があると判定した次回の噴射が多段噴射のうち最後の噴射であると判定し、第１の実施形態で説明したＳ４１，Ｓ４２を実行せずに噴射オフイベントの発行時処理を終了する。
【００５０】
以上に説明したように第２の実施形態によれば、多段噴射のうち最後の噴射をキャンセルする場合には、そのキャンセルする噴射に対応する微小パルスの出力を抑制するようにした。微小パルスの出力を抑制することで、演算コア７における噴射オンイベントと噴射オフイベントとの２回の処理を削減することができ、演算コア７の処理負荷を軽減することができる。
【００５１】
（その他の実施形態）
本発明は、上記した実施形態で例示したものに限定されることなく、その範囲を逸脱しない範囲で任意に変形又は拡張することができる。
予定噴射段数が４段である場合を例示したが、予定噴射段数が４段以外の段数であっても良い。
ＡＳＩＣ５において、駆動指令パルスや微小パルスを入力する毎にパルスカウンタ２０のカウンタ値がカウントアップする構成を例示したが、駆動指令パルスや微小パルスを入力する毎にパルスカウンタ２０のカウンタ値がカウントダウンし、現在出力回数がパルスカウンタ２０のカウンタ値に同期してカウントダウンする構成でも良い。その場合、演算コア７は、噴射前イベントの発行時処理において、前回のエンジンサイクルでインクリメントした現在出力回数をゼロクリアする代わりに、前回のエンジンサイクルでデクリメントした現在出力回数を「０」以外の初期値（即ちカウントダウンのスタート値）に設定しても良い。又、演算コア７は、パルスカウンタ２０のカウンタ値をゼロクリアする代わりに、パルスカウンタ２０のカウンタ値を「０」以外の初期値に設定しても良い。
【００５２】
本開示は、実施例に準拠して記述されたが、当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、更には、それらに一要素のみ、それ以上、或いはそれ以下を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。
【符号の説明】
【００５３】
図面中、１はエンジンの燃料噴射制御装置、２はエンジン、３はインジェクタ、４はマイコン、５はインジェクタ駆動用ＡＳＩＣ（インジェクタ駆動制御部）、２０はパルスカウンタ、２１は電流プロファイル格納部である。
【図１】
2018071384.tif 000003
【図２】
2018071384.tif 000004
【図３】
2018071384.tif 000005
【図４】
2018071384.tif 000006
【図５】
2018071384.tif 000007
【図６】
2018071384.tif 000008
【図７】
2018071384.tif 000009
【図８】
2018071384.tif 000010
【図９】
2018071384.tif 000011
【図１０】
2018071384.tif 000012
【図１１】
2018071384.tif 000013
【図１２】
2018071384.tif 000014