Advanced digital triggers

The PicoScope software and PicoScope oscilloscopes have a number of advanced trigger types that enable you to capture a stable waveform even with complex signals. This makes them ideal for troubleshooting glitches, timing violations, overvoltages and dropouts in analog and digital circuits.

We shall first review the Simple Edge trigger and its limitations, and then explore the possibilities that advanced triggering offers.

Simple edgeSimple Edge

As an oscilloscope user, you will be familiar with the standard type of triggering provided on all instruments. PicoScope software calls this the Simple Edge trigger, and uses it by default when you enable triggering. The scope monitors the incoming signal and waits for the voltage to rise above (or fall below) a set threshold, then causes the scope to capture and display the waveform. This method is adequate when the signal consists of repetitive pulses or cycles like those in a pure sine or square wave.

The Simple Edge trigger has a basic set of options: the signal source (A, B, C, D, EXT, AUXIO), edge direction (rising or falling) and threshold voltage.

Configuring the Simple Edge trigger

PicoScope software lets you avoid the complexity of advanced triggers unless you really need to use them. We will first look at the trigger mode control and the Simple Edge trigger types.

PicoScope 7 trigger mode control with auto trigger mode selected

Trigger mode control

The trigger mode control tells the scope whether to wait for a trigger condition and what to do next. None, Single, Repeat and Auto modes work as in any other oscilloscope. Depending on the PicoScope model and timebase settings there may also be special modes such as Rapid and ETS (Equivalent Time Sampling).

Standard triggering controls

The Channel, Pre-trigger, Threshold and Direction controls allow you to set up simple edge triggering. Experienced oscilloscope users will find these controls familiar even if they have not used PicoScope before - for new and beginner users, check out our trigger series by Roger Berry.

The trigger point is shown by the yellow diamond shape (). It indicates the moment when the signal rises above the threshold voltage. This method gives a satisfactory display if all the pulses are of the same shape and equally spaced. 

The trigger diamond on the graph display can be moved manually by clicking and dragging it with the mouse. This will adjust the trigger threshold (vertical) and the pre-trigger percentage (horizontal).

The square wave in this image represents the simplest type of signal produced by electronic circuits such as crystal oscillators and phase-locked loops. The trigger threshold is set to Most signals are more complex than this.

In this waveform, the pulses are of unequal widths. If we use Single trigger mode, the scope will pick the first rising edge it sees. We happened to catch the rising edge of the short pulse in this case, but the scope could just as easily have started capturing on any of the other rising edges. If we were looking for a narrow pulse that occurred only once in every million normal pulses, then we would be very lucky to find it using this hit-or-miss method.

In Auto or Repeat trigger mode, the scope captures continually many times each second. This image shows a number of waveforms superimposed, as you might see if the refresh rate is fast enough. This type of display is of little use if we want to see the data contained in the pulse train.

This brief discussion of Simple Edge triggering suggests that if we want to reliably find a rare event, such as a narrow pulse buried in a string of wider pulses, we need a more powerful type of trigger.

What advanced trigger types are available?

To access advanced trigger types, click  next to the Edge type in the Trigger lozenge.
Below is an interactive list of advanced trigger types that are currently available:


Simple edge trigger

Advanced edge trigger

Window trigger

Interval trigger

Pulse width trigger

Window pulse width trigger

Level dropout trigger

Window dropout trigger

Runt trigger

Rise/Fall time trigger (New)

Digital trigger

Logic trigger

Click this button to open the Advanced Triggers dialog. If the button is greyed out, you are using a trigger mode (ETS, for example) that is not compatible with advanced triggering.

Advanced Triggers dialog

This dialog allows you to set up the advanced triggers. The Simple Edge trigger also appears here: selecting it switches off advanced triggering.

Select one of the advanced trigger types in this list and a number of options, a diagram and a description will appear in the main area of the dialog.

Advanced Edge trigger

The Advanced Edge trigger provides the standard rising, falling and dual edge conditions. Dual edge triggering allows you to check the widths and voltages of positive and negative pulses as the same time. It is useful for rapidly spotting jitter and noise problems, and for displaying eye patterns.

The Advanced Edge trigger also provides adjustable hysteresis. Hysteresis is a technique used on all types of trigger to reduce false triggering on noisy signals. The voltage threshold is split into two levels, and the trigger fires only when the signal crosses the two thresholds in the correct order. The first threshold arms the trigger, and the second causes it to fire. In Simple Edge triggering the distance between the hysteresis levels is fixed, but in advanced triggers it is adjustable.

Waveform showing the hysteresis noisy signal trigger

Consider this very noisy signal. It is difficult to trigger stably on this signal with a normal rising edge trigger because it crosses the trigger threshold, the red line in this example, several times in one cycle. If we zoom in on the highlighted parts of the signal, we will see how hysteresis can help.

In these zoomed-in views the original threshold is the lower red line. The upper red line is the second threshold used by the hysteresis trigger.

Screenshot of a waveform demonstrating the hysteresis trigger

PicoScope waveform demonstrating the hysteresis  trigger

The signal rises across the lower threshold at (1) and (2), arming the trigger but not firing it. At (3) the signal finally crosses the upper threshold, firing the trigger. On the falling edge of the signal, at (4) and (5), rising edges of noise pulses cause the signal to cross the upper and lower thresholds, but in the wrong order, so the trigger is not armed and does not fire. Thus the trigger occurs at only one well-defined point in the cycle, despite the noise on the signal.

In PicoScope, hysteresis is measured as a fraction of the full voltage range. For example, if the scope is set to a voltage range of ±1 V, then a hysteresis setting of 1% gives a hysteresis of 1% x 2 V = 20 mV.

Window trigger

