JP2005092430A - Watchdog timer - Google Patents
Watchdog timerInfo
- Publication number
- JP2005092430A JP2005092430A JP2003323197A JP2003323197A JP2005092430A JP 2005092430 A JP2005092430 A JP 2005092430A JP 2003323197 A JP2003323197 A JP 2003323197A JP 2003323197 A JP2003323197 A JP 2003323197A JP 2005092430 A JP2005092430 A JP 2005092430A
- Authority
- JP
- Japan
- Prior art keywords
- runaway
- latch circuit
- clear
- processing unit
- input
- 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.)
- Granted
Links
- 238000012544 monitoring process Methods 0.000 claims description 23
- 101100328360 Schizosaccharomyces pombe (strain 972 / ATCC 24843) clr1 gene Proteins 0.000 abstract description 8
- 101100328361 Schizosaccharomyces pombe (strain 972 / ATCC 24843) clr2 gene Proteins 0.000 abstract description 8
- 238000001514 detection method Methods 0.000 abstract description 7
- 101000994667 Homo sapiens Potassium voltage-gated channel subfamily KQT member 2 Proteins 0.000 description 13
- 102100034354 Potassium voltage-gated channel subfamily KQT member 2 Human genes 0.000 description 13
- 230000010365 information processing Effects 0.000 description 7
- 238000000034 method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- -1 ENB2 Proteins 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は、ウォッチドッグタイマに関するものであり、特に、単一のカウンタによって複数の処理部のいずれかが暴走したことを検出可能であるにも拘わらず、暴走後に、いずれの処理部が暴走したかを特定可能なウォッチドッグタイマに関するものである。 The present invention relates to a watchdog timer, and in particular, any one of a plurality of processing units has runaway after a runaway although a single counter can detect that any of a plurality of processing units has runaway. This is related to a watchdog timer that can specify this.
従来から、正常に動作し続けることが強く要求されるシステム(例えば、制御システムなど)では、例えば、暴走からの復帰処理を行い、正常に動作し続けるために、プログラムの暴走を検出するウォッチドッグタイマを有する情報処理装置が広く使用されている。 Conventionally, in a system (for example, a control system) that is strongly required to continue to operate normally, for example, a watchdog that detects a program runaway in order to perform a return process from the runaway and continue operating normally. Information processing apparatuses having a timer are widely used.
図3に示すように、当該ウォッチドッグタイマ114では、カウンタ131が予め定められた時間間隔で自らのカウント値C131をカウントアップしており、比較器133は、当該カウント値C131と、時間設定レジスタ132に予め格納されたカウント値C132とを比較することによって、カウンタ131が前回リセットされてから、上記カウント値C132に対応するタイムアップ時間が経過したか否かを判定し、タイムアップ時間が経過した場合は、NMI(ノン・マスカブル・インタラプト)信号を、図示しないCPUへ出力する。
As shown in FIG. 3, in the
ここで、上記CPUによって実行されるプログラムαは、正常に動作している間中、上記タイムアップ時間よりも短い時間でクリア信号CLRをアクティブ(図3の例ではロー)にすることによって、上記カウンタ131を繰り返しリセットするようにプログラムされている。ところが、当該プログラムαが暴走してしまうと、上記カウンタ131をリセットできなくなるので、上記カウンタ131のカウント値C131がカウント値C132に到達し、ウォッチドッグタイマ114によって、NMI信号が出力される。
Here, during the normal operation of the program α executed by the CPU, the clear signal CLR is activated (low in the example of FIG. 3) in a time shorter than the time-up time. Programmed to reset
当該NMI信号が入力されると、上記CPUは、現在実行中の命令に拘わらず、暴走状態から復帰するためのプログラムを実行する。これにより、上記プログラムαが暴走している場合であっても、CPUは、何ら支障なく、復帰用のプログラムΩを実行でき、上記プログラムαを正常な状態に復帰させることができる。 When the NMI signal is input, the CPU executes a program for returning from the runaway state regardless of the currently executing instruction. Thus, even when the program α is running out of control, the CPU can execute the return program Ω without any trouble, and can restore the program α to a normal state.
さらに、後述の特許文献1では、システムの立ち上げ時と通常動作時とのように、適切なタイムアップ時間の互いに異なる状態のそれぞれにおいて適切なタイムアップ時間でプログラムの暴走を監視するために、立ち上げ時にクリア信号が与えられると、カウンタ131へ与えるクロック信号を生成する際の分周比を変更する構成が記載されている。
しかしながら、上記従来の構成では、少ない回路規模で、プログラムなどによって実現される複数の処理部の暴走を検出し、しかも、検出後にいずれの処理部が暴走したかを特定するという課題全てを解決することはできないという問題を生じる。 However, the conventional configuration described above solves all the problems of detecting a runaway of a plurality of processing units realized by a program or the like with a small circuit scale and specifying which processing unit has runaway after the detection. The problem is that you can't.
より詳細に説明すると、現在は、情報処理装置に要求される処理が複雑になり、上記CPUは、互いに独立した複数のプログラムを時分割で実行していることも多い。この場合は、これら複数のプログラムα…をウォッチドッグタイマ114が監視対象とすることが望まれる。
More specifically, at present, the processing required for the information processing apparatus becomes complicated, and the CPU often executes a plurality of independent programs in a time-sharing manner. In this case, it is desired that the
ところが、各プログラムα…毎にウォッチドッグタイマ114を設けると、必要なカウンタの数が増えてしまうので、回路規模の削減が求められる場合には、単一のカウンタによって、複数のプログラムα…の暴走を監視することが要求される。
However, if the
ここで、監視対象とするプログラム毎にクリア端子を設け、各プログラムによるクリア信号を独立させると共に、全クリア信号が真の場合に、カウンタ131をリセットするように構成すれば、ウォッチドッグタイマ114は、各プログラムのいずれかが暴走したことを検出できるので、単一のカウンタで単一のプログラムの暴走を監視する構成に比べて回路規模を削減できる。
Here, if a clear terminal is provided for each program to be monitored, the clear signal by each program is made independent, and the
ところが、当該構成では、暴走を検出した後、いずれのプログラムが暴走したかを特定することができない。したがって、例えば、暴走したプログラムのみに対して復帰処理したり、暴走したプログラムを表示し、当該プログラムを集中的に検証して暴走の原因を特定するなど、暴走したプログラムに応じた処理を行うことができない。 However, in this configuration, after detecting a runaway, it is not possible to specify which program has runaway. Therefore, for example, to perform recovery processing only for the runaway program, display the runaway program, and verify the program intensively to identify the cause of the runaway, and perform processing according to the runaway program I can't.
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、少ない回路規模で、複数の処理部の暴走を検出し、しかも、検出後にいずれの処理部が暴走したかを特定可能なウォッチドッグタイマを実現することにある。 The present invention has been made in view of the above problems, and its purpose is to detect runaway of a plurality of processing units with a small circuit scale and to identify which processing unit has runaway after detection. The realization of a possible watchdog timer.
本発明に係るウォッチドッグタイマは、上記課題を解決するために、予め定められたタイムアウト時間が経過すると暴走を示す出力信号を出力する計時手段を有するウォッチドッグタイマにおいて、監視対象に設定可能な処理部毎に設けられた複数のクリア端子と、監視対象となる処理部に対応するクリア端子全てにクリアを示す信号が入力された場合に上記計時手段をリセットするリセット手段と、上記クリア端子毎に設けられたラッチ回路およびラッチ回路制御手段とを備え、上記ラッチ回路制御手段は、上記計時手段が暴走を示す出力信号を出力し、しかも、上記クリア端子へクリアを示す信号が入力されていない場合、当該クリア端子に対応するラッチ回路をセットすると共に、上記暴走を示す出力信号とは独立したタイミングで印加されるリセット信号が入力されるまでの間、上記ラッチ回路に値を保持させることを特徴としている。 In order to solve the above-described problem, the watchdog timer according to the present invention is a process that can be set as a monitoring target in a watchdog timer having a timing unit that outputs an output signal indicating a runaway when a predetermined timeout time elapses. A plurality of clear terminals provided for each section, a reset means for resetting the time counting means when a clear signal is input to all the clear terminals corresponding to the processing target to be monitored, and for each clear terminal A latch circuit and a latch circuit control means provided, wherein the latch circuit control means outputs an output signal indicating runaway by the time counting means and no signal indicating clear is input to the clear terminal The latch circuit corresponding to the clear terminal is set and printed at a timing independent of the output signal indicating the runaway. Until a reset signal is input, it is characterized in that to hold the value in the latch circuit.
また、上記構成に加えて、上記各処理部を監視対象とするか否かを示す制御信号が入力される入力端子を備え、上記リセット手段は、当該入力端子への信号に基づいて、上記監視対象となる処理部を特定してもよい。 Further, in addition to the above configuration, an input terminal to which a control signal indicating whether or not each processing unit is to be monitored is input, and the reset unit is configured to monitor the monitoring based on a signal to the input terminal. A target processing unit may be specified.
さらに、上記構成に加えて、上記ラッチ回路制御手段は、上記入力端子への入力信号が監視対象から外れていることを示している処理部に対応するラッチ回路をリセットしてもよい。 Further, in addition to the above configuration, the latch circuit control means may reset a latch circuit corresponding to a processing unit indicating that an input signal to the input terminal is not monitored.
本発明に係るウォッチドッグタイマは、以上のように、上記計時手段、クリア端子、リセット手段、ラッチ回路およびラッチ回路制御手段を備えており、上記リセット手段は、監視対象となる処理部に対応するクリア端子全てにクリアを示す信号が入力された場合に上記計時手段をリセットする。したがって、上記タイムアウト時間が経過するまでの間に、監視対象となる処理部の全てが、正常に動作しており、それぞれに対応して設けられたクリア端子へクリアを示す信号を入力している間は、暴走を示す出力信号を出力していない。なお、上記処理部は、CPUなどの演算手段がROMやRAMなどに記憶されたプログラムを実行することによって実現できる。 As described above, the watchdog timer according to the present invention includes the time counting means, the clear terminal, the reset means, the latch circuit, and the latch circuit control means, and the reset means corresponds to the processing unit to be monitored. When the signal indicating clear is input to all the clear terminals, the time measuring means is reset. Therefore, until the timeout time elapses, all of the processing units to be monitored are operating normally, and a signal indicating clear is input to the clear terminals provided corresponding to each of the processing units. During this period, no output signal indicating runaway is output. In addition, the said process part is realizable when arithmetic means, such as CPU, runs the program memorize | stored in ROM, RAM, etc.
一方、ある処理部が暴走すると、上記計時手段を前回リセットしてから上記タイムアウト時間が経過しても、当該処理部は、対応するクリア端子へクリアを示す信号を入力することができないので、計時手段は、暴走を示す出力信号を出力する。 On the other hand, if a processing unit runs away, the processing unit cannot input a signal indicating clear to the corresponding clear terminal even if the time-out period elapses after the time counting unit was reset last time. The means outputs an output signal indicating a runaway.
これにより、ウォッチドッグタイマは、監視対象に応じた計時手段を設ける構成に比べて回路規模が縮小されているにも拘わらず、複数の処理部が暴走したか否かを検出できると共に、例えば、各処理部を正常動作に復帰させるプログラムによって実現される制御部など、暴走時に所定の処理を行うように設定された制御部へ、監視対象とする処理部の暴走を通知でき、当該制御部に処理部の暴走に対応した処理を実施させることができる。 Thereby, the watchdog timer can detect whether or not a plurality of processing units have runaway despite the fact that the circuit scale is reduced as compared with the configuration in which the time measuring unit according to the monitoring target is provided. A control unit that is set to perform a predetermined process during a runaway, such as a control unit realized by a program that restores each processing unit to normal operation, can be notified of the runaway of the processing unit to be monitored, Processing corresponding to the runaway of the processing unit can be performed.
さらに、上記構成では、各クリア端子に対応して、ラッチ回路が設けられており、ラッチ回路制御手段は、上記計時手段が暴走を示す出力信号を出力し、しかも、上記クリア端子へクリアを示す信号が入力されていない場合、当該クリア端子に対応するラッチ回路をセットすると共に、上記暴走を示す出力信号とは独立したタイミングで印加されるリセット信号が入力されるまでの間、上記ラッチ回路に値を保持させる。 Further, in the above configuration, a latch circuit is provided corresponding to each clear terminal, and the latch circuit control means outputs an output signal indicating that the time measuring means is out of control, and also indicates clear to the clear terminal. When no signal is input, the latch circuit corresponding to the clear terminal is set and the latch circuit is input until a reset signal applied at a timing independent of the output signal indicating the runaway is input. Hold the value.
これにより、各ラッチ回路は、暴走が検出されてから、上記リセット信号が入力されるまでの間、それぞれに対応する処理部が暴走していたか否かを示す値を出力できる。したがって、各ラッチ回路は、例えば、各ラッチ回路を参照して、各処理部が暴走しているか否かを判定して、暴走している処理部をユーザに提示したり、暴走している処理部のみに対して復帰処理を行したりする制御部など、暴走している処理部に応じた処理を行うように設定された制御部に、いずれの処理部が暴走しているかに応じた処理を実施させることができる。 As a result, each latch circuit can output a value indicating whether or not the corresponding processing unit has runaway from the time when the runaway is detected until the reset signal is input. Therefore, each latch circuit refers to each latch circuit, for example, determines whether each processing unit is running out of control, and presents the processing unit that is running away to the user, Processing depending on which processing unit is running out of control in a control unit that is set to perform processing according to the processing unit that is running away, such as a control unit that performs recovery processing only on the part Can be implemented.
また、本発明に係るウォッチドッグタイマは、以上のように、各処理部を監視対象とするか否かを示す制御信号が入力される入力端子を備えているので、当該入力端子へ印加する制御信号によって、監視対象に設定可能な処理部のうち、いずれの処理部を監視対象とするかを変更できる。 In addition, as described above, the watchdog timer according to the present invention includes an input terminal to which a control signal indicating whether or not each processing unit is to be monitored is input, so that control applied to the input terminal is performed. Depending on the signal, it is possible to change which of the processing units that can be set as the monitoring target is the monitoring target.
当該構成では、例えば、監視対象となる処理部の動作を変更して、自らに対応するクリア端子だけではなく、監視対象としていない処理部に対応するクリア端子をもクリアする場合とは異なり、監視対象となる処理部の動作を変更することなく、監視対象に設定可能な処理部のうち、いずれの処理部を監視対象とするかを変更できる。したがって、容易に監視対象を変更可能なウォッチドッグタイマを実現できる。 In this configuration, for example, the operation of the processing unit to be monitored is changed to clear not only the clear terminal corresponding to itself but also the clear terminal corresponding to the processing unit not to be monitored. It is possible to change which of the processing units that can be set as the monitoring target is to be monitored without changing the operation of the target processing unit. Therefore, it is possible to realize a watch dog timer that can easily change the monitoring target.
さらに、本発明に係るウォッチドッグタイマは、以上のように、上記ラッチ回路制御手段は、監視対象から外れている処理部に対応するラッチ回路をリセットするので、各ラッチ回路の出力のうち、出力がセットされているラッチ回路は、暴走が検出された処理部に対応するラッチ回路のみになる。したがって、監視対象としないラッチ回路の出力が不定になる構成と比較して、暴走が検出された処理部のみを的確に通知可能なウォッチドッグタイマを実現できる。 Further, in the watchdog timer according to the present invention, as described above, the latch circuit control unit resets the latch circuit corresponding to the processing unit that is excluded from the monitoring target. Is the only latch circuit corresponding to the processing unit in which the runaway is detected. Therefore, it is possible to realize a watchdog timer that can accurately notify only the processing unit in which the runaway is detected, as compared with the configuration in which the output of the latch circuit that is not monitored is indefinite.
本発明の一実施形態について図1および図2に基づいて説明すると以下の通りである。すなわち、本実施形態に係る情報処理装置1は、ウォッチドッグタイマによって、プログラムの暴走を検出可能な装置であって、図2に示すように、監視対象としての第1および第2プログラム処理部11・12と、両プログラム処理部11・12が正常に動作している場合、各プログラム処理部11・12によって、予め定められたタイムアップ時間よりも短い時間で正常を示す値が繰り返し書き込まれる制御レジスタ13と、前回正常を示す値が書き込まれてから当該タイムアップ時間が経過しているにも拘わらず、当該制御レジスタ13に正常を示す値が書き込まれていない場合、監視対象としているプログラム処理部のいずれかが暴走していると判断するウォッチドッグタイマ14と、当該ウォッチドッグタイマ14から暴走を検出したことが通知されると、例えば、各プログラム処理部11・12を初期化するなど、予め定められた処理を行う制御部15とを備えている。なお、上記両プログラム処理部11・12が特許請求の範囲に記載の処理部に対応する。
An embodiment of the present invention will be described with reference to FIGS. 1 and 2 as follows. That is, the
また、上記タイムアップ時間は、各プログラム処理部11・12がクリアを示す値を書き込む周期の変動を考慮して、当該周期よりも充分に長く設定されている。なお、これらの時間および周期は、用途に応じて種々の値が選択されるが、本実施形態では、一例として、タイムアップ時間が1〔s〕、繰り返しの周期が10〔ms〕に設定されている。
The time-up time is set to be sufficiently longer than the period in consideration of fluctuations in the period in which the
ここで、上記第1および第2プログラム処理部11・12および制御部15は、CPUなどの演算手段が、ROMやRAMなどの記憶手段に格納されたプログラムを実行し、必要に応じて、タッチパネルや液晶表示装置などの入出力手段、あるいは、インターフェース回路などの通信手段を制御することによって実現される機能ブロックであって、上記第1および第2プログラム処理部11・12は、例えば、メモリ領域やI/O領域など、CPUなどの演算手段がアクセス可能な領域に割り当てられた上記制御レジスタ13へ、正常を示す値を繰り返し書き込んでいる。また、上記ウォッチドッグタイマ14は、例えば、NMI(ノン・マスカブル・インタラプト)信号などの割り込み信号によって、暴走の発生をCPUなどの演算手段へ通知し、当該演算手段は、現在実行している命令に拘わらず、上記制御部15を実現するためのプログラムを実行する。これにより、制御部15は、第1および第2プログラム処理部11・12が暴走している場合であっても、何ら支障なく動作できる。
Here, in the first and second
さらに、本実施形態に係る情報処理装置1のウォッチドッグタイマ14には、監視対象とするプログラム処理部11・12毎に異なる記憶領域が設けられた状態レジスタ16をが設けられており、上記ウォッチドッグタイマ14は、監視対象としているプログラム処理部11・12のいずれかが暴走していると検出した時点に、状態レジスタ16の各記憶領域に、各プログラム処理部11・12の暴走を検出しているか否かを書き込むことができる。また、上記状態レジスタ16は、制御部15が上記所定の処理を行っている間も、記憶されている値を保持するように構成されており、上記制御部15は、ウォッチドッグタイマ14から暴走検出通知を受け取った後、状態レジスタ16の値(後述するWDT1P・WDT2P)を参照して、プログラム処理部11・12のいずれが暴走しているかを判定でき、暴走しているプログラム処理部11・12に応じた処理を行うことができる。
Furthermore, the
以下では、一例として、上記第1および第2プログラム処理部11・12のいずれかが暴走していることを検出するモードとは別に、第1プログラム処理部11の暴走のみを検出するモード、および、第2プログラム処理部12の暴走のみを検出するモードを情報処理装置1が持っている場合の構成について、図1を参照しながら、詳細に説明する。なお、以下では、説明の便宜上、それぞれを、第3、第1および第2モードと称する。
In the following, as an example, a mode for detecting only the runaway of the first
本実施形態に係る制御レジスタ13には、第1プログラム処理部11の暴走を監視するか否かを記憶するビット領域B1と、第2プログラム処理部12の暴走を監視するか否かを記憶するビット領域B2とが設けられており、制御部15は、ウォッチドッグタイマ14を第1モードに設定する場合、領域B1の値のみを真に設定する。また、制御部15は、第2モードあるいは第3モードに設定する場合、それぞれ、領域B2の値のみ、および、両領域B1・B2の値を真に設定する。
The control register 13 according to the present embodiment stores a bit area B1 for storing whether or not the runaway of the first
さらに、上記制御レジスタ13には、第1プログラム処理部11によって繰り返し正常を示す値(真)が書き込まれるビット領域B11と、第2プログラム処理部12によって繰り返し正常を示す値(真)が書き込まれるビット領域B12とが設けられている。
Further, the control register 13 is written with a bit region B11 in which a value (true) indicating repeated normality is written by the first
上記各領域B1・B2・B11・B12の値は、図1に示すように、それぞれ、入力端子T1・T2およびクリア端子T11・T12を介して、制御信号ENB1・ENB2・CLR1・CLR2として、ウォッチドッグタイマ14に入力されている。
As shown in FIG. 1, the values of the respective areas B1, B2, B11, and B12 are set as control signals ENB1, ENB2, CLR1, and CLR2 via the input terminals T1 and T2 and the clear terminals T11 and T12, respectively. Input to the
一方、ウォッチドッグタイマ14には、クリア信号としての上記制御信号CLR1・CLR2をそれぞれラッチするラッチ回路21および22が設けられている。本実施形態では、両ラッチ回路21・22は、例えば、Dフリップフロップによって実現されており、両ラッチ回路21・22のD端子は、真を示す値に常時維持されていると共に、上記クリア信号CLR1・CLR2が、対応するラッチ回路のクロック端子に印加されている。
On the other hand, the
さらに、上記ウォッチドッグタイマ14は、計時手段として、以下の各部材31〜33、すなわち、予め定められた周期のクロック信号CLKが入力され、クロック信号CLKが示す時間間隔でカウント値をカウントアップするカウンタ31と、上記タイムアップ時間に対応するカウント値が格納された時間設定レジスタ32と、当該時間設定レジスタ32に格納されたカウント値C32およびカウンタ31のカウント値C31を比較して、例えば、両者が一致した時点など、前回カウンタ31がリセットされてからタイムアップ時間が経過した時点で、NMI信号を真を示す値に変更する比較器33とを備えている。なお、上記カウント値C32は、予め定められた値に固定されていてもよいし、制御部15が時間設定レジスタ32へアクセスして設定してもよい。
Further, the
また、上記カウンタ31のリセット端子Rと、上記両ラッチ回路21・22との間には、論理回路(リセット手段)41が設けられており、制御信号ENB1・ENB2が第3モードを示す値で、しかも、両ラッチ回路21・22の出力信号が真の場合に、カウンタ31をリセットできる。図1の例では、カウンタ31のリセット信号がローアクティブであり、上記論理回路41には、制御信号ENB1・ENBが第3モードを示す値(双方、真)で、しかも、両ラッチ回路21・22の出力信号が真の場合にのみ、真を出力するAND回路42と、AND回路42の出力信号が入力され、入力信号のいずれかが真の場合に、出力信号をアクティブ(ロー)にする、負論理出力のOR回路43とが設けられている。
A logic circuit (reset means) 41 is provided between the reset terminal R of the
さらに、本実施形態では、第1および第2モードが設けられているので、上記論理回路41は、制御信号ENB1・ENB2が第1モードを示す値で、しかも、ラッチ回路21の出力信号が真の場合と、制御信号ENB1・ENB2が第2モードを示す値で、しかも、ラッチ回路22の出力信号が真の場合とのそれぞれにも、上記カウンタ31をリセットできるように構成されている。例えば、図1に示すように、上記論理回路41として、上記OR回路43と上記両ラッチ回路21・22との間に、上記制御信号ENB1・ENB2が第1モードを示す値(真・偽)で、しかも、ラッチ回路21の出力信号が真の場合にのみ、OR回路43に真を出力するAND回路44と、上記制御信号ENB1・ENB2が第2モードを示す値(偽・真)で、しかも、ラッチ回路22の出力信号が真の場合にのみ、OR回路43に真を出力するAND回路45とが設けられている。
Further, in the present embodiment, since the first and second modes are provided, the
また、上記OR回路43の出力は、上記各ラッチ回路21・22のリセット端子Rにも入力されており、各ラッチ回路21・22は、各ラッチ回路21・22の出力によってカウンタ31がリセットされた時点でリセットされる。
The output of the
なお、本実施形態に係るウォッチドッグタイマ14では、情報処理装置1全体をリセットする制御信号RST、および、ウォッチドッグタイマ14をリセットする制御信号WDTRSTのいずれかが真になった場合も、上記カウンタ31をリセットできるように構成されており、図1の例では、端子T21および端子T22を介して入力される制御信号RST・WDTRSTが、上記OR回路43に入力されている。なお、図1では、両制御信号RST・WDTRSTがローアクティブであることを符号の末尾に”*”を付すことで示している。
Note that, in the
さらに、本実施形態に係るウォッチドッグタイマ14は、上記図2に示す状態レジスタ16として、上記各プログラム処理部11・12のそれぞれに対応して設けられたラッチ回路51・52を備えている。また、当該ウォッチドッグタイマ14には、上記比較器33の出力が真で、ラッチ回路21の出力がクリアを示していない場合(比較器33の出力およびラッチ回路21の反転出力の双方が真の場合)にのみ、当該ラッチ回路21に対応するラッチ回路51をセットするAND回路53と、上記比較器33の出力が真で、ラッチ回路22の出力がクリアを示していない場合(比較器33の出力およびラッチ回路22の反転出力の双方が真の場合)にのみ、当該ラッチ回路22に対応するラッチ回路52をセットするAND回路54とが設けられている。なお、上記ラッチ回路51・52は、例えば、制御部15を実現するCPUなどの演算手段によってアクセス可能な領域に割り当てられており、制御部15は、各ラッチ回路51・52の値(WDT1P・WDT2P)を読み出すことができる。上記両ラッチ回路51・52は、例えば、Dフリップフロップによって実現されており、両ラッチ回路51・52のD端子は、真を示す値に常時維持されていると共に、AND回路53・54の出力信号が、それぞれに対応するラッチ回路のクロック端子に印加されている。
Further, the
また、上記両ラッチ回路51・52のリセット端子Rには、比較器33の出力とは独立したリセット信号が入力されており、比較器33の出力が真になった後も値を保持できるように構成されている。
Further, a reset signal independent of the output of the comparator 33 is inputted to the reset terminal R of both the
本実施形態では、上記両制御信号RST・WDTRSTのいずれかが真の場合、あるいは、上記制御信号ENB1が偽の場合に、真の値を出力するOR回路55と、上記両制御信号RST・WDTRSTのいずれかが真の場合、あるいは、上記制御信号ENB2が偽の場合に、真の値を出力するOR回路56とが設けられており、OR回路55の出力がラッチ回路51のリセット端子Rに、OR回路56の出力がラッチ回路52の出力にされている。なお、図1の例では、両制御信号RST・WDTRSTおよび両ラッチ回路51・52へのリセット信号が、いずれもローアクティブであり、両制御信号ENB1・ENB2がハイアクティブである。なお、上記各回路53〜56が特許請求の範囲に記載のラッチ回路制御手段に対応する。
In the present embodiment, when either of the control signals RST / WDTRST is true or when the control signal ENB1 is false, the
上記構成において、図2に示す第1および第2プログラム処理部11・12の暴走を監視する場合、制御部15は、制御レジスタ13の領域B1・B2に第3モードを示す値(双方真)を書き込んで、図1に示す両制御信号ENB1・ENB2を真に設定している。
In the above configuration, when the runaway of the first and second
ここで、図1に示すウォッチドッグタイマ14のカウンタ31は、リセットされた時点からタイムアウト時間が経過すると、暴走を示すNMI信号を出力するように構成されている。
Here, the
ところが、上記両プログラム処理部11・12は、正常に動作している間、ウォッチドッグタイマ14のタイムアウト時間よりも短い時間間隔で、制御レジスタ13の領域B11・B12に正常を示す値(真)を書き込んで、クリア信号CLR1・CLR2を真に設定しているので、前回リセットされた時点からタイムアウト時間が経過するよりも前に、両ラッチ回路21・22の出力信号が真になり、カウンタ31がリセットされる。したがって、上記両プログラム処理部11・12は、正常に動作している間は、ウォッチドッグタイマ14のタイムアウトが発生しない。
However, while the
これに対して、両プログラム処理部11・12のいずれか(例えば、第1プログラム処理部11)が暴走すると、当該プログラム処理部は、制御レジスタ13の領域B11・B12のうちの対応する領域(この場合は、領域B11)のリセットを繰り返すことができなくなる。したがって、前回リセットされた時点からタイムアウト時間が経過しても、両ラッチ回路21・22の出力信号の双方が真になることがない。この結果、比較器33は、タイムアウト時間が経過した時点で、暴走を示すNMI信号を出力する。これにより、制御部15は、ウォッチドッグタイマ14のタイムアウトが発生したことを把握して、例えば、両プログラム処理部11・12を初期化するなど、予め定められた処理を行う。したがって、両プログラム処理部11・12のいずれが暴走しても、各プログラム処理部11・12の動作を正常動作に復帰させることができる。
On the other hand, when one of the
また、ラッチ回路51・52は、暴走を示すNMI信号が出力された場合、それぞれに対応するラッチ回路21・22の反転出力をラッチし、NMI信号とは独立したリセット信号が入力されるまでの間、ラッチした値を保持し続けている。例えば、上記の例のように、第1プログラム処理部11のみが暴走した場合、ラッチ回路22の出力のみが真なので、ラッチ回路51の出力は、暴走を示す値(真)になり、ラッチ回路52の出力が暴走していないことを示す値(偽)になる。
Further, when an NMI signal indicating a runaway is output, the
したがって、図2に示す状態レジスタ16として、両ラッチ回路51・52の出力WDT1P・WDT2Pを読み出すことによって、制御部15は、監視対象としているプログラム処理部11・12のうち、いずれが暴走したかを把握でき、例えば、暴走している方のみを初期化したり、暴走した方をユーザに提示したりするなど、各プログラム処理部の暴走の状態に応じた処理を行うことができる。
Therefore, by reading the outputs WDT1P and WDT2P of the
この結果、1つのカウンタ31によって、複数のプログラム処理部11・12の暴走を監視しているため、それぞれの監視用のカウンタを別々に設ける場合よりも回路規模が縮小されているにも拘わらず、それぞれが暴走したか否かを判断でき、より適切な処置を講じることができる。
As a result, since the runaway of the plurality of
一方、第1プログラム処理部11の暴走のみを監視する場合、制御部15は、制御レジスタ13の領域B1・B2に第1モードを示す値(真・偽)を書き込んで、図1に示す制御信号ENB1・ENB2を真・偽に設定している。
On the other hand, when only the runaway of the first
この状態では、第2プログラム処理部12によるクリア信号CLR2に拘わらず、第1プログラム処理部11によるクリア信号CLR1が真の場合に、カウンタ31がリセットされる。したがって、第1プログラム処理部11が暴走して、前回のリセット時点からタイムアウト時間が経過した時点で、暴走を示すNMI信号が出力される。これにより、第1モードの場合でも、監視対象となる第1プログラム処理部11が暴走しても、当該第1プログラム処理部11を正常動作に復帰させることができる。
In this state, the
また、この場合は、制御信号ENB2が偽なので、監視対象ではない方に対応するラッチ回路52は、リセットされている。また、監視対象に対応するラッチ回路51の値WDT1Pは、リセットされるまでの間、暴走検出時のラッチ回路21の出力に応じた値に設定されている。したがって、モードに拘わらず、両ラッチ回路51・52の値WDT1P・WDT2Pを参照するだけで、暴走したプログラム処理部11を特定できる。
In this case, since the control signal ENB2 is false, the
同様に、第2プログラム処理部12の暴走のみを監視する場合は、制御レジスタ13の領域B1・B2に第2モードを示す値(真・偽)が書き込まれ、第1プログラム処理部11によるクリア信号CLR1に拘わらず、第2プログラム処理部12によるクリア信号CLR2が真の場合に、カウンタ31がリセットされる。
Similarly, when only the runaway of the second program processing unit 12 is monitored, a value (true / false) indicating the second mode is written in the areas B1 and B2 of the control register 13 and cleared by the first
なお、上記では、カウンタ31がカウントアップする場合を例にして説明したが、これに限るものではなく、例えば、カウントダウンする構成であってもよい。いずれの場合であっても、前回リセットされてから、タイムアップ時間が経過すると、暴走を示す出力信号を出力できれば、同様の効果が得られる。
In the above description, the case where the counter 31 counts up is described as an example. However, the present invention is not limited to this. For example, a configuration in which the
さらに、上記では、監視対象となるプログラム処理部が2つの場合を例にして説明したが、これに限るものではない。監視対象となるプログラム処理部毎に、ラッチ回路21・51、AND回路42・53並びにOR回路55と同様の部材を設けることによって、何ら支障なく、3以上のプログラム処理部の暴走を監視できる。
Furthermore, although the case where there are two program processing units to be monitored has been described above as an example, the present invention is not limited to this. By providing the same members as the
また、本実施形態では、制御レジスタ13のビット領域B1・B2に監視の要否を示す値を設定することによって、監視対象を切り換えているが、これに限るものではない。例えば、監視対象が予め定められた複数に固定されていてもよい。なお、この場合は、制御信号ENB1・ENB2を処理するための回路(ビット領域B1・B2、AND回路42〜44のうち、監視対象の組み合わせ以外に対応する回路)は不要である。
In this embodiment, the monitoring target is switched by setting a value indicating whether monitoring is required in the bit areas B1 and B2 of the control register 13, but the present invention is not limited to this. For example, a plurality of monitoring targets may be fixed in advance. In this case, a circuit for processing the control signals ENB1 and ENB2 (a circuit corresponding to a combination other than the combination to be monitored among the bit areas B1 and B2 and the AND
ただし、本実施形態のように、制御レジスタ13のビット領域B1・B2と、その出力信号(制御信号ENB1・ENB2)を処理するための回路を設け、監視対象を切り換え可能に構成した場合は、監視対象となるプログラム処理部11・12の動作を変更することなく、制御部15がビット領域B1・B2を変更するだけで、監視対象を変更できるので、監視対象変更時の手間を削減できる。
However, as in the present embodiment, when the bit regions B1 and B2 of the control register 13 and a circuit for processing the output signals (control signals ENB1 and ENB2) are provided and the monitoring target can be switched, Without changing the operation of the
さらに、本実施形態のように、上記ラッチ回路51・52のうち、監視対象ではないものをリセットすることによって、監視対象とするプログラム処理部がいずれの場合であっても、それぞれに対応するラッチ回路51・52の値を参照するだけで、暴走したプログラム処理部を特定できる。また、本実施形態では、各ラッチ回路51・52の値が状態レジスタ16としてまとめられており、制御部15が一括してアクセスできる。なお、図1の例では、プログラム処理部を監視対象から外すと、残りのプログラム処理部が1つだけであるが、プログラム処理部が3以上あり、あるプログラム処理部を監視対象から外しても、監視対象が複数の場合には、全てのラッチ回路の出力を読み出すだけで、これら複数の監視対象のいずれが暴走したかを判定できるので、特に効果が大きい。
Further, as in the present embodiment, by resetting the
複数の処理部のいずれかが暴走したことを検出し、例えば、暴走状態からの復帰処理など、暴走時のための処理を実行できると共に、検出後に、それらのいずれが暴走したかを特定でき、例えば、制御システムの分野など、安全性や利便性などを向上させるために、処理部の暴走後も何らかの処理が必要な用途に好適に使用できる。 Detect that one of the multiple processing units has runaway, for example, can perform processing for runaway, such as recovery processing from a runaway state, and after detection can identify which of them has runaway, For example, in order to improve safety and convenience, such as in the field of control systems, the present invention can be suitably used for applications that require some processing even after a processor runs away.
11 第1プログラム処理部(処理部)
12 第2プログラム処理部(処理部)
14 ウォッチドッグタイマ
31 カウンタ(計時手段)
32 時間設定レジスタ(計時手段)
33 比較器(計時手段)
41 論理回路(リセット手段)
51・52 ラッチ回路
53・54 AND回路(ラッチ回路制御手段)
55・56 OR回路(ラッチ回路制御手段)
T1 入力端子
T2 入力端子
T11 クリア端子
T12 クリア端子
11 First program processing unit (processing unit)
12 Second program processing unit (processing unit)
14
32 hour setting register (time keeping means)
33 Comparator (time measuring means)
41 logic circuit (reset means)
51/52
55/56 OR circuit (latch circuit control means)
T1 input terminal T2 input terminal T11 clear terminal T12 clear terminal
Claims (3)
監視対象に設定可能な処理部毎に設けられた複数のクリア端子と、
監視対象となる処理部に対応するクリア端子全てにクリアを示す信号が入力された場合に上記計時手段をリセットするリセット手段と、
上記クリア端子毎に設けられたラッチ回路およびラッチ回路制御手段とを備え、
上記ラッチ回路制御手段は、上記計時手段が暴走を示す出力信号を出力し、しかも、上記クリア端子へクリアを示す信号が入力されていない場合、当該クリア端子に対応するラッチ回路をセットすると共に、上記暴走を示す出力信号とは独立したタイミングで印加されるリセット信号が入力されるまでの間、上記ラッチ回路に値を保持させることを特徴とするウォッチドッグタイマ。 In a watchdog timer having a timing means for outputting an output signal indicating runaway when a predetermined timeout time elapses,
Multiple clear terminals provided for each processing unit that can be set as a monitoring target,
A reset means for resetting the time measuring means when a signal indicating clear is input to all the clear terminals corresponding to the processing unit to be monitored;
A latch circuit and a latch circuit control means provided for each of the clear terminals,
The latch circuit control means outputs an output signal indicating runaway by the timing means, and sets a latch circuit corresponding to the clear terminal when a signal indicating clear is not input to the clear terminal. A watchdog timer, wherein a value is held in the latch circuit until a reset signal applied at a timing independent of an output signal indicating runaway is input.
上記リセット手段は、当該入力端子への信号に基づいて、上記監視対象となる処理部を特定することを特徴とする請求項1記載のウォッチドッグタイマ。 An input terminal to which a control signal indicating whether or not each processing unit is to be monitored is input;
2. The watch dog timer according to claim 1, wherein the reset means specifies the processing unit to be monitored based on a signal to the input terminal.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003323197A JP4322606B2 (en) | 2003-09-16 | 2003-09-16 | Watchdog timer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003323197A JP4322606B2 (en) | 2003-09-16 | 2003-09-16 | Watchdog timer |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005092430A true JP2005092430A (en) | 2005-04-07 |
JP4322606B2 JP4322606B2 (en) | 2009-09-02 |
Family
ID=34454340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003323197A Expired - Lifetime JP4322606B2 (en) | 2003-09-16 | 2003-09-16 | Watchdog timer |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4322606B2 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008191803A (en) * | 2007-02-02 | 2008-08-21 | Fujitsu Ltd | Failure monitor for timer circuit |
US7721083B2 (en) | 2006-05-01 | 2010-05-18 | Shinko Electric Industries Co., Ltd. | CPU runaway determination circuit and CPU runaway determination method |
JP2014035741A (en) * | 2012-08-10 | 2014-02-24 | Denso Corp | Electronic control device |
JP2014035740A (en) * | 2012-08-10 | 2014-02-24 | Denso Corp | Electronic control device |
JP2015525915A (en) * | 2012-06-26 | 2015-09-07 | ノルディック セミコンダクタ アーエスアーNordic Semiconductor ASA | Microprocessor control |
WO2022168291A1 (en) * | 2021-02-08 | 2022-08-11 | サンケン電気株式会社 | Watchdog timer device |
-
2003
- 2003-09-16 JP JP2003323197A patent/JP4322606B2/en not_active Expired - Lifetime
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7721083B2 (en) | 2006-05-01 | 2010-05-18 | Shinko Electric Industries Co., Ltd. | CPU runaway determination circuit and CPU runaway determination method |
JP2008191803A (en) * | 2007-02-02 | 2008-08-21 | Fujitsu Ltd | Failure monitor for timer circuit |
JP2015525915A (en) * | 2012-06-26 | 2015-09-07 | ノルディック セミコンダクタ アーエスアーNordic Semiconductor ASA | Microprocessor control |
US10191793B2 (en) | 2012-06-26 | 2019-01-29 | Nordic Semiconductor Asa | Microprocessor device with reset timer |
JP2014035741A (en) * | 2012-08-10 | 2014-02-24 | Denso Corp | Electronic control device |
JP2014035740A (en) * | 2012-08-10 | 2014-02-24 | Denso Corp | Electronic control device |
WO2022168291A1 (en) * | 2021-02-08 | 2022-08-11 | サンケン電気株式会社 | Watchdog timer device |
US12093118B2 (en) | 2021-02-08 | 2024-09-17 | Sanken Electric Co., Ltd. | Watchdog timer device |
Also Published As
Publication number | Publication date |
---|---|
JP4322606B2 (en) | 2009-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9052911B2 (en) | Mechanism for consistent core hang detection in a a processor core | |
JP4393954B2 (en) | Microcomputer | |
JP4322606B2 (en) | Watchdog timer | |
JP6049961B1 (en) | CPU monitoring device | |
JP5788611B2 (en) | Method and apparatus for saving state prior to reset for evaluation after reset | |
CN112187233B (en) | Reset device, method, clock system and electronic equipment | |
JP2009003711A (en) | Stop detection apparatus of microcomputer | |
JP2711111B2 (en) | Data processing device, measuring method and control method | |
JP5987723B2 (en) | Slave for communication | |
JP2008257405A (en) | Computer operation information recording device | |
US5307488A (en) | System interruption apparatus | |
US6715017B2 (en) | Interruption signal generating apparatus | |
JP2000311155A (en) | Multiprocessor system and electronic equipment | |
JP2007257462A (en) | Bus resetting system and method | |
JP2006119905A (en) | Fault detection apparatus and computer system | |
CN115794693A (en) | GPIO (general purpose input/output) interface control method and system, storage medium and equipment | |
JPS60262252A (en) | Monitor system for runaway of microprocessor | |
JP4698518B2 (en) | Verification support device, verification support method, and program | |
JP2009193525A (en) | Interruption control device | |
JPH04106637A (en) | Stall detection circuit | |
JP2592525B2 (en) | Error detection circuit of common bus system | |
JPH09128268A (en) | Program fault detecting method | |
JP2006163597A (en) | Wait signal releasing circuit | |
EP2535818A1 (en) | Error generation indicator circuit, storage device, information processing device and control method of error generation indicator circuit | |
JP2020035205A (en) | Computation device, and mutual monitoring system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051013 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080620 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080701 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080829 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20080829 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090203 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090406 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090602 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090603 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4322606 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120612 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120612 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130612 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |