The frequent deployment of hard reset functions on devices such as GPS
units, PDA's, modems, set-top boxes and other devices (requiring complete system reboot from such anomalies as line outages) often use a simple pushbutton interface. This interface
initiates a long time-delay pulse whereby re-initialization can both begin and remain uninterrupted until the task is complete.
For reasons relating to security or to the required reboot time, the pushbutton may need to be depressed for as long as some tens of seconds. An intelligent timer integrated into the system is used to ensure the pushbutton is depressed for some minimum, albeit lengthy time, known only to the service person performing the reboot.
The use of the low-cost single pole, single throw pushbutton requires a de-bounce circuit to ignore false triggers from an unintended closure and the multiple switch closures resulting from pushbutton bounce. Mercury-wetted switches once considered a remedy for the simple pushbutton bounce nuisance, are rarely used as a switch bounce remedy due to cost and impact on the environment.
A simple mono-stable multivibrator or one-shot, used with a logic gate discriminates from pulses of too short a duration. By choosing the one-shot pulse-width greater than the duration of the switch bounce pulse duration it also rids the receiving circuit of the multiple pulses from the pushbutton. Additionally, it can be used to ignore false trips by adjusting the pulse width (for example, into the hundreds of millisecond range).
As a low cost solution, the 555 timer or one of its many variants works well in this application using medium range valued components for the R-C time constant circuit thus keeping cost down. As shown in Figure 1a, the one-shot generates a pulse each time the pushbutton is depressed. If the length of the pulse from the pushbutton is less than the one-shot, the logic gate does not allow the pulse to pass. When the pulse equals or exceed the preset pulse width, the gate outputs a pulse equaling the difference of the pushbutton closure time minus the one-shot's chosen pulse width.
Figure 1a: One-Shot and a Logic Gate Makes A Pulse Discriminator (Pushbutton Debouncer)