JPH086823A - マイクロコンピュータの異常信号出力方法 - Google Patents

マイクロコンピュータの異常信号出力方法

Info

Publication number
JPH086823A
JPH086823A JP6141550A JP14155094A JPH086823A JP H086823 A JPH086823 A JP H086823A JP 6141550 A JP6141550 A JP 6141550A JP 14155094 A JP14155094 A JP 14155094A JP H086823 A JPH086823 A JP H086823A
Authority
JP
Japan
Prior art keywords
processing
interrupt
abnormality determination
determination flag
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.)
Pending
Application number
JP6141550A
Other languages
English (en)
Inventor
Kenichi Kagawa
健一 香川
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.)
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Electric Industries 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 Sumitomo Electric Industries Ltd filed Critical Sumitomo Electric Industries Ltd
Priority to JP6141550A priority Critical patent/JPH086823A/ja
Publication of JPH086823A publication Critical patent/JPH086823A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】 マイクロコンピュータの暴走を監視するWD
監視回路の簡略化と暴走検出性能を高める。 【構成】 割込み指令があると、通常の処理ルーチンを
中断して割込み処理ルーチンを実行するマイクロコンピ
ュータにおいて、通常の処理プログラムの所定のブロッ
ク毎に異常判定用フラグをセットし、それ以外の処理ブ
ロックでは異常判定用フラグをリセットするようにする
と共に、割込み処理のプログラムの実行時に、異常判定
用フラグを読み込み、異常判定用フラグに対応するレベ
ルの異常判定用信号を出力するようにし、出力される異
常判定用信号のレベルの状態から異常の有無を判定す
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マイクロコンピュータ
を用いて制御を行うコントローラにおいて、マイクロコ
ンピュータの暴走を検知し異常判定信号を出力する方法
に関する。
【0002】
【従来の技術】従来の、マイクロコンピュータの暴走を
監視し、マイクロコンピュータの暴走を検知する方法
が、特公昭60−32217号明細書及び特開平6−1
2293号明細書で開示されている。
【0003】上記特公昭60−32217号明細書で
は、割込み機能を有する制御用コンピュータにおいて、
メイン処理及び割込み処理で異常判定用信号をそれぞれ
異なったレベルに設定し、出力することにより、通常は
メイン処理又は割込み処理が所定の周期で交互に行われ
るため、Hiレベル及びLoレベルの時間がそれぞれ所定
の時間継続され、所定の周期のパルス、すなわちウォッ
チドッグ(以下WDと呼ぶ)パルスが異常判定用信号と
して出力され、異常判定用信号が同一レベルを所定時間
以上継続した場合に異常と判定して異常判定信号を出力
する装置が開示されている。
【0004】また、上記特開平6−12293号明細書
では、割込み機能を有するマイクロコンピュータにおい
て、割込み処理のルーチンの中で割込みがかかったこと
を確認するための割込み確認フラグをセットし、メイン
処理のルーチンで割込み確認フラグの状態を検出し、通
常は割込み確認フラグがセットされていると同割込み確
認フラグをリセットした後、出力ポートの出力が反転し
て出力されるため、Hiレベル及びLoレベルの時間がそ
れぞれ所定の時間継続され、所定の周期のパルスが異常
判定用信号としてのWDパルスとして出力され、異常判
定用信号が同一レベルを所定時間以上継続した場合、す
なわち上記WDパルスが所定時間以内に入力されなかっ
た場合に異常と判定して所定の安全措置を行うマイクロ
コンピュータの暴走防止方法が開示されている。
【0005】
【発明が解決しようとする課題】しかしながら、プログ
ラム暴走が起こると、WDパルスが出力されなくなる場
合と、例えば、メイン処理におけるWDパルス出力処理
を含むメイン処理の無限ループ(暴走)のように、WD
パルスの周期又はHiレベル及びLoレベルの時間が正常
時に比べて変化する場合とがあり、プログラム暴走を検
出するためのWD監視回路においては、無パルスの検出
と共にWDパルスの周期並びにHiレベル及びLoレベル
の時間の監視を行う高機能な回路が必要であった。
【0006】
【課題を解決するための手段】したがって、本発明の特
許請求の範囲における請求項1は、割込み指令がある
と、通常の処理ルーチンを中断して割込み処理ルーチン
を実行するマイクロコンピュータにおいて、通常の処理
プログラムの所定のブロック毎に異常判定用フラグをセ
ットし、それ以外の処理ブロックでは異常判定用フラグ
をリセットするようにすると共に、割込み処理のプログ
ラムの実行時に、異常判定用フラグを読み込み、異常判
定用フラグに対応するレベルの異常判定用信号を出力す
るようにし、出力される異常判定用信号のレベルの状態
から異常の有無を判定するようにしたことを特徴とする
マイクロコンピュータの異常信号出力方法を提供するこ
とにある。
【0007】更に、本発明の特許請求の範囲における請
求項2は、上記請求項1の割込み処理のプログラムの先
頭において、割込みを禁止する処理の後に、上記異常判
定用フラグを読み込み、該異常判定用フラグに対応する
レベルの異常判定用信号を出力するようにしたことを特
徴とするマイクロコンピュータの異常信号出力方法を提
供することにある。
【0008】本発明の特許請求の範囲における請求項3
は、上記請求項1から更に、上記各処理ブロック内に割
込みを禁止して処理を行うサブブロックを設定し、該各
割込み禁止区間では上記異常判定用フラグを上記設定と
相反する状態に設定するようにしたことを特徴とするマ
イクロコンピュータの異常信号出力方法を提供すること
にある。
【0009】また、本発明の特許請求の範囲における請
求項4は、上記請求項2から更に、メイン処理のプログ
ラムと非同期し、上記割込み処理が所定の周期で割り込
む、定時割込み処理を行う場合において、メイン処理の
プログラムにおける前半の各処理ブロックの先頭で、上
記各異常判定用フラグをセット又はリセットするように
それぞれ設定し、メイン処理のプログラムにおける後半
の各処理ブロックの先頭で、上記各異常判定用フラグ
を、上記前半の各処理ブロックで設定された異常判定用
フラグと相反する状態に設定し、割込み処理のプログラ
ムの最後に割込み禁止を解除し、メイン処理に復帰させ
る割込み許可処理を行うようにしたことを特徴とするマ
イクロコンピュータの異常信号出力方法を提供すること
にある。
【0010】更にまた、本発明の特許請求の範囲におけ
る請求項5は、上記請求項1から更に、割込み処理以外
のメイン処理のプログラムと同期し、所定の周期で割り
込む、同期割込み処理を行う場合において、メイン処理
のプログラムにおける各処理ブロックの先頭で、上記異
常判定用フラグをセット又はリセットするようにそれぞ
れ設定し、割込み処理のプログラムにおいて、先頭にあ
る割込みを禁止する処理の後に、カウンタを加算する処
理を行い、割込み処理のプログラムの最後に割込み禁止
を解除し、メイン処理に復帰させる割込み許可処理を行
い、割込み処理のプログラムで、上記カウンタが少なく
とも1つの所定の数値になると、そのときの上記異常判
定用フラグを読み込み、該異常判定用フラグに対応する
レベルの異常判定用信号を出力し、上記異常判定用信号
が交互に相反するレベルとなるように、上記異常判定用
フラグを設定したことを特徴とするマイクロコンピュー
タの異常信号出力方法を提供することにある。
【0011】本発明の特許請求の範囲における請求項6
は、上記請求項3から更に、メイン処理のプログラムに
おける各処理ブロックの先頭で、上記異常判定用フラグ
をセット又はリセットするようにそれぞれ設定し、上記
各処理ブロック内に割込み禁止区間を設定し、該各割込
み禁止区間の先頭で、上記異常判定用フラグを、各処理
ブロックの先頭で設定した状態と相反する状態にそれぞ
れ設定し、上記割込み禁止区間の最後で、上記異常判定
用フラグを、各処理ブロックの先頭で設定した状態と同
じ状態に設定し、割込み処理のプログラムにおいて、先
頭にある割込みを禁止する処理の後に、上記各異常判定
用フラグと同じレベルの異常判定用信号を出力し、割込
み処理のプログラムの最後に割込み禁止を解除し、メイ
ン処理に復帰させる割込み許可処理を行うことを特徴と
するマイクロコンピュータの異常信号出力方法を提供す
ることにある。
【0012】
【作用及び効果】本発明の特許請求の範囲の請求項1に
記載の方法は、異常判定用信号の出力状態を割込み処理
以外のメイン処理内で設定される異常判定用フラグから
決定し、異常判定用信号の出力処理を割込み処理内で行
うことにより、割込み機能を有するマイクロコンピュー
タの割込み処理以外の処理及び割込み処理での暴走とい
った異常動作に対して、マイクロコンピュータから出力
される異常判定用信号はHiレベル又はLoレベル一定と
なるようにしたことから、マイクロコンピュータの暴走
を監視するWD監視回路は、無パルス状態のみを検出す
ればよく、非常に簡単で安価な構成の回路で形成するこ
とができる。
【0013】また、本発明の特許請求の範囲の請求項2
に記載の方法は、割込み処理のプログラムの先頭におい
て、割込みを禁止する処理の後に、上記異常判定用フラ
グを読み込み、該異常判定用フラグに対応するレベルの
異常判定用信号を出力するようにしたことから、1つの
割込み処理中に次々と他の割込み処理が行われることに
より、マイクロコンピュータが正常に動作している場合
でも異常判定用信号が同一レベル一定となることを防ぐ
ことから、WD監視回路は、より精度よく簡単にマイク
ロコンピュータの暴走を検出することができる。
【0014】また、本発明の特許請求の範囲の請求項3
に記載の方法は、パルス状のWD信号の周期、Hiレベ
ル時間及びLoレベル時間の検出ができる高機能なWD
監視回路を使用する場合においては、割込み禁止機能が
正常に作動しているかどうかも検出することができ、よ
り高度な暴走検出機能を備えることができる。
【0015】更に、本発明の特許請求の範囲の請求項4
に記載の方法は、割込み処理がメイン処理のプログラム
と非同期に所定の周期で行われる場合において、メイン
処理の前半の処理ブロックと後半の処理ブロックで設定
される異常判定フラグを相反する状態に設定することに
より、WD監視回路は、より精度よく簡単にマイクロコ
ンピュータの暴走を検出することができる。
【0016】更にまた、本発明の特許請求の範囲の請求
項5に記載の方法は、割込み処理がメイン処理のプログ
ラムと同期して所定の周期で行われる場合において、割
込み処理で、先頭にある割込みを禁止する処理の後に、
カウンタを加算する処理を行い、上記カウンタが少なく
とも1つの所定の数値になるとそのときの上記異常判定
用フラグを読み込み、該異常判定用フラグに対応するレ
ベルの異常判定用信号を出力し、上記異常判定用信号が
交互に相反するレベルとなるように、上記異常判定用フ
ラグを設定することにより、WD監視回路は、より精度
よく簡単にマイクロコンピュータの暴走を検出すること
ができる。
【0017】また、本発明の特許請求の範囲の請求項6
に記載の方法は、各割込み禁止区間の先頭で、上記異常
判定用フラグを、各処理ブロックの先頭で設定した状態
と相反する状態にそれぞれ設定し、上記割込み禁止区間
の最後で、上記異常判定用フラグを、各処理ブロックの
先頭で設定した状態と同じ状態に設定することから、パ
ルス状のWD信号の周期、Hiレベル時間及びLoレベル
時間の検出ができる高機能なWD監視回路を使用する場
合においては、割込み禁止機能が正常に作動しているか
どうかをより確実に検出することができ、更に高度な暴
走検出機能を備えることができる。
【0018】
【実施例】次に、図面に示す実施例に基づき、本発明に
ついて詳細に説明する。図1は、本発明のマイクロコン
ピュータの異常信号出力方法が適用される、マイクロコ
ンピュータと異常判定用信号、すなわちWD信号の監視
回路を主な構成要素とするマイクロコンピュータシステ
ムを示した概略ブロック図である。
【0019】図1において、1は、本発明の異常信号出
力方法を適用したマイクロコンピュータ(以下マイコン
と呼ぶ)を示し、2は、マイコン1からのWD信号の状
態を監視し、WD信号からマイコン1の暴走を検知する
とマイコン1に暴走状態検知信号を出力するWD監視回
路であり、上記マイコン1のWD信号出力端子が、該W
D監視回路の入力端子に接続され、WD監視回路2の正
常/異常判定信号出力端子(以下出力端子と呼ぶ)がマ
イコン1のリセット端子に接続されている。
【0020】また、上記WD監視回路2の出力端子は、
マイコン1のリセット端子の代わりに、システムの電源
を遮断したり、警告灯を点灯させるなどの安全処理又は
警告処理を行う他の装置に接続されてもよく、これらの
装置は、WD監視回路2からの正常/異常判定信号によ
って所定の作動を行うものである。
【0021】ここで、WD監視回路2は、パルス信号
と、Hi又はLoレベル一定の信号とを識別できればよ
く、このような回路は公知のものとしてよく知られてお
り、一例を図2で示している。図2で示したWD監視回
路は、特開平5−134899号明細書で開示されたも
のであり、パルス状のWD信号をそのデューティ比に対
応した電圧に変換する積分回路を備え、該積分回路によ
って変換された電圧を所定の基準値を設定した比較回路
によってパルス信号か否かを判定することができる。
【0022】図2において、マイクロコンピュータ51
からライン61に導出されたパルス信号は、抵抗R1,
R2及びコンデンサC1を含む積分回路62により上記
パルス信号のデューティ比に対応した電圧に変換され
る。ライン63には、上記パルス信号のデューティ比に
対応した電圧が導出される。
【0023】上記積分回路62の出力電圧Vは、抵抗R
3を介して比較器71の反転入力端子に与えられてい
る。この比較器71の非反転入力端子には、電源電圧V
ccを抵抗R4、抵抗R5及び抵抗R6とで分圧した分
圧点64に現れる電圧が、基準電圧V1として与えられ
ている。積分回路62の出力電圧Vは更に、抵抗R7を
介して比較器72の非反転入力端子に与えられている。
この比較器72の反転入力端子には、電源電圧Vccを
抵抗R4、R5及び抵抗R6とで分圧した分圧点65に
現れる電圧が基準電圧V2(V2<V1)として入力さ
れている。
【0024】比較器71,72の出力はマイクロコンピ
ュータ51のリセット入力端子Resetに接続したライン
66に共通に接続されている。したがって、比較器7
1,72の少なくともいずれか一方がローレベルの信号
を出力すれば、ライン66の電位はローレベルとなる。
このライン66には、抵抗R8を介して電源電圧Vcc
が与えられている。これは、比較器71,72がオープ
ンコレクタ出力型のものであるためである。
【0025】上記の構成によって、積分回路62の出力
電圧Vが、V2<V<V1のときには、比較器71,7
2の出力はいずれもハイレベルとなる。一方、積分回路
62の出力電圧Vが、V<V2のときには、比較器71
の出力はハイレベルとなり、比較器72の出力はローレ
ベルとなる。この結果、抵抗R8を電流が流れて、この
電流が比較器72に吸収されるから、ライン66は接地
電位となる。このライン66に導出されたローレベルの
信号が暴走状態検知信号として、V1<Vのときには、
比較器71の出力はローレベルとなり、比較器72の出
力はハイレベルとなる。これにより、ライン66は接地
電位となるから、上記の場合と同様に、マイクロコンピ
ュータ51がリセットされる。
【0026】次に、図3と図4は、本発明の方法の第1
実施例を示したフローチャートであり、図3は、マイコ
ンのプログラムのメイン処理を示したフローチャートで
あり、図4は、マイコンのプログラムの割込み処理を示
したフローチャートであり、メイン処理の周期が10ms
ecで動作し、該メイン処理とは非同期に、例えばマイコ
ンのタイマ割込み機能を用いて1msec間隔で割込み処理
が行われる、定時割込み処理が行われるプログラムを示
したものである。このような構成は、一定周期で外部の
信号をモニタする、又は負荷への駆動信号を出力するな
どの処理を行う場合によく用いられる。
【0027】図3で示すように、メイン処理は、n(n
は2以上の整数)個の処理ブロックMB1からMBnと
時間待ちブロックTBで構成されており、処理ブロック
MB1からMBnのそれぞれは、異常判定用フラグFを
設定するフローと、所定の処理を行うフローからなる。
ここで、本実施例のように、上記各処理ブロックMB1
からMBnの処理時間があらかじめ分かっている場合に
は、異常判定用フラグFを前半の処理ブロックでは0
に、後半の処理ブロックでは1に設定する。なお、異常
判定用フラグFを前半の処理ブロックでは1に、後半の
処理ブロックでは0に設定してもよいことは言うまでも
ない。
【0028】まず最初に、処理ブロックMB1におい
て、ステップS1aで異常判定用フラグFを0に設定し
た後、ステップS1bで所定の処理1を行い、その次
に、処理ブロックMB2に進み、処理ブロックMB2に
おいて、ステップS2aで異常判定用フラグFを0に設
定した後、ステップS2bで所定の処理2を行う。この
ように、前半の処理ブロックでは同様のフローを行う。
なお、上記整数nが2の場合、処理ブロック2は、後述
する後半の処理ブロックと同様のフローを行う。
【0029】次に、後半の処理ブロックを、n−1番目
の処理ブロックMBn-1から説明する。処理ブロックM
Bn-1において、ステップSn-1aで異常判定用フラグF
を1に設定した後、ステップSn-1bで所定の処理n-1を
行い、その次に、処理ブロックMBnに進み、処理ブロ
ックMBnにおいて、ステップSnaで異常判定用フラ
グFを1に設定した後、ステップSnbで所定の処理n
を行い、時間待ちブロックTBに進む。このように、後
半の処理ブロックでは同様のフローを行う。なお、上記
整数nが2の場合、処理ブロックn-1は、上記前半の処
理ブロックと同様のフローを行う。
【0030】時間待ちブロックTBは、ステップS10
からなり、ステップS10で、メイン処理が始まってか
ら10msec経過していれば(YES)、処理ブロックM
B1のステップS1aに戻る。ステップS10で、10
msec経過していなければ(NO)ステップS10を繰り
返す。
【0031】次に、図4を用いて、割込み処理の説明を
行う。最初に、ステップS20で、他の割込みを禁止す
る割込み禁止処理を行い、次にステップS21で、メイ
ン処理で設定されているこのときの異常判定用フラグF
を読み込み、該異常判定用フラグFに対応するレベルの
信号、例えば異常判定用フラグが0であればLoレベル
の信号がマイコン1のWD信号出力端子から出力され
る。
【0032】次に、ステップS22に進み、所定の割込
みブロック1の処理を行い、ステップS23で最後の所
定の割込みブロックm(mは1以上の整数)の処理を行
い、ステップS24に進む。なお、ここでは説明を省略
したが、ステップS22とステップS23の間におい
て、上記整数mに対応する回数の所定の割込みブロック
の処理が行われ、上記整数mが1の場合は、上記ステッ
プS23は行われず、ステップS22からステップS2
4へ進む。
【0033】ステップS24で、他の割込みの禁止を解
く割込み許可処理を行って、割込み処理が終了し、割込
み処理が行われる前のメイン処理のフローに戻る。
【0034】このように、図4で示した割込み処理は、
メイン処理とは非同期に1msec毎に行われ、その度にそ
のときにメイン処理で設定された異常判定用フラグFを
読み込み、その異常判定用フラグFに対応するレベルの
信号をマイコン1のWD信号出力端子から出力されるこ
とから、これらの処理が正常に動作している場合には、
メイン処理の流れにしたがって割込み処理にて一定の周
期のパルスがWD信号としてWD監視回路2に出力さ
れ、WD監視回路2は正常判定信号を出力する。
【0035】次に、上記第1実施例に対して、いくつか
のマイコンの暴走例に対する本発明の動作を説明する。
暴走例1として、図3で示したメイン処理において、1
つの処理ブロックが無限ループとなり、図4の割込み処
理は1msec毎に正常に処理されている場合について説明
する。
【0036】メイン処理における処理ブロックMB2が
無限ループとなった場合、割込み処理が正常に動作して
いるが、メイン処理において設定される異常判定用フラ
グFは常に0となり、割込み処理において、メイン処理
で設定されているこのときの異常判定用フラグFを読み
込み、その異常判定用フラグFに対応するLoレベル一
定のWD信号がマイコン1のWD信号出力端子から出力
され、WD信号の反転が行われないため、WD監視回路
2は異常と判定し、異常判定信号を出力する。
【0037】次に、暴走例2として図3で示したメイン
処理は正常に処理されており、図4の割込み処理の割込
みブロックの1つが無限ループとなった場合について説
明する。
【0038】割込み処理における割込みブロック1が無
限ループとなった場合、割込み処理の先頭で割込みを禁
止する処理を行っているため、メイン処理に復帰するこ
とができず、これより先に1msec毎の割込み処理要求を
受けても、割込み禁止となっているため割込み処理は行
われない。このことから、上記無限ループ中はWD信号
の新たな出力は行われず、上記無限ループが起こる直前
の割込み処理で行った出力状態が保持されるため、WD
信号はHi又はLoレベル一定となり、WD監視回路2は
異常と判定し、異常判定信号を出力する。
【0039】次に、暴走例3として、図3で示したメイ
ン処理は正常に処理されており、図4の割込み処理のス
テップS21における、メイン処理で設定された異常判
定用フラグFを読み込み、その異常判定用フラグFに対
応するレベルの信号をマイコン1のWD信号出力端子か
ら出力する処理が無限ループとなった場合について説明
する。
【0040】この場合も、上記暴走例2と同様に割込み
処理の先頭で割込みを禁止する処理を行っているため、
メイン処理に復帰することができない。また、WD信号
出力処理は不定周期で繰り返されるが、メイン処理で設
定する異常判定用フラグFの状態が変化しないため、W
D信号はHi又はLoレベル一定となり、WD監視回路2
は異常と判定し、異常判定信号を出力する。
【0041】次に、暴走例4として、図3で示したメイ
ン処理は正常に処理されているが、図4で示した割込み
処理が行われなくなった場合について説明する。
【0042】この場合、メイン処理が正常周期で動作し
ていても、WD信号の新たな出力は行われず、上記異常
が起こる直前の割込み処理で行った出力状態が保持され
るため、WD信号はHi又はLoレベル一定となり、WD
監視回路2は異常と判定し、異常判定信号を出力する。
【0043】次に、暴走例5として、図3で示したメイ
ン処理は正常に処理されているが、図4で示した割込み
処理の途中でメイン処理に異常ジャンプした場合につい
て説明する。
【0044】この場合、割込み処理で割込みが禁止され
ている状態でメイン処理が行われるため、次の割込み処
理が受け付けられず、WD信号はHi又はLoレベル一定
となり、WD監視回路2は異常と判定し、異常判定信号
を出力する。
【0045】次に、暴走例6として、図3で示したメイ
ン処理は正常に処理されているが、1msec毎に行われる
図4で示した割込み処理が異常頻度で行われる場合につ
いて説明する。
【0046】この場合、1つの割込み処理が終了してメ
イン処理に復帰しても、次の割込み処理要求を受け付け
るため、メイン処理を行う時間がなく、上記暴走例3と
同様にWD信号はHi又はLoレベル一定となり、WD監
視回路2は異常と判定し、異常判定信号を出力する。
【0047】次に、メイン処理が割込み処理と同期して
処理されるプログラムの場合における本発明の方法を示
した第2実施例を図5及び図6を用いて説明する。
【0048】図5と図6は、本発明の方法の第2実施例
を示したフローチャートであり、図5は、マイコンのプ
ログラムのメイン処理を示したフローチャートであり、
図6は、マイコンのプログラムの割込み処理を示したフ
ローチャートであり、メイン処理の周期が8msecで動作
し、3ビットカウンタを使用して該メイン処理と同期し
て、割込み周期が1msecの割込み処理が行われる、同期
割込み処理が行われるプログラムを示したものである。
ここでは、上記第1実施例と同じフローは同じ符号で示
しており、ここでは上記第1実施例との相違点のみ説明
する。
【0049】図5において、図3との相違点は、メイン
処理と割込み処理の間に所定の時間関係が規定できるよ
うな場合、すなわち、プログラムの処理時間上、メイン
処理の最初の部分、例えば処理ブロックMB1及び処理
ブロックMB2よりも早く4回目の割込みが処理されな
いことが明確な場合、処理ブロックMB1及び処理ブロ
ックMB2では、ステップS1a及びステップS2aで
異常判定用フラグFを0に設定し、処理ブロックMB3
におけるステップS3aで異常判定用フラグFを1に設
定する。
【0050】また、処理ブロックMB3以降の処理ブロ
ックの先頭で同様に異常判定用フラグFを1に設定する
ことと、ステップS30を追加し、図3における時間待
ちブロックTBの代わりにステップS31及びステップ
S32からなる時間待ちブロックTB1を行うことにあ
る。
【0051】図5におけるメイン処理のフローの最初に
ステップS30を行い、ステップS30では、3ビット
カウンタの数値が000になっているかを調べ、000
になっていれば(YES)、処理ブロックMB1のステ
ップS1aに進む。また、ステップS30でカウンタの
数値が000になっていない場合(NO)は、ステップ
S30を繰り返す。
【0052】処理ブロックMBnの処理が終わると時間
待ちブロックTB1に進む。時間待ちブロックTB1
は、ステップS31とステップS32とからなり、ステ
ップS31で、カウンタの数値が111になっていれば
(YES)、ステップS32に進み、ステップS32で
異常判定用フラグFは0に設定されて、ステップS30
に戻る。ステップS31で、カウンタの数値が111に
なっていなければ(NO)、ステップS31を繰り返
す。
【0053】次に図6の割込み処理について説明する。
図6において、最初にステップS20で割込みを禁止し
て、ステップS40に進み、ステップS40で3ビット
カウンタをインクリメントしてステップS41に進む。
【0054】次にステップS41で、3ビットカウンタ
の数値が000か否かを調べ、000であるならば(Y
ES)、ステップS42に進む。次にステップS42
で、メイン処理で設定されているこのときの異常判定用
フラグFを読み込み、その異常判定用フラグFに対応す
るレベルの信号をマイコン1のWD信号出力端子から出
力される。
【0055】次にステップS43で所定の割込みブロッ
ク1aの処理を行い、ステップS24に進む。
【0056】ステップS41で、3ビットカウンタの数
値が000でなかった場合(NO)には、ステップS4
4に進み、ステップS44で、3ビットカウンタの数値
が001か否かを調べ、001であるならば(YE
S)、ステップS45に進む。ステップS45で所定の
割込みブロック2aの処理を行い、ステップS24に進
む。
【0057】ステップS44で、3ビットカウンタの数
値が001でなかった場合(NO)には、ステップS4
6に進み、ステップS46で、3ビットカウンタの数値
が010か否かを調べ、010であるならば(YE
S)、ステップS47に進む。ステップS47で所定の
割込みブロック3aの処理を行い、ステップS24に進
む。
【0058】同様に、ステップS46で、3ビットカウ
ンタの数値が010でなかった場合(NO)には、ステ
ップS48に進み、ステップS48で、3ビットカウン
タの数値が011か否かを調べ、011であるならば
(YES)、ステップS49に進む。ステップS49で
所定の割込みブロック4aの処理を行い、ステップS2
4に進む。
【0059】ステップS48で、3ビットカウンタの数
値が011でなかった場合(NO)には、ステップS5
0に進み、ステップS50で、3ビットカウンタの数値
が100か否かを調べ、100であるならば(YE
S)、ステップS51に進み、ステップS51で、メイ
ン処理で設定されているこのときの異常判定用フラグF
を読み込み、その異常判定用フラグFに対応するレベル
の信号をマイコン1のWD信号出力端子から出力され
る。なお上述したように、処理ブロックMB1及び処理
ブロックMB2よりも早く4回目の割込みが処理されな
いことが明確であることから、ステップS51で出力さ
れるWD信号は、ステップS42で出力されるWD信号
とは相反するレベルのWD信号が出力される。
【0060】次にステップS52に進み、ステップS5
2で、所定の割込みブロック5aの処理を行い、ステッ
プS24に進む。
【0061】ステップS50で、3ビットカウンタの数
値が100でなかった場合(NO)には、ステップS5
3に進み、ステップS53で、3ビットカウンタの数値
が101か否かを調べ、101であるならば(YE
S)、ステップS54に進む。ステップS54で所定の
割込みブロック6aの処理を行い、ステップS24に進
む。
【0062】同様に、ステップS53で、3ビットカウ
ンタの数値が101でなかった場合(NO)には、ステ
ップS55に進み、ステップS55で、3ビットカウン
タの数値が110か否かを調べ、110であるならば
(YES)、ステップS56に進む。ステップS56で
所定の割込みブロック7aの処理を行い、ステップS2
4に進む。
【0063】ステップS55で、3ビットカウンタの数
値が110でなかった場合(NO)には、ステップS5
7に進み、ステップS57で所定の割込みブロック8a
の処理を行い、ステップS24に進む。
【0064】ここで、上記第2実施例において、開発途
中などで処理ブロックの時間が定まらずメイン処理の処
理時間が流動的な場合は、メインブロックMB1で異常
判定用フラグFを1に設定し、時間待ちブロックTB1
で異常判定用フラグFを0に設定すると、メイン処理の
各処理の変更に影響されずにWD信号を正常なパルスと
してマイコン1から出力することができる。
【0065】また、本第2実施例において、マイコンの
暴走に対する動作は、上記第1実施例と同様であり、こ
こではその説明を省略する。
【0066】上記第1及び第2実施例においては、WD
監視回路2としては無パルス状態のみを検出すればよか
ったが、パルス状のWD信号のHi及びLoレベルの時間
をも監視できるWD監視回路2を設置することができる
場合における本発明の方法を示した第3実施例を図7を
用いて説明する。
【0067】図7は、本発明の方法の第3実施例を示し
たフローチャートであり、図7は、マイコンのプログラ
ムのメイン処理を示したフローチャートであり、メイン
処理の各処理ブロック内に割込みを禁止して処理を行う
サブブロックを設定しており、このような処理は、例え
ば割込み処理において用いられる変数をメイン処理にて
操作する場合に必要となるもので、種々の文献において
公知の処理方法である。また、割込み処理を示したフロ
ーチャートは上記第1実施例の図4で示したフローチャ
ートと同じであり、ここでは上記第1実施例との相違点
のみを説明する。
【0068】図7において、図3で示したフローチャー
トとの相違点は、各処理ブロック内にそれぞれ割込みを
禁止して処理を行うサブブロックを設定しており、処理
ブロックMB2Aを例にして図3の処理ブロックMB2
と対比させて説明する。
【0069】処理ブロックMB2Aにおいて、最初にス
テップS2Aで、図3の各処理ブロックの最初に行った
フロー、例えば図3の処理ブロックMB2におけるステ
ップS2aと同様に異常判定用フラグFを設定し、ここ
では0に設定する。
【0070】また、図7の処理ブロックMB2Aにおけ
るステップS2BからステップS2Hは、図3における
ステップS2bに相当し、すなわち、ステップS2bの
処理2内に割込みを禁止して処理を行う、ステップS2
CからステップS2GよりなるサブブロックSB2Aを
設けた形となっている。
【0071】次に、ステップS2Bに進み、ステップS
2Bで所定の処理Aを行って、サブブロックSB2Aの
ステップS2Cに進み、ステップS2Cで割込みを禁止
する処理を行う。
【0072】次に、ステップS2Dに進み、ステップS
2Dで異常判定用フラグFを上記ステップS2Aで設定
されたフラグと相反する設定を行う。すなわち本実施例
においては、異常判定用フラグFを1に設定し、ステッ
プS2Eに進む。
【0073】ステップS2Eで、所定の処理Bを行っ
て、ステップS2Fに進み、ステップS2Fで異常判定
用フラグFをステップS2Aと同じ状態に、すなわち、
ここでは0に設定し、ステップS2Gに進む。
【0074】ステップS2Gで、割込み禁止処理を解除
して割込みを許可する処理が行われてサブブロックSB
2Aの処理が終わった後、ステップS2Hに進み、ステ
ップS2Hで所定の処理Cが行われて、1つの処理ブロ
ックが終わり、次の処理ブロックへとフローが進む。こ
のような構成の処理ブロックが、処理ブロックMB1A
から始まり処理ブロックMBnAまで行われた後、時間
待ちブロックTBAに進む。
【0075】上記時間待ちブロックTBAは、ステップ
S80からなり、ステップS80でメイン処理における
所定の1周期の時間が経過したか否かを調べ、所定の1
周期の時間が経過した場合(YES)は、メイン処理の
先頭にある処理ブロックMB1Aに戻り、ステップS8
0で、上記所定の1周期の時間が経過していない場合
(NO)は、ステップS80を繰り返す。
【0076】ここで、図7における各処理ブロックのサ
ブブロック内にある割込み禁止機能が正常に働かずに、
サブブロック内の割込み禁止区間で割込み処理へジャン
プしてしまった場合には、WD信号が反転してしまうこ
とになり、正常時に比べWD信号のパルスの所定のHi
レベル時間又はLoレベル時間が短くなり、これをWD
監視回路2で検出して、WD監視回路2は異常と判定
し、異常判定信号を出力することによりサブブロック内
の割込み禁止区間での暴走検出が可能となる。
【0077】本発明は、上記第1実施例、第2実施例及
び第3実施例に限定されるものではなく、様々な変形例
が考えられることは言うまでもなく、本発明の範囲は、
特許請求の範囲によって定められるべきものであること
は言うまでもない。
【図面の簡単な説明】
【図1】 本発明のマイクロコンピュータの異常信号出
力方法が適用される、マイクロコンピュータとWD信号
の監視回路を主な構成要素とするマイクロコンピュータ
システムを示した概略ブロック図である。
【図2】 WD信号監視回路の回路例を示した図であ
る。
【図3】 本発明の方法の第1実施例におけるマイコン
のプログラムのメイン処理を示したフローチャートであ
る。
【図4】 本発明の方法の第1実施例におけるマイコン
のプログラムの割込み処理を示したフローチャートであ
る。
【図5】 本発明の方法の第2実施例におけるマイコン
のプログラムのメイン処理を示したフローチャートであ
る。
【図6】 本発明の方法の第2実施例におけるマイコン
のプログラムの割込み処理を示したフローチャートであ
る。
【図7】 本発明の方法の第3実施例におけるマイコン
のプログラムのメイン処理を示したフローチャートであ
る。
【符号の説明】
1 マイクロコンピュータ 2 WD信号監視回路 F 異常判定用フラグ

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 割込み指令があると、通常の処理ルーチ
    ンを中断して割込み処理ルーチンを実行するマイクロコ
    ンピュータにおいて、 通常の処理プログラムの所定のブロック毎に異常判定用
    フラグをセットし、それ以外の処理ブロックでは異常判
    定用フラグをリセットするようにすると共に、割込み処
    理のプログラムの実行時に、異常判定用フラグを読み込
    み、異常判定用フラグに対応するレベルの異常判定用信
    号を出力するようにし、出力される異常判定用信号のレ
    ベルの状態から異常の有無を判定するようにしたことを
    特徴とするマイクロコンピュータの異常信号出力方法。
  2. 【請求項2】 請求項1に記載の方法にして、上記割込
    み処理のプログラムの先頭において、割込みを禁止する
    処理の後に、上記異常判定用フラグを読み込み、該異常
    判定用フラグに対応するレベルの異常判定用信号を出力
    するようにしたことを特徴とするマイクロコンピュータ
    の異常信号出力方法。
  3. 【請求項3】 請求項1に記載の方法にして、更に、上
    記各処理ブロック内に割込みを禁止して処理を行うサブ
    ブロックを設定し、該各割込み禁止区間では上記異常判
    定用フラグを上記設定と相反する状態に設定するように
    したことを特徴とするマイクロコンピュータの異常信号
    出力方法。
  4. 【請求項4】 請求項2に記載の方法にして、更に、メ
    イン処理のプログラムと非同期し、上記割込み処理が所
    定の周期で割り込む、定時割込み処理を行う場合におい
    て、メイン処理のプログラムにおける前半の各処理ブロ
    ックの先頭で、上記各異常判定用フラグをセット又はリ
    セットするようにそれぞれ設定し、メイン処理のプログ
    ラムにおける後半の各処理ブロックの先頭で、上記各異
    常判定用フラグを、上記前半の各処理ブロックで設定さ
    れた異常判定用フラグと相反する状態に設定し、割込み
    処理のプログラムの最後に割込み禁止を解除し、メイン
    処理に復帰させる割込み許可処理を行うようにしたこと
    を特徴とするマイクロコンピュータの異常信号出力方
    法。
  5. 【請求項5】 請求項1に記載の方法にして、更に、割
    込み処理以外のメイン処理のプログラムと同期し、所定
    の周期で割り込む、同期割込み処理を行う場合におい
    て、メイン処理のプログラムにおける各処理ブロックの
    先頭で、上記異常判定用フラグをセット又はリセットす
    るようにそれぞれ設定し、割込み処理のプログラムにお
    いて、先頭にある割込みを禁止する処理の後に、カウン
    タを加算する処理を行い、割込み処理のプログラムの最
    後に割込み禁止を解除し、メイン処理に復帰させる割込
    み許可処理を行い、割込み処理のプログラムで、上記カ
    ウンタが少なくとも1つの所定の数値になると、そのと
    きの上記異常判定用フラグを読み込み、該異常判定用フ
    ラグに対応するレベルの異常判定用信号を出力し、上記
    異常判定用信号が交互に相反するレベルとなるように、
    上記異常判定用フラグを設定したことを特徴とするマイ
    クロコンピュータの異常信号出力方法。
  6. 【請求項6】 請求項3に記載の方法にして、更に、メ
    イン処理のプログラムにおける各処理ブロックの先頭
    で、上記異常判定用フラグをセット又はリセットするよ
    うにそれぞれ設定し、上記各処理ブロック内に割込み禁
    止区間を設定し、該各割込み禁止区間の先頭で、上記異
    常判定用フラグを、各処理ブロックの先頭で設定した状
    態と相反する状態にそれぞれ設定し、上記割込み禁止区
    間の最後で、上記異常判定用フラグを、各処理ブロック
    の先頭で設定した状態と同じ状態に設定し、割込み処理
    のプログラムにおいて、先頭にある割込みを禁止する処
    理の後に、上記各異常判定用フラグと同じレベルの異常
    判定用信号を出力し、割込み処理のプログラムの最後に
    割込み禁止を解除し、メイン処理に復帰させる割込み許
    可処理を行うことを特徴とするマイクロコンピュータの
    異常信号出力方法。
