data collection / protocol analyzer in hardware

Saleae has put engineering time and effort into trying to send large amounts of data over USB from circuitry to a PC application. It would be nice to use this capability in a more efficient manner that the existing product.

At the moment, the only option for using Saleae devices to collect data is to set the sampling rate to at least 2X to 4X the worst-case input signal activity rate and then cross your fingers that the software manages to capture at this high rate without aborting due to underflow.

It always seems like a losing battle. Just as an example, take a synchronous serial interface (called McBSP, SSC, SPORT, etc. by different manufacturers). An 8 Mbit/s interface has at most 1Mbytes/s worth of data contained, but the Saleae must capture at 32Mbytes/s (4x8MHz times 1 bytes, assuming Logic 8) just to capture a representation of the data... and then the protocol analyzer in software has to thrash the PC just to distill it back into the original data.

I'd like to see Saleae provide a defined logic-level framed interface for clocking data directly into the Logic. Each unit of data received could be sent directly over USB, not a representation of the raw signals that takes an order of magnitude more data to transfer.

That way, some external programmable logic could convert a raw protocol into a more efficient form.

You could think of it as putting the protocol analyzer external to the software. The high-sample rate raw logic-level data could be distilled into an efficient framed form before being sent to the PC over USB. (Note: the newer Saleae devices are allegedly FPGA-based, so there is the possibility of downloading protocol decoding to work onboard the Logic (Xilinx partial reconfiguration), but I'm setting lower expectations.)

  • Peter L
  • Jul 11 2018