High speed SPI capture: recommendations? - Page 1
Forum section: electronics / projects

author: k1mgy
author_rank: Regular Contributor
timestamp: November 19, 2019, 09:05:37 pm
content: I am debugging an SPI problem involving the Analog Devices AD7276, the firmware of which runs on an ATSAMG55J19.We are capturing 14 consecutive DMA reads of a shaped sinusoidal-like waveform (within about 5uS). The SPI read is kicked off through a fast comparator which is set to about 0.45V, with the waveform maximum amplitude of approx 3.0V.The original issue being investigated are reads within the 14 that are either zero or much lower in value than adjacent reads. Given the waveshape, these anomalies do not make sense.Bringing tools from ScanaQuad and selae into the battle, we must operate our SPI at 10MHz or less in order to capture the SPI data. However, our SPI must run at least at 20Mhz, preferably 30, in order to capture a sufficient portion of the signal.I've searched, and cannot find protocol analyzers (reasonably inexpensive) that can do this job.Any recommendations out there?" alt="" class="bbc_img" />

author: Howardlong
author_rank: Super Contributor
timestamp: November 19, 2019, 09:34:55 pm
content: Analog Discovery (1 or 2) will do it, 100MHz sample rate out of the box, but better with a Digital Discovery, 200 MHz sample rate out of the box, 800MHz with twisted pair adapter and a lot more memory.Analog Discovery is quite limited by memory but it will definitely decode a 30MHz bus: you need to be smart with your triggering. This is unlike the Saleae where people tend to capture a long trace then analyse offline.I have no experience with the ScanaQuad devices,but their specified sampling rate should easily work,what is the limitation with them?

author: TK
author_rank: Super Contributor
timestamp: November 19, 2019, 10:22:19 pm
content: Zeroplus LAP-C 16128 can do 200MHz sampling, so 30MHz SPI seems feasible. 128K sample memory per channel that can be doubled by using compression or lowering the number of active channels. Software only runs on Windows.

author: magic
author_rank: Super Contributor
timestamp: November 20, 2019, 09:24:22 am
content: With a bit of logic glue and a software mod, those FX2 boards and sigrok could do 4 channels at 60~80MSPS, which is about the absolute limit of low cost real time streaming over USB 2.0.But somebody would have to put it together

author: artag
author_rank: Super Contributor
timestamp: November 20, 2019, 10:02:41 am
content: Saleae combines samples if you select a narrower bus width. The cheaper ones should do 50MS/s at 4 bits while the newer 'pro' USB3 ones will do 500Ms/s as long as you have a good USB3 port (A single lane PCI express card on PCI 1 can't handle that but a modern machine should).The oldest 8-bit model is 24Ms/s max, I think, as it's an FX2 with no FPGA. Same for an unmodified FX2 with sigrok.

author: NiHaoMike
author_rank: Super Contributor
timestamp: November 20, 2019, 01:15:19 pm
content: Beaglebone Black can do 100MHz sampling on up to 14 channels.

author: artag
author_rank: Super Contributor
timestamp: November 20, 2019, 04:42:38 pm
content: Indeed - just came here to say that and you'd beaten me to ithttps://sigrok.org/wiki/BeagleLogic

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 20, 2019, 05:05:38 pm
content: 30MHz SPI should also be doable with a DSLogic Plus without problems. Define inexpensive. It's $149 (and can be had for less on Aliexpress...)Which ScanaQuad did you try? They come in 25MSPS to 200MSPS...Note that the sampling rate is only part of the story; you also need to check the analog bandwidth (often very disappointing on those "low-cost" devices), a figure that is not always clearly documented!