JP2007065961A - 電子制御装置および電子制御方法 - Google Patents
電子制御装置および電子制御方法 Download PDFInfo
- Publication number
- JP2007065961A JP2007065961A JP2005250805A JP2005250805A JP2007065961A JP 2007065961 A JP2007065961 A JP 2007065961A JP 2005250805 A JP2005250805 A JP 2005250805A JP 2005250805 A JP2005250805 A JP 2005250805A JP 2007065961 A JP2007065961 A JP 2007065961A
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- signal
- electronic control
- output
- counter
- 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
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題】ノイズ等の一過性のCPU異常現象があっても安定したCPU動作を継続可能な電子制御装置および電子制御方法を提供する。
【解決手段】システム全体の動作を制御するCPU20からあらかじめ定めた周期とデューティのパルスとして定期的に出力される動作信号が、許容範囲としてあらかじめ定めた規定閾値の範囲内にあるか否かにより、前記CPUが正常であるかあるいは異常が発生しているかをCPU監視手段となるウォッチドッグ回路1にて判定し、異常が発生していると判定された場合に、ウォッチドッグ回路1から出力される異常信号の発生回数をカウンタ2にてカウントし、カウント値が、あらかじめ定めた異常検出閾値に達した場合に、CPU20をリセットするリセット信号を出力する。また、カウント値が前記異常検出閾値に達した場合、カウンタ2をラッチして、CPU20に対するリセット信号の出力を継続させ、CPU20の動作を停止させる。
【選択図】図1
【解決手段】システム全体の動作を制御するCPU20からあらかじめ定めた周期とデューティのパルスとして定期的に出力される動作信号が、許容範囲としてあらかじめ定めた規定閾値の範囲内にあるか否かにより、前記CPUが正常であるかあるいは異常が発生しているかをCPU監視手段となるウォッチドッグ回路1にて判定し、異常が発生していると判定された場合に、ウォッチドッグ回路1から出力される異常信号の発生回数をカウンタ2にてカウントし、カウント値が、あらかじめ定めた異常検出閾値に達した場合に、CPU20をリセットするリセット信号を出力する。また、カウント値が前記異常検出閾値に達した場合、カウンタ2をラッチして、CPU20に対するリセット信号の出力を継続させ、CPU20の動作を停止させる。
【選択図】図1
Description
本発明は、電子制御装置および電子制御方法に関する。
システム全体の動作を制御するCPU(Central Processor Unit)について、従来のCPUの暴走検知回路は、たとえば、特許文献1の「ウォッチドッグ回路」に記載のように、CPUから定期的に出力される動作信号のP−RUN信号(Processor−Run信号すなわちウォッチドッグパルス信号)のパルス周期(周波数)およびデューティが、あらかじめ定めた規定閾値の範囲内に入っていれば、CPU初期化信号であるリセット信号(RES信号:Rest)をHighレベルのまま出力し、一方、前記P−RUN信号が、前記規定閾値の範囲内から外れると、あらかじめ定めた時間だけ、Lowレベルとなるリセット信号(RES信号)を出力して、CPUをリセットして停止させるウォッチドッグ回路として構成されている。
特開平7−56775号公報
しかしながら、前記特許文献1に記載のような従来の技術においては、CPUから定期的に出力されるP−RUN信号の周期(周波数)およびデューティが、一度でも前記規定閾値の範囲外となったことが検出されると、CPUをリセットして停止させてしまう仕組みとされていたため、たとえばノイズ等の一過性の異常現象が発生した場合であっても、CPUが停止してしまうという不都合があった。
本発明は、かくのごとき問題に鑑みてなされたものであり、ノイズ等の一過性の異常ではCPUをリセットして停止させることなく、安定したCPU動作を継続できるようにすることを目的としている。
本発明は、前述の課題を解決するために、CPUから定期的に出力される動作信号(P−RUN信号)が、あらかじめ定めた規定閾値の範囲内に収まっていないことが許容限度を超えて頻繁に検出された場合にのみ、CPUをリセットすべき異常が発生しているものと判定して、CPUをリセットすることを特徴としている。
本発明の電子制御装置および電子制御方法によれば、CPUから定期的に出力される動作信号(P−RUN信号)が、あらかじめ定めた規定閾値の範囲内に収まっていないことが許容限度を超えて頻繁に検出された場合に、CPUをリセットすべき異常が発生しているものと判定するので、ノイズ等の一過性の現象では、CPUを停止させずに、継統して動作させることにより、安定したCPU動作が可能となるという効果を奏することができる。
以下に、本発明による電子制御装置および電子制御方法の最良の実施形態について、図面を参照しながら詳細に説明する。
(第1の実施形態)
本発明による電子制御装置の第1の実施形態として、まず、本発明による電子制御装置のブロック構成の一例について説明する。図1は、本発明による電子制御装置のブロック構成の一例を示すブロック構成図であり、電子制御装置10と該電子制御装置10の監視対象であるCPU20とを示している。CPU20からは、正常な動作をしていることを示すP−RUN信号(動作信号)fがあらかじめ定めた周期とデューティのパルスとして定期的に電子制御装置10に対して出力されている。
本発明による電子制御装置の第1の実施形態として、まず、本発明による電子制御装置のブロック構成の一例について説明する。図1は、本発明による電子制御装置のブロック構成の一例を示すブロック構成図であり、電子制御装置10と該電子制御装置10の監視対象であるCPU20とを示している。CPU20からは、正常な動作をしていることを示すP−RUN信号(動作信号)fがあらかじめ定めた周期とデューティのパルスとして定期的に電子制御装置10に対して出力されている。
したがって、電子制御装置10は、CPU20から定期的に出力されてくるP−RUN信号(動作信号)fを常時監視して、CPU20をリセットすべき異常状態の発生を検出した場合に、CPU20に対してRES信号(リセット信号)dを出力するように構成している。
このため、本実施形態に示す電子制御装置10は、パルス周期&デューティ閾値検出回路1aを内蔵したウォッチドッグ回路1、カウンタ2、第1の投入回路3、第2の投入回路4、AND回路5、インバータ回路6と、を少なくとも備えている。
電子制御装置10の各回路部の動作について、次に説明する。
まず、ウォッチドッグ回路1は、CPU監視手段を提供するものであり、内蔵したパルス周期&デューティ閾値検出回路1aの動作に基づいて、CPU20から定期的に出力されてくるP−RUN信号(動作信号)fを監視して、暴走などの異常状態がCPU20に発生しているか否かを検出し、異常状態の発生を検出した場合に、CPU20をリセットするリセット信号(RES信号)dを発生させるための基になる異常信号(ABS信号:Abnormal Signal)aをカウンタ2に対して出力するものである。
ここで、パルス周期&デューティ閾値検出回路1aは、CPU20からのP−RUN信号(動作信号)fのパルス周期およびデューティを常時監視し、あらかじめ定めた規定閾値の範囲内に収まっているか否かを判定し、該規定閾値の範囲内に収まっていれば、CPU20は正常に動作しているものと判断して、ABS信号(異常信号)aを正常状態のHighレベルに維持してカウンタ2に対して出力し、カウンタ2のカウント動作を抑止している。
一方、P−RUN信号(動作信号)fのパルス周期あるいはデューティが前記規定閾値の範囲内に収まっていないことを検出した場合は、CPU20が正常には動作していないものと判断して、ABS信号(異常信号)aを、異常状態を示すLowレベルに変更してカウンタ2に対して出力し、カウンタ2のカウント動作を起動する。
また、P−RUN信号(動作信号)fのパルス周期あるいはデューティが前記規定閾値の範囲内に収まらない状態が継続した場合は、あらかじめ規定された周期で、ABS信号(異常信号)aはLowレベルとHighレベルとを周期的に繰り返す。
以上のパルス周期&デューティ閾値検出回路1aの動作を図2乃至図4のタイムチャートを用いてさらに説明する。ここに、図2は、本発明による電子制御装置10のパルス周期&デューティ閾値検出回路1aの動作の一例を説明するためのタイムチャートであり、CPU20のP−RUN信号(動作信号)のパルス周期の異常を検出するための動作を説明している。
図2(A−1)は、パルス周期τ2として示すように、P−RUN信号fのパルス周期τが、あらかじめ定めた規定閾値の上限値(τ1+a)よりも長くなった場合を示し、一方、図2(A−2)は、パルス周期τ3として示すように、P−RUN信号fのパルス周期τが、あらかじめ定めた規定閾値の下限値(τ1−b)よりも短くなった場合を示している。
すなわち、図2に示す例においては、CPU20が正常に動作しているか否かを判定するために、CPU20から出力されるP−RUN信号(動作信号)fのパルス周期をチェックする場合に適用される前記規定閾値の範囲として、P−RUN信号fのパルス周期τが、基準周期τ1を中心にして次の範囲に収まっているか否かにより行われる。
(τ1−b) ≦ τ ≦ (τ1+a)
図2(A−1)のパルス周期τ2、図2(A−2)のパルス周期τ3のいずれの場合においても、かかる前記規定閾値の範囲内に収まっていないので、それぞれ、図2(B−1)、図2(B−2)に示すように、CPU20に何らかの異常状態が発生しているものとして、ABS信号(異常信号)aの出力は、HighレベルからLowレベルに、あらかじめ定めた時間、設定される。
図2(A−1)のパルス周期τ2、図2(A−2)のパルス周期τ3のいずれの場合においても、かかる前記規定閾値の範囲内に収まっていないので、それぞれ、図2(B−1)、図2(B−2)に示すように、CPU20に何らかの異常状態が発生しているものとして、ABS信号(異常信号)aの出力は、HighレベルからLowレベルに、あらかじめ定めた時間、設定される。
次に、図3のタイムチャートについて説明する。図3は、本発明による電子制御装置10のパルス周期&デューティ閾値検出回路1aの動作の異なる例を説明するためのタイムチャートであり、CPU20のP−RUN信号(動作信号)fのパルスデューティの異常を検出するための動作を説明している。
図3(A)が、P−RUN信号(動作信号)fのデューティが変動している様子を示し、図3(B)が、P−RUN信号(動作信号)fのデューティの変動に応じて、CPU20の異常状態を示すABS信号(異常信号)の出力の様子を示している。図3(A)に示すように、P−RUN信号(動作信号)fのパルス間隔をd、パルス幅をeとした場合、そのデューティは、(e/d)で与えられる。
CPU20が正常に動作しているか否かを判定するためにCPU20から出力されるP−RUN信号(動作信号)fのデューティをチェックする場合、適用する前記規定閾値の範囲として、図3に示す例では、P−RUN信号(動作信号)fのデューティ(e/d)が、上限値D1と下限値D2との間にある次の範囲に収まっているか否かにより行われる。
D2 ≦ (e/d) ≦ D1
したがって、図3(B)に示すように、P−RUN信号(動作信号)fのデューティ(e/d)が、上限閾値D1よりも大きい場合、あるいは、下限閾値D2よりも小さい場合、いずれも、CPU20に何らかの異常状態が発生しているものとして、ABS信号(異常信号)aの出力は、HighレベルからLowレベルに、あらかじめ定めた時間、設定される。
したがって、図3(B)に示すように、P−RUN信号(動作信号)fのデューティ(e/d)が、上限閾値D1よりも大きい場合、あるいは、下限閾値D2よりも小さい場合、いずれも、CPU20に何らかの異常状態が発生しているものとして、ABS信号(異常信号)aの出力は、HighレベルからLowレベルに、あらかじめ定めた時間、設定される。
次に、図4のタイムチャートについて説明する。図4は、本発明による電子制御装置のパルス周期&デューティ閾値検出回路1aの動作のさらに異なる例を説明するためのタイムチャートであり、P−RUN信号(動作信号)fのパルス周期あるいはデューティが前記規定閾値の範囲内に収まらない状態が継続する場合の例を示している。
図4の場合、図4(A)に示すように、P−RUN信号(動作信号)fのパルス周期あるいはデューティが前記規定閾値の範囲内に収まらない状態が継続する場合の一例として、P−RUN信号(動作信号)fのデューティ(e/d)が前記規定閾値の下限値D2よりも小さい場合が連続して発生している場合を示している。
このように、前記規定閾値の範囲内に収まらない状態が連続して発生している場合、CPU20の異常状態が継続しているものとみなして、図4(B)に示すように、あらかじめ規定された周期で、ABS信号(異常信号)aとして、LowレベルとHighレベルとを周期的に繰り返して出力する。かくのごとく、LowレベルとHighレベルとを周期的に繰り返す動作を行う理由は、詳細は後述するが、本実施例では、ABS信号(異常信号)aの出力先のカウンタ2のカウント動作をABS信号aのパルス波形の立ち上がり部を用いて行うようにしているからであり、カウンタ2の構成如何によっては、周期的に繰り返すのではなく、異常状態を示すLowレベルを保持したままとしてもかまわない。
次に、図1の電子制御装置10に戻って、まだ説明していない回路部について、説明する。
カウンタ2は、ウォッチドッグ回路1のパルス周期&デューティ閾値検出回路1aから出力されてくるABS信号(異常信号)aを入力端子ckに入力し、ABS信号(異常信号)aの個数をカウント値としてカウントする機能を有しており、ABS信号(異常信号)aの出力回数(HighレベルからLowレベルへの移行回数)が、あらかじめ定めた異常検出閾値(本実施形態では、3回の場合を示している)に達したか否かを計数する。
カウンタ2のカウント値が、該異常検出閾値に達した場合は、出力端子Q3(カウント値が「3」を示す出力端子)からのフェイルセーフ(fail safe)信号bをHighレベルに変化させることにより、CPU20をリセットする動作を起動するために、インバータ6を介して、フェイル(fail)信号cを、Lowレベルに変化させて出力する。ただし、カウンタ2のカウント値が、あらかじめ定めた時間が経過した時点で、前記異常検出閾値に達していなかった場合は、出力端子Q3からのフェイルセーフ信号bはLowレベルを継続するとともに、カウント2のカウント値がリセットされて、改めて、カウンタ2のカウント値を「1」からカウントアップする初期状態に復帰する。
第1の投入回路3は、電源投入時に、CPU20を初期状態にリセットするために、あらかじめ定めた一定時間の間、Lowレベルの信号をAND回路5に入力する回路であり、カウンタ2からインバータ6を介して出力されてくるフェイル信号cとともに、RES信号(Reset:リセット信号)dとして、CPU20のリセット端子に入力される。
一方、第2の投入回路4は、電源投入時に、カウンタ2をリセットして初期化する機能を有し、カウンタ初期化信号すなわちINZ(Initialize)信号eをカウンタ2のMR端子に入力することにより、カウンタ2内に保持されているカウント値などをリセットする。
次に、図1に示す電子制御回路10の動作の一例を、図5に示すタイムチャートを用いて更に詳細に説明する。図5は、図1に示す本発明の電子制御回路10の構成例における動作の一例を示すタイムチャートであり、前述した各信号a,b,c,d,e,fの出力タイミングの一例を示している。
まず、電源が投入されて、電源電圧Vccが出力されてくると、第1の投入回路3の抵抗R1,コンデンサC1の時定数で設定される時間だけLowレベルとなる信号がAND回路5に入力され、RES信号dとして、CPU20のリセット端子に入力される。この結果、CPU20は初期状態にリセットされる。同様に、電源電圧Vccの立ち上がり時点で、第2の投入回路4の抵抗R2,コンデンサC2の時定数により決定されるパルス幅のカウンタ初期化信号すなわちINZ信号eがカウンタ2のMR端子に入力され、カウンタ2も初期化される。
その結果、カウンタ2のQ3端子(すなわち、カウント値「3」の出力端子)から出力されるフェイルセーフ信号bは、CPU20の異常がまだ検出されていない状態にあることを示すLowレベルに設定され、したがって、CPU20に対するリセットを起動するためのフェイル信号cも、リセットを指示していないHighレベルの状態に設定される。
しかる後、CPU20が動作を開始すると、P−RUN信号(動作信号)fが、あらかじめ定めた周期で定期的に出力されて、ウォッチドッグ回路1のパルス周期&デューティ閾値検出回路1aに入力される。
CPU20から出力されるP−RUN信号(動作信号)fのパルス周期あるいはデューティが、前述したような規定閾値の範囲内に収まっている限り、ウォッチドッグ回路1のパルス周期&デューティ閾値検出回路1aから出力されるABS信号(異常信号)aは、CPU20の異常状態を検出していない旨を示すHighレベルの状態が継続する。もって、カウンタ2はカウント値がリセットされた初期状態のままの状態になっている。
ここで、何らかの原因で、CPU20からのP−RUN信号(動作信号)fのパルス周期あるいはデューティが、前述の図2や図3にて説明したような規定閾値の範囲内に収まっていない場合、たとえば、図5に示すように、P−RUN信号(動作信号)fの出力が停止してしまったような場合、パルス周期&デューティ閾値検出回路1aは、CPU20に異常状態が発生したものと判定して、ABS信号(異常信号)aを一定時間の間Lowレベルに変更した後Highレベルに復帰するパルス波形として、カウンタ2のck端子に対して出力する。
この結果、カウンタ2は、ABS信号(異常信号)aのLowレベルからHighレベルへの立ち上がり部によりカウントを行う動作が起動され、ABS信号(異常信号)aの発生回数として「1」をカウントする。ここで、カウンタ2は、前述したように、あらかじめ定めた異常検出閾値に達するような回数のABS信号(異常信号)aを受け取った場合に、CPU20をリセットする動作を起動する基になるフェイルセーフ信号bをHighレベルに変化させて出力する動作を行うものであり、図5の場合、該異常検出閾値として、前述のように、たとえば3回としている場合について示している。
図5のP−RUN信号fのように、出力がまったく停止してしまったような場合、前記規定閾値の範囲内に収まらない状態が継続していることになり、図4で説明したように、パルス周期&デューティ閾値検出回路1aからのABS信号(異常信号)aは、あらかじめ規定された周期で、LowレベルとHighレベルとを周期的に繰り返して出力される。
而して、カウンタ2は、繰り返して入力されてくるABS信号(異常信号)aのLowレベルからHighレベルへの立ち上がりによって、次々にカウントが行われ、前記異常検出閾値の3回に達する。
この結果、カウンタ2のQ3端子からは、ABS信号(異常信号)aのLowレベルからHighレベルへの3回目の立ち上がり時点で、フェイルセーフ信号bをHighレベルに切り替えた信号が出力され、インバータ6を介してフェイル信号cがLowレベルに切り替えられる。なお、Q3端子から出力されるフェイルセーフ信号bは、カウンタ2のラッチ用のCEバー入力端子にフィードバックされており、カウンタ2がこの状態でラッチされた状態になり、フェイルセーフ信号bがHighレベル、フェイル信号cがLowレベルの状態にラッチされる。
Lowレベルにラッチされたフェイル信号cは、AND回路5を介して、LowレベルのRES信号dとして、CPU20のリセット端子を入力される。したがって、CPU20は、動作を強制的に停止したリセット状態が継続されることになる。
なお、前述したように、本実施例においては、カウンタ2の出力端子Q3を用いることにより異常検出閾値が3回の場合について説明したが、カウンタ2の出力端子Q1〜Q9のいずれか任意の出力端子を用いることとすれば、あるいは、複数のカウンタ2をカスケード接続することにすれば、異常検出閾値として、任意の回数に設定することができ、任意に設定したABS信号(異常信号)aの発生回数で、CPU20をリセットするためのRES信号dをLowレベルの状態にラッチして、CPUをリセットして停止させることにより、システム動作を停止させることができる。
したがって、ノイズ等の一過性の異常現象で、たまたま、CPU20からのP−RUN信号(異常信号)fに異常が発生したとしても、発生回数が前記異常検出閾値に達しない限り、CPU20をリセットして停止させることはなく、安定したCPU動作を継続することができる。
(第2の実施形態)
次に、本発明による電子制御装置の第2の実施形態として、まず、本発明による電子制御装置のブロック構成の図1とは異なる例について説明する。図6は、本発明による電子制御装置のブロック構成の図1とは異なる例を示すブロック構成図であり、電子制御装置10Aと該電子制御装置10Aの監視対象であるCPU20とを示している。図6に示す電子制御装置10Aは、詳細は後述するが、図1に示した電子制御装置10にさらにカウンタラッチ回路7を追加して構成している。なお、図6に示す各回路において、図1とまったく同じ回路部については同じ符号を付しており、ここでのさらなる説明は省略する。
(第2の実施形態)
次に、本発明による電子制御装置の第2の実施形態として、まず、本発明による電子制御装置のブロック構成の図1とは異なる例について説明する。図6は、本発明による電子制御装置のブロック構成の図1とは異なる例を示すブロック構成図であり、電子制御装置10Aと該電子制御装置10Aの監視対象であるCPU20とを示している。図6に示す電子制御装置10Aは、詳細は後述するが、図1に示した電子制御装置10にさらにカウンタラッチ回路7を追加して構成している。なお、図6に示す各回路において、図1とまったく同じ回路部については同じ符号を付しており、ここでのさらなる説明は省略する。
CPU20からは、図1の場合と同様に、正常な動作をしていることを示すP−RUN信号(動作信号)fがあらかじめ定めた周期とデューティのパルスとして定期的に電子制御装置10Aに対して出力されており、電子制御装置10Aは、CPU20から定期的に出力されてくるP−RUN信号(動作信号)fを常時監視して、CPU20をリセットすべき異常状態の発生を検出した場合には、CPU20に対してRES信号(リセット信号)dを出力するように構成している。
しかし、CPU20の動作の異常状態の程度を示すカウンタ2の任意のカウント状態に対応して、システム動作を保護するために何らかの保護機構を行うことを必要とする場合、あらかじめ定めた任意のカウント値に達した際に、そのカウント状態をラッチし、そのカウント値に達したことを継続して示すラッチ信号を出力するラッチ手段をさらに備えている点が、図1の場合とは異なっている。
このため、図6の電子制御装置10Aの場合、カウンタラッチ回路7として、たとえば、システム動作を保護するための保護機構を動作させる必要がある個数分のラッチ回路を、カウンタ2の1乃至複数の任意のカウント値に対して、それぞれ、1乃至複数(図6の場合は、出力端子Q3に接続したラッチ回路7a、出力端子Q7に接続したラッチ回路7bの2個)備えている。このように、CPU20からのP−RUN信号(動作信号)が第1の実施形態における図2や図3にて説明したような規定閾値の範囲内に収まっていない異常状態の発生回数すなわちABS信号aの発生回数をカウントするために設置されているカウンタ2において、たとえば、CPU20の異常状態の程度に応じてシステム動作モードを変更制御する保護機構(フェイルセーフ機構)を起動させたい場合、たとえば「1」〜「9」のそれぞれのカウント値に対応する出力端子Q1〜Q9のうち、ラッチを必要とするカウント値の出力端子のそれぞれに、ラッチ回路を1乃至複数接続するように構成する。
図6の場合は、前述のように、カウンタラッチ回路7として、カウンタ2のカウント値「3」を出力する出力端子Q3に、ラッチ回路7aを接続し、カウンタ2のカウント値「7」を出力する出力端子Q7に、ラッチ回路7bを接続して、それぞれの出力をラッチする場合を示している。
なお、第1の実施形態で説明した異常検出閾値に達して、CPU20をリセットするRES信号(リセット信号)dを起動する基になるフェイル信号cを生成するためのフェイルセーフ信号bを出力するカウンタ2の出力端子は、前述の第1の実施形態の図1に示す出力端子Q3ではなく、ラッチ回路7a、ラッチ回路7bへ出力するカウント値「3」、「7」よりも、大きいカウント値「9」を出力する出力端子Q9としている。すなわち、前記異常検出閾値として「9回」を設定している例を示している。
これは、第1の実施形態においても説明したように、フェイルセーフ信号bは、カウンタ2のラッチ用のCEバー入力端子にフィードバックされ、カウンタ2の状態をラッチすることにより、その結果として、CPU20に対してRES信号(リセット信号)を継続的に出力して、CPU20を停止させた状態にフリーズしてしまうので、システム動作が一切停止してしまい、ラッチ回路7a、ラッチ回路7bの出力(すなわち、ラッチ回路7aのラッチ出力信号g、ラッチ回路7bのラッチ出力信号h)を利用した保護機構も動作できなくなってしまうためである。
さらに、カウンタラッチ回路7として、カウンタ2の出力端子Q1〜Q9のいずれか必要な出力端子に接続されて、カウント値をラッチする各ラッチ回路の出力(図6の場合、ラッチ回路7aのラッチ出力信号g、ラッチ回路7bのラッチ出力信号h)にあらかじめ定めた優先順位を付与する優先回路をさらに設けることにより、該優先回路を介して出力される各ラッチ回路のラッチ出力信号によって動作する、たとえばそれぞれの保護機構間に優先順序付けを行うことも可能である。
なお、かくのごときカウンタラッチ回路7は、カウンタ2の出力端子Q1〜Q9の1〜9回のABS信号(異常信号)aの発生回数に限るものではなく、カウンタ2を縦続接続することにより、9回を超える任意の回数であっても、該当する任意のカウント値の出力端子に接続することが可能であり、9回を超える発生回数に対しても対応することができる。また、前述のように、カウンタ2の1乃至複数の任意のカウント値に対して、必要に応じて、それぞれ、ラッチ回路を1乃至複数設置することも可能である。
次に、図6に示す電子制御回路10Aの動作の一例を、図7に示すタイムチャートを用いて更に詳細に説明する。図7は、図6に示す本発明の電子制御回路10Aの構成例における動作の一例を示すタイムチャートであり、前述した各信号a,d,e,f,g,hの出力タイミングの一例を示している。なお、フェイルセーフ信号b、フェイル信号cについては、ここでの説明には不要であるので、簡素化を図って、その記載を削除している。
図7のタイムチャートにおいても、図5にて説明したように、何らかの原因で、CPU20からのP−RUN信号(動作信号)fのパルス周期あるいはデューティが、前述の図2や図3にて説明したような規定閾値の範囲内に収まっていない場合、たとえば、図7に示すように、P−RUN信号fの出力が停止してしまったような場合、パルス周期&デューティ閾値検出回路1aは、CPU20に異常状態が発生したものと判定して、ABS信号(異常信号)aを一定時間の間Lowレベルに変更した後Highレベルに復帰するパルス波形として、カウンタ2のck端子に対して出力する。
この結果、カウンタ2は、ABS信号(異常信号)aのLowレベルからHighレベルへの立ち上がり部によりカウントを行う動作が起動され、ABS信号(異常信号)aの発生回数として「1」をカウントする。
図5における場合と同様、図7のP−RUN信号(動作信号)fのように、出力がまったく停止してしまったような場合、前記規定閾値の範囲内に収まらない状態が継続していることになり、図4で説明したように、パルス周期&デューティ閾値検出回路1aからのABS信号(異常信号)aは、あらかじめ規定された周期で、LowレベルとHighレベルとを周期的に繰り返して出力される。
而して、カウンタ2は、繰り返して入力されてくるABS信号(異常信号)aのLowレベルからHighレベルへの立ち上がり部によって、次々にカウントが行われ、カウンタ2のカウント値が3回に達すると、出力端子Q3からのカウント値「3」の出力信号がラッチ回路7aのck端子に入力されて、ラッチ回路7aの出力端子Qから出力されるラッチ出力信号gは、LowレベルからHighレベルにラッチされた状態になる。
しかる後、カウンタ2のカウント値が7回に達すると、今度は、出力端子Q7からのカウント値「7」の出力信号がラッチ回路7bのck端子に入力されて、ラッチ回路7bの出力端子Qから出力されるラッチ出力信号hが、LowレベルからHighレベルにラッチされた状態になる。
かくのごとく、Highレベルにラッチされたラッチ回路7aのラッチ出力信号g、ラッチ回路7bのラッチ出力信号hを用いて、それぞれに対応して、たとえば、所望する任意のシステム動作を保護するための保護機構を独立に動作させることも可能であるし、あるいは、CPU20の動作の異常状態に応じて、段階的に、所望する何らかの保護機構、たとえば、モータの暴走を防止するために、該モータの駆動電流を段階的に制限するような保護機構を動作させることも可能である。
すなわち、カウンタ2の各カウント値の出力端子Q1〜Q9に、CPU20の異常状態の程度を示すABS信号aの出力回数に応じて、必要な数だけ、ラッチ回路を接続し、カウンタ2のカウント出力をそれぞれラッチして、たとえば、それぞれに対応するシステム動作のフェイルセーフ動作を起動するために、それぞれのシステム動作の保護機構を動作させる構成も可能であるし、さらには、そのラッチ出力それぞれを優先回路を介してあらかじめ定めた優先順に出力することによって、たとえばシステム動作の保護機構に優先順位を持たせて段階的に制御する構成も可能である。
さらに、カウンタ2のカウント値が、前記異常検出閾値として設定されている9回に達すると、出力端子Q9からのカウント値「9」がフェイルセーフ信号bとして出力されて、カウンタ2のラッチ用のCEバー端子にフィードバックされて、カウンタ2はラッチされた状態になる。一方、フェイルセーフ信号bは、インバータ6を介してフェイル信号cとされて、AND回路5に供給されており、AND回路5を経由して、RES信号(リセット信号)dがHighレベルからLowレベルに切り替わり、CPU20のリセット端子に入力される。ここで、カウンタ2がカウント値「9」でラッチされた状態にされているので、CPU20に対するRES信号(リセット信号)dがLowレベルに維持されて、CPU20は、強制的にリセットされる状態が継続し、CPU20の動作を停止した状態になる。
次に、フェイルセーフ動作の対象とするシステム動作の一例として、CPU20の異常状態の程度を示すカウンタ値2のカウント値により、システム動作の保護機構の一例として、モータの駆動電流の大きさを段階的に制御する例について、図8、図9を用いて説明する。
ここに、図8は、本発明による電子制御装置のブロック構成の図6と異なる例を示すブロック構成図であり、図6における電子制御装置10Aの場合と異なり、カウンタラッチ回路7Aとして、ラッチ回路7c、ラッチ回路7d、ラッチ回路7eと3個のラッチ回路が設置され、それぞれが、カウンタ2の出力端子Q1、Q2、Q3に接続されている。すなわち、ラッチ回路7cは、カウンタ2のカウント値が「1」の場合にラッチ出力信号jを出力し、ラッチ回路7dは、カウンタ2のカウント値が「2」の場合にラッチ出力信号kを出力し、ラッチ回路7eは、カウンタ2のカウント値が「3」の場合にラッチ出力信号lを出力するように構成されている。
さらに、図8には、保護機構の一例として、カウンタラッチ回路7Aからそれぞれ出力されるラッチ出力信号j,k,lにより、すなわち、システム全体の動作を制御するCPU20の異常状態の程度を示すカウンタ値2のカウント値により、任意のシステム動作に関する保護動作を行う保護回路の一例として、電源40から供給されるモータ50に対する駆動電流の大きさを段階的に制御するモータ保護回路30も例示している。
モータ保護回路30は、電流を制限する制限量が異なる第1の電流制限回路31と第2の電流制限回路32とを備え、さらに、カウンタラッチ回路7Aから出力されるラッチ出力信号j,k,lのそれぞれによりオン/オフされるスイッチ33、スイッチ34、スイッチ35を備えている。本モータ保護回路30においては、スイッチ33、スイッチ34、スイッチ35により、各ラッチ出力信号j,k,lの発生源であるカウンタ2のカウンタ値に対応した、すなわち、カウンタラッチ回路7Aへの出力となるカウンタ2のカウント値の「1」、「2」、「3」に対応したCPU20の異常状態の発生程度に応じた優先回路が形成されており、ラッチ出力信号j,k,lの順に順次優先度が高くなっていくように構成されている。
なお、スイッチ33の接点状態は、ラッチ出力信号jがLowレベルにある場合、m側に、Highレベルにある場合、n側に接続され、また、スイッチ34の接点状態は、ラッチ出力信号kがLowレベルにある場合、p側に、Highレベルにある場合、q側に接続され、スイッチ35の接点rの状態は、ラッチ出力信号lがLowレベルにある場合、ショート状態に、Highレベルにある場合、オープン状態にされる。
ここで、該モータ保護回路30におけるスイッチ33、スイッチ34、スイッチ35によるラッチ出力信号j,k,lの優先回路を、電子制御装置10B内に内蔵することも可能であり、あらかじめ定めた優先順に応じて順序付けして、ラッチ出力信号j,k,lを電子制御装置10Bから外部に設置したモータ保護回路のそれぞれの対応部に対して出力するように構成しても良い。
次に、図8の電子制御装置10Bの動作例について、図9のタイムチャートを用いて説明する。ここに、図9は、図8に示す本発明の電子制御回路10Bの構成例における動作の一例を示すタイムチャートであり、モータ保護回路30に入力されてくるラッチ出力信号j,k,lによって、モータ40に対する駆動電流を段階的に制限する動作について、以下に、順を追って説明する。
電源が投入された以降、CPU20が正常に動作している限り、定期的に出力されるP−RUN信号(動作信号)fは、図2や図3で説明した規定閾値の範囲内に収まる状態で出力されているので、CPU20の異常を示すABS信号(異常信号)aは、Highレベルの状態を持続し、カウンタ2のカウント動作は行われない。したがって、カウンタ2の出力端子Q1、Q2、Q3はLowレベルのままであり、その出力をそれぞれ入力しているラッチ回路7c、ラッチ回路7d、ラッチ回路7eのそれぞれのラッチ出力信号j,k,lもLowレベルのままである。
この状態では、モータ保護回路30のスイッチ33、スイッチ34の各接点は、それぞれ、m側、p側に接続され、スイッチ35の接点rはショート状態に設定されている。したがって、電源40は、モータ保護回路30をスルーにモータ50に接続された状態にあり、CPU20が正常に動作している限り、電源40からの正規のモータ駆動電流により、モータ50が駆動されている。
ここで、何らかの要因により、定期的に出力されていたP−RUN信号(動作信号)fが停止してしまうと、前記規定閾値の範囲内に収まっていない状態になり、かかる状態が続く限り、ABS信号(異常信号)aは、LowレベルとHighレベルとの間を、あらかじめ定めた周期にて繰り返す動作を行う。この結果、カウンタ2は、カウント動作が起動され、「1」、「2」、「3」、…と順次カウントしていく。
カウンタ2が「1」をカウントした時点では、出力端子Q1がHighレベルになるので、該出力端子Q1に接続されているラッチ回路7cからのラッチ出力信号jがHighレベルにラッチされる。したがって、モータ保護回路30のスイッチ33の接点は、m側からn側に切り替わり、電源40は、第1の電流制限回路31を経由して、モータ50に接続される状態になる。この結果、正規のモータ駆動電流から制限量に応じて減少した駆動電流により、モータ50が駆動されることになる。
さらに、カウンタ2が「2」をカウントした時点では、出力端子Q2がHighレベルになるので、該出力端子Q2に接続されているラッチ回路7dからのラッチ出力信号kがHighレベルにラッチされる。したがって、モータ保護回路30のスイッチ34の接点は、p側からq側に切り替わり、電源40は、スイッチ33の状態如何によらず、第2の電源制限回路32を経由して、モータ50に接続される状態になる。このように、スイッチ34の状態が、スイッチ33の状態よりも優先されている。この結果、第1の電流制限回路31を経由して制限されていたモータ駆動電流が、第2の電流制限回路32によりさらに減少した駆動電流とされて、モータ50が駆動されることになる。
しかる後、さらに、カウンタ2が「3」をカウントした時点では、出力端子Q3がHighレベルになるので、該出力端子Q3に接続されているラッチ回路7eからのラッチ出力信号lがHighレベルにラッチされる。したがって、モータ保護回路30のスイッチ35の接点rは、オープン状態になり、電源40とモータ50との接続は、スイッチ33、スイッチ34の状態如何によらず、遮断された状態になり、モータ50は停止する。このように、スイッチ35の状態が、スイッチ33、スイッチ34の状態よりも優先されている。
以上のように、CPU20の異常状態の検出回数すなわちCPU20の異常状態の程度を示すカウンタ2のカウンタ値により、モータ保護回路30における動作モードを制御することにより、CPU20の異常状態の程度に応じて、あらかじめ定めた優先順位を設けて、モータ50に関する保護機構(フェイルセーフ機構)の動作モードを順次切り替えて、モータ50の駆動電流を段階的に制御することが可能となる。
なお、かくのごとき保護機構(フェイルセーフ機構)は、前述のようなモータ50の保護の場合に限るものではなく、所望する任意のシステム動作に対して保護回路を設置し、CPU20の異常状態の発生程度を示すカウンタ2のカウント値をラッチしたラッチ出力信号を用いることにより、任意のシステム動作に対して、CPU20の異常状態の発生程度に応じた保護動作(フェイルセーフ動作)を行わせることが可能である。
さらに、ラッチ出力信号として複数出力するように構成している場合、複数のラッチ出力信号それぞれに対する優先回路を設けることにより、システム動作に関する保護動作の程度を段階的に深化させていく(すなわち、あるシステム動作に対する保護レベルを、CPU20の異常状態の発生程度に応じて段階的に高めていく)ように構成することも可能である。
1…ウォッチドッグ回路、1a…パルス周期&デューティ閾値検出回路、2…カウンタ、3…第1の投入回路、4…第2の投入回路、5…AND回路、6…インバータ回路、7,7A…カウンタラッチ回路、7a,7b,7c,7d,7e…ラッチ回路、10,10A…電子制御装置、20…CPU、30…モータ保護回路、31…第1の電流制限回路、32…第2の電流制限回路、33,34,35…スイッチ、40…電源、50…モータ。
Claims (9)
- システム全体の動作を制御するCPUからあらかじめ定めた周期とデューティのパルスとして定期的に出力される動作信号に基づいて、前記CPUに異常が発生しているか否かの判定を行い、異常が発生していると判定された場合、前記CPUの異常を示す異常信号を出力するCPU監視手段と、該CPU監視手段から出力される前記異常信号の発生回数をカウントするカウンタとを備え、前記カウンタのカウント値が、あらかじめ定めた異常検出閾値に達した場合に、前記CPUをリセットするリセット信号を出力することを特徴とする電子制御装置。
- 請求項1に記載の電子制御装置において、前記CPU監視手段が、前記CPUからの前記動作信号のパルス周期および/またはデューティに関して、許容範囲としてあらかじめ定めた規定閾値の範囲内にあるか否かにより、前記CPUが正常であるか、あるいは、異常が発生しているかを判定することを特徴とする電子制御装置。
- 請求項1または2に記載の電子制御装置において、前記カウンタのカウント値が前記異常検出閾値に達した場合に、前記カウンタをラッチすることにより、前記CPUに対するリセット信号を継続して出力し、前記CPUの動作を停止させることを特徴とする電子制御装置。
- 請求項1乃至3のいずれかに記載の電子制御装置において、前記カウンタのカウント値が、あらかじめ定めた任意のカウント値に達した際に、当該カウント値に達したことを継続して示すラッチ信号を出力するラッチ手段を備えていることを特徴とする電子制御装置。
- 請求項4に記載の電子制御装置において、前記カウンタの1乃至複数の任意のカウント値に対して、それぞれ、前記ラッチ手段を1乃至複数備えていることを特徴とする電子制御装置。
- 請求項5に記載の電子制御装置において、前記ラッチ手段を複数備え、各ラッチ手段から出力されるラッチ信号をあらかじめ定めた優先順位に基づいて出力する優先回路を備えていることを特徴とする電子制御装置。
- 請求項4または5に記載の電子制御装置において、前記ラッチ手段から出力されるラッチ信号を、任意のシステム動作に関する保護動作を行う保護回路に入力することにより、前記ラッチ信号の発生源である前記カウンタのカウント値に対応した前記CPUの異常状態の発生程度に応じて、当該システム動作に関する保護動作を起動することを特徴とする電子制御装置。
- 請求項7に記載の電子制御装置において、前記ラッチ手段を複数備え、各ラッチ手段から出力されるラッチ信号をあらかじめ定めた優先順位に基づいて出力する優先回路を備え、該優先回路から優先順位に応じて出力されるラッチ信号を、任意のシステム動作に関する保護動作を段階的に行うことができる保護回路に入力することにより、前記ラッチ信号それぞれの発生源である前記カウンタのカウント値に対応した前記CPUの異常状態の発生程度に応じて、当該システム動作に関する保護動作の程度を段階的に深化させていくことを特徴とする電子制御装置。
- システム全体の動作を制御するCPUからあらかじめ定めた周期とデューティのパルスとして定期的に出力される動作信号に基づいて、前記CPUに異常が発生しているか否かの判定を行い、異常が発生していると判定された場合、前記CPUの異常を示す異常信号を出力することにより、前記異常信号の発生回数をカウントし、該カウント値が、あらかじめ定めた異常検出閾値に達した場合に、前記CPUをリセットするリセット信号を出力することを特徴とする電子制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005250805A JP2007065961A (ja) | 2005-08-31 | 2005-08-31 | 電子制御装置および電子制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005250805A JP2007065961A (ja) | 2005-08-31 | 2005-08-31 | 電子制御装置および電子制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007065961A true JP2007065961A (ja) | 2007-03-15 |
Family
ID=37928099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005250805A Pending JP2007065961A (ja) | 2005-08-31 | 2005-08-31 | 電子制御装置および電子制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007065961A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009040995A1 (ja) * | 2007-09-25 | 2009-04-02 | Panasonic Corporation | 情報処理装置、情報処理方法 |
JP2013049426A (ja) * | 2012-11-30 | 2013-03-14 | Nsk Ltd | 電動パワーステアリング装置 |
JP2013100093A (ja) * | 2012-11-30 | 2013-05-23 | Nsk Ltd | 電動パワーステアリング装置 |
JP2013100094A (ja) * | 2012-11-30 | 2013-05-23 | Nsk Ltd | 電動パワーステアリング装置 |
US9477542B2 (en) | 2013-12-24 | 2016-10-25 | Denso Corporation | Electronic control unit |
CN108646715A (zh) * | 2018-06-13 | 2018-10-12 | 中国北方发动机研究所(天津) | 一种单片机故障自动重启电路 |
CN111404527A (zh) * | 2020-03-23 | 2020-07-10 | 上海钧正网络科技有限公司 | 一种***异常自动上下电的控制电路及方法 |
-
2005
- 2005-08-31 JP JP2005250805A patent/JP2007065961A/ja active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009040995A1 (ja) * | 2007-09-25 | 2009-04-02 | Panasonic Corporation | 情報処理装置、情報処理方法 |
JP2013049426A (ja) * | 2012-11-30 | 2013-03-14 | Nsk Ltd | 電動パワーステアリング装置 |
JP2013100093A (ja) * | 2012-11-30 | 2013-05-23 | Nsk Ltd | 電動パワーステアリング装置 |
JP2013100094A (ja) * | 2012-11-30 | 2013-05-23 | Nsk Ltd | 電動パワーステアリング装置 |
US9477542B2 (en) | 2013-12-24 | 2016-10-25 | Denso Corporation | Electronic control unit |
CN108646715A (zh) * | 2018-06-13 | 2018-10-12 | 中国北方发动机研究所(天津) | 一种单片机故障自动重启电路 |
CN111404527A (zh) * | 2020-03-23 | 2020-07-10 | 上海钧正网络科技有限公司 | 一种***异常自动上下电的控制电路及方法 |
CN111404527B (zh) * | 2020-03-23 | 2023-08-18 | 上海钧正网络科技有限公司 | 一种***异常自动上下电的控制电路及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007065961A (ja) | 電子制御装置および電子制御方法 | |
JP5739290B2 (ja) | 電子制御装置 | |
JP5345764B2 (ja) | モータ制御用マイクロコンピュータ及びその制御方法 | |
US10033389B2 (en) | Clock signal stop detection circuit | |
JP2018082581A (ja) | モータ駆動制御装置及びモータ駆動制御方法 | |
JP2011063231A (ja) | 車両用電子制御装置 | |
JP4127283B2 (ja) | リセット回路とディジタル通信装置 | |
US10215795B1 (en) | Three level gate monitoring | |
JP5584527B2 (ja) | 電圧検出システム及びその制御方法 | |
JP2010109717A (ja) | 半導体集積回路及びその制御方法 | |
US8717066B2 (en) | Clock diagnosis circuit | |
JP2006074908A (ja) | 電力用半導体装置の制御用回路および制御用集積回路 | |
JP2006025547A (ja) | スイッチング電源装置 | |
JP4140608B2 (ja) | 過電流制限回路 | |
JP6490454B2 (ja) | リセットパルス列及びそれを用いるリセット回路 | |
JP4440214B2 (ja) | 半導体装置 | |
JP2009170261A (ja) | 素子動作回数記録装置及び素子動作回数誤差推定方法 | |
JP6846989B2 (ja) | フェールセーフ回路 | |
JP5499777B2 (ja) | 信号保持回路およびこれを使用したシステム保護装置 | |
JP2008152621A (ja) | マイクロコンピュータ | |
JP2004046348A (ja) | 制御装置、その入力回路及び制御装置の信号入力方法 | |
JP7463952B2 (ja) | 過電流検出回路およびスイッチング電源回路 | |
JP4396572B2 (ja) | 信号処理装置のリセット方法 | |
JP5703657B2 (ja) | 電圧検出器及び電圧検出方法 | |
JPH103409A (ja) | マイクロコンピュータ監視システム及びこれに用いられる半導体集積回路装置 |