EEVblog Electronics Community Forum

Products => Test Equipment => Topic started by: mbratch on May 06, 2022, 12:17:08 pm

Title: Rigol DS1054Z and "segmented memory"
Post by: mbratch on May 06, 2022, 12:17:08 pm
I noticed in the Digital Oscilloscope Chart on this forum (which is awesome, by the way!) that there's a feature column entitled "Segmented Memory".

Both the Rigol DS1054Z and Siglent SDS1104X-U are listed as having segmented memory.

I was researching features and I think the "segmented memory" feature of the Siglent allows for retriggering a signal into different memory segments, allowing you to capture what might be a very brief or intermittent signal that occurs very infrequently. Thus you can get multiple captures of that signal which would otherwise exceed the capacity of the memory depth of the scope.

Although the Rigol DS1054Z allows you to select the memory depth manually, I haven't read anything that says it supports segmented memory in the way the Siglent does. I think, on the Rigol DS1054Z, its purpose is just to reduce capture time perhaps? Or can the Rigol really do what the Siglent does with "segmented memory"?

I think the "segmented memory" feature may mean different things depending upon the o'scope in terms of capability.
Title: Re: Rigol DS1054Z and "segmented memory"
Post by: Fungus on May 06, 2022, 01:19:03 pm
Although the Rigol DS1054Z allows you to select the memory depth manually, I haven't read anything that says it supports segmented memory in the way the Siglent does. I think, on the Rigol DS1054Z, its purpose is just to reduce capture time perhaps? Or can the Rigol really do what the Siglent does with "segmented memory"?

Look for "Waveform record" in the manual.
Title: Re: Rigol DS1054Z and "segmented memory"
Post by: mbratch on May 06, 2022, 03:08:45 pm
Although the Rigol DS1054Z allows you to select the memory depth manually, I haven't read anything that says it supports segmented memory in the way the Siglent does. I think, on the Rigol DS1054Z, its purpose is just to reduce capture time perhaps? Or can the Rigol really do what the Siglent does with "segmented memory"?

Look for "Waveform record" in the manual.

Thank you! I had looked at that but I didn't consider it to be the same level of functionality, unless I am misunderstanding how it works (which is quite possible, as I haven't played with it yet).

You probably know a lot more than I do about this, but from what I understand so far, in the Siglent, you can run in a segmented memory mode where you set up a trigger, run it, and it will automatically break the trace up at each of multiple trigger points which each may occur with long intervals of time in between. You can capture multiple such traces this way in a single run operation. In the Rigol, you can run each trace manually, recording each one up to the limit of the memory you have selected, but it's a much more manual process (multiple steps per trigger). "Segmented memory" probably isn't a very descriptive name for the feature. In the Siglent, it's more like "auto multi-trace" or something (still probably not a good name) and for Rigol it is, as documented, "waveform recording".
Title: Re: Rigol DS1054Z and "segmented memory"
Post by: metrologist on May 06, 2022, 04:10:57 pm
Is it manual? I would think you set Normal trigger and whatever trigger event will be recorded to a frame, and only when the trigger event happens, up to the limit of frames that can be stored based on setup.

That sounds like what do you want. ?

I think the 1054 will work similar to:

https://www.youtube.com/watch?v=sPoxoUiS9Wc (https://www.youtube.com/watch?v=sPoxoUiS9Wc)
Title: Re: Rigol DS1054Z and "segmented memory"
Post by: mbratch on May 06, 2022, 04:26:06 pm
Is it manual? I would think you set Normal trigger and whatever trigger event will be recorded to a frame, and only when the trigger event happens, up to the limit of frames that can be stored based on setup.

That sounds like what do you want. ?

Yes, perhaps so. Thanks for sharing that video. The Rigol manual wasn't totally clear to me how frames were used. But if the Rigol automatically records the next frame on a new trigger of the existing settings, then I think that does do the same thing. I'll need to play with that a bit and see. I'm trying to get it working first. Record button isn't enabled. The Help says, "Recording enabled in YT not SCAN mode". The manual doesn't describe the conditions under which recording is enabled other than the YT mode, which is the mode I'm operating in. No mention of "scan" in the manual other than for TV signals. All of the videos I've seen are DS5000 series and gloss right over this.

