Thanks to the great work by oz2cpu and the boards he sent me, I’m now able to use the digital channels on my SDS2000X+. I had no problems printing the cases and assembling everything, and it all seems to work as intended. A note to others using this solution: the wires used for cabling shouldn’t be more than 0.75mm diameter otherwise you will have trouble soldering to the boards and fitting into the cases. I used twisted pairs removed from HDMI cable as suggested earlier in this thread.
The main reason I wanted to enable the digital channels was to assist in debugging communication problems in a project with 6 daisy-chained SPI devices (AS5048A encoders). Using the LA probe I was able to connect 4 digital channels to the master SPI, freeing up the analog channels to look for noise etc along the chain & power supply rails. I used both pods so I could set 2 different thresholds, because some of the signals were 5v & others 3v3. At one point I also connected digital channels to the MISO/MOSI interconnections along the daisy chain to check that data was being shifted along correctly, but this is not shown in the capture below.
For those interested, the trigger for the capture below was MISO bit 14 set, which happens to be the AS5048A error flag bit. Decoding was set to use clock timeout because CS only changes every 6 packets. S1 & S2 are both decoding the same data - one is set to hex display, the other to binary to make it easy to spot bit patterns. The analog channels were connected to CS & CLK as a cross-check for glitches, and C3 was connected to an MCU output pin used for debugging.
Following the trigger, which in this case came from the 4th encoder in the chain, code in the project sends a UDP packet to a host PC, which is why SPI data stream pauses for about 200 us before transmitting the 5th and 6th packets. Next the code sends 0x4001 six times to clear the error registers in the AS5048As, before resuming sending 0xFFFF, which is the read angle command.
It took a while, but I’m happy to report that I did eventually sort out the comms problems with all those extra channels to play with. (Those AS5048A encoders seem very fussy when it comes to output loading, and very susceptible to noise on the clock, which is a bit annoying since they are likely to be used in a noisy environment, e.g. with stepper motors as in my case.)
I did however notice a few issues with the Siglent along the way, mainly to do with SPI triggering and decoding, which didn’t always seem consistent. After changing something, say the SPI trigger conditions or channel mapping, I would sometimes have to play around with thresholds or cycle the SPI settings to get it working correctly. Sometimes the decoding was clearly incorrect (not just the last bit issue mentioned in the bug thread), and sometimes it would trigger on the incorrectly decoded data; other times not. Part of this might have been due to the rats nest of connections to the project or me, however I didn’t have the same issues on my Keysight MSOX3000 series scope when I tried connecting it in parallel with the Siglent (making an even bigger rat’s nest).
Yes it would be nice if the digital channels didn’t have these issues, but we can’t ignore that the Siglent is excellent value for money, even more so with the DIY LA probe.