(57)【要約】【課題】複数の演算部による同期処理を実行しつつ、処理負荷の増加を抑制することができる電子制御装置を提供すること。【解決手段】電子制御装置１０は、相互に通信可能とされ、処理順序に依存する同期処理を行う複数の演算部としてのマイコン２０，３０を備えている。マイコン２０，３０には、同じ信号としてクランク角信号が入力される。マイコン２０，３０のＮｅ算出部２２，３２は、クランク角信号に基づいて、マイコン２０，３０の処理負荷値であるエンジン回転数を算出する。負荷判定部２３，３３は、算出されたエンジン回転数に基づいて、マイコン２０，３０の処理負荷が高負荷か否かを判定する。設定決定部２４，３４は、同期処理のためのマイコン間通信のデータ量を設定する。設定決定部２４，３４は、マイコン２０，３０の負荷判定部２３，３３による判定結果に基づいてデータ量を変更する。【選択図】図１
2019164680.tif 000002
【特許請求の範囲】
【請求項１】
相互に通信可能とされ、処理順序に依存する同期処理を行う複数の演算部（２０，３０）を備えた電子制御装置であって、
前記複数の演算部には、同じ信号が入力され、
前記複数の演算部は、
前記信号に基づいて、前記複数の演算部の処理負荷に相関する値である処理負荷値を算出する負荷算出部（２２，３２）と、
算出された前記処理負荷値に基づいて、前記複数の演算部の処理負荷が高負荷か否かを判定する負荷判定部（２３，３３）と、
前記同期処理のための演算部間通信のデータ量を設定するものであり、前記複数の演算部の負荷判定部による判定結果に基づいて、前記データ量を変更するデータ量設定部（２４，３４）と、
をそれぞれ有する電子制御装置。
【請求項２】
前記データ量設定部は、前記複数の演算部の負荷判定部による判定結果がいずれも高負荷の場合に、前記複数の演算部の負荷判定部による判定結果の少なくとも１つが高負荷ではない場合よりも、前記データ量を小さくする請求項１に記載の電子制御装置。
【請求項３】
前記データ量設定部は、前記複数の演算部の負荷判定部による判定結果の少なくとも１つが高負荷の場合に、前記複数の演算部の負荷判定部による判定結果がいずれも高負荷ではない場合よりも、前記データ量を小さくする請求項１に記載の電子制御装置。
【請求項４】
前記データ量設定部は、
第１のデータ設定と、前記第１のデータ設定に対してデータの一部が間引かれた第２のデータ設定とを設定可能とされ、
前記第１のデータ設定から前記第２のデータ設定に切り替えることで、前記データ量を小さくする請求項２又は請求項３に記載の電子制御装置。
【請求項５】
車両に搭載される請求項１〜４いずれか１項に記載の電子制御装置において、
前記信号は、前記車両における走行駆動源の回転信号であり、
前記負荷算出部は、前記回転信号に基づいて回転数を算出し、
前記負荷判定部は、算出された前記回転数が所定値以上の場合に高負荷と判定する電子制御装置。
【請求項６】
前記複数の演算部の負荷判定部による判定結果のうち、一部の判定結果が残りの判定結果とは異なる不一致に基づいて、前記複数の演算部の異常を検出する異常検出部（Ｓ１８，Ｓ２６，Ｓ２８）をさらに有する請求項１〜５いずれか１項に記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この明細書における開示は、電子制御装置に関する。
【背景技術】
【０００２】
要求仕様の増加などにより、たとえば車両に搭載される電子制御装置において、従来は１つの演算部で実行していた処理を複数の演算部に分割して処理する技術が知られている。特許文献１には、相互に通信可能とされ、処理順序に依存する同期処理を行う複数の演算部を備えた電子制御装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−２１４２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
たとえば２つの演算部で上記した同期処理を実行する場合、従来の構成では、一の演算部にて処理したデータを他の演算部へ送信し、受信したデータに基づいて他の演算部で処理を実行することとなる。このため、演算部間通信のデータ量が増加し、これにより複数の演算部、すなわち電子制御装置の処理負荷が増加するという問題がある。特に、エンジン回転数が高回転など、すでに複数の演算部の処理負荷が高い場合において、さらにデータ通信による処理負荷が重なり、処理抜け等が生じる虞がある。
【０００５】
本開示はこのような課題に鑑みてなされたものであり、複数の演算部による同期処理を実行しつつ、処理負荷の増加を抑制することができる電子制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本開示は、上記目的を達成するために以下の技術的手段を採用する。なお、括弧内の符号は、ひとつの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、技術的範囲を限定するものではない。
【０００７】
本開示のひとつである電子制御装置は、
相互に通信可能とされ、処理順序に依存する同期処理を行う複数の演算部（２０，３０）を備えた電子制御装置であって、
複数の演算部には、同じ信号が入力され、
複数の演算部は、
信号に基づいて、複数の演算部の処理負荷に相関する値である処理負荷値を算出する負荷算出部（２２，３２）と、
算出された処理負荷値に基づいて、複数の演算部の処理負荷が高負荷か否かを判定する負荷判定部（２３，３３）と、
同期処理のための演算部間通信のデータ量を設定するものであり、複数の演算部の負荷判定部による判定結果に基づいてデータ量を変更するデータ量設定部（２４，３４）と、
をそれぞれ有する。
【０００８】
この電子制御装置によれば、同じ信号が同期処理を行う複数の演算部のそれぞれに入力される。複数の演算部は、この共通の信号に基づいて、複数の演算部の処理負荷値を算出し、複数の演算部の処理負荷が高負荷か否かを判定することができる。そして、複数の演算部の判定結果に基づいて同期処理のための演算部間通信のデータ量を変更することができる。すなわち、処理負荷に応じてデータ量を変更することができる。したがって、複数の演算部で処理順序に依存する同期処理を実行しつつ、処理負荷の増加を抑制することができる。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態の電子制御装置の概略構成を示す図である。
【図２】データ設定Ａを示す図である。
【図３】データ設定Ｂを示す図である。
【図４】同期処理を示す図である。
【図５】マイコンが実行するデータ設定の決定処理を示すフローチャートである。
【図６】データ設定の決定処理の変形例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
図面を参照しながら、複数の実施形態を説明する。複数の実施形態において、機能的に及び／又は構造的に対応する部分には同一の参照符号を付与する。
【００１１】
（第１実施形態）
先ず、図１に基づき、電子制御装置の概略構成について説明する。
【００１２】
図１に示す電子制御装置１０は、たとえば車両に搭載される。車両は、走行駆動源としてエンジンを備えている。本実施形態では、電子制御装置１０が、エンジンＥＣＵとして構成されている。なお、ＥＣＵは、Electronic Control Unitの略称である。
【００１３】
電子制御装置１０は、マイコン２０，３０を備えている。マイコン２０，３０が、複数の演算部に相当する。マイコン２０，３０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、及びＤＭＡコントローラなどをそれぞれ備えたマイクロコンピュータである。マイコン２０，３０において、ＣＰＵが、ＲＡＭなどの一時記憶機能を利用しつつ、ＲＯＭに予め記憶された制御プログラムにしたがって、所定の処理を実行する。なお、ＤＭＡは、Direct Memory Accessの略称である。
【００１４】
マイコン２０，３０は、双方向に通信可能とされている。本実施形態では、マイコン２０，３０がＤＭＡコントローラをそれぞれ有しており、図示しない通信線を介してＤＭＡ転送方式でマイコン２０，３０間通信を行う。マイコン２０のＤＭＡコントローラは、マイコン２０のＣＰＵを経由させることなく、マイコン２０のＲＡＭとマイコン３０との間におけるデータの授受を制御する。同じく、マイコン３０のＤＭＡコントローラは、マイコン３０のＣＰＵを経由させることなく、マイコン３０のＲＡＭとマイコン２０との間におけるデータの授受を制御する。
【００１５】
また、本実施形態では、主としてマイコン２０が燃料噴射制御、点火時期制御等のエンジン制御を実行し、主としてマイコン３０がスロットル制御を実行する。このため、マイコン２０をメインマイコン、マイコン３０をサブマイコンと称することもできる。
【００１６】
マイコン２０，３０は、クロック信号に基づいて所定の処理を実行する。マイコン２０，３０は、所定周期で所定の処理を実行する。マイコン２０，３０は、並列演算処理として、処理順序に依存する同期処理を実行する。また、同期処理を実行しないタイミングにおいて、処理順序に依存しない他の処理も実行する。処理順序に依存する同期処理を、以下において単に同期処理と示す。本実施形態では、マイコン２０が実行するエンジン制御と、マイコン３０が実行するスロットル制御とが、同期処理に相当する。
【００１７】
マイコン２０，３０には、同じ信号が入力される。本実施形態では、マイコン２０，３０にクランク角信号が入力される。マイコン２０，３０は、データ保持部２１，３１、Ｎｅ算出部２２，３２、負荷判定部２３，３３、及び設定決定部２４，３４を備えている。
【００１８】
データ保持部２１，３１は、マイコン２０，３０間で送受信すべき同期処理のデータを、送信前又は受信後に一時的に保持する。データ保持部２１，３１は、負荷判定部２３，３３の判定結果を示すデータも一時的に保持する。データ保持部２１，３１は、データを送信する送信領域と、データを受信する受信領域をそれぞれ有している。
【００１９】
データ保持部２１，３１は、ＲＡＭと、ＤＭＡコントローラのバッファを有して構成されている。マイコン２０，３０のＤＭＡコントローラには、互いに同じ構造のバッファが設けられている。送信側は、バッファの構造にしたがってデータを書き込んで送信するため、受信側ではバッファの構造からどの位置にどのデータが書き込まれているかを判断することができる。
【００２０】
データ保持部２１，３１を構成するＲＡＭ及びバッファは、負荷判定部２３，３３の判定結果を送受信する領域をそれぞれ有している。また、同期処理のために通信するデータのための領域を有している。データ保持部２１，３１は、設定決定部２４，３４により決定されるデータ設定に応じたデータを一時的に保持する。マイコン２０，３０のＤＭＡコントローラは、データの送受信において、データ設定に応じた制御を実行する。
【００２１】
Ｎｅ算出部２２，３２は、クランク角信号に基づいて、エンジン回転数Ｎｅを算出する。エンジン回転数Ｎｅが高いほど、マイコン２０，３０全体、すなわち電子制御装置１０の処理負荷が増加し、エンジン回転数が低いほど処理負荷が減少する。エンジン回転数Ｎｅが、マイコン２０，３０の処理負荷に相関する値（処理負荷値）である。よって、Ｎｅ算出部２２，３２が、負荷算出部に相当する。マイコン２０，３０は、クロック信号に基づいて、ほぼ同じタイミングでエンジン回転数Ｎｅを算出する。
【００２２】
負荷判定部２３，３３は、対応するＮｅ算出部２２，３２にて算出されたエンジン回転数Ｎｅに基づいて、マイコン２０，３０全体の処理負荷が高負荷か否かを判定する。たとえば負荷判定部２３は、Ｎｅ算出部２２にて算出されたエンジン回転数Ｎｅに基づいて、マイコン２０，３０全体の処理負荷が高負荷か否かを判定する。
【００２３】
負荷判定部２３，３３は、高負荷の場合にフラグをセットし、高負荷ではない場合、すなわち低負荷の場合にフラグをリセットする。負荷判定部２３，３３は、エンジン回転数Ｎｅと予め設定された所定値（たとえば４０００ｒｐｍ）とを比較し、所定値以上の場合に高負荷と判定する。一方、所定値未満の場合に低負荷と判定する。負荷判定部２３，３３は、判定結果を対応するデータ保持部２１，３１のＲＡＭに書き込む。
【００２４】
設定決定部２４，３４は、同期処理のために送受信するデータ設定を決定する。設定決定部２４，３４は、低負荷時に用いるデータ設定Ａと、高負荷時に用いるデータ設定Ｂを有しており、処理負荷に応じていずれかを設定する。すなわち、設定決定部２４，３４は、データ保持部２１を介して送受信するデータ量を決定する。設定決定部２４，３４が、データ量設定部に相当する。また、データ設定Ａが第１のデータ設定に相当し、データ設定Ｂが第２のデータ設定に相当する。
【００２５】
データ設定Ｂは、データ設定Ａに対して一部のデータが間引かれている。本実施形態では、データ設定Ｂが、同期処理のために必要最小限のデータを送受信する設定とされており、データ設定Ａは、必要最小限のデータに加えて、用いるとより好ましいデータも送受信する設定とされている。データ設定Ａは、同期処理に用いるすべてのデータを送受信する設定とされている。よって、データ設定Ａを用いるとマイコン２０，３０間通信のデータ量が増加し、データ設定Ｂを用いるとマイコン２０，３０間通信のデータ量が減少する。
【００２６】
設定決定部２４，３４は、負荷判定部２３，３３の判定結果に基づいてデータ設定を決定する。本実施形態では、設定決定部２４が、負荷判定部２３の判定結果と、通信によりマイコン３０から取得した負荷判定部３３の判定結果とを比較し、データ設定を決定する。同じく、設定決定部３４は、負荷判定部３３の判定結果と、通信によりマイコン２０から取得した負荷判定部２３の判定結果とを比較し、データ設定を決定する。
【００２７】
次に、図２及び図３に基づき、低負荷時と高負荷時のデータ設定について説明する。図２及び図３では、図１で省略した制御部２５，３５を示している。一方、Ｎｅ算出部２２，３２については、便宜上、図示を省略している。なお、ＲＡＭ及びバッファのデータ領域数は、図２及び図３に例示する数に限定されるものではない。
【００２８】
マイコン２０の制御部２５は、上記したようにエンジン制御を実行する。制御部２５は、クランク角センサ、カム角センサ、Ａ／Ｆセンサ、エアフロメータ、水温センサ、圧力センサ等の図示しない各種センサからの信号と、マイコン３０からのデータに基づいて、燃料噴射量や点火時期等のエンジン制御量を演算する。
【００２９】
マイコン３０の制御部３５は、上記したようにスロットル制御を実行する。制御部３５は、クランク角センサ、スロットルセンサ、アクセルセンサ等の図示しない各種センサからの信号と、マイコン２０からのデータに基づいて、スロットルバルブ開度、すなわち吸入空気量を演算する。
【００３０】
図２は、低負荷時に設定されるデータ設定Ａを示している。
【００３１】
マイコン２０において、たとえば、制御部２５にて算出された燃料噴射量、目標回転数、点火時期、ＰＭ堆積量が、同期処理のために送信するすべてのデータである。マイコン３０において、たとえば、制御部３５にて演算された吸入空気量と、アイドル回転数を上昇させるアイドルスイッチのオンオフ情報が、同期処理のために送信するすべてのデータである。
【００３２】
マイコン２０において、負荷判定部２３及び制御部２５は、送信すべきデータをＲＡＭの対応する領域に書き込む。負荷判定部２３は、低負荷であるため、フラグリセットを示す「０」をＲＡＭの対応する領域に書き込む。ＤＭＡコントローラは、ＲＡＭからデータを読み出してバッファに書き込み、マイコン３０へ送信する。マイコン３０のＤＭＡコントローラは、マイコン２０から送られたデータをバッファに一時的に保持し、ＲＡＭの対応する領域に書き込む。設定決定部３４は、ＲＡＭから負荷判定部２３の判定結果を読み出して、データ設定の決定処理を実行する。制御部３５は、ＲＡＭから燃料噴射量などのデータを読み出して、スロットル制御を実行する。
【００３３】
同じく、マイコン３０において、負荷判定部３３及び制御部３５は、送信すべきデータをＲＡＭの対応する領域に書き込む。負荷判定部３３は、低負荷であるため、フラグリセットを示す「０」をＲＡＭの対応する領域に書き込む。ＤＭＡコントローラは、ＲＡＭからデータを読み出してバッファに書き込み、マイコン２０へ送信する。マイコン２０のＤＭＡコントローラは、マイコン３０から送られたデータをバッファに一時的に保持し、ＲＡＭの対応する領域に書き込む。設定決定部２４は、ＲＡＭから負荷判定部３３の判定結果を読み出して、データ設定の決定処理を実行する。制御部２５は、ＲＡＭから吸入空気量などのデータを読み出して、エンジン制御を実行する。
【００３４】
図３は、高負荷時に設定されるデータ設定Ｂを示している。データ設定Ｂは、データ設定Ａに対して一部のデータが間引かれている。たとえばＰＭ堆積量やアイドルスイッチのオンオフ情報が間引かれている。
【００３５】
マイコン２０において、ＲＡＭへの書き込みはデータ設定Ａと同じである。ただし、負荷判定部２３は、高負荷であるため、フラグセットを示す「１」をＲＡＭの対応する領域に書き込む。ＤＭＡコントローラは、ＲＡＭからデータを読み出してバッファに書き込み、マイコン３０へ送信する。このとき、間引かれたデータについては、バッファへの書き込みは行わない。これにより、間引かれたデータは送信されない。マイコン３０のＤＭＡコントローラは、マイコン２０から送られたデータをバッファに一時的に保持し、保持したデータをＲＡＭの対応する領域に書き込む。設定決定部３４は、ＲＡＭから負荷判定部２３の判定結果を読み出して、データ設定の決定処理を実行する。また、制御部３５は、ＲＡＭから燃料噴射量などのデータを読み出して、スロットル制御を実行する。間引かれたデータについてはマイコン３０が受信しないため、制御部３５はＲＡＭが保持している前回値を読み出して制御に用いる。
【００３６】
マイコン３０において、ＲＡＭへの書き込みはデータ設定Ａと同じである。ただし、負荷判定部３３は、高負荷であるため、フラグセットを示す「１」をＲＡＭの対応する領域に書き込む。ＤＭＡコントローラは、ＲＡＭからデータを読み出してバッファに書き込み、マイコン３０へ送信する。このとき、間引かれたデータについては、バッファへの書き込みは行わない。これにより、間引かれたデータは送信されない。マイコン２０のＤＭＡコントローラは、マイコン３０から送られたデータをバッファに一時的に保持し、ＲＡＭの対応する領域に書き込む。設定決定部２４は、ＲＡＭから負荷判定部３３の判定結果を読み出して、データ設定の決定処理を実行する。また、制御部２５は、吸入空気量などのデータを読み出して、エンジン制御を実行する。間引かれたデータについてはマイコン２０が受信しないため、制御部２５はＲＡＭが保持している前回値を読み出して制御に用いる。
【００３７】
図４は、同期処理とデータ設定のタイミングを示している。上記したように、マイコン２０がエンジン制御処理を実行し、この処理結果に基づいて、マイコン３０がスロットル制御処理を実行する。また、マイコン３０がスロットル制御処理を実行し、この処理結果に基づいて、マイコン２０がエンジン制御処理を実行する。送受信処理において、マイコン２０は算出した燃料噴射量等を送信し、マイコン３０は算出した吸入空気量等を送信する。これにより、マイコン２０，３０が同期処理を実行する。マイコン２０の算出した値を、マイコン３０が次の周期で用いてスロットル制御を実行する。また、マイコン３０の算出した値を、マイコン２０が次の周期で用いてエンジン制御を実行する。また、マイコン２０，３０は、各周期において、マイコン２０，３０の処理負荷を判定し、送受信時に判定結果を送信することで、送受信処理後にデータ設定を行う。
【００３８】
次に、図５に基づき、各マイコン２０，３０が実行するデータ設定の決定処理について説明する。マイコン２０，３０は、クロック信号に基づく所定のタイミングで、処理を開始する。以下に示す処理は、マイコン２０，３０がともに実行する処理である。
【００３９】
図５に示すように、先ずマイコン２０，３０のＮｅ算出部２２，３２は、クランク角信号に基づいてエンジン回転数Ｎｅをそれぞれ算出する（ステップＳ１０）。次いで、マイコン２０，３０の負荷判定部２３，３３は、算出したエンジン回転数Ｎｅと所定値とを比較して、マイコン２０，３０全体の処理負荷をそれぞれ判定する（ステップＳ１２）。負荷判定部２３，３３は、エンジン回転数Ｎｅが所定値以上の場合に高負荷と判定し、所定値未満の場合に低負荷と判定する。負荷判定部２３，３３は、判定結果をＲＡＭの対応する領域にそれぞれ書き込む。
【００４０】
次いで、マイコン２０，３０は、送受信処理を実行する（ステップＳ１４）。この送受信処理では、上記したように、送受信処理の直前に制御部２５，３５により算出されたデータと、ステップＳ１２により得られた判定結果とを合わせて送受信する。ＤＭＡコントローラは、先の処理にて決定されたデータ設定にしたがって、送受信を制御する。
【００４１】
送受信処理の終了後、マイコン２０，３０の設定決定部２４，３４は、負荷判定部２３，３３の判定結果を比較して、判定結果が一致するか否かをそれぞれ判定する（ステップＳ１６）。たとえば、マイコン２０は、負荷判定部２３の判定結果と、ステップＳ１４の処理により取得した負荷判定部３３の判定結果とを比較して、一致するか否かを判定する。
【００４２】
判定結果が一致する場合、マイコン２０，３０は、不一致回数をカウントするカウンタをそれぞれクリアする（ステップＳ１８）。これにより、カウントがゼロになる。次いで、マイコン２０，３０は、一致結果が高負荷であるか否かを判定する（ステップＳ２０）。
【００４３】
高負荷の場合、マイコン２０，３０の設定決定部２４，３４は、データ設定としてデータ設定Ｂをセットする（ステップＳ２２）。一方、ステップＳ２０において高負荷ではない、すなわち低負荷の場合、マイコン２０，３０の設定決定部２４，３４は、データ設定としてデータ設定Ａをセットする（ステップＳ２４）。ステップＳ２２，Ｓ２４の処理が終了すると、一連の処理を終了する。ステップＳ２２，Ｓ２４でセットされたデータ設定は、次のデータ設定決定処理におけるステップＳ１４で用いられる。
【００４４】
一方、ステップＳ１６において、一致しない（不一致）の場合、マイコン２０，３０は、上記したカウンタをインクリメントし（ステップＳ２６）、次いで、カウンタのカウントが予め設定された所定値以上か否かを判定する（ステップＳ２８）。判定結果が一致すると、ステップＳ１８の処理によりカウンタがクリアされるため、不一致が所定回数継続することで、所定値以上となる。ステップＳ２８において、カウントが所定値未満の場合、ステップＳ２０に移行する。
【００４５】
カウントが所定値以上の場合、マイコン２０，３０は異常処理を実行する（ステップＳ３０）。たとえば、異常をユーザに通知する通知処理を実行したり、フェールセーフ処理を実行する。次いで、マイコン２０，３０は、ステップＳ２４の処理、すなわちデータ設定Ａをセットする。送受信データが多いデータ設定Ａをセットすることで、送受信データを間引く場合（データ設定Ｂ）よりもエンジン制御及びスロットル制御の安全性を高めることができる。
【００４６】
なお、ステップＳ１８，Ｓ２６，Ｓ２８の処理が、異常検出部に相当する。図５に示し処理のうち、ステップＳ１８，Ｓ２６，Ｓ２８，Ｓ３０を省略してもよい。この場合、ステップＳ１６で不一致の場合、ステップＳ２４の処理を実行してデータ設定Ａを設定することになる。
【００４７】
次に、上記した電子制御装置１０の効果について説明する。
【００４８】
この電子制御装置１０によれば、クランク角信号が同期処理を行う複数のマイコン２０，３０のそれぞれに入力される。マイコン２０，３０は、この共通の信号に基づいて、複数のマイコン２０，３０全体の処理負荷に相関するエンジン回転数Ｎｅをそれぞれ算出し、処理負荷が高負荷か否かを判定する。そして、複数のマイコン２０，３０での判定結果に基づいて、同期処理のためのマイコン２０，３０間通信のデータ量を変更する。このように、処理負荷に応じてデータ量を変更することができる。したがって、複数のマイコン２０，３０で処理順序に依存する同期処理を実行しつつ、処理負荷の増加を抑制することができる。これにより、たとえばエンジン回転数Ｎｅが高回転において、処理抜けが生じるのを抑制することができる。
【００４９】
特に本実施形態では、複数のマイコン２０，３０での判定結果がいずれも高負荷の場合に、複数のマイコン２０，３０での判定結果の少なくとも１つが高負荷ではない場合よりも、マイコン２０，３０間通信のデータ量を小さくする。具体的には、データ設定を切り替えることで、データ量を小さくする。このように、すべての判定結果が高負荷の場合にのみ、すなわち、高負荷であることがより正確に判断されたときにデータ量を小さくすることができる。
【００５０】
また、本実施形態では、クランク角信号を、マイコン２０，３０に対してともに入力される信号としている。したがって、マイコン２０，３０全体の処理負荷を精度良く判定することができる。信号が同じであるため、ステップＳ１６の不一致判定に基づいて、マイコン２０，３０の異常を検出することもできる。
【００５１】
この明細書の開示は、例示された実施形態に制限されない。開示は、例示された実施形態と、それらに基づく当業者による変形態様を包含する。たとえば、開示は、実施形態において示された要素の組み合わせに限定されない。開示は、多様な組み合わせによって実施可能である。開示される技術的範囲は、実施形態の記載に限定されない。開示されるいくつかの技術的範囲は、特許請求の範囲の記載によって示され、さらに特許請求の範囲の記載と均等の意味及び範囲内でのすべての変更を含むものと解されるべきである。
【００５２】
電子制御装置１０として、車両の走行駆動源であるエンジンを制御するエンジンＥＣＵの例を示したが、これに限定されない。車両が走行駆動源としてモータを備える構成において、モータを制御するＥＣＵにも適用することができる。
【００５３】
同期処理として、マイコン２０が実行するエンジン制御と、マイコン３０が実行するスロットル制御の例を示したが、これに限定されない。また、マイコン２０，３０に共に入力される信号としてクランク角信号の例を示したが、これに限定されない。たとえばモータを制御するＥＣＵの場合、モータの回転数を検出する回転信号を用いてもよい。
【００５４】
処理順序に依存する同期処理を実行する複数の演算部として、マイコン２０，３０の例を示したが、これに限定されない。同期処理を実行するマイコンの数は、上記例に限定されない。また、同一マイコン内の複数のコアを演算部としてもよい。
【００５５】
複数のマイコン２０，３０の処理負荷がいずれも高負荷の場合に、データ設定Ｂをセットする例を示したが、これに限定されない。図６に示す変形例において、ステップＳ１０，Ｓ１２，Ｓ１４，Ｓ２２，Ｓ２４の処理は、図５と同じである。ステップＳ１４の送受信処理が終了すると、マイコン２０，３０の設定決定部２４，３４は、負荷判定部２３，３３の判定結果の少なくとも１つとして高負荷があるか否かを判定する（ステップＳ１６Ａ）。そして、高負荷がある場合にステップＳ２２の処理を実行してデータ設定Ｂをセットし、高負荷が１つもない場合にステップＳ２４の処理を実行してデータ設定Ａをセットする。このように、判定結果のいずれかが高負荷を示せば、同期処理のためのマイコン２０，３０間通信のデータ量を小さくすることができる。すなわち、早期にデータ設定を切り替えて、処理抜け等が生じるのを抑制することができる。
【符号の説明】
【００５６】
１０…電子制御装置、
２０，３０…マイコン、
２１，３１…データ保持部、
２２，３２…Ｎｅ算出部、
２３，３３…負荷判定部、
２４，３４…設定決定部、
２５，３５…制御部
【図１】
2019164680.tif 000003
【図２】
2019164680.tif 000004
【図３】
2019164680.tif 000005
【図４】
2019164680.tif 000006
【図５】
2019164680.tif 000007
【図６】
2019164680.tif 000008