(57)【要約】  マイクロコントローラの外部に構築され、マイクロコントローラを支持し監視する回路装置は、マイクロコントローラを監視し、ウォッチドッグ周期内にマイクロコントローラによってリセットされない場合にエラー信号を出力するウォッチドッグ回路と、重要なシステム・メッセージを処理すべき割込みイベントとしてマイクロコントローラに送る割込み回路とを有する。割込み処理及びウォッチドッグ動作を適切に組み合わせるために、ウォッチドッグ回路が割込み回路に接続されると共にその回路と協働し、それにより、割込み回路が、ウォッチドッグ周期内で、多くとも所定の数の割込みイベントをマイクロコントローラに送る。
2007503642.tif 000002
【特許請求の範囲】
【請求項１】
マイクロコントローラの外部に構築され、前記マイクロコントローラを支持し監視する回路装置であって、
前記マイクロコントローラを監視し、ウォッチドッグ周期内に前記マイクロコントローラによってリセットされない場合にエラー信号を出力するウォッチドッグ回路と、
重要なシステム・メッセージを、処理すべき割込みイベントとして、前記マイクロコントローラに送る割込み回路とを有し、
前記ウォッチドッグ回路が、前記割込み回路に接続されると共にその回路と協働し、それにより前記割込み回路が、前記ウォッチドッグ周期内で、多くとも所定の数の割込みイベントを前記マイクロコントローラに送ることを特徴とする回路装置。
【請求項２】
マイクロコントローラの外部に構築され、前記マイクロコントローラを支持し監視する回路装置であって、
前記マイクロコントローラを監視し、ウォッチドッグ周期内に前記マイクロコントローラによってリセットされない場合にエラー信号を出力するウォッチドッグ回路と、
様々な割込み原因を有し、重要なシステム・メッセージを、処理すべき割込みイベントとして、前記マイクロコントローラに送る回路とを有し、
前記これらの割込み原因が優先順位クラスに割り振られ、少なくとも１つの優先順位クラスにおいて、ウォッチドッグ周期当たりの割込みイベントの所定の最大数が設定され、
前記ウォッチドッグ回路が前記割込み回路に接続されると共にその回路と協働し、それにより前記割込み回路が、
最大数が設定された優先順位クラスに関しては、ウォッチドッグ周期内で、多くともこの最大数の関連する前記これらの割込み原因の割込みイベントを、前記マイクロコントローラに送り、
最大数が設定されていない優先順位クラスに関しては、すべての関連する前記これらの割込み原因の前記これらの割込みイベントを、前記マイクロコントローラに送ることを特徴とする回路装置。
【請求項３】
前記優先順位クラスが１つの最優先順位クラスを含み、そのクラスには最大数が設定されないことを特徴とする、請求項２記載の回路装置。
【請求項４】
前記各割込み原因が、前記最優先順位クラス、又は第２の、より低い優先順位クラスのいずれかに割り振られ、前記より低い優先順位クラスには所定の最大数が設定されることを特徴とする、請求項３記載の回路装置。
【請求項５】
前記回路装置が送受信機であり、バス・ノードを構成するすべての周辺構成部品を含むことを特徴とする、請求項１乃至４のいずれか一項記載の回路装置。
【請求項６】
前記回路装置が前記マイクロコントローラ用の電圧源を含むことを特徴とする、請求項１乃至５のいずれか一項記載の回路装置。
【請求項７】
電源電圧の不足が前記最優先順位クラスの割込み原因となることを特徴とする、請求項３乃至６のいずれか一項記載の回路装置。
【請求項８】
不揮発性メモリが提供され、そこにおいて、前記電源電圧が不足した場合に、前記マイクロコントローラが重要なデータを保存することを特徴とする、請求項７記載の回路装置。
【請求項９】
マイクロコントローラを支持し監視する方法であって、
前記マイクロコントローラがウォッチドッグ回路によって監視され、前記ウォッチドッグ回路はウォッチドッグ周期内に前記マイクロコントローラによってリセットされない場合にエラー信号を出力し、
割込み回路によって、重要なシステム・メッセージが、処理すべき割込みイベントとして前記マイクロコントローラに送られ、
前記ウォッチドッグ回路及び前記割込み回路が協働し、それにより前記割込み回路が、ウォッチドッグ周期内で、多くとも所定の数の割込みイベントを前記マイクロコントローラに送ることを特徴とする方法。
【請求項１０】
マイクロコントローラを支持し監視する方法であって、
前記マイクロコントローラがウォッチドッグ回路によって監視され、前記ウォッチドッグ回路はウォッチドッグ周期内に前記マイクロコントローラによってリセットされない場合にエラー信号を出力し、
様々な割込み原因を有する割込み回路によって、重要なシステム・メッセージが、処理すべき割込みイベントとして前記マイクロコントローラに送られ、
前記割込み原因が優先順位クラスに割り振られ、少なくとも１つの優先順位クラスにおいて、ウォッチドッグ周期当たりの割込みイベントの所定の最大数が設定され、
前記ウォッチドッグ回路及び前記割込み回路が協働し、それにより前記マイクロコントローラが、
最大数が設定された優先順位クラスに関しては、前記割込み回路により、ウォッチドッグ周期内で、多くともこの最大数の割込みイベントが送られ、
最大数が設定されていない優先順位クラスに関しては、前記割込み回路により、すべての関連する前記割込み原因の前記割込みイベントが送られることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロコントローラを支持し監視する回路装置及び方法に関する。
【背景技術】
【０００２】
この回路装置はマイクロコントローラの外部に構築されるものであり、マイクロコントローラを監視し、ウォッチドッグ周期内にマイクロコントローラによってリセットされない場合にエラー信号を出力するウォッチドッグ回路と、重要なシステム・メッセージを処理すべき割込みイベントとしてマイクロコントローラに送る割込み回路とを含む。
【０００３】
今日、特に自動車産業において、最新式の制御装置又はマイクロコントローラ内のソフトウェアは、通常、いわゆるウォッチドッグ回路又はリセット回路によって監視されている。エラーのない動作では、このウォッチドッグ回路は、制御装置又はマイクロコントローラによって、所与の時間枠、即ちウォッチドッグ周期内で定期的にリセットされる。このリセットが行われない場合、エラーが検出され、ウォッチドッグ回路は対応するエラー信号を出力する。このエラー信号は、例えば、制御装置又はマイクロコントローラの再起動をトリガすることができる。
【０００４】
従って、制御装置のソフトウェアは、ウォッチドッグ周期内の所与の最大実行時間を超えてはならない。この点に関して、例えば割込みを生じるイベント等、予測不可能なイベントの処理は厄介で時間がかかる。最大実行時間が確実に遵守されるように、ソフトウェア設計者は、例えばウォッチドッグ周期当たりに処理される割込みの数を制限することができる。
【０００５】
複数の割込みが１回のウォッチドッグ周期内で生じる場合には、最後の割込みは次のウォッチドッグ周期が始まるまで待たなければならないというケースが生じ得る。こうしたイベントは予測不可能な性質のものであるため、その割込みを直接処理することは不可能である。従って、例えば電源電圧の損失が差し迫っている場合等、極めて緊急の割込みイベントの処理がもはや間に合わなくなる危険が生じ、これは即ち、重要なシステム情報又はデータが失われる恐れがあることを意味する。
【０００６】
原則として、マイクロプロセッサが、到着したメッセージを処理するには２つの異なる方法がある。ポーリング法と呼ばれる方法では、マイクロプロセッサに向けて送られたメッセージがバッファ内に格納され、プロセッサは、処理が必要なメッセージが到着しているかどうか確認するために定期的にチェックを行う。この方法は、プロセッサがバッファを比較的頻繁にはチェックを行わない場合、メッセージの到着とそのメッセージの処理との間に長時間が経過することがあるという欠点を有する。一方、プロセッサが比較的頻繁にチェックを行う場合は、メッセージに対する応答時間は短くなるが、頻繁にチェックを行うことにより、プロセッサの演算時間に負担の大きい要求が課されることになり、従って、他のタスクを行う時間が少なくなる。
【０００７】
第２の方法では、到着メッセージが割込みをトリガし、この割込みは、プロセッサが受け取ったメッセージを処理するために実行しているプログラムを中断させる。この方法は、メッセージに対する応答時間が非常に短く、また、プロセッサは、メッセージが実際に存在するときに、メッセージを処理することにのみ従事するという利点を有する。しかし、メッセージが比較的頻繁に到着する場合には、実行中のプログラムが絶えず中断されるという欠点がある。
【０００８】
マルチプロセッサ環境においてメッセージのやり取りを効率良く行うことを可能とするために、Ｏ．Ｍａｑｕｅｌｉｎ、Ｇ．Ｒ．Ｇａｏ、Ｈ．Ｈ．Ｊ．Ｈｕｍ、Ｋ．Ｂ．Ｔｈｅｏｂａｌｄ、及びＸ．Ｔｉａｎの論文「Ｐｏｌｌｉｎｇ  Ｗａｔｃｈｄｏｇ：Ｃｏｍｂｉｎｉｎｇ  Ｐｏｌｌｉｎｇ  ａｎｄ  Ｉｎｔｅｒｒｕｐｔｓ  ｆｏｒ  Ｅｆｆｉｃｉｅｎｔ  Ｍｅｓｓａｇｅ  Ｈａｎｄｌｉｎｇ（ポーリング・ウォッチドッグ：効率的なメッセージ処理のためのポーリング及び割込みの組合せ」、２３ｒｄ  Ａｎｎｕａｌ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ａｒｃｈｉｔｅｃｔｕｒｅ、１７９〜１８８頁、Ｐｈｉｌａｄｅｌｐｈｉａ、Ｐｅｎｎｓｙｌｖａｎｉａ、Ｕ．Ｓ．Ａ．、１９９６年５月は、ポーリング法に従って到着メッセージを定期的に読み出し、各メッセージが到着するのと同時にウォッチドッグを始動させ、このウォッチドッグが、受け取ったメッセージに対する応答時間が設定された時間を超えないよう保証することによって、上述の２つの方法の欠点を解消することを提案している。メッセージが時間内に処理されると、ウォッチドッグは停止する。そうでない場合には、ウォッチドッグは割込みをトリガし、それによりプロセッサに強制的にメッセージを即座に処理させる。このようにすると、プロセッサの作業負荷は低く保たれ、それと同時に、メッセージに対する応答時間が所与の時間を超えないように保証される。
【０００９】
米国特許第６５０５２９８号が、ウォッチドッグを用いてオペレーティング・システムを監視することを可能にする装置を開示している。このウォッチドッグは、割込みルーチンを周期的に始動し、このルーチンは、特定のレジスタにアクセスすることによって、オペレーティング・システムが依然として適正に動作しているかどうかを確認することができる。適正に動作していない場合には、コンピュータはリセットされる。本特許明細書では、特殊な割込み制御は提案されていない。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明の目的は、割込み処理及びウォッチドッグ動作が適切に組み合わされ得る、上述の種類の改良型制御回路を提供することである。
【課題を解決するための手段】
【００１１】
この目的は、請求項１又は請求項２記載の特徴を有する制御回路、及び請求項９又は請求項１０記載の方法ステップを有する方法によって達成される。
【００１２】
これらの請求項によると、本発明は、第１の態様では、上記で論じた種類の制御回路において、ウォッチドッグ回路が割込み回路に接続されると共にその回路と協働し、それにより割込み回路が、ウォッチドッグ周期内で、多くとも所定数の割込みイベントをマイクロコントローラに送ることにある。従って、ウォッチドッグ周期当たりの割込み数は、ハードウェア手段によって限定される。
【００１３】
割込み回路が様々な割込み原因を含む第２の態様によれば、本発明は、これらの割込み原因が優先順位クラスに割り振られ、少なくとも１つの優先順位クラスにおいて、ウォッチドッグ周期当たりの割込みイベントの所定の最大数が設定される従来技術に基づいている。このウォッチドッグ回路は、割込み回路に接続されると共にその回路と協働し、それにより、最大数が設定された優先順位クラスに関しては、この割込み回路は、ウォッチドッグ周期内で、多くともこの最大数の関連する割込み原因の割込みイベントをマイクロコントローラに送り、最大数が設定されていない優先順位クラスに関しては、すべての関連する割込み原因の割込みイベントをマイクロコントローラに送る。従って、ウォッチドッグ周期当たりの割込み数は、少なくとも１つの優先順位クラスにおいてハードウェア手段によって限定される。
【００１４】
従って、最大数が固定された優先順位クラスでは、限定された所与の割当て量だけの割込みが可能となる。各クラス毎の最大数を合計することによって、ソフトウェア設計者は、ウォッチドッグ周期当たりの全割込み数を確実に推定することができる。それにより、割込みイベントの発生はかなりの程度まで予測可能となり、従って、こうした割込みの迅速で直接的な処理が可能となる。割込み原因をそれぞれ異なる優先順位クラスに割り振ることにより、それぞれ異なる割込み群が互いに分離され得ることになり、従って、個々の割込み原因が割込みシステム全体を阻止してしまうことを防止するという追加の利点が得られる。
【００１５】
本発明の有利な発展形態及び他の実施形態が、従属請求項３乃至８に記載されている。
【００１６】
請求項３記載の好ましい発展形態によれば、優先順位クラスは最優先順位クラスを含み、そのクラスには最大数が設定されない。特に緊急の割込みはこのクラスに割り振られることができ、これらの割込みは、他のすべてのクラスの割込み割当て量が既に使い果たされている場合でも尚、十分迅速に処理される。
【００１７】
請求項４記載の有利な方策によれば、各割込み原因は、最優先順位クラス、又は第２の、より低い優先順位クラスのいずれかに割り振られ、そのより低い優先順位クラスには所定の最大数が設定されている。具体的には、第２のクラスの最大数は１で良く、従って、ウォッチドッグ周期当たり、ただ１つの比較的重要でない割込みだけがトリガされ得ることになる。こうすることによって、マイクロコントローラは、最優先順位クラスの重要な割込みに対して常に迅速に応答することができ、且つ、それほど重要でない割込みの処理によって阻止されることがなくなることが確実になる。
【００１８】
請求項５記載の有利な他の実施形態によれば、この回路装置は送受信機であり、バス・ノードを構成するすべての周辺構成部品を含む。
【００１９】
具体的には、この回路装置は、請求項６記載のようにマイクロコントローラ用の電圧源を含んでも良い。
【００２０】
請求項７記載の有利な他の実施形態によれば、電源電圧の不足が最優先順位クラスの割込み原因となる。この方策は、他の割込み原因からの割込み数が既に最大数に達している場合でも、マイクロコントローラがかかる不足にタイミング良く応答することを確実にする。
【００２１】
請求項８記載の好都合な発展形態によれば、不揮発性メモリが提供され、そこにおいては、電源電圧が不足した場合に、マイクロコントローラが重要なデータを保存する。マイクロコントローラの電源供給は、一般にキャパシタによってバッファされるので、対応する割込みコマンドがタイミング良く処理される場合には、かかるデータの保存を実行するのに利用できる時間は十分ある。
【００２２】
請求項９及び１０は、本発明の第１及び第２の態様にそれぞれよるマイクロコントローラを支持し監視する方法を対象としている。
【００２３】
図面に示される実施形態の例を参照して本発明をさらに説明するが、本発明はそれに限定されるものではない。
【発明を実施するための最良の形態】
【００２４】
このただ１つの図は、ベース・チップ１００のブロック図であり、このチップはマイクロコントローラ１０を支持し監視している。ベース・チップ１００は送受信機であり、マイクロコントローラ１０用のウォッチドッグ、リセット論理回路、及び電圧源等、バス・ノードを構成するすべての周辺構成部品を含む。このベース・チップ１００は、ウォッチドッグを用いてソフトウェアを監視すると共に、データ線１２を介し、割込みによってシステム内の重要な処理に関する情報をマイクロコントローラ１０に与える。
【００２５】
ベース・チップ１００のウォッチドッグは、各ウォッチドッグ周期が終わる度に、マイクロコントローラ１０によって接続線１４を介してリセットされる。リセットが時間通りに行われない場合、ウォッチドッグ回路はエラーを検出し、対応するエラー信号を出力する。
【００２６】
割込みを生じ得るハードウェアが、ウォッチドッグ回路に結合されている。このハードウェアの様々な割込み原因は、優先順位クラスに分類され、本発明によれば、各優先順位クラスは、ウォッチドッグ周期当たりに割込み可能な所与の割当て量を有する。最も重要な割込み原因が割り振られる最優先順位クラスだけが唯一、割込み可能な割当て量が限定されていない。このようにして、ソフトウェア設計者は、ウォッチドッグ周期当たりの全割込み数を確実に推定することができる。
【００２７】
重要なシステム・メッセージとは、例えば、バッテリ電圧の不足である。従って、バッテリ・エラーによる割込みは最優先順位クラスに割り振られることになり、従って、他のすべての優先順位クラスの割込み割当て量が既に使い果たされている場合でも尚、十分迅速に処理され得る。マイクロコントローラ１０への電源供給は、キャパシタ（図示せず）によってバッファされているので、重要なデータは、この場合でも尚、不揮発性メモリ１６内に迅速に保存されることができる。
【００２８】
本発明を、特に実施形態の好ましい例に関して図示し説明してきたが、本発明の概念及び範囲から逸脱することなくその形状及び細部に修正を加えることができることが当業者には明らかであろう。従って、本発明の開示は、以下の特許請求の範囲に記載される本発明の範囲を限定するのではなく、例示するものである。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施形態の例に従い、ベース・チップによって支持され監視されているマイクロコントローラの概略ブロック図を示す。
【符号の説明】
【００３０】
１０  マイクロコントローラ
１２  マイクロコントローラへのデータ線
１４  ウォッチドッグ回路をリセットするための接続線
１６  不揮発性メモリ
１００  ベース・チップ
【図１】
2007503642.tif 000003
【国際調査報告】
2007503642.tif 000004
2007503642.tif 000005
2007503642.tif 000006