JP2000010824A - ソフトウェア監視回路 - Google Patents
ソフトウェア監視回路Info
- Publication number
- JP2000010824A JP2000010824A JP10177277A JP17727798A JP2000010824A JP 2000010824 A JP2000010824 A JP 2000010824A JP 10177277 A JP10177277 A JP 10177277A JP 17727798 A JP17727798 A JP 17727798A JP 2000010824 A JP2000010824 A JP 2000010824A
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- processing
- time
- pulse
- circuit
- 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)【要約】
【課題】 従来のソフトウェア監視回路では、CPUが
完全に停止した場合等はソフトウェアの異常を検出でき
るが、例えば無限ループに入った場合、メインルーチン
しか処理していない場合等の異常は検出できない。 【解決手段】 複数の処理毎に所定の期間内に処理が実
行されたかどうかを監視し、複数の処理のうちいずれか
の処理が所定の期間内から外れて実行された時にソフト
ウェアの異常を検出する。
完全に停止した場合等はソフトウェアの異常を検出でき
るが、例えば無限ループに入った場合、メインルーチン
しか処理していない場合等の異常は検出できない。 【解決手段】 複数の処理毎に所定の期間内に処理が実
行されたかどうかを監視し、複数の処理のうちいずれか
の処理が所定の期間内から外れて実行された時にソフト
ウェアの異常を検出する。
Description
【0001】
【発明の属する技術分野】本発明は、ソフトウェアを監
視して異常を検出するソフトウェア監視回路に関するも
のである。
視して異常を検出するソフトウェア監視回路に関するも
のである。
【0002】
【従来の技術】従来、ソフトウェアを監視する場合、ソ
フトウェアの処理の通過ポイントをハードウェアによっ
て監視し、予め決められた時間間隔で通過するか否かを
監視することにより、ソフトウェアの異常を検出してい
る。いわゆるウォッチドッグタイマーによる監視であ
る。図8は従来例のソフトウェア監視回路を示す回路図
である。
フトウェアの処理の通過ポイントをハードウェアによっ
て監視し、予め決められた時間間隔で通過するか否かを
監視することにより、ソフトウェアの異常を検出してい
る。いわゆるウォッチドッグタイマーによる監視であ
る。図8は従来例のソフトウェア監視回路を示す回路図
である。
【0003】図8において、まず、CPU9はソフトウ
ェアの監視対象で、予め決められた制御プログラムに従
って所定の処理を実行する。アドレス比較器1はCPU
9からのアドレスを監視し、CPU9のアドレスバス1
0が目的のアドレスになった時にパルス信号を出力する
回路、ワンショットマルチ(リトリガブルマルチバイブ
レータ)4はアドレス比較器1からのパルス信号を起点
としてパルス幅を伸張し、所定のパルス幅の信号を出力
する回路である。フリップフロップ回路8はワンショッ
トマルチ4の出力信号に基づいてCPU9の異常を示す
アラームを出力する回路である。
ェアの監視対象で、予め決められた制御プログラムに従
って所定の処理を実行する。アドレス比較器1はCPU
9からのアドレスを監視し、CPU9のアドレスバス1
0が目的のアドレスになった時にパルス信号を出力する
回路、ワンショットマルチ(リトリガブルマルチバイブ
レータ)4はアドレス比較器1からのパルス信号を起点
としてパルス幅を伸張し、所定のパルス幅の信号を出力
する回路である。フリップフロップ回路8はワンショッ
トマルチ4の出力信号に基づいてCPU9の異常を示す
アラームを出力する回路である。
【0004】ここで、CPU9は処理1、処理2、処理
3を順に実行し、処理3が終了すると処理1からの処理
を繰り返し実行するものとする。処理1、処理2、処理
3の処理時間はそれぞれ時間t1、t2、t3とする。
また、/RESET1はシステム全体のリセット信号、
/RESET2はCPU9の初期処理が始まってから処
理1に入るまでの所定時間だけ監視回路の動作を停止す
る信号である。なお、本願明細書では、RESET1、
RESET2の反転信号を、/RESET1、/RES
ET2で表わしている。
3を順に実行し、処理3が終了すると処理1からの処理
を繰り返し実行するものとする。処理1、処理2、処理
3の処理時間はそれぞれ時間t1、t2、t3とする。
また、/RESET1はシステム全体のリセット信号、
/RESET2はCPU9の初期処理が始まってから処
理1に入るまでの所定時間だけ監視回路の動作を停止す
る信号である。なお、本願明細書では、RESET1、
RESET2の反転信号を、/RESET1、/RES
ET2で表わしている。
【0005】次に、従来のソフトウェア監視回路の動作
について図9、図10を参照して説明する。図9はCP
U9が正常な場合、図10はCPU9が異常を発生した
場合の動作を示している。まず、CPU9が正常な場合
である。CPU9は図9に示すように/RESET1が
ハイレベルになるとリセットされ、処理を開始する。な
お、フリップフロップ回路8の/RESET端子に図9
に示すように/RESET2が供給され、前述のように
CPU9が処理を開始してから所定時間だけソフトウェ
ア監視回路の動作を停止させている。/RESET2は
/RESET1を所定時間だけ遅延させた信号である。
について図9、図10を参照して説明する。図9はCP
U9が正常な場合、図10はCPU9が異常を発生した
場合の動作を示している。まず、CPU9が正常な場合
である。CPU9は図9に示すように/RESET1が
ハイレベルになるとリセットされ、処理を開始する。な
お、フリップフロップ回路8の/RESET端子に図9
に示すように/RESET2が供給され、前述のように
CPU9が処理を開始してから所定時間だけソフトウェ
ア監視回路の動作を停止させている。/RESET2は
/RESET1を所定時間だけ遅延させた信号である。
【0006】このようにしてCPU9が処理を開始する
と、アドレス比較器1はCPU9のアドレスバス10を
監視し、CPU9から処理1の開始アドレス1aが出力
されると図9に示すようにパルス1bをワンショットマ
ルチ4に出力する。アドレス比較器1は図9に示すよう
に処理1の開始アドレス1aを検出する毎に、即ち、処
理1の処理時間t1毎にパルス1bを出力する。
と、アドレス比較器1はCPU9のアドレスバス10を
監視し、CPU9から処理1の開始アドレス1aが出力
されると図9に示すようにパルス1bをワンショットマ
ルチ4に出力する。アドレス比較器1は図9に示すよう
に処理1の開始アドレス1aを検出する毎に、即ち、処
理1の処理時間t1毎にパルス1bを出力する。
【0007】ここで、ワンショットマルチ4の時定数
(パルス幅)は、CPU9の処理1〜処理3の処理時間
t1〜t3の総和時間(t1+t2+t3)よりも長く
設定されていて、CPU9が正常に処理を実行し、アド
レス比較器1のパルス1bが時間t1間隔で出力されて
いれば、ワンショットマルチ4の出力1cは図9に示す
ようにハイレベルを保持しつづける。従って、CPU9
が正常に動作している時はフリップフロップ回路8はセ
ットされることはないため、フリップフロップ回路8の
出力(アラーム)は図9に示すようにローレベルを保持
し、アラームは出力されない。
(パルス幅)は、CPU9の処理1〜処理3の処理時間
t1〜t3の総和時間(t1+t2+t3)よりも長く
設定されていて、CPU9が正常に処理を実行し、アド
レス比較器1のパルス1bが時間t1間隔で出力されて
いれば、ワンショットマルチ4の出力1cは図9に示す
ようにハイレベルを保持しつづける。従って、CPU9
が正常に動作している時はフリップフロップ回路8はセ
ットされることはないため、フリップフロップ回路8の
出力(アラーム)は図9に示すようにローレベルを保持
し、アラームは出力されない。
【0008】一方、CPU9が異常動作を生じ、アドレ
スバス10のアドレスが1aになるまでの時間が長くな
り、図10に示すようにアドレス比較器1のパルス1b
の間隔が時間(t1+t2+t3)よりも長くなると、
ワンショットマルチ4の出力1cは図10に示すように
一旦ローレベルとなる。従って、CPU9が異常を生じ
た時はフリップフロップ回路8がセットされるため、図
10に示すようにフリップフロップ回路8の出力はハイ
レベルとなってアラームが出力され、CPU9の異常を
検出することができる。
スバス10のアドレスが1aになるまでの時間が長くな
り、図10に示すようにアドレス比較器1のパルス1b
の間隔が時間(t1+t2+t3)よりも長くなると、
ワンショットマルチ4の出力1cは図10に示すように
一旦ローレベルとなる。従って、CPU9が異常を生じ
た時はフリップフロップ回路8がセットされるため、図
10に示すようにフリップフロップ回路8の出力はハイ
レベルとなってアラームが出力され、CPU9の異常を
検出することができる。
【0009】
【発明が解決しようとする課題】従来のソフトウェア監
視回路では、アドレス比較器1のパルス1bの間隔が長
くなった時はCPU9の異常を確実に検出することは可
能であるが、反対にパルス1bの間隔が短くなった時は
ワンショットマルチ4の出力1cがハイレベルのままと
なるため、CPU9の異常を検出することができない。
そのため、CPU9が完全に停止した場合等は異常の検
出は可能であるが、例えば、CPU9が無限ループに陥
った場合、メインルーチンのみしか処理をしていない場
合等は異常を検出することはできなかった。
視回路では、アドレス比較器1のパルス1bの間隔が長
くなった時はCPU9の異常を確実に検出することは可
能であるが、反対にパルス1bの間隔が短くなった時は
ワンショットマルチ4の出力1cがハイレベルのままと
なるため、CPU9の異常を検出することができない。
そのため、CPU9が完全に停止した場合等は異常の検
出は可能であるが、例えば、CPU9が無限ループに陥
った場合、メインルーチンのみしか処理をしていない場
合等は異常を検出することはできなかった。
【0010】本発明は、上記従来の問題点に鑑みなされ
たもので、どのような場合でも確実にソフトウェアの異
常を検出することが可能なソフトウェア監視回路を提供
することを目的とする。
たもので、どのような場合でも確実にソフトウェアの異
常を検出することが可能なソフトウェア監視回路を提供
することを目的とする。
【0011】
【課題を解決するための手段及び作用】本発明のソフト
ウェア監視回路は、複数の処理を予め決められた順序で
実行するソフトウェアを監視するソフトウェア監視回路
において、前記複数の処理毎に所定の期間内に処理が実
行されたかどうかを監視し、前記複数の処理のうちいず
れかの処理が所定の期間内から外れて実行された時にソ
フトウェアの異常を検出することを特徴としている。本
発明では、この構成によりソフトウェアよる処理が正常
時よりも長くかかっても短すぎてもソフトウェアの異常
を検出でき、CPUの動作状態に拘わらずどのような場
合にもソフトウェアの異常を確実に検出することができ
る。
ウェア監視回路は、複数の処理を予め決められた順序で
実行するソフトウェアを監視するソフトウェア監視回路
において、前記複数の処理毎に所定の期間内に処理が実
行されたかどうかを監視し、前記複数の処理のうちいず
れかの処理が所定の期間内から外れて実行された時にソ
フトウェアの異常を検出することを特徴としている。本
発明では、この構成によりソフトウェアよる処理が正常
時よりも長くかかっても短すぎてもソフトウェアの異常
を検出でき、CPUの動作状態に拘わらずどのような場
合にもソフトウェアの異常を確実に検出することができ
る。
【0012】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照して詳細に説明する。図1は本発明による
ソフトウェア監視回路の第1の実施形態の構成を示す回
路図である。なお、図1では図8の従来回路と同一部分
は同一符号を付して詳しい説明を省略する。図1におい
て、まず、CPU9、アドレス比較器1、ワンショット
マルチ4、フリップフロップ回路8、アドレスバス10
はいずれも図8のものと同じである。アドレス比較器1
はCPU9のアドレスバス10のアドレスが処理1の開
始アドレス1aになるとパルス1bを出力し、ワンショ
ットマルチ4はパルス1bを起点としてパルス幅を伸張
する。但し、ワンショットマルチ4の時定数(パルス
幅)は従来とは異なり、CPU9の処理1の処理時間t
1よりもやや長く設定されている。
て図面を参照して詳細に説明する。図1は本発明による
ソフトウェア監視回路の第1の実施形態の構成を示す回
路図である。なお、図1では図8の従来回路と同一部分
は同一符号を付して詳しい説明を省略する。図1におい
て、まず、CPU9、アドレス比較器1、ワンショット
マルチ4、フリップフロップ回路8、アドレスバス10
はいずれも図8のものと同じである。アドレス比較器1
はCPU9のアドレスバス10のアドレスが処理1の開
始アドレス1aになるとパルス1bを出力し、ワンショ
ットマルチ4はパルス1bを起点としてパルス幅を伸張
する。但し、ワンショットマルチ4の時定数(パルス
幅)は従来とは異なり、CPU9の処理1の処理時間t
1よりもやや長く設定されている。
【0013】CPU9は図2に示すように処理1、処理
2、処理3を順に繰り返し実行するものとし、CPU9
の処理1の処理時間はt1、処理2の処理時間はt2、
処理3の処理時間はt3とする。これは、図8の説明と
全く同様である。また、処理1に入る時のCPU9の開
始アドレスを1a、処理2に入る時の開始アドレスを2
a、処理3に入る時の開始アドレスを3aとし、アドレ
ス比較器1は前述のようにCPU9のアドレスバス10
のアドレスが処理1の開始アドレス1aになるとパルス
1bを出力する。
2、処理3を順に繰り返し実行するものとし、CPU9
の処理1の処理時間はt1、処理2の処理時間はt2、
処理3の処理時間はt3とする。これは、図8の説明と
全く同様である。また、処理1に入る時のCPU9の開
始アドレスを1a、処理2に入る時の開始アドレスを2
a、処理3に入る時の開始アドレスを3aとし、アドレ
ス比較器1は前述のようにCPU9のアドレスバス10
のアドレスが処理1の開始アドレス1aになるとパルス
1bを出力する。
【0014】また、本実施形態では、アドレス比較器
2、アドレス比較器3が設けられ、アドレス比較器2は
CPU9のアドレスバス10のアドレスが処理2の開始
アドレス2aになるとパルス2bを出力し、アドレス比
較器3は同様に処理3の開始アドレス3aになるとパル
ス3bを出力する。ワンショットマルチ5はアドレス比
較器2のパルス2bを起点としてパルス幅を伸張し、ワ
ンショットマルチ6はアドレス比較器3のパルス3bを
起点としてパルス幅を伸張する。ワンショットマルチ5
の時定数はCPU9の処理2の処理時間t2よりもやや
長く設定され、ワンショットマルチ6の時定数はCPU
9の処理3の処理時間t3よりもやや長く設定されてい
る。
2、アドレス比較器3が設けられ、アドレス比較器2は
CPU9のアドレスバス10のアドレスが処理2の開始
アドレス2aになるとパルス2bを出力し、アドレス比
較器3は同様に処理3の開始アドレス3aになるとパル
ス3bを出力する。ワンショットマルチ5はアドレス比
較器2のパルス2bを起点としてパルス幅を伸張し、ワ
ンショットマルチ6はアドレス比較器3のパルス3bを
起点としてパルス幅を伸張する。ワンショットマルチ5
の時定数はCPU9の処理2の処理時間t2よりもやや
長く設定され、ワンショットマルチ6の時定数はCPU
9の処理3の処理時間t3よりもやや長く設定されてい
る。
【0015】ワンショットマルチ4、5、6の出力はオ
ア回路7で論理和がとられ、フリップフロップ回路8の
/SET端子に供給される。また、/RESET1はこ
のシステム全体のリセット信号、/RESET2は/R
ESET1を所定時間だけ遅延した信号で、フリップフ
ロップ回路8の/RESET端子に供給されている。/
RESET2は前述のようにCPU9がリセットされた
時に初期処理が始まって処理1に入るまでの所定時間フ
リップロップ回路8をリセットする信号であり、この期
間だけソフトウェアの監視をマスクし、CPU9の異常
を誤って検出することを防いでいる。
ア回路7で論理和がとられ、フリップフロップ回路8の
/SET端子に供給される。また、/RESET1はこ
のシステム全体のリセット信号、/RESET2は/R
ESET1を所定時間だけ遅延した信号で、フリップフ
ロップ回路8の/RESET端子に供給されている。/
RESET2は前述のようにCPU9がリセットされた
時に初期処理が始まって処理1に入るまでの所定時間フ
リップロップ回路8をリセットする信号であり、この期
間だけソフトウェアの監視をマスクし、CPU9の異常
を誤って検出することを防いでいる。
【0016】次に、本実施形態の具体的な動作について
説明する。図3はCPU9が正常に動作している時の各
部の信号を示すタイムチャートである。まず、図3
(G)に示すように/RESET1がハイレベルになる
とCPU9は動作を開始し、図2の処理1に入る時に処
理1の開始アドレス1aをアドレスバス10に出力す
る。アドレス比較器1はアドレスバス10のアドレス1
aを検出すると、図3(A)に示すようにパルス1bを
ワンショットマルチ4に出力し、ワンショットマルチ4
はパルス1bを起点してパルス幅を図3(B)に示すよ
うに伸張し、パルス1cとして出力する。ワンショット
マルチ4のパルス1cのパルス幅は処理1の処理時間t
1よりもやや長く設定されている。なお、/RESET
2は図3(H)に示すようにCPU9の動作開始から所
定時間はローレベルとなってフリップフロップ回路8を
リセットしている。
説明する。図3はCPU9が正常に動作している時の各
部の信号を示すタイムチャートである。まず、図3
(G)に示すように/RESET1がハイレベルになる
とCPU9は動作を開始し、図2の処理1に入る時に処
理1の開始アドレス1aをアドレスバス10に出力す
る。アドレス比較器1はアドレスバス10のアドレス1
aを検出すると、図3(A)に示すようにパルス1bを
ワンショットマルチ4に出力し、ワンショットマルチ4
はパルス1bを起点してパルス幅を図3(B)に示すよ
うに伸張し、パルス1cとして出力する。ワンショット
マルチ4のパルス1cのパルス幅は処理1の処理時間t
1よりもやや長く設定されている。なお、/RESET
2は図3(H)に示すようにCPU9の動作開始から所
定時間はローレベルとなってフリップフロップ回路8を
リセットしている。
【0017】CPU9は処理1を終了すると、図2の処
理2を開始し、処理2に入る時に開始アドレス2aをア
ドレスバス10に出力する。アドレス比較器2はアドレ
ス2aを検出すると、図3(C)に示すようにパルス2
bを出力し、ワンショットマルチ5はパルス2bを起点
として図3(D)に示すようにパルス幅を伸張し、パル
ス2cとして出力する。パルス2cの幅は処理2の処理
時間t2よりもやや長く設定されている。CPU9は処
理2を終了すると、図2の処理3を開始し、処理3に入
る時に開始アドレス3aをアドレスバス10に出力す
る。
理2を開始し、処理2に入る時に開始アドレス2aをア
ドレスバス10に出力する。アドレス比較器2はアドレ
ス2aを検出すると、図3(C)に示すようにパルス2
bを出力し、ワンショットマルチ5はパルス2bを起点
として図3(D)に示すようにパルス幅を伸張し、パル
ス2cとして出力する。パルス2cの幅は処理2の処理
時間t2よりもやや長く設定されている。CPU9は処
理2を終了すると、図2の処理3を開始し、処理3に入
る時に開始アドレス3aをアドレスバス10に出力す
る。
【0018】アドレス比較器3はアドレス3aを検出す
ると、図3(E)に示すようにパルス3bを出力し、ワ
ンショットマルチ6はパルス3bを図3(F)に示すよ
うにパルス3cに伸張して出力する。パルス3cの幅は
処理3の処理時間t3よりもやや長く設定されている。
ワンショットマルチ4〜6の出力1c、2c、3cはオ
ア回路7で論理和をとられ、図3(I)に示す信号dと
してフリップフロップ回路8に供給される。
ると、図3(E)に示すようにパルス3bを出力し、ワ
ンショットマルチ6はパルス3bを図3(F)に示すよ
うにパルス3cに伸張して出力する。パルス3cの幅は
処理3の処理時間t3よりもやや長く設定されている。
ワンショットマルチ4〜6の出力1c、2c、3cはオ
ア回路7で論理和をとられ、図3(I)に示す信号dと
してフリップフロップ回路8に供給される。
【0019】ここで、CPU9が正常に動作している時
はパルス1b、2b、3bは各々希望する所定間隔で且
つ希望する順序で出力されるため、ワンショットマルチ
4〜6の出力1c、2c、3cはタイミングが互いに重
なり合い、オア回路7の出力信号dは図3(I)に示す
ようにハイレベルを保持しつづける。従って、フリップ
フロップ回路8は信号dによりセットされず、フリップ
フロップ回路8の出力は図3(J)に示すようにローレ
ベルを保持しつづけるため、アラームは出力されず、C
PU9は処理1〜処理3を繰り返し実行する。
はパルス1b、2b、3bは各々希望する所定間隔で且
つ希望する順序で出力されるため、ワンショットマルチ
4〜6の出力1c、2c、3cはタイミングが互いに重
なり合い、オア回路7の出力信号dは図3(I)に示す
ようにハイレベルを保持しつづける。従って、フリップ
フロップ回路8は信号dによりセットされず、フリップ
フロップ回路8の出力は図3(J)に示すようにローレ
ベルを保持しつづけるため、アラームは出力されず、C
PU9は処理1〜処理3を繰り返し実行する。
【0020】次に、CPU9のソフトウェアに異常を生
じた場合の動作について説明する。ます、図4はCPU
9の処理が正常時よりも長くかかって異常を生じた時の
各部の信号を示している。図4(A)〜(J)はそれぞ
れ図3(A)〜(J)に対応している。ここでは、例え
ば、CPU9の処理1の処理時間が正常時の処理時間t
1よりも長くかかり、処理2に入る時タイミングが遅れ
た場合を例として説明する。このように処理1の処理時
間が正常時よりも長くかかると、CPU9からアドレス
バス10にアドレス2aを出力するタイミングが遅れる
ため、図4(C)に示すようにアドレス比較器2からの
パルス2bのタイミングが正常時よりも遅れてしまう。
じた場合の動作について説明する。ます、図4はCPU
9の処理が正常時よりも長くかかって異常を生じた時の
各部の信号を示している。図4(A)〜(J)はそれぞ
れ図3(A)〜(J)に対応している。ここでは、例え
ば、CPU9の処理1の処理時間が正常時の処理時間t
1よりも長くかかり、処理2に入る時タイミングが遅れ
た場合を例として説明する。このように処理1の処理時
間が正常時よりも長くかかると、CPU9からアドレス
バス10にアドレス2aを出力するタイミングが遅れる
ため、図4(C)に示すようにアドレス比較器2からの
パルス2bのタイミングが正常時よりも遅れてしまう。
【0021】従って、図4(D)に示すようにワンショ
ットマルチ5の出力2cの立ち上がりのタイミングが正
常時よりも遅れてしまい、パルス1cと2cの間に時間
的に隙間ができるため、オア回路7の出力信号dは図4
(I)に示すように一時的にローレベルとなる。このよ
うにオア回路7の出力信号dがローレベルになると、フ
リップフロップ回路8がセットされるため、図4(J)
に示すようにフリップフロップ回路8からアラームが出
力され、CPU9のソフトウェアの異常を検出すること
ができる。
ットマルチ5の出力2cの立ち上がりのタイミングが正
常時よりも遅れてしまい、パルス1cと2cの間に時間
的に隙間ができるため、オア回路7の出力信号dは図4
(I)に示すように一時的にローレベルとなる。このよ
うにオア回路7の出力信号dがローレベルになると、フ
リップフロップ回路8がセットされるため、図4(J)
に示すようにフリップフロップ回路8からアラームが出
力され、CPU9のソフトウェアの異常を検出すること
ができる。
【0022】また、図5はCPU9の処理が正常時より
も短くなった場合の各部の信号を示している。図5
(A)〜(J)はそれぞれ図3(A)〜(J)に対応し
ている。図5では図4とは反対にCPU9の処理1の処
理時間が正常時の処理時間t1よりも短くなった場合を
示している。CPU9の処理1の処理時間が短くなる
と、処理2に入るタイミングが正常時よりも早くなるた
め、図5(C)に示すようにアドレス比較器2のパルス
2bが正常時よりも早く出力される。従って、図5
(D)に示すようにワンショットマルチ5のパルス2c
の立ち上がりのタイミングが早くなるため、パルス1c
と2cは時間的に重なり合うが、パルス1cと3cの間
に時間的に隙間を生じる。
も短くなった場合の各部の信号を示している。図5
(A)〜(J)はそれぞれ図3(A)〜(J)に対応し
ている。図5では図4とは反対にCPU9の処理1の処
理時間が正常時の処理時間t1よりも短くなった場合を
示している。CPU9の処理1の処理時間が短くなる
と、処理2に入るタイミングが正常時よりも早くなるた
め、図5(C)に示すようにアドレス比較器2のパルス
2bが正常時よりも早く出力される。従って、図5
(D)に示すようにワンショットマルチ5のパルス2c
の立ち上がりのタイミングが早くなるため、パルス1c
と2cは時間的に重なり合うが、パルス1cと3cの間
に時間的に隙間を生じる。
【0023】そのため、オア回路7の出力信号dは図5
(I)に示すように一時的にローレベルとなり、フリッ
プフロップ回路8がセットされるため、図5(J)に示
すようにフリップフロップ回路8からアラームが出力さ
れ、CPU9の異常を検出することができる。なお、図
4、図5ではCPU9の処理1の処理時間が正常時より
も長くかかった場合と短い場合にソフトウェアの異常を
検出する例について説明したが、他の処理2、3につい
ても全く同様にソフトウェアの異常を検出することがで
きる。
(I)に示すように一時的にローレベルとなり、フリッ
プフロップ回路8がセットされるため、図5(J)に示
すようにフリップフロップ回路8からアラームが出力さ
れ、CPU9の異常を検出することができる。なお、図
4、図5ではCPU9の処理1の処理時間が正常時より
も長くかかった場合と短い場合にソフトウェアの異常を
検出する例について説明したが、他の処理2、3につい
ても全く同様にソフトウェアの異常を検出することがで
きる。
【0024】このように本実施形態においては、CPU
9の処理毎に処理時間を監視し、CPU9の各処理の処
理時間が所定の期間内から外れた時にアラームを出力し
ているので、CPU9の処理時間が正常時よりも長くか
かっても短すぎてもCPU9のソフトウェアの異常を検
出することができる。従って、CPU9が完全に停止し
た場合のみならず、CPU9が無限ループに入った場合
やメインルーチンのみしか処理していない場合等の異常
も検出することができ、CPU9の動作状態の如何に拘
わらず、どのような場合にもソフトウェアの異常を確実
に検出することができる。
9の処理毎に処理時間を監視し、CPU9の各処理の処
理時間が所定の期間内から外れた時にアラームを出力し
ているので、CPU9の処理時間が正常時よりも長くか
かっても短すぎてもCPU9のソフトウェアの異常を検
出することができる。従って、CPU9が完全に停止し
た場合のみならず、CPU9が無限ループに入った場合
やメインルーチンのみしか処理していない場合等の異常
も検出することができ、CPU9の動作状態の如何に拘
わらず、どのような場合にもソフトウェアの異常を確実
に検出することができる。
【0025】図6は本発明の第2の実施形態の構成を示
す回路図である。本実施形態では、CPU9の各処理の
開始アドレスを検出するアドレス比較器毎にアンド回路
と2つのワンショットマルチが設けられている。即ち、
アドレス比較器1の出力にアンド回路11を介してワン
ショットマルチ4−1、4−2が、アドレス比較器2の
出力にアンド回路12を介してワンショットマルチ5−
1、5−2が、アドレス比較器3の出力にアンド回路1
3を介してワンショットマルチ6−1、6−2が設けら
れている。なお、CPU9は図2に示すように処理1〜
3を順に繰り返し実行するものとする。
す回路図である。本実施形態では、CPU9の各処理の
開始アドレスを検出するアドレス比較器毎にアンド回路
と2つのワンショットマルチが設けられている。即ち、
アドレス比較器1の出力にアンド回路11を介してワン
ショットマルチ4−1、4−2が、アドレス比較器2の
出力にアンド回路12を介してワンショットマルチ5−
1、5−2が、アドレス比較器3の出力にアンド回路1
3を介してワンショットマルチ6−1、6−2が設けら
れている。なお、CPU9は図2に示すように処理1〜
3を順に繰り返し実行するものとする。
【0026】ワンショットマルチ4−1の時定数(パル
ス幅)はCPU9の処理1の処理時間t1よりもやや長
く、ワンショットマルチ4−2のパルス幅はやや短く設
定されている。また、ワンショットマルチ5−1のパル
ス幅はCPU9の処理2の処理時間t2よりもやや長
く、ワンショットマルチ5−2のパルス幅はやや短く設
定され、更にワンショットマルチ6−1のパルス幅はC
PU9の処理3の処理時間t3よりもやや長く、ワンシ
ョットマルチ6−2のパルス幅はやや短く設定されてい
る。ここで、ワンショットマルチ5−1、5−2の入力
信号はアドレス比較器2からのパルス2bであるが、ア
ンド回路12によりワンショットマルチ4−1の出力Q
がハイレベル、ワンショットマルチ4−2の出力/Qが
ハイレベルの時のみパルス2bが通過するようにゲート
がかけられている。
ス幅)はCPU9の処理1の処理時間t1よりもやや長
く、ワンショットマルチ4−2のパルス幅はやや短く設
定されている。また、ワンショットマルチ5−1のパル
ス幅はCPU9の処理2の処理時間t2よりもやや長
く、ワンショットマルチ5−2のパルス幅はやや短く設
定され、更にワンショットマルチ6−1のパルス幅はC
PU9の処理3の処理時間t3よりもやや長く、ワンシ
ョットマルチ6−2のパルス幅はやや短く設定されてい
る。ここで、ワンショットマルチ5−1、5−2の入力
信号はアドレス比較器2からのパルス2bであるが、ア
ンド回路12によりワンショットマルチ4−1の出力Q
がハイレベル、ワンショットマルチ4−2の出力/Qが
ハイレベルの時のみパルス2bが通過するようにゲート
がかけられている。
【0027】また、ワンショットマルチ6−1、6−2
の入力信号はアドレス比較器3からのパルス3bである
が、アンド回路13によりワンショットマルチ5−1の
出力Qがハイレベル、ワンショットマルチ5−2の出力
/Qがハイレベルの時のみパルス3bが通過するように
ゲートがかけられている。同様に、ワンショットマルチ
4−1,4−2の入力信号はアドレス比較器1からのパ
ルス1bであるが、アンド回路11によりワンショット
マルチ6−1の出力Qがハイレベル、ワンショットマル
チ6−2の出力/Qがハイレベルの時のみパルス1bが
通過するようにゲートがかけられている。但し、最初の
時点ではワンショットマルチ6−1は起動していないの
で、その出力とRESET2がオア回路14で論理和が
とられ、ワンショットマルチ6−1の出力を強制的にハ
イレベルとしてアンド回路11に供給している。その他
の構成は図1と同じである。
の入力信号はアドレス比較器3からのパルス3bである
が、アンド回路13によりワンショットマルチ5−1の
出力Qがハイレベル、ワンショットマルチ5−2の出力
/Qがハイレベルの時のみパルス3bが通過するように
ゲートがかけられている。同様に、ワンショットマルチ
4−1,4−2の入力信号はアドレス比較器1からのパ
ルス1bであるが、アンド回路11によりワンショット
マルチ6−1の出力Qがハイレベル、ワンショットマル
チ6−2の出力/Qがハイレベルの時のみパルス1bが
通過するようにゲートがかけられている。但し、最初の
時点ではワンショットマルチ6−1は起動していないの
で、その出力とRESET2がオア回路14で論理和が
とられ、ワンショットマルチ6−1の出力を強制的にハ
イレベルとしてアンド回路11に供給している。その他
の構成は図1と同じである。
【0028】図7は図6の実施形態の各部の信号を示す
タイムチャートである。まず、図7(A)はアドレス比
較器1の出力パルス1bを示している。CPU9のアド
レスバス10から処理1の開始アドレス1aを検出する
と、図7(A)に示すようにアドレス比較器1からパル
ス1bが出力される。ここで、アンド回路11にはオア
回路14、ワンショットマルチ6−1から信号が供給さ
れていて、パルス1bがアンド回路11を通過できるの
は図7(H)に示すワンショットマルチ6−1の出力Q
がオア回路14を通った信号、図7(I)に示すワンシ
ョットマルチ6−1の出力/Qがともにハイレベルの期
間のみである。
タイムチャートである。まず、図7(A)はアドレス比
較器1の出力パルス1bを示している。CPU9のアド
レスバス10から処理1の開始アドレス1aを検出する
と、図7(A)に示すようにアドレス比較器1からパル
ス1bが出力される。ここで、アンド回路11にはオア
回路14、ワンショットマルチ6−1から信号が供給さ
れていて、パルス1bがアンド回路11を通過できるの
は図7(H)に示すワンショットマルチ6−1の出力Q
がオア回路14を通った信号、図7(I)に示すワンシ
ョットマルチ6−1の出力/Qがともにハイレベルの期
間のみである。
【0029】即ち、図7(H)、(I)に示すようにワ
ンショットマルチ6−1に設定されているCPU9の処
理3の処理時間t3よりもやや長い時間と、ワンショッ
トマルチ6−2に設定されている処理時間t3よりもや
や短い時間との差の時間内にパルス1bが出力された時
のみパルス1bはアンド回路11を通過することができ
る。従って、この時間内にパルス1bが出力された時は
CPU9は処理1を正常に実行した時で、オア回路7の
信号dはハイレベルを保持し、フリップフロップ回路8
からアラームは出力されない。一方、この時間内からパ
ルス1bが外れた時はCPU9の処理1の処理時間が正
常時よりも長くかかったか、短かすぎたかの異常を生じ
た時である。従って、この時はパルス1bはアンド回路
11でゲートされるので、オア回路7の信号dはローレ
ベルとなってフリップフロップ回路8がセットされ、フ
リップフロップ回路8からソフトウェアの異常を示すア
ラームが出力される。
ンショットマルチ6−1に設定されているCPU9の処
理3の処理時間t3よりもやや長い時間と、ワンショッ
トマルチ6−2に設定されている処理時間t3よりもや
や短い時間との差の時間内にパルス1bが出力された時
のみパルス1bはアンド回路11を通過することができ
る。従って、この時間内にパルス1bが出力された時は
CPU9は処理1を正常に実行した時で、オア回路7の
信号dはハイレベルを保持し、フリップフロップ回路8
からアラームは出力されない。一方、この時間内からパ
ルス1bが外れた時はCPU9の処理1の処理時間が正
常時よりも長くかかったか、短かすぎたかの異常を生じ
た時である。従って、この時はパルス1bはアンド回路
11でゲートされるので、オア回路7の信号dはローレ
ベルとなってフリップフロップ回路8がセットされ、フ
リップフロップ回路8からソフトウェアの異常を示すア
ラームが出力される。
【0030】図7(D)はアドレス比較器2のパルス2
bを示している。パルス2bがアンド回路12を通過で
きるのは、図7(B)に示すようにワンショットマルチ
4−1に設定されているCPU9の処理1の処理時間t
1よりもやや長い時間と、図7(C)に示すように処理
時間t1よりもやや短い時間との差の時間内にパルス2
bが出力された時のみである。この時間内にパルス2b
が出力された時はCPU9は処理2を正常に実行した時
で、フリップフロップ回路8からアラームは出力されな
い。また、この時間内からパルス2bが外れた時はCP
U9は処理2を正常に実行しなかった時で、パルス2b
はアンド回路12でゲートされるので、フリップフロッ
プ回路8からアラームが出力され、ソフトウェアの異常
を検出することができる。
bを示している。パルス2bがアンド回路12を通過で
きるのは、図7(B)に示すようにワンショットマルチ
4−1に設定されているCPU9の処理1の処理時間t
1よりもやや長い時間と、図7(C)に示すように処理
時間t1よりもやや短い時間との差の時間内にパルス2
bが出力された時のみである。この時間内にパルス2b
が出力された時はCPU9は処理2を正常に実行した時
で、フリップフロップ回路8からアラームは出力されな
い。また、この時間内からパルス2bが外れた時はCP
U9は処理2を正常に実行しなかった時で、パルス2b
はアンド回路12でゲートされるので、フリップフロッ
プ回路8からアラームが出力され、ソフトウェアの異常
を検出することができる。
【0031】図7(G)はアドレス比較器3のパルス3
bを示している。パルス3bがアンド回路13を通過で
きるのは、図7(E)に示すようにワンショットマルチ
5−1に設定されているCPU9の処理2の処理時間t
2よりもやや長い時間と、図7(F)に示すように処理
時間t2よりもやや短い時間との差の時間内にパルス2
bが出力された時のみである。この時間内にパルス3b
が出力された時はCPU9は処理3を正常に実行した時
で、フリップフロップ回路8からアラームは出力されな
い。また、この時間内からパルス2bが外れた時は処理
3は正常に実行されなかった時で、パルス3bはアンド
回路13でゲートされ、フリップフロップ回路8からア
ラームが出力される。
bを示している。パルス3bがアンド回路13を通過で
きるのは、図7(E)に示すようにワンショットマルチ
5−1に設定されているCPU9の処理2の処理時間t
2よりもやや長い時間と、図7(F)に示すように処理
時間t2よりもやや短い時間との差の時間内にパルス2
bが出力された時のみである。この時間内にパルス3b
が出力された時はCPU9は処理3を正常に実行した時
で、フリップフロップ回路8からアラームは出力されな
い。また、この時間内からパルス2bが外れた時は処理
3は正常に実行されなかった時で、パルス3bはアンド
回路13でゲートされ、フリップフロップ回路8からア
ラームが出力される。
【0032】本実施形態では、CPU9の処理毎に所定
の時間範囲を設定し、CPU9の処理時間が所定の時間
範囲から外れた時にアラームを出力しているので、CP
U9の各処理の処理時間が正常時よりも長くかかっても
短かすぎてもCPU9のソフトウェアの異常を確実に検
出することができる。従って、第1の実施形態と同様に
CPU9の動作状態に拘わらず、どのような場合でもソ
フトウェアの異常を確実に検出することができる。
の時間範囲を設定し、CPU9の処理時間が所定の時間
範囲から外れた時にアラームを出力しているので、CP
U9の各処理の処理時間が正常時よりも長くかかっても
短かすぎてもCPU9のソフトウェアの異常を確実に検
出することができる。従って、第1の実施形態と同様に
CPU9の動作状態に拘わらず、どのような場合でもソ
フトウェアの異常を確実に検出することができる。
【0033】
【発明の効果】以上説明したように本発明によれば、複
数の処理毎に所定の期間内に処理が実行されたかどうか
を監視し、複数の処理のうちいずれかの処理が所定の期
間内から外れて実行された時にソフトウェアの異常を検
出しているので、ソフトウェアよる処理が正常時よりも
長くかかっても短すぎてもソフトウェアの異常を検出で
き、CPUの動作状態に拘わらずどのような場合にもソ
フトウェアの異常を確実に検出することができる。
数の処理毎に所定の期間内に処理が実行されたかどうか
を監視し、複数の処理のうちいずれかの処理が所定の期
間内から外れて実行された時にソフトウェアの異常を検
出しているので、ソフトウェアよる処理が正常時よりも
長くかかっても短すぎてもソフトウェアの異常を検出で
き、CPUの動作状態に拘わらずどのような場合にもソ
フトウェアの異常を確実に検出することができる。
【図1】本発明のソフトウェア監視回路の第1の実施形
態を示す回路図である。
態を示す回路図である。
【図2】図1の実施形態のCPUの処理を示す図であ
る。
る。
【図3】図1の実施形態のCPUの処理が正常な場合の
各部の信号を示すタイムチャートである。
各部の信号を示すタイムチャートである。
【図4】図1の実施形態のCPUの処理が正常時よりも
長くかかった場合の各部の信号を示すタイムチャートで
ある。
長くかかった場合の各部の信号を示すタイムチャートで
ある。
【図5】図1の実施形態のCPUの処理が正常時よりも
短い場合の各部の信号を示すタイムチャートである。
短い場合の各部の信号を示すタイムチャートである。
【図6】本発明の第2の実施形態を示す回路図である。
【図7】図6の実施形態の各部の信号を示すタイムチャ
ートである。
ートである。
【図8】従来例のソフトウェア監視回路を示す回路図で
ある。
ある。
【図9】図8の回路の正常動作時の各部の信号を示すタ
イムチャートである。
イムチャートである。
【図10】図8の回路の異常動作時の各部の信号を示す
タイムチャートである。
タイムチャートである。
1〜3 アドレス比較器 4〜6 ワンショットマルチ 4−1、4−2 ワンショットマルチ 5−1、5−2 ワンショットマルチ 6−1、6−2 ワンショットマルチ 7、14 オア回路 8 フリップフロップ回路 9 CPU 10 アドレスバス 11〜13 アンド回路
Claims (1)
- 【請求項1】 複数の処理を予め決められた順序で実行
するソフトウェアを監視するソフトウェア監視回路にお
いて、前記複数の処理毎に所定の期間内に処理が実行さ
れたかどうかを監視し、前記複数の処理のうちいずれか
の処理が所定の期間内から外れて実行された時にソフト
ウェアの異常を検出することを特徴とするソフトウェア
監視回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10177277A JP2000010824A (ja) | 1998-06-24 | 1998-06-24 | ソフトウェア監視回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10177277A JP2000010824A (ja) | 1998-06-24 | 1998-06-24 | ソフトウェア監視回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000010824A true JP2000010824A (ja) | 2000-01-14 |
Family
ID=16028242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10177277A Pending JP2000010824A (ja) | 1998-06-24 | 1998-06-24 | ソフトウェア監視回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2000010824A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112416673A (zh) * | 2020-11-13 | 2021-02-26 | 宁波拓普集团股份有限公司 | 一种前后触发型周期运行任务的硬件监控装置及方法 |
-
1998
- 1998-06-24 JP JP10177277A patent/JP2000010824A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112416673A (zh) * | 2020-11-13 | 2021-02-26 | 宁波拓普集团股份有限公司 | 一种前后触发型周期运行任务的硬件监控装置及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4635258A (en) | System for detecting a program execution fault | |
JP2003248598A (ja) | マイクロコントローラ及びマイクロコントローラの故障検出方法 | |
JP2000010824A (ja) | ソフトウェア監視回路 | |
US4710928A (en) | Method and apparatus for detecting the uncontrollable operation of a control system | |
JPH06324721A (ja) | 接続ユニット脱落検知方法 | |
JPH09167107A (ja) | マイクロコンピュータの異常監視装置 | |
JPS5855535B2 (ja) | 車両用マルチコンピユ−タ装置 | |
JP2659067B2 (ja) | マイクロコンピュータのリセット回路 | |
JPH0983612A (ja) | 処理信号保護回路 | |
JPH0750467B2 (ja) | ワンチップマイクロコンピュータ | |
JPH09237205A (ja) | プログラム暴走検出装置 | |
JPH1166020A (ja) | マイクロコンピュータの異常検出回路 | |
JPH08278903A (ja) | Cpuの暴走監視方法 | |
JPS63123138A (ja) | マイコン暴走検知回路 | |
JPS62175840A (ja) | マルチレベル・ウオツチドツグ・タイマ−方式 | |
JPH1051515A (ja) | 通信異常検出装置 | |
JPH0973404A (ja) | ウオッチドッグタイマ回路 | |
JPH0279135A (ja) | プログラム走行監視方式 | |
JPS62172441A (ja) | マルチcpuシステムの暴走検出装置 | |
JPH04239340A (ja) | ソフトウェア処理異常検出方法と装置 | |
JP2001186652A (ja) | ディジタル形保護継電装置 | |
JPH11327959A (ja) | プロセッサの異常監視方法及び装置 | |
JPH05143375A (ja) | プロセツサ誤動作監視装置 | |
JPH10307601A (ja) | Cpuの出力制御回路 | |
JPH05257752A (ja) | 中央演算処理装置の動作異常検出方式 |