Text preview for : 5990-4093EN English _ 2014-07-31 _ PDF 984 KB c20140922 [9].pdf part of Agilent 5990-4093EN English 2014-07-31 PDF 984 KB c20140922 [9] Agilent 5990-4093EN English _ 2014-07-31 _ PDF 984 KB c20140922 [9].pdf



Back to : 5990-4093EN English _ 201 | Home

Keysight Technologies
Strategies for Debugging Serial Bus
Systems with Ininiium Oscilloscopes
Application Note

Who Should Read This Application Note?
This application note is for digital designers in R&D
working with both analog and digital components,
including microcontroller and DSP systems using serial
buses. This application note discusses the challenges
associated with and new solutions for debugging serial
bus designs including PCI-Express Generation 1, Inter
Integrated Circuit (I2C), Serial Peripheral Interface (SPI),
or Universal Serial Bus (USB).
Introduction

The Keysight Technologies, Inc. Ininiium Oscilloscopes provide many of the features of protocol
analyzers such as decode listings and protocol speciic triggering. However, a good question is
"If protocol analyzers already exist, why is this capability needed?"

First of all, having a single instrument that provides the capabilities of an oscilloscope, logic analyzer
and protocol analyzer provides lots of advantages. First of all, there is the convenience of bench
space. Why crowd your bench with three instruments when one will do? Secondly, even if you happen
to have all three instruments handy, it is a hassle to turn on another instrument and set it up. A single
"All-in-one" instrument saves time.

Secondly, having a single instrument that provides both serial and analog capabilities means
that serial problems can be traced back to their root cause. For example, if there is inter-symbol
interference on a PCI-Express bus, the problem will show up as an invalid packet (and invalid
symbol) in the decode listing. Just point at the problem in the listing and the corresponding waveform
is shown on the screen. Without both serial and analog capabilities, it is dificult to tell what caused
the invalid symbol.

Another beneit of using oscilloscopes to debug serial buses is easy connectivity. There's no need for a
standard port or special IO for connectivity. In addition, oscilloscope probes are passive while protocol
analyzers typically provide re-transmit and re-timing. If physical layer problems exist, connecting the
protocol analyzer can mask them.

Finally, Ininiium Oscilloscopes are able to support a wide variety of protocols such as I2C, SPI, RS232,
USB and PCI-Express. So the oscilloscope doesn't just replace a single protocol analyzer; it replaces a
number of them. It is very common for Engineers to attempt to "mentally decode" waveforms because
they don't have the right protocol analyzer at hand. This new capability eliminates this dificult
process forever.
03 | Keysight | Strategies for Debugging Serial Bus Systems with Ininiium Oscilloscopes - Application Note



Key Functionality


In order to debug a serial bus, it is essential to have both decode as well as triggering. Depending upon the protocol, the
meaning of "decode" can mean a variety of things. For example, in a high speed serial protocol like PCI-Express, decode
can mean anything from symbols embedded in the waveform to a packet listing. In lower speed protocols like SPI, decode is
simply a listing of the payload values.

Embedded Decode
Embedded Decode utilizes the oscilloscope's waveform
display to overlay the decode information in the graticule.
This provides very tight correlation between a waveform and
the corresponding decode. This is functionality that protocol
analyzers do not provide. It also eliminates the common
problem of having to "mentally decode" the waveform.
(It may sound strange, but many Engineers have told me
Figure 1. An example of embedded decode of PCI-Express fields
that they do this on an oscilloscope). An example of an
embedded decode from a Keysight Infiniium 9000 series
oscilloscope is shown in Figure 1.

Note that for high speed protocols, the embedded decode
can either be in symbols (such as 8B/10B symbols) or
packets. This is two different levels of abstraction. An
example of embedded symbols is shown in Figure 2.



