Data Center Software Series: Hub Latency View

The Data Center Software is an industry-leading bus monitoring solution for debugging I2C, SPI, USB, CAN, and eSPI systems. The robust software is used in conjunction with Total Phase protocol analyzers, including the Komodo CAN Duo Interface, the Beagle Protocol Analyzers, and the Promira Serial Platform with the eSPI Analysis Application. The software allows users to capture, monitor, and debug bus protocols in real time. Additionally, it allows engineers to gather valuable insights into their embedded systems, providing various details about the devices under test and captured data, including low-level bus events, enumeration details, packet data, bus errors, and much more.

The Data Center Software is packed with useful and time-saving features, one of which is the Hub Latency View. With this feature, users can capture data at multiple points in the USB device chain concurrently by syncing two or more Beagle USB 5000 v2 analyzers. The Hub Latency View then calculates the latency introduced by using a hub in the device chain. In this blog, we’ll go over the cross-analyzer sync capabilities of the Beagle USB 5000 v2 analyzer and discuss how to calculate the hub latency using the Hub Latency View feature.

Cross-Analyzer Sync Capabilities

Two HDMI ports on the back of the Beagle USB 5000 v2 SuperSpeed Protocol Analyzer allow two or more analyzers to synchronize their capture timestamps, as well as their capture start, capture trigger, and capture stop events This is known as cross-analyzer sync, and it allows users to concurrently monitor both sides of a USB hub or a number of points in a USB system, all while minimizing clock drift. Clock drift prevents the reliable correlation of captured data from two different analyzers.

The diagram below shows a setup that would benefit from the hub latency feature:

Hub System Block Diagram

Setup

To utilize the Hub Latency View, users will first need to configure the hub setup by connecting together the two Beagle USB 5000 v2 analyzers. Connect the SYNC OUT port on one Beagle USB 5000 v2 analyzer to the SYNC IN port on another analyzer. Once two analyzers are connected, adding more analyzers to the chain is simple. The following steps describe the setup process.

  • Connect SYNC OUT on one analyzer to SYNC IN on another analyzer with an HDMI cable to begin a sync chain.
  • Connect SYNC OUT on the last analyzer in the chain to SYNC IN on an unconnected analyzer to extend the sync chain. Repeat this step as desired to expand the sync chain beyond just two Beagle USB 5000 v2 analyzers.

Once the analyzers have been physically connected, they now need to be connected to the Data Center Software. A single instance of the Data Center Software can only connect to a single analyzer, so a separate Data Center window will need to be opened for each analyzer in the chain. For example, if you are syncing two analyzers, you will need two instances of the Data Center Software open. Each analyzer should be connected to the Data Center Software by clicking Analyzer > Connect in the top menu and choosing the correct device.

Next, both Data Center instances need to be enabled to Accept Cross Trigger and Accept Cross Capture Stop in Device Settings window. The Trigger Immediately option should also be disabled. In the Capture Control Window of both instances, disable the Target Power.

Now the capture can be started in all Data Center instances by clicking Analyzer -> Run Capture. In the first Data Center instance, click Trigger Capture causing all instances of Data Center to start capture. Then enable Target Power button in Capture Control Window.

Trigger Capture

Cross-analyzer sync allows multiple analyzers to be triggered, advancing from pre-trigger to post-trigger in a synchronized manner. An analyzer connected via cross-analyzer sync will output a trigger signal to other analyzers in the chain when its capture is triggered.

The trigger signal can be ignored on a per-analyzer basis by software configuration allowing an analyzer to remain in pre-trigger even if other analyzers connected by cross-analyzer sync have been triggered. An analyzer configured to ignore incoming trigger signals will still output a trigger signal to other analyzers on its own capture trigger.

Stop Capture

Cross-analyzer sync allows multiple analyzers to stop capturing at the same time. An analyzer connected via cross-analyzer sync will output a stop signal to other analyzers in the chain when its capture is stopped.

The stop signal can be ignored on a per-analyzer basis by software configuration allowing an analyzer to continue the capture even if other analyzers have stopped their capture. An analyzer configured to ignore incoming stop signals will still output a stop signal to other analyzers on its own capture stop.

Hub Latency View

