JP2020173644A - 電子制御装置 - Google Patents
電子制御装置 Download PDFInfo
- Publication number
- JP2020173644A JP2020173644A JP2019075601A JP2019075601A JP2020173644A JP 2020173644 A JP2020173644 A JP 2020173644A JP 2019075601 A JP2019075601 A JP 2019075601A JP 2019075601 A JP2019075601 A JP 2019075601A JP 2020173644 A JP2020173644 A JP 2020173644A
- Authority
- JP
- Japan
- Prior art keywords
- core
- job
- execution time
- task
- monitoring
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Microcomputers (AREA)
Abstract
【課題】複数のコアで処理を分散して実行するマイコンの処理能力が低下することを防止できる電子制御装置を提供する。【解決手段】電子制御装置(ECU)1のマイコン2は、複数のコアA〜NとROM3とを内部バス4で接続して構成されている。各コアA〜Nは、ROMに記憶されているプログラムを実行することにより制御対象であるエンジンを制御する。コアNは、ジョブ開始要求に応じてジョブ起床時プログラムにより最大許容実行時間を取得すると共にコアA〜Cに対してタスクを実行することを要求する。コアA〜Cは、コアNからの要求に応じて被監視プログラムによりタスクの実行を開始し、当該タスクの実行が完了した場合はタスク完了時プログラムによりタスク完了を通知する。コアNは、最大許容実行時間が経過するまでに全てのコアA〜Cからタスク完了が通知されなかった場合は実行時間異常を判断することでジョブ実行時間を監視する。【選択図】図1
Description
本発明は電子制御装置に関する。
従来、マイクロコンピュータ(以下、マイコンと称す)のジョブ実行時間を監視する方法として、特許文献1により開示されているようにオペレーティングシステム(以下、OSと称す)がジョブにより最初のタスクが起床されてからの経過時間を計測する技術がある。
特許文献1の技術はコアのOSがジョブ実行時間を監視しているため、複数のコアが搭載されたマルチコアマイコンを用いてジョブを実行すると、ジョブが複数のコアにタスクとして分散され、ジョブ全体としての実行時間の監視ができなくなるという問題が生じる。特に、エンジン制御プログラムのような実行順序の制約があり、実行時間にも厳しい制約があるプログラムにとって大きな問題である。
例えば、処理a,b,c,dからなるジョブを実行する際に、実行順序の制約として、処理aを処理b,c,dより先に実行する場合を想定する。一つのコアのみが搭載されたシングルコアで上記ジョブa,b,c,dを実行しようとすると、ジョブ開始要求に応じてタスクが起床し、処理a,b,c,dが順に実行される。この場合、コアのOSが計測したタスク実行時間とジョブ実行時間とは一致するため、ジョブ全体としてのジョブ実行時間を監視することができる。
一方、複数のコアが搭載されたマルチコアマイコンにて、上記ジョブa,b,c,dをタスクとして各コアに分散させて実行する場合を想定する。実行順序の制約を満たすために、ジョブ開始要求に応じてまずコアAで処理aを実行し、当該処理a完了後、コアAで処理b、コアBで処理c、コアCで処理dを実行する。この場合、実行時間の監視は各コアのOS毎に実施するため、分散後の各タスク実行時間は監視できるが、ジョブ全体としての監視を行うことはできない。ジョブ実行時間としては処理aの開始から処理cの終了までであるが、処理bの終了はコアAのOSのみが監視し、処理cの終了はコアBのOSのみが監視し、処理dの終了はコアCのOSのみが監視しているため、ジョブ実行時間を監視することはできない。
このような問題点は、ジョブ開始要求と同時に全てのコアでタスクを起床させ、各コアのタスク実行時間のうち最長の時間をジョブ実行時間とすることで解決できる。
しかしながら、このような手法では、処理順規定のある処理が終わるまでは他コアはタスク起床状態で何も処理を実行させない状態にする必要があり、マイコン全体としての性能が低下するという問題が生じる。
しかしながら、このような手法では、処理順規定のある処理が終わるまでは他コアはタスク起床状態で何も処理を実行させない状態にする必要があり、マイコン全体としての性能が低下するという問題が生じる。
本発明は上記事情に鑑みてなされたもので、その目的は、複数のコアで処理を分散して実行するマイコンの処理能力が低下することを防止できる電子制御装置を提供することにある。
請求項1の発明によれば、監視用コア(N)は、ジョブ開始要求に応じてジョブ起床時プログラムにより最大許容実行時間を取得した後、監視部(N,6)にセットすると共にコア(A〜C)に対してタスクを実行することを要求し、監視部(N,6)により実行時間異常を判断することでジョブ実行時間を監視する。
複数のコア(A〜C)は、監視用コア(N)からの要求に応じて被監視プログラムによりタスクの実行を開始し、当該タスクの実行が完了した場合はタスク完了時プログラムによりタスク完了を監視部(N,6)に通知する。監視部(N,6)は、最大許容実行時間が経過するまでに全てのコア(A〜C)からタスク完了が通知されなかった場合は実行時間異常と判断する。
複数のコア(A〜C)は、監視用コア(N)からの要求に応じて被監視プログラムによりタスクの実行を開始し、当該タスクの実行が完了した場合はタスク完了時プログラムによりタスク完了を監視部(N,6)に通知する。監視部(N,6)は、最大許容実行時間が経過するまでに全てのコア(A〜C)からタスク完了が通知されなかった場合は実行時間異常と判断する。
以下、複数の実施形態について図面を参照して説明する。複数の実施形態において、機能的または構造的に対応する部分には同一の参照符号を付与する。
(第1実施形態)
車両に搭載されるエンジンECUに適用した第1実施形態について図1から図6を参照して説明する。
(第1実施形態)
車両に搭載されるエンジンECUに適用した第1実施形態について図1から図6を参照して説明する。
図1に示すエンジンECU1(電子制御装置に相当)はマイコン2を主体として構成されている。マイコン2は、複数のコアA〜NとROM3(記憶部に相当)とを内部バス4で接続して構成されている。各コアA〜NがROM3に記憶されているプログラムを実行することにより制御対象であるエンジンを制御する。
ROM3には、プログラムとして、被監視プログラム、ジョブ起床時プログラム、タスク完了時プログラム、監視プログラム5が記憶されている。
被監視プログラムはジョブを構成するタスクを実行するためのもので、実行時間の監視対象となる。以下、説明の簡単化のために、図2に示すようにジョブがタスクとしての処理a〜dから構成され、マイコン2がコアA〜CとコアNを備えている構成を例示して説明するが、これに限定されるものではない。
被監視プログラムはジョブを構成するタスクを実行するためのもので、実行時間の監視対象となる。以下、説明の簡単化のために、図2に示すようにジョブがタスクとしての処理a〜dから構成され、マイコン2がコアA〜CとコアNを備えている構成を例示して説明するが、これに限定されるものではない。
各処理a〜dを実行するコアと実行順序は、各コアA〜Cが実行する被監視プログラムにより規定されている。つまり、コアAが実行する被監視プログラムは処理a,bを順に実行する。コアBが実行する被監視プログラムは処理cを実行する。コアCが実行する被監視プログラムは処理dを実行する。
コアA〜Cは、監視用コア(N)からの要求に応じて被監視プログラムを実行する。つまり、図3に示すようにコアAは処理aを開始し、当該処理aの実行を終了してから処理bを開始する。コアBは、コアAが処理aの実行を終了してから処理cを実行する。コアCは、コアAが処理aの実行を終了してから処理cを実行する。この場合、コアAにおいては、処理aの実行時間と処理bの実行時間とを合わせた時間がタスク実行時間である。コアBにおいては、処理cの実行時間がタスク実行時間である。コアCにおいては、処理dの実行時間がタスク実行時間である。
図3に示すようにコアBによる処理cの終了タイミングが最も遅くなる場合は、ジョブ開始要求からコアBによる処理cの終了タイミングまでがジョブ実行時間となる。ジョブ実行時間は最大許容実行時間内となることが要求されており、ジョブ実行時間が最大許容実行時間を超えるような場合は異常となる。
コアNは監視用コアとして設定されており、ジョブ起床時プログラムと監視プログラムとを実行する。ジョブ起床時プログラムとは、ジョブ起床時処理により最大許容実行時間を取得するプログラムである。
監視プログラムとは、当該監視プログラムの一部として設けられたタイマによりジョブ監視するプログラムである。監視プログラムは、ジョブ開始要求に応じてタイマにより時間計測を開始すると共にコアA〜Cに対してタスクを実行することを要求し、タイマによる経過時間が最大許容実行時間を超えると実行時間異常と判断する。最大許容実行時間は複数設定することが可能である。
監視プログラムとは、当該監視プログラムの一部として設けられたタイマによりジョブ監視するプログラムである。監視プログラムは、ジョブ開始要求に応じてタイマにより時間計測を開始すると共にコアA〜Cに対してタスクを実行することを要求し、タイマによる経過時間が最大許容実行時間を超えると実行時間異常と判断する。最大許容実行時間は複数設定することが可能である。
次に、マイコン2の動作について具体的に説明する。
運転者がイグニッションスイッチをONすると、エンジンECU1にバッテリから給電されるので、各コアA〜C及びコアNが起動する。各コアA〜Cは、起動すると被監視プログラムとタスク完了プログラムとをROM3から読込む。監視実行用のコアNは、起動するとジョブ起床時プログラムと監視プログラムとをROM3から読込む。
運転者がイグニッションスイッチをONすると、エンジンECU1にバッテリから給電されるので、各コアA〜C及びコアNが起動する。各コアA〜Cは、起動すると被監視プログラムとタスク完了プログラムとをROM3から読込む。監視実行用のコアNは、起動するとジョブ起床時プログラムと監視プログラムとをROM3から読込む。
(正常時)
図4に示すようにコアNは、ジョブ開始要求1が発行されるとジョブ起床時プログラムを起床することで各コアA〜Cにジョブ開始を通知すると同時に最大許容実行時間1の情報を取得してタイマによる時間計測を開始する。
図4に示すようにコアNは、ジョブ開始要求1が発行されるとジョブ起床時プログラムを起床することで各コアA〜Cにジョブ開始を通知すると同時に最大許容実行時間1の情報を取得してタイマによる時間計測を開始する。
コアA〜Cは、コアNからの要求に応じて被監視プログラムを起床する。コアAは、最初のタスクである処理aを実行し、当該処理aの実行を完了するとコアB及びコアCに処理完了を通知してから次のタスクである処理bを実行し、当該処理bの実行を終了すると、タスク完了をコアNに通知する。コアBは、コアAから処理完了が通知されると処理cを実行し、当該処理cの実行を終了すると、タスク完了をコアNに通知する。コアCは、コアAから処理完了が通知されると処理dを実行し、当該処理dの実行を終了すると、タスク完了をコアNに通知する。
コアNは、全てのコアA〜Cから最大許容実行時間1以内にタスク完了が通知されたか否かを監視しており、通知された場合は最大許容実行時間1をクリアすることで監視処理1を終了する。この場合、コアNは、監視処理1を常時処理しているのではなく、ジョブ開始要求およびタスク完了が通知されたタイミングでのみ例えば割込みにより実行するようになっている。
以上のようにして、コアNは、各コアA〜Cのジョブ実行時間の監視を行う。
以上のようにして、コアNは、各コアA〜Cのジョブ実行時間の監視を行う。
(異常時)
全てのコアA〜Cがタスクを完了するまでのジョブ実行時間はエンジンの運転状態に応じて変動する。このため、何らかの異常が発生した場合は、ジョブ実行時間が最大許容実行時間を上回る場合がある。
全てのコアA〜Cがタスクを完了するまでのジョブ実行時間はエンジンの運転状態に応じて変動する。このため、何らかの異常が発生した場合は、ジョブ実行時間が最大許容実行時間を上回る場合がある。
図5に示すようにコアAによる処理aの実行時間が正常であるとすると、処理b,c,dの開始までは図4と同様となる。ここで、コアA及びコアCは処理bの完了後、最大許容実行時間内にタスク完了をコアNに通知するが、コアBは最大許容実行時間内に処理cを完了できない場合は、最大許容実行時間が経過するにしてもコアBからコアNにタスク完了を通知できないことになる。
このような場合、監視プログラムのタイマによる経過時間が最大許容実行時間に達することから、コアNにその旨を通知して時間計測を終了する。コアNは、最大許容実行時間が経過するにしてもコアBからタスク完了が通知されていないことから実行時間異常と判断し、全てのコアA〜Cに実行時間異常を通知し、監視処理1を終了する。
コアA,Cは、コアNから異常通知が通知されると、異常時処理を開始する。コアBは、コアNから実行時間異常が通知されると、実行中の処理cを停止し、異常時処理を開始する。なお、監視処理1は常時処理が実行されているのではなく、ジョブ開始要求およびタスク完了が通知された時、及び最大許容実行時間が経過して異常通知を発行するときのみ処理が実行される。異常処理としては、例えばマイコン2を強制的にリセットしたり、異常であることを外部に報知したりすることで行われる。
以上のようにして、コアNは、ジョブ実行時間の監視処理を実行することができる。
以上のようにして、コアNは、ジョブ実行時間の監視処理を実行することができる。
(ジョブの多重起床)
コアA〜Cはジョブの多重起床が可能であり、この場合の監視処理について説明する。
図6に示すように処理b,c,dの開始までは図4と同様である。コアAは、処理b完了後、自身のタスクが完了したことをコアNに通知する。コアCは、処理d完了後、自身のタスクが完了したことをコアNに通知する。処理cの完了前、すなわちジョブ開始要求1によるジョブが完了していない状態で新たなジョブ開始要求2が発行されると、コアNは、監視処理1を続行したまま、ジョブ開始要求2に対する最大許容実行時間2の情報を取得して監視処理2を開始する。この時、コアAのタスクは起床させない。
コアA〜Cはジョブの多重起床が可能であり、この場合の監視処理について説明する。
図6に示すように処理b,c,dの開始までは図4と同様である。コアAは、処理b完了後、自身のタスクが完了したことをコアNに通知する。コアCは、処理d完了後、自身のタスクが完了したことをコアNに通知する。処理cの完了前、すなわちジョブ開始要求1によるジョブが完了していない状態で新たなジョブ開始要求2が発行されると、コアNは、監視処理1を続行したまま、ジョブ開始要求2に対する最大許容実行時間2の情報を取得して監視処理2を開始する。この時、コアAのタスクは起床させない。
コアBが処理c完了後、タスク完了をコアNに通知すると、コアNは最大許容実行時間1をクリアし、監視処理1を終了し、コアAのタスクを起床させる。
以上のようにして、コアNは、ジョブの多重起床時であってもジョブ実行時間の監視処理を実行することができる。
以上のようにして、コアNは、ジョブの多重起床時であってもジョブ実行時間の監視処理を実行することができる。
このような実施形態によれば、次のような効果を奏することができる。
コアNは、ジョブ開始要求に応じてジョブ起床時プログラムにより最大許容実行時間を取得すると共にコアA〜Cに対してタスクを実行することを要求し、最大許容実行時間が経過するまでに全てのコアA〜Cからタスク完了が通知されなかった場合は実行時間異常を判断することでジョブ実行時間を監視する一方、コアA〜Cは、コアNからの要求に応じて被監視プログラムによりタスクの実行を開始し、当該タスクの実行が完了した場合はタスク完了時プログラムによりタスク完了を通知するので、ジョブ内で起床した全てのタスクに対して最大許容実行時間を同一に設定できると共に、コアA〜Cの処理順の規定を容易に規定しやすくなり、設計効率や処理のコア配置自由度が向上する。また、分散後のタスクではなく、ジョブ全体としての実行時間異常の判断をできる。
コアNは、ジョブ開始要求に応じてジョブ起床時プログラムにより最大許容実行時間を取得すると共にコアA〜Cに対してタスクを実行することを要求し、最大許容実行時間が経過するまでに全てのコアA〜Cからタスク完了が通知されなかった場合は実行時間異常を判断することでジョブ実行時間を監視する一方、コアA〜Cは、コアNからの要求に応じて被監視プログラムによりタスクの実行を開始し、当該タスクの実行が完了した場合はタスク完了時プログラムによりタスク完了を通知するので、ジョブ内で起床した全てのタスクに対して最大許容実行時間を同一に設定できると共に、コアA〜Cの処理順の規定を容易に規定しやすくなり、設計効率や処理のコア配置自由度が向上する。また、分散後のタスクではなく、ジョブ全体としての実行時間異常の判断をできる。
コアNは、監視プログラムが実行時間異常と判断した場合はそのことをコアA〜Cに通知するので、全てのコアA〜Cが同期して実行時間の監視を行うことができる。また、実行時間監視を各コアA〜Cでは行わないことで、コアA〜Cの処理負荷を低減できる。
コアA〜Cは、コアNから実行時間異常が通知された場合はタスクの実行を停止して異常時処理を実行するので、全てのコアA〜Cで同期したタスク停止と異常時処理の開始ができる。
コアNは、現在実行中のジョブの完了前に次のジョブ開始要求を受けた場合は、監視プログラムによる監視を継続したまま次のジョブ実行時間の監視を開始し、ジョブ実行が完了した場合はジョブ完了をコアA〜Cに通知し、コアA〜Cは、コアNからジョブ完了を受けることなくタスクの実行要求を受けた場合は被監視プログラムにより実行中のタスクを継続して実行し、コアNからジョブ完了が通知された場合は被監視プログラムによりタスクの実行を開始するので、ジョブの多重起床を許容することができる。
(第2実施形態)
第2実施形態について図7から図9を参照して説明する。
図7に示すようにエンジンECU1は、マイコン2と監視回路6(監視部に相当)とから構成されている。マイコン2は、コアA〜C、コアN、被監視プログラム、ジョブ起床時プログラム及びタスク完了時プログラムを記憶したROM3、入出力部7を内部バス4で接続して構成されている。
第2実施形態について図7から図9を参照して説明する。
図7に示すようにエンジンECU1は、マイコン2と監視回路6(監視部に相当)とから構成されている。マイコン2は、コアA〜C、コアN、被監視プログラム、ジョブ起床時プログラム及びタスク完了時プログラムを記憶したROM3、入出力部7を内部バス4で接続して構成されている。
監視回路6は、タイマ8、AND回路9、積算回路10、比較回路11から構成されている。タイマ8とAND回路9と積算回路10とから計時回路12が構成されている。タイマ8は、一定周期のパルス信号を出力する。積算回路10の入力端子はタイマ8と接続されており、入出力部7からスタート信号を入力すると、タイマ8から出力される一定周期のパルス信号を積算することで経過時間を計測する。
コアNは、ROM3に格納されたジョブ起床時プログラムを用いてジョブ起床時処理を実行する。各コアA〜Cは、タスクを完了した場合は、タスク完了時プログラムを用いてタスク完了を入出力部7に通知する。
入出力部7は監視回路6と接続されており、ジョブ開始要求に応じて積算回路10にスタート信号を出力し、比較回路11に最大許容実行時間をセットし、各コアA〜Cからタスク完了が通知されると対応する出力端子からタスク完了を通知する。
入出力部7は監視回路6と接続されており、ジョブ開始要求に応じて積算回路10にスタート信号を出力し、比較回路11に最大許容実行時間をセットし、各コアA〜Cからタスク完了が通知されると対応する出力端子からタスク完了を通知する。
AND回路9の入力端子は入出力部7の出力端子とそれぞれ接続され、出力端子は積算回路10の一方の入力端子と接続されている。AND回路9は、全ての入力端子にタスク完了が通知された場合は積算回路10にストップ信号を出力する。
積算回路10の出力端子は比較回路11の入力端子と接続されており、経過時間を比較回路11に出力し、AND回路9からのストップ信号により時間計測を停止する。
比較回路11は、入出力部7により最大許容実行時間がセットされると、積算回路10による経過時間と最大許容実行時間とを比較し、積算回路10による経過時間の方が最大許容実行時間よりも大きくなった場合は実行時間異常を入出力部7に通知する。
比較回路11は、入出力部7により最大許容実行時間がセットされると、積算回路10による経過時間と最大許容実行時間とを比較し、積算回路10による経過時間の方が最大許容実行時間よりも大きくなった場合は実行時間異常を入出力部7に通知する。
(正常時)
図8に示すようにジョブ開始要求1が与えられると、コアNは、ジョブ起床時処理として最大許容実行時間を比較回路11にセットしてから、積算回路10をスタートすることでジョブ実行時間の監視を開始する。コアAは、コアNからのタスクの実行要求に応じてタスクを起床させることで処理aを開始する。処理a完了後、コアAがコアB及びコアCのタスクを起床させることで、コアAで処理b、コアBで処理c、コアCで処理dを実行する。
図8に示すようにジョブ開始要求1が与えられると、コアNは、ジョブ起床時処理として最大許容実行時間を比較回路11にセットしてから、積算回路10をスタートすることでジョブ実行時間の監視を開始する。コアAは、コアNからのタスクの実行要求に応じてタスクを起床させることで処理aを開始する。処理a完了後、コアAがコアB及びコアCのタスクを起床させることで、コアAで処理b、コアBで処理c、コアCで処理dを実行する。
コアAは、処理b完了後、入出力部7を介してタスク完了をAND回路9に通知する。コアBは、処理c完了後、タスク完了をAND回路9に通知する。コアCは、処理d完了後、タスク完了をAND回路9に通知する。AND回路9は、全ての入力端子にタスク完了が通知された場合は積算回路10へストップ信号を出力する。これにより、積算回路10は停止し、実行時間の監視を終了する。
以上のようにして、コアNは、コアA〜Cのジョブ実行時間の監視を行うことができる。
以上のようにして、コアNは、コアA〜Cのジョブ実行時間の監視を行うことができる。
(異常時)
図9に示すようにコアA,Cは処理b完了後、タスク完了をAND回路9に出力する。一方、コアBは、最大許容実行時間内に処理cを完了できないことから、タスク完了をAND回路9に出力できない。この場合、AND回路9は、全ての入力端子にタスク完了が通知されないので、積算回路10へストップ信号を出力することはない。これにより、積算回路10は停止せず、積算回路10による経過時間が最大許容実行時間を超えるようになる。この結果、比較回路11は実行時間異常をコアA,Cに通知するので、コアA,Cは、実行時間異常通知が通知された場合は異常時処理を開始し、コアBは、実行中の処理cを停止し、異常時処理を開始する。
図9に示すようにコアA,Cは処理b完了後、タスク完了をAND回路9に出力する。一方、コアBは、最大許容実行時間内に処理cを完了できないことから、タスク完了をAND回路9に出力できない。この場合、AND回路9は、全ての入力端子にタスク完了が通知されないので、積算回路10へストップ信号を出力することはない。これにより、積算回路10は停止せず、積算回路10による経過時間が最大許容実行時間を超えるようになる。この結果、比較回路11は実行時間異常をコアA,Cに通知するので、コアA,Cは、実行時間異常通知が通知された場合は異常時処理を開始し、コアBは、実行中の処理cを停止し、異常時処理を開始する。
以上のようにして、コアNは、ジョブ実行時間の監視により異常を判断することができる。
また、図7示す監視回路6を複数搭載することで、複数のジョブ実行時間を同時に監視可能となるため、ジョブの多重起床時の監視も可能である。
また、図7示す監視回路6を複数搭載することで、複数のジョブ実行時間を同時に監視可能となるため、ジョブの多重起床時の監視も可能である。
このような実施形態によれば、第1実施形態のコアNによるジョブ実行時間の監視機能と同等の動作を監視回路6により実行することができるので、監視と通知にコアNを用いることなく実施でき、コアNの処理負荷を低減できる。
(その他の実施形態)
コアNが被監視プログラム、ジョブ起床プログラム、タスク完了プログラムを実行するようにしても良い。
ジョブ実行時間の監視用のコアとしてはいずれのコアを割当てても良いし、複数のコアで監視機能を分担するようにしても良い。
ジョブ開始要求はマイコン2自身が発行するようになっているが、外部からの割込みとして与えるようにしても良い。
ジョブ開始要求をコアA〜Cにも入力するようにしても良い。
第2実施形態において、監視回路6をマイコン2の内部に配置するようにしても良い。
コアNが被監視プログラム、ジョブ起床プログラム、タスク完了プログラムを実行するようにしても良い。
ジョブ実行時間の監視用のコアとしてはいずれのコアを割当てても良いし、複数のコアで監視機能を分担するようにしても良い。
ジョブ開始要求はマイコン2自身が発行するようになっているが、外部からの割込みとして与えるようにしても良い。
ジョブ開始要求をコアA〜Cにも入力するようにしても良い。
第2実施形態において、監視回路6をマイコン2の内部に配置するようにしても良い。
本開示は、実施形態に準拠して記述されたが、本開示は当該実施形態や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。
図面中、1はエンジンECU(電子制御装置)、2はマイコン、3はROM(記憶部)、6は監視回路(監視部)、11は比較回路、12は計時回路、A〜Cはコア、Nはコア(監視用コア、監視部)である。
Claims (6)
- マイクロコンピュータ(2)が搭載された電子制御装置であって、
前記マイクロコンピュータは、
被監視プログラム、ジョブ起床時プログラム、タスク完了時プログラムを記憶した記憶部(3)と、
最大許容実行時間が経過するまでに全てのタスク完了が通知されなかった場合は実行時間異常と判断する監視部(N,6)と、
ジョブ開始要求に応じて前記ジョブ起床時プログラムにより前記最大許容実行時間を取得した後、前記監視部にセットすると共に前記コアに対してタスクを実行することを要求し、前記監視部により前記実行時間異常を判断することでジョブ実行時間を監視する監視用コア(N)と、
前記監視用コアからの要求に応じて前記被監視プログラムによりタスクの実行を開始し、当該タスクの実行が完了した場合は前記タスク完了時プログラムによりタスク完了を通知する複数のコア(A〜C)と、
を備えた電子制御装置。 - 前記監視用コアは、前記監視部が前記実行時間異常と判断した場合はそのことを前記コアに通知する請求項1に記載の電子制御装置。
- 前記コアは、前記ジョブ実行時間の異常であることが通知された場合はタスクの実行を停止して異常時処理を実行する請求項2に記載の電子制御装置。
- 前記監視用コアは、現在実行中のジョブの完了前に次の前記ジョブ開始要求を受けた場合は、前記監視部による監視を継続したまま次のジョブ実行時間の監視を開始し、ジョブ実行が完了した場合はジョブ完了を前記コアに通知し、
前記コアは、前記監視用コアから前記ジョブ完了を受けることなく前記ジョブ開始要求を受けた場合は前記被監視プログラムにより実行中のタスクを継続して実行し、前記監視用コアから前記ジョブ完了が通知された場合は前記被監視プログラムによりタスクの実行を開始する請求項1から3のいずれか一項に記載の電子制御装置。 - 前記監視部は、起床するとタイマにより時間を計測し、前記タイマが前記最大許容実行時間を計測するまでに全ての前記コアから前記タスク完了が通知されなかった場合は前記監視用コアに前記実行時間異常を通知する監視プログラム(5)から構成されている請求項1から4のいずれか一項に記載の電子制御装置。
- 前記監視部は、計時回路(12)と比較回路(11)とを有した監視回路(6)から構成され、
前記監視用コアは、前記ジョブ開始要求に応じて前記計時回路を起動すると共に前記比較回路に前記最大許容実行時間をセットし、
前記計時回路は、全ての前記コアから前記タスク完了が通知された場合は停止し、
前記比較回路は、前記計時回路による経過時間が前記最大許容実行時間に達した場合は前記コアに前記実行時間異常を通知する請求項1から4のいずれか一項に記載の電子制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019075601A JP2020173644A (ja) | 2019-04-11 | 2019-04-11 | 電子制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019075601A JP2020173644A (ja) | 2019-04-11 | 2019-04-11 | 電子制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020173644A true JP2020173644A (ja) | 2020-10-22 |
Family
ID=72831420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019075601A Pending JP2020173644A (ja) | 2019-04-11 | 2019-04-11 | 電子制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020173644A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220084814A (ko) * | 2020-12-14 | 2022-06-21 | 현대오토에버 주식회사 | 태스크 모니터링 방법, 그리고 이를 구현하기 위한 장치 |
-
2019
- 2019-04-11 JP JP2019075601A patent/JP2020173644A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220084814A (ko) * | 2020-12-14 | 2022-06-21 | 현대오토에버 주식회사 | 태스크 모니터링 방법, 그리고 이를 구현하기 위한 장치 |
KR102463847B1 (ko) * | 2020-12-14 | 2022-11-03 | 현대오토에버 주식회사 | 태스크 모니터링 방법, 그리고 이를 구현하기 위한 장치 |
KR20220151146A (ko) * | 2020-12-14 | 2022-11-14 | 현대오토에버 주식회사 | 태스크 모니터링 방법, 그리고 이를 구현하기 위한 장치 |
KR102475840B1 (ko) | 2020-12-14 | 2022-12-07 | 현대오토에버 주식회사 | 태스크 모니터링 방법, 그리고 이를 구현하기 위한 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4609381B2 (ja) | 異常監視用プログラム、記録媒体及び電子装置 | |
US8775838B2 (en) | Limiting the number of unexpected wakeups in a computer system implementing a power-saving preemptive wakeup method from historical data | |
US9423852B2 (en) | Selecting a startup condition of an electronic device corresponding to available power | |
EP2904494B1 (en) | Method for preemptively restarting software in a multisubsystem mobile communication device to increase mean time between failures | |
US8700936B2 (en) | Modular gating of microprocessor low-power mode | |
JP5861718B2 (ja) | 車両用電子制御装置、データ受信方法 | |
JP2015205545A (ja) | 制御装置切替システム | |
US11567527B2 (en) | Preemptive wakeup circuit for wakeup from low power modes | |
JP2008107914A (ja) | マイクロコンピュータ、プログラム及び車両用電子制御装置 | |
CN114257474B (zh) | 智能网关的用电控制方法、装置、计算机设备和存储介质 | |
JP2020173644A (ja) | 電子制御装置 | |
JP2014191655A (ja) | マルチプロセッサ、電子制御装置、プログラム | |
JP5324340B2 (ja) | マイクロコンピュータ | |
JP5796452B2 (ja) | 電子制御装置 | |
JP5652198B2 (ja) | 電子制御装置、起動制御方法 | |
JP7435182B2 (ja) | 電子制御装置 | |
JP3711849B2 (ja) | マイクロコンピュータ | |
JP2010102567A (ja) | 周期駆動タスク実行装置、周期駆動タスク実行方法及びプログラム | |
JP6009634B2 (ja) | 制御装置切替システム | |
JP2013084218A (ja) | コア監視装置、情報処理装置 | |
JP2013109559A (ja) | 情報処理装置、データ復帰方法 | |
JP2012069063A (ja) | P−run信号出力装置、組込制御装置 | |
JP2001202256A (ja) | マイクロコンピュータ | |
JP2013161363A (ja) | 電子制御装置、プログラム実行方法 | |
JP2020194425A (ja) | 制御装置および監視方法 |