05-10-2018 04:22 PM
I am curious if there is a way to create a waveform of N x M samples where the first N are generated upon the first incoming trigger (at the specified rate), the second N are generated upon the second incoming trigger, etc. One possibility I thought of was to create a retriggerable finite pulse generation task, and then route that output as the clock of a clocked waveform generation task, but I suspect that will exceed the available resources of a PCIe-6343. I'm working in the C/C++ interface, but if anyone can guide me even toward a LabView solution it would be much appreciated.
05-11-2018 10:35 AM
Hi KKRand,
Could you elaborate more on the variables N X M? What do those represent in terms of a waveform- is N the samples or the frequency/time?
I think this customer solution in this forum post is very similar to what you are trying to achieve-
Aperiodic pulse-triggered AO waveform generation
Cici
Applications Engineer
National Instruments
05-11-2018 12:00 PM
Hi Cici,
Thanks for the response. I did notice that post, but what I'm hoping to do is slightly different. That post is trying to generate the same AO waveform upon each trigger, whereas I want to generate a different waveform upon each trigger. So the N x M, in my case, is the total number of samples in a buffer, and N is the number of samples in each triggered waveform.
05-11-2018 01:13 PM
I think you're on exactly the right track with the idea of combining a retriggerable finite pulse train with your clocked AO waveform generation task. Your board is plenty capable of allowing this kind of signal sharing & routing.
About the only detail to be careful about is to set the AO task for Finite Sampling with total # samples = N*M. That way even if the finite pulse train gets triggered more than M times, the AO task won't generate any samples after completing the Mth set of N samples.
When setting up timing for the AO task, specify the sample clock source to be something like "/Dev1/Ctr0InternalOutput".
-Kevin P