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 eight 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 up to four 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 2205A 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

PicoScope trigger mode selection meny

We can then click the Advanced Triggering button:

PicoScope advanced triggers button

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:

oscilloscope trigger dialog box

Figure 1: The Logic Trigger dialog

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.

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.

AND function

Figure 2: AND function

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.

NAND function

Figure 3: NAND function

NAND (‘negative AND’) function 

The NAND 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.

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 4: OR function

OR function

Figure 4: OR function

NOR (‘negative OR’) function

The NOR 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 5: NOR function

NOR function

Figure 5: NOR function

XOR (‘exclusive OR’) function

The XOR 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 6: XOR function

XOR function

Figure 6: XOR function

XNOR (‘negative exclusive OR’) function

The XNOR 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 7: XNOR function

XNOR function

Figure 7: 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.