JP2014186454A - 車両用電子制御装置 - Google Patents

車両用電子制御装置 Download PDF

Info

Publication number
JP2014186454A
JP2014186454A JP2013059912A JP2013059912A JP2014186454A JP 2014186454 A JP2014186454 A JP 2014186454A JP 2013059912 A JP2013059912 A JP 2013059912A JP 2013059912 A JP2013059912 A JP 2013059912A JP 2014186454 A JP2014186454 A JP 2014186454A
Authority
JP
Japan
Prior art keywords
core
processor
activation mode
information
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.)
Granted
Application number
JP2013059912A
Other languages
English (en)
Other versions
JP5960632B2 (ja
Inventor
Toshikazu Sasaki
利和 佐々木
Koji Yuasa
康司 湯浅
Toshinaka Arai
敏央 新井
Yusuke Abe
雄介 阿部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Priority to JP2013059912A priority Critical patent/JP5960632B2/ja
Publication of JP2014186454A publication Critical patent/JP2014186454A/ja
Application granted granted Critical
Publication of JP5960632B2 publication Critical patent/JP5960632B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】車両用電子制御装置においてプロセッサの再起動を行うときに、当該プロセッサを動作状態に応じた適切な状態とする。
【解決手段】第1コア31及び第2コア32を備えた車両用電子制御装置において、第1コア31が、自装置の動作状態を示す第1コア動作情報41を第2コア32に伝送する。第2コア32は、第1コア動作情報41の伝送状況に基づき第1コア起動モードを決定する。そして、第2コア32は、第1コア31が再起動を行うときに、第1コア起動モード指示情報42を第1コア31に伝送し、第1コアは、これに基づいて起動モードを選択する。同様に、第1コア31は、第2コア32の動作情報43の伝送状況に基づいた第2コア起動モード指示情報44を決定して第2コア32に伝送し、第2コア32は、これに基づいて起動モードを選択する。
【選択図】図2

Description

本発明は、車両用電子制御装置におけるプロセッサの動作監視技術に関する。
車両用電子制御装置のマイクロコンピュータ(以下、マイコンという)では、様々な要因によりプロセッサの動作に異常が発生することがある。このような異常発生に対応する技術として、例えば特許文献1には、複数のマイコンが相互監視をしながら動作するシステムにおいて、一方のマイコンに異常が発生してリセットが行われたときに、正常に動作しているマイコン内部に実装した代替の監視機能により当該マイコンの監視を実行する技術について記載されている。
国際公開第2011/114493号
ここで、例えば複数のプロセッサ間において動作状態の相互監視ができたとしても、いずれかのプロセッサに異常が発生し、当該プロセッサがリセットされて再起動を行う場合、プロセッサの動作状態によっては必ずしも正常に起動できるとは限らない。このため、異常が発生したプロセッサが、リセット後に再起動しても再びリセットを繰り返す等の問題が発生することがあった。
本発明は上記問題点に鑑みなされたものであり、車両用電子制御装置においてプロセッサの再起動を行うときに、当該プロセッサを動作状態に応じた適切な状態とすることを目的とする。
そのため、本願発明は、複数のプロセッサを備えた車両用電子制御装置において、前記複数のプロセッサのうち1つのプロセッサが、自装置の動作状態を示す動作情報を他のプロセッサに伝送し、前記1つのプロセッサが再起動を行うときに、前記他のプロセッサが、前記1つのプロセッサからの動作情報の伝送状況に応じた起動モードの指示情報を前記1つのプロセッサに伝送するようにした。
上記発明によると、車両用電子制御装置においてプロセッサの再起動を行うときに、当該プロセッサを動作状態に応じた適切な状態とすることが可能になる。
実施形態における電子制御装置の構成の一例を示すブロック図である(実施例1)。 実施形態における電子制御装置で伝送される情報及び処理の概要の一例を示す説明図である(実施例1)。 実施形態における動作状態の判定方式の例を示す説明図である(実施例1)。 実施形態における動作状態の判定方式における信号やデータの具体例を示す説明図である(実施例1)。 実施形態における動作情報伝送処理及び動作状態判定処理の一例を示すフローチャートである(実施例1)。 実施形態における起動モード指示処理及び起動モード選択処理の一例を示すフローチャートである(実施例1)。 実施形態における電子制御装置の構成の一例を示すブロック図である(実施例2)。 実施形態における電子制御装置で伝送される情報及び処理の概要の一例を示す説明図である(実施例2)。 実施形態における起動モード選択処理の一例を示すフローチャートである(実施例2)。 実施形態における電子制御装置で伝送される情報及び処理の概要の一例を示す説明図である(実施例3)。 実施形態における動作状態判定処理の一例を示すフローチャートである(実施例3)。 実施形態における電子制御装置の構成の一例を示すブロック図である(実施例1の変形例)。
以下、添付された図面を参照し、本発明を実施するための実施形態について詳述する。
[実施例1]
〔1.電子制御装置の構成〕
図1は、本実施例における車両用の電子制御装置の構成の一例を示すブロック図である。
電子制御装置1は、車両に搭載された各種装置(例えば、エンジン、自動変速機、燃料ポンプ等)をマイコン2によって電子制御する装置である。マイコン2は、マルチコアのCPU3(Central Processing Unit)を備え、CPU3内ではプロセッサコアである第1コア31及び第2コア32が動作している。なお、本明細書において「プロセッサ」とは、ソフトウェアプログラムを実行するハードウェアの総称であり、例えばCPU自体を指す場合とプロセッサコアを指す場合とがあるものとする。本実施例では、第1コア31及び第2コア32がそれぞれプロセッサの一例である。
また、マイコン2は、第1コア31及び第2コア32の両方からアクセス可能なRAM(Random Access Memory)4、EEPROM5、ROM(Read Only Memory)6及びインタフェース(I/F)7を備える。第1コア31及び第2コア32が相互にバス(信号線)で接続されるとともに、第1コア31及び第2コア32の夫々とRAM4、EEPROM5、ROM6及びインタフェース7がバスで相互に接続されている。
RAM4は揮発性メモリの一例であり、第1コア31及び第2コア32による共有メモリである。なお、本実施例では、第1コア31及び第2コア32が、かかる共有メモリに情報(データ)を格納してその情報を共有することによって各種情報の受け渡しを行う構成とするが、例えば、第1コア31及び第2コア32がバスを介した通信によって各種データの受け渡しを行うことも可能である(他の実施例でも同様である)。ここで、本明細書における、情報の「伝送」という文言は、共有メモリ等を用いた情報の受け渡しとバス等を用いた通信による情報の受け渡しとの両方を含むものとする。
EEPROM5は、不揮発性メモリの一例であって、書き替え可能であり且つ電源遮断後でも記録内容を保持可能な記憶手段である。ROM6は、第1コア31及び第2コア32が実行する各種プログラム等を格納する。なお、本実施例では、第1コア31及び第2コア32が1つのEEPROM5及び1つのROM6を用いるハードウェア構成としているが、例えば、第1コア31及び第2コア32がそれぞれ別個のEEPROM5やROM6を用いるハードウェア構成としてもよい(他の実施例でも同様である)。インタフェース7は、電子制御装置1による制御対象装置や表示装置等との間で、各種情報を送受信する。
さらに、電子制御装置1は、第1コア31の動作を監視する外部監視回路8を備える。この外部監視回路8は、動作信号(例えばP−RUN(プログラムラン)信号等)を第1コア31から受信し、ウォッチドッグタイマ(図示省略)によって第1コア31の動作を監視する。そして、例えば第1コア31からの動作信号が停止するなど、第1コア31の動作が異常であることを検出すると、マイコン2のCPU3に異常が発生しているものとして、CPU3をリセットする機能を備えている。
〔2.第1コア及び第2コア間で伝送される情報及び処理の概要〕
次に、第1コア31及び第2コア32で伝送される情報及び処理の概要について、図2を参照しながら説明する。なお、図2では説明の都合上、EEPROM5を2箇所に分けて図示している。また、外部監視回路8等については図示を省略している。
まず、第1コア31の動作状態に応じた起動モードを第2コア32が第1コア31に指示し、第1コア31がこれに基づいて起動モードを選択する処理について説明する。なお、本明細書において「起動モード」とは、プロセッサが起動する際における動作設定であり、これにはプロセッサの起動自体をさせずに強制停止させることも含まれる。
第1コア31は、第1コア31の動作情報伝送処理311を行う。具体的には、第1コア31は、第1コア31の動作状態を示す(その伝送状況により第1コアの動作状態を判定するのに用いることが可能である)第1コア動作情報41をRAM4に格納する。換言すれば、第1コア31は、第1コア動作情報41を第2コア32に伝送する。
一方、第2コア32は、第1コア31の動作状態判定処理321を行う。具体的には、第2コア32は、第1コア31がRAM4に格納した第1コア動作情報41を読み出すことで、第1コア31から伝送された第1コア動作情報41を受け取り、第1コア動作情報41の伝送状況に基づいて、第1コア31の動作状態を判定する(なお、動作状態の具体的な判定方法については後述する)。そして、第2コア32は、第1コア31の動作状態の判定結果に基づいて第1コア31の起動モードを決定し、第1コア31の起動モードを示す第1コア起動モード情報51をEEPROM5に格納(バックアップ)する。
そして、次回に例えば第1コア31に対してリセットがかけられ、第1コア31が再起動するとき(リセットから復帰するとき)に、第2コア32は、第1コア31の起動モード指示処理322を行う。なお、本明細書において、「再起動」とは、意図せぬリセットからの復帰時の起動や意図的な起動等、いったん動作していたプロセッサを再び起動する場合の全てを含むものとする。具体的には、第2コア32は、EEPROM5にバックアップした第1コア起動モード情報51を読み出し、当該第1コア起動モード情報51に基づいて、第1コア31の起動モードを選択する。さらに、第2コア32は、選択した起動モードを示す第1コア起動モード指示情報42を、RAM4に格納する。換言すれば、第2コア32は、第1コア起動モード指示情報42を第1コア31に伝送する。
一方、第1コア31は、第1コア31の起動モード選択処理312を行う。具体的には、第1コア31は、第2コア32がRAM4に格納した第1コア起動モード指示情報42に基づいて、起動モードを選択する。
第2コア32の動作状態に応じた起動モードを第1コア31が第2コア32に指示し、第2コア32がこれに基づいて起動モードを選択する処理も、前述した処理と原則として同様である。
第2コア32は、第2コア32の動作情報伝送処理323を行い、第2コア動作情報43をRAM4に格納する。
一方、第1コア31は、第2コア32の動作状態判定処理313を行い、第2コア32の起動モードを示す第2コア起動モード情報52をEEPROM5に格納する。
そして、次回に例えば第2コア32に対してリセットがかけられ、第2コア32が再起動するときに、第1コア31は、第2コア32の起動モード指示処理314を行い、第2コア起動モード指示情報44をRAM4に格納する。
一方、第2コア32は、第2コア32の起動モード選択処理324を行う。
〔3.プロセッサの動作状態の判定方法の詳細〕
ここで、第1コア31及び第2コア32が行う動作状態判定処理において、相手側プロセッサの動作状態を、動作情報の伝送状況に基づいて判定する方式の具体例について、図3を参照しながら説明する。また、図4は、各判定方式において用いる信号やデータの具体例を示す。なお、ここでは、第1コア31の動作状態を第2コア32で判定する例を示して説明するが、第2コア32の動作状態を第1コア31で判定する場合も同様である。
(例1:P−RUN方式)第1コア31の信号生成部31Aは、P−RUN信号を第2コア32に継続的に伝送する。第2コア32の信号解析部32Aでは受信したP−RUN信号を解析し、異常判定部32Bでは、P−RUN信号が反転している(例えば一定時間以内において反転している)ことを以って、第1コア31が正常に動作していると判定することができる。このP−RUN方式では、例えば図4に示すように、第1コア31から送信されるP−RUN信号が「0」と「1」との反転を繰り返していることで、第1コア31が正常に動作していると判定することができる。
(例2:クロック方式)第1コア31のデータ生成部31Bは、データ(クロック)を第2コア32に継続的に伝送する。第2コア32のデータ受信部32Cでは当該クロックを受信し、異常判定部32Dでは、この受信したクロックによって、第1コア31が正常に動作していると判定することができる。このクロック方式では、例えば図4に示すように、第1コア31から送信されるクロックが正常にインクリメントされていることで、第1コア31が正常に動作していると判定することができる。
(例3:例題演算方式)第2コア32の出題部32Eは、データテーブル32Gに格納された値(x,y)を用いて、演算の例題(x,y)を第1コア31に伝送する。第1コア31の例題演算部31Cでは、例題内容について演算し、回答部31Dが、演算結果の回答(ans)を第2コア32に伝送する。第2コア32の異常判定部32Fでは、演算結果が正しい(データテーブル32Gの回答(ans)と一致している)ことを以って、第1コア31が正常に動作していると判定することができる。第1コア31及び第2コア32は、この処理を継続的に繰り返す。この例題演算方式では、例えば図4に示すように、第2コア32から送信された[x+y]の例題(x=12,y=6)に対して第1コア31が返信した回答(ans =18)が正しいことを以って、第1コア31が正常に動作していると判定することができる。
なお、プロセッサの動作状態の判定方法はこれらの具体例に限定されず、いかなる方法であってもよい。
〔4.第1コア及び第2コアで実行される処理の詳細〕
次に、第1コア31及び第2コア32で実行される処理について、図5及び図6に示すフローチャートを参照しながら説明する。
(4.1.動作情報伝送処理及び動作状態判定処理)
まず、図5において破線で囲われたブロックの処理、すなわち、第1コア31が実行する第1コア32の動作情報伝送処理311及び第2コア32が実行する第1コア31の動作状態判定処理321について説明する。当該処理により、第1コア31の動作状態に応じた起動モードが第2コア32によって選択され、EEPROM5に格納される。当該処理は、例えば所定時間毎に継続的に実行される。
(第1コアが実行する第1コアの動作情報伝送処理)
ステップS101で、第1コア31は、第2コア32へ渡す第1コア動作情報41を決定する。なお、動作情報の具体例については前述したとおりである。
ステップS102で、第1コア31は、第2コア32に第1コア動作情報41を渡す。具体的には、第1コア31は、RAM4に第1コア動作情報41を格納することにより、第2コア32に第1コア動作情報41を伝送する。
(第2コアが実行する第1コアの動作状態判定処理)
ステップS201で、第2コア32は、第1コア動作情報41をRAM4から読み出す。
ステップS202で、第2コア32は、第1コア動作情報41の伝送状況に基づき、第1コア31の動作状態を判定する。第1コア31の動作状態が正常な場合はステップS203に進み、軽度の異常であると判定した場合(例えば、第1コア動作情報41の伝送が不規則に正常でない状態になり、動作状態が不安定な場合など)はステップS204に進み、重度の異常であると判定した場合(例えば第1コア動作情報41の伝送自体が停止されている場合など)はステップS205に進む。なお、動作状態が軽度の異常か重度の異常かの判定基準については、例えば、動作情報が正常に伝送される回数が所定回数(又は所定時間)連続しているか否かなどの基準を用いることができる。
ステップS203で、第2コア32は、第1コア31の起動モードを、通常制御で起動を行う起動モードAにすることを決定する。
ステップS204で、第2コア32は、第1コア31の起動モードを、より安全にプログラムを実行させる起動モードBにすることを決定する。なお、このような起動モードとしては、例えば、優先順位の低い機能(例えば、学習制御や診断処理等)を一部制限させて、プログラムを実行するプロセッサの負荷を軽減する起動モードなどがある。また例えば、フェールセーフ制御を行う起動モードとしてもよい。
ステップS205で、第2コア32は、第1コア31の起動モードを、起動モードBよりもさらに安全にプログラムを実行させる起動モードC(例えば、プログラムを実行するために最小限必要なドライバ等を有効にして起動を行うなど、プロセッサの負荷をさらに軽減するモード)にすることを決定する。
ステップS206で、第2コア32は、ステップS203〜ステップS205のいずれかで選択した第1コア31の起動モードを示す第1コア起動モード情報51を、EEPROM5に格納する。
次に、図5において一点鎖線で囲われたブロックの処理、すなわち、第2コア32が実行する第2コア32の動作情報伝送処理323及び第1コア31が実行する第2コア32の動作状態判定処理313について説明する。当該処理も、前述した第1コア31の動作情報伝送処理311及び第1コア31の動作状態判定処理321と同様である。第2コア32の動作状態に応じた起動モードが第1コア31によって選択され、EEPROM5に格納される。当該処理は、例えば所定時間毎に継続的に実行される。
(第2コアが実行する第2コアの動作情報伝送処理)
ステップS301で、第2コア32は、第1コア31へ渡す第2コア動作情報43を決定する。
ステップS302で、第2コア32は、第1コア31に第2コア動作情報43を渡す。具体的には、第2コア32は、RAM4に第2コア動作情報43を格納することにより、第1コア31に第2コア動作情報43を伝送する。
(第1コアが実行する第2コアの動作状態判定処理)
ステップS401で、第1コア31は、第2コア動作情報43をRAM4から読み出す。
ステップS402で、第1コア31は、第2コア動作情報43の伝送状況に基づき、第2コア32の動作状態を判定する。第2コア32の動作状態が正常な場合はステップS403に進み、軽度の異常であると判定した場合はステップS404に進み、重度の異常であると判定した場合はステップS405に進む。
ステップS403で、第1コア31は、第2コア32の起動モードを、起動モードAにすることを決定する。
ステップS404で、第1コア31は、第2コア32の起動モードを、起動モードBにすることを決定する。
ステップS405で、第1コア31は、第2コア32の起動モードを、起動モードCにすることを決定する。
ステップS406で、第1コア31は、ステップS403〜ステップS405のいずれかで選択した第2コア32の起動モードを示す第2コア起動モード情報52を、EEPROM5に格納する。
(4.2.起動モード指示処理及び起動モード選択処理)
まず、図6において破線で囲われたブロックの処理、すなわち、第2コア32が実行する第1コア31の起動モード指示処理322及び第1コア31が実行する第1コア31の起動モード選択処理312について説明する。当該処理により、第1コア31の動作状態に応じた起動モードが第2コア32から第1コア31に指示され、第1コア31において選択される。当該処理は、第1コア31が再起動されるときに実行される。
(第2コア32が実行する起動モード指示処理)
ステップS501で、第2コア32は、動作状態判定処理321においてEEPROM5に格納した第1コア起動モード情報51を読み出す。
ステップS502で、第2コア32は、第1コア起動モード情報51に基づき、第1コア31の起動モードを判定する。第1コア起動モード情報が、起動モードAである場合はステップS503に進み、起動モードBである場合はステップS504に進み、起動モードCである場合にはステップS505に進む。
ステップS503で、第2コア32は、起動モードAを示す第1コア起動モード指示情報42をRAM4に格納することで、第1コア31に対して起動モードの指示を行う。
ステップS504で、第2コア32は、起動モードBを示す第2コア起動モード指示情報42をRAM4に格納することで、第1コア31に対して起動モードの指示を行う。
ステップS505で、第2コア32は、起動モードCを示す第2コア起動モード指示情報42をRAM4に格納することで、第1コア31に対して起動モードの指示を行う。
(第1コア31が実行する起動モード選択処理)
ステップS601で、第1コア31は、第2コア32によって格納された第1コア起動モード指示情報42をRAM4から読み出す。
ステップS602で、第1コア31は、第1コア起動モード指示情報42に基づき、第1コア31の起動モードを判定する。第1コア起動モード指示情報42が、起動モードAである場合はステップS603に進み、起動モードBである場合はステップS604に進み、起動モードCである場合にはステップS605に進む。
ステップS603で、第1コア31は、起動モードAを選択する。
ステップS604で、第1コア31は、起動モードBを選択する。
ステップS605で、第1コア31は、起動モードCを選択する。
次に、図6において一点鎖線で囲われたブロックの処理、すなわち、第1コア31が実行する第2コア32の起動モード指示処理314及び第2コア32が実行する第2コア32の起動モード選択処理324について説明する。当該処理も、前述した第1コア31の起動モード指示処理322及び第1コア31の起動モード選択処理312と同様である。当該処理により、第2コア32の動作状態に応じた起動モードが第1コア31から第2コア32に指示され、第2コア32において選択される。当該処理は、第2コア32が再起動されるときに実行される。
(第1コアが実行する起動モード指示処理)
ステップS701で、第1コア31は、動作状態判定処理313においてEEPROM5に格納した第1コア起動モード情報52を読み出す。
ステップS702で、第1コア31は、第2コア起動モード情報52に基づき、第2コア32の起動モードを判定する。第2コア起動モード情報52が、起動モードAである場合はステップS703に進み、起動モードBである場合はステップS704に進み、起動モードCである場合にはステップS705に進む。
ステップS703で、第1コア31は、起動モードAを示す第1コア起動モード指示情報44をRAM4に格納することで、第2コア32に対して起動モードの指示を行う。
ステップS704で、第1コア31は、起動モードBを示す第1コア起動モード指示情報44をRAM4に格納することで、第2コア32に対して起動モードの指示を行う。
ステップS705で、第1コア31は、起動モードCを示す第1コア起動モード指示情報44をRAM4に格納することで、第2コア32に対して起動モードの指示を行う。
(第2コアが実行する起動モード選択処理)
ステップS801で、第2コア32は、第1コア31によって格納された第2コア起動モード指示情報44をRAM4から読み出す。
ステップS802で、第2コア32は、第2コア起動モード指示情報44に基づき、第2コア32の起動モードを判定する。第2コア起動モード指示情報44が、起動モードAである場合はステップS803に進み、起動モードBである場合はステップS804に進み、起動モードCである場合にはステップS805に進む。
ステップS803で、第2コア32は、起動モードAを選択する。
ステップS804で、第2コア32は、起動モードBを選択する。
ステップS805で、第2コア32は、起動モードCを選択する。
〔5.本実施例による効果等〕
本実施例によれば、第1コア31及び第2コア32は相互に相手プロセッサの動作状態を監視し、相手プロセッサが再起動を行うときには、相手プロセッサの動作状態に応じた適切な起動モードを相手プロセッサに指示することができる。このため、第1コア31及び第2コア32はいずれも、動作状態に応じた適切な起動モードで再起動することができ、再起動後にリセットが繰り返し生じるなどの状態の発生を抑制することができる。
また、第1コア31及び第2コア32が、相手プロセッサの動作状態に応じた起動モードをEEPROM5に格納しておくことで、例えば第1コア31に対して外部監視回路8によってリセットがかけられた後においても、第2コア起動モード情報52が消去されずに維持される。第2コア32において意図せぬリセットがかかった場合でも、第1コア起動モード情報51が消去されずに維持される。
なお、本実施例における各処理は、前述した電子制御装置1の構成のみならず、例えば外部監視回路8がない構成においても実現することが可能である。
[実施例2]
実施例2では、メインプロセッサとして機能する1つのプロセッサが複数のプロセッサとの間で相互に処理を行う構成について説明する。
以下、実施例1と同様の内容については原則として説明を省略する。
〔1.電子制御装置の構成〕
図7は、本実施例における車両用の電子制御装置の一例を示すブロック図である。
電子制御装置1のマイコン2は、マルチコアのCPU3を備え、CPU3内ではメインプロセッサである第1コア31が動作するとともに、第2コア32、第3コア33及び第4コア34が動作している。
また、マイコン2は、第1コア31、第2コア32、第3コア33及び第4コア34からアクセス可能なRAM4、EEPROM5及びROM6を備える。RAM4は、第1コア31、第2コア32、第3コア33及び第4コア34による共有メモリである。さらにマイコン2は、EEPROM5及びROM6を備える。また、電子制御装置1は、第1コア31の動作を監視する外部監視回路8を備える。これらの各構成要素は図7に示すように相互にバスで接続されている。
〔2.第1コア及び第2コア〜第4コア間で伝送される情報及び処理の概要〕
次に、第1コア31並びに第2コア32、第3コア33及び第4コア34で伝送される情報及び処理の概要について、図8を参照しながら説明する。なお、外部監視回路8等については図示を省略している。
本実施例では、第1コア31が、第2コア32、第3コア33及び第4コア34との間で相互に動作情報伝送処理、動作状態判定処理、起動モード指示処理及び起動モード選択処理を行う。なお、図8では、第1コア31の動作状態に応じた起動モードを第2コア32〜第3コア34が第1コア31に指示し、第1コア31がこれらに基づいて起動モードを選択する処理についてのみ図示している。本実施例の説明では、第2コア32〜第4コア34の動作状態に応じた起動モードを第1コア31が第2コア32〜第4コア34に夫々指示し、第2コア32〜第4コア34がこれに基づいて夫々起動モードを選択する処理については、実施例1における、第2コア32の動作情報伝送処理323、動作状態判定処理313、起動モード指示処理314及び起動モード選択処理324と同様であるため、説明を省略する。
まず、第1コア31と第2コア32との間で行われる処理について説明する。
第1コア31は、第2コア32に対して第1コア31の動作情報伝送処理3112を行い、第1コア動作情報412をRAM4に格納する。
一方、第2コア32は、第1コア31の動作状態判定処理3212を行い、第1コア31の起動モードを示す第1コア起動モード情報512をEEPROM5に格納する。
そして、次回に第1コア31が再起動するときに、第2コア32は、第1コア31の起動モード指示処理3222を行い、第1コア起動モード指示情報422をRAM4に格納する。
また、第1コア31は、第3コア33及び第4コア34との間でも、図8に示すように、前述した第2コア32との間の処理と同様の処理を行う。
ここで、第1コア31が再起動するときに、第1コア31は、起動モード選択処理3121を行う。具体的には、第1コア31は、第2コア32、第3コア33及び第4コア34が夫々RAM4に格納した第1コア起動モード指示情報422、第1コア起動モード指示情報423及び第1コア起動モード指示情報424を読み出す。そして、第1コア31は、これら複数の情報に基づいて(総合して)、起動モードを選択する。このとき、第1コア起動モード指示情報422、第1コア起動モード指示情報423及び第1コア起動モード指示情報424の指示内容の全部又は一部が一致していない場合、第1コア31は、最も安全に動作することが可能な起動モード(換言すれば、第1コア31の動作状態がより重度の異常であると判定した判定結果に基づく起動モード)を選択する。
〔3.第1コアにおける起動モード選択処理の詳細〕
次に、本実施例における各処理のうち、特に、第1コア31が実行する起動モード選択処理3121について、図9に示すフローチャートを参照しながら説明する。
ステップS901で、第1コア31は、第2コア32によって格納された第1コア起動モード指示情報422をRAM4から読み出す。
ステップS902で、第1コア31は、第3コア33によって格納された第1コア起動モード指示情報423をRAM4から読み出す。
ステップS903で、第1コア31は、第4コア34によって格納された第1コア起動モード指示情報424をRAM4から読み出す。
ステップS904で、第1コア31は、ステップS901〜ステップS903で読み出した第1コア起動モード指示情報422、第1コア起動モード指示情報423及び第1コア起動モード指示情報424に基づき、第1コア31の起動モードを判定する。これらの3つの第1コア起動モード指示情報の内訳が起動モードAのみの場合はステップS905に進み、起動モードA又は起動モードBの場合はステップS906に進み、起動モードCが存在する場合にはステップS907に進む。
ステップS905で、第1コア31は、起動モードAを選択する。
ステップS906で、第1コア31は、起動モードBを選択する。
ステップS907で、第1コア31は、起動モードCを選択する。
〔4.本実施例による効果等〕
本実施例によれば、実施例1で説明した効果に加え、第1コア31が再起動するときに、第2コア32〜第4コア34の複数の他のプロセッサによる動作状態の判定結果に基づく起動モード指示情報を総合して、起動モードを選択することが可能となる。このため、メインプロセッサである第1コア31が選択する起動モードがより適切なものとなり、再起動後にリセットが繰り返し生じるなどの状態が発生することをさらに抑制することができる。特に、これらの複数の起動モード指示情報のうち、安全に動作することが可能な起動モードを選択することで、異常が発生したプロセッサをより安全にリセットから復帰させることが可能となる。
ここで、例えば、起動モードを「通常時起動モード」及び「異常時起動モード」の2種類とし、第2コア32〜第4コア34による起動モード指示情報で指示された起動モードが1つでも「異常時起動モード」であれば、第1コア31が「異常時起動モード」を選択するようにしてもよい。
なお、起動モードの選択方法は、上記のような方法に限定されるものではない。例えば、第1コア31が起動モードを選択する際に、最も多数の第1コア起動モード指示情報で指示された起動モードを選択するようにしてもよい。
また、第1コア31が第2コア32〜第4コア34との間で行う動作状態の判定方法は、必ずしも全て同一でなくてもよい。例えば第1コア31は、第2コア32との間ではP−RUN方式で動作状態を判定する一方で、第3コア33との間では例題演算方式で動作状態を判定するようにしてもよい。このようにメインプロセッサの動作状態の判定を複数のプロセッサで多面的に行うことで、メインプロセッサで発生した異常をより高い精度で検出し、適切な動作状態を指示することが可能となる。
なお、本実施例における各処理も実施例1と同様に、前述した電子制御装置1の構成のみならず、例えば外部監視回路8がない構成においても実現することが可能である。また、本実施例で示したプロセッサの数は一例に過ぎない。
[実施例3]
実施例3では、複数のプロセッサのうち1つのプロセッサのみを外部監視回路が監視している構成において、外部監視回路による監視対象のプロセッサが外部監視回路による監視対象外のプロセッサの異常を検出したときに、外部監視回路によるプロセッサ全体に対するリセット機能を利用し、異常が発生したプロセッサに対して意図的にリセットを行う構成について説明する。
〔1.電子制御装置の構成〕
本実施例における電子制御装置1の構成は、実施例1と同様であるため、説明を省略する。
〔2.第1コア及び第2コア間で伝送される情報及び処理の概要〕
次に、第1コア31及び第2コア32によって実行される処理の概要について、図10を参照しながら説明する。図10は、第2コア32の動作状態に応じた起動モードを第1コア31が第2コア32に指示し、第2コア32がこれに基づいて起動モードを選択する処理について示している。なお、本実施例の説明では、第1コア31の動作状態に応じた起動モードを第2コア32が第1コア31に指示し、第1コア31がこれに基づいて起動モードを選択する処理については、実施例1で示した動作情報伝送処理311、動作状態判定処理321、起動モード指示処理322及び起動モード選択処理312と同様であるため説明を省略する。
第2コア32は、第2コア32の動作情報伝送処理323を行い、第2コア動作情報43をRAM4に格納する。
一方、第1コア31は、第2コア32の動作状態判定処理315を行う。ここで、第2コア32の動作状態が異常であると判定した場合、第1コア31は、第2コア起動モード情報52をRAM4に格納した後、次の処理を行う。すなわち、第1コア31は、外部監視装置8が第1コア31及び第2コア32の両方にリセットを行うことができることを利用して外部監視装置8に第2コア32をリセットさせるため、外部監視装置8に対する動作信号の送信を停止する。(なお、図10では図示を省略しているが、このとき第1コア31は第2コア32に対しては正常な動作情報を渡し続けている(あるいはCPU3を意図的にリセットする旨の情報を明示的に渡してもよい)ため、第2コア32では、第1コア31の動作状態に異常が発生したという判定はしない。)
そして、外部監視回路8に対する第1コア31の動作信号の送信が停止された結果、外部監視回路8は、第1コア31の動作に異常が発生したと判定する(81)。このため、外部監視回路8は、CPU3全体、すなわち第1コア31及び第2コア32の両方に対してリセットを行う(82)。
そして、第2コア32が再起動するときに、第1コア31は、EEPROM5にバックアップした第2コア起動モード情報52を読み出して第2コア32の起動モード指示処理314を行い、第2コア起動モード指示情報44をRAM4に格納する。
一方、第2コア32は、第2コア32の起動モード選択処理324を行う。
〔3.第1コアにおける動作状態判定処理のフローチャート〕
ここで、本実施例における各処理のうち、特に、第1コア31が実行する第2コア32の動作状態判定処理315について、図11に示すフローチャートを参照しながら説明する。
ステップS1001で、第1コア31は、第2コア動作情報43をRAM4から読み出す。
ステップS1002で、第1コア31は、第2コア動作情報43の伝送状況に基づき、第2コア32の動作状態を判定する。第2コア32の動作状態が正常な場合はステップS1003に進み、軽度の異常であると判定した場合はステップS1004に進み、重度の異常であると判定した場合はステップS1005に進む。
ステップS1003で、第1コア31は、起動モードAを選択する。
ステップS1004で、第1コア31は、起動モードBを選択する。
ステップS1005で、第1コア31は、ステップS1003又はステップS1004のいずれかで選択した第2コア32の起動モードを示す第2コア起動モード情報52を、EEPROM5に格納する。
ステップS1006で、第1コア31は、起動モードCを選択する。
ステップS1007で、第1コア31は、ステップS1006で選択した起動モードCを示す第2コア起動モード情報52を、EEPROM5に格納する。
ステップS1007で、第1コア31は、外部監視回路8に対する動作信号の送信を停止する。
〔4.本実施例による効果等〕
本実施例によれば、実施例1で説明した効果に加え、さらに、外部監視回路8による監視対象の第1コア31が外部監視回路による監視対象外の第2コア32の異常を検出したときに、外部監視回路8によるCPU3全体に対するリセット機能を利用し、異常が発生した第2コア32に対して意図的にリセットを行うことができる。このため、第2コア32に対してさらに外部監視回路による監視を行う構成にしなくても、第2コア32に対する意図的なリセットが可能となり、ハードウェア構成が複雑化することを回避することができる。しかも、第2コア32がリセット後に再起動するときには、第2コア32の動作状態に応じた適切な起動モードで再起動することができる。
なお、本実施例では、第2コア32において重度の異常が発生しているときにのみ外部監視回路8によるリセットを行う例について説明したが、かかるリセットを行う判定基準は任意であり、例えば、軽度の異常が発生している場合にもリセットを行うようにしてもよい。
また、本実施例では、第1コア31が外部監視回路8に対する動作信号を停止させたが、停止に限らず、外部監視回路8が異常を検出してリセットを行うことができれば、いかなる態様で動作信号を送信するようにしてもよい。
なお、本実施例の構成は、実施例2に記載したような構成、すなわち、外部監視回路8による監視対象外のプロセッサが複数存在する構成においても適用可能である。
[その他]
前述した各実施例では、1つのCPU内のプロセッサコア間において動作状態の判定や起動モードの指示を行うことについて説明したが、本発明の実施形態はかかる構成に限定されない。例えば、図12に示す電子制御装置1のように、図1で示した第1コア31及び第2コア32の代わりに、マイコン21及びマイコン22を備えたハードウェア構成の電子制御装置1において、マイコン21及びマイコン22が夫々備える第1CPU331及び第2CPU332間で本実施形態の処理をさせることも可能である。この図12の例の場合、第1CPU331及び第2CPU332がそれぞれプロセッサの一例であり、夫々前述した実施例における第1コア31及び第2コア32が実行した処理を実行する。また、実施例2のように、1つのメインプロセッサとして機能するCPUが、他の複数のCPUとの間で相互に処理を行うことも同様に可能である。
また、動作状態判定処理及び起動モード指示処理において、どのような動作状態のときにどのような起動モードを選択して相手側のプロセッサに指示するかは、前述した実施例で示した内容に限定されず、任意である。起動モードの種類や数も、前述した内容に限定されるものではない。ここで例えば、プロセッサの動作状態が重度の異常である場合には、相手側のプロセッサの起動自体をさせずに停止させる設定にすることも可能である。そうすることで、重度の故障が発生しているプロセッサに対し、不要な処理負荷をかける状態が発生することをさらに抑制することができる。
また、起動モード指示処理において、EEPROMに格納された起動モード情報の読み出しに失敗した場合などには、再起動するプロセッサに再びリセットがかけられるリスクをより低減するべく、例えば、最も重度の異常が発生している状態における起動モードを選択するようにしてもよい。一方、起動モード選択処理において、起動モード指示情報が特に伝送されていない場合などには、特に異常が発生していないものとして、正常な動作状態における起動モードを選択するようにしてもよい。
さらに、前述した各実施例では、複数のプロセッサが相互に動作状態の判定や起動モードの指示を行うことについて説明したが、当然に、相互処理ではなく1つのプロセッサが他のプロセッサの動作状態を判定して起動モードの指示を行うだけでもよい。この場合であっても、動作状態を判定される側のプロセッサが次回再起動するときに、適切な状態となる効果を奏することができる。
また、異常が発生したプロセッサを、一部の機能を制限した状態で動作させたり停止させたりする場合には、例えば車両が備える表示装置にその旨を表示させてユーザが認識できるようにしてもよい。
その他、本実施形態で説明した機能的構成及び物理的構成は、前述の態様に限定されるものではなく、例えば、各機能や物理資源を統合して実装したり、逆に、さらに分散して実装したりすることも可能である。
ここで、上記実施形態から把握し得る請求項以外の技術的思想について、以下に効果と共に記載する。
(イ)前記他のプロセッサが、自装置の動作情報を前記1つのプロセッサに伝送し、
前記他のプロセッサが再起動を行うときに、前記1つのプロセッサが、前記他のプロセッサからの動作情報の伝送状況に応じた起動モードの指示情報を前記他のプロセッサに伝送する、請求項1〜3のいずれか1項に記載の車両用電子制御装置。
上記発明によると、複数のプロセッサが、相互に相手プロセッサの動作状態を監視し、相手プロセッサが再起動を行うときには、相手プロセッサの動作状態に応じた適切な起動モードを相手プロセッサに指示することができる。
(ロ)複数の前記他のプロセッサから夫々伝送された複数の起動モードの指示情報のうち全部又は一部が一致していないとき、前記1つのプロセッサが、最も多数の前記指示情報で指示された起動モードを自装置の起動モードとして選択する、請求項2記載の車両用電子制御装置。
上記発明によると、再起動するプロセッサが、多くのプロセッサによって指示された起動モードにしたがって起動モードを選択するため、選択される起動モードがより適切なものとなる。
(ハ)複数の前記他のプロセッサから夫々伝送された複数の起動モードの指示情報のうち全部又は一部が一致していないとき、前記1つのプロセッサが、前記指示情報で指示された起動モードのうち最も安全に動作することが可能な起動モードを選択する、請求項2記載の車両用電子制御装置。
上記発明によると、プロセッサに異常が発生している場合に、プロセッサをより安全にリセットから復帰させることが可能となる。
(ニ)前記複数のプロセッサのうち1つのプロセッサが、複数の前記他のプロセッサに対して夫々異なる動作情報を伝送し、
前記1つのプロセッサが再起動を行うときに、前記他のプロセッサが、夫々異なる動作情報の伝送状況に応じた起動モードの指示情報を前記1つのプロセッサに伝送する、請求項2記載の車両用電子制御装置。
上記発明によると、プロセッサの動作状態の判定を複数のプロセッサで多面的に行うことで、プロセッサで発生した異常をより高い精度で検出し、適切な動作状態を指示することが可能となる。
(ホ)前記他のプロセッサが、前記1つのプロセッサからの動作情報の伝送状況に応じた起動モードを示す情報を不揮発性メモリに格納し、前記1つのプロセッサが再起動するときに前記不揮発性メモリに格納した起動モードを示す情報に基づいた起動モードの指示情報を前記1つのプロセッサに伝送する、請求項1記載の車両用電子制御装置。
上記発明によると、例えば他のプロセッサにおいて意図せぬリセットがかかった場合でも、起動モードの指示情報が消去されずに維持される。
1…電子制御装置、2…マイコン、3…CPU、4…RAM、5…EEPROM、6…ROM、7…インタフェース、8…外部監視回路、31…第1コア、32…第2コア、33…第3コア、34…第4コア

Claims (3)

  1. 複数のプロセッサを備えた車両用電子制御装置において、
    前記複数のプロセッサのうち1つのプロセッサが、自装置の動作状態を示す動作情報を他のプロセッサに伝送し、
    前記1つのプロセッサが再起動を行うときに、前記他のプロセッサが、前記1つのプロセッサからの動作情報の伝送状況に応じた起動モードの指示情報を前記1つのプロセッサに伝送する、車両用電子制御装置。
  2. 前記他のプロセッサが複数であり、
    前記1つのプロセッサが、複数の前記他のプロセッサから夫々伝送された複数の起動モードの指示情報に基づいて自装置の起動モードを選択する、請求項1記載の車両用電子制御装置。
  3. 少なくとも前記他のプロセッサからの動作情報の伝送状況に基づいて前記他のプロセッサの動作状態を監視し、前記他のプロセッサの動作状態が異常であるときに前記複数のプロセッサ全体に対してリセットを行う機能を備えた外部監視装置をさらに備え、
    前記他のプロセッサは、前記1つのプロセッサの動作状態が異常であるときに、前記外部監視装置に対する動作情報の伝送を停止する又は前記外部監視装置に対して自装置の動作状態が異常であることを示す動作情報を伝送する、請求項1又は2記載の車両用電子制御装置。
JP2013059912A 2013-03-22 2013-03-22 車両用電子制御装置 Active JP5960632B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013059912A JP5960632B2 (ja) 2013-03-22 2013-03-22 車両用電子制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013059912A JP5960632B2 (ja) 2013-03-22 2013-03-22 車両用電子制御装置

Publications (2)

Publication Number Publication Date
JP2014186454A true JP2014186454A (ja) 2014-10-02
JP5960632B2 JP5960632B2 (ja) 2016-08-02

Family

ID=51833992

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013059912A Active JP5960632B2 (ja) 2013-03-22 2013-03-22 車両用電子制御装置

Country Status (1)

Country Link
JP (1) JP5960632B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017221778A1 (ja) * 2016-06-24 2017-12-28 日立オートモティブシステムズ株式会社 車両制御装置
JP2018112977A (ja) * 2017-01-13 2018-07-19 株式会社デンソー マイクロコンピュータ
JP2019057267A (ja) * 2017-09-19 2019-04-11 株式会社明電舎 情報処理装置
JP2020194425A (ja) * 2019-05-29 2020-12-03 株式会社デンソーテン 制御装置および監視方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0296840A (ja) * 1988-10-03 1990-04-09 Hitachi Denshi Ltd 中央処理装置の暴走防止回路
JPH0424838A (ja) * 1990-05-21 1992-01-28 Fuji Xerox Co Ltd マルチプロセッサの障害管理方式
JPH04223534A (ja) * 1990-12-26 1992-08-13 Nec Field Service Ltd 情報処理システム
JPH11175360A (ja) * 1997-12-10 1999-07-02 Nissan Motor Co Ltd マイクロコンピュータのプログラムリブート方法およびプログラムリブート装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0296840A (ja) * 1988-10-03 1990-04-09 Hitachi Denshi Ltd 中央処理装置の暴走防止回路
JPH0424838A (ja) * 1990-05-21 1992-01-28 Fuji Xerox Co Ltd マルチプロセッサの障害管理方式
JPH04223534A (ja) * 1990-12-26 1992-08-13 Nec Field Service Ltd 情報処理システム
JPH11175360A (ja) * 1997-12-10 1999-07-02 Nissan Motor Co Ltd マイクロコンピュータのプログラムリブート方法およびプログラムリブート装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017221778A1 (ja) * 2016-06-24 2017-12-28 日立オートモティブシステムズ株式会社 車両制御装置
US10597040B2 (en) 2016-06-24 2020-03-24 Hitachi Automotive Systems, Ltd. Vehicle control apparatus
JP2018112977A (ja) * 2017-01-13 2018-07-19 株式会社デンソー マイクロコンピュータ
JP2019057267A (ja) * 2017-09-19 2019-04-11 株式会社明電舎 情報処理装置
JP2020194425A (ja) * 2019-05-29 2020-12-03 株式会社デンソーテン 制御装置および監視方法
JP7291541B2 (ja) 2019-05-29 2023-06-15 株式会社デンソーテン 制御装置および監視方法

Also Published As

Publication number Publication date
JP5960632B2 (ja) 2016-08-02

Similar Documents

Publication Publication Date Title
JP4586750B2 (ja) コンピュータシステムおよび起動監視方法
JP6692763B2 (ja) 制御装置および制御プログラム更新方法
JP5960632B2 (ja) 車両用電子制御装置
EP3249534B1 (en) Vehicle control device
US10296322B2 (en) Controller and control program updating method
CN111988240A (zh) 一种数据发送方法、装置、电子设备及存储介质
US20060150002A1 (en) Starting control method, duplex platform system, and information processor
JP2016071635A (ja) Ecuの異常監視回路
US20170154480A1 (en) Information processing apparatus and large scale integrated circuit
US20180081762A1 (en) Information processing device
JP2011065402A (ja) 車両用電子制御装置
US11853147B2 (en) System-on-chip and method of operating the same
JP5533777B2 (ja) プログラム群
JP6049961B1 (ja) Cpu監視装置
JP2007172096A (ja) 情報処理装置、および、その起動制御方法
US20190332506A1 (en) Controller and function testing method
JP4633553B2 (ja) デバッグシステム、デバッグ方法およびプログラム
US10467101B2 (en) Method of obtaining information stored in processing module registers of a computer just after the occurrence of a fatal error
US11163591B2 (en) Power management method and device, electronic apparatus, and computer program product
US20160011582A1 (en) Numerical controller with function of automatically reconstructing settings and function of preventing incorrect settings
JP2018081427A (ja) 演算器の動作保証方法
JP2017062697A (ja) 情報処理装置、情報処理システム、情報処理方法およびプログラム
CN115617409A (zh) 智能操作系统内核的启动方法、系统、装置、设备及介质
JP2022144118A (ja) 計算機システムおよび再起動プログラム
CN117170697A (zh) 显示接口更新方法、装置、存储介质及电子设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160516

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: 20160524

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160623

R150 Certificate of patent or registration of utility model

Ref document number: 5960632

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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