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

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

Info

Publication number
JPH01140350A
JPH01140350A JP62300914A JP30091487A JPH01140350A JP H01140350 A JPH01140350 A JP H01140350A JP 62300914 A JP62300914 A JP 62300914A JP 30091487 A JP30091487 A JP 30091487A JP H01140350 A JPH01140350 A JP H01140350A
Authority
JP
Japan
Prior art keywords
program
comparison
circuit
microcomputer
sequence
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
Application number
JP62300914A
Other languages
English (en)
Inventor
Kazutoshi Yoshizawa
吉澤 和俊
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 JP62300914A priority Critical patent/JPH01140350A/ja
Publication of JPH01140350A publication Critical patent/JPH01140350A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Microcomputers (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマイクロコンピュータのプログラム暴走検出回
路に関し、特にプログラムのシーケンス異常を検出可能
な暴走検出回路に関する。
〔従来の技術〕
マイクロプロセッサあるいはlテップマイクロコンピュ
ータ(以下総称してマイクロコンピュータと呼ぶ)は年
々集積度の向上に伴いアトレッジフグ可能なプログ2ム
メモリ空間の拡大あるいは内蔵プログラムメモリ容量が
増大し、またさまざまな周辺機能内蔵による時分割制御
など、ますます複雑な制御を行うことが可能となってき
ている。
また応用分野もこれに伴い家電など身近な民生分野から
、情報処理装置1通信機器、自動車のエンジンコントロ
ール等多岐に渡っており、これらの制御の中枢となるマ
イクロコンピュータが暴走するなどの異常動作が発生し
九場合にこれをいち早く検出することは非常に重要にな
ってきている。
従来、何らかの外的要因、あるいは当初子期しなかっt
ような特殊条件等によりプログラムが無限ループにはい
るなど暴走した場合、これを検出する回路としてウォッ
チドッグタイマが知られている。
ウォッチドッグタイマは、所定のクロックソースをカウ
ントして一定時間毎にオーバー70−することKより、
マイクロコンピュータへの割込み又はリセット信号を発
生するインターバルタイマーで、プログラムでクリアす
ることができる。すなわちプログラム実行における一連
の処理が所定時間内に終了しない場合にこの状態をプロ
グラム実行異常とみなして割込み信号を発生したり内部
リセット信号を発生する機能をもった回路である。
第6図は従来におけるウォッチドッグタイマの構成を示
すブロック図である。
10はクロックソースを入力としてカウントする所定ビ
ット長のインターバルタイマ(ウォッチドッグタイマ)
で、オーバーフロー信号が割込み又はリセット信号とな
り、マイクロコンピュータに割込み又はリセットがかか
る。また、前記インターバルタイマ1oはカウント動作
中にクリア命令によりクリアすることができる。
第7因はプログラムルーズの例を示す図である。
図に示すように、あらかじめプログラムループlo。
中にインターバルタイマ(ウォッチドッグタイマ)がオ
ーバー70−するより短い周期でクリア命令を適宜設置
しておくことにより、プログラムが正しい処理ルーチン
を実行している場合にはクリア命令によりインターバル
タイマがクリアされてオーバーフローが発生しないが、
もし何らかの原因でプログラムが暴走し、tg7図の1
01のように無限ループにはいった場合にはクリア命令
が実行されないためオーバーフローし、割込み又はリセ
ットが発生して異常状態から抜は出すことができる。実
際のプログラム処理ルーチンは第7図に示すよりもっと
複雑で途中でサブルーチンや周辺機能からの割込み処理
ルーチン等に分岐するので、これらの分岐処理時間等も
考慮してクリア命令を適宜設置する必要があるが、本筋
を離れるので簡単のため省略した。
〔発明が解決しようとする問題点〕
上述し九従米のウォッチドッグタイマでは、第7図で示
し&lO1のようにクリア命令以外のところで無限ルー
プに落ちいつ九場合には有効であるが、102のように
クリア命令を含む部分のプログラムで無限ループに落ち
入っt場合にはウォッチドッグタイマがクリアされるた
め暴走状態にもかかわらず割込み又はリセットがかから
ず抜は出すことができないという欠点がある。あるいは
部分的な無限ループでなくともプログラムが正常のシー
ケンスで実行されず異常分岐した場合などにも、クリア
命令のあるアドレスを通過した場合にはやはり異常を検
出できないという欠点がある。
上述し北従来の9オツチドツグタイマに対し本発明は、
プログラム実行中に、プログラムカウンタの状態を監視
する手段、すなわち、プログラム実行のシーケンスを検
出する手段を有することにより本来のシーケンスをはず
れて所定時間以上プログラムが実行され友ことを検出で
きるという相違点を有する。また、従来命令実行により
ウォッチドッグタイマをクリアしたのに対し本発明はプ
ログラムカウンタの状態を監視してハードウェアでタイ
マをクリアするという相異点′?!:有する。
〔問題点全解決するための手段〕
本発明のプログラム暴走検出回路(は、マイクロコンピ
ュータに内蔵する暴走検出回路において、プログラムカ
ウンタと、前記プログラムカウンタが所定の値になった
ことを比較するための比較データがプログラムによって
設定される比較1直設定レジスタと、前記プログラムカ
ウンタの所定ビットと前記比較値設定レジスタとの内容
を比較して一致しt場合に一致検出信号を出力する比較
回路と、所定クロックソースを入力として所定クロック
数カウント後に割込み又はリセット信号を発生し、かつ
、前記比較回路からの一致検出信号によりカウント値を
クリアするタイマとを有している。
〔実施例〕
次に本発明について図面を参照して説明する。
第1図は本発明の第1の実施例を示すブロック図である
1はクロックソースにもとづきカウント動作を行う所定
ビット長のインターバルタイマで、オーバーフローによ
り割込み又はリセット信号を発生する。後述する比較回
路4からの一致検出信号によりクリアされる。クロック
ソースは複数種類の甲から1種類選択するようにしても
艮い。2は所定ビット長のプログラムカウンタで、プロ
グラムメモリ5のアドレスを指定し、プログラムの実行
に伴竜へ内容が変化していく。2はプログラムカランf
2の内容がある番地全指したことを検出するためにプロ
グラムカウンタの比較値全設定するためのプログラムカ
ウンタと同一ビット長のレジスタで、プログラムにより
所定の樗き込み命令実行により内部バスを介して設定す
る。例えば4にワードのアドレス空間音アトレッジ/グ
するtめにプログラムカラ/りが12ビツトの場合には
比較値設定レジスタも12ビツトとする。書き込み命令
により他の値に書き僕兄ない限り変化しない。
4はプログラムカウンタ2の内容と比較値設定レジスタ
3の内容全比較する比較回路で、一致しt場合のみイン
ターバルタイマに対しクリア信号全発生し、これにより
インターバルタイマ1がクリアされる。
第2図はプログラムループ例を示す図である。
42図を用いて41図にもとづいtプログラム実行動作
について説明する。説明全簡単にするために、図の矢印
で示し之ようなプログラムループ100で一連の処理を
くり返すものとする。このとき第1図のインターバルタ
イマ1のオーバーフロー時間T以内の時間間隔で比較値
設定レジスタ31Fき換えるようにプログラムシーケン
ス中に書キ換え命令を置く。例えばJ2図に示すように
正常時にはa番地→b番地→C番地→d番地全この順に
各間隔が時間T以内にアクセスするような場合には、a
番地に、比較値設定レジスタ3にアドレス+i b 全
設定する命令を置き、b番地に比較値設定レジスタ3に
アドレス値Cを設定する命令を置き、C番地に比較値設
定レジスタ3にアドレス値di設定する命令を置き、d
番地に比較値設定レジスタ3にアドレス値afI:設定
する命令を置く。そうするとマイクロコンピュータが正
常動作してプログラム全正常のシーケンスで実行してい
る場合には前記a−dの各番地での命令実行により比較
値設定レジスタに設定したアドレスを時間T以内にアク
セスする之め比較回路4による一致検出がなされてクリ
ア信号全発生し、インターバルタイマ1がクリアされる
之めオーバー70−は発生しない。ところが、b番地で
比較値cf段設定後01のような無限ループにはいった
場合、時間T2経過してもC番地全実行しないためイン
ターバルタイマ1のオーバーフローにより割込み又はリ
セットが発生し、異常動作が検出される。更に、102
の無限ループのように比較値設定レジスタにアドレスを
設定する命令自身を含む範囲内で無限ループが発生した
としても比較設定値であるC番地のアドレスを時間T以
内にアクセスしないのでやはり割込み又はリセットがか
かる。103のように比較値設定命令を複数含んだルー
チンをループする場合や、あるいは特定範囲の無限ルー
プでなくともa→b −) C−* d以外のシーケン
スでプログラムが実行された場合などもオーバーフロー
が生じ異常・演出される。
第3図に本発明の第2の実施例を示すブロック図である
。インターバルタイマー、プログラムカウンタ2は41
の実施例と同じであるが、比較値設定レジスタ6及び比
較回路7をプログラムカウンタのビット長より短くして
いる。これは、第1の実施例ではある特定番地のアクセ
スを順次検出していったのに対し、ある範囲をもったブ
ロック単位でのアクセスを検出することを意味する。例
えば、12ビツトのプログラムカウンタPC1、〜PC
うち上位6ビツ)PC,□〜PC8のみを比較するよう
に比較値設定レジスタ6及び比較回路7ft構成すると
、プログラムメモリ空間を第4図に示すように64ワー
ドのブロック単位でアクセスを検出することになる。従
って、例えば、ブロックAからブロックB更にブロック
ダというシーケンス金それぞれ時間T以内に移るように
プログラムしているとすると、ブロックAの中でブロッ
クB全指定するよう比較値設定レジスタ6に上位6ビラ
ドデータ000010を設定し、ブロックBの中C でブロック/を指定するように比較値設定レジスり6に
11111(l設定する。ブロック2以降のシーケンス
も同様に設定していく、従って、ブロックAからブロッ
クB内に時間T以内にアクセスされればインターバルタ
イマーはオーバー70−しないが、ブロックB以外のブ
ロックへアクセスして時間Tを越えるとオーバーフロー
して割込み又はリセットが発生して異常検出することが
できる。
第1の実施例に比ベプログラムアクセスの許容範囲は広
がるが1例えばブロックAから条件によって多方向に分
岐する場合などにおいて、分岐先処理ルーチ/(i−ブ
ロックB内のblとb2に置くことによってどちらへ分
岐しても比較回路7で一致検出されるためインターバル
タイマはクリアされて正常ヒーケンスと判断するように
できる。あとは処理バーチンb1及びb2の中でブロッ
ク/全指定するように比較値設定レジスタへ所定の値を
設定しておけば艮い。また、第2の実施例では比較値設
定レジスタ6及び比較回路7のビット長を短くするため
構成するハードウェアがifの実施例に比べると少なく
て済むというメリットもある。
なお、ビット長は6ビツトに限られず比較するビット位
置も目的に応じ変えられることはいうまでもない。
J51ffは本発明の@3の実施例を示すブロック図で
、第1図に対して、インターバルタイマのカウント内容
を命令によ、り初期設定できるようにしたものであり、
り四ツク選択回路9によ?)復数クロックソースから選
択することができるとともに、初期値を動的に設定し、
プログラム暴走検出時間Tiよりフレキシブルに設定で
きるようにしたものである。
〔発明の効果〕
以上説明しtように1本発明はプログラムカウンタの内
容を比較する手段を備え、比較設定直音一連のプログラ
ム実行シーケンスの中で書き換えていき、所定時間内に
比較設定値のアドレス空間をアクセスしt場合には比較
子役の一致検出によりインターバルタイマのカウント値
をクリアし、所定時間内にアクセスしなかった場合には
インターバルタイマのオーバー70−により割込み又は
リセット信号が発生し、異常動作を検出することができ
、プログラムの無限ループの検出に加え、異常なシーケ
ンスをも検出することができる効果があり、従来の単純
なウォッチドッグタイマに比ベプログラム実行の流れを
きめ細かく監視することができ、マイクロコンピュータ
自身の高集積にともなう機能の複雑化、応用分野の拡大
にともなう制御内容の複雑化に対する7エールセー7の
手段として非常に有効である。
【図面の簡単な説明】
第1図は本発明の第1の実施例を示すブロック図、第2
図は第′lの実施例を説明する九めのプログラムの流れ
を示す図、yc3図は本発明の第2の実施例を示すブロ
ック図、第4図は!、I2の実施例を説明する之めのプ
ログラムメモリ空間金示す図、第5図は第3の実施例金
示すブロック図、第6図は従来の9オツチドッグタイマ
金示すブロック図、第7図は従来のウォッチドッグタイ
マによる暴走検出′lt説明するための図である。 1.8・・・・・・インターバルタイマ、2・・・・・
・プログラムカウンタ、3,6・・・・・・比較値設定
レジスタ、4.7・・・・・・比較回路、9・・・・・
・クロック選択回路、5・・・・・・プログ2ムメモリ
。 代理人 弁理士  内 原   音 、第3TXU 右5図 クリア命Aト 15°乙旧

Claims (1)

    【特許請求の範囲】
  1. マイクロコンピュータに内蔵する暴走検出回路において
    、プログラムカウンタと、前記プログラムカウンタが所
    定の値になつたことを比較するための比較データがプロ
    グラムにより設定される比較値設定レジスタと、前記プ
    ログラムカウンタの所定ビットと前記比較値設定レジス
    タとの内容を比較して一致した場合に一致検出信号を出
    力する比較回路と、所定のクロックソースを入力として
    所定クロック数カウント後に割込み又はリセット信号を
    発生しかつ前記比較回路からの一致検出信号によりカウ
    ント値をクリアするタイマとを有することを特徴とする
    マイクロコンピュータのプログラム暴走検出回路。
JP62300914A 1987-11-27 1987-11-27 マイクロコンピュータのプログラム暴走検出回路 Pending JPH01140350A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62300914A JPH01140350A (ja) 1987-11-27 1987-11-27 マイクロコンピュータのプログラム暴走検出回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62300914A JPH01140350A (ja) 1987-11-27 1987-11-27 マイクロコンピュータのプログラム暴走検出回路

Publications (1)

Publication Number Publication Date
JPH01140350A true JPH01140350A (ja) 1989-06-01

Family

ID=17890648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62300914A Pending JPH01140350A (ja) 1987-11-27 1987-11-27 マイクロコンピュータのプログラム暴走検出回路

Country Status (1)

Country Link
JP (1) JPH01140350A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06149628A (ja) * 1992-11-12 1994-05-31 Nec Corp ストール検出回路
JP2003139874A (ja) * 2001-10-30 2003-05-14 Denso Corp 電子制御装置
CN1109976C (zh) * 1998-12-22 2003-05-28 日本电气株式会社 监视计时器系统
WO2010055562A1 (ja) * 2008-11-13 2010-05-20 富士通マイクロエレクトロニクス株式会社 マイクロコンピュータ
WO2010097844A1 (ja) * 2009-02-25 2010-09-02 パナソニック株式会社 暴走検出装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63316146A (ja) * 1987-06-18 1988-12-23 Nec Ic Microcomput Syst Ltd マイクロコンピユ−タ

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63316146A (ja) * 1987-06-18 1988-12-23 Nec Ic Microcomput Syst Ltd マイクロコンピユ−タ

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06149628A (ja) * 1992-11-12 1994-05-31 Nec Corp ストール検出回路
CN1109976C (zh) * 1998-12-22 2003-05-28 日本电气株式会社 监视计时器系统
JP2003139874A (ja) * 2001-10-30 2003-05-14 Denso Corp 電子制御装置
US7210055B2 (en) 2001-10-30 2007-04-24 Denso Corporation Electronic control apparatus
WO2010055562A1 (ja) * 2008-11-13 2010-05-20 富士通マイクロエレクトロニクス株式会社 マイクロコンピュータ
JP5115628B2 (ja) * 2008-11-13 2013-01-09 富士通セミコンダクター株式会社 マイクロコンピュータ
US8522081B2 (en) 2008-11-13 2013-08-27 Fujitsu Semiconductor Limited Microcomputer outputting failure detection result
WO2010097844A1 (ja) * 2009-02-25 2010-09-02 パナソニック株式会社 暴走検出装置

Similar Documents

Publication Publication Date Title
US5717851A (en) Breakpoint detection circuit in a data processor and method therefor
CA2292991C (en) Watch dog timer system
US5541943A (en) Watchdog timer lock-up prevention circuit
JPH01140350A (ja) マイクロコンピュータのプログラム暴走検出回路
US5327362A (en) System for detecting a runaway of a microcomputer
US5761482A (en) Emulation apparatus
JP2864630B2 (ja) マイクロコンピュータのプログラム暴走検出回路
JP2693885B2 (ja) マイクロコンピュータ
JPH04107748A (ja) マイクロコンピュータ
JPH0573361A (ja) マイクロコンピユータ
JPH02103613A (ja) マイクロコンピュータ
JP2850377B2 (ja) マイクロコンピュータ
JPH02273841A (ja) プログラム異常検出制御方式
KR960018893A (ko) 워치독 타이머 기능을 갖는 콘트롤러
JPH0546439A (ja) 暴走監視装置
JPH0436841A (ja) マイクロコンピュータ
KR20000010094U (ko) 씨피유 리셋장치
JPH0471218B2 (ja)
JPH01154257A (ja) 相互監視処理方式
JPS63316146A (ja) マイクロコンピユ−タ
JPS63155330A (ja) マイクロプログラム制御装置
JPS60252963A (ja) 状態監視制御方式
JP2000122882A (ja) マルチスレッドプロセッサおよびデバッグ装置
JPH04130933A (ja) ウォッチドッグタイマ初期化装置
JPH02284238A (ja) プログラムデバグ装置