(57)【要約】【課題】ノイズ等の一過性のＣＰＵ異常現象があっても安定したＣＰＵ動作を継続可能な電子制御装置および電子制御方法を提供する。【解決手段】システム全体の動作を制御するＣＰＵ２０からあらかじめ定めた周期とデューティのパルスとして定期的に出力される動作信号が、許容範囲としてあらかじめ定めた規定閾値の範囲内にあるか否かにより、前記ＣＰＵが正常であるかあるいは異常が発生しているかをＣＰＵ監視手段となるウォッチドッグ回路１にて判定し、異常が発生していると判定された場合に、ウォッチドッグ回路１から出力される異常信号の発生回数をカウンタ２にてカウントし、カウント値が、あらかじめ定めた異常検出閾値に達した場合に、ＣＰＵ２０をリセットするリセット信号を出力する。また、カウント値が前記異常検出閾値に達した場合、カウンタ２をラッチして、ＣＰＵ２０に対するリセット信号の出力を継続させ、ＣＰＵ２０の動作を停止させる。【選択図】図１
2007065961.tif 000002
【特許請求の範囲】
【請求項１】
システム全体の動作を制御するＣＰＵからあらかじめ定めた周期とデューティのパルスとして定期的に出力される動作信号に基づいて、前記ＣＰＵに異常が発生しているか否かの判定を行い、異常が発生していると判定された場合、前記ＣＰＵの異常を示す異常信号を出力するＣＰＵ監視手段と、該ＣＰＵ監視手段から出力される前記異常信号の発生回数をカウントするカウンタとを備え、前記カウンタのカウント値が、あらかじめ定めた異常検出閾値に達した場合に、前記ＣＰＵをリセットするリセット信号を出力することを特徴とする電子制御装置。
【請求項２】
請求項１に記載の電子制御装置において、前記ＣＰＵ監視手段が、前記ＣＰＵからの前記動作信号のパルス周期および／またはデューティに関して、許容範囲としてあらかじめ定めた規定閾値の範囲内にあるか否かにより、前記ＣＰＵが正常であるか、あるいは、異常が発生しているかを判定することを特徴とする電子制御装置。
【請求項３】
請求項１または２に記載の電子制御装置において、前記カウンタのカウント値が前記異常検出閾値に達した場合に、前記カウンタをラッチすることにより、前記ＣＰＵに対するリセット信号を継続して出力し、前記ＣＰＵの動作を停止させることを特徴とする電子制御装置。
【請求項４】
請求項１乃至３のいずれかに記載の電子制御装置において、前記カウンタのカウント値が、あらかじめ定めた任意のカウント値に達した際に、当該カウント値に達したことを継続して示すラッチ信号を出力するラッチ手段を備えていることを特徴とする電子制御装置。
【請求項５】
請求項４に記載の電子制御装置において、前記カウンタの１乃至複数の任意のカウント値に対して、それぞれ、前記ラッチ手段を１乃至複数備えていることを特徴とする電子制御装置。
【請求項６】
請求項５に記載の電子制御装置において、前記ラッチ手段を複数備え、各ラッチ手段から出力されるラッチ信号をあらかじめ定めた優先順位に基づいて出力する優先回路を備えていることを特徴とする電子制御装置。
【請求項７】
請求項４または５に記載の電子制御装置において、前記ラッチ手段から出力されるラッチ信号を、任意のシステム動作に関する保護動作を行う保護回路に入力することにより、前記ラッチ信号の発生源である前記カウンタのカウント値に対応した前記ＣＰＵの異常状態の発生程度に応じて、当該システム動作に関する保護動作を起動することを特徴とする電子制御装置。
【請求項８】
請求項７に記載の電子制御装置において、前記ラッチ手段を複数備え、各ラッチ手段から出力されるラッチ信号をあらかじめ定めた優先順位に基づいて出力する優先回路を備え、該優先回路から優先順位に応じて出力されるラッチ信号を、任意のシステム動作に関する保護動作を段階的に行うことができる保護回路に入力することにより、前記ラッチ信号それぞれの発生源である前記カウンタのカウント値に対応した前記ＣＰＵの異常状態の発生程度に応じて、当該システム動作に関する保護動作の程度を段階的に深化させていくことを特徴とする電子制御装置。
【請求項９】
システム全体の動作を制御するＣＰＵからあらかじめ定めた周期とデューティのパルスとして定期的に出力される動作信号に基づいて、前記ＣＰＵに異常が発生しているか否かの判定を行い、異常が発生していると判定された場合、前記ＣＰＵの異常を示す異常信号を出力することにより、前記異常信号の発生回数をカウントし、該カウント値が、あらかじめ定めた異常検出閾値に達した場合に、前記ＣＰＵをリセットするリセット信号を出力することを特徴とする電子制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子制御装置および電子制御方法に関する。
【背景技術】
【０００２】
システム全体の動作を制御するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）について、従来のＣＰＵの暴走検知回路は、たとえば、特許文献１の「ウォッチドッグ回路」に記載のように、ＣＰＵから定期的に出力される動作信号のＰ−ＲＵＮ信号（Ｐｒｏｃｅｓｓｏｒ−Ｒｕｎ信号すなわちウォッチドッグパルス信号）のパルス周期（周波数）およびデューティが、あらかじめ定めた規定閾値の範囲内に入っていれば、ＣＰＵ初期化信号であるリセット信号（ＲＥＳ信号：Ｒｅｓｔ）をＨｉｇｈレベルのまま出力し、一方、前記Ｐ−ＲＵＮ信号が、前記規定閾値の範囲内から外れると、あらかじめ定めた時間だけ、Ｌｏｗレベルとなるリセット信号（ＲＥＳ信号）を出力して、ＣＰＵをリセットして停止させるウォッチドッグ回路として構成されている。
【特許文献１】特開平７−５６７７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、前記特許文献１に記載のような従来の技術においては、ＣＰＵから定期的に出力されるＰ−ＲＵＮ信号の周期（周波数）およびデューティが、一度でも前記規定閾値の範囲外となったことが検出されると、ＣＰＵをリセットして停止させてしまう仕組みとされていたため、たとえばノイズ等の一過性の異常現象が発生した場合であっても、ＣＰＵが停止してしまうという不都合があった。
【０００４】
本発明は、かくのごとき問題に鑑みてなされたものであり、ノイズ等の一過性の異常ではＣＰＵをリセットして停止させることなく、安定したＣＰＵ動作を継続できるようにすることを目的としている。
【課題を解決するための手段】
【０００５】
本発明は、前述の課題を解決するために、ＣＰＵから定期的に出力される動作信号（Ｐ−ＲＵＮ信号）が、あらかじめ定めた規定閾値の範囲内に収まっていないことが許容限度を超えて頻繁に検出された場合にのみ、ＣＰＵをリセットすべき異常が発生しているものと判定して、ＣＰＵをリセットすることを特徴としている。
【発明の効果】
【０００６】
本発明の電子制御装置および電子制御方法によれば、ＣＰＵから定期的に出力される動作信号（Ｐ−ＲＵＮ信号）が、あらかじめ定めた規定閾値の範囲内に収まっていないことが許容限度を超えて頻繁に検出された場合に、ＣＰＵをリセットすべき異常が発生しているものと判定するので、ノイズ等の一過性の現象では、ＣＰＵを停止させずに、継統して動作させることにより、安定したＣＰＵ動作が可能となるという効果を奏することができる。
【発明を実施するための最良の形態】
【０００７】
以下に、本発明による電子制御装置および電子制御方法の最良の実施形態について、図面を参照しながら詳細に説明する。
【０００８】
（第１の実施形態）
本発明による電子制御装置の第１の実施形態として、まず、本発明による電子制御装置のブロック構成の一例について説明する。図１は、本発明による電子制御装置のブロック構成の一例を示すブロック構成図であり、電子制御装置１０と該電子制御装置１０の監視対象であるＣＰＵ２０とを示している。ＣＰＵ２０からは、正常な動作をしていることを示すＰ−ＲＵＮ信号（動作信号）ｆがあらかじめ定めた周期とデューティのパルスとして定期的に電子制御装置１０に対して出力されている。
【０００９】
したがって、電子制御装置１０は、ＣＰＵ２０から定期的に出力されてくるＰ−ＲＵＮ信号（動作信号）ｆを常時監視して、ＣＰＵ２０をリセットすべき異常状態の発生を検出した場合に、ＣＰＵ２０に対してＲＥＳ信号（リセット信号）ｄを出力するように構成している。
【００１０】
このため、本実施形態に示す電子制御装置１０は、パルス周期＆デューティ閾値検出回路１ａを内蔵したウォッチドッグ回路１、カウンタ２、第１の投入回路３、第２の投入回路４、ＡＮＤ回路５、インバータ回路６と、を少なくとも備えている。
【００１１】
電子制御装置１０の各回路部の動作について、次に説明する。
【００１２】
まず、ウォッチドッグ回路１は、ＣＰＵ監視手段を提供するものであり、内蔵したパルス周期＆デューティ閾値検出回路１ａの動作に基づいて、ＣＰＵ２０から定期的に出力されてくるＰ−ＲＵＮ信号（動作信号）ｆを監視して、暴走などの異常状態がＣＰＵ２０に発生しているか否かを検出し、異常状態の発生を検出した場合に、ＣＰＵ２０をリセットするリセット信号（ＲＥＳ信号）ｄを発生させるための基になる異常信号(ＡＢＳ信号：Ａｂｎｏｒｍａｌ  Ｓｉｇｎａｌ)ａをカウンタ２に対して出力するものである。
【００１３】
ここで、パルス周期＆デューティ閾値検出回路１ａは、ＣＰＵ２０からのＰ−ＲＵＮ信号（動作信号）ｆのパルス周期およびデューティを常時監視し、あらかじめ定めた規定閾値の範囲内に収まっているか否かを判定し、該規定閾値の範囲内に収まっていれば、ＣＰＵ２０は正常に動作しているものと判断して、ＡＢＳ信号（異常信号）ａを正常状態のＨｉｇｈレベルに維持してカウンタ２に対して出力し、カウンタ２のカウント動作を抑止している。
【００１４】
一方、Ｐ−ＲＵＮ信号（動作信号）ｆのパルス周期あるいはデューティが前記規定閾値の範囲内に収まっていないことを検出した場合は、ＣＰＵ２０が正常には動作していないものと判断して、ＡＢＳ信号（異常信号）ａを、異常状態を示すＬｏｗレベルに変更してカウンタ２に対して出力し、カウンタ２のカウント動作を起動する。
【００１５】
また、Ｐ−ＲＵＮ信号（動作信号）ｆのパルス周期あるいはデューティが前記規定閾値の範囲内に収まらない状態が継続した場合は、あらかじめ規定された周期で、ＡＢＳ信号（異常信号）ａはＬｏｗレベルとＨｉｇｈレベルとを周期的に繰り返す。
【００１６】
以上のパルス周期＆デューティ閾値検出回路１ａの動作を図２乃至図４のタイムチャートを用いてさらに説明する。ここに、図２は、本発明による電子制御装置１０のパルス周期＆デューティ閾値検出回路１ａの動作の一例を説明するためのタイムチャートであり、ＣＰＵ２０のＰ−ＲＵＮ信号（動作信号）のパルス周期の異常を検出するための動作を説明している。
【００１７】
図２（Ａ−１）は、パルス周期τ２として示すように、Ｐ−ＲＵＮ信号ｆのパルス周期τが、あらかじめ定めた規定閾値の上限値（τ１＋ａ）よりも長くなった場合を示し、一方、図２（Ａ−２）は、パルス周期τ３として示すように、Ｐ−ＲＵＮ信号ｆのパルス周期τが、あらかじめ定めた規定閾値の下限値（τ１−ｂ）よりも短くなった場合を示している。
【００１８】
すなわち、図２に示す例においては、ＣＰＵ２０が正常に動作しているか否かを判定するために、ＣＰＵ２０から出力されるＰ−ＲＵＮ信号（動作信号）ｆのパルス周期をチェックする場合に適用される前記規定閾値の範囲として、Ｐ−ＲＵＮ信号ｆのパルス周期τが、基準周期τ１を中心にして次の範囲に収まっているか否かにより行われる。
【００１９】
（τ１−ｂ）  ≦  τ  ≦  （τ１＋ａ）
図２（Ａ−１）のパルス周期τ２、図２（Ａ−２）のパルス周期τ３のいずれの場合においても、かかる前記規定閾値の範囲内に収まっていないので、それぞれ、図２（Ｂ−１）、図２（Ｂ−２）に示すように、ＣＰＵ２０に何らかの異常状態が発生しているものとして、ＡＢＳ信号（異常信号）ａの出力は、ＨｉｇｈレベルからＬｏｗレベルに、あらかじめ定めた時間、設定される。
【００２０】
次に、図３のタイムチャートについて説明する。図３は、本発明による電子制御装置１０のパルス周期＆デューティ閾値検出回路１ａの動作の異なる例を説明するためのタイムチャートであり、ＣＰＵ２０のＰ−ＲＵＮ信号（動作信号）ｆのパルスデューティの異常を検出するための動作を説明している。
【００２１】
図３（Ａ）が、Ｐ−ＲＵＮ信号（動作信号）ｆのデューティが変動している様子を示し、図３（Ｂ）が、Ｐ−ＲＵＮ信号（動作信号）ｆのデューティの変動に応じて、ＣＰＵ２０の異常状態を示すＡＢＳ信号（異常信号）の出力の様子を示している。図３（Ａ）に示すように、Ｐ−ＲＵＮ信号（動作信号）ｆのパルス間隔をｄ、パルス幅をｅとした場合、そのデューティは、（ｅ／ｄ）で与えられる。
【００２２】
ＣＰＵ２０が正常に動作しているか否かを判定するためにＣＰＵ２０から出力されるＰ−ＲＵＮ信号（動作信号）ｆのデューティをチェックする場合、適用する前記規定閾値の範囲として、図３に示す例では、Ｐ−ＲＵＮ信号（動作信号）ｆのデューティ（ｅ／ｄ）が、上限値Ｄ１と下限値Ｄ２との間にある次の範囲に収まっているか否かにより行われる。
【００２３】
Ｄ２  ≦  （ｅ／ｄ）  ≦  Ｄ１
したがって、図３（Ｂ）に示すように、Ｐ−ＲＵＮ信号（動作信号）ｆのデューティ（ｅ／ｄ）が、上限閾値Ｄ１よりも大きい場合、あるいは、下限閾値Ｄ２よりも小さい場合、いずれも、ＣＰＵ２０に何らかの異常状態が発生しているものとして、ＡＢＳ信号（異常信号）ａの出力は、ＨｉｇｈレベルからＬｏｗレベルに、あらかじめ定めた時間、設定される。
【００２４】
次に、図４のタイムチャートについて説明する。図４は、本発明による電子制御装置のパルス周期＆デューティ閾値検出回路１ａの動作のさらに異なる例を説明するためのタイムチャートであり、Ｐ−ＲＵＮ信号（動作信号）ｆのパルス周期あるいはデューティが前記規定閾値の範囲内に収まらない状態が継続する場合の例を示している。
【００２５】
図４の場合、図４（Ａ）に示すように、Ｐ−ＲＵＮ信号（動作信号）ｆのパルス周期あるいはデューティが前記規定閾値の範囲内に収まらない状態が継続する場合の一例として、Ｐ−ＲＵＮ信号（動作信号）ｆのデューティ（ｅ／ｄ）が前記規定閾値の下限値Ｄ２よりも小さい場合が連続して発生している場合を示している。
【００２６】
このように、前記規定閾値の範囲内に収まらない状態が連続して発生している場合、ＣＰＵ２０の異常状態が継続しているものとみなして、図４（Ｂ）に示すように、あらかじめ規定された周期で、ＡＢＳ信号（異常信号）ａとして、ＬｏｗレベルとＨｉｇｈレベルとを周期的に繰り返して出力する。かくのごとく、ＬｏｗレベルとＨｉｇｈレベルとを周期的に繰り返す動作を行う理由は、詳細は後述するが、本実施例では、ＡＢＳ信号（異常信号）ａの出力先のカウンタ２のカウント動作をＡＢＳ信号ａのパルス波形の立ち上がり部を用いて行うようにしているからであり、カウンタ２の構成如何によっては、周期的に繰り返すのではなく、異常状態を示すＬｏｗレベルを保持したままとしてもかまわない。
【００２７】
次に、図１の電子制御装置１０に戻って、まだ説明していない回路部について、説明する。
【００２８】
カウンタ２は、ウォッチドッグ回路１のパルス周期＆デューティ閾値検出回路１ａから出力されてくるＡＢＳ信号（異常信号）ａを入力端子ｃｋに入力し、ＡＢＳ信号（異常信号）ａの個数をカウント値としてカウントする機能を有しており、ＡＢＳ信号（異常信号）ａの出力回数（ＨｉｇｈレベルからＬｏｗレベルへの移行回数）が、あらかじめ定めた異常検出閾値（本実施形態では、３回の場合を示している）に達したか否かを計数する。
【００２９】
カウンタ２のカウント値が、該異常検出閾値に達した場合は、出力端子Ｑ３（カウント値が「３」を示す出力端子）からのフェイルセーフ（ｆａｉｌ  ｓａｆｅ）信号ｂをＨｉｇｈレベルに変化させることにより、ＣＰＵ２０をリセットする動作を起動するために、インバータ６を介して、フェイル（ｆａｉｌ）信号ｃを、Ｌｏｗレベルに変化させて出力する。ただし、カウンタ２のカウント値が、あらかじめ定めた時間が経過した時点で、前記異常検出閾値に達していなかった場合は、出力端子Ｑ３からのフェイルセーフ信号ｂはＬｏｗレベルを継続するとともに、カウント２のカウント値がリセットされて、改めて、カウンタ２のカウント値を「１」からカウントアップする初期状態に復帰する。
【００３０】
第１の投入回路３は、電源投入時に、ＣＰＵ２０を初期状態にリセットするために、あらかじめ定めた一定時間の間、Ｌｏｗレベルの信号をＡＮＤ回路５に入力する回路であり、カウンタ２からインバータ６を介して出力されてくるフェイル信号ｃとともに、ＲＥＳ信号(Ｒｅｓｅｔ：リセット信号)ｄとして、ＣＰＵ２０のリセット端子に入力される。
【００３１】
一方、第２の投入回路４は、電源投入時に、カウンタ２をリセットして初期化する機能を有し、カウンタ初期化信号すなわちＩＮＺ（Ｉｎｉｔｉａｌｉｚｅ）信号ｅをカウンタ２のＭＲ端子に入力することにより、カウンタ２内に保持されているカウント値などをリセットする。
【００３２】
次に、図１に示す電子制御回路１０の動作の一例を、図５に示すタイムチャートを用いて更に詳細に説明する。図５は、図１に示す本発明の電子制御回路１０の構成例における動作の一例を示すタイムチャートであり、前述した各信号ａ，ｂ，ｃ，ｄ，ｅ，ｆの出力タイミングの一例を示している。
【００３３】
まず、電源が投入されて、電源電圧Ｖｃｃが出力されてくると、第１の投入回路３の抵抗Ｒ１，コンデンサＣ１の時定数で設定される時間だけＬｏｗレベルとなる信号がＡＮＤ回路５に入力され、ＲＥＳ信号ｄとして、ＣＰＵ２０のリセット端子に入力される。この結果、ＣＰＵ２０は初期状態にリセットされる。同様に、電源電圧Ｖｃｃの立ち上がり時点で、第２の投入回路４の抵抗Ｒ２，コンデンサＣ２の時定数により決定されるパルス幅のカウンタ初期化信号すなわちＩＮＺ信号ｅがカウンタ２のＭＲ端子に入力され、カウンタ２も初期化される。
【００３４】
その結果、カウンタ２のＱ３端子（すなわち、カウント値「３」の出力端子）から出力されるフェイルセーフ信号ｂは、ＣＰＵ２０の異常がまだ検出されていない状態にあることを示すＬｏｗレベルに設定され、したがって、ＣＰＵ２０に対するリセットを起動するためのフェイル信号ｃも、リセットを指示していないＨｉｇｈレベルの状態に設定される。
【００３５】
しかる後、ＣＰＵ２０が動作を開始すると、Ｐ−ＲＵＮ信号（動作信号）ｆが、あらかじめ定めた周期で定期的に出力されて、ウォッチドッグ回路１のパルス周期＆デューティ閾値検出回路１ａに入力される。
【００３６】
ＣＰＵ２０から出力されるＰ−ＲＵＮ信号（動作信号）ｆのパルス周期あるいはデューティが、前述したような規定閾値の範囲内に収まっている限り、ウォッチドッグ回路１のパルス周期＆デューティ閾値検出回路１ａから出力されるＡＢＳ信号（異常信号）ａは、ＣＰＵ２０の異常状態を検出していない旨を示すＨｉｇｈレベルの状態が継続する。もって、カウンタ２はカウント値がリセットされた初期状態のままの状態になっている。
【００３７】
ここで、何らかの原因で、ＣＰＵ２０からのＰ−ＲＵＮ信号（動作信号）ｆのパルス周期あるいはデューティが、前述の図２や図３にて説明したような規定閾値の範囲内に収まっていない場合、たとえば、図５に示すように、Ｐ−ＲＵＮ信号（動作信号）ｆの出力が停止してしまったような場合、パルス周期＆デューティ閾値検出回路１ａは、ＣＰＵ２０に異常状態が発生したものと判定して、ＡＢＳ信号（異常信号）ａを一定時間の間Ｌｏｗレベルに変更した後Ｈｉｇｈレベルに復帰するパルス波形として、カウンタ２のｃｋ端子に対して出力する。
【００３８】
この結果、カウンタ２は、ＡＢＳ信号（異常信号）ａのＬｏｗレベルからＨｉｇｈレベルへの立ち上がり部によりカウントを行う動作が起動され、ＡＢＳ信号（異常信号）ａの発生回数として「１」をカウントする。ここで、カウンタ２は、前述したように、あらかじめ定めた異常検出閾値に達するような回数のＡＢＳ信号（異常信号）ａを受け取った場合に、ＣＰＵ２０をリセットする動作を起動する基になるフェイルセーフ信号ｂをＨｉｇｈレベルに変化させて出力する動作を行うものであり、図５の場合、該異常検出閾値として、前述のように、たとえば３回としている場合について示している。
【００３９】
図５のＰ−ＲＵＮ信号ｆのように、出力がまったく停止してしまったような場合、前記規定閾値の範囲内に収まらない状態が継続していることになり、図４で説明したように、パルス周期＆デューティ閾値検出回路１ａからのＡＢＳ信号（異常信号）ａは、あらかじめ規定された周期で、ＬｏｗレベルとＨｉｇｈレベルとを周期的に繰り返して出力される。
【００４０】
而して、カウンタ２は、繰り返して入力されてくるＡＢＳ信号（異常信号）ａのＬｏｗレベルからＨｉｇｈレベルへの立ち上がりによって、次々にカウントが行われ、前記異常検出閾値の３回に達する。
【００４１】
この結果、カウンタ２のＱ３端子からは、ＡＢＳ信号（異常信号）ａのＬｏｗレベルからＨｉｇｈレベルへの３回目の立ち上がり時点で、フェイルセーフ信号ｂをＨｉｇｈレベルに切り替えた信号が出力され、インバータ６を介してフェイル信号ｃがＬｏｗレベルに切り替えられる。なお、Ｑ３端子から出力されるフェイルセーフ信号ｂは、カウンタ２のラッチ用のＣＥバー入力端子にフィードバックされており、カウンタ２がこの状態でラッチされた状態になり、フェイルセーフ信号ｂがＨｉｇｈレベル、フェイル信号ｃがＬｏｗレベルの状態にラッチされる。
【００４２】
Ｌｏｗレベルにラッチされたフェイル信号ｃは、ＡＮＤ回路５を介して、ＬｏｗレベルのＲＥＳ信号ｄとして、ＣＰＵ２０のリセット端子を入力される。したがって、ＣＰＵ２０は、動作を強制的に停止したリセット状態が継続されることになる。
【００４３】
なお、前述したように、本実施例においては、カウンタ２の出力端子Ｑ３を用いることにより異常検出閾値が３回の場合について説明したが、カウンタ２の出力端子Ｑ１〜Ｑ９のいずれか任意の出力端子を用いることとすれば、あるいは、複数のカウンタ２をカスケード接続することにすれば、異常検出閾値として、任意の回数に設定することができ、任意に設定したＡＢＳ信号（異常信号）ａの発生回数で、ＣＰＵ２０をリセットするためのＲＥＳ信号ｄをＬｏｗレベルの状態にラッチして、ＣＰＵをリセットして停止させることにより、システム動作を停止させることができる。
【００４４】
したがって、ノイズ等の一過性の異常現象で、たまたま、ＣＰＵ２０からのＰ−ＲＵＮ信号（異常信号）ｆに異常が発生したとしても、発生回数が前記異常検出閾値に達しない限り、ＣＰＵ２０をリセットして停止させることはなく、安定したＣＰＵ動作を継続することができる。
（第２の実施形態）
次に、本発明による電子制御装置の第２の実施形態として、まず、本発明による電子制御装置のブロック構成の図１とは異なる例について説明する。図６は、本発明による電子制御装置のブロック構成の図１とは異なる例を示すブロック構成図であり、電子制御装置１０Ａと該電子制御装置１０Ａの監視対象であるＣＰＵ２０とを示している。図６に示す電子制御装置１０Ａは、詳細は後述するが、図１に示した電子制御装置１０にさらにカウンタラッチ回路７を追加して構成している。なお、図６に示す各回路において、図１とまったく同じ回路部については同じ符号を付しており、ここでのさらなる説明は省略する。
【００４５】
ＣＰＵ２０からは、図１の場合と同様に、正常な動作をしていることを示すＰ−ＲＵＮ信号（動作信号）ｆがあらかじめ定めた周期とデューティのパルスとして定期的に電子制御装置１０Ａに対して出力されており、電子制御装置１０Ａは、ＣＰＵ２０から定期的に出力されてくるＰ−ＲＵＮ信号（動作信号）ｆを常時監視して、ＣＰＵ２０をリセットすべき異常状態の発生を検出した場合には、ＣＰＵ２０に対してＲＥＳ信号（リセット信号）ｄを出力するように構成している。
【００４６】
しかし、ＣＰＵ２０の動作の異常状態の程度を示すカウンタ２の任意のカウント状態に対応して、システム動作を保護するために何らかの保護機構を行うことを必要とする場合、あらかじめ定めた任意のカウント値に達した際に、そのカウント状態をラッチし、そのカウント値に達したことを継続して示すラッチ信号を出力するラッチ手段をさらに備えている点が、図１の場合とは異なっている。
【００４７】
このため、図６の電子制御装置１０Ａの場合、カウンタラッチ回路７として、たとえば、システム動作を保護するための保護機構を動作させる必要がある個数分のラッチ回路を、カウンタ２の１乃至複数の任意のカウント値に対して、それぞれ、１乃至複数（図６の場合は、出力端子Ｑ３に接続したラッチ回路７ａ、出力端子Ｑ７に接続したラッチ回路７ｂの２個）備えている。このように、ＣＰＵ２０からのＰ−ＲＵＮ信号（動作信号）が第１の実施形態における図２や図３にて説明したような規定閾値の範囲内に収まっていない異常状態の発生回数すなわちＡＢＳ信号ａの発生回数をカウントするために設置されているカウンタ２において、たとえば、ＣＰＵ２０の異常状態の程度に応じてシステム動作モードを変更制御する保護機構（フェイルセーフ機構）を起動させたい場合、たとえば「１」〜「９」のそれぞれのカウント値に対応する出力端子Ｑ１〜Ｑ９のうち、ラッチを必要とするカウント値の出力端子のそれぞれに、ラッチ回路を１乃至複数接続するように構成する。
【００４８】
図６の場合は、前述のように、カウンタラッチ回路７として、カウンタ２のカウント値「３」を出力する出力端子Ｑ３に、ラッチ回路７ａを接続し、カウンタ２のカウント値「７」を出力する出力端子Ｑ７に、ラッチ回路７ｂを接続して、それぞれの出力をラッチする場合を示している。
【００４９】
なお、第１の実施形態で説明した異常検出閾値に達して、ＣＰＵ２０をリセットするＲＥＳ信号（リセット信号）ｄを起動する基になるフェイル信号ｃを生成するためのフェイルセーフ信号ｂを出力するカウンタ２の出力端子は、前述の第１の実施形態の図１に示す出力端子Ｑ３ではなく、ラッチ回路７ａ、ラッチ回路７ｂへ出力するカウント値「３」、「７」よりも、大きいカウント値「９」を出力する出力端子Ｑ９としている。すなわち、前記異常検出閾値として「９回」を設定している例を示している。
【００５０】
これは、第１の実施形態においても説明したように、フェイルセーフ信号ｂは、カウンタ２のラッチ用のＣＥバー入力端子にフィードバックされ、カウンタ２の状態をラッチすることにより、その結果として、ＣＰＵ２０に対してＲＥＳ信号（リセット信号）を継続的に出力して、ＣＰＵ２０を停止させた状態にフリーズしてしまうので、システム動作が一切停止してしまい、ラッチ回路７ａ、ラッチ回路７ｂの出力（すなわち、ラッチ回路７ａのラッチ出力信号ｇ、ラッチ回路７ｂのラッチ出力信号ｈ）を利用した保護機構も動作できなくなってしまうためである。
【００５１】
さらに、カウンタラッチ回路７として、カウンタ２の出力端子Ｑ１〜Ｑ９のいずれか必要な出力端子に接続されて、カウント値をラッチする各ラッチ回路の出力（図６の場合、ラッチ回路７ａのラッチ出力信号ｇ、ラッチ回路７ｂのラッチ出力信号ｈ）にあらかじめ定めた優先順位を付与する優先回路をさらに設けることにより、該優先回路を介して出力される各ラッチ回路のラッチ出力信号によって動作する、たとえばそれぞれの保護機構間に優先順序付けを行うことも可能である。
【００５２】
なお、かくのごときカウンタラッチ回路７は、カウンタ２の出力端子Ｑ１〜Ｑ９の１〜９回のＡＢＳ信号（異常信号）ａの発生回数に限るものではなく、カウンタ２を縦続接続することにより、９回を超える任意の回数であっても、該当する任意のカウント値の出力端子に接続することが可能であり、９回を超える発生回数に対しても対応することができる。また、前述のように、カウンタ２の１乃至複数の任意のカウント値に対して、必要に応じて、それぞれ、ラッチ回路を１乃至複数設置することも可能である。
【００５３】
次に、図６に示す電子制御回路１０Ａの動作の一例を、図７に示すタイムチャートを用いて更に詳細に説明する。図７は、図６に示す本発明の電子制御回路１０Ａの構成例における動作の一例を示すタイムチャートであり、前述した各信号ａ，ｄ，ｅ，ｆ，ｇ，ｈの出力タイミングの一例を示している。なお、フェイルセーフ信号ｂ、フェイル信号ｃについては、ここでの説明には不要であるので、簡素化を図って、その記載を削除している。
【００５４】
図７のタイムチャートにおいても、図５にて説明したように、何らかの原因で、ＣＰＵ２０からのＰ−ＲＵＮ信号（動作信号）ｆのパルス周期あるいはデューティが、前述の図２や図３にて説明したような規定閾値の範囲内に収まっていない場合、たとえば、図７に示すように、Ｐ−ＲＵＮ信号ｆの出力が停止してしまったような場合、パルス周期＆デューティ閾値検出回路１ａは、ＣＰＵ２０に異常状態が発生したものと判定して、ＡＢＳ信号（異常信号）ａを一定時間の間Ｌｏｗレベルに変更した後Ｈｉｇｈレベルに復帰するパルス波形として、カウンタ２のｃｋ端子に対して出力する。
【００５５】
この結果、カウンタ２は、ＡＢＳ信号（異常信号）ａのＬｏｗレベルからＨｉｇｈレベルへの立ち上がり部によりカウントを行う動作が起動され、ＡＢＳ信号（異常信号）ａの発生回数として「１」をカウントする。
【００５６】
図５における場合と同様、図７のＰ−ＲＵＮ信号（動作信号）ｆのように、出力がまったく停止してしまったような場合、前記規定閾値の範囲内に収まらない状態が継続していることになり、図４で説明したように、パルス周期＆デューティ閾値検出回路１ａからのＡＢＳ信号（異常信号）ａは、あらかじめ規定された周期で、ＬｏｗレベルとＨｉｇｈレベルとを周期的に繰り返して出力される。
【００５７】
而して、カウンタ２は、繰り返して入力されてくるＡＢＳ信号（異常信号）ａのＬｏｗレベルからＨｉｇｈレベルへの立ち上がり部によって、次々にカウントが行われ、カウンタ２のカウント値が３回に達すると、出力端子Ｑ３からのカウント値「３」の出力信号がラッチ回路７ａのｃｋ端子に入力されて、ラッチ回路７ａの出力端子Ｑから出力されるラッチ出力信号ｇは、ＬｏｗレベルからＨｉｇｈレベルにラッチされた状態になる。
【００５８】
しかる後、カウンタ２のカウント値が７回に達すると、今度は、出力端子Ｑ７からのカウント値「７」の出力信号がラッチ回路７ｂのｃｋ端子に入力されて、ラッチ回路７ｂの出力端子Ｑから出力されるラッチ出力信号ｈが、ＬｏｗレベルからＨｉｇｈレベルにラッチされた状態になる。
【００５９】
かくのごとく、Ｈｉｇｈレベルにラッチされたラッチ回路７ａのラッチ出力信号ｇ、ラッチ回路７ｂのラッチ出力信号ｈを用いて、それぞれに対応して、たとえば、所望する任意のシステム動作を保護するための保護機構を独立に動作させることも可能であるし、あるいは、ＣＰＵ２０の動作の異常状態に応じて、段階的に、所望する何らかの保護機構、たとえば、モータの暴走を防止するために、該モータの駆動電流を段階的に制限するような保護機構を動作させることも可能である。
【００６０】
すなわち、カウンタ２の各カウント値の出力端子Ｑ１〜Ｑ９に、ＣＰＵ２０の異常状態の程度を示すＡＢＳ信号ａの出力回数に応じて、必要な数だけ、ラッチ回路を接続し、カウンタ２のカウント出力をそれぞれラッチして、たとえば、それぞれに対応するシステム動作のフェイルセーフ動作を起動するために、それぞれのシステム動作の保護機構を動作させる構成も可能であるし、さらには、そのラッチ出力それぞれを優先回路を介してあらかじめ定めた優先順に出力することによって、たとえばシステム動作の保護機構に優先順位を持たせて段階的に制御する構成も可能である。
【００６１】
さらに、カウンタ２のカウント値が、前記異常検出閾値として設定されている９回に達すると、出力端子Ｑ９からのカウント値「９」がフェイルセーフ信号ｂとして出力されて、カウンタ２のラッチ用のＣＥバー端子にフィードバックされて、カウンタ２はラッチされた状態になる。一方、フェイルセーフ信号ｂは、インバータ６を介してフェイル信号ｃとされて、ＡＮＤ回路５に供給されており、ＡＮＤ回路５を経由して、ＲＥＳ信号（リセット信号）ｄがＨｉｇｈレベルからＬｏｗレベルに切り替わり、ＣＰＵ２０のリセット端子に入力される。ここで、カウンタ２がカウント値「９」でラッチされた状態にされているので、ＣＰＵ２０に対するＲＥＳ信号（リセット信号）ｄがＬｏｗレベルに維持されて、ＣＰＵ２０は、強制的にリセットされる状態が継続し、ＣＰＵ２０の動作を停止した状態になる。
【００６２】
次に、フェイルセーフ動作の対象とするシステム動作の一例として、ＣＰＵ２０の異常状態の程度を示すカウンタ値２のカウント値により、システム動作の保護機構の一例として、モータの駆動電流の大きさを段階的に制御する例について、図８、図９を用いて説明する。
【００６３】
ここに、図８は、本発明による電子制御装置のブロック構成の図６と異なる例を示すブロック構成図であり、図６における電子制御装置１０Ａの場合と異なり、カウンタラッチ回路７Ａとして、ラッチ回路７ｃ、ラッチ回路７ｄ、ラッチ回路７ｅと３個のラッチ回路が設置され、それぞれが、カウンタ２の出力端子Ｑ１、Ｑ２、Ｑ３に接続されている。すなわち、ラッチ回路７ｃは、カウンタ２のカウント値が「１」の場合にラッチ出力信号ｊを出力し、ラッチ回路７ｄは、カウンタ２のカウント値が「２」の場合にラッチ出力信号ｋを出力し、ラッチ回路７ｅは、カウンタ２のカウント値が「３」の場合にラッチ出力信号ｌを出力するように構成されている。
【００６４】
さらに、図８には、保護機構の一例として、カウンタラッチ回路７Ａからそれぞれ出力されるラッチ出力信号ｊ，ｋ，ｌにより、すなわち、システム全体の動作を制御するＣＰＵ２０の異常状態の程度を示すカウンタ値２のカウント値により、任意のシステム動作に関する保護動作を行う保護回路の一例として、電源４０から供給されるモータ５０に対する駆動電流の大きさを段階的に制御するモータ保護回路３０も例示している。
【００６５】
モータ保護回路３０は、電流を制限する制限量が異なる第１の電流制限回路３１と第２の電流制限回路３２とを備え、さらに、カウンタラッチ回路７Ａから出力されるラッチ出力信号ｊ，ｋ，ｌのそれぞれによりオン／オフされるスイッチ３３、スイッチ３４、スイッチ３５を備えている。本モータ保護回路３０においては、スイッチ３３、スイッチ３４、スイッチ３５により、各ラッチ出力信号ｊ,ｋ，ｌの発生源であるカウンタ２のカウンタ値に対応した、すなわち、カウンタラッチ回路７Ａへの出力となるカウンタ２のカウント値の「１」、「２」、「３」に対応したＣＰＵ２０の異常状態の発生程度に応じた優先回路が形成されており、ラッチ出力信号ｊ，ｋ，ｌの順に順次優先度が高くなっていくように構成されている。
【００６６】
なお、スイッチ３３の接点状態は、ラッチ出力信号ｊがＬｏｗレベルにある場合、ｍ側に、Ｈｉｇｈレベルにある場合、ｎ側に接続され、また、スイッチ３４の接点状態は、ラッチ出力信号ｋがＬｏｗレベルにある場合、ｐ側に、Ｈｉｇｈレベルにある場合、ｑ側に接続され、スイッチ３５の接点ｒの状態は、ラッチ出力信号ｌがＬｏｗレベルにある場合、ショート状態に、Ｈｉｇｈレベルにある場合、オープン状態にされる。
【００６７】
ここで、該モータ保護回路３０におけるスイッチ３３、スイッチ３４、スイッチ３５によるラッチ出力信号ｊ，ｋ，ｌの優先回路を、電子制御装置１０Ｂ内に内蔵することも可能であり、あらかじめ定めた優先順に応じて順序付けして、ラッチ出力信号ｊ，ｋ，ｌを電子制御装置１０Ｂから外部に設置したモータ保護回路のそれぞれの対応部に対して出力するように構成しても良い。
【００６８】
次に、図８の電子制御装置１０Ｂの動作例について、図９のタイムチャートを用いて説明する。ここに、図９は、図８に示す本発明の電子制御回路１０Ｂの構成例における動作の一例を示すタイムチャートであり、モータ保護回路３０に入力されてくるラッチ出力信号ｊ，ｋ，ｌによって、モータ４０に対する駆動電流を段階的に制限する動作について、以下に、順を追って説明する。
【００６９】
電源が投入された以降、ＣＰＵ２０が正常に動作している限り、定期的に出力されるＰ−ＲＵＮ信号（動作信号）ｆは、図２や図３で説明した規定閾値の範囲内に収まる状態で出力されているので、ＣＰＵ２０の異常を示すＡＢＳ信号（異常信号）ａは、Ｈｉｇｈレベルの状態を持続し、カウンタ２のカウント動作は行われない。したがって、カウンタ２の出力端子Ｑ１、Ｑ２、Ｑ３はＬｏｗレベルのままであり、その出力をそれぞれ入力しているラッチ回路７ｃ、ラッチ回路７ｄ、ラッチ回路７ｅのそれぞれのラッチ出力信号ｊ，ｋ，ｌもＬｏｗレベルのままである。
【００７０】
この状態では、モータ保護回路３０のスイッチ３３、スイッチ３４の各接点は、それぞれ、ｍ側、ｐ側に接続され、スイッチ３５の接点ｒはショート状態に設定されている。したがって、電源４０は、モータ保護回路３０をスルーにモータ５０に接続された状態にあり、ＣＰＵ２０が正常に動作している限り、電源４０からの正規のモータ駆動電流により、モータ５０が駆動されている。
【００７１】
ここで、何らかの要因により、定期的に出力されていたＰ−ＲＵＮ信号（動作信号）ｆが停止してしまうと、前記規定閾値の範囲内に収まっていない状態になり、かかる状態が続く限り、ＡＢＳ信号（異常信号）ａは、ＬｏｗレベルとＨｉｇｈレベルとの間を、あらかじめ定めた周期にて繰り返す動作を行う。この結果、カウンタ２は、カウント動作が起動され、「１」、「２」、「３」、…と順次カウントしていく。
【００７２】
カウンタ２が「１」をカウントした時点では、出力端子Ｑ１がＨｉｇｈレベルになるので、該出力端子Ｑ１に接続されているラッチ回路７ｃからのラッチ出力信号ｊがＨｉｇｈレベルにラッチされる。したがって、モータ保護回路３０のスイッチ３３の接点は、ｍ側からｎ側に切り替わり、電源４０は、第１の電流制限回路３１を経由して、モータ５０に接続される状態になる。この結果、正規のモータ駆動電流から制限量に応じて減少した駆動電流により、モータ５０が駆動されることになる。
【００７３】
さらに、カウンタ２が「２」をカウントした時点では、出力端子Ｑ２がＨｉｇｈレベルになるので、該出力端子Ｑ２に接続されているラッチ回路７ｄからのラッチ出力信号ｋがＨｉｇｈレベルにラッチされる。したがって、モータ保護回路３０のスイッチ３４の接点は、ｐ側からｑ側に切り替わり、電源４０は、スイッチ３３の状態如何によらず、第２の電源制限回路３２を経由して、モータ５０に接続される状態になる。このように、スイッチ３４の状態が、スイッチ３３の状態よりも優先されている。この結果、第１の電流制限回路３１を経由して制限されていたモータ駆動電流が、第２の電流制限回路３２によりさらに減少した駆動電流とされて、モータ５０が駆動されることになる。
【００７４】
しかる後、さらに、カウンタ２が「３」をカウントした時点では、出力端子Ｑ３がＨｉｇｈレベルになるので、該出力端子Ｑ３に接続されているラッチ回路７ｅからのラッチ出力信号ｌがＨｉｇｈレベルにラッチされる。したがって、モータ保護回路３０のスイッチ３５の接点ｒは、オープン状態になり、電源４０とモータ５０との接続は、スイッチ３３、スイッチ３４の状態如何によらず、遮断された状態になり、モータ５０は停止する。このように、スイッチ３５の状態が、スイッチ３３、スイッチ３４の状態よりも優先されている。
【００７５】
以上のように、ＣＰＵ２０の異常状態の検出回数すなわちＣＰＵ２０の異常状態の程度を示すカウンタ２のカウンタ値により、モータ保護回路３０における動作モードを制御することにより、ＣＰＵ２０の異常状態の程度に応じて、あらかじめ定めた優先順位を設けて、モータ５０に関する保護機構（フェイルセーフ機構）の動作モードを順次切り替えて、モータ５０の駆動電流を段階的に制御することが可能となる。
【００７６】
なお、かくのごとき保護機構（フェイルセーフ機構）は、前述のようなモータ５０の保護の場合に限るものではなく、所望する任意のシステム動作に対して保護回路を設置し、ＣＰＵ２０の異常状態の発生程度を示すカウンタ２のカウント値をラッチしたラッチ出力信号を用いることにより、任意のシステム動作に対して、ＣＰＵ２０の異常状態の発生程度に応じた保護動作（フェイルセーフ動作）を行わせることが可能である。
【００７７】
さらに、ラッチ出力信号として複数出力するように構成している場合、複数のラッチ出力信号それぞれに対する優先回路を設けることにより、システム動作に関する保護動作の程度を段階的に深化させていく（すなわち、あるシステム動作に対する保護レベルを、ＣＰＵ２０の異常状態の発生程度に応じて段階的に高めていく）ように構成することも可能である。
【図面の簡単な説明】
【００７８】
【図１】本発明による電子制御装置のブロック構成の一例を示すブロック構成図である。
【図２】本発明による電子制御装置のパルス周期＆デューティ閾値検出回路の動作の一例を説明するためのタイムチャートである。
【図３】本発明による電子制御装置のパルス周期＆デューティ閾値検出回路の動作の異なる例を説明するためのタイムチャートである。
【図４】本発明による電子制御装置のパルス周期＆デューティ閾値検出回路の動作のさらに異なる例を説明するためのタイムチャートである。
【図５】図１に示す本発明の電子制御回路の構成例における動作の一例を示すタイムチャートである。
【図６】本発明による電子制御装置のブロック構成の図１とは異なる例を示すブロック構成図である。
【図７】図６に示す本発明の電子制御回路の構成例における動作の一例を示すタイムチャートである。
【図８】本発明による電子制御装置のブロック構成の図６と異なる例を示すブロック構成図である。
【図９】図８に示す本発明の電子制御回路の構成例における動作の一例を示すタイムチャートである。
【符号の説明】
【００７９】
１…ウォッチドッグ回路、１ａ…パルス周期＆デューティ閾値検出回路、２…カウンタ、３…第１の投入回路、４…第２の投入回路、５…ＡＮＤ回路、６…インバータ回路、７，７Ａ…カウンタラッチ回路、７ａ，７ｂ，７ｃ，７ｄ，７ｅ…ラッチ回路、１０，１０Ａ…電子制御装置、２０…ＣＰＵ、３０…モータ保護回路、３１…第１の電流制限回路、３２…第２の電流制限回路、３３,３４，３５…スイッチ、４０…電源、５０…モータ。
【図１】
2007065961.tif 000003
【図２】
2007065961.tif 000004
【図３】
2007065961.tif 000005
【図４】
2007065961.tif 000006
【図５】
2007065961.tif 000007
【図６】
2007065961.tif 000008
【図７】
2007065961.tif 000009
【図８】
2007065961.tif 000010
【図９】
2007065961.tif 000011