(57)【要約】スイッチ非バウンス化デバイスは、スイッチ出力をサンプリングするサンプラによって生成されるサンプルをカウントするマジョリティカウンタを含み、ここで、カウンタ値は、スイッチの第１のスイッチ状態を示す各サンプルに対して増加し、第２のスイッチ状態を示す各サンプルに対して減少する。コントローラは、カウンタ値が第１の状態閾値より上にあるときスイッチが第１のスイッチ状態であることを、そしてカウンタ値が第２の状態閾値より下にあるときスイッチは第２の状態であることを決定する。
2010530661.tif 000002
【特許請求の範囲】
【請求項１】
第１のスイッチ状態を表す各サンプルに対するカウンタ値を増加させることと、第２のスイッチ状態を表す各サンプルに対する該カウンタ値を減少させることとによって、スイッチ出力の複数のサンプルをカウントするように構成されるカウンタと、
該カウンタ値が第１の状態閾値を超えたとき該スイッチが該第１のスイッチ状態であることを決定し、該カウンタ値が第２の状態閾値より下にあるとき該スイッチは該第２の状態であることを決定するように構成されるコントローラと
を備えている、スイッチ非バウンス化デバイス。
【請求項２】
前記スイッチの出力をサンプリングし、前記複数のサンプルを生成するように構成されるサンプラをさらに備えている、請求項１に記載のスイッチ非バウンス化デバイス。
【請求項３】
前記コントローラは、前記カウンタ値が前記第１の状態閾値未満であり、かつ前記第２の状態閾値を超えているとき、前記スイッチが前のスイッチ状態であることを決定するように構成される、請求項１に記載のスイッチ非バウンス化デバイス。
【請求項４】
前記第１の状態はオン状態であり、前記第２の状態はオフ状態である、請求項３に記載のスイッチ非バウンス化デバイス。
【請求項５】
前記サンプラは、前記複数のサンプルのうちの各サンプルに対する電圧減衰期間を決定するように構成されるタイマを備え、該電圧減衰期間は、容量性タッチスイッチのスイッチ電圧が初期電圧から基準電圧に放電されるのに必要とする時間に対応する、請求項１に記載のスイッチ非バウンス化デバイス。
【請求項６】
前記サンプラは、前記容量性タッチスイッチのキャパシタンスを前記初期電圧に充電することと、該キャパシタンスの電荷が該キャパシタンスと並列の抵抗を介して放電して各サンプルを生成することを可能にすることを行えるように構成される汎用入力／出力（ＧＰＩＯ）ポートをさらに備えている、請求項５に記載のスイッチ非バウンス化デバイス。
【請求項７】
サンプルの閾値以上の各電圧減衰期間に対してオン状態のサンプルを生成することと、該サンプルの閾値未満の各電圧減衰期間に対してオフ状態のサンプルを生成することを行うように構成されるサンプル評価器をさらに備えている、請求項５に記載のスイッチ非バウンス化デバイス。
【請求項８】
前記第１の状態閾値は、前記第２の状態閾値よりも大きい、請求項１に記載のスイッチ非バウンス化デバイス。
【請求項９】
スイッチを非バウンス化する方法であって、該方法は、
第１のスイッチ状態を表す各サンプルに対するカウンタ値を増加させることと、第２のスイッチ状態を表す各サンプルに対する該カウンタ値を減少させることとによって、スイッチ出力の複数のスイッチサンプルをカウントすることと、
該カウンタ値が第１の状態閾値を超えたとき該スイッチが該第１のスイッチ状態であることを決定し、該カウンタ値が第２の状態閾値より下にあるとき該スイッチは該第２の状態であることを決定することと
を包含する、方法。
【請求項１０】
前記スイッチの出力をサンプリングし、前記複数のサンプルを生成することをさらに包含する、請求項９に記載の方法。
【請求項１１】
前記カウンタ値が前記第１の状態閾値未満であり、かつ前記第２の状態閾値を超えているとき、前記スイッチが前のスイッチ状態であることを決定することをさらに包含する、請求項９に記載の方法。
【請求項１２】
前記第１の状態はオン状態であり、前記第２の状態はオフ状態である、請求項１１に記載の方法。
【請求項１３】
前記複数のサンプルのうちの各サンプルに対する電圧減衰期間を測定することをさらに包含し、該電圧減衰期間は、容量性タッチスイッチのスイッチ電圧が初期電圧から基準電圧に放電されるのに必要とする時間に対応する、請求項９に記載の方法。
【請求項１４】
汎用入力／出力（ＧＰＩＯ）ポートによって、前記容量性タッチスイッチのキャパシタンスを前記初期電圧に充電することと、
該キャパシタンスの電荷が該キャパシタンスと並列の抵抗を介して放電して各サンプルを生成することを可能にすることと
をさらに包含する、請求項１３に記載の方法。
【請求項１５】
サンプルの閾値以上の各電圧減衰期間に対してオン状態のサンプルを生成することと、該サンプルの閾値未満の各電圧減衰期間に対してオフ状態のサンプルを生成することと
をさらに包含する、請求項１４に記載の方法。
【請求項１６】
容量性タッチスイッチの出力をサンプリングし、複数のサンプルを生成するように構成されるサンプラであって、各サンプルはオン状態およびオフ状態を含む２つのスイッチ状態のうちの１つを示す、サンプラと、
該オン状態を表す各サンプルに対するカウンタ値を増加させることと、該オフ状態を表す各サンプルに対する該カウンタ値を減少させることとによって、該複数のサンプルをカウントするように構成されるカウンタと、
該カウンタ値がオン状態閾値を超えたとき該スイッチがオンであることを決定し、該カウンタ値がオフ状態閾値より下にあるとき該スイッチはオフ状態であることを決定するように構成されるコントローラであって、該オン状態閾値は該オフ状態閾値より大きい、コントローラと
を備えている、スイッチデバイス。
【請求項１７】
前記コントローラは、前記カウンタ値が前記オン状態閾値未満であり、かつ前記オフ状態閾値を超えているとき、前記スイッチが前のスイッチ状態であることを決定するように構成される、請求項１６に記載のスイッチデバイス。
【請求項１８】
前記サンプラは、前記複数のサンプルのうちの各サンプルに対する電圧減衰期間を決定するように構成されるタイマを備え、該電圧減衰期間は、容量性タッチスイッチのスイッチ電圧が初期電圧から基準電圧に放電されるのに必要とする時間に対応する、請求項１６に記載のスイッチデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
（発明の分野）
この発明は、概してスイッチに関し、より詳細にはスイッチ非バウンス化デバイスおよび方法に関する。
【背景技術】
【０００２】
（背景）
電気スイッチは、スイッチ出力がノイズ、バウンス、または他の原因に起因する誤った読み取りの影響を受け易いということにおいて制限される。例えば、スイッチがある状態から別の状態でトリガされた後、接点がバウンドすると、機械的スイッチの接点は開閉し得る。結果として生ずるスイッチ出力は、スイッチの複数回の起動として解釈され得るか、または望ましくない読み取りという結果になり得る。容量性タッチスイッチ（ｃａｐａｃｉｔｉｖｅ  ｔｏｕｃｈ  ｓｗｉｔｃｈ）などの他のタイプのスイッチは、バウンドする機械的な可動接点を有しないが、それでもノイズなどの他の原因に起因した不正確な出力の影響を受け易い。例えば、電磁信号および静電気は、容量性タッチスイッチ内の電荷が他の場合より速くかまたは遅く放電するようにさせ得、感知回路がスイッチの状態を誤って解釈するようにさせ得る。しかしながら、スイッチのバウンスおよびノイズに対処する従来の技術は、追加のハードウェア構成要素が必要であり、サイズおよび費用の追加となるということにおいて制限される。さらに、一定のタイミングが確立されなければならず、そしてスイッチ出力に関する情報が追跡されなければならず、このことが、複雑さと消費資源とを増加させる。例えば、スイッチのバウンスおよびノイズ問題に対処する多くの従来の技術は、スイッチ出力の複数のサンプルを定期的間隔で入手し、スイッチ出力信号が安定していて、過渡の結果ではないことを証明することを含む。典型的には、そのようなソフトウェアソルーションは、抵抗−コンデンサ（Ｒ／Ｃ）フィルタなどの外部のハードウェア要素と組み合わされる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
従って、スイッチ非バウンス化デバイスおよび方法に対するニーズがある。
【課題を解決するための手段】
【０００４】
（概要）
スイッチ非バウンス化デバイスは、スイッチ出力をサンプリングするサンプラによって生成されるサンプルをカウントするマジョリティカウンタを含み、カウンタ値は、第１のスイッチ状態を示す各サンプルに対して増加し、スイッチの第２のスイッチ状態を示す各サンプルに対して減少する。コントローラは、カウンタ値が第１の状態閾値より上にあるときスイッチは第１のスイッチ状態であり、カウンタ値が第２の状態閾値より下にあるときスイッチは第２のスイッチ状態であることを決定する。
【図面の簡単な説明】
【０００５】
【図１】図１は、例示的実施形態に従う、スイッチ非バウンス化デバイスのブロック図である。
【図２】図２は、スイッチ非バウンス化デバイスによって受信され、処理され、生成される例示的信号のグラフ図である。
【図３】図３は、例示的カウンタ値信号および対応する非バウンス化デバイス出力信号のグラフ図である。
【図４】図４は、容量性タッチスイッチに接続されたスイッチ非バウンス化デバイスを含むスイッチシステムのブロック図であり、ここでスイッチ非バウンス化デバイスは、容量性タッチスイッチ非バウンス化デバイスである。
【図５】図５は、容量性タッチスイッチの各サンプリング期間に関する時間の経過とスイッチ電圧との例示的関係のグラフ図である。
【図６】図６は、例示的実施形態に従う、スイッチを非バウンス化する方法のフローチャートである。
【発明を実施するための形態】
【０００６】
（詳細な説明）
図１は、スイッチ１０２に接続されたスイッチ非バウンス化デバイス１００のブロック図である。スイッチ非バウンス化デバイス１００は、任意の多数のスイッチ１０２の出力をフィルタリング、処理、または解釈し、ノイズ、バウンス、または他の原因に起因するスイッチ出力の誤った読み取りを減少させるかまたは除去するために、用いられ得る。スイッチ１０２は、機械的スイッチまたは容量性タッチスイッチなどの他のタイプのスイッチであり得る。スイッチ非バウンス化デバイス１００は、スイッチのタイプおよびサイズ、ならびに複数の誤った読み取りに対する予想される原因に従って設計される。例えば、スイッチ非バウンス化デバイスのサンプリングレートは、容量性タッチスイッチに存在するノイズの周波数に基づき選択され得る。スイッチ非バウンス化デバイス１００は、サンプラ１０４、カウンタ１０６およびコントローラ１０８によって実装されるように、本明細書において説明される機能を実行するハードウェア、ソフトウェア、および／またはファームウェアの任意の組み合わせを用いて実装され得る。サンプラ１０４、カウンタ１０６およびコントローラ１０８の例示的実装は、以下に説明される。機能ブロックにおいて実行されるように説明される機能は、複数のデバイスまたはブロックによって実行され得る。さらに、１つのブロックにおいて実行されるように説明される機能は、一部の状況において他のブロックによって実行され得る。例えば、カウンタ１０６は、一部の事態においてコントローラ１０８の一部として実装され得る。
【０００７】
サンプラ１０４は、サンプルイネーブル信号（ＳＡＭＰＬＥＮ）１１２によって決定されるサンプリング速度でスイッチ１０２の出力から受信される出力信号１１０をサンプリングする。サンプラ１０４によって生成される複数のサンプル１１４はカウンタ１０６によって受信され、ここで、各サンプルは、オン状態およびオフ状態などの２つのスイッチ状態のうちの１つの状態であることを示す。カウンタ１０６は、状態のうちのある状態に対してカウンタ値を増加させ、もう一方の状態に対してカウンタを減少させるマジョリティカウンタである。下記に論議される例に関して、カウンタ値は、オンスイッチ状態を示す各サンプルに対して増加し、オフスイッチ状態を示す各サンプルに対して減少する。一部の事態において、カウンタ値は、オフ状態サンプルに対して増加し、各オン状態サンプルに対して減少し得る。そのような実装において、閾値および出力信号は、本明細書において論議される例示的信号および値と比較して逆にさせられる。カウンタ値は、最小カウンタ値より下に減少しないし、最大カウンタ値より上に増加しない。
【０００８】
コントローラ１０８は、カウンタ１０６から受信されたカウンタ値信号１１６に基づき、出力信号１１８を生成する。コントローラ１０８は、カウンタ値が第１の状態閾値を超えたとき、スイッチ１０２が第１のスイッチ状態であることを決定し、カウンタ値が第２の状態閾値より低下したとき、スイッチ１０２が第２のスイッチ状態であることを決定する。従って論議される例に関して、コントローラ１０８は、カウンタ値が上の閾値を超えたとき、スイッチがオン状態であることを示す出力信号１１８を生成し、カウンタ値が下の閾値より下に下がったとき、スイッチ１０２がオフ状態であることを示す出力信号１１８を生成する。
【０００９】
図２は、スイッチ非バウンス化デバイス１００によって、受信され、処理され、生成される例示的信号のグラフ図であり、ここで、第１のスイッチ状態はオン状態であり、第２のスイッチ状態はオフ状態である。スイッチ出力信号（ＳＷＩＴＣＨＯＵＴ）１１０は、ノイズ、バウンス、またはスイッチ１０２の意図された状態を変更する他のイベントの任意の組み合わせを有し得る。従って、図２に示されるスイッチ出力信号１１０は、概して機械的スイッチおよび容量性タッチスイッチの出力を表す。例示的実施形態において、サンプラ１０４は、サンプルイネーブル信号（ＳＡＭＰＬＥＮ）１１２を介してコントローラ１０８によって示されるサンプル時間にスイッチ出力１１０をサンプリングする。一部の事態において、サンプラ１０４は、コントローラ１０８からの制御なしにサンプリングし得る。例えば、サンプラ１０４は、コントローラ１０８からの指示なしに周期的間隔で信号をサンプリングし得る。結果として生ずるサンプラ出力信号１１４は、複数のサンプルを含み、ここで、各サンプルは、スイッチ１０２の状態を示す。図２に示されるように、スイッチ１０２のオン状態として解釈される高スイッチ出力信号２０２は、正パルス２０４として表される。オフ状態として解釈される低スイッチ出力信号２０６は、０レベル信号２０８として表される。スイッチ出力１１０を解釈し、サンプル時間にスイッチ状態を決定するために、任意の多くの技術が用いられ得る。適切な技術は、信号振幅が閾値より上にあるときオン状態パルス２０４を生成すること、およびスイッチ出力信号振幅が閾値より下にあるときオフ状態信号を生成することを含む。
【００１０】
カウンタ方向状態（ＣＮＴＤＩＲ）２１０は、サンプラ出力信号１１４の複数のサンプルに対応するカウンタ方向を示す。サンプラ出力信号１１４の各正パルスに関して、図２は、カウンタ値１１６が１増加することを示す上方を指す矢印を示す。各０サンプルに関して、カウンタ方向状態は、カウンタ値１１６が１減少することを示す下方を指す矢印を示す。上記のように、方向は一部の実装において逆にされ得る。図３を参照して下記にさらに詳細に説明されるように、スイッチ非バウンス化デバイス１００の出力１１８は、カウンタ値が上方の閾値（第１の状態閾値）を超えるまで、低レベル出力２１２を有するオフ状態のままであり、カウンタ値が下方の閾値（第２の状態閾値）の下に減少するまで、高レベル出力２１４を有するオン状態のままである。従って、デバイス１００出力は、ヒステリシス関数に従う。
【００１１】
図３は、例示的カウンタ値信号１１６および対応するスイッチ非バウンス化デバイス出力信号の１１８のグラフ図３００である。図３に描かれる値は、図２に表される値と必ずしも一致しない。上記に論議されるように、カウンタ値は、サンプラ１０４によって生成されるサンプルに基づいて、増加および減少する。カウンタ値１１６は、第１のスイッチ状態を示す各サンプルに対して増加し、第２のスイッチ状態を示す各サンプルに対して減少する。例示的実施形態において、カウンタ値１１６は、各サンプルに対して１増加３０６だけ増加し、スイッチがオン状態であることを示し、各サンプルに対して１減少３０８だけ減少し、スイッチがオフ状態であることを示す。カウンタ値１１６は、最小カウンタ値（ＣＯＵＮＴＭＩＮ）３０２〜最大カウンタ値（ＣＯＵＮＴＭＡＸ）３０４の範囲にある。従って、カウンタ値は、最小カウンタ値３０２より下に減少しないし、最大カウンタ値３０４より上に増加しない。カウンタ値が第１の状態閾値３１０を超えるとき、コントローラ１０８は、スイッチ１０２が第１のスイッチ状態であることを決定し、第１のスイッチ状態を示す出力１１８を生成する。例示的実施形態において、第１の状態閾値３１０はオン状態閾値であり、コントローラ１０８は、高レベル出力２１４を生成し、スイッチがオンであることを示す。カウンタ値１１６が第２のスイッチ状態３１２に減少すると、コントローラ１０８は、出力１１８を生成し、スイッチ１０２が第２のスイッチ状態であることを示す。例示的実施形態において、第２の状態閾値３１２はオフ状態閾値であり、コントローラ１０８は、低レベル出力２１２を生成し、スイッチがオフであることを示す。従って、非バウンス化デバイス１００の出力信号１１８は、システリシス関数に従う。ノイズ、バウンスおよび誤った読み取りの可能性のある他の原因は、解釈されるスイッチ出力に対して最小の影響しか及ぼさないかまたは全く影響を及ぼさない。マジョリティカウンタを用いる例示的非バウンス化デバイス１００は、カウンタ値平均に基づき、従来の非バウンス化回路よりも誤った読み取りを生成する可能性が少ない。なぜなら、大きな不要信号は、平均カウンタ値ほど多くマジョリティカウンタに影響を及ぼさないからである。非バウンス化デバイス１００は、様々なタイプのスイッチと共に用いられ得るが、例示的非バウンス化デバイス１００は、特に容量性タッチスイッチとの使用に有用である。
【００１２】
図４は、容量性タッチスイッチ４０２に接続されたスイッチ非バウンス化デバイス１００を含むスイッチシステムのブロック図であり、ここで、スイッチ非バウンス化デバイス１００は、容量性タッチスイッチ非バウンス化デバイス４００である。容量性タッチスイッチ４０２は、コンデンサ４０４を形成するガラスまたはプリント回路基板などの絶縁材料上に２つの隣接する伝導性領域を含む。伝導性層は、領域の上に指が置かれたときなど領域がブリッジされたとき増加するキャパシタンスを作る。スイッチ４０２の状態は、領域がブリッジされる前およびブリッジされた後にキャパシタンスの変化を決定することによって決定される。例示的実施形態において、抵抗器４０６およびコンデンサ４０４は、ＲＣ組み合わせを横切るスイッチ電圧（ＶＳＷ）４０８の減衰期間を測定することによって決定される時定数を有するＲＣ回路を形成する。汎用入力／出力（ＧＰＩＯ）ポート４１０は、コントローラ１０８によって提供されるサンプルイネーブル信号（ＳＡＭＰＬＥＮ）１１２に応答して、ＲＣ回路に電圧を印加し、次いで回路に高インピーダンスを提供する。従って、ＧＰＩＯポート４１０が、電源を切られ、高インピーダンスを提供し抵抗器４０６を介してコンデンサ４０４が放電することを可能にする前に、コンデンサ４０４を充電するのに十分な持続期間中に初期電圧がスイッチ４０２に印加される。コンパレータ４１２は、スイッチ４０２を横切る電圧および基準電圧に基づき論理信号を生成する。スイッチ電圧４０８が基準電圧より大きいとき、コンパレータ４１２は高論理信号を生成する。そうでなければ、コンパレータ４１２からの出力信号は低論理信号である。クロック信号およびコンパレータ４１２の出力は、ＡＮＤゲート４１４において受信される。その結果、ＡＮＤゲート４１４の出力は、キャパシタンス４０４を横切る電圧（ＶＳＷ）４０８が抵抗４０６を介して基準電圧（ＶＲＥＦ）より下に減衰するまで、ＧＰＩＯポート４１０が高に設定されたとき始まる一連のクロックパルスである。タイマ４１６は、各サンプルにおいてリセットされ、経過するクロックサイクル数によって減衰の持続期間を測定する。コントローラ１０８は、スイッチ４０２が触れられたことを期間が示すかどうかを判定する。期間が閾値期間よりも長い場合、コントローラ１０８は、スイッチ４０２が触れられたことを示す出力をスイッチ４０２が提供することを決定する。期間が閾値よりも少ない場合、コントローラ１０８は、スイッチ４１０が触れられていないことをスイッチ出力１１０が示すことを決定する。しかしながら、スイッチ出力１１０による指示はスイッチ４０２の実際の状態を正確に指示しない場合がある。ノイズはコンデンサ４０４を横切る電圧（ＶＳＷ）４０８を変化させ得、ノイズがない場合に発生したであろう期間よりも短いかまたは長い電圧減衰期間という結果になり得る。一部の場合において、ノイズは、電圧（ＶＳＷ）４０８を十分に変化させ、ノイズの存在がない場合に示したであろう状態とは反対のスイッチの状態を期間が示すようにさせる。
【００１３】
例示的実施形態に従って、コントローラ１０８は、カウンタ値を監視し、スイッチ４０２の状態を決定する。上記のように、カウンタ１０６は、各サンプルによって示される状態に基づきカウンタ値を増加および減少させることによってサンプルをカウントする。各サンプルは評価されてカウンタの方向を決定し、カウンタは増加または減少させられ、カウンタ値は評価されて適切な出力１１８を決定する。
【００１４】
サンプル評価器４１８は、タイマによって獲得されるデータを処理し、各サンプルが第１のスイッチ状態かまたは第２のスイッチ状態を示すかどうかを判定する。サンプル評価器４１８は、サンプルに対してタイマによって測定される減衰期間がサンプル閾値よりも大きいかまたは少ないかどうかを決定する。サンプル減衰期間がサンプル閾値よりも大きい場合、サンプル評価器４１８は、サンプルがオン状態サンプルなどの第１の状態サンプルを表すことを決定する。サンプル減衰期間がサンプル閾値以下である場合、サンプル評価器は、サンプルがオフ状態サンプルなどの第２の状態サンプルを示すことを決定する。サンプル評価器は、例示的実施形態においてコントローラ１０８の一部として実装される。
【００１５】
サンプル評価器４１８の決定に基づき、カウンタ１０６は、増加または減少させられる。カウンタ値評価器４２０は、カウンタ値を評価し、出力１１８を決定する。
【００１６】
スイッチ非バウンス化デバイス４００の様々な構成要素は、ハードウェア、ソフトウェアおよび／またはファームウェアの任意の組み合わせを用いて実装され得る。図４を参照して論議される１つ以上の機能ブロックは、いくつかのデバイスにわたってかまたは単一のデバイス内で実装され得る。例えば、カウンタ１０６、サンプル、評価器。カウンタ評価器４２０および任意の数のサンプラ構成要素は、単一のプロセッサまたは特定用途向け集積回路（ＡＳＩＣ）において実装され得る。適切な実装の例は、オシレータ、ＧＰＩＯコントローラ、コンパレータ、ゲーティング論理、タイマおよびメモリのハードウェア実装を含む単一のマイクロプロセッサを利用することを含む。ＲＯＭなどのメモリの一部に含まれるファームウェアコードは、様々なハードウェアデバイスを制御し、カウントされるタイマからサンプルを生成する。カウントは、ＲＡＭなどのメモリの別の部分に格納される。ファームウェアは、所定の閾値に基づく結果として生ずるカウントに基づき、動作を処理し呼び出すか、または別の外部デバイスに結果を通信し得る。特定の構成要素値およびデバイスタイプの選択は、スイッチのサイズおよび予期されるノイズの特性に基づく。ポータブル通信デバイスにおける使用のための典型的な容量性タッチスイッチ４０２は、１０〜２００ｐＦのオーダーのキャパシタンスおよび４．７ＭΩの抵抗を含む。スイッチ４０２などに関して、適切なタイマは１６ビットタイマを含み、ここで、クロック周波数は約８ＭＨｚである。最小カウンタ値３０２および最大カウンタ値３０４に対する適切な値は、それぞれ０および３１である。適切な第１の状態閾値（上方の閾値）３１０は２５であり、適切な第２の状態閾値（下方の閾値）３１２は６である。
【００１７】
図５は、容量性タッチスイッチ４０２の各サンプル期間に関する時間の経過とスイッチ電圧との例示的関係のグラフ図である。時間の経過によるスイッチ電圧４０８の曲線５０２、５０４、５０６は、種々の事態に対する電圧４０８と時間との一般的な関係を示し、必ずしも一定の縮尺ではない。最も速く減衰する曲線５０２は、減衰期間Ｔ１内に基準電圧（ＶＲＥＦ）に達する。最も遅く減衰する曲線５０６は、減衰期間Ｔ３内に基準電圧（ＶＲＥＦ）に達する。中間の曲線５０４は、他の２つの期間の間にある減衰期間Ｔ２内に基準電圧（ＶＲＥＦ）に達する。例示的実施形態において、サンプル評価器４１８は、各サンプルに対する減衰期間を比較し、減衰期間がサンプル閾値（ＴＴＨＲＥＳＨ）５０８よりも大きいかどうかを判定する。サンプル期間がサンプル閾値よりも大きい場合、サンプル評価器４１８は、サンプルがオン状態サンプルであると決定する。サンプル期間がサンプル閾値以下である場合、サンプル評価器４１８は、サンプルがオフ状態サンプルであると決定する。従って、図５における例に関して、最も速く減衰する曲線５０２は、タイマ４１６によって計られ、オフ状態サンプルであると決定される。サンプル期間Ｔ２およびＴ３を有する他の曲線は、オン状態サンプルであると決定される。上記のように、カウンタ１０６値は、結果として生ずるサンプル状態に基づき増加および減少する。
【００１８】
図６は、例示的実施形態に従ってスイッチをバウンドさせない方法のフローチャートである。方法は、ハードウェア、ソフトウェアおよび／またはファームウェアの任意の組み合わせによって実行され得るが、方法は、例示的実施形態においてコントローラ１０８におけるソフトウェアコードを実行することによって行われる。
【００１９】
ステップ６０２において、複数のサンプルは、第１のスイッチ状態を表す各サンプルに対するカウンタ値１１６を増加させ、第２のスイッチ状態を表す各サンプルに対するカウンタ値１１６を減少させることによって、カウントされる。サンプラによって生成されるサンプルは、評価され、各サンプルによって示されるスイッチの状態を決定する。サンプルがオン状態などの第１の状態を示す場合、カウンタ値１１６は増加する。サンプルがオフ状態などの第２の状態を示す場合、カウンタ値１１６は減少する。カウンタ値１１６は、最小カウンタ値３０２と最大カウンタ値３０４との間に維持される。従って、カウンタ値１１６が最大カウンタ値３０４に等しい場合、カウンタ値１１６は増加せず、カウンタ値１１６が最小カウンタ値３０２に等しい場合、カウンタ値１１６は減少しない。
【００２０】
ステップ６０４において、カウンタ値１１６が第１の状態閾値３１０を超えるかどうかが決定される。カウンタ値１１６が第１の状態閾値３１０よりも大きい場合、方法はステップ６０６において継続する。そうでなければ、方法はステップ６０８に進む。
【００２１】
ステップ６０６において、スイッチ４０２の状態が第１のスイッチ状態であることを示すデバイス出力信号１１８が生成される。従って、第１のスイッチ状態がオン状態であり、ステップ６０４においてカウンタ値１１６がオン状態閾値（第１の状態閾値）より大きいように決定される場合、スイッチ非バウンス化デバイス１００は、スイッチ４０２が起動されたことおよびオン状態であることを示す出力信号１１８を生成する。方法が変化を必要とするまで、出力信号１１８は維持される。従って方法は、ステップ６０２に戻り、サンプルのカウントを継続する。
【００２２】
ステップ６０８において、カウンタ値１１６が第２の状態閾値３１２より小さいかどうかが判定される。値が第２の状態閾値３１２より下である場合、方法はステップ６１０において継続する。そうでない場合、方法はステップ６１２に進む。
【００２３】
ステップ６１０において、スイッチ４０２の状態が第２のスイッチ状態であることを示すデバイス出力信号１１８が生成される。従って、第２のスイッチ状態がオフ状態であり、ステップ６０８においてカウンタ値１１６がオフ状態閾値（第２の状態閾値３１２）より小さいように決定される場合、スイッチ非バウンス化デバイス１００は、スイッチ４０２が起動されていないことおよびオフ状態であることを示す出力信号１１８を生成する。方法が変化を必要とするまで、出力信号１１８は維持される。従って方法は、ステップ６０２に戻り、サンプルのカウントを継続する。
【００２４】
ステップ６１２において、スイッチ４０２の前の状態を示すデバイス出力信号１１８が生成される。カウンタ値１１６が、第１の状態閾値３１０より大きくなく、第２の状態閾値３１２より小さくないとき、方法はステップ６１２に到着する。従って、ステップ６１２において、カウンタ値１１６は、２つの閾値３１０、３１２の間にある。出力信号は示される直前の状態から変更されないで、方法は、ステップ６０２に戻り、サンプルのカウントを継続する。
【００２５】
任意の多数のソフトウェアコードステップが、実行され得、例示的方法に関して説明されるステップを行い得る。方法を行うのに適したコードの例は、すぐ下に提供される。次の例に関して、最小カウンタ値３０２は０に等しく、最大カウンタ値３０４は３１に等しい。第１の状態閾値は２５であり、第２の状態閾値は６である。前に説明されたデバイスおよび方法は、ノイズを受けやすい任意の信号に適用され得る。下記の例示的なコードに関して、ＡＣ信号は、簡易なコンパレータがライン上のノイズにより生成する偽レベルを除去しながら、サンプリングされ、線周波数クロック源を生成する目的で極性を決定する。「Ｄｅｂｏｕｎｃｅｒ」は、サンプリングされたＡＣ信号の高（カウントアップ）状態または低（カウントダウン）状態をカウントする変数である。「Ｓｉｎｅ_ｌｅｖｅｌ_ｗａｓ」は、Ｄｅｂｏｕｎｃｅｒカウントから決定されるように、ＡＣ信号の前の状態である。「Ｓｉｎｅ＿ｌｅｖｅｌ＿ｉｓ」は、Ｄｅｂｏｕｎｃｅｒカウントから決定されるように、ＡＣ信号の現在の状態である。「Ｓｉｎｅ＿ｃｏｕｎｔｅｒ」は、Ｓｉｎｅ_ｌｅｖｅｌ_ｗａｓおよびＳｉｎｅ＿ｌｅｖｅｌ＿ｉｓの低レベルと高レベルとの間の単純なカウントの変化である。数０、６、２５および３１は、それぞれ、Ｄｅｂｏｕｎｃｅｒの最小値、第２の閾値、第１の閾値および最大値として設定される。
【００２６】
下記のコードの実行に続いて、サンプリングされたＡＣ信号が高であると決定され、Ｄｅｂｏｕｎｃｅｒがまだその最大値３１に達しない場合、Ｄｅｂｏｕｎｃｅｒは増加する。サンプリングされたＡＣ信号が低であると決定され、Ｄｅｂｏｕｎｃｅｒがまだその最小値０に達しない場合、Ｄｅｂｏｕｎｃｅｒは減少する。Ｄｅｂｏｕｎｃｅｒが第２の閾値６未満である場合、ＡＣ線は、現在、低、すなわちＳｉｎｅ＿ｌｅｖｅｌ＿ｉｓが低（または代わりに、０）であると考えられる。Ｄｅｂｏｕｎｃｅｒが第１の閾値２５より大きい場合、ＡＣ線は、現在、高、すなわちＳｉｎｅ＿ｌｅｖｅｌ＿ｉｓが高（または代わりに、１）であると考えられる。Ｓｉｎｅ＿ｌｅｖｅｌ＿ｉｓがＳｉｎｅ＿ｌｅｖｅｌ＿ｗａｓと異なる場合、すなわち状態の変化である場合、Ｓｉｎｅ＿カウンタ変数は、増加し、状態の次の変化の準備のために、Ｓｉｎｅ＿ｌｅｖｅｌ＿ｗａｓはＳｉｎｅ＿ｌｅｖｅｌ＿ｉｓに等しくされる。モジュロ６０カウンタは、６０Ｈｚ線周波数を秒に変換する目的のために実装される。
【００２７】
【数１】
2010530661.tif 000003
【００２８】
【数２】
2010530661.tif 000004
従って、例示的スイッチ非バウンス化デバイス１００および方法は、サンプルのカウントを維持することによってスイッチ１０２の偽読み取りを最小限にし、ここで、カウンタ値１１６は、第１のスイッチ状態を示すサンプルに対して増加し、第２のスイッチ状態を示すサンプルに対して減少し、ここで、第１の状態閾値３１０は、第２の状態閾値３１２よりも大きい。２つの閾値３１０、３１２は、ヒステリシス閾値範囲を確立する。サンプリングは、予期されるノイズ源に非同期であると考えられ得る任意の周波数で、上方閾値および下方閾値へのカウントが入力の予期される応答時間より速く行われるような速度で、行なわれ得る。処理リソースは効率的に利用され得る。なぜなら、サンプリングは、定期的タスクおよび処理タスクである必要はなく、リソースに対する負荷が最小限であるときにサンプリングが実行され得るからである。固定したタイミングが関連する読み取り間に確立されなければならないということはなく、マジョリティカウンタ値を超える入力についてのどの情報も１つのサンプリングから次のサンプリングに保持される必要はない。ヒステリシスおよび応答は、最大カウンタ値３０４、第１の状態閾値および第２の状態閾値の選択によって動的にプログラムされ得る。外部フィルタリングは必要ない。スローエッジレート信号を処理するために、任意の閾値を有するハード論理Ｓｃｈｍｉｄｔトリガ入力は必要ない。
【００２９】
明らかに、この発明の他の実施形態および修正は、これらの教示を考慮して当業者が容易に思いつく。上記の説明は、例示的であり、制限するものではない。この発明は以下の特許請求の範囲によってのみ限定されるべきであり、特許請求の範囲は、上記の明細書および添付の図面に関連して見られるとき、すべてのそのような実施形態および修正を含む。従って本発明の範囲は、上記の説明を参照して決定されるのではなく、そうではなくて、添付の特許請求の範囲およびその均等物の全範囲を共に参照して決定されるべきである。
【図１】
2010530661.tif 000005
【図２】
2010530661.tif 000006
【図３】
2010530661.tif 000007
【図４】
2010530661.tif 000008
【図５】
2010530661.tif 000009
【図６】
2010530661.tif 000010
【国際調査報告】
2010530661.tif 000011
2010530661.tif 000012