(57)【要約】【課題】  ＣＰＵの割り込みルーチンが正常に実行されてない場合、又はＣＰＵのリセット動作が割り込み動作に書き換えられてしまった場合でも、マイクロコンピュータ及びマイクロコンピュータに接続されている他の回路の動作を回復させることができるタイマ回路、及びマイクロコンピュータを提供する。【解決手段】  演算処理装置により初期化されずタイムアウトした場合にタイムアウト信号ＴＯを出力するウォッチドッグタイマ２と、タイムアウト信号ＴＯの出力回数をカウントし、カウント数が一定値に達した場合に、演算処理装置をリセットさせるリセット信号ＲＳＴを出力する判定回路３とを含む。【選択図】      図１
2005346359.tif 000002
【特許請求の範囲】
【請求項１】
演算処理装置により初期化されずタイムアウトした場合にタイムアウト信号を出力するウォッチドッグタイマと、
前記タイムアウト信号の出力回数をカウントし、前記カウント数が一定値に達した場合に、前記演算処理装置をリセットさせるリセット信号を出力する判定回路
とを備えることを特徴とするタイマ回路。
【請求項２】
前記判定回路は、前記演算処理装置が前記ウォッチドッグタイマを初期化するクリア信号により初期化されることを特徴とする請求項１に記載のタイマ回路。
【請求項３】
前記リセット信号が入力されたときに、前記演算処理装置のリセット動作を選択する動作選択回路を更に備えることを特徴とする請求項１又は２に記載のタイマ回路。
【請求項４】
演算処理装置と、
前記演算処理装置により初期化されずタイムアウトした場合にタイムアウト信号を出力するウォッチドッグタイマと、
前記タイムアウト信号の出力回数をカウントし、前記カウント数が一定値に達した場合に、前記演算処理装置をリセットさせるリセット信号を出力する判定回路
とを備えることを特徴とするマイクロコンピュータ。
【請求項５】
前記リセット信号が入力されたときに、前記演算処理装置のリセット動作を選択する動作選択回路を更に備えることを特徴とする請求項４に記載のマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タイマ回路、及びマイクロコンピュータに関し、特に、ウォッチドッグタイマ、及びこのウォッチドッグタイマを備えたマイクロコンピュータに関する。
【背景技術】
【０００２】
従来のウォッチドッグタイマは、マイクロコンピュータが正常に動作しているか否かをチェックし、異常動作を検出した場合に割り込み動作かリセット動作のうち何れかを選択する（例えば、特許文献１参照。）。
【０００３】
ウォッチドッグタイマは、ウォッチドッグタイマのカウンタが、設定時間内にＣＰＵによりカウンタクリアされなかった際（以下「タイムアウト」という）に、動作選択回路によって、割り込み動作かリセット動作のうち何れかを選択する。
【特許文献１】特開２０００−０８９９７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、従来のウォッチドッグタイマでは、動作選択回路が割り込み動作を選択した後にタイムアウトが連続した場合、割り込みルーチンが正常に実行されてないことが想定される。この場合、ＣＰＵにおいて必要な初期化や設定等が実行されず、マイクロコンピュータの動作のみならず、このマイクロコンピュータに接続されている他の回路にも悪影響を及ぼす恐れがあった。また、動作選択回路がリセット動作を選択した場合でも、ＣＰＵの暴走等によって割り込み動作に書き換えられてしまったときには、タイムアウトによるリセット動作が行えない。
【０００５】
そこで、上記問題に鑑み、本発明は、タイムアウトが連続して起こった場合に、強制的に演算処理装置のリセット動作を行い、マイクロコンピュータの初期化を行うことが可能なタイマ回路、及びマイクロコンピュータを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の特徴は、演算処理装置により初期化されずタイムアウトした場合にタイムアウト信号を出力するウォッチドッグタイマと、タイムアウト信号の出力回数をカウントし、カウント数が一定値に達した場合に、演算処理装置をリセットさせるリセット信号を出力する判定回路とを備えるタイマ回路であることを要旨とする。
【０００７】
本発明の第２の特徴は、演算処理装置と、演算処理装置により初期化されずタイムアウトした場合にタイムアウト信号を出力するウォッチドッグタイマと、タイムアウト信号の出力回数をカウントし、カウント数が一定値に達した場合に、演算処理装置をリセットさせるリセット信号を出力する判定回路とを備えるマイクロコンピュータであることを要旨とする。
【発明の効果】
【０００８】
本発明に係るタイマ回路、及びマイクロコンピュータによれば、演算処理装置を強制的にリセットすることにより、ＣＰＵの割り込みルーチンが正常に実行されてない場合、又はＣＰＵのリセット動作が割り込み動作に書き換えられてしまった場合でも、マイクロコンピュータ及びマイクロコンピュータに接続されている他の回路の動作を回復させることができる。
【発明を実施するための最良の形態】
【０００９】
（第１の実施の形態）
図１に示すように、本発明の第１の実施の形態に係る第１のマイクロコンピュータ５０は、演算処理装置であるＣＰＵ１、タイマ回路３０を備える。タイマ回路３０は、ウォッチドッグタイマ２、判定回路３、動作選択回路４、ＯＲゲート９を備える。ＣＰＵ１は、配線５４を介して外部とデータの入出力を行う。ウォッチドッグタイマ２及び判定回路３は、カウンタにより構成されている。ＣＰＵ１とウォッチドッグタイマ２は、配線５で接続されている。ＣＰＵ１と判定回路３は、配線６で接続されている。ＣＰＵ１とＯＲゲート９の入力端は、配線１１で接続されている。ＣＰＵ１と動作選択回路４は、配線１２及び配線１３で接続されている。ウォッチドッグタイマ２と判定回路３は、配線７で接続されている。ウォッチドッグタイマ２と動作選択回路４は、配線８で接続されている。ウォッチドッグタイマ２と発信回路１６は、配線１５で接続されている。判定回路３とＯＲゲート９の入力端は、配線１０で接続されている。ＯＲゲート９の出力端と動作選択回路４は、配線１４で接続されている。動作選択回路４は、ウォッチドッグタイマ２から配線８を介してタイムアウト信号ＴＯが入力されたとき、ＣＰＵ１へ割り込み信号ＩＮＴかリセット信号ＲＳＴのうち何れかを出力する。判定回路３又はＣＰＵ１からリセット信号ＲＳＴが入力された場合は、動作選択回路４は、リセット信号ＲＳＴをＣＰＵ１へ出力する。リセット信号ＲＳＴが入力されない場合は、動作選択回路４は、割り込み信号ＩＮＴをＣＰＵ１へ出力する。「リセット信号ＲＳＴ」とは、演算処理装置をリセットさせる信号をいう。「割り込み信号ＩＮＴ」とは、演算処理装置に割り込み処理をさせる信号をいう。図示していないが、マイクロコンピュータ５０には、ＣＰＵ１等の他、ＲＯＭやＲＡＭ等のメモリ、入出力ポート、通信ポート、タイマ、Ａ／Ｄコンバータ等を備えている。
【００１０】
次に図２を用いて、マイクロコンピュータ５０の動作を説明する。
【００１１】
（ａ）ステップＳ１００において、ウォッチドッグタイマ２は、配線１５から入力されるクロックＣＬＫが入力される毎にカウント数が１つずつ変化することにより、クロックＣＬＫの入力回数をカウントする。ステップＳ１０１において、ＣＰＵ１が正常に動作している場合は、ステップＳ１０２において、ウォッチドッグタイマ２がタイムアウトする前に、ＣＰＵ１から配線５を介してクリア信号ＣＬＲが入力され、ステップＳ１０３において、ウォッチドッグタイマ２は初期値にクリアされる。そして、ステップＳ１００に戻り、再びウォッチドッグタイマ２はクロックＣＬＫの入力回数のカウントを始める。
【００１２】
（ｂ）ステップＳ１０１において、ＣＰＵ１が正常に動作していない場合は、ウォッチドッグタイマ２はカウントを続ける。その結果、カウント数が一定値に達するとタイムアウトとなり、ステップＳ１０４において、タイムアウト信号ＴＯを判定回路３及び動作選択回路４へ出力する。
【００１３】
（ｃ）ステップＳ１０５において、判定回路３は、ウォッチドッグタイマ２により入力されたタイムアウト信号ＴＯの入力回数をカウントする。ステップＳ１０６において、ＣＰＵ１の動作が正常動作に回復した場合は、判定回路３がタイムアウトする前に、ステップＳ１０７において、ＣＰＵ１から配線６を介してクリア信号ＣＬＲが入力され、ステップＳ１０８において、判定回路３は初期値にクリアされる。そして、ステップＳ１０５に戻る。
【００１４】
（ｄ）ステップＳ１０６において、ＣＰＵ１が、未だ正常に動作しておらず、ウォッチドッグタイマ２が連続してタイムアウト信号ＴＯを出力する場合は、判定回路３はカウントを続け、カウント数が一定値（例えば、２）に達するとタイムアウトとなり、ステップＳ１０９において、リセット信号ＲＳＴをＯＲゲート９へ出力する。
【００１５】
（ｅ）ステップＳ１１０において、ＯＲゲート９には、判定回路３から配線１０を介してリセット信号ＲＳＴが入力され、ＣＰＵ１から配線１１を介してリセット信号ＲＳＴが入力される。ステップＳ１１１において、ＯＲゲート９は、何れかのリセット信号ＲＳＴが入力された場合、リセット信号ＲＳＴを動作選択回路４へ出力する。
【００１６】
（ｆ）ステップＳ１１１において、ＯＲゲート９から配線１４を介してリセット信号ＲＳＴが入力された場合は、動作選択回路４は、ステップＳ１１３において、リセット信号ＲＳＴをＣＰＵ１へ出力する。そして、ステップＳ１１５において、ＣＰＵ１はリセットされる。
【００１７】
本発明の第１の実施の形態に係るタイマ回路、及びマイクロコンピュータによれば、演算処理装置を強制的にリセットすることにより、ＣＰＵの割り込みルーチンが正常に実行されてない場合、又はＣＰＵのリセット動作が割り込み動作に書き換えられてしまった場合でも、マイクロコンピュータ及びマイクロコンピュータに接続されている他の回路の動作を回復させることができる。
【００１８】
（第２の実施の形態）
図３に示すように、本発明の第２の実施の形態に係るマイクロコンピュータ５０が備えるタイマ回路３１は、本発明の第１の実施の形態に係るタイマ回路３０とほぼ同様であるが、ＯＲゲート９の入力端と動作選択回路４が、配線１７で接続されており、ＯＲゲート９の出力端とＣＰＵ１が、配線１８で接続されている点で、本発明の第１の実施の形態に係るタイマ回路と異なる。また、動作選択回路４から配線１７を介してリセット信号ＲＳＴがＯＲゲート９へ出力され、ＣＰＵ１から配線１３を介して、リセット信号ＲＳＴが動作選択回路４へ入力される点で、本発明の第１の実施の形態に係るタイマ回路と異なる。
【００１９】
次に図４を用いて、本発明の第２の実施の形態に係るタイマ回路の動作について説明する。ステップＳ１００〜Ｓ１０８及びステップＳ１１５は、本発明の第１の実施の形態に係るタイマ回路の動作と同様である。
【００２０】
（ａ）ステップＳ１０６において、ＣＰＵ１が、未だ正常に動作しておらず、ウォッチドッグタイマ２が連続してタイムアウト信号ＴＯを出力する場合は、判定回路３はカウントを続け、カウント数が一定値に達するとタイムアウトとなり、ステップＳ２０９において、リセット信号ＲＳＴをＯＲゲート９へ出力する。
【００２１】
（ｂ）ＣＰＵ１から配線１３を介して、リセット信号ＲＳＴが動作選択回路４へ入力された場合は、ステップＳ２１０において、動作選択回路４からリセット信号ＲＳＴがＯＲゲート９へ出力される。
【００２２】
（ｃ）ＯＲゲート９には、ステップＳ２０９において判定回路３から配線１０を介してリセット信号ＲＳＴが入力され、ステップＳ２１０において動作選択回路４から配線１７を介してリセット信号ＲＳＴが入力される。ステップＳ２１１において、ＯＲゲート９は、何れかのリセット信号ＲＳＴが入力された場合、リセット信号ＲＳＴをＣＰＵ１へ出力する。そして、ステップＳ１１５において、ＣＰＵ１はリセットされる。
【００２３】
本発明の第２の実施の形態に係るタイマ回路、及びマイクロコンピュータによれば、演算処理装置を強制的にリセットすることにより、ＣＰＵの割り込みルーチンが正常に実行されてない場合、又はＣＰＵのリセット動作が割り込み動作に書き換えられてしまった場合でも、マイクロコンピュータ及びマイクロコンピュータに接続されている他の回路の動作を回復させることができる。
【００２４】
（その他の実施の形態）
図５に示すように、本発明の第１及び第２の実施の形態に係るマイクロコンピュータは、複数備えられてもよい。即ち、第１のマイクロコンピュータ５０、第２のマイクロコンピュータ５１、第３のマイクロコンピュータ５２、ノード５３、マイクロコンピュータ５０とノードを接続するバス５４、マイクロコンピュータ５１とノードを接続するバス５５、マイクロコンピュータ５２とノードを接続するバス５６が備えられる。マイクロコンピュータ５０、５１、５２は、ノード５３を介して外部と、又は相互にデータの入出力を行う。マイクロコンピュータ５０は、スーパーバイザ機能を有し、第１のマイクロコンピュータ５０、第２のマイクロコンピュータ５１、及び第３のマイクロコンピュータ５２からノード５３へ入出力されるデータを制御する。例えば、マイクロコンピュータ５１が機能しなくなった場合、マイクロコンピュータ５０は、マイクロコンピュータ５１で処理されるデータを、マイクロコンピュータ５０又はマイクロコンピュータ５２に割り振る。スーパーバイザ機能以外は、マイクロコンピュータ５１及び５２もマイクロコンピュータ５０と同様の構成を有している。このようにマイクロコンピュータが複数備えられている場合でも、各マイクロコンピュータが独立して各演算処理装置を強制的にリセットすることにより、マイクロコンピュータに接続されている他のマイクロコンピュータの動作を回復させたり、マイクロコンピュータに接続されている他のマイクロコンピュータの負荷を減らすことができる。
【００２５】
例えば、第１のマイクロコンピュータ５０のＣＰＵ１が正常に動作しないため、スーパーバイザ機能が機能しない場合でも、第１のマイクロコンピュータ５０が、ＣＰＵ１を強制的にリセットすることにより、第２のマイクロコンピュータ５１、第３のマイクロコンピュータ５２へ入出力されるデータが正常に制御される。また、第２のマイクロコンピュータ５１、第３のマイクロコンピュータ５２も、それぞれ独立して演算処理装置を強制的にリセットすることにより、他のマイクロコンピュータへ割り振られたデータを、正常に処理できるようになる。
【００２６】
第１の実施の形態、及び第２の実施の形態に係るタイマ回路では、発信回路１６はマイクロコンピュータ５０の外部にあるが、発信回路１６はウォッチドッグタイマ２に内蔵されてもよい。また、第１の実施の形態及び第２の実施の形態に係る発信回路１６は、ＣＰＵ１に入力されるクロックであるシステムクロックを供給する発信回路であってもよいし、システムクロックとは独立したクロックを供給する発信回路であってもよい。
【図面の簡単な説明】
【００２７】
【図１】第１の実施の形態に係るタイマ回路の一例を示した図である。
【図２】第１の実施の形態に係るタイマ回路の動作を示したフロー図の一例を示した図である。
【図３】第２の実施の形態に係るタイマ回路の一例を示した図である。
【図４】第２の実施の形態に係るタイマ回路の動作を示したフロー図の一例を示した図である。
【図５】ノードにより接続されている複数のマイクロコンピュータの一例を示した図である。
【符号の説明】
【００２８】
１  ＣＰＵ
２  ウォッチドッグタイマ
３  判定回路
４  動作選択回路
５〜８，１０〜１５，１７，１８  配線
９  ＯＲゲート
１６  発信回路
３０  タイマ回路
３１  タイマ回路
５０，５１，５２  マイクロコンピュータ
５３  ノード
５４，５５，５６バス
ＣＬＫ  クロック
ＣＬＲ  クリア信号
ＩＮＴ  割り込み信号
ＲＳＴ  リセット信号
ＴＯ  タイムアウト信号
【図１】
2005346359.tif 000003
【図２】
2005346359.tif 000004
【図３】
2005346359.tif 000005
【図４】
2005346359.tif 000006
【図５】
2005346359.tif 000007