(57)【要約】【課題】  同一パッケージ内に複数のコアを持つマイコンであっても、1個の監視部のみで、マイコンの暴走を正しく監視する。【解決手段】  ＷＤＣ監視部１９は、マイコン１０から入力される周期的な出力に基づくＷＤＣ信号の周期性が崩れると、前記マイコンの異常発生を判定する。また、前記マイコン内の処理は、各々のコアからアクセス可能なＲＡＭ１４内に各コア毎の更新領域を予め確保し、タイマ部１６より複数のコアに対して一定周期でタイミングを通知する機能をもっている。前記タイマ部から通知されるタイミングに従って、全てのコアが各々のＲＡＭを更新履歴が判るように更新する処理と、少なくとも一つのコアがＲＡＭの更新履歴を判定し、前記ＷＤＣ監視部１９への出力処理を交互に行うことにより、前記ＷＤＣ監視部１９に対して一定周期のＷＤＣ信号の出力を行う。【選択図】図１
2010033475.tif 000002
【特許請求の範囲】
【請求項１】
マイクロコンピュータの同一パッケージ内で動作する複数の演算プロセッサを備える電子制御装置であって、前記電子制御装置は、前記複数の演算プロセッサに所定のタイミングを通知するタイマ部と、前記複数の演算プロセッサがアクセス可能な各演算プロセッサ固有の更新領域を含むメモリ部と、前記マイクロコンピュータからの周期的な出力に基づくウォッチドッグクリア信号を入力し、前記ウォッチドッグクリア信号の周期性が崩れると前記マイクロコンピュータの異常発生の旨を判定する監視部とを有し、前記タイマ部から通知されるタイミングに同期して、前記各演算プロセッサが前記更新領域を更新履歴が判るように更新する処理と、前記複数の演算プロセッサのうち少なくとも一つが、前記更新領域の更新履歴を比較して前記監視部へＨ／Ｌ（ハイレベル／ローレベル）波形を出力する処理とを交互に行い、前記各演算プロセッサの暴走を監視することを特徴とする電子制御装置。
【請求項２】
請求項１の電子制御装置において、前記監視部への出力処理を実行する演算プロセッサを特定していることを特徴とする電子制御装置。
【請求項３】
請求項１又は２記載の電子制御装置において、前記複数の演算プロセッサ中のいずれかが、前記タイマ部より通知されるタイミングに同期して、前記複数の演算プロセッサ各々の更新履歴の比較を元に暴走中の演算プロセッサを判定し、前記暴走中の演算プロセッサのリセットができることを特徴とする電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロコンピュータ（マイコン）の同一パッケージ内で動作する少なくとも２個以上の演算プロセッサ（コア）を備え、マイコンからの周期的な出力に基づくウォッチドッグクリア信号（ＷＤＣ信号）によりマイコンの暴走を監視する電子制御装置の暴走監視装置に関するものである。
【背景技術】
【０００２】
従来より、ＷＤＣ信号として出力されるパルスの周期性に基づいてマイコンの暴走を監視する装置が提案されている。また近年では、マイコン処理の複雑化，高速化，小型化の要求に伴い、同一パッケージ内に２個以上の複数のコアを搭載するマイコンが使用されるようになり、各々のコアに処理を分散できるようになっている。
【０００３】
２個以上のコアを用いる制御システムの場合、暴走監視を行うには図５に示すような手法が考えられる。すなわち、図５では、３個以上のコアＡ，Ｂ，Ｃ毎に監視部が設けられ、各コアＡ，Ｂ，Ｃから出力されるＷＤＣ信号がそれぞれ別個の監視部に入力される構成となっている。
【０００４】
しかしながら、上記図５の手法では、コア毎に監視部が必要になる上に、監視部への通信線が３本以上必要になり、コストアップとなる。
【０００５】
そこで、２個のコアを持つマイコンと１個の監視部を用いたシステムでの暴走監視に関する手段がある。例えば、特開２００２−９１８０２号公報のように、同一パッケージ内に２個のコアがある場合、共通タイマ部より一定周期でタイミングを通知し、両方のコアが出力部を制御することで暴走監視を行う電子制御システムが提案されている。
【０００６】
【特許文献１】特開２００２−９１８０２号公報「電子制御システムの暴走監視装置」
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の目的とするところは、マイコンの同一パッケージ内にコアが２個ある場合だけでなく、特に３個以上のコアを持つマイコンであっても、１個の監視部のみで、マイコンの暴走を正しく監視することができる電子制御装置を提供することである。
【課題を解決するための手段】
【０００８】
本発明において、監視部は、マイコンから入力される周期的な出力に基づくＷＤＣ信号の周期性が崩れるとマイコンの異常発生を判定する。また、マイコン内の処理は、各々のコアからアクセス可能な揮発性読み書きメモリ（ＲＡＭ）内に各コア毎の更新領域を予め確保し、タイマ部より複数のコアに対して一定周期でタイミングを通知する機能をもっている。前記共通のタイマ部から通知されるタイミングに従って、全てのコアが各々のＲＡＭを更新履歴が判るように更新する処理と、少なくとも一つのコアがＲＡＭの更新履歴を判定し、前記監視部への出力処理を交互に行うことにより、前記監視部に対して一定周期のウォッチドッグクリア信号の出力を行う。
【０００９】
また、搭載される複数のコアのうち、１つのコアにのみマイコン外部との制御信号の授受を行う入出力処理を行うプログラムの実行を割り当て、監視部へのＨ／Ｌ出力波形を制御することが可能である。
【００１０】
さらに、１つのコアが、タイマ部より通知されるタイミングに従って更新したＲＡＭの更新履歴から、暴走しているコアを特定し、このコアのみをリセットさせることが出来る。
【発明の効果】
【００１１】
上記の構成によれば、複数のコアに対して同数の監視部が必要になることはなく、構成の簡素化が可能となる。また、タイマ部から通知されるタイミングに従い、各コアが周期的な出力を行うので、仮に各コアが互いに異なる処理を請け負っていても、ウォッチドッグクリア信号の出力周期がずれることはない。更に、コア数が、２個，３個と増加してもＲＡＭの領域と更新処理を修正することで対応可能である。従って、同一パッケージ内に２個以上の複数のコアを持つマイコンの暴走を確実に監視することができる。
【００１２】
また、監視部への入出力処理を行うコアを特定することで、各コア間での排他処理を簡素化し、マイクロコンピュータの演算処理負荷，読み出し専用メモリ（ＲＯＭ）に記憶されるプログラム容量の低減が可能となる。
【００１３】
さらに、本発明では１つのコアの暴走によりマイコン全体の処理を止めることなく、コアの暴走を抑制することができる。これにより、マイコン以外のハードウェア処理への影響を最小限に留めることができる。
【発明を実施するための最良の形態】
【００１４】
以下、この発明を具体化した第１の実施の形態を図面に従って説明する。本実施の形態の電子制御装置では、処理速度の向上を図るべく、同一パッケージ内に３個のコアを収容したマイコンを用いており、各コアは、ＲＯＭ，ＲＡＭ，入出力回路（Ｉ／Ｏ），フリーランタイマなどを共通に使用する。
【００１５】
図１は、本実施の形態における車載制御装置を示す構成図である。図１において、マイコン１０は、それぞれ異なる第１コア１１と、第２コア１２と第３コア１３をはじめ、ＲＡＭ１４，ＲＯＭ１５，フリーランタイマ１６，Ｉ／Ｏ部１７を備える。この場合、第１，第２及び第３コア１１，１２，１３は、各々異なる制御を行う。第１，第２及び第３コア１１，１２，１３とフリーランタイマ１６には発振子１８が接続されている。ここで、フリーランタイマ１６は、一定時間毎（例えば１μｓ毎）にカウントアップされる２バイト（１６ビット）のタイマカウンタにて構成される。すなわち、フリーランタイマ１６は「００００Ｈ」〜「ＦＦＦＦＨ」の間でカウント値を変化させるタイマとして機能する。
【００１６】
また、Ｉ／Ｏ部１７のＷＤＣ監視部用Ｉ／Ｏポートには、マイコン等により構成されるＷＤＣ監視部１９が接続されている。ＷＤＣ監視部１９は、Ｉ／Ｏ部１７から出力されるＷＤＣ信号を監視し、同ＷＤＣ信号の周期性が崩れると、各コア１１，１２，１３で異常発生したと判断し、リセット信号を出力する。なお、本実施の形態において、フリーランタイマ１６が請求項記載の「タイマ部」に相当する。
【００１７】
次に、第１，第２及び第３コア１１，１２，１３の暴走監視の動作を図２のタイムチャートを用いて説明する。図２には、フリーランタイマ１６の動作，第１，第２及び第３コア１１，１２，１３のＲＡＭ１４更新処理タイミング，ＷＤＣ出力処理タイミング，ＷＤＣ用Ｉ／Ｏポートの出力（ＷＤＣ信号），リセット信号をそれぞれ示している。
【００１８】
フリーランタイマ１６は、一定速度でカウントアップ動作を継続し、その際、フリーランタイマ１６を構成する各ビットはそれぞれに同一の時間間隔で反転を繰り返す。一例として図３に示すように、フリーランタイマ１６の１１番目のビット（bit１１）は約２ms毎に反転を繰り返す。この場合、当該bit１１の反転のタイミングが第１，第２及び第３コア１１，１２，１３に通知され、その際、各コア１１，１２，１３では割り込み要求が発生し、ＷＤＣ処理を実施する。すなわち、２回に１度、つまり４ms毎に、各コア１１，１２，１３は、フリーランタイマ１６のbit１１が０→１に反転するタイミングで各々の制御を中断し、ＷＤＣ処理によりＲＡＭ１４の更新処理を行う。また、２回に１度は、フリーランタイマ１６のbit１１が１→０に反転するタイミングで各々の制御を中断し、ＷＤＣ処理によりＲＡＭ１４の更新履歴の判定を行いＷＤＣ用Ｉ／Ｏポートを操作する。これにより、ＷＤＣ用Ｉ／ＯポートからＷＤＣ監視部１９に対して一定周期のＷＤＣ信号が出力される。
【００１９】
図４のタイムチャートを用いて、第１，第２及び第３コア１１，１２，１３のＲＡＭ１４更新処理、並びにＷＤＣ出力処理の例を説明する。図４には、第１，第２及び第３コア１１，１２，１３のＲＡＭ１４更新処理，ＷＤＣ出力処理，ＷＤＣ信号，リセット信号をそれぞれ示している。
【００２０】
この例のＲＡＭ１４更新処理では、第１，第２及び第３コア１１，１２，１３用にＲＡＭ１４内２バイト（１６ビット）領域を各コア毎に予め確保し、フリーランタイマ１６信号より各コアが４ms毎に該当領域を１つ加算することで、「００００Ｈ」〜「ＦＦＦＦＨ」までのカウント処理を行っている。そしてＷＤＣ出力処理では、前記ＲＡＭ１４更新処理の２ms後に各領域を参照し、各々の前回カウント値の履歴と比較して、全コアがカウント値を更新していれば、コアは正常と判定し、ＷＤＣ用Ｉ／ＯポートのＨ／Ｌを反転させる。この２つの処理を２ms毎に交互に実行することで、ＷＤＣ用Ｉ／ＯポートからＷＤＣ監視部１９に対して４msの一定周期のＷＤＣ信号が出力される。
【００２１】
なおこのとき、搭載される複数のコアのうち、１つのコアにのみＩ／Ｏ部１７処理を行うプログラムの実行を割り当てており、Ｉ／Ｏ部１７は同時に出力が行われるといった不都合はない。
【００２２】
例えば図２，図４の（Ａ）期間では、上記の通りフリーランタイマ１６のbit１１の反転に応じてＷＤＣ用Ｉ／Ｏポートの出力が一定周期で反転を繰り返す。従って、第１，第２及び第３コア１１，１２，１３が、正常動作していると判断できる。
【００２３】
これに対して、例えば第１コア１１が暴走すると、第１コア１１でＲＡＭ１４の更新処理が実施できなくなる。このとき、図２，図４の（Ｂ）期間に示すように、ＷＤＣ用Ｉ／ＯポートがＬに立ち下げられず、ＷＤＣ用Ｉ／Ｏポート出力はＨ固定となる。これがＷＤＣ監視部１９でチェックされ、その状態がある一定時間連続すると、第１，第２及び第３コア１１，１２，１３がリセットされる。このリセットにより、図２の（Ｃ）期間のように正常復帰が可能となり、それ以降、再びＷＤＣ信号が一定周期で反転動作する。
【００２４】
以上詳述した本実施の形態によれば、以下に示す効果が得られる。
【００２５】
第１，第２及び第３コア１１，１２，１３のＷＤＣ処理（割り込み要求発生）のタイミングをフリーランタイマ１６から通知し、その時生成されるＷＤＣ信号の周期性により各コア１１，１２，１３の暴走を監視した。かかる構成では、各コア１１，１２，１３に対して同数のＷＤＣ監視部が必要になることはなく、構成の簡素化が可能となる。また更に、各コア１１，１２，１３の互いに異なる処理を行っていても、ＷＤＣ信号の出力周期がずれることはない。従って、第１，第２及び第３コア１１，１２，１３の暴走を確実に監視することができる。
【００２６】
またこの場合、フリーランタイマ１６の特定ビットの反転に伴い各コア１１，１２，１３に対してタイミングを通知するようにしているため、所望とする一定周期でタイミング通知を行わせることができるようになる。なお、ＷＤＣ処理の周期を変更するには、各コア１１，１２，１３へタイミングを通知するbitを変更すれば良い。
【００２７】
さらに、マイコン１０から出力されるＷＤＣ信号は、周期的にＨ／Ｌ反転動作する従来通りのものであり、ＷＤＣ監視部１９としての機能は何ら変更がない。それ故に、監視対象のマイコンの形態が変わっても、ＷＤＣ監視部１９（監視機能）としての互換性は保たれる。つまり、監視対象のマイコンが、図１の如く同一パッケージに設けられるマイコンである他に、別個のパッケージに設けられるマイコンであっても、同じＷＤＣ監視部１９（監視機能）が適用できる。
【００２８】
そして、コア数が３個から、２個、又は、４個，５個・・・と変化した場合でも、予め確保したＲＡＭ１４内の各コア毎の領域とＲＡＭ更新状態を判定する処理を変更することで、単純に対応可能である。
【００２９】
また、搭載される複数のコアのうち、１つのコアにのみＩ／Ｏ部１７処理を行うプログラムの実行を割り当ることで、Ｉ／Ｏ部１７は同時に出力が行われるといった不都合はなくなり、各コア間での排他処理を簡素化し、マイクロコンピュータの演算処理負荷、ＲＯＭに記憶されるプログラム容量の低減が可能となる。
【００３０】
なお、図１の構成では、第１，第２及び第３コア１１，１２，１３の何れかが暴走した場合、各コア１１，１２，１３を同時にリセットしたが、請求項３のように、暴走したコアをＲＡＭ１４更新結果から特定し、このコアのみをリセットするようにしても良い。例えば、カウント値が固定となったコアを特定し、その特定したコアに対してリセットをかけるようにする。これにより、マイコン１０以外のハードウェア処理への影響を最小限に留めることができる。
【図面の簡単な説明】
【００３１】
【図１】発明の実施の形態における車両制御装置の概要を示す構成図。
【図２】各コアの暴走監視動作を示すタイムチャート。
【図３】フリーランタイマの動作を示す図。
【図４】ＲＡＭ更新処理を含めた各コアの暴走監視動作を示すタイムチャート。
【図５】従来技術を説明する為の構成図。
【符号の説明】
【００３２】
１０  マイコン
１１  第１コア
１２  第２コア
１３  第３コア
１４  ＲＡＭ
１５  ＲＯＭ
１６  フリーランタイマ
１７  Ｉ／Ｏ部
１８  発振子
１９  ＷＤＣ監視部
【図１】
2010033475.tif 000003
【図２】
2010033475.tif 000004
【図３】
2010033475.tif 000005
【図４】
2010033475.tif 000006
【図５】
2010033475.tif 000007