JP6141550A 1994-06-23 1994-06-23 マイクロコンピュータの異常信号出力方法 Pending JPH086823A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6141550A JPH086823A (ja) 1994-06-23 1994-06-23 マイクロコンピュータの異常信号出力方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6141550A JPH086823A (ja) 1994-06-23 1994-06-23 マイクロコンピュータの異常信号出力方法

Publications (1)

Publication Number Publication Date
JPH086823A true JPH086823A (ja) 1996-01-12

Family

ID=15294576

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6141550A Pending JPH086823A (ja) 1994-06-23 1994-06-23 マイクロコンピュータの異常信号出力方法

Country Status (1)

Country Link
JP (1) JPH086823A (ja)

Similar Documents

Publication Publication Date Title
US10006455B2 (en) Drive control apparatus
JPH0528063A (ja) マイクロコンピユータ
JPH086823A (ja) マイクロコンピュータの異常信号出力方法
CN113868856B (zh) 一种基于状态迁移的多功能线性淡化器设计方法
JP2008225807A (ja) 制御装置およびそのプログラム暴走監視方法
JPH09167107A (ja) マイクロコンピュータの異常監視装置
JPH04142635A (ja) プロセッサの異常動作検出装置
JPH0395636A (ja) フェイルセーフ回路の診断方式
JPS5855535B2 (ja) 車両用マルチコンピユ−タ装置
JP2003015888A (ja) Cpu負荷計測方式
JPH0812656B2 (ja) マイクロコンピュータの動作異常検出方法
JPS62145336A (ja) 計算機システムのプログラムル−プ検出方式
JPH03119441A (ja) アカウントタイマ異常検出方式
JPH0612294A (ja) 監視装置
JPH05257748A (ja) マイクロプロセッサ装置
JPH02244208A (ja) 情報処理装置管理方式
JPH0375882B2 (ja)
JPH0240747A (ja) マイクロコンピュータのデータ入出力方法
JPH04195437A (ja) プログラム暴走監視装置
JPS6349855A (ja) Cpuの割込み周期異常検出装置
JPH03208137A (ja) 制御用マイクロコンピュータの異常検知方式
JPH02101540A (ja) Cpuの暴走検知方式
JPH04349542A (ja) リアルタイムオペレーティングシステムの診断方式
JPH01193945A (ja) プログラムエラー検出方式
JP2000010824A (ja) ソフトウェア監視回路