Keysight Oscilloscope TriggeringFollow article
If you are an engineer in R&D, or production, or maintenance, repair and overhaul - congratulations, you are also a test engineer! So before you ask your boss for a pay rise, let’s brush-up on some tips and tricks for getting the most out of your number one debug tool - your oscilloscope. We will cover some basics and advance aspects of triggering, and how to use some other features of a scope to trigger more effectively and quicker. This will enable you to see, identify and isolate troublesome signal glitches and help you be more productive.
The very basic of basics
Triggering is the act of setting the oscilloscope to display a signal condition that you define. 90% of engineers just use an edge trigger (more on this below) in the hope that this will enable them to see everything. However, for complex signals such as serial data, it is impossible to see small differences or changes in data values as the scope will trigger on any edge, so a dedicated trigger condition needs to be used.
Modern oscilloscopes can take triggering to a new level. With fast waveform update rates, you get to see more signals. With intensity-grading, you get to see how often individual signals appear as they overlay each other. With mask testing, you can check the quality and consistency of the signals. With search and navigation tools, you can quickly find the rarest, largest or smallest events in a long acquisition. With parametric triggering, you can isolate signals that fall inside or outside of your defined limits. With zone triggering (an exclusive Keysight feature) you can draw what you want on the scope display so you can trigger without needing to define a complex series of conditions or parameters. All of these have one purpose: to help you reveal and isolate signal anomalies, the first step of debug.
The goal of debugging is to find the root cause and fix it. The fast waveform update rate of Keysight oscilloscopes (over 1,100,000 waveforms per second) lets you see more signals, the powerful triggers we discuss here will help you isolate the error. By connecting multiple channels (either analogue, digital or serial inputs) to the scope, you can probe various points to your circuit to verify what the input conditions are that are causing the output fault – this identifies and puts you on the path of fixing the problem.
Auto or Normal?
Before we discuss the different triggers, there is something else important to know about the acquisition mode most scopes offer. NORMAL mode will only trigger the oscilloscope when the defined trigger event happens; AUTO mode will continue to automatically trigger the scope even if the trigger condition is not met. Auto trigger mode is useful in debug situations when you don’t know what the signal conditions are as it will show everything; use Normal mode for setting the scope for a specific known signal condition, such as a serial data address.
The most common trigger type is an edge trigger, and it’s easy to set at the desired threshold level on the screen using the dedicated trigger level knob.
Trigger button - Get to know your trigger buttons and menus. They will be your friends!
You can then specify if the scope should trigger on a rising or a falling edge. As most signals change amplitude, this is a very effective trigger type – even when probing a DC power line this works as the point of turn-on or just putting the probe on the active line will generate the rising edge needed to transition over a level.
Edge trigger - the simplest and most commonly-used edge trigger can be set for any signal level transition and easily adjust the trigger level. Often, the trigger point can be moved across the screen to view more “pre-trigger” or “post-trigger” activity.
If you are more interested in the frequency or periodic signals, then pulse width is the trigger of choice. You can set the scope to only trigger on a pulse width “greater than”, “less than” or “within” or “outside” a specified pulse width. An edge trigger would just show every transition.
Width trigger - Here, the scope only triggers on the positive pulses of less than 50nSeconds width using width trigger. All other signal conditions are ignored and thus not displayed. Other channels can be turned on simultaneously, so these too would only be displayed when the trigger condition is met.
Some circuit problems occur because the transition (rise time or fall time) of the signal is too slow. The Rise time trigger lets you filter on the condition to isolate the ramp condition of interest.
Rise time - Automatic measurements show the range of rise times in the captured signals, we can then set the trigger to capture only the rise or fall times of interest.
Now for some complex signals. If you see the following signal, how do you go about isolating only the smaller amplitude signals?
Runt 1 - The fast waveform update allows for many signals to be overlaid on the screen; here we see pulses of different length and different amplitude.
In this case, the trigger type to select is a runt: by definition the signal crosses one threshold level and returns without passing a second threshold. By defining the levels, if we want to see positive or negative (or either) and even the width of the runt, we can isolate these signals. The trigger menu display is a logical left-to-right process to define the conditions and there are even diagrams displayed to help the user identify the signal of interest.
Runt 2 - Now we have selected the correct trigger type, the scope only triggers on the low-amplitude - runt - signals we have defined.
The runt trigger above is one of many parametric triggers - where the user can set up limits for the scope to trigger on, such as “more than” or “less than” a specific number, or even “within” or “outside” a range. We have already discussed other parametric trigger types such as rise-time and pulse-width. Parametrics leads us to mask testing, also known as limit testing. This is used to check that the signal complies with described parameters of amplitude and frequency and therefore by definition can also be used as a trigger for errors. The user can either capture a “known good” signal and use this to define a mask with an acceptable tolerance of amplitude or timing error, or load a pre-defined mask for a specific data standard (such as a 10-metre long CAN network).
During the mask test, the scope is typically run in auto mode, so all signals can trigger the scope, and if any signal violates the defined mask areas, they are visually recorded as red traces on the screen. With the mask-test rate of up to 280,000 waveforms per second on the 3000T family of oscilloscopes, it doesn’t take long to find non-compliant signals and therefore define signal quality with a great level of accuracy: a pass/fail rate in absolute and percentage terms is displayed on the screen. The trigger output connector on the scope can also be enabled and the data can also be transferred in an automated test environment.
Mask test 3 - A mask has been created around the known good signal, with jitter (timing error allowance) of ±20nS and an allowable amplitude variation of ±150mV. 2.6 billion tests can been performed in the run time here of 1 minute 33 seconds; the result is a 4.95% failure rate. Each signal that violates the mask is highlighted in red and the user can define what actions to take when a violation occurs.
The ability to “cross trigger” with a pattern analog and digital channels, as well as decode and view states on screen, are powerful features that engineers leverage to design and debug today’s most challenging mixed signal designs. (The MSO feature of an oscilloscope was discussed in a previous article www.rs-online.com/designspark/what-is-an-mso). Triggering here is just as simple – but with more channels.
MSO - The pattern trigger enables parallel data lines to be set up using individual bit (binary)levels or a hex value for 2 bytes (16 channels) in combination with the 4 analogue channels to create a 20-channel analyser.
Serial data has replaced many parallel data designs as it offers many advantages, primarily the reduction in wire count which enables IC packages to be smaller, which in turn reduces the size and cost of boards, connectors and systems. Oscilloscopes have classically taken the acquisition data then processed this in software to decode serial bus data, but this introduces a very large amount of “dead time” or “blind time” when the scope is processing data and therefore unable to trigger and capture any more data. Keysight are unique in being able to process in hardware on all InfiniiVision oscilloscopes (1000X, 2000X, 3000X…) so there is far less dead time and as a result the user is much more likely to trigger and capture the event they are trying to find.
To trigger on serial data, we follow the logical left-to-right set-up menu: first, select the trigger type, then the specific protocol; define the input channels (clock, data, MOSI/MISO, etc); set the address and data value you wish to trigger on. It’s that simple!
SPI - Find the exact packet of data you are interested in with serial data trigger. The scope can also decode, displaying a table of events at the top – just select that packet to display or zoom out to see all of them.
But what if we can see a particular signal anomaly that we can’t define with a basic or even advanced trigger mode? Well, Keysight now offer a visual trigger system called zone trigger. This uses a similar approach as mask testing in that the scope can trigger when a signal is in (or out of) an area we define. The user can set up two trigger zones and use these in combination with any other hardware trigger, so it’s possible to set the scope to only trigger on “the thin glitch after the long delay before packet ID 07F” – just by drawing a box!
Zone trigger - Here the user simply draws a box: if any signals intersect this box, the scope will trigger. Two trigger zones of either “intersects” or “does not intersect” (or one of each) can be drawn to define the signal shape of interest.
Finally, if you want to find one event in many thousands, you don’t need to search manually and visually any more. Search and navigate tools allow you to select the signal of interest. In the example below, the parametric search is used to find any pulses less than 60nSeconds in width.
Search - The parametric search function finds the only small width signal in the very long trace (which appears at the top of the display as a solid yellow block). The single event is the zoom trace at the bottom of the screen.
If this signal event is of interest, maybe the user would want to see how often it occurs. Normally, oscilloscope memory would fill up from the trigger event, so the user would have to again manually search for any other pulses, (and if the time-base is set to a long capture time the sample rate would drop and the user may not see the event as the scope would under-sample). But using a technique called segmented memory which is offered in all Keysight Infiniivision scopes, the user can split the memory in to 2, 10, 50 or even up to 1,000 pieces, in doing so, the sample rate can be maintained at the maximum and memory is only used when the scope is triggered on the event of interest – and the user does not have to manually search for the events!
Segmented - 1,000 of the narrow pulses are captured at 5 G samples per second in segmented mode. It took 273 seconds and the pulses were equally 280mS apart – a “normal” scope would need 1,375 billion points of memory to capture these and it would take forever to search through the acquisition to find them!