説明

内燃機関の制御装置

【課題】複数のコアを用いた並列演算処理が可能な内燃機関において、内燃機関の制御状態に応じて、演算処理の最適化を図ることのできる内燃機関の制御装置を提供する。
【解決手段】複数のコアが搭載されたプロセッサを有し、内燃機関の動作に関わる種々のタスクを演算する制御部と、複数のコアの中から演算に使用する少なくとも1つのコアを選択する選択手段と、選択手段により選択されたコアに前記タスクを分配して演算を行う演算手段と、内燃機関の機関回転数を取得する取得手段と、を備え、選択手段は、機関回転数が所定の閾値以上である場合には、閾値未満である場合に比して選択するコアの数を増加させる。好ましくは、所定時間先の機関回転数の将来値を推定し、当該将来値が所定の閾値以上である場合には、閾値未満である場合に比して選択するコアの数を増加させる。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、内燃機関の制御装置に係り、特に、複数のコアを有するプロセッサを用いて演算を行う内燃機関の制御装置に関する。
【背景技術】
【0002】
従来、例えば特表2009−541636号公報に開示されるように、複数の実行ユニット(コア)を有する内燃機関のエンジン制御部が知られている。このエンジン制御部では、複数の実行ユニットにタスクを分配することにより、並列演算処理が実行される。具体的には、性能向上のためのモードでは、異なるプログラムまたはタスクが並列処理される。また、信号処理の安全性を高めるためのモードでは、複数の実行ユニットが同一のプログラムを冗長に実行する並列演算処理が行われる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特表2009−541636号公報
【特許文献2】特開平6−139200号公報
【特許文献3】特開平3−80337号公報
【特許文献4】特開平8−166931号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、近年の制御モデルを用いた内燃機関においては、高回転域における演算負荷の増大が問題となっている。このため、演算負荷の高い制御領域では、複数のコアにタスクを分配して並列演算処理を行い、演算負荷を軽減することが好ましい。しかしながら、その一方で、演算負荷の低い制御領域では、発熱の抑制およびタスク分配による演算処理の複雑化回避の観点から、必要最低限のコア数に絞って演算処理を行うことが好ましい。しかしながら、上述した従来のシステムでは、並列演算処理において、内燃機関の制御状態に応じたタスク分配は行われていない。このため、高回転域におけるタスク抜けや低回転域における発熱等による演算不具合が生じるおそれがあり、未だ改良の余地を残すものであった。
【0005】
この発明は、上述のような課題を解決するためになされたもので、複数のコアを用いた並列演算処理が可能な内燃機関において、内燃機関の制御状態に応じて、演算処理の最適化を図ることのできる内燃機関の制御装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
第1の発明は、上記の目的を達成するため、内燃機関の制御装置であって、
複数のコアが搭載されたプロセッサを有し、内燃機関の動作に関わる種々のタスクを演算する制御部と、
前記複数のコアの中から前記演算に使用する少なくとも1つのコアを選択する選択手段と、
前記選択手段により選択されたコアに前記タスクを分配して演算を行う演算手段と、
前記内燃機関の機関回転数を取得する取得手段と、を備え、
前記選択手段は、前記機関回転数が所定の閾値以上である場合には、前記閾値未満である場合に比して選択するコアの数を増加させることを特徴としている。
【0007】
第2の発明は、第1の発明において、
前記取得手段は、前記内燃機関の現在の機関回転数を取得することを特徴としている。
【0008】
第3の発明は、第1の発明において、
前記取得手段は、前記内燃機関の機関回転数の所定時間先の将来値を推定する推定手段を含み、
前記演算手段は、前記将来値が所定の閾値以上である場合には、前記閾値未満である場合に比して選択するコア数を増加させることを特徴としている。
【発明の効果】
【0009】
第1の発明によれば、内燃機関の機関回転数が所定の閾値よりも大きい場合に、所定の閾値より小さい場合に比して使用コア数が増加される。このため、本発明によれば、演算負荷が低い制御領域では、使用するコアを制限することにより、発熱の抑制やタスク分配による演算処理の複雑化の回避を行うとともに、演算負荷が高くなる制御領域では、より複数のコアにタスクを分配して並列演算処理を行うことにより、演算負荷の増大によるタスク抜け等の演算不具合を有効に抑制することができる。
【0010】
第2の発明によれば、現在の機関回転数が取得され、係る機関回転数が所定の閾値以上となる場合に、使用コア数が増やされる。このため、本発明によれば、演算負荷の増減を正確に判断して使用コア数を増減させることができる。
【0011】
第3の発明によれば、所定時間先の機関回転数が推定され、係る機関回転数が所定の閾値以上となる場合に、使用コア数が増加される。このため、本発明によれば、演算負荷が高くなることを先読みして使用コア数を増加させることができるので、演算負荷の急激な増減に対しても、有効に対応することができる。
【図面の簡単な説明】
【0012】
【図1】本発明の実施の形態としての内燃機関システムの概略構成を説明するための図である。
【図2】本発明の実施の形態1において実行されるルーチンのフローチャートである。
【図3】本発明の実施の形態2において実行されるルーチンのフローチャートである。
【発明を実施するための形態】
【0013】
以下、図面に基づいてこの発明の実施の形態について説明する。尚、各図において共通する要素には、同一の符号を付して重複する説明を省略する。また、以下の実施の形態によりこの発明が限定されるものではない。
【0014】
実施の形態1.
[実施の形態1の構成]
図1は、本発明の実施の形態としての内燃機関システムの概略構成を説明するための図である。図1に示すとおり、本実施の形態のシステムは、複数気筒(図1では4気筒)を有する4サイクルの内燃機関10を備えている。内燃機関10は車両に搭載され、その動力源とされているものとする。
【0015】
以下、本実施形態では、本発明をディーゼル機関(圧縮着火内燃機関)の制御に適用した場合について説明するが、本発明はディーゼル機関に限定されるものではなく、ガソリン機関(火花点火内燃機関)、その他の各種の内燃機関の制御に適用することが可能である。
【0016】
内燃機関10の各気筒には、燃料を筒内に直接噴射するためのインジェクタ12が設置されている。各気筒のインジェクタ12は、共通のコモンレール14に接続されている。図示しない燃料タンク内の燃料は、サプライポンプ16によって所定の燃圧まで加圧されて、コモンレール14内に蓄えられ、コモンレール14から各インジェクタ12に供給される。
【0017】
内燃機関10の排気通路18は、排気マニホールド20により枝分かれして、各気筒の排気ポート(図示せず)に接続されている。排気通路18は、ターボ過給機24の排気タービンに接続されている。排気通路18におけるターボ過給機24の下流側には、排気ガスを浄化するための後処理装置26が設けられている。
【0018】
内燃機関10の吸気通路28の入口付近には、エアクリーナ30が設けられている。エアクリーナ30を通って吸入された空気は、ターボ過給機24の吸気圧縮機で圧縮された後、インタークーラ32で冷却される。インタークーラ32を通過した吸入空気は、吸気マニホールド34により各気筒の吸気ポート(図示せず)に分配される。
【0019】
吸気通路28におけるインタークーラ32と吸気マニホールド34との間には、吸気絞り弁36が設置されている。また、吸気通路28におけるエアクリーナ30の下流近傍には、吸入空気量を検出するためのエアフローメータ52が設置されている。
【0020】
本実施の形態のシステムは、図1に示すとおり、ECU(Electronic Control Unit)50を備えている。ECU50は、2つのコア501,502が搭載されたプロセッサを有するデュアルコアECUとして構成され、その使用コア数を都度可変に設定することできる。ECU50の入力部には、上述したエアフローメータ52の他、アクセルペダルの踏み込み量(アクセル開度)を検出するためのアクセルポジションセンサ60、内燃機関10のクランク角度を検出するためのクランク角センサ62等、内燃機関10を制御するための各種センサが接続されている。また、ECU50の出力部には、上述したインジェクタ12、吸気絞り弁36の他、内燃機関10を制御するための各種アクチュエータが接続されている。ECU50は、入力された各種の情報に基づいて、各種アクチュエータを駆動するための所定の制御アルゴリズムを実行する。
【0021】
[実施の形態の1動作]
次に、本実施の形態1の動作について説明する。本実施の形態にかかる内燃機関10は、その動作を制御するためのアクチュエータとして、インジェクタ12、吸気絞り弁36の他、例えばEGRバルブ、WGV等の内燃機関10を制御するための各種アクチュエータを備えている。本実施の形態の制御装置は、いわゆるモデルベース制御によって内燃機関を制御するものであり、モデル予測を多用して制御状態を推定し、上述した種々のアクチュエータの制御量を決定する。
【0022】
このようなモデルベース制御においては、特に高回転域において演算負荷の増大が問題となる。そこで、本実施の形態のシステムでは、この演算負荷への対応として、2つのコア501,502が搭載されたECU50を用いて並列演算処理を行うこととしている。具体的には、OSCAR(Optimally Scheduled Advanced Multiprocessor)等の公知の並列化コンパイラを用いてエンジン制御アルゴリズムをコア分割し、各コア501,502に振り分けられたタスクを並列演算する。このように、並列演算処理を行うこととすると、単一のコアで逐次演算処理を行う場合に比して演算負荷が有効に軽減される。
【0023】
ここで、演算負荷の低い制御領域では、発熱の抑制およびタスク分配による演算処理の複雑化回避の観点から、必要最低限のコア数に絞って演算処理を行うことが好ましい。そこで、本実施の形態1のシステムでは、演算負荷の大きさに応じて使用コア数を増減させることとする。具体的には、演算負荷の指標として機関回転数を監視し、当該機関回転数が所定の閾値以上となった場合に使用コア数を増加させる処理を行う。これにより、演算負荷の高い領域では複数のコアを使用した並列演算処理によって演算負荷を軽減するとともに、演算負荷の低い領域では単一のコアを使用した逐次演算処理によって発熱や演算の複雑化を抑制することができる。
【0024】
[実施の形態1における具体的処理]
次に、図2を参照して、本実施の形態において実行する処理の具体的内容について説明する。図2は、ECU50が、演算に使用する使用コア数の増減を行うルーチンのフローチャートである。尚、図2に示すルーチンは、内燃機関10の運転中に繰り返し実行されるものとする。
【0025】
図2に示すルーチンでは、先ず、クランク角センサ62の検出信号に基づいて、機関回転数が読み取られる(ステップ100)。次に、上記ステップ100において読み取られた機関回転数が所定の閾値以上か否かが判定される(ステップ102)。所定の閾値は、単一のコアを使用した逐次演算ではタスク抜け等の演算不具合が生じるおそれのある回転数として、予め設定された値が読み込まれる。その結果、現在の機関回転数が所定の閾値以上であると判定された場合には、演算不具合が生じるおそれがあると判断されて、次のステップに移行し、使用コア数が増加される(ステップ104)。ここでは、具体的には、使用コア数が2つに設定される。
【0026】
一方、上記ステップ102において、現在の機関回転数が所定の閾値未満であると判定された場合には、演算不具合が生じるおそれはないと判断されて、次のステップに移行し、使用コア数が単一のコアへと減少される(ステップ106)。
【0027】
以上説明したとおり、本実施の形態のシステムによれば、検出された現在の機関回転数に基づいて、演算に使用するECU50のコア数が増減される。これにより、ECU50の演算負荷を応じた演算処理の最適化を図ることができる。
【0028】
ところで、上述した実施の形態1においては、2つのコアを有するECU50を用いて、使用コア数を2つと1つとの間で切り替えることとしているが、使用可能なECU50はこれに限られない。すなわち、複数のコアを搭載し使用コア数を可変させることができるのであれば、更に多数のコアが搭載されたマルチコアECUとして構成されていてもよい。また、機関回転数に応じた切り替えについても、本実施の形態の態様に限られず、例えば、3つ以上のコアを搭載したECUにおいて、機関回転数が大きくなるにつれて使用コア数が徐々に増加するように、複数の閾値を設定することとしてもよい。
【0029】
尚、上述した実施の形態1においては、ECU50が前記第1の発明における「制御部」に相当しているとともに、ECU50が、上記ステップ100の処理を実行することにより、前記第1および第2の発明における「取得手段」が、上記ステップ102〜106処理を実行することにより、前記第1の発明における「選択手段」が、それぞれ実現されている。
【0030】
実施の形態2.
[実施の形態2の特徴]
次に、図3を参照して、本発明の実施の形態2について説明する。本実施の形態2は、図1に示すシステムを用いて、後述する図3に示すルーチンを実行することにより実現することができる。
【0031】
上述した実施の形態1のシステムでは、現在の機関回転数に基づいて、ECU50の使用コア数を増減させることとしている。しかしながら、急激な機関回転数の増減等を勘案すると、使用コア数の増加が演算負荷の増大のタイミングに間に合わず、演算処理にタスク抜け等の演算不具合が発生することも想定される。
【0032】
そこで、本実施の形態2のシステムでは、将来の機関回転数として、例えば噴射量のディレー分である32ms将来を推定し、当該推定された機関回転数の将来値が所定の閾値以上となった場合に使用コア数を増加させることとする。これにより、演算負荷の増大を事前に予測して使用コア数を増加させておくことができるので、過渡時の急激な演算負荷の増大に対しても、タスク抜け等の演算不具合の発生を有効に抑制することが可能となる。
【0033】
[実施の形態1における具体的処理]
次に、図3を参照して、本実施の形態において実行する処理の具体的内容について説明する。図3は、ECU50が、演算に使用する使用コア数の増減を行うルーチンのフローチャートである。尚、図3に示すルーチンは、内燃機関10の運転中に繰り返し実行されるものとする。
【0034】
図3に示すルーチンでは、先ず、現在の機関回転数および噴射量等の機関運転状態のパラメータを用いて、図示トルクτが計算される(ステップ200)。次に、フリクショントルクと補機トルクの合算値τfが計算される(ステップ202)。フリクショントルクは、ピストンとシリンダ内壁との摩擦など各勘合部の機械的な摩擦によるトルクであり、また、補機トルクは、補機類の機械的な摩擦によるトルクである。合算値τfは、例えば、機関運転状態と合算値τfとの間の関係を規定したマップを用いて特定することができる。
【0035】
次に、噴射量32msディレー分将来の回転速度ωが予測される(ステップ204)。
ここでは、具体的には、運動方程式に則った次式(1)に、上記ステップ200および202において算出された、図示トルクτおよびフリクショントルクと補機トルクの合算値τfを代入することで、クランクシャフトの角加速度dω/dtが算出される。
I・dω/dt=τ−τf ・・・(1)
【0036】
尚、Iは混合気の燃焼によって駆動される部材(クランクシャフト等)の慣性モーメント(イナーシャ)であり、内燃機関10のハード構成に基づいて決定される定数である。次いで、算出された角加速度dω/dtを積分することにより、クランクシャフトの回転速度ωが算出される。
【0037】
次に、上記ステップ204において算出された回転速度ωから求まる32ms将来の機関回転数(将来値)が、所定の閾値以上か否かが判定される(ステップ206)。その結果、機関回転数の将来値が所定の閾値以上であると判定された場合には、演算不具合が生じるおそれがあると判断されて、次のステップに移行し、使用コア数が増加される(ステップ208)。ここでは、具体的には、使用コア数が2つに設定される。
【0038】
一方、上記ステップ206において、機関回転数の将来値が所定の閾値未満であると判定された場合には、演算不具合が生じるおそれはないと判断されて、次のステップに移行し、使用コア数が単一のコアへと減少される(ステップ210)。
【0039】
以上説明したとおり、本実施の形態のシステムによれば、推定された32ms将来の機関回転数に基づいて、演算に使用するECU50のコア数が決定される。これにより、ECU50の演算負荷の変化を事前に予測した上で、最適なコア数への増減を行うことが可能となる。
【0040】
ところで、上述した実施の形態2においては、2つのコアを有するECU50を用いて、使用コア数を2つと1つとの間で切り替えることとしているが、使用可能なECU50はこれに限られない。すなわち、複数のコアを搭載し使用コア数を可変させることができるのであれば、更に多数のコアを備えるマルチコアECUとして構成されていてもよい。また、機関回転数に応じた切り替えについても、本実施の形態の態様に限られず、例えば、3つ以上のコアを搭載したECUにおいて、機関回転数が大きくなるにつれて使用コア数が徐々に増加するように、複数の閾値を設定することとしてもよい。
【0041】
また、上述した実施の形態2においては、噴射量ディレー分将来として、32ms将来の機関回転数を推定することとしているが、演算負荷の増減に対して事前にコア数を増減できる時間であれば、推定する将来時間は32msに限られない。
【0042】
尚、上述した実施の形態1においては、ECU50が前記第1の発明における「制御部」に相当しているとともに、ECU50が、上記ステップ200〜204の処理を実行することにより、前記第1および第3の発明における「取得手段」が、上記ステップ206〜210処理を実行することにより、前記第1の発明における「選択手段」が、それぞれ実現されている。
【符号の説明】
【0043】
10 内燃機関(エンジン)
12 インジェクタ
18 排気通路
28 吸気通路
36 吸気絞り弁
50 ECU(Electronic Control Unit)
501,502 コア
62 クランク角センサ

