(57)【要約】【課題】構成部品の増加を抑制しつつ、マルチコアマイコンの複数のコアが正常に動作しているかどうかを監視することが可能な電子制御装置を提供する。【解決手段】マルチコアマイコン２０の複数のコア２１、２２の中で、監視情報を送信する送信コアが予め定められており、この送信コアが、当該送信コアの監視情報に加えて、他のコアの監視情報を用いて監視データを作成して、監視装置３０へ送信する。従って、監視装置３０の数をマルチコアマイコン２０の複数のコア２１、２２の数よりも少なくすることができ、電子制御装置１０の構成部品の増加を抑制することができる。【選択図】図１
2020021159.tif 000002
【特許請求の範囲】
【請求項１】
複数のコア（２１、２２）を有するマルチコアマイコン（２０）と、
前記マルチコアマイコンの前記複数のコアが正常に動作しているかどうかを監視する監視装置（３０）と、を備え、
前記複数のコアの中で、前記監視装置に対して、前記複数のコアが正常に動作しているかどうかを監視するための監視データを送信する送信コア（２１）が予め定められており、
前記送信コアは、前記送信コアに関する監視情報と、前記送信コア以外のコアに関する監視情報とを用いて前記監視データを作成して、前記監視装置に送信することを特徴とする電子制御装置。
【請求項２】
前記マルチコアマイコンは、前記複数のコアがアクセス可能な共有メモリ（２３）を備え、
前記送信コア以外のコアに関する監視情報は、前記共有メモリに保存され、
前記送信コアは、前記送信コア以外のコアに関する監視情報を前記共有メモリから取得することを特徴とする請求項１に記載の電子制御装置。
【請求項３】
前記複数のコアは、各々、監視情報を生成する監視情報生成処理（Ｓ１００、Ｓ２００）を繰り返し行うとともに、いずれかのコアで前記監視情報生成処理が完了したことに応じて、前記送信コアは、前記監視データの作成及び送信を実行することを特徴とする請求項１又は２に記載の電子制御装置。
【請求項４】
前記マルチコアマイコンは、前記送信コアの監視情報を保存するメモリを備え、
前記いずれかのコアで前記監視情報生成処理が完了したときに、残りのコアに前記監視情報生成処理が未完了のコアがある場合、前記送信コアは、前記監視データの作成に用いる監視情報として、前記監視情報生成処理が完了したコアに関しては、完了した前記監視情報生成処理により生成された監視情報を採用し、前記監視情報生成処理が未完了であるコアに関しては、前回の前記監視情報生成処理により生成された監視情報を採用することを特徴とする請求項３に記載の電子制御装置。
【請求項５】
前記送信コアは、いずれかのコアで前記監視情報生成処理が所定回数実行される間に、残りのコアにおいて、前記監視情報生成処理が未完了である状態が継続している未完了コアがある場合、当該未完了コアが異常である旨を示す監視情報を含む前記監視データを作成して送信することを特徴とする請求項３又は４に記載の電子制御装置。
【請求項６】
前記送信コアは、前記送信コアで前記監視情報生成処理が完了したことに応じて、前記監視データの作成及び送信を実行することを特徴とする請求項３に記載の電子制御装置。
【請求項７】
前記送信コアで前記監視情報生成処理が完了したときに、残りのコアにおける前記監視情報生成処理が完了しているコアに関しては、前記送信コアは、前記監視データの作成に用いる監視情報として、完了した前記監視情報生成処理により生成された監視情報を採用し、前記監視情報生成処理が未完了であるコアに関しては、前回の前記監視情報生成処理により生成された監視情報を採用することを特徴とする請求項６に記載の電子制御装置。
【請求項８】
前記監視情報生成処理が完了しているコアに関して、前回の監視情報生成処理により生成された監視情報が、前記監視データの作成に用いられていないコアがある場合、前記送信コアは、そのコアの監視情報として、前回の監視情報生成処理により生成された監視情報と、今回の監視情報生成処理により生成された監視情報とを用いて前記監視データを作成することを特徴とする請求項７に記載の電子制御装置。
【請求項９】
前記送信コアで前記監視情報生成処理が所定回数実行される間に、残りのコアにおいて、前記監視情報生成処理が未完了である状態が継続している未完了コアがある場合、前記送信コアは、前記未完了コアが異常である旨を示す監視情報を用いて前記監視データを作成することを特徴とする請求項６乃至８のいずれかに記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチコアマイコンを有し、当該マルチコアマイコンの複数のコアが正常に動作しているかどうかを監視する機能を備えた電子制御装置に関する。
【背景技術】
【０００２】
特許文献１には、負荷の駆動を制御するマイコンと、マイコンが正常に動作しているか否かを監視する監視ＩＣと、を備える電子制御装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１２７５４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述した特許文献１では、１つのコアを有するシングルコアマイコンに対して１つの監視ＩＣが設けられている。しかしながら、近年では、負荷を制御する処理が高度化、複雑化してきていることを考慮し、マイコンとして複数のコアを有するマルチコアマイコンを採用することが検討されている。
【０００５】
マルチコアマイコンを採用した場合に、それぞれのコアの動作を監視するために複数のコアの各々と１対１に対応するように複数の監視ＩＣを設けたとすると、電子制御装置の構成部品が増加し、コストアップしてしまう。
【０００６】
本発明は、上述した点に鑑みてなされたものであり、構成部品の増加を抑制しつつ、マルチコアマイコンの複数のコアが正常に動作しているかどうかを監視することが可能な電子制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明による電子制御装置は、
複数のコア（２１、２２）を有するマルチコアマイコン（２０）と、
マルチコアマイコンの複数のコアが正常に動作しているかどうかを監視する監視装置（３０）と、を備え、
複数のコアの中で、監視装置に対して、複数のコアが正常に動作しているかどうかを監視するための監視データを送信する送信コア（２１）が予め定められており、
送信コアは、送信コアに関する監視情報と、送信コア以外のコアに関する監視情報とを用いて監視データを作成して、監視装置に送信することを特徴とする。
【０００８】
このように、本発明では、複数のコアの中で、監視情報を送信する送信コアが予め定められており、この送信コアが、当該送信コアの監視情報に加えて、他のコアの監視情報を用いて監視データを作成して、監視装置へ送信する。従って、監視装置の数をマルチコアマイコンの複数のコアの数よりも少なくすることができ、電子制御装置の構成部品の増加を抑制することができる。さらに、複数のコアの数よりも少ない数の監視装置に対して、複数のコアがそれぞれ独自に監視情報を送信すると、監視情報の送信が競合する可能性が生じるが、本発明では、予め送信コアを定めているので、そのような競合が生じる可能性も低減することができる。
【０００９】
上記括弧内の参照番号は、本開示の理解を容易にすべく、後述する実施形態における具体的な構成との対応関係の一例を示すものにすぎず、なんら発明の範囲を制限することを意図したものではない。
【００１０】
また、上述した特徴以外の、特許請求の範囲の各請求項に記載した技術的特徴に関しては、後述する実施形態の説明及び添付図面から明らかになる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態の電子制御装置の構成を示す構成図である。
【図２】各コアにて生成される監視情報の一例を示す図である。
【図３】第２コアにて実行される、監視情報を生成して共有ＲＡＭに格納するための処理を示すフローチャートである。
【図４】送信コアである第１コアにて実行される、監視データを送信するための処理を示すフローチャートである。
【図５】図３のフローチャートにおける第１監視データ作成処理の詳細を示すフローチャートである。
【図６】図３のフローチャートにおける第２監視データ作成処理の詳細を示すフローチャートである。
【図７】第１コアでの監視処理により生成される監視情報と、第２コアでの監視処理により生成される監視情報とから監視データを作成するいくつかの例を説明するためのタイミングチャートである。
【図８】監視装置における処理を示すフローチャートである。
【図９】監視装置の作動を説明するためのタイミングチャートである。
【図１０】電子制御装置の変形例の構成を示す構成図である。
【図１１】送信コアである第１コアにて実行される、監視データを送信するための処理の変形例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について、図面を参照しつつ説明する。
【００１３】
電子制御装置（ＥＣＵ）１０は、例えば車両のエンジンの燃料噴射、点火時期、及び／又は、エンジンの吸気経路に設けられたスロットルバルブの開度を制御する用途に適用される。より具体的には、ＥＣＵ１０のマルチコアマイコン２０は、例えば、それぞれのセンサによって検出されるエンジン回転数、エンジン冷却水温、吸気量、空燃比、アクセルペダル開度、車両速度などに基づいて、燃料噴射量、点火時期、スロットル開度などを制御するための制御信号を生成し、インジェクタ、イグナイタ、及び／又はスロットルモータに出力する。
【００１４】
電子制御装置１０は、図１に示すように、マルチコアマイコン２０と、監視装置３０とを有する。マルチコアマイコン２０は、第１コア２１及び第２コア２２を有するデュアルコアマイコンであり、第１コア２１及び第２コア２２がともにアクセス可能な共有メモリ（以下、共有ＲＡＭと称する）２３を備えている。また、図示していないが、第１コア２１及び第２コア２２は、それぞれローカルＲＡＭも有している。第１コア２１及び第２コア２２は、演算処理の結果をローカルＲＡＭなどに一時的に記憶しつつ、ＲＯＭに記憶されたプログラムに応じた演算処理を実行する。これにより、第１コア２１及び第２コア２２は、上述したインジェクタ、イグナイタ、及び／又はスロットルモータへの制御信号を生成して出力することができる。なお、図１には、マルチコアマイコン２０として、第１コア２１及び第２コア２２を備えたデュアルコアマイコンを示しているが、マルチコアマイコン２０のコアの数は３個以上であってもよい。
【００１５】
また、マルチコアマイコン２０の第１コア２１は、図１に示すように、監視装置３０に対し、第１コア２１及び第２コア２２が正常に動作しているかどうかを監視するための監視データを送信する。換言すれば、本実施形態では、マルチコアマイコン２０が有する複数のコア２１、２２の中で、監視装置３０に対して、複数のコア２１、２２が正常に動作しているかどうかを監視するための監視データを送信する送信コアが予め定められている。つまり、第１コア２１が、送信コアとして、監視データを監視装置３０に送信する。従って、監視装置３０の数をマルチコアマイコン２０の複数のコア２１、２２の数よりも少なくすることができ、ＥＣＵ１０の構成部品の増加を抑制することができる。さらに、複数のコア２１、２２の数よりも少ない数の監視装置３０に対して、複数のコア２１、２２がそれぞれ独自に監視情報を送信すると、監視情報の送信が競合する可能性が生じるが、本実施形態では、予め送信コアを定めているので、そのような競合が生じる可能性も低減することができる。
【００１６】
第１コア２１及び第２コア２２は、定期的に、それぞれのコアが正常に作動しているか監視するための監視処理を行う。例えば、第１コア２１及び第２コア２２は、監視処理として、プログラムにおいて所定の機能を果たすタスクが終了する毎に、そのタスクを構成する複数の処理が規定の順序で実行されたか否かにより、コアが正常に作動しているかを判定することができる。具体例としては、図２（ａ）に示すように、あるタスクが、「００」から「０４」までの処理を含み、その実行順序が、「００」から「０４」まで番号順に行われることになっていた場合、実際に、番号順に従って「００」から「０４」までの処理が行われれば、監視処理は、コアは正常に作動していると判定する。その場合、監視処理は、監視結果として、コアは正常に作動している旨を示す監視情報（すなわち「正常」）を生成する。一方、図２（ｂ）に示すように、番号の大きな処理が、番号の小さい処理よりも先に実行されたり、図２（ｃ）に示すように、ある番号の処理がスキップされて実行されなかったりすると、監視処理は、コアの作動は異常であると判定する。その場合、監視処理は、監視結果として、コアの作動は異常である旨を示す監視情報（すなわち、「異常」）を生成する。
【００１７】
ただし、第１コア２１及び第２コア２２が行う監視処理は、上述した例に限られない。例えば、第１コア２１及び第２コア２２は、定期的に、それぞれのローカルＲＡＭを用いてデータの書き込み及び読み取りチェックを行うことにより、コアが正常に作動しているか否かを判定してもよい。具体的には、監視処理は、所定のデータをローカルＲＡＭに書き込ませ、その書き込んだデータ通りのデータが読み取れれば、コアは正常に作動していると判定し、その旨を示す監視情報を生成することができる。一方、監視処理は、読み取ったデータが書き込んだデータと異なる場合には、コアの作動は異常であると判定し、その旨を示す監視情報を生成することができる。
【００１８】
送信コアとしての第１コア２１は、監視処理の実行により上述した監視情報が生成されると、一旦、第１コア２１に対応するローカルＲＡＭ、または共有ＲＡＭ２３に保存する。一方、第２コア２２は、監視処理の実行により監視情報が生成されると、図１に示すように、共有ＲＡＭ２３の所定の記憶領域２３ａに保存する。この所定の記憶領域２３ａには、複数の監視情報が格納可能であるとともに、それら複数の監視情報が第１コア２１によって読み出されたか、まだ読み出し前であるかを区別可能なフラグ及び複数の監視情報の格納順序に関する情報も保存されている。
【００１９】
送信コアとしての第１コア２１は、第１コア２１に関する監視情報と、第２コア２２に関する監視情報とを用いて監視データを作成し、監視装置３０に送信する。より詳細には、第１コア２１は、自コアにおいて監視処理が完了したタイミングで、共有ＲＡＭ２３の所定の記憶領域２３ａを参照する。そして、第１コア２１は、記憶領域２３ａに読み出し前の監視情報が格納されている場合には、その読み出し前の監視情報を読み出す。一方、読み出し前の監視情報が格納されていない場合、第１コア２１は、読み出し済みの監視情報の中で最新の監視情報を、再度読み出す。
【００２０】
第１コア２１は、ローカルＲＡＭまたは共有ＲＡＭ２３に保存した自コアに関する監視情報と、共有ＲＡＭ２３から読み出した第２コア２２に関する監視情報とを用いて、監視データを作成する。具体的には、第１コア２１の監視情報と第２コア２２の監視情報とが、ともに、コアの正常作動を示すものである場合、第１コア２１は、コアの作動は正常である旨を示す監視データを作成する。一方、第１コア２１の監視情報と第２コア２２の監視情報との少なくとも一方が、コアの異常作動を示すものである場合、第１コア２１は、コアの作動が異常である旨を示す監視データを作成する。このように、第１コア２１は、第１コア２１の監視情報と第２コア２２の監視情報とを統合した監視データを作成する。
【００２１】
監視装置３０は、マルチコアマイコン２０の第１コア２１から送信された監視データを受信する。監視装置３０は、マルチコアマイコン２０のコアの作動が異常となった回数をカウントする異常カウンタを有する。監視装置３０は、受信した監視データがコアの作動が異常であることを示す場合、異常カウンタをインクリメントする。そして、監視装置３０は、異常カウンタのカウント値が所定の閾値以上となると、マルチコアマイコン２０へリセット信号を出力してマルチコアマイコン２０をリセット（再起動）する。
【００２２】
次に、上述した構成を備えた電子制御装置１０において、第１コア２１及び第２コア２２において実行される具体的な処理について、図３〜図６のフローチャートを参照して説明する。図３のフローチャートは、第２コア２２にて実行される処理を示す。図４のフローチャートは、送信コアとしての第１コア２１にて実行される処理を示す。図５及び図６のフローチャートは、図４のフローチャートにおける第１監視データ作成処理及び第２監視データ作成処理の内容を示すものである。
【００２３】
図３のフローチャートに示す処理は、第２コア２２において、定期的に実行される。最初のステップＳ１００では、第２コア監視処理を実行する。具体的には、第２コア２２は、実際に実行された各タスクの処理を示す情報を共有ＲＡＭ２３などに順番に保存するとともに、タスクが終了したタイミングで、実際に実行された処理の順序が規定の順序に一致しているか否かを判定する。そして、その判定結果に応じて、第２コア２２の作動は正常である旨を示す監視情報、もしくは第２コア２２の作動が異常である旨を示す監視情報を作成し、ステップＳ１１０において、作成した監視情報を共有ＲＡＭ２３に保存する。
【００２４】
次に、図４のフローチャートの処理について説明する。図４のフローチャートに示す処理は、第１コア２１において、定期的に実行される。最初のステップＳ２００では、第１コア監視処理を実行する。具体的には、第１コア２１は、実際に実行された各タスクの処理を示す情報をローカルＲＡＭなどに順番に保存するとともに、タスクが終了したタイミングで、実際に実行された処理の順序が規定の順序に一致しているか否かを判定する。そして、その判定結果に応じて、第１コア２１の作動は正常である旨を示す監視情報、もしくは第１コア２１の作動が異常である旨を示す監視情報を作成し、ローカルＲＡＭまたは共有ＲＡＭ２３に保存する。監視情報が作成され保存されると、第１コア監視処理は、一旦、完了したものとみなされる。
【００２５】
続くステップＳ２１０では、第１コア監視処理が完了したか否かが判定される。この判定処理において、第１コア監視処理はまだ完了していないと判定されると、ステップＳ２００の第１コア監視処理が継続して実行される。一方、第１コア監視処理が完了したと判定されると、ステップＳ２２０の処理に進む。ステップＳ２２０では、共有ＲＡＭ２３の所定の記憶領域２３ａを参照することにより、第２コア２２にて定期的に実行される第２コア監視処理が完了しているか否かを判定する。具体的には、第１コア２１は、読み出し前の監視情報が記憶領域２３ａに格納されていれば、第２コア監視処理は完了していると判定し、読み出し済みの監視情報しか格納されていなければ、第２コア監視処理はまだ完了していないと判定する。ステップＳ２２０の処理において、第２コア監視処理が完了していると判定した場合、ステップＳ２３０の処理に進む。一方、第２コア監視処理がまだ完了していないと判定した場合には、ステップＳ２４０の処理に進む。
【００２６】
ステップＳ２３０では、第１監視データ作成処理を実行する。また、ステップＳ２４０では第２監視データ作成処理を実行する。そして、第１コア２１は、いずれかの監視データ作成処理によって作成した監視データを、ステップＳ２５０で、監視装置３０へ送信する。以下に、ステップＳ２３０の第１監視データ作成処理、及びステップＳ２４０の第２監視データ作成処理の詳細を説明する。
【００２７】
まず、第１監視データ作成処理について、図５のフローチャート及び図７のタイミングチャートを参照して詳しく説明する。
【００２８】
図５のフローチャートの最初のステップＳ３００では、共有ＲＡＭ２３に格納されている第２コア２２の複数の監視情報の中の前回の監視情報が、第１コア２１によって読み出され、監視データを作成するために用いられたか否かを判定する。つまり、ステップＳ３００では、共有ＲＡＭ２３の記憶領域２３ａに、読み出し前の監視情報として、今回の監視情報だけでなく前回の監視情報も含めて２回分の監視情報が格納されているか否かを判定する。このステップＳ３００の処理において、前回の監視情報が、第１コア２１によって読み出されており、読み出し前の監視情報は今回の監視情報、すなわち、読み出し前の監視情報は１回分だけであると判定すると、ステップＳ３１０の処理に進む。一方、読み出し前の監視情報は、２回分の監視情報であると判定すると、ステップＳ３２０の処理に進む。
【００２９】
ステップＳ３１０では、第１コア２１の今回の監視情報と第２コア２２の今回の監視情報とを用いて監視データを作成するために、第１コア２１の今回の監視情報と第２コア２２の今回の監視情報とが、ともに、コアの正常作動を示すものであるかどうかを判定する。このステップＳ３１０の判定処理で、第１コア２１の今回の監視情報と第２コア２２の今回の監視情報とが、図７の時間Ｔ１のときに得られたそれぞれの監視情報のように、ともに、コアの正常作動を示すものであると判定した場合、ステップＳ３３０に進み、コアの作動は正常である旨を示す監視データを作成する。逆に、第１コア２１の今回の監視情報と第２コア２２の今回の監視情報との少なくとも一方が、コアの異常作動を示すものであると判定した場合、ステップＳ３４０の処理に進み、コアの作動が異常である旨を示す監視データを作成する。
【００３０】
ステップＳ３２０では、第２コア２２に関する２回分の監視情報が読み出し前であるため、第１コア２１の今回の監視情報と第２コア２２の前回と今回の監視情報とを用いて監視データを作成するために、第１コア２１の今回の監視情報と第２コア２２の前回と今回の監視情報とが、すべて、コアの正常作動を示すものであるかどうかを判定する。第１コア２１の今回の監視情報と第２コア２２の前回と今回の監視情報とが、すべて、コアの正常作動を示すものである場合、ステップＳ３２０の判定結果が「Ｙｅｓ」となる。この場合、ステップＳ３３０の処理に進み、コアの作動は正常である旨を示す監視データが作成される。逆に、例えば、図７のタイミングチャートの時間Ｔ３のときに得られた各監視情報のように、第１コア２１の今回の監視情報と第２コア２２の前回と今回の監視情報との少なくとも１つが、コアの異常作動を示すものである場合、ステップＳ３２０の判定結果が「Ｎｏ」となる。この場合、ステップＳ３４０の処理に進み、コアの作動が異常である旨を示す監視データが作成される。
【００３１】
次に、第２監視データ作成処理について、図６のフローチャート及び図７のタイミングチャートを参照して詳しく説明する。
【００３２】
図６のフローチャートの最初のステップＳ４００では、共有ＲＡＭ２３に読み出し前の第２コア２２の監視情報は格納されていないので、第１コア２１の今回の監視情報と第２コア２２の読み出し済みの前回の監視情報（格納されている中で最も新しい監視情報）とを用いて監視データを作成するために、第１コア２１の今回の監視情報と第２コア２２の前回の監視情報とが、ともに、コアの正常作動を示すものであるかどうかを判定する。このような状況は、例えば、図７のタイミングチャートの時間Ｔ２、Ｔ４のように、第１コア監視処理が完了して、第１コア監視情報が作成されたときに、まだ、第２コア監視処理が完了していない場合に発生する。
【００３３】
ここで、第１コア２１が、第１コア２１の今回の監視情報と第２コア２２の今回の監視情報とから監視データを作成するために、第２コア２２における第２コア監視処理の完了を待機するものである場合、第１コア２１での待機時間により全体の処理効率が低下するという問題が発生しうる。
【００３４】
それに対し、本実施形態では、共有ＲＡＭ２３に読み出し前の第２コア２２の監視情報が格納されていない場合、その監視情報が格納されるまで待機するのではなく、共有ＲＡＭ２３に格納されている読み出し済みの第２コア２２の監視情報を用いて監視データを作成するようにしている。従って、第１コア２１において、第２コア２２で実行されている第２コア監視処理の完了を待機する必要がなく、全体の処理効率の低下を回避することが可能となる。
【００３５】
例えば、図７のタイミングチャートの時間Ｔ２で作成される監視データのように、第１コア２１の今回の監視情報と第２コア２２の前回の監視情報とが、ともに、コアの正常作動を示すものである場合、ステップＳ４００の判定結果が「Ｙｅｓ」となる。この場合、ステップＳ４１０の処理に進み、コアの作動は正常である旨を示す監視データが作成される。逆に、図７のタイミングチャートの時間Ｔ４で作成される監視データのように、第１コア２１の今回の監視情報と第２コア２２の前回と今回の監視情報との少なくとも１つが、コアの異常作動を示すものである場合、ステップＳ４００の判定結果が「Ｎｏ」となる。この場合、ステップＳ４２０の処理に進み、コアの作動が異常である旨を示す監視データが作成される。
【００３６】
次に、監視装置３０にて実行される具体的な処理について、図８のフローチャート及び図９のタイミングチャートを用いて説明する。なお、図８のフローチャートに示す処理は、定期的に、もしくはマルチコアマイコン２０から監視データの送信があったときに実行される。
【００３７】
最初のステップＳ５００では、マルチコアマイコン２０と通信することにより、マルチコアマイコン２０から送信された監視データを受信する。続くステップＳ５１０では、受信した監視データが、コアの作動が正常であることを示すものであるか否かを判定する。このステップＳ５１０において、コアの作動が正常であることを示す監視データであると判定すると、ステップＳ５２０に進む。一方、コアの作動が異常であることを示す監視データであると判定すると、ステップＳ５３０の処理に進む。
【００３８】
ステップＳ５２０では、監視装置３０の異常カウンタのカウント値を「０」にクリアする。一方、ステップＳ５３０では、異常カウンタをインクリメントする。これらステップＳ５２０、Ｓ５３０の処理によって、図９のタイミングチャートに示すように、コアの作動の異常を示す監視データが連続して受信されると、監視データの受信毎に、異常カウンタのカウント値も上昇していく。一方、コアの異常を示す監視データを受信後に、コアの正常を示す監視データが受信されると、異常カウンタのカウント値は「０」にクリアされる。
【００３９】
しかしながら、コアの正常を示す監視データの受信によって異常カウンタを「０」にクリアするのではなく、異常カウンタのカウント値をそのまま保持してもよい。これにより、異常カウンタによって累積的なコアの動作異常の発生回数をカウントすることができるようになる。この場合、マルチコアマイコン２０がリセットされたときに、異常カウンタのカウント値が「０」にクリアされるようにすればよい。
【００４０】
ステップＳ５４０では、異常カウンタのカウント値が所定の閾値以上まで上昇したか否かが判定される。このステップＳ５４０で、異常カウンタのカウント値が所定の閾値以上と判定されると、ステップＳ５５０で、監視装置３０は、マルチコアマイコン２０に対してリセット信号を出力する。このリセットにより、マルチコアマイコン２０のコアが正常に作動するようになると、図９のタイミングチャートに示すように、異常カウンタのカウント値が「０」にクリアされる。
【００４１】
以上、本発明の好ましい実施形態について説明したが、本発明は、上述した実施形態になんら制限されることなく、本発明の趣旨を逸脱しない範囲において、種々変形して実施することができる。
【００４２】
例えば、上述した実施形態は、送信コアとしての第１コア２１において第１監視処理が完了したタイミングで、第１コア２１に関する監視情報と第２コア２２に関する監視情報とを用いて監視データを作成し、監視装置３０へ送信するものであった。しかしながら、監視データは、第２コア２２において第２監視処理が完了したタイミングで第１コア２１にて作成され、送信されてもよい。さらに、第１コア２１における第１監視処理の完了タイミングと第２コア２２における第２監視処理の完了タイミングとの両方で、監視データを作成して送信してもよい。
【００４３】
このように、第２コア監視処理が完了したタイミングで、第１コア２１が監視データを作成するには、図１０に示すように、第２コア２２が、第２コア監視処理を完了し、監視情報を共有ＲＡＭ２３に格納したとき、第１コア２１へその旨を通知するように構成すればよい。
【００４４】
また、上述した実施形態において、第１コア２１にて、第１コア監視処理が所定回数（複数回）実行される間に、第２コア２２において、第２コア監視処理が未完了である状態が継続し、監視情報が更新されない場合、第１コア２１は、第１コア２１の監視情報に係らず、コアの異常を示す監視データを作成してもよい。図１１のフローチャートは、この場合の第１コア２１にて実行される処理の一例を示している。図１１のフローチャートは、図４のフローチャートに対して、ステップＳ２２５及びステップＳ２４５の処理が追加されたものである。
【００４５】
ステップＳ２２５では、第１コア監視処理により２回以上、監視情報が生成される間に、第２コア監視処理によって１度も第２コア２２の監視情報が更新されないかどうかを判定し、更新されない場合には、ステップＳ２４５において、強制的に、異常を示す監視データを作成している。
【００４６】
なお、同様に、第２コア監視処理によって所定回数以上、監視情報が生成される間に、第１コア監視処理では１度も第１コア２１の監視情報が更新されない場合に、第１コア２１は、コアの異常を示す監視データを作成するようにしてもよい。
【００４７】
さらに、上述した実施形態では、第１コア２１及び第２コア２２が、各タスクを構成する複数の処理が規定の順序で実行されたか否かを判定し、規定の順序で実行されていればコアが正常であることを示す監視情報を作成し、そうでなければコアが異常であることを示す監視情報を作成した。しかしながら、第１コア２１及び第２コア２２にて実行された各タスクの複数の処理の順序を監視情報とし、第１コア２１は、それらの監視情報を含む監視データを監視装置３０へ送信してもよい。この場合、監視装置３０が、受信した監視データに基づき、第１コア２１及び第２コア２２で実行された各タスクの処理の順序が規定の順序通りか判定することになる。
【符号の説明】
【００４８】
１０：電子制御装置、２０：マルチコアマイコン、２１：第１コア、２２：第２コア、２３：共有ＲＡＭ、２３ａ：記憶領域、３０：監視装置
【図１】
2020021159.tif 000003
【図２】
2020021159.tif 000004
【図３】
2020021159.tif 000005
【図４】
2020021159.tif 000006
【図５】
2020021159.tif 000007
【図６】
2020021159.tif 000008
【図７】
2020021159.tif 000009
【図８】
2020021159.tif 000010
【図９】
2020021159.tif 000011
【図１０】
2020021159.tif 000012
【図１１】
2020021159.tif 000013