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