SD1104X-E can't get SPI decode to report the data. - Page 1
Forum section: electronics / beginners

author: poletip
author_rank: Newbie
timestamp: February 10, 2022, 05:24:32 pm
content: Hello All,I am glad to have found this EEVBlog Community - the information and references have been outstanding - I recently selected the Siglent SDS1104X-E as my scope. I have been testing various functions to get better acquainted with the capability of this Scope.I have enabled, via hack codes, the WiFi (which is operational) and the AWG and MSO functions (although not used).I am focused right now on the Decoding capabilities. Have successful tested the I2C decode.As I have moved on to the SPI and have had no success with the decode. Closely followed the setup instructions from the User Manual and still have had no success.My setup is having two Arduino UNO boards successfully communicating with each other -Here is a screen shot of the signals (hopefully this attaches)I have no idea why the decode is not functioning -Triggers are all at 1.x Volts; Have confirmed connections, CS is CS~, the signals all look good. The width between messages is 1 to 10 mS.I have also downgraded the firmware to 6.1.25 to make sure that there was not an obvious bug in the firmware - no change - which based on the inputs from the forum, I did not expect that to be a difference.Can anybody provide some guidance to what I am doing wrong.Thank you,- Attachments and other options

author: tautech
author_rank: Super Contributor
timestamp: February 11, 2022, 09:15:55 am
content: Welcome to the forum.Your SCPI signal doesn't look quite right as all I have come across are Idle high.What channel did you choose for Clock Sense as there doesn't appear to be one ?Pro tip, use the blue Print button to grab screenshots straight to USB and when doing so you can have menus if interest displayed so for us to better see your settings.Signal source, Siglent STB-3. Scope SDS1104X-E.Here's a selection of SPI screenshots right from setting up Trigger Holdoff to prevent retriggering within a packet.Do notice all channels are Idle High so a falling edge trigger was selected and NOT CS (~CS) also selected to account for the first edge that is falling. These settings permitted ch 1, 2 or 4 to be used for the ~CS without impacting on the decode.For each channel it's also important to set their Thresholds correctly when assigning the channels.

author: poletip
author_rank: Newbie
timestamp: February 11, 2022, 11:56:47 pm
content: Thank you for the help.I was able to finally get the Decode to work, but initially I had to set the decode to look at the chip select as a timeout from the clock. As you pointed out, the CS signal was idle. Turns out that the SPI code for an Arduino really didn't handle the toggling of the CS line correctly.I had to force the CS signal to "toggle", then I was able to use the ~CS setting to capture the SPI trigger.I really appreciate the guidance and I look forward to learning so much more from this forum.

author: rstofer
author_rank: Super Contributor
timestamp: February 12, 2022, 06:33:26 pm
content: It's common to have to control CS' separately, the peripheral doesn't know how long the message is.When you write the code for CS' remember to wait long enough for the last byte to clear the transmitter before raising CS'. There is probably a buffer empty status bit or something. Don't simply send the last byte and immediately raise CS'You'll be able to see CS' go high on your scope.