The Hub Latency View can be used to evaluate the latency of USB hubs and provides a hub latency report including the highest, lowest, and average values of the delta time statistics across packets.

The view is accessible via the Hub Latency View button in the application toolbar. It also opens automatically when one of the Log sync packet time commands is executed.

Hub Latency View Icon in Data Center Software

The Hub Latency View window in the software contains a plethora of information captured in real time, including the following:

Hub Latency View in Data Center Software

  • Start time displays the time when the hub latency test began, which is when the first record was added to this view.
  • Beagle 5000 v2 #1/Beagle 5000 v2 #2display the serial numbers of the Beagle 5000 v2 analyzers connected to all Data Center Software instances at the start of a test. These fields are used only for the generation of the hub latency report.
  • Export generates the Hub latency report in CSV format.
  • Hub Latency table contains latency information for individual packets and has the following columns:
    • B1 Index– Index of the packet in the Transaction View in the current Data Center window.
    • B1 Time– Timestamp of the packet in the current Data Center window.
    • B2 Index– Index of the packet in the Transaction View in the other Data Center window.
    • B2 Time– Timestamp of the packet in the other Data Center window.
    • Delta Time– Latency of the packet over the USB hub.
  • wHubDelay reported– The wHubDelay value in the Hub Descriptor is captured by one of the Beagle USB 5000 v2 analyzers. This value is applicable only for SuperSpeed hubs.
  • Highest/Lowest/Average Value– Delta Time statistics across the packets in the current view.
  • Sample Size– Number of samples with valid data.

Hub Latency Calculations

USB 3.0

The latency calculation for USB 3.0 packets is the difference between the start time captured by the Beagle USB 5000 v2 analyzer farthest from the transmitter and the end time captured by the Beagle USB 5000 v2 analyzer closest to the transmitter. Only the following SuperSpeed packet types are supported for latency calculation:

  • Transaction Packet
  • Data Packet Header
  • Isochronous Timestamp

USB 2.0

The latency calculation for USB 2.0 packets is the difference between the start time captured by the Beagle USB 5000 v2 analyzer farthest from the transmitter and the start time captured by the Beagle USB 5000 v2 analyzer closest to the transmitter. Only the following High-Speed packet types are supported for latency calculation:

  • These tokens: OUT, IN, SETUP, PING, EXT, LPM, SOF, NAK, NYET, and STALL
  • DATA and ACK tokens are captured as part of the IN, OUT, SETUP, PING, or EXT transaction

Log Sync Packet Time

The “log sync packet time” will calculate latency for the selected packet and add the result into the Hub Latency View. The matching packet will become highlighted in the other Data Center Software Transaction Window.

This command is available only if the selected packet is supported for latency calculation. These packets are always the innermost records in the Transaction Window and can be found by expanding the higher-level transaction records. They can also be made visible by clicking on + (Expand All) at the bottom of the Transaction Window or changing the view to Packet View.

Batch Log Sync Packet Time

Batch log sync packet time allows adding data to the Hub Latency View for several packets simultaneously. Clicking it will open a Hub Latency Options Dialog with the following options:

USB3 TP – De-selecting it will exclude all USB 3.0 Transaction Packets from calculations.

USB3 DPH – De-selecting it will exclude all USB 3.0 Data Packet Header Packets from calculations.

USB3 ITP – De-selecting it will exclude all USB 3.0 Isochronous Timestamp Packets from calculations.

USB2 packets – De-selecting it will exclude all USB 2.0 Packets from calculations.

Number of packets – Number of packets to be added to the Hub Latency View. The maximum allowed number is 500.

This command will find the specified number of eligible packets starting at the current selection, calculate latency for each packet and add results into the Hub Latency View.

 

Transaction Window and Hub Latency View in Data Center Software

Conclusion

Being able to monitor multiple devices on a hub and the hub itself is a beneficial feature of the Beagle USB 5000 v2 SuperSpeed Protocol Analyzer. The Hub Latency View in the Data Center Software makes viewing the synced data and calculating hub latency quick and easy. To learn more about setting up and utilizing the Hub Latency View feature in complete details, please visit the Knowledge Base article, “Hub Latency Calculation using Beagle 5000 Analyzer”.

For any questions about how this feature can be used for your own USB application, please email us at sales@totalphase.com.