(57)【要約】【課題】エンジン１への基本的な機能要求を物理量調停によってバランス良く満たすとともに、制御の演算負荷を徒に増大させることなく燃料噴射に関わる要求を好適に調停し、且つその要求が変化した場合にも好適に噴射制御に反映させる。【解決手段】要求発生階層５１０の下位に、物理量調停階層５２０と制御量調停階層５４０とを備え、その下位には調停された要求値に基づいてアクチュエータの駆動信号を出力する制御出力階層５５０を備える。制御出力階層５５０には、制御量調停階層５４０の噴射制御調停部５４３ａ〜５４３ｇで調停された噴射制御量の要求値に基づいてインジェクタ２１，２２の駆動信号を出力する噴射弁駆動制御部５５３を設ける。噴射制御量の要求値が変化した場合には、変化後の要求値の実現性に応じて、変化の前後少なくとも一方の要求値に基づいてインジェクタ２１，２２の駆動信号を出力する。【選択図】図５
2014214627.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の各種の機能に関する要求を、当該内燃機関の動作に関わる複数のアクチュエータを協調制御して実現する内燃機関の制御装置であって、
前記内燃機関の機能に関する要求値を出力する要求発生階層と、
前記要求発生階層の下位に設けられ、前記要求値のうち所定の物理量で表現されたものを集約して調停する物理量調停階層と、
前記要求発生階層の下位に設けられ、前記要求値のうち前記アクチュエータの制御量で表現されたものを、前記物理量調停階層を介さずに集約して調停する制御量調停階層と、
前記物理量調停階層および制御量調停階層の下位に設けられ、当該各階層で調停された要求値に基づいて前記アクチュエータへの駆動信号を出力する制御出力階層と、を備え、
前記制御量調停階層には、前記アクチュエータの１つである燃料噴射弁の動作に関する噴射制御量の調停を行う噴射制御調停部が設けられ、
前記制御出力階層には、前記噴射制御調停部で調停された噴射制御量の要求値に基づいて、前記燃料噴射弁の駆動信号を出力する噴射弁駆動制御部が設けられ、
前記噴射弁駆動制御部は、前記噴射制御量の要求値が変化した場合に、変化後の要求値の実現性に応じて、当該変化の前後少なくとも一方の要求値に基づいて前記燃料噴射弁の駆動信号を出力する、ことを特徴とする内燃機関の制御装置。
【請求項２】
請求項１に記載の内燃機関の制御装置において、
前記燃料噴射弁が気筒内に直接、燃料を噴射するように配設され、
前記噴射制御量は少なくとも、前記燃料噴射弁による１燃焼サイクル中の噴射回数と、その各回の噴射時期とを含み、
前記噴射弁駆動制御部は、前記変化した噴射制御量の要求値において噴射回数が変化している場合、そのうちの最初の噴射を実行可能であれば変化後の要求値に基づいて燃料噴射弁の駆動信号を出力する一方、当該最初の噴射を実行不能であれば変化前の要求値に基づいて燃料噴射弁の駆動信号を出力する、内燃機関の制御装置。
【請求項３】
請求項２に記載の内燃機関の制御装置において、
前記噴射弁駆動制御部は、前記噴射制御量の要求値が変化する都度、この変化に応じて採用する要求値を仮に確定して記憶しておき、この要求値における前記最初の噴射を実行可能な最遅角時期である噴射モード確定限界までに要求値を確定して、燃料噴射弁の駆動信号を出力する、内燃機関の制御装置。
【請求項４】
請求項１〜３のいずれか１つに記載の内燃機関の制御装置において、
前記内燃機関が複数の気筒を備える多気筒内燃機関であり、それぞれの気筒に前記燃料噴射弁が配設され、
前記噴射弁駆動制御部は、前記噴射制御量の要求値が噴射開始を要求するものである場合、変化後の要求値を前記最初の噴射から実現可能な気筒を選んで、この変化後の要求値に基づいて前記燃料噴射弁の駆動信号を出力する、内燃機関の制御装置。
【請求項５】
請求項４に記載の内燃機関の制御装置において、
前記噴射弁駆動制御部は、内燃機関の始動時および全気筒燃料カット制御からの復帰時には、前記噴射制御量の要求値が噴射開始を要求するものに変化した時点で、この変化後の要求値における前記最初の噴射を実現可能な気筒から順に、燃料噴射弁の駆動信号を出力する、内燃機関の制御装置。
【請求項６】
請求項４または５のいずれかに記載の内燃機関の制御装置において、
前記噴射弁駆動制御部は、内燃機関の気筒別燃料カット制御からの復帰時には、前記噴射制御量の要求値が噴射開始を要求するものに変化した時点で、最初に復帰する気筒が、変化後の要求値における前記最初の噴射を実現可能であれば、この変化後の要求値に基づいて燃料噴射弁の駆動信号を出力する一方、当該最初の噴射を実現不能であれば燃料噴射弁の駆動信号を出力しない、内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の各種の機能に関する要求を複数のアクチュエータの協調制御によって実現する制御装置に関する。
【背景技術】
【０００２】
内燃機関の制御装置に関して、例えば特許文献１や特許文献２に開示されるように階層型の制御構造を備えて、上位の階層から下位の階層へ一方向に信号を伝達するようにしたものは知られている。前記各文献に記載の例では、最上位の要求発生階層においてドライバビリティ、排気ガスおよび燃費という、車両用の内燃機関における基本的な３つの機能の要求を、トルク、効率および空燃比という３種の物理量で表現した要求値を生成する。
【０００３】
そして、その要求値の信号を下位の物理量調停階層に伝達し、ここではトルク、効率および空燃比のそれぞれに要求値を集約して、予め定められた規則に従って１つずつの要求値に調停する。こうして調停したトルク、効率および空燃比それぞれ１つずつの要求値の信号を下位の制御量設定階層に伝達し、ここでは各要求値を相互の関係に基づいて調整した上で、個々のアクチュエータの制御量を設定する。
【０００４】
このように内燃機関への要求をトルク、効率および空燃比という３種の物理量の組み合わせによって表現し、調停することによって、アクチュエータの特性や種類に依らず、その制御によって実現すべき内燃機関全体としての動作が決まり、ドライバビリティ、排気ガスおよび燃費という内燃機関の基本的な要求がバランス良く満たされるような好適な制御を実現できる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−４７１０１号公報
【特許文献２】特開２００９−４７１０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、気筒内へ燃料を直接、噴射する筒内噴射用の燃料噴射弁が備わる内燃機関では、噴射制御の自由度が高いことを活かして、気筒内における良好な混合気形成のために燃料噴射の態様を適宜、変更したいという要求がある。しかし、噴射の態様というのは燃料噴射弁の動作そのものであるから、これを一旦、トルクや効率など物理量に変換して調停した上で再度、制御量に計算し直すのでは、余計な演算負荷が生じてしまう。
【０００７】
また、車両に搭載される内燃機関の場合、車両の状態やドライバの運転操作などに応じて各種の要求が時々刻々と変化するので、常に最新の要求を反映するようにアクチュエータを駆動制御するのが好ましいが、前記のような階層構造では物理量調停を含む各種演算を経て要求値が伝達されてくるため、制御の遅れが懸念される。
【０００８】
例えば、１回の燃焼サイクル中に複数回に分けて燃料を噴射するマルチ噴射において、そのうちの最初（第１回目）の噴射の時期や分量など（要求が変化する前のもの）が確定した後に要求値が変化した場合、この最新の要求値に従って次回（同一燃焼サイクルにおける２回目）以降の噴射の時期や分量などを変更すると、既に確定している前記最初の噴射とのバランスが崩れてしまい、燃焼状態が悪化する虞がある。一方、変化する前のままでは、要求値の変化に対する機関の応答が遅れることになる。
【０００９】
かかる点に鑑みて本発明の目的は、内燃機関への基本的な要求を物理量調停によってバランス良く満たすようにした階層構造を有する制御装置において、制御演算の負荷を徒に増大させることなく、燃料噴射に関わる要求を調停できるようにし、且つその要求が変化した場合にも好適に制御に反映させることにある。
【課題を解決するための手段】
【００１０】
前記の目的を達成するために本発明では、燃料噴射弁の制御量（噴射制御量）で表現された要求値は物理量調停を介さず、制御量として調停するとともに、この調停した要求値が変化するときには、変化後の要求値をどの程度、実現できるかを考慮して、変化の前後少なくとも一方の要求値に基づいて燃料噴射弁の駆動信号を出力するようにした。
【００１１】
具体的に本発明は、内燃機関の各種の機能に関する要求を、当該内燃機関の動作に関わる複数のアクチュエータを協調制御して実現する内燃機関の制御装置を対象として、前記内燃機関の機能に関する要求値を出力する要求発生階層と、この要求発生階層の下位に設けられ、前記要求値のうち所定の物理量で表現されたものを集約し調停する物理量調停階層と、前記要求発生階層の下位に設けられ、前記要求値のうち前記アクチュエータの制御量で表現されたものを、前記物理量調停階層を介さずに集約して調停する制御量調停階層と、前記物理量調停階層および制御量調停階層の下位に設けられ、当該各階層で調停された要求値に基づいて前記アクチュエータへの駆動信号を出力する制御出力階層と、を備えている。
【００１２】
そして、前記制御量調停階層には、前記アクチュエータの１つである燃料噴射弁の動作に関する噴射制御量の調停を行う噴射制御調停部を設ける一方、前記制御出力階層には、前記噴射制御調停部で調停された噴射制御量の要求値に基づいて、前記燃料噴射弁の駆動信号を出力する噴射弁駆動制御部を設け、この噴射弁駆動制御部では、前記噴射制御量の要求値が変化した場合に、変化後の要求値の実現性に応じて、当該変化の前後少なくとも一方の要求値に基づいて前記燃料噴射弁の駆動信号を出力するようにした。
【００１３】
前記のように構成された内燃機関の制御装置では、まず、内燃機関の各種の機能に関する要求が所定の物理量（例えばトルク、効率、空燃比など）によって表現されて調停され、この調停された要求値に基づいて各アクチュエータの制御量が設定されるようになる。これにより複数のアクチュエータが協調制御され、内燃機関の基本的な機能要求（例えばドライバビリティ、排気ガス、燃費など）がバランス良く満たされる。
【００１４】
その際に燃料噴射弁の動作に関する要求は、例えば噴射回数、各回の噴射時期および噴射量など各種の噴射制御量で表現されて、物理量調停を介さずに噴射制御調停部において調停される。こうして調停された要求値に基づいて噴射弁駆動制御により燃料噴射弁の駆動信号が出力されることで、噴射制御量の調停結果を内燃機関の制御に反映させることができ、その際に物理量に変換するための演算負荷は生じない。
【００１５】
さらに前記噴射制御調停部においては、噴射制御量の要求値が変化する場合は、変化した要求値をどの程度、実現できるかによって（つまり要求値の実現性に応じて）、変化の前後少なくとも一方の要求値に基づいて燃料噴射弁の駆動信号が出力される。すなわち、調停された噴射制御量の要求値が伝達されてくるタイミングによっては、次に燃料を供給すべき気筒への燃料噴射が間に合わず、噴射開始が少し遅れたりすることがあるので、このような点を考慮して燃料噴射弁の駆動信号を出力する。
【００１６】
例えば、変化した要求値そのままに燃料噴射弁を駆動できるのであれば、その最新の要求値に基づいて駆動信号を出力すればよい。一方、要求値における前記最初の噴射に間に合わないなど、要求値をそのままに実現できない場合は、変化の前後で要求値がどのように変化したかに応じて、変化前の要求値を採用したり、変化の前後両方の要求値に重み付けをして採用したりしてもよい。こうすれば、混合気の燃焼性を低下させることなく、燃料噴射制御に最新の要求を反映させることが可能になる。
【００１７】
より具体的には、前記燃料噴射弁として気筒内に直接、燃料を噴射するように配設された第１噴射弁と、気筒毎の吸気ポートに燃料を噴射するように配設された第２噴射弁とを備える場合、この第２噴射弁によって吸気ポートに噴射された燃料は、予め空気と混合されてから気筒内に吸入される一方、第１噴射弁によって気筒内に直接、噴射された燃料の噴霧は、燃焼室において拡散しつつ濃度の高い混合気を形成する。
【００１８】
このように、噴射された燃料が混合気を形成する過程が大きく異なるため、どちらの噴射弁から何回、燃料を噴射するかが混合気の濃度分布やその燃焼性に大きな影響を及ぼす。また、前記第１噴射弁のみであっても気筒内に直接、噴射する燃料の噴射回数が混合気形成に及ぼす影響は大きい。つまり、燃料の噴射回数は、噴射の時期や分量などに比べても混合気の燃焼性に及ぼす影響が大きいと考えられるので、噴射回数が変化しているか否かに応じて、主に採用する要求値を決めるようにしてもよい。
【００１９】
すなわち、噴射制御量として少なくとも、前記第１噴射弁のような筒内噴射用の燃料噴射弁による１燃焼サイクル中の噴射回数と、その各回の噴射時期とを含む場合に、前記噴射弁駆動制御部は、まず、変化した噴射制御量の要求値において噴射回数が変化している場合は、そのうちの最初の噴射を実行可能であれば、変化後の要求値に基づいて燃料噴射弁の駆動信号を出力する構成とする。
【００２０】
一方、変化後の噴射制御量の要求値における前記最初の噴射を実行不能な場合、すなわち、例えば最初の噴射が既に開始されていたり、その開始時期までの時間が駆動信号の算出や信号の伝送に要する時間に満たなかったり、或いは必要な燃圧を確保できないなど、１回の燃焼サイクルにおける最初の噴射を要求値そのままには実行できない場合は、噴射弁駆動制御部は変化前の要求値に基づいて燃料噴射弁の駆動信号を出力する構成とする。
【００２１】
こうして変化前の噴射制御量に基づいて燃料噴射弁を駆動すれば、噴射回数の変化によって混合気の状態が比較的大きく変化するにも関わらず、無理に噴射時期などを変更することに起因する燃焼の悪化を回避することができる。なお、こうして噴射制御量の変化を遅らせた場合でも次回、または次々回の燃焼サイクルでは変化後の噴射制御量に基づいて燃料噴射弁が駆動されることになる。
【００２２】
前記の如き噴射制御を実現するために前記噴射弁駆動制御部は、前記噴射制御量の要求値が変化する都度、この変化に応じて採用する要求値を仮に確定して記憶しておき、この要求値における前記最初の噴射を実行可能な最遅角時期（噴射モード確定限界）までに要求値を確定して、燃料噴射弁の駆動信号を出力するようにすればよい。こうして、噴射を実行可能なぎりぎりのタイミングで要求値を確定することにより、文字通り最新の要求を制御に反映させることができる。
【００２３】
また、その場合に前記噴射弁駆動制御部は、前記噴射モード確定限界では燃料の噴射回数と、そのうちの最初の噴射時期とを確定する一方、次回以降の各回の噴射については仮の確定のままとしておいて、それらも噴射を実行可能な最遅角時期（噴射モード確定限界）に確定するようにしてもよい。なお、噴射を実行可能な最遅角時期は、その噴射に対応した好適な時期に点火を行うために、イグナイタの通電時間を考慮して特定すればよい。
【００２４】
さらに、複数の気筒を備える多気筒内燃機関において、それぞれの気筒に燃料噴射弁が配設されている場合には、前記噴射弁駆動制御部は、前記噴射制御量の要求値に基づいて前記それぞれの気筒で個別に燃料噴射弁の駆動信号を出力するようにしてもよい。こうすれば、全ての気筒で変化後の要求値を無理なく採用できるようになるまで待つことなく、より早く最新の要求を採用して噴射制御に反映させることができる。
【００２５】
ところで、始動時のように停止している内燃機関をクランキングして、その回転を開始させるとともに、複数の気筒へ順番に燃料の供給を始める場合は、そのうち最初に燃料を噴射する気筒への噴射開始時期をできるだけ遅角側に設定する方が実際の燃料噴射の開始が早くなって、始動の迅速化につながることがある。但し、こうして噴射開始時期を遅角側に設定した場合、その噴射開始時期をさらに少しでも遅角させると燃焼性が悪化してしまい、失火に至る虞もある。
【００２６】
そこで、前記噴射弁駆動制御部は、前記始動時などのように気筒への燃料噴射が開始されるとき、言い換えると噴射制御量の要求値が噴射開始を要求するものになった（例えば噴射回数が零から１以上に変化した）ときには、変化後の要求値における前記最初の噴射から実現可能な気筒を選んで、この変化後の要求値に基づいて前記燃料噴射弁の駆動信号を出力することが好ましい。
【００２７】
すなわち、例えば機関始動時および全気筒燃料カット制御からの復帰時には、前記噴射制御量の要求値が噴射開始を要求するものに変化した時点で、この変化後の要求値における前記最初の噴射を実現可能な気筒から順に、燃料噴射弁の駆動信号を出力すればよい。こうして要求の変化に無理なく応えられる気筒を選んで、順番に燃焼を開始させるようにすれば、燃焼性の悪化を招くことなく始動の迅速化が図られる。
【００２８】
一方、気筒別燃料カット制御からの復帰時には、前記始動時のようには気筒を選ぶことができないので、この場合は、燃焼を再開する気筒が要求の変化に無理なく応えられるものでなければ、次の気筒まで待つ方がよい。すなわち、前記噴射制御量の要求値が噴射開始を要求するものに変化した時点で、最初に復帰する気筒が変化後の要求値における前記最初の噴射を実現可能であれば、この変化後の要求値に基づいて燃料噴射弁の駆動信号を出力する一方、当該最初の噴射を実現不能であれば燃料噴射弁の駆動信号を出力しないものとすればよい。
【発明の効果】
【００２９】
本発明によれば、まず、ドライバビリティ、排気ガスおよび燃費などの内燃機関の基本的な機能要求を物理量で表現して調停することにより、その基本的な要求がバランス良く満たされるような好適な制御を実現可能になる。また、燃料噴射弁の動作に関わる要求は物理量調停を介さずに噴射制御量として調停することで、演算負荷を徒に増大させることなく内燃機関の制御に好適に反映させることができる。
【００３０】
また、噴射制御量の要求値が変化する場合にも、この変化した要求値をどの程度、実現できるか考慮して変化の前後少なくとも一方の要求値を採用することにより、燃焼への悪影響を抑えながら、噴射制御に最新の要求を好適に反映させることができる。
【図面の簡単な説明】
【００３１】
【図１】本発明の実施の形態に関わる内燃機関の一例を示す構成図である。
【図２】実施の形態に関わるＥＣＵの一例を示す構成図である。
【図３】実施の形態としての制御装置の階層構造を示すブロック図である。
【図４】噴射機能調停部における噴射制御量の調停について示すブロック図である。
【図５】インジェクタ駆動制御部の構成の一例を示すブロック図である。
【図６】噴射モードおよび噴射時期の確定について示すタイミングチャートである。
【図７】気筒別Ｆ／Ｃ制御からの復帰時の一例を示す図６相当図である。
【図８】気筒別Ｆ／Ｃ制御からの復帰時の別の例を示す図７相当図である。
【図９】気筒別Ｆ／Ｃ制御からの復帰時の、また別の例を示す図７相当図である。
【図１０】エンジン始動時について示す図６相当図である。
【図１１】全気筒のＦ／Ｃ制御からの復帰時を示す図６相当図である。
【発明を実施するための形態】
【００３２】
以下、本発明の実施の形態について図面を参照して説明する。なお、実施の形態では、本発明の制御装置を自動車に搭載される内燃機関（以下、エンジンという）、特に、火花点火式のエンジンに適用した場合について説明する。
【００３３】
［エンジンの構成例］
以下に、まず図１を参照して、実施形態に関わる火花点火式エンジン１の構成の一例を説明する。図にはエンジン１の本体部分における１つの気筒２の構成のみを示しているが、エンジン１は例えば直列４気筒エンジンであって、シリンダブロック１ａに形成された気筒２内には、図の上下方向に往復動するようにピストン３が収容されている。シリンダブロック１ａの上部にはシリンダヘッド１ｂが組み付けられ、その下面とピストン３の上面との間が燃焼室となる。
【００３４】
ピストン３はコネクティングロッド４を介してクランクシャフト５に連結されていて、クランクシャフト５は、シリンダブロック１ａの下部のクランクケースに収容されている。クランクシャフト５には、その回転角（クランク角）即ちクランクポジションを検出するためのシグナルロータ３０１ａが取り付けられ、その外周面には複数の歯（突起）が等角度毎に設けられている。
【００３５】
そのシグナルロータ３０１ａの側方近傍には例えば電磁ピックアップからなるクランクポジションセンサ３０１が配設され、クランクシャフト５が回転する際にシグナルロータ３０１ａの歯数に対応するパルス信号を出力する。この信号からエンジン回転数を算出することができる。また、シグナルロータ３０１ａには、外周の歯の例えば２枚分が欠落した欠歯部が設けられ、この欠歯部の通過に伴いパルス信号が欠落することから、基準となるクランク角位置を判定できる。
【００３６】
また、シリンダブロック１ａの側壁には気筒２を取り囲むようにウォータジャケットが形成され、ここにはエンジン冷却水ｗの温度を検出するように水温センサ３０３が配設されている。シリンダブロック１ａの下部は下方に向かって拡大されてクランクケースの上半分を構成し、その下方には、クランクケースの下半分を構成するようにオイルパン１ｃが取り付けられている。オイルパン１ｃには、エンジン各部に供給される潤滑油（エンジンオイル）が貯留されている。
【００３７】
一方、シリンダヘッド１ｂには気筒２内の燃焼室に臨むように点火プラグ６が配設されていて、その電極にはイグナイタ７から高電圧が供給されるようになっている。こうして高電圧を供給し点火プラグ６に通電するタイミング、即ちエンジン１の点火時期はイグナイタ７によって調整される。つまり、イグナイタ７は、エンジン１の点火時期を調整可能なアクチュエータであり、後述するＥＣＵ（Electronic Control Unit）５００によって制御される。
【００３８】
また、シリンダヘッド１ｂには、気筒２内の燃焼室に臨んでそれぞれ開口するように、吸気ポート１１ａおよび排気ポート１２ａが形成されている。吸気ポート１１ａには吸気マニホールド１１ｂが連通していて、吸気通路１１における吸気の流れの下流側を構成している。また、排気ポート１２ａには排気マニホールド１２ｂが連通していて、排気通路１２における排気ガスの流れの上流側を構成している。
【００３９】
吸気通路１１の上流側には、図示は省略のエアクリーナの近傍に、吸入空気量を検出するエアフロメータ３０４（図２を参照）が配設され、その下流側に吸入空気量を調整するためのスロットルバルブ８が配設されている。また、吸気通路１１（吸気マニホールド１１ｂ）には、エンジン１に吸入される前の空気の温度（吸気温）を検出する吸気温センサ３０７（図２を参照）も配設されている。
【００４０】
この例ではスロットルバルブ８は、図外のアクセルペダルとの機械的な連結が切り離されていて、電動のスロットルモータ８ａにより駆動されて開度が調整される。スロットル開度を検出するスロットル開度センサ３０５からの信号は、後述するＥＣＵ５００に送信される。ＥＣＵ５００は、エンジン１の運転状態（動作状態）に応じて好適な吸入空気量が得られるように、スロットルモータ８ａを制御する。つまり、スロットルバルブ８は、エンジン１の吸入空気量を調整するアクチュエータの１つである。
【００４１】
前記のように燃焼室に臨む吸気ポート１１ａの開口は吸気バルブ１３によって開閉され、これにより吸気通路１１と燃焼室とが連通または遮断される。同様に排気ポート１２ａの開口は排気バルブ１４によって開閉され、これにより排気通路１２と燃焼室とが連通または遮断される。これら吸排気バルブ１３，１４の開閉駆動は、クランクシャフト５の回転がタイミングチェーンなどを介して伝達される吸気および排気の各カムシャフト１５，１６によって行われる。
【００４２】
この例では吸気カムシャフト１５の近傍に、前記のクランクポジションセンサ３０１と同様に回転角を検出するためのカムポジションセンサ３０２が設けられている。一例としてカムポジションセンサ３０２はＭＲＥセンサであって、吸気カムシャフト１５に設けられたロータの回転に伴い矩形波状の信号を発生する。この信号と前記のクランクポジションセンサ３０１からの信号とによって、所定気筒２の圧縮上死点（ＴＤＣ）に対応する基準クランク角位置を判定できる。
【００４３】
また、排気通路１２において排気マニホールド１２ｂの下流には、一例として三元触媒からなる触媒１７が配設されている。この触媒１７においては、気筒２内の燃焼室から排気通路１２に排気された排気ガス中のＣＯ、ＨＣの酸化およびＮＯｘの還元が行われ、それらを無害なＣＯ2、Ｈ2Ｏ、Ｎ2とすることで排気ガスの浄化が図られる。
【００４４】
この例では触媒１７の上流側の排気通路１２に、排気温センサ３０８と空燃比（Ａ／Ｆ）センサ３０９とが配設され、触媒１７の下流側の排気通路１２にはＯ2センサ３１０が配設されている。
【００４５】
−燃料噴射系−
次に、エンジン１の燃料噴射系について説明する。
【００４６】
エンジン１の各気筒２には、それぞれ燃焼室内に直接、燃料を噴射するように筒内噴射用インジェクタ２１（第１噴射弁）が配設されている。４つの気筒２のそれぞれの筒内噴射用インジェクタ２１は共通の高圧燃料用デリバリパイプ２０に接続されている。また、エンジン１の吸気通路１１には、各吸気ポート１１ａ内に燃料を噴射するようにポート噴射用インジェクタ２２（第２噴射弁）が配設されている。ポート噴射用インジェクタ２２も４つの気筒２にそれぞれ設けられ、共通の低圧燃料用デリバリパイプ２３に接続されている。
【００４７】
前記高圧燃料用デリバリパイプ２０および低圧燃料用デリバリパイプ２３への燃料供給は、燃料ポンプである低圧ポンプ２４および高圧ポンプ２５（以下、単に燃料ポンプ２４，２５ともいう）によって行われる。低圧ポンプ２４は、燃料タンク２６内の燃料を汲み上げて、低圧燃料用デリバリパイプ２３および高圧ポンプ２５に供給する。高圧ポンプ２５は、供給される低圧の燃料を所定以上の高圧にまで加圧して、高圧燃料用デリバリパイプ２０に供給する。
【００４８】
この例では高圧燃料用デリバリパイプ２０に、筒内噴射用インジェクタ２１に供給する高圧燃料の圧力（燃圧）を検出するための高圧燃料用燃圧センサ３１１（図２を参照）が配設され、低圧燃料用デリバリパイプ２３には、ポート噴射用インジェクタ２２に供給する低圧燃料の圧力（燃圧）を検出するための低圧燃料用燃圧センサ３１２（図２を参照）が配設されている。
【００４９】
筒内噴射用インジェクタ２１およびポート噴射用インジェクタ２２は、いずれも所定電圧が印加されたときに開弁して燃料を噴射する電磁駆動式のアクチュエータである。また、高圧ポンプ２５および低圧ポンプ２４は、インジェクタ２１，２２に燃料を供給するアクチュエータである。インジェクタ２１，２２の動作、即ちそれぞれの燃料噴射回数（噴射モード）やその各回で噴射を開始する時期、および各回の噴射量など、並びに燃料ポンプ２４，２５の吐出量、吐出圧などは、後述するＥＣＵ５００によって制御される。
【００５０】
そして、筒内噴射用インジェクタ２１およびポート噴射用インジェクタ２２のいずれか一方または両方のインジェクタからの燃料噴射により、気筒２内の燃焼室には空気と燃料ガスとの混合気が形成される。この混合気が点火プラグ６によって点火されて燃焼・爆発するときに生じた高温高圧の燃焼ガスにより、ピストン３が押し下げられてクランクシャフト５を回転させる。燃焼ガスは、排気バルブ１４の開弁に伴い排気通路１２に排出されて排気ガスとなる。
【００５１】
−ＥＣＵ−
ＥＣＵ５００は、図２に模式的に示すように、ＣＰＵ（Central Processing Unit）５０１、ＲＯＭ（Read Only Memory）５０２、ＲＡＭ（Random Access Memory）５０３、および、バックアップＲＡＭ５０４などを備えている。
【００５２】
ＲＯＭ５０２は、各種制御プログラム、それら各種制御プログラムを実行する際に参照されるマップなどが記憶されている。ＣＰＵ５０１は、ＲＯＭ５０２に記憶された各種制御プログラムやマップに基づいて各種の演算処理を実行する。また、ＲＡＭ５０３は、ＣＰＵ５０１での演算結果や各センサから入力されたデータ等を一時的に記憶するメモリであり、バックアップＲＡＭ５０４は、例えばエンジン１の停止時にその保存すべきデータ等を記憶する不揮発性のメモリである。
【００５３】
以上のＣＰＵ５０１、ＲＯＭ５０２、ＲＡＭ５０３およびバックアップＲＡＭ５０４は、バス５０７を介して互いに接続されるとともに、入力インターフェース５０５および出力インターフェース５０６と接続されている。
【００５４】
入力インターフェース５０５には、クランクポジションセンサ３０１、カムポジションセンサ３０２、水温センサ３０３、エアフロメータ３０４、スロットル開度センサ３０５、アクセル開度センサ３０６、吸気温センサ３０７、排気温センサ３０８、空燃比センサ３０９、Ｏ2センサ３１０、高圧燃料用燃圧センサ３１１、および、低圧燃料用燃圧センサ３１２などの各種センサ類が接続されている。
【００５５】
また、入力インターフェース５０５にはイグニッションスイッチ３１３も接続されており、このイグニッションスイッチ３１３がオン操作されると、スタータモータ（図示せず）によるエンジン１のクランキングが開始されるようになっている。一方、出力インターフェース５０６には、点火プラグ６のイグナイタ７、スロットルバルブ８のスロットルモータ８ａ、筒内噴射用インジェクタ２１、ポート噴射用インジェクタ２２、低圧ポンプ２４、および高圧ポンプ２５などが接続されている。
【００５６】
そして、ＥＣＵ５００は、前記した各種センサ３０１〜３１２やスイッチ３１３からの信号などに基づいて、前記イグナイタ７による点火プラグ６の通電制御、スロットルバルブ８（スロットルモータ８ａ）の駆動制御、インジェクタ２１，２２およびポンプ２４，２５の駆動制御などを含むエンジン１の各種制御を実行する。
【００５７】
これによってエンジン１の動作が好適に制御され、ドライバビリティ、排気ガスおよび燃費という基本的な機能要求がバランス良く満たされるようになる。つまり、ＥＣＵ５００は、エンジン１の各種の機能に関する要求を複数のアクチュエータ（イグナイタ７、スロットルバルブ８、インジェクタ２１，２２、ポンプ２４，２５など）の協調制御によって実現するものである。ＥＣＵ５００により実行される制御プログラムによって、本発明の実施形態としての内燃機関の制御装置が実現する。
【００５８】
［制御装置の階層構造］
次に、制御装置の構成について詳細に説明する。図３は、制御装置の各要素をブロックで示し、ブロック間の信号の伝達を矢印で示している。この例では制御装置は、５つの階層５１０〜５５０からなる階層型の制御構造を有し、最上位には要求発生階層５１０が、その下位には物理量調停階層５２０および制御量設定階層５３０が、さらにその下位には制御量調停階層５４０が設けられ、最下位にはアクチュエータ７，８，…へそれぞれ駆動信号を出力する制御出力階層５５０が設けられている。
【００５９】
前記の５つの階層５１０〜５５０間では信号の流れは一方向であり、最上位の要求発生階層５１０から下位の物理量調停階層５２０へ、物理量調停階層５２０から下位の制御量設定階層５３０へ、さらに制御量設定階層５３０から下位の制御量調停階層５４０へ、と信号が伝達される。また、図示は省略するが、それらの階層５１０〜５５０とは独立して各階層５１０〜５５０にそれぞれ共通の信号を並列に配信する共通信号配信系統が設けられている。
【００６０】
階層５１０〜５５０間を伝達される信号と、共通信号配信系統により配信される信号とには次のような違いがある。階層５１０〜５５０間を伝達される信号はエンジン１の機能に関する要求を信号化したものであり、最終的にはアクチュエータ７，８，…の制御量に変換される信号である。これに対し、共通信号配信系統によって配信される信号は、要求を発生させたり制御量を演算したりする上で必要な情報を含んだ信号である。
【００６１】
具体的には、共通信号配信系統により配信される信号は、エンジン１の運転条件や運転状態に関する情報（エンジン回転数、吸入空気量、推定トルク、現時点の実点火時期、冷却水温度、運転モードなど）であり、その情報源はエンジン１に設けられた各種のセンサ３０１〜３１２や制御装置内部の推定機能などである。これらの情報は各階層５１０〜５５０で共通に利用される共通エンジン情報であるので、各階層５１０〜５５０に並列に配信することとすれば、階層５１０〜５５０間の通信量を削減できるだけでなく、階層５１０〜５５０間における情報の同時性を保つこともできる。
【００６２】
−要求発生階層−
以下、各階層５１０〜５５０の構成と、そこで行われる処理について上位の階層から順に説明する。まず、要求発生階層５１０には、複数の要求出力部５１１〜５１９が配置されている。ここでいう要求とはエンジン１の機能に関する要求（エンジン１に求められている性能とも言える）であり、要求出力部５１１〜５１９はエンジン１の機能毎に設けられている。エンジン１の機能は種々多様であり、エンジン１に何を求めるか、何を優先するかによって、要求発生階層５１０に配置する要求出力部の内容は異なってくる。
【００６３】
本実施形態では、エンジン１を自動車のドライバの運転操作に応じて効率良く運転するとともに、自然環境の保護という要請にも応えるべく、基本的な機能としてドライバビリティ、排気ガス、燃費をバランス良く満たすことを制御の前提としている。このため要求発生階層５１０には、まず、ドライバビリティに関する機能に対応して要求出力部５１１が設けられ、排気ガスに関する機能に対応して要求出力部５１２が設けられ、燃費に関する機能に対応して要求出力部５１３が設けられている。
【００６４】
また、本実施形態では、前記３つの基本的な機能要求以外に、例えばインジェクタ２１，２２のそれぞれによる噴射の回数や時期など、基本的な噴射機能の要求があり、それ以外にもＦ／Ｃ（燃料カット）前の燃圧低減、触媒１７の急速暖機、成層燃焼状態での始動（成層始動）、アイドリングストップであるＳ＆Ｓ停止等々、特定の状態で発生する各種要求があることも考慮している。よって、図３に表れているように要求発生階層５１０には、前記のような要求にそれぞれ対応する要求出力部５１４〜５１９も設けられているが、これらの要求出力部５１４〜５１９について詳しくは後述する。
【００６５】
前記の要求出力部５１１〜５１３は、エンジン１のドライバビリティ、排気ガスおよび燃費という基本的な機能要求を数値化して出力する。アクチュエータ７，８，…の制御量は、以下に説明するように演算によって決定されるので、要求を数値化することでアクチュエータ７，８，…の制御量に要求を反映させることが可能になる。本実施形態では、前記の基本的な機能要求については、エンジン１の動作に関わる物理量で表現する。
【００６６】
その物理量としてはトルク、効率および空燃比の３種のみを用いる。エンジン１の出力（広義の出力）は主としてトルク、熱、排気ガス（熱と成分）ということができ、これらの出力は上述のドライバビリティ、排気ガス、燃費といった機能に関係している。そして、これらの出力を制御するためにはトルク、効率および空燃比の３種の物理量を決めればよいので、これら３種の物理量を用いて要求を表現し、アクチュエータ７，８，…の動作を制御することで、エンジン１の出力に要求を反映させることが可能になる。
【００６７】
図３では、一例として要求出力部５１１が、ドライバビリティに関する要求（ドラビリ要求）をトルクや効率で表現した要求値として出力している。例えば、要求が自動車の加速であれば、その要求はトルクによって表現することができる。要求がエンストの防止であれば、その要求は効率（効率アップ）によって表現することができる。
【００６８】
また、要求出力部５１２は、排気ガスに関する要求を効率や空燃比で表現した要求値として出力している。例えば、要求が触媒１７の暖機であれば、その要求は効率（効率ダウン）によって表現することができるし、空燃比によっても表現することができる。効率ダウンによれば、排気ガス温度を高めることができ、空燃比によれば、触媒１７で反応がしやすい雰囲気にすることができる。
【００６９】
さらに、要求出力部５１３は、燃費に関する要求を効率や空燃比で表現した要求値として出力している。例えば、要求が燃焼効率の上昇であれば、その要求は効率（効率アップ）によって表現することができる。要求がポンピングロスの低減であれば、その要求は空燃比（リーンバーン）によって表現することができる。
【００７０】
なお、各要求出力部５１１〜５１３からそれぞれ出力される要求値は、各物理量につき１つには限定されない。一例として、要求出力部５１１からは、ドライバからの要求トルク（アクセル開度から計算されるトルク）だけでなく、ＶＳＣ（Vehicle Stability Control system）、ＴＲＣ（Traction Control System）、ＡＢＳ（Antilock Brake System）、トランスミッション等の車両制御にかかる各種デバイスから要求されるトルクも同時に出力されている。効率に関しても同様である。
【００７１】
要求発生階層５１０には共通信号配信系統から共通エンジン情報が配信されている。各要求出力部５１１〜５１３では、共通エンジン情報を参照して出力すべき要求値を決定している。エンジン１の運転条件や運転状態によって要求の内容が変わるからである。例えば排気温センサ３０８により触媒温度が測定されている場合、要求出力部５１２では、その温度情報に基づいて触媒１７の暖機の必要性を判定し、判定結果に応じて効率要求値や空燃比要求値を出力する。
【００７２】
さて、上述のように、要求発生階層５１０の要求出力部５１１〜５１３からは、トルク、効率或いは空燃比で表現された複数の要求が出力されるが、それらの要求を全て同時に且つ完全に実現することはできない。複数のトルク要求があったとしても実現できるトルクは１つだからである。同様に、複数の効率要求に対して実現できる効率は１つであり、複数の空燃比要求に対して実現できる空燃比は１つである。このため、要求の調停という処理が必要となる。
【００７３】
−物理量調停階層−
物理量調停階層５２０では、要求発生階層５１０から出力される要求値の調停が行なわれる。物理量調停階層５２０には、要求の分類である物理量毎に調停部５２１〜５２３が設けられている。調停部５２１はトルクで表現された要求値を集約して１つのトルク要求値に調停する。調停部５２２は効率で表現された要求値を集約して１つの効率要求値に調停する。そして、調停部５２３は空燃比で表現された要求値を集約して１つの空燃比要求値に調停する。
【００７４】
これらの各調停部５２１〜５２３は、予め定められた規則に従って調停を行なう。ここでいう規則とは、例えば最大値選択、最小値選択、平均、或いは重ね合わせなど、複数の数値から１つの数値を得るための計算規則であり、それら複数の計算規則を適宜に組み合わせたものとすることもできる。但し、どのような規則とするかは設計に委ねられるものであって、本発明に関しては規則の内容に限定はない。また、物理量調停階層５２０にも共通信号配信系統から共通エンジン情報が配信されており、各調停部５２１〜５２３において共通エンジン情報を利用することは可能である。
【００７５】
なお、調停部５２１〜５２３においては、エンジン１が実際に実現することができる上限トルクや下限トルクを調停に加味していない。また、他の調停部５２１〜５２３の調停結果も調停に加味していない。つまり、各調停部５２１〜５２３はそれぞれ、エンジン１の実現可能範囲の上下限や他の調停部の調停結果は加味せずに調停を行なっている。このことも制御の演算負荷の軽減に寄与している。
【００７６】
以上のように各調停部５２１〜５２３にて調停が行なわれることで、物理量調停階層５２０からは１つのトルク要求値と、１つの効率要求値と、１つの空燃比要求値とが出力される。そして、その下位の階層である制御量設定階層５３０では、これら調停されたトルク要求値、効率要求値および空燃比要求値に基づいて各アクチュエータ７，８，…の制御量が設定される。
【００７７】
−制御量設定階層−
本実施形態では、制御量設定階層５３０に１つの調整変換部５３１が設けられ、まず、物理量調停階層５２０にて調停されたトルク要求値、効率要求値および空燃比要求値の大きさを調整する。前述のように物理量調停階層５２０ではエンジン１の実現可能範囲は調停に加味されていないため、各要求値の大きさによっては、エンジン１を適正に運転できない可能性がある。そこで、調整変換部５３１は、エンジン１の適正運転が可能になるように各要求値を相互の関係に基づいて調整する。
【００７８】
制御量設定階層５３０よりも上位の階層では、トルク要求値、効率要求値および空燃比要求値はそれぞれが独立に演算され、演算に関わる要素間で演算値が相互に使用されたり参照されたりすることはなかった。つまり、制御量設定階層５３０において初めてトルク要求値、効率要求値、空燃比要求値が相互に参照されることになる。調整対象はトルク要求値、効率要求値および空燃比要求値の３つに限定されるので、調整に要する演算負荷は小さくて済む。
【００７９】
前記の調整をどのように行なうかは設計に委ねられるものであって、本発明に関しては調整の内容に限定はない。但し、トルク要求値、効率要求値および空燃比要求値の間に優先順位がある場合には、より優先順位の低い要求値を調整（修正）するのが好ましい。例えば、優先順位が高い要求値は、できるだけそのままアクチュエータ７，８，…の制御量に反映し、優先順位が低い要求値は調整した上でアクチュエータ７，８，…の制御量に反映する。
【００８０】
こうすれば、エンジン１の適正運転が可能な範囲内で、優先順位が高い要求を十分に実現しつつ、優先順位が低い要求も或る程度は実現することができる。一例として、トルク要求値が最も優先順位が高い場合には、効率要求値と空燃比要求値とを修正し、そのうちより優先順位が低いほうの修正度合いを大きくする。エンジン１の運転条件等によって優先順位が変わるのであれば、共通信号配信系統から配信される共通エンジン情報に基づいて優先順位を判定し、どの要求値を修正するのか決定すればよい。
【００８１】
また、制御量設定階層５３０では、物理量調停階層５２０から入力される要求値と、共通信号配信系統から配信される共通エンジン情報とを用いて新たな信号を生成する。例えば、調停部５２１にて調停されたトルク要求値と、共通エンジン情報に含まれる推定トルクとの比が除算部（図示せず）にて演算される。推定トルクは、現在の吸入空気量および空燃比のもと点火時期をＭＢＴとした場合に出力されるトルクである。推定トルクの演算は制御装置の別のタスクにて行なわれている。
【００８２】
詳しい説明は省略するが、前記のようにトルク要求値の優先順位が最も高い場合には、以上の処理の結果として制御量設定階層５３０において、トルク要求値、修正された効率要求値、修正された空燃比要求値、およびトルク効率が算出される。これらの信号のうちトルク要求値および修正された効率要求値からスロットル開度が算出（変換）されて、制御量調停階層５４０に伝達される。
【００８３】
具体的には、まず、修正された効率要求値でトルク要求値が除算される。修正された効率要求値は１以下の値なので、これによりトルク要求値を除算すれば、トルク要求値は嵩上げされることになる。こうして嵩上げされたトルク要求値が空気量に変換され、空気量からスロットル開度が演算される。なお、トルク要求値の空気量への変換、および空気量からのスロットル開度の演算は、予め設定したマップを参照して行われる。
【００８４】
また、点火時期については主にトルク効率から算出（変換）される。この際、トルク要求値や修正された空燃比要求値も参照信号として用いられる。具体的にはトルク効率からマップを参照して、ＭＢＴに対する遅角量が演算される。トルク効率が小さいほど遅角量は大きい値になり、結果、トルクダウンが行われることになる。前記のトルク要求値の嵩上げは、遅角によるトルクダウンを補償するための処理である。
【００８５】
本実施形態では、トルク効率に基づく点火時期の遅角と、効率要求値に基づいたトルク要求値の嵩上げとによって、トルク要求値と効率要求値の双方の実現を可能にしている。なお、前記のトルク要求値および修正された空燃比要求値は、トルク効率を遅角量に変換するためのマップの選定に用いられる。そして、遅角量とＭＢＴ（或いは基本点火時期）とから最終的な点火時期が演算される。
【００８６】
以上の処理の結果として、本実施形態において制御量設定階層５３０（調整変換部５３１）から制御量調停階層５４０に伝達される信号は、スロットル開度の要求値、点火時期の要求値および空燃比の要求値となる。これらの信号はそれぞれ、制御量調停階層５４０の調停部５４１，５４２，５４３に入力されて、詳しくは後述するが、要求発生階層５１０から直接的に伝達される他の要求値とともに調停される。
【００８７】
−制御量調停階層−
一例として図３に示すように制御量調停階層５４０には、要求の分類であるアクチュエータ７，８，…の制御量に対応して調停部５４１〜５４３（５４３ａ〜５４３ｉ）が設けられている。図示の例では調停部５４１は、スロットル開度の要求値を集約して１つの要求値に調停する。また、調停部５４２は、点火時期の要求値を集約して１つの要求値に調停する。
【００８８】
さらに調停部５４３は、燃料噴射に関連する複数の制御量の要求値を一括して調停する。図示の例では調停部５４３は、インジェクタ２１，２２の動作を表す７つの噴射制御量をそれぞれ調停する第１〜第７の調停部５４３ａ〜５４３ｇと、低圧ポンプ２４の吐出量（ポンプ制御量）を調停する第８の調停部５４３ｈと、高圧ポンプ２５の吐出圧（ポンプ制御量）を調停する第９の調停部５４３ｉとが一体的に組み合わされた噴射機能調停部である。
【００８９】
このようにインジェクタ２１，２２、低圧ポンプ２４、高圧ポンプ２５といった複数のアクチュエータに関わる複数の制御量を互いに関連づけて一体的に調停するために、噴射機能調停部５４３は、例えば制御プログラムの同じ処理ステップにおいて９個の調停部５４３ａ〜５４３ｉの機能を実現するように構成されている。こうすると、インジェクタ２１，２２や燃料ポンプ２４，２５の制御量の調停の同時性を確保することができる。
【００９０】
前記の各調停部５４１〜５４３（５４３ａ〜５４３ｉ）も、物理量調停階層５２０の各調停部５２１〜５２３と同様に、予め定められた規則に従って調停を行なう。その規則については設計に委ねられるもので、本発明に関しては規則の内容に限定はない。なお、制御量調停階層５４０にも共通信号配信系統から共通エンジン情報が配信されており、各調停部５４１〜５４３において共通エンジン情報を利用することができる。
【００９１】
以上の各調停部５４１〜５４３（５４３ａ〜５４３ｉ）においてそれぞれ、各種要求の調停が行なわれて、制御量調停階層５４０からは個々のアクチュエータ７，８，…の制御量の要求値、即ちスロットル開度要求値と、点火時期要求値と、インジェクタ２１，２２の動作に関わる後述の７つの噴射制御量の要求値と、低圧ポンプ２４の吐出量および高圧ポンプ２５の吐出圧、即ち２つのポンプ制御量の要求値と、が出力される。
【００９２】
−制御出力階層−
制御量調停階層５４０の下位の階層である制御出力階層５５０では、前記のように調停された要求値からアクチュエータ７，８，…のそれぞれへの駆動信号が出力されて、出力される。図示の例では最下位の制御出力階層５５０には、前記制御量調停階層５４０から伝達される信号に対応して制御出力部５５１〜５５５が設けられている。制御出力部５５１（スロットル駆動制御部）には、前記スロットル開度の要求値の調停部５４１からスロットル開度要求値が伝達され、これに応じてスロットル駆動信号が出力される。
【００９３】
また、制御出力部５５２（イグナイタ通電制御部）には、前記制御量調停階層５４０の点火時期の要求値の調停部５４２から点火時期要求値が伝達され、これに応じてイグナイタ通電信号が出力される。制御出力部５５３（噴射弁駆動制御部であるインジェクタ駆動制御部）には、前記噴射機能調停部５４３の第１〜第７の調停部５４３ａ〜５４３ｇから噴射制御量の要求値が伝達され、これに応じてインジェクタ駆動信号が出力される。
【００９４】
さらに、制御出力部５５４（低圧ポンプ駆動制御部）には、噴射機能調停部５４３の第８の調停部５４３ｈから燃料の吐出量の要求値が伝達され、これに応じて低圧ポンプ駆動信号が出力される。制御出力部５５５（高圧ポンプ駆動制御部）には、噴射機能調停部５４３の第９の調停部５４３ｉから燃料の吐出圧の要求値が伝達され、これに応じて高圧ポンプ駆動信号が出力される。
【００９５】
なお、前記の制御出力部５５１，５５２におけるスロットル駆動信号やイグナイタ通電信号の出力などに際して、制御出力部５５３に伝達される噴射制御量の要求値のうち、後述する噴射モードの要求値が参照されて、これに含まれる識別数からエンジン１が例えば成層始動や触媒急速暖機などの特定の状態にあることが識別される。また、制御出力部５５３におけるインジェクタ駆動信号の出力に際しては、後述の如く制御出力部５５２において点火時期から決定される噴射モード確定限界が参照される。
【００９６】
−噴射機能要求の調停−
以下では、上述した制御量調停階層５４０におけるアクチュエータの制御量の調停について、特にインジェクタ２１，２２の動作に関わる噴射制御量など、噴射機能要求の調停について、図３の他に図４、５も参照して詳細に説明する。
【００９７】
まず、上述したように本実施形態の制御装置では、ドライバビリティ、排気ガスおよび燃費というエンジン１の基本的な機能要求をトルク、効率および空燃比という３種の物理量の組み合わせによって表現し、物理量調停階層５２０にて調停するようにしているが、燃料の噴射回数や各回の噴射時期、噴射割合（噴射量の割合）などはインジェクタ２１，２２の動作そのものの態様であるから、これを一旦、トルクや効率など物理量に変換して調停した上で再度、制御量を計算し直すというのでは余計な演算負荷が生じてしまう。
【００９８】
そこで、本実施形態では、上述したように制御量設定階層５３０の下位に制御量調停階層５４０を設けて、インジェクタ２１，２２の動作に関わる噴射制御量の要求値が物理量調停階層５２０を介さずに伝達され、調停されるようにしている。なお、詳しい説明は省略するが本実施形態では、燃料ポンプ２４，２５の動作に関わるポンプ制御量の要求値についても、同様に制御量調停階層５４０で調停される。
【００９９】
まず、図３に表れているように要求発生階層５１０には、エンジン１を適切に運転するために最小限、必要な基本的な噴射機能の要求を出力する要求出力部５１４を設けるとともに、例えばＦ／Ｃ前燃圧低減、触媒急速暖機、成層始動、Ｓ＆Ｓ停止およびインジェクタ保護など、必要に応じて優先度の高い機能要求をそれぞれ出力する要求出力部５１５〜５１９も設けている。
【０１００】
これらの要求出力部５１４〜５１９からはそれぞれ要求が物理量ではなく、アクチュエータ７，８，…の制御量で表現された要求値として出力され、図３に示すように物理量調停階層５２０や制御量設定階層５３０を介さず、直接的に制御量調停階層５４０に伝達される。そして、これらの要求値が、上述したように制御量設定階層５３０から制御量調停階層５４０に伝達されるスロットル開度、点火時期および空燃比の要求値とともに各制御量毎に集約されて、制御量調停階層５４０の各調停部５４１〜５４３により制御量毎に１つの要求値に調停される。
【０１０１】
具体的には、要求発生階層５１０の基本噴射機能の要求出力部５１４からの信号は、詳しくは図４も参照して後述するように７つの噴射制御量で表現されて、制御量調停階層５４０の噴射機能調停部５４３（図４を参照して後述する５４３ｂ〜５４３ｄなど）へ伝達される。例えば、基本噴射機能要求としては、２つのインジェクタ２１，２２のそれぞれによる燃料の噴射回数（噴射モード）や各回の噴射時期、噴射割合などが挙げられる。
【０１０２】
一例として、基本噴射の要求出力部５１４ａ（図４を参照）からは、エンジン１の所定運転領域において、燃料噴霧の分散性を高めて良好な混合気形成を促進すべく、いわゆるマルチ噴射（筒内噴射用およびポート噴射用の両方のインジェクタ２１，２２を動作させて、１回の燃焼サイクル中に複数回に分けて行う燃料噴射）のための噴射時期などの要求値が出力される。
【０１０３】
なお、本実施形態では要求出力部５１４に、部品保護やノック防止などのための燃料の増量要求を出力する要求出力部５１４ｂ〜５１４ｄが含まれている。詳しくは後述するが、このように燃料は増量するものの噴射モードなどは変更しない要求については、以下に述べる触媒急速暖機などのように噴射モードも変更する要求に比べると、混合気の燃焼性に及ぼす影響は小さいので、基本噴射機能の要求出力部５１４に含めている。
【０１０４】
前記要求出力部５１４からの信号と同じように、Ｆ／Ｃ（燃料カット）前の燃圧低減の要求出力部５１５からの信号も噴射機能調停部５４３へ伝達される。これは、エンジン１の燃料カット制御が行われている間に高圧燃料用デリバリパイプ２０内の燃料の温度が上昇して、その圧力（燃圧）が高くなり過ぎることがないように、予め燃料カット制御を開始する直前に筒内噴射用インジェクタ２１を動作させ、少量の燃料を噴射させる制御である。そのために、要求出力部５１５からは筒内噴射用インジェクタ２１を動作させるような要求値の信号が出力されて、制御量調停階層５４０の調停部５４３に伝達される。
【０１０５】
一方、触媒急速暖機の要求出力部５１６および成層始動の要求出力部５１７からの信号はそれぞれ、制御量調停階層５４０のスロットル開度の要求値の調停部５４１と、点火時期の要求値の調停部５４２と、噴射機能調停部５４３とへ伝達される。触媒１７の急速暖機というのは、エンジン１の冷間始動後などに最短時間で触媒１７を暖機するために、排気温を最大限に上昇させる特殊な制御を行うことである。
【０１０６】
具体的には、例えば、排気の昇温のために点火時期をＴＤＣ以後まで遅角させるとともに、スロットルバルブ８を開いて空気量を増大させ、排気熱量を可及的に増大させる。また、圧縮行程での燃料噴射時期を遅角させて、点火プラグ６の周りの混合気濃度を高める。そのために、要求出力部５１６からはスロットル開度を増大させる要求値、点火遅角の要求値、圧縮行程噴射の要求値および燃圧上昇の要求値の信号が出力される。
【０１０７】
また、成層始動というのは、始動時間の短縮とスムーズなエンジン回転の立ち上がりとを両立するために、成層燃焼状態で始動する制御であり、筒内噴射用インジェクタ２１により気筒２の圧縮行程で燃料を噴射させる（ポート噴射用インジェクタ２２からも燃料を噴射させるようにしてもよい）。そのために要求出力部５１７からもスロットル開度や点火遅角の要求値とともに、圧縮行程噴射の要求値および燃圧上昇の要求値の信号が出力される。
【０１０８】
さらに、Ｓ＆Ｓ停止の要求出力部５１８からの信号も調停部５４１〜５４３へ伝達される。Ｓ＆Ｓ停止というのは、自動車の停車に伴い所定の条件下でエンジン１の運転を自動停止させるアイドリングストップ制御のことであり、要求出力部５１８からはエンジン１の停止時の振動を抑制するためのスロットル閉の要求値と、点火を停止させる要求値と、燃料噴射および低圧ポンプ２４の動作をそれぞれ停止させる要求値と、がそれぞれ出力される。
【０１０９】
また、インジェクタ保護の要求出力部５１９からの信号は調停部５４３のみへ伝達される。この例ではインジェクタ保護の要求として具体的に、筒内噴射用インジェクタ２１のＯリングの保護のために、高圧燃料用デリバリパイプ２０内の燃料圧力（燃圧）を低下させるようにしており、そのために要求出力部５１９からは高圧ポンプ２５の吐出圧を低下させる要求値が出力される。
【０１１０】
なお、本実施形態では、前記のように物理量調停階層５２０を介さずに制御量調停階層５４０に伝達される要求出力部５１４〜５１９からの信号に、予め優先順位が設定されており、以下に説明するように、その優先順位に基づいて調停が行われる。具体的な優先順位については設計に委ねられるもので特に限定はないが、一例として要求出力部５１５〜５１９からの要求は、要求出力部５１４からの基本噴射機能の要求よりも優先順位が高く設定されている。
【０１１１】
−噴射制御量の調停−
以下では主に図４を参照して、噴射機能調停部５４３における噴射制御量の調停について詳しく説明する。上述したように噴射機能調停部５４３には、インジェクタ２１，２２の動作を表す７つの噴射制御量をそれぞれ調停する第１〜第７の調停部５４３ａ〜５４３ｇと、燃料ポンプ２４，２５の動作を表すポンプ制御量を調停する第８、第９の調停部５４３ｈ，５４３ｉとが設けられ、それら噴射制御量とポンプ制御量とを一括して調停するようになっている。
【０１１２】
第１の調停部５４３ａは、噴射制御量の１つとして噴射モード、即ちインジェクタ２１，２２のそれぞれによる燃料の噴射回数を調停する。具体的に第１の調停部５４３ａには要求発生階層５１０の要求出力部５１５〜５１８のそれぞれから、即ち、燃圧低減、触媒急速暖機、成層始動、Ｓ＆Ｓ停止のそれぞれの要求に対応する噴射モードとして、少なくともインジェクタ２１，２２のそれぞれの噴射回数を含む信号が伝達される。
【０１１３】
この噴射モードの信号には要求を識別して優先順位を表す数の情報も含まれており、例えば、エンジン１の通常運転（通常の自動車において最も使用頻度の高い、エンジン１のいわば定格の運転）の状態における基本噴射機能の要求は、ポート噴射用インジェクタ２２のみ１回、噴射させる（ポート１回噴射）基本モードであり、このモードを識別する数を「１」とすれば、要求値は（１０１）という３桁の数になる。
【０１１４】
また、通常の運転状態でも筒内噴射用インジェクタ２１のみ１回、噴射させる（筒内１回噴射）場合の要求値は（０１１）になり、筒内噴射用およびポート噴射用のインジェクタ２１，２２を１回ずつ噴射させる（ポート１回＋筒内１回噴射）マルチ噴射の場合は（１１１）になる。さらに、Ｓ＆Ｓ停止などの要求に応じて燃料噴射を停止させる場合、その識別数を「０」とすれば、噴射モードの要求値は（０００）となる。
【０１１５】
なお、本実施形態では制御処理の簡略化のために、基本噴射機能の要求出力部５１４からは噴射モードの要求値の信号が伝達されないようにしている。すなわち、基本噴射機能の要求に対応する前記基本モード（１０１）は予め噴射機能調停部５４３に設定されており、要求出力部５１４からは伝達されない。他の要求出力部５１５〜５１９から噴射モードの要求値の信号が伝達されない場合に、前記基本モードが採用される。
【０１１６】
前記第１の調停部５４３ａと同様に第２の調停部５４３ｂは、噴射制御量の１つとしてインジェクタ２１，２２のそれぞれによる燃料の噴射時期（噴射開始時期）を調停する。第２の調停部５４３ｂには、要求発生階層５１０の要求出力部５１４（５１４ａ），５１６，５１７からそれぞれ、基本噴射、触媒急速暖機、成層始動のそれぞれの要求に対応する噴射時期の要求値として、各インジェクタ２１，２２のそれぞれの噴射開始時期を表す数値の組の信号が伝達される。
【０１１７】
例えば、前記のように筒内噴射用インジェクタ２１を１回と、ポート噴射用インジェクタ２２を１回との都合、２回の噴射を行うのであれば、その各回の噴射の開始時期をクランク角で表現した数値の組の信号が伝達される。そして、前記第１の調停部５４３ａと同様に予め定められた規則に従って調停が行われる。なお、噴射時期の要求値は、噴射モードで表された各回の噴射に順番に割り当てられるので、筒内噴射用インジェクタ２１とポート噴射用インジェクタ２２とを区別しなくてよい。
【０１１８】
また、第３の調停部５４３ｃは噴射制御量の１つとして、エンジン１の始動時におけるインジェクタ２１，２２のそれぞれによる燃料噴射量を調停する。第３の調停部５４３ｃには、要求発生階層５１０の要求出力部５１４（５１４ａ），５１７からそれぞれ、基本噴射および成層始動のための噴射要求に対応する各回の燃料噴射量を表す数値の組の信号が伝達される。
【０１１９】
一例として成層始動のために筒内噴射用インジェクタ２１を１回と、ポート噴射用インジェクタ２２を１回との都合、２回の噴射を行うのであれば、その各回の噴射量を表す数値の組の信号が伝達される。また、寒冷地などで均一燃焼状態で始動する場合は、ポート噴射用インジェクタ２２による１回分の燃料噴射量の数値が伝達される。そして、前記第１、第２の調停部５４３ａ、５４３ｂと同様に予め定められた規則に従って調停が行われる。
【０１２０】
このように始動時の燃料噴射量を運転状態と分けて調停するのは、始動時に気筒２への空気の充填量を精度良く算出することができないからである。エンジン１の運転中は、後述するように空気充填量と目標空燃比とから燃料噴射量を算出するが、始動時には空気の充填量を精度良く算出できないので、燃料噴射量は予め適合した値を設定しておかなくてはならない。そこで、成層燃焼での始動や均一燃焼での始動など、始動時のエンジン１の状態にマッチした燃料噴射量を予め設定しておき、その中から選択（調停）する。
【０１２１】
第４の調停部５４３ｄは噴射制御量の１つとして、前記のような始動制御の完了を判定する基準値についての調停を行う。第４の調停部５４３ｄには、要求発生階層５１０の要求出力部５１４（５１４ａ），５１７から、均一燃焼の始動および成層始動のそれぞれの場合の始動完了判定の数値の信号が伝達される。そして、予め定められた規則に従って調停が行われる。
【０１２２】
例えば、基本噴射による均一燃焼での始動の場合は、予め設定されているエンジン回転数（始動完了判定値）以上になれば始動完了と判定するが、成層始動の場合は比較すれば発生するトルクが小さいので、より高いエンジン回転数になってから始動完了と判定するように、判定回転数の選択（調停）が行われる。また、ハイブリッド自動車の場合、電動モータで走行しながらエンジンを始動することがあるので、さらに高い回転数になってから始動完了と判定するようにしてもよい。
【０１２３】
第５の調停部５４３ｅは、噴射制御量の１つとして、エンジン１の運転中におけるインジェクタ２１，２２のそれぞれによる燃料噴射量の割合、即ち噴き分け率を調停する。第５の調停部５４３ｅには、要求発生階層５１０の要求出力部５１６，５１７からそれぞれ、触媒急速暖機および成層始動の要求に対応する噴き分け率の要求値として、各インジェクタ２１，２２による各回の噴射割合を表す数値の組の信号が伝達される。
【０１２４】
一例として筒内噴射用インジェクタ２１を２回と、ポート噴射用インジェクタ２２を１回との都合、３回の噴射を行うのであれば、その噴射の順番にポート噴射の１回と筒内噴射の最初の１回とのそれぞれの噴射割合（例えば４０％、４０％）の要求値が伝達され、予め定められた規則に従って選択（調停）される。
【０１２５】
なお、筒内噴射の２回目については残りの噴射割合（例えば２０％）が割り当てられる。また、本実施形態では基本噴射機能の要求出力部５１４からは、噴き分け率の要求値の信号は伝達されない。基本噴射機能の要求に対応する噴き分け率は、基本モードによる１回のポート噴射に対応する基本値（即ち１００％）が、図４に示すように噴射機能調停部５４３に予め記憶されている。
【０１２６】
第６の調停部５４３ｆは、噴射制御量の１つとして、燃料の総噴射量の補正係数を調停する。すなわち、本実施形態では基本噴射機能の要求出力部５１４に、基本噴射の要求以外に部品保護、ノック防止および未寄与分の補正などのための燃料増量補正係数の要求値をそれぞれ出力する要求出力部５１４ｂ〜５１４ｄが含まれている。これらの要求値（信号）は増量プレ調停部５４３ｊに伝達されて、予め定められた規則に従って選択（プレ調停）される。
【０１２７】
こうしてプレ調停されて、増量プレ調停部５４３ｊから出力される噴射量補正係数の要求値が第６の調停部５４３ｆに伝達される一方、図４の例では、要求出力部５１６からも触媒急速暖機のための噴射量補正係数の要求値が第６の調停部５４３ｆに伝達され、予め定められた規則に従って調停される。このように分けて調停するのは、それぞれの調停に好適なロジックが異なっているからである。
【０１２８】
すなわち、部品保護やノック防止などのようにプレ調停する要求（第１種の要求）は、燃料の総噴射量は変更するものの噴射モードなどは変更しない要求であり、一方、触媒急速暖機などの要求（第２種の要求）では、燃料の総噴射量だけでなく噴射モードも変更するので、気筒２内の混合気の燃焼性に及ぼす影響が大きい。そこで、前記のように増量プレ調停部５４３ｊにおいて前記第１種の要求に好適なロジックで噴射量補正係数を調停した上で、第６の調停部５４３ｆにおいて前記第２種の要求に好適なロジックで噴射量補正係数を調停するのである。
【０１２９】
第７の調停部５４３ｇは、噴射制御量の１つとして、筒内噴射用インジェクタ２１により気筒２の圧縮行程で燃料を噴射する場合の上限値、即ち圧縮噴射上限値の調停を行う。すなわち、気筒２の圧縮行程での燃料噴射量が多くなり過ぎると、混合気の濃度の偏りが大きくなってしまい、例えば点火プラグの周りが過濃になって燃焼状態が悪化することがある。
【０１３０】
そこで、一例として第７の調停部５４３ｇには、要求出力部５１６から触媒急速暖機制御の際の筒内噴射用インジェクタ２１による圧縮行程での燃料噴射量の上限値の信号が伝達され、また、要求出力部５１７からは成層始動の際の圧縮行程での燃料噴射量の上限値の信号が伝達される。そして、予め定められた規則に従って選択（調停）される。
【０１３１】
なお、本実施形態では基本噴射機能の要求出力部５１４からは、圧縮行程での燃料噴射量の上限値の信号は伝達されない。基本噴射機能の要求に対応する噴射モードは基本モードであって、筒内噴射用インジェクタ２１による燃料の噴射は行われないからである。図４に示すように噴射機能調停部５４３には便宜上、基本値（最大値）が予め記憶されている。
【０１３２】
以上のように、７つの噴射制御量が同時性を保って、言い換えると互いに関連づけて一体として調停されることで、エンジン１の運転中および始動時における各種要求に対して好適なインジェクタ２１，２２の動作制御を実現可能になる。なお、第１〜７の調停部５４３ａ〜５４３ｇが、インジェクタ２１，２２の動作に関する噴射制御量の調停を行う噴射制御調停部を構成している。
【０１３３】
−インジェクタ駆動信号の出力−
前記のように第１〜７の調停部５４３ａ〜５４３ｇでそれぞれ調停された噴射モードや噴射時期など噴射制御量の要求値は、図５に示すように制御出力階層５５０の制御出力部５５３に伝達され、ここにおいてインジェクタ２１，２２の駆動信号が出力される。本実施形態のように自動車に搭載されたエンジン１では、走行状態やドライバの運転操作などに応じて要求が時々刻々と変化し、これに応じて噴射制御量の要求値も常に変化することになる。
【０１３４】
このように変化する要求を常に反映するように、インジェクタ２１，２２は噴射制御量の最新の要求値に応じて駆動するのが好ましいが、要求値の信号が制御出力部５５３に伝達されるタイミングによっては、要求値そのままでは採用できない場合がある。例えば、マルチ噴射における最初（１回目）の噴射の時期や分量などが確定した後に要求値が変化した場合、この最新の要求値に従って次回（同一燃焼サイクルにおける２回目）以降の噴射の時期や分量などを変更すると、既に確定している前記最初の噴射とのバランスが崩れる懸念がある。
【０１３５】
そこで、本実施形態の特徴として制御出力部５５３は、噴射制御量の要求値が変化した場合に、その変化後の要求値をどの程度、実現できるか考慮してインジェクタ２１，２２の駆動信号を出力するようにしている。すなわち、図５に示すように制御出力部５５３には、第１および第２の調停部５４３ａ，５４３ｂから伝達される噴射モードおよび噴射時期の要求値が変化する都度、その時点における変化後の要求値の実現性に応じて、変化の前後少なくとも一方の要求値から噴射モードなどを仮に確定し、この要求値を記憶する噴射モード確定部５５３ａが設けられている。
【０１３６】
なお、実際には第１および第２の調停部５４３ａ，５４３ｂからの噴射モードおよび噴射時期の要求値は、所定時間（例えば８ｍｓｅｃ）の制御周期毎にＥＣＵ５００のＲＡＭ５０３に書き込まれて更新されており、前記噴射モード確定部５５３ａは、所定クランク角（例えば３０ＣＡ）の制御周期毎に前記の要求値をＲＡＭ５０３から読み出すようになっている。こうして噴射モード確定部５５３ａにより要求値の読み出される時点が、要求値の伝達される時点である。
【０１３７】
また、図５に示すように制御出力部５５３には、前記の仮に確定されている噴射モードを最終的に確定（本確定）するタイミングの判定部５５３ｂが設けられている。このタイミング判定部５５３ｂは、仮確定されている噴射モードにおける最初の噴射開始に間に合う最遅角時期（以下、噴射モード確定限界という）になったか否かを判定する。なお、噴射モード確定限界は、制御出力部５５２において点火時期の要求値に基づき、イグナイタ７の通電時間や制御の遅れなども考慮して、燃料噴射時期を確定しなくてはならない最遅角のタイミングとして算出される。
【０１３８】
その噴射モード確定限界を参照してタイミング判定部５５３ｂは、エンジン１の各気筒２毎のインジェクタ２１，２２による複数回の噴射のうち、最初の噴射について、その噴射時期を確定すべきタイミングか否か判定する。そして、噴射時期を確定すべきと判定すれば、後述するように噴射モード確定部５５３ａにおいて噴射モードおよび最初の噴射の時期が確定（本確定）される。なお、タイミング判定部５５３ｂは２回目以降の噴射についても、その噴射時期を確定すべきタイミングか否か判定する。
【０１３９】
そうして確定された噴射モードなどに基づいて噴射量算出部５５３ｃが、インジェクタ２１，２２の各回の燃料噴射量を算出する。すなわち、図５に表れているように噴射量算出部５５３ｃには、噴射機能調停部５４３の第５〜７の調停部５４３ｅ〜５４３ｇからそれぞれ噴き分け率、噴射量補正係数および圧縮噴射上限の要求値が伝達され、これらの要求値に基づいて前記の確定した噴射モードにおける各回の燃料の噴射量が算出される。
【０１４０】
なお、実際は、前記噴き分け率や噴射量補正係数などの要求値もＲＡＭ５０３に書き込まれて更新されており、噴射量算出部５５３ｃによって読み出される。噴射量算出部５５３ｃは、空燃比の目標値（基本値として予め理論空燃比が設定されている）と、気筒２内への空気の充填量（共通エンジン情報に含まれている）と、噴き分け率とから各回の燃料の噴射量を算出する。また、噴射量算出部５５３ｃは、必要に応じて噴射量補正係数を用いて、燃料噴射量を補正するとともに圧縮行程での噴射についてはその噴射量を上限値までに制限する。
【０１４１】
そうして算出された噴射量の要求値と、噴射機能調停部５４３の第３の調停部５４３ｃからの始動時の燃料噴射量の要求値とが、制御出力部５５３の噴射量選択部５５３ｄに入力されて、いずれかの要求値が選択される。すなわち、噴射機能調停部５４３の第４の調停部５４３ｄから伝達される始動完了判定値（例えばエンジン回転数）に基づいて、これよりも実際のエンジン回転数（共通エンジン情報に含まれている）が低ければ始動時の燃料噴射量が選択される一方、実際のエンジン回転数の方が高くなれば、前記のように噴射量算出部５５３ｃによって算出された燃料噴射量が選択される。
【０１４２】
このようにして選択された燃料噴射量の要求値と、現在の燃圧（共通エンジン情報に含まれている高圧燃料用デリバリパイプ２０および低圧燃料用デリバリパイプ２３の燃圧）と、各インジェクタ２１，２２の流量係数とに基づいて、噴射パルス算出部５５３ｅにより、それぞれのインジェクタ２１，２２による各回の燃料噴射期間、即ち噴射パルス巾が算出される。こうして算出されたパルス巾のインジェクタ駆動信号がインジェクタ２１，２２へ出力される。
【０１４３】
−噴射モードの確定−
次に本実施形態の特徴部分として、前記噴射モード確定部５５３ａにおける噴射モードなどの確定について図６も参照して詳細に説明する。前記したように噴射モード確定部５５３ａでは、ＲＡＭ５０３から読み出す噴射モードおよび噴射時期の要求値が変化する都度、その時点において変化後の要求値をどの程度、実現できるかを考慮し、また、噴射モードが変化したか、噴射時期が変化したかも考慮して要求値を確定（仮の確定を含む）する。
【０１４４】
すなわち、変化後の要求値そのままにインジェクタ２１，２２を駆動できるのであれば、この要求値に基づいてインジェクタ駆動信号を出力すればよいが、要求値を読み出すタイミングによっては、例えば最初の噴射が既に開始されていたり、その開始時期までに燃圧を十分に昇圧させることができなかったりして、次に燃料を噴射供給すべき気筒２への最初の噴射に間に合わないことがある。
【０１４５】
この場合、本実施形態では主に噴射モードが変化しているか否かに着目して、要求値の確定の仕方を変えるようにしている。すなわち、噴射制御量の要求値の中で噴射モードが変化している場合には、混合気の形成過程や燃焼性に比較的大きな変化があると考えられるので、最初の噴射開始に間に合うのであれば主に変化後の要求値に基づいて、また、間に合わないのであれば主に変化前の要求値に基づいて、インジェクタ２１，２２の駆動信号を出力する。
【０１４６】
一方、変化後の要求値において噴射モードが変化しておらず、噴射時期や噴き分け率などが変化している場合は、その時点で１回の燃焼サイクルにおける最初の噴射に間に合うか否かに依らず、噴射時期や噴き分け率の変化を噴射制御に反映させるように、その変化後の要求値に基づいてインジェクタ２１，２２駆動信号を出力する。
【０１４７】
より具体的には図６に、噴射モードの要求値と、インジェクタ２１，２２のそれぞれの最初の噴射時期（ポート噴射時期および筒内噴射時期）の要求値との変化に応じて、エンジン１の各気筒２毎の噴射モードおよび噴射時期が確定される様子を示す。上述したように噴射時期についてはポート噴射、筒内噴射の区別はなく、噴射モードに定められた各回の噴射に順に割り当てられるが、図６には説明の便宜上、要求値をポート噴射時期および筒内噴射時期と区別して表している。
【０１４８】
また、本実施形態の直列４気筒エンジン１の点火順は、♯１、♯３、♯４、♯２であり、各気筒２のクランク角はその圧縮上死点ＴＤＣを基準として、互いに１８０ＣＡずれている。図の例では、各気筒２毎にＴＤＣから進角側に７２０ＣＡまでの１燃焼サイクルをＢ０〜Ｂ７２０と表している。なお、図に階段状に表しているのは、クランクポジションセンサ３０１からの出力信号に基づく３０ＣＡクランクカウンタの値である。
【０１４９】
同図に表れているように、まず、時刻ｔ１では、噴射モードの要求値が（０１１）から（１０１）に変化するとともに、筒内噴射時期がＢ３１０からＢ２９０に変化しており、一方、ポート噴射時期はＢ５３０のまま変化していない。そして、その変化した噴射モードが時刻ｔ２（♯１気筒２のクランク角Ｂ４２０、♯３気筒２のクランク角Ｂ６００）において噴射モード確定部５５３ａにより読み出される。
【０１５０】
この時点、即ち噴射モードの要求値が変化した時刻ｔ２で最初の噴射の開始時期（ポート噴射時期Ｂ５３０）が♯１気筒２については既に過去になっていて、噴射開始に間に合わない（実行不能）。そこで、♯１気筒２については変化前の噴射モード（０１１）およびその最初の噴射時期Ｂ３１０が確定される（仮確定であり、図には破線で示す）。一方、♯３気筒２のクランク角はＢ６００であり、最初の噴射開始（ポート噴射時期Ｂ５３０）に間に合うので、ここでは変化後の噴射モード（１０１）およびその最初の噴射時期（ポート噴射時期Ｂ５３０）が仮確定される。
【０１５１】
次に時刻ｔ３で噴射モードの要求値が（１０１）から（１１１）に変化し、ポート噴射時期がＢ５３０からＢ５００に変化すると、この変化した噴射モードが時刻ｔ４（♯１気筒２のクランク角Ｂ３６０、♯３気筒２のクランク角Ｂ５４０、♯４気筒２のＴＤＣ）において噴射モード確定部５５３ａによって読み出される。この時点でも最初の噴射開始（ポート噴射時期Ｂ５００）は♯１気筒２については既に過去であるから、変化前の噴射モード（０１１）およびその最初の噴射時期Ｂ３１０が再び仮確定される。
【０１５２】
一方、♯３気筒のクランク角はＢ５１０であり、最初の噴射開始（ポート噴射時期Ｂ５００）に間に合うので、再び変化後の噴射モード（１１１）および最初の噴射時期（ポート噴射時期Ｂ５００）が仮確定される。また、ＴＤＣにある♯４気筒２も最初の噴射開始（Ｂ５００）に間に合うので、変化後の噴射モード（１１１）およびその最初の噴射時期が仮確定される。
【０１５３】
そして、時刻ｔ５になるとＢ３３０の♯１気筒２は、仮確定している噴射モード（０１１）の最初の噴射時期（筒内噴射時期Ｂ３１０）から噴射モード確定限界となり、この噴射モード（０１１）と最初の噴射時期とが本確定される（実線で示す）。また、Ｂ５１０の♯３気筒２でも仮確定している最初の噴射時期（ポート噴射時期Ｂ５００）が噴射モード確定限界になって、噴射モード（１１１）と最初の噴射時期とが本確定される。なお、この時点では♯３気筒２の２回目の噴射時期は仮確定のままである。
【０１５４】
次に時刻ｔ６では、噴射モードの要求値が（１１１）で変化しないままポート噴射時期のみＢ５００からＢ５３０に変化し、これを受けて時刻ｔ７では、Ｂ６６０の♯４気筒２の噴射モード（０１１）はそのままに最初の噴射時期（ポート噴射時期Ｂ５００）だけがＢ５３０へと変化する（仮確定）。時刻ｔ８では、噴射モードは（１１１）のままポート噴射時期がＢ５３０からＢ５７０に変化し、これを受けて時刻ｔ９では、Ｂ５７０の♯４気筒２の噴射モード（０１１）はそのままに最初の噴射時期（ポート噴射時期Ｂ５７０）になったことから、その噴射モードおよび最初の噴射時期が直ちに本確定される。
【０１５５】
さらに、時刻ｔ１０では、噴射モードの要求値が（１１１）で変化しないまま筒内噴射時期のみＢ２９０からＢ３２０に変化し、これを受けて時刻ｔ１１では、Ｂ３３０の♯３気筒２の２回目の噴射時期がＢ３２０に変化し、且つこの２回目の噴射開始ぎりぎりなので、直ちに本確定される。つまり、２回以上の噴射を行う♯３気筒２においては、最初の噴射および２回目の噴射のそれぞれの時期がぎりぎりのタイミングで本確定される。
【０１５６】
なお、前記の時刻ｔ１１ではＢ５１０の♯４気筒２においても２回目の噴射時期がＢ３２０に変化して仮確定されており、また、Ｂ６９０の♯２気筒２においても２回目の噴射時期がＢ３２０に変化して仮確定されている。
【０１５７】
以上のように本実施形態では、エンジン１の運転中に制御量調停階層５４０の噴射機能調停部５４３から伝達される噴射制御量の要求値が変化した場合に、そのうちの噴射モードが変化しているか否かによって、要求値の確定の仕方が異なるものとなる。すなわち、噴射モードが変化している場合は、その最初の噴射を要求通り実行できれば、即ち、変化した要求値そのままにインジェクタ２１，２２を駆動できるのであれば、変化後の要求値が確定される。この要求値に基づいてインジェクタ駆動信号を出力することで、燃料の噴射制御に最新の要求を好適に反映させることができる。
【０１５８】
一方、噴射モードの最初の噴射に間に合わないなど、変化した要求値そのままにはインジェクタ２１，２２を駆動できないのであれば、次回以降の噴射の時期や分量だけを変更すると、最初の噴射とのバランスが崩れる虞があるので、この場合は変化前の要求値を確定する。この要求値に基づいてインジェクタ駆動信号を出力することで、燃焼状態の悪化を回避することができる。なお、この場合でも、次回または次々回の燃焼サイクルでは、変化後の要求値に基づいてインジェクタ駆動信号が出力される。
【０１５９】
また、噴射制御量の要求値のうち噴射モードは変化せず、噴射時期や噴き分け率などが変化している場合は、この変化を反映させても混合気の燃焼性に及ぼす影響は大きくないと考えられる。そこで、その時点で最初の噴射に間に合うか否かに依らず、各回の噴射については変化後の要求値を確定し、この要求値に基づいてインジェクタ駆動信号を出力することで、より最新の要求を燃料の噴射制御に反映させることができる。
【０１６０】
しかも、前記のように要求値の変化に応じて仮確定を繰り返し、その最初の噴射を実行可能なぎりぎりのタイミング（噴射モード確定限界）で噴射モードなどを本確定するとともに、２回目以降の各回の噴射についても実行可能なぎりぎりのタイミングまで待って本確定するようにしており、このことによってもインジェクタ２１，２２の駆動制御に最新の要求を反映させることができる。
【０１６１】
−気筒別燃料カット制御からの復帰−
次に、燃料カット制御から復帰する場合について図７〜９を参照して説明する。この実施形態のエンジン１では、必要に応じて４つの気筒２のうち１つ以上の燃焼を中断する、いわゆる燃料カット（Ｆ／Ｃ）制御が行われ、この気筒２の燃焼を再開する復帰時には、最初に燃料噴射を再開する気筒２への最初の燃料噴射の時期をできるだけ遅角側に設定することによって、迅速な復帰が図られている。
【０１６２】
すなわち、Ｆ／Ｃ制御中の気筒２の燃焼を再開させる要求が伝達されてきたとき、この気筒２が既に噴射モード確定限界を過ぎていると、次の燃焼サイクルまでは燃料を噴射することができない。そこで、最初に復帰する気筒２の噴射時期はできるだけ遅角側に設定することで、噴射できる可能性を高めるようにしている。具体的には噴射時期は、例えばＢ２４０くらいにして、気筒２の吸気行程の半ばから圧縮行程の半ばにかけて燃料を噴射するようにしている。
【０１６３】
但し、このように最初に復帰する気筒２の噴射時期を遅角側に設定していると、これがさらに少しでも遅角したときには、点火までの燃料噴霧の蒸発が不十分になってしまい、混合気の燃焼性が悪化して失火に至る虞もある。つまり、Ｆ／Ｃ制御から最初に復帰する気筒２では噴射時期を厳守する必要があり、少しでも遅角させることはできない。
【０１６４】
そこで、本実施形態ではＦ／Ｃ制御からの復帰の際に噴射モードの要求値が（０００）から（０１１）や（１０１）に変化した時点で（噴射開始を要求するものに変化した時点で）、最初にＦ／Ｃ制御から復帰する気筒２において最初の噴射が間に合うのであれば、インジェクタ駆動信号を出力する一方、最初の噴射が間に合わないのであれば、この噴射要求に対するインジェクタ駆動信号は出力しないようにしている。
【０１６５】
具体的に図７に示す例では、♯１〜♯３の３つの気筒２でＦ／Ｃ制御中であり、♯４気筒２は燃焼中の気筒別Ｆ／Ｃ制御が行われており、時刻ｔ１で♯１〜♯３の３つの気筒２について復帰要求が出されている（Ｆ／Ｃ要求ＯＦＦ）。この時刻ｔ１では、最初に点火時期を迎える♯３気筒２のクランク角がＢ６０で噴射時期Ｂ２４０は既に過去になっているので、この♯３気筒２への燃料噴射は実行されない（図には破線で"INJ"と示す）。
【０１６６】
すなわち、４つの気筒２のうち最初にＦ／Ｃ制御から復帰する♯３気筒２においては、最初の噴射に間に合わないので、燃焼状態の悪化を防ぐためにインジェクタ２１，２２の駆動は行わない。一方、前記の時刻ｔ１においてＢ２４０の♯４気筒２は元々、燃焼中であり、復帰気筒ではないので、直ちに変化後の噴射モードおよびその最初の噴射時期Ｂ２４０が確定され、燃料噴射が実行される（図に実線で"INJ"と示す）。
【０１６７】
そうして要求値が変化した時刻ｔ１の直後に噴射時期の要求値はＢ２４０からＢ２７０に変化する。前記のように噴射時期を遅角側に設定する目的は初爆を早めるためであり、これは最初に復帰する気筒２だけでよいので、２番目以降に復帰する気筒２では、より早く空気との混合を促進して燃焼状態が良くなるように、噴射時期を進角させるのである。そして、時刻ｔ２においてＢ２７０になった♯２気筒２では噴射モードなどが確定されて、燃料噴射が実行される。
【０１６８】
次に図８に示す例では、♯１，♯３の２つの気筒２でＦ／Ｃ制御中であり、♯２，♯４の２つの気筒２は燃焼中の気筒別Ｆ／Ｃ制御が行われている。そして、時刻ｔ１で♯１，♯３の２つの気筒２について復帰要求が出されるとともに、♯４気筒２についてはＦ／Ｃ要求が出されている。この時刻ｔ１でＢ６０の♯３気筒２では、前記図７の例と同じく燃料噴射は行われず、Ｆ／Ｃ要求が出された♯４気筒２でも燃料噴射は行われない。♯２気筒２は元々、燃焼中であり、時刻ｔ２においてＢ２７０になると燃料噴射が行われる。
【０１６９】
次に図９に示す例では、♯１〜♯３の３つの気筒２でＦ／Ｃ制御中であり、♯４気筒２のみ燃焼中の気筒別Ｆ／Ｃ制御が行われている。そして、時刻ｔ１で♯１，♯３の２つの気筒２に復帰要求が出されるとともに、♯４気筒２にはＦ／Ｃ要求が出されている。この時刻ｔ１でＢ６０の♯３気筒２では、前記の例と同じく燃料噴射は行われず、Ｆ／Ｃ要求が出された♯４気筒２でも燃料噴射は行われず、Ｆ／Ｃ制御中の♯２気筒２でも燃料噴射は行われない。♯１気筒２は元々、燃焼中であり、時刻ｔ２においてＢ２７０になると燃料噴射が行われる。
【０１７０】
このように気筒別Ｆ／Ｃ制御からの復帰の際は、最初に復帰する気筒２では噴射時期をできるだけ遅角側に設定するとともに、その噴射時期を厳守する一方、それ以降に復帰する気筒２では噴射時期を進角させるとともに、噴射時期を厳守できなくても燃料噴射は行うことで、いわゆる噴射抜けを防止することができる。これにより燃焼状態の悪化を抑制しつつ、迅速な復帰が可能になる。
【０１７１】
−エンジン始動時−
次に、エンジンの始動時について図１０を参照して説明する。なお、説明の便宜上、図１を参照して上述した直列４気筒エンジン１ではなく、Ｖ型８気筒エンジンに本発明を適用した例について説明する。このＶ型８気筒エンジンの２つのバンクにはそれぞれ４つの気筒が並び、各バンクにおける気筒内のピストンや動弁系、燃料噴射系などの構造は概ね直列４気筒エンジン１と同じであって、制御系統も同様に構成されているので、対応する部材には同じ符号を付する。
【０１７２】
まず、エンジンの始動時には、クランクシャフト５の回転（クランキング）によって点火順を迎える複数の気筒２へ順番に燃料の供給を開始する。この場合、前記したＦ／Ｃ制御からの復帰時と同じく、最初に燃料を噴射する気筒２への噴射時期は遅角側に設定することで、実際に噴射を実行できる可能性が高くなって始動の迅速化につながる。具体的には、クランキング回転数が低回転（例えば２００〜４００ｒｐｍ）であることを考慮して、噴射時期は例えばＢ１５０くらいに設定している。
【０１７３】
そして、前記したＦ／Ｃ制御からの復帰時と同じく、噴射モードの要求値が（０００）から例えば（０１３）など噴射開始の要求値に変化した時点で（噴射開始を要求するものに変化した時点で）、この変化後の要求値における最初の噴射が間に合う気筒２から順に、インジェクタ２１，２２の駆動信号が出力される。
【０１７４】
言い換えると、始動時のクランキングによって点火順を迎える♯１〜♯８の８つの気筒２のうち、前記のように遅角側に設定された噴射時期に最初の噴射が間に合うものの中で最も早く点火順を迎える気筒２に、最初に燃料を噴射する。こうして始動時の噴射要求に無理なく応えられる気筒２を選んで、順に燃焼を開始させることによって、燃焼性の悪化を招くことなく始動の迅速化が図られる。
【０１７５】
図１０には、前記の図７〜９と同様に噴射時期の要求値が変化した場合に、これに応じて♯１〜♯８の各気筒２で燃料噴射が行われる様子を模式的に示すとともに、併せてイグナイタ７への通電開始時期や噴射モード確定限界の変化なども示している。なお、Ｖ型８気筒エンジンの点火順は便宜上、♯１、♯２、…としており、各気筒２のクランク角は、その圧縮上死点ＴＤＣを基準として互いに９０ＣＡずれている。
【０１７６】
図１０に表れているように、まず、始動時のクランキングによって時刻ｔ１でエンジン回転数Ｎｅが所定値になる。このとき、噴射時期の要求値は前記の如くＢ１５０とされ、通電開始時期はＢ３０、噴射モード確定限界はＢ４０にそれぞれ設定されている。時刻ｔ２では、カムポジションセンサ３０２からの信号に基づいてクランク角が仮に確定され、１０ＣＡクランクカウンタのカウントアップが開始される。
【０１７７】
前記１０ＣＡクランクカウンタは、クランキングの初期にカムポジションセンサ３０２からの信号に基づいて１０ＣＡずつカウントアップされるものである。すなわち、始動時にクランクシャフト５が回転を初めてから暫くの間、シグナルロータ３０１ａの欠歯部がクランクポジションセンサ３０１を通過するまでは、基準となるクランク角位置が分からないので、クランク角が正確でない可能性がある。そこで、この間はカムポジションセンサ３０２からの信号に基づく１０ＣＡクランクカウンタを用いるのである。
【０１７８】
本実施形態では、１０ＣＡクランクカウンタおよび３０ＣＡクランクカウンタの双方がＥＣＵ５００のクランク角計数部（図示は省略）によってカウントされるが、１０ＣＡクランクカウンタの値には吸気カムシャフト１５やスプロケット、タイミングチェーンなどの組み付け誤差が含まれており、３０ＣＡクランクカウンタに比べて精度が低いので、気筒２への点火制御の開始は３０ＣＡクランクカウンタが確定するまで待たなくてはならない。
【０１７９】
そこで、エンジンの始動時には、まず、１０ＣＡクランクカウンタの信号に基づいて３０ＣＡクランクカウンタの確定するであろう時期を予測し、この時期以降に最初に点火可能になる気筒２から順に噴射モードや噴射時期などを確定してゆく。前記したように始動の際、最初の噴射時期の要求値はＢ１５０に設定され、噴射モード確定限界はＢ４０に、イグナイタ７への通電開始時期はＢ３０に、それぞれ設定されている。
【０１８０】
すなわち、通電開始時期は本来、点火時期から通電時間分を遡ったものとして設定され、さらに所定時間だけ遡った時点が噴射モード確定限界として設定されるが、前記のように始動時には暫くの間、３０ＣＡクランクカウンタが確定せず、クランク角の変化と時間との対応関係が不確かになるので、予めＢ３０、Ｂ４０にそれぞれ設定することによって初爆の遅れを防止するのである。なお、クランキング中はエンジン回転数Ｎｅが低いので、Ｂ３０に通電を開始すれば点火コイルへの充電時間は十分である。
【０１８１】
図１０に戻って、前記の時刻ｔ２で１０ＣＡクランクカウンタが確定し、そのカウントアップが開始されると、まず、最初に点火順を迎える♯６気筒２については噴射モード確定限界（Ｂ４０）以前であるが、噴射時期（Ｂ１５０）が既に過去になっているので、変化前の（エンジン停止中の）噴射モード（０００）が確定される。よって、図に破線で"INJ"と示すように♯６気筒２への燃料噴射は行われない。
【０１８２】
また、時刻ｔ２においては、２番目に点火順を迎える♯７気筒２では噴射開始（Ｂ１５０）に間に合うものの、イグナイタ７への通電開始時期（Ｂ３０）が、予測される３０ＣＡクランクカウンタの確定以前になるので、この♯７気筒２についても変化前の（エンジン停止中の）噴射モードが確定され、燃料噴射は行われない（Ｂ３０における点火も行われないことを図に破線で"IG"と示す）。
【０１８３】
一方、３番目に点火順を迎える♯８気筒２は、前記♯７気筒２と同じく噴射開始（Ｂ１５０）に間に合うだけでなく、通電開始時期（Ｂ３０）も、予測される３０ＣＡクランクカウンタの確定以降になる。そこで、時刻ｔ３において変化後の（始動のための）噴射モードおよびその最初の噴射時期（Ｂ１５０）が確定されて、燃料噴射が実行される（図に実線で"INJ"と示す）。
【０１８４】
これを受けて時刻ｔ４では、混合気の燃焼性向上のために噴射時期の要求値がＢ２７０まで進角される。このため時刻ｔ５では、次に点火順を迎える♯１気筒２において噴射時期が過去になるが、この♯１気筒２は、始動後に最初に燃料噴射する気筒ではないので、噴射時期を厳守することなく直ちに変化後の（始動のための）噴射モードおよびその噴射時期Ｂ２７０が確定されて、燃料噴射が実行される。
【０１８５】
つまり、エンジン始動時にも最初に燃焼させる気筒２では噴射時期をできるだけ遅角側に設定するとともに、その噴射時期を厳守する一方、それ以降に復帰する気筒２では噴射時期を進角させるとともに、噴射時期を厳守できなくても燃料噴射は行うことによって、いわゆる噴射抜けを防止している。
【０１８６】
続いて時刻ｔ６では、３０ＣＡクランクカウンタが確定し、これに基づいて正確な点火制御が可能になるので、Ｂ３０の♯８気筒２にてイグナイタ７の通電制御が開始され、時刻ｔ７で点火プラグ６により混合気への点火が行われる。こうして最初の点火が実行されると、その後の時刻ｔ８において通電開始時期および噴射モード確定限界が、それぞれの本来の時期（点火時期＋通電時間、通電開始時期＋１０ＣＡ）に戻される。
【０１８７】
また、図示の例では少し遅れて噴射時期の要求値がＢ３０に変化しており、これ以降、燃料噴射は気筒２の圧縮行程終盤で行われるようになる。続いて時刻ｔ９では、前記♯８気筒２での燃焼の開始（初爆）によってエンジン回転数Ｎｅが上昇し始め、これが所定の始動完了判定値Ｎｅ＊に達した時刻ｔ１０では、エンジン１の始動完了が判定されて、始動時後の通常運転のための制御に移行する。
【０１８８】
すなわち、始動時に比べてエンジン回転数Ｎｅが高くなることを考慮して、制御周期が１０ＣＡ処理から３０ＣＡ処理に切り替えられる。始動時にはエンジンの回転変動が大きくなるので、１０ＣＡ処理とすることで精度を高める一方、エンジン回転数Ｎｅの高くなる通常運転の際は、３０ＣＡ処理とすることで制御の演算負荷の増大を抑えるのである。また、併せて噴射モード確定限界は通電開始時期＋１０ＣＡから通電開始時期＋３０ＣＡなどに切り替えられる。
【０１８９】
すなわち、前記したように噴射モード確定限界は、通電開始時期から少し遡って設定すればよいので、始動時のようにエンジン回転数Ｎｅの低い間は１０ＣＡ処理であれば通電開始時期＋１０ＣＡとし、３０ＣＡ処理であれば通電開始時期＋３０ＣＡとする。但し、通常運転になるとエンジン回転数Ｎｅが高くなって、通電開始時期から少し遡っただけでは足りないことがあるので、噴射モード確定限界は、通電開始時期＋所定期間とＢ９０＋所定期間との大きな方としている。
【０１９０】
図示の例では、♯３気筒２において通電開始時期＋所定期間（Ｌ１）よりもＢ９０＋所定期間（Ｌ２）の方が大きいので、Ｂ９０＋所定期間が噴射モード確定限界とされ（時刻ｔ１１）、噴射開始ギリギリではないが、噴射モードおよびその最初の噴射時期（Ｂ３０）が確定される。そして、時刻ｔ１２で♯３気筒２の燃料噴射が実行され、以下、時刻ｔ１３では♯４気筒２、時刻ｔ１４では♯５気筒２、…と順に燃料噴射が実行される。
【０１９１】
なお、前記した１０ＣＡおよび３０ＣＡの制御周期の切り替えについて本実施形態では、インジェクタ２１，２２の制御出力部５５３において、エンジン回転数Ｎｅに基づいて切り替えるか否か判定し、この判定結果をイグナイタ７の制御出力部５５２に出力する。これにより、インジェクタ２１，２２の駆動制御とイグナイタ７の通電制御との両方で、タイミングを合わせて制御周期を切り替えることができる。
【０１９２】
以上のようにエンジン始動の際にも、最初に燃焼させる気筒２の噴射時期をできるだけ遅角側に設定するとともに、始動要求が伝達された時点で、１回の燃焼サイクルのうちの最初の噴射を無理なく実行可能な気筒２を選んで、燃料を噴射させる。そして、続いて燃焼させる気筒２では噴射時期を進角させて燃焼性向上を図りつつ、この噴射時期を厳守できなくても燃料を噴射させることで、噴射抜けを防止する。このようにすれば、燃焼性を悪化させることなく、迅速且つスムーズな始動が可能になる。
【０１９３】
−燃料カット制御からの復帰−
次に、前記のＶ型８気筒エンジンにおいて全気筒２のＦ／Ｃ制御から復帰する場合について、図１１を参照して説明する。この場合は、図７〜９を参照して上述した気筒別Ｆ／Ｃ制御からの復帰時とはやや異なり、前記の始動時と同様に♯１〜♯８の気筒２から噴射要求に無理なく応えられるものを選んで順に燃焼を開始させる。但し、始動時とは異なりエンジン回転数Ｎｅが或る程度、高くなっており、また、３０ＣＡクランクカウンタは既に確定している。
【０１９４】
図１１には便宜上、♯２〜♯６気筒２についてのみ示すが、この例では♯１〜♯８の全気筒２でＦ／Ｃ制御が行われており、時刻ｔ１において全気筒２に復帰要求が出されている（Ｆ／Ｃ要求ＯＦＦ）。この際、噴射時期の要求値は、気筒別Ｆ／Ｃ制御のときと同じく最初に復帰する気筒２については、できるだけ遅角側（図の例ではＢ２４０）に設定されている。
【０１９５】
前記の時刻ｔ１では、最初に点火時期を迎える♯３気筒２のクランク角がＢ１２０で噴射時期（Ｂ２４０）が既に過去になっているので、この♯３気筒２への燃料噴射は行われない（図には破線で"INJ"と示す）。同様に、次に点火時期を迎える♯４気筒２でもクランク角がＢ２１０で、噴射時期（Ｂ２４０）が既に過去になっているので、この♯４気筒２への燃料噴射も行われない。
【０１９６】
これに対し、その次に点火時期を迎える♯５気筒２のクランク角はＢ３００で、噴射時期（Ｂ２４０）に間に合うので、時刻ｔ２においてＢ２４０になると噴射モードなどが確定され、燃料噴射が実行される（図に実線で"INJ"と示す）。その直後に噴射時期の要求値はＢ２４０からＢ２７０に変化し（時刻ｔ３）、その後の時刻ｔ４ではＢ２７０の♯６気筒２でも噴射モードなどが確定されて、燃料噴射が実行される。
【０１９７】
こうして♯１〜♯８の全気筒２のＦ／Ｃ制御から復帰する際にも、最初に復帰する気筒２の噴射時期をできるだけ遅角側に設定するとともに、この噴射時期を厳守できる気筒２から順に噴射を開始し、続いて復帰する気筒２では噴射時期を進角させるとともに、噴射時期は厳守しないことによって、燃焼状態の悪化を抑制しつつ迅速且つスムーズな復帰が可能になる。
【０１９８】
−本実施形態の制御装置の奏する効果−
以上、説明したとおり本実施形態の制御装置では、まず、階層構造の最上位の要求発生階層５１０からその下位の物理量調停階層５２０、制御量設定階層５３０、制御量調停階層５４０を経て制御出力階層５５０まで一方向に信号が伝達されるので、制御演算負荷の低減が図られる。しかも、ドライバビリティ、排気ガスおよび燃費というエンジン１の基本的な機能要求をトルク、効率および空燃比という３種の物理量の組み合わせによって表現し、物理量調停階層５２０にて調停するようにしているので、それらの基本的な要求をバランス良く満たした好適な状態でエンジン１を運転することができる。
【０１９９】
一方、各気筒２毎のインジェクタ２１，２２による燃料噴射の制御量（噴射制御量）に関する要求や成層始動、触媒急速暖機などの要求は、物理量調停を介さずに直接的に制御量調停階層５４０に伝達し、噴射機能調停部５４３にて調停するようにしている。よって一旦、前記の物理量に変換して調停し再度、制御量に計算し直すという余計な演算負荷が生じず、このことによって制御の遅れを小さくできる。
【０２００】
さらに、前記噴射機能調停部５４３によって調停された噴射制御量の要求値が伝達される制御出力階層５５０の制御出力部５５３において、その要求値が変化した時点で変化後の要求値をどの程度、実現できるかに応じて（つまり要求値の実現性に応じて）、この変化の前後少なくとも一方の要求値に基づきインジェクタ２１，２２の駆動信号を出力する。これにより、燃焼性を損なうことなく燃料噴射制御に極力、最新の要求を反映させることができる。
【０２０１】
−その他の実施形態−
以上、本発明の実施の形態について説明したが、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。例えば前記の実施形態ではエンジン１への基本的な機能要求としてドライバビリティ、排気ガスおよび燃費の３つを挙げており、これらをトルク、効率および空燃比の３つの物理量で表現して調停するようにしているが、これに限定されることはない。
【０２０２】
また、前記３つの物理量ではなく、アクチュエータ７，８，…の制御量で表現して調停する機能要求も、前記実施形態で挙げているＦ／Ｃ前燃圧低減や成層始動、触媒急速暖機などの制御に限定されない。それ以外にも例えば、エンジン１の複数の気筒２の幾つかを休止させる気筒休止制御もあるし、フェールセーフ、ＯＢＤなどの各種機能要求も挙げられる。
【０２０３】
また、前記の実施形態では本発明を、筒内噴射用インジェクタ２１およびポート噴射用インジェクタ２２を備えたエンジン１に適用した場合について説明したが、これにも限定されず、本発明は、筒内噴射用インジェクタ２１またはポート噴射用インジェクタ２２のいずれか一方のみを備えたエンジンの制御装置としても適用可能である。
【０２０４】
また、前記の実施形態では、噴射制御量として噴射モード（噴射回数）、噴射時期、噴き分け率などの７つを調停する例について説明したが、これにも限定されない。噴射制御量の要求値が変化した場合に、噴射モードが変化したか否かによって、変化の前後いずれの要求値を採用するか異ならせる例について説明したが、これにも限定されず、要するに要求値がどのように変化したかに応じて、その変化の前後の要求値から適宜、噴射制御量を決定すればよい。
【０２０５】
さらに、前記の実施形態では、本発明の制御装置を車両に搭載される火花点火式エンジン１に適用した場合について説明したが、本発明は火花点火式エンジン１以外のエンジン、例えばディーゼルエンジンにも適用可能であり、電動機も備えたハイブリッドシステムに備わるエンジンにも適用可能である。
【符号の説明】
【０２０６】
１            エンジン（内燃機関）
２            気筒
７            イグナイタ（アクチュエータ）
８            スロットルバルブ（アクチュエータ）
１１ａ        吸気ポート
２１          筒内噴射用インジェクタ（第１噴射弁、燃料噴射弁：アクチュエータ）
２２          ポート噴射用インジェクタ（第２噴射弁、燃料噴射弁：アクチュエータ）
２４          低圧ポンプ（燃料ポンプ：アクチュエータ）
２５          高圧ポンプ（燃料ポンプ：アクチュエータ）
５００        ＥＣＵ
５１０        要求発生階層
５２０        物理量調停階層
５３０        制御量設定階層
５４０        制御量調停階層
５４３        噴射機能調停部
５４３ａ〜５４３ｇ    第１〜７の調停部（噴射制御調停部）
５５０        制御出力階層
５５３        制御出力部（インジェクタ駆動制御部：噴射弁駆動制御部）
【図１】
2014214627.tif 000003
【図２】
2014214627.tif 000004
【図３】
2014214627.tif 000005
【図４】
2014214627.tif 000006
【図５】
2014214627.tif 000007
【図６】
2014214627.tif 000008
【図７】
2014214627.tif 000009
【図８】
2014214627.tif 000010
【図９】
2014214627.tif 000011
【図１０】
2014214627.tif 000012
【図１１】
2014214627.tif 000013