Patent ID: 9484899
Filing Date: 2016-11-01
CPC Classification: H03K

Claim Text:
1. A debounce circuit for eliminating noise, glitches, or transient signal variations resulting from mechanical bounce in electronic or mechanical devices occurring at an initiation of a change of state of at least one analog signals such that the debounce circuit supports a dynamic debounce period alteration and time base variation without loss of the current debounce state, the debounce circuit comprising: a physical counter configured for being disposed within a virtual counter defined to have a number of bits sufficient to generate a filter time for filtering the noise, glitches, or transient signal variations resulting from mechanical bounce occurring at an initiation of a change of state of the at least one analog input signal from a source device; a debounce clock controller configured for providing a fundamental clock to the physical counter, at least one time base signal indicating a location within the virtual counter that the physical counter is situated within the virtual counter for generating a debounce time to eliminate the noise, glitches, or transient signal variations resulting from mechanical bounce based on a required debounce time of the at least one analog signal, at least one timer strobe configured to be a submultiple of and aligned with the fundamental clock for incrementing the physical counter at the indicated location within the virtual counter such that the least significant binary digit of the physical counter is located at the virtual location in the virtual counter where two raised to the virtual location of the beginning binary digit of physical counter is the submultiple of the clock determining the strobe time, and a debounce threshold indicating a count of the virtual counter at which the debounce time has elapsed; and a virtual debounce controller in communication with the physical counter and the debounce controller, configured for defining the location of the physical counter within the virtual counter as defined by the at least one time base signal, and determining when the count of the virtual counter has exceeded the debounce threshold.