Author Topic: Capturing a bunch of CAN-frames, where one might be missing - (SDS800X)  (Read 2117 times)

0 Members and 1 Guest are viewing this topic.

Offline eTobeyTopic starter

  • Super Contributor
  • ***
  • Posts: 1186
  • Country: de
  • Virtual Features for the SDS800XHD -> My website
    • Virtual feature script
Hi,

i cant find a way to capture a bunch of frames, where there would be one missing or beeing corrupted. I can see the time of the error on my PC, but the error happens about a few thousands frames before that. When i use auto trigger, and hit the stop button, it then just keeps the waveform that was captured before. All that was aquired in the background gets lost. Rollmode would have been perfect for this, but this scope would not allow decoding in rollmode even when stopped.  :palm:

Its quite a tricky one, since its not reproducable, and is hidden in between all those frames, with a not known time position.

Any suggestions how this could be done otherwise are welcome.
"Sometimes, after talking with a person, you want to pet a dog, wave at a monkey, and take off your hat to an elephant."(Maxim Gorki)

SDS800X HD issues/tips/workarounds
 

Online 2N3055

  • Super Contributor
  • ***
  • Posts: 7466
  • Country: hr
Hi,

i cant find a way to capture a bunch of frames, where there would be one missing or beeing corrupted. I can see the time of the error on my PC, but the error happens about a few thousands frames before that. When i use auto trigger, and hit the stop button, it then just keeps the waveform that was captured before. All that was aquired in the background gets lost. Rollmode would have been perfect for this, but this scope would not allow decoding in rollmode even when stopped.  :palm:

Its quite a tricky one, since its not reproducable, and is hidden in between all those frames, with a not known time position.

Any suggestions how this could be done otherwise are welcome.

Buy CAN protocol analyzer. They are designed for this kind of work.
"Just hard work is not enough - it must be applied sensibly."
Dr. Richard W. Hamming
 
The following users thanked this post: Smokey, pdenisowski

Online tautech

  • Super Contributor
  • ***
  • Posts: 29810
  • Country: nz
  • Taupaki Technologies Ltd. Siglent Distributor NZ.
    • Taupaki Technologies Ltd.
Pretty darn simple IMO using a Single shot period trigger (to detect missing frame) and a slow timebase.
Pre and Post trigger frames captured with missing frame on/near the trigger position.

PPL overlook the most powerful scope feature, the trigger suite.
Experiment and learn how really powerful it is.
Avid Rabid Hobbyist.
Some stuff seen @ Siglent HQ cannot be shared.
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 28429
  • Country: nl
    • NCT Developments
Hi,

i cant find a way to capture a bunch of frames, where there would be one missing or beeing corrupted. I can see the time of the error on my PC, but the error happens about a few thousands frames before that. When i use auto trigger, and hit the stop button, it then just keeps the waveform that was captured before. All that was aquired in the background gets lost. Rollmode would have been perfect for this, but this scope would not allow decoding in rollmode even when stopped.  :palm:

Its quite a tricky one, since its not reproducable, and is hidden in between all those frames, with a not known time position.
You should use segmented recording mode with each record set as short as possible to still allow proper decoding. Secondly, use a trigger condition that matches the CAN message you are looking for the most. However, setting the trigger condition too strict may actually skip the bad message so still have no useful information. Is there some way you can automate the PC part so that when it sees a bad message, it sends a stop command to the scope?
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline eTobeyTopic starter

  • Super Contributor
  • ***
  • Posts: 1186
  • Country: de
  • Virtual Features for the SDS800XHD -> My website
    • Virtual feature script
Pretty darn simple IMO using a Single shot period trigger (to detect missing frame) and a slow timebase.

I spend hours with this. Problem is, its thousands, and i cant filter that list. With a filter it would be possible to run through the list without beeing distraced by all that unrelevant frames.
"Sometimes, after talking with a person, you want to pet a dog, wave at a monkey, and take off your hat to an elephant."(Maxim Gorki)

SDS800X HD issues/tips/workarounds
 

Offline eTobeyTopic starter

  • Super Contributor
  • ***
  • Posts: 1186
  • Country: de
  • Virtual Features for the SDS800XHD -> My website
    • Virtual feature script
