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.


  • The kit (2408B) is of obvious quality, easy to setup and calibrate and the free to download software has a reasonable learning curve. Superb kit, superb support, what more can I say.

    Rop Honnor
  • I have been using my 4224 PicoScope for years. I travel abroad so this has been ideal due to its physical size. Storage of waveforms on my Laptop is very easy allowing me to quickly email waveforms to my Colleagues.

  • Not many USB scopes works on Win & Mac & Linux too, so that proves me that guys from Pico really cares about us, customers. This made my decision much easier when I was looking to buy an USB scope.

    Raul Trifan
  • We have been using Picoscope 6404D for quite some time, and are amazed by its accuracy and powerful emulations while working with numerous signal evaluations.

    J Mohanty
  • PicoLog TC-08: This is a very nice unit that works consistently and reliably.

    Jeff Hulett
  • It is a great scope. I had a weird problem - it did not work on one of my PC’s. Customer service gave me first class service. If I could give 6 stars for customer service - I would do so.

    Niels Larsen
  • Perfect Partner for Development of Encoder controlled Stepper Motor Actuators. Since the included software is really stable, this type of device is a great tool for great tasks!

    Helmut Schoettner
  • A superb piece of equipment worth its weight in gold

    Nigel Clinch
  • So simple to use & beats any other I have ever used hands down.

    John D Samsing
  • Great functionality in a compact size. I really like moving the mouse pointer to a position and having the Time and Voltage display the values at that point. Calibration equipment is a breeze with that feature.

    Don Horein

PC oscilloscope and data logger products

Tel: +1 800 591 2796 (Toll Free)