(57)【要約】【課題】デバイスの故障によるＣＰＵの停止を早期に検出することのできるマイクロコンピュータの停止検出装置を得る。【解決手段】第１のウォッチドッグタイマ３は、ＣＰＵ１で実行されるプログラムモジュール毎に発行される専用のクリア命令によってクリアされ、設定時間内でクリアされないときにリセット信号を出力する。第２のウォッチドッグタイマ４ａ，４ｂは、デバイス２ａ，２ｂの制御開始信号でカウント動作を開始し、第１のウォッチドッグタイマ３の設定時間より短い時間でＣＰＵ１をリセットするためのリセット信号を出力し、かつ、デバイス２ａ，２ｂの出力信号に基づいてクリアされる。【選択図】図１
2009003711.tif 000002
【特許請求の範囲】
【請求項１】
マイクロコンピュータに接続されたデバイスを制御するための前記マイクロコンピュータで実行されるプログラムモジュール毎に発行される専用のクリア命令によってクリアされ、設定時間内でクリアされないときには、前記マイクロコンピュータをリセットするためのリセット信号を出力する第１のウォッチドッグタイマを備えたマイクロコンピュータの停止検出装置において、
前記第１のウォッチドッグタイマの設定時間より短い時間で前記マイクロコンピュータをリセットするためのリセット信号を出力し、かつ、前記デバイスの出力信号に基づいてクリアされる第２のウォッチドッグタイマを備えたマイクロコンピュータの停止検出装置。
【請求項２】
第２のウォッチドッグタイマは、
マイクロコンピュータからのデバイスの制御開始信号でカウント動作を開始し、当該デバイスからの制御準備完了信号でカウント動作を停止するカウンタと、
予め決められた検出時間値と前記カウンタのカウント値とを比較する比較器とを備え、
前記比較器で、前記検出時間値よりカウント値が長い場合は、前記マイクロコンピュータと前記デバイスを共にリセットするためのリセット信号を出力すること特徴とする請求項１記載のマイクロコンピュータの停止検出装置。
【請求項３】
第２のウォッチドッグタイマ回路は、複数のデバイス毎の検出時間値を有すると共に、これらの検出時間値を、前記複数のデバイスのうち、マイクロコンピュータが制御対象としているデバイスの制御開始信号によって切り換える切換器を備え、当該切換器から出力される検出時間値よりカウンタのカウント値が長い場合はリセット信号を出力することを特徴とする請求項２記載のマイクロコンピュータの停止検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、マイクイロコンピュータの停止を早期に検出することのできるマイクロコンピュータの停止検出装置に関する。
【背景技術】
【０００２】
マイクロコンピュータ（以下、ＣＰＵと記す）によるプログラムの暴走、プログラムのデッドロックによるＣＰＵの停止など、ＣＰＵの異常を検出するために、従来よりウォッチドッグタイマ（以下、ＷＤＴと記す）が用いられている。
このようなウォッチドッグタイマは、専用のクリア命令によりクリアされ、設定時間内でクリアされないときにオーバフロー信号を出力して異常検出信号を出力するものであり、更に、このような異常検出用タイマのオーバフロー時間より短い時間でオーバフロー信号を出力して異常検出信号を出力する第２のウォッチドッグタイマを備えたものがあった（例えば、特許文献１参照）。
【０００３】
【特許文献１】特開平１０−１２４３４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記従来の装置では、第２のウォッチドッグタイマのクリア信号としてＣＰＵから出力される「ＭＳＴＡＲＴ信号」及び「ＭＬＯＯＰ」信号を用いている。しかしながら、このような信号を持たないＣＰＵでは、本問題を解決することはできないと共に、ＣＰＵによって制御されるデバイスの故障によるＣＰＵの停止は検出することができなかった。
【０００５】
この発明は上記のような課題を解決するためになされたもので、デバイスの故障によるＣＰＵの停止を早期に検出することのできるマイクロコンピュータの停止検出装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係るマイクロコンピュータの停止検出装置は、第１のウォッチドッグタイマの設定時間より短い時間でマイクロコンピュータをリセットするためのリセット信号を出力し、かつ、デバイスの出力信号に基づいてクリアされる第２のウォッチドッグタイマを備えたものである。
【発明の効果】
【０００７】
この発明のマイクロコンピュータの停止検出装置は、第１のウォッチドッグタイマの設定時間より短い時間でリセット信号を出力し、かつ、デバイスの出力信号に基づいてクリアされる第２のウォッチドッグタイマを備えたので、デバイスの故障によるマイクロコンピュータの停止を早期に検出することができる。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
図１は、この発明の実施の形態１によるマイクロコンピュータの停止検出装置を示す構成図である。
図において、マイクロコンピュータの停止検出装置は、ＣＰＵ１、デバイス２ａ，２ｂ、第１のウォッチドッグタイマ３、第２のウォッチドッグタイマ４ａ，４ｂを備えている。ＣＰＵ１は、デバイス２ａ，２ｂを制御し、かつ、第１のウォッチドッグタイマ３または第２のウォッチドッグタイマ４ａ，４ｂからのクリア信号によってクリアされるマイクロコンピュータである。デバイス２ａ，２ｂは、ＣＰＵ１によって制御されるデバイスであり、このデバイス２ａ，２ｂも、第１のウォッチドッグタイマ３または第２のウォッチドッグタイマ４ａ，４ｂからのクリア信号によってクリアされるよう構成されている。第１のウォッチドッグタイマ３は、ＣＰＵ１で実行されるプログラムモジュール毎に発行される専用のクリア命令によってクリアされ、設定時間内でクリアされないときには、ＣＰＵ１をリセットするためのリセット信号を出力するソフトウェアウォッチドッグタイマである。第２のウォッチドッグタイマ４ａ，４ｂは、第１のウォッチドッグタイマ３の設定時間より短い時間でＣＰＵ１をリセットするためのリセット信号を出力し、かつ、デバイス２ａ，２ｂの出力信号に基づいてクリアされるハードウェアウォッチドッグタイマである。
【０００９】
また、第１のウォッチドッグタイマ３から出力されるリセット信号であるＳ／Ｗ−ＷＤＴ信号と、第２のウォッチドッグタイマ４ａ，４ｂの出力であるＨ／Ｗ−ＷＤＴ（ａ），Ｈ／Ｗ−ＷＤＴ（ｂ）信号はＮＯＲ回路５に入力され、更に、ＮＯＲ回路５の出力と電源リセット信号がＡＮＤ回路６に入力され、このＡＮＤ回路６の出力がリセット信号としてデバイス２ａ，２ｂとＣＰＵ１に供給されるよう構成されている。また、デバイス２ａ，２ｂからの出力信号であるレディー信号ｎＲＤＹａ，ｎＲＤＹｂはＮＯＲ回路７を介してレディー信号ｎＲＤＹとしてＣＰＵ１に与えられるよう構成されている。
【００１０】
図２は、第１のウォッチドッグタイマ３の機能ブロック図である。
図示のように、第１のウォッチドッグタイマ３は、カウンタ３１、検出時間保持部３２、比較器３３を備えている。カウンタ３１は、ＣＰＵ１からのイネーブル信号によってカウントアップを開始し、ＣＰＵ１からのクリア信号がＮＯＴ回路３４を介して供給され、クリア端子（ＣＬＲ）にクリア信号が入力された場合に、カウント値のクリアを行うカウンタである。検出時間保持部３２は、ＣＰＵ１へのリセット信号を出力する時間を決定するための検出時間値を保持するものである。比較器３３は、カウンタ３１から出力されるカウント値と検出時間保持部３２の検出時間値とを比較し、カウンタ３１から出力されるカウント値が検出時間保持部３２の検出時間値よりも大きくなった場合に、ＷＤＴリセット信号を出力するよう構成されている。尚、この第１のウォッチドッグタイマ３は従来と同様のソフトウェアウォッチドッグタイマである。
【００１１】
図３は、第２のウォッチドッグタイマ４ａ，４ｂの構成図である。
図示のように、第２のウォッチドッグタイマ４ａ，４ｂは、ライトイネーブル信号立下がりエッジ検出部４０１、リードイネーブル信号立下がりエッジ検出部４０２、レディー信号立下がりエッジ検出部４０３、ＪＫフリップフロップ４０４、カウンタ４０５、検出時間保持部４０６、比較器４０７を備えている。
【００１２】
ライトイネーブル信号立下がりエッジ検出部４０１は、ＣＰＵ１からのライトイネーブル信号（ｎＷＥ）の立下りエッジを検出し、リードイネーブル信号立下がりエッジ検出部４０２は、ＣＰＵ１からのリードイネーブル信号（ｎＲＤ）の立下りエッジを検出するエッジ検出部である。また、レディー信号立下がりエッジ検出部４０３は、デバイス２ａ（２ｂ）からのレディー信号（ｎＲＤＹａまたはｎＲＤＹｂ）の立下りエッジを検出するエッジ検出部である。ＪＫフリップフロップ４０４は、Ｊ端子にＡＮＤ回路４０８の出力を、Ｋ端子にＡＮＤ回路４０９の出力を入力し、出力をカウンタ４０５のイネーブル端子（ＥＮ）とクリア端子（ＣＬＲ）に入力するフリップフロップである。カウンタ４０５は、第２のウォッチドッグタイマ４ａ（４ｂ）としてのタイマ時間を計測するカウンタであり、イネーブル端子に入力されるＪＫフリップフロップ４０４からの出力によってカウントを開始し、クリア端子に入力されるＪＫフリップフロップ４０４の出力によってクリアされるよう構成されている。即ち、カウンタ４０５は、ＣＰＵ１からのデバイス２ａ，２ｂの制御開始信号でカウント動作を開始し、デバイス２ａ，２ｂからの制御準備完了信号でカウント動作を停止するよう構成されている。尚、カウンタ４０５については、カウント動作を行うためのクロックが必要であるが、ここではその記載を省略している。
【００１３】
検出時間保持部４０６は、第２のウォッチドッグタイマ４ａ，４ｂの検出時間値を発生する機能部であり、その検出時間は、第１のウォッチドッグタイマ３における検出時間保持部３２の検出時間に比べて短く設定されている。比較器４０７は、カウンタ４０５のカウンタ値と検出時間保持部４０６の出力値を比較し、カウンタ４０５のカウンタ値が検出時間保持部４０６の出力値を超えた場合にリセット信号（Ｈ／Ｗ−ＷＤＴ信号）を出力するよう構成されている。また、ＡＮＤ回路４０８，４０９のそれぞれ一方の入力端子にはチップセレクト信号（ｎＣＳ１）がＮＯＴ回路４１０を介して入力され、ＡＮＤ回路４０８の他方の入力端子にはＯＲ回路４１１の出力が入力され、ＡＮＤ回路４０９の他方の入力端子にはレディー信号立下がりエッジ検出部４０３の出力が入力されるよう構成されている。更に、ＯＲ回路４１１の入力にはライトイネーブル信号立下がりエッジ検出部４０１とリードイネーブル信号立下がりエッジ検出部４０２の出力とが入力されるよう構成されている。
【００１４】
次に、実施の形態１のマイクロコンピュータの停止検出装置の動作について説明する。
先ず、第１のウォッチドッグタイマ３の動作について説明する。
図４は、各プログラムモジュールの実行を示すフローチャートである。
ＣＰＵ１は、プログラムのモジュール＃１（ステップＳＴ１２）、モジュール＃２（ステップＳＴ２２）及びモジュール＃３（ステップＳＴ３２）を実行する前に、第１のウォッチドッグタイマ３をクリアするための命令（ＷＤＴクリア命令）を実行する（ステップＳＴ１１，ＳＴ２１，ＳＴ３１）。これらの命令が実行されると、ＣＰＵ１からＷＤＴクリア信号が出力される。ＷＤＴクリア信号出力は、図２に示すように、カウンタ３１のクリア端子に入力される。モジュール＃１〜モジュール＃３のいずれかが実行される度にＷＤＴクリア信号が発生するので、カウンタ３１のカウント値はＷＤＴクリア信号が入力される度にクリアされる。もし何らかの障害で、例えばモジュール＃１（ステップＳＴ１２）が停止した場合には、ＷＤＴクリア信号が発生しなくなるので、カウンタ３１がクリアされることはなく、そのカウント値が予め設定された時間、即ち、検出時間保持部３２の検出時間値を超えると、比較器３３はＷＤＴリセット信号を出力して、ＣＰＵ１をリセットする。
【００１５】
ＣＰＵ１の停止は、プログラムの暴走やプログラムのデッドロックの他、ＣＰＵ１に接続された周辺デバイスの故障においても引き起こされる。例えば、デバイス２ａ，２ｂを制御するプログラムモジュールをモジュール＃１，＃２とする。これらのモジュール＃１，＃２は１０ｍ秒間隔，１ｍ秒間隔で実行されるとしても、第１のウォッチドッグタイマ３の検出時間値は、プログラムの中で最も処理時間の長いモジュールや、最も実行の優先度の低いモジュールの時間で設定されることになる。図４の場合、モジュール＃３の実行間隔が１０秒なので、その２倍の約２０秒が検出時間保持部３２の検出時間になる。
尚、以上の第１のウォッチドッグタイマ３の動作については、従来と同様である。
【００１６】
次に、第２のウォッチドッグタイマ４ａ，４ｂの動作について説明する。
最初にＣＰＵ１が正常に動作しているときについて説明を行う。
図５は、正常時のＣＰＵのデバイス制御動作を示すタイミングチャートである。
図４に示すように、ＣＰＵ１は、１０ｍ秒間隔でモジュール＃１を実行してデバイス２ａを制御し、１ｍ秒間隔でモジュール＃２を実行してデバイス２ｂを制御し、その他として１０秒間隔でモジュール＃３を実行する。以下、デバイス２ａの制御の場合を例として説明する。
【００１７】
図１に示すように、ＣＰＵ１にはＣＰＵバスを通じてデバイス２ａが接続されている。モジュール＃１（ステップＳＴ１２）が実行されると、図５に示すようにＣＰＵ１は制御したいデバイス２ａのアドレス信号を出力し、次にデバイスを選択するためのチップセレクト信号ｎＣＳａを“Ｌ”にアサートして、デバイス２ａの制御を開始する。その後、デバイス２ａにデータを書き込む場合は、ライトイネーブル信号ｎＷＥを“Ｌ”にアサートしてデータ信号を出力する。又はデバイスからのデータを読み込む場合は、リードイネーブル信号ｎＲＥを“Ｌ”にアサートして、デバイスから出力されるデータ信号を待つ。
【００１８】
チップセレクト信号ｎＣＳａ、ライトイネーブル信号ｎＷＥ、及びリードイネーブル信号はｎＲＥは、デバイス２ａに接続されており、デバイス２ａはチップセレクト信号ｎＣＳａ及びライトイネーブル信号ｎＷＥを受けたときにはデータ信号を入力するための書き込み動作の準備を行い、チップセレクト信号ｎＣＳａ及びリードイネーブル信号ｎＲＥ信号を受けたときには、データ信号を出力するための読み込み動作準備を行う。デバイス２ａは、これら準備中の状態を外部に通知するための信号として、レディー信号ｎＲＤＹａを“Ｈ”として出力する。以降は、書き込み動作についてのみ説明を行う。
【００１９】
次に、ライトイネーブル信号ｎＷＥが“Ｌ”にアサートされると、図３のライトイネーブル信号立下がりエッジ検出部４０１は、ライトイネーブル信号ｎＷＥの立ち下がりエッジを検出して“Ｈ”パルス信号を出力する。その信号はＯＲ回路４１１を介してＡＮＤ回路４０８に入力され、このＡＮＤ回路４０８にて、反転したチップセレクト信号ｎＣＳａとのＡＮＤが行われ、ＪＫフリップフロップ４０４のＪ端子に入力される。ＪＫフリップフロップ４０４はそれを受けて“Ｈ”信号を出力する。
【００２０】
一方、デバイス２ａは、書き込み準備が完了すると、前述したレディー信号ｎＲＤＹａを“Ｌ”にアサートして出力する。チップセレクト信号ｎＣＳａが“Ｌ”にアサートされてからレディー信号ｎＲＤＹａがアサートされるまでの時間はアクセス応答時間と呼ばれ、デバイスによってその値が異なるが、通常は数百ｎ秒程度の極めて短い時間であることが多い。レディー信号ｎＲＤＹａが“Ｌ”にアサートされると、レディー信号立下がりエッジ検出部４０３は、“Ｈ”パルス信号を出力する。その信号はＡＮＤ回路４０９にて、反転したチップセレクト信号ｎＣＳａとのＡＮＤが行われ、ＪＫフリップフロップ４０４のＫ端子に入力される。そして、ＪＫフリップフロップ４０４の出力は“Ｈ”から“Ｌ”に遷移する。ＪＫフリップフロップ４０４の出力はカウンタ４０５のイネ−ブル入力端子と、かつ反転した信号をカウンタ４０５のクリア入力端子に入力される。
【００２１】
ＣＰＵ１のデバイス２ａの制御が開始されてＪＫフリップフロップ４０４の出力端子が“Ｈ”になると、カウンタ４０５のカウント動作が開始され、デバイス２ａ（２ｂ）からのレディー信号が”Ｌ“になってＪＫフリップフロップ４０４の出力が“Ｌ”になると、カウンタ４０５のカウント値が“０”にクリアされる。比較器４０７は、カウンタ４０５の出力と検出時間保持部４０６の検出時間値を比較し、検出時間値よりカウンタ４０５の出力値が小さい場合はＨ／Ｗ−ＷＤＴ（ａ）信号として“Ｌ”を出力し、大きい場合は“Ｈ”を出力する。検出時間はアクセス応答時間より大きい値（例えば、２倍など）に設定されているので、デバイス２ａが正常動作を行っている場合の比較器４０７の出力、即ち、Ｈ／Ｗ−ＷＤＴ（ａ）信号は常に“Ｌ”である。Ｈ／Ｗ−ＷＤＴ（ａ）信号は、他のデバイス２ｂの第２のウォッチドッグタイマ４ｂの出力信号であるＨ／Ｗ−ＷＤＴ（ｂ）信号と、Ｓ／Ｗ−ＷＤＴ信号との３信号のＮＯＲ回路５におけるＮＯＲ演算を経て、更に、ＡＮＤ回路６にて電源リセット信号とＡＮＤ演算後に、ＣＰＵ１、デバイス２ａ及びデバイス２ｂのリセット信号になる。デバイス２ａが正常動作を行っている場合は、リセット信号は“Ｈ”であり、リセット動作を行うことはない。
【００２２】
一方、デバイス２ａのレディー信号ｎＲＤＹａは、他のデバイス２ｂからのレディー信号ｎＲＤＹｂとのＮＯＲ回路７におけるＮＯＲ演算を経て、ＣＰＵ１へのレディー信号ｎＲＤＹとして入力される。ＣＰＵ１がレディー信号ｎＲＤＹを受け取ると、ライトイネーブル信号ｎＷＥを“Ｈ”にデアサートし、最後にチップセレクト信号ｎＣＳａを“Ｈ”にデアサートして、モジュール＃１の一連の動作が終了する。
【００２３】
次に、異常時のＣＰＵ１のデバイス制御動作について説明する。
図６は、異常時のＣＰＵ１のデバイス制御動作のタイミングチャートである。
外部からのノイズによりデバイス２ａが誤動作、あるいはノイズによりアドレス値などが書き換わるなどが発生した場合、デバイス２ａは正常に動作することができず、書き込み準備を終わることができない。このとき、デバイス２ａは、レディー信号ｎＲＤＹａを“Ｌ”にアサートせず、”Ｈ“を出力し続ける。このためＣＰＵ１はレディー信号ｎＲＤＹａの”Ｌ“を受け取ることができないので、ＣＰＵ１は暴走をしていないにもかかわらず、モジュール＃１が停止したようになる。一方、レディー信号ｎＲＤＹａが”Ｌ“にアサートされない間は、ＪＫフリップフロップ４０４の出力は“Ｈ”のままになるため、カウンタ４０５のカウント動作が続くことになる。やがてカウンタ４０５の出力値が検出時間保持部４０６に設定されている検出時間値を超えると、比較器４０７の出力は“Ｈ”になる。もし、デバイス２ａのアクセス応答時間が１００ｎ秒の場合、検出時間値は２００ｎ秒に設定されることになり、極めて短い時間でＣＰＵ１の停止を検出することになる。
【００２４】
前述したように、比較器４０７の出力はＨ／Ｗ−ＷＤＴ（ａ）信号としてＣＰＵ１及びデバイス２ａのリセット信号になるので、第１のウォッチドッグタイマ３のみによるＷＤＴ動作ではＣＰＵ１の停止の検出時間として約２０秒必要であるが、第２のウォッチドッグタイマ４ａ，４ｂを備えているため、デバイスに異常が発生した場合に、２００ｎ秒程度の検出時間でＷＤＴの動作を行ってＣＰＵ１をリセットすることができ、極めて短時間でＣＰＵ１を復旧することができる。
尚、デバイス２ｂについては、上記デバイス２ａの動作と同様のため、説明を省略する。
【００２５】
以上のように、実施の形態１のマイクロコンピュータの停止検出装置によれば、マイクロコンピュータに接続されたデバイスを制御するためのマイクロコンピュータで実行されるプログラムモジュール毎に発行される専用のクリア命令によってクリアされ、設定時間内でクリアされないときには、マイクロコンピュータをリセットするためのリセット信号を出力する第１のウォッチドッグタイマを備えたマイクロコンピュータの停止検出装置において、第１のウォッチドッグタイマの設定時間より短い時間でマイクロコンピュータをリセットするためのリセット信号を出力し、かつ、デバイスの出力信号に基づいてクリアされる第２のウォッチドッグタイマを備えたので、デバイスの故障によるマイクロコンピュータの停止を早期に検出することができる。
【００２６】
また、実施の形態１のマイクロコンピュータの停止検出装置によれば、第２のウォッチドッグタイマは、マイクロコンピュータからのデバイスの制御開始信号でカウント動作を開始し、デバイスからの制御準備完了信号でカウント動作を停止するカウンタと、予め決められた検出時間値とカウンタのカウント値とを比較する比較器とを備え、比較器で、検出時間値よりカウント値が長い場合は、マイクロコンピュータとデバイスを共にリセットするためのリセット信号を出力するようにしたので、デバイスの故障によるマイクロコンピュータの停止を確実に検出することができる。
【００２７】
実施の形態２．
図７は、実施の形態２のマイクロコンピュータの停止検出装置の構成図である。
実施の形態２が実施の形態１と異なる点は、実施の形態１ではデバイス２ａ，２ｂ毎に構成していた第２のウォッチドッグタイマ４ａ，４ｂを、一つの第２のウォッチドッグタイマ４ｃとしてまとめていることである。即ち、第２のウォッチドッグタイマ４ｃは、複数のデバイス２ａ，２ｂ毎の検出時間値を有すると共に、これらの検出時間値を、複数のデバイス２ａ，２ｂのうち、ＣＰＵ１が制御対象としているデバイスの制御開始信号によって切り換える切換器を備え、この切換器から出力される検出時間値よりカウンタのカウント値が長い場合はリセット信号を出力するよう構成されている。
【００２８】
図８は、第２のウォッチドッグタイマ４ｃの構成図である。
第２のウォッチドッグタイマ４ｃは、ライトイネーブル信号立下がりエッジ検出部４０１、リードイネーブル信号立下がりエッジ検出部４０２、レディー信号立下がりエッジ検出部４０３ａ，４０３ｂ、ＪＫフリップフロップ４０４ａ，４０４ｂ、カウンタ４０５、検出時間保持部４０６ａ，４０６ｂ、比較器４０７、ＡＮＤ回路４０８ａ，４０８ｂ、ＡＮＤ回路４０９ａ，４０９ｂ、ＮＯＴ回路４１０ａ，４１０ｂ、ＯＲ回路４１１，４１３、切換器４１２を備えている。ライトイネーブル信号立下がりエッジ検出部４０１およびリードイネーブル信号立下がりエッジ検出部４０２は、実施の形態１と同様に、それぞれライトイネーブル信号ｎＷＥおよびリードイネーブル信号ｎＲＤを入力し、出力をＯＲ回路４１１を介してＡＮＤ回路４０８ａ，４０８ｂに入力させるよう構成されている。レディー信号立下がりエッジ検出部４０３ａ，４０３ｂは、それぞれ、デバイス２ａのレディー信号ＲＥＡＤＹａおよびデバイス２ｂのレディー信号ＲＥＡＤＹｂを入力し、出力をＡＮＤ回路４０９ａ，４０９ｂに入力させるよう構成されている。
【００２９】
それぞれのＡＮＤ回路４０８ａ，４０８ｂには、デバイス２ａへのチップセレクト信号ｎＣＳａおよびデバイス２ｂへのチップセレクト信号ｎＣＳｂがＮＯＴ回路４１０ａ，４１０ｂを介して入力されている。ＡＮＤ回路４０８ａ，４０８ｂの出力は、それぞれＪＫフリップフロップ４０４ａ，４０４ｂのＪ端子に入力され、ＪＫフリップフロップ４０４ａ，４０４ｂのそれぞれのＫ端子にはＡＮＤ回路４０９ａ，４０９ｂの出力が入力されるよう構成されている。ＪＫフリップフロップ４０４ａ，４０４ｂの出力は、ＯＲ回路４１３を介してカウンタ４０５のイネーブル端子とクリア端子に入力されている。検出時間保持部４０６ａ，４０６ｂは、それぞれ、デバイス２ａ，２ｂを制御するためのプログラムモジュール＃１，＃２に対応した検出時間値を保持するもので、これらの検出時間値は切換器４１２によって切換制御され、比較器４０７に与えられるよう構成されている。切換器４１２は、チップセレクト信号ｎＣＳａ，ｎＣＳｂに基づいて検出時間保持部４０６ａ，４０６ｂの選択を行うものであり、チップセレクト信号ｎＣＳａがアクティブである場合は検出時間保持部４０６ａの検出時間値を選択し、チップセレクト信号ｎＣＳｂがアクティブである場合は検出時間保持部４０６ｂの検出時間値を選択するよう構成されている。
【００３０】
次に、実施の形態２の動作について説明する。ここで、第２のウォッチドッグタイマ４ｃの動作以外は実施の形態１と同様であるため、図８に示す第２のウォッチドッグタイマ４ｃの内部動作についてのみ説明する。
図９は、第２のウォッチドッグタイマ４ｃの動作を示すタイミングチャートである。
ＪＫフリップフロップ４０４ａおよびＪＫフリップフロップ４０４ｂの出力信号をカウンタ４０５のイネーブル端子およびクリア端子に接続して、カウンタ４０５を動作させる点は実施の形態１における動作と同様であるためここでの説明は省略する。実施の形態１と異なる箇所は、デバイス２ａ用の検出時間保持部４０６ａとデバイス２ｂ用の検出時間保持部４０６ｂと、これらを切り換えるための切換器４１２を追加した点である。切換器４１２は、チップセレクト信号ｎＣＳａがアクティブ（“Ｌ”）になっている間、その出力時間はデバイス２ａ用の検出時間であり、チップセレクト信号ｎＣＳｂがアクティブ（“Ｌ”）になっている間は、デバイス２ｂ用の検出時間になるように動作し、切換器４１２の出力は比較器４０７に入力される。このため、図９に示すように、検出時間は制御しているデバイスの種類によって動的に変化することになる。
【００３１】
従って、デバイスが複数ある場合でウォッチドッグタイマを構成した場合においても、複数のカウンタ４０５および比較器４０７を必要とせず、それぞれ１個で構成することができる。比較器４０７は、カウンタ４０５の値と制御デバイスに従った検出時間値とを比較し、カウンタ４０５の値が切換器４１２からの検出時間値を超えると、“Ｈ”信号を出力する。このため、本実施の形態では、デバイスに異常が発生した場合に、数百ｎ秒程度の検出時間でウォッチドッグタイマの動作を行ってＣＰＵ１をリセットすることができるだけでなく、ＣＰＵ１に複数のデバイスが接続されている場合でもカウンタがひとつでウォッチドッグタイマの動作をすることができるので、部品点数を少なくすることができる効果もある。
【００３２】
尚、本実施の形態では、第２のウォッチドッグタイマ４ｃ内部のカウンタ４０５のイネーブル信号の開始タイミングとして、ライトイネーブルのエッジ信号を用いているが、チップセレクト信号のエッジ信号を用いてもよく、同様の効果が得られる。
【００３３】
また、本実施の形態では、デバイスの書き込み及び読み出しにかかわらず、検出時間を一つとして説明しているが、検出時間を書き込みと読み込みとで別々に設けてもよい。その場合は、切換器４１２にライトイネーブル信号とリードイネーブル信号とを入力して切り替えるようにすればよく、同様な効果が得られる。
【００３４】
更に、本実施の形態では、第２のウォッチドッグタイマ４ｃ内部のカウンタ４０５のイネーブル信号の終了タイミングとしてレディー信号を用いたが、レディー信号以外のデバイス準備を表す信号、例えばレディー信号と極性の異なるウエイト信号を用いてもよく、同様な効果が得られる。
【００３５】
以上のように、実施の形態２のマイクロコンピュータの停止検出装置によれば、第２のウォッチドッグタイマ回路は、複数のデバイス毎の検出時間値を有すると共に、これらの検出時間値を、複数のデバイスのうち、マイクロコンピュータが制御対象としているデバイスの制御開始信号によって切り換える切換器を備え、切換器から出力される検出時間値よりカウンタのカウント値が長い場合はリセット信号を出力するようにしたので、デバイスの故障によるマイクロコンピュータの停止を早期に検出することができると共に、部品点数が少なくて済む効果がある。
【図面の簡単な説明】
【００３６】
【図１】この発明の実施の形態１によるマイクロコンピュータの停止検出装置を示す構成図である。
【図２】この発明の実施の形態１によるマイクロコンピュータの停止検出装置の第１のウォッチドッグタイマを示す機能ブロック図である。
【図３】この発明の実施の形態１によるマイクロコンピュータの停止検出装置の第２のウォッチドッグタイマを示す構成図である。
【図４】この発明の実施の形態１によるマイクロコンピュータの停止検出装置の各プログラムモジュールの実行を示すフローチャートである。
【図５】この発明の実施の形態１によるマイクロコンピュータの停止検出装置の正常時のＣＰＵのデバイス制御動作を示すタイミングチャートである。
【図６】この発明の実施の形態１によるマイクロコンピュータの停止検出装置の異常時のＣＰＵのデバイス制御動作を示すタイミングチャートである。
【図７】この発明の実施の形態２によるマイクロコンピュータの停止検出装置を示す構成図である。
【図８】この発明の実施の形態２によるマイクロコンピュータの停止検出装置の第２のウォッチドッグタイマを示す構成図である。
【図９】この発明の実施の形態２によるマイクロコンピュータの停止検出装置の動作を示すタイミングチャートである。
【符号の説明】
【００３７】
１  ＣＰＵ（マイクロコンピュータ）、２ａ，２ｂ  デバイス、３  第１のウォッチドッグタイマ、４ａ，４ｂ，４ｃ  第２のウォッチドッグタイマ、４０５  カウンタ、４０６，４０６ａ，４０６ｂ  検出時間保持部、４０７  比較器、４１２  切換器。
【図１】
2009003711.tif 000003
【図２】
2009003711.tif 000004
【図３】
2009003711.tif 000005
【図４】
2009003711.tif 000006
【図５】
2009003711.tif 000007
【図６】
2009003711.tif 000008
【図７】
2009003711.tif 000009
【図８】
2009003711.tif 000010
【図９】
2009003711.tif 000011