(57)【特許請求の範囲】
【請求項１】
吸気通路に配置されたインタークーラと、前記吸気通路における前記インタークーラの下流側に配置されたスロットルと、を備え、エンジンモデルを用いて前記スロットルの開度の予測演算を行う内燃機関の制御装置であって、
複数のコアが搭載されたマルチコアプロセッサを有し、内燃機関の動作に関わる種々の演算のタスクを前記複数のコアに割り当てて並列に演算を行う演算手段と、
前記内燃機関の所定時間先の燃料噴射量および機関回転数を推定する推定手段と、
前記推定手段により推定された燃料噴射量および機関回転数に基づいて、所定時間先における前記スロットルの開度状況を予測する予測手段と、
前記予測手段によって予測された所定時間先における前記スロットルの開度が全開である場合に、全開への作動前に比して前記演算手段に用いるコア数を減ずる制御手段と、
を備えることを特徴とする内燃機関の制御装置。
【請求項２】
前記制御手段は、前記スロットルの開度を全開から閉方向へ作動させる場合に、作動前に比して前記演算手段に用いるコア数を増加させることを特徴とする請求項１記載の内燃機関の制御装置。
【請求項３】
前記演算手段は、前記エンジンモデルを用いた予測演算のタスクを、前記複数のコアから指定された１または複数の指定コアに割り当てる割当手段と、を含み、
前記制御手段は、前記スロットルの開度を全開に作動させる場合に、前記指定コアを停止させることを特徴とする請求項１又は２記載の内燃機関の制御装置。
【請求項４】
前記演算手段は、前記エンジンモデルを用いた予測演算として、前記インタークーラのダイナミクスに関連する演算を行うことを特徴とする請求項１乃至３の何れか１項に記載の内燃機関の制御装置。
【請求項５】
前記推定手段は、アクセル開度から計算した目標燃料噴射量の変化に対して実燃料噴射量の変化を所定時間遅らせるディレイ制御を実施し、将来において達成される燃料噴射量を予測することを特徴とする請求項１乃至４の何れか１項に記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、内燃機関の制御装置に係り、特に、複数のコアを有するマルチコアプロセッサを用いて演算を行う内燃機関の制御装置に関する。
【背景技術】
【０００２】
従来、例えば特開２００８−２６９４８７号公報に開示されるように、マルチコア構成およびキャッシュメモリ搭載構成の少なくとも一方が採用されたマイクロコンピュータを備えたエンジン制御用電子制御装置において、エンジン停止中の消費電力を低減するための技術が開示されている。ＣＰＵコアおよびキャッシュメモリは、何れもマイクロコンピュータにおいて消費電力の大きい要素である。そこで、上記従来の技術では、エンジン動作中は、ＣＰＵコアおよびキャッシュメモリをフルに使用して最高の処理能力を発揮させるモードが選択されるとともに、エンジンの停止中は、ＣＰＵコアの使用数やキャッシュメモリの使用量をエンジン動作時よりも減ずるためのモードが選択される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２６９４８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、近年の制御モデルを用いた内燃機関のモデルベース制御では、複数のコアを有するマルチコアプロセッサを用いて並列演算処理を行うことにより、演算の高速化を図ることができる。但し、使用コア数が増加すると演算負荷が増加し、これに伴い消費電力も増加する傾向がある。このため、消費電力の低減の観点からは、演算負荷に応じた効率的な演算資源配分を行うことが好ましい。この点、上述した従来の装置では、エンジン動作中の演算資源配分については何ら考慮されておらず、未だ改良の余地を残すものであった。
【０００５】
この発明は、上述のような課題を解決するためになされたもので、複数のコアを有するマルチコアプロセッサを用いて演算処理を行う内燃機関において、内燃機関の演算負荷に応じた効率的な使用コア配分を行うことのできる内燃機関の制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
第１の発明は、上記の目的を達成するため、吸気通路に配置されたインタークーラと、前記吸気通路における前記インタークーラの下流側に配置されたスロットルと、を備え、エンジンモデルを用いて前記スロットルの開度の予測演算を行う内燃機関の制御装置であって、
複数のコアが搭載されたマルチコアプロセッサを有し、内燃機関の動作に関わる種々の演算のタスクを前記複数のコアに割り当てて並列に演算を行う演算手段と、
前記スロットルの開度を全開に作動させる場合に、全開への作動前に比して前記演算手段に用いるコア数を減ずる制御手段と、
前記内燃機関の所定時間先の燃料噴射量および機関回転数を推定する推定手段と、
前記推定手段により推定された燃料噴射量および機関回転数に基づいて、所定時間先における前記スロットルの開度状況を予測する予測手段と、
前記予測手段によって予測された所定時間先における前記スロットルの開度が全開である場合に、全開への作動前に比して前記演算手段に用いるコア数を減ずる制御手段と、
を備えることを特徴としている。
【０００８】
第２の発明は、第１の発明において、
前記制御手段は、前記スロットルの開度を全開から閉方向へ作動させる場合に、作動前に比して前記演算手段に用いるコア数を増加させることを特徴としている。
【０００９】
第３の発明は、第１又は第２の発明において、
前記演算手段は、前記エンジンモデルを用いた予測演算のタスクを、前記複数のコアから指定された１または複数の指定コアに割り当てる割当手段と、を含み、
前記制御手段は、前記スロットルの開度を全開に作動させる場合に、前記指定コアを停止させることを特徴としている。
【００１０】
第４の発明は、第１乃至第３の何れか１つの発明において、
前記演算手段は、前記エンジンモデルを用いた予測演算として、前記インタークーラのダイナミクスに関連する演算を行うことを特徴としている。
【００１２】
第５の発明は、第１乃至第４の何れか１つの発明において、
前記推定手段は、アクセル開度から計算した目標燃料噴射量の変化に対して実燃料噴射量の変化を所定時間遅らせるディレイ制御を実施し、将来において達成される燃料噴射量を前記目標スロットル開度から予測することを特徴としている。
【発明の効果】
【００１３】
第１の発明によれば、スロットルの開度を全開に作動させる場合に、作動前に比して使用コア数が減らされる。スロットル開度が全開に作動されている場合には、インタークーラのエネルギ保存則および質量保存則を表す微分方程式を解く必要がないため、解くべきモデル式の次数が作動前に比して減少する。このため、本発明によれば、演算負荷の減少に応じて使用コア数を減らすことができるので、内燃機関の演算負荷に応じた効率的な使用コア配分を行うことが可能となる。
また、本発明によれば、所定時間先の燃料噴射量および機関回転数に基づいて、所定時間先のスロットルの開度状況が予測される。このため、本発明によれば、スロットル開度が全開となる時期を前もって把握することができるので、内燃機関の将来の演算負荷に応じた効率的な使用コア配分を事前に行うことが可能となる。
【００１５】
第２の発明によれば、スロットルの開度が全開から閉方向へ作動される場合に、作動前に比して使用コア数が増加される。このため、本発明によれば、解くべきモデル次数の増加に応じて使用コア数を増加させることができるので、内燃機関の演算負荷に応じた効率的な使用コア配分を行うことが可能となる。
【００１６】
第３の発明によれば、エンジンモデルを用いたスロットル開度の予測演算のタスクが指定コアに割り当てられ、スロットル開度が全開に作動される場合に当該指定コアの使用が停止される。このため、本発明によれば、スロットル開度の全開時に不要となるモデル予測演算を効率的に停止して、装置全体として演算資源を有効に配分することができる。
【００１７】
第４の発明によれば、インタークーラのダイナミクスに関連する演算のタスクが１または複数の指定コアに割り当てられる。そして、スロットルの開度が全開に作動される場合に、当該指定コアの使用が停止される。このため、本発明によれば、スロットル開度の全開時に不要となる演算を有効に停止して、内燃機関の演算負荷に応じた効率的な使用コア配分を行うことが可能となる。
【００１９】
第５の発明によれば、燃料噴射量のディレイ制御を行うことにより、将来において達成される燃料噴射量を予測することができるので、予測された燃料噴射量を用いて、所定時間先のスロットルの開度状況を事前に把握することが可能となる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施の形態としての内燃機関システムの概略構成を説明するための図である。
【図２】本発明の実施の形態１において実行されるルーチンのフローチャートである。
【図３】本発明の実施の形態２において実行されるルーチンのフローチャートである。
【発明を実施するための形態】
【００２１】
以下、図面に基づいてこの発明の実施の形態について説明する。尚、各図において共通する要素には、同一の符号を付して重複する説明を省略する。また、以下の実施の形態によりこの発明が限定されるものではない。
【００２２】
実施の形態１．
［実施の形態１の構成］
図１は、本発明の実施の形態としての内燃機関システムの概略構成を説明するための図である。図１に示すとおり、本実施の形態のシステムは、複数気筒（図１では４気筒）を有する４サイクルの内燃機関１０を備えている。内燃機関１０は車両に搭載され、その動力源とされているものとする。
【００２３】
内燃機関１０の各気筒には、燃料を筒内に直接噴射するためのインジェクタ１２が設置されている。各気筒のインジェクタ１２は、共通のコモンレール１４に接続されている。図示しない燃料タンク内の燃料は、サプライポンプ１６によって所定の燃圧まで加圧されて、コモンレール１４内に蓄えられ、コモンレール１４から各インジェクタ１２に供給される。
【００２４】
内燃機関１０の排気通路１８は、排気マニホールド２０により枝分かれして、各気筒の排気ポート（図示せず）に接続されている。排気通路１８は、ターボ過給機２４の排気タービンに接続されている。排気通路１８におけるターボ過給機２４の下流側には、排気ガスを浄化するための後処理装置２６が設けられている。
【００２５】
内燃機関１０の吸気通路２８の入口付近には、エアクリーナ３０が設けられている。エアクリーナ３０を通って吸入された空気は、ターボ過給機２４の吸気圧縮機で圧縮された後、インタークーラ３２で冷却される。インタークーラ３２を通過した吸入空気は、吸気マニホールド３４により各気筒の吸気ポート（図示せず）に分配される。
【００２６】
吸気通路２８におけるインタークーラ３２と吸気マニホールド３４との間には、ディーゼルスロットル３６が設置されている。また、吸気通路２８におけるエアクリーナ３０の下流近傍には、吸入空気量を検出するためのエアフローメータ５２が設置されている。
【００２７】
本実施の形態のシステムは、図１に示すとおり、ＥＣＵ(Electronic Control Unit)５０を備えている。ＥＣＵ５０は、ｎ個のコア（core_1〜core_n）が搭載されたプロセッサを有するマルチコアＥＣＵとして構成され、各コアの使用・停止をそれぞれ独立して制御することができる。ＥＣＵ５０の入力部には、上述したエアフローメータ５２の他、アクセルペダルの踏み込み量（アクセル開度）を検出するためのアクセルポジションセンサ５４、内燃機関１０のクランク角度を検出するためのクランク角センサ５６等、内燃機関１０を制御するための各種センサが接続されている。また、ＥＣＵ５０の出力部には、上述したインジェクタ１２、ディーゼルスロットル３６の他、内燃機関１０を制御するための各種アクチュエータが接続されている。ＥＣＵ５０は、入力された各種の情報に基づいて、各種アクチュエータを駆動するための所定の制御アルゴリズムを実行する。
【００２８】
［本実施の形態１の特徴的動作］
次に、本実施の形態１の特徴的動作について説明する。本実施の形態にかかる内燃機関１０は、その動作を制御するためのアクチュエータとして、例えば、インジェクタ１２、ディーゼルスロットル３６等の内燃機関１０を制御するための各種アクチュエータを備えている。本実施の形態の制御装置は、いわゆるモデルベース制御によって内燃機関を制御するものであり、モデル予測を多用して制御状態を推定し、上述した種々のアクチュエータの制御量を決定する。
【００２９】
本実施の形態のシステムでは、ディーゼルエンジンの吸気量制御がモデルベース制御によって実現される。具体的には、ＥＣＵ５０は、インタークーラ３２のダイナミクスを演算することによって、吸気に関連する出力（例えば、スロットル開度）を予測する吸気モデルを実装している。尚、吸気モデルのモデル構成については、既に多くの文献が公知であるため、その詳細な説明を省略する。
【００３０】
また、マルチコアＥＣＵを備える本実施の形態のシステムにおいては、複数のコアの中から選択された１または複数の指定コアにおいて上記モデルベース制御が実行される。尚、指定コアは当該過給予測演算を専用に行うためのコアとして選択されたコアであって、システムのコア使用状況等を考慮して、演算資源を有効に活用しうるコア数に設定されることが好ましい。また、複数の指定コアを用いた並列演算処理を行う場合には、例えばＯＳＣＡＲ（Optimally Scheduled Advanced Multiprocessor）等の公知の並列化コンパイラを用いて、過給モデルの過給予測演算アルゴリズムを分割し、各指定コアにタスクを振り分ける。このように、並列演算処理を行うこととすると、単一のコアで逐次演算処理を行う場合に比して演算負荷が有効に軽減される。
【００３１】
ここで、上述したモデルベース制御において、ディーゼルスロットル３６の全開時には、インタークーラの質量保存則やエネルギ保存則といったダイナミクス演算を解く必要性がない。したがって、このような場合においては、上記演算を停止しても特に問題はなく、むしろこれらの演算を停止した方が演算負荷軽減の観点から好ましい。
【００３２】
そこで、本実施の形態のシステムでは、ディーゼルスロットル３６が全開に作動されている場合には、演算に使用するコア数を減ずることとする。具体的には、複数のコアの中から指定された１または複数の指定コアに、上述した吸気モデルを用いたスロットル開度の予測演算のタスクを割り当てておき、ディーゼルスロットル３６が全開に作動されている期間は、当該モデルの割り当てられた指定コアを停止することとする。これにより、不要な演算が行われるコアを有効に停止することができるので、残された演算資源を有効に配分することにより、システム全体として演算負荷の軽減を図ることができる。これにより、タスク抜けを回避して内燃機関の制御を高精度に実現することができる。
【００３３】
また、本実施の形態のシステムでは、ディーゼルスロットル３６が全開から閉方向に作動された時点で、上記停止されたコアでの演算を再度開始することとする。これにより、モデル予測演算の開始に伴う演算負荷の増加を、使用コア数を増加させることで有効に補うことができる。
【００３４】
［実施の形態１における具体的処理］
次に、図２を参照して、本実施の形態において実行する処理の具体的内容について説明する。図２は、ＥＣＵ５０が、演算に使用する使用コア数の増減を行うルーチンのフローチャートである。尚、図２に示すルーチンは、内燃機関１０の運転中に繰り返し実行されるものとする。また、図２に示すルーチンを実行する前提として、ここでは、吸気モデルを用いたスロットル開度の予測演算を行う１または複数の指定コアが既に選択され、当該予測演算のタスクがこれらの指定コアに割り当てられているものとする。
【００３５】
図２に示すルーチンでは、先ず、ディーゼルスロットル３６が全開に作動されているか否かが判定される（ステップ１００）。その結果、ディーゼルスロットル３６が全開中と判定された場合には、スロットル開度のモデル予測演算が不要となると判断されて、次のステップに移行し、当該スロットル開度のモデル予測演算が割り当てられた指定コアが停止される（ステップ１０２）。一方、上記ステップ１００において、ディーゼルスロットルが全開中でないと判定された場合には、当該スロットル開度のモデル予測演算が指定コアによって実行される（ステップ１０４）。
【００３６】
以上説明したとおり、本実施の形態のシステムによれば、ディーゼルスロットル３６が全開に作動されている場合には、スロットル開度のモデル予測演算が割り当てられたコアが停止される。これにより、不要な演算が行われるコアを有効に停止することができるので、残された演算資源を有効に配分することにより、システム全体として演算負荷の軽減を図ることができる。
【００３７】
ところで、上述した実施の形態においては、ディーゼルスロットル３６が全開に作動されている場合に、当該スロットル開度のモデル予測演算が割り当てられた指定コアを停止することとしているが、停止可能なコアは当該指定コアに限らない。すなわち、ディーゼルスロットル３６の全開中には、モデル予測演算に関する演算負荷が少なからず減少する。このため、ディーゼルスロットル３６の全開中に何れかのコアを停止し、残された使用コアに停止されたコアのタスクを振り分けることで、使用コアを減らしつつ内燃機関の演算負荷に応じた効率的な使用コア配分を行うことが可能となる。
【００３８】
また、上述した実施の形態１においては、ディーゼルスロットル３６の全開中に不要となる演算として、エンジンモデルを用いたスロットル開度の予測演算を例示したが、ディーゼルスロットル３６の全開中に不要となる他のモデル演算に対しても適用することができる。
【００３９】
実施の形態２．
［実施の形態２の特徴］
次に、図３を参照して、本発明の実施の形態２について説明する。本実施の形態２は、図１に示すシステムを用いて、後述する図３に示すルーチンを実行することにより実現することができる。
【００４０】
上述した実施の形態１のシステムでは、現在のディーゼルスロットル３６の開度に基づいて、ＥＣＵ５０の使用コア数を増減させることとしている。しかしながら、内燃機関１０の過渡運転時においては、使用コア数の増減がディーゼルスロットル３６の開度変化のタイミングに間に合わず、演算処理にタスク抜け等の演算不具合が発生することや不要な演算が継続されることも想定される。
【００４１】
そこで、本実施の形態２のシステムでは、将来の運転条件として、例えば３２ｍｓ将来の燃料噴射量および機関回転数を予測する。具体的には、アクセル開度等から計算した目標燃料噴射量の変化に対してインジェクタ１２の実燃料噴射量の変化を遅らせるディレイ制御を実施し、将来において達成される燃料噴射量（すなわちエンジン負荷）を予測する。また、運転条件のパラメータを用いて計算された図示トルクおよび補機トルクとフリクショントルクの合算値を用いてクランクシャフトの回転速度を算出し、将来おいて達成される機関回転数を予測する。そして、ディーゼルスロットル３６のベースマップにて規定されている開度情報を参照し、これらの運転条件が全開に対応する領域に属する場合には、将来において達成される運転条件によってディーゼルスロットル３６が全開に作動されると判断することができる。したがって、この場合に吸気モデルのスロットル開度予測演算が割り当てられた指定コアを停止することとすれば、不要な演算が行われるコアを有効に停止することができる。これにより、残された演算資源を有効に配分することができるので、システム全体として演算負荷の軽減を図るとともに、タスク抜けを回避して内燃機関の制御を高精度に実現することができる。
【００４２】
尚、本実施の形態のシステムでは、将来において達成される運転条件によってディーゼルスロットル３６が全開から閉方向に作動されると判断された時点で、上記停止されたコアでの演算を再度開始することとする。これにより、吸気モデルの予測演算の開始に伴う演算負荷の増加を、使用コア数を増加させることで有効に補うことができる。
【００４３】
［実施の形態２における具体的処理］
次に、図３を参照して、本実施の形態において実行する処理の具体的内容について説明する。図３は、ＥＣＵ５０が、演算に使用する使用コア数の増減を行うルーチンのフローチャートである。尚、図３に示すルーチンは、内燃機関１０の運転中に繰り返し実行されるものとする。また、図３に示すルーチンを実行する前提として、ここでは、吸気モデルを用いたスロットル開度の予測演算を行う１または複数の指定コアが既に選択され、当該予測演算のタスクがこれらの指定コアに割り当てられているものとする。
【００４４】
図３に示すルーチンでは、先ず、３２ｍｓ将来の機関回転数および燃料噴射量が予測される（ステップ２００）。ここでは、具体的には、ＥＣＵ５０は、アクセルポジションセンサ５４により計測されたアクセル開度から目標燃料噴射量を計算し、目標燃料噴射量の変化に対してインジェクタ１２の実燃料噴射量の変化を遅らせるディレイ制御を実施することによって、３２ｍｓ将来において達成される燃料噴射量を予測する。
【００４５】
また、ＥＣＵ５０は、現在の運転条件のパラメータを用いて、図示トルクτ、およびフリクショントルクと補機トルクの合算値τｆを計算する。フリクショントルクは、ピストンとシリンダ内壁との摩擦など各勘合部の機械的な摩擦によるトルクであり、また、補機トルクは、補機類の機械的な摩擦によるトルクである。合算値τｆは、例えば、機関運転状態と合算値τｆとの間の関係を規定したマップを用いて特定することができる。そして、運動方程式に則った次式（１）に、計算した図示トルクτおよびフリクショントルクと補機トルクの合算値τｆを代入することで、クランクシャフトの角加速度ｄω／ｄｔを算出する。
Ｉ・ｄω／ｄｔ＝τ−τｆ  ・・・（１）
【００４６】
尚、Ｉは混合気の燃焼によって駆動される部材（クランクシャフト等）の慣性モーメント（イナーシャ）であり、内燃機関１０のハード構成に基づいて決定される定数である。そして、角加速度ｄω／ｄｔから求めたクランクシャフトの回転速度ωを用いて、３２ｍｓ将来の機関回転数を算出する。
【００４７】
次に、３２ｍｓ将来においてディーゼルスロットル３６が全開に作動されるか否かが判定される（ステップ２０２）。ここでは、具体的には、上記ステップ２００において予測された３２ｍｓ将来の運転条件が、ディーゼルスロットル３６の全開領域に属するか否かが判定される。その結果、３２ｍｓ将来の運転条件がディーゼルスロットル３６の全開領域に属すると判定された場合には、吸気モデルを用いたスロットル開度の予測演算が将来に不要となると判断されて、次のステップに移行し、当該モデル予測演算が割り当てられた指定コアが停止される（ステップ２０４）。一方、上記ステップ２０２において、３２ｍｓ将来の運転条件がディーゼルスロットル３６の全開領域に属していないと判定された場合には、当該モデル予測演算が指定コアによって実行される（ステップ２０６）。
【００４８】
以上説明したとおり、本実施の形態のシステムによれば、ディーゼルスロットル３６が将来に全開に作動される場合には、吸気モデルを用いたスロットル開度の予測演算が割り当てられたコアが停止される。これにより、不要な演算が行われるコアを有効に停止することができるので、残された演算資源を有効に配分することにより、システム全体として演算負荷の軽減を図ることができる。
【００４９】
ところで、上述した実施の形態においては、ディーゼルスロットル３６が将来に全開に作動される場合に当該スロットル開度のモデル予測演算が割り当てられた指定コアを停止することとしているが、停止可能なコアは当該指定コアに限らない。すなわち、ディーゼルスロットル３６の全開中は、吸気モデルの予測演算に関する演算負荷が少なからず減少する。このため、ディーゼルスロットル３６が全開に作動される場合に何れかのコアを停止し、残された使用コアに停止されたコアのタスクを振り分けることで、使用コアを減らしつつ内燃機関の演算負荷に応じた効率的な使用コア配分を行うことが可能となる。
【００５０】
また、上述した実施の形態においては、将来の運転条件として燃料噴射量と機関回転数を予測し、これらに基づきディーゼルスロットル３６の将来の開度を予測することとしているが、ディーゼルスロットル３６の将来の開度を予測する方法はこれに限られない。すなわち、例えば、予測に必要な運転条件として将来の燃料噴射量のみを用いてもよいし、また、他の運転条件を用いた公知の手法によりディーゼルスロットル３６の将来の開度を予測することとしてもよい。
【００５１】
また、上述した実施の形態においては、アイドル運転からの復帰時に不要となる演算として、過給モデルを用いたスロットル開度の予測演算を例示したが、ディーゼルスロットル３６の全開中に不要となる他のモデル演算に対しても適用することができる。
【符号の説明】
【００５２】
１０  内燃機関（エンジン）
１２  インジェクタ
１８  排気通路
２８  吸気通路
３２  インタークーラ
３６  ディーゼルスロットル
５０  ＥＣＵ（Electronic Control Unit）
５４  アクセルポジションセンサ
５６  クランク角センサ
【図１】
0005853752.tif 000002
【図２】
0005853752.tif 000003
【図３】
0005853752.tif 000004