JPH03255546A - マイクロコンピュータのプログラム暴走検出回路 - Google Patents

マイクロコンピュータのプログラム暴走検出回路

Info

Publication number
JPH03255546A
JPH03255546A JP2054097A JP5409790A JPH03255546A JP H03255546 A JPH03255546 A JP H03255546A JP 2054097 A JP2054097 A JP 2054097A JP 5409790 A JP5409790 A JP 5409790A JP H03255546 A JPH03255546 A JP H03255546A
Authority
JP
Japan
Prior art keywords
bit
latch
program
interval timer
output
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
Application number
JP2054097A
Other languages
English (en)
Other versions
JP2864630B2 (ja
Inventor
Kazutoshi Yoshizawa
吉澤 和俊
Toshiyuki Kataoka
俊幸 片岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2054097A priority Critical patent/JP2864630B2/ja
Publication of JPH03255546A publication Critical patent/JPH03255546A/ja
Application granted granted Critical
Publication of JP2864630B2 publication Critical patent/JP2864630B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマイクロコンピュータのプログラム暴走検出回
路に関し、特に任意の箇所で無限ループ等のプログラム
の暴走を検出するマイクロコンピュータのプログラム暴
走検出回路に関する。
〔従来の技術〕
マイクロプロセッサあるいはワンチップマイクロコンピ
ュータ(以下総称してマイクロコンピュータと呼ぶ)は
年々、集積度の向上に伴い、アドレッシング可能なプロ
グラムメモリ空間の拡大あるいは内蔵メモリ容量が増大
し、またさまざまな周辺機能内蔵による時分割制御など
、ますます複雑な制御を行うことが可能となってきてい
る。また、応用分野もこれに伴い家電など身近な民生分
野から、情報処理装置1通信機器、自動車のエンジンコ
ントロール等多岐に渡っており、これらの制御の中枢と
なるマイクロコンピュータのプログラム実行が暴走する
などの異常動作が発生した場合、これをいち早く検出す
ることは非常に重要となってきている。
従来、何らかの外的要因あるいは当初子期しなかったよ
うな特殊条件等によりプログラムが無限ループにはいる
など暴走した場合、これを検出する回路としてウォッチ
ドッグタイマが知られている。
ウォ)チドッグタイマは、所定のクロックソースをカウ
ントして一定時間毎にオーバーフローすることにより、
マイクロコンピュータへの割込み又はリセット信号を発
生するインターバルタイマで、プログラムでクリアする
ことができる。すなわちプログラム実行における一連の
処理が所定時間内に終了しない場合にこの状態をプログ
ラム実行異常とみなして割込み信号を発生したり、内部
リセット信号を発生する機能をもった回路である。
従来のウォッチドッグタイマの構成を第3図に示す。
所定のクロックソースCKSを入力としてカウントする
所定ビット長のインターノ\ルタイマ10(ウォッチド
ッグタイマ)があり、オーツ)−フロー信号をもとに割
込み信号r N R又はリセット信号R3Tを発生し、
マイクロコンピュータに割込み又はリセットがかかる。
また、インターバルタイマ10は、カウント動作中にク
リア命令CLRによりクリアすることができる。
従って、第4図に示すように、あらかじめプログラム処
理ルーチンPR中にインターノ\ルタイマ10がオーバ
ーフローするより短い周期でクリア命令CLRを適宜配
置しておくことにより、プログラムPGが正しい処理ル
ーチンを実行している場合にはクリア命令CLRにより
インターバルタイマがクリアされオーバーフローは発生
しないが、もし何らかの原因でプログラムPGが暴走し
、第4図“L1′″に示すように無限ループにはいった
場合には、クリア命令CLRが実行されないため、イン
ターバルタイマ10がオーバーフロー口、割込み信号I
NRまたはリセット信号R3Tが発生して異常状態から
抜は出すことができる。
実際のプログラム処理ルーチンPRは第4図にしめされ
た例よりもっと複雑であり、途中でサブルーチンや周辺
機能からの割込み処理ルーチン等に分岐するので、これ
らの分岐処理時間も考慮してクリア命令CLRを配置す
る必要があるが、木簡を離れるので簡単のため省略した
〔発明が解決しようとする課題〕
上述した従来のマイクロコンピュータのプログラム暴走
検出回路は、第4図に示された無限ループL1のように
クリア命令CLR以外のところで無限ループにはいった
場合には有効であるが、無限ループL2のようにクリア
命令CLRを含む部分で無限ループにはいった場合には
インターバルタイマ10がクリアされるため、暴走状態
にもかかわらず割込み又はリセットがかからず、無限ル
ープから抜は出すことができないという欠点がある。
本発明の目的は、インターバルタイマをクリアする命令
を含む部分で無限ループにはいったときてもこれを検出
し、この無限ループから抜は出すことができるマイクロ
コンピュータのプロクラム暴走検出回路を提供すること
にある。
〔課題を解決するための手段〕
本発明のマイクロコンピュータのプログラム暴走検出回
路は、マイクロコンピュータに内蔵する暴走検出回路に
おいて、所定のクロックソースを入力として所定クロッ
ク数カウント後に割込み信号及びリセット45号のうち
一方を発生し、り11 ’r信号入力によりカウンタ値
をクリアするインターバルタイマと、各ビットに対し命
令により書込み可能な所定ビット長よりなるマスターラ
ッチと、前記マスターラッチの出力を入力とする所定ビ
ット長のスレーブラッチと、前記マスターラッチに書込
むときに指定したビットに対応した前記スレーブラッチ
のビット出力を選択する選択回路と、前記選択回路によ
り選択されたスレーブラッチのビット出力にもとづき前
記インターバルタイマのクリア信号を発生する手段とを
有している。
〔実施例〕
次に、本発明の実施例について図面を参照しで説明する
第1図は本発明の一実施例を示す図である。
インターバルタイマ1は、所定のクロックソースCKS
に基づきカウント動作を行い、所定カウント数を越える
とオーバーフローを発生し、割込み信号INR,lJセ
ット信号R3Tを出力する所定ビット長のインターバル
タイマである。
4ビツト長のマスターラッチ6は、タイミング信号t1
命令により所定のビットをデータバス8を介してセット
することができ、データを4ビツト長のスレーブラッチ
5へ出力する。選択回路3は、マスターラッチ6への書
込み命令実行時に1ビツトを選択するための信号B O
,B 1にもとづき、スレーブラッチ5の出力信号を選
択して出力する。
選択回路3の出力信号をインバータ9を介して入力する
信号とマスターラッチ6の所定のビットをセットする命
令を実行した場合に出力されるマスクラッチセット命令
信号とを入力とするANDゲート2の出力は、ORゲー
ト7へ接続されてインターバルタイマ1のクリア信号C
LRを発生する。
ANDゲート4は、スレーブラッチ5の出力が全て“l
”になったときにマスターラッチ6を初期化する。マス
ターラッチ6は、インターバルタイマ1のオーバーフロ
ーによって発生する割込み信号INR又はリセット信号
R5Tによっても初期化される。また、マスターラッチ
6はマイクロコンピュータのメモリ空間の中の1つのア
ドレスに割当てられており、メモリへの書込み命令によ
りデータバス8を介してデータの書き込みができる。
次に、第2図を参照し、第1図に示された実施例にもと
づいたプログラム実行動作について説明する。
説明を簡単にするために、第2図の矢印で示したような
プログラム処理ルー・チンPRIで一連の処理をくり返
すものとする。
このとき、第1図のインターバルタイマ1のオーバーフ
ロー時間T以内の時間間隔でマスターラッチ6のピッ)
0(mo)からビット (〜3)をセットする命令を置
く。
例えば、第2図のように、正常時にはA番地−B番地=
C番地→D番地を、この順に各間隔が時間T以内にアク
セスするような場合には、A番地にマスターラッチ6の
ビット0  (m、)をセットする命令を置き、B番地
にマスターラッチ6のピッ) 1  (m、)をセット
する命令を置き、C番地にマスターラッチ6のピッ)0
(m、)をセットする命令を置き、D番地にマスターラ
ッチ6のピッ)0(rrh)をセットする命令を置く。
マイクロコンピュータへのリセット入力により、リセッ
ト信号R3Tがマスターラッチ6及びスレーブラッチ5
へ入力され、これらの全てのビット0〜3  (ma〜
m:+、 S o−S 3)が全て“0”にイニシャラ
イズされる。このとき、データバス8を介してマスター
ラッチ6へ着き込むためのタイミング信号t1とは関係
なくマスターラッチ6はクリアされ、マスターラッチ6
の出力をラッチするタイミング信号t2とは関係なくス
レーブラッチ5はクリアされる。また、リセット信号R
3TによりORゲート7を介してインターバルタイマI
Oのカウント値は全てクリアされる。
タイミング信号t1に続き、かつこのタイミング信号t
1とは異なるタイミング信号t2でマスターラッチ6か
らスレーブラッチ5へ転送されたデータがラッチされる
リセット後はマスターラッチ6、スレーブラッチ5とも
全ビットが“0”に初期化される。この状態においてマ
イクロコンピュータが正常動作してプログラムを正常の
シーケンスで実行する場合には、まずA番地に置いたマ
スターラッチのビットOをセットする命令を実行すると
、マスターラッチ6の4ビツトのうちビット0のmoだ
けセットするデータがデータバス8を介して転送されタ
イミング信号t1でラッチされる。
このときスレーブラッチ5は以前の内容である′0”を
出力しており、ビット0セツト命令で発生するビット指
定信号B O,B Iにもとづき選択回路3がスレーブ
ラッチ5のピッ) O(So)を選択してデータ“0”
を出力するため、インバータ9は“1″を出力し、マス
ターラッチセット命令信号MLSによりANDゲート2
はアクティブ信号“ビを出力し、ORゲート7を介して
クリア信号CLRを発生し、インターバルタイマ1をク
リアする。
そしてタイミング信号t1に続くタイミンク゛信号t2
でスレーブラッチ5のピッ) 0 (So)がマスター
ラッチ6のmoの出力が“1”をラッチする。
次に、インターバルタイマ1がオーバーフローするまで
の時間T以内に、B番地に置かれたセット命令を実行す
ることにより、マスターラッチ6のビットi  (m+
)がセットされる。
ビット0のときと同様の動作によりビット1を指定する
信号B O,B 1により選択回路3はスレーブラッチ
のピッ)Szの内容(“0′)を選択出力するのでイン
ターバルタイマ1がクリアされる。
その後タイミング信号t2でスレーブラッチ5のビット
Slはマスターラッチ6のmlの内容゛1″をラッチす
る。
同様にしてC番地ではマスターラッチ6のビット2  
(m2)をセットする命令によりインターバルタイマ1
がクリアされ、D8地ではマス之−ラッチ6のビット3
  (rn+)をセットする命令によりインターバルタ