You should use segmented recording mode with each record set as short as possible to still allow proper decoding. Secondly, use a trigger condition that matches the CAN message you are looking for the most. However, setting the trigger condition too strict may actually skip the bad message so still have no useful information. Is there some way you can automate the PC part so that when it sees a bad message, it sends a stop command to the scope?
If i would not get all that unrelevant frames, segmented recording might be a solution. But its limited, since i cant set the mem depth to lower than 10k, to get enough segments to see.

I would go with sending a signal from the PC, i would rather use an arduino to build a simple CAN analyzer. Should have done this before already, but doing this with the scope is a good way to quickly grasp its limitations capabilities.
"Sometimes, after talking with a person, you want to pet a dog, wave at a monkey, and take off your hat to an elephant."(Maxim Gorki)

SDS800X HD issues/tips/workarounds
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 28429
  • Country: nl
    • NCT Developments
Pretty darn simple IMO using a Single shot period trigger (to detect missing frame) and a slow timebase.

I spend hours with this. Problem is, its thousands, and i cant filter that list. With a filter it would be possible to run through the list without beeing distraced by all that unrelevant frames.
Export the list as CSV and process /filter on a PC. Then go back to the segment with the timestamp of the bad message on the scope.
« Last Edit: March 24, 2024, 04:34:46 pm by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline eTobeyTopic starter

  • Super Contributor
  • ***
  • Posts: 1186
  • Country: de
  • Virtual Features for the SDS800XHD -> My website
    • Virtual feature script
Export the list as CSV and process on a PC. Then go back to the segment with the timestamp of the bad message.
This is not so easy with that scope. You wont get a complete list out of it, even though you can scroll through all the frames.  :palm:
"Sometimes, after talking with a person, you want to pet a dog, wave at a monkey, and take off your hat to an elephant."(Maxim Gorki)

SDS800X HD issues/tips/workarounds
 

Online Martin72

  • Super Contributor
  • ***
  • Posts: 7019
  • Country: de
  • Testfield Technician
In my case (normal acquisition) all 2000 frames are contained in the csv file.
« Last Edit: March 24, 2024, 06:33:12 pm by Martin72 »
 
The following users thanked this post: egonotto

Offline JDubU

  • Frequent Contributor
  • **
  • Posts: 451
  • Country: us
