08-06-2009 05:01 AM
Hi,
Currently I have PXI-6259 card, LabWindows/CVI 8.0 and DAQmx running on Windows XP. I am a newer to the DAQ. I have some following questions about the data transfer mechanism from the FIFO on the DAQ card to computer memory.
1.There are all DMA, interruputs and programmed I/O data transfer mode for AI,AO,DI,DO. How can I determinde which one should I choose when I do a task? And what is the default data transfer mechanism for the PXI-6259?
2.From the NI625x specifications I see there are only 6 DMA channels, just as bellow:
DMA channels
(PCI/PCIe/PXI/PXIe devices) .........6, analog input, analog output, digital input, digital output, counter/timer 0, counter/timer 1.
What does that mean? Is it that there are only 6 DMA channels for all of the AI, AO, DI, DO and Couner0/1?
Thanks!
Guo
08-06-2009 08:40 AM
Hey,
The default transfer mechanism is DMA. IRQ and programmed I/O doesn't give you the ability to transfer data at high rates, so I would suggest to NOT change the transfer mechanism to one of thoose.
Christian
08-06-2009 05:44 PM
Hi Guo,
Regarding the 6 DMA channels available, I just wanted to point out that there is one DMA channel available for every possible task you can run (AI, AO, DI, DO, and 2 Counters). Each individual AI/AO channel does not use its own DMA channel, but rather the task reserves the DMA channel.
So, on an M series you will never run out of DMA channels since you cannot run more than 6 tasks at once. Some of our older boards do not have a DMA channel available for each task, so the user would have to decide which tasks required the use of DMA.
Your tasks will default to use DMA--unless you are having specific problems with the DMA controller on your computer, I can't think of any good reason to change to Interrupts.
-John