Thursday, April 14, 2011

Superspeed USB 3.0 Plugfest in Portland, Oregon

This week I attended the Superspeed USB 3.0 PlugFest at the Embassy Suites in Downtown Portland, Oregon.  Tektronix is headquartered in Beaverton (not far away), so it was a chance to visit the factory and also to learn more about the latest high speed computer serial bus.

So what is SuperSpeed USB? 
Otherwise known as USB3.0, it is the next generation of USB standard.  The standard connector housing looks identical to USB2.0, but there the similarities end.  The connector actually has both connections for USB2.0 and USB3.0 inside of it.  The standard requires that USB2.0 devices work in USB3.0 ports and vice-versa, so each connector is designed to work at the lower speeds if one of the two devices being used does not support SuperSpeed.  As you can see in the image below, if you remove the 5 thinner wires in the back of the connector, you have a USB2.0 connector.

USB2.0, otherwise known as High Speed USB, runs at 480MT/s, does not use spread spectrum clocking, and has 4 wires.  There is a ground wire, a voltage wire (VBUS), and a single differential signal.  Differential means that the 2 wires carry 1 signal, but the differential pair enables it to be more immune to noise and to travel further without degrading in signal quality.  The single differential pair carries both transmit and receive, so the link is bidirectional.  The bus is DC coupled and is NRZ encoded.

Behind the USB2.0 conductors, you see 5 pins for USB3.0 (labeled below in red).  USB3.0 runs at 5GT/s, or 10x the speed of 2.0, uses spread spectrum clocking, and has 5 wires.  There is a ground pin, and then 4 signal wires.  There is a differential path for transmit and a differential path for receive.  In other words, there are 2 unidirectional signal paths instead of 1 bidirectional signal path.  The bus itself is AC coupled and is 8b/10b encoded.  8b/10b encoding is a technique used to make sure no string of 0's or 1's is so long that receive clock recovery circuits lose lock.  There are always transitions on the line that ensure the receiver tracks the transmitter properly.  Also, the spread spectrum clocking ensures that the 2.5GHz fundamental clock used for data lines does not radiate too much and interfere with other devices.  2.5GHz is a particularly dangerous signal to radiate because WiFi, Bluetooth, and numerous other devices operate there and nobody wants an unintentionally radiated signal from a non-wireless system to interfere with wireless communication.

Plugfests are cool events.  Everybody brings their device to test and make sure it meets the specification.  Why is it important to meet the specification?  To be allowed to use the USB symbol, a device must meet certain performance requirements.  Tektronix focuses on the electrical physical layer, making sure the edges are the right speed, pulses the right amplitude, and the signals the right timing.  Others at the PlugFest focus on interoperability, or the actual communication from the device itself.  Everybody plugs their device into various hosts and makes sure that the two can talk (hence, plugfest!).  A physical layer test makes sure the signals are correct, but does not make sure the device can actually communicate with a host.

So follow the sign to the USB Plugfest!

Any Superspeed USB device must also be compliant with High Speed USB2.0 and Full Speed USB1.1.  Here we are running that test with a Tektronix MSO5204 2GHz oscilloscope and a TDSUSBF compliance test fixture.  You'll notice in the photos that I show the Tektronix test equipment, but I do not show the devices we are testing.  Many electronics companies are bringing devices that have not yet made it to the market, so they are understandably secretive.  Remember how upset Apple was when an iPhone was left in a bar?  One company had us test their device while it was wrapped in tape and all we could see was a connector sticking out of the side for us to test.  So the photos below will show our test setups, but no devices under test other than things we brought ourselves to test our own setups.

The above setup uses the fixture below to test a device to the Full Speed and High Speed (1.1 and 2.0) standards.  Each connector is used for a different test, and the probes connect to the oscilloscope so a special test software called TDSUSB2 can analyze the waveforms.  To get the USB device tested, software is run on a separate PC that puts the device into various test modes.  Essentially, you hook the fixture itself up to a laptop, command the device under test (DUT) to send out a test packet, and then you turn a switch so the oscilloscope can measure the waveform.

TDSUSBF Compliance Fixture for Full Speed USB1.1 and High Speed USB2.0

Below is the setup in the USB "gold suite" where official testing is being performed for USB2.0 compliance.  The one test not shown in the Tektronix MSO5204 setup above is the jitter tolerance test.  Below you can see a Tektronix DPO7254 oscilloscope with a Tektronix AWG5014C below it.  The AWG is a signal generator that is playing a simple disruptive pattern into a device under test.  On the screen you can see a low level packet followed by a high level packet.  Remember that USB2.0 is bi-directional, so both transmit and receive are on the same trace.  If the jitter is turned too far up, the transmit packet disappears from the scope display.  Thus, a device can be tested for its tolerance of jitter.  The rest of the gold suite test on the DPO7254 is identical to what we did above with the MSO5204.

For SuperSpeed USB (USB3.0), the test fixture is remarkably simpler, but the test setup is far more complex.  While a 2GHz oscilloscope is sufficient for USB2.0 (along with a lower cost stimulus/jitter source), USB3.0 requires a 12.5GHz oscilloscope.  In addition, USB3.0 requires a receiver sensitivity test with a high performance data generator to make sure the device can handle jitter.

