(57)【特許請求の範囲】
【請求項１】
マルチコアプロセッサを搭載し、当該マルチコアプロセッサを用いてクランク角度同期のタスクと時間同期のタスクとを処理するエンジン制御装置において、
前記クランク角度同期タスクの処理を担当する第１のコアと、
前記時間同期タスクの処理を担当する第２のコアと、
トルク制御に用いるアクチュエータの操作量をアクセルペダル開度に基づいて計算し、前記操作量を所定のディレイ時間遅らせて前記アクチュエータに出力するディレイ制御手段と、
前記操作量に基づいて前記ディレイ時間後のエンジン回転数の急増を予測する予測手段と、
前記クランク角度同期タスクの処理時間に対する制限時間を現在のエンジン回転数に基づいて算出する制限時間算出手段と、
前記予測手段によってエンジン回転数の急増が予測されていない場合には、前記第１のコアによる前記クランク角度同期タスクの処理時間を前記制限時間に合わせるように前記第１のコアのクロック周波数を調整し、前記予測手段によってエンジン回転数の急増が予測されている場合には、前記第１のコアのクロック周波数を最大に固定するクロック周波数制御手段と、
を備えることを特徴とするエンジン制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動車用のエンジンの制御装置に関し、詳しくは、マルチコアプロセッサを搭載したエンジン制御装置に関する。
【背景技術】
【０００２】
従来、複数のＣＰＵを搭載した演算装置、すなわち、マルチプロセッサを搭載した自動車用のエンジン制御装置が知られている。特開２０１０−１９６６１９号公報（以下、特許文献１）に記載されているものも、そのようなエンジン制御装置の１つである。特許文献１に開示されているエンジン制御装置は、各プロセッサがクランク角に同期して割り込みルーチンを順番に処理することによって、エンジン回転数に左右されることなく、各プロセッサに演算処理の負荷を均等に分配できるようにしたものである。
【０００３】
また、近年においては、１つのＣＰＵに複数のコアを搭載した演算装置、すなわち、マルチコアプロセッサの使用が様々な分野で提案されている。マルチコアプロセッサは、自動車用エンジンの制御の分野においてもその使用が検討されている。例えば、上述の特開２０１０−１９６６１９号公報には、同公報に記載の技術のマルチコアプロセッサへの適用について言及されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１９６６１９号公報
【特許文献２】特開２００７−１２５９５０号公報
【特許文献３】特開２００８−２６９４８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
マルチコアプロセッサにおける課題の１つが消費電力の低減である。このことはマルチコアプロセッサをエンジン制御装置に搭載する場合においても当てはまる。ところが、特許文献１に記載の技術では上記課題を達成することは容易ではない。詳しく説明すると、クランク角度同期でタスクの処理を行う場合、その処理時間に対する制限時間はエンジン回転数が高ければ短くなり、エンジン回転数が低ければ長くなる。このため、コアの演算速度は制限時間が短い高回転時に合わせて設定せざるを得ない。しかし、そのような設定にした場合には、エンジンの低回転時においてタスクの処理時間に対する制限時間の余裕が大きくなり、次の演算までのアイドル状態が長くなる。電力はアイドル状態でも消費されるため、アイドル状態の割合が大きければ、その分、無駄な電力が消費されることになる。
【０００６】
本発明は、上記の課題に鑑みなされたものであり、マルチコアプロセッサを搭載したエンジン制御装置の消費電力を低減することを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を達成するため、本発明に係るエンジン制御装置は次のように構成される。
【０００８】
本発明に係るエンジン制御装置は、マルチコアプロセッサで処理するタスクのうちクランク角度同期のタスクは第１のコアで処理し、時間同期のタスクは第２のコアで処理する。つまり、クランク角度同期タスクを処理するコアと時間同期タスクを処理するコアを別々にする。クランク角度同期タスクはエンジン回転数によって実行周期が変化するのに対し、時間同期タスクはエンジン回転数によらず実行周期が一定であることから、時間同期タスクのみを処理する第２のコアは、アイドル状態が最小になるようにクロック周波数を最適化しやすい。クロック周波数を最適化することによって、第２のコアの消費電力を最小限まで低減することができる。なお、第１のコア及び第２のコアはそれぞれ単数でも複数でもよい。
【０００９】
また、本発明に係るエンジン制御装置は、アクセルペダル開度に基づいて計算したアクチュエータ操作量を直ぐにアクチュエータに出力するのではなく、所定のディレイ時間だけ遅らせてアクチュエータに出力する。つまり、アクチュエータ操作量に関してディレイ制御を行う。ここでいうアクチュエータ操作量とは、エンジンのトルクを制御するアクチュエータの操作量であって、制御対象のエンジンがディーゼルエンジンの場合には燃料噴射量となる。制御対象のエンジンがガソリンエンジンの場合にはスロットル開度となる。これらのアクチュエータ操作量はエンジン回転数に影響を与えるが、ディレイ制御によれば、要求トルクから計算したアクチュエータ操作量は直近のエンジン回転数ではなく、ディレイ時間後の将来のエンジン回転数に影響する。そこで、本発明に係るエンジン制御装置は、要求トルクから計算したアクチュエータ操作量に基づいてディレイ時間後のエンジン回転数の急増を予測する。
【００１０】
また、本発明に係るエンジン制御装置は、クランク角度同期タスクの処理時間に対する制限時間を現在のエンジン回転数に基づいて算出する。エンジン回転数が高ければ短い時間の制限時間が算出され、エンジン回転数が低ければ長い時間の制限時間が算出される。
【００１１】
そして、本発明に係るエンジン制御装置は、アクチュエータ操作量に基づく予測においてエンジン回転数は急増しないと予測されたのであれば、第１のコアによるクランク角度同期タスクの処理時間を前記の制限時間に合わせるようにそのクロック周波数を調整する。つまり、第１のコアの稼働率が最大となるようにクロック周波数を調整する。アイドル状態をなくして稼働率を最大にすることで、第１のコアのクロック周波数及び駆動電圧を最小とすることができ、第１のコアの消費電力は最小限まで低減される。
【００１２】
一方、アクチュエータ操作量に基づく予測において将来エンジン回転数が急増すると予測される場合は、本発明に係るエンジン制御装置は、第１のコアのクロック周波数を最大に固定する。これによれば、クランク角度同期タスクの処理時間を最小にすることができるので、エンジン回転数がどれだけ急増して制限時間が短くなったとしても、処理時間が制限時間を越えてしまうことは回避することができる。
【発明の効果】
【００１３】
本発明によれば、マルチコアプロセッサを搭載するエンジン制御装置の消費電力を低減することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態としてのエンジン制御装置が搭載するマルチコアプロセッサの構成の概略を示すブロック図である。
【図２】本発明の実施の形態としてのエンジン制御装置が実行するクロック周波数制御の手順を示すフローチャートである。
【図３】時間同期タスクを処理するコアにおけるコアの稼働状態のイメージを示す図である。
【図４】時間同期タスクを処理するコアにおいてクロック周波数を最適化した場合のコアの稼働状態のイメージを示す図である。
【発明を実施するための形態】
【００１５】
本発明の実施の形態について図を参照して説明する。
【００１６】
本実施の形態としてのエンジン制御装置はディーゼルエンジンの制御装置として構成される。制御対象であるディーゼルエンジンの構造には限定は無い。本エンジン制御装置は、インジェクタに噴射させるべき燃料量をアクセルペダル開度に基づいて計算する。ただし、本エンジン制御装置は、燃料噴射制御に関してディレイ制御を行うように構成されている。ディレイ制御によれば、アクセルペダル開度に基づき計算された燃料噴射量は直ぐにインジェクタに出力されるのではなく、所定のディレイ時間（例えば、３２ｍｓｅｃ、６４ｍｓｅｃ）の後にインジェクタに出力される。よって、現時点で計算された燃料噴射量はディレイ時間後の将来における燃料噴射量の予測値となるので、この値からディレイ時間後のエンジンの運転状態、例えば、エンジン回転数やエンジン負荷を予測することができる。
【００１７】
本エンジン制御装置はマルチコアプロセッサを搭載し、マルチコアプロセッサによって種々のタスクを処理する。本エンジン制御装置が処理するタスクには、クランク軸が所定角度回転するごとに実行されるクランク角度同期のタスクと、所定の時間周期（例えば、８ｍｓｅｃ、１６ｍｓｅｃ、３２ｍｓｅｃ）で実行される時間同期のタスクとが含まれる。クランク角度同期タスクと時間同期タスクとの間には、前者はエンジン回転数によって実行周期が変化するのに対し、後者はエンジン回転数によらず実行周期は一定となるという違いがある。
【００１８】
図１は、本エンジン制御装置が搭載するマルチコアプロセッサの構成の概略を示すブロック図である。本実施の形態に係るマルチコアプロセッサは、第１コア１１及び第２コア１２とコントローラ２を有する。第１コア１１は、クランク角度同期のタスクの処理を担当するコアであり、第２コア１２は、時間同期のタスクの処理を担当するコアである。なお、図１では第１コア１１と第２コア１２をそれぞれ１つずつ描いているが、第１コア１１と第２コア１２はそれぞれ複数設けることもできる。第１コア１１が複数設けられている場合には、それらコア間で複数のクランク角度同期タスクを分配することができる。同様に、第２コア１２が複数設けられている場合には、それらコア間で複数の時間同期タスクを分配することができる。
【００１９】
第１コア１１と第２コア１２のそれぞれは、クロック周波数制御回路１１ａ，１２ａを備えている。クロック周波数制御回路１１ａ，１２ａは、コア１１，１２ｂのクロック周波数を変更する回路である。また、クロック周波数制御回路１１ａ，１２ａは、コア１１，１２の駆動電圧とセットでクロック周波数を変更するように構成されている。
【００２０】
クロック周波数制御回路１１ａ，１２ａは、コントローラ２からの指令によってクロック周波数を制御する。コントローラ２はマルチコアプロセッサの各コアを管理するＯＳの一つの機能として実現されている。コントローラ２は、各コア１１，１２の稼働率を最大にするように、つまり、タスクの演算処理をしていないアイドル時間を最小にするように、コア１１，１２毎にクロック周波数制御を実行する。
【００２１】
図２は、コントローラ２が実行する第１コア１１のクロック周波数制御の手順を示すフローチャートである。コントローラ２は、このフローチャートに示すクロック周波数制御をクランク角度に同期して実行する。なお、コントローラ２には、クランク角センサから出力されているクランク角信号と、前述のディレイ制御においてアクセルペダル開度に基づき計算された燃料噴射量が入力されている。
【００２２】
図２のフローチャートにおける最初のルーチンＳ１では、ディレイ時間が経過した後のエンジン回転数の急増の有無が燃料噴射量に基づいて予測される。本実施の形態のように燃料噴射量のディレイ制御が行われている場合、現時点で算出された燃料噴射量は、ディレイ時間の後にインジェクタに出力されることにより、直近のエンジン回転数ではなくディレイ時間後の将来のエンジン回転数に影響する。よって、現時点で算出された燃料噴射量からは、ディレイ時間後の将来におけるエンジン回転数の挙動を予測することができる。例えば、燃料噴射量が前回算出時と変わらないのであればエンジン回転数に変化はないと予測できるし、燃料噴射量が前回算出時から変化したのであればエンジン回転数にも変化があると予測できる。ここでは、燃料噴射量の増加量或いは増加割合が所定の閾値を超えた場合に、エンジン回転数の急増が起きると予測されるようになっている。
【００２３】
ステップＳ１にてエンジン回転数の急増は起きないと予測された場合、ステップＳ２，Ｓ３，Ｓ４及びＳ５の処理が実行される。まず、ステップＳ２では、処理しようとしているクランク角度同期タスクに関し、そのエンジン１／２回転ごとの演算量が算出される。次のステップＳ３では、現在のエンジン回転数に基づいて、クランク角度同期タスクの処理時間に対する制限時間が算出される。ステップＳ３で算出される制限時間は、エンジン回転数が高ければ短い時間となり、エンジン回転数が低ければ長い時間となる。そして、ステップＳ４では、ステップＳ３で算出された制限時間内に、ステップＳ２で算出された演算量を全て処理するのに最低限必要なクロック周波数が算出される。続くステップＳ５では、ステップＳ４で算出されたクロック周波数を出力するのに要する駆動電圧が算出される。
【００２４】
つまり、エンジン回転数の急増は起きないと予測された場合、コントローラ２は、第１コア１１のクロック周波数と駆動電圧がステップＳ４，Ｓ５で算出したクロック周波数と駆動電圧になるようにクロック周波数制御回路１１ａを制御する。その結果、第１コア１１によるクランク角度同期タスクの処理時間は、現在のエンジン回転数における制限時間に合わせられ、第１コア１１がアイドル状態となることは最小限に止められる。つまり、第１コア１１の稼働率が最大化される。このように第１コア１１の稼働率を最大にしてクロック周波数及び駆動電圧を可能な限り低下させることで、第１コア１１の消費電力は最小限まで低減される。
【００２５】
一方、ステップＳ１にてエンジン回転数の急増が起きると予測された場合は、ステップＳ６及びＳ５の処理が実行される。ステップＳ６では、第１コア１１のクロック周波数を最大に固定することが行われる。そして、続くステップＳ５では、ステップＳ６で決定された最大クロック周波数を出力するのに要する駆動電圧が算出される。
【００２６】
つまり、エンジン回転数の急増が起きると予測された場合、コントローラ２は、第１コア１１のクロック周波数及び駆動電圧を最大にする。これによれば、クランク角度同期タスクの処理時間を最小にすることができるので、エンジン回転数がどれだけ急増して制限時間が短くなったとしても、クランク角度同期タスクの処理時間が制限時間を越えてしまうことは回避することができる。
【００２７】
次に、コントローラ２が実行する第２コア１２のクロック周波数制御に関して図３及び図４を用いて説明する。図３は、８，１６，３２ｍｓｅｃの実行周期を有する時間同期タスクを処理する第２コア１２に関し、そのクロック周波数が最適化されていない場合の第２コア１２の稼働状態のイメージを示す図である。この図に示すように、クロック周波数が最適化されていない場合、図中に“アイドル１，２，３，４”として示すような長いアイドル時間が発生してしまう。
【００２８】
そこで、コントローラ２は、過去３２ｍｓｅｃの第２コア１２の稼働率を取得し、最もアイドル時間が短い区間（図３におけるアイドル１，４）を特定する。そして、その区間におけるアイドル時間を所定の基準値に合わせるように、クロック周波数制御回路１２ａを制御して第２コア１２のクロック周波数を調整する。なお、基準値は、演算量の変化に対応できる余裕分に相当する最小のアイドル時間であり、予め実験的に算出されている。図３は、このようにしてクロック周波数を最適化した場合の第２コア１２の稼働状態のイメージを示す図である。図３に示すように第２コア１２の稼働率を高めてクロック周波数及び駆動電圧を低下させることにより、第２コア１２の消費電力を最小限まで低減することができる。
【００２９】
以上、本発明の実施の形態について説明したが、本発明は上述の実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。また、本発明はディーゼルエンジンの制御装置だけでなく、ガソリンエンジンの制御装置にも適用することができる。その場合は、アクセルペダル開度に基づいて計算されたスロットル開度に関してディレイ制御を行うことにより、スロットル開度からディレイ時間後のエンジン回転数の急増を予測することができる。
【符号の説明】
【００３０】
２  コントローラ
１１  第１のコア
１１ａ  クロック周波数制御回路
１２  第２のコア
１２ａ  クロック周波数制御回路
【図１】
0005673576.tif 000002
【図２】
0005673576.tif 000003
【図３】
0005673576.tif 000004
【図４】
0005673576.tif 000005