Hello everyone. I received my DHO804 today. Its a relatively nice scope, but I immediately discovered some issues with SPI decoding. I searched this thread and I see that DHO900 users are having SPI decoding issues with the logic analyzer, but in my case I am having an issue with the analog SPI decoding.
I am reading a 24 bit SPI value, and the waveform is absolutely rock solid. As far as I know, I have all the right settings, and having tried flipping a few SPI settings nothing else was any better.
What I am observing is that, using the SPi trigger mode, the Hex value overlaid on the SPI waveform is inconsistent even with a very solid displayed waveform. I turned on display persistence and I see no jitter at all in the waveform, but the displayed hex value changes at random. The obvious thing to check is that the SPI is triggered on the correct edge, but looking at my data it is clear I have the correct setting for that.
What is worse is that the inconsistent hex reading is highly dependent on the "Mem Depth" setting. With 100khz SPI, I have to set it to 10k Mem Depth to get even close to consistent hex values. If I change it to any other setting, the interpreted hex values are all over the place, changing every sample.
I'm really hoping I just have a setting wrong. This is my first new scope purchase in 13 years and I was so eager to move on from my buggy old scope, I had hoped I wasn't buying a buggy new scope! (I already found a second bug, but one thing at at time.)
Please see attached screenshots. Cheers.
EDIT: I also just noticed that with faster SPI, in this case 1Mhz clock, it seems to be more stable. At 1MHz SPI and 1k or 10k Mem Depth, the hex reading is very stable, but that reading still changes constantly at 100k or 1M Mem Depth. With more experimentation I see that it is able to display multiple samples at once in a Decode Window, and that the timecale combined with the Mem Depth make all the difference. For a fully zoomed in value, where one sample takes up the entire width of the screen, a lower Mem Depth seems better. If you decrease the timescale so that multiple SPI transactions are on screen at once, you need to increase the Mem Depth. This makes some sense, but the scope give any indication as to what might be wrong if you have the setting wrong. And what makes no sense to me is that higher Mem Depth values can result in bad data decoding. Anyway I am glad I found that some fiddling can lead to more consistent behavior, but it seems like a real bug that high Mem Depth values can lead to SPI decoding errors, and that no warnings or messages are displayed to alert the user to a bad setting combo.