JP2793993B2 - マイクロコンピュータにおけるプログラム暴走検出方法 - Google Patents
マイクロコンピュータにおけるプログラム暴走検出方法Info
- Publication number
- JP2793993B2 JP2793993B2 JP2091169A JP9116990A JP2793993B2 JP 2793993 B2 JP2793993 B2 JP 2793993B2 JP 2091169 A JP2091169 A JP 2091169A JP 9116990 A JP9116990 A JP 9116990A JP 2793993 B2 JP2793993 B2 JP 2793993B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- program
- executed
- microcomputer
- task program
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/076—Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02D—CONTROLLING COMBUSTION ENGINES
- F02D41/00—Electrical control of supply of combustible mixture or its constituents
- F02D41/22—Safety or indicating devices for abnormal conditions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0715—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
-
- 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
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Mechanical Engineering (AREA)
- Debugging And Monitoring (AREA)
Description
【発明の詳細な説明】 (産業上の利用分野) 本発明は、マイクロコンピュータにおいて、マルチタ
スク処理を行なう場合のプログラムの暴走を検出する方
法に関するものである。
スク処理を行なう場合のプログラムの暴走を検出する方
法に関するものである。
(従来の技術) コンピュータのプログラムの暴走を検出するため、一
般に、ウォッチドッグタイマを使用する方法が広く用い
られている。しかしながら、この従来方法は、プログラ
ム中の特定の処理が実行されたか否かだけによってパル
スの発生を制御し、プログラムの暴走の発生の有無をチ
ェックする構成であるから、プログラムの暴走の態様に
よっては正常動作の場合と区別することが難しく、正確
な判別のためにさらに別の複雑なハードウエアが必要に
なる等の問題点を有していた。
般に、ウォッチドッグタイマを使用する方法が広く用い
られている。しかしながら、この従来方法は、プログラ
ム中の特定の処理が実行されたか否かだけによってパル
スの発生を制御し、プログラムの暴走の発生の有無をチ
ェックする構成であるから、プログラムの暴走の態様に
よっては正常動作の場合と区別することが難しく、正確
な判別のためにさらに別の複雑なハードウエアが必要に
なる等の問題点を有していた。
この問題を解決するため、例えば、複数の処理段階を
含んで成るプログラム中の予め着目した処理段階を終了
する毎に、所定の計数演算を実行し、その計数演算結果
が所定の結果になる毎にパルスを出力し、このパルスの
出力状態からプログラムの暴走を検出する方法が提案さ
れている(特開昭58−154052号公報)。
含んで成るプログラム中の予め着目した処理段階を終了
する毎に、所定の計数演算を実行し、その計数演算結果
が所定の結果になる毎にパルスを出力し、このパルスの
出力状態からプログラムの暴走を検出する方法が提案さ
れている(特開昭58−154052号公報)。
(発明が解決しようとする課題) ところで、最近のマイクロコンピュータを使用した装
置では、プログラムを複数のタスクプログラムに分け、
各タスクプログラムを異なる周期で起動させて実行さ
せ、その結果、所望のある1つの制御が実行されるよう
にした、所謂マルチタスク処理方式が採用されている。
このようなマルチタスク処理方式においては、各タスク
プログラムが割込み処理のプログラムで起動されるた
め、複数のタスクプログラムのうちのいくつかが異常な
処理を行なっていても、ウォッチドッグタイマを管理す
るブロックが正常な動作を行なっている限り、プログラ
ムの暴走を検出することができないという問題点を有し
ている。この問題は、各タスクプログラム毎にウォッチ
ドッグタイマを設けることにより解決することもできる
が、このような構成はシステムの価値を上昇させると共
に、構成を複雑にするという別の問題を生じることにな
る。
置では、プログラムを複数のタスクプログラムに分け、
各タスクプログラムを異なる周期で起動させて実行さ
せ、その結果、所望のある1つの制御が実行されるよう
にした、所謂マルチタスク処理方式が採用されている。
このようなマルチタスク処理方式においては、各タスク
プログラムが割込み処理のプログラムで起動されるた
め、複数のタスクプログラムのうちのいくつかが異常な
処理を行なっていても、ウォッチドッグタイマを管理す
るブロックが正常な動作を行なっている限り、プログラ
ムの暴走を検出することができないという問題点を有し
ている。この問題は、各タスクプログラム毎にウォッチ
ドッグタイマを設けることにより解決することもできる
が、このような構成はシステムの価値を上昇させると共
に、構成を複雑にするという別の問題を生じることにな
る。
本発明の目的は、プログラムの実行がマルチタスク処
理方式で行なわれる場合において、各タスクが正常に実
行されているか否かを、唯一のウォッチドッグタイマを
用いて確実に検出することができる、マイクロコンピュ
ータにおけるプログラム暴走検出方法を提供することに
ある。
理方式で行なわれる場合において、各タスクが正常に実
行されているか否かを、唯一のウォッチドッグタイマを
用いて確実に検出することができる、マイクロコンピュ
ータにおけるプログラム暴走検出方法を提供することに
ある。
(課題を解決するための手段) 上記課題を達成するための本発明の特徴は、所要のプ
ログラムが複数のタスクプログラムに分割されマイクロ
コンピュータによってマルチタスク方式にてそれぞれ固
有の実行周期で繰り返し実行されている場合において前
記マイクロコンピュータにおけるプログラムの暴走を検
出するための方法であって、 各タスクプログラムの実行毎にそのタスク処理が正常
に実行されているか否かを判別し、タスク処理の実行が
正常に行なわれていると判別された場合にはそのタスク
プログラムに対応して予め設けられているデータセット
手段の内容を所定値だけ増加又は減少させるように変更
しておき、所定のタスクプログラムの実行時に前記デー
タセット手段の各内容が該所定のタスクプログラムの実
行周期とその他の各タスクプログラムの実行周期との関
係から定まる各所要の値になっているか否かをチェック
し、各タスクプログラムに対応したデータセット手段の
内容が全て各タスクプログラムに固有の所要の値になっ
ている場合にウオッチドッグパルスを出力するようにし
た点にある。
ログラムが複数のタスクプログラムに分割されマイクロ
コンピュータによってマルチタスク方式にてそれぞれ固
有の実行周期で繰り返し実行されている場合において前
記マイクロコンピュータにおけるプログラムの暴走を検
出するための方法であって、 各タスクプログラムの実行毎にそのタスク処理が正常
に実行されているか否かを判別し、タスク処理の実行が
正常に行なわれていると判別された場合にはそのタスク
プログラムに対応して予め設けられているデータセット
手段の内容を所定値だけ増加又は減少させるように変更
しておき、所定のタスクプログラムの実行時に前記デー
タセット手段の各内容が該所定のタスクプログラムの実
行周期とその他の各タスクプログラムの実行周期との関
係から定まる各所要の値になっているか否かをチェック
し、各タスクプログラムに対応したデータセット手段の
内容が全て各タスクプログラムに固有の所要の値になっ
ている場合にウオッチドッグパルスを出力するようにし
た点にある。
(作用) 各タスクプログラムは、自己の処理が正常に行われて
いるか否かを公知の適宜の手段でチェックする機能を有
しており、そのチェック結果に従って、対応して設けら
れているデータセット手段の内容が所定値だけ増加又は
減少するように変更される。
いるか否かを公知の適宜の手段でチェックする機能を有
しており、そのチェック結果に従って、対応して設けら
れているデータセット手段の内容が所定値だけ増加又は
減少するように変更される。
所定のタスクプログラムの実行時にデータセット手段
の各セット内容が、所定のタスクプログラムの実行周期
とその他の各タスクプログラムの実行周期との関係から
定まる所要の値になっているか否かがチェックされる。
の各セット内容が、所定のタスクプログラムの実行周期
とその他の各タスクプログラムの実行周期との関係から
定まる所要の値になっているか否かがチェックされる。
各タスクプログラムに対応したデータセット手段の内
容が全て各タスクプログラムに固有の所要の値になって
いる場合にはウォッチドッグパルスが出力される。
容が全て各タスクプログラムに固有の所要の値になって
いる場合にはウォッチドッグパルスが出力される。
このように、各タスクプログラムについてその処理が
正常に行われているか否かが個別的にチェックされ、且
つこのチェック結果を用いてタスクプログラムの各実行
周期が所要の関係になっているか否かがデータセットに
手段の内容に基づいてチェックされる。
正常に行われているか否かが個別的にチェックされ、且
つこのチェック結果を用いてタスクプログラムの各実行
周期が所要の関係になっているか否かがデータセットに
手段の内容に基づいてチェックされる。
したがって、各タスクプログラムについてその処理が
正常に行われているか否かのみをチェックするだけの場
合に比べ、これらのタスクプログラムの各実行周期の相
互関係が所要の関係を保っているか否かもチェックする
ので、より信頼性の高いプログラム暴走検出を行うこと
ができる。
正常に行われているか否かのみをチェックするだけの場
合に比べ、これらのタスクプログラムの各実行周期の相
互関係が所要の関係を保っているか否かもチェックする
ので、より信頼性の高いプログラム暴走検出を行うこと
ができる。
(実施例) 以下、図面を参照しながら本発明の一実施例について
詳細に説明する。
詳細に説明する。
第1図には、本発明の方法により、プログラムの暴走
を検出するようにした内燃機関制御装置の一実施例が示
されている。第1図に示される車輛用内燃機関制御装置
1は、燃料噴射ポンプ2から燃料の噴射供給を受ける内
燃機関3の運転を電子的に制御するシステムであり、マ
イクロコンピュータ4を備えている。第1図において、
5はアクセルペダル6の操作量を示すアクセル信号Aを
出力するアクセルセンサ、7は内燃機関3の冷却水の温
度を示す水温信号Wを出力する水温センサ、8は燃料温
度を示す燃温信号Fを出力する燃温センサ、9は内燃機
関3の回転速度を示す速度信号Nを出力する速度センサ
である。各信号A,W,F,Nは、アナログ−ディジタル(A/
D)変換ユニット10において対応するディジタルデータD
A,DW,DF,DNに変換され、マイクロコンピュータ4に内燃
機関3の運転パラメータを示すデータとして入力されて
いる。
を検出するようにした内燃機関制御装置の一実施例が示
されている。第1図に示される車輛用内燃機関制御装置
1は、燃料噴射ポンプ2から燃料の噴射供給を受ける内
燃機関3の運転を電子的に制御するシステムであり、マ
イクロコンピュータ4を備えている。第1図において、
5はアクセルペダル6の操作量を示すアクセル信号Aを
出力するアクセルセンサ、7は内燃機関3の冷却水の温
度を示す水温信号Wを出力する水温センサ、8は燃料温
度を示す燃温信号Fを出力する燃温センサ、9は内燃機
関3の回転速度を示す速度信号Nを出力する速度センサ
である。各信号A,W,F,Nは、アナログ−ディジタル(A/
D)変換ユニット10において対応するディジタルデータD
A,DW,DF,DNに変換され、マイクロコンピュータ4に内燃
機関3の運転パラメータを示すデータとして入力されて
いる。
マイクロコンピュータ4は公知の構成のマイクロコン
ピュータシステムであり、中央処理装置(CPU)11、読
出専用メモリ(ROM)12、ランダムアクセスメモリ(RA
M)13、入出力装置(I/O)14及びこれらを相互に接続す
るバス15を備えて成っている。ROM12内には、内燃機関
3の運転を制御するための制御プログラムがストアされ
ており、マイクロコンピュータ4内では、この制御プロ
グラムがマルチタスク処理システムにて実行される構成
となっている。
ピュータシステムであり、中央処理装置(CPU)11、読
出専用メモリ(ROM)12、ランダムアクセスメモリ(RA
M)13、入出力装置(I/O)14及びこれらを相互に接続す
るバス15を備えて成っている。ROM12内には、内燃機関
3の運転を制御するための制御プログラムがストアされ
ており、マイクロコンピュータ4内では、この制御プロ
グラムがマルチタスク処理システムにて実行される構成
となっている。
制御プログラムの実行によりマイクロコンピュータ4
からは制御信号CSが出力され、燃料噴射ポンプ2の燃料
調節部材(図示)を操作するためのアクチュエータ18に
制御信号CSが印加され、これにより燃料噴射量の制御が
実行される。
からは制御信号CSが出力され、燃料噴射ポンプ2の燃料
調節部材(図示)を操作するためのアクチュエータ18に
制御信号CSが印加され、これにより燃料噴射量の制御が
実行される。
第2図には、第1図のマイクロコンピュータ4内にお
いて実行される制御プログラムを示すフローチャートが
示されている。この制御プログラム20は、タスク1から
nまでのn個のタスクを夫々実行するタスクプログラム
P1乃至Pnに分割されており、タスクプログラムP1乃至Pn
は夫々所要のタイミングで起動されて実行され、この結
果、内燃機関3の所望の運転制御がマルチタスク処理シ
ステムによって遂行される。
いて実行される制御プログラムを示すフローチャートが
示されている。この制御プログラム20は、タスク1から
nまでのn個のタスクを夫々実行するタスクプログラム
P1乃至Pnに分割されており、タスクプログラムP1乃至Pn
は夫々所要のタイミングで起動されて実行され、この結
果、内燃機関3の所望の運転制御がマルチタスク処理シ
ステムによって遂行される。
タスクプログラムP1が起動されると、タスク1の処理
がステップ21において実行される。タスク1の処理が終
了すると、ステップ22において、タスク1の処理のため
の動作がステップ21において正常に実行されたか否かの
判別が行なわれる。ステップ22において実行される判別
は、公知の任意の方法で実行することができ、ステプ22
においてタスク1の処理が正常に実行されたと判別され
ると、ステップ22の判別結果はYESとなり、ステップ23
に進む。ステップ23では、タスクプログラムP1の実行状
態に従ってその内容が変更されるデータセット手段とし
て使用されているカウンタC1の内容を1だけ増加させる
ための処理が行なわれ、タスクプログラムP1の実行が終
了する。一方、ステップ22の判別結果がNOの場合には、
ステップ23が実行されることなく、タスクプログラムP1
の実行が終了する。
がステップ21において実行される。タスク1の処理が終
了すると、ステップ22において、タスク1の処理のため
の動作がステップ21において正常に実行されたか否かの
判別が行なわれる。ステップ22において実行される判別
は、公知の任意の方法で実行することができ、ステプ22
においてタスク1の処理が正常に実行されたと判別され
ると、ステップ22の判別結果はYESとなり、ステップ23
に進む。ステップ23では、タスクプログラムP1の実行状
態に従ってその内容が変更されるデータセット手段とし
て使用されているカウンタC1の内容を1だけ増加させる
ための処理が行なわれ、タスクプログラムP1の実行が終
了する。一方、ステップ22の判別結果がNOの場合には、
ステップ23が実行されることなく、タスクプログラムP1
の実行が終了する。
したがって、タスク1の処理が正常に実行されていれ
ば、カウンタC1の内容は、タスクプログラムP1の起動周
期と同一の周期でインクリメントされることになる。
ば、カウンタC1の内容は、タスクプログラムP1の起動周
期と同一の周期でインクリメントされることになる。
タスクプログラムP2の構成も上述のタスクプログラム
P1の構成と同様である。すなわちステップ31でタスク2
の処理が行なわれ、ステップ32でタスク2の処理が正常
に実行されたか否かの判別が行なわれる。そして、ステ
ップ33で、タスクプログラムP2の実行状態に従ってその
内容が変更されるデータセット手段として使用されてい
るカウンタC2の内容が、タスク2の処理が正常に行なわ
れる度に1だけ増加せしめられる構成となっている。
P1の構成と同様である。すなわちステップ31でタスク2
の処理が行なわれ、ステップ32でタスク2の処理が正常
に実行されたか否かの判別が行なわれる。そして、ステ
ップ33で、タスクプログラムP2の実行状態に従ってその
内容が変更されるデータセット手段として使用されてい
るカウンタC2の内容が、タスク2の処理が正常に行なわ
れる度に1だけ増加せしめられる構成となっている。
したがって、この場合もまた、タスク2の処理が形状
に実行されていれば、カウンタC2の内容は、タスクプロ
グラムP2の起動周期と同一の周期でインクリメントされ
ることになる。
に実行されていれば、カウンタC2の内容は、タスクプロ
グラムP2の起動周期と同一の周期でインクリメントされ
ることになる。
同様にして、タスク3、4、・・・、n−1の実行に
ついても、対応するカウンタC3、C4、・・・、Cn−1の
内容がタスクプログラムP3、P4、・・・、Pn-1の起動周
期と同一の周期でインクリメントされているか否かによ
り、それらの実行状態をチェックすることができる構成
となっている。
ついても、対応するカウンタC3、C4、・・・、Cn−1の
内容がタスクプログラムP3、P4、・・・、Pn-1の起動周
期と同一の周期でインクリメントされているか否かによ
り、それらの実行状態をチェックすることができる構成
となっている。
次に、タスクnを処理するためのタスクプログラムPn
について説明すると、タスクプログラムPnの起動により
タスクnの処理がステップ101において実行された後、
ステップ102において、タスクnの処理のための動作が
ステップ101において正常に実行されたか否かの判別が
行なわれる。ステップ101の動作が正常に行なわれてい
ないと判別された場合には、ステップ102の判別結果はN
Oとなり、タスクプログラムPnの実行は終了する。
について説明すると、タスクプログラムPnの起動により
タスクnの処理がステップ101において実行された後、
ステップ102において、タスクnの処理のための動作が
ステップ101において正常に実行されたか否かの判別が
行なわれる。ステップ101の動作が正常に行なわれてい
ないと判別された場合には、ステップ102の判別結果はN
Oとなり、タスクプログラムPnの実行は終了する。
一方、ステップ101の動作が正常に実行されている場
合には、ステップ102の判別結果はYESとなり、ステップ
1031に進み、ここでカウンタC1の内容がチェックされ
る。このチェックは、タスクプログラムP1の起動周期と
タスクプログラムPnの起動周期との関係から定まる所要
の値にカウンタC1の内容が合致しているか否かにより行
なわれる。カウンタC1の内容が所要の値に合致している
場合には、タスクプログラムP1が正常に実行されている
と判断され、ステップ1031の判別結果はYESとなり、次
のステップ1032に進む。ステップ1032では同様にして、
タスクプログラムP2及びPnの各起動周期からカウンタC2
の内容の正当性が判断される。この様にして、以下、タ
スクプログラムP3、・・・、Pn-1の各カウンタの内容が
ステップ1033、・・・、103n-1にてチェックされる。
合には、ステップ102の判別結果はYESとなり、ステップ
1031に進み、ここでカウンタC1の内容がチェックされ
る。このチェックは、タスクプログラムP1の起動周期と
タスクプログラムPnの起動周期との関係から定まる所要
の値にカウンタC1の内容が合致しているか否かにより行
なわれる。カウンタC1の内容が所要の値に合致している
場合には、タスクプログラムP1が正常に実行されている
と判断され、ステップ1031の判別結果はYESとなり、次
のステップ1032に進む。ステップ1032では同様にして、
タスクプログラムP2及びPnの各起動周期からカウンタC2
の内容の正当性が判断される。この様にして、以下、タ
スクプログラムP3、・・・、Pn-1の各カウンタの内容が
ステップ1033、・・・、103n-1にてチェックされる。
カウンタC1乃至Cn−1の全ての内容が正常である場合
には、ステップ104が実行され、ウォッチドッグパルスW
Pが出力される。しかし、カウンタC1乃至Cn−1の各内
容のうち少なくとも1つが所要の値になっていない場合
には、すなわち、タスクプログラムP1乃至Pn-1のうちの
少なくとも1つが正常に動作していないことが検出され
た場合には、ステップ104は実行されず、ウォッチドッ
グパルスWPは出力されない。
には、ステップ104が実行され、ウォッチドッグパルスW
Pが出力される。しかし、カウンタC1乃至Cn−1の各内
容のうち少なくとも1つが所要の値になっていない場合
には、すなわち、タスクプログラムP1乃至Pn-1のうちの
少なくとも1つが正常に動作していないことが検出され
た場合には、ステップ104は実行されず、ウォッチドッ
グパルスWPは出力されない。
第1図に示されるように、ウォッチドッグパルスWP
は、マイクロコンピュータ4内に設けられ、クロックパ
ルス発生器16からのクロックパルスCLが印加されている
公知の構成のウォッチドッグタイマ17に入力される。ウ
ォッチドッグタイマ17は、ウォッチドッグパルスWPが所
定時間間隔以下で入力されている間はその出力線17aに
何も出力を生じさせないが、ウォッチドッグパルスWPの
印加が上記所定時間間隔以上途絶えるとその出力線17a
にリセットパルスRPが発生し、CPU11にリセットパルスR
Pが入力され、CPU11がリセット状態とされる。
は、マイクロコンピュータ4内に設けられ、クロックパ
ルス発生器16からのクロックパルスCLが印加されている
公知の構成のウォッチドッグタイマ17に入力される。ウ
ォッチドッグタイマ17は、ウォッチドッグパルスWPが所
定時間間隔以下で入力されている間はその出力線17aに
何も出力を生じさせないが、ウォッチドッグパルスWPの
印加が上記所定時間間隔以上途絶えるとその出力線17a
にリセットパルスRPが発生し、CPU11にリセットパルスR
Pが入力され、CPU11がリセット状態とされる。
上述の構成によると、タスクプログラムP1〜Pnにおい
て夫々実行されるべきタスク1乃至nの実行が正常であ
ったか否かは、各タスク処理の終了時点において夫々の
タスクプログラムP1〜Pnでチェックされる。タスクプロ
グラムP1〜Pn-1においては、その結果は対応して設けら
れたカウンタC1〜Cn−1にセットされる。そして、タス
クプログラムPnにおいてタスクが正常に実行された場
合、カウンタC1乃至Cn−1の各内容がチェックされ、且
つ各タスクプログラムが所定の周期で起動され実行され
ているか否かもチェックされる。
て夫々実行されるべきタスク1乃至nの実行が正常であ
ったか否かは、各タスク処理の終了時点において夫々の
タスクプログラムP1〜Pnでチェックされる。タスクプロ
グラムP1〜Pn-1においては、その結果は対応して設けら
れたカウンタC1〜Cn−1にセットされる。そして、タス
クプログラムPnにおいてタスクが正常に実行された場
合、カウンタC1乃至Cn−1の各内容がチェックされ、且
つ各タスクプログラムが所定の周期で起動され実行され
ているか否かもチェックされる。
したがって、各タスク1〜nの実行が正常に行なわれ
ると共に、各タスクプログラムP1〜Pnが所定の周期で起
動、実行されている場合にのみ、ウォッチドッグパルス
WPが出力され、さもなければウォッチドッグパルスWPは
出力されず、CPU11がリセットパルスRPによりリセット
される。
ると共に、各タスクプログラムP1〜Pnが所定の周期で起
動、実行されている場合にのみ、ウォッチドッグパルス
WPが出力され、さもなければウォッチドッグパルスWPは
出力されず、CPU11がリセットパルスRPによりリセット
される。
なお、各タスクの処理が正常に行なわれているか否か
のチェックは公知の任意の方法で行なうことができる
が、例えば、タスクの処理を複数の段階に分け、各段階
の終了毎に所定の計算を行ない、全ての段階が終了した
場合に、その計算結果が予定された正しい結果になって
いるか否かを判別することにより、タスクの実行の正当
性をチェックする構成とすることができる。
のチェックは公知の任意の方法で行なうことができる
が、例えば、タスクの処理を複数の段階に分け、各段階
の終了毎に所定の計算を行ない、全ての段階が終了した
場合に、その計算結果が予定された正しい結果になって
いるか否かを判別することにより、タスクの実行の正当
性をチェックする構成とすることができる。
(発明の効果) 本発明の方法によれば、上述の如く、各タスクプログ
ラムが正常に処理されているか否かを判別し、正常処理
と判別された場合には対応して設けられているデータセ
ット手段の内容を所定値だけ増加又は減少させるように
変更しておき、且つ、予め定められた所定のタスクプロ
グラムの実行時に、各データセット手段の内容が所定の
タスクプログラムの実行周期とその他の各タスクプログ
ラムの実行周期との関係から定まる各所要の値になって
いるか否かをチェックするようにしたので、各タスクプ
ログラムが正常に実行されているか否かを2重にチェッ
クして1つのウォッチドッグパルスが出力されることと
なり、プログラムの暴走検出を1つのウォッチドッグタ
イマを用いて極めて信頼性よく行うことができる。
ラムが正常に処理されているか否かを判別し、正常処理
と判別された場合には対応して設けられているデータセ
ット手段の内容を所定値だけ増加又は減少させるように
変更しておき、且つ、予め定められた所定のタスクプロ
グラムの実行時に、各データセット手段の内容が所定の
タスクプログラムの実行周期とその他の各タスクプログ
ラムの実行周期との関係から定まる各所要の値になって
いるか否かをチェックするようにしたので、各タスクプ
ログラムが正常に実行されているか否かを2重にチェッ
クして1つのウォッチドッグパルスが出力されることと
なり、プログラムの暴走検出を1つのウォッチドッグタ
イマを用いて極めて信頼性よく行うことができる。
第1図は、本発明の方法により内燃機関の運転制御にお
けるプログラム暴走チェックを行なうようにした車輛用
内燃機関制御装置の一実施例を示すブロック図、第2図
は第1図に示す制御装置のマイクロコンピュータで実行
される制御プログラムを示すフローチャートである。 1……内燃機関制御装置、 4……マイクロコンピュータ、 20……制御プログラム、 C1〜Cn−1……カウンタ、 P1〜Pn……タスクプログラム、 WP……ウォッチドッグパルス、 RP……リセットパルス。
けるプログラム暴走チェックを行なうようにした車輛用
内燃機関制御装置の一実施例を示すブロック図、第2図
は第1図に示す制御装置のマイクロコンピュータで実行
される制御プログラムを示すフローチャートである。 1……内燃機関制御装置、 4……マイクロコンピュータ、 20……制御プログラム、 C1〜Cn−1……カウンタ、 P1〜Pn……タスクプログラム、 WP……ウォッチドッグパルス、 RP……リセットパルス。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭58−154052(JP,A) 特開 昭63−282857(JP,A) 特開 昭59−139462(JP,A) 特開 昭63−163932(JP,A)
Claims (1)
- 【請求項1】所要のプログラムが複数のタスクプログラ
ムに分割されマイクロコンピュータによってマルチタス
ク方式にてそれぞれ固有の実行周期で繰り返し実行され
ている場合において前記マイクロコンピュータにおける
プログラムの暴走を検出するための方法であって、 各タスクプログラムの実行毎にそのタスク処理が正常に
実行されているか否かを判別し、タスク処理の実行が正
常に行なわれていると判別された場合にはそのタスクプ
ログラムに対応して予め設けられているデータセット手
段の内容を所定値だけ増加又は減少させるように変更し
ておき、所定のタスクプログラムの実行時に前記データ
セット手段の各内容が該所定のタスクプログラムの実行
周期とその他の各タスクプログラムの実行周期との関係
から定まる各所要の値になっているか否かをチェック
し、各タスクプログラムに対応したデータセット手段の
内容が全て各タスクプログラムに固有の所要の値になっ
ている場合にウオッチドッグパルスを出力するようにし
たことを特徴とするマイクロコンピュータにおけるプロ
グラム暴走検出方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2091169A JP2793993B2 (ja) | 1990-04-05 | 1990-04-05 | マイクロコンピュータにおけるプログラム暴走検出方法 |
US07/679,226 US5257373A (en) | 1990-04-05 | 1991-04-02 | System by determining if all multiple tasks were processed normally |
DE4111072A DE4111072C3 (de) | 1990-04-05 | 1991-04-05 | Verfahren zum Feststellen einer Störung in einem Mikrocomputersystem |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2091169A JP2793993B2 (ja) | 1990-04-05 | 1990-04-05 | マイクロコンピュータにおけるプログラム暴走検出方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03288942A JPH03288942A (ja) | 1991-12-19 |
JP2793993B2 true JP2793993B2 (ja) | 1998-09-03 |
Family
ID=14018973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2091169A Expired - Lifetime JP2793993B2 (ja) | 1990-04-05 | 1990-04-05 | マイクロコンピュータにおけるプログラム暴走検出方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5257373A (ja) |
JP (1) | JP2793993B2 (ja) |
DE (1) | DE4111072C3 (ja) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5825989A (en) * | 1992-06-12 | 1998-10-20 | Xerox Corporation | System for diagnosing a source of malfunction resulting from the execution of a print job in a network printing system |
US6266654B1 (en) | 1992-12-15 | 2001-07-24 | Softlock.Com, Inc. | Method for tracking software lineage |
US7209901B2 (en) | 1992-12-15 | 2007-04-24 | Sl Patent Holdings Llc C/O Aol Time Warner | Method for selling, protecting, and redistributing digital goods |
US7831516B2 (en) | 1992-12-15 | 2010-11-09 | Sl Patent Holdings Llc | System and method for redistributing and licensing access to protected information among a plurality of devices |
US7089212B2 (en) | 1992-12-15 | 2006-08-08 | Sl Patent Holdings Llc | System and method for controlling access to protected information |
DE19500957A1 (de) * | 1994-07-19 | 1996-01-25 | Bosch Gmbh Robert | Verfahren zur Steuerung von technischen Vorgängen oder Prozessen |
JPH08115235A (ja) * | 1994-10-14 | 1996-05-07 | Honda Motor Co Ltd | 制御装置の異常検出装置およびその方法 |
US6002871A (en) * | 1997-10-27 | 1999-12-14 | Unisys Corporation | Multi-user application program testing tool |
FR2771828B1 (fr) * | 1997-12-03 | 2002-11-29 | Sextant Avionique | Procede de securisation pour un calculateur |
US6966364B1 (en) * | 1999-02-12 | 2005-11-22 | Asml Holding N.V. | Systems and methods for controlling local environment |
GB9911890D0 (en) | 1999-05-22 | 1999-07-21 | Lucas Ind Plc | Method and apparatus for detecting a fault condition in a computer processor |
US7191898B1 (en) | 2003-09-04 | 2007-03-20 | Union Rich Usa, Llc | Saw blade case |
FR2864411B1 (fr) * | 2003-12-23 | 2006-03-03 | Cit Alcatel | Terminal avec des moyens de protection contre le dysfonctionnement de certaines applications java |
DE102004028796B3 (de) * | 2004-06-15 | 2006-01-19 | Siemens Ag | Kontrollerbaustein |
DE102005021986A1 (de) * | 2005-05-09 | 2006-11-16 | Robert Bosch Gmbh | Verfahren zur Steuergeräte-Überwachung |
JP4609381B2 (ja) * | 2006-06-14 | 2011-01-12 | 株式会社デンソー | 異常監視用プログラム、記録媒体及び電子装置 |
JP5590667B2 (ja) * | 2010-07-01 | 2014-09-17 | 株式会社日立製作所 | サブルーチン実行監視装置及びサブルーチン実行監視方法 |
JP5477654B2 (ja) * | 2010-10-22 | 2014-04-23 | 株式会社デンソー | 電子制御装置、及び、これを用いた電動パワーステアリング装置 |
JP6060584B2 (ja) * | 2012-09-19 | 2017-01-18 | 富士電機株式会社 | プログラム異常検出装置、そのプログラム |
JP6440986B2 (ja) * | 2014-08-01 | 2018-12-19 | ローム株式会社 | 給電装置およびそのコントローラ、制御方法、それを用いた電子機器 |
JP6787658B2 (ja) * | 2015-10-16 | 2020-11-18 | コイト電工株式会社 | 処理装置、交通信号装置及び情報表示装置 |
DE102016203852A1 (de) * | 2016-03-09 | 2017-09-14 | Robert Bosch Gmbh | Verfahren zum Betreiben eines Steuergeräts für ein Kraftfahrzeug |
FR3089315B1 (fr) * | 2018-11-30 | 2021-08-20 | Continental Automotive France | Procédé de détection d’une disparition de tache |
JP6788145B2 (ja) * | 2020-06-24 | 2020-11-18 | コイト電工株式会社 | 処理装置、交通信号装置及び情報表示装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2939194A1 (de) * | 1979-09-27 | 1981-05-14 | Siemens AG, 1000 Berlin und 8000 München | Verfahren und schaltungsanordnung zum ueberwachen des ordnungsgemaessen ablaufs eines programms |
US4321666A (en) * | 1980-02-05 | 1982-03-23 | The Bendix Corporation | Fault handler for a multiple computer system |
US4323966A (en) * | 1980-02-05 | 1982-04-06 | The Bendix Corporation | Operations controller for a fault-tolerant multiple computer system |
DE3008036A1 (de) * | 1980-03-03 | 1981-09-17 | Robert Bosch Gmbh, 7000 Stuttgart | Ueberwachungseinrichtung fuer programmgesteuerte vorrichtungen |
JPS58154052A (ja) * | 1982-03-09 | 1983-09-13 | Diesel Kiki Co Ltd | マイクロコンピユ−タにおけるプログラム暴走検出方法 |
DE3322074A1 (de) * | 1982-07-23 | 1984-01-26 | Robert Bosch Gmbh, 7000 Stuttgart | Notlaufeinrichtung fuer mikrocomputergesteuerte systeme |
JPS59139462A (ja) * | 1983-01-31 | 1984-08-10 | Hitachi Ltd | エラ−検出装置 |
JPS63163932A (ja) * | 1986-12-26 | 1988-07-07 | Fuji Electric Co Ltd | 制御用計算機のシステム監視方式 |
US4805107A (en) * | 1987-04-15 | 1989-02-14 | Allied-Signal Inc. | Task scheduler for a fault tolerant multiple node processing system |
JPS63282857A (ja) * | 1987-05-15 | 1988-11-18 | Mitsubishi Electric Corp | プログラムの暴走防止方式 |
-
1990
- 1990-04-05 JP JP2091169A patent/JP2793993B2/ja not_active Expired - Lifetime
-
1991
- 1991-04-02 US US07/679,226 patent/US5257373A/en not_active Expired - Fee Related
- 1991-04-05 DE DE4111072A patent/DE4111072C3/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5257373A (en) | 1993-10-26 |
DE4111072C2 (ja) | 1992-12-10 |
DE4111072A1 (de) | 1991-10-10 |
JPH03288942A (ja) | 1991-12-19 |
DE4111072C3 (de) | 1996-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2793993B2 (ja) | マイクロコンピュータにおけるプログラム暴走検出方法 | |
US8417990B2 (en) | Multi-core processing system for vehicle control or an internal combustion engine controller | |
JPH04169350A (ja) | イベント駆動型車両制御用コンピュータ | |
JPH06100155B2 (ja) | エンジン制御装置の演算処理方法 | |
JP2005301812A (ja) | デジタル制御装置およびこれを用いたエンジン制御装置 | |
US20030135319A1 (en) | Electronic control unit having different mask return processes | |
JP3326866B2 (ja) | 内燃機関の回転位置検出装置 | |
WO2005013130A1 (ja) | リアルタイム制御システム | |
JPH0286943A (ja) | エンジン制御装置 | |
JP2008276674A (ja) | タスクの実行時間を特定することのできる電子計算装置、および当該電子計算装置用のプログラム | |
JP7435182B2 (ja) | 電子制御装置 | |
JP7070108B2 (ja) | マルチコアマイコンを備える電子制御装置 | |
JP2001323836A (ja) | クランク同期タスクの異常検出方法 | |
JPH07281912A (ja) | スタック異常検出装置 | |
JPS60170720A (ja) | 内燃機関用基準位置検出装置 | |
JP2527971B2 (ja) | 内燃機関用制御装置 | |
JPH06305376A (ja) | 車輌用制御装置 | |
JP3145937B2 (ja) | マイクロコンピュータの暴走検出方法 | |
JP2528630B2 (ja) | 内燃機関の点火時期制御装置 | |
JPH07139418A (ja) | 自動車用総合制御装置 | |
JPH074669Y2 (ja) | 割込要求処理回路 | |
JPH04153548A (ja) | ウォッチドッグタイマ | |
JPH04118704A (ja) | イベント駆動型車両制御用コンピュータ | |
WO1990013071A1 (en) | Programmable controller | |
JP2000034947A (ja) | 電子制御装置 |