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...

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

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.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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