This trigger detects the moment when the waveform enters or leaves a voltage range. This allows you to search for overvoltages and undervoltages at the same time. In this example a 5 volt power supply is monitored with thresholds of 4.7 and 5.22 volts. The window trigger will detect both the positive and negative excursions outside this range.

The Direction control specifies whether the trigger operates when the signal enters the window, exits it, or both. The Threshold 1 and Threshold 2 controls define the upper and lower limits of the voltage window.

PicoScope Waveforms demonstrating the Trigger interval

Interval trigger

This trigger helps you find missing or mistimed edges, or changes in signal frequency.

The picture shows two examples of a 4 MHz clock waveform with a missing pulse. You could use a pulse width trigger to search for the extended high pulse in the top example or the extended low pulse in the bottom example, but the interval trigger lets you find both errors without having to change the trigger type. Setting an interval trigger of “rising, greater than 300 ns” will detect both cases. The trigger point is set to the first rising edge after the long interval.

Set the Starting edge control to either Rising or Falling according to the polarity of the edges you are interested in.

Pulse Width trigger

This trigger enables you to trigger exclusively on pulses with a specified range of widths. This can be useful for finding glitches, rare events in synchronous control signals such as write-enables, or extreme values in pulse-width modulated (PWM) signals.

In this screenshot the trigger was set to “pulse width, positive, inside range 80 - 90 μs”. This found a 83 μs pulse in a stream of 40 - 80 μs and greater pulses.

The Pulse direction control specifies whether you want to trigger on either positive or negative pulses.

The Condition control specifies whether you are looking for pulses wider or narrower than a specified width, or inside or outside a specified range of widths.

Window pulse width trigger

Window Pulse Width trigger

This trigger is a combination of the window trigger and the pulse width trigger. It detects when the signal enters or leaves a voltage range for a specified period of time. In the example shown a nominally ±700 mV signal has occasional overvoltages and undervoltages, but we have set the dwell time to “greater than 100 ns” so that only abnormally wide pulses that go outside this range are detected.

This trigger can be used to detect runt pulses, but the Runt trigger described later is easier to use in simple cases.

Level Dropout trigger

This trigger detects an edge followed by a specified time with no edges. This is useful for triggering on the end of a pulse train. This image shows the end of a pulse train in which edges normally occur every 20 µs. The dropout trigger has detected that no edges have occurred within 40 µs.

The Dropout control specifies whether to trigger when the signal remains high, low, or in either state relative to the threshold.

Window Dropout trigger

This trigger is a combination of the Window and Level Dropout triggers. It detects when the signal enters or leaves a voltage range and stays there for a specified time. This is useful for detecting when a signal gets stuck at a particular voltage. In this example the window dropout trigger was set to a 40 µs delay with a +250 mV to +550 mV window. It ignored the pulses, which entered and exited the window rapidly, but detected when the signal remained outside the window for more than 40 µs.

Runt trigger

This trigger detects a pulse that crosses the first threshold but not the second. This type of pulse is called a runt pulse, and can occur when a logic driver has insufficient slew rate to reach a valid logic level in the time available.

To detect runt pulses with a specified range of widths, use the Window Pulse Width trigger.

Rise/Fall time trigger 

This trigger measures the time the signal takes to transition between two voltage thresholds: from a lower threshold to an upper threshold in the case of rise time, or the opposite in the case of fall time. The scope triggers when the measured transition time meets a user-specified time condition: greater than, less than, inside a range or outside a range of times. Unlike window pulse width trigger, rise/fall-time trigger allows you to trigger specifically on rising edges or on falling edges which meet a time condition. This can be useful if the expected slew rate of rising and falling edges is different in your system. 

In this example the rise time trigger was set to trigger on rising edges which transitioned from -500 mV to +500 mV in greater than 100 ns. It ignored the rising edges which were faster than 100 ns, and the falling edges regardless of their rate, and triggered only on the slower rising edge.

Click here for more on Rise/Fall Triggering >>

Digital trigger

The digital trigger is available on PicoScope mixed signal oscilloscopes (MSOs). It detects a pattern, and optionally a transition, on the digital inputs.

Here we set the trigger to look for the pattern 10001111 on bits D0…D7. 

The Digital trigger can be fed into the Logic trigger, described above, to allow you to look for composite conditions of the analog and digital inputs.

Logic trigger

This trigger detects a logical combination of up to four of the scope’s inputs.
(Only avaiable when MSO digital channels are active)

In the image the trigger was set to “Channel A, level, above 0 V, Channel B, level, below 0 V, AND“. The trigger condition became true in the middle of the trace, at time t=0, when Channel A was above 0 V at the same time that Channel B was below 0 V.

Instead of the AND function, you can combine the channels using NAND, OR, NOR, XOR or XNOR.

The channel A to B (or D, or H, depending on the number of inputs the oscilloscope has) controls have the most options. With level-qualification selected, the channel triggers when above or below the threshold. With window-qualification selected, the channel triggers when inside or outside the specified voltage window. The Ext and AuxIO settings controls have only the level-qualified options.

Each channel has a Use checkbox to the right of its settings control. Setting this box causes the channel to be included in the logic trigger, and clearing it causes the channel to be ignored.

The Logic control specifies how the inputs are combined to produce a trigger condition using the Boolean functions AND, NAND, OR, NOR, XOR and XNOR. For example: to trigger on all of the channel conditions being met, choose AND; or to trigger on exactly one of them being met, select XOR.

Click here for more on Logic Trigger functions >>


The advanced triggers may seem daunting at first, but PicoScope helps you learn with interactive diagrams that illustrate the operation of each trigger type. As you change the options, the diagrams change to show how the thresholds work.

It is worth experimenting with these triggers, as they can sometimes save you from having to search through thousands of waveforms in the buffer.