Switch Input Debounce Using Dynamic Rest-Period Edge Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

User input devices, such as keyboards and mice, face issues with switch bouncing, which generates false signals due to the vacillation of moving parts in switches, leading to misinterpretation of button clicks and incorrect registration of phantom clicks or double clicks.

Innovation Solution

A method and device that dynamically adjust a masking period based on the longest interval between bounce signals, ignoring quick successive transition edges and recognizing genuine user input signals after a predetermined duration of non-activity, using a timer to count down to a rest period and restart upon detecting further edges, and adjusting the rest period to accurately identify user inputs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a fixed debounce circuit with a physical counter is used to filter bounce signals, then bounce signals are eliminated, but the debounce period cannot be dynamically adjusted to match different user click characteristics

Engineering Contradiction:
Improvebounce signal filteringVSAvoiddebounce period adjustment
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic debounce period adjustment mechanism where the rest period is automatically modified based on detected bounce signal characteristics. The system transitions from a static fixed debounce circuit to a dynamic system that adapts its filtering parameters in real-time according to the actual bounce behavior observed during operation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system employs feedback by monitoring the output signal for bounce signals and using this information to adjust the rest period. The bounce signal detector provides feedback about the presence and characteristics of bounce signals, which then triggers automatic adjustment of the debounce timing parameters to optimize filtering performance.

Inventive Principle:
Principle #23Feedback

2Reliability

If a long rest period is used to filter all bounce signals, then bounce signal filtering is improved, but genuine user input signals may be delayed or missed

Engineering Contradiction:
Improvebounce signal filteringVSAvoiduser input detection delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The rest period is implemented as a dynamic parameter rather than a fixed value. The system automatically adjusts the rest period duration based on the detected bounce signal characteristics, extending it only when bounce signals are present and maintaining it at minimal levels when no bounce is detected, thereby preventing unnecessary delays in genuine user input detection.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the timing parameters of the debounce circuit based on observed signal characteristics. By monitoring bounce signal intervals and using this information to adjust the rest period parameter, the system optimizes the balance between filtering effectiveness and response time, avoiding the need for a consistently long rest period that would delay all inputs.

Inventive Principle:
Principle #35Parameter changes

3Speed

If a short rest period is used to maintain fast response to user inputs, then user input detection speed is improved, but bounce signals are not adequately filtered

Engineering Contradiction:
Improveuser input detection speedVSAvoidbounce signal filtering
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system uses feedback from the bounce signal detector to dynamically adjust the rest period. When bounce signals are detected, the system automatically extends the rest period to ensure adequate filtering. When no bounce signals are present, the rest period remains short to maintain fast response times, thus adapting the filtering strength based on actual signal conditions.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The debounce circuit transitions from a static fixed timing system to a dynamic system that adjusts its rest period in real-time based on detected bounce characteristics. This dynamic adjustment allows the system to maintain short rest periods for fast response when needed while extending the rest period only when bounce filtering is actually required.

Inventive Principle:
Principle #15Dynamics

4Device complexity

If the debounce circuit uses a fixed physical counter, then the circuit structure is simple, but it cannot adapt to different switch types and user behaviors

Engineering Contradiction:
Improvedebounce circuit structureVSAvoidswitch type and user behavior adaptation
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent introduces dynamic adjustment capabilities to the debounce circuit while maintaining a relatively simple overall structure. The system uses a microcontroller or processing unit to implement adaptive algorithms that monitor bounce characteristics and automatically adjust timing parameters, providing versatility across different switch types and user behaviors without requiring multiple dedicated hardware circuits for each scenario.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The debounce circuit is designed as a universal system that can handle multiple switch types and user behaviors through software-based adaptive adjustment. Rather than requiring different hardware circuits for different applications, the system uses a single configurable circuit with programmable timing parameters that can be dynamically adjusted to suit various switch characteristics and user interaction patterns.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentEP3698235B1User input devices and methods for identifying a user input in a user input device
Publication Date: 2023.05.03 RAZER ASIA PACIFIC
  • EP3698235B1 patent drawingFigure 1~3
  • EP3698235B1 patent drawingFigure 4A~4B
  • EP3698235B1 patent drawingFigure 4C~4D

AI summary

According to various embodiments, there is provided a method for identifying a user input in a user input device, the method including: detecting edges in an output signal generated by a switch in the user input device; identifying a first-to-second-state edge as being indicative of a transition from a first state to a second state; counting down to a first rest period upon identifying the first-to-second-state edge; before completion of the counting down to the first rest period, restarting the counting down upon each detection of a further edge in the output signal; detecting a second-to-first-state edge in the output signal that occurs after completion of the counting down to the first rest period; and identifying the second-to-first-state edge as being indicative of a transition from the second state to the first state.