Electronic Design

Oscilloscope Triggering Advanced Course: Advanced Trigger Modes, Part 1

This first article in the Oscilloscope Triggering Advanced Course series breaks down the pulse and pattern modes featured on most advanced scopes. 

Download this article in .PDF format
This file type includes high-resolution graphics and schematics when applicable.

Welcome to the Oscilloscope Triggering Advanced Course! In this series, I will walk you through the details of every corner of real-time oscilloscope trigger systems, and by the time we’re done, you’ll never need that AutoScale button again! Your co-workers will be stuck in the lab staring at auto-triggers all weekend while your scope is catching glitches and protocol packets automagically and emailing you the results! 

We’re going to start off by talking about advanced trigger modes. These are the different operational modes you choose first when setting up your trigger, with each mode having different options. Broadly speaking, most advanced trigger modes fall into three categories—pulse modes, pattern modes, and edge modes—and we’ll discuss each in detail. In this article, I’ll focus on the pulse and pattern modes. Ready to get started?

Pulse Modes

Pulse-based trigger modes are the most commonly used modes other than regular old edge trigger. They’re all based around the idea of one rising and one falling edge on the same input channel, typically with a time parameter relating the two. Modern scopes typically offer a handful of pulse trigger modes, the most common being:

• Pulse Width (sometimes just called “Width”)

• Glitch

• Runt

While other advanced modes involve time parameters and rising and falling edges, the key take away here is that pulse-based modes are concerned with exactly one rising edge and exactly one falling edge, in a particular order, with both edges occurring on the same input channel. Let’s take a closer look at each of these pulse modes.

Pulse-Width Mode

The most common and multipurpose of the pulse modes is Pulse Width (or just “Width” on some scopes), the great grandaddy of the pulse-based modes. In Pulse Width mode, the user specifies the input channel, the pulse polarity (positive or negative), a vertical threshold, at least one time parameter, and at least one parameter that describes how the time parameter(s) should be used to qualify incoming pulses based on their widths. That is, they need to be greater than the time parameter, less than the time parameter, or even greater than one time parameter and less than a second time parameter.

Some scopes also allow the user to setup Pulse Width mode to trigger when a pulse width is equal to or not equal to a specific time value, as well as specify a tolerance for that value. Let’s look at a couple of examples:

1. Here, the Trigger setup dialog on a Keysight Infiniium S-Series oscilloscope is configured for Pulse Width trigger mode on Channel 1 with the greater than time condition, positive polarity, and a time parameter of 40.0 ns set. Note that this scope gives us the option of selecting the trigger point (which part of the pulse to put at t = 0.0 sec on screen). We selected “End of Pulse,” so we should see a falling edge at center screen because positive polarity pulses were selected. Note that the diagram in the middle of the upper portion of the dialog depicts what we’re triggering on and where the trigger will be placed (the small orange triangles at the top and bottom of the diagram).


2. The result of the trigger configuration we setup in Figure 1 is provided on a Keysight Infiniium S-Series oscilloscope. We see a positive pulse with a width slightly greater than 40.0 ns (at 0.0 V, the vertical threshold we set in Figure 1), and that pulse’s falling edge (the “end of pulse”) is centered at t = 0.0 sec.


Glitch Mode

Remember how I mentioned above that Pulse Width trigger mode was the great grandaddy of all pulse-based trigger modes? Well, in the case of Glitch mode, the apple fell very close to the tree. Glitch mode is literally just Pulse Width mode with the less-than time condition locked in. That’s it!

3. The Trigger setup dialog on the Infiniium S-Series oscilloscope is configured for Glitch trigger mode on Channel 1 with positive polarity and a time parameter of 40.0 ns set. Note the similarities to Pulse Width mode, depicted in Figure 1.


4. Shown is the Glitch trigger mode in action on the S-Series oscilloscope, as configured in Figure 3.


Runt Mode

Unlike Glitch mode, Runt trigger mode is functionally different than Pulse Width mode. For the uninitiated, a “runt” in a signal is a pulse that doesn’t fulfill some aspect of its dc specification. In practice, this means that it doesn’t rise as high or fall as low as intended.

Runts can cause all sorts of problems in your circuit, and finding them without a specialized trigger mode can be quite a challenge. Fortunately, you don’t have to do that. In Runt mode, the user specifies an input channel, a pulse polarity, and two vertical thresholds. To be considered a runt that causes a trigger, the signal from the input channel must pass through one of the thresholds in one direction and then pass through the same threshold in the opposite direction without passing through the second threshold in between. In addition, most scopes allow the user to add a time qualification so that the scope will only trigger on runts with a minimum width or greater. 

Let’s take a look at two examples:

5. In this case, the Trigger setup dialog on an S-Series oscilloscope is configured for Runt trigger mode on Channel 1 with positive polarity and vertical thresholds set at –200.0 mV and 400.0 mV set. Note that the “Time Qualified” option is disabled. The diagram in the center of the upper portion of the dialog does a good job of visually depicting what we’re trying to trigger on.


6. Here, the S-Series scope finds an elusive runt event using Runt trigger mode as configured in Figure 5.


Pattern Modes

Pattern-based trigger modes are concerned with various events on different input channels occurring, or not occurring, at the same time. The most common pattern-based advanced trigger modes are:

• Pattern

• State

• Setup and Hold

