The Data Center Software is a free software interface that allows users to seamlessly monitor traffic occurring on USB, CAN, I2C, SPI, and eSPI buses. The software provides a variety of different ways to debug and analyze data and has become a familiar tool to engineers across the world. In this blog post, we will discuss a popular feature in the software that allows users to trace their device's Link Training and Status State Machine, or LTSSM, stages. First, we will provide a brief overview of the Data Center Software.
The Data Center Software is a bus analyzing software that can be used to interface with Total Phase protocol analyzers. These protocol analyzers, including the line of Beagle Protocol Analyzers, USB Power Delivery Analyzer, Promira Serial Platform with the eSPI Analysis Application, and Komodo CAN Duo Interface, are used in conjunction with the software to capture and display I2C, SPI, USB, USB Power Delivery, CAN, and eSPI bus data. The Data Center Software is easy to use and is the only protocol analysis software on the market with true real-time capture and support for Windows, Linux, and Mac OS X.
The Data Center Software has a multitude of helpful debug and analysis features, including the LTSSM View.
LTSSM stands for Link Training and Status State Machine. LTSSM is a state machine that defines link connectivity and link power management between SuperSpeed USB host and target devices. The process consists of a total of 11 different states. As the process takes place, devices are checking and memorizing the power load capacity of each line and determines what should and can be transmitted on each lane. This process is also known as a handshake. LTSSM validates that a device is working properly and without system bugs. Once the handshake is done, devices can freely send and receive information in accordance with the LTSSM validation findings.
Now that we have a general overview of LTSSM, let’s dive deeper into each of the stages in the process.
In the SS. Inactive state, USB 3.0 is non-operable. Generally, to be in this state there has to be an error in or timeout somewhere in the LTSSM process. Once the error is detected, the device will enter the SS. Inactive state before starting the LTSSM process again.
Rx. Detect
The Rx. Detect state is the power-on or starting state to the LTSSM process. In this state, a device detects the absence or presence of a device connected to the USB link. As a user plugs their USB device into the host device, the detect state starts. There are other ways to enter the detect state but the most common way to enter the detect state is by plugging a USB device into the USB host device.
Polling
In the polling state, the two USB devices get acquainted with each other. In this state, the bit lock, symbol lock, lane polarity, lane data rate, and compliance testing occur. The host device transmits bits of data to be responded to by the slave device. During the polling state, two link partners train the link to synchronize their communications in preparation for data transmission.
Compliance Mode
The compliance mode is initiated by the polling state. In this state, both USB devices are agreeing upon device capabilities including voltage, noise emissions, and timing specifications.
U0
The U0 state is the normal operational state where SuperSpeed USB data transmission takes place. In this state, both USB devices can freely send and receive USB data.
U1, U2, U3
The U1 – U3 states are low power, active power management states. U3 is the lowest power state of the three states. U2 is the second-lowest and U1 is the third-lowest of the three power states. These are low-power states where no SuperSpeed USB packets are transmitted. U1, U2, and U3 have increasingly longer wakeup times into U0, and thus allow transmitters to go into increasingly deeper sleep.
Loopback
The loopback state is used as a test and fault isolation state. If there is an issue on the bus, the loopback states help isolate and test that issue as a built-in troubleshooting system.
Disable
In the disabled state, the USB SuperSpeed bus is disabled and operates as USB 2.0 only.
Hot Reset
The hot reset state is triggered when an abnormality occurs in the polling state. If something is not right in the initial polling state, the device will reset itself and start the LTSSM process over from the beginning.
Recovery
The recovery state is the state that wakes a device up from either the U1, U2, or U3 low power sleep states. Once data is requested from a device in the U1 – U3 states the recovery state directs the device to the proper state.
Now that we have a high-level understanding of LTSSM and its different stages, we can dive into the LTSSM View within the Data Center Software. For this example, we will be showing the different stages as we plug in a USB 3.0 flash drive.
The LTSSM View can be displayed by clicking the LTSSM View button at the top of the software.
Once clicked, users will now have access to see the LTSSM View and will be presented with a flow diagram of the LTSSM states. Once the capture has been started, users will see the SS. Disabled bubble light up. This means that the Beagle USB 5000 v2 SuperSpeed Protocol Analyzer is ready for a USB 3.0 device to be plugged in.
As seen in the image below, once our USB 3.0 flash drive device is connected, the device goes through the following states; Rx. Detect –> Polling –> U0. The arrows show the flow at which the device went through each of the stages.
When the flash drive is unplugged, we can see the device goes through a few additional states. Now, as seen in the image below, the device goes into Recovery mode to SS. Disabled to SS. Inactive.
To see a demo of this feature in action, check out our video about Using the LTSSM View in Data Center Software to Debug USB 3.0.
The LTSSM View in the Data Center Software is a helpful feature to help developers trace what LTSSM states and transitions their USB 3.0 devices are in, and gives deeper insight into power management, connection, and enumeration issues of such devices. For more information on the LTSSM View or other Total Phase USB debugging solutions, please contact us at sales@totalphase.com.