JPH05342059A - マイクロプロセッサの異常監視方法及びその実現回路 - Google Patents
マイクロプロセッサの異常監視方法及びその実現回路Info
- Publication number
- JPH05342059A JPH05342059A JP4153431A JP15343192A JPH05342059A JP H05342059 A JPH05342059 A JP H05342059A JP 4153431 A JP4153431 A JP 4153431A JP 15343192 A JP15343192 A JP 15343192A JP H05342059 A JPH05342059 A JP H05342059A
- Authority
- JP
- Japan
- Prior art keywords
- timer circuit
- signal
- output
- circuit
- time
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【目的】 簡単な構成のウォッチドッグ・タイマ回路を
提供する。 【構成】 CPU1より出力される第一及び第二の指令
信号の出力間隔の許容上限時間が規定された第一のタイ
マ回路15と、これら指令信号の繰返周期の異常下限時
間が規定された第二のタイマ回路17と、指令信号の繰
返周期の許容上限時間が規定された第三のタイマ回路1
8とを図示のように縦続し、第一の指令信号出力時に起
動する第一タイマ回路15のタイムアップ前に第二の指
令信号が出力されたときにイネーブル信号hを出力して
第二のタイマ回路17を起動し、この第二のタイマ回路
17の出力に基づいて第三のタイマ回路18を起動して
CPU1の正常状態を表す信号を出力するとともに、次
の周期のイネーブル信号h出力時点で第二のタイマ回路
17の規定時間が満了しているときは第二のタイマ回路
17を再起動して第三のタイマ回路18の規定時間を更
新する。
提供する。 【構成】 CPU1より出力される第一及び第二の指令
信号の出力間隔の許容上限時間が規定された第一のタイ
マ回路15と、これら指令信号の繰返周期の異常下限時
間が規定された第二のタイマ回路17と、指令信号の繰
返周期の許容上限時間が規定された第三のタイマ回路1
8とを図示のように縦続し、第一の指令信号出力時に起
動する第一タイマ回路15のタイムアップ前に第二の指
令信号が出力されたときにイネーブル信号hを出力して
第二のタイマ回路17を起動し、この第二のタイマ回路
17の出力に基づいて第三のタイマ回路18を起動して
CPU1の正常状態を表す信号を出力するとともに、次
の周期のイネーブル信号h出力時点で第二のタイマ回路
17の規定時間が満了しているときは第二のタイマ回路
17を再起動して第三のタイマ回路18の規定時間を更
新する。
Description
【0001】
【産業上の利用分野】本発明は、マイクロプロセッサの
異常監視方法に係り、特に、ソフトウェアの暴走を監視
するためのウォッチドッグ・タイマ機能に関する。
異常監視方法に係り、特に、ソフトウェアの暴走を監視
するためのウォッチドッグ・タイマ機能に関する。
【0002】
【従来の技術】コンピュータ装置のソフトウェア実行を
監視する手段として、従来よりウォッチドッグ・タイマ
回路(以下WDT回路と略称する)が用いられている。
監視する手段として、従来よりウォッチドッグ・タイマ
回路(以下WDT回路と略称する)が用いられている。
【0003】この回路は、ハードウェアで用意されたデ
ジタル式あるいはアナログ式のリトリガラブル・タイマ
回路に対し、ソフトウェアの実行時に一定周期のリトリ
ガ・パルスを生成して与えることによって、プログラム
の正常実行時はタイムアウトが発生しないようにしてお
き、ノイズ等の原因でプロセッサが異常動作を起こした
場合には、プログラムが暴走してこの一定周期のリトリ
ガ・パルスの生成が行われなくなることが多いことを利
用して、タイマ回路にタイムアウトを発生させ、異常を
検知するというものである。
ジタル式あるいはアナログ式のリトリガラブル・タイマ
回路に対し、ソフトウェアの実行時に一定周期のリトリ
ガ・パルスを生成して与えることによって、プログラム
の正常実行時はタイムアウトが発生しないようにしてお
き、ノイズ等の原因でプロセッサが異常動作を起こした
場合には、プログラムが暴走してこの一定周期のリトリ
ガ・パルスの生成が行われなくなることが多いことを利
用して、タイマ回路にタイムアウトを発生させ、異常を
検知するというものである。
【0004】図7は従来のWDT回路の構成図、図8は
その応用方法を示すフローチャート、図9は図7に示す
回路の動作タイミングチャートである。
その応用方法を示すフローチャート、図9は図7に示す
回路の動作タイミングチャートである。
【0005】図7に於いて、1は監視対象となるマイク
ロプロセッサ(以下CPUと称する)、70はWDT回
路、aはCPU1の出力するアドレス信号線束、bはC
PU1がデータ書込時に出力するライト信号である。ま
た、71はCPU1の出力するアドレスをデコードして
予め定められた値を検出するとセレクト信号cを出力す
るアドレスデコード回路である。更に、72はアドレス
デコード条件とCPU1のライト条件とのAND条件を
とるAND回路、kはその出力信号(トリガ信号)であ
る。73はトリガ信号kによってトリガ/リトリガされ
るデジタルまたはアナログ式のタイマ回路、jはタイマ
回路73の出力であり、異常検出結果を外部回路及びC
PU1に通知するためのタイムアウト信号である。
ロプロセッサ(以下CPUと称する)、70はWDT回
路、aはCPU1の出力するアドレス信号線束、bはC
PU1がデータ書込時に出力するライト信号である。ま
た、71はCPU1の出力するアドレスをデコードして
予め定められた値を検出するとセレクト信号cを出力す
るアドレスデコード回路である。更に、72はアドレス
デコード条件とCPU1のライト条件とのAND条件を
とるAND回路、kはその出力信号(トリガ信号)であ
る。73はトリガ信号kによってトリガ/リトリガされ
るデジタルまたはアナログ式のタイマ回路、jはタイマ
回路73の出力であり、異常検出結果を外部回路及びC
PU1に通知するためのタイムアウト信号である。
【0006】次に、図7の回路の動作について、図8,
図9を用いて説明する。
図9を用いて説明する。
【0007】図7に示す構成のWDT回路を利用する場
合、一般の制御プログラムは、概ね図8に示すような処
理フローを採るのが普通である。図8中、(a)で示すル
ープがバックグランド処理であり、通常実行すべき一般
処理がない場合には、このループを絶えず巡回してい
る。この処理内で、ポーリングや割り込み抽出等によっ
て、実行すべき別処理が検出された場合には、(b)に示
す一般処理部分が実行される。ここで、(a)のループ内
に、(c)に示すWDT回路のトリガ処理を挿入しておく
と、ある一定時間以内に必ずこのトリガ処理を実行する
ことができる。タイマ回路73には、この処理における
リトリガの時間間隔よりも十分に長い時定数を与えてお
き、リトリガが何等かの原因で時定数以内に発生しなく
なった場合に、タイムアウト信号jを発生するよう調整
する。
合、一般の制御プログラムは、概ね図8に示すような処
理フローを採るのが普通である。図8中、(a)で示すル
ープがバックグランド処理であり、通常実行すべき一般
処理がない場合には、このループを絶えず巡回してい
る。この処理内で、ポーリングや割り込み抽出等によっ
て、実行すべき別処理が検出された場合には、(b)に示
す一般処理部分が実行される。ここで、(a)のループ内
に、(c)に示すWDT回路のトリガ処理を挿入しておく
と、ある一定時間以内に必ずこのトリガ処理を実行する
ことができる。タイマ回路73には、この処理における
リトリガの時間間隔よりも十分に長い時定数を与えてお
き、リトリガが何等かの原因で時定数以内に発生しなく
なった場合に、タイムアウト信号jを発生するよう調整
する。
【0008】この場合、CPU1が正常なプログラム実
行を続ける限り、ある一定時間間隔内に必ずタイマ回路
73のリトリガがかけられるために、タイマ回路73の
出力信号jがアサートされることはない。図9のA部
は、この様子を示している。
行を続ける限り、ある一定時間間隔内に必ずタイマ回路
73のリトリガがかけられるために、タイマ回路73の
出力信号jがアサートされることはない。図9のA部
は、この様子を示している。
【0009】ところが、該CPU1の実行が外来ノイズ
他何等かの影響で通常の処理フローから逸脱し、正常な
実行が行えなくなった場合には、図8の(c)に示すリト
リガ処理を行えなくなる確率が高い。この場合には、リ
トリガ信号が予め設定された時定数時間を越えて発生し
なくなるため、タイマ回路73はタイムアップして、タ
イムアウト信号jを発生する。図9のB部は、この様子
を示している。
他何等かの影響で通常の処理フローから逸脱し、正常な
実行が行えなくなった場合には、図8の(c)に示すリト
リガ処理を行えなくなる確率が高い。この場合には、リ
トリガ信号が予め設定された時定数時間を越えて発生し
なくなるため、タイマ回路73はタイムアップして、タ
イムアウト信号jを発生する。図9のB部は、この様子
を示している。
【0010】
【発明が解決しようとする課題】上記従来のWDT回路
70は、ソフトウェアによって一定間隔でリトリガをか
けることを前提としており、プログラム実行が暴走して
トリガ処理を含むループから逸脱してしまった場合にこ
れを検出するものである。
70は、ソフトウェアによって一定間隔でリトリガをか
けることを前提としており、プログラム実行が暴走して
トリガ処理を含むループから逸脱してしまった場合にこ
れを検出するものである。
【0011】ところが、CPU1のプログラム実行を正
常に行えなくなった場合の動作については、全く予測が
つかないものであり、ある確率で、図8の処理フローか
ら逸脱して他の異常ループ、例えば「リトリガを発生す
る命令を一定周期以内に実行する別のループ」に飛び込
み、永久ループを形成してしまうこともあり得る。この
様子を図10右側のフローチャートに示す。
常に行えなくなった場合の動作については、全く予測が
つかないものであり、ある確率で、図8の処理フローか
ら逸脱して他の異常ループ、例えば「リトリガを発生す
る命令を一定周期以内に実行する別のループ」に飛び込
み、永久ループを形成してしまうこともあり得る。この
様子を図10右側のフローチャートに示す。
【0012】この場合には、プログラム実行が暴走して
いるにも拘わらず、WDT回路70ではこの異常を検出
することができない。
いるにも拘わらず、WDT回路70ではこの異常を検出
することができない。
【0013】このように、従来の方式によるWDT回路
70では、ある確率で異常検出漏れがあることが知られ
ており、これを改善して、異常検出漏れの確率をより低
くすることが試みられている。
70では、ある確率で異常検出漏れがあることが知られ
ており、これを改善して、異常検出漏れの確率をより低
くすることが試みられている。
【0014】例えば、図7の構成に係るWDT回路70
では、CPU1の出力するアドレスだけをデコードする
ものとしていたが、これにデータの条件も加えて「特定
のアドレスに対して特定のデータを書き込んだ場合に限
ってリトリガ信号を生成する」という条件に変更すれ
ば、異常の検出漏れの確率は、データのビット数に相乗
的に反比例して低下する。また、図11に示すように、
二組のアドレスデコーダ回路81,84及びAND回路
82,85を設けるとともに、タイマ回路83の前段に
RSフリップ・フロップ回路86を設け、各AND回路
82,85の出力信号e,fをこのRSフリップ・フロ
ップ86に入力してその出力をタイマ回路83へのリト
リガ信号lとすることも提案されている。特公平第3−
46854号公報には、このフリップ・フロップ回路8
6のセット処理とリセット処理とを別の命令で実行する
ようにして、リトリガ・パルスを2挙動で生成し、異常
検出漏れの確率をより低下させる例が記載されている。
では、CPU1の出力するアドレスだけをデコードする
ものとしていたが、これにデータの条件も加えて「特定
のアドレスに対して特定のデータを書き込んだ場合に限
ってリトリガ信号を生成する」という条件に変更すれ
ば、異常の検出漏れの確率は、データのビット数に相乗
的に反比例して低下する。また、図11に示すように、
二組のアドレスデコーダ回路81,84及びAND回路
82,85を設けるとともに、タイマ回路83の前段に
RSフリップ・フロップ回路86を設け、各AND回路
82,85の出力信号e,fをこのRSフリップ・フロ
ップ86に入力してその出力をタイマ回路83へのリト
リガ信号lとすることも提案されている。特公平第3−
46854号公報には、このフリップ・フロップ回路8
6のセット処理とリセット処理とを別の命令で実行する
ようにして、リトリガ・パルスを2挙動で生成し、異常
検出漏れの確率をより低下させる例が記載されている。
【0015】また、この公告公報には、トリガ信号の発
生間隔が短すぎる場合と長すぎる場合を検出して異常を
検出する手法が記載されており、特にトリガ操作の発生
間隔が短すぎる場合を検出できる点で有効な手段となっ
ている。
生間隔が短すぎる場合と長すぎる場合を検出して異常を
検出する手法が記載されており、特にトリガ操作の発生
間隔が短すぎる場合を検出できる点で有効な手段となっ
ている。
【0016】ところが、この公告公報記載の例では、R
Sフリップ・フロップ回路86のセット操作及びリセッ
ト操作をペアで行う周期が短すぎたり長すぎたりするこ
とを検出できるが、セット操作が行われてからリセット
操作が行われるまでの間隔を監視していない。このた
め、何等かの異常により、セット操作からリセット操作
までの処理が長引き、しかもこれらペアの操作の繰り返
し周期が一定時間に繰り返される場合には、これを異常
として捉えることができない問題があった。図12はこ
の場合を図示したものであり、この例では、セット操作
とリセット操作が繰り返して実行される周期をT、これ
ら操作が正常に行われている場合の時間間隔をτ、異常
に伸びてしまった場合の間隔をτ’として表している。
Sフリップ・フロップ回路86のセット操作及びリセッ
ト操作をペアで行う周期が短すぎたり長すぎたりするこ
とを検出できるが、セット操作が行われてからリセット
操作が行われるまでの間隔を監視していない。このた
め、何等かの異常により、セット操作からリセット操作
までの処理が長引き、しかもこれらペアの操作の繰り返
し周期が一定時間に繰り返される場合には、これを異常
として捉えることができない問題があった。図12はこ
の場合を図示したものであり、この例では、セット操作
とリセット操作が繰り返して実行される周期をT、これ
ら操作が正常に行われている場合の時間間隔をτ、異常
に伸びてしまった場合の間隔をτ’として表している。
【0017】また、この公告公報には、トリガ信号の発
生間隔が短すぎる場合と長すぎる場合をカウンタを利用
して検出する例が示されている。この例は、完全なディ
ジタル化が図れるという面では有効であるが、ハードウ
ェア量が比較的大きくなり、また、システムのクロック
が停止してしまった場合には、これを異常として検出で
きないという欠点があった。
生間隔が短すぎる場合と長すぎる場合をカウンタを利用
して検出する例が示されている。この例は、完全なディ
ジタル化が図れるという面では有効であるが、ハードウ
ェア量が比較的大きくなり、また、システムのクロック
が停止してしまった場合には、これを異常として検出で
きないという欠点があった。
【0018】本発明は、かかる背景の下になされたもの
で、その目的とするところは、システムクロックの停止
に拘わらず、簡単なハードウエアによりCPUの異常監
視を行い得る方法を提供することにある。
で、その目的とするところは、システムクロックの停止
に拘わらず、簡単なハードウエアによりCPUの異常監
視を行い得る方法を提供することにある。
【0019】本発明の他の目的は、上記方法を実現すW
DT回路を提供することにある。
DT回路を提供することにある。
【0020】
【課題を解決するための手段】本発明では、第一及び第
二の指令信号をこの順に所定間隔で繰り返し出力するC
PUの異常監視方法において、連続する第一及び第二の
指令信号の出力間隔の許容上限時間が規定された第一の
タイマ回路と、前記指令信号の繰返周期の異常下限時間
が規定された第二のタイマ回路と、前記指令信号の繰返
周期の許容上限時間が規定された第三のタイマ回路とを
少なくともこの順に縦続し、前記CPUが第一の指令信
号を出力した時点で第一のタイマ回路を起動し、その起
動中に第二の指令信号が出力されたときにイネーブル信
号を出力して第二のタイマ回路の起動を許容し、更に、
この第二のタイマ回路の出力に基づいて第三のタイマ回
路を起動してCPUの正常状態を表す信号を出力すると
ともに、次の周期のイネーブル信号出力時点で第二のタ
イマ回路の規定時間が満了しているときは第二のタイマ
回路を再起動して第三のタイマ回路の規定時間を更新す
るようにした。
二の指令信号をこの順に所定間隔で繰り返し出力するC
PUの異常監視方法において、連続する第一及び第二の
指令信号の出力間隔の許容上限時間が規定された第一の
タイマ回路と、前記指令信号の繰返周期の異常下限時間
が規定された第二のタイマ回路と、前記指令信号の繰返
周期の許容上限時間が規定された第三のタイマ回路とを
少なくともこの順に縦続し、前記CPUが第一の指令信
号を出力した時点で第一のタイマ回路を起動し、その起
動中に第二の指令信号が出力されたときにイネーブル信
号を出力して第二のタイマ回路の起動を許容し、更に、
この第二のタイマ回路の出力に基づいて第三のタイマ回
路を起動してCPUの正常状態を表す信号を出力すると
ともに、次の周期のイネーブル信号出力時点で第二のタ
イマ回路の規定時間が満了しているときは第二のタイマ
回路を再起動して第三のタイマ回路の規定時間を更新す
るようにした。
【0021】この方法はWDT回路を以下の構成にする
ことで実現可能となる。
ことで実現可能となる。
【0022】即ち、前記第一の指令信号の出力タイミン
グに同期した第一のパルス信号を生成する第一のパルス
生成手段と、前記第二の指令信号の出力タイミングに同
期した第二のパルス信号を生成する第二のパルス生成手
段と、第一のパルス信号により起動し、連続する第一及
び第二の指令信号の出力間隔の許容上限時間が規定され
た第一のタイマ回路と、第一のタイマ回路の起動中に第
二のパルス信号が入力されたときにイネーブル信号を出
力する第三のパルス生成手段と、このイネーブル信号の
入力により起動し、予め規定された前記指令信号の繰返
周期の異常下限時間経過後に次のイネーブル信号が入力
されたときは再起動するとともに、該規定時間内にイネ
ーブル信号が入力されたときは当該規定時間を更新する
第二のタイマ回路と、第二のタイマ回路の起動に伴って
起動し、予め規定された前記指令信号の繰返周期の許容
上限時間内に前記第二のタイマ回路が再起動したときは
当該規定時間を更新する第三のタイマ回路とを少なくと
も設け、この第三のタイマ回路から出力される監視信号
のレベルに基づいてCPUの異常監視を行う。
グに同期した第一のパルス信号を生成する第一のパルス
生成手段と、前記第二の指令信号の出力タイミングに同
期した第二のパルス信号を生成する第二のパルス生成手
段と、第一のパルス信号により起動し、連続する第一及
び第二の指令信号の出力間隔の許容上限時間が規定され
た第一のタイマ回路と、第一のタイマ回路の起動中に第
二のパルス信号が入力されたときにイネーブル信号を出
力する第三のパルス生成手段と、このイネーブル信号の
入力により起動し、予め規定された前記指令信号の繰返
周期の異常下限時間経過後に次のイネーブル信号が入力
されたときは再起動するとともに、該規定時間内にイネ
ーブル信号が入力されたときは当該規定時間を更新する
第二のタイマ回路と、第二のタイマ回路の起動に伴って
起動し、予め規定された前記指令信号の繰返周期の許容
上限時間内に前記第二のタイマ回路が再起動したときは
当該規定時間を更新する第三のタイマ回路とを少なくと
も設け、この第三のタイマ回路から出力される監視信号
のレベルに基づいてCPUの異常監視を行う。
【0023】
【作用】CPUが第一の指令信号を出力した時点で第一
のタイマ回路が起動する。その起動中に第二の指令信号
が出力されたときはこれら指令信号が正常間隔であるこ
とになるのでイネーブル信号が出力される。このイネー
ブル信号の入力により第二のタイマ回路の起動が許容さ
れ、これに伴い第三のタイマ回路も起動されて監視信号
がCPUの正常状態を表すレベルとなる。ここで、次の
周期のイネーブル信号出力時点で第二のタイマ回路の規
定時間が満了しているときは少なくとも繰返周期の異常
下限時間を超えているので正常状態を意味する。そこで
このときは第三のタイマ回路の規定時間を更新する。こ
れにより監視信号は正常状態のレベルを保持する。
のタイマ回路が起動する。その起動中に第二の指令信号
が出力されたときはこれら指令信号が正常間隔であるこ
とになるのでイネーブル信号が出力される。このイネー
ブル信号の入力により第二のタイマ回路の起動が許容さ
れ、これに伴い第三のタイマ回路も起動されて監視信号
がCPUの正常状態を表すレベルとなる。ここで、次の
周期のイネーブル信号出力時点で第二のタイマ回路の規
定時間が満了しているときは少なくとも繰返周期の異常
下限時間を超えているので正常状態を意味する。そこで
このときは第三のタイマ回路の規定時間を更新する。こ
れにより監視信号は正常状態のレベルを保持する。
【0024】他方、指令信号の間隔が許容上限時間を超
えるときはイネーブル信号が出力されないので、第二及
び第三のタイマ回路はタイムアップする。また、指令信
号間隔は正常だが繰返周期が異常に短いときは第二のタ
イマ回路が再起動しないので、第三のタイマ回路はタイ
ムアップする。更に繰返周期が異常に長く、第三のタイ
マ回路の規定時間内に第二のタイマ回路が再起動しない
ときは第三のタイマ回路がタイムアップする。これによ
り監視信号は正常状態を表すレベルを保持できなくな
り、異常が検出される。
えるときはイネーブル信号が出力されないので、第二及
び第三のタイマ回路はタイムアップする。また、指令信
号間隔は正常だが繰返周期が異常に短いときは第二のタ
イマ回路が再起動しないので、第三のタイマ回路はタイ
ムアップする。更に繰返周期が異常に長く、第三のタイ
マ回路の規定時間内に第二のタイマ回路が再起動しない
ときは第三のタイマ回路がタイムアップする。これによ
り監視信号は正常状態を表すレベルを保持できなくな
り、異常が検出される。
【0025】
【実施例】以下、本発明の実施例を図面を参照して説明
する。
する。
【0026】図1に、本発明によるWDT回路の実施例
を示す。この図に於いて、1は第一の指令信号と第二の
指令信号を所定間隔で繰り返し出力するCPU、10は
本発明によるWDT回路である。aはCPU1の出力す
るアドレス信号線束、bはCPU1がデータの書き込み
時に出力するライト信号(第一及び第二の指令信号)で
ある。11,12は第一及び第二のアドレスデコード回
路で、CPU1の出力するアドレスをデコードして予め
定められた値を検出したときに夫々セレクト信号c、d
を出力する。また、13,14はアドレス・デコード条
件とCPU1のライト条件とのAND条件をとる第一及
び第二のAND回路、e,fはその出力信号である。第
一のAND回路13の出力信号eはCPU1からの第一
の指令信号出力タイミングに同期し、他方、第二のAN
D回路14の出力信号fは第二の指令信号出力タイミン
グに同期する。
を示す。この図に於いて、1は第一の指令信号と第二の
指令信号を所定間隔で繰り返し出力するCPU、10は
本発明によるWDT回路である。aはCPU1の出力す
るアドレス信号線束、bはCPU1がデータの書き込み
時に出力するライト信号(第一及び第二の指令信号)で
ある。11,12は第一及び第二のアドレスデコード回
路で、CPU1の出力するアドレスをデコードして予め
定められた値を検出したときに夫々セレクト信号c、d
を出力する。また、13,14はアドレス・デコード条
件とCPU1のライト条件とのAND条件をとる第一及
び第二のAND回路、e,fはその出力信号である。第
一のAND回路13の出力信号eはCPU1からの第一
の指令信号出力タイミングに同期し、他方、第二のAN
D回路14の出力信号fは第二の指令信号出力タイミン
グに同期する。
【0027】更に、15は信号eの立ち上がりエッジで
トリガを受けるリトリガラブルな第一のタイマ回路であ
り、第一及び第二の指令信号の出力間隔の許容上限時間
が規定されている。g信号はその出力信号である。16
は信号g,fのイネーブル条件をとるAND回路であ
り、hはその出力信号、即ちイネーブル信号である。1
7は信号hの立ち上がりエッジでトリガを受けるリトリ
ガラブルな第二のタイマ回路で、前記指令信号の繰返周
期の異常下限時間が規定されている。i信号はその出力
信号である。また、18は信号iの立ち上がりエッジで
トリガを受けるリトリガラブルな第三のタイマ回路で、
指令信号の繰返周期の許容上限時間が規定されている。
j信号はその出力信号である。この信号jは最終的な異
常発生の有無を表す監視信号となる。
トリガを受けるリトリガラブルな第一のタイマ回路であ
り、第一及び第二の指令信号の出力間隔の許容上限時間
が規定されている。g信号はその出力信号である。16
は信号g,fのイネーブル条件をとるAND回路であ
り、hはその出力信号、即ちイネーブル信号である。1
7は信号hの立ち上がりエッジでトリガを受けるリトリ
ガラブルな第二のタイマ回路で、前記指令信号の繰返周
期の異常下限時間が規定されている。i信号はその出力
信号である。また、18は信号iの立ち上がりエッジで
トリガを受けるリトリガラブルな第三のタイマ回路で、
指令信号の繰返周期の許容上限時間が規定されている。
j信号はその出力信号である。この信号jは最終的な異
常発生の有無を表す監視信号となる。
【0028】因みに、本図に示すa〜iの各信号は、H
レベルを「真」とする正論理で動作しているものとす
る。また、j信号は、Hレベルで「正常」、Lレベルで
「異常」を示すものとする。
レベルを「真」とする正論理で動作しているものとす
る。また、j信号は、Hレベルで「正常」、Lレベルで
「異常」を示すものとする。
【0029】次に、上記構成による処理手順を図2のフ
ローチャートの形で説明する。図2に示す処理手順は、
基本的には図8の従来方式の場合と同様であるが、タイ
マ回路にトリガをかける(c)の処理が(c-1)(c-2)の2挙
動で行われる点が異なっている。即ち、トリガパルス発
生のイネーブル条件を発生させる処理(以下操作1と称
する)(c-1)と第三のタイマ回路18に与えるトリガを
発生させる処理(以下操作2と称する)(c-2)をこの順
に実行する。
ローチャートの形で説明する。図2に示す処理手順は、
基本的には図8の従来方式の場合と同様であるが、タイ
マ回路にトリガをかける(c)の処理が(c-1)(c-2)の2挙
動で行われる点が異なっている。即ち、トリガパルス発
生のイネーブル条件を発生させる処理(以下操作1と称
する)(c-1)と第三のタイマ回路18に与えるトリガを
発生させる処理(以下操作2と称する)(c-2)をこの順
に実行する。
【0030】図2に於いて、(a)に示すループがバック
グランド処理であり、通常実行すべき一般処理がない場
合には、このループを絶えず巡回している。この処理内
で、ポーリングや割り込み抽出等によって、実行すべき
別処理が検出された場合には、(b)に示す一般処理部分
が実行される。ここで、(a)のループ内に(c-1)(操作
1)、(3)b(操作2)に示すようなWDT回路のトリ
ガ処理を挿入しておくと、ある一定時間以内に必ずこの
トリガ処理を実行することができる。
グランド処理であり、通常実行すべき一般処理がない場
合には、このループを絶えず巡回している。この処理内
で、ポーリングや割り込み抽出等によって、実行すべき
別処理が検出された場合には、(b)に示す一般処理部分
が実行される。ここで、(a)のループ内に(c-1)(操作
1)、(3)b(操作2)に示すようなWDT回路のトリ
ガ処理を挿入しておくと、ある一定時間以内に必ずこの
トリガ処理を実行することができる。
【0031】ここで、第一のタイマ回路15における許
容上限時間として、操作1が行われてから操作2が終了
する時間以上で、かつあまり長すぎない時定数を規定し
ておく。また、第二のタイマ回路17に規定する異常下
限時間として、操作1と操作2が繰り返される周期より
も、ある程度短い時定数を規定しておく。更に、第三の
タイマ回路18の許容上限時間として、操作1と操作2
が繰り返される周期よりも、十分に長い時定数を規定し
ておく。
容上限時間として、操作1が行われてから操作2が終了
する時間以上で、かつあまり長すぎない時定数を規定し
ておく。また、第二のタイマ回路17に規定する異常下
限時間として、操作1と操作2が繰り返される周期より
も、ある程度短い時定数を規定しておく。更に、第三の
タイマ回路18の許容上限時間として、操作1と操作2
が繰り返される周期よりも、十分に長い時定数を規定し
ておく。
【0032】上記のような条件を満たすように図1の回
路を使用した場合、どのような動作が行われるかについ
て、図3〜図6のタイムチャートを用いて説明する。
路を使用した場合、どのような動作が行われるかについ
て、図3〜図6のタイムチャートを用いて説明する。
【0033】図3は、監視を受けるCPU1が、図2に
示すフローチャートの実行を正常に継続している場合の
動作タイムチャートである。図中(1)〜(9)は以下の処理
手順を表す。
示すフローチャートの実行を正常に継続している場合の
動作タイムチャートである。図中(1)〜(9)は以下の処理
手順を表す。
【0034】(1) 操作1によって、第一のアドレスデコ
ーダ回路11でアドレス条件の一致が検出され、他方、
CPU1からはライト信号が生成されるので、AND回
路13より第一の指令信号と同期した信号eがアサート
される。
ーダ回路11でアドレス条件の一致が検出され、他方、
CPU1からはライト信号が生成されるので、AND回
路13より第一の指令信号と同期した信号eがアサート
される。
【0035】(2) この信号eがアサートされることによ
って第一のタイマ回路15に起動がかけられ、その出力
信号gは、操作2が実行完了するまでの時間を越えてア
サートされる。
って第一のタイマ回路15に起動がかけられ、その出力
信号gは、操作2が実行完了するまでの時間を越えてア
サートされる。
【0036】(3) 操作2によって、アドレスデコーダ回
路12でアドレス条件の一致が検出され、CPU1から
はライト信号が生成されるので、AND回路14から第
二の指令信号と同期した信号fがアサートされる。
路12でアドレス条件の一致が検出され、CPU1から
はライト信号が生成されるので、AND回路14から第
二の指令信号と同期した信号fがアサートされる。
【0037】(4) この信号fは、信号gがアサートされ
ている間にアサートされるので、AND回路16よりイ
ネーブル信号hがアサートされる。
ている間にアサートされるので、AND回路16よりイ
ネーブル信号hがアサートされる。
【0038】(5) イネーブル信号hがアサートされるこ
とによって、第二のタイマ回路17に起動がかけられ、
信号iがアサートされる。
とによって、第二のタイマ回路17に起動がかけられ、
信号iがアサートされる。
【0039】(6) 信号iがアサートされる信号エッジに
よって、第三のタイマ回路18に起動がかけられ、監視
信号jが「正常」レベルを出力する。
よって、第三のタイマ回路18に起動がかけられ、監視
信号jが「正常」レベルを出力する。
【0040】(7) 操作1と操作2が正常の間隔で行われ
た場合、イネーブル信号hは正常に出力される。
た場合、イネーブル信号hは正常に出力される。
【0041】(8) また、操作1と操作2のペアが、正常
な繰返周期で行われた場合、第二のタイマ回路17の出
力信号iは、自動的にネゲートされる。
な繰返周期で行われた場合、第二のタイマ回路17の出
力信号iは、自動的にネゲートされる。
【0042】(9) 信号iが一旦ネゲートされて、イネー
ブル信号hによって再度アサートされることによって、
信号エッジが発生するので、第三のタイマ回路18は、
リトリガを受け、「正常」レベルの監視信号jを出力し
続ける。この場合は、異常がないものとしてCPU1は
処理を続行する。
ブル信号hによって再度アサートされることによって、
信号エッジが発生するので、第三のタイマ回路18は、
リトリガを受け、「正常」レベルの監視信号jを出力し
続ける。この場合は、異常がないものとしてCPU1は
処理を続行する。
【0043】次に、図4に、本回路が異常を検出する第
1の例を示す。これは、操作1が行われてから、操作2
が行われるまでの時間間隔は正常であるが、次の操作ペ
アが行われるまでの繰返周期が異常に伸びてしまった場
合を表す。この場合の動作を図中の(1)〜(9)に対応して
説明する。
1の例を示す。これは、操作1が行われてから、操作2
が行われるまでの時間間隔は正常であるが、次の操作ペ
アが行われるまでの繰返周期が異常に伸びてしまった場
合を表す。この場合の動作を図中の(1)〜(9)に対応して
説明する。
【0044】(1)〜(6)までは前述の正常な場合と同様で
ある。
ある。
【0045】(7) 操作1と操作2が正常の間隔で実行さ
れた場合、イネーブル信号hは正常に出力される。
れた場合、イネーブル信号hは正常に出力される。
【0046】(8) 操作1と操作2のペアが正常な繰返周
期で行われず、異常に遅れて実行された(あるいは、全
く実行されなかった)場合であっても、第二のタイマ回
路17の出力信号iは、それまでに自動的にネゲートさ
れているので、イネーブル信号hによって、再度信号i
がアサートされる。
期で行われず、異常に遅れて実行された(あるいは、全
く実行されなかった)場合であっても、第二のタイマ回
路17の出力信号iは、それまでに自動的にネゲートさ
れているので、イネーブル信号hによって、再度信号i
がアサートされる。
【0047】(9) しかし、信号iが一旦ネゲートされ
て、再度アサートされるまでの時間(同図ア部)が異常
に長いことによって、第三のタイマ回路18はタイムア
ップする以前にリトリガを受けられず、タイムアップを
発生し、「異常」レベルの監視信号jを出力する。これ
により繰返周期の異常が検出される。
て、再度アサートされるまでの時間(同図ア部)が異常
に長いことによって、第三のタイマ回路18はタイムア
ップする以前にリトリガを受けられず、タイムアップを
発生し、「異常」レベルの監視信号jを出力する。これ
により繰返周期の異常が検出される。
【0048】次に、図5に、本回路が異常を検出する第
2の例を示す。これは、操作1が行われてから、操作2
が行われるまでの間隔は正常であるが、次の操作ペアが
行われるまでの周期が異常に短くなってしまった場合で
ある。この場合の動作を図中の(1)〜(9)に対応して説明
する。
2の例を示す。これは、操作1が行われてから、操作2
が行われるまでの間隔は正常であるが、次の操作ペアが
行われるまでの周期が異常に短くなってしまった場合で
ある。この場合の動作を図中の(1)〜(9)に対応して説明
する。
【0049】(1)〜(6)までは前述の正常な場合と同様で
ある。
ある。
【0050】(7)操作1と操作2が正常の間隔で実行さ
れた場合、イネーブル信号hは正常に出力される。
れた場合、イネーブル信号hは正常に出力される。
【0051】(8)操作1と操作2のペアが異常に接近し
て実行された場合(同図イ部)には、第二のタイマ回路
17は、出力信号iがネゲートされる以前に再度リトリ
ガを受けることになり、信号iはアサートされたままに
なる。
て実行された場合(同図イ部)には、第二のタイマ回路
17は、出力信号iがネゲートされる以前に再度リトリ
ガを受けることになり、信号iはアサートされたままに
なる。
【0052】(9) このため、信号iには、第三のタイマ
回路18をリトリガするためのエッジがなくなり、第三
のタイマ回路18はタイムアップを発生して、「異常」
レベルの監視信号jを出力する。これにより繰返周期の
異常が検出される。
回路18をリトリガするためのエッジがなくなり、第三
のタイマ回路18はタイムアップを発生して、「異常」
レベルの監視信号jを出力する。これにより繰返周期の
異常が検出される。
【0053】次に、図6に、本回路が異常を検出する第
3の例を示す。これは、操作1が行われてから、操作2
が行われるまでの時間間隔が異常に伸びてしまった場合
である。この場合の動作を図中の(1)〜(10)に対応して
説明する。
3の例を示す。これは、操作1が行われてから、操作2
が行われるまでの時間間隔が異常に伸びてしまった場合
である。この場合の動作を図中の(1)〜(10)に対応して
説明する。
【0054】(1)〜(6)までは前述の正常な場合と同様で
ある。
ある。
【0055】(7) 操作1により第一のタイマ回路15が
起動し、信号gが一定時間アサートされる。
起動し、信号gが一定時間アサートされる。
【0056】(8) ところが、操作2が異常に遅れて実行
された(同図ウ部)場合、あるいは、全く実行されなく
なった場合には、第一のタイマ回路15の出力信号gが
アサートされている間に、操作2による信号fが発生し
ないので、AND回路16はイネーブル信号hをアサー
トしない。
された(同図ウ部)場合、あるいは、全く実行されなく
なった場合には、第一のタイマ回路15の出力信号gが
アサートされている間に、操作2による信号fが発生し
ないので、AND回路16はイネーブル信号hをアサー
トしない。
【0057】(9) このため、第二のタイマ回路17が再
起動せず、出力信号iはネゲートされたままになる。
起動せず、出力信号iはネゲートされたままになる。
【0058】(10) このため、第三のタイマ回路18は
信号iによるリトリガの供給を受けることがなくなり、
タイムアップを発生して、「異常」レベルの監視信号j
を出力する。これにより、操作1と操作2との間隔異常
が検出される。
信号iによるリトリガの供給を受けることがなくなり、
タイムアップを発生して、「異常」レベルの監視信号j
を出力する。これにより、操作1と操作2との間隔異常
が検出される。
【0059】なお、図1に示す各タイマ回路15,1
7,18は、クロックを利用した純粋なディジタル式の
タイマ回路でも、ワンショット・モノマルチ・バイブレ
ータを用いた半アナログ式の回路でも実現することがで
きる。
7,18は、クロックを利用した純粋なディジタル式の
タイマ回路でも、ワンショット・モノマルチ・バイブレ
ータを用いた半アナログ式の回路でも実現することがで
きる。
【0060】クロックを利用した純粋なディジタル式の
タイマ回路で実現する場合は、回路は若干複雑化する
が、CPUの動作クロックと、検出タイマ用のクロック
を分離しておけば、CPU用のクロックが停止したとい
う異常状態をも検出することができる。
タイマ回路で実現する場合は、回路は若干複雑化する
が、CPUの動作クロックと、検出タイマ用のクロック
を分離しておけば、CPU用のクロックが停止したとい
う異常状態をも検出することができる。
【0061】他方、ワンショット・モノマルチ・バイブ
レータを用いた半アナログ式の回路を用いる場合には、
非常に簡単な回路にて実現可能であり、かつCPUの動
作クロックが停止してしまったようなハードウェアの異
常についても検出できるという利点がある。
レータを用いた半アナログ式の回路を用いる場合には、
非常に簡単な回路にて実現可能であり、かつCPUの動
作クロックが停止してしまったようなハードウェアの異
常についても検出できるという利点がある。
【0062】
【発明の効果】以上の説明から明らかなように、本発明
によれば、次の3種類の異常に対して、その検出を行う
ことが可能となり、従来からのWDT回路の宿命であっ
た異常検出漏れを未然に防止あるいは抑制することがで
きる。
によれば、次の3種類の異常に対して、その検出を行う
ことが可能となり、従来からのWDT回路の宿命であっ
た異常検出漏れを未然に防止あるいは抑制することがで
きる。
【0063】(1)第一及び第二の指令信号の出力間隔は
正常であるが、次の周期の指令信号が出力されるまでの
時間が異常に長い場合。
正常であるが、次の周期の指令信号が出力されるまでの
時間が異常に長い場合。
【0064】(2)第一及び第二の指令信号の出力間隔は
正常であるが、次の周期の指令信号が出力されるまでの
時間が異常に短い場合。
正常であるが、次の周期の指令信号が出力されるまでの
時間が異常に短い場合。
【0065】(3)第一及び第二の指令信号の出力間隔
が異常の場合。
が異常の場合。
【0066】特に、2挙動方式を使用してトリガパルス
を作り出す場合の従来の欠点(2挙動の間の間隔が伸び
てしまった場合に検出不可能)も解消されるので、異常
検出漏れの確率が非常に小さくなる。
を作り出す場合の従来の欠点(2挙動の間の間隔が伸び
てしまった場合に検出不可能)も解消されるので、異常
検出漏れの確率が非常に小さくなる。
【0067】また、各タイマ回路は簡易なハードウエア
で実現することができ、しかも、CPUのクロック停止
のような異常状態をも検出することができる。
で実現することができ、しかも、CPUのクロック停止
のような異常状態をも検出することができる。
【0068】これにより、簡単なハードウエアによりC
PUの異常監視を高信頼性の下に行い得る方法及びこれ
を実現するWDT回路を提供することができる。
PUの異常監視を高信頼性の下に行い得る方法及びこれ
を実現するWDT回路を提供することができる。
【図1】本発明の一実施例に係るWDT回路の構成図。
【図2】本実施例のWDT回路の動作を表すフローチャ
ート。
ート。
【図3】本実施例のWDT回路の正常状態の動作タイミ
ング図。
ング図。
【図4】本実施例のWDT回路の異常状態(周期異常)
の動作タイミング図。
の動作タイミング図。
【図5】本実施例のWDT回路の異常状態(周期異常)
の動作タイミング図。
の動作タイミング図。
【図6】本実施例のWDT回路の異常状態(間隔異常)
の動作タイミング図。
の動作タイミング図。
【図7】従来のWDT回路の構成図。
【図8】従来のWDT回路の動作を表すフローチャー
ト。
ト。
【図9】従来のWDT回路の動作タイミング図。
【図10】従来のWDT回路の異常状態を説明するフロ
ーチャート。
ーチャート。
【図11】従来の2挙動式のWDT回路の構成図。
【図12】従来の2挙動式のWDT回路の動作タイミン
グ図。
グ図。
1…CPU(マイクロプロセッサ) 10,70,80…WDT回路(ウォッチドッグ・タイ
マ回路) 11,12,71,81,84…アドレスデコード回路 13,14,16,72,82,85…AND回路 15,16,17,73,83…タイマ回路 e…第一の指令信号と同期したパルス信号 f…第二の指令信号と同期したパルス信号 h…イネーブル信号 j…監視信号
マ回路) 11,12,71,81,84…アドレスデコード回路 13,14,16,72,82,85…AND回路 15,16,17,73,83…タイマ回路 e…第一の指令信号と同期したパルス信号 f…第二の指令信号と同期したパルス信号 h…イネーブル信号 j…監視信号
Claims (2)
- 【請求項1】 第一及び第二の指令信号をこの順に所定
間隔で繰り返し出力するマイクロプロセッサの異常監視
方法において、 連続する第一及び第二の指令信号の出力間隔の許容上限
時間が規定された第一のタイマ回路と、前記指令信号の
繰返周期の異常下限時間が規定された第二のタイマ回路
と、前記指令信号の繰返周期の許容上限時間が規定され
た第三のタイマ回路とを少なくともこの順に縦続し、 前記マイクロプロセッサが第一の指令信号を出力した時
点で第一のタイマ回路を起動し、その起動中に第二の指
令信号が出力されたときにイネーブル信号を出力して第
二のタイマ回路の起動を許容し、更に、この第二のタイ
マ回路の出力に基づいて第三のタイマ回路を起動してマ
イクロプロセッサの正常状態を表す信号を出力するとと
もに、次の周期のイネーブル信号出力時点で第二のタイ
マ回路の規定時間が満了しているときは第二のタイマ回
路を再起動して第三のタイマ回路の規定時間を更新し、
前記正常状態を表す信号の出力を継続するようにしたこ
とを特徴とするマイクロプロセッサの異常監視方法。 - 【請求項2】 請求項1記載の異常監視方法を実現する
ウォッチドッグ・タイマ回路であって、前記第一の指令
信号の出力タイミングに同期した第一のパルス信号を生
成する第一のパルス生成手段と、 前記第二の指令信号の出力タイミングに同期した第二の
パルス信号を生成する第二のパルス生成手段と、 第一のパルス信号入力により起動し、連続する第一及び
第二の指令信号の出力間隔の許容上限時間が規定された
第一のタイマ回路と、 第一のタイマ回路の起動中に第二のパルス信号が入力さ
れたときにイネーブル信号を出力する第三のパルス生成
手段と、 このイネーブル信号入力により起動し、予め規定された
前記指令信号の繰返周期の異常下限時間経過後に次のイ
ネーブル信号が入力されたときは再起動するとともに、
該規定時間内にイネーブル信号が入力されたときは当該
規定時間を更新する第二のタイマ回路と、 第二のタイマ回路の起動に伴い起動して正常状態を表す
信号を出力するとともに、予め規定された前記指令信号
の繰返周期の許容上限時間内に前記第二のタイマ回路が
再起動したときは当該規定時間を更新する第三のタイマ
回路とを有し、この第三のタイマ回路の出力信号を前記
マイクロプロセッサの異常監視を行う監視信号としたこ
とを特徴とするウォッチドッグ・タイマ回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4153431A JPH05342059A (ja) | 1992-06-12 | 1992-06-12 | マイクロプロセッサの異常監視方法及びその実現回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4153431A JPH05342059A (ja) | 1992-06-12 | 1992-06-12 | マイクロプロセッサの異常監視方法及びその実現回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05342059A true JPH05342059A (ja) | 1993-12-24 |
Family
ID=15562372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4153431A Pending JPH05342059A (ja) | 1992-06-12 | 1992-06-12 | マイクロプロセッサの異常監視方法及びその実現回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05342059A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013178648A (ja) * | 2012-02-28 | 2013-09-09 | Fuji Electric Co Ltd | 安全制御装置 |
-
1992
- 1992-06-12 JP JP4153431A patent/JPH05342059A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013178648A (ja) * | 2012-02-28 | 2013-09-09 | Fuji Electric Co Ltd | 安全制御装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8271770B2 (en) | Computer motherboard with automatically adjusted hardware parameter value | |
US20170344052A1 (en) | Dual window watchdog timer | |
US9697065B1 (en) | Systems and methods for managing reset | |
US8245075B2 (en) | Overclocking CPU with stepwise increase in frequency by BIOS gaining control upon interrupt generated at predetermined intervals | |
JPH05342059A (ja) | マイクロプロセッサの異常監視方法及びその実現回路 | |
JPH11259340A (ja) | コンピュータの再起動制御回路 | |
JP2005092430A (ja) | ウォッチドッグタイマ | |
JP3137025B2 (ja) | データ処理システムの暴走検出方法 | |
JP4083954B2 (ja) | 異常監視装置及び異常監視方法 | |
JPH033041A (ja) | タイムアウト監視回路 | |
JPH064318A (ja) | エラー検出方式 | |
JPS60126742A (ja) | 情報処理装置の起動監視方式 | |
JPH01245322A (ja) | マイクロプロセッサの停電制御回路 | |
JPH09198280A (ja) | システム監視用パルス生成方法および監視用パルス生成機能を備えたリアルタイム・オペレーティングシステム | |
JPH04182743A (ja) | マイクロプロセッサの再起動方法 | |
JPH05324416A (ja) | システムエラーヒストリー退避方式 | |
JP2000035903A (ja) | マイクロコンピュータの暴走監視装置 | |
JPH04225411A (ja) | リセット回路 | |
JPH0764675A (ja) | マイクロコンピュ−タのリセット回路 | |
JP2000330798A (ja) | 割込制御装置および割込制御検証方法 | |
JPS63268044A (ja) | ウオツチ・ドツグ・タイマ | |
JPS59148961A (ja) | プロセツサの動作監視方式 | |
JPH03208137A (ja) | 制御用マイクロコンピュータの異常検知方式 | |
JPH0477935A (ja) | 故障検出回路 | |
JPH0444132A (ja) | 暴走検知回路及び暴走検知方式 |