【特許請求の範囲】
【請求項1】
複数のコアが搭載されたプロセッサを有し、内燃機関の動作に関わる種々のタスクを演算する制御部と、
前記複数のコアの中から前記演算に使用する少なくとも1つのコアを選択する選択手段と、
前記選択手段により選択されたコアに前記タスクを分配して演算を行う演算手段と、
前記内燃機関の機関回転数を取得する取得手段と、を備え、
前記選択手段は、前記機関回転数が所定の閾値以上である場合には、前記閾値未満である場合に比して選択するコアの数を増加させることを特徴とする内燃機関の制御装置。
【請求項2】
前記取得手段は、前記内燃機関の現在の機関回転数を取得することを特徴とする請求項1記載の内燃機関の制御装置。
【請求項3】
前記取得手段は、前記内燃機関の機関回転数の所定時間先の将来値を推定する推定手段を含み、
前記演算手段は、前記将来値が所定の閾値以上である場合には、前記閾値未満である場合に比して選択するコア数を増加させることを特徴とする請求項1記載の内燃機関の制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2013−24103(P2013−24103A)
【公開日】平成25年2月4日(2013.2.4)
【国際特許分類】
【出願番号】特願2011−158722(P2011−158722)
【出願日】平成23年7月20日(2011.7.20)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【出願人】(000233295)日立情報通信エンジニアリング株式会社 (195)
【Fターム(参考)】