Author Topic: SDS 1104X-E and SPI  (Read 1121 times)

0 Members and 1 Guest are viewing this topic.

Offline paul49Topic starter

  • Contributor
  • Posts: 18
  • Country: au
SDS 1104X-E and SPI
« on: August 26, 2021, 06:51:39 am »
I've been attempting to use my SDS1104X-E to decode SPI. After following the fairly sparse instructions in the manual, it is displaying decoded data but it is not the data that is being sent. I wrote the code so I know precisely what to expect.

For background, it a Wemos D1 Mini talking to a HopeRF RFM69CW. This is my baseline. It works correctly.
I've just about finished writing the code to interface an RPI pico to the RFM and there remains just one part which is not working correctly and I decided to give up trying to debug it in software and just have a look and see what it is actually sending over the bus and compare it to the baseline.

I should be seeing 0x80 which is the FIFO register number with the write bit set followed by the data length byte, four addressing bytes and then a short string. This is being repeated at approximately 400 msec intervals.

The manual doesn't offer any troubleshooting hints and after spending the morning searching, I've come up blank.
I have used it in the past for TWI/I2C and that works fine.

I'd be grateful for any guidance and what I might be able to tweak.
 

Online tautech

  • Super Contributor
  • ***
  • Posts: 28388
  • Country: nz
  • Taupaki Technologies Ltd. Siglent Distributor NZ.
    • Taupaki Technologies Ltd.
Re: SDS 1104X-E and SPI
« Reply #1 on: August 27, 2021, 10:27:24 am »
After some experimenting and annoyance it seems you can't trigger on 0x80 with a Serial trigger and instead you need use an Interval trigger.  >:(

However just like any work with protocols rock solid Edge triggering should be obtained first and that involves triggering only on the first falling edge of the clock and disabling further triggering with Holdoff until after the packet has ended.

Below by luck is 0x80 captured with Run/Stop where with cursors an interval representing 0x80 can be measured and applied to an Interval trigger.

BTW, new manual available so check out the section on Interval trigger:
https://int.siglent.com/u_file/document/SDS1000X_E_SDS1000X_U_UserManual_EN.pdf
« Last Edit: August 27, 2021, 10:44:08 am by tautech »
Avid Rabid Hobbyist
Siglent Youtube channel: https://www.youtube.com/@SiglentVideo/videos
 
The following users thanked this post: paul49, firepower

Offline Old Printer

  • Frequent Contributor
  • **
  • Posts: 747
  • Country: us
Re: SDS 1104X-E and SPI
« Reply #2 on: August 27, 2021, 02:26:31 pm »
Rob, thanks for pointing out that Siglent released a revised manual for the 1104X-E. I printed a copy when I got my scope and will try to update it with the revised copy. I likely will never have a call to use this workaround, but in principle it may work for a different situation. Maybe Siglent will tweak the firmware to change this. I always look for your posts helping Siglent owners, too bad Rigol doesn’t have someone like you in their corner 😉
 

Offline paul49Topic starter

  • Contributor
  • Posts: 18
  • Country: au
Re: SDS 1104X-E and SPI
« Reply #3 on: August 27, 2021, 10:35:48 pm »
Many Thanks.

That gives me something to work on. I "glossed over" the paragraph on Interval Triggers.  :-[ I'll read it more carefully.
There's precious little information available on decoding SPI with Siglents. I carefully read your advice from 2018, I think but it didn't seem to apply to my case. I'll revisit it.

I'll expand my search to include general SPI decoding and see if there's anything more useful to be found.

I appreciate that a good logic analyser is a better proposition for someone who is doing lots of this kind of work but this is just an "every now and then" situation for me and it's the reason I bought the 1104X-E so I'm keen to get a result.

Thanks again.
 

Online tautech

  • Super Contributor
  • ***
  • Posts: 28388
  • Country: nz
  • Taupaki Technologies Ltd. Siglent Distributor NZ.
    • Taupaki Technologies Ltd.
Re: SDS 1104X-E and SPI
« Reply #4 on: August 27, 2021, 11:31:42 pm »
Many Thanks.

That gives me something to work on. I "glossed over" the paragraph on Interval Triggers.  :-[ I'll read it more carefully.
There's precious little information available on decoding SPI with Siglents. I carefully read your advice from 2018, I think but it didn't seem to apply to my case. I'll revisit it.

I'll expand my search to include general SPI decoding and see if there's anything more useful to be found.

I appreciate that a good logic analyser is a better proposition for someone who is doing lots of this kind of work but this is just an "every now and then" situation for me and it's the reason I bought the 1104X-E so I'm keen to get a result.

Thanks again.
Good luck finding more info about SPI triggering as I've playing around with these since before public release however I did think we could trigger on a specific SPI byte but must be mistaken for one of the other protocols.  :palm:

Still the Interval trigger examples given in the new manual display waveforms just like within a data stream therefore I believe this is the best option. Been a bit busy to dig deeper into Interval triggers after yesterdays research however I should get another chance to attempt to get them working and post some results.
Gimme a nudge if I'm not back in a while.
Avid Rabid Hobbyist
Siglent Youtube channel: https://www.youtube.com/@SiglentVideo/videos
 
The following users thanked this post: paul49

Offline paul49Topic starter

  • Contributor
  • Posts: 18
  • Country: au
Re: SDS 1104X-E and SPI
« Reply #5 on: August 29, 2021, 03:18:35 am »
I've temporarily shelved this. I've worked at it for a day and a half. It's certainly not any failing of the scope - the failings are all mine.  :)
I've owned oscilloscopes since the 1970s, been a programmer for slightly longer and been working with various flavours of microcontrollers for over a decade, so it's not as if I haven't been around the block a few times.

Unfortunately, for me at least, the instructions in the manual don't provide any context. They tell you to choose a particular setting but don't explain why. There are also some differences between what I'm seeing on the screen - I don't have a "Bit Roll" softkey for example (possibly a later firmware?).

So I'll just blame my advancing years.

I dug to the very bottom of my equipment drawer and fished out a very ancient and dusty logic analyser. Connected it to the circuit and had a result in 15 minutes - worked first time. (Serves me right for not trying it first, I suppose.)

I'll definitely revisit this as I want to get it going so if you do achieve some success, please post it.

Thanks again for your valuable assistance.
 
The following users thanked this post: tautech


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf