Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Is there a way to produce a fixed number of analog output samples, at a fixed rate, on each clock pulse?

Hi,
 
I'm using a PCI-6221 multi-function DAQ board, and I'm programming using C under that latest DAQmx revision.
 
My task involves producing analog output on a single channel. The data, >1MB, is stored on disk, and using double buffering I read from disk and play out the data continuously.
 
The slight twist I'd like to implement is, outputting a pre-defined number of analog output samples (~400) on each clock pulse. Therefore, multiple analog output samples for each rising edge clock pulse. Is there a way to do this?
 
I can use the onboard clock. The clock signal would be set to 1000 samples/sec, and the analog outputs would ideally be produced at 2 microsecond intervals. Therefore, all ~400 samples would be produced (400x2 microseconds=800 microseconds) prior to the next clock pulse.
 
Thanks.
0 Kudos
Message 1 of 2
(2,902 Views)

IUBwork,

The PCI-6221 can physically output 1 sample per clock edge.  It sounds like you would need to use a re-triggerable finite generation architecture to achieve the desired results. when a trigger is encountered then 400 samples will be sequentially written.  The number of samples depends on the DAQmx configuration that will be chosen.  I have included a few links which explain this architecture, regeneration modes, and include an analog generation example.  The first link explains retriggerable generation with regeneration which means that the samples will be continuously written.  Please keep in mind that the first link uses regeneration which means that the samples will be continuously written.

http://zone.ni.com/devzone/cda/epd/p/id/4787

http://zone.ni.com/devzone/cda/epd/p/id/39

http://digital.ni.com/public.nsf/allkb/DD750D84BAD703E386256E6E005B41AC?OpenDocument

0 Kudos
Message 2 of 2
(2,872 Views)