Using the PicoScope logic trigger functions


The PicoScope oscilloscope software offers a wide range of simple and advanced triggers for detecting and capturing elusive signals. Most of these trigger types are capable of monitoring only one signal at a time. Since many oscilloscopes have more than one input—up to four channels as well as an EXT or AUX input on some models—PicoScope provides a special Logic trigger type that can watch for combinations of multiple inputs.

The simplest way to monitor multiple inputs is to trigger when any one of them meets a specified condition. However, there are applications that require a more selective approach. For example, we might want to detect when both inputs meet specified conditions at the same time. PicoScope solves this problem by offering a list of logical functions for combining inputs.

If you plug in a PicoScope mixed-signal oscilloscope (MSO), the software will provide another triggering type called Digital. This behaves as a separate input to the Logic trigger function. For further information on the MSO Logic trigger, see the PicoScope 6 User’s Guide.

Selecting the Logic trigger

In this example we are using the PicoScope 2205 oscilloscope, which has two input channels named A and B. We could have used any other PicoScope real-time oscilloscope or mixed-signal oscilloscope.

First we enable triggering by changing the trigger mode from None to Auto. We could also have chosen Repeat or Single (Figure 1a).

We can then click the Advanced Triggering button (Figure 1b).

If the button is greyed out, this indicates either that the oscilloscope does not support advanced triggering, or that the trigger mode was not set correctly in the previous step. Some trigger modes, such as None and ETS, are not compatible with advanced triggering.

The Advanced triggering button opens the Advanced triggering dialog where all triggering options are set. To use the logic functions, we select Logic from the list of trigger types (Figure 1c).

To specify that we want to trigger on both the A and B channels, we set the Used check box in the settings for both channels. The Threshold was set to 300 mV to detect our unipolar test signal. We set the Direction to Above so that signals above this threshold will be considered active.

Finally, we need to specify how to combine the channel A and B trigger conditions into a single condition that will trigger the oscilloscope. This is done in the Logic section of the dialog, where you will see a list of logical functions: AND, NAND, OR, NOR, XOR and XNOR. We shall define these later. Clicking one of the functions will immediately apply it to the oscilloscope.

changing the trigger mode

Figure 1a: changing the trigger mode

The Advanced Triggering button

Figure 1b: The Advanced Triggering button

The Logic Trigger dialog

Figure 1c: The Logic Trigger dialog

The logic functions

To demonstrate the logic functions, we fed two pulse waveforms into channels A and B.

Here are our test signals: two 25 µs pulses from independent signal generators. We placed a ruler on the x-axis at time t=0 to show when the trigger event occurred.

The AND function

The AND function requires both inputs to be active before it will trigger.

As you can see from the picture, the scope triggered as soon as both inputs became active at the same time. Just to the left of the ruler, channel A was inactive and channel B active. This did not satisfy the AND condition, which requires both inputs to be active, so the scope waited until channel A also became active.

The AND function can be used with more than two inputs. Regardless of the number of inputs, the scope will trigger when all inputs become active.

AND function

Figure 2: AND function

The NAND (‘negative AND’) function

The NAND (‘negative AND’) function is the inverse of the AND function. In other words, it triggers when either or both of the inputs are inactive.

In the example opposite, the scope waits while both channels are active. At t=0, one of the channels becomes inactive and the NAND function triggers.

With more than two inputs, the NAND function triggers when any or all of the inputs are inactive.

NAND function

Figure 3: NAND function

The OR function

The OR function triggers when one or more inputs becomes active.

In the pictures, the scope waits while both channels are inactive. At t=0, the scope triggers when the first channel, whether channel A or channel B, becomes active.

The definition of the OR function applies equally to scopes with more than two inputs.

OR function

Figure 4a: OR function

OR function

Figure 4b: OR function

The NOR (‘negative OR’) function

The NOR (‘negative OR’) function is the inverse of the OR function. It triggers when all of the inputs are inactive.

This can be seen in the pictures. At t=0, both channels become inactive and so the scope triggers.

The function works in the same way with more than two inputs.

NOR function

Figure 5a: NOR function

NOR function

Figure 5b: NOR function

The XOR (‘exclusive OR’) function

The XOR (‘exclusive OR’) function triggers when the two inputs are in opposite states.

In these examples, the scope waited while the channels were either both active or both inactive, and then triggered at t=0 when one channel changed.

With more than two inputs, the XOR function triggers when an odd number of inputs are active.

XOR function

Figure 6a: XOR function

XOR function

Figure 6b: XOR function

The XNOR (‘negative exclusive OR’) function

The XNOR (‘negative exclusive OR’) function triggers when the two inputs are in the same state.

In these examples, the scope waited while only one channel was active and then triggered when both channels became equal. Other combinations are possible.

For more than two inputs, the XNOR function triggers when an even number of inputs are active.

XNOR function

Figure 7a: XNOR function

XNOR function

Figure 7b: XNOR function


PicoScope can trigger on a wide range of configurable input conditions for oscilloscopes with two or more inputs.

We have not discussed the edge-sensitive and window-sensitive options in the Logic Trigger dialog. For further information on these and other features, see A Guide to Advanced Triggering.