Figure 2. Example of embedded decode of 8B/10B symbols
Decode listing
A listing is a very efficient method for displaying data
because it shows a complete packet on a single line as
shown in Figure 3. This is the display that is used on protocol
analyzers. However, on an oscilloscope, there is correlation
between the waveforms and the selected packet. Notice in
Figure 3 there is a selected packet (highlighted in blue) and
there is also a blue line in the waveform display showing the
corresponding waveform.




Figure 3. A decode listing of packets correlated with waveforms


Some information can easily be shown in a column of a table
but some cannot. The most obvious example is a payload,
which can consist only of a couple bytes or dozens of bytes.
In order to be able to view a payload, use the Payload Tab as
shown in Figure 4. This shows all of the bytes in this payload
(which happens to be high speed USB) along with an ASCII
Figure 4. A payload tab shows far more information than
display. Having a separate Payload Tab is essential because
can fit in a column of a table
it allows entire payloads to be displayed regardless of length.
Also, users can change the base (hex, binary, or decimal) to
whatever format is preferred for them.
04 | Keysight | Strategies for Debugging Serial Bus Systems with Ininiium Oscilloscopes - Application Note



Key Functionality (continued)


Decode listing
When we did research on how Engineers like to see serial
data, we found that they could not agree on a single format
to be used all of the time. I showed the Engineers a variety
of formats and asked them which one they preferred.
Instead of choosing one, they requested all of them. The
point they made is that a single view of the data does not
cover all situations and they wanted a variety of formats to Figure 5. A heading view of a packet that matches the way
give them as much flexibility as possible. Some relatively packets are shown in the protocol specification
simple protocols like I2C, RS232 or SPI, require nothing more
than a listing of Packets and a Payload Tab. But high speed
protocols like PCI-Express, SATA, SAS, and MIPI require
more views of the data.

One of the formats that users requested is the Header Tab
shown in Figure 5. This shows the header broken down
by fields in format similar to the one used in protocol
specifications. Having a view of the data that matches
the way the Engineers were taught the protocol is
very important.

Another format that the Engineers requested is a hierarchical
view called the Details Tab. This recognizes that there can be
a hierarchical in protocols (such as fields at different layers
of the protocol). An example is shown in Figure 6 where Figure 6. A Details Tab clearly shows the Physical, Data Link
the Physical, Data Link and Transaction Layers can and Transaction Layers of a high speed protocol
clearly be seen.

The last view that engineers requested is a symbol view. An
example is shown in Figure 7.




Figure 7. An example of a Symbol Listing
05 | Keysight | Strategies for Debugging Serial Bus Systems with Ininiium Oscilloscopes - Application Note



Key Functionality (continued)


Triggering
While doing research on oscilloscopes and serial protocols,
we asked Engineers if serial decode or triggering was more
important. Most Engineers simply could not answer the
question because both are essential to debugging a serial
bus. After all, what good is it to see the bus if you can't
find what you want? That is why oscilloscopes provide both
serial decode and triggering.

Every oscilloscope user is familiar with common triggers
such as edges and pulse widths, but an entirely new suite
of triggers is required for serial. It is not enough to simply
trigger on some aspect of the waveform, but the oscilloscope
needs to trigger on aspects of the protocol itself. For
example, a common trigger that users desire for USB would
be on IN tokens. Or, for I2C, an example would be a Read
that occurs as result of a restart. These are known as packet
types because they allow users to trigger only on a specific
type of packet. An example is shown in Figure 8.
Figure 8. An USB trigger on all packets where the Token is IN




However, there are many cases where simply triggering on
a packet type simply isn't enough. It is essential to be able
to trigger on specific fields within a packet just like protocol
analyzers do. An example is to trigger on a specific data and
address value in I2C as shown in Figure 9.




Figure 9. An I2C trigger on a Read of Address 50 with
the Data 41 47 49
06 | Keysight | Strategies for Debugging Serial Bus Systems with Ininiium Oscilloscopes - Application Note



Key Functionality (continued)