イマlがクリアされる。
D番地の実行を終了するとスレーブラッチ5の内容S3
〜Soは全−C“1”になるのでANDゲート4の出力
“1”になり、マスターラッチ6の内容量3〜moがタ
イミング信号t1て全てパO”に初期化され、続くタイ
ミング信号t2でスレーブラッチ5の内容33〜Soも
全て“0“に初期化されて、上述の動作がくり返される
次に、A番地及びB番地実行後に、第2図に示すLlの
ような無限ループにはいった場合について説明する。
A番地及びB番地実行後はマスターラッチ6の内容はm
s = rn2= 0 、 ffl+ = mo = 
1となっており、スレーブラッチ5の内容はS、=S2
=0.S、=St、= 1となっている。
この状態において、第2図のLlのような無限ループに
はいった場合、時間Tを経過してもいずれのセット命令
も実行されないため、インターバルタイマ1のオーバー
フローにより割込み信号工NR又はリセット信号R3T
が発生し、異常動作が検出される。
次に、第2図のL2のような無限ループにはいった場合
について説明する。
A番地、B番地実行後はマスターラッチ6の内容はff
h = ffh = 0 、 m+ = mo = 1
となっており、スレーブラッチ5の内容は53=S2=
0.S、=S0=1となっている。
この状態において、L2の無限ループにはいったとする
と、B番地を何度もくり返すことになる。
即ち、マスターラッチのビット1  (m、)をセット
する命令を実行する。
ところがこのときすでに最初にB番地を実行したときに
スレーブラッチS1は“1″にセットさているため選択
回路3の出力は“1”、従ってインバータ9の出力は0
”である。従って、インターバルタイマ1をクリアする
クリア信号CLRは発生しない。
しかもスレーブランチ5の53.S2は0”のため、A
NDゲート4の出力もアクティブ(” 1 ”)になら
ないためマスターラッチ6の内容もm3m2=01m1
=mo=■を保持したままとなる。
従って、時間T以内にインターバルタイマ1がクリアさ
れないためオーバーフローが発生し、異常検出される。
また、A番地〜D番地のうち3箇所までを含む範囲内で
ループした場合も、残り一箇所を実行しない限りオーバ
ーフローが発生し、異常検出することができる。
〔発明の効果〕
以上説明したように、本発明は、インターバルタイマ(
ウォッチドッグタイマ)をクリアする際に、所定ビット
長のラッチの各ビットをプログラムで操作し、かつこの
プログラム全体の中で操作するビットを変更していかな
いとインターバルタイマがクリアされないように構成す
ることにより、プログラムの無限ループを確実に検出す
ることができる効果があり、従来の単純なウォッチドッ
グタイマに比ベプログラム実行の異常を正確に監視する
ことができ、高集積化に伴い複雑化するマイクロコンピ
ュータのフェールセーフの手段として非常に有効である
−タ、 0・・−・・インターバルタイマ。

