Exporting USB Decoded Data

I am using the Logic - Automation Libraries to export the USB decoder data. Its taking a while to decode the recorded data and export into csv format. I need a faster way to export the data in real time. Could you please help me with this ?

The 2 options we have available for exporting decoded analyzer data is as follows:

  • Export to csv
  • Export to txt

Does exporting to txt speed things up a bit?

When exporting raw (non-decoded) data, we provide an option to export to a binary file (which is significantly more efficient than exporting to a csv file), however, if you are looking to export decoded data like USB, this option is unfortunately not available.

How long is the export process taking on your end? Can you share a copy of your capture file for us to test the export time you are seeing? As a starting point, we’d be happy to check if the export times you are seeing are within expectation.

Note: I have not done any USB work in several months now. Off playing with other things.
Currently some displays, with Parallel inputs instead of SPI…

But as I have mentioned in some other threads, like:

Earlier when I was trying to decode USB data, to help figure out how to add support for them, in our USB Hosting code (for Teensy 3.6 and 4.x), I found the export data I would collect was huge, like maybe 100K lines of output (or more), often times the actual data I wanted could be reduced to something like 50 lines. And at that time I saved the file out, used linux grep, plus regular expression editing and the like to get it down to something manageable.

So I hacked up a version of the USB LS/FS analyzer and converted it to output Version 2 data. And then created an HLA to decode it. It is not perfect, But most of the time it worked sufficiently for what I needed. It was mostly setup to handle packet mode. I was at one point trying to add support for the interface level. Some of that is there some not…

But data like:

1.39360519 SETUP 0x0 0x0 ACK [GET_DESCRIPTOR - DEVICE #:0 I:0x0 L:0x8] 0x80 0x6 0x0 0x1 0x0 0x0 0x8 0x0
1.393620256 IN 0x0 0x0 ACK 0x12 0x1 0x10 0x1 0x9 0x0 0x0 0x8
1.394682918 SETUP 0x0 0x0 ACK SET_ADDRESS I:0x0 L:0x0] 0x0 0x5 0x1 0x0 0x0 0x0 0x0 0x0
1.395682942 SETUP 0x0 0x1 ACK [GET_DESCRIPTOR - DEVICE #:0 I:0x0 L:0x12] 0x80 0x6 0x0 0x1 0x0 0x0 0x12 0x0

Was a lot easier for me to go through.

Good luck

Got it, Is there any way that i can use the automation api without the display ?

And Is there any Analyzer that can decode USB 3.0 signals ? Right now I am using the Logic 2, will a better version of logic device able to decode the signals of USB 3.0 version

Capturing & decoding USB3 at the signal/waveform level requires high-end equipment. The bitrates of USB3.x are 5 Gbit/s or faster, which would require at least 10 GHz or faster sample frequencies. There are other ways to capture USB3 at the bus/wire level, but it still requires specialized equipment that isn’t cheap (e.g., a USB3.0 protocol analyzer).

If you just want to capture the data packets, you can use Wireshark and Wireshark’s USB capture feature. It won’t see everything at the bus/physical level, but it is ‘free’ with a PC and some open source tools.