JPH0573361A - マイクロコンピユータ - Google Patents
マイクロコンピユータInfo
- Publication number
- JPH0573361A JPH0573361A JP3235785A JP23578591A JPH0573361A JP H0573361 A JPH0573361 A JP H0573361A JP 3235785 A JP3235785 A JP 3235785A JP 23578591 A JP23578591 A JP 23578591A JP H0573361 A JPH0573361 A JP H0573361A
- Authority
- JP
- Japan
- Prior art keywords
- counter
- interval timer
- program
- timer
- clear instruction
- 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)【要約】
【目的】無限ループなどのプログラム実行異常を検出す
る。 【構成】所定のクロックソース30を入力として、所定
クロック数をカウント後にリセット信号又は割り込み信
号34を発生し、クリア命令31によりカウンタ値がク
リアされるインターバルタイマ1と、インターバルタイ
マ1のクリア命令の実行回数をカウントするカウンタ2
とを備えている。
る。 【構成】所定のクロックソース30を入力として、所定
クロック数をカウント後にリセット信号又は割り込み信
号34を発生し、クリア命令31によりカウンタ値がク
リアされるインターバルタイマ1と、インターバルタイ
マ1のクリア命令の実行回数をカウントするカウンタ2
とを備えている。
Description
【0001】
【産業上の利用分野】本発明はマイクロコンピュータに
関し、特に任意の箇所で無限ループにはいった場合にお
いても暴走検出可能な暴走検出回路に関する。
関し、特に任意の箇所で無限ループにはいった場合にお
いても暴走検出可能な暴走検出回路に関する。
【0002】
【従来の技術】マイクロプロセッサあるいは1チップ・
マイクロコンピュータ(以下、総称してマイクロコンピ
ュータと呼ぶ)は年々集積度の向上に伴い、アドレッシ
ング可能なプログラムメモリ空間あるいは内蔵プログラ
ムメモリ容量が増大し、またさまざまな周辺機能内蔵に
よる時分割制御など、ますます複雑な制御を行う事が可
能となってきている。
マイクロコンピュータ(以下、総称してマイクロコンピ
ュータと呼ぶ)は年々集積度の向上に伴い、アドレッシ
ング可能なプログラムメモリ空間あるいは内蔵プログラ
ムメモリ容量が増大し、またさまざまな周辺機能内蔵に
よる時分割制御など、ますます複雑な制御を行う事が可
能となってきている。
【0003】また、応用分野もこれに伴い家電など身近
な民生分野から、情報処理装置、通進機器、自動車のエ
ンジンコントロールなど、多岐に渡っており、これらの
制御の中枢となるマイクロコンピュータのプログラムが
暴走するなどの暴走動作が発生した場合、これをいち早
く検出する事は非常に重要となってきている。
な民生分野から、情報処理装置、通進機器、自動車のエ
ンジンコントロールなど、多岐に渡っており、これらの
制御の中枢となるマイクロコンピュータのプログラムが
暴走するなどの暴走動作が発生した場合、これをいち早
く検出する事は非常に重要となってきている。
【0004】従来、何らかの外的要因あるいは当初予想
しなかったような特殊条件などにより、プログラムが無
限ループにはいるなど暴走した場合、これを検出する回
路としてウォッチドッグタイマが知られている。
しなかったような特殊条件などにより、プログラムが無
限ループにはいるなど暴走した場合、これを検出する回
路としてウォッチドッグタイマが知られている。
【0005】ウォッチドッグタイマは、所定のクロック
ソースをカウントして一定時間ごとにオーバーフローす
る事により、マイクロコンピュータへの割り込みまたは
リセット信号を発生するインターバルタイマで、プログ
ラムでクリアする事ができる。
ソースをカウントして一定時間ごとにオーバーフローす
る事により、マイクロコンピュータへの割り込みまたは
リセット信号を発生するインターバルタイマで、プログ
ラムでクリアする事ができる。
【0006】即ち、プログラム実行における一連の処理
が所定時間内に終了しない場合にこの状態をプログラム
実行異常とみなして割り込み信号を発生したり、内部リ
セット信号を発生する機能を持った回路である。従来に
おけるウォチドッグタイマの構成を図4に示す。
が所定時間内に終了しない場合にこの状態をプログラム
実行異常とみなして割り込み信号を発生したり、内部リ
セット信号を発生する機能を持った回路である。従来に
おけるウォチドッグタイマの構成を図4に示す。
【0007】図4において、インターバルタイマ1は、
クロックソース20を入力としてカウントする所定ビッ
ト長のインターバルタイマ(ウォッチドッグタイマ)
で、オーバーフロー信号が割り込みまたはリセット信号
22となり、マイクロコンピュータに割り込みまたはリ
セットがかかる。
クロックソース20を入力としてカウントする所定ビッ
ト長のインターバルタイマ(ウォッチドッグタイマ)
で、オーバーフロー信号が割り込みまたはリセット信号
22となり、マイクロコンピュータに割り込みまたはリ
セットがかかる。
【0008】また前記インターバルタイマ1は、カウン
ト動作中に、クリア命令21によりクリアする事ができ
る。
ト動作中に、クリア命令21によりクリアする事ができ
る。
【0009】従って、図5に示すように、あらかじめプ
ログラム処理ルーチン中にインターバルタイマ(ウォッ
チドッグタイマ)1がオーバーフローするより短い周期
でクリア命令21を適宜配置しておく事により、プログ
ラム10が正しい処理ルーチンを実行している場合に
は、クリア命令によりインターバルタイマ1がクリアさ
れ、オーバーフローが発生しないが、もし何らかの原因
でプログラムが暴走し、図5の(1)のように無限ルー
プに入った場合には、クリア命令が実行されないため、
オーバーフローし、割り込みまたはリセットが発生して
異常状態から抜け出す事ができる。実際のプログラム処
理ルーチンは、図5に示すよりもっと複雑で、途中でサ
ブルーチンや周辺機能からの割り込み処理ルーチンなど
に分岐するので、これらの分岐処理時間も考慮して、ク
リア命令を配置する必要があるが、本筋を離れるので簡
単のため省略した。
ログラム処理ルーチン中にインターバルタイマ(ウォッ
チドッグタイマ)1がオーバーフローするより短い周期
でクリア命令21を適宜配置しておく事により、プログ
ラム10が正しい処理ルーチンを実行している場合に
は、クリア命令によりインターバルタイマ1がクリアさ
れ、オーバーフローが発生しないが、もし何らかの原因
でプログラムが暴走し、図5の(1)のように無限ルー
プに入った場合には、クリア命令が実行されないため、
オーバーフローし、割り込みまたはリセットが発生して
異常状態から抜け出す事ができる。実際のプログラム処
理ルーチンは、図5に示すよりもっと複雑で、途中でサ
ブルーチンや周辺機能からの割り込み処理ルーチンなど
に分岐するので、これらの分岐処理時間も考慮して、ク
リア命令を配置する必要があるが、本筋を離れるので簡
単のため省略した。
【0010】
【発明が解決しようとする課題】前述した従来のウォッ
チドッグタイマでは、図5で示した(1)のように、ク
リア命令を含まない無限ループに入った場合には有効で
あるが、(2)のようにクリア命令を含む部分のプログ
ラム10で無限ループに入った場合には、ウォッチドッ
グタイマがクリアされるため、暴走状態にも関わらず無
限ループから抜け出す事が出来ないという欠点がある。
チドッグタイマでは、図5で示した(1)のように、ク
リア命令を含まない無限ループに入った場合には有効で
あるが、(2)のようにクリア命令を含む部分のプログ
ラム10で無限ループに入った場合には、ウォッチドッ
グタイマがクリアされるため、暴走状態にも関わらず無
限ループから抜け出す事が出来ないという欠点がある。
【0011】本発明の目的は、前記欠点を解決し、ウォ
ッチドッグタイマをクリアする命令自身を含む部分で無
限ループにはいった場合にも、これを検出する事ができ
るようにしたマイクロコンピュータを提供することにあ
る。
ッチドッグタイマをクリアする命令自身を含む部分で無
限ループにはいった場合にも、これを検出する事ができ
るようにしたマイクロコンピュータを提供することにあ
る。
【0012】
【課題を解決するための手段】本発明のマイクロコンピ
ュータに内蔵する暴走検出回路の構成は、所定のクロッ
クソースを入力として、所定クロック数カウント後にリ
セット信号又は割り込み信号を発生し、クリア命令によ
りカウンタ値がクリアされるインターバルタイマと、前
記インターバルタイマのクリア命令実行時に発生するパ
ルスをカウントクロックとしてカウント動作を行い、所
定のパルス数をカウント後にリセット信号または割り込
み信号を発生するカウンタとを備えている。
ュータに内蔵する暴走検出回路の構成は、所定のクロッ
クソースを入力として、所定クロック数カウント後にリ
セット信号又は割り込み信号を発生し、クリア命令によ
りカウンタ値がクリアされるインターバルタイマと、前
記インターバルタイマのクリア命令実行時に発生するパ
ルスをカウントクロックとしてカウント動作を行い、所
定のパルス数をカウント後にリセット信号または割り込
み信号を発生するカウンタとを備えている。
【0013】
【実施例】図1は本発明の第1の実施例を示すブロック
図である。
図である。
【0014】図1において、本実施例では、インターバ
ルタイマ1が所定のクロックソース30にもとづきカウ
ント動作を行い、所定カウント数を越えるとオーバーフ
ローを発生する所定ビット長のインターバルタイマであ
り、インターバルタイマクリア命令31の実行時にカウ
ント値が0にクリアされる。
ルタイマ1が所定のクロックソース30にもとづきカウ
ント動作を行い、所定カウント数を越えるとオーバーフ
ローを発生する所定ビット長のインターバルタイマであ
り、インターバルタイマクリア命令31の実行時にカウ
ント値が0にクリアされる。
【0015】カウンタ2は、前記インターバルタイマク
リア命令31の実行時に発生するパルスを入力としてカ
ウント動作を行い、所定カウント数を越えるとオーバー
フローを発生する所定ビット長のカウンタで、このカウ
ンタ2に対するクリア命令33でカウント値がクリアさ
れる。本実施例では4ビット長とする。
リア命令31の実行時に発生するパルスを入力としてカ
ウント動作を行い、所定カウント数を越えるとオーバー
フローを発生する所定ビット長のカウンタで、このカウ
ンタ2に対するクリア命令33でカウント値がクリアさ
れる。本実施例では4ビット長とする。
【0016】また、インターバルタイマ1およびカウン
タ2は、マイクロコンピュータへのリセット信号により
カウント値が0にクリアされる。
タ2は、マイクロコンピュータへのリセット信号により
カウント値が0にクリアされる。
【0017】次に、図2に基づいてプログラム40の実
行について説明する。説明を簡単にするために、図2の
矢印で示したようなプログラム実行の流れで一連の処理
を繰り返すとする。この時、図1のインターバルタイマ
1のオーバーフロー時間T以内の時間間隔でインターバ
ルタイマ1のクリア命令を置く。たとえば、図2のよう
に正常時には、A0→A1番地→A2番地→A3番地→
A4番地…→A10番地→A0番地をこの順に各間隔が
時間T以内にアクセスするような場合には、A0番地以
外の各番地にインターバルタイマクリア命令を置く。
行について説明する。説明を簡単にするために、図2の
矢印で示したようなプログラム実行の流れで一連の処理
を繰り返すとする。この時、図1のインターバルタイマ
1のオーバーフロー時間T以内の時間間隔でインターバ
ルタイマ1のクリア命令を置く。たとえば、図2のよう
に正常時には、A0→A1番地→A2番地→A3番地→
A4番地…→A10番地→A0番地をこの順に各間隔が
時間T以内にアクセスするような場合には、A0番地以
外の各番地にインターバルタイマクリア命令を置く。
【0018】A0番地にはカウンタ2をクリアする命令
を置く。マイクロコンピュータへのリセット入力によ
り、インターバルタイマ1およびカウンタ2はクリアさ
れる。マイクロコンピュータが正常シーケンスでプログ
ラムを実行する場合は、まずA0番地のカウンタ2クリ
ア命令を実行する。
を置く。マイクロコンピュータへのリセット入力によ
り、インターバルタイマ1およびカウンタ2はクリアさ
れる。マイクロコンピュータが正常シーケンスでプログ
ラムを実行する場合は、まずA0番地のカウンタ2クリ
ア命令を実行する。
【0019】その後A1番地のインターバルタイマ1の
クリア命令を実行すると、インターバルタイマ1はクリ
アされると同時に、カウンタ2がカウントアップしてカ
ウント値が〔1〕になる。
クリア命令を実行すると、インターバルタイマ1はクリ
アされると同時に、カウンタ2がカウントアップしてカ
ウント値が〔1〕になる。
【0020】次に時間間隔T以内にA2番地を実行する
とインターバルタイマ1はクリアされ、かつカウンタ2
の値は〔2〕となる。以降、正常にA2番地→A3番地
→…→A10番地まで実行すると、カウント内容は〔1
0〕となる。その後、プログラムの先頭に戻ったのちA
0番地のカウンタクリア命令を実行するカウンタ2が
とインターバルタイマ1はクリアされ、かつカウンタ2
の値は〔2〕となる。以降、正常にA2番地→A3番地
→…→A10番地まで実行すると、カウント内容は〔1
0〕となる。その後、プログラムの先頭に戻ったのちA
0番地のカウンタクリア命令を実行するカウンタ2が
〔0〕にクリアされ、以後同様の動作がくりかえされ
る。
る。
【0021】次に、A1番地及びA2番地実行後に図2
に示す(1)のような無限ループに入った場合について
説明する。この場合、時間T以内にクリア命令が実行さ
れないため、インターバルタイマ1のオーバーフローに
よりORゲート3を介してリセットまたは割り込みが発
生するか、もしくは時間T経過前にクリア命令実行回数
がカウンタ2でカウント可能な〔15〕をこえると、オ
ーバーフローが発生しORゲート3を介してリセットま
たは割り込み信号34が発生し異常検出する。
に示す(1)のような無限ループに入った場合について
説明する。この場合、時間T以内にクリア命令が実行さ
れないため、インターバルタイマ1のオーバーフローに
よりORゲート3を介してリセットまたは割り込みが発
生するか、もしくは時間T経過前にクリア命令実行回数
がカウンタ2でカウント可能な〔15〕をこえると、オ
ーバーフローが発生しORゲート3を介してリセットま
たは割り込み信号34が発生し異常検出する。
【0022】従来例の欠点であった図2の(2)のよう
な無限ループに入った場合にはインターバルタイマ1の
オーバーフローは発生しないが、カウンタ2の内容が
〔15〕を越えてオーバーフローが発生するため、異常
検出される。
な無限ループに入った場合にはインターバルタイマ1の
オーバーフローは発生しないが、カウンタ2の内容が
〔15〕を越えてオーバーフローが発生するため、異常
検出される。
【0023】図3は図1のカウンタ2を更に改良した第
2の実施例である。前記第1の実施例では、カウンタ2
のカウント数が1通りに固定されるため、プログラム中
に置くクリア命令の個数が制限されるが、本第2の実施
例ではコンぺアレジスタ4と比較回路5とを備え、この
コンペアレジスタ4に内部バス6を介して設定した任意
の値とカウンタ2の値とを比較回路5により比較し、一
致した場合に一致信号を出力し、ORゲート3を介して
リセットまたは割り込み信号44を発生する構成となっ
ている。
2の実施例である。前記第1の実施例では、カウンタ2
のカウント数が1通りに固定されるため、プログラム中
に置くクリア命令の個数が制限されるが、本第2の実施
例ではコンぺアレジスタ4と比較回路5とを備え、この
コンペアレジスタ4に内部バス6を介して設定した任意
の値とカウンタ2の値とを比較回路5により比較し、一
致した場合に一致信号を出力し、ORゲート3を介して
リセットまたは割り込み信号44を発生する構成となっ
ている。
【0024】即ち、あらかじめ異常を検出すべきクリア
命令実行回数をコンペアレジスタ4に設定しておき、そ
の値までカウントアップしたら、比較回路5により一致
検出して異常検出するため、第1の実施例に比べ、さま
ざまなプログラムに適用することができる。カウンタ2
及びコンペアレジスタ4のビット長を増やせば、よりプ
ログラムがつくりやすくなるのは言うまでもない。
命令実行回数をコンペアレジスタ4に設定しておき、そ
の値までカウントアップしたら、比較回路5により一致
検出して異常検出するため、第1の実施例に比べ、さま
ざまなプログラムに適用することができる。カウンタ2
及びコンペアレジスタ4のビット長を増やせば、よりプ
ログラムがつくりやすくなるのは言うまでもない。
【0025】
【発明の効果】以上説明したように、本発明は、インタ
ーバルタイマ(ウォッチドッグタイマ)をクリアした場
合にクリア命令を実行回数をカウントする手段を備える
ことにより、インターバルタイマのクリア命令自身を含
む無限ループをも検出することができ、従来の単純なウ
ォッチドッグタイマに比べ、プログラムの実行異常を確
実に検出できる効果がある。
ーバルタイマ(ウォッチドッグタイマ)をクリアした場
合にクリア命令を実行回数をカウントする手段を備える
ことにより、インターバルタイマのクリア命令自身を含
む無限ループをも検出することができ、従来の単純なウ
ォッチドッグタイマに比べ、プログラムの実行異常を確
実に検出できる効果がある。
【図1】本発明の第1の実施例のマイクロコンピュータ
を示すブロック図である。
を示すブロック図である。
【図2】本発明の第1の実施例のブログラムの流れを示
す図である。
す図である。
【図3】本発明の第2の実施例を示すブロック図であ
る。
る。
【図4】従来のウォッチドッグタイマを示すブロック図
である。
である。
【図5】従来のウォッチドッグタイマによる暴走検出を
説明するための図である。
説明するための図である。
1 インターバルタイマ 2 カウンタ 3 ORゲート 4 コンペアレジスタ 5 比較回路 10,40 プログラム 20,30 クロックソース 21,31 インターバルタイマクリア命令 22,34 リセット又は割り込み信号 33 カウンタクリア命令
Claims (1)
- 【請求項1】 所定のクロックソースを入力とし、かつ
所定クロック数をカウント後にリセット信号又は割り込
み信号を発生し、かつクリア命令によりカウンタ値がク
リアされるインターバルタイマと、前記インターバルタ
イマのクリア命令実行時に発生するパルスをカウントク
ロックとしてカウント動作を行い、所定のパルス数をカ
ウント後にリセット信号または割り込み信号を発生する
カウンタとを備えた暴走検出回路を内蔵したことを特徴
とするマイクロコンピュータ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3235785A JPH0573361A (ja) | 1991-09-17 | 1991-09-17 | マイクロコンピユータ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3235785A JPH0573361A (ja) | 1991-09-17 | 1991-09-17 | マイクロコンピユータ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0573361A true JPH0573361A (ja) | 1993-03-26 |
Family
ID=16991217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3235785A Pending JPH0573361A (ja) | 1991-09-17 | 1991-09-17 | マイクロコンピユータ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0573361A (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63271545A (ja) * | 1987-04-28 | 1988-11-09 | Nec Corp | ウオツチドツグタイマ |
-
1991
- 1991-09-17 JP JP3235785A patent/JPH0573361A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63271545A (ja) * | 1987-04-28 | 1988-11-09 | Nec Corp | ウオツチドツグタイマ |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4405982A (en) | Arrangement for monitoring the function of a programmable electronic switching circuit | |
EP0702297B1 (en) | A data processor with breakpoint circuit | |
JPH0346854B2 (ja) | ||
JPH0573361A (ja) | マイクロコンピユータ | |
JPH0320776B2 (ja) | ||
JPH01140350A (ja) | マイクロコンピュータのプログラム暴走検出回路 | |
JP2693885B2 (ja) | マイクロコンピュータ | |
JP3575980B2 (ja) | タイマー回路 | |
JPH04332056A (ja) | マイクロコンピュータ | |
JP2864663B2 (ja) | ウォッチドッグ・タイマ | |
JP3145937B2 (ja) | マイクロコンピュータの暴走検出方法 | |
KR960018893A (ko) | 워치독 타이머 기능을 갖는 콘트롤러 | |
JPH0226245B2 (ja) | ||
JP2864630B2 (ja) | マイクロコンピュータのプログラム暴走検出回路 | |
JPH04107748A (ja) | マイクロコンピュータ | |
JPS6051141B2 (ja) | プログラム暴走検出方式 | |
JP2516711B2 (ja) | ウォッチドッグタイマ装置 | |
JPH0346853B2 (ja) | ||
JP3129873B2 (ja) | マイクロコンピュータ | |
JP2557785Y2 (ja) | シングルチップマイクロコンピュータ | |
SU1617442A1 (ru) | Устройство дл контрол хода программ | |
JPS61175736A (ja) | プログラム評価用マイクロコンピユ−タ | |
JPH09237205A (ja) | プログラム暴走検出装置 | |
JPH02259845A (ja) | プロセッサ | |
JPH05120081A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19971216 |