Claims (1)

    【特許請求の範囲】
  1. マイクロコンピュータに内蔵する暴走検出回路において
    、所定のクロックソースを入力として所定クロック数カ
    ウント後に割込み信号及びリセット信号のうち一方を発
    生し、クリア信号入力によりカウンタ値をクリアするイ
    ンターバルタイマと、各ビットに対し命令により書込み
    可能な所定ビット長よりなるマスターラッチと、前記マ
    スターラッチの出力を入力とする所定ビット長のスレー
    ブラッチと、前記マスターラッチに書込むときに指定し
    たビットに対応した前記スレーブラッチのビット出力を
    選択する選択回路と、前記選択回路により選択されたス
    レーブラッチのビット出力にもとづき前記インターバル
    タイマのクリア信号を発生する手段とを有することを特
    徴とするマイクロコンピュータのプログラム暴走検出回
    路。
JP2054097A 1990-03-05 1990-03-05 マイクロコンピュータのプログラム暴走検出回路 Expired - Lifetime JP2864630B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2054097A JP2864630B2 (ja) 1990-03-05 1990-03-05 マイクロコンピュータのプログラム暴走検出回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2054097A JP2864630B2 (ja) 1990-03-05 1990-03-05 マイクロコンピュータのプログラム暴走検出回路

