JP5601127B2 - Control device - Google Patents
Control device Download PDFInfo
- Publication number
- JP5601127B2 JP5601127B2 JP2010217163A JP2010217163A JP5601127B2 JP 5601127 B2 JP5601127 B2 JP 5601127B2 JP 2010217163 A JP2010217163 A JP 2010217163A JP 2010217163 A JP2010217163 A JP 2010217163A JP 5601127 B2 JP5601127 B2 JP 5601127B2
- Authority
- JP
- Japan
- Prior art keywords
- core
- abnormality
- monitoring
- executed
- control device
- 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.)
- Expired - Fee Related
Links
- 230000005856 abnormality Effects 0.000 claims description 115
- 238000012544 monitoring process Methods 0.000 claims description 90
- 238000000034 method Methods 0.000 claims description 64
- 238000010586 diagram Methods 0.000 description 12
- 238000001514 detection method Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
Description
本発明は、マルチコアCPUを備える制御装置に関する。 The present invention relates to a control device including a multi-core CPU.
複数のコアを1つのパッケージに集積したマルチコアCPUが知られている。このマルチコアCPUによれば、低い動作クロックで高い処理能力を得ることができ、消費電力や熱損失を低減させることができる。 A multi-core CPU in which a plurality of cores are integrated in one package is known. According to this multi-core CPU, high processing capability can be obtained with a low operation clock, and power consumption and heat loss can be reduced.
ところで、マルチコアCPUは、一般的に、異常が生じた場合には、異常状態から回復させるべくマルチコアCPU全体をリセットするという思想で設計されている。このため、例えば、マルチコアCPUを車両のパワートレインシステムの制御に用い、一方のコアにエンジン制御を、他方のコアにトランスミッション制御を行わせた場合には、いずれかのコアのみに異常が生じた場合であっても、マルチコアCPU全体がリセットされてしまう。そして、このリセットによりコアの異常が回復した場合にはシステムの稼動が再開されるが、異常から回復しなかった場合には、マルチコアCPU全体のリセットが繰り返し行われてしまい、システムが稼動しなくなってしまう。 By the way, the multi-core CPU is generally designed based on the idea that when an abnormality occurs, the entire multi-core CPU is reset to recover from the abnormal state. For this reason, for example, when a multi-core CPU is used for control of a vehicle powertrain system and engine control is performed on one core and transmission control is performed on the other core, an abnormality occurs only in one of the cores. Even in this case, the entire multi-core CPU is reset. When the core abnormality is recovered by this reset, the system operation is resumed. However, when the abnormality is not recovered, the entire multi-core CPU is reset repeatedly, and the system becomes inoperable. End up.
このような問題に鑑み、特許文献1に記載の発明では、マスタ側コアとスレーブ側コアからなるマルチコアCPUにおいて、監視ICでマスタ側コアの動作を監視すると共に、マスタ側コアでスレーブ側コアの動作を監視する。そして、監視ICによりマスタ側コアの異常が検知された場合には、マルチコアCPU全体をリセットし、マスタ側コアによりスレーブ側コアの異常が検知された場合には、フェールセーフ処理として、マスタ側コアにてスレーブ側コアで行われる処理を簡略化して実行することが記載されている。 In view of such a problem, in the invention described in Patent Document 1, in a multi-core CPU including a master side core and a slave side core, the monitoring IC monitors the operation of the master side core, and the master side core uses the slave side core. Monitor activity. When the master-side core abnormality is detected by the monitoring IC, the entire multi-core CPU is reset. When the master-side core detects the slave-side core abnormality, the master-side core is used as fail-safe processing. Describes that the processing performed in the slave-side core is simplified.
特許文献1に記載の発明によれば、スレーブ側コアのみに異常が発生した場合にシステムの縮退運転を行うことができ、該システムが完全に停止してしまうことを防ぐことができる。しかしながら、マスタ側コアのみに異常が発生した場合には、マルチコアCPU全体がリセットされてしまい、リセットによりマスタ側コアが異常から回復しない場合には、マルチコアCPU全体のリセットが繰り返し行われてしまう。このため、スレーブ側コアには異常が発生していないにも関らず、システム全体が稼動しなくなってしまう。 According to the invention described in Patent Document 1, when an abnormality occurs only in the slave-side core, the system can be degenerated and the system can be prevented from being completely stopped. However, when an abnormality occurs only in the master-side core, the entire multi-core CPU is reset, and when the master-side core does not recover from the abnormality due to the reset, the entire multi-core CPU is reset repeatedly. For this reason, although the slave core does not have an abnormality, the entire system becomes inoperable.
本願発明は上記課題に鑑みてなされたものであり、マルチコアCPUにおける少なくとも二つのコアに関して、これらのコアのうちの一方に異常が発生したした場合であっても、これらのコアにより実現される機能を継続して稼動させることが可能となる制御装置を提供することを目的とする。 The present invention has been made in view of the above-described problems, and functions realized by these cores even when an abnormality occurs in one of these cores with respect to at least two cores in a multi-core CPU. An object of the present invention is to provide a control device that can continue to operate.
上記課題に鑑みてなされた請求項1に記載の発明は、予め割り当てられた処理を実行する第一コアと第二コアとを少なくとも有するマルチコアCPUを備える制御装置であって、第二コアに、第一コアの異常を検知させる第一コア監視手段と、第一コアに、第二コアの異常を検知させる第二コア監視手段と、を備えることを特徴とする。そして、第一コア
は、第二コア監視手段を介して第二コアの異常を検知すると、第二コアにより実行される処理を代行する第一代行処理を実行し、第二コアは、第一コア監視手段を介して第一コアの異常を検知すると、第一コアにより実行される処理を代行する第二代行処理を実行することを特徴とする。
そして、第一コアは、第一コア監視手段に対し、当該第一コアが正常に動作していることを通知するための処理である第一異常監視用処理を定期的に実行し、第二コアは、第二コア監視手段に対し、当該第二コアが正常に動作していることを通知するための処理である第二異常監視用処理を定期的に実行する。また、第一コア監視手段は、第一コアにより実行される第一異常監視用処理が予め定められた期間にわたり実行されない場合に、第二コアに対し、第一コアに異常が発生したことを通知する監視回路により実現される。一方、第二コア監視手段は、第一コアにより実行される処理であって、第二コアにより実行される第二異常監視用処理が実行されるか否かを監視すると共に、該第二異常監視用処理が予め定められた期間にわたり実行されない場合に、第二コアに異常が発生したものとみなす処理により実現される。
さらに、マルチコアCPUは、監視回路を備えるマイクロコントローラとして構成され、第一コアは、第二コアに対し、当該第一コアが正常に動作していることを通知するための処理である第三異常監視用処理を定期的に実行する。また、第二コアは、第一コアにより実行される第三異常監視用処理が実行されるか否かを監視すると共に、該第三異常監視用処理が予め定められた期間にわたり実行されない場合に、第一コアに異常が発生したものとみなす監視処理を実行し、監視処理により第一コアの異常を検知し、且つ、第一コア監視手段を介して第一コアの異常が検知されなかった場合には、マルチコアCPUをリセットする。
The invention according to claim 1 made in view of the above problem is a control device including a multi-core CPU having at least a first core and a second core for executing a pre-assigned process. The first core monitoring means for detecting an abnormality of the first core and the second core monitoring means for detecting an abnormality of the second core in the first core are provided. Then, when the first core detects an abnormality of the second core via the second core monitoring means, the first core executes a first proxy process that acts as a proxy for the process executed by the second core. When an abnormality of the first core is detected via the core monitoring means, a second proxy process is performed to proxy the process executed by the first core.
The first core periodically executes a first abnormality monitoring process, which is a process for notifying the first core monitoring means that the first core is operating normally, The core periodically executes a second abnormality monitoring process that is a process for notifying the second core monitoring means that the second core is operating normally. Further, the first core monitoring means indicates that an abnormality has occurred in the first core with respect to the second core when the first abnormality monitoring process executed by the first core is not executed for a predetermined period. This is realized by a monitoring circuit for notification. On the other hand, the second core monitoring means is a process executed by the first core, and monitors whether or not the second abnormality monitoring process executed by the second core is executed, and the second abnormality When the monitoring process is not executed for a predetermined period, the process is realized by assuming that an abnormality has occurred in the second core.
Furthermore, the multi-core CPU is configured as a microcontroller including a monitoring circuit, and the first core is a third abnormality that is a process for notifying the second core that the first core is operating normally. Execute the monitoring process periodically. In addition, the second core monitors whether or not the third abnormality monitoring process executed by the first core is executed, and when the third abnormality monitoring process is not executed over a predetermined period. The first core is detected by the monitoring process, the first core abnormality is detected by the monitoring process, and the first core abnormality is not detected via the first core monitoring means. In the case, the multi-core CPU is reset.
こうすることにより、第一コア或いは第二コアの一方に異常が発生した場合であっても、他方のコアにより異常が発生したコアの処理が実行されるため、第一コア及び第二コアにより実現される機能を継続して稼動させることができる。
また、監視回路により第二コアの異常を検知することができ、第一コアの処理負荷を抑えることができる。
また、この監視回路に異常が発生するという場合も想定されるが、監視回路に異常が発生した場合に、該監視回路を異常から回復させることが可能となる。
By doing so, even if an abnormality occurs in one of the first core or the second core, the processing of the core in which an abnormality has occurred is executed by the other core, so the first core and the second core The realized function can be operated continuously.
Moreover, the abnormality of the second core can be detected by the monitoring circuit, and the processing load of the first core can be suppressed.
In addition, it is assumed that an abnormality occurs in the monitoring circuit. However, when an abnormality occurs in the monitoring circuit, the monitoring circuit can be recovered from the abnormality.
しかしながら、一方のコアに異常が発生した際に、他方のコアで異常が発生したコアにて実行される処理をそのまま実行するとなると、他方のコアの処理負荷が大きくなりすぎてしまう。 However, when an abnormality occurs in one core, if the process executed in the core in which an abnormality has occurred in the other core is executed as it is, the processing load on the other core becomes too large.
そこで、請求項2に記載の制御装置は、第一コアは、第一代行処理として、第二コアにより実行される処理を、該第二コアが実行するよりも低負荷となる方法で実行し、第二コアは、第二代行処理として、第一コアにより実行される処理を、該第一コアが実行するよりも低負荷となる方法で実行する。 Therefore, in the control device according to claim 2, the first core executes the process executed by the second core as the first proxy process in a method with a lower load than that executed by the second core. The second core executes a process executed by the first core as a second proxy process in a method that has a lower load than that executed by the first core.
こうすることにより、異常が発生したコアで行われる処理を実行する際の処理負荷を抑制することができる。 By doing so, it is possible to suppress the processing load when executing the processing performed in the core where the abnormality has occurred .
以下、本発明の実施形態について図面を用いて説明する。尚、本発明の実施の形態は、下記の実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態を採りうる。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. The embodiments of the present invention are not limited to the following embodiments, and various forms can be adopted as long as they belong to the technical scope of the present invention.
[第一実施形態]
[構成の説明]
まず、第一実施形態の制御装置1の構成について説明する。図1(a)に記載されているように、制御装置1は、第一コア11及び第二コア12と、第一コア11の動作を監視するウォッチドックタイマ(WDTとも記載)13とを備えるマイクロコントローラであるマルチコアCPU10を有している。また、このマルチコアCPU10は、上述の第一コア11,第二コア12,WDT13に加え、各種I/Oポートを制御するI/O部14や、RAM15,ROM16等を有しており、これらは、内部バス17により接続されている(図1(b)参照)。
[First embodiment]
[Description of configuration]
First, the structure of the control apparatus 1 of 1st embodiment is demonstrated. As illustrated in FIG. 1A, the control device 1 includes a
なお、第一コア11と第二コア12は、ROM16に記憶されているプログラムにより動作し、各コアは、制御装置1の機能を実現するため予め割り当てられた処理を実行するよう構成されている。具体的には、例えば、制御装置1が車両のパワートレインシステムの制御に用いられる場合であれば、第一コア11にてエンジンを制御するための処理を行うと共に、第二コア12にてトランスミッションを制御するための処理を行っても良い。また、これ以外にも、例えば、第一コア11にて制御装置1の全体を統括制御すると共に、第二コア12では第一コア11からの指示に応じて画像処理等の特定の処理を行っても良い。
The
また、第一コア11は、WDT13により動作が監視されると共に、第二コア12は、第一コア11により動作が監視される。具体的には、WDT13は、例えば数μs〜数ms程度のサイクルで自身が備えるタイマをカウントアップすると共に、第一コア11からの指示により該タイマをクリアする。そして、第一コア11からの指示が無いまま該タイマが所定値に達すると(すなわち、前回の指示から所定時間が経過すると)、第一コア11に異常が発生したものとみなして第二コア12に通知する。一方、第一コア11は、RAM15における第一コア11及び第二コア12からアクセス可能な領域に設けられた第二コア監視タイマ11aを、例えば数μs〜数ms程度のサイクルでカウントアップすると共に、第二コア12は、定期的なタイミングで第二コア監視タイマ11aをクリアする。そして、第二コア監視タイマ11aが所定値に達すると(すなわち、所定時間にわたり第二コア12による第二コア監視タイマ11aのクリアが行われないと)、第二コア12に異常が発生したものとみなす。なお、第一コア11或いは第二コア12に異常が生じたとみなされる所定時間とは、制御装置1のプログラムの構造等に応じて適宜定められる時間であり、例えば、数十ms程度の時間とすることが考えられる。
The operation of the
また、詳細については後述するが、第一コア11は、第二コア12の異常を検知すると、以後、第二コア12にて実行される処理を代行して行い、第二コア12もまた、第一コア11の異常を検知すると、以後、第一コア11にて実行される処理を代行して行う。これにより、第一コア11或いは第二コア12の一方が故障した場合であっても、制御装置1により実現される機能を継続して稼動させることができる。
Although details will be described later, when the
[動作の説明]
次に、第一実施形態の制御装置1における第二コア12の異常検知時の動作や、第一コア11の異常検知時の動作について説明する。
(1)第二コア12の異常検知時の動作について
まず、第二コア12の異常検知時の動作について、図2に記載のシーケンス図を用いて説明する。なお、該シーケンス図により表される処理は、制御装置1の電源投入時に開始される処理である。
[Description of operation]
Next, the operation at the time of abnormality detection of the
(1) About operation | movement at the time of abnormality detection of the
既に述べたように、第一コア11は上述したサイクルで第二コア監視タイマ11aをカウントアップすると共に(S210,S230,S245,S265)、WDT13もまた、上述したサイクルで自身が備えるタイマをカウントアップする(S220,S240,S260,S280)。
As described above, the
また、第一コア11は、定期的なタイミングで、WDT13に出力される信号の値を反転させる等してWDT13に対しタイマのクリアを指示すると共に(S215,S235,S255,S275)、第二コア12もまた、定期的なタイミングで第二コア監視タイマ11aをクリアする(S205,S225)。
In addition, the
ここで、第二コア12に異常が発生すると(S250)、以後、第二コア12による第二コア監視タイマ11aのクリアが行われなくなる。一方、第一コア11による第二コア監視タイマ11aのカウントや、WDT13のタイマのクリアは継続して行われると共に、WDT13によるタイマのカウントは継続して行われる。
If an abnormality occurs in the second core 12 (S250), the second
そして、第二コア監視タイマ11aが満了すると、第一コア11にて第二コア12の異常が検知される(S270)。そして、以後、第一コア11は、第二コア12にて行われるべき処理を代行して実行する(S285)。
When the second
具体的には、例えば、第一コア11は、第二コア12で実行される処理を、第二コア12が実行するよりも低負荷となる方法で実行しても良い。すなわち、第一コア11は、第二コア12にて行われる処理を、固定値(フェールセーフ値)を用いて行うことで、第二コア12にて行われる処理を代行して実行しても良い。また、第二コア12により行われる演算をより簡易的な方法で行うことで、第二コア12にて行われる処理を代行して実行しても良い。
Specifically, for example, the
また、例えば、制御装置1が車両のパワートレインシステムの制御に用いられ、第一コア11にてエンジンを制御するための処理を行うと共に、第二コア12にてトランスミッションを制御するための処理を行うと仮定する。このような場合であれば、第一コア11は、第二コア12に代行して、トランスミッションを制御するための処理を低負荷となる方法で実行しても良い。このとき、第一コア11は、トランスミッションのギア段を固定値としてトランスミッションを制御するための処理を行っても良いし、車速とエンジン回転数等に基づき簡易的な方法でギア段を算出して該処理を行っても良い。
(2)第一コア11の異常検知時の動作について
次に、第一コア11の異常検知時の動作について、図3に記載のシーケンス図を用いて説明する。なお、該シーケンス図により表される処理は、制御装置1の電源投入時に開始される処理である。
Further, for example, the control device 1 is used for controlling the powertrain system of the vehicle, and performs processing for controlling the engine with the
(2) About operation | movement at the time of abnormality detection of the
既に述べたように、第一コア11は上述したサイクルで第二コア監視タイマ11aをカウントアップすると共に(S310,S330)、WDT13もまた、上述したサイクルで自身が備えるタイマをカウントアップする(S320,S340)。
As described above, the
また、第一コア11は、定期的なタイミングで、WDT13に出力される信号の値を反転させる等してWDT13に対しタイマのクリアを指示すると共に(S315,S335)、第二コア12もまた、定期的なタイミングで第二コア監視タイマ11aをクリアする(S305,S325,S350)。
The
ここで、第一コア11に異常が発生すると(S345)、以後、第一コア11によるWDT13のタイマのクリアが行われなくなる。一方、第二コア12による第二コア監視タイマ11aのクリアや、WDT13によるタイマのカウントは継続して行われる。
If an abnormality occurs in the first core 11 (S345), the
そして、WDT13のタイマが満了すると(S355)、WDT13からの信号により、第二コア12にてウォッチドックタイマ割込みが発生する(S360)。これにより、第二コア12にて第一コア11の異常が検知され、以後、第二コア12は、第一コア11にて行われるべき処理を代行して実行する(S365)。
When the timer of the
なお、第二コア12は、例えば、第一コア11で実行される処理を、第一コア11が実行するよりも低負荷となる方法で実行しても良い。すなわち、第二コア12は、第一コア11にて行われる処理を、固定値(フェールセーフ値)を用いて行うことで、第一コア11にて行われる処理を代行して実行しても良い。また、第一コア11により行われる演算をより簡易的な方法で行うことで、第一コア11にて行われる処理を代行して実行しても良い。
Note that the
その後、WDT13は、第二コア12の動作を監視するため、タイマのカウントアップを再開する(S370)と共に、第二コア12は、定期的なタイミングで、第一コア11と同様にしてWDT13に対しタイマのクリアを指示する(S375)。そして、WDT13は、タイマが満了した場合には、マルチコアCPU10全体をリセットする。
After that, the
[効果]
第一実施形態の制御装置1によれば、第一コア11或いは第二コア12の一方に異常が生じた場合には、他方のコアにて、異常が発生したコアの処理が、該コアが実行するよりも低負荷となる方法で実行される。このため、第一コア11或いは第二コア12の一方に異常が生じた場合であっても、制御装置1により実現される機能を、一部を縮小した状態で継続して稼動させることができる。
[effect]
According to the control device 1 of the first embodiment, when an abnormality occurs in one of the
[第二実施形態]
[構成の説明]
次に、第二実施形態の制御装置100の構成について説明する。図4に記載されているように、制御装置100は、第一実施形態と同様の第一コア111及びWDT113や、I/O部,RAM,ROM等(図示なし)を有すると共に、第一コア111の動作を監視するための第一コア監視タイマ112aをカウントアップする第二コア112を有するマイクロコントローラであるマルチコアCPU110を備える。
[Second Embodiment]
[Description of configuration]
Next, the structure of the
第二実施形態の制御装置100では、第一実施形態と同様に、WDT113による第一コア111の動作の監視と、第一コア111による第二コア112の動作の監視が行われると共に、これらに加え、第二コア112による第一コア111の動作の監視が行われる。
In the
具体的には、第二コア112は、RAMにおける第一コア111及び第二コア112からアクセス可能な領域に設けられた第一コア監視タイマ112aを、例えば数μs〜数ms程度のサイクルでカウントアップすると共に、第一コア111は、定期的なタイミングで第一コア監視タイマ112aをクリアする。そして、第一コア監視タイマ112aが所定値に達すると(すなわち、所定時間にわたり第一コア111による第一コア監視タイマ112aのクリアが行われないと)、第一コア111に異常が発生したものとみなす。なお、この所定時間とは、制御装置100のプログラムの構造等に応じて適宜定められる時間であり、例えば、数十ms程度の時間とすることが考えられる。
Specifically, the
また、第一実施形態と同様、第一コア111は、第二コア112の異常を検知した場合には、第二コア112にて実行される処理を代行して行うと共に、第二コア112は、WDT113により第一コア111の異常が検知された場合には、第一コア111にて実行される処理を代行して行う。
Similarly to the first embodiment, when the
また、詳細については後述するが、第一コア監視タイマ112aにより第一コア111の異常が検知され、且つ、WDT113により第一コア111の異常が検知されなかった場合には、第二コア112は、マルチコアCPU110全体をリセットする。これにより、WDT113に異常が発生した場合に、WDT113を異常から回復させることが可能となる。
Although details will be described later, if an abnormality of the
[動作の説明]
次に、第二実施形態の制御装置100の動作について説明する。制御装置100は、第一コア111により第二コア112の異常が検知された場合や、WDT113により第一コア111の異常が検知された場合には、第一実施形態の制御装置1と同様に、異常が発生したコアにて行われる処理を、他方のコアが代行して実行する。また、これに加え、第二コア112により第一コア111の異常が検知され、且つ、WDT113により第一コア111の異常が検知されなかった場合には、マルチコアCPU110全体をリセットする。ここでは、このときの動作について、図5に記載のシーケンス図を用いて説明する。なお、該シーケンス図により表される処理は、制御装置100の電源投入時に開始される処理である。
[Description of operation]
Next, operation | movement of the
既に述べたように、第一コア111は上述したサイクルで第二コア監視タイマ111aをカウントアップすると共に(S415)、第二コア112は上述したサイクルで第一コア監視タイマ112aをカウントアップする(S425,S445,S455)。また、WDT113もまた、所定サイクルで自身が備えるタイマをカウントアップする。
As described above, the
また、第一コア111は、定期的なタイミングでWDT113に対しタイマのクリアを指示すると共に(S430)、定期的なタイミングで第一コア監視タイマ112aをクリアする(S420)。第二コア112もまた、定期的なタイミングで第二コア監視タイマ111aをクリアする(S405,S440,S450)。
The
ここで、WDT113の異常が発生すると(S410)、以後、WDT113によるタイマのカウントアップが行われなくなる。また、さらにその後、第一コア111の異常が発生すると、以後、第一コア111による第一コア監視タイマ112aのクリアが行われなくなる(S435)。
Here, when an abnormality occurs in the WDT 113 (S410), the timer is not counted up by the
そして、第一コア監視タイマ112aが満了すると、第二コア112にて第一コア111の異常が検知される(S460)。
第二コア112は、第一コア監視タイマ112aにより第一コア111の異常を検知すると、WDT割込み待ちタイマのカウントを開始し、WDT113からウォッチドックタイマ割込みを発生させる信号が入力されることを待つ(S465)。
When the first
When the
そして、WDT割込み待ちタイマが満了すると、WDT113に異常が発生したものとみなし(S470)、マルチコアCPU110全体をリセットする(S475)。
なお、WDT割込み待ちタイマの満了前にWDT113からの信号によりウォッチドックタイマ割込みが発生した場合には、第二コア112は、第一実施形態と同様にして、第一コア111にて行われる処理を代行して実行する。
When the WDT interrupt wait timer expires, it is considered that an abnormality has occurred in the WDT 113 (S470), and the entire
When a watchdog timer interrupt is generated by a signal from the
[効果]
第二実施形態の制御装置100によれば、第一実施形態と同様に、第一コア111或いは第二コア112の一方に異常が生じた場合であっても、制御装置100により実現される機能を、一部を縮小した状態で継続して稼動させることができる。
[effect]
According to the
また、WDT113に異常が生じた場合には、マルチコアCPU110全体がリセットされるため、WDT113を異常から回復させることができる。
[他の実施形態]
(1)第一,第二実施形態のマルチコアCPUは二つのコアを有しているが、これに限定されることは無く、三つ以上のコアを有していても良い。このような場合であっても、第一コア及び第二コアが互いに動作を監視すると共に、一方のコアに異常が生じた場合に他方のコアで異常が生じたコアの処理を代行することで、第一コア或いは第二コアに異常が生じた場合であっても、これらのコアにより実現される機能を、一部を縮小した状態で継続して稼動させることができる。
(2)また、第一,第二実施形態の制御装置では、第一コア,第二コアの一方に異常が発生した場合には、他方のコアで異常が発生したコアの処理を代行しているが、これに替えて、異常が発生したコアの制御対象を安全停止させる処理を行っても良い。こうすることにより、一方のコアに異常が生じた場合に、該コアの制御対象が動作し続けてしまうこと等を防ぐことができる。
(3)また、第一,第二実施形態の制御装置では、一方のコアの異常が検知されると、すぐに、他方のコアで異常が発生したコアの処理の代行を開始している。しかしながら、異常が発生したコア(或いはマルチコアCPU全体)のリセットにより、該コアが異常から回復する場合もあり、一方のコアに異常が生じた際には該コア(或いはマルチコアCPU全体)をリセットし、該コアの異常発生回数が所定の数に達した後に、他方のコアで、異常が発生したコアの処理の代行を開始しても良い。こうすることにより、異常が発生したコアを正常な状態に回復させることが可能となる。
(4)また、第一,第二実施形態の制御装置では、WDTにより第一コアの動作が監視されると共に、第一コアに設けられた第二コア監視タイマにより第二コアの動作が監視されるが、これに限定されることは無く、WDTに替えて、第二コアに設けられた監視用タイマにより第一コアの動作を監視しても良い。また、例えば、マルチコアCPUにWDTを二つ設け、これらのWDTにより第一コア,第二コアの監視を行っても良い。このような場合であっても、同様の効果を得ることができる。
Further, when an abnormality occurs in the
[Other Embodiments]
(1) Although the multi-core CPU of the first and second embodiments has two cores, the present invention is not limited to this, and may have three or more cores. Even in such a case, the first core and the second core monitor the operation of each other, and when an abnormality occurs in one core, the processing of the core in which the abnormality occurs in the other core Even if an abnormality occurs in the first core or the second core, the functions realized by these cores can be continuously operated in a partially reduced state.
(2) Further, in the control device of the first and second embodiments, when an abnormality occurs in one of the first core and the second core, the processing of the core in which the abnormality occurs in the other core is performed on behalf of However, instead of this, a process of safely stopping the controlled object of the core in which an abnormality has occurred may be performed. By doing so, it is possible to prevent the controlled object of the core from continuing to operate when an abnormality occurs in one of the cores.
(3) Moreover, in the control apparatus of 1st, 2nd embodiment, if abnormality of one core is detected, the substitution of the process of the core which abnormality occurred in the other core will be started immediately. However, resetting the core (or the entire multi-core CPU) in which an abnormality has occurred may cause the core to recover from the abnormality. When an abnormality occurs in one core, the core (or the entire multi-core CPU) is reset. Alternatively, after the number of occurrences of abnormality in the core reaches a predetermined number, the other core may start processing for the core in which the abnormality has occurred. By doing so, it is possible to restore the core in which an abnormality has occurred to a normal state.
(4) In the control devices of the first and second embodiments, the operation of the first core is monitored by the WDT, and the operation of the second core is monitored by the second core monitoring timer provided in the first core. However, the present invention is not limited to this, and the operation of the first core may be monitored by a monitoring timer provided in the second core, instead of WDT. Further, for example, two WDTs may be provided in the multi-core CPU, and the first core and the second core may be monitored by these WDTs. Even in such a case, the same effect can be obtained.
[特許請求の範囲との対応]
上記実施形態の説明で用いた用語と、特許請求の範囲の記載に用いた用語との対応を示す。
[Correspondence with Claims]
The correspondence between the terms used in the description of the above embodiment and the terms used in the description of the claims is shown.
WDTが第一コア監視手段,監視回路に、第一コアが第二コア監視手段に相当する。
また、第二コアの異常検知時の動作におけるS285が第一代行処理に、第一コアの異常検知時の動作におけるS365が第二代行処理に相当する。
WDT corresponds to the first core monitoring means and monitoring circuit, and the first core corresponds to the second core monitoring means.
Further, S285 in the operation at the time of detecting the abnormality of the second core corresponds to the first proxy process, and S365 in the operation at the time of detecting the abnormality of the first core corresponds to the second proxy process.
また、WDTのタイマをクリアする指示が第一異常監視用処理に、第二コア監視タイマのクリアが第二異常監視用処理に、第一コア監視タイマのクリアが第三異常監視用処理に相当する。 Also, the instruction to clear the WDT timer corresponds to the first abnormality monitoring process, the clearing of the second core monitoring timer corresponds to the second abnormality monitoring process, and the clearing of the first core monitoring timer corresponds to the third abnormality monitoring process. To do.
また、第一コア監視タイマのカウント等の処理(ウォッチドックタイマの異常検知時の動作におけるS425,S445,S455,S460)が、監視処理に相当する。 Further, processing such as counting of the first core monitoring timer (S425, S445, S455, and S460 in the operation when detecting an abnormality of the watchdog timer) corresponds to the monitoring processing.
1…制御装置、10…マルチコアCPU、11…第一コア、11a…第二コア監視タイマ、12…第二コア、13…WDT、14…I/O部、15…RAM、16…ROM、17…内部バス、100…制御装置、110…マルチコアCPU、111…第一コア、111a…第二コア監視タイマ、112…第二コア、112a…第一コア監視タイマ、113…WDT。 DESCRIPTION OF SYMBOLS 1 ... Control apparatus, 10 ... Multi-core CPU, 11 ... 1st core, 11a ... 2nd core monitoring timer, 12 ... 2nd core, 13 ... WDT, 14 ... I / O part, 15 ... RAM, 16 ... ROM, 17 ... Internal bus, 100 ... Control device, 110 ... Multi-core CPU, 111 ... First core, 111a ... Second core monitoring timer, 112 ... Second core, 112a ... First core monitoring timer, 113 ... WDT.
Claims (2)
前記第二コアに、前記第一コアの異常を検知させる第一コア監視手段と、
前記第一コアに、前記第二コアの異常を検知させる第二コア監視手段と、
を備え、
前記第一コアは、前記第二コア監視手段を介して前記第二コアの異常を検知すると、前記第二コアにより実行される処理を代行する第一代行処理を実行し、
前記第二コアは、前記第一コア監視手段を介して前記第一コアの異常を検知すると、前記第一コアにより実行される処理を代行する第二代行処理を実行すること、
を特徴とし、
前記第一コアは、前記第一コア監視手段に対し、当該第一コアが正常に動作していることを通知するための処理である第一異常監視用処理を定期的に実行し、
前記第二コアは、前記第二コア監視手段に対し、当該第二コアが正常に動作していることを通知するための処理である第二異常監視用処理を定期的に実行し、
前記第一コア監視手段は、前記第一コアにより実行される前記第一異常監視用処理が予め定められた期間にわたり実行されない場合に、前記第二コアに対し、前記第一コアに異常が発生したことを通知する監視回路により実現され、
前記第二コア監視手段は、前記第一コアにより実行される処理であって、前記第二コアにより実行される前記第二異常監視用処理が実行されるか否かを監視すると共に、該第二異常監視用処理が予め定められた期間にわたり実行されない場合に、前記第二コアに異常が発生したものとみなす処理により実現されること、
を特徴とし、
前記マルチコアCPUは、前記監視回路を備えるマイクロコントローラとして構成され、
前記第一コアは、前記第二コアに対し、当該第一コアが正常に動作していることを通知するための処理である第三異常監視用処理を定期的に実行し、
前記第二コアは、
前記第一コアにより実行される前記第三異常監視用処理が実行されるか否かを監視すると共に、該第三異常監視用処理が予め定められた期間にわたり実行されない場合に、前記第一コアに異常が発生したものとみなす監視処理を実行し、
前記監視処理により前記第一コアの異常を検知し、且つ、前記第一コア監視手段を介して前記第一コアの異常が検知されなかった場合には、前記マルチコアCPUをリセットすること、
を特徴とする制御装置。 A control device comprising a multi-core CPU having at least a first core and a second core for executing a pre-assigned process,
First core monitoring means for causing the second core to detect an abnormality of the first core;
Second core monitoring means for causing the first core to detect abnormality of the second core;
With
When the first core detects an abnormality of the second core via the second core monitoring unit, the first core executes a first proxy process that performs the process executed by the second core;
When the second core detects an abnormality of the first core via the first core monitoring unit, the second core executes a second proxy process that performs the process executed by the first core;
Features
The first core periodically executes a first abnormality monitoring process that is a process for notifying the first core monitoring unit that the first core is operating normally.
The second core periodically executes a second abnormality monitoring process that is a process for notifying the second core monitoring unit that the second core is operating normally,
The first core monitoring means generates an abnormality in the first core relative to the second core when the first abnormality monitoring process executed by the first core is not executed over a predetermined period. Realized by a monitoring circuit that notifies
The second core monitoring means is a process executed by the first core, and monitors whether or not the second abnormality monitoring process executed by the second core is executed. When the second abnormality monitoring process is not executed over a predetermined period, it is realized by a process that assumes that an abnormality has occurred in the second core,
Features
The multi-core CPU is configured as a microcontroller including the monitoring circuit,
The first core periodically executes a third abnormality monitoring process that is a process for notifying the second core that the first core is operating normally;
The second core is
Monitoring whether or not the third abnormality monitoring process executed by the first core is executed, and when the third abnormality monitoring process is not executed over a predetermined period, Execute the monitoring process that assumes that an abnormality has occurred,
Detecting the abnormality of the first core by the monitoring process, and resetting the multi-core CPU when the abnormality of the first core is not detected via the first core monitoring means;
A control device characterized by.
前記第一コアは、前記第一代行処理として、前記第二コアにより実行される処理を、該第二コアが実行するよりも低負荷となる方法で実行し、
前記第二コアは、前記第二代行処理として、前記第一コアにより実行される処理を、該第一コアが実行するよりも低負荷となる方法で実行すること、
を特徴とする制御装置。 The control device according to claim 1,
The first core executes the process executed by the second core as the first agent process in a method having a lower load than that of the second core,
The second core executes, as the second agent process, a process executed by the first core in a method having a lower load than that of the first core,
A control device characterized by.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010217163A JP5601127B2 (en) | 2010-09-28 | 2010-09-28 | Control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010217163A JP5601127B2 (en) | 2010-09-28 | 2010-09-28 | Control device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012073748A JP2012073748A (en) | 2012-04-12 |
JP5601127B2 true JP5601127B2 (en) | 2014-10-08 |
Family
ID=46169868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010217163A Expired - Fee Related JP5601127B2 (en) | 2010-09-28 | 2010-09-28 | Control device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5601127B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107851055A (en) * | 2015-07-30 | 2018-03-27 | 三菱电机株式会社 | Program executing apparatus, program execution system and program excutive method |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6129499B2 (en) * | 2012-09-03 | 2017-05-17 | 日立オートモティブシステムズ株式会社 | Electronic control system for automobile |
JP2016032989A (en) * | 2014-07-31 | 2016-03-10 | 株式会社オートネットワーク技術研究所 | Load controller |
JP6160931B2 (en) * | 2015-01-21 | 2017-07-12 | コニカミノルタ株式会社 | Image forming apparatus, job processing control method, and job processing control program |
WO2016121474A1 (en) * | 2015-01-26 | 2016-08-04 | 日立オートモティブシステムズ株式会社 | Electronic control device for vehicular automatic transmission |
JP6540142B2 (en) * | 2015-03-24 | 2019-07-10 | 日本電気株式会社 | Baseboard Management Controller, Information Processing System, and Baseboard Management Controller Processing Execution Method |
JP2017146897A (en) | 2016-02-19 | 2017-08-24 | 株式会社デンソー | Microcontroller and electronic control unit |
JP6681304B2 (en) * | 2016-09-29 | 2020-04-15 | 日立オートモティブシステムズ株式会社 | Vehicle control device and vehicle internal combustion engine control device |
JP6812765B2 (en) * | 2016-11-29 | 2021-01-13 | 株式会社デンソー | Electronic control device |
WO2019082647A1 (en) * | 2017-10-24 | 2019-05-02 | 日立オートモティブシステムズ株式会社 | Vehicle control device |
JP2021076021A (en) * | 2019-11-05 | 2021-05-20 | 株式会社デンソー | Electronic control unit |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0469744A (en) * | 1990-07-10 | 1992-03-04 | Matsushita Electric Ind Co Ltd | Runaway detector for microcomputer |
JPH0855040A (en) * | 1994-08-08 | 1996-02-27 | Sanyo Electric Co Ltd | System operating method |
JP4289293B2 (en) * | 2004-12-20 | 2009-07-01 | 日本電気株式会社 | Start control method, duplex platform system, and information processing apparatus |
US7493477B2 (en) * | 2006-06-30 | 2009-02-17 | Intel Corporation | Method and apparatus for disabling a processor core based on a number of executions of an application exceeding a threshold |
JP4458119B2 (en) * | 2007-06-11 | 2010-04-28 | トヨタ自動車株式会社 | Multiprocessor system and control method thereof |
JP5141367B2 (en) * | 2008-05-14 | 2013-02-13 | 株式会社デンソー | Vehicle control device |
-
2010
- 2010-09-28 JP JP2010217163A patent/JP5601127B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107851055A (en) * | 2015-07-30 | 2018-03-27 | 三菱电机株式会社 | Program executing apparatus, program execution system and program excutive method |
CN107851055B (en) * | 2015-07-30 | 2021-06-29 | 三菱电机株式会社 | Program execution device, program execution system, and program execution method |
Also Published As
Publication number | Publication date |
---|---|
JP2012073748A (en) | 2012-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5601127B2 (en) | Control device | |
JP5244981B2 (en) | Microcomputer and operation method thereof | |
JP2008225858A (en) | Device, method and program for recovery from bios stall failure | |
JP6164373B2 (en) | Control device and control method for in-vehicle electronic device | |
JP6164374B2 (en) | Control device and control method for in-vehicle electronic device | |
US20060150002A1 (en) | Starting control method, duplex platform system, and information processor | |
JP5771114B2 (en) | Controller and how to handle tasks and ladders | |
JP5555472B2 (en) | Electronic control system for vehicles | |
CN102169451A (en) | Method and device for monitoring central processing unit (CPU) operation | |
JP5533777B2 (en) | Program group | |
JP6311693B2 (en) | Control device and control method for in-vehicle electronic device | |
JP2012137920A (en) | Electronic control device and start control method | |
JP2006011686A (en) | Method for detecting abnormality of multi-task system | |
JPH1153225A (en) | Fault processor | |
JP2006227962A (en) | System and method for monitoring application task | |
JP2013084218A (en) | Core monitoring device and information processor | |
CN101944056A (en) | Method and device for monitoring multitask system | |
JP5299681B2 (en) | Program inspection method | |
JP5906807B2 (en) | Arithmetic processing device and stall monitoring method | |
JP2016184315A (en) | Electronic controller | |
JP2011008493A (en) | System abnormality detection system by watchdog timer | |
WO2018003560A1 (en) | Electronic control device | |
WO2020217826A1 (en) | Electronic arithmetic device | |
JP2019036261A (en) | Stack overflow detector and vehicle control system | |
JP6710128B2 (en) | Communication device and communication device recovery method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130612 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140423 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140507 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140701 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140722 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140804 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5601127 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |