Jump to content
  • 0

SPI Protocol Issues


Ben Burns

Question

Hello - I can set up a SPI channel in WaveForms' Logic analyzer, and all that works well.  When I try to use the protocol module, however, I can only choose from the non high-speed inputs.  (DIO 24 and up).  As this is a 20MHz SPI clock with an ADC sampling @ 1MSps, yeah I want the high-speed inputs.

What I am after is dumping about 1000 consecutive SPI transactions to a file for statistical analysis.  Have to say, I'm a little dissappointed in WaveForms.  Close, but no cigar as they say.

Link to comment
Share on other sites

15 answers to this question

Recommended Posts

  • 0

I have to chime in here. Not sure why the protocol recording is limited to 1000. I can record many many more transactions in the logic tab but that with all the graphic detail (except I can't view them because of a bug) but can't record 1000 lines of text? I'm using the protocol module because I was hoping to be able to cut and paste the transactions into a text editor for further analysis. And to make it completely useless is it's the last 1000 transactions. At least if it stopped at the first 1000 I could maybe set a trigger to capture more but wait it does not do any kind triggering.  Makes zero sense. This is such a simple thing to fix in software. You expect me to consider buying one of your more capable tools but with this kind of programming philosophy not sure I would want to give them a try. Too bad the Digital Discovery and Analog Discovery are very well engineered hardware platforms but fall short in the software.

 

Link to comment
Share on other sites

  • 0

I tried using the logic analyzer using the low speed (DIOs 24, 25, and 26) inputs, and can successfully decode the SPI transactions, though the waveform resolution is terrible.  When I set up the protocol module and click on "receive", the mouse cursor turns to a blue circle, and the Waveforms application's title bar gets a "(Not Responding)" addition, and eventually the application self-terminates.  Really?

@RayHaynesI totally agree, this software is not ready for prime time, and I would not recommend this product, or ANY Digilent product for that matter, to anyone until Digilent learns how to properly code.

Edited by Ben Burns
Bad quality for Waveforms makes me think all Digilent software has bad quality.
Link to comment
Share on other sites

  • 0

Update:

I was able to record 100 of the 1Msps 16 bit SPI transactions.  The Waveforms application only took 20 minutes to do this, and it produced a message in red "Samples could be lost.3344874" [sic].  I'll try for 1000 samples next, and let it run over night.  The logic analyzer module works so much better than the protocol module, I am very disappointed that the protocol module, which lured me to purchase the Digital Discovery, was even included in Waveforms at this point as it is completely unusable.

Link to comment
Share on other sites

  • 0

Hi @Ben Burns

The Protocol tool logging performance is limited by the text editor library, that is why the default history is set to 1k lines.
I've added some tweaks for the next version to prevent blocking for huge amount of data.
I will add "Receive to File" option just like the UART and I2C have.

Link to comment
Share on other sites

  • 0

I am using 3.18.1.  I am looking at the transactions with an Analog AD7476 ADC (12 bit) using a 20 MHz SCK.  It has 16 clocks of data every 20 for a total of 1Msps.  Clock is inactive (high) outside of active select.

I had to restart the protocol capture (disturbed the laptop running Waveforms) and am up to 23 hours of collection without hitting my 1000 transactions yet.

digital_SPI.dwf3logic digital_SPI.dwf3work

Link to comment
Share on other sites

  • 0

Hi @Ben Burns

The Receive option in Protocol is intended for lower average data rates. It does not support streaming over USB at such rate.

For this purpose use the Logic Analyzer. You can capture up to 256MiS at 8bits, like 4sec at 50MHz, ~5.3M ADC samples. With taller SPI row you have an analog representation, use Event view, Export Source: SPI (events)...

image.png

 

To squeeze out the max it can fit, ~7.9M ADC samples, you can use Sync mode like this:

image.png

Edited by attila
Link to comment
Share on other sites

  • 0

@attilaDoes this result in a data file I can parse for picking out just the decoded values?

The analog display is a nice touch, but does nothing for me in this particular instance.  I just need the SPI data in a file, or a way to get there.

Honestly, a protocol analyzer that does not run at bus speeds is perplexing.  It costs time to develop yet brings no value to the customer....

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...