Publications (2)

Publication Number Publication Date
JPH03255546A true JPH03255546A (ja) 1991-11-14
JP2864630B2 JP2864630B2 (ja) 1999-03-03

Family

ID=12961120

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2054097A Expired - Lifetime JP2864630B2 (ja) 1990-03-05 1990-03-05 マイクロコンピュータのプログラム暴走検出回路

Country Status (1)

Country Link
JP (1) JP2864630B2 (ja)

Also Published As

Publication number Publication date
JP2864630B2 (ja) 1999-03-03

Similar Documents

Publication Publication Date Title
JP2597153B2 (ja) 書込み保護装置
US6145103A (en) Emulator support mode for disabling and reconfiguring timeouts of a watchdog timer
CA2292991C (en) Watch dog timer system
JPH03255546A (ja) マイクロコンピュータのプログラム暴走検出回路
JPH01140350A (ja) マイクロコンピュータのプログラム暴走検出回路
CA1137641A (en) Single chip microcomputer selectively operable in response to instructions stored on the computer chip or in response to instructions stored external to the chip
JPH01300366A (ja) 共有データ競合制御方式
JPS63214804A (ja) Plc用プロセツサ及びplc
JP3317601B2 (ja) プログラマブルコントローラ
JPH0436841A (ja) マイクロコンピュータ
JPH01125633A (ja) マルチプロセッサシステムのデバッグ法
JPH04332056A (ja) マイクロコンピュータ
JP2850377B2 (ja) マイクロコンピュータ
JPS60124746A (ja) デ−タ処理装置
JPH0325230Y2 (ja)
JPH0226245B2 (ja)
JPH04107748A (ja) マイクロコンピュータ
JPS633353A (ja) メモリのデ−タ書込み制御装置
JPS6343559Y2 (ja)
JP3481039B2 (ja) プログラマブルコントローラ
JPS63103312A (ja) タイマ制御方式
JPS60198939A (ja) 分割デ−タの転送方式
JPS6041767B2 (ja) 命令実行方式
JP2000020498A (ja) マイクロコンピュータおよびその復帰方法
JPS63155330A (ja) マイクロプログラム制御装置