JPH05158745A - プログラム暴走停止装置 - Google Patents
プログラム暴走停止装置Info
- Publication number
- JPH05158745A JPH05158745A JP3326009A JP32600991A JPH05158745A JP H05158745 A JPH05158745 A JP H05158745A JP 3326009 A JP3326009 A JP 3326009A JP 32600991 A JP32600991 A JP 32600991A JP H05158745 A JPH05158745 A JP H05158745A
- Authority
- JP
- Japan
- Prior art keywords
- program
- signal
- runaway
- processing
- signal output
- 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
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02E—REDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
- Y02E60/00—Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
- Y02E60/30—Hydrogen technology
- Y02E60/50—Fuel cells
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【目的】電磁波ノイズ等により、プログラムの一部のみ
が暴走した場合にも、リセットをかけて、再起動させる
ことのできるプログラム暴走停止装置を提供する。 【構成】コンピュータのプログラム実行動作が暴走した
とき、コンピュータにリセットをかけるウォッチドッグ
タイマ回路において、符号付き1バイトのカウンタCWDP
を設け、プログラムの各処理の入り口にて、このカウン
タCWDPにある値を加算し(ステップS2等)、処理の出
口において入り口にて加算した値と同じ値を減算させる
(ステップS4等)。プログラムが暴走していなけれ
ば、各々の処理の始めにおけるカウンタCWDPと終わりに
おけるカウンタCWDPの値は、同じであり変化しないが、
プログラムの一部に暴走が起きた場合には、カウンタの
絶対値は大きくなる。カウンタが所定の値を越えたとき
ウォッチドッグパルスの発生を禁止する。
が暴走した場合にも、リセットをかけて、再起動させる
ことのできるプログラム暴走停止装置を提供する。 【構成】コンピュータのプログラム実行動作が暴走した
とき、コンピュータにリセットをかけるウォッチドッグ
タイマ回路において、符号付き1バイトのカウンタCWDP
を設け、プログラムの各処理の入り口にて、このカウン
タCWDPにある値を加算し(ステップS2等)、処理の出
口において入り口にて加算した値と同じ値を減算させる
(ステップS4等)。プログラムが暴走していなけれ
ば、各々の処理の始めにおけるカウンタCWDPと終わりに
おけるカウンタCWDPの値は、同じであり変化しないが、
プログラムの一部に暴走が起きた場合には、カウンタの
絶対値は大きくなる。カウンタが所定の値を越えたとき
ウォッチドッグパルスの発生を禁止する。
Description
【0001】
【産業上の利用分野】本発明は、自動車用内燃機関等を
制御する制御コンピュータのプログラム暴走停止装置に
関する。
制御する制御コンピュータのプログラム暴走停止装置に
関する。
【0002】
【従来の技術】従来より、自動車用内燃機関等を制御す
る制御装置には、コンピュータのプログラム実行動作が
暴走したとき、コンピュータにリセットをかけるウォッ
チドッグタイマ回路が設けられている。この暴走の起こ
る理由は以下の通りである。
る制御装置には、コンピュータのプログラム実行動作が
暴走したとき、コンピュータにリセットをかけるウォッ
チドッグタイマ回路が設けられている。この暴走の起こ
る理由は以下の通りである。
【0003】コンピュータは、メモリ内に記憶されてい
る命令をプログラムカウンタの値に応じたアドレスから
読み込み、その命令を解読し、その命令が必要とする同
じくメモリに記憶されているデータを用いて処理を実行
する。メモリには、命令とデータとが記憶されていて、
プログラムが正常に動作している場合には、命令を読み
込み次の演算処理を行なうが、電磁波ノイズ等によりプ
ログラムカウンタが誤動作し、プログラムカウンタの値
に応じたアドレスのメモリに記憶されている内容が命令
ではなくデータの場合には、コンピュータは命令ではな
くデータを読み込んでこれを命令として解読して、処理
を実行してしまう。このような動作が繰り返される結
果、プログラムが暴走するのである。
る命令をプログラムカウンタの値に応じたアドレスから
読み込み、その命令を解読し、その命令が必要とする同
じくメモリに記憶されているデータを用いて処理を実行
する。メモリには、命令とデータとが記憶されていて、
プログラムが正常に動作している場合には、命令を読み
込み次の演算処理を行なうが、電磁波ノイズ等によりプ
ログラムカウンタが誤動作し、プログラムカウンタの値
に応じたアドレスのメモリに記憶されている内容が命令
ではなくデータの場合には、コンピュータは命令ではな
くデータを読み込んでこれを命令として解読して、処理
を実行してしまう。このような動作が繰り返される結
果、プログラムが暴走するのである。
【0004】上記ウォッチドッグタイマ回路の構成を図
12に示す。図12において、マイクロコンピュータ
(以下、MCUと称す)101は、メモリ102に記憶
された制御プログラムに従って、種々の処理を行なう。
この制御プログラムの中には、制御プログラムの暴走を
検出する暴走検出プログラムが内蔵されている。
12に示す。図12において、マイクロコンピュータ
(以下、MCUと称す)101は、メモリ102に記憶
された制御プログラムに従って、種々の処理を行なう。
この制御プログラムの中には、制御プログラムの暴走を
検出する暴走検出プログラムが内蔵されている。
【0005】制御プログラムが正規の順序で実行されて
いるときには、MCU101は、出力ポート103から
MCUリセット信号発生回路201にウォッチドッグパ
ルスと呼ばれる所定周期の連続パルス信号を出力してい
る。MCUリセット信号発生回路201は、ウォッチド
ッグパルスが入力されている間は、MCUリセット信号
を出力しない。
いるときには、MCU101は、出力ポート103から
MCUリセット信号発生回路201にウォッチドッグパ
ルスと呼ばれる所定周期の連続パルス信号を出力してい
る。MCUリセット信号発生回路201は、ウォッチド
ッグパルスが入力されている間は、MCUリセット信号
を出力しない。
【0006】しかしながら、制御プログラムが、外部か
らの電磁波ノイズや点火ノイズ等の影響により暴走した
場合には、制御プログラムは正規の順序で実行されなく
なり、この結果、暴走検出プログラムが作動して、出力
ポート103からのウォッチドッグパルスの出力が停止
する。
らの電磁波ノイズや点火ノイズ等の影響により暴走した
場合には、制御プログラムは正規の順序で実行されなく
なり、この結果、暴走検出プログラムが作動して、出力
ポート103からのウォッチドッグパルスの出力が停止
する。
【0007】MCUリセット信号発生回路201は、ウ
ォッチドッグパルスが入力されなくなると、一定時間経
過した後、MCUリセット信号を出力し、MCU101
にリセットをかける。MCU101にリセットがかかる
ことにより、制御プログラムは暴走状態から脱し、電源
ON時におけるリセット状態からの動作と同じく、初期
状態から再起動される。
ォッチドッグパルスが入力されなくなると、一定時間経
過した後、MCUリセット信号を出力し、MCU101
にリセットをかける。MCU101にリセットがかかる
ことにより、制御プログラムは暴走状態から脱し、電源
ON時におけるリセット状態からの動作と同じく、初期
状態から再起動される。
【0008】図13に、上記自動車用内燃機関等を制御
する制御装置の制御プログラムおよび暴走検出プログラ
ムの構成を示す。制御プログラムは、ステップS1にお
けるイニシャルプログラムと、メインプログラム等とか
らなる。メインプログラムは、要求処理速度により、ス
テップS102における最速処理と、ステップS111
における処理1と、ステップS112における処理2
と、ステップS113における処理3等とに分かれてい
る。最速処理は該制御プログラムで行われる処理の内で
最も速く行われる処理であり、不定周期であるが、例え
ば1ms以内の間隔で実施される。
する制御装置の制御プログラムおよび暴走検出プログラ
ムの構成を示す。制御プログラムは、ステップS1にお
けるイニシャルプログラムと、メインプログラム等とか
らなる。メインプログラムは、要求処理速度により、ス
テップS102における最速処理と、ステップS111
における処理1と、ステップS112における処理2
と、ステップS113における処理3等とに分かれてい
る。最速処理は該制御プログラムで行われる処理の内で
最も速く行われる処理であり、不定周期であるが、例え
ば1ms以内の間隔で実施される。
【0009】処理1、処理2、処理3は、ステップS1
05,S106ないしS107における処理タイミング
生成プログラムにより各々の処理タイミングで実行され
る。例えば、処理1は5ms周期、処理2は40ms周期、
処理3は80ms周期といったタイミングをとっている。
05,S106ないしS107における処理タイミング
生成プログラムにより各々の処理タイミングで実行され
る。例えば、処理1は5ms周期、処理2は40ms周期、
処理3は80ms周期といったタイミングをとっている。
【0010】ステップS103およびS104からなる
暴走検出プログラムは、ステップS102における最速
処理が実行される都度実行され、出力ポート103の出
力を2ms毎に反転させて、ウォッチドックパルスを発生
している。ここで、制御プログラムが上記の理由で暴走
した場合、暴走検出プログラムが実行されなくなり、ウ
ォッチドッグパルスの出力が停止する。MCUリセット
信号発生回路201は、ウォッチドッグパルスが入力さ
れなくなると、上述の如く一定時間経過した後、MCU
101のリセット端子105に、MCUリセット信号を
出力し、MCU101にリセットをかける。
暴走検出プログラムは、ステップS102における最速
処理が実行される都度実行され、出力ポート103の出
力を2ms毎に反転させて、ウォッチドックパルスを発生
している。ここで、制御プログラムが上記の理由で暴走
した場合、暴走検出プログラムが実行されなくなり、ウ
ォッチドッグパルスの出力が停止する。MCUリセット
信号発生回路201は、ウォッチドッグパルスが入力さ
れなくなると、上述の如く一定時間経過した後、MCU
101のリセット端子105に、MCUリセット信号を
出力し、MCU101にリセットをかける。
【0011】
【発明が解決しようとする課題】しかしながら、プログ
ラムの暴走パターンとして、暴走検出プログラムは正常
に実行されてウォッチドッグパルスが出力され続ける
が、他の一部の処理が暴走して正常な処理が実施されて
いないというパターンが発生する。例えば、ステップS
111の処理1の途中で、誤動作によりステップS11
2の処理2の途中に進んでしまい、さらに、処理1の途
中に進み、ステップS102の最速処理に戻るというパ
ターンを辿る場合である。このように、プログラムの一
部のみが暴走した場合には、MCU101にリセットを
かけられず、正常動作に復帰できないことがあった。
ラムの暴走パターンとして、暴走検出プログラムは正常
に実行されてウォッチドッグパルスが出力され続ける
が、他の一部の処理が暴走して正常な処理が実施されて
いないというパターンが発生する。例えば、ステップS
111の処理1の途中で、誤動作によりステップS11
2の処理2の途中に進んでしまい、さらに、処理1の途
中に進み、ステップS102の最速処理に戻るというパ
ターンを辿る場合である。このように、プログラムの一
部のみが暴走した場合には、MCU101にリセットを
かけられず、正常動作に復帰できないことがあった。
【0012】本発明は、電磁波ノイズ等により、プログ
ラムの一部のみが暴走した場合にも、リセットをかけ
て、再起動させることのできるプログラム暴走停止装置
を提供することを目的とする。
ラムの一部のみが暴走した場合にも、リセットをかけ
て、再起動させることのできるプログラム暴走停止装置
を提供することを目的とする。
【0013】
【課題を解決するための手段】上記目的を達成するた
め、本発明は図1に例示するように、プログラムを実行
するプログラム実行手段と、前記プログラム実行手段に
よるプログラム実行に従って、所定周期の連続パルス信
号を出力する信号出力手段と、前記信号出力手段の前記
連続パルス信号を検出する信号検出手段と、前記信号検
出手段により、所定時間内に前記連続パルス信号が検出
されなかったとき、前記プログラム実行手段を初期状態
にさせるリセット手段と、を備えたプログラム暴走停止
装置において、前記プログラムに含まれる所定の処理単
位毎に、処理が正常に終了したことに応じて、正常終了
を表す情報を生成する動作情報生成手段と、前記動作情
報生成手段の情報が異常の場合には、前記信号出力手段
の出力を停止させる信号出力停止手段と、を備えたこと
を特徴とするプログラム暴走停止装置を要旨とする。
め、本発明は図1に例示するように、プログラムを実行
するプログラム実行手段と、前記プログラム実行手段に
よるプログラム実行に従って、所定周期の連続パルス信
号を出力する信号出力手段と、前記信号出力手段の前記
連続パルス信号を検出する信号検出手段と、前記信号検
出手段により、所定時間内に前記連続パルス信号が検出
されなかったとき、前記プログラム実行手段を初期状態
にさせるリセット手段と、を備えたプログラム暴走停止
装置において、前記プログラムに含まれる所定の処理単
位毎に、処理が正常に終了したことに応じて、正常終了
を表す情報を生成する動作情報生成手段と、前記動作情
報生成手段の情報が異常の場合には、前記信号出力手段
の出力を停止させる信号出力停止手段と、を備えたこと
を特徴とするプログラム暴走停止装置を要旨とする。
【0014】
【作用】上記構成を有する本発明のプログラム暴走停止
装置は、プログラム実行手段がプログラムを実行し、該
プログラム実行に従って、信号出力手段が、所定周期の
連続パルス信号を出力し、信号検出手段が、該連続パル
ス信号を検出し、該信号検出手段により、所定時間内に
連続パルス信号が検出されなかったとき、リセット手段
が、プログラム実行手段を初期化させる。
装置は、プログラム実行手段がプログラムを実行し、該
プログラム実行に従って、信号出力手段が、所定周期の
連続パルス信号を出力し、信号検出手段が、該連続パル
ス信号を検出し、該信号検出手段により、所定時間内に
連続パルス信号が検出されなかったとき、リセット手段
が、プログラム実行手段を初期化させる。
【0015】そして、動作情報生成手段が、プログラム
に含まれる所定の処理単位毎に、処理が正常に終了した
ことに応じて、正常終了を表す情報を生成し、該動作情
報生成手段の情報が異常の場合には、信号出力停止手段
が、上記信号出力手段の出力を停止させる。
に含まれる所定の処理単位毎に、処理が正常に終了した
ことに応じて、正常終了を表す情報を生成し、該動作情
報生成手段の情報が異常の場合には、信号出力停止手段
が、上記信号出力手段の出力を停止させる。
【0016】
【実施例】以下、本発明の実施例を図面に基づいて説明
する。図2は、本発明の第1の実施例のエンジン制御装
置の構成を示すブロック図である。図2において、各種
センサ1は、制御用コンピュータ(以下、ECUと称
す)3に接続され、このECU3には、アクチュエータ
5が接続される。各種センサ1には、エンジンの回転角
度、吸気管圧力、冷却水温、車速、アイドル状態等を検
出するセンサが含まれる。また、アクチュエータ5に
は、点火コイル、バキュームバルブ、インジェクタ、フ
ューエルポンプ、ウォーニングランプ等のアクチュエー
タ類が含まれる。ECU3は、入力波形整形回路31、
MCU33、出力バッファ35、MCUリセット信号発
生回路37および電源回路39を備える。
する。図2は、本発明の第1の実施例のエンジン制御装
置の構成を示すブロック図である。図2において、各種
センサ1は、制御用コンピュータ(以下、ECUと称
す)3に接続され、このECU3には、アクチュエータ
5が接続される。各種センサ1には、エンジンの回転角
度、吸気管圧力、冷却水温、車速、アイドル状態等を検
出するセンサが含まれる。また、アクチュエータ5に
は、点火コイル、バキュームバルブ、インジェクタ、フ
ューエルポンプ、ウォーニングランプ等のアクチュエー
タ類が含まれる。ECU3は、入力波形整形回路31、
MCU33、出力バッファ35、MCUリセット信号発
生回路37および電源回路39を備える。
【0017】ECU3には、各種センサ1から出力され
る信号が入力される。これらの信号は入力波形整形回路
31で波形整形されたのち、MCU33に入力される。
MCU33はメモリ331に記憶されている制御プログ
ラムにより、出力バッファ35を介して、アクチュエー
タ5の駆動信号を出力し、図示しないエンジンを制御す
る。
る信号が入力される。これらの信号は入力波形整形回路
31で波形整形されたのち、MCU33に入力される。
MCU33はメモリ331に記憶されている制御プログ
ラムにより、出力バッファ35を介して、アクチュエー
タ5の駆動信号を出力し、図示しないエンジンを制御す
る。
【0018】また、MCU33は、制御プログラムが正
規の順序で実行されているときには、MCUリセット信
号発生回路37にウォッチドッグパルスを出力してい
る。MCUリセット信号発生回路37は、ウォッチドッ
グパルスが入力されている間は、リセット信号を出力し
ないが、プログラムが暴走して、ウォッチドッグパルス
が入力されなくなると、一定時間経過後、MCU33に
リセット信号を出力する。
規の順序で実行されているときには、MCUリセット信
号発生回路37にウォッチドッグパルスを出力してい
る。MCUリセット信号発生回路37は、ウォッチドッ
グパルスが入力されている間は、リセット信号を出力し
ないが、プログラムが暴走して、ウォッチドッグパルス
が入力されなくなると、一定時間経過後、MCU33に
リセット信号を出力する。
【0019】尚、MCU33は、プログラム実行手段お
よび信号出力手段に該当し、MCUリセット信号発生回
路37は、信号検出手段およびリセット手段に該当す
る。図3に、一般的な制御プログラムの処理の流れを示
す。電源が投入されることにより、イニシャルプログラ
ムが実行され、その後メインプログラムが繰り返し実行
される。メインプログラムは、後述の暴走検出プログラ
ムと、処理タイミング生成プログラムとを含む。メイン
プログラムの実行は、ECU3の電源が切られるか、外
部からのリセット信号によりリセットをかけられるまで
繰り返される。ただし、エンジンの回転角度センサ信号
等により割り込み要求がかけられると、割込処理プログ
ラムが実行される。メインプログラムの実行は、割込処
理プログラムの実行が終了するまで中断される。
よび信号出力手段に該当し、MCUリセット信号発生回
路37は、信号検出手段およびリセット手段に該当す
る。図3に、一般的な制御プログラムの処理の流れを示
す。電源が投入されることにより、イニシャルプログラ
ムが実行され、その後メインプログラムが繰り返し実行
される。メインプログラムは、後述の暴走検出プログラ
ムと、処理タイミング生成プログラムとを含む。メイン
プログラムの実行は、ECU3の電源が切られるか、外
部からのリセット信号によりリセットをかけられるまで
繰り返される。ただし、エンジンの回転角度センサ信号
等により割り込み要求がかけられると、割込処理プログ
ラムが実行される。メインプログラムの実行は、割込処
理プログラムの実行が終了するまで中断される。
【0020】図4にメインプログラムの構成を示し、図
5に、メインプログラムに含まれる暴走検出プログラム
の構成を示し、図6に割込処理プログラムの構成を示
す。メインプログラムは、要求処理速度により、ステッ
プS3における最速処理と、ステップS12における処
理1と、ステップS15における処理2と、ステップS
18における処理3とに分かれている。
5に、メインプログラムに含まれる暴走検出プログラム
の構成を示し、図6に割込処理プログラムの構成を示
す。メインプログラムは、要求処理速度により、ステッ
プS3における最速処理と、ステップS12における処
理1と、ステップS15における処理2と、ステップS
18における処理3とに分かれている。
【0021】最速処理は該制御プログラムで行われる処
理の内で最も速く行われる処理であり、不定周期である
が、例えば1ms以内の間隔で実施される。処理1、処理
2、処理3は、ステップS6,S7ないしS8における
処理タイミング生成プログラムにより各々の処理タイミ
ングで実行される。例えば、処理1は5ms周期、処理2
は40ms周期、処理3は80ms周期といったタイミング
をとっている。
理の内で最も速く行われる処理であり、不定周期である
が、例えば1ms以内の間隔で実施される。処理1、処理
2、処理3は、ステップS6,S7ないしS8における
処理タイミング生成プログラムにより各々の処理タイミ
ングで実行される。例えば、処理1は5ms周期、処理2
は40ms周期、処理3は80ms周期といったタイミング
をとっている。
【0022】本実施例では、符号付き1バイトのカウン
タCWDPを設け、各処理の入り口にて、このカウンタCWDP
にある値を加算し、処理の出口において入り口にて加算
した値と同じ値を減算する。プログラムが暴走していな
ければ、各々の処理の始めにおけるカウンタCWDPと終わ
りにおけるカウンタCWDPの値は、同じであり変化しな
い。 図4に示すように、ステップS3における最速処
理の前のステップS2では、カウンタCWDPを値Bだけ加
算する加算処理が行なわれ、最速処理の後のステップS
4では、カウンタCWDPを値Bだけ減算する減算処理が行
なわれる。
タCWDPを設け、各処理の入り口にて、このカウンタCWDP
にある値を加算し、処理の出口において入り口にて加算
した値と同じ値を減算する。プログラムが暴走していな
ければ、各々の処理の始めにおけるカウンタCWDPと終わ
りにおけるカウンタCWDPの値は、同じであり変化しな
い。 図4に示すように、ステップS3における最速処
理の前のステップS2では、カウンタCWDPを値Bだけ加
算する加算処理が行なわれ、最速処理の後のステップS
4では、カウンタCWDPを値Bだけ減算する減算処理が行
なわれる。
【0023】ステップS12における処理1の前のステ
ップS11では、カウンタCWDPを値Cだけ加算する加算
処理が行なわれ、処理1の後のステップS13では、カ
ウンタCWDPを値Cだけ減算する減算処理が行われる。ス
テップS15における処理2の前のステップS14で
は、カウンタCWDPを値Dだけ加算する加算処理が行なわ
れ、処理2の後のステップS16では、カウンタCWDPを
値Dだけ減算する減算処理が行われる。
ップS11では、カウンタCWDPを値Cだけ加算する加算
処理が行なわれ、処理1の後のステップS13では、カ
ウンタCWDPを値Cだけ減算する減算処理が行われる。ス
テップS15における処理2の前のステップS14で
は、カウンタCWDPを値Dだけ加算する加算処理が行なわ
れ、処理2の後のステップS16では、カウンタCWDPを
値Dだけ減算する減算処理が行われる。
【0024】ステップS18における処理3の前のステ
ップS17では、カウンタCWDPを値Eだけ加算する加算
処理が行なわれ、処理3の後のステップS19では、カ
ウンタCWDPを値Eだけ減算する減算処理が行われる。ま
た、ステップS22における割込処理の前のステップS
21では、カウンタCWDPを値Aだけ加算する加算処理が
行なわれ、割込処理の後のステップS23では、カウン
タCWDPを値Aだけ減算する減算処理が行われる。ここ
で、各処理における加算・減算値A,B,C,D,Eの
値は、互いに相等しくない値である。尚、カウンタCWDP
の値は、イニシャルプログラムにてクリアされる。
ップS17では、カウンタCWDPを値Eだけ加算する加算
処理が行なわれ、処理3の後のステップS19では、カ
ウンタCWDPを値Eだけ減算する減算処理が行われる。ま
た、ステップS22における割込処理の前のステップS
21では、カウンタCWDPを値Aだけ加算する加算処理が
行なわれ、割込処理の後のステップS23では、カウン
タCWDPを値Aだけ減算する減算処理が行われる。ここ
で、各処理における加算・減算値A,B,C,D,Eの
値は、互いに相等しくない値である。尚、カウンタCWDP
の値は、イニシャルプログラムにてクリアされる。
【0025】暴走検出プログラムは、最速処理が実行さ
れる都度実行される。この暴走検出プログラムでは、図
5に示すように、ステップS51で2ms毎のタイミング
か否かが判定され、該タイミングであれば、ステップS
52でカウンタCWDPの値に基づいて、暴走しているか否
かが判定される。暴走していない場合にはステップS5
4に進み、暴走している場合にはステップS53で制御
フラグXWDPが1にセットされる。
れる都度実行される。この暴走検出プログラムでは、図
5に示すように、ステップS51で2ms毎のタイミング
か否かが判定され、該タイミングであれば、ステップS
52でカウンタCWDPの値に基づいて、暴走しているか否
かが判定される。暴走していない場合にはステップS5
4に進み、暴走している場合にはステップS53で制御
フラグXWDPが1にセットされる。
【0026】ステップS54では、制御フラグXWDPが1
であるか0であるかが判定され、0である場合には、ス
テップS55でウォッチドッグパルス反転が行われる。
制御フラグXWDPが1であれば、この反転は行われない。
尚、制御フラグXWDPはイニシャルプログラムでクリアさ
れている。
であるか0であるかが判定され、0である場合には、ス
テップS55でウォッチドッグパルス反転が行われる。
制御フラグXWDPが1であれば、この反転は行われない。
尚、制御フラグXWDPはイニシャルプログラムでクリアさ
れている。
【0027】次に、暴走が起きていない場合の動作を説
明する。暴走が起きていない場合には、ステップS2に
おける最速処理は、2ms毎に実行される。また、ステッ
プS12における処理1は5ms毎に実行され、ステップ
S15における処理2は40ms毎に実行され、ステップ
S18における処理3は80ms毎に実行される。例え
ば、図7に示すように、プログラムが処理1において、
処理が正常に実行された場合には、図のから入りか
ら出ることになり、カウンタCWDPは、処理1の前後にて
不変である。この場合において、暴走検出プログラムの
ステップS53で制御フラグXWDPが1にセットされるこ
とはないので、ステップS55で2ms毎にウォッチドッ
グパルス反転が行われ、ウォッチドッグパルスがMCU
リセット信号発生回路37に出力される。従って、MC
Uリセット信号発生回路37からMCU33にリセット
信号が出力されることはない。
明する。暴走が起きていない場合には、ステップS2に
おける最速処理は、2ms毎に実行される。また、ステッ
プS12における処理1は5ms毎に実行され、ステップ
S15における処理2は40ms毎に実行され、ステップ
S18における処理3は80ms毎に実行される。例え
ば、図7に示すように、プログラムが処理1において、
処理が正常に実行された場合には、図のから入りか
ら出ることになり、カウンタCWDPは、処理1の前後にて
不変である。この場合において、暴走検出プログラムの
ステップS53で制御フラグXWDPが1にセットされるこ
とはないので、ステップS55で2ms毎にウォッチドッ
グパルス反転が行われ、ウォッチドッグパルスがMCU
リセット信号発生回路37に出力される。従って、MC
Uリセット信号発生回路37からMCU33にリセット
信号が出力されることはない。
【0028】次に、暴走が起きた場合の動作について説
明する。まず、最速処理に戻らないような暴走が起きた
場合について説明する。この場合には、ステップS55
におけるウォッチドッグパルス反転が起こらない。従っ
て、MCUリセット信号発生回路37は、ウォッチドッ
グパルスが入力されないため、MCU33にリセット信
号を出力する。それにより、MCU33は正常動作に復
帰する。
明する。まず、最速処理に戻らないような暴走が起きた
場合について説明する。この場合には、ステップS55
におけるウォッチドッグパルス反転が起こらない。従っ
て、MCUリセット信号発生回路37は、ウォッチドッ
グパルスが入力されないため、MCU33にリセット信
号を出力する。それにより、MCU33は正常動作に復
帰する。
【0029】次に、プログラムの一部に暴走が起きた場
合について説明する。例えば、図7に示すように、処理
1以外の処理から処理1のあるいはに来て、から
出た場合、カウンタCWDPの値は元の値に対して加算ある
いは減算された値となる。もし、ステップS15の処理
2の途中から、ステップS12の処理1の途中へ暴走し
たとし、加減算値C,Dを3、5とすれば、カウンタCW
DPが+2となる。
合について説明する。例えば、図7に示すように、処理
1以外の処理から処理1のあるいはに来て、から
出た場合、カウンタCWDPの値は元の値に対して加算ある
いは減算された値となる。もし、ステップS15の処理
2の途中から、ステップS12の処理1の途中へ暴走し
たとし、加減算値C,Dを3、5とすれば、カウンタCW
DPが+2となる。
【0030】プログラムがいったん暴走すれば、各処理
の前後にて加算、減算の関係が崩れて、このようなこと
がいたるところの処理間で発生する。この結果、図8
(a),(b)に示すように、カウンタCWDPの値は、初
期設定値から正の方向か負の方向にずれていく。
の前後にて加算、減算の関係が崩れて、このようなこと
がいたるところの処理間で発生する。この結果、図8
(a),(b)に示すように、カウンタCWDPの値は、初
期設定値から正の方向か負の方向にずれていく。
【0031】暴走検出プログラムのステップS52にお
いて、カウンタCWDPの値の絶対値がある暴走判定値以上
になったことが判定された時、ステップS53で制御フ
ラグXWDPがセットされる。制御フラグXWDPがセットされ
ている時は、ステップS55のウォッチドッグパルス反
転が行われない。従って、MCUリセット信号発生回路
37は、ウォッチドッグパルスが入力されないため、M
CU33にリセット信号を出力する。それにより、MC
U33はリセットされ、プログラムはイニシャルプログ
ラムから再起動され、制御プログラムの実行は正常な状
態に戻される。
いて、カウンタCWDPの値の絶対値がある暴走判定値以上
になったことが判定された時、ステップS53で制御フ
ラグXWDPがセットされる。制御フラグXWDPがセットされ
ている時は、ステップS55のウォッチドッグパルス反
転が行われない。従って、MCUリセット信号発生回路
37は、ウォッチドッグパルスが入力されないため、M
CU33にリセット信号を出力する。それにより、MC
U33はリセットされ、プログラムはイニシャルプログ
ラムから再起動され、制御プログラムの実行は正常な状
態に戻される。
【0032】尚、ステップS2,S4,S11,S1
3,S14,S16,S17,S19,S21,S23
の処理の実行が動作情報生成手段として働き、ステップ
S52ないしS54の処理の実行が信号出力停止手段と
して働く。以上のように本実施例によれば、従来検出さ
れていなかった制御プログラムの一部分で起こるプログ
ラムの暴走を検出して、MCU33をリセットさせるこ
とができる。この結果、アクチュエータ5の作動悪化を
防止することができるという利点がある。
3,S14,S16,S17,S19,S21,S23
の処理の実行が動作情報生成手段として働き、ステップ
S52ないしS54の処理の実行が信号出力停止手段と
して働く。以上のように本実施例によれば、従来検出さ
れていなかった制御プログラムの一部分で起こるプログ
ラムの暴走を検出して、MCU33をリセットさせるこ
とができる。この結果、アクチュエータ5の作動悪化を
防止することができるという利点がある。
【0033】次に、本発明の第2の実施例を説明する。
この実施例のハードウエア構成は図2に示すものと同様
であるので、説明を省略する。メインプログラムの構成
を図9に示し、割込処理プログラムの構成を図10に示
す。暴走検出プログラムは図5に示すものと同様である
ので説明を省略する。
この実施例のハードウエア構成は図2に示すものと同様
であるので、説明を省略する。メインプログラムの構成
を図9に示し、割込処理プログラムの構成を図10に示
す。暴走検出プログラムは図5に示すものと同様である
ので説明を省略する。
【0034】上記第1の実施例では、暴走しても加算と
減算の組み合わせによっては、カウンタCWDPの絶対値が
暴走判定値を越えない場合があり得る。そこで、この様
な場合をなくすために第2の実施例では、1バイトのレ
ジスタSVを設け、各処理の始めで、これにある値を代入
し、処理の終わりで、CWDP=CWDP+|SV−設定値|の演
算をする。
減算の組み合わせによっては、カウンタCWDPの絶対値が
暴走判定値を越えない場合があり得る。そこで、この様
な場合をなくすために第2の実施例では、1バイトのレ
ジスタSVを設け、各処理の始めで、これにある値を代入
し、処理の終わりで、CWDP=CWDP+|SV−設定値|の演
算をする。
【0035】ステップS33の最速処理、ステップS4
2,S45,S48における処理1ないし3およびステ
ップS62の割込処理の前後に用いられる値A,B,
C,D,Eは、相互に異なる値である。尚、ステップS
32,S34,S41,S43,S44,S46,S4
7,S49,S61,S63の処理の実行が動作情報生
成手段として働く。
2,S45,S48における処理1ないし3およびステ
ップS62の割込処理の前後に用いられる値A,B,
C,D,Eは、相互に異なる値である。尚、ステップS
32,S34,S41,S43,S44,S46,S4
7,S49,S61,S63の処理の実行が動作情報生
成手段として働く。
【0036】プログラムの暴走が発生した場合、カウン
タCWDPの値は、図11に示したように漸増し、必ず判定
値を越える。この結果、第1の実施例と同様の効果が得
られる他、暴走検出の精度が更に向上するという利点が
ある。
タCWDPの値は、図11に示したように漸増し、必ず判定
値を越える。この結果、第1の実施例と同様の効果が得
られる他、暴走検出の精度が更に向上するという利点が
ある。
【0037】
【発明の効果】以上のように、本発明によれば、従来検
出されていなかったプログラムの一部分で起こるプログ
ラムの暴走を検出して、プログラム実行手段をリセット
させることができる。この結果、プログラムにより所定
の制御系が制御される場合、該制御系の作動悪化を防止
することができるという利点がある。
出されていなかったプログラムの一部分で起こるプログ
ラムの暴走を検出して、プログラム実行手段をリセット
させることができる。この結果、プログラムにより所定
の制御系が制御される場合、該制御系の作動悪化を防止
することができるという利点がある。
【図1】本発明の基本的構成を例示するブロック図であ
る。
る。
【図2】本発明の第1の実施例のエンジン制御装置の構
成を示すブロック図である。
成を示すブロック図である。
【図3】第1実施例における一般的な制御プログラムの
処理の流れを示す説明図である。
処理の流れを示す説明図である。
【図4】第1実施例におけるメインプログラムの動作を
示すフローチャートである。
示すフローチャートである。
【図5】メインプログラムに含まれる暴走検出プログラ
ムの動作を示すフローチャートである。
ムの動作を示すフローチャートである。
【図6】第1実施例における割込処理プログラムの動作
を示すフローチャートである。
を示すフローチャートである。
【図7】暴走のパターンを示す説明図である。
【図8】第1実施例における暴走検出時のカウンタのカ
ウント状況を示す説明図である。
ウント状況を示す説明図である。
【図9】第2実施例におけるメインプログラムの動作を
示すフローチャートである。
示すフローチャートである。
【図10】第2実施例における割込処理プログラムの動
作を示すフローチャートである。
作を示すフローチャートである。
【図11】第2実施例における暴走検出時のカウンタの
カウント状況を示す説明図である。
カウント状況を示す説明図である。
【図12】従来のウォッチドッグタイマ回路の構成を示
すブロック図である。
すブロック図である。
【図13】従来の自動車用内燃機関等を制御する制御装
置の制御プログラムおよび暴走検出プログラムの動作を
示すフローチャートである。
置の制御プログラムおよび暴走検出プログラムの動作を
示すフローチャートである。
33…MCU 37…MCUリセット信号発生回路
331…メモリ
331…メモリ
Claims (1)
- 【請求項1】 プログラムを実行するプログラム実行手
段と、 前記プログラム実行手段によるプログラム実行に従っ
て、所定周期の連続パルス信号を出力する信号出力手段
と、 前記信号出力手段の前記連続パルス信号を検出する信号
検出手段と、 前記信号検出手段により、所定時間内に前記連続パルス
信号が検出されなかったとき、前記プログラム実行手段
を初期状態にさせるリセット手段と、 を備えたプログラム暴走停止装置において、 前記プログラムに含まれる所定の処理単位毎に、処理が
正常に終了したことに応じて、正常終了を表す情報を生
成する動作情報生成手段と、 前記動作情報生成手段の情報が異常の場合に、前記信号
出力手段の出力を停止させる信号出力停止手段と、 を備えたことを特徴とするプログラム暴走停止装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3326009A JPH05158745A (ja) | 1991-12-10 | 1991-12-10 | プログラム暴走停止装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3326009A JPH05158745A (ja) | 1991-12-10 | 1991-12-10 | プログラム暴走停止装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05158745A true JPH05158745A (ja) | 1993-06-25 |
Family
ID=18183077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3326009A Pending JPH05158745A (ja) | 1991-12-10 | 1991-12-10 | プログラム暴走停止装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05158745A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008126491A1 (ja) * | 2007-03-29 | 2008-10-23 | Kabushiki Kaisha Toshiba | 情報記憶媒体 |
JP2011186634A (ja) * | 2010-03-05 | 2011-09-22 | Renesas Electronics Corp | 情報処理装置、半導体集積回路装置および異常検出方法 |
-
1991
- 1991-12-10 JP JP3326009A patent/JPH05158745A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008126491A1 (ja) * | 2007-03-29 | 2008-10-23 | Kabushiki Kaisha Toshiba | 情報記憶媒体 |
US8469278B2 (en) | 2007-03-29 | 2013-06-25 | Kabushiki Kaisha Toshiba | Information storage medium |
JP2011186634A (ja) * | 2010-03-05 | 2011-09-22 | Renesas Electronics Corp | 情報処理装置、半導体集積回路装置および異常検出方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH03288942A (ja) | マイクロコンピュータにおけるプログラム暴走検出方法 | |
US4775957A (en) | Microcomputer with abnormality sensing function | |
GB2129587A (en) | A method of and apparatus for fail-safe operation of a vehicle computer | |
JP2003323353A (ja) | メモリ診断装置及び制御装置 | |
JPH05158745A (ja) | プログラム暴走停止装置 | |
JP2000112837A (ja) | メモリチェック装置及びチェック方法 | |
JP2768693B2 (ja) | 2台のプロセッサを有するコンピュータシステムを監視する装置 | |
JPS6285178A (ja) | 内燃機関の制御装置 | |
JP6443202B2 (ja) | 車両の電子制御装置 | |
JPH116461A (ja) | エンジン制御装置およびその記録媒体 | |
JP2002196948A (ja) | 演算制御装置 | |
JP2001323836A (ja) | クランク同期タスクの異常検出方法 | |
WO2013073009A1 (ja) | マイコンシステム、監視マイコン | |
JP3314458B2 (ja) | マイクロコンピュータシステム | |
JP3133150B2 (ja) | クランク軸回転変動による失火検出方法 | |
JPS6170156A (ja) | エンジンの制御装置 | |
JPH02233837A (ja) | 内燃機関用逆転防止装置 | |
JPH06195244A (ja) | 制御用コンピュータの異常検出装置 | |
JPH1083355A (ja) | 車両用制御装置のメモリチェック機構 | |
EP1424479A1 (en) | Electronic device architecture for determining the angular position of an engine shaft in internal combustion engines | |
JPH0464099B2 (ja) | ||
JPS5856160A (ja) | 電子制御システム | |
JP2003120411A (ja) | 信号間隔計測装置 | |
JP2753251B2 (ja) | エンジン制御装置 | |
JPH11235691A (ja) | ロボットシステム |