USB Analyzer [DSO Quad Application Software Design Entry]

This is an USB Protocol Analyzer for the DSO Quad Application design competition:

See here for more details:

Downloads here (it needs QuadPawn 0.06 or newer):

Amazing work! I Cant wait until I use it as hardware keyboard sniffer :slight_smile: And is it really necessary to measure both D+/D- wires? The are forming a differential pair and most of the time they hold the same logic level on both lines.

It would be quite easy to hack it to only show the contents of DATA packets… that would make an excellent keyboard sniffer :slight_smile:

End of packet is signalled in USB by pulling both D+ and D- to ground. I’m not sure if it is possible to detect it otherwise. Other than that, a single signal would be enough.

Very nice addition. Thank you.

I established the PAWN_006 version. USB Analyzer works normally, but with this version Frequency Response doesn’t work (FREQ001, doesn’t work at other modes absolutely). Frequency Response perfectly works with PAWN_002 (FREQ000), but USB Analyzer and many other things doesn’t work.

Ok, I can see that there is a problem. For me it just stops midway through the measurement. I’ll debug that problem.

Can you tell what are the exact settings you use for testing? The results you get look a lot like the input probe (channel A) was just disconnected.

minfreq = 2

maxfreq = 3

waveform = 0

clear = 1

steps = 3

reference = 0

PAWN_002 with these parameters works. PAWN_006 with these parameters hangs (even scanning doesn’t begin). On PAWN_006 it was possible though any result to receive for save only at maxfreq - 20k. Change only PAWN. All the rest without changes.

This bug should be now fixed in PAWN_007. Available from

The bug was caused by the new GCC version (4.7.3 vs. old 4.6.1) optimizing things differently. This caused a few bugs in the time-critical wavein loop to come visible.

There is also a new version of freqresp. But it is only a small speedup, not related to this bug:

<LINK_TEXT text=“ … eqresp.amx”></LINK_TEXT>

jpa, you do such lot of work, huge to you thanks.

Freqresp earned with the new PAWN version. Wasn’t started only scanning with minfreq - 10Hz, maxfreq - 20MHz . But with the new freqresp version everything fell into place, everything earned of full.

And here new LOGICAPP versions don’t work for me. I have works only the version of March, 2012, in size 66,3 kb. I have very old HW (v 2.6).

Excuse me for my English and off topic.