JP2010033475A - 電子制御装置 - Google Patents
電子制御装置 Download PDFInfo
- Publication number
- JP2010033475A JP2010033475A JP2008197170A JP2008197170A JP2010033475A JP 2010033475 A JP2010033475 A JP 2010033475A JP 2008197170 A JP2008197170 A JP 2008197170A JP 2008197170 A JP2008197170 A JP 2008197170A JP 2010033475 A JP2010033475 A JP 2010033475A
- Authority
- JP
- Japan
- Prior art keywords
- microcomputer
- wdc
- cores
- core
- update
- 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)
Abstract
【課題】
同一パッケージ内に複数のコアを持つマイコンであっても、1個の監視部のみで、マイコンの暴走を正しく監視する。
【解決手段】
WDC監視部19は、マイコン10から入力される周期的な出力に基づくWDC信号の周期性が崩れると、前記マイコンの異常発生を判定する。また、前記マイコン内の処理は、各々のコアからアクセス可能なRAM14内に各コア毎の更新領域を予め確保し、タイマ部16より複数のコアに対して一定周期でタイミングを通知する機能をもっている。前記タイマ部から通知されるタイミングに従って、全てのコアが各々のRAMを更新履歴が判るように更新する処理と、少なくとも一つのコアがRAMの更新履歴を判定し、前記WDC監視部19への出力処理を交互に行うことにより、前記WDC監視部19に対して一定周期のWDC信号の出力を行う。
【選択図】図1
同一パッケージ内に複数のコアを持つマイコンであっても、1個の監視部のみで、マイコンの暴走を正しく監視する。
【解決手段】
WDC監視部19は、マイコン10から入力される周期的な出力に基づくWDC信号の周期性が崩れると、前記マイコンの異常発生を判定する。また、前記マイコン内の処理は、各々のコアからアクセス可能なRAM14内に各コア毎の更新領域を予め確保し、タイマ部16より複数のコアに対して一定周期でタイミングを通知する機能をもっている。前記タイマ部から通知されるタイミングに従って、全てのコアが各々のRAMを更新履歴が判るように更新する処理と、少なくとも一つのコアがRAMの更新履歴を判定し、前記WDC監視部19への出力処理を交互に行うことにより、前記WDC監視部19に対して一定周期のWDC信号の出力を行う。
【選択図】図1
Description
本発明は、マイクロコンピュータ(マイコン)の同一パッケージ内で動作する少なくとも2個以上の演算プロセッサ(コア)を備え、マイコンからの周期的な出力に基づくウォッチドッグクリア信号(WDC信号)によりマイコンの暴走を監視する電子制御装置の暴走監視装置に関するものである。
従来より、WDC信号として出力されるパルスの周期性に基づいてマイコンの暴走を監視する装置が提案されている。また近年では、マイコン処理の複雑化,高速化,小型化の要求に伴い、同一パッケージ内に2個以上の複数のコアを搭載するマイコンが使用されるようになり、各々のコアに処理を分散できるようになっている。
2個以上のコアを用いる制御システムの場合、暴走監視を行うには図5に示すような手法が考えられる。すなわち、図5では、3個以上のコアA,B,C毎に監視部が設けられ、各コアA,B,Cから出力されるWDC信号がそれぞれ別個の監視部に入力される構成となっている。
しかしながら、上記図5の手法では、コア毎に監視部が必要になる上に、監視部への通信線が3本以上必要になり、コストアップとなる。
そこで、2個のコアを持つマイコンと1個の監視部を用いたシステムでの暴走監視に関する手段がある。例えば、特開2002−91802号公報のように、同一パッケージ内に2個のコアがある場合、共通タイマ部より一定周期でタイミングを通知し、両方のコアが出力部を制御することで暴走監視を行う電子制御システムが提案されている。
本発明の目的とするところは、マイコンの同一パッケージ内にコアが2個ある場合だけでなく、特に3個以上のコアを持つマイコンであっても、1個の監視部のみで、マイコンの暴走を正しく監視することができる電子制御装置を提供することである。
本発明において、監視部は、マイコンから入力される周期的な出力に基づくWDC信号の周期性が崩れるとマイコンの異常発生を判定する。また、マイコン内の処理は、各々のコアからアクセス可能な揮発性読み書きメモリ(RAM)内に各コア毎の更新領域を予め確保し、タイマ部より複数のコアに対して一定周期でタイミングを通知する機能をもっている。前記共通のタイマ部から通知されるタイミングに従って、全てのコアが各々のRAMを更新履歴が判るように更新する処理と、少なくとも一つのコアがRAMの更新履歴を判定し、前記監視部への出力処理を交互に行うことにより、前記監視部に対して一定周期のウォッチドッグクリア信号の出力を行う。
また、搭載される複数のコアのうち、1つのコアにのみマイコン外部との制御信号の授受を行う入出力処理を行うプログラムの実行を割り当て、監視部へのH/L出力波形を制御することが可能である。
さらに、1つのコアが、タイマ部より通知されるタイミングに従って更新したRAMの更新履歴から、暴走しているコアを特定し、このコアのみをリセットさせることが出来る。
上記の構成によれば、複数のコアに対して同数の監視部が必要になることはなく、構成の簡素化が可能となる。また、タイマ部から通知されるタイミングに従い、各コアが周期的な出力を行うので、仮に各コアが互いに異なる処理を請け負っていても、ウォッチドッグクリア信号の出力周期がずれることはない。更に、コア数が、2個,3個と増加してもRAMの領域と更新処理を修正することで対応可能である。従って、同一パッケージ内に2個以上の複数のコアを持つマイコンの暴走を確実に監視することができる。
また、監視部への入出力処理を行うコアを特定することで、各コア間での排他処理を簡素化し、マイクロコンピュータの演算処理負荷,読み出し専用メモリ(ROM)に記憶されるプログラム容量の低減が可能となる。
さらに、本発明では1つのコアの暴走によりマイコン全体の処理を止めることなく、コアの暴走を抑制することができる。これにより、マイコン以外のハードウェア処理への影響を最小限に留めることができる。
以下、この発明を具体化した第1の実施の形態を図面に従って説明する。本実施の形態の電子制御装置では、処理速度の向上を図るべく、同一パッケージ内に3個のコアを収容したマイコンを用いており、各コアは、ROM,RAM,入出力回路(I/O),フリーランタイマなどを共通に使用する。
図1は、本実施の形態における車載制御装置を示す構成図である。図1において、マイコン10は、それぞれ異なる第1コア11と、第2コア12と第3コア13をはじめ、RAM14,ROM15,フリーランタイマ16,I/O部17を備える。この場合、第1,第2及び第3コア11,12,13は、各々異なる制御を行う。第1,第2及び第3コア11,12,13とフリーランタイマ16には発振子18が接続されている。ここで、フリーランタイマ16は、一定時間毎(例えば1μs毎)にカウントアップされる2バイト(16ビット)のタイマカウンタにて構成される。すなわち、フリーランタイマ16は「0000H」〜「FFFFH」の間でカウント値を変化させるタイマとして機能する。
また、I/O部17のWDC監視部用I/Oポートには、マイコン等により構成されるWDC監視部19が接続されている。WDC監視部19は、I/O部17から出力されるWDC信号を監視し、同WDC信号の周期性が崩れると、各コア11,12,13で異常発生したと判断し、リセット信号を出力する。なお、本実施の形態において、フリーランタイマ16が請求項記載の「タイマ部」に相当する。
次に、第1,第2及び第3コア11,12,13の暴走監視の動作を図2のタイムチャートを用いて説明する。図2には、フリーランタイマ16の動作,第1,第2及び第3コア11,12,13のRAM14更新処理タイミング,WDC出力処理タイミング,WDC用I/Oポートの出力(WDC信号),リセット信号をそれぞれ示している。
フリーランタイマ16は、一定速度でカウントアップ動作を継続し、その際、フリーランタイマ16を構成する各ビットはそれぞれに同一の時間間隔で反転を繰り返す。一例として図3に示すように、フリーランタイマ16の11番目のビット(bit11)は約2ms毎に反転を繰り返す。この場合、当該bit11の反転のタイミングが第1,第2及び第3コア11,12,13に通知され、その際、各コア11,12,13では割り込み要求が発生し、WDC処理を実施する。すなわち、2回に1度、つまり4ms毎に、各コア11,12,13は、フリーランタイマ16のbit11が0→1に反転するタイミングで各々の制御を中断し、WDC処理によりRAM14の更新処理を行う。また、2回に1度は、フリーランタイマ16のbit11が1→0に反転するタイミングで各々の制御を中断し、WDC処理によりRAM14の更新履歴の判定を行いWDC用I/Oポートを操作する。これにより、WDC用I/OポートからWDC監視部19に対して一定周期のWDC信号が出力される。
図4のタイムチャートを用いて、第1,第2及び第3コア11,12,13のRAM14更新処理、並びにWDC出力処理の例を説明する。図4には、第1,第2及び第3コア11,12,13のRAM14更新処理,WDC出力処理,WDC信号,リセット信号をそれぞれ示している。
この例のRAM14更新処理では、第1,第2及び第3コア11,12,13用にRAM14内2バイト(16ビット)領域を各コア毎に予め確保し、フリーランタイマ16信号より各コアが4ms毎に該当領域を1つ加算することで、「0000H」〜「FFFFH」までのカウント処理を行っている。そしてWDC出力処理では、前記RAM14更新処理の2ms後に各領域を参照し、各々の前回カウント値の履歴と比較して、全コアがカウント値を更新していれば、コアは正常と判定し、WDC用I/OポートのH/Lを反転させる。この2つの処理を2ms毎に交互に実行することで、WDC用I/OポートからWDC監視部19に対して4msの一定周期のWDC信号が出力される。
なおこのとき、搭載される複数のコアのうち、1つのコアにのみI/O部17処理を行うプログラムの実行を割り当てており、I/O部17は同時に出力が行われるといった不都合はない。
例えば図2,図4の(A)期間では、上記の通りフリーランタイマ16のbit11の反転に応じてWDC用I/Oポートの出力が一定周期で反転を繰り返す。従って、第1,第2及び第3コア11,12,13が、正常動作していると判断できる。
これに対して、例えば第1コア11が暴走すると、第1コア11でRAM14の更新処理が実施できなくなる。このとき、図2,図4の(B)期間に示すように、WDC用I/OポートがLに立ち下げられず、WDC用I/Oポート出力はH固定となる。これがWDC監視部19でチェックされ、その状態がある一定時間連続すると、第1,第2及び第3コア11,12,13がリセットされる。このリセットにより、図2の(C)期間のように正常復帰が可能となり、それ以降、再びWDC信号が一定周期で反転動作する。
以上詳述した本実施の形態によれば、以下に示す効果が得られる。
第1,第2及び第3コア11,12,13のWDC処理(割り込み要求発生)のタイミングをフリーランタイマ16から通知し、その時生成されるWDC信号の周期性により各コア11,12,13の暴走を監視した。かかる構成では、各コア11,12,13に対して同数のWDC監視部が必要になることはなく、構成の簡素化が可能となる。また更に、各コア11,12,13の互いに異なる処理を行っていても、WDC信号の出力周期がずれることはない。従って、第1,第2及び第3コア11,12,13の暴走を確実に監視することができる。
またこの場合、フリーランタイマ16の特定ビットの反転に伴い各コア11,12,13に対してタイミングを通知するようにしているため、所望とする一定周期でタイミング通知を行わせることができるようになる。なお、WDC処理の周期を変更するには、各コア11,12,13へタイミングを通知するbitを変更すれば良い。
さらに、マイコン10から出力されるWDC信号は、周期的にH/L反転動作する従来通りのものであり、WDC監視部19としての機能は何ら変更がない。それ故に、監視対象のマイコンの形態が変わっても、WDC監視部19(監視機能)としての互換性は保たれる。つまり、監視対象のマイコンが、図1の如く同一パッケージに設けられるマイコンである他に、別個のパッケージに設けられるマイコンであっても、同じWDC監視部19(監視機能)が適用できる。
そして、コア数が3個から、2個、又は、4個,5個・・・と変化した場合でも、予め確保したRAM14内の各コア毎の領域とRAM更新状態を判定する処理を変更することで、単純に対応可能である。
また、搭載される複数のコアのうち、1つのコアにのみI/O部17処理を行うプログラムの実行を割り当ることで、I/O部17は同時に出力が行われるといった不都合はなくなり、各コア間での排他処理を簡素化し、マイクロコンピュータの演算処理負荷、ROMに記憶されるプログラム容量の低減が可能となる。
なお、図1の構成では、第1,第2及び第3コア11,12,13の何れかが暴走した場合、各コア11,12,13を同時にリセットしたが、請求項3のように、暴走したコアをRAM14更新結果から特定し、このコアのみをリセットするようにしても良い。例えば、カウント値が固定となったコアを特定し、その特定したコアに対してリセットをかけるようにする。これにより、マイコン10以外のハードウェア処理への影響を最小限に留めることができる。
10 マイコン
11 第1コア
12 第2コア
13 第3コア
14 RAM
15 ROM
16 フリーランタイマ
17 I/O部
18 発振子
19 WDC監視部
11 第1コア
12 第2コア
13 第3コア
14 RAM
15 ROM
16 フリーランタイマ
17 I/O部
18 発振子
19 WDC監視部
Claims (3)
- マイクロコンピュータの同一パッケージ内で動作する複数の演算プロセッサを備える電子制御装置であって、前記電子制御装置は、前記複数の演算プロセッサに所定のタイミングを通知するタイマ部と、前記複数の演算プロセッサがアクセス可能な各演算プロセッサ固有の更新領域を含むメモリ部と、前記マイクロコンピュータからの周期的な出力に基づくウォッチドッグクリア信号を入力し、前記ウォッチドッグクリア信号の周期性が崩れると前記マイクロコンピュータの異常発生の旨を判定する監視部とを有し、前記タイマ部から通知されるタイミングに同期して、前記各演算プロセッサが前記更新領域を更新履歴が判るように更新する処理と、前記複数の演算プロセッサのうち少なくとも一つが、前記更新領域の更新履歴を比較して前記監視部へH/L(ハイレベル/ローレベル)波形を出力する処理とを交互に行い、前記各演算プロセッサの暴走を監視することを特徴とする電子制御装置。
- 請求項1の電子制御装置において、前記監視部への出力処理を実行する演算プロセッサを特定していることを特徴とする電子制御装置。
- 請求項1又は2記載の電子制御装置において、前記複数の演算プロセッサ中のいずれかが、前記タイマ部より通知されるタイミングに同期して、前記複数の演算プロセッサ各々の更新履歴の比較を元に暴走中の演算プロセッサを判定し、前記暴走中の演算プロセッサのリセットができることを特徴とする電子制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008197170A JP2010033475A (ja) | 2008-07-31 | 2008-07-31 | 電子制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008197170A JP2010033475A (ja) | 2008-07-31 | 2008-07-31 | 電子制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010033475A true JP2010033475A (ja) | 2010-02-12 |
Family
ID=41737830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008197170A Pending JP2010033475A (ja) | 2008-07-31 | 2008-07-31 | 電子制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010033475A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6049961B1 (ja) * | 2015-06-16 | 2016-12-21 | オリンパス株式会社 | Cpu監視装置 |
-
2008
- 2008-07-31 JP JP2008197170A patent/JP2010033475A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6049961B1 (ja) * | 2015-06-16 | 2016-12-21 | オリンパス株式会社 | Cpu監視装置 |
WO2016204070A1 (ja) * | 2015-06-16 | 2016-12-22 | オリンパス株式会社 | Cpu監視装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10162673B2 (en) | Controller preventing communication collisions between parallel control programs | |
EP3076293A2 (en) | Control apparatus | |
JP6316646B2 (ja) | 多重マイクロコア監視装置及び方法 | |
JP2009129463A (ja) | 車両制御装置のリアルタイムシステムにおける一時的エラーの処理方法 | |
JP6049961B1 (ja) | Cpu監視装置 | |
JP2018106440A (ja) | プログラマブルコントローラ、管理装置および制御システム | |
JP3714141B2 (ja) | 電子制御システムの暴走監視装置 | |
JP2010033475A (ja) | 電子制御装置 | |
JP2011008702A (ja) | 故障処理装置 | |
JP6224545B2 (ja) | 電子制御装置 | |
JP2007293524A (ja) | 電子制御装置、及び、演算機能検査方法 | |
JP2005284760A (ja) | 割り込み制御回路 | |
JP6787658B2 (ja) | 処理装置、交通信号装置及び情報表示装置 | |
JP4983806B2 (ja) | 二重化タイマを用いたシステム監視装置、および監視方法 | |
JP2014160367A (ja) | 演算処理装置 | |
JP2007316815A (ja) | クロック異常検出方法及びクロック異常検出プログラム | |
JP5494039B2 (ja) | メモリ診断方法および電力変換装置の制御機器 | |
JP2015121953A (ja) | マイクロコンピュータ及び電子制御装置 | |
JP2009116445A (ja) | 複数本のシーケンスプログラムを並列して実行可能なプログラマブルコントローラ | |
JP6944856B2 (ja) | 監視回路、マイクロコントローラ、及び監視方法 | |
JP6660818B2 (ja) | 制御装置 | |
JP2016053882A (ja) | 半導体集積回路 | |
JP2020155153A (ja) | 処理装置、交通信号装置及び情報表示装置 | |
JP2020067685A (ja) | コンピュータシステム | |
JP5768434B2 (ja) | 相互監視システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20100106 |