Page 1 of 1

Fastframe remote acquistion with DPO 5XXX scope

Posted: February 24th, 2018, 7:06 pm
by rathorearvind19

I am trying to trigger the scope (DPO5204) at about 100-500 frames per second and reading the data from scope buffer using Matlab through USB interface (NI visa-usb object).

Even though I can read the data correctly, I need to synchronize the capture with external PC. Basically, I am doing some operation, triggering the scope and capturing the corresponding waveform. Is there some way to find out if trigger occurred in fastframe acquistion mode? I want to send the next trigger only when previous trigger was recorded.

Also, I would like to find whether I can capture multiple acquisitions of 100-500 frames. Do I need "acquire:state sequence" or "acquire:state runstop" in this case?

Attaching the matlab code I wrote (modified version of viewtopic.php?t=135549).

Edit: I have modified the code by setting the dese, ese and ser registers. it does not time out for 1000 frames but times out for 2000/8000 frames even when I can see all the frames were captured on the scope screen well before the timeout period. Please note that I am scaling up the timeout period based on the number of frames I am capturing. Attaching the modified matlab code in text format.

Thank you.


Re: Fastframe remote acquistion with DPO 5XXX scope

Posted: February 26th, 2018, 3:09 pm
by Carl M
The example you reference demonstrates how to programmatically read sample values (curve?) of a FastFrame acquisition. It does little else.

Generally speaking, I recommend developing your test procedure from the front panel, then cross referencing the programmer manual to automate it. While the front panel isn't the same as the programmatic interface, this is still a good way to start.

If I recall correctly, FastFrame was developed for laser diode research where the requirement was hundreds of waveforms, ~20 ns long, every couple of milliseconds without missing an event. FastFrame significantly reduces the trigger rearm time by using all available waveform memory as a cache and defers post-acquisition tasks (DSP, display, measurements, etc.) until after all set frames of samples reside in waveform memory. Every frame has its own trigger event and timing between frames is maintained with high precision.

Typically I use FastFrame in a single-shot mode. FastFrame can stop itself after the limit is reached or you can stop it manually (only the last frames are captured after the frame count is reached). Free Running FastFrame is not recommended.

Can you tell me more about your test? Maybe FastFrame isn't the best approach.

Re: Fastframe remote acquistion with DPO 5XXX scope

Posted: February 26th, 2018, 4:04 pm
by rathorearvind19
Thanks Carl for your reply. I added some additional notes in the original post with the latest experiments I did. Also attached the updated code.

I can set up a single acquisition from front panel and programming interface correctly but can't do back-to-back acquisitions with programming interfac.
I am trying to automatically capture power signatures for a particular operation. I have to make ~1 Million measurements so this process can't be controlled manually (with the correct record length of 1000 @1Gbps, I can only capture 8680 frames in a single acquisition - is this the expected limitation of DPO5204 with its 250 million point buffer?).

With the updated code, I can capture 1000 frames back-to-back without any *opc? timeout issue. However, when I want to increase the number of frames to 2000/8000, I get *opc? timeout even when I see that all frames were captured well before the timeout period (30-40 seconds in advance).

Please let me know if you need more information.

thanks again for the response.