Interrupt Debouncing with Noise Filtering for Mechanical Switch Signals
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Mechanical buttons and switches generate irregular or noisy signals due to their mechanical nature, leading to spurious interrupts that can cause incorrect device behavior, as existing debouncing methods are inefficient in filtering out these noise signals and consuming significant CPU resources.
Innovation Solution
A debouncing algorithm that uses a debounce interval timer and a noise filtering interval timer to stabilize the signal line, masking and unmasking it at specific times to determine if the signal is genuine, thereby invoking an interrupt only when the line remains asserted and stable during the noise filtering interval, reducing CPU usage and effectively filtering out noise.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional debouncing methods are used to filter mechanical button noise, then spurious interrupts are reduced, but CPU resource consumption increases significantly
Solution Approach 1:
The patent applies preliminary action by pre-configuring the signal line as masked (disabled) before actual button presses occur. The debounce module is预先 set up with timer intervals and filtering criteria, so that when mechanical button noise generates spurious interrupts, the pre-masked state prevents CPU from processing these invalid signals, thereby reducing CPU resource consumption while maintaining interrupt accuracy.
2Measurement precision
If the signal line is continuously monitored to detect genuine interrupts, then interrupt detection accuracy is improved, but CPU usage increases during debounce intervals
Solution Approach 1:
The patent implements periodic action through the use of debounce module with configured timer intervals. Instead of continuous monitoring, the system periodically checks the signal line at specific intervals (debounce interval and noise filtering interval). This periodic sampling approach maintains adequate interrupt detection accuracy while allowing the CPU to enter low-power modes between intervals, thereby improving overall CPU efficiency.
3Reliability
If noise filtering interval timer is extended to ensure stable signal detection, then genuine interrupt identification is improved, but system response time increases
Solution Approach 1:
The patent applies parameter changes by configuring optimized timer interval values for the debounce module. The noise filtering interval timer is set to a specific duration that balances two competing requirements: long enough to filter out mechanical button bounce noise and identify genuine interrupts reliably, but short enough to maintain acceptable system response time. These parameters can be adjusted based on specific application requirements.
Data Source
AI summary
Systems and methods for debouncing a signal line within a computer device are provided. The mechanical nature of physical buttons and switches oftentimes present irregular or noisy signals on a signal line when depressed by a user. Thus, noise and/or irregular waveforms may be present on a signal line that is monitored to produce interrupt signals, when deemed valid and genuine. In many embodiments given herein, debounce modules and techniques set a debounce interval timer and/or a noise filtering interval timer in which debounce modules and/or techniques may note whether the signal line is still asserted (e.g., possibly a genuine interrupt signal) during the debounce interval timer and stable (e.g., no further interrupts have fired) during the noise filtering interval timer.


