JPH0782450B2 - 暴走検出方法 - Google Patents
暴走検出方法Info
- Publication number
- JPH0782450B2 JPH0782450B2 JP60139738A JP13973885A JPH0782450B2 JP H0782450 B2 JPH0782450 B2 JP H0782450B2 JP 60139738 A JP60139738 A JP 60139738A JP 13973885 A JP13973885 A JP 13973885A JP H0782450 B2 JPH0782450 B2 JP H0782450B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- value
- memory
- main program
- runaway
- 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
Landscapes
- Debugging And Monitoring (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、一定周期で繰り返し実行すべきメインルーチ
ンの実行周期が異常となったとき、システムを自動的に
初期状態に戻す暴走検出方法に関する。
ンの実行周期が異常となったとき、システムを自動的に
初期状態に戻す暴走検出方法に関する。
車載用のマイクロコンピュータ・システムでは、例えば
アンチスキッド制御に際し、ソレノイド制御や車体速計
算を含むメインルーチン(メインプログラム)を一定周
期で繰り返す。第3図はこの種のプログラムの一例で、
(a)は基本型、(b)は改良型である。このプラグラ
ムは、イニシャルプログラム、非同期プログラム、同期
プログラム、メインプログラムからなり、メインプログ
ラムは例えばアンチスキッド制御を内容とするプログラ
ムであり、非同期プログラムとはセンサ入力の取込み等
を時間に同期せずランダムな周期で行うプログラムであ
り、また同期プログラムとはメインプログラムを一定周
期で起動するための時間同期をとるプログラムである。
アンチスキッド制御に際し、ソレノイド制御や車体速計
算を含むメインルーチン(メインプログラム)を一定周
期で繰り返す。第3図はこの種のプログラムの一例で、
(a)は基本型、(b)は改良型である。このプラグラ
ムは、イニシャルプログラム、非同期プログラム、同期
プログラム、メインプログラムからなり、メインプログ
ラムは例えばアンチスキッド制御を内容とするプログラ
ムであり、非同期プログラムとはセンサ入力の取込み等
を時間に同期せずランダムな周期で行うプログラムであ
り、また同期プログラムとはメインプログラムを一定周
期で起動するための時間同期をとるプログラムである。
同期プログラムは、アキュムレータAccと、ハード的に
一定時間毎(例えば1μs)にインクリメント(または
デクリメント)されるタイマ(カウンタ)TIMと、メモ
リOTIMを用い、今回のメインルーチン実行時にタイマTI
Mが増加すべき値KT1(例えば4msに相当する値)とアキ
ュムレータAccの値(タイマTIMの現在値からメモリOTIM
の値を引いたもの)を比較する。そして、Acc<KT1であ
れば非同期プログラムへ戻り、AccKT1となったらメモ
リOTIMの内容を更新してメインプログラムを起動する。
一定時間毎(例えば1μs)にインクリメント(または
デクリメント)されるタイマ(カウンタ)TIMと、メモ
リOTIMを用い、今回のメインルーチン実行時にタイマTI
Mが増加すべき値KT1(例えば4msに相当する値)とアキ
ュムレータAccの値(タイマTIMの現在値からメモリOTIM
の値を引いたもの)を比較する。そして、Acc<KT1であ
れば非同期プログラムへ戻り、AccKT1となったらメモ
リOTIMの内容を更新してメインプログラムを起動する。
このメモリOTIMの更新方法が(a)の基本型と(b)と
改良型とで異なる。(a)の基本型ではメインプログラ
ムを起動するときのタイマTIMの値でメモリOTIMの値を
更新する。この方法の欠点は、非同期プログラムを実行
している間にAcc=KT1となってもその時点ではこれを検
出することができないので、その後Acc>KT1を検出して
メインプログラムを起動したときAcc−KT1=△が遅れ時
間となり、メインプログラムの実行周期がKT1より長く
なる。この遅れ時間△は一定したものではないので(最
小値は0)実際の実行周期は変動し、しかも累積される
ため実行周期の平均値はKT1より長くなる。
改良型とで異なる。(a)の基本型ではメインプログラ
ムを起動するときのタイマTIMの値でメモリOTIMの値を
更新する。この方法の欠点は、非同期プログラムを実行
している間にAcc=KT1となってもその時点ではこれを検
出することができないので、その後Acc>KT1を検出して
メインプログラムを起動したときAcc−KT1=△が遅れ時
間となり、メインプログラムの実行周期がKT1より長く
なる。この遅れ時間△は一定したものではないので(最
小値は0)実際の実行周期は変動し、しかも累積される
ため実行周期の平均値はKT1より長くなる。
これに対し(b)の改良型では、タイマTIMの値がメモ
リOTIMの値よりKT1以上増加したら、そのときのタイマT
IMの値とは無関係にメモリOTIMの値を前回の値(初期値
は0)に+KT1して更新する。このようにすれば、各回
のメインルーチンの実行周期の遅れ(前述の△)が次の
メインルーチンの開始時期に影響を与えないので、該実
行周期の平均値はKT1になる。
リOTIMの値よりKT1以上増加したら、そのときのタイマT
IMの値とは無関係にメモリOTIMの値を前回の値(初期値
は0)に+KT1して更新する。このようにすれば、各回
のメインルーチンの実行周期の遅れ(前述の△)が次の
メインルーチンの開始時期に影響を与えないので、該実
行周期の平均値はKT1になる。
以上はプログラムが正常動作している場合の説明である
が、プログラムが暴走したらこれを検出してリセットす
る必要がある。プログラムの暴走を検知するためにメイ
ンルーチンの最終ステップで出力ポートの状態を反転さ
せるようにして当該最終ステップを通るたびに出力ポー
トからH,Lを繰り返す信号、即ち、ポンピング信号を出
し、これを外部でハード的に監視する方法をとることが
ある。この方法は、ポンピング信号がメインルーチンを
実行する毎にH,Lのレベル変化を起こすことを利用し、
その周期が一定値以上に延びたら暴走と判定し、ハード
的にリセットするものである。通常のプログラム暴走が
起こると一定時間内に正常終了しないのでポンピング信
号が変化しなくなる、というのがこの判定論理の基礎と
なっているが、この方法だけでは通常の周期より短い周
期でメインルーチンを実行する暴走を検出できない。
が、プログラムが暴走したらこれを検出してリセットす
る必要がある。プログラムの暴走を検知するためにメイ
ンルーチンの最終ステップで出力ポートの状態を反転さ
せるようにして当該最終ステップを通るたびに出力ポー
トからH,Lを繰り返す信号、即ち、ポンピング信号を出
し、これを外部でハード的に監視する方法をとることが
ある。この方法は、ポンピング信号がメインルーチンを
実行する毎にH,Lのレベル変化を起こすことを利用し、
その周期が一定値以上に延びたら暴走と判定し、ハード
的にリセットするものである。通常のプログラム暴走が
起こると一定時間内に正常終了しないのでポンピング信
号が変化しなくなる、というのがこの判定論理の基礎と
なっているが、この方法だけでは通常の周期より短い周
期でメインルーチンを実行する暴走を検出できない。
この種の短周期暴走にはイグニッションノイズ等の影響
でメモリOTIM(またはタイマTIM)の値が急変するケー
スが挙げられる。第4図にその一例を示す。同図はタイ
マTIMの変化を実線で示し、さらに正常時のメモリOTIM
の変化(第3図(b)の方法による)を破線で、また異
常時のメモリの変化を1点鎖線で示してある。タイマTI
Mは例えば1μs周期のクロックをカウントして0000Hか
らFFFFHまで漸増し(Hは16進を示す)、FFFFHから0000
Hに戻って再び漸増する。これに対し、正常時のメモリO
TIMはKT1=400Hを1ステップとして4ms毎に値を更新す
る。
でメモリOTIM(またはタイマTIM)の値が急変するケー
スが挙げられる。第4図にその一例を示す。同図はタイ
マTIMの変化を実線で示し、さらに正常時のメモリOTIM
の変化(第3図(b)の方法による)を破線で、また異
常時のメモリの変化を1点鎖線で示してある。タイマTI
Mは例えば1μs周期のクロックをカウントして0000Hか
らFFFFHまで漸増し(Hは16進を示す)、FFFFHから0000
Hに戻って再び漸増する。これに対し、正常時のメモリO
TIMはKT1=400Hを1ステップとして4ms毎に値を更新す
る。
ところが、メモリOTIMの値がノイズ等で点から点に
急変したとすると、第3図(b)の方法ではOTIM>TIM
となり、Acc=TIM−OTIMが負になる。実際の演算では負
にならないようにビット借りして減算するので、AccがK
T1以上の値をとることがある。この場合はメインプログ
ラムがKT1より短かい周期で繰り返し実行され、この状
態はメモリOTIMの値が一旦0000Fに低下してから実際の
タイマTIMの値に追いつく点まで続く。点以後は位
相がずれたまま進行する。
急変したとすると、第3図(b)の方法ではOTIM>TIM
となり、Acc=TIM−OTIMが負になる。実際の演算では負
にならないようにビット借りして減算するので、AccがK
T1以上の値をとることがある。この場合はメインプログ
ラムがKT1より短かい周期で繰り返し実行され、この状
態はメモリOTIMの値が一旦0000Fに低下してから実際の
タイマTIMの値に追いつく点まで続く。点以後は位
相がずれたまま進行する。
ここで問題となるのは、同時に他のメモリもノイズの影
響を受けている可能性があるのでリセットの必要がある
ということである。しかしながら、従来の暴走検出方法
では、第4図に示すようにポンピング出力が一定時間内
に変化していれば暴走とは判定しないので、のような
短時間のポンピング出力変化を暴走とは判定しない。勿
論、バンドパスフィルタ的な考えでこれを検出すること
は可能であるが、既存のハードウエア構成を変更、追加
することになるので安価に実施することはできない。本
発明はこれを簡単なプログラムの追加で可能とするもの
である。
響を受けている可能性があるのでリセットの必要がある
ということである。しかしながら、従来の暴走検出方法
では、第4図に示すようにポンピング出力が一定時間内
に変化していれば暴走とは判定しないので、のような
短時間のポンピング出力変化を暴走とは判定しない。勿
論、バンドパスフィルタ的な考えでこれを検出すること
は可能であるが、既存のハードウエア構成を変更、追加
することになるので安価に実施することはできない。本
発明はこれを簡単なプログラムの追加で可能とするもの
である。
本発明は、システムを初期化するイニシャルプログラム
を経てメインプログラムの実行周期を定める同期プログ
ラムに入り、該同期プログラムにおいてメインプログラ
ムの起動条件が不成立のときは他のプログラムに移り、
また該起動条件が成立したら該メインプログラムを実行
するソフトウェア構成と、ハード的に時間を計測するタ
イマ、および該メインプログラムを起動する毎にその実
行周期を定める一定値を前回の記憶値に加算して記憶し
直すメモリを有するハードウエア構成とを備え、該同期
プログラムによる該メインプログラムの起動条件を、該
タイマの現在値と該メモリの値との差が該一定値以上に
達したこととするマイクロコンピュータシステムの暴走
を検出する方法において、該同期プログラムに、該タイ
マの現在値と該メモリの値との差が該一定値を上回る限
界値を越えたとき、前記イニシャルプログラムに戻るス
テップを設定してなることを特徴とするものである。
を経てメインプログラムの実行周期を定める同期プログ
ラムに入り、該同期プログラムにおいてメインプログラ
ムの起動条件が不成立のときは他のプログラムに移り、
また該起動条件が成立したら該メインプログラムを実行
するソフトウェア構成と、ハード的に時間を計測するタ
イマ、および該メインプログラムを起動する毎にその実
行周期を定める一定値を前回の記憶値に加算して記憶し
直すメモリを有するハードウエア構成とを備え、該同期
プログラムによる該メインプログラムの起動条件を、該
タイマの現在値と該メモリの値との差が該一定値以上に
達したこととするマイクロコンピュータシステムの暴走
を検出する方法において、該同期プログラムに、該タイ
マの現在値と該メモリの値との差が該一定値を上回る限
界値を越えたとき、前記イニシャルプログラムに戻るス
テップを設定してなることを特徴とするものである。
第3図(b)の方法において、タイマTIMの現在値とメ
モリOTIMの値との差、即ちメインプログラムが実行され
てからの経過時間Acc=TIM−OTIMがメインプログラムの
実行周期を定める一定値KT1を上回る限界値KT2を超えた
ときイニシャルプログラムへ戻すステップを追加する
と、第4図ののようにメモリOTIMの値が急変して傾斜
領域に入るとイニシャライズされる。この領域は、
TIM±KT2の幅をもつ白抜きの正常領域の範囲を外れる
部分である。
モリOTIMの値との差、即ちメインプログラムが実行され
てからの経過時間Acc=TIM−OTIMがメインプログラムの
実行周期を定める一定値KT1を上回る限界値KT2を超えた
ときイニシャルプログラムへ戻すステップを追加する
と、第4図ののようにメモリOTIMの値が急変して傾斜
領域に入るとイニシャライズされる。この領域は、
TIM±KT2の幅をもつ白抜きの正常領域の範囲を外れる
部分である。
第1図は本発明の基本フローチャートで、“Acc:KT2"が
本発明により追加された暴走検出用のステップである。
限界値KT2はKT1より大きくなければならないが、その差
KT2−KT1=αが小さいと僅かのずれでリセットがかか
り、また大きすぎると検出能力が劣るので適当な値に設
定する。
本発明により追加された暴走検出用のステップである。
限界値KT2はKT1より大きくなければならないが、その差
KT2−KT1=αが小さいと僅かのずれでリセットがかか
り、また大きすぎると検出能力が劣るので適当な値に設
定する。
第2図はKT1=400H,KT2=800Hとした本発明の実施例
で、メインプログラムはアンチスキッド制御用である。
この制御は、ブレーキを急激に踏んだときタイヤがロッ
クして車両が路面をスリップ(スキッド)すると危険で
あるので、これを検出して自動的にブレーキの効きを低
下させるものである。このために非同期プログラムで車
輪速を演算する。これは車輪の回転に同期して発生する
パルスの周期から計算でき、これが0になると車両停止
かタイヤロックである。両者を区別するのは路面に対す
る車体速度で、これは車輪速の変化の軌跡から推測でき
る。これを行うのがメインプログラムの“車体速度計
算”である。次の“制御基準速作成”は車体速度がどこ
まで低下したらブレーキを緩めるかの基準値で、そのと
きの車体速度に応じて作成される。続く“制御判定”と
“ソレノイド制御”により必要時に自動的にブレーキが
緩められる。最後の“ボンピング出力”は前述したポー
ト出力(1ビット)をH,Lに反転させるステップであ
る。
で、メインプログラムはアンチスキッド制御用である。
この制御は、ブレーキを急激に踏んだときタイヤがロッ
クして車両が路面をスリップ(スキッド)すると危険で
あるので、これを検出して自動的にブレーキの効きを低
下させるものである。このために非同期プログラムで車
輪速を演算する。これは車輪の回転に同期して発生する
パルスの周期から計算でき、これが0になると車両停止
かタイヤロックである。両者を区別するのは路面に対す
る車体速度で、これは車輪速の変化の軌跡から推測でき
る。これを行うのがメインプログラムの“車体速度計
算”である。次の“制御基準速作成”は車体速度がどこ
まで低下したらブレーキを緩めるかの基準値で、そのと
きの車体速度に応じて作成される。続く“制御判定”と
“ソレノイド制御”により必要時に自動的にブレーキが
緩められる。最後の“ボンピング出力”は前述したポー
ト出力(1ビット)をH,Lに反転させるステップであ
る。
以上述べたように本発明によれば、ハード構成を変更ま
たは追加せずに所定の周期より短かい周期で繰り返すプ
ログラム暴走を検出して自動的にシステムリセットをか
けることができる利点がある。
たは追加せずに所定の周期より短かい周期で繰り返すプ
ログラム暴走を検出して自動的にシステムリセットをか
けることができる利点がある。
第1図は本発明の基本フローチャート、第2図はその実
施例を示すフローチャート、第3図は従来のプログラム
例を示すフローチャート、第4図は短周期プログラム暴
走の説明図である。 図中、TIMはタイマ、OTIMはメモリ、KT1はメインプログ
ラムの実行周期、KT2はTIMとOTIMとの差の許容される限
界値である。
施例を示すフローチャート、第3図は従来のプログラム
例を示すフローチャート、第4図は短周期プログラム暴
走の説明図である。 図中、TIMはタイマ、OTIMはメモリ、KT1はメインプログ
ラムの実行周期、KT2はTIMとOTIMとの差の許容される限
界値である。
Claims (1)
- 【請求項1】システムを初期化するイニシャルプログラ
ムを経てメインプログラムの実行周期を定める同期プロ
グラムに入り、該同期プログラムにおいてメインプログ
ラムの起動条件が不成立のときは他のプログラムに移
り、また該起動条件が成立したら該メインプログラムを
実行するソフトウエア構成と、ハード的に時間を計測す
るタイマ、および該メインプログラムを起動する毎にそ
の実行周期を定める一定値を前回の記憶値に加算して記
憶し直すメモリを有するハードウエア構成とを備え、該
同期プログラムによる該メインプログラムの起動条件
を、該タイマの現在値と該メモリの値との差が該一定値
以上に達したこととするマイクロコンピュータシステム
の暴走を検出する方法において、 該同期プログラムに、該タイマに現在値と該メモリの値
との差が該一定値を上回る限界値を越えたとき、前記イ
ニシャルプログラムに戻るステップを設定してなること
を特徴とする暴走検出方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60139738A JPH0782450B2 (ja) | 1985-06-26 | 1985-06-26 | 暴走検出方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60139738A JPH0782450B2 (ja) | 1985-06-26 | 1985-06-26 | 暴走検出方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS621045A JPS621045A (ja) | 1987-01-07 |
| JPH0782450B2 true JPH0782450B2 (ja) | 1995-09-06 |
Family
ID=15252222
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60139738A Expired - Lifetime JPH0782450B2 (ja) | 1985-06-26 | 1985-06-26 | 暴走検出方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0782450B2 (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0227448A (ja) * | 1988-07-18 | 1990-01-30 | Fujitsu Ten Ltd | 誤動作検知装置 |
| EP0578272B1 (en) * | 1988-10-31 | 1997-02-26 | Mitsubishi Denki Kabushiki Kaisha | Porous structural unit |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS58207159A (ja) * | 1982-05-27 | 1983-12-02 | Mitsubishi Electric Corp | マイクロプロセツサの誤動作防止装置 |
| JPS603045A (ja) * | 1983-06-20 | 1985-01-09 | Nec Corp | プログラムアドレス誤動作検出装置 |
-
1985
- 1985-06-26 JP JP60139738A patent/JPH0782450B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPS621045A (ja) | 1987-01-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4530059A (en) | Vehicle anti-lock breaking control | |
| EP0213411B1 (en) | Anti-skid control system for motor vehicle | |
| EP0119484B1 (en) | Alarm system for a drowsy driver and method of detecting driver drowsiness | |
| JPH0348057B2 (ja) | ||
| US4829435A (en) | System for controlling automatic variable speed transmission | |
| US4233599A (en) | Malfunction detector for speed sensors | |
| JPH0976900A (ja) | 車両の挙動制御装置 | |
| US5583773A (en) | Method for filtering a wheel speed signal | |
| JPH01202564A (ja) | アンチロック制御方法 | |
| JPH0641260B2 (ja) | ロツク防止装置 | |
| JPS6357262B2 (ja) | ||
| US5511867A (en) | Method and system for drivetrain oscillation detection and control for anti-lock brake systems | |
| US4054329A (en) | Antilocking control system for vehicles | |
| JPH02114053A (ja) | アンチロック制御装置 | |
| US4992945A (en) | Method and apparatus for distinguishing skidding wheels of a vehicle from drive train vibrations | |
| JPS621045A (ja) | 暴走検出方法 | |
| US4316641A (en) | Circuit for the shutdown of an anti-lockup protected vehicle brake unit in case of disturbance | |
| JP2904577B2 (ja) | アンチスキッド装置 | |
| US5233529A (en) | Automatic anti-skid brake control system | |
| US4270810A (en) | Circuit for influencing the brake-pressure release and/or brake-pressure holding phases for antilocking vehicle brake systems | |
| US4308583A (en) | Anti-skid device for a motor vehicle braking system | |
| SU596156A3 (ru) | Противоблокировочное устройство дл тормозной системы автомобил | |
| JPH0729599B2 (ja) | アンチスキツド制御方法 | |
| EP0308795B1 (en) | Antiskid control device | |
| KR100343038B1 (ko) | Abs제어시스템의고정바퀴재적용장치 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| EXPY | Cancellation because of completion of term |