(57)【要約】【課題】ノイズが発生する状況においても端子電圧の電圧レベルを正確に判定すること。【解決手段】デジタルフィルタ１は、入力端子Ｐ１の端子電圧のサンプリングにおいて、電圧レベルごとに端子電圧のサンプリング回数をカウントするサンプリングカウンタ１０と、電圧レベルごとのサンプリング回数を用いて端子電圧の統計処理を行う統計処理部２０と、統計処理結果を用いて入力信号の検出を行い、入力信号を検出すると入力検出信号を出力する判定処理部３０と、を備えている。【選択図】図１
2020137043.tif 000002
【特許請求の範囲】
【請求項１】
入力端子の端子電圧のサンプリングにおいて、電圧レベルごとに前記端子電圧のサンプリング回数をカウントするサンプリングカウンタと、
前記電圧レベルごとの前記サンプリング回数を用いて前記端子電圧の統計処理を行う統計処理部と、
統計処理結果を用いて入力信号の検出を行い、前記入力信号を検出すると入力検出信号を出力する判定処理部と、
を備えている、
デジタルフィルタ。
【請求項２】
請求項１に記載のデジタルフィルタにおいて、
前記統計処理部は、前記統計処理結果として、前記端子電圧の前記電圧レベルの期待値及び標準偏差を算出する、
デジタルフィルタ。
【請求項３】
請求項２に記載のデジタルフィルタにおいて、
前記統計処理部は、算出した前記期待値及び前記標準偏差を用いたベイズ統計により前記統計処理を行う、
デジタルフィルタ。
【請求項４】
請求項２に記載のデジタルフィルタにおいて、
前記入力信号の検出に関する判定条件を格納する判定条件設定レジスタを備え、
前記判定処理部は、前記統計処理結果と前記判定条件とを用いて前記入力信号を検出する、
デジタルフィルタ。
【請求項５】
請求項４に記載のデジタルフィルタにおいて、
前記判定条件は、前記入力信号の電圧レベルを示す入力検出レベルと、前記端子電圧の真の電圧レベルの判定に用いられる第１閾値と、前記端子電圧の前記電圧レベルのばらつきの判定に用いられる第２閾値と、を含む、
デジタルフィルタ。
【請求項６】
請求項５に記載のデジタルフィルタにおいて、
前記判定処理部は、前記端子電圧の前記電圧レベルの前記期待値と前記第１閾値とを比較し、前記端子電圧の前記真の電圧レベルが前記入力検出レベルであると判定し、かつ、前記端子電圧の前記電圧レベルの前記標準偏差が前記第２閾値未満であると判定したとき、前記入力検出信号を出力する、
デジタルフィルタ。
【請求項７】
請求項４に記載のデジタルフィルタにおいて、
前記判定条件設定レジスタに格納される前記判定条件を設定する判定条件設定回路を備えている、
デジタルフィルタ。
【請求項８】
請求項７に記載のデジタルフィルタにおいて、
前記判定条件設定回路は、前記入力信号の電圧レベルを示す入力検出レベルと、前記端子電圧の真の電圧レベルの判定に用いられる第１閾値と、前記端子電圧の前記電圧レベルのばらつきの判定に用いられる第２閾値と、を設定する、
デジタルフィルタ。
【請求項９】
請求項７に記載のデジタルフィルタにおいて、
前記判定条件設定回路は、前記入力信号に対する検知反応時間を設定する検知反応時間レジスタを備えている、
デジタルフィルタ。
【請求項１０】
請求項９に記載のデジタルフィルタにおいて、
前記判定条件設定回路は、前記検知反応時間及び前記入力端子の前記端子電圧のサンプリング周期を用い、所定の回数連続で同一の電圧レベルがサンプリングされたときの期待値を前記端子電圧の真の電圧レベルの判定に用いられる第１閾値として算出し、所定の回数連続で同一の電圧レベルがサンプリングされたときの標準偏差を前記端子電圧の前記電圧レベルのばらつきの判定に用いられる第２閾値として算出する、
デジタルフィルタ。
【請求項１１】
請求項１に記載のデジタルフィルタにおいて、
前記入力端子の前記端子電圧のサンプリングのタイミングを規定するサンプリングクロックを選択するサンプリングクロック選択回路を備えている、
デジタルフィルタ。
【請求項１２】
請求項１１に記載のデジタルフィルタにおいて、
前記サンプリングクロック選択回路は、基準サンプリングクロックを分周し、前記基準サンプリングクロックとは異なる周波数のサンプリングクロックを生成する分周回路と、
前記入力端子の前記端子電圧の電圧レベルのサンプリング状況を判定する判定回路と、
前記判定回路における判定結果に応じてサンプリングクロックを切り換えるスイッチ回路と、
を備えている、
デジタルフィルタ。
【請求項１３】
請求項１２に記載のデジタルフィルタにおいて、
前記判定回路は、前記端子電圧の真の電圧レベルの判定に用いられる第１閾値と、前記入力端子の前記端子電圧の電圧レベルの期待値とを用いて、前記端子電圧の電圧レベルのサンプリング状況を判定する、
デジタルフィルタ。
【請求項１４】
請求項１２に記載のデジタルフィルタにおいて、
前記分周回路は、それぞれ周波数が異なる複数の前記サンプリングクロックを生成する、
デジタルフィルタ。
【請求項１５】
入力端子の端子電圧のサンプリングにおいて、入力信号に対応する電圧レベルのサンプリング回数をカウントするサンプリングカウンタと、
前記入力信号に対応する電圧レベルのサンプリング回数を用いて入力信号の検出を行い、前記入力信号を検出すると入力検出信号を出力する判定処理部と、
を備えている、
デジタルフィルタ。
【請求項１６】
請求項１５に記載のデジタルフィルタにおいて、
前記入力信号の検出に関する判定条件を格納する判定条件設定レジスタを備え、
前記判定処理部は、前記入力信号に対応する電圧レベルのサンプリング回数と、前記判定条件と、を用いて前記入力信号を検出する、
デジタルフィルタ。
【請求項１７】
請求項１６に記載のデジタルフィルタにおいて、
前記判定条件設定レジスタは、前記入力信号の電圧レベルを示す入力検出レベルを設定する入力検出レベル設定レジスタと、前記端子電圧の真の電圧レベルの判定に用いられる第１閾値を設定する第１閾値設定レジスタと、前記入力信号に対する検知反応時間を設定する検知反応時間レジスタと、前記検知反応時間を用いて算出される、検知期間におけるサンプリング回数を設定するサンプリング回数設定レジスタと、を備え、
前記判定処理部は、前記入力信号に対応する電圧レベルのサンプリング回数と、前記第１閾値と、前記検知期間におけるサンプリング回数と、を用いて前記入力信号の検出を行う、
デジタルフィルタ。
【請求項１８】
請求項１に記載のデジタルフィルタにおいて、
前記入力信号は、割り込み信号である、
デジタルフィルタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルフィルタに関する。
【背景技術】
【０００２】
マイコン等の半導体装置では、入力信号にノイズが乗る場合がある。ノイズは誤動作の原因となり得るため、半導体装置には、ノイズをフィルタリングするフィルタ回路が設けられている。例えば、特許文献１には、デジタル処理により入力信号のノイズを除去するデジタルフィルタが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−４０７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
まず、従来のフィルタリング処理について説明する。なお、ここでは、割り込み端子の入力信号を例にしてフィルタリング処理の説明を行う。図１３は、従来のフィルタリング処理の一例を説明するタイミング図である。図１３には、サンプリングクロック、ＩＲＱ（割り込み）端子の端子電圧レベル、及び割り込み検出信号の波形がそれぞれ示されている。
【０００５】
サンプリングクロックは、入力端子の端子電圧のサンプリングのタイミングを規定するクロックである。ここでは、デジタルフィルタは、例えばサンプリングクロックの立ち上がり時に、端子電圧の電圧レベルを判定するものとする。図１３に示すように、サンプリングクロックは、時刻ｔ０〜ｔ１６のそれぞれにおいて、ローレベルからハイレベルに立ち上がっており、このタイミングで端子電圧の電圧レベルが判定される。もちろん、これ以外にもクロックの立ち下りのタイミングで端子電圧の電圧レベルが判定されてもよい。
【０００６】
例えば、３回連続で端子電圧の電圧レベルがハイレベルであると判定されると、デジタルフィルタは、端子電圧の真の電圧レベルがハイレベルであり、割り込みが発生したと判定する。そして、デジタルフィルタは、ハイレベルの割り込み検出信号を出力する。図１３では、時刻ｔ１２〜ｔ１４にかけて、３回連続で端子電圧の電圧レベルがハイレベルとなっており、このタイミングで割り込み検出信号が出力される。
【０００７】
一方、図１４は、従来のフィルタリング処理の他の例を説明するタイミング図である。図１４は、図１３と類似しているが、端子電圧の電圧レベルが３回連続でローレベルと判定されたとき、割り込みが発生したものと判定される。図１４に示すように、時刻ｔ８〜ｔ１０にかけて、３回連続で端子電圧の電圧レベルがローレベルとなっており、このタイミングで割り込み検出信号が出力される。
【０００８】
しかし、図１３、図１４の例では、サンプリング時にたまたまノイズが発生することにより、電圧レベルが３回続けてハイレベル又はローレベルであると判定されれば、割り込みが発生したしたものと判定されてしまう。このように、従来の方式では、ノイズの影響の大きい環境において、本来割り込みが発生していない状況であっても、割り込みが発生したものと判定されるおそれがある。
【０００９】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１０】
本明細書には、複数の実施の形態のデジタルフィルタが記載されているが、一実施の形態のデジタルフィルタを述べると、次の通りである。デジタルフィルタは、入力端子の端子電圧のサンプリングにおいて、電圧レベルごとに端子電圧のサンプリング回数をカウントするサンプリングカウンタと、電圧レベルごとの前記サンプリング回数を用いて端子電圧の統計処理を行う統計処理部と、統計処理結果を用いて入力信号の検出を行い、入力信号を検出すると入力検出信号を出力する判定処理部と、を備えている。
【発明の効果】
【００１１】
一実施の形態によれば、ノイズが発生する状況においても端子電圧の電圧レベルを正確に判定することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本発明の実施の形態１に係るデジタルフィルタの一例を示す回路図である。
【図２】図２は、本発明の実施の形態１に係る入力信号の検出処理の一例を示すフロー図である。
【図３】図３は、ハイレベルの入力信号を検出する際の確率密度分布の変化を例示する図である。
【図４】図４は、本発明の実施の形態１に係る入力信号の検出処理の一例を示すフロー図である。
【図５】図５は、ローレベルの入力信号を検出する際の確率密度分布の変化を例示する図である。
【図６】図６は、本発明の実施の形態２に係るデジタルフィルタの構成の一例を示す回路図である。
【図７】図７は、本発明の実施の形態２に係る検知期待値及び検知誤差を自動で設定する方法の一例を示すフロー図である。
【図８】図８は、本発明の実施の形態３に係るデジタルフィルタの構成の一例を示す回路図である。
【図９】図９は、サンプリングクロックの切り換え動作を説明する図である。
【図１０】図１０は、本発明の実施の形態４に係るデジタルフィルタの構成の一例を示す回路図である。
【図１１】図１１は、本発明の実施の形態４に係る入力信号の検出処理の一例を示すフロー図である。
【図１２】図１２は、本発明の実施の形態４に係るローレベルの入力信号の検出処理の一例を示すフロー図である。
【図１３】図１３は、従来のフィルタリング処理の一例を説明するタイミング図である。
【図１４】図１４は、従来のフィルタリング処理の他の例を説明するタイミング図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するためのすべての図において、同一部分には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１４】
（実施の形態１）
本実施の形態に係るデジタルフィルタは、入力端子の端子電圧のサンプリングを行い、電圧レベルごとにサンプリング回数をカウントし、電圧レベルごとのサンプリング回数を用いて統計処理を行い、統計処理結果を用いて入力信号の検出を行う。図１は、本発明の実施の形態１に係るデジタルフィルタの一例を示す回路図である。図１に示すように、デジタルフィルタ１は、サンプリング回路１１、サンプリングカウンタ１０、統計処理部２０、判定処理部３０、判定条件設定レジスタ４０等を備えている。
【００１５】
＜サンプリング回路＞
サンプリング回路１１は、入力端子Ｐ１の端子電圧のサンプリングを行う回路である。サンプリング回路１１の入力側は、入力端子Ｐ１と接続されている。サンプリング回路１１の出力側は、後述するサンプリングカウンタ１０の第１加算器１３ａの入力側、インバータ１７の入力側と接続されている。
【００１６】
サンプリング回路１１には、外部からサンプリングのタイミングを規定するサンプリングクロックが入力される。サンプリング回路１１は、サンプリングクロックに従い、入力端子Ｐ１の端子電圧をサンプリングし、端子電圧の電圧レベルに応じたサンプリングデータを出力する。例えば、ハイレベルの端子電圧をサンプリングしたとき、サンプリング回路１１は、ハイレベルのサンプリングデータを出力する。また、ローレベルの端子電圧をサンプリングしたとき、サンプリング回路１１は、ローレベルのサンプリングデータを出力する。ただし、サンプリングデータの電圧レベルは、これに限定されるものではない。
【００１７】
＜サンプリングカウンタ＞
サンプリングカウンタ１０は、入力端子Ｐ１の端子電圧のサンプリングに際し、電圧レベルごとにサンプリング回数をカウントする機能ブロックである。サンプリングカウンタ１０は、第１加算器１３ａ、第２加算器１３ｂ、第１サンプリング回数レジスタ１５ａ、第２サンプリング回数レジスタ１５ｂ、インバータ１７を備えている。
【００１８】
第１加算器１３ａの出力側は、第１サンプリング回数レジスタ１５ａの入力側と接続されている。第１サンプリング回数レジスタ１５ａの出力側は、第１加算器１３ａの入力側及び統計処理部２０と接続されている。第２加算器１３ｂの出力側は、第２サンプリング回数レジスタ１５ｂの入力側と接続されている。第２サンプリング回数レジスタ１５ｂの出力側は、第２加算器１３ｂの入力側及び統計処理部２０と接続されている。第２加算器１３ｂの入力側は、インバータ１７の出力側とも接続されている。インバータ１７は、論理反転させたサンプリングデータを生成する回路である。
【００１９】
第１加算器１３ａは、例えば、サンプリングデータを用いてハイレベルの端子電圧のサンプリング回数（以下、αと表記する場合がある）をカウントする回路であり、第２加算器１３ｂは、論理反転されたサンプリングデータを用いてローレベルの端子電圧のサンプリング回数（以下、βと表記する場合がある）をカウントする回路である。第１サンプリング回数レジスタ１５ａは、第１加算器１３ａでカウントされたハイレベルのサンプリング回数（α）を格納する記憶装置であり、第２サンプリング回数レジスタ１５ｂは、第２加算器１３ｂでカウントされたローレベルのサンプリング回数（β）を格納する記憶回路である。
【００２０】
＜統計処理部＞
統計処理部２０は、サンプリングカウンタ１０でカウントされた、電圧レベルごとのサンプリング回数を用いて端子電圧の統計処理を行う機能ブロックである。図１に示すように、統計処理部２０は、μ値演算回路２１及びσ値演算回路２３を備えている。μ値演算回路２１は、所定期間における端子電圧の電圧レベルの期待値（μ値）を算出する回路である。σ値演算回路２３は、所定期間における端子電圧の電圧レベルの標準偏差（σ値）を算出する回路である。このように、統計処理部２０は、統計処理結果として、端子電圧の電圧レベルの期待値及び標準偏差を算出する。統計処理部２０は、例えば統計処理結果として算出した期待値μ及び標準偏差σを用いたベイズ統計により統計処理を行う。また、統計処理部２０は、ベイズ統計以外の統計を用いて統計処理を行ってもよい。
【００２１】
μ値演算回路２１の入力側は、第１サンプリング回数レジスタ１５ａの出力側及び第２サンプリング回数レジスタ１５ｂの出力側と接続されている。μ値演算回路２１の出力側は、後述する判定処理部３０のμ値判定回路３１の入力側と接続されている。σ値演算回路２３の入力側は、第１サンプリング回数レジスタ１５ａの出力側及び第２サンプリング回数レジスタ１５ｂの出力側と接続されている。σ値演算回路２３の出力側は、判定処理部３０のσ値判定回路３３の入力側と接続されている。
【００２２】
＜判定条件設定レジスタ＞
判定条件設定レジスタ４０は、入力信号の検出に関する判定条件を格納する記憶装置である。図１に示すように、判定条件設定レジスタ４０は、入力検出レベル設定レジスタ４１、第１閾値設定レジスタ４３、第２閾値設定レジスタ４５を備えている。入力検出レベル設定レジスタ４１及び第１閾値設定レジスタ４３の出力側は、後述するμ値判定回路３１の入力側と接続されている。第２閾値設定レジスタ４５の出力側は、後述するσ値判定回路３３の入力側と接続されている。
【００２３】
入力検出レベル設定レジスタ４１は、入力信号の電圧レベルを示す入力検出レベルを格納するレジスタである。図１では、入力検出レベルの設定値は、「ａ」と表記されている。例えば、ａ＝１に設定されていれば、入力検出レベルはハイレベルであり、ａ＝０に設定されていれば、入力検出レベルはローレベルである。入力検出レベル設定レジスタ４１は、設定値をμ値判定回路３１へ出力する。
【００２４】
第１閾値設定レジスタ４３は、端子電圧の真の電圧レベルの判定に用いられる第１閾値を格納するレジスタである。第１閾値は、入力信号の検出を行う際に参照される検知期待値である。図１では、第１閾値は、「ｂ」と表記されている。第１閾値ｂは、例えば、入力検出レベルがハイレベルの場合に対応した値が設定されてもよいし、ローレベルに対応した値が設定されてもよい。また、第１閾値ｂは、入力検出レベルを切り換える際に、再設定されてもよい。第１閾値設定レジスタ４３は、第１閾値をμ値判定回路３１へ出力する。
【００２５】
第２閾値設定レジスタ４５は、端子電圧の電圧レベルのばらつきの判定に用いられる第２閾値を格納するレジスタである。第２閾値は、入力信号の検出を行う際に参照される検出誤差である。図１では、第２閾値は、「ｃ」と表記されている。第２閾値設定レジスタ４５は、第２閾値をσ値判定回路３３へ出力する。
【００２６】
これらの判定条件（入力検出レベルの設定値ａ、第１閾値ｂ、第２閾値ｃ）は、例えば、判定条件設定レジスタ４０へアクセス可能な外部装置から設定される。
【００２７】
＜判定処理部＞
判定処理部３０は、統計処理結果と判定条件設定レジスタ４０に格納された判定条件を用いて入力信号の検出を行う機能ブロックである。また、判定処理部３０は、入力信号を検出すると入力検出信号を出力する。図１に示すように、判定処理部３０は、μ値判定回路３１、σ値判定回路３３、入力判定回路３５、入力判定結果レジスタ３７、入力検出信号発生回路３９を備えている。
【００２８】
μ値判定回路３１の入力側は、μ値演算回路２１の出力側、入力検出レベル設定レジスタ４１の出力側、及び第１閾値設定レジスタ４３の出力側と接続されている。μ値判定回路３１の出力側は、入力判定回路３５の入力側と接続されている。μ値判定回路３１は、端子電圧の電圧レベルの期待値と、第１閾値設定レジスタ４３から出力される第１閾値とを比較し、判定結果を第１判定信号として入力判定回路３５へ出力する。
【００２９】
例えば、入力検出レベルがハイレベルに設定され、端子電圧の電圧レベルの期待値(μ)が第１閾値より大きい場合、μ値判定回路３１は、端子電圧の真の電圧レベルが入力検知レベルであると判定し、ハイレベルの第１判定信号を出力する。具体的には、入力検出レベル設定レジスタ４１の設定値がハイレベル（ａ＝１）に設定され、検知期待値がｂ＝９５に設定されているとする。そして、サンプリングにより、ハイレベルが９５％より高い割合で検出されると、μ値判定回路３１は、端子電圧の真の電圧レベルがハイレベル（入力検出レベル）であると判定する。そして、μ値判定回路３１は、ハイレベルの第１判定信号を出力する。
【００３０】
また、例えば、入力検出レベルがローレベルに設定され、端子電圧の電圧レベルの期待値(μ)が第１閾値より小さい場合、μ値判定回路３１は、端子電圧の真の電圧レベルが入力検知レベルであると判定し、ハイレベルの第１判定信号を出力する。具体的には、入力検出レベル設定レジスタ４１の設定値がローレベル（ａ＝０）に設定され、検知期待値がｂ＝９５に設定されているとする。そして、サンプリングにより、ローレベルが９５％より高い割合で検出されると、μ値判定回路３１は、端子電圧の真の電圧レベルがローレベル（入力検出レベル）であると判定する。そして、μ値判定回路３１は、ハイレベルの第１判定信号を出力する。
【００３１】
σ値判定回路３３の入力側は、σ値演算回路２３の出力側、及び第２閾値設定レジスタ４５の出力側と接続されている。σ値判定回路３３の出力側は、入力判定回路３５の入力側と接続されている。σ値判定回路３３は、端子電圧の電圧レベルの標準偏差と、第２閾値設定レジスタ４５から出力される第２閾値とを比較し、端子電圧の電圧レベルの検出誤差を判定し、判定結果を第２判定信号として入力判定回路３５へ出力する回路である。
【００３２】
例えば、端子電圧の電圧レベルの標準偏差が第２閾値未満である場合、σ値判定回路３３は、端子電圧の電圧レベルの検出誤差は小さいと判定し、ハイレベルの第２判定信号を出力する。
【００３３】
具体的には、検知誤差がｃ＝５に設定されているとする。そして、サンプリングによる端子電圧の電圧レベルの標準偏差(σ)が５％より小さいと、σ値判定回路３３は、端子電圧の電圧レベルの検出誤差が小さいと判定する。  言い換えれば、σ値判定回路３３は、入力信号の電圧レベルは、ハイレベル又はローレベルで安定していると判定する。そして、σ値判定回路３３は、ハイレベルの第２判定信号を出力する。
【００３４】
入力判定回路３５は、μ値判定回路３１の判定結果、及びσ値判定回路３３の判定結果を用いて入力端子Ｐ１に入力される入力信号の検出を行う回路である。入力判定回路３５は、例えば、図１に示す２入力のＡＮＤ回路で構成される。入力判定回路３５の第１入力端は、μ値判定回路３１の出力側と接続されている。入力判定回路３５の第２入力端は、σ値判定回路３３の出力側と接続されている。入力判定回路の出力端は、入力判定結果レジスタ３７の入力側と接続されている。
【００３５】
例えば、μ値判定回路３１からハイレベルの第１判定信号が入力され、σ値判定回路３３からハイレベルの第２判定信号が入力された場合、入力判定回路３５は、入力信号を検出したと判定し、ハイレベルの入力判定信号を入力判定結果として出力する。それ以外の場合、入力判定回路３５は、ローレベルの入力判定信号を入力判定結果として出力する。
【００３６】
入力判定結果レジスタ３７は、入力判定回路３５から出力される入力判定結果を格納するレジスタである。入力判定結果レジスタ３７の出力側は、入力検出信号発生回路３９の入力側と接続されている。入力判定結果レジスタ３７は、入力判定結果を入力検出信号発生回路３９へ出力する。
【００３７】
入力検出信号発生回路３９は、入力判定回路３５における入力判定結果に応じて、入力検出信号を生成し出力する回路である。入力信号が検出された場合、入力検出信号発生回路３９は、例えばハイレベルの信号を入力検出信号として出力する。これに対し、入力信号が検出されていない場合、入力検出信号発生回路３９は、例えばローレベルの入力検出信号を出力する。
【００３８】
入力検出信号発生回路３９の出力側、すなわち、デジタルフィルタ１の出力は、例えば、ＣＰＵ(Central Processing Unit)等を含むデバイスと接続される。入力端子Ｐ１に入力される入力信号が割り込み信号の場合、割り込み信号が検出されると、入力検出信号発生回路３９は、例えばハイレベルの割り込み検出信号をデバイスへ出力する。デバイスは、入力される割り込み検出信号に基づき、所定の割り込み処理を行うこととなる。
【００３９】
＜ハイレベルの入力信号の検出処理＞
次に、本実施の形態における入力信号の検出処理について説明する。図２は、本発明の実施の形態１に係る入力信号の検出処理の一例を示すフロー図である。具体的に述べると、図２は、入力端子Ｐ１のハイレベル検知に関わるフローである。図２のフローは、ステップＳ１１〜Ｓ１９を含む。
【００４０】
ステップＳ１１では、第１サンプリング回数レジスタ１５ａ、第２サンプリング回数レジスタ１５ｂの初期化が行われる。具体的に述べると、第１サンプリング回数レジスタ１５ａには、α＝１がハイレベルのサンプリング回数の初期値として設定される。同様に、第２サンプリング回数レジスタ１５ｂには、β＝１がローレベルのサンプリング回数の初期値として設定される。
【００４１】
なお、判定条件設定レジスタ４０に含まれる各レジスタの値（判定条件）ａ、ｂ、ｃは、ステップＳ１１に先立って設定されてもよいし、サンプリング回数α、βと併せて設定されてもよい。入力信号をハイレベルとすれば、例えば入力検出レベルの設定値は、ａ＝１に設定される。また、第１閾値ｂ、第２閾値ｃの値は、所望の判定精度に応じて設定される。なお、判定条件設定レジスタ４０に含まれる各レジスタの値ａ、ｂ、ｃの設定は、ＣＰＵを含むデバイスや、外部装置から行われる。
【００４２】
なお、第１サンプリング回数レジスタ１５ａのサンプリング回数α、及び第２サンプリング回数レジスタ１５ｂに格納されるサンプリング回数βは、所定の期間ごとに初期化される。
【００４３】
ステップＳ１２では、第１サンプリング回数レジスタ１５ａ、第２サンプリング回数レジスタ１５ｂの初期値を用いた期待値の初期値及び標準偏差の初期値が算出される。信号レベルの期待値μ及び標準偏差σは、α、βを用いて次の式（１）、（２）により算出される。したがって、期待値の初期値μ０＝１／２、標準偏差の初期値σ０＝（１／１２）１／２と算出される。
【００４４】
μ＝α／（α＋β）    ・・・（１）
σ＝［αβ／（（α＋β）２（α＋β＋１））］１／２    ・・・（２）
ステップＳ１３において、入力端子Ｐ１の端子電圧のサンプリングが行われる。サンプリング回路１１には、ハイレベルとローレベルとを周期的に繰り返す所定のサンプリングクロックが入力される。サンプリング回路１１は、例えば、サンプリングクロックの立ち上がりのタイミングで入力端子Ｐ１の端子電圧をサンプリングする。サンプリング回路１１は、サンプリングした端子電圧の信号レベルに応じた所定のサンプリングデータをサンプリングカウンタ１０へ出力する。なお、以下では、説明を容易にするため、ハイレベルの端子電圧は、ハイレベルのサンプリングデータに対応し、ローレベルの端子電圧は、ローレベルのサンプリングデータに対応するものとする。
【００４５】
ステップＳ１４では、サンプリングされた端子電圧の信号レベルが判定される。サンプリングされた端子電圧がハイレベルであると判定された場合、ステップＳ１５の処理が実行される。この場合、例えば、第１加算器１３ａには、ハイレベルのサンプリングデータが入力され、第２加算器１３ｂには、論理反転されたローレベルのサンプリングデータが入力される。
【００４６】
ステップＳ１５において、ハイレベルのサンプリングデータが入力されると、第１加算器１３ａは、ハイレベルの端子電圧のサンプリング回数を更新する。具体的に述べると、第１加算器１３ａは、直前のサンプリング回数αに対し１を加算し、サンプリング回数をαからα＋１に更新する。一方、論理反転されたローレベルのサンプリングデータが入力された第２加算器１３ｂは、ローレベルの端子電圧のサンプリング回数を更新しない。すなわち、第２加算器１３ｂは、直前のサンプリング回数βに対する加算を行わず、サンプリング回数はβのままである。
【００４７】
第１加算器１３ａは、更新されたサンプリング回数（α＋１）を第１サンプリング回数レジスタ１５ａへ出力する。更新されたサンプリング回数（α＋１）は、第１サンプリング回数レジスタ１５ａに格納される。一方、第２加算器１３ｂは、更新されなかったサンプリング回数（β）を、引き続き、第２サンプリング回数レジスタ１５ｂへ出力する。
【００４８】
これに対し、ステップＳ１４において、サンプリングされた端子電圧がローレベルであると判定された場合、ステップＳ１６の処理が実行される。この場合、例えば、第１加算器１３ａには、ローレベルのサンプリングデータが入力され、第２加算器１３ｂには、論理反転されたハイレベルのサンプリングデータが入力される。
【００４９】
ステップＳ１６において、ローレベルのサンプリングデータが入力された第１加算器１３ａは、ハイレベルの端子電圧のサンプリング回数を更新しない。すなわち、第１加算器１３ａは、直前のサンプリング回数αに対する加算を行わず、サンプリング回数はαのままである。一方、論理反転されたハイレベルのサンプリングデータが入力された第２加算器１３ｂは、ローレベルの端子電圧のサンプリング回数を更新する。具体的に述べると、第２加算器１３ｂは、直前のサンプリング回数βに対し１を加算し、サンプリング回数をβからβ＋１に更新する。
【００５０】
第１加算器１３ａは、更新されなかったサンプリング回数（α）を、引き続き、第１サンプリング回数レジスタ１５ａへ出力する。一方、第２加算器１３ｂは、更新されたサンプリング回数（β＋１）を第２サンプリング回数レジスタ１５ｂへ出力する。更新されたサンプリング回数（β＋１）は、第２サンプリング回数レジスタ１５ｂに格納される。
【００５１】
ステップＳ１５、Ｓ１６に続いて、ステップＳ１７の処理が行われる。ステップＳ１７では、電圧レベルごとのサンプリング回数（α、β）を用いて端子電圧の期待値及び標準偏差が算出される。μ値演算回路２１は、第１サンプリング回数レジスタ１５ａから出力されたハイレベルのサンプリング回数（α）、第２サンプリング回数レジスタ１５ｂから出力されたローレベルのサンプリング回数（β）及び式（１）を用いて、入力端子Ｐ１の端子電圧の期待値μを算出する。算出された期待値μは、μ値判定回路３１へ出力される。
【００５２】
また、σ値演算回路２３は、第１サンプリング回数レジスタ１５ａに格納されたハイレベルのサンプリング回数（α）、第２サンプリング回数レジスタ１５ｂに格納されたローレベルのサンプリング回数（β）及び式（２）を用いて、入力端子Ｐ１の端子電圧の標準偏差σを算出する。算出された標準偏差σは、σ値判定回路３３へ出力される。
【００５３】
ステップＳ１８では、ステップＳ１７で算出された期待値μ、標準偏差σを用いた入力信号の検出が行われる。μ値判定回路３１は、入力検出レベル設定レジスタ４１から出力される入力検出レベルの設定値ａ、第１閾値設定レジスタ４３から出力される検知期待値（第１閾値）ｂ、μ値演算回路２１から出力される期待値μを用いて入力信号の検出を行う。具体的に述べると、入力検出レベルの設定値ａがハイレベルに対応する値（ａ＝１）に設定されている場合、期待値μが検知期待値ｂより大きければ（μ＞ｂ）、μ値判定回路３１は、端子電圧の真の電圧レベルがハイレベルであると判定する。そして、μ値判定回路３１は、ハイレベルの第１判定信号を出力する。一方、期待値μが検知期待値ｂ以下であれば（μ≦ｂ）、μ値判定回路３１は、端子電圧の真の電圧レベルがハイレベルではない、すなわちローレベルであると判定する。そして、μ値判定回路３１は、ローレベルの第１判定信号を出力する。
【００５４】
σ値判定回路３３は、第２閾値設定レジスタ４５から出力される検知誤差（第２閾値）ｃ、σ値演算回路２３から出力される標準偏差σを用いて入力信号の検出を行う。具体的に述べると、標準偏差σが検知誤差ｃ未満であれば（σ＜ｃ）、σ値判定回路３３は、端子電圧の電圧レベルの検出誤差は小さく、すなわち端子電圧のばらつきがほとんどなく、端子電圧は安定していると判定する。そして、σ値判定回路３３は、ハイレベルの第２判定信号を出力する。一方、標準偏差σが検知誤差ｃ以上であれば（σ≧ｃ）、σ値判定回路３３は、端子電圧の電圧レベルの検出誤差が大きく、すなわち端子電圧のばらつきが大きく、端子電圧は安定していないと判定する。そして、σ値判定回路３３は、ローレベルの第２判定信号を出力する。
【００５５】
入力判定回路３５は、μ値判定回路３１から出力される第１判定信号及びσ値判定回路３３から出力される第２判定信号を用いて入力信号の検出を行う。具体的に述べると、入力判定回路３５は、ハイレベルの第１判定信号及びハイレベルの第２判定信号が入力されたとき入力信号を検出したと判定する（Ｙｅｓ）。すなわち、入力判定回路３５は、端子電圧の真の電圧レベルが入力検出レベル（ここではハイレベル）であり、かつ、標準偏差σが検知誤差ｃ未満であると判定したとき（Ｙｅｓ）、入力信号を検出したと判定する。そして、入力判定回路３５は、例えばハイレベルの入力判定信号を出力する。入力判定結果レジスタ３７は、入力判定信号に応じた入力判定結果（例えばハイレベル）を格納し、入力検出信号発生回路３９へ出力する。ハイレベルの検出条件は、式（３）で表される。
【００５６】
μ＞ｂ、かつ、σ＜ｃ    ・・・（３）
ステップＳ１９では、所定の入力検出信号が生成、出力される。具体的に述べると、入力検出信号発生回路３９は、入力判定結果レジスタ３７から出力されるハイレベルの入力判定結果に応じて、入力検出レベル（ハイレベル）の入力信号が検出されたものとして、例えばハイレベルの入力検出信号を生成し出力する。その後、入力信号の検出処理が終了する。
【００５７】
なお、入力検出信号発生回路３９から出力される入力検出信号は、制御回路等に入力される。例えば、入力信号が割り込み信号である場合、入力検出信号は割り込み検出信号である。割り込み信号が検出されると、割り込み検出信号が制御回路等に入力され、割り込み信号に応じた所定の処理が実行される。
【００５８】
一方、ステップＳ１８において、式（３）を満たさない場合（Ｎｏ）、入力判定回路３５は、ハイレベルの入力信号は検出されていないと判定し、例えばローレベルの入力判定信号を出力する。入力判定結果レジスタ３７は、入力判定信号に応じた入力判定結果（例えばローレベル）を格納し、入力検出信号発生回路３９へ出力する。入力検出信号発生回路３９は、入力判定結果レジスタ３７から出力されるローレベルの入力判定結果に応じて、例えばローレベルの信号を生成し出力する。そして、ステップＳ１３に戻り、ステップＳ１３〜Ｓ１８の処理が再び実行される。
【００５９】
＜＜ハイレベルの入力信号検出の具体例＞＞
図３は、ハイレベルの入力信号を検出する際の確率密度分布の変化を例示する図である。具体的に述べると、図３は、初期状態から４回連続でハイレベルの信号がサンプリングされた場合の確率密度分布の変化を示している。図３の横軸は、入力信号の信号レベルがハイレベルである期待値を示し、図３の縦軸は確率密度分布を示している。図３（ａ）は、初期状態、すなわち図２のステップＳ１１直後の状態を示している。初期状態の確率密度分布は、入力端子の端子電圧の電圧レベルがハイレベルであるかローレベルであるか不明であり、各期待値に対する確率密度分布が一定となっている。初期状態における期待値μは１／２であり、横軸の中央に位置する。この場合、入力信号の電圧レベルがハイレベルである確率は、５０％である。
【００６０】
次に、１回目にハイレベルがサンプリングされると、図３（ｂ）に示すように、確率密度分布は、５０％から右側（「１」側）に少し偏った分布となる。確率密度分布のピーク付近が期待値である。したがって、この場合の期待値は、５０％からやや大きい値となる。一方、確率密度分布の標準偏差は、初期状態よりもやや小さい値となる。
【００６１】
そして、２回目もハイレベルがサンプリングされると、図３（ｃ）に示すように、確率密度分布は、図３（ｂ）よりもさらに右側に偏った分布となる。期待値は、図３（ｂ）の状態よりも大きくなり、標準偏差は、図３（ｂ）の状態よりもさらに小さい値となる。３回目、４回目も続けてハイレベルがサンプリングされると、図３（ｄ）、（ｅ）に示すように、確率密度分布はさらに右側に偏った分布となる。期待値は、図３（ｄ）、（ｅ）へシフトするにつれて大きくなり、横軸の「１」、すなわち１００％に近くなる。また、標準偏差は、図３（ｄ）、（ｅ）へシフトするにつれて小さい値となる。
【００６２】
一方、ローレベルがサンプリングされると、確率密度分布は、左側（「０」側）に少しシフトする。このように、サンプリングごとに、確率密度分布のピークは、右側又は左側へシフトする。そして、式（３）の条件を満たすと、ハイレベルの入力信号の検出処理が完了し、例えば割り込みが発生することとなる。
【００６３】
＜ローレベルの入力信号の検出処理＞
次に、ローレベルの入力信号の検出処理について説明する。図４は、本発明の実施の形態１に係る入力信号の検出処理の一例を示すフロー図である。図４は、入力端子Ｐ１のローレベル検知に関わるフローである。図４のフローは、ステップＳ１１〜Ｓ１７、Ｓ２８〜Ｓ２９を含む。ステップＳ１１〜Ｓ１７の処理は、図２で説明したハイレベル検知と同様であるので、説明は省略する。
【００６４】
ステップＳ２８では、ステップＳ１８とは異なる条件で入力信号の検出が行われる。具体的に述べると、入力検出レベルの設定値ａがローレベルに対応する値（ａ＝０）に設定されている場合、期待値μが検知期待値ｂに対する所定の値（１−ｂ）より小さければ（μ＜１−ｂ）、μ値判定回路３１は、端子電圧の真の電圧レベルがローレベルであると判定する。ここで示す値μがハイレベルの入力信号に対応する値であるため、ローレベル検知における期待値μの比較対象が値（１−ｂ）となっている。ただし、ローレベルに対応する検知期待値が、別途設定されてもよい。
【００６５】
そして、μ値判定回路３１は、ハイレベルの第１判定信号を出力する。一方、期待値μが検知期待値１−ｂ以上であれば（μ≧１−ｂ）、μ値判定回路３１は、端子電圧の真の電圧レベルがローレベルではない、すなわちハイレベルであると判定する。そして、μ値判定回路３１は、ローレベルの第１判定信号を出力する。
【００６６】
σ値判定回路３３の動作は、ステップＳ１８と同様である。標準偏差σが検知誤差ｃ未満であれば（σ＜ｃ）、σ値判定回路３３は、ハイレベルの第２判定信号を出力する。一方、標準偏差σが検知誤差ｃ以上であれば（σ≧ｃ）、σ値判定回路３３は、ローレベルの第２判定信号を出力する。
【００６７】
入力判定回路３５は、端子電圧の真の電圧レベルがローレベルであり、かつ、標準偏差σが検知誤差ｃ未満であると判定したとき（Ｙｅｓ）、入力信号を検出したと判定する。そして、入力判定回路３５は、例えばハイレベルの入力判定信号を出力する。入力判定結果レジスタ３７は、入力判定信号に応じた入力判定結果（例えばハイレベル）を格納し、入力検出信号発生回路３９へ出力する。ローレベルの検出条件は、式（４）で表される。
【００６８】
μ＜１−ｂ、かつ、σ＜ｃ    ・・・（４）
ステップＳ２９では、入力検出信号発生回路３９は、入力判定結果レジスタ３７から出力されるハイレベルの入力判定結果に応じて、ローレベルの入力信号が検出されたものとして、例えばハイレベルの入力検出信号を生成し出力する。その後、入力信号の検出処理が終了する。
【００６９】
一方、ステップＳ２８において、式（４）を満たさない場合（Ｎｏ）、入力判定回路３５は、ローレベルの入力信号は検出されていないと判定し、例えばローレベルの入力判定信号を出力する。そして、ステップＳ１３に戻り、ステップＳ１３〜Ｓ２８の処理が再び実行される。
【００７０】
＜＜ローレベルの入力信号検出の具体例＞＞
図５は、ローレベルの入力信号を検出する際の確率密度分布の変化を例示する図である。図５は、初期状態から４回連続でローレベルの信号がサンプリングされた場合の確率密度分布の変化を示している。図５に示す各状態における確率密度分布は、ハイレベルの入力信号の検出に係る図３の対応する各状態における確率密度分布と対称になっている。
【００７１】
図５（ａ）は、初期状態、すなわち図４のステップＳ１１直後の状態を示している。初期状態の確率密度分布は、図３（ａ）と同様である。次に、１回目にローレベルがサンプリングされると、図５（ｂ）に示すように、確率密度分布は、５０％から左側（「０」側）に少し偏った分布となる。確率密度分布のピーク付近が期待値である。したがって、この場合の期待値は、５０％からやや小さい値となる。一方、確率密度分布の標準偏差は、初期状態よりもやや小さい値となる。
【００７２】
そして、２〜４回目もローレベルがサンプリングされると、図５（ｃ）から図５（ｅ）の順に、確率密度分布は、さらに左側に偏った分布となる。また、標準偏差は、図５（ｃ）から図５（ｅ）の順に、小さい値となる。
【００７３】
一方、ハイレベルがサンプリングされると、確率密度分布は、左側（「１」側）に少しシフトする。このように、サンプリングごとに、確率密度分布のピークは、右側又は左側へシフトする。そして、式（４）の条件を満たすと、ローレベルの入力信号の検出処理が完了し、例えば割り込みが発生することとなる。
【００７４】
＜本実施の形態による主な効果＞
本実施の形態によれば、電圧レベルごとのサンプリング回数を用いて入力端子Ｐ１の端子電圧の統計処理が行われる。この構成によれば、複数回のサンプリングにより端子電圧の信号レベルの判定が行われるので、ノイズが発生する状況においても端子電圧の電圧レベルを正確に判定することが可能となる。これにより、入力端子Ｐ１に入力される入力信号を正確に検出することが可能となる。また、これにより、割り込み信号が入力信号として規定されている場合、割り込み信号の検出が正確に行われ、半導体装置の動作を安定させることが可能となる。
【００７５】
また、本実施の形態によれば、統計処理部は、算出した期待値及び標準偏差を用いたベイズ統計により統計処理を行う。この構成によれば、入力端子Ｐ１の端子電圧の電圧レベルの期待値が所定の条件を満たしても、電圧レベルのばらつき(標準偏差)が所定の条件を満たさない場合には、入力信号を検出したと判定されないので、入力信号の検出が確実に行われる。
【００７６】
（実施の形態２）
次に、実施の形態２について説明する。すでに述べた実施の形態１では、判定条件設定レジスタ４０に格納される判定条件（例えば、検知期待値ｂ、検知誤差ｃ）が、ユーザにより任意の値に設定される。すなわち、実施の形態１のデジタルフィルタには、判定条件をシステム環境に最適な値に設定できるという自由度があった。しかし、初心者がデジタルフィルタや半導体装置（例えばマイコン等）を含むシステムを扱う場合や、検出対象の信号が受けるノイズの影響がはっきりしない状況においては、ユーザ側で検知期待値や検知誤差等の判定条件を決められない場合もあり得る。そこで、本実施の形態では、検知期待値や検知誤差等の判定条件を自動設定することが可能なデジタルフィルタについて説明する。
【００７７】
図６は、本発明の実施の形態２に係るデジタルフィルタの構成の一例を示す回路図である。図６のデジタルフィルタ１０１は、図１のデジタルフィルタ１に判定条件設定回路１４０が追加されている。判定条件設定回路１４０は、判定条件設定レジスタに格納される判定条件を自動設定する機能ブロックである。具体的に述べると、判定条件設定回路１４０は、第１閾値設定レジスタ４３に格納される検知期待値、第２閾値設定レジスタ４５に格納される検知誤差を算出し、算出した検知期待値及び検知誤差をそれぞれのレジスタに格納する。
【００７８】
判定条件設定回路１４０は、検知反応時間レジスタ１４１、演算回路１４３、１４５、１４７、１４９を備えている。検知反応時間レジスタ１４１の出力側は、演算回路１４３の入力側と接続されている。演算回路１４３の出力側は、演算回路１４５の入力側と接続されている。演算回路１４５の出力側は、演算回路１４７、１４９のそれぞれの入力側と接続されている。演算回路１４７の出力側は、第１閾値設定レジスタ４３の入力側と接続されている。演算回路１４９の出力側は、第２閾値設定レジスタ４５の入力側と接続されている。
【００７９】
検知反応時間レジスタ１４１は、検出対象信号（入力信号）に対する検知反応時間を設定するレジスタである。ユーザは、ハイレベル検知又はローレベル検知において許容できる応答時間を検知反応時間「ｄ」として設定し、検知反応時間レジスタ１４１に格納する。検知反応時間とは、システム上これ以上反応が遅れるとシステムの動作に問題が生じる時間のことをいう。言い換えると、検知反応時間以内に検出対象信号が検出できれば、システムにおいて許容され、検出された入力信号に基づく処理が実行可能である。
【００８０】
検知反応時間レジスタ１４１に格納された検知反応時間ｄに基づき、演算回路１４３〜１４９において検知期待値、検知誤差の設定値が算出される。演算回路１４３は、入力信号の検知期間「ｅ」を演算する回路である。なお、以下では、検知期間をリフレッシュ期間と呼ぶ場合がある。演算回路１４５は、検知期間ｅにおけるサンプリング回数「ｆ」を演算する回路である。演算回路１４７は、サンプリング回数ｆを用い、所定の回数連続で同一の電圧レベルがサンプリングされたときの期待値「ｘ」を演算する回路である。演算回路１４９は、サンプリング回数ｆを用い、所定の回数連続で同一の電圧レベルがサンプリングされたときの標準偏差「ｙ」を演算する回路である。
【００８１】
図７は、本発明の実施の形態２に係る検知期待値及び検知誤差を自動で設定する方法の一例を示すフロー図である。検知期待値及び検知誤差の自動設定に際し、例えば図７のステップＳ３１〜Ｓ３５が実行される。
【００８２】
まず、ステップＳ３１１において、ユーザは、検知反応時間レジスタ１４１に、所定の検知反応時間ｄを設定する。検知反応時間ｄは、例えば、外部の入力端末等から入力される（Ｓ３１）。検知反応時間レジスタ１４１は、設定された検知反応時間ｄを演算回路１４３へ出力する。ステップＳ３２において、演算回路１４３は、例えば、以下に示す式（５）により検知反応時間ｄを用いてリフレッシュ期間ｅを演算する。ステップＳ３３において、演算回路１４５は、ステップＳ３２で算出されたリフレッシュ期間ｅ、及びサンプリング周期Ｔｓから、以下に式（６）を用いてリフレッシュ期間ｅにおけるサンプリング回数ｆを演算する。なお、サンプリング周期Ｔｓとは、図１３に示すように、サンプリングクロックの立ち上がりごとに入力端子Ｐ１の電圧レベルをサンプリングする間隔のことをいう。
【００８３】
次に、ステップＳ３４について説明する。演算回路１４７は、サンプリング回数ｆを用い、以下に式（７）により、ｆ／２回連続で同一の電圧レベルがサンプリングされたときの期待値「ｘ」を演算する。また、これと並行して、演算回路１４９は、サンプリング回数ｆを用い、以下に式（８）により、ｆ／２回連続で同一の電圧レベルがサンプリングされたときの標準偏差「ｙ」を演算する。
【００８４】
ｅ＝ｄ／１０    ・・・（５）
ｆ＝ｅ／（サンプリング周期）    ・・・（６）
ｘ＝（ｆ＋２）／（ｆ＋４）    ・・・（７）
ｙ＝（（４ｆ＋８）／（（(ｆ＋４）＾２）（ｆ＋６）））＾１／２    ・・・（８）
ステップＳ３５では、演算回路１４７で算出された期待値ｘは、検知期待値（第１閾値）ｂとして、第１閾値設定レジスタ４３へ格納される。また、演算回路１４９で算出された標準偏差ｙは、検知誤差（第２閾値）ｃとして、第２閾値設定レジスタ４５へ格納される。なお、ここで算出される期待値ｘは、例えば、ハイレベルが連続でサンプリングされた場合の値を示している。なお、ここでは、判定条件として、検知期待値及び検知誤差が自動で設定される場合について説明したが、これ以外の判定条件が自動で設定されてもよい。
【００８５】
なお、本実施の形態に係るデジタルフィルタ１０１では、例えばｆ回のサンプリングごとに、第１サンプリング回数レジスタ１５ａのサンプリング回数α、及び第２サンプリング回数レジスタ１５ｂに格納されるサンプリング回数βが初期化される。これは、ステップＳ３３において算出されるリフレッシュ期間ｅと、サンプリング回数α、βが初期化される期間とを整合させるためである。ステップＳ３２〜Ｓ３５は、ハードウェアにより自動的に処理される。すなわち、ステップＳ３１において、ユーザにより検知反応時間ｄが設定されると、式（５）〜（８）の演算と、ｘ、ｙの格納が自動的に行われる。
【００８６】
ユーザは、自動設定された検知期待値ｂ及び検知誤差ｃを確認し、問題がないと判断すれば、これら設定値を用いた入力信号の検出処理を実行させる。一方、ユーザは、これらの設定値に問題があると判断すれば、検知期待値ｂ及び検知誤差ｃを手動で再設定し、再設定された値を用いて入力信号の検出処理を実行させる。
【００８７】
本実施の形態によれば、検知期待値ｂ及び検知誤差ｃを自動で設定することが可能となる。これにより、初心者がデジタルフィルタや半導体装置を含むシステムを扱う場合や、検出対象の信号が受けるノイズの影響がはっきりしない状況においても判定条件の設定が自動で行われる。また、自動設定後においても、ユーザは、検知期待値ｂ及び検知誤差ｃを手動で設定可能であり、システム環境に適切な値に設定することが可能となる。
【００８８】
（実施の形態３）
次に、実施の形態３について説明する。本実施の形態では、入力端子Ｐ１の端子電圧の電圧レベルのサンプリング状況に応じて、周波数（サンプリング周期）の異なるサンプリングクロックを切り換えながら入力信号の検出を行うデジタルフィルタについて説明する。
【００８９】
図８は、本発明の実施の形態３に係るデジタルフィルタの構成の一例を示す回路図である。図８のデジタルフィルタ２０１は、図１のデジタルフィルタ１にサンプリングクロック選択回路２１０が追加されている。サンプリングクロック選択回路２１０は、入力端子Ｐ１の端子電圧の電圧レベルのサンプリング状況に応じて、サンプリングクロックを選択する機能ブロックである。図８に示すように、サンプリングクロック選択回路２１０は、分周回路２１１、判定回路２１３、選択スイッチ２１５を備えている。
【００９０】
分周回路２１１の入力側には、基準サンプリングクロックが入力される。分周回路２１１は、基準サンプリングクロックを分周し、基準サンプリングクロックとは異なる周波数のサンプリングクロックを生成する。また、分周回路２１１は、それぞれ周波数が異なる複数のサンプリングクロックを生成してもよい。分周回路２１１の出力側は、選択スイッチ２１５の入力側と接続されており、生成したサンプリングクロックを選択スイッチ２１５へ出力する。
【００９１】
判定回路２１３は、入力端子Ｐ１の端子電圧の電圧レベルのサンプリング状況を判定する回路である。判定回路２１３の入力側は、第１閾値設定レジスタ４３の出力側と、μ値演算回路２１の出力側と接続されている。すなわち、判定回路２１３には、検知期待値ｂ、及びサンプリングによる入力端子の電圧レベルの期待値μが入力される。判定回路２１３の出力側は、選択スイッチ２１５の入力側と接続されている。判定回路２１３は、検知期待値ｂ及び期待値μを用いて、端子電圧の電圧レベルのサンプリング状況を判定し、判定結果を選択スイッチ２１５へ出力する。判定回路２１３における判定処理については、後述する。
【００９２】
選択スイッチ２１５は、サンプリング回路１１へ出力するサンプリングクロックを選択する回路である。判定回路２１３における判定結果に応じてサンプリングクロックを切り換える回路である。選択スイッチ２１５の入力側には、基準サンプリングクロックと、分周回路２１１から出力されるサンプリングクロックとが入力される。選択スイッチ２１５の出力側は、サンプリング回路１１と接続されている。選択スイッチ２１５は、判定回路２１３における判定結果に応じて、これらのサンプリングクロックからサンプリング回路１１へ出力するサンプリングクロックを選択する。
【００９３】
＜サンプリングクロックの選択＞
次に、サンプリングクロックの選択方法について説明する。図９は、サンプリングクロックの切り換え動作を説明する図である。図９には、ハイレベル検知の例が示されている。図９（ａ）は、サンプリングクロックの切り換えを行わない場合のサンプリング動作を示す図である。具体的には、図９（ａ）は、実施の形態１〜２のデジタルフィルタ１、１０１における処理を示している。図９（ｂ）は、サンプリングクロックの切り換えを行う場合のサンプリング動作を示す図である。すなわち、図９（ｂ）は、本実施の形態のデジタルフィルタ２０１における処理を示している。
【００９４】
図９の縦軸は、サンプリングした電圧レベルを示し、図９の横軸は、時間を示している。また、図９（ａ）、（ｂ）に示すそれぞれの矢印は、サンプリングされたタイミングを示している。隣り合う矢印の時間差は、サンプリング周期を示す。
【００９５】
図９（ａ）、（ｂ）では、時刻ｔ０でサンプリングが開始されたのち、時刻ｔ１でハイレベルがサンプリングされるまで、ローレベルが連続してサンプリングされている。そして、時刻ｔ１以降は、連続してハイレベルが連続してサンプリングされている。
【００９６】
図９（ａ）は、同一のサンプリングクロックを用いてサンプリングされている。すなわち、等間隔のタイミングでサンプリングが行われている。時刻ｔ１以降はハイレベルが検出され、時刻ｔ２において、端子電圧の電圧レベルの期待値及び標準偏差が式（３）の条件を満たし、ハイレベル検知が完了する。
【００９７】
一方、本実施の形態では、図９（ｂ）に示すように、ローレベルが検出されている期間、及び時刻ｔ１においてハイレベルが検出されてからも、ある程度の期間、続けてハイレベルがサンプリングされる時刻ｔ３まで、図９（ａ）よりも周波数が低いサンプリングクロック（分周されたサンプリングクロック）が用いられる。そして、時刻ｔ３以降は、これまでより周波数が高いサンプリングクロック（基準サンプリングクロック）が選択され、選択されたサンプリングクロックによりサンプリングが行われる。そして、時刻ｔ４において、端子電圧の電圧レベルの期待値及び標準偏差が式（３）の条件を満たし、ハイレベル検知が完了する。すなわち、本実施の形態では、ハイレベルが検出されてからもある程度、ハイレベルの比率が高まるまでは、周波数を抑えたサンプリングクロックによりサンプリングが行われ、ハイレベルが所定の比率まで高まると、周波数を高くしたサンプリングクロックによりサンプリングが行われる。
【００９８】
判定回路２１３の動作を具体的に説明する。判定回路２１３は、第１閾値設定レジスタ４３に設定された検知期待値ｂと、μ値演算回路２１において算出された端子電圧の電圧レベルの期待値μとを用い、例えば次に示す式（９）、（１０）を用いて、サンプリングクロックの切り換え判定を行う。
【００９９】
μ＜（５０＋ｂ）／２    ・・・（９）
μ≧（５０＋ｂ）／２    ・・・（１０）
例えば、検出期待値ｂが９５％に設定されているとする。ハイレベルの割合が（５０＋９５）／２＝７２．５％未満のとき、期待値μは式（９）を満たすが、式（１０）を満たしていない。これは、図９（ｂ）の時刻ｔ０からｔ３までの状態を示している。この場合、判定回路２１３は、期待値μが高まっていないと判定し、判定結果を選択スイッチ２１５へ出力する。選択スイッチ２１５は、この判定結果を受けて、サンプリングクロックの切り換えを行わず、例えば分周されたサンプリングクロックを継続して出力する。
【０１００】
一方、ハイレベルの割合が（５０＋９５）／２＝７２．５％以上のとき、期待値μは、式（１０）を満たす。これは、図９（ｂ）の時刻ｔ３以降の状態を示している。この場合、判定回路２１３は、期待値μが十分高まったと判定し、判定結果を選択スイッチ２１５へ出力する。選択スイッチ２１５は、この判定結果を受けて、周波数が高いサンプリングクロック（例えば、基準サンプリングクロック)を選択し、選択したサンプリングクロックをサンプリング回路１１へ出力する。そして、サンプリングを高速化して入力信号の検出処理が行われる。
【０１０１】
ここでは、サンプリングクロックの切り換え判定の基準となる判定基準が（５０＋ｂ）／２のみであったが、判定基準を細分化し、各判定基準に応じたサンプリングクロックが選択されてもよい。
【０１０２】
なお、ローレベル検知では、電圧レベルが反転するだけであり、動作内容はハイレベル検知と同様である。
【０１０３】
本実施の形態によれば、入力端子Ｐ１の端子電圧の電圧レベルのサンプリング状況に応じて、周波数の異なるサンプリングクロックを切り換える。この構成によれば、入力検出レベルがサンプリングされる割合が高まるまでは、サンプリングクロックの周波数が抑えられるので、入力信号の検出に関わる消費電力が低減される。例えば、分周回路２１１における分周比が２分周であり、時刻ｔ０から時刻ｔ１までの期間が、時刻ｔ１から入力信号が検出されるまでの期間と比べて十分に長い場合には、入力信号の検出に関わる消費電力は、実施の形態１、２の約２分の１程度にまで抑えられる。
【０１０４】
また、本実施の形態によれば、分周回路２１１は、それぞれ周波数が異なる複数のサンプリングクロックを生成し、判定回路２１３は、期待値μの判定基準を細分化する。この構成によれば、期待値μの値に応じて、サンプリングクロックをこまめに切り換えることが可能となる。これにより、消費電力を抑えつつ、入力信号の検出を短時間で行うことが可能となる。
【０１０５】
（実施の形態４）
次に、実施の形態４について説明する。実施の形態４では、実施の形態１〜３のようなベイズ統計を用いた統計処理を行うことなく、入力信号の検出を行うデジタルフィルタについて説明する。
【０１０６】
図１０は、本発明の実施の形態４に係るデジタルフィルタの構成の一例を示す回路図である。図１０のデジタルフィル３０１は、サンプリング回路１１、サンプリングカウンタ３１０、判定処理部３３０、判定条件設定レジスタ３４０等を備えている。
【０１０７】
サンプリングカウンタ３１０は、インバータ１７、選択スイッチ３１９、第３加算器３１３、第３サンプリング回数レジスタ３１５を有する。インバータ１７の入力側は、サンプリング回路１１の出力側と接続されている。選択スイッチ３１９の入力側は、サンプリング回路１１の出力側及びインバータ１７の出力側と接続されている。また、選択スイッチ３１９の入力側は、入力検出レベル設定レジスタ４１の出力側と接続されている。
選択スイッチ３１９の出力側は、第３加算器３１３の入力側と接続されている。第３加算器３１３の出力側は、第３サンプリング回数レジスタ３１５の入力側と接続されている。第３サンプリング回数レジスタ３１５の出力側は、第３加算器３１３の入力側及び判定処理部３３０のｚ値判定回路３３１と接続されている。
【０１０８】
インバータ１７は、論理反転させたサンプリングデータを生成し、選択スイッチ３１９へ出力する。選択スイッチ３１９は、サンプリングデータ、及び入力検出レベル設定レジスタ４１に設定された入力検出レベルの設定値ａに基づく所定の信号を出力する回路である。選択スイッチ３１９は、例えば、設定値ａに対応するサンプリングデータが入力されると、ハイレベルの信号を出力し、設定値ａに対応しないサンプリングデータが入力されるとローレベルの信号を出力する。なお、入力検出レベルの設定値ａが、ハイレベル及びローレベルのいずれに対応する値であっても、設定値ａに対応するサンプリングデータが入力されれば、選択スイッチ３１９はハイレベルの信号を出力する。
【０１０９】
第３加算器３１３は、設定値ａに対応する電圧レベルのサンプリング回数（以下、ｚと表記する場合がある）をカウントする回路である。第３サンプリング回数レジスタ３１５は、設定値ａに対応する電圧レベルのサンプリング回数ｚを格納するレジスタである。具体的に述べると、第３加算器３１３は、選択スイッチ３１９からハイレベルの信号が出力されると、直前のサンプリング回数ｚに１を加算し、サンプリング回数ｚの値を更新する。一方、第３加算器３１３は、選択スイッチ３１９からローレベルの信号が出力されると、直前のサンプリング回数ｚを更新しない。第３サンプリング回数レジスタ３１５は、格納しているサンプリング回数ｚをｚ値判定回路３３１へ出力する。
【０１１０】
判定処理部３３０は、ｚ値判定回路３３１、入力判定結果レジスタ３７、入力検出信号発生回路３９を備えている。ｚ値判定回路３３１は、入力信号に対応する電圧レベルのサンプリング回数ｚと、第１閾値ｂと、検知期間ｅにおけるサンプリング回数ｆとを用いて入力信号の検出を行う回路である。
【０１１１】
ｚ値判定回路３３１の入力側は、第３サンプリング回数レジスタ３１５の出力側、第１閾値設定レジスタ４３の出力側、サンプリング回数設定レジスタ３４７の出力側と接続されている。ｚ値判定回路３３１の出力側は、入力判定結果レジスタ３７の入力側と接続されている。入力判定結果レジスタ３７の出力側は、入力検出信号発生回路３９の入力側と接続されている。ｚ値判定回路３３１による判定処理については、後述する。
【０１１２】
判定条件設定レジスタ３４０は、入力検出レベル設定レジスタ４１、第１閾値設定レジスタ４３、検知反応時間レジスタ１４１、演算回路１４３、１４５、サンプリング回数設定レジスタ３４７を備えている。なお、演算回路１４３、１４５は、接続関係を考慮し、判定条件設定レジスタ３４０に設けられているが、判定条件設定レジスタ３４０の外に設けられてもよい。入力検出レベル設定レジスタ４１、第１閾値設定レジスタ４３、検知反応時間レジスタ１４１、演算回路１４３、１４５については、すでに述べているので、接続関係の相違点についてのみ説明する。演算回路１４５の出力側は、サンプリング回数設定レジスタ３４７の入力側と接続されている。したがって、演算回路１４５は、算出したサンプリング回数ｆをサンプリング回数設定レジスタ３４７へ出力する。サンプリング回数設定レジスタ３４７は、演算回路１４５で算出されたサンプリング回数ｆを格納し、ｚ値判定回路３３１へ出力する。
【０１１３】
＜ハイレベルの入力信号の検出処理＞
次に、本実施の形態における入力信号の検出処理について説明する。図１１は、本発明の実施の形態４に係る入力信号の検出処理の一例を示すフロー図である。なお、図１１は、入力検出レベルがハイレベルであるハイレベル検知に関わるフローである。図１１のフローは、ステップＳ４１〜Ｓ５１を含む。
【０１１４】
ステップＳ４１では、入力検出レベル設定レジスタ４１の設定値ａ、第１閾値設定レジスタ４３の検知期待値ｂが設定される。例えば、入力検出レベル設定レジスタ４１の設定値は、ハイレベルに対応する値（ａ＝１）に設定される。ステップＳ４２では、検知反応時間レジスタ１４１の検知反応時間ｄがユーザにより設定される。なお、ステップＳ４２の処理は、ステップＳ４１において行われてもよい。
【０１１５】
ステップＳ４３では、サンプリング回数設定レジスタ３４７にサンプリング回数ｆが設定される。検知反応時間レジスタ１４１に検知反応時間ｄが設定されると、演算回路１４３は、実施の形態２の式（５）を用いて入力信号の検知期間ｅを算出する。そして、演算回路１４５は、演算回路１４３で算出された検知期間ｅを用いて実施の形態２と同様にサンプリング回数ｆを算出し、サンプリング回数設定レジスタ３４７に格納する。
【０１１６】
ステップＳ４４では、第３サンプリング回数レジスタ３１５に格納されるサンプリング回数ｚが初期化される。ステップＳ４５では、入力端子Ｐ１の端子電圧のサンプリングが行われる。ステップＳ４５は、図２のステップＳ１３と同様である。また、ステップＳ４５では、検知期間ｅにおけるサンプリング回数をカウントする。カウントしたサンプリング回数は、例えば図示しないレジスタに格納されてもよいし、ラッチ回路等で保持されてもよい。
【０１１７】
ステップＳ４６では、サンプリングされた端子電圧の信号レベルが判定される。サンプリングされた端子電圧が、入力検出レベルであるハイレベルであると判定された場合、ステップＳ４７の処理が実行される。ステップＳ４７では、選択スイッチ３１９は、ハイレベルの信号を出力する。第３加算器３１３は、選択スイッチ３１９から出力されたハイレベルの信号に対応して、入力検出レベルのサンプリング回数をｚからｚ＋１に更新し、更新したサンプリング回数を第３サンプリング回数レジスタ３１５に格納する。
【０１１８】
ステップＳ４９では、ｚ値判定回路３３１は、入力信号に対応する電圧レベル、すなわち入力検出レベルのサンプリング回数ｚと、検知期待値ｂと、検知期間ｅにおけるサンプリング回数ｆとを用いて入力信号の検出を行う。具体的に述べると、ｚ値判定回路３３１は、まず、検知期間ｅにおけるサンプリング回数ｆと検知期待値ｂとの積（ｆｂ）を算出する。そして、ｚ値判定回路３３１は、入力検出レベルのサンプリング回数ｚと積ｆｂとを比較する。これらの値が、次に示す式（１１）の条件を満たす場合、ｚ値判定回路３３１は、端子電圧の真の電圧レベルが入力検出レベル（ハイレベル）であると判定し、例えば、ハイレベルの入力検出信号を出力する。
【０１１９】
ｚ＞ｂｆ    ・・・（１１）
式（１１）は、検知期間ｅにおけるｆ回のサンプリングのうち、入力検出レベル（ハイレベル）のサンプリング回数ｚが、ｂ％より高い確率でサンプリングされた場合には、入力信号が検出されたと判定されることを示している。
【０１２０】
そして、ステップＳ５０の処理が実行される。ステップＳ５０は、図２のステップＳ１９と同様であるので、説明は省略する。そして、入力信号の検出処理は終了する。
【０１２１】
ステップＳ４９において、入力検出レベルのサンプリング回数ｚ及び積ｆｂが式（１１）の条件を満たさない場合、ｚ値判定回路３３１は、端子電圧の真の電圧レベルが入力検出レベル（ハイレベル）ではないと判定し、例えば、ローレベルの入力検出信号を出力する。
【０１２２】
そして、ステップＳ５１の処理が行われる。ステップＳ５１では、検知期間ｅにおけるサンプリング回数がｆ回に達したかどうかが判定される。サンプリング回数がｆ回に達していなければ、ステップＳ４５の処理が再度行われる。これに対し、サンプリング回数がｆ回に達していれば、ステップＳ４４に戻り、第３サンプリング回数レジスタに格納された値が０に初期化される。また、検知期間ｅにおけるサンプリング回数も０に初期化される。
【０１２３】
一方、ステップＳ４６において、サンプリングされた端子電圧が、入力検出レベルであるハイレベルではないと判定された場合、ステップＳ４８の処理が実行される。ステップＳ４８では、選択スイッチ３１９は、ローレベルの信号を出力する。この場合、第３加算器３１３は、入力検出レベルのサンプリング回数の更新を行わない。すなわち、サンプリング回数はｚのままである。そして、ステップＳ５１の処理が行われる。
【０１２４】
＜ローレベルの入力信号の検出処理＞
次に、入力検出レベルがローレベルであるローレベル検知について説明する。図１２は、本発明の実施の形態４に係るローレベルの入力信号の検出処理の一例を示すフロー図である。なお、図１２は、図１１と類似しているため、図１１との相違点を中心に説明する。
【０１２５】
ステップＳ４１では、例えば、入力検出レベル設定レジスタ４１の設定値は、ローレベルに対応する値（ａ＝０）に設定される。なお、ここでは、第１閾値設定レジスタ４３に設定される検知期待値ｂは、入力検出レベルであるローレベルの検知期待値であるとする。
【０１２６】
ステップＳ４６では、サンプリングされた端子電圧が、入力検出レベルであるローレベルであるかどうかが判定される。サンプリングされた端子電圧が、ローレベルであると判定された場合、ステップＳ４７の処理が実行される。一方、サンプリングされた端子電圧が、入力検出レベルでないハイレベルであると判定された場合、ステップＳ４８の処理が実行される。
【０１２７】
本実施の形態によれば、ｚ値判定回路３３１は、入力信号に対応する電圧レベルのサンプリング回数ｚと、検知期待値ｂと、検知期間ｅにおけるサンプリング回数ｆと、を用いて入力信号の検出を行う。この構成によれば、電圧レベルごとのサンプリング回数を用いた統計処理行う必要がなくなり、回路構成が簡略化される。また、この構成によれば、ユーザが理解しやすい判定条件を用いた入力信号の検出を行うことが可能となる。
【０１２８】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【０１２９】
１、１０１、２０１、３０１…デジタルフィルタ、１０、３１０…サンプリングカウンタ、１１…サンプリング回路、２０…統計処理部、３０、３３０…判定処理部、４０、３４０…判定条件設定レジスタ、１４０…判定条件設定回路、２１０…サンプリングクロック選択回路、Ｐ１…入力端子
【図１】
2020137043.tif 000003
【図２】
2020137043.tif 000004
【図３】
2020137043.tif 000005
【図４】
2020137043.tif 000006
【図５】
2020137043.tif 000007
【図６】
2020137043.tif 000008
【図７】
2020137043.tif 000009
【図８】
2020137043.tif 000010
【図９】
2020137043.tif 000011
【図１０】
2020137043.tif 000012
【図１１】
2020137043.tif 000013
【図１２】
2020137043.tif 000014
【図１３】
2020137043.tif 000015
【図１４】
2020137043.tif 000016