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

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

Info

Publication number
JP2864630B2
JP2864630B2 JP2054097A JP5409790A JP2864630B2 JP 2864630 B2 JP2864630 B2 JP 2864630B2 JP 2054097 A JP2054097 A JP 2054097A JP 5409790 A JP5409790 A JP 5409790A JP 2864630 B2 JP2864630 B2 JP 2864630B2
Authority
JP
Japan
Prior art keywords
bit
master latch
latch
interval timer
signal
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.)
Expired - Lifetime
Application number
JP2054097A
Other languages
English (en)
Other versions
JPH03255546A (ja
Inventor
和俊 吉澤
俊幸 片岡
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
Nippon Electric Co Ltd
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
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

Description

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

Claims (1)

    (57)【特許請求の範囲】
  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 JPH03255546A (ja) 1991-11-14
JP2864630B2 true 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
JPH03255546A (ja) 1991-11-14

Similar Documents

Publication Publication Date Title
US5557548A (en) Method and system for performance monitoring within a data processing system
JP2502960B2 (ja) マイクロコンピュ−タ、ならびにマイクロコンピユ−タおよびマイクロコンピユ−タ・ネットワ−クを動作させる方法
US4878174A (en) Flexible ASIC microcomputer permitting the modular modification of dedicated functions and macroinstructions
US5511207A (en) Program control circuit determining the designated number of times a sequence of instructions is repetitively executed to prevent further execution of a jump instruction
US3566368A (en) Delta clock and interrupt logic
EP0694828A2 (en) Data processor with secure communication
KR850000622B1 (ko) 데이타 처리 시스템
US4167781A (en) Microprocessor system having a single central processing unit shared by a plurality of subsystems each having a memory
US4434465A (en) Shared microinstruction states in control ROM addressing for a microcoded single chip microcomputer
JP2864630B2 (ja) マイクロコンピュータのプログラム暴走検出回路
JP3661852B2 (ja) ライブラリに権利を割り当てるためのシステムを備える保護されたマイクロプロセッサ
US5325341A (en) Digital timer apparatus and method
JPH02304626A (ja) データ処理装置
US4631665A (en) Microprocessor having a programmable logic array
JPH0320776B2 (ja)
CA1119307A (en) Microcomputer having separate bit and word accumulators and separate bit and word instruction sets
JPH01140350A (ja) マイクロコンピュータのプログラム暴走検出回路
JPS6362778B2 (ja)
CA1187616A (en) Single chip microcomputer
JP3523350B2 (ja) プログラムカウンティングシステム及びプログラムカウンター作動方法
JP2693885B2 (ja) マイクロコンピュータ
Lingjaerde A fast microprogrammable processor
JPS62271022A (ja) マイクロプログラム制御装置
JP3068317B2 (ja) マイクロコンピュータ
SU1608641A1 (ru) Устройство дл вычислени булевых функций

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040705

A131 Notification of reasons for refusal

Effective date: 20040727

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040921

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: 20041130

A61 First payment of annual fees (during grant procedure)

Effective date: 20041213

Free format text: JAPANESE INTERMEDIATE CODE: A61

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080107

Year of fee payment: 3

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090107

Year of fee payment: 4

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 5

Free format text: PAYMENT UNTIL: 20100107

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100107

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110107

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120107

Year of fee payment: 7

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 8

Free format text: PAYMENT UNTIL: 20130107

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 9

Free format text: PAYMENT UNTIL: 20140107