For comparison, here's a video (specifically 4:40 - 6:45) about the "segmented memory" feature of the Siglent. This video shows a use case making the feature clear.

https://www.youtube.com/watch?v=qCqQzdj2aGU (https://www.youtube.com/watch?v=qCqQzdj2aGU)

Here's another video I found, for the Rigol, definitely showing the use of Waveform Recording for this kind of use case. As I mentioned, all the videos I could find on waveform recording seem to be done on the higher end Rigol models, so I still want to try this out on the DS1054Z waveform recording.

https://www.youtube.com/watch?v=0hFa0agJliU (https://www.youtube.com/watch?v=0hFa0agJliU)
Title: Re: Rigol DS1054Z and "segmented memory"
Post by: metrologist on May 06, 2022, 07:14:50 pm
It's basically the same in Rigol. I do not recall if it has list mode.

I suspect SCAN is a deprecated form of Roll. It will not function in Roll or XY modes.
Title: Re: Rigol DS1054Z and "segmented memory"
Post by: mbratch on May 06, 2022, 07:20:57 pm
It's basically the same in Rigol. I do not recall if it has list mode.

I suspect SCAN is a deprecated form of Roll. It will not function in Roll or XY modes.
Thank you! Well, that's a puzzle for me then: I'm in YT mode, not XY or Roll mode. Not sure why record is disabled in this case.
Title: Re: Rigol DS1054Z and "segmented memory"
Post by: Fungus on May 06, 2022, 09:07:32 pm
It's basically the same in Rigol. I do not recall if it has list mode.

I suspect SCAN is a deprecated form of Roll. It will not function in Roll or XY modes.
Thank you! Well, that's a puzzle for me then: I'm in YT mode, not XY or Roll mode. Not sure why record is disabled in this case.

I think it depends on a combination of memory depth and horizontal timebase. I don't have my Rigol any more but IIRC it works by recording "screenfulls". If your horizontal timebase is set to show all memory on screen then it disables the function. You have to zoom in a bit first.
Title: Re: Rigol DS1054Z and "segmented memory"
Post by: mbratch on May 06, 2022, 09:15:29 pm
... Well, that's a puzzle for me then: I'm in YT mode, not XY or Roll mode. Not sure why record is disabled in this case.

I think it depends on a combination of memory depth and horizontal timebase. I don't have my Rigol any more bit IIRC it works by recording "screenfulls". If your horizontal timebase is set to show all memory on screen then it disables the function. You have to zoom in a bit first.
Thank you, Fungus. I thought it might be something like that so I'll fiddle with it a bit and figure it out. I went back to re-watch the Dave Jones long DS1054Z instructional video. When he got to the very brief part about waveform recording, his record button was disabled as well. He didn't say anything about it. He just said, "And now, all you have to do is press the record button like this!" and suddenly the button was enabled right before he pressed it and you could tell the video skipped slightly so whatever he changed to get there was edited out. :D
Title: Re: Rigol DS1054Z and "segmented memory"
Post by: kcbrown on May 07, 2022, 11:51:54 pm
On the Siglent, segmented memory is always on.  Each capture goes into a "segment".  The memory length of the capture is the lower of (time width of screen * samples/sec) and (maximum specified memory depth).  It is possible to specify a maximum memory depth that matches the available memory of the scope, in which case a sufficiently long timebase will get you just one segment, as you'd expect, but shorter timebases will get you multiple segments because the total capture length is a fraction of the available memory anyway, just as a consequence of the timebase being short enough.  On the Siglent, the maximum memory depth you specify ultimately determines the minimum number of segments you can retain.  For instance, if you specify a maximum capture depth of 1.4 Mpts on a scope where the total amount of memory per channel is 14 Mpts, then you're guaranteed to be able to capture at least 10 segments.

