# What sample rate do I need to analyze usb 2 with a analyzer?

What is the sample rate needed for a logic analyzer to be able to analyze a 480 Mbps USB 2 bus?

• What data rate is full speed USB 2 bus? Commented Apr 24, 2020 at 13:06
• USB 2 FS is 12 Mbps. Commented Apr 24, 2020 at 13:25
• USB 2 has a speed of 480Mbps Commented Apr 24, 2020 at 13:26
• I have changed in the question with speed instead of full speed as it seems that full speed is limited to usb 1.0 specs of 12Mbps Commented Apr 24, 2020 at 13:30
• @codiac I think Andy's comment was intended to be rhetorical. This is almost a self-answering question. Almost. Commented Apr 24, 2020 at 13:32

Nyquist basically says you need at least double the bandwidth (aka the highest frequency component of interest) in your signal to get a sampled waveform unique to your signal. Unique is not the same as accurate. Draw a sine wave with just two points per cycle, then 4, then 8, then 16. You can intuitively see why. Your square wave's fundamental is around 480MHz but the edges of a square wave contains frequencies many times that. But you know it is a square wave so you can weed out things like edges that don't seem to be exactly where they should be if your sample rate isn't many times faster than double.

It is the difference between having a discernible or identifiable picture vs a clear, highly detailed picture. Sometimes, discernible is enough though, especially if you already know what it is you are supposed to be looking at.

USB 2.0 HS signal has the main frequency of 240 MHz, but the signal UI (unit interval) is 2.083 ns. So you need few samples per UI to identify the bus state and its transitions.

There are software processing packages for high-speed oscilloscopes that provide USB protocol post-processing and decoding. For example, Tektronix offers USB decoder starting with mid-level scopes as 4 Series MSO Mixed Signal Oscilloscope, see this reference

In this example the default sampling rate for a straightforward signal decoding is 6.25 Gsps, but 3.125 Gsps is also doable. For more details of scope-based decoding see this article.

However, normal USB protocol analyzers don't use the raw data sampling; they use the same high-speed grade USB PHYs as in normal USB devices, they just use a weak non-invasive high-impedance sniffers with wide-band amplifiers to restore the signal and feed the PHY. The PHY does all this oversampling (internally), clock-data extraction, and provide an output in digital format to FPGA-based buffers and event triggering.

Since USB 2.0 hast a frequence of 480MHz you need more than the Double of this (Shannon-Theorem).

Neverthrless most often the 10 times of the frequence is recommended. So around 4800Mhz.

• So will it be kind of insufficient with 1G. What if there are no errors in the transmission (hardware wise) and used only for sniffing? Commented Apr 24, 2020 at 13:44
• 1GHz would be right on the limit, as it does not leave much room for differentiation, slightly higher than 1.06GHz would be the ideal for recovering every last bit, (with only 2 samples you get a beat frequencies that makes it hard to tell exactly where the clock is in relation to your samples, so you want atleast 2 samples per level to make this easier. Commented Apr 24, 2020 at 14:40