Agilent 3000 X-Series Oscilloscopes Advanced Training Guide Lab guide and tutorial for making advanced oscilloscope measurements using an Agilent 3000 X- Series oscilloscope with the DSOXEDK training kit.
Notices © Agilent Technologies, Inc. 2008-2011 Manual Part Number The copyright on this instructional material grants you permission to reprint, modify, and distribute in whole or in part the document for the purpose of training on Agilent test equipment. 75010-97011 Edition June 15, 2011 Available in electronic format only Trademarks Microsoft®, MS-DOS®, Windows®, Windows 2000®, and Windows XP® are U.S. registered trademarks of Microsoft Corporation.
Contents 1 Getting Started Lab Guide—At a Glance 5 Front Panel Overview 6 Run Control 7 Waveform Controls 7 Horizontal Controls 8 Vertical Controls 9 Trigger Controls 9 Tools Controls 10 2 Oscilloscope Familiarization Labs Lab #1: Using Cursors and Automatic Parametric Measurements Lab #2: Using Zoom Display to Perform Gated Measurements Lab #3: Using Waveform Math 19 23 Lab #4: Using Peak Detect Acquisition Mode 27 Lab #5: Using Segmented Memory Acquisition Mode Lab #6: Using Mask Test 12 30 35
Lab #16: Decoding, Triggering, and Searching on SPI Serial Bus Signals 79 Lab #17: Decoding, Triggering, and Searching on RS232/UART Serial Bus Signals Lab #18: Decoding, Triggering, and Searching on CAN Serial Bus Signals 85 93 Lab #19: Decoding, Triggering, and Searching on LIN Serial Bus Signals 99 Lab #20: Decoding, Triggering, and Searching on I2S Serial Bus Signals 105 A Oscilloscope Block Diagram and Theory of Operation DSO Block Diagram ADC Block 112 112 Attenuator Block 113 DC Offset
Agilent 3000 X-Series Oscilloscopes Advanced Training Guide 1 Getting Started Lab Guide—At a Glance 5 Front Panel Overview 6 Lab Guide—At a Glance This advanced oscilloscope training guide and tutorial is intended to be used with Agilent Technologies InfiniiVision 3000 X- Series oscilloscopes (DSO and MSO models) that are licensed with the Oscilloscope Education Training Kit (DSOXEDK).
1 Getting Started If you not familiar with the Agilent InfiniiVision 3000 X- Series oscilloscope, first look over the main sections of the front panel as illustrated on the following pages, and then begin with Chapter 2, “Oscilloscope Familiarization Labs,” starting on page 11. Once you have become familiar with using the basic functions of the oscilloscope, you can then skip to particular labs of interest.
Getting Started 1 Run Control When the oscilloscope is turned on, or if [Auto Scale] is pressed, the acquisition will be set to [Run]. At any time you may [Stop] the acquisition process to examine a signal in detail or to save it. • The [Default Setup] key on the front panel sets the oscilloscope to the default configuration.
1 Getting Started • The [Intensity] key and the signal brightness. Entry knob lets you set the desired Horizontal Controls a Turn the large knob in the Horizontal control section clockwise and counter- clockwise to control the time/div setting of the horizontal axis. Observe the changes in the displayed signal. The current timebase setting is displayed at the top of the display on the status line.
Getting Started 1 Vertical Controls • Turn the large knobs in the Vertical section to control the V/div setting for each analog channel. The V/div setting is displayed in the upper left hand corner of the status line at the top of the display. Color coding matches analog channel inputs, vertical control knobs, and waveform colors. • Press the [1] key to display the channel 1 menu. Press again to turn the channel on and off.
1 Getting Started • Press and hold the Mode softkey to read the built- in help about the Auto and Normal trigger modes. Tools Controls • Press the [Utility] key to access the I/O ports, file explorer, options, service information, and the “Quick Action” key function settings. • Press the [Quick Action] key to perform one of the quick action functions that can be mapped to this key.
Agilent 3000 X-Series Oscilloscopes Advanced Training Guide 2 Oscilloscope Familiarization Labs Lab #1: Using Cursors and Automatic Parametric Measurements 12 Lab #2: Using Zoom Display to Perform Gated Measurements 19 Lab #3: Using Waveform Math 23 Lab #4: Using Peak Detect Acquisition Mode 27 Lab #5: Using Segmented Memory Acquisition Mode 30 Lab #6: Using Mask Test 35 11
2 Oscilloscope Familiarization Labs Lab #1: Using Cursors and Automatic Parametric Measurements During this first hands- on lab, you will learn how to make simple voltage and timing measurements using the scope’s manually positioned measurement cursors, as well as perform similar measurements using the scope’s automatic parametric measurement capability. 1 Connect the channel- 1 probe to the Demo 1 terminal and ground. 2 Press [Default Setup] on the scope’s front panel.
2 Oscilloscope Familiarization Labs with that particular knob. For instance, if you push one of the vertical position/offset knobs, offset will be set to 0.0 V for that input channel. If you push the horizontal position/delay knob, delay relative to trigger will be set to 0.0 seconds. If you push the trigger level knob, the scope will automatically set the trigger level to approximately 50%. Figure 2 Measurement Cursors knob.
2 Oscilloscope Familiarization Labs Figure 3 Using the scope’s cursor measurements. Delta readouts are displayed on the right- hand side of the display. If you the press the [Cursors] front panel key, you can see absolute voltage and time readouts for each cursor near the bottom of the display.
Oscilloscope Familiarization Labs 2 20 Turn the Entry knob again until the arrow points to Minimum; then push the Entry knob. Figure 4 The scope automatically performs up to four parametric measurements. Your scope’s display should now look similar to Figure 4 showing four continuously update measurements; Frequency, Vp- p, Vmax, and Vmin, along with statistics for each of these measurements. Let’s now perform four different measurements.
2 Oscilloscope Familiarization Labs Figure 5 Performing additional pulse parameter measurements on a digital pulse. Your scope’s display should now look similar to Figure 5. If Fall Time was the last measurement that you selected, then the cursors will show where this measurement is being performed.
2 Oscilloscope Familiarization Labs 25 Press the Settings softkey; then press the Thresholds softkey. 26 Press the Lower softkey; then turn the Entry knob until it reads 20%. 27 Press the Upper softkey; then turn the Entry knob until it reads 80%. 28 To return to the previous menu, press the Back (Back) front panel key (just above the power switch). 29 Press the Back (Back) key again because we descended two levels into this menu.
2 Oscilloscope Familiarization Labs 33 Press the Type softkey; then turn the Entry knob until the arrow points to Snapshot All (top of the list). 34 Now either press the Add Measurement softkey, or push the Entry knob to add this set of measurements. Figure 7 Performing a comprehensive set of automatic parametric measurements using the “Snapshot All” function.
2 Oscilloscope Familiarization Labs Lab #2: Using Zoom Display to Perform Gated Measurements When performing automatic parametric measurements, such as positive pulse width measurements, on an exactly repetitive input signal, such as a simple sine wave or square wave, it really doesn’t matter which particular pulse the scope chooses to make the measurement on; each pulse is the same.
2 Oscilloscope Familiarization Labs Figure 8 Setting up the oscilloscope to capture a burst of digital pulses with different pulse widths. You should now observe 6 positive pulses with varying widths, plus an infrequent glitch occurring after the 6th pulse as shown in Figure 8. Let’s now turn on a “+ Width” measurement. 11 Press the [Meas] front panel key (next to the Cursors knob). 12 Press the Clear Meas softkey; then press the Clear All softkey.
2 Oscilloscope Familiarization Labs Figure 9 Measuring the positive pulse width of the 1st pulse in the burst. The scope always performs measurements on the pulse located closest to center- screen. In this case, the scope measures the positive pulse width of the 1st pulse in this digital burst as shown in Figure 9. But what if we want to know the widths of the 2nd, 3rd, 4th, etc., pulses? 15 Press the button in the Horizontal section of the front panel to turn on the scope’s “zoom” display mode.
2 Oscilloscope Familiarization Labs Figure 10 Using the scope’s Zoom timebase mode to perform “gated” measurements. You should now see on your scope’s display an expansion of just the 3rd pulse in this burst in the lower portion of the display as should in Figure 10. And the + Width measurement should be measuring the positive pulse width of just the 3rd pulse.
Oscilloscope Familiarization Labs 2 Lab #3: Using Waveform Math In addition to performing automatic parametric measurements on waveform data, the oscilloscope can also perform math operations on an entire waveform or pair of waveforms. One very common waveform math function that you may want the scope to perform is to subtract one waveform from another.
2 Oscilloscope Familiarization Labs Figure 11 Using waveform math to subtract channel-2 from channel-1. You should now see three waveforms on your scope’s display as shown in Figure 11. The purple waveform is the result of the scope’s math function of subtracting the channel- 2 waveform from the channel- 1 waveform. Note that to change the scaling of the math waveform, you can use the knobs on the right- hand side of the scope’s front panel near the [Math] key.
Oscilloscope Familiarization Labs 2 18 Set channel- 1’s offset to approximately 1.00 V in order to center the waveform on- screen. 19 Push the trigger level knob to set the trigger level at approximately 50%. 20 Set the timebase to 20.0 µs/div. At this timebase setting there will be many cycles of the clock signal on- screen, which is typically required when performing a precision FFT math function. 21 Press the [Math] front panel key; then press the Operator softkey.
2 Oscilloscope Familiarization Labs 26 After the Cursors menu closes, turn the Entry knob until the X1 cursor is on top of the highest frequency peak (near the left side of the display). 27 Push the Cursors knob again and select the X2 cursor. 28 After the Cursors menu closes, turn the Entry knob until the X2 cursor is on top of the 2nd highest frequency peak. The frequencies at the X1 and X2 cursor locations are displayed near the bottom of the scope’s display.
Oscilloscope Familiarization Labs 2 Lab #4: Using Peak Detect Acquisition Mode All DSOs and MSOs have a fixed amount of acquisition memory. This is the number of samples that the oscilloscope can digitize for each acquisition cycle. If the scope’s timebase is set to a relatively fast time/div setting, such as 20 ns/div, then the scope will always have a sufficient amount of memory to capture a waveform at that setting using the scope’s maximum specified sample rate.
2 Oscilloscope Familiarization Labs Figure 13 The scope’s automatically-reduced sample rate under-samples the repetitive glitch. At this point, you should see a sine wave similar to Figure 13. But if you look closely you should also see some glitches (narrow pulses) near the peaks of this sine wave. And the amplitude of these glitches may appear to vary (bouncing up and down). The amplitude of these glitches is actually very stable.
2 Oscilloscope Familiarization Labs Figure 14 The Peak Detect acquisition mode reliably captures the narrow glitches riding on the slow sine wave. The height of the glitches should now appear much more stable as shown in Figure 14. When the Peak Detect acquisition mode has been selected, rather than sampling waveforms at a reduced rate, the scope intelligently decimates acquired data at a higher sample rate.
2 Oscilloscope Familiarization Labs Lab #5: Using Segmented Memory Acquisition Mode All oscilloscopes have a limited amount of acquisition memory. The amount of acquisition memory that your scope has will determine the length of time it can capture while still using a fast sampling rate. You can always capture a long time span by simply setting the timebase to a long time/div setting.
Oscilloscope Familiarization Labs 2 Figure 15 Capturing and displaying an RF burst at 200.0 ns/div. You should see a single burst of sine waves similar to what is shown in Figure 15. Let’s now rescale the timebase in an attempt to capture several of these bursts. 9 Set the scope’s timebase to 10.000 ms/div. Figure 16 Capturing multiple RF burst waveforms at a slower timebase setting.
2 Oscilloscope Familiarization Labs When we attempt to capture multiple RF bursts that are separated by 4.0 ms, the scope under- samples and shows varying amplitudes of the signal as shown in Figure 16. Again, this is because the scope automatically reduced its sample rate in order to capture a longer time- span with its limited amount of acquisition memory. Let’s now zoom- in and take a closer look at this under- sampled data.
2 Oscilloscope Familiarization Labs 13 Press the [Acquire] front panel key (near the Cursors knob); then press the Segmented softkey (only available if licensed with the SGM option). 14 Turn the Entry knob until # of Segs = 500. 15 Now press the Segmented softkey to turn on this mode of acquisition. The scope should have just captured 500 consecutive occurrences of this burst. Let’s review them. 16 Press the Current Seg softkey; then turn the Entry knob to review all 500 waveforms.
2 Oscilloscope Familiarization Labs Segmented Memory acquisition optimizes oscilloscope acquisition memory by only capturing waveform data around small portions (or segments) of a signal (a short sine wave burst in this case). The scope does not capture unimportant signal idle- time between each burst.
Oscilloscope Familiarization Labs 2 Lab #6: Using Mask Test With mask testing you can set up a pass/fail test criteria for automatically testing waveforms to see if they conform to specific wave shapes. In this lab we will test a digital signal that includes an infrequent glitch. With InfiniiVision’s hardware- based mask testing capability, we will be able to test up to 280,000 waveforms per second and gain insight into the statistical occurrences of this particular glitch.
2 Oscilloscope Familiarization Labs At this point, you should be able to see that the scope is capturing an infrequent glitch as shown in Figure 19. This particular glitch occurs just once every 1,000,000 cycles of the clock signal that we are triggering on. Because this scope can update waveforms as fast as 1,000,000 waveforms/sec, the scope can capture the glitch on average once per second. Let’s now use the scope’s Mask Test capability to analyze this glitch. 9 Press [Analyze].
Oscilloscope Familiarization Labs 2 15 Press Statistics. 16 Press Reset Statistics to clear the statistics from the previous test. 17 Press the Back (Back) key. 18 Press Setup. 19 Press On Error – Stop two times. 20 Press [Run/Stop] to begin a new “Stop- on- Error” test. Figure 21 Establishing specific test criteria.
2 38 Oscilloscope Familiarization Labs 3000 X-Series Oscilloscopes Advanced Training Guide
Agilent 3000 X-Series Oscilloscopes Advanced Training Guide 3 Advanced Triggering, Search & Navigation, and Segmented Acquisition Labs Lab #7: Triggering on a Digital Burst using Trigger Holdoff 40 Lab #8: Triggering on Unique Pulses and Glitches using “Pulse-width” Trigger 44 Lab #9: Triggering on the Nth Pulse within a Burst using “Nth Edge Burst” Trigger 48 Lab #10: Triggering on and Searching for Edge Speed Violations 50 Lab #11: Triggering on and Searching for Runt Pulses 56 Lab #12: Triggering on Set
3 Advanced Triggering, Search & Navigation, and Segmented Acquisition Labs Lab #7: Triggering on a Digital Burst using Trigger Holdoff Signals in the real world of electronics are rarely as simple as repetitive sine waves and square waves. Establishing unique trigger points on more complex signals sometimes requires using trigger “hold- off”. In this lab you will learn how to use the scope’s trigger hold- off capability in order to trigger on a burst of digital pulses.
3 Advanced Triggering, Search & Navigation, and Segmented Acquisition Labs You should see on your scope’s display what may appear to be an un- triggered display of a series of digital pulses similar to Figure 22. The scope is actually triggering on random rising edge crossings of this complex digital data stream, which is actually a “burst” of pulses. Unfortunately we can’t “see” the burst activity because we haven’t yet set up the scope to establish a unique trigger point on this complex signal.
3 Advanced Triggering, Search & Navigation, and Segmented Acquisition Labs When we use the scope’s default triggering condition, the scope triggers on “any” random edge of this signal. In other words, sometimes the scope triggers on the 1st edge of the burst, sometimes the 11th edge of the burst, sometimes the 5th edge, etc. An ideal synchronization point would be to set up the scope so that it always triggers on just the 1st edge of each burst, rather than a random edge.
Advanced Triggering, Search & Navigation, and Segmented Acquisition Labs 3 triggering after the end of the burst, but before the beginning of the next burst, which is during the signal’s “idle- time”. The next valid trigger event will again be the 1st edge crossing on the next burst.
3 Advanced Triggering, Search & Navigation, and Segmented Acquisition Labs Lab #8: Triggering on Unique Pulses and Glitches using “Pulse-width” Trigger In this lab you will learn how to use the scope’s Pulse Width triggering mode to trigger on pulses within a digital data stream that have unique pulse widths, including an infrequently occurring glitch. 1 Connect the channel- 1 probe to the Demo 1 terminal and ground. 2 Press [Default Setup] on the scope’s front panel.
Advanced Triggering, Search & Navigation, and Segmented Acquisition Labs 3 sometimes triggers on later pulses within this burst. We could further stabilize triggering on the 1st pulse in this burst if we used the scope’s trigger holdoff capability. But what if we wanted to trigger on a specific pulse (other than the 1st pulse)? We could accomplish this by using the “Nth Edge Burst” triggering mode, assuming that the input signal is a repetitive burst.
3 Advanced Triggering, Search & Navigation, and Segmented Acquisition Labs Your scope should now be triggering at the end of the 5th pulse of the burst as shown in Figure 26. This particular pulse uniquely meets the pulse width time qualification of > 250 ns, but < 350 ns. You can select the +Width measurement if you would like to verify that this pulse has an approximate width of 300 ns. Now take note of the narrow infrequent glitch that occurs after the end of this burst of six pulses.
3 Advanced Triggering, Search & Navigation, and Segmented Acquisition Labs change the trigger condition to trigger on the 300 ns wide pulse again so that we can capture every occurrence of the burst. To complete the rest of this lab your scope must be licensed with the Segmented Memory option. 16 Press the “ < > >< ” softkey; then select the “><” time qualifier. 17 Press the [Acquire] front panel key.
3 Advanced Triggering, Search & Navigation, and Segmented Acquisition Labs Lab #9: Triggering on the Nth Pulse within a Burst using “Nth Edge Burst” Trigger In this lab you will learn how to use the scope’s “Nth Edge Burst” triggering mode to trigger on pulses within a burst based on pulse count. Note that we will be using the same training signal that we used in the previous lab. 1 Connect the channel- 1 probe to the Demo 1 terminal and ground. 2 Press [Default Setup] on the scope’s front panel.
3 Advanced Triggering, Search & Navigation, and Segmented Acquisition Labs scope usually triggers on the 1st pulse of this burst. Let’s now set up the scope to trigger on the 3rd pulse in this burst using the “Nth Edge Burst” triggering mode. 9 Press the [Trigger] front panel key; then select Nth Edge Burst using the Entry knob. 10 Press the Idle softkey; then set the minimum signal idle time to 2.00 µs using the Entry knob. 11 Press the Edge softkey; then set the edge count to 3 using the Entry knob.
3 Advanced Triggering, Search & Navigation, and Segmented Acquisition Labs Lab #10: Triggering on and Searching for Edge Speed Violations In this lab you will learn how to set up the scope to trigger on edge speed violation conditions using the scope’s “Rise/Fall Time” trigger mode.
Advanced Triggering, Search & Navigation, and Segmented Acquisition Labs 3 Your scope’s display should now look similar to Figure 31. Using the scope’s default rising edge type trigger, we can see two distinctly different rising edge speeds on this waveform. Also notice that the slower transitioning edge appears dimmer. This is because the slower transitioning edges occur less often than the faster transitioning edges.
3 Advanced Triggering, Search & Navigation, and Segmented Acquisition Labs occasional violations. Uniquely triggering on edge speed violation signals can be accomplished on Agilent’s 3000 X- Series oscilloscopes using the Rise/Fall Time triggering mode. 11 Press the [Trigger] front panel key; then turn the Entry knob to select the Rise/Fall Time trigger type. 12 Press the Level Select softkey to select Low.
Advanced Triggering, Search & Navigation, and Segmented Acquisition Labs 3 3000 X- Series oscilloscopes can also perform Search & Navigation to find multiple edge speed violation conditions, regardless of the specific trigger setup condition. 17 Set the scope’s timebase to 200.0 µs/div. 18 Press [Run/Stop] to stop repetitive acquisitions (the [Run/Stop] key should turn red). 19 Press the [Search] front panel key.
3 Advanced Triggering, Search & Navigation, and Segmented Acquisition Labs 25 Press the and edge violation. navigation keys to navigate to each discovered Let’s now use the scope’s Segmented Memory mode of acquisition to capture 500 consecutive occurrences of this edge transition violation. But to complete the rest of this lab your scope must be licensed with the Segmented Memory option. Press the mode.
Advanced Triggering, Search & Navigation, and Segmented Acquisition Labs 3 Segmented Memory optimizes oscilloscope acquisition memory by only capturing important segments of a waveform based on the trigger condition and timebase setting. In this example, we have selectively captured 500 occurrences of this signal that has a rise time violation for a total acquisition time of nearly 100 ms.
3 Advanced Triggering, Search & Navigation, and Segmented Acquisition Labs Lab #11: Triggering on and Searching for Runt Pulses A “runt” pulse is defined as either a positive or negative digital pulse that fails to meet a minimum required amplitude. In this lab you will learn how to set up the scope to trigger on runt pulse conditions.
Advanced Triggering, Search & Navigation, and Segmented Acquisition Labs 3 Your scope’s display should now look similar to Figure 36. Using the scope’s default rising edge type trigger, we can see pulses that have various amplitudes. The pulses that have the lower amplitudes are “runt” pulses. This particular data stream includes both positive runts (pulses that fail to meet a minimum high level) and negative runts (pulses that fail to meet a minimum low level).
3 Advanced Triggering, Search & Navigation, and Segmented Acquisition Labs 100 ns wide. Let’s set up the scope to uniquely trigger on the positive runts that are < 200 ns wide. In other words, let’s isolate the smaller of these two runts. 13 Press the Qualifier softkey; and then select “<”. 14 Press the Time softkey; then turn the Entry knob to select < 200.0 ns. Figure 38 Triggering on a positive runt pulse that is < 200 ns wide.
3 Advanced Triggering, Search & Navigation, and Segmented Acquisition Labs Figure 39 Automatic “Search” finds and marks multiple runt pulses. Your scope’s display should now look similar to Figure 39. The white triangle marks at the top of the display indicate the location of each positive runt pulse that the scope found. Let’s now set up the scope to automatically navigate to each “found” runt. 20 Press the (zoom) front panel key to turn on the scope’s horizontal zoom mode.
3 Advanced Triggering, Search & Navigation, and Segmented Acquisition Labs 29 Press the [Acquire] front panel key. 30 Press the Segmented softkey; then turn the Entry knob to select 500 as the number of segments to capture. 31 Press the Segmented softkey to begin a Segmented Memory acquisition. 32 Press the Current Segment softkey; then turn the Entry knob to review all 500 captured segments. 33 Set the Current Segment to 500 and note the time- tag of the last captured segment.
Advanced Triggering, Search & Navigation, and Segmented Acquisition Labs 3 Lab #12: Triggering on Setup & Hold Time Violations In this lab we will set up the scope to trigger on a Setup & Hold time violation. We will also use the scope’s Segmented Memory acquisition to capture multiple and consecutive occurrences of Setup & Hold time violations. 1 Connect the channel- 1 probe to the Demo 1 terminal and ground. 2 Connect the channel- 2 probe to the Demo 2 terminal and ground.
3 Advanced Triggering, Search & Navigation, and Segmented Acquisition Labs must remain stable (“hold” high or low) for a minimum amount of time after the occurrence of the clocking signal before switching to the opposite polarity. This is commonly referred to as the device’s minimum specified “hold” time. Let’s assume that data is being clocked into a device on the rising edge of our clock signal (yellow trace).
3 Advanced Triggering, Search & Navigation, and Segmented Acquisition Labs Your scope should now be triggering on just setup time violation conditions similar to Figure 42. With this unique trigger condition, perhaps we can now correlate these signals to other signals and/or activity in our system that may be producing this timing problem. Let’s now use the scope’s Segmented Memory mode of acquisition to capture 500 consecutive occurrences of a setup time violation.
3 Advanced Triggering, Search & Navigation, and Segmented Acquisition Labs Lab #13: Triggering on a Qualified Burst using “Edge then Edge” Trigger In this lab you will learn how to use the scope’s “Edge then Edge” trigger mode. This trigger mode is sometimes referred to as “qualified A then B” triggering. “Edge then Edge” triggering allows you to qualify triggering on an edge of any channel, then delay arming of the final trigger condition by both time and event count of an edge of any channel.
3 Advanced Triggering, Search & Navigation, and Segmented Acquisition Labs Your scope’s display should now look similar to Figure 44 while using the scope’s default trigger condition (rising edge of channel- 1). Let’s now set up the scope to trigger on one of the wider digital pulses on channel- 2. To do this we will qualify triggering on the channel- 1 pulse, then delay arming of the trigger past the 5 MHz analog burst, and then finally trigger on the Nth occurrence of one of the wider digital pulses.
3 Advanced Triggering, Search & Navigation, and Segmented Acquisition Labs Lab #14: Triggering on Logic Patterns using the MSO’s Digital Channels In this lab you will learn how to use the scope’s digital channels of acquisition (MSO), and then set up the scope to trigger on a specific Boolean pattern combination. Note that to complete this lab your scope must either be an MSO model, or a DSO model that has been upgraded with the MSO option (Option MSO).
Advanced Triggering, Search & Navigation, and Segmented Acquisition Labs 3 You should now see on your scope’s display a stair- step sine wave on channel- 1 plus eight digital waveforms captured by the D0 through D7 digital channels of acquisition similar to Figure 46. D0 through D7 are the input signals to an digital- to- analog converter (DAC), while the stair- step sine wave is the output of the DAC. At this point, you may be wondering where these digital signals are coming from.
3 Advanced Triggering, Search & Navigation, and Segmented Acquisition Labs Figure 47 Triggering on Pattern = 1110 0110. Your scope should now be triggering on logic pattern 1110 0110 (D7- D0), and the top of the sine wave should be centered on- screen as shown in Figure 47. In addition to displaying individual digital channels, this scope can also display all of the digital channels of acquisition in an overlaid bus display mode while displaying the HEX value of the bus.
Advanced Triggering, Search & Navigation, and Segmented Acquisition Labs 3 Figure 48 Displaying digital channels in a “bus” display mode. You should now see a “bus” display mode showing HEX values of the D7- D0 bus at the bottom of the scope’s display similar to Figure 48. Note that it addition to specifying a pattern trigger condition in a binary format, we can also specify to trigger on a pattern condition as a HEX value.
3 Advanced Triggering, Search & Navigation, and Segmented Acquisition Labs Figure 49 Triggering on pattern = 1AHEX. Your scope should now be triggering on 1AHEX, which is coincident with the lowest output level of DAC, as shown in Figure 49.
Agilent 3000 X-Series Oscilloscopes Advanced Training Guide 4 Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs Lab #15: Decoding, Triggering, and Searching on I2C Serial Bus Signals 72 Lab #16: Decoding, Triggering, and Searching on SPI Serial Bus Signals 79 Lab #17: Decoding, Triggering, and Searching on RS232/UART Serial Bus Signals 85 Lab #18: Decoding, Triggering, and Searching on CAN Serial Bus Signals 93 Lab #19: Decoding, Triggering, and Searching on LIN Serial B
4 Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs Lab #15: Decoding, Triggering, and Searching on I2C Serial Bus Signals In this lab you will learn how to set up the scope to decode and trigger on I2C serial bus traffic. In addition, you will learn how to use the scope’s automatic I2C Search & Navigation capability, as well as use Segmented Memory acquisition to capture multiple and consecutive occurrences of a particular Read operation.
4 Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs Figure 50 Capturing I2C clock and data while triggering on an edge of the clock (channel-1). You should see on your scope’s display what appears to be an un- triggered display of two digital signals similar to Figure 50. Your scope is actually triggering on random rising edges of channel- 1, which is the scope’s default trigger condition.
4 Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs Figure 51 Decoding I2C serial bus traffic. Your scope should now be decoding I2C serial bus traffic as shown in Figure 51. We can see automatic decoding of this I2C bus in two formats. The blue trace at the bottom of the display shows time- aligned decoding of the serial bus traffic, while the lister table at the top of the display shows I2C decoding in a tabular format.
Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs 4 21 Set the scope’s timebase to 200.0 µs/div. Figure 52 Triggering on I2C traffic. You should now see stable waveform traces on your scope’s display similar to Figure 52.
4 Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs Zoom to Selection softkey. Let’s now perform an automatic search to find every occurrence of a “Missing Acknowledge”. We will then automatically navigate to each of these occurrences. 26 Push the horizontal position/delay knob to re- position the trigger point back to center- screen. 27 Set the scope’s timebase to 20.00 ms/div. 28 Press the [Search] front panel key.
4 Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs Let’s now use the scope’s Segmented Memory mode of acquisition to selectively capture 500 consecutive occurrences of our trigger condition (Read from address 29HEX). But to complete the rest of this lab your scope must be licensed with the Segmented Memory option. 31 Push the horizontal position/delay knob to re- position the trigger point back to center- screen. 32 Set the scope’s timebase to 100.0 µs/div.
4 Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs captured approximately 20 seconds of total acquisition time as shown in Figure 54. Note that we can also view the decoded I2C data in the “lister” format, and we can also perform Search & Navigation on the segments.
Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs 4 Lab #16: Decoding, Triggering, and Searching on SPI Serial Bus Signals In this lab you will learn how to set up the scope to decode and trigger on 4- wire SPI serial bus traffic. In addition, you will learn how to use the scope’s automatic SPI Search & Navigation capability, as well as use Segmented Memory acquisition to capture multiple and consecutive occurrences of a particular serial byte.
4 Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs Figure 55 Capturing 4-wire SPI signals using the scope’s digital channels of acquisition (MSO). You should now see four digital waveforms captured by the scope’s digital channels of acquisition similar to Figure 55. These SPI training signals are being generated by the scope’s built- in pattern generator and routed directly to the scope’s digital acquisition system; bypassing the logic probe.
4 Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs 19 Press the MISO softkey; then select D8 using the Entry knob. 20 Press the Back (Back) front panel button to return to the previous menu. 21 Press the CS softkey; then press the ~CS softkey; then select D6 using the Entry knob. 22 Press the [Label] front panel key to turn on the scope’s default labels. Figure 56 Decoding a 4-wire SPI serial bus.
4 Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs Figure 57 Triggering on MOSI data = 03HEX. Your scope should now be triggering on MOSI data = 03HEX with this byte shown at center- screen similar to Figure 57. Let’s now capture a very long stream of SPI traffic and then manually search through the captured and decoded record. 30 Press the [Serial] front panel key. 31 Press the Lister softkey; then turn the Entry knob to select Serial 1 (SPI).
4 Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs 39 Press the Bits softkey. 40 Press the Select Digit softkey; then select the upper nibble (left- most nibble). 41 Press the Hex softkey; then turn the Entry knob to select 0. 42 Press the Select Digit softkey; then turn the Entry knob to select lower nibble (right- most nibble). 43 Press the Hex softkey; then turn the Entry knob to select 3. Figure 58 Automatic Search & Navigation on SPI traffic.
4 Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs 46 Press the [Run/Stop] front panel to begin repetitive acquisition again. 47 Press the [Acquire] front panel key. 48 Press the Segmented softkey; then turn the Entry knob to select 500 as the number of segments to capture. 49 Press the Segmented softkey to begin a Segmented Memory acquisition. 50 Press the Current Segment softkey; then turn the Entry knob to review all 500 captured segments.
Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs 4 Lab #17: Decoding, Triggering, and Searching on RS232/UART Serial Bus Signals In this lab you will learn how to set up the scope to decode and trigger on transmit and receive RS232/UART serial bus traffic. In addition, you will learn how to use the scope’s automatic RS232/UART Search & Navigation capability, as well as Segmented Memory acquisition.
4 Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs Figure 60 Capturing RS232/UART transmit and receive data signals using the scope’s Edge triggering mode. You should now see on your scope’s display what appears to be an un- triggered display of two digital signals similar to Figure 60. Your scope is actually triggering on random rising edges of channel- 1, which is the scope’s default trigger condition.
Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs 4 20 Press the [Label] front panel key (between channel- 1 and channel- 2 controls) to turn on the scope’s default labels. Figure 61 Decoding the RS232/UART serial bus. You should now see RS232/UART decoding of these signals on your scope’s display similar to Figure 61, but we still haven’t established stable triggering. The scope is still triggering on any rising edge of channel- 1 (default trigger condition).
4 Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs Figure 62 Triggering on Tx = 4DHEX. Your scope should now be triggering on Tx = 4DHEX while displaying this byte at center- screen similar to Figure 62. Let’s now set up the scope to capture a longer record of time (2 seconds) and review our data in a “lister” format. 25 Set the scope’s timebase to 200.0 ms/div. 26 Press [Run/Stop] to stop repetitive acquisitions. 27 Press the [Serial] front panel key.
Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs 4 30 Push the horizontal position/delay knob to re- position the trigger point back to center- screen. 31 Set the scope’s timebase to 200.0 ms/div. 32 Press the [Search] front panel key. 33 Press the Search Edge softkey; then select Serial 1 (UART/RS232). 34 Press the Search for softkey; then select Rx or Tx Parity Error using the Entry knob.
4 Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs 37 Press the [Run/Stop] front panel to begin repetitive acquisitions again. 38 Press the [Trigger] front panel key; then press the Trigger Setup softkey. 39 Press the Trigger Tx Data softkey; then select Rx or Tx Parity Error. 40 Press the [Mode/Coupling] front panel key near the trigger level knob. 41 Press the Mode Auto softkey; then select Normal. 42 Set the horizontal position/delay to approximately -4.7 ms.
4 Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs Figure 65 Using the scope’s Segmented Memory acquisition to selectively capture 50 occurrences of Parity Errors. Segmented Memory optimizes oscilloscope acquisition memory by only capturing important segments of a waveform based on the trigger condition and timebase setting.
4 Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs Figure 66 Decoded RS232/UART message indicating which oscilloscope vendor is #1 in the MSO market.
Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs 4 Lab #18: Decoding, Triggering, and Searching on CAN Serial Bus Signals In this lab you will learn how to set up the scope to decode and trigger on a CAN serial bus signal. In addition, you will learn how to use the scope’s automatic CAN Search & Navigation capability, as well as Segmented Memory acquisition. This lab does not provide a tutorial on the CAN protocol and signaling.
4 Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs You should now see on your scope’s display what appears to be an un- triggered display of a digital burst signal similar to Figure 67. Your scope is actually triggering on random rising edges of channel- 1, which is the scope’s default trigger condition. But this signal is too complex to establish a unique trigger point using simple edge triggering. This signal is a packet/frame of CAN serial bus traffic.
Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs 4 15 Press Trigger: SOF; then select Data Frame ID (~RTR) using the Entry knob. 16 Press the Bits softkey. 17 Press the Hex softkey; then select F using the Entry knob. Figure 69 While triggering on CAN data frame = 07FHEX, the scope’s hardware-based decoding reveals infrequent error conditions. Your scope should now be triggering on CAN data frame = 07FHEX as shown in Figure 69.
4 Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs long decoded record can be difficult. So let’s now perform an automatic search to find all occurrences of Error Frames and “form” errors (non- flagged error conditions). We will then automatically navigate to each of these error conditions. 23 Push the horizontal position/delay knob to re- position the trigger point back to center- screen. 24 Set the scope’s timebase to 100.0 ms/div.
4 Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs Let’s now use the scope’s Segmented Memory mode of acquisition to capture 100 consecutive occurrences of CAN error conditions. But to complete the rest of this lab your scope must be licensed with the Segmented Memory option. 28 Push the horizontal position/delay knob to re- position the trigger point back to center- screen. 29 Set the scope’s timebase to 200.0 µs/div.
4 Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs Segmented Memory optimizes oscilloscope acquisition memory by only capturing important segments of a waveform based on the trigger condition and timebase setting. In this example, we have selectively captured approximately 10 seconds of total acquisition time as shown in Figure 71.
Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs 4 Lab #19: Decoding, Triggering, and Searching on LIN Serial Bus Signals In this lab you will learn how to set up the scope to decode and trigger on a LIN serial bus signal. In addition, you will learn how to use the scope’s automatic LIN Search & Navigation capability, as well as Segmented Memory acquisition.
4 Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs You should now see on your scope’s display what appears to be an un- triggered display of a digital burst signal similar to Figure 73. Your scope is actually triggering on random rising edges of channel- 1, which is the scope’s default trigger condition. But this signal is too complex to establish a unique trigger point using simple edge triggering. This signal is a packet/frame of LIN serial bus traffic.
4 Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs Figure 75 While triggering on LIN frame = 21HEX, the scope’s hardware-based decoding reveals parity bit errors in the frame ID field. Your scope should now be triggering on LIN frame = 21HEX as shown in Figure 75. With this scope’s very fast hardware- based decoding, you should also see that the frame ID field (left- most decoded byte) is sometimes displayed in red.
4 Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs decoded record can be difficult. So let’s now perform an automatic search to find all occurrences of errors. We will then automatically navigate to each of these error conditions. 22 Push the horizontal position/delay knob to re- position the trigger point back to center- screen. 23 Set the scope’s timebase to 200.0 ms/div. 24 Press the [Search] front panel key.
4 Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs Let’s now use the scope’s Segmented Memory mode of acquisition to capture 500 consecutive occurrences of the LIN frame that the scope is currently set up to trigger on (either ID = 21HEX or ID = 12HEX). But to complete the rest of this lab your scope must be licensed with the Segmented Memory option. 27 Push the horizontal position/delay knob to re- position the trigger point back to center- screen.
4 Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs Segmented Memory optimizes oscilloscope acquisition memory by only capturing important segments of a waveform based on the trigger condition and timebase setting. In this example, we have selectively captured approximately 15 seconds of total acquisition time as shown in Figure 77.
Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs 4 Lab #20: Decoding, Triggering, and Searching on I2S Serial Bus Signals In this lab you will learn how to set up the scope to decode and trigger on the I2S (audio) serial bus traffic. In addition, you will learn how to use the scope’s automatic I2S Search & Navigation capability, as well as Segmented Memory acquisition. This lab does not provide a tutorial on the I2S protocol and signaling.
4 Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs Figure 79 Capturing I2S signals using the scope’s digital channels of acquisition (MSO). You should now see three digital waveforms captured by the scope’s digital channels of acquisition similar to Figure 79. These I2S training signals are being generated by the scope’s built- in pattern generator and routed directly to the scope’s digital acquisition system; bypassing the logic probe.
4 Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs 20 Press the [Label] front panel key to turn on the scope’s default labels for an I2S bus. Figure 80 Decoding I2S signals. Your scope should now be decoding the left- channel and right- channel audio data similar to Figure 80. However, the scope is not yet triggering on these signals. The scope should be randomly auto triggering because the default trigger condition is to trigger on a rising edge of channel- 1.
4 Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs Figure 81 Triggering on I2S right-channel = +20. Using the default trigger value of arming on right- channel value ≤ - 10 and then trigger on right- channel value ≥ +10, your scope should now be triggering on “R: +20” with this byte shown at center- screen similar to Figure 81. Let’s now capture a longer stream of I2S traffic and then manually search through the captured and decoded record.
4 Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs 34 Press the Search Edge softkey; then select Serial 1 (I2S). 35 Press the Audio Left softkey and change to Audio Right. 36 Press the Search for softkey; then select > (Greater than). 37 Press the Data softkey; then turn the Entry knob to select 10. Figure 82 Automatic Search & Navigation on I2S data.
4 Serial Bus Decoding & Triggering, Search & Navigation, and Segmented Acquisition Labs 41 Press the [Trigger] front panel key; then press the Trigger Setup softkey. 42 Press the Trigger softkey and change to > (Greater than). 43 Press the Data softkey; then change value to 10 using the Entry knob. 44 Press the [Acquire] front panel key. 45 Press the Segmented softkey; then turn the Entry knob to select 100 as the number of segments to capture.
Agilent 3000 X-Series Oscilloscopes Advanced Training Guide A Oscilloscope Block Diagram and Theory of Operation DSO Block Diagram 112 ADC Block 112 Attenuator Block 113 DC Offset Block 113 Amplifier Block 113 Trigger Comparator and Trigger Logic Blocks 114 Timebase and Acquisition Memory Blocks 114 Display DSP Block 115 111
A Oscilloscope Block Diagram and Theory of Operation DSO Block Diagram Acquistion Memory 8-bit ADC Amplifier Attenuator Input BNC DC Offset Scope Display Display DSP Trigger Coupling Timebase System Trig Comp Trigger Logic DC Trigger Level CPU System Figure 84 DSO block diagram Figure 84 shows the block diagram of one channel of acquisition of a typical digital storage oscilloscope (DSO).
Oscilloscope Block Diagram and Theory of Operation A ADC will be 11111111 (255 decimal). If the analog input level to the ADC is equal to 0.0 V, then the output of the ADC will be 10000000 (128 decimal). To obtain the highest resolution and accurate measurements, the input to the ADC must be scaled within its dynamic range, which is ± V.
A Oscilloscope Block Diagram and Theory of Operation of the ADC. If inputting a very high level input signal, you would typically set the V/div setting to a relatively high setting. Using a high V/div setting, the attenuator stage would first attenuate the input signal (gain < 1) to get it within the dynamic range of the amplifier, and then the amplifier may further attenuate the signal (gain <1) to get it within the dynamic range of the ADC.
A Oscilloscope Block Diagram and Theory of Operation timebase setting of 1 ms/div. Let also assume for simplicity that the scope’s acquisition memory depth is just 1000 points. Using these assumptions, the scope should acquire 500 points before the trigger event followed by acquiring 500 points after the trigger event. At this timebase setting, the scope will acquire 1000 points across a 10 ms time span (1 ms/div x 10 divisions).
A Oscilloscope Block Diagram and Theory of Operation reconstruction filter, but it can also “pipeline” the stored and/or processed data into the scope’s pixel display memory. After the data has been “backed out” of acquisition memory, the DSP block then signals the timebase block that it can begin another acquisition. Note that early generations of DSOs did not include an explicit Display DSP block.
Agilent 3000 X-Series Oscilloscopes Advanced Training Guide B Oscilloscope Bandwidth Tutorial Defining Oscilloscope Bandwidth 117 Required Bandwidth for Analog Applications 118 Required Bandwidth for Digital Applications 119 Digital Clock Measurement Comparisons 122 Oscilloscopes have many different specifications that determine the accuracy that signals can be captured and measured. But the primary specification of an oscilloscope is its bandwidth.
B Oscilloscope Bandwidth Tutorial Figure 85 Oscilloscope Gaussian frequency response The lowest frequency at which the input signal is attenuated by 3 dB is considered the scope’s bandwidth (fBW). Signal attenuation at the - 3 dB frequency translates into approximately - 30% amplitude error.
Oscilloscope Bandwidth Tutorial B digital applications based on clock rates or edge speeds, it still applies to analog applications, such as modulated RF. To understand where this 3- to- 1 multiplying factor comes from, let’s look at an actual frequency response of a 1 GHz bandwidth scope. Figure 86 shows a measured frequency response test (1 MHz to 2 GHz) on an Agilent 1 GHz bandwidth oscilloscope.
B Oscilloscope Bandwidth Tutorial But if you need to make accurate measurements on high- speed edges, this simple formula does not take into account the actual highest- frequency components embedded in fast rising and falling edges. Step 1: Determine fastest actual edge speeds A more accurate method to determine required oscilloscope bandwidth is to ascertain the maximum frequency present in your digital signals, which is not the maximum clock rate.
Oscilloscope Bandwidth Tutorial B Table 1 Multiplying factors to calculate required scope bandwidth based on desired accuracy Required Accuracy Require Bandwidth 20% fBW = 1.0 x fknee 10% fBW = 1.3 x fknee 3% fBW = 1.
B Oscilloscope Bandwidth Tutorial Digital Clock Measurement Comparisons Figure 87 shows the waveform results when measuring a 100 MHz digital clock signal with fast edge speeds using a 100 MHz bandwidth oscilloscope. As you can see, this scope primarily just passes through the 100 MHz fundamental of this clock signal, thus representing our clock signal as an approximate sine wave.
Oscilloscope Bandwidth Tutorial B Figure 88 100 MHz digital clock signal captured on a 500 MHz bandwidth scope When we use a 1 GHz bandwidth scope to capture this 100 MHz digital clock, the result is that we now have a much more accurate picture of this signal, as shown in Figure 89. We can measure faster rise and fall times, we observe less overshoot, and we can even observe subtle reflections that the lower bandwidth scope masked.
B Oscilloscope Bandwidth Tutorial Figure 89 100 MHz digital clock signal captured on a 1 GHz bandwidth scope This tutorial on oscilloscope bandwidth focused on oscilloscopes that exhibit a Gaussian frequency response, which is typical of scopes that have bandwidth specifications of 1 GHz and below. Many higher bandwidth oscilloscopes exhibit a frequency response that has a sharper roll- off characteristic.
Agilent 3000 X-Series Oscilloscopes Advanced Training Guide C Related Agilent Literature Table 2 Related Agilent literature Publication title Publication type Publication number Evaluating Oscilloscope Fundamentals Application note 5989-8064EN Evaluating Oscilloscope Bandwidths for your Application Application note 5989-5733EN Evaluating Oscilloscope Sample Rates vs.
C 126 Related Agilent Literature 3000 X-Series Oscilloscopes Advanced Training Guide
Index Symbols L T +Width measurement, 46 LIN serial bus trigger/decode/search, 99 literature, related Agilent, 125 Tools Controls, 10 tracking cursor mode, 14 trademarks, 2 training signals, 5 Trigger Controls, 9 trigger hold-off, 40 Trigger Level knob, 9 A Acquire key, 7 Analyze key, 10 Auto Scale key, 7 automatic parametric measurements, 12, 14 C CAN serial bus trigger/decode/search, 93 counter measurement, 26 cursors, 12 D default setup, 6 Default Setup key, 7 Display key, 7 DSOXEDK, 5 M manual
Index 128 3000 X-Series Oscilloscopes Advanced Training Guide