While we were doing our research, we discovered that even
though Engineers wanted the ability to specify packets and
fields as triggers, they also wanted the ability to see exactly
what the definition of the trigger is. That is the purpose of
the "View as Bits" dialog shown in Figure 10.




Figure 10. View as Bits dialog shows the "bit by bit"
definition of the serial trigger




A final type of triggering is referred to as the Symbol
Sequence. Once again, this is for high speed serial buses.
This is for the case where the Engineers want to enter a list
of specific symbols to trigger on. An example is shown in
Figure 11. It begins with a K code (SDP), ends with a K code
(END) but uses data values for the rest of the sequence.




Figure 11. An example of a Symbol Sequence
07 | Keysight | Strategies for Debugging Serial Bus Systems with Ininiium Oscilloscopes - Application Note



Setting Up a Serial Bus


Setting up a serial bus on an oscilloscope is not necessarily Measurement Thresholds
simple. There are a variety of factors that must be specified
correctly in order for both triggering and serial decode to Measurement Thresholds are very similar to Trigger Levels
work. These factors include sample rate, memory depth, even if they are somewhat less familiar. The biggest
trigger levels, measurement thresholds and clock recovery confusion with Measurement Thresholds is how they
(high speed buses only). For simplicity, the Infiniium 9000 are used. Trigger Levels are used by the oscilloscope
series oscilloscopes include an Autoset button that will hardware to trigger. Measurement Thresholds are used
automatically setup all of these parameters for the user. by the oscilloscope software to figure out the decoding.
The two functions are independent; i.e. an oscilloscope
Sample Rate that is triggering just fine on a serial bus may fail to
decode. Compounding the problem is that Trigger Levels
In general there is an optimal sample rate defined by the are prominently displayed in the main window of every
speed of each serial bus. Naturally, if the sample rate goes oscilloscope, while Measurement Thresholds are buried. To
below this level, the serial decode cannot be performed. alleviate this problem, the Infiniium 9000 series automatically
Traditionally, however, oscilloscopes have optimized their sets up both the Trigger Levels and Measurement Thresholds
sample rate based upon the current setting of the time per whenever the Autoset button is pressed. However, if the user
division. This optimizes the view of the current waveform manually changes a Trigger Level (such as by turning the
(which is best for finding signal integrity problems). This is front panel knob), serial triggering may no longer work. In a
a problem when viewing serial decode because zooming in similar manner, if a user changes any of their Measurement
on a waveform will cause the serial decode to disappear. Thresholds, serial decode may no longer work. The best
Therefore, until users want to investigate a signal integrity advice for most Engineers is if either triggering or decode
issue, it is recommended that the sample rate be set to a doesn't work, press the Autoset button again. In most cases,
fixed point. that will take care of the problem.

Memory Depth Clock Recovery

Memory Depth is another key issue. If the depth is Most High speed serial buses use clock recovery instead of
very large, this can slow down the update rate of the a separate clock signal. The Autoset function will attempt to
oscilloscope. However, making the depth too small can choose a method for a specific protocol, but it may be up to
result in the trace consisting of a single fragment of a packet the user to specify the correct method.
(which cannot be decoded). Ironically, the serial triggering
hardware will still work fine because it sees the complete Limitations
packet even though the depth is not great enough to save it.
In many cases, the users will need to experiment to find their While Infiniium Oscilloscopes can perform many of the
optimal memory depth. While triggering helps them to find a functions of a protocol analyzer, there are some limitations.
packet of interest, it is also essential to have a fair amount The biggest is memory depth. Oscilloscopes acquire samples
of context around the packet to see what happened before to be able to recreate waveforms while protocol analyzers
and after. only need to recreate packets. Therefore, the number of
packets that can be stored by protocol analyzers is
Trigger Levels vastly greater.

