(57)【要約】【課題】複数のコアを有するマルチコアプロセッサを用いて複数の噴射形態のそれぞれに対応する演算モデルを処理する際に、演算処理の高速化と演算処理の精度確保を両立させる。【解決手段】本実施の形態においては、各燃焼サイクルにおいてパイロット噴射量Ｑｐｉｌｏｔ、プレ噴射量Ｑｐｒｅ、メイン噴射量Ｑｍａｉｎ、アフター噴射量Ｑａｆｔｅｒおよびポスト噴射量Ｑｐｏｓｔの演算モデルのモデル式を時間軸方向に配列し、配列後のモデル式の計算期間が重複するか否か、或いは、配列後のモデル式の入力パラメータが共通するか否かによって、上記演算モデルのモデル式の計算を担うコア１０２の数を変更する。【選択図】図２
2015214923.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の気筒内に、１燃焼サイクル中に噴射形態の異なる燃料噴射を複数回実行可能なインジェクタと、
前記インジェクタからの燃料噴射に関する演算を、複数の噴射形態のそれぞれに対応させて設定した演算モデルに基づいて計算するための複数のコアを備える演算装置と、
を備え、
前記演算装置は、各サイクルにおいて前記演算モデルのそれぞれを時間軸方向に配列し、配列後の演算モデルの計算期間のうちの少なくとも２つが重複する場合には、重複する演算モデルについては異なるコアにおいて計算すると共に非重複の演算モデルについては入力パラメータが共通する演算モデルを同一のコアにおいて計算するように演算モデルのコア振り分けを行い、配列後の演算モデルの計算期間が非重複の場合には、演算モデルの全てを同一のコアにおいて計算するように演算モデルのコア振り分けを行うと共に演算モデルの計算を行わない他のコアを休止させるように構成されていることを特徴とする内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は内燃機関の制御装置に関し、特に、複数のコアを有するマルチコアプロセッサを用いて演算を行う内燃機関の制御装置に関する。
【背景技術】
【０００２】
従来、例えば特許文献１には、内燃機関に供給する燃料噴射量を演算するマイクロプロセッサ内に複数のコアを設け、複数のコアのそれぞれに異なる機能を分担させると共に、その内の１個のコアに残りのコアの異常監視機能とフェールセーフ機能とを持たせた制御装置が開示されている。この制御装置によれば、マイクロプロセッサの自己診断が可能となるため、異常監視専用のＩＣを不要として、装置の小型化を実現できる。
【０００３】
また、特許文献２には、複数のコアを用いて内燃機関のモデルベース制御に係る演算を並列処理する制御装置において、吸気バルブおよび排気バルブの少なくとも一方のバルブタイミングの操作量（進角量または遅角量）を算出するための演算モデルを、当該複数のコアの内の指定コアに割り当てると共に、バルブタイミングを操作する可変動弁機構の動作が停止された場合に当該指定コアを停止させる制御装置が開示されている。この制御装置によれば、不要な演算が行われるコアを停止できるので、残された演算資源を有効に配分することによりシステム全体として演算負荷の軽減を図ることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−００１８７２号公報
【特許文献２】特開２０１３−０９２１０８号公報
【特許文献３】特開２０１３−０８３１６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、１つのインジェクタを１燃焼サイクル内に複数回動作させて複数の噴射形態を実現する制御を行う場合、上述した複数のコアを用いれば各噴射形態に対応する演算モデルを並列的に処理できるので、演算の高速化を図ることができる。その一方で、これらの演算モデルの処理時に使用するコア数が増加すれば演算負荷が増加することから、消費電力も増加する傾向がある。また、これらの演算モデルの処理時に使用するコア数が増加すればコア間での通信時間のロスが発生することから、演算処理の高速化を優先する代わりに演算処理の精度を落とさなければならない場合が生じる。
【０００６】
本発明は、上述のような課題に鑑みなされたものである。すなわち、複数のコアを有するマルチコアプロセッサを用いて複数の噴射形態のそれぞれに対応する演算モデルを処理する際に、演算処理の高速化と演算処理の精度確保を両立させることを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、内燃機関の気筒内に、１燃焼サイクル中に噴射形態の異なる燃料噴射を複数回実行可能なインジェクタと、
前記インジェクタからの燃料噴射に関する演算を、複数の噴射形態のそれぞれに対応させて設定した演算モデルに基づいて計算するための複数のコアを備える演算装置と、
を備え、
前記演算装置は、各サイクルにおいて前記演算モデルのそれぞれを時間軸方向に配列し、配列後の演算モデルの計算期間のうちの少なくとも２つが重複する場合には、重複する演算モデルについては異なるコアにおいて計算すると共に非重複の演算モデルについては入力パラメータが共通する演算モデルを同一のコアにおいて計算するように演算モデルのコア振り分けを行い、配列後の演算モデルの計算期間が非重複の場合には、演算モデルの全てを同一のコアにおいて計算するように演算モデルのコア振り分けを行うと共に演算モデルの計算を行わない他のコアを休止させるように構成されていることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、複数のコアを有するマルチコアプロセッサを用いて複数の噴射形態のそれぞれに対応する演算モデルを処理する際に、演算処理の高速化と演算処理の精度確保を両立させることができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態の制御装置の構成の概略を示す図である。
【図２】実施の形態における演算例を示した図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態の内燃機関の制御装置について図を用いながら説明する。
【００１１】
本実施の形態の制御装置は、過給機およびＥＧＲシステムを備える自動車用多気筒エンジンの燃料噴射制御に係る演算を、マルチコアタイプのプロセッサを用いて並列的に処理する機能を備えている。図１は、本実施の形態の制御装置の構成の概略を示す図である。制御装置としてのＥＣＵ１０には、エンジンに備えられる各種のセンサ１２から当該エンジンの運転状態や運転環境に関する各種のパラメータが入力される。演算装置としてのＥＣＵ１０は、それらのパラメータに基づいてエンジンの各気筒に設けられたインジェクタ１４に指示する制御目標値（噴射量、噴射時期）を演算する。
【００１２】
図１に示すように、ＥＣＵ１０は複数のコア１０２を備えている。コア１０２の数は少なくとも３個である。コア１０２のそれぞれは、ＣＰＵ１０４とキャッシュ１０６とを備えている。ローカルメモリ１０８には、ＣＰＵ１０４で実行される各種のプログラムとそのプログラムの実行時に使用される各種のデータが記憶されている。コア１０２同士はバス１１０で接続されている。バス１１０を経由してコア１０２間での通信が行われる。図示は省略するが、バス１１０にはコア間で共有されるキャッシュも接続されている。
【００１３】
センサ１２からＥＣＵ１０に入力されるパラメータには、エンジン回転数ＮＥ、エンジン水温ＴＨＷ、吸気温度ＴＨＡ、吸気圧力Ｐａ、筒内圧力Ｐｃｙｌ、過給圧Ｐｍが含まれる。インジェクタ１４は、ＥＣＵ１０から出力される制御目標値に基づいて、１燃焼サイクル内に５段階の燃料噴射を行う。５段階の燃料噴射は、トルク制御を目的としたメイン噴射、燃焼騒音の低減を目的としたパイロット噴射およびプレ噴射、排気温度制御を目的としたアフター噴射並びに空燃比制御を目的としたポスト噴射である。
【００１４】
１燃焼サイクル当たり合計５回の燃料噴射を行うため、本実施の形態では、噴射形態に対応して設定された演算モデルのモデル式が、コア１０２の一部または全部に割り振られる。モデル式が割り振られたコア１０２は、そのモデル式に従った計算を行う。各燃焼サイクルにおいて、モデル式の計算は、（１）パイロット噴射、（２）プレ噴射、（３）アフター噴射、（４）メイン噴射、（５）ポスト噴射の順に開始される。また、インジェクタ１４からは、（１）パイロット噴射、（２）プレ噴射、（３）メイン噴射、（４）アフター噴射、（５）ポスト噴射に対応する燃料が、この順に噴射される。
【００１５】
パイロット噴射量Ｑｐｉｌｏｔ、プレ噴射量Ｑｐｒｅ、メイン噴射量Ｑｍａｉｎ、アフター噴射量Ｑａｆｔｅｒおよびポスト噴射量Ｑｐｏｓｔの演算モデルのモデル式は式（１）〜（５）によって表される。
【数１】
2015214923.tif 000003
【００１６】
なお、各式においてｋはサイクル数、ｎは各燃焼サイクルにおける気筒の燃焼順序を表している。また、Ｑｐｉｌｏｔ＿ｂａｓｅ（ｋ，ｎ）は、ｋサイクル、ｎ番気筒（燃焼順序）のパイロット噴射量のベース噴射量を、Ｑｐｒｅ＿ｂａｓｅ（ｋ，ｎ）はｋサイクル、ｎ番気筒（燃焼順序）のプレ噴射量のベース噴射量を、Ｑａｆｔｅｒ＿ｂａｓｅ（ｋ，ｎ）はｋサイクル、ｎ番気筒（燃焼順序）のアフター噴射量のベース噴射量を、それぞれ表している。また、τｐｉｌｏｔ（ｋ，ｎ）はｋサイクル、ｎ番気筒（燃焼順序）のパイロット噴射量の噴射時期を、τｐｒｅ（ｋ，ｎ）はｋサイクル、ｎ番気筒（燃焼順序）のプレ噴射量の噴射時期を、それぞれ表している。また、ＡＦＲｒｑは要求空燃比、ＥＧＲはＥＧＲ率、ｉは燃料噴射回数を示している。なお、要求空燃比ＡＦＲｒｑ、ＥＧＲ率、噴射時期τは、式（１）〜（５）のモデル式の計算を担うコア１０２とは異なるコア１０２によって計算される。
【００１７】
各噴射形態に対応する演算モデルのモデル式は合計５つであることから、各モデル式の計算をそれぞれ異なるコア１０２に割り振れば、全てのモデル式の計算を並列的に行うことができ、演算全体の処理を高速化できる。しかし、使用コア数が増加すれば演算負荷が増加することから、消費電力も増加する傾向がある。また、式（２）や（３）に示したように、プレ噴射量Ｑｐｒｅやメイン噴射量Ｑｍａｉｎの計算においては、他の燃料噴射量の計算結果を利用する。他の燃料噴射量の計算結果を利用するためには、バス１１０を経由してコア１０２間でデータを受け渡す必要があり通信時間ロスが生じる。通信時間ロスを考慮する場合には、例えば、解くべきモデル式の次数を減らした簡易なモデル式を実装する必要がある。しかし、簡易なモデル式を実装すると、燃料噴射量の計算の精度が低下するという新たな問題が生じる。
【００１８】
そこで、本実施の形態においては、各燃焼サイクルにおいて式（１）〜（５）のモデル式を時間軸方向に配列し、配列後のモデル式の計算期間が重複するか否か、或いは、配列後のモデル式の入力パラメータが共通するか否かによって、式（１）〜（５）のモデル式の計算を担うコア１０２の数を変更する。このコア数の変更について、図２を参照しながら説明する。なお、図２に示す矢印の幅は各モデル式の計算期間に相当し、矢印の右隣に示す星印は各モデル式での計算結果を踏まえてインジェクタ１４に噴射指示を行ったタイミングに相当する。
【００１９】
図２（ａ）は、エンジン回転数ＮＥが高い運転条件（例えば６０００ｒｐｍ）における演算例を示した図である。高エンジン回転数条件では、単位時間当たりに進むクランク角が大きいので、プレ噴射量Ｑｐｒｅ、アフター噴射量Ｑａｆｔｅｒおよびメイン噴射量Ｑｍａｉｎのモデル式（つまり、式（２）、（３）および（４）のモデル式）の計算期間が重複する。モデル式の計算期間が重複していると、同一コアでの計算負荷が増加しこれらの算出速度が低下し、燃料噴射量の算出が間に合わなくなる可能性がある。これに対し、パイロット噴射量Ｑｐｉｌｏｔとプレ噴射量Ｑｐｒｅ（つまり、式（１）および（２）のモデル式）や、メイン噴射量Ｑｍａｉｎとポスト噴射量Ｑｐｏｓｔ（つまり、式（３）および（５）のモデル式）は、モデル式の計算期間が重複していないので、モデル式の計算を同一のコアに担わせたとしても各燃料噴射量を速やかに算出できる。
【００２０】
そこで、このような場合においては、パイロット噴射量Ｑｐｉｌｏｔとプレ噴射量Ｑｐｒｅのモデル式をコア１０２のうちの１つ（コア１）において計算すると共に、メイン噴射量Ｑｍａｉｎとポスト噴射量Ｑｐｏｓｔのモデル式を別のコア１０２（コア３）において計算する。アフター噴射量Ｑａｆｔｅｒのモデル式は、また別のコア１０２（コア２）において計算する。式（１）や（２）に示したように、パイロット噴射量Ｑｐｉｌｏｔとプレ噴射量Ｑｐｒｅは筒内圧力Ｐｃｙｌを共通の入力パラメータとして有している。同様に、式（３）や（５）に示したように、メイン噴射量Ｑｍａｉｎとポスト噴射量Ｑｐｏｓｔは要求空燃比ＡＦＲｒｑを共通の入力パラメータとして有している。このように、共通の入力パラメータを有するモデル式の計算を同一のコアに担わせることで、各噴射形態に対応する演算モデルのモデル式の計算を担うコア数を減らすことができる。
【００２１】
ここで、高エンジン回転数条件では、単位時間当たりに進むクランク角が大きい（つまり、演算の速度要求が高い）が、爆発間隔が短いためトルク変動に対する要求が低い（つまり、演算の精度要求が低い）。従って、図２（ａ）の如くモデル式の計算をコア１〜コア３に分担させて、各燃料噴射量を確実に算出することは、高エンジン回転数条件での要求に沿ったものである。
【００２２】
なお、高エンジン回転数条件においては上記モデル式（１）〜（５）の計算に使用する状態量（エンジン回転数ＮＥ、エンジン水温ＴＨＷ、吸気温度ＴＨＡ等）や各種算出値（パイロット噴射量Ｑｐｉｌｏｔ、プレ噴射量Ｑｐｒｅ、噴射時期τｐｉｌｏｔ、噴射時期τｐｒｅ等）には、今回の燃焼サイクルにおける状態量や算出値ではなく、前回の燃焼サイクルにおける状態量や演算値を使用することが望ましい。前回の燃焼サイクルにおける状態量や演算値を使用することで、各燃料噴射量をより確実に算出できる。
【００２３】
図２（ｂ）は、エンジン回転数ＮＥが低い運転条件（具体的には、１５００ｒｐｍ）における演算例を示した図である。低エンジン回転数条件では、各モデル式の計算期間が重複しない。そこで、このような場合においては、コア１に式（１）〜（５）の全てのモデル式の計算を割り振り、コア２とコア３を休止させる。このように、式（１）〜（５）の全てのモデル式の計算をコア１に担わせることで、バス１１０を経由したデータ受け渡しによる通信時間ロスを無くし、尚且つ、今回の燃焼サイクルにおける状態量や演算値を使用して演算の精度要求を担保することができる。また、使用コア数を減らして消費電力を低減できる。
【００２４】
低エンジン回転数条件では、燃料噴射がクランク角を基準として制御されるため同じ演算に対する演算速度の制約が小さく、爆発間隔が長いためトルク変動に対する要求が高い（つまり、演算の精度要求が高い）。従って、図２（ｂ）の如くモデル式の計算をコア１に集約して各燃料噴射量の演算の精度要求を担保することは、低エンジン回転数条件での要求に沿ったものである。
【００２５】
以上、本実施の形態によれば、各燃焼サイクルにおいてモデル式を時間軸方向に配列し、配列後のモデル式の計算期間が重複しない場合には、単一のコア（コア１）に式（１）〜（５）の全てのモデル式の計算を割り振り、コア２とコア３を休止させることができる。従って、使用コア数を減らして消費電力を低減できる。また、配列後のモデル式の計算期間が重複する場合には、配列後のモデル式の入力パラメータが共通するモデル式の計算を同一のコア（コア１やコア３）に担わせることで、各噴射形態に対応する演算モデルのモデル式の計算を担うコア数を減らすことができる。従って、ＥＣＵ１０に搭載するコア数の低減によるコスト削減を図ることができる。
【符号の説明】
【００２６】
１０  ＥＣＵ
１２  センサ
１４  インジェクタ
１０２  コア
【図１】
2015214923.tif 000004
【図２】
2015214923.tif 000005