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