IT用語集 › ハードウェア › スイッチのチャタリング対策

スイッチのチャタリング対策

ハードウェア Svenska → 更新: 2026-11-02

機械式スイッチを押した直後の数ミリ秒に生じる、高速なオンオフの繰り返しパルスを取り除くこと。

金属の接点は跳ねる。GPIOピンを毎秒何百万回もポーリングしているマイコンには、1回のボタン押下が数ミリ秒のあいだに10回から50回の信号変化に見え、エッジトリガの割り込みも同じ回数だけ発火する。初めて押しボタンのカウンタを作った人なら、数字が3から11に跳ぶのを見たことがあるはずだ。

ハードウェアでの対策は、RCフィルタとシュミットトリガの組み合わせで、信号をなまらせてヒステリシスを加える。ファームウェアでは、たとえばSysTick割り込みで一定周期にピンをサンプリングし、新しい状態が数サンプル連続して続いたときにだけ受け入れるのが普通だ。最初のエッジの後に20ms待つ方法でも動くが、他の処理の時間を奪ってしまう。実際のスイッチの挙動を調べたジャック・ガンスルの解説は、今でも標準的な参考文献になっている。

← 用語集に戻る