The key takeaway with pattern-based modes is that the trigger event is based on actions coming from more than one input channel at once. Let’s take a closer look at each of them.

Pattern Mode

Pattern trigger mode is exactly what it sounds like: The scope will only trigger when a certain set of conditions (the “pattern”) is true. The simplest variants of pattern mode will trigger when a pattern is “entered” or “exited.” In other words, the scope will trigger either the instant that all pattern conditions become true when they were previously false, or the instant they become false when they were previously true. 

Pattern mode also typically has timed options. For instance, it triggers when the specified pattern is true for greater than a certain amount of time, less than a certain amount of time, or greater than one time parameter and less than a second time parameter.

With respect to defining the pattern itself, typically this just means specifying “high,” “low,” or “don’t care” for each of the available input channels. In this case, “high” and “low” refer to the signal being either above or below a specified threshold for that channel. Some scopes will also include digital channels in the pattern definition and allow the user to configure a trigger that mixes analog and digital inputs. Note that in the case of pattern mode, the specified pattern doesn’t contain any edges. A pattern relative to an edge is actually considered state trigger mode (we’ll look at that next).

7. Pattern trigger mode can have many setup options. The Pattern mode setup dialog on an Infiniium S-Series oscilloscope allows the user to configure a pattern specifying “1,” “0,” or “x” (“don’t care”) for each of four analog input channels and 16 digital channels. To the left of the trigger mode setup dialog is the Trigger Thresholds dialog displaying the configured thresholds for each of the four analog channels: a “1” in the pattern for a selected analog channel means it must be above the vertical threshold set for it in the thresholds dialog, while a “0” means it must be below that threshold. On this scope, thresholds for the digital channels are set in groups; one threshold for channels D0-D7, another for D8-D15. In this example, both of the digital thresholds are set to TTL level (1.40 V). The Trigger setup dialog for Pattern mode shown here also offers some advanced options like the ability to enter a pattern as hex digits (such advanced configuration options will vary from scope to scope).


8. Shown is the result of the Pattern mode configuration in Figure 7; the scope triggers only when analog channels two and three are high (above their configured thresholds) and channels one and four are low (below their configured thresholds). Looking at the signals in the waveform display area from left to right, channel four is low to begin with, channel one goes low (around –3.6 ns), channel two then goes high (around –1.1 ns), and lastly channel 3 goes high right at t = 0 sec. Because the “When Pattern” parameter in Figure 7 is set to “Entered,” the scope triggers the moment the entire pattern becomes true (i.e., the pattern is “entered”). In this case, channel three going high was the last element of the pattern to become true, so that instant is considered the trigger point and centered at t = 0 sec.


9. Similar to Figure 7, this is the Trigger mode setup dialog for pattern trigger on an Infiniium S-Series oscilloscope. In this example, we configured Pattern mode to trigger when channels one and two are both high for a duration of greater than 30.0 ns and less than 75.0 ns. When two time parameters are used to qualify the same trigger event, that trigger configuration is often referred to as a “range” trigger (i.e., “pattern range”).


10. The pattern range trigger mode configured in Figure 9 is shown here in action (infinite persistence is enabled to help illustrate functionality). The signals driving channels one and two are asynchronous, so their alignment with each other is random, save that our range trigger configuration is enforced, resulting in the blank area to the left of t = 0. The width of this area is determined by the trigger configuration parameters and the pulse widths of the signals driving channels one and two.


State Mode

Similar to pattern mode discussed above, state trigger mode allows the user to define a pattern of high/low/don’t care input channels. Unlike pattern mode, state mode requires the user to include exactly one edge in the pattern definition. In state mode, a trigger will be generated when the specified edge is detected and the pattern is either present (AND logic) or not present (NAND logic), depending on a selectable logic mode parameter. There are often no timed options in state mode.

11. This example illustrates the Trigger setup dialog on an S-Series oscilloscope configured for State trigger mode. We’re specifying that the scope only trigger when a rising edge occurs on channel three and (as denoted by the “And” selection in the “Trigger Point” dropdown) channel two is high at the same time.


12. In this screenshot, state trigger mode is shown in action, as configured in Figure 11.


Setup and Hold

Setup and Hold trigger mode is designed to catch—you guessed it—setup and hold violations. It allows the user to specify two input channels—one for clock and one for data—as well as the active clock edge (rising or falling), at least one time parameter, and in some cases, the specific violation you’re looking for (setup, hold, or either). 

Like state mode, the trigger point will occur on the specified clock edge. Unlike state mode, Setup and Hold mode can only analyze two input channels and the trigger condition is the setup time, hold time, or either one violates the time parameter set by the user. For this reason, Setup and Hold mode is sometimes referred to as a “violation trigger.”

13. Here, the Trigger setup dialog on a Keysight Infiniium S-Series oscilloscope is configured for Setup and Hold trigger mode. We’re specifying that the scope only trigger when the hold time (mode parameter set to “Hold Time”) of channel 3 (configured data source) relative to channel 1 (configured clock source) is less than 700 ps.


14. We see a hold time of around 580 ps in this figure, which “violates” (is less than) the hold time specified in the trigger setup in Figure 13, causing our scope to trigger and capture the event.


By now you probably think you know all there is to know about oscilloscope triggering, but we’ve really only scratched the surface! In Part 2, I’ll focus on advanced edge-based modes and a few other common advanced modes that don’t fit into any of our categories. Stay tuned!

Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.