(57)【特許請求の範囲】
【請求項１】
Ｎ個のフリップフロップを直列に接続してＮ−１段のフィルタを構成するデジタル信号のノイズフィルタであって、
選択信号に基づいて、１段からＮ−１段までのフィルタによってフィルタリングされた信号のうちから１つを選択してフィルタ出力信号を出力する選択部と、
前記選択部から出力される前記フィルタ出力信号上のパルス幅に基づいて、前記選択信号の値を変更して前記選択部による選択を変更させる波形チェック部と、
前記フィルタ出力信号上のパルスの最小幅を設定する最小パルス幅指定レジスタと、
を備え、
前記波形チェック部は、前記選択部から出力される前記フィルタ出力信号上のパルス幅を求める出力パルス幅カウンタと、
当該出力パルス幅カウンタによって求められたパルス幅に前記選択信号によって値が決定されるフィルタ値を加算した値と、前記最小パルス幅指定レジスタの設定値を比較する比較部と、
当該比較部による比較の結果、前記加算した値が前記最小パルス幅指定レジスタの設定値以上のとき、前記選択信号を変更するフィルタ出力切換カウンタと、
を有することを特徴とするノイズフィルタ。
【請求項２】
一定時間を計測し、当該特定時間経過後に前記フィルタの段数の最適化が完了していればセットされるフィルタ値最適化完了フラグを更に備えることを特徴とする請求項１に記載のノイズフィルタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル信号に用いるノイズフィルタに関する。
【背景技術】
【０００２】
現在さまざまな分野で、マイクロプロセッサが用いられているが、これらのプロセッサは、仕様環境等に応じて、デジタル信号入力に対してフィルタを通して信号を入力している。
【０００３】
例えば特許文献１では、車載用のコントローラのデジタル入力端子にコンデンサと抵抗器によって構成されたフィルタを設け、このフィルタを通して信号を入力している。
また特許文献２には、通信回路に入力されるシリアルデータに重畳されるパルス上のノイズを除去するためデジタル回路化したノイズフィルタを通信回路内に設ける構成が開示されている。
【０００４】
アナログ信号をデジタル回路で処理する際には、Ａ／Ｄ変換を行ってデジタル信号にする。
プロセッサが使用される回路では発生するノイズの低減を目的とするために、マイコンに入力されるアナログ信号の立上り／立下り遷移時間（Ｔｒ／Ｔｆ）は、急峻とはならない。
【０００５】
そのため、入力信号が、プロセッサの入力しきい値付近に留まる時間が長くなり、その間プロセッサ内部に伝わる入力信号はＬｏｗ／Ｈｉｇｈレベル繰り返されることとなる。
よってＧＰＩＯ（Ｇｅｎｅｒａｌ Ｐｕｒｐｏｓｅ Ｉｎｐｕｔ／ｏｕｔｐｕｔ）への入力信号や、その他エッジを検出する信号の入力として、上記の信号を使用すると誤動作が発生する。
【０００６】
図５は、この点を示す図である。
図５（ａ）は、入力されるアナログ入力信号を示し、同図（ｂ）は同図（ａ）のアナログ信号をＡ／Ｄ変換器によってＡ／Ｄ変換したものである。
【０００７】
同図（ｂ）に示すように、緩やかな信号をＡ／Ｄ変換すると、Ａ／Ｄ変換器を構成しているトランジスタのしきい値付近でトランジスタがＯＮ／ＯＦＦを繰り返して、内部検出入力信号１の立ち上がり／立下りエッジ近傍にノイズ２ａ、２ｂが生じる。
【特許文献１】特開２００３−２４７４５３号公報
【特許文献２】特開平１１−４１２９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記したノイズに対する対策としてはアナログ、またはデジタルのノイズフィルタを使用する。
デジタルのノイズフィルタでは、フィルタを通過する時間を一意に決めるのが一般的である。
【０００９】
しかしノイズの発生は、プロセッサが搭載される温度やプリント基板の状態等の環境要素や、動作速度等に依存するため、その除去時間を一意に決めることが出来ない。
本発明は、ノイズ除去時間をハードウエアにより決定し、プロセッサが使用される環境に最適なノイズ除去時間を決定することが出来るノイズフィルタ及びフィルタリング方法を提供することを課題とする。
【課題を解決するための手段】
【００１０】
本発明によるノイズフィルタは、Ｎ個のフリップフロップを直列に接続してＮ−１段のフィルタを構成するデジタル信号のノイズフィルタであることを前提とし、選択部及び波形チェック部を備える。
【００１１】
選択部は、選択信号に基づいて、１段からＮ−１段までのフィルタによってフィルタリングされた信号のうちから１つを選択してフィルタ出力信号を出力する。
波形チェック部は、前記選択部から出力される前記フィルタ出力信号上のパルス幅に基づいて、前記選択信号の値を変更して前記選択部による選択を変更させる。
この構成により、フィルタ出力信号上のパルス幅によって動的に、フィルタの段数を変更することが出来る。
【００１２】
また前記フィルタ出力信号上のパルスの最小幅を設定する最小パルス幅指定レジスタを更に備え、前記波形チェック部は、前記フィルタ出力信号上のパルス幅が、前記最小幅指定レジスタによって設定されているパルス幅以上のパルス幅でないとき、前記選択信号の値を変更して前記選択部による選択を変更させる公正としても良い。
【００１３】
この構成により、入力信号上の最小パルス幅が分かっていれば、その値を設定することが出来る。
更に、一定時間を計測し、当該特定時間経過後に前記フィルタの段数の最適化が完了していればセットされるフィルタ値最適化完了フラグを更に備える構成とすることも出来る。
【００１４】
この構成により、フィルタの段数の最適化が完了したことを認識することが出来る。
また前記波形チェック部は、前記選択部が前記選択信号の値をより段数の高いフィルタによってフィルタリングされた信号に変更するよう、前記選択信号を変更する構成とすることが出来る。
【００１５】
この構成により、段数が低いフィルタから順々に段数を上げてゆくので、最適な段数を設定することが出来る。
また本発明は、ノイズフィルタのみだけでなくノイズフィルタによるノイズのフィルタリング方法もその範囲に含む。
【発明の効果】
【００１６】
本発明によれば、入力信号上のノイズの幅に基づいて動的にフィルタの段数を切換えて対応するノイズ幅のフィルタに切換を行うことが出来る。
よって、最も少ない段数のフィルタに切換わるので、ノイズフィルタにより発生する、入力信号が内部回路に伝播する時間の遅れを最小限に抑えることが可能となる。
【００１７】
またフィルタの段数の切換えは、ハードウエアによって動的に行われ、ソフトウエアの介助無しに実現される。
ことが出来る。
【発明を実施するための最良の形態】
【００１８】
以下に本発明に係る一実施形態を図面を参照しながら説明する。
図１は、本実施形態におけるノイズフィルタ回路の構成例を示す図である。
同図に示すよう、本実施形態のノイズフィルタ回路は、エッジ検出のトリガ信号等を入力信号とするＡ／Ｄ変換回路から出力される信号を入力信号とし、内部クロック信号ＣＬＫに同期して動く、直列に接続した４段のＤフリップフロップ（以下ＦＦとする）１１〜１４を備えている。
【００１９】
そして、１段目のＦＦ１１の出力Ａと２段目のＦＦ１２の出力ＢのＡＮＤをＡＮＤ回路１５によって取って信号Ｘを生成し、また信号Ｘと３段目のＦＦ１３の出力ＣのＡＮＤをＡＮＤ回路１６によって取って信号Ｙを生成し、更に信号Ｙと４段目のＦＦ１４の出力ＤのＡＮＤをＡＮＤ回路１７によって取って信号Ｚを生成する。そしてこの信号Ｘ、Ｙ、及びＺを選択回路１８に入力する。
【００２０】
選択回路１８は、後述する波形チェック部１９からの選択信号ｓｅｌに基づいて、入力された２段目までの信号Ｘ、３段目までの信号Ｙ、及び４段目までの信号Ｚから１つを選択して出力信号ＯＵＴとして出力する。この出力信号ＯＵＴがフィルタ出力となる。
【００２１】
波形チェック部１９は、最小パルス幅設定レジスタ２０に設定された最小パルス幅以下のパルス幅の信号がフィルタ出力信号ＯＵＴから出力されているかどうかを監視し、最小パルス幅以下の値が出力されていたならば、後述する内部カウンタの値をインクリメントして選択信号ｓｅｌの値を変更し、選択回路１８の出力ＯＵＴを信号Ｘ−＞信号Ｙ、信号Ｙ−＞信号Ｚと変化させる。
【００２２】
これによって、適宜な段数のフィルタによって、設定された幅以下のパルスを除去することが出来る。
最小パルス幅指定レジスタ２０は、ユーザが入力信号の最低パルス幅を指定するもので、この最小パルス幅指定レジスタ２０に値を設定することにより、フィルタ通過後の最小のパルス幅を指定することが出来る。波形チェック部１９は、最小パルス幅指定レジスタ２０に設定された最小幅に満たないパルスが出力信号ＯＵＴとして出力された場合は、選択回路１８を制御してフィルタの段数をハードウエア的に増加させる。
【００２３】
フィルタ値最適化完了フラグ（ＳＴＡＴＵＳ  ＢＩＴ）２１は、一定時間内（例えば１ｍｓｅｃ）に最小パルス幅指定レジスタ２０に設定された最小パルス幅に満たないパルス幅を含む出力信号ＯＵＴが発生しないことを確認した場合にセットされ、フィルタ最適化処理実行中に、最小パルス幅に満たない入力幅を持つ信号の入力が発生した場合は、ステータスビットがクリアされるフラグである。プロセッサ等は、このフィルタ値最適化完了フラグ２１がセットされることによって、フィルタ最適化処理が完了したことを認識できる。
【００２４】
図２は、波形チェック部１９の構成を示す図である。
波形チェック部１９は、フィルタ出力信号ＯＵＴを入力とし、内部クロックＣＬＫに同期して動作する出力パルス幅カウンタ３１と、選択信号ｓｅｌの値に基づいて出力値として“３”、“２”若しくは“１”を出力する選択回路３２、出力パルス幅カウンタ３１から出力されるカウント値と選択回路３２から出力される値を加算する加算回路３３、加算回路３３から出力される加算結果と、最小パルス幅指定レジスタ２０にセットされている値を比較し、加算回路３３からの加算結果が最小パルス幅指定レジスタ２０にセットされている値以上になると出力する比較回路３４、及び内部クロックＣＬＫに同期して比較回路３４の値に基づいて選択信号ｓｅｌを０、１、２と出力するフィルタ出力加算カウンタ３５を有している。
【００２５】
初期状態として、選択信号ｓｅｌは０を示しており、図１の選択回路１８はフィルタ出力信号ＯＵＴとして信号Ｘを出力している。波形チェック部１９は、フィルタ出力信号ＯＵＴを監視し、最小パルス幅設定レジスタ２０に設定されている幅以下の幅のパルスが出力されないように、選択信号ｓｅｌによって選択回路１８を制御する。そしてフィルタ出力信号ＯＵＴが、最小パルス幅設定レジスタ２０に設定されている幅以下の幅のパルスを出力している場合、最小パルス幅設定レジスタ２０に設定されている幅以下の幅のパルスが出力しないように選択信号ｓｅｌを０−＞１、１−＞２と変化させてフィルタの段数を動的に切り換え、フィルタ出力信号ＯＵＴを信号Ｘ−＞信号Ｙ、信号Ｙ−＞信号Ｚと変化させ、フィルタの段数を順々に上げてゆく。
【００２６】
このような動作は、図２の回路において以下のように実現される。
まずフィルタ出力信号ＯＵＴが出力パルス幅カウンタ３１に入力されると、出力パルス幅カウンタ３１は、内部クロックＣＬＫに同期してフィルタ出力信号ＯＵＴがＨの期間カウントを行う。そしてこのカウント値に選択回路３２から出力される値（この場合、選択信号ｓｅｌの初期値が０なので１）を加算回路３４で加算し、この値と最小パルス幅設定レジスタ２０に設定されている値とを比較回路３４で比較する。この比較の結果、加算回路３３の出力が最小パルス幅設定レジスタ２０の設定値以上であるならば、比較回路３４はＨを出力し、これによりフィルタ出力切換カウンタ３５のカウント値が０から１にインクリメントされる。尚本例では、フィルタ出力切換カウンタ３５の出力である選択信号ｓｅｌは、０、１、２の値を取る。
【００２７】
これによりフィルタ出力がＹに、また選択回路３２の出力が１−＞２に変更され、以下同様に、フィルタ出力信号ＯＵＴに最小パルス幅設定レジスタ２０に設定されている幅以下の幅のパルスが乗っているかをチェックし、乗っている場合には、選択信号ｓｅｌを１−＞２に変更して、フィルタの段数を上げる。
【００２８】
このように、本実施形態では、波形チェック部１９が、フィルタ出力信号ＯＵＴ上のパルス幅を調べて、設定値以下のパルス、即ちノイズが乗っている場合には、ノイズが除去されるまで動的にフィルタの段数を上げてゆく。
【００２９】
図３は、フィルタ値最適化完了フラグ２１の構成を示す図である。
フィルタ値最適化完了フラグ２１は、内部クロックＣＬＫに同期して、カウント値Ｎをカウントダウンしてゆき、カウント値が０となり且つ入力信号を検出すると出力を行う動作時間監視カウンタ４１と、内部クロックＣＬＫに同期してフィルタ値最適化完了フラグ４１の出力値をラッチするＦＦ４２から構成される。
【００３０】
フィルタ値最適化完了フラグ２１は、フィルタの最適化処理が完了したかどうかを示すフラグで、このフィルタ値最適化完了フラグ２１がＯＮとなっていれば、フィルタ幅の最適化がなされたものとみなし、またＯＦＦとなっていれば処理中であるか、若しくは最適化に失敗したことを示し、失敗の場合には最適化処理の再実行等の後処理を行う。
【００３１】
図４は、本実施形態におけるノイズフィルタ回路の各信号のタイミングを示すタイミングチャートである。
同図は、具体的な例として、最小パルス幅設定レジスタ２０に４が設定（入力信号として内部クロックＣＬＫの３サイクル分より大きな幅を持つ信号を指定）されており、入力信号に乗っている内部クロックＣＬＫの２サイクル幅（１サイクル以上２サイクル未満）のノイズが除去される例を示している。
【００３２】
同図のように２サイクル幅のノイズが乗った入力信号が入力されると、これはＦＦ１１に入力され、ＦＦ１１は同図の信号Ａを出力する。以下、２段目のＦＦ１２、３段目のＦＦ１３、及び４段目のＦＦ１４は、それぞれ信号Ａを内部クロックＣＬＫの１サイクル分ずつ遅延させた信号Ｂ、Ｃ、及びＤを出力する。そしてこのＦＦ１１〜ＦＦ１４の出力信号Ａ〜Ｄからフィルタ出力信号ＯＵＴとなる信号Ｘ、Ｙ、Ｚを生成する。同図に示したように、信号Ｘは、信号ＡとＢのＡＮＤを取った信号、信号Ｙは信号Ａ、Ｂ及びＣのＡＮＤを取った信号、信号Ｚは信号Ａ、ＢＣ、及びＤのＡＮＤを取った信号となる。
【００３３】
尚初期状態としては、選択信号ｓｅｌは０であり、一番段数が少ない信号Ｘがフィルタ出力信号ＯＵＴとして選択されている。
この状態において、波形チェック部１９の出力パルス幅カウンタ３５は、フィルタ出力信号ＯＵＴ（このときは信号Ｘ）に、最小パルス幅指定レジスタ２０の設定値（このとき設定値は４、即ち入力信号のパルス幅は３ＣＬＫより大きいことが設定されている）より小さなパルス幅のパルスが乗っているので、カウンタ値をインクリメントして選択信号ｓｅｌを０−＞１に変更する。これによりフィルタ出力信号ＯＵＴは信号Ｘから信号Ｙに切換わる。
【００３４】
この状態で、フィルタ出力信号ＯＵＴのパルス幅に基づいて出力パルス幅カウンタ３１がカウントしてゆくと、カウント値は２となり、加算回路の加算値は（カウント２）＋（選択回路の出力であるフィルタ値２）＝４となり、最小パルス幅指定レジスタ２０の設定値４以上なのでフィルタ出力切換カウンタ３５はカウントアップされず選択信号ｓｅｌは１のままとなる。よってフィルタ出力信号ＯＵＴは、段数が３段の信号Ｙが出力される。そしてまた、動作時間監視カウンタが内部動作クロックＣＬＫをＮまでカウントすると、フィルタ最適化完了フラグ（ＳＴＡＴＵＳ  ＢＩＴ）２１をセットする。
【００３５】
このように本実施形態におけるノイズフィルタでは、入力信号上のノイズの幅に基づいて動的にフィルタの段数を切換えて対応するノイズ幅のフィルタに切換を行うことが出来る。
【００３６】
よって、最も少ない段数のフィルタに切換わるので、フィルタの段数を多くすることによって生じるノイズ除去時間のペナルティを最小限に抑えることができる。
またフィルタの段数の切換えは、ハードウエアによって動的に行われ、ソフトウエアの介助無しに実現されるので、実行速度が速くなる。
【００３７】
尚上記例では、フィルタの段数を４段で構成したが、本実施形態におけるノイズフィルタはこれに限定されるものではなく、３段の構成としても、或いは５段以上の構成としても良い。
【００３８】
（付記１）
Ｎ個のフリップフロップを直列に接続してＮ−１段のフィルタを構成するデジタル信号のノイズフィルタであって、
選択信号に基づいて、１段からＮ−１段までのフィルタによってフィルタリングされた信号のうちから１つを選択してフィルタ出力信号を出力する選択部と、
前記選択部から出力される前記フィルタ出力信号上のパルス幅に基づいて、前記選択信号の値を変更して前記選択部による選択を変更させる波形チェック部と、
を備えることを特徴とするノイズフィルタ。
【００３９】
（付記２）
前記フィルタ出力信号上のパルスの最小幅を設定する最小パルス幅指定レジスタを更に備え、
前記波形チェック部は、前記フィルタ出力信号上のパルス幅が、前記最小幅指定レジスタによって設定されているパルス幅以上のパルス幅でないとき、前記選択信号の値を変更して前記選択部による選択を変更させることを特徴とする付記１に記載のノイズフィルタ。
【００４０】
（付記３）
前記波形チェック部は、前記選択部から出力される前記フィルタ出力信号上のパルス幅を求める出力パルス幅カウンタと、
当該出力パルス幅カウンタによって求められたパルス幅に前記選択信号によって値が決定されるフィルタ値を加算した値と、前記最小パルス幅指定レジスタの設定値を比較する比較部と、
当該比較部による比較の結果、前記加算した値が前記最小パルス幅指定レジスタの設定値以上のとき、前記選択信号を変更するフィルタ出力切換カウンタと、
を有することを特徴とする付記２に記載のノイズフィルタ。
【００４１】
（付記４）
一定時間を計測し、当該特定時間経過後に前記フィルタの段数の最適化が完了していればセットされるフィルタ値最適化完了フラグを更に備えることを特徴とする付記１乃至３のいずれか１つに記載のノイズフィルタ。
【００４２】
（付記５）
ｎ段のフィルタによってフィルタリングされた信号は、１段目の前記フリップフロップからｎ＋１段目までのフリップフロップの出力のＡＮＤを取って生成することを特徴とする付記１乃至４のいずれか１つに記載のノイズフィルタ。
【００４３】
（付記６）
前記波形チェック部は、前記選択部が前記選択信号の値をより段数の高いフィルタによってフィルタリングされた信号に変更するよう、前記選択信号を変更することを特徴とする付記１乃至５のいずれか１つに記載のノイズフィルタ。
【００４４】
（付記７）
Ｎ個のフリップフロップを直列に接続してＮ−１段のフィルタを構成するデジタル信号のノイズフィルタによるノイズのフィルタリング方法であって、
選択信号に基づいて、１段からＮ−１段までのフィルタによってフィルタリングされた信号のうちから１つを選択してフィルタ出力信号を出力し、
前記出力される前記フィルタ出力信号上のパルス幅に基づいて、前記選択信号の値を変更して前記選択部による選択を変更させる
ことを特徴とするノイズのフィルタリング方法。
【図面の簡単な説明】
【００４５】
【図１】本実施形態におけるノイズフィルタ回路の構成例を示す図である。
【図２】波形チェック部の構成を示す図である。
【図３】フィルタ値最適化完了フラグの構成を示す図である。
【図４】本実施形態におけるノイズフィルタ回路の各信号のタイミングを示すタイミングチャートを示す図である。
【図５】（ａ）は、入力されるアナログ入力信号を示し、（ｂ）はＡ／Ｄ変換した信号を示す図である。
【符号の説明】
【００４６】
１１、１２、１３、１４、４２  フリップフロップ
１５、１６、１７  ＡＮＤ回路
１８、３２  選択回路
１９  波形チェック回路
２１  最小パルス幅指定
３１  出力パルス幅カウンタ
３３  加算回路
３４  比較回路
３５  フィルタ出力切換カウンタ
４１  動作時間監視カウンタ
【図１】
0005140915.tif 000002
【図２】
0005140915.tif 000003
【図３】
0005140915.tif 000004
【図４】
0005140915.tif 000005
【図５】
0005140915.tif 000006