The main thing to note about the Siglent is that "what you see is all you get".  The capture size is defined by the time width of the screen, as determined by the timebase and the number of divisions on the screen (14 for the SDS-1000X-E series).  This means you can "zoom in" on the capture but never "zoom out" the way you can with other scopes that define the capture length differently.  This means you have to have some understanding of what you want to capture (as opposed to what you want to see), but once you have that, then you can perform that capture and then "zoom in" after the fact (e.g., with zoom mode, or by stopping the scope and then twiddling the timebase).  "What you see is all you get" ensures that you always know how much time you're going to capture, no more and no less.  There's no guesswork necessary.

Once you get used to the way the Siglent operates, you'll find that everything is straightforward and logical.  The 1000X-E series has some limitations as a result of "what you see is all you get" (e.g., you can't define a mask test on a zoomed portion of the capture when in zoom mode, thus making it impossible to define a high-resolution mask on a portion of the capture to stop the scope and enable examination of the larger waveform), but the 2000X+ series takes care of these limitations.

--

On any other scope (aside from the LeCroy scopes, which use the same approach Siglent uses), segmented memory is an add-on, an afterthought of sorts.  How well it works depends entirely on the implementation.  Because it's an integral part of the Siglent/LeCroy approach, segmented memory basically Just Works without requiring any special setup on those scopes.  It's always there, and you can always examine previous captures in a series of contiguous captures without having to do anything special in advance (save perhaps for ensuring that the capture length is a fraction of the total amount of memory available).
Title: Re: Rigol DS1054Z and "segmented memory"
Post by: rf-loop on May 08, 2022, 08:05:31 am
On the Siglent, segmented memory is always on.  Each capture goes into a "segment".  The memory length of the capture is the lower of (time width of screen * samples/sec) and (maximum specified memory depth).  It is possible to specify a maximum memory depth that matches the available memory of the scope, in which case a sufficiently long timebase will get you just one segment, as you'd expect, but shorter timebases will get you multiple segments because the total capture length is a fraction of the available memory anyway, just as a consequence of the timebase being short enough.  On the Siglent, the maximum memory depth you specify ultimately determines the minimum number of segments you can retain.  For instance, if you specify a maximum capture depth of 1.4 Mpts on a scope where the total amount of memory per channel is 14 Mpts, then you're guaranteed to be able to capture at least 10 segments.

The main thing to note about the Siglent is that "what you see is all you get".  The capture size is defined by the time width of the screen, as determined by the timebase and the number of divisions on the screen (14 for the SDS-1000X-E series).  This means you can "zoom in" on the capture but never "zoom out" the way you can with other scopes that define the capture length differently.  This means you have to have some understanding of what you want to capture (as opposed to what you want to see), but once you have that, then you can perform that capture and then "zoom in" after the fact (e.g., with zoom mode, or by stopping the scope and then twiddling the timebase).  "What you see is all you get" ensures that you always know how much time you're going to capture, no more and no less.  There's no guesswork necessary.

Once you get used to the way the Siglent operates, you'll find that everything is straightforward and logical.  The 1000X-E series has some limitations as a result of "what you see is all you get" (e.g., you can't define a mask test on a zoomed portion of the capture when in zoom mode, thus making it impossible to define a high-resolution mask on a portion of the capture to stop the scope and enable examination of the larger waveform), but the 2000X+ series takes care of these limitations.

--

On any other scope (aside from the LeCroy scopes, which use the same approach Siglent uses), segmented memory is an add-on, an afterthought of sorts.  How well it works depends entirely on the implementation.  Because it's an integral part of the Siglent/LeCroy approach, segmented memory basically Just Works without requiring any special setup on those scopes.  It's always there, and you can always examine previous captures in a series of contiguous captures without having to do anything special in advance (save perhaps for ensuring that the capture length is a fraction of the total amount of memory available).

Small correction.
In Siglent there is two kind of "segment" acquistions.

1. Allways background working history buffer. (looks like you talk only about it)
Here user can not define number of segments.
 - can not run single sequence using user defined number of segments.
 
