(57)【特許請求の範囲】
【請求項１】
トリガ入力を有する１つのキャプチャレジスタと、前記キャプチャレジスタとバスを介して接続した第１のタイマとを有し、前記キャプチャレジスタは、トリガ信号の入力で第１のタイマの値をラッチして割り込み要求信号を処理装置へ出力し、前記処理装置にラッチしたタイマ値を読み込ませるようにするとともに、前記第１のタイマと処理装置を接続して、
前記割り込み要求信号が発生すると、前記処理装置は、キャプチャレジスタのラッチした第１のタイマの値を読込み、その読み込んだ値と第１のタイマから直接処理装置が読み込んだ値とを比較し、その比較結果から故障を検出するインプットキャプチャ回路の故障検出方法。
【請求項２】
上記第１のタイマと処理装置の接続に換えて、上記第１のタイマと同じ発振源と接続された第２のタイマを設けて処理装置と接続し、上記割り込み要求信号が発生すると、前記処理装置が第２のタイマの値を読み込み、読み込んだ第２のタイマの値と、第１のタイマの値をラッチしたキャプチャレジスタの値を読み込んで比較し、その比較結果から前記キャプチャレジスタの故障を検出する請求項１に記載のインプットキャプチャ回路の故障検出方法。
【請求項３】
上記第１または第２のタイマの値を読み込み、その読み込んだ値とインプットキャプチャ回路のキャプチャレジスタの値とを比較した際、両者の差が所定以上の値であると、故障と判定するようにした請求項１または２に記載のインプットキャプチャ回路の故障検出方法。
【請求項４】
上記処理装置に、トリガ信号による割り込みを含む複数の割り込み要求信号が発生した際、第１または第２のタイマの値を優先して読み込むようにした請求項１乃至３のいずれか一つに記載のインプットキャプチャ回路の故障検出方法。
【請求項５】
上記キャプチャレジスタと第１または第２のタイマの値とを比較して故障を検出する際、検出した故障回数が所定の数に達すると、故障と判定するフィルタリング処理を行う請求項１乃至４のいずれか一つに記載のインプットキャプチャ回路の故障検出方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、インプットキャプチャ回路の故障検出方法に関するものである。
【０００２】
【従来の技術】
回転速度や移動速度を測定する際によく用いられる回路としてインプットキャプチャ回路（以下、キャプチャ回路）がある。
【０００３】
キャプチャ回路は、タイマとインプットキャプチャレジスタとで構成され、キャプチャレジスタは、トリガ信号が入力するごとに前記タイマの値をラッチする。そして、先にラッチしたタイマ値から後にラッチしたタイマ値を引くことにより、トリガ周期を測定できるというものである。
【０００４】
このように、キャプチャ回路はトリガ信号の時間計測を簡単かつ正確に行えるので、これを利用して回転速度や移動速度を測定することができる。そのため、正確さの要求される例えば、ＡＢＳ（アンチロックブレーキシステム）装置の車輪速度測定回路などにも使用されている。
【０００５】
ところで、上記のＡＢＳ装置に用いられるキャプチャ回路では、キャプチャレジスタの故障（ビットの「０」、「１」固着など）や周辺のバスラインの故障（タイマとキャプチャレジスタのバスラインのオープン、ショートなど）が発生すると、正確な時間計測を行うことができず、最悪の場合ブレーキが効かなくなる可能性がある。
【０００６】
そこで、安全上の観点から例えば図６に示すように、測定系を２重にして両回路のキャプチャレジスタＲの値を読み込んで差がないかを検出する（２重系方式）方法や、図７に示すように、キャプチャレジスタＲにタイマＴ値の読み込み用のバスＢ１とは別に書き込み用のバスＢ２を設け、バスＢ２を使って外部からチェック用のデータをキャプチャレジスタＲに書き込み、それを読み出してチェックする（ライト／リード方式）などの故障検出方法が行われている。
【０００７】
また、これらとは別の方法として、図８に示す特開平５−７３３３７号の方法が考えられている。この方法は、故障検出用の割り込み発生手段Ｉを設け、この発生手段Ｉから処理装置ＰがキャプチャレジスタＲのタイマＴの値を読み取ると同時に、割り込み信号を発生し、その割り込み信号でタイマＴの値をキャプチャレジスタＲに記憶させることで、この記憶したタイマＴ値と先に読み込んだ値との差が所定内にあるかを見てキャプチャレジスタが正常かどうかをチェックするという方法である。
【０００８】
【発明が解決しようとする課題】
しかしながら、上記の２重系にする方法では、回路規模が大きくなり、コストが高くなるという問題があった。
【０００９】
また、バスを設けてキャプチャレジスタに故障検出用のデータを書き込む方法では、例えば、キャプチャレジスタの検査は行えるが、タイマとキャプチャレジスタ間のバスの検査が行えないという問題がある。
【００１０】
さらに、割り込み発生手段を設けたものでは、検査の際、処理装置によって割り込み発生手段から割り込み信号を発生させ、タイマの値をキャプチャレジスタに記憶させてチェックを行うため、例えば、この方法をＡＢＳ装置に適用した場合、検査のための割り込みと本来の車輪速検出のための割り込みとを識別する必要があり、本来の車輪速検出のための割り込みが明らかに発生しない停車中にしか検査が行えないという問題がある。
【００１１】
そこで、この発明の課題は、回路規模を大きくすることなく低コストで故障検出が行え、さらに、タイマ及びタイマとキャプチャレジスタ間のバスラインの故障の検出も行うことができ、しかも、本来の割り込み信号と混同する可能性のある故障検出用の割り込み信号を必要としない方法を提供することである。
【００１２】
【課題を解決するための手段】
上記の課題を解決するため、請求項１では、トリガ入力を有する１つのキャプチャレジスタと、前記キャプチャレジスタとバスを介して接続した第１のタイマとを有し、前記キャプチャレジスタは、トリガ信号の入力で第１のタイマの値をラッチして割り込み要求信号を処理装置へ出力し、前記処理装置にラッチしたタイマ値を読み込ませるようにするとともに、前記第１のタイマと処理装置を接続して、前記割り込み要求信号が発生すると、前記処理装置は、キャプチャレジスタのラッチした第１のタイマの値を読込み、その読み込んだ値と第１のタイマから直接処理装置が読み込んだ値とを比較し、その比較結果から故障を検出する構成を採用したのである。
【００１３】
このような方法を採用することにより、通常行うインプットキャプチャレジスタの値の読み込みと同時に、タイマの値を読み込むことによって、多少の時間差はあるが両者の差の値を評価して（インプットキャプチャレジスタの値とタイマの値が非常に近い値になることを利用して）故障を検出する。
【００１４】
このとき、請求項２では、第１のタイマと処理装置の接続に換えて、上記第１のタイマと同じ発振源と接続された第２のタイマを設けて処理装置と接続し、上記割り込み要求信号が発生すると、前記処理装置が第２のタイマの値を読み込み、読み込んだ第２のタイマの値と、第１のタイマの値をラッチしたキャプチャレジスタの値を読み込んで比較し、その比較結果から前記キャプチャレジスタの故障を検出する構成を採用したのである。
【００１５】
このような方法を採用することにより、キャプチャ回路が発生する割り込み要求信号によって通常行うキャプチャレジスタの値の読み込みと同時に、第２のタイマの値を読み込む処理を追加し、その読み込んだ両者の値を比較することにより、キャプチャレジスタ及び周辺バスとタイマの検査を同時に行うことができる。
【００１６】
このとき、両タイマの基準発振源を共通にすることで、両方のタイマの値は同じになるはずである。そのため、キャプチャレジスタの値と第２のタイマの値とを比べて差が生じていれば、キャプチャレジスタと第１及び第２のタイマ、また、第１と第２のタイマとそれらの周辺のバスの故障の検出ができる。
【００１７】
また、このとき、キャプチャレジスタとタイマの値とは、バスの衝突を回避するため、いずれか一方を読み込んだ後、他方を読み込むことになるので、読み込む際に時間遅れを生じて多少の時間差ができるが、その誤差によるキャプチャレジスタとタイマの差は非常に小さな値となるので、故障の検出ができる。
【００１８】
請求項３では、第１または第２のタイマの値を読み込み、その読み込んだ値とインプットキャプチャ回路のキャプチャレジスタの値とを比較した際、両者の差が所定以上の値であると、故障と判定するようにした方法を採用することにより、所定値によって上記のキャプチャレジスタと第１または第２のタイマの値とを読み込んだ際に生じる時間差を予め誤差として折り込むことができるので、正確な検出が行える。
【００１９】
このとき、請求項４では、上記処理装置に、トリガ信号による割り込みを含む複数の割り込み要求信号が発生した際、第１または第２のタイマの値を優先して読み込むようにした方法を採用することにより、複数の割り込みが発生しても第１または第２のタイマの値を読み込むことで、割り込み処理による読み込みの遅れを小さくできるので、正確な検出が行える。
【００２０】
さらに、請求項５では、上記キャプチャレジスタと第１または第２のタイマの値とを比較して検出する際、検出した故障回数が所定の数に達すると、故障と判定するフィルタリング処理を行うという方法を採用したことにより、フィルタリング処理によって、例えば、外部からの電気ノイズなどにより一過性の誤動作を起こしても故障の検出が所定の回数を越えないので故障と判定しない。逆にキャプチャレジスタやタイマ及びバスなどに故障が起きると、故障の検出が所定の回数を越えて起きるので、故障を検出することができる。
【００２１】
【発明の実施の形態】
以下、この発明の実施の形態を図面に基づいて説明する。
【００２２】
図１に示すように、この形態のキャプチャ回路は、第１と第２の二つのタイマＴ１，Ｔ２、キャプチャレジスタＲ、基準クロック発振器Ｆとで構成されている。
【００２３】
第１と第２のタイマＴ１，Ｔ２は、基準クロック発振器Ｆと接続され、共通のクロック信号φが入力される。
【００２４】
前記第１のタイマＴ１はキャプチャレジスタＲとバスＢ１で接続され、計数値を出力する。
【００２５】
また、第２のタイマＴ２は、例えば、マイクロコンピュータなどの処理装置Ｐと接続され、計数値を出力するようになっている。
【００２６】
一方、キャプチャレジスタＲには、被測定信号がトリガ信号τとして入力され、第１のタイマＴ１の計数値をラッチする。また、このラッチと同時に割り込み要求信号ｑを前記処理装置Ｐに出力し、出力した割り込み要求信号ｑによって前記キャプチャレジスタＲがラッチした計数値を読み込むようになっている。
【００２７】
この形態は以上のように構成されており、次に、その作用を述べることにより、この発明の故障検出方法について述べる。
【００２８】
このように構成されるキャプチャ回路の第１と第２のタイマＴ１，Ｔ２は、基準クロック発振器Ｆから入力される同一のクロック信号φを計数して計時を行う。また、このように計時した第１のタイマＴ１の計数値は、トリガ信号τが入力するごとにキャプチャレジスタＲが読み込む。
【００２９】
こうしてトリガ信号τが入力するごとに、キャプチャレジスタＲが計数値を読み込むと、例えば、処理装置Ｐは図２（ａ），（ｂ）に示す手順に従い、三つの内部レジスタＡ，Ｂ，Ｃを使用して故障の検出を行う。
【００３０】
すなわち、この検出処理は、処理装置ＰがキャプチャレジスタＲの値と第２のタイマＴ２の値を読み込む「割り込みルーチン」と、読み込んだ値を用いて故障の検出を行う「メインルーチン」とで構成されている。
【００３１】
前記割り込みルーチンは、キャプチャレジスタＲがトリガ信号τによって第１のタイマＴ１の値を読み込んだ際に出力する割り込み要求信号ｑで起動される（「処理」１００：以下「処理」省略）。
【００３２】
割り込みルーチンでは、まず、第２のタイマＴ２の値を内部レジスタＡに転送し（１１０）、次いでキャプチャレジスタＲの値を内部レジスタＢへ転送して（１２０）、処理を終了する（１３０）。このような転送処理により、ほぼ同時点での第１と第２のタイマＴ１，Ｔ２の計数値を読み込むようにしてある。
【００３３】
一方、メインルーチンは、周期的に以下の処理を繰り返す（２００）。
【００３４】
まず、内部レジスタＡと内部レジスタＢの差を求める（２１０）。この差を求めることにより、割り込みルーチンで読み込んだ第２のタイマＴ２とキャプチャレジスタＲの値の差を求めることができる。このとき算出される差は、基準クロックφを共通化し、第１と第２のタイマＴ１，Ｔ２が同一の周波数と周期のクロック信号を計数するようにしているので、読み込み処理時間を別にすると０のはずである。
【００３５】
そのため、算出した差を読み込み処理時間などの許容誤差を評価して予め設定した所定値と比較することにより、許容差よりも差があれば故障を検出できる（２２０）。
【００３６】
ところで、このように、検出を行う場合、サージなどの外部からの電気ノイズにより、第１と第２のタイマＴ１，Ｔ２、キャプチャレジスタＲの計数データや転送データなどに誤りを生じる場合が考えられる。そのため、この形態では、メインルーチンに内部レジスタＣを用いたフィルタ処理（２３０，２４０）を付与して検出精度を向上させるようにしてある。
【００３７】
すなわち、フィルタ処理（２３０）では、前記差を所定値と比較した結果、所定値の方が大きな場合は内部レジスタＣに１を加算する。逆に、所定値の方が小さな場合は、フィルタ処理（２４０）により、内部レジスタＣから１を減算する。そして、内部レジスタＣの値を所定の判定数と比較し（２５０）、判定数よりも内部レジスタＣの値が下回っている間は故障でないと判定し（２７０）、故障回数が上回ると故障と判定する（２６０）。
【００３８】
このようにすれば、故障判定が複数回続いた場合にのみ故障と判定できるので、誤差を排除して検出精度を向上できる。
【００３９】
このように、この検出方法は、キャプチャレジスタＲの値と第１と第２のタイマ値Ｔ１，Ｔ２とが非常に近い値であることを利用して（両者の差の値を評価して）故障の検出を行うため、回路規模を大きくすることなく低コストで故障検出が行える。
【００４０】
また、第１のタイマＴ１の値をラッチしたキャプチャレジスタＲの値を読み込んで故障を検出するので、第１のタイマＴ１及び第１のタイマＴ１とキャプチャレジスタＲ間のバスＢ１の故障検出も行うことができる。
【００４１】
さらに、第２のタイマＴ２を設けたことにより、本来の割り込み信号と混同する可能性のある故障検出用の割り込み信号を必要としないので、故障の検出が常時行える。
【００４２】
次に、第２実施形態として図３に示すように、第２のタイマＴ２を読み込む処理を分離し、この処理のみを行う割り込み処理Ａを新たに追加（その他の割り込み処理をＢとする）したものについて述べる。
【００４３】
すなわち、この形態は、図３に示すように、例えば、キャプチャ回路の割り込み要求時、割り込み処理ルーチンＡに遷移し、Ａが終了後に割り込み処理Ｂに遷移する構成とすることにより、割り込み処理ＡをＢを含む他の割り込み処理に比べ優先順位の高い設定にしてある（メインルーチンは第１実施形態と同じもの）。
【００４４】
このように構成したキャプチャ回路は、動作状態に起因するキャプチャレジスタＲの読み込みと第２のタイマＴ２の読み込みの時間差に関する問題（第１実施形態参照）を解決することができる。
【００４５】
例えば、図４に示すように、複数の割り込みがほぼ同時に連続して入力（この形態では、処理装置Ｐの入力はポジティブエッジ入力としてある）された場合、入力１，２の割り込み処理時間がかかる分、入力３に対する割り込み処理のタイミングに遅れが発生する。その結果として、入力３を第２のタイマＴ２のタイマ値を読み込む割り込み入力であったとすると、処理装置Ｐが読み込むキャプチャレジスタＲの値と第２のタイマＴ２の値が差が大きくなってしまう。
【００４６】
このため、このことを想定して図２（ｂ）の”処理２２０”の許容誤差を大きく設定すると、実際の故障時の故障検出能力に限界ができてしまい精度が悪化する。
【００４７】
一方、第２のタイマＴ２を読み込む処理を分離したこの形態のものでは、図５に示すように、複数の割り込み信号がほぼ同時に連続して入力されると、まず、それぞれのエッジに対応する第２のタイマ値Ｔ２を読み込んだのち、他の割り込み処理Ｂを実行する。そのため、第２のタイマＴ２の値を読み込むタイミング遅れを極めて小さくできるので、精度の低下を防止できる。
【００４８】
このように、この発明のインプットキャプチャ回路の故障検出方法は、第２のタイマＴ２を設けるだけなので、回路規模を大きくすることなく低コストで故障検出が行え、しかも、バスＢ１の故障の検出も行える。また、本来の割り込み信号と混同する可能性のある故障検出用の割り込み信号を必要とせず、故障の検出も常時行える。
【００４９】
なお、上記形態では、第２のタイマＴ２を設けたものについて述べたが、キャプチャレジスタあるいはタイマＴ１のいずれかの故障のみを検出するのであれば、第２のタイマＴ２を設けずに、図１に示すように、直接処理装置Ｐが第１のタイマＴ１のタイマ値を割り込み要求信号の発生で読み込む構成を採用することもできる。
【００５０】
その作用効果については、第１および第２実施形態と同じなので、説明は省略する。
【００５１】
このように、この検出方法は、低コストで、かつ、タイマＴ１及びタイマＴ１とキャプチャレジスタＲ間のバスＢ１ラインの故障の検出も行え、しかも、キャプチャレジスタＲがタイマ値を読み込む度に常時故障を検出できる優れた故障検出能力を有するので、例えば、ＡＢＳ（アンチロックブレーキシステム）装置の車輪速度入力回路など、万が一にも故障が許されないような所で使用されるインプットキャプチャ回路に用いるのに最適である。
【００５２】
【発明の効果】
この発明は以上のように構成し、タイマ回路の値を直接読み込んでキャプチャレジスタの値と比較するようにしたので、故障検出を回路規模を大きくすることなく低コストで行え、かつ、タイマ及びタイマとキャプチャレジスタ間のバスラインの故障の検出も行うことができ、しかも、本来の割り込み信号と混同する可能性のある故障検出用の割り込み信号を必要としないインプットキャプチャ回路の故障検出方法を提供することができる。
【図面の簡単な説明】
【図１】第１実施形態のブロック図
【図２】（ａ）第１実施形態のフローチャート
（ｂ）第１実施形態のフローチャート
【図３】第２実施形態の作用説明図
【図４】第２実施形態の作用説明図
【図５】第２実施形態の作用説明図
【図６】従来例のブロック図
【図７】従来例のブロック図
【図８】従来例のブロック図
【符号の説明】
Ｂ１  バス
Ｂ２  バス
Ｆ  基準クロック発振器
Ｐ  処理装置
Ｒ  キャプチャレジスタ
Ｔ１  第１のタイマ
Ｔ２  第２のタイマ
τ  トリガ信号
φ  クロック
ｑ  割り込み要求信号
【図１】
0003918276.tif 000002
【図２】
0003918276.tif 000003
【図３】
0003918276.tif 000004
【図４】
0003918276.tif 000005
【図５】
0003918276.tif 000006
【図６】
0003918276.tif 000007
【図７】
0003918276.tif 000008
【図８】
0003918276.tif 000009