You really want to use a logic analyzer for debugging messaging protocols like CAN.  I have a Saleae Logic (https://www.saleae.com/) that is really good for this.
An oscilloscope with serial protocol decoding is more useful for debugging communication failures caused by analog signal distortion within relatively short timeframes.
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 28429
  • Country: nl
    • NCT Developments
Re: Capturing a bunch of CAN-frames, where one might be missing - (SDS800X)
« Reply #10 on: March 24, 2024, 07:28:58 pm »
You really want to use a logic analyzer for debugging messaging protocols like CAN.  I have a Saleae Logic (https://www.saleae.com/) that is really good for this.
An oscilloscope with serial protocol decoding is more useful for debugging communication failures caused by analog signal distortion within relatively short timeframes.
I have the feeling the OP is hunting down a problem in the analog domain which occurs every now and then. From mentioning using a PC to see a message goes wrong, my guess is that the OP is using a CAN analyser already but that only tells something went wrong and when, but not what exactly is wrong with the signals on the bus. So using an oscilloscope is the right tool to show signal problems.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline eTobeyTopic starter

  • Super Contributor
  • ***
  • Posts: 1186
  • Country: de
  • Virtual Features for the SDS800XHD -> My website
    • Virtual feature script
Re: Capturing a bunch of CAN-frames, where one might be missing - (SDS800X)
« Reply #11 on: March 24, 2024, 08:10:18 pm »
In my case (normal acquisition) all 2000 frames are contained in the csv file.

I want to know more.
I see you have 23 frames in ~0.2s. That would make 1150 frames for the whole buffer at 1s/div. You didnt had 2s/div, had you?
"Sometimes, after talking with a person, you want to pet a dog, wave at a monkey, and take off your hat to an elephant."(Maxim Gorki)

SDS800X HD issues/tips/workarounds
 

Online tautech

  • Super Contributor
  • ***
  • Posts: 29810
  • Country: nz
  • Taupaki Technologies Ltd. Siglent Distributor NZ.
    • Taupaki Technologies Ltd.
Re: Capturing a bunch of CAN-frames, where one might be missing - (SDS800X)
« Reply #12 on: March 24, 2024, 08:31:31 pm »
Pretty darn simple IMO using a Single shot period trigger (to detect missing frame) and a slow timebase.

I spend hours with this. Problem is, its thousands, and i cant filter that list. With a filter it would be possible to run through the list without beeing distraced by all that unrelevant frames.
I would do this in normal scope mode to detect the missing frame.
Then with it captured engage Decode with previously correct settings and scroll pre and post trigger using H Pos.

If as Martin says there is a 2k frame capability, you should have 1k frames each side of your trigger point capture.
Avid Rabid Hobbyist.
Some stuff seen @ Siglent HQ cannot be shared.
 

Offline eTobeyTopic starter

  • Super Contributor
  • ***
  • Posts: 1186
  • Country: de
  • Virtual Features for the SDS800XHD -> My website
    • Virtual feature script
Re: Capturing a bunch of CAN-frames, where one might be missing - (SDS800X)
« Reply #13 on: March 24, 2024, 08:36:07 pm »
I would do this in normal scope mode to detect the missing frame.

If as Martin says there is a 2k frame capability, you should have 1k frames each side of your trigger point capture.

Please explain to me, how i should trigger "on a missing frame"! It has no edges, it has no id nor data.   :-/O
"Sometimes, after talking with a person, you want to pet a dog, wave at a monkey, and take off your hat to an elephant."(Maxim Gorki)

SDS800X HD issues/tips/workarounds
 
The following users thanked this post: egonotto

Offline eTobeyTopic starter

  • Super Contributor
  • ***
  • Posts: 1186
  • Country: de
  • Virtual Features for the SDS800XHD -> My website
    • Virtual feature script
Re: Capturing a bunch of CAN-frames, where one might be missing - (SDS800X)
« Reply #14 on: March 24, 2024, 08:39:07 pm »
If i havent had some more problem, then i think i fixed it. I believe, the frame got lost in Windows. I put a delay in it, and now it is working. Had a few BSOD´s after that though. |O
"Sometimes, after talking with a person, you want to pet a dog, wave at a monkey, and take off your hat to an elephant."(Maxim Gorki)

SDS800X HD issues/tips/workarounds
 

Online tautech

  • Super Contributor
  • ***
  • Posts: 29810
  • Country: nz
  • Taupaki Technologies Ltd. Siglent Distributor NZ.
    • Taupaki Technologies Ltd.
Re: Capturing a bunch of CAN-frames, where one might be missing - (SDS800X)
« Reply #15 on: March 24, 2024, 08:44:30 pm »
I would do this in normal scope mode to detect the missing frame.

If as Martin says there is a 2k frame capability, you should have 1k frames each side of your trigger point capture.

Please explain to me, how i should trigger "on a missing frame"! It has no edges, it has no id nor data.   :-/O
We need more info.

Frame rate is tied to a Clock is it not ?
If missing and like this ----- ---- it should be easy to trigger on where the frame should be.
Once captured we can engage Decode to investigate.
Avid Rabid Hobbyist.
Some stuff seen @ Siglent HQ cannot be shared.
 

Online Martin72

  • Super Contributor
  • ***
  • Posts: 7019
  • Country: de
  • Testfield Technician
Re: Capturing a bunch of CAN-frames, where one might be missing - (SDS800X)
« Reply #16 on: March 24, 2024, 08:50:25 pm »
I want to know more.
I see you have 23 frames in ~0.2s. That would make 1150 frames for the whole buffer at 1s/div. You didnt had 2s/div, had you?

Yepp, 2s/div.

Offline eTobeyTopic starter

  • Super Contributor
  • ***
  • Posts: 1186
  • Country: de
  • Virtual Features for the SDS800XHD -> My website
    • Virtual feature script
Re: Capturing a bunch of CAN-frames, where one might be missing - (SDS800X)
« Reply #17 on: March 24, 2024, 08:55:34 pm »
Yepp, 2s/div.

I guess you can see those undecoded frames on the right, when you scroll there? Let those others drop off on the left.
"Sometimes, after talking with a person, you want to pet a dog, wave at a monkey, and take off your hat to an elephant."(Maxim Gorki)

SDS800X HD issues/tips/workarounds
 

Online Martin72

  • Super Contributor
  • ***
  • Posts: 7019
  • Country: de
  • Testfield Technician
Re: Capturing a bunch of CAN-frames, where one might be missing - (SDS800X)
« Reply #18 on: March 24, 2024, 09:04:09 pm »
The list displayed on the screen can only be scrolled from top to bottom (and back), or what do you mean?

Offline eTobeyTopic starter

  • Super Contributor
  • ***
  • Posts: 1186
  • Country: de
  • Virtual Features for the SDS800XHD -> My website
    • Virtual feature script
Re: Capturing a bunch of CAN-frames, where one might be missing - (SDS800X)
« Reply #19 on: March 24, 2024, 09:14:03 pm »
The horizontal axis.
"Sometimes, after talking with a person, you want to pet a dog, wave at a monkey, and take off your hat to an elephant."(Maxim Gorki)

SDS800X HD issues/tips/workarounds
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 28429
  • Country: nl
    • NCT Developments
Re: Capturing a bunch of CAN-frames, where one might be missing - (SDS800X)
« Reply #20 on: March 24, 2024, 09:50:32 pm »
Keep in mind that most DSOs need a minimum oversampling rate. If the CAN rate is reasonably high, 5Ms/s may not allow decoding of the data. The first step is to determine the minimum samplerate at which the CAN messages are decoded reliably. Emphasis on reliably; I've seen DSOs attempt to decode but fail in a subtile way without warning; you end up with data which is garbage.
« Last Edit: March 24, 2024, 09:52:18 pm by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 
The following users thanked this post: egonotto

Online Martin72

  • Super Contributor
  • ***
  • Posts: 7019
  • Country: de
  • Testfield Technician
Re: Capturing a bunch of CAN-frames, where one might be missing - (SDS800X)
« Reply #21 on: March 24, 2024, 10:10:53 pm »
Yepp, can confirm this behaviour, it makes sense too.

@eTobey:

Quote
The horizontal axis.

The way you might think it is not possible at first, which makes sense.
The number of frames is limited to 2000, which can be seen clearly at 2s/div, and even more clearly at 5s/div.
What you can do, however, is zoom in and scroll the section back and forth accordingly.



Offline eTobeyTopic starter

  • Super Contributor
  • ***
  • Posts: 1186
  • Country: de
  • Virtual Features for the SDS800XHD -> My website
    • Virtual feature script
Re: Capturing a bunch of CAN-frames, where one might be missing - (SDS800X)
« Reply #22 on: March 24, 2024, 10:51:05 pm »
What you can do, however, is zoom in and scroll the section back and forth accordingly.

I did not say zoom... Take the first picture, and then move the trigger/scroll, so that decode frames will drop of to the left.
"Sometimes, after talking with a person, you want to pet a dog, wave at a monkey, and take off your hat to an elephant."(Maxim Gorki)

SDS800X HD issues/tips/workarounds
 

Offline electronics hobbyist

  • Regular Contributor
  • *
  • Posts: 157
  • Country: cn
    • sds800x-hd-review-demonstration-thread
Re: Capturing a bunch of CAN-frames, where one might be missing - (SDS800X)
« Reply #23 on: March 24, 2024, 11:20:27 pm »
Your question is difficult to understand. You should take two comparison pictures instead of letting others try to understand your meaning."scroll" should be a horizontal position or trigger delay.
« Last Edit: March 25, 2024, 12:52:18 am by electronics hobbyist »
 

Offline bobxyz

  • Contributor
  • Posts: 21
  • Country: us
Re: Capturing a bunch of CAN-frames, where one might be missing - (SDS800X)
« Reply #24 on: March 24, 2024, 11:43:44 pm »
The MCP2515 is a very common hobbyist CAN-to-SPI chip.  If you can program and are familiar with the Arduino environment, you could use a $20 CAN+Processor board, e.g. https://www.adafruit.com/product/5724, to decode the CAN stream live and generate a trigger for your oscilloscope.  This would let you zoom in on the analog waveforms.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf