JP6729407B2 - マイクロコンピュータ - Google Patents
マイクロコンピュータ Download PDFInfo
- Publication number
- JP6729407B2 JP6729407B2 JP2017004271A JP2017004271A JP6729407B2 JP 6729407 B2 JP6729407 B2 JP 6729407B2 JP 2017004271 A JP2017004271 A JP 2017004271A JP 2017004271 A JP2017004271 A JP 2017004271A JP 6729407 B2 JP6729407 B2 JP 6729407B2
- Authority
- JP
- Japan
- Prior art keywords
- core
- cores
- abnormality
- reset
- operation mode
- 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.)
- Active
Links
Images
Landscapes
- Multi Processors (AREA)
- Microcomputers (AREA)
- Retry When Errors Occur (AREA)
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
Description
従来、複数のコアを備えたマルチコアマイコンにおいて特定のコアで異常が発生した場合には、マイコン全体にリセットをかけて、特定のコアの復帰を試みていた。
本開示は、特定のコアで発生した異常が他のコアに及ぼす影響を抑制することを目的とする。
モード決定部は、異常特定部により特定された異常発生コアに基づいて、異常発生コア以外のコアが演算処理を実行するための動作モードを決定するように構成される。
起動部は、複数のコアがリセットされた後に、複数のコアのうち、異常特定部により特定された異常発生コア以外のコアを起動させるように構成される。
本実施形態の電子制御装置1(以下、ECU1)は、車両に搭載され、図1に示すように、マイクロコンピュータ3(以下、マイコン3)、入力回路4、出力回路5およびリセット回路6を備えている。ECUは、Electronic Control Unitの略である。
またマイコン3は、CPU11、ROM12、RAM13、フラッシュROM14、I/O15及びこれらの構成を接続するバスラインなどから構成され、ROM12に記憶されたプログラムに基づいて、エンジンを制御するための各種制御処理を実行する。なお、フラッシュROM14は、記憶内容を書き換え可能な不揮発性メモリである。
また動作モード判定部33は、リセット後に起動させるコアを決定すると、リセット後に起動させるコアを示す起動コア情報を起動コア制御部35へ出力する。図2の矢印Y13は、コア21の動作モード判定部33が、コア21の起動コア制御部35へ起動コア情報を出力することを示している。図2の矢印Y14は、コア22の動作モード判定部33が、コア22の起動コア制御部35へ起動コア情報を出力することを示している。
処理実行部36は、動作モード記憶部51から動作モード情報を取得する。図2の矢印Y15は、コア21の処理実行部36が、動作モード記憶部51から動作モード情報を取得することを示している。図2の矢印Y16は、コア22の処理実行部36が、動作モード記憶部51から動作モード情報を取得することを示している。
コア21,22,23を構成するこれらの要素を実現する手法はソフトウェアに限るものではなく、その一部又は全部の要素について、一つあるいは複数のハードウェアを用いて実現してもよい。例えば、上記機能がハードウェアである電子回路によって実現される場合、その電子回路は多数の論理回路を含むデジタル回路、又はアナログ回路、あるいはこれらの組合せによって実現してもよい。
この異常対応処理が実行されると、コア21,22,23は、図3に示すように、まずS10にて、自コア異常検出機能41とコア相互監視機能42により、コアの異常を検出する。そしてS20にて、S10での検出結果に基づいて、異常発生コアが存在するか否かを判断する。ここで、異常発生コアが存在していない場合には、S10に移行する。一方、異常発生コアが存在する場合には、S30にて、異常発生コアに基づいて、リセット後の動作モードを決定する。具体的には、異常発生コアがコア23である場合には動作モードは第1フェールセーフモード、異常発生コアがコア22である場合には動作モードは第2フェールセーフモード、異常発生コアがコア21である場合には動作モードは第3フェールセーフモードであると決定する。以下、第1フェールセーフモード、第2フェールセーフモードおよび第3フェールセーフモードをまとめて単にフェールセーフモードともいう。
この初期化処理が実行されると、コア21,22,23は、図4に示すように、まずS210にて、動作モード記憶部51から動作モード情報を取得する。そしてS220にて、動作モード記憶部51に動作モード情報が記憶されていたか否かを判断する。ここで、動作モード情報が記憶されていなかった場合には、S230にて、実行処理テーブルに基づいて、後述する正常モードで実行する処理を設定する。
例えば図5に示すように、実行処理テーブルは、正常モードでは、コア21は、処理A1,A2,A3,A4,A5,A6を順次実行し、コア22は、処理B1,B2,B3,B4,B5を順次実行し、コア23は、処理C1,C2,C3,C4,C5を順次実行するように設定されている。
これにより、図6に示すように、コア21,22,23が正常(すなわち、正常モード)である場合には、実行タイミングが到来する毎に、コア21は、処理A1,A2,A3,A4,A5,A6を順次実行し、コア22は、処理B1,B2,B3,B4を順次実行し、コア23は、処理C1,C2,C3,C4,C5を順次実行する。
ここで、異常となったコアの処理を他のコアで実行できるようにするための方法について説明する。説明を簡略化するために、図7に示すように、正常時には、コアAが処理A1,A2,A3を順次実行し、コアBが処理B1,B2を順次実行する場合を想定して説明する。
この実行処理テーブルは、正常モードでは、コアAは処理A1,A2,A3を順次実行し、コアBは処理B1,B2を順次実行するように設定されている。また実行処理テーブルは、第1フェールセーフモードでは、コアAは処理A1,A2,B1を順次実行し、コアBは処理を実行しないように設定されている。また実行処理テーブルは、第2フェールセーフモードでは、コアBは処理A1,A2,B1を順次実行し、コアAは処理を実行しないように設定されている。
図8に示すように、まず、コア23で異常が発生し、コア22がコア23の異常を検出したとする。この場合に、コア22が、動作モードを決定するとともに、リセット後に起動させるコアを決定する。そして、コア22が、コア21へリセット前通知を送信する。リセット前通知を受信したコア21はリセット前処理を実行する。さらにコア22は、リセット前処理を実行した後にリセット回路6へリセット要求を送信する。これにより、リセット回路6は、マイコン3全体にリセットをかける。その後、コア21,22が起動する。起動したコア21,22はそれぞれ、コア22が決定した動作モードに基づいて、実行する処理を設定して、設定された処理の実行を開始する。
コア21,22,23の動作モード判定部33は、特定された異常発生コアに基づいて、動作モードを決定する。
コア21,22,23の起動コア制御部35は、起動コア情報をレジスタ24に記憶することにより、コア21,22,23がリセットされた後に、コア21,22,23のうち、異常発生コア以外のコアを起動させる。
以上、本開示の一実施形態について説明したが、本開示は上記実施形態に限定されるものではなく、種々変形して実施することができる。
例えば上記実施形態では、異常発生コアをリセット後に起動させないようにしたものを示したが、異常発生コアにおいて処理を無限ループに入れて異常発生コアを無効にするようにしてもよい。また、コアの動作モードに適切なものがあるマイコンでは、異常発生コアの動作モード(例えば、Sleep,Safe,Run等)を変更するようにしてもよい。
上記実施形態では、異常発生コアに基づいて動作モードを決定するものを示したが、異常発生コアに加えて、異常の種類および現在のソフトの状況の少なくとも一つに基づいて、動作モードを決定するようにしてもよい。異常の種類は、例えば、WDT割り込み及び例外割り込み等である。現在のソフトの状況は、例えば、Init中、Shutdown中およびベース処理中などである。
上記実施形態では、異常発生コアが1つである場合に動作モードとして3つのフェールセーフモードの何れかに決定するものを示したが、異常発生コアが2つ以上である場合を想定して、フェールセーフモードを設定するようにしてもよい。また、正常に動作するコアの組み合わせに応じて、4つ以上のフェールセーフモードの何れかに決定するようにしてもよい。
上記実施形態では、異常発生コアが存在する場合に、正常なコアを用いて正常モード時よりは少ない処理を実行するものを示した。しかし、マイコンの処理負荷が小さい状況(例えば、エンジン回転速度が小さい状況)では、異常発生コアが実行していた全ての処理を正常なコアに割り当てることによって、フェールセーフモードであっても、正常モード時と同様に全ての処理を実行するようにしてもよい。
上記実施形態では、コアで異常が発生すると動作モードをフェールセーフモードに切り替えるものを示したが、予め設定された切替判定回数のリセットを繰り返しても、同一コアで異常が継続する場合に、動作モードをフェールセーフモードに切り替えるようにしてもよい。また、上記の切替判定回数は、車両状態またはマイコン状態に応じて変えるようにしてもよい。例えば、車速が0km/hである場合、または、マイコンのイニシャル中は、安全にリセットをかけることができるため、切替判定回数を多くするようにしてもよい。
上記実施形態では、マイコンが3つのコアを備えるものを示した。今後、マイコンに搭載されるコアの数が増えると、コアの故障発生確率も増加する。しかし、1つのコア当たりの処理比率は下がるため、例えば、1つのコアを予備のコアとして、他のコアが故障したときに、予備のコアで代替させるようにしてもよい。
上記実施形態では、異常発生コアに基づいて動作モードを決定するものを示したが、異常発生コアにおける過去複数回の情報を確認して動作モードを決定するようにしてもよいし、異常発生コアにおける直前の1回の情報を確認して動作モードを決定するようにしてもよい。
上記実施形態では、マイコンが3つのコアを備えるものを示した。しかし、1つのコアがマスタコアであり、残りのコアがスレーブコアであるという関係が設定されており、マスタコアがスレーブコアを監視している場合において、マスタコアで異常は発生したときには、マスタコアの機能をスレーブコアに移すようにしてもよい。二重故障が発生しないとすれば、退避走行が可能となる。
上記実施形態では、異常が発生した場合に異常発生コアをリセット後に起動させないようにしたものを示したが、正常コアの一部もリセット後に起動させないようにしてもよい。
上記実施形態では、異常を検出したコアが、動作モードを決定するとともに、リセット後に起動させるコアを設定するものを示した。しかし、コアに予め優先度を設定し、コアに異常が発生した場合には、異常が発生していないコアの中で最も優先度が高いコアが、動作モードを決定するとともに、リセット後に起動させるコアを設定するようにしてもよい。ここで、最も優先度が高いコアが動作モードを決定するように構成されている場合におけるコア21〜23の動作の具体例を説明する。
上記実施形態では、異常発生コアが検出された後に、リセット回路6がリセットをかけるものを示したが、リセット回路6がリセットをかける前に、異常発生コアの動作を停止するようにしてもよい。異常発生コアの動作を停止するために、例えば、異常発生コアへのクロック供給を停止するとよい。これにより、リセットをかける前に異常発生コアが異常な動作をしてしまうのを抑制することができる。
上記変形例11では、リセットをかける前に異常発生コアの動作を停止させるものを示したが、異常発生コアの処理を無限ループに入れるようにしてもよい。
上記実施形態では、異常が発生していない正常なコアがリセットをかける前にリセット前処理を実行するものを示したが、リセットをかける前に、正常なコアが、異常発生コアがリセット前に実行するべき処理も実行するようにしてもよい。これにより、リセット前においてマイクロコンピュータを適切な状態とすることができ、リセットに起因した異常の発生を抑制することができる。
Claims (3)
- 1つ又は複数の演算処理を実行するコア(21,22,23)を複数備えるマイクロコンピュータ(3)であって、
複数の前記コアのうち、異常が発生している前記コアである異常発生コアを特定することができるように構成された異常特定部(31)と、
前記異常特定部により特定された前記異常発生コアに基づいて、前記異常発生コア以外の前記コアが前記演算処理を実行するための動作モードを決定するように構成されたモード決定部(33)と、
前記異常特定部が前記異常発生コアを特定した場合に、複数の前記コアをリセットさせるように構成されたリセット部(34)と、
複数の前記コアがリセットされた後に、複数の前記コアのうち、前記異常特定部により特定された前記異常発生コア以外の前記コアを起動させるように構成された起動部(35)と、
前記モード決定部によって決定された前記動作モードに基づいて、起動した前記コア毎に、前記異常発生コア以外の前記コアが起動した後に前記コアに実行させる1つ又は複数の前記演算処理を設定するように構成された処理設定部(45)と
を備え、
前記動作モードは、前記異常発生コアで実行される複数の前記演算処理の少なくとも一部を、前記異常発生コア以外の前記コアで実行させるモードであるマイクロコンピュータ。 - 請求項1に記載のマイクロコンピュータであって、
前記異常発生コアは、複数の前記コアがリセットされる前に、自身の動作が停止されるマイクロコンピュータ。 - 請求項1または請求項2に記載のマイクロコンピュータであって、
複数の前記コアがリセットされる前に、前記コアがリセットされる前に実行するように予め設定されたリセット前処理を、少なくとも前記異常発生コア以外の前記コアに実行させるように構成された前処理実行部(S70,S80)を備えるマイクロコンピュータ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017004271A JP6729407B2 (ja) | 2017-01-13 | 2017-01-13 | マイクロコンピュータ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017004271A JP6729407B2 (ja) | 2017-01-13 | 2017-01-13 | マイクロコンピュータ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018112977A JP2018112977A (ja) | 2018-07-19 |
JP6729407B2 true JP6729407B2 (ja) | 2020-07-22 |
Family
ID=62911159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017004271A Active JP6729407B2 (ja) | 2017-01-13 | 2017-01-13 | マイクロコンピュータ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6729407B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7334552B2 (ja) * | 2019-09-17 | 2023-08-29 | 株式会社デンソー | 電子制御装置 |
JP2022098090A (ja) | 2020-12-21 | 2022-07-01 | 日立Astemo株式会社 | 車両制御装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5347414B2 (ja) * | 2008-10-03 | 2013-11-20 | 富士通株式会社 | 同期制御装置,情報処理装置及び同期管理方法 |
JP2011159136A (ja) * | 2010-02-02 | 2011-08-18 | Seiko Epson Corp | 制御装置、制御装置の異常検出・復旧方法および電子機器 |
JP5960632B2 (ja) * | 2013-03-22 | 2016-08-02 | 日立オートモティブシステムズ株式会社 | 車両用電子制御装置 |
JP6380141B2 (ja) * | 2015-02-04 | 2018-08-29 | 株式会社デンソー | 電子制御装置 |
-
2017
- 2017-01-13 JP JP2017004271A patent/JP6729407B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018112977A (ja) | 2018-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5507830B2 (ja) | マイクロコントローラ及び自動車制御装置 | |
US9417946B2 (en) | Method and system for fault containment | |
JP6266239B2 (ja) | マイクロコンピュータ | |
JP6462870B2 (ja) | 半導体装置及び診断テスト方法 | |
KR101067264B1 (ko) | 컴퓨터 시스템의 제어 방법 및 장치 | |
US20150234661A1 (en) | Semiconductor integrated circuit device and system using the same | |
US20150006978A1 (en) | Processor system | |
JP2009541636A (ja) | 内燃機関のエンジン制御部の機能を監視するための方法および装置 | |
JP6729407B2 (ja) | マイクロコンピュータ | |
US20090259899A1 (en) | Method and apparatus for automatic scan completion in the event of a system checkstop | |
JP2011065528A (ja) | マルチプロセッサシステム | |
JP2010186242A (ja) | 計算機システム | |
JP2008112444A (ja) | 信号処理システムを起動/再起動する方法及び信号処理システム | |
JP2008146542A (ja) | マルチプロセッサシステム、プロセッサ装置及び例外処理方法 | |
US8954794B2 (en) | Method and system for detection of latent faults in microcontrollers | |
JP4422076B2 (ja) | データ処理装置、電子制御ユニット、ならびに自動車 | |
CN115904793A (zh) | 一种基于多核异构系统的内存转存方法、系统及芯片 | |
CN107423029B (zh) | 计算单元 | |
JP2013061783A (ja) | マルチコア・プロセッサ | |
JP2010113419A (ja) | マルチコア制御装置 | |
US20210124635A1 (en) | Multicore system | |
JP5978873B2 (ja) | 電子制御装置 | |
JP2011039667A (ja) | 数値制御装置 | |
JP2012108786A (ja) | マイコン、処理同期方法 | |
WO2013073009A1 (ja) | マイコンシステム、監視マイコン |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190325 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200311 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200331 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200512 |
|
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: 20200602 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200615 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6729407 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |