In Electrical Engineering, a Schmitt trigger is a comparator
or inverter with hysteresis. It will convert a "dirty"
analog signal to a nice clean digital signal.
A comparator takes any input and digitizes it: for say a 4 V upper rail,
any input voltage below 2 V is output as 0 V and any input voltage above 2
V is output as 4V. An inverter inverts the input: any input voltage below
2 V is output as 4 V and any input voltage above 2 V is output as 0 V.
Now, an analog signal (such as a sine wave) will have noise - that
is, many small oscillations. With a simple comparator, the output will fluctuate
as the input passes the midpoint. Imagine a noisy sine wave as it crosses
the 2 V threshold: 1.94 V, 1.97 V, 1.95 V, 1.98 V, 2.01 V, 1.99 V, 2.02 V,
etc. The signal is in fact trending upward, but the noise causes glitches
in the output.
The Schmitt trigger introduces hysteresis. Instead of having one
threshold, there are two: one going up and one going down. Say we set the triggers
to 1.5 V and 2.5 V. Then the inverter will not go low on a rising input signal
until it reaches 2.5 V, and will not go high until the input signal becomes
less than 1.5 V. While the input is in between 1.5 V and 2.5 V, the output is
Logically, this is implemented as an additional weak inverter in the "other"
direction across the main inverter.
in --| \o-+--| \o-+-- out
| / | | / |
|/ | |/ |
| /| |
Here is the CMOS diagram:
_| |_ / _| |
/--o||_ _||o-/ /-o||_ |
in _| |_____|________| |__|___ out
| _| |_ | _| |
\---||_ _||--\ \--||_ |