Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Pulse-triggering a changing AO waveform with a PCIe-6343

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.

 

0 Kudos
Message 1 of 4
(2,530 Views)

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

https://forums.ni.com/t5/Multifunction-DAQ/Aperiodic-pulse-triggered-AO-waveform-generation/m-p/3742...

 

Cici

Applications Engineer

National Instruments

 

 

0 Kudos
Message 2 of 4
(2,495 Views)

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.

 

0 Kudos
Message 3 of 4
(2,493 Views)

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

ALERT! LabVIEW's subscription-only policy coming to an end (finally!). Permanent license pricing remains WIP. Tread carefully.
0 Kudos
Message 4 of 4
(2,488 Views)