Tektronix Technical Forums are maintained by community involvement. Feel free to post questions or respond to questions by other members. Should you require a time-sensitive answer, please contact your local Tektronix support center here.
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.
- (5.38 KiB) Downloaded 513 times
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.
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.
Who is online
Users browsing this forum: No registered users and 3 guests