The trigger is associated with a threshold that activates a sweep when the signal passes it. A sweep is the phase in which the oscilloscope records and displays the signal. After a sweep another phase occurs: the holdoff, in which the oscilloscope rejects any incoming signal. The holdoff period can be composed of a part of dead time, in which the oscilloscope is unable to accept any signal, and a part that can be user selectable. The dead time can be caused by various reasons like having to draw on the screen or having to store the data somewhere.
Looking at the image we get a sense of what happens.
- Signal 1 surpasses the threshold and activates the sweep;
- signal 2 is inside the sweep time and gets caught with the first;
- after the holdoff, signal 3 activates the sweep again;
- instead signal 4 is rejected because it falls inside the holdoff region.
The moral of this story is that we need:
- a threshold level to wich we can compare the incoming signal;
- a signal that tells the microcontroller to start the waiting phase (see preceding step).
- using a trimmer we can manually set a voltage level;
- using the PWM of the Arduino we can set the level by software;
- using the 3.3 V provided by the Arduino itself;
- using the internal bangap reference we can use a fixed level.