(57)【要約】【課題】複数のコアによる処理負荷のばらつきを低減してマルチコアマイクロコンピュータの処理能力を高める。【解決手段】各コアＡ〜Ｄは割当てられたコア固定制御を実行すると同時に、エンジンの運転状態に対応して割当てられたコア可変制御を実行する。これにより、エンジンの運転状態が変動した場合であっても各コアＡ〜Ｄの処理負荷を平準化することができる。【選択図】図１
2020181244.tif 000002
【特許請求の範囲】
【請求項１】
マイクロコンピュータ（２）が搭載された電子制御装置であって、
前記マイクロコンピュータは、
複数のコア固定制御と複数のコア可変制御とを実行するためのプログラムを記憶した記憶部（６）と、
割当てられたコア固定制御を実行すると同時に、制御対象の動作状態に対応して割当てられた前記コア可変制御を実行する複数のコア（Ａ〜Ｎ）と、
を備えた電子制御装置。
【請求項２】
前記制御対象の動作状態を判断し、その判断結果を前記コアに通知する特定コア（Ａ）を備え、
前記コアは、前記特定コアから通知された判断結果に基づいて割当てられた前記コア可変制御を実行する請求項１に記載の電子制御装置。
【請求項３】
前記制御対象の動作状態は、複数の領域に区画され、
前記コアは、前記領域に基づいて割当てられた前記コア可変制御を実行する請求項１または２に記載の電子制御装置。
【請求項４】
前記制御対象の動作状態は座標軸で表され、当該座標軸に少なくとも１つの閾値を設定することで複数の領域に区画されている請求項３に記載の電子制御装置。
【請求項５】
前記領域は、前記制御対象に対する操作状態に対応して区画されている請求項３または４に記載の電子制御装置。
【請求項６】
前記コア固定制御は、再現性の重要度が高い制御であり、
前記コア可変制御は、再現性の重要度が低い制御である請求項１から５のいずれか一項に記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は電子制御装置に関する。
【背景技術】
【０００２】
複数のコアを持つマイクロコンピュータ（以下、マイコンと称す）を搭載した電子制御装置では、再現性の重要度が高い制御を実行する場合があり、このようなマイコンではＡＭＰ型のアーキテクチャが多く採用されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−７８０７８号公報
【特許文献２】特開２０１８−０６７１３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＡＭＰ型アーキテクチャは事前に設計者が各コアに割当てた制御通りに実行されるため、処理負荷を予め予測して制御を適切に割当てるように設計する必要がある。
しかしながら、エンジン制御のような複雑な制御系を持つ電子制御装置では、エンジンの運転状態において処理負荷が変動することから、一律に処理負荷が平準化するように制御を割当てることは困難である。また、コアにより処理負荷にばらつきがある場合、処理負荷が高いコアに合わせてマイコン性能の選定する必要があり、コストにも影響する課題となる。
【０００５】
本発明は上記事情に鑑みてなされたもので、その目的は、複数のコアによる処理負荷のばらつきを低減してマイコンの処理能力を高めることができる電子制御装置を提供することにある。
【課題を解決するための手段】
【０００６】
請求項１の発明によれば、複数のコア（Ａ〜Ｎ）は、割当てられたコア固定制御を実行すると同時に、制御対象の動作状態に対応して割当てられたコア可変制御を実行する。
【図面の簡単な説明】
【０００７】
【図１】第１実施形態におけるエンジンＥＣＵの構成を示すブロック図
【図２】運転状態に対応した制御状態を示す図
【図３】代表的な領域の制御状態を示す図（その１）
【図４】代表的な領域の制御状態を示す図（その２）
【図５】コア固定制御を示すフローチャート
【図６】コアＡによるコア可変制御を示すフローチャート
【図７】コアＢ〜Ｎによるコア可変制御を示すフローチャート
【図８】第２実施形態における運転状態に対応した制御状態を示す図
【図９】第３実施形態における操作状態に対応した制御状態を示す図
【発明を実施するための形態】
【０００８】
以下、複数の実施形態について図面を参照して説明する。複数の実施形態において、機能的または構造的に対応する部分には同一の参照符号を付与する。
（第１実施形態）
エンジンＥＣＵに適用した第１実施形態について図１から図７を参照して説明する。
図１に示すエンジンＥＣＵ１（電子制御装置に相当）は、マイコン２、入力回路３、出力回路４、通信回路５を有して構成されている。入力回路３は、エンジン制御に必要な各センサから各検出信号を入力する。出力回路４は、エンジン制御を行うための各種アクチュエータに対して駆動信号を出力する。通信回路５は、他のＥＣＵと例えばＣＡＮを通信プロトコルとする車載ネットワークにより接続されている。ＣＡＮは登録商標である。
【０００９】
マイコン２は、複数のコアＡ〜Ｎと、プログラムを記憶したＲＯＭ６（記憶部に相当）、ワークデータを記憶するためのＲＡＭ７、通信回路５と通信するＩ／Ｏ８を備えている。
ＲＯＭ６には、プログラムとして、複数のコア固定制御用と複数のコア可変制御を実行するためのプログラムが記憶されている。コア固定制御とは再現性の重要度が高い制御であり、割当てられるコアが規定されているＡＭＰ型アーキテクチャが採用されている。コア固定制御は、各コアＡ〜Ｎに対応した数だけＲＯＭ６に記憶されている。
【００１０】
コア可変制御とは再現性の重要度が低い制御であり、割当てられるコアは規定されていないが、エンジン（制御対象に相当）の運転状態（動作状態に相当）に対応して割当てられるコアが規定されているＡＭＰ型アーキテクチャが採用されている。つまり、コア可変制御は厳密にはＡＭＰ型アーキテクチャではないが、エンジンの運転状態が同一であるという条件下ではＡＭＰ型アーキテクチャであると言える。コア可変制御は、設計仕様に応じた数だけＲＯＭ６に記憶されている。
【００１１】
エンジンの運転状態とは、例えばエンジン回転数、エンジン負荷率、エンジン水温などである。コア可変制御は、各コアＡ〜Ｎの処理負荷が平準化するようにエンジンの運転状態に応じて割当てるコアが設計者により規定されている。
【００１２】
以下、コア可変制御をエンジンの運転状態に基づいて各コアＡ〜Ｎに割当てる手順について説明する。まず、エンジンの運転状態について説明する。エンジンの運転状態は、図２に示すようにｘ軸をエンジン回転数、ｙ軸をエンジン負荷率とした２次元座標で表されており、さらにｘ軸及びｙ軸に閾値をそれぞれ設定することで複数の領域に区画されている。本実施形態では、ｘ軸及びｙ軸に２個の閾値をそれぞれ設定することで運転状態を領域１−１、１−２、１−３……３−３の９個の領域に区画しているが、各座標軸に少なくとも１個の閾値を設定することで４個以上に区画しても良い。
【００１３】
コア固定制御が実行するタスクとしては、噴射制御、点火制御、Ａ／Ｆ（Air／fuel ratio）制御、ＫＣＳ（Knock Control System）制御、電子スロットル制御、過給制御、ＩＳＣ（Idle Speed Control）制御、クルーズ制御、ＯＢＤ（On-board diagnostics）制御などであるが、これに限定されるものではない。
コア可変制御が実行するタスクとしては、エアコン制御、エンジン水温制御、イモビ制御、Ｇセンサ制御、充電制御などであるが、これに限定されるものではない。
【００１４】
エンジン水温制御は、エンジン水温を適切に制御するためにファンを駆動したり、エンジン水路の切替弁を切替えたりする制御である。エアコン制御は、運転者が車両を加速したい操作を行った場合にエンジンの負荷となるエアコンのコンプレッサを停止する制御である。
【００１５】
さて、運転者がイグニッションスイッチをＯＮすると、エンジンＥＣＵ１にバッテリから給電されるようになるので、各コアＡ〜Ｎが起動する。
各コアＡ〜Ｎは、起動すると、図５に示すコア固定制御をＲＯＭ６から読込んで実行する。このコア固定制御では、各コアＡ〜Ｎは、割当てられた固定制御を実行する（Ｓ１０１）。
【００１６】
また、各コアＡ〜Ｎは、起動すると、コア可変制御をＲＯＭ６から読込んで実行する。この場合、コアＡ（特定コアに相当）とコアＢ〜Ｎとではコア可変制御の動作が異なる。つまり、コアＡは、図６に示すコア可変制御において、領域を判断し（Ｓ２０１）、他のコアＢ〜Ｎに領域を通知してから（Ｓ２０２）、領域に基づいて割当てられたコア可変制御を実行する（Ｓ２０３）。
【００１７】
一方、コアＢ〜Ｎは、図７に示すコア可変制御において、コアＡから領域が通知されたかを判断しており（Ｓ３０１：ＮＯ）、通知された場合は（Ｓ３０１：ＹＥＳ）、領域に基づいて割当てられたコア可変制御を実行する（Ｓ３０２）。
【００１８】
以上のようにして各コアＡ〜Ｎは、割当てられたコア固定制御を実行すると同時に、エンジンの運転状態に基づいて割当てられたコア可変制御を実行する。
尚、領域によってはコアＡ〜Ｎにコア可変制御が割当てられない場合があり、このようにコア可変制御が割当てられなかったコアはコア可変制御を実行することはない。
【００１９】
コア固定制御とコア可変制御について具体的に説明する。マイコン２に４個のコアＡ〜Ｄが設けられている例を用いて説明するが、４個に限定されることはなく任意数のコアを備えるようにしても良い。
【００２０】
コアＡ〜Ｎが実行するコア固定制御は次のように設定されている。コアＡは、割当てられたＩＳＣ制御、電子スロットル制御、過給制御を実行する。コアＢは、割当てられたＫＣＳ制御、点火制御を実行する。コアＣは、割当てられた噴射制御、Ａ／Ｆ制御を実行する。コアＤは、割当てられたクルーズコントロール制御、ＯＢＤ制御を実行する。
【００２１】
図３に示すように各コアＡ〜Ｄによるコア固定制御による処理負荷はエンジンの運転状態によって異なる。例えばコアＡが実行する過給制御は、エンジン負荷が高い領域では、ウェイストゲートバルブの閉じ力を制御し、要求する駆動力を実現する制御を実行する。このため、領域３−３の過給制御は領域１−１の場合に比較して処理負荷が大きくなっている。
【００２２】
このように領域に応じてコアＡ〜Ｄが実行するコア固定制御の処理負荷が異なることから、各コアＡ〜Ｄがコア固定制御に加えてコア可変制御を実行する場合の処理負荷が平準化するように領域に対応して各コアＡ〜Ｄに割当てられるコア可変制御が規定されている。
【００２３】
以下、エンジン回転数とエンジン負荷率とに対応して区画された領域１−１と領域３−３とを代表領域として説明する。これらの領域１−１と領域３−３に対応したコア固定制御とコア可変制御とは説明のために例示しただけであり、実際とは異なる場合がある。
【００２４】
図３に示す領域１−１では、コアＡの処理負荷が最も大きく、コアＢの処理負荷が最も小さい。そこで、コア可変制御として、コアＡにコア可変制御を割当てず、コアＢにヒーマネ制御とエアコン制御とを割当て、コアＣにイモビ制御を割当て、コアＤにＧセンサ制御と充電制御とを割当てることで各コアＡ〜Ｄの処理負荷を平準化する。
【００２５】
図４に示す領域３−３では、コアＢの処理負荷が最も大きく、コアＣの処理負荷が最も小さい。そこで、コア可変制御として、コアＡにエアコン制御とヒーマネ制御とを割当て、コアＢにコア可変制御を割当てず、コアＣにイモビ制御とＧセンサ制御とを割当て、コアＤに充電制御を割当てることで各コアＡ〜Ｄの処理負荷を平準化する。
同様にして、各領域に対応してコア可変制御を各コアＡ〜Ｄに割当てることで各コアＡ〜Ｄの処理負荷を平準化している。
【００２６】
このような実施形態によれば、次のような効果を奏することができる。
各コアＡ〜Ｄは、割当てられたコア固定制御を実行すると同時に、エンジンの運転状態に対応して割当てられたコア可変制御を実行するので、エンジンの運転状態が変動した場合であっても各コアＡ〜Ｄの処理負荷を平準化することができる。
【００２７】
コアＡは、エンジンの運転状態を判断し、その判断結果を他のコアＢ〜Ｄに通知し、他のコアＢ〜Ｄは、コアＡから通知された判断結果に基づいて割当てられたコア可変制御を実行するので、他のコアＢ〜Ｄの処理負荷を軽減することができる。
【００２８】
エンジンの運転状態を、２つのパラメータで表される２次元座標の座標軸に２個の閾値を設定することで複数の領域に区画するようにしたので、エンジンの運転状態の変動に応じて各コアＡ〜Ｄにコア可変制御を適切に割当てることができる。
【００２９】
（第２実施形態）
第２実施形態について図８を参照して説明する。この第２実施形態は、エンジンの運転状態を３次元座標で表すことを特徴とする。
図８に示すようにエンジンの運転状態は、ｘ軸のエンジン回転数、ｙ軸のエンジン負荷率、ｚ軸のエンジン水温とした３次元座標で表されており、さらにｘ軸、ｙ軸及びｚ軸に１個の閾値を設定することで８個の領域１−１−１、１−１−２、１−２−１、……２−２−２に区画されている。
【００３０】
第１実施形態と同様に、各コアＡ〜Ｄに割当てるコア固定制御は規定されていると共に領域に対応して各コアＡ〜Ｄに割当てるコア可変制御も規定されている。各コアＡ〜Ｄに割当てるコア可変制御は各コアＡ〜Ｄの処理負荷が平準化するように規定されている。
各コアＡ〜Ｄは、割当てられたコア固定制御を実行すると同時に、エンジンの運転状態に対応して割当てられたコア可変制御を実行する。
【００３１】
このような実施形態によれば、エンジンの運転状態を３つパラメータで表される３次元座標により複数の領域に区画するようにしたので、エンジンの運転状態をより詳細な領域に区画することができる。
【００３２】
（第３実施形態）
第３実施形態について図９を参照して説明する。この第３実施形態は、領域をエンジンに対する操作状態で区画したことを特徴とする。
図９に示すようにアクセルのスロットル開度が１度未満の場合はアイドルＯＮ状態の領域Ａとし、スロットル開度が１度以上の場合はアイドルＯＦＦ状態の領域Ｂとする。
各コアＡ〜Ｄは、上記各実施形態と同様に、割当てられたコア固定制御を実行すると同時に、スロットル開度に応じた領域に対応して割当てられたコア可変制御を実行する。
【００３３】
このような実施形態によれば、エンジンに対する操作状態に対応して領域が区画されているので、エンジンの運転状態ではなくエンジンに対する操作状態に基づいてコア可変制御を各コアＡ〜Ｄに割当てることができ、適用対象を拡大することができる。
【００３４】
（その他の実施形態）
エンジンの運転状態を判断し、その判断結果を他のコアに通知する専用のコアを設けるようにしても良い。
各コアがエンジンの運転状態を判断し、その判断結果に基づいて対応するコア可変制御を実行するようにしても良い。
【００３５】
エンジンの運転状態を、第１実施形態や第２実施形態で説明したエンジンの運転状態と、第３実施形態で説明した操作状態とを組み合わせた領域で区切るようにしても良い。
エンジンの運転状態に限定されることなく、各種制御対象の動作状態を制御するマイコンに適用するようにしても良い。
【００３６】
本開示は、実施形態に準拠して記述されたが、本開示は当該実施形態や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。
【符号の説明】
【００３７】
図面中、１はエンジンＥＣＵ（電子制御装置）、２はマイコン、６はＲＯＭ（記憶部）、Ａはコア（特定コア）、Ｂ〜Ｎはコアである。
【図１】
2020181244.tif 000003
【図２】
2020181244.tif 000004
【図３】
2020181244.tif 000005
【図４】
2020181244.tif 000006
【図５】
2020181244.tif 000007
【図６】
2020181244.tif 000008
【図７】
2020181244.tif 000009
【図８】
2020181244.tif 000010
【図９】
2020181244.tif 000011