All segment what are captured and  displayed are also saved to history buffer (fifo) Also there is variable blind times. (if signal meet trigger but system is handling other things this signal is not captured. Here need note that wfm/s speed is long time average. Acquisition is like bursts and there is break every ~40ms and this break can be example  ~3ms or even 24ms when measurements are on even when wfm/s speed is up to 110wfm/s (1ch on,50ns/div, mode dots, no measurements on). If trigger event in signal happen in this break time it is loosed. (this do not happen in Sequence mode)
Maximum saved amount of samples can be more than SDS1xx4X-E 14M. It can be up to over 100M. With single channel on it can be up to 54M (max segment total memory depends also t/div setting). Example with 1ch on, 14M acquistion length total is 3 acquisitions (if not very old FW).
If use this normally allways background running history as segmented memory acquisition there need know that guaranteed speed is very low due to this time break when it is processing display etc. If there is 3ms or 24ms break every 40ms - think what is quaranteed speed.
Some may think this do not matter if I am watching things what happen with some long interval. There may be setting where oscilloscope wfm/s speed (reemember, it is always average) can be (example) 50kwfm/s if signal is enough fast and example measurements on. Then you want look 50Hz 1us width pulses rising edges what happen every 20ms. It can not do it. If stop scope and look history and time stamps, there is missing edges. 1)


2. Sequence mode.
It can run in single sequence or repetitive sequence mode and in all cases user can set number of segments in one sequence.
In repetitive mode it produce display after seqment is ready and before it can start new sequence. Depending amount of segments in sequence and display settings this processing may take long time. (there can be up to 80000 segments and every one need process for display and when all is ready all segments are overlaid in one display frame). Single sequence it acquire defined number of segments and stops. Displaying all segments overlaid. And then user can of course open history ans look every segment as in all modes. 
There do not exist display processing and mesurement etc processing breaks. It can trig and capture up to its maximum speed. Speed is constant. This constant maximum (quaranteed) speed depends t/div and also max memory length is this is limiting length. When oscilloscope is capturing one sequence (with user defined number of segments) it do not display anything until whole sequence is ready, no measurements, nothing but as fast acquistion and trig rearm as possible.
This very simple and easy example.  1)  Naturally this mode handle it without missing trig events and lot of more challenging things. Example if still this 50ns/div and one channel in use. Example 100ns wide pulses and period 2.5us. No missing pulses. In this case up to 45526 segments.

In both modes every "segment" is time stamped (what is also very important in many cases)

Example: Here very old table about speed etc, using SDS1202X-E (note that it is really old and not directly compatible with 4 channel models, but still it can give some idea how it goes)
(https://siglent.fi/pic/SDS1000X-E/SDS1202X-E-wfms-segms-speed-FW51313.png)
Title: Re: Rigol DS1054Z and "segmented memory"
Post by: 2N3055 on May 08, 2022, 01:54:37 pm
It's basically the same in Rigol. I do not recall if it has list mode.

I suspect SCAN is a deprecated form of Roll. It will not function in Roll or XY modes.
Thank you! Well, that's a puzzle for me then: I'm in YT mode, not XY or Roll mode. Not sure why record is disabled in this case.

I think it depends on a combination of memory depth and horizontal timebase. I don't have my Rigol any more but IIRC it works by recording "screenfulls". If your horizontal timebase is set to show all memory on screen then it disables the function. You have to zoom in a bit first.

Just a tiny correction. You have to change timebase when in Auto mode, or set smaller memory buffer in manual memory mode...
Zoom is something different..
Title: Re: Rigol DS1054Z and "segmented memory"
Post by: mbratch on May 09, 2022, 02:39:37 am
Great info guys, thanks a lot!

The Rigol DS1054Z is also "what you see is all you get" when it comes to trace captures. As noted, unlike the Siglent, yes, the "segmented memory" (or "waveform record" for Rigol) definitely feels like an after-thought add-on feature. A specific case I ran into today was triggering on I2C events. I wanted to capture a number of them and review them in sequency looking for ones that had a particular difference. This worked fine, but it was somewhat annoying that I2C decoding is disabled for playback of recorded waveforms. It doesn't seem that there'd me any particular technical limitation preventing decoding while playing back recorded traces versus on-the-fly traces. I figure they just didn't bother implementing it as a capability of waveform recording as a separate feature.

But, although occasionally annoying, I bought the Rigol as a budget 4-channel scope, and it does a lot of good things for what I paid for it. :)