Trigger Levels are familiar to all oscilloscope users because A second limitation of is performance. Because protocol
they are used in virtually all oscilloscope triggers. Serial analyzers have dedicated hardware to decode packets while
triggering is relatively simple because if the trigger is set oscilloscopes use software decode, for large memory depths
to the middle of the waveform it will generally work fine. the oscilloscopes will be sluggish. (Note that this limitation
Trigger Levels are probably the easiest issue to deal does not apply to the 5000 and 7000 series oscilloscopes
with in serial debugging. which have dedicated hardware for serial decode).

Protocol Analyzers often have specialized performance
analysis capabilities that go well beyond just triggering
and decoding. For these capabilities, a protocol analyzer
is required.
08 | Keysight | Strategies for Debugging Serial Bus Systems with Ininiium Oscilloscopes - Application Note




Summary

New advances in Infiniium Oscilloscopes have enabled
Engineers to debug serial buses as well as analog and digital
signals. In essence, they have become a combination of an
oscilloscope, logic analyzer and a protocol analyzer all in
the same instrument. For example, the Keysight Infiniium
9000 series oscilloscopes have incorporated many of the
most important protocol analyzer features such as a decode
listing and protocol specific triggering. This means Engineers
no longer have to clutter their bench with a wide variety of
instruments or waste time trying to correlate results from
one instrument to another. These new serial capabilities
mean the most common serial debugging can be achieved
on the oscilloscope for a wide variety of protocols such as
I2C, SPI, RS232, USB and PCI-Express.




Keysight Technologies Oscilloscopes
Multiple form factors from 20 MHz to >90 GHz | Industry leading specs | Powerful applications
09 | Keysight | Strategies for Debugging Serial Bus Systems with Ininiium Oscilloscopes - Application Note




myKeysight For more information on Keysight
Technologies' products, applications or
www.keysight.com/find/mykeysight
services, please contact your local Keysight
A personalized view into the information most relevant to you.
office. The complete list is available at:
www.lxistandard.org www.keysight.com/find/contactus
LAN eXtensions for Instruments puts the power of Ethernet and the
Web inside your test systems. Keysight is a founding member of the LXI Americas
consortium. Canada (877) 894 4414
Brazil 55 11 3351 7010
Three-Year Warranty Mexico 001 800 254 2440
www.keysight.com/find/ThreeYearWarranty United States (800) 829 4444
Keysight's commitment to superior product quality and lower total cost
of ownership. The only test and measurement company with three-year Asia Paciic
warranty standard on all instruments, worldwide. Australia 1 800 629 485
China 800 810 0189
Keysight Assurance Plans Hong Kong 800 938 693
www.keysight.com/find/AssurancePlans India 1 800 112 929
Up to five years of protection and no budgetary surprises to ensure your Japan 0120 (421) 345
instruments are operating to specification so you can rely on accurate Korea 080 769 0800
measurements. Malaysia 1 800 888 848
Singapore 1 800 375 8100
www.keysight.com/quality Taiwan 0800 047 866
Keysight Electronic Measurement Group Other AP Countries (65) 6375 8100
DEKRA Certified ISO 9001:2008
Europe & Middle East
Quality Management System
Austria 0800 001122
Keysight Channel Partners Belgium 0800 58580
www.keysight.com/find/channelpartners Finland 0800 523252
Get the best of both worlds: Keysight's measurement expertise and product France 0805 980333
Germany 0800 6270999
breadth, combined with channel partner convenience.
Ireland 1800 832700
This document was formerly known as app note 1611. Israel 1 809 343051
Italy 800 599100
Luxembourg +32 800 58580
Netherlands 0800 0233200
Russia 8800 5009286
Spain 0800 000154
Sweden 0200 882255
Switzerland 0800 805353
Opt. 1 (DE)
Opt. 2 (FR)
Opt. 3 (IT)
United Kingdom 0800 0260637


For other unlisted countries:
www.keysight.com/find/contactus
(BP-05-23-14)




This information is subject to change without notice.