1
\$\begingroup\$

I would like to sniff data on an SPI bus running at a clock rate of 6 MHz. I would like to use the Bus Pirate V4 for this task. The sniffing itself is supported up to 10 MHz, the problem is getting the data on a PC in real time.

The BP page for the USB connection (V4!) says:

Max speed is 12 Mbps, but a realistic limit is 1 Mbps.

Can I just set the UART speed to 6 Mbps in Windows/Linux?

I have used a 1 Mbit baudrate before, using a 5€ China UART<>USB converter without problems. Since the BP has the USB hardware built-in, I don't see why the realistic limit would be 1 Mbit/s...

\$\endgroup\$
2
  • 1
    \$\begingroup\$ somewhat related: superuser.com/a/488721 \$\endgroup\$
    – jippie
    Commented Jul 5, 2015 at 14:46
  • \$\begingroup\$ Could be related to the system clock frequency and the errors for baud rates > 1 Megabaud \$\endgroup\$
    – efox29
    Commented Jul 5, 2015 at 14:48

2 Answers 2

2
\$\begingroup\$

About the USB limit.

  • Data has to packeted into 'legal' packets according to the USB standard. This adds a couple of bytes to each of them, and lowers the speed.

  • In between, the packets have to received at the other end, checked, and confirmed with another packet, still lowering the speed.

  • The controller in the sniffer will be quite busy receiving the 'sniffed' info, and thus have less time available to attend to the USB port.

  • The USB line is also occupied with short polling packets.

That said, 1Mbps guess is probably just to be safe in all circumstances. However, I doubt that you will get to the 6Mbps (or MHz) of the SPI bus reliably.

\$\endgroup\$
-1
\$\begingroup\$

Go made an DIY sniffer !

Another issue is "linux is slow on long word size uart" but "windofs is slow on small size uart" communication(ACM-DCM(USB-Base),size=data_length).

Yes you can set 100mbit uart speed but problem is Error ratio !

When used high speed communication device signal down to mV (millivolt) level. Offcourse you can't protect low-level signals ! Speed required buffer memory, you can't handle data on a microsecond(supercomputers can't do either, just ASIC or FPGA can handle this load).

\$\endgroup\$
3
  • \$\begingroup\$ There's no "answer" here. There are solutions to the problem using USB high speed hardware like a CY7C68013A but not really with the hardware of the question. \$\endgroup\$ Commented Sep 13, 2020 at 12:15
  • \$\begingroup\$ @ChrisStratton hello my downvoter ! \$\endgroup\$
    – dsgdfg
    Commented Sep 27, 2020 at 23:09
  • \$\begingroup\$ but just say delete it \$\endgroup\$
    – dsgdfg
    Commented Sep 27, 2020 at 23:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.