The fixture below shows a port for injection of a signal from the data source (lower right).  It goes through a 3 foot long USB cable (a lossy channel) and it launched through the PCB into the device under test connected to the board as well (top of the image).  Then, the device retransmits data to the 2 SMA cables attached to the board which take the data to a piece of test equipment (either an oscilloscope or a BERT).

Official SuperSpeed USB3.0 Compliance Fixture

Tektronix supports 2 different test suites for Superspeed USB.  Below you can see an AWG7122C as the data generator with a Tektronix MSO72004C as the oscilloscope.  The test is automated by TekExpress, an automated framework that communicates with both the oscilloscope and the AWG to perform the test.  The oscilloscope bandwidth is overkill for USB3.0, so TekExpress limits the bandwidth via digital signal processing (DSP) to 12.5 GHz for the test.

First, transmitter testing is performed.  The AWG send a signal to the DUT called an LFPS, or a low frequency pulse that initiates a pattern to come out of the device.  This test pattern can be switched by applying the LFPS again.  These test patterns are analyzed by the oscilloscope, and TekExpress indicates pass or fail.  Transmitter testing requires a real-time oscilloscope to see the signal.

Setup for Superspeed USB3.0 Test with Tektronix Oscilloscope and AWG

Photo of Superspeed USB3.0 Test at PlugFest
Next, TekExpress performs receiver testing.  The AWG sends the command into the DUT to put it into loopback mode.  In this mode, the DUT literally just replays any data it receives.  If it misunderstands a bit, then it replays the wrong bit and a bit error is detected.  To run the test, the AWG plays out different data patterns with various amounts of jitter.  The setup is fairly simple because an AWG can literally shape its bits, adding pre/deemphasis, loss, or jitter before it sounds out a signal.  To detect the error, we use a Tektronix oscilloscope.  Tektronix oscilloscopes are the only ones in the world with a built-in bit error rate detector in the trigger system.  It must be done by hardware because any digitized data on he oscilloscope screen will have gaps in it, so a continuous bit-error rate test can only be done with dedicated error detection circuitry.  The trigger system of the oscilloscope can actually count bit errors in a serial data stream.  TekExpress checks the bit errors and makes sure that the DUT can ignore the extra jitter and transmit the right data.

The other test setup for SuperSpeed USB3.0 uses the Tektronix BERTScope.  Either setup can do the compliance test, and there are advantages and disadvantages to each.  In this setup, there is no AWG, but rather a Tektronix BSA85C BERTScope that both generates the data and counts the bit errors.  An oscilloscope is still used for transmitter test, but the BERTScope is used for the receiver test.  The BERTScope takes the place of both the AWG and the error detector on the oscilloscope.

Superspeed USB3.0 Transmitter test on Tektronix Oscilloscope
Tektronix BERTSCope Setup for Superspeed USB3.0 Receiver Test

Photo of Setup at PlugFest

In the image below, the Tektronix BERTScope BSA85C generates a data pattern into the DPP, or digital pre-emphasis processor (the box on top of the stack).  The AWG does not need the DPP since it can shape the bit shape directly, but since the BERTScope is a high speed digital generator, it needs the extra processor to add the pre-emphasis.  There is also a Tektronix CR125A clock recovery unit that is used for receiving the data when receiver testing is performed (show sitting directly on top of the BERTScope on bottom).

On top of the BERTScope is a special instrument switch that can initiate the LFPS signaling required to toggle the DUT and put it into loopback mode.  It is shown side-on in the image above, so I took a better photo in the image below.  LFPS is tough for a BERTScope to generate since it is low frequency, so this box generates the LFPS and then switches to allow the BERTScope to communicate with its 5GB signal.

In this picture, we were debugging a DUT and trying to cycle through various test patterns.  Jit Lim from Tektronix (see his blog here Jit Lim - The Scope Guru ) is firing off the LFPS signals.

The other really cool thing that the BERTScope can do is called margin testing.  The AWG can play out the proper waveform with the prescribed jitter, but the BERTScope can easily adjust the jitter up until the device breaks and stops properly transmitting.  The blue area below shows the required performance, and the vertical Y-Axis is a log scale of jitter as a percentage of the unit-interval (UI).  The x-axis is jitter frequency.  The BERTScope tests each jitter frequency at increasing levels (shown by the green dots) until the device stops responding (shown by the black dots and the black line.  This vendor's device is superb and well exceeds the specification for jitter tolerance.

Both the AWG/Oscilloscope and BERTScope/Oscilloscope did a nice job of testing the devices, but for speed, ease of use, and margin testing, I definitely preferred working with the Tektronix BSA85C BERTScope   Both tools, however, gave excellent results and quick answers, verifying devices met the compliance specification.

I'm now heading back to Baltimore after a tiring couple of days, but I learned quite a bit about this new technology and hope you did as well!

1 comment:

  1. This is a nice, straighforward explanation of what it takes to test one component of USB3.0 at a plugfest. Appreciate the photos.