To Verify the USB Data Path is Operating at Maximum Speed, How Do I Adjust Periodic Timeout and Polling?

Question from the Customer:

I am using the Beagle USB 480 Protocol Analyzer to debug some issues on my CDC ECM implementation on a STM-32 MCU. I have questions about the results I’m seeing with Data Center Software.

I am looking into the significance of the POLL and IN-NAK counts, as well as the Length that is reported in some records as bytes and records as time in msec or sec.

Are these values generated at my USB peripheral device in the STM32 or does the Beagle USB 480 analyzer tag these records?

IN-NAK data showing time-out

IN-NAK data without time-out

My important question is about polling. The polling number is the inverse to the data rate of the packets being processed: the smaller that number is, the closer we are to the data rate limit. For example, if the poll is showing 8 or 9, it is very close to the maximum speed that this data path can operate.

My issue - poll data numbers are only visible when I allow IN messages to be displayed. Is there another way to view polling data numbers?

Response from Technical Support:

Thanks for your questions! The first screenshot that you provided shows that after a specific period, timeout occurs. The msec measurements appear to be normal behavior. The periodic timeout can be filtered. For polling information, you can implement the Delayed-Capture option, support by the Beagle USB 480 Protocol Analyzer.

Why Periodic Timeout Occurs

A Timeout error occurs when no data was seen before the timeout interval occurred. This can occur during one of the following events:

  • No data was seen on the bus
  • A pause in the transmission of data exceeded the timeout interval.

If the combined time duration of all collapsed transactions is 2 seconds or more, the Beagle USB 480 analyzer and Data Center Software indicate this behavior as a Periodic Timeout. Timeout error is a generic error, which occurs when the capture of a transaction timed out while waiting for additional data (>250ms). This is normal, expected behavior and cannot be attributed to a bus or a hardware issue.

Filtering Periodic Timeout

You can filter out the Periodic Timeout. In the LiveFilter tab under USB 2.0, uncheck SOF/Keep-Alives and then click the Apply button.

SOFs Keep-Alives option with Data Center Software

Polling Data and Delayed-Download Capture

To view the polling data, we recommend using the Delayed-Download functionality with your Beagle USB 480 analyzer.

  1. To run a delayed-download capture, select the Delayed-Download Capture Mode option in the Device Settings dialog of the Data Center Software. During the delayed-download capture, there will still be a small amount of Beagle USB 480 analyzer traffic on the capture bus because the software pings the analyzer to retrieve capture statistics. If the monitored device is High-speed and shares its host controller with the Beagle USB 480 analyzer, we recommend enabling the Omit packets matching the Beagle analyzer’s device address option. This will filter out the few Beagle USB 480 analyzer packets that remain during the delayed-download capture.
  2. As the “remaining packets” are stored in the Beagle USB 480 analyzer’s hardware buffer during the capture, we also recommend enabling the Hardware input filter options. This allows a longer capture period, which prevents non-essential traffic from being saved in the hardware buffer.
  3. Once the capture settings have been set, click the Run Capture button to open the Delayed-Download Capture dialog.
  4. Set the polling interval for the capture. While polling during the capture, the Data Center Software checks the hardware buffer usage and displays it in the progress bar.
  5. This polling will generate traffic on the bus; polling can be disabled to eliminate this traffic by choosing Never for the polling interval.
  6. Start the capture by clicking the Start Capture. If polling is enabled, the progress bar will show the portion of the hardware buffer that has been filled with capture data. The progress bar will be updated every time the Data Center Software polls the Beagle USB 480 analyzer.Delayed Download Capture dialog from Data Center Software
  7. When the hardware buffer is full, the capture will stop and the dialog will indicate that it is ready to download the capture from the hardware.

For more information, please refer to the Delayed-download Capture sections of the Beagle Protocol Analyzer User Manual and the Data Center Software User Manual.

We hope this answers your questions. Additional resources that you may find helpful include the following:

More questions? You can send us your questions via sales@totalphase.com. You can also https://www.totalphase.com/demo-request/request a demo that applies to your application.