Taking full advantage of 8b/10b encoding in your USB 3.0 design

Mike Micheletti. LeCroy

January 5, 2012

Mike Micheletti. LeCroy

Designing USB 3.0 Test Equipment
All SuperSpeed USB 3.0 analyzers rely on PHY silicon to perform the critical role of LFPS detection and data deserialization. There are two basic approaches to designing the analyzer’s data recovery circuitry.

Figure 1. When framing errors occur, the PIPE PHY-based analyzer sets a flag that indicates the symbol did not decode properly. But it’s not possible to see the actual raw 10b symbols that were received with errors. Instead of showing the actual bits for framing errors, the analyzer simply substitutes “D” characters for “K” characters to imply an error. These analyzers may show valid 10-bit codes but only by reverse calculating the values using valid 8-bit symbols. 

Some USB 3.0 analyzers rely on commercially-available SuperSpeed PIPE PHYs (Figure 1 above ), while others are custom designed with general purpose deserializer components to allow direct access (Figure 2, below), capture and recording of the native 10b traffic.

The main limitation when considering test equipment that uses USB 3.0 PIPE PHYs, like the Texas Instruments TUSB1310, is that the PIPE interface on this chip does not preserve the 10-bit symbols on the bus.

Figure 2. When link framing errors occur, deserializer-based analyzers show that the symbol was not valid by marking in red. The actual 10b symbol (3A9) is shown by “drilling down” to the native 10b trace recording, allowing developers to see transmission errors or bit flip errors. Running disparity is also preserved allowing users to distinguish running disparity errors from other encoding errors. 

Since the 8b/10b endoding/decoding and running disparity process is defined as a physical layer function, this PHY (and other “off-the-shelf” PHYs) converts the data stream to 8-bit patterns before transferring to the analyzer logic. In the process, it discards the original 10-bit patterns including running disparity.

Without the running disparity information, it becomes impossible to accurately recreate the 10b symbol, especially when an invalid 10b symbol is received. While the TI PIPE PHY can indicate receipt of an invalid 10b symbol, it cannot identify which invalid 10b symbol was received.

Also, while PIPE PHY may indicate a running disparity error, it cannot identify the disparity value that was received or the previous symbol’s running disparity.

Showing Actual 8b/10b codes
Header packets and link commands are designed to tolerate a single bad symbol within their packet delimiters. When these errors occur, SuperSpeed devices are required to accept these packets as long as three out of four framing symbols are valid. Both analyzer approaches can detect when 10-bit symbol errors occur.

The difference indicates that PIPE PHY based analyzers do not show the actual 10-bit symbol when it contains an error. This is easy to see using USB-IF Link Layer test case 7.05 (Header Packet Framing Robustness) that intentionally corrupts the HP framing. Only analyzers that capture and preserve raw 10b symbols allow users to see what was actually received.

This is important in attempting to resolve problems in developing new SuperSpeed USB 3.0 products, because although a PIPE PHY based product can inform the user in invalid symbol was received, no other information about the symbol is available, so engineers cannot differentiate between, for example, an encoding error associated with a specific 8b byte and a hardware issue that repeatedly introduces incorrect bits into specific locations in the data stream.

The inability to directly identify the invalid symbols means more time lost and more expensive test equipment required in tracking down the source of the problem so that it might be resolved. Both analyzer approaches can detect and report errors in the payload portion of headers, data frames, and link commands (using CRC checks).

However, analyzers that utilize the PIPE PHY only have access to the 8-bit bytes to analyze the traffic. This is normal for commercial PHYs because higher layers only use the 8-bit values. However, when it comes to test equipment, developers generally want to capture the most detailed picture possible of traffic on the bus (ie: header packet framing error example above).

In the event developers using PIPE PHY based analyzers need visibility to 10-bit errors in link or header framing, the only alternative is attaching a scope to the system-under-test to capture the raw bit information.

When it comes to debugging link layer or 8b/10b encoding issues users will benefit having this additional information from the analyzer (Figure 3 below).

Figure 3. Both the Voyager M3i and Advisor T3, shown above, use deserializer components & feature true 10b symbol capture for uncovering root cause issues effecting USB 3.0 link stability.


Visibility to the native 10b symbols captured at the physical layer can help uncover root cause issues effecting link stability, resulting in faster problem resolution and quicker time-to-market for new USB 3.0 product designs.

Mike Micheletti is USB Product Manager for the LeCroy Protocol Solutions Group, which includes the company’s USB 3.0 analyzers, the Voyager M3i and the Advisor T3 which utilize custom designs using deserializer components and feature true 10b symbol capture.

< Previous
Page 2 of 2
Next >

Loading comments...

Most Commented

  • Currently no items

Parts Search Datasheets.com

KNOWLEDGE CENTER