From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

PCI-6036E DMA Configuration

Hello.

I am writing a VI that requires a number of AO and AI operations at fairly high speed, but within the card specs (10kS/s AO, 100kS/s AI). I have two PCI-6036E cards. I have a hunch that neither of my cards are using DMA at all. I have tried using "Set Device DAQ Information.vi" to force the cards to use DMA, but it does not appear to change anything. Furthermore, in MAX both cards list their Direct Memory Access channel as "0", which doesn't make any sense to me...shouldn't each onboard DMA controller get an address? Looking at the DMA information in Win2k (via "msinfo32") only two devices are listed: the floppy drive on 2 and something called "DMA Controller" on 4. I have tried to turn on Bus Mastering in the BIOS, but no su
ch option exists. Windows claims that my IDE Controllers are using UltraDMA, but under the "resources" section of each, there are no DMA channels listed.

Are my cards using their DMA controllers or not? As I missing something? How can I fix this?

Thanks in advance,
Anders
0 Kudos
Message 1 of 2
(2,240 Views)
First, let me ask why you believe the boards are not using DMA? By default, any operation with NI-DAQ will attempt to use DMA if available and then interrupts if not. With PCI you can share DMA channels which is why both cards list DMA channel 0 in MAX. Also, the PCI-6036E cards only have one DMA channel available. Therefore, if you try to do two+ concurrent, buffered operations, only one will be able to use DMA. The others will have to use interrupts. The two data acquisition cards I have in my machine support 3 DMA channels and both list channels 0,1,2 in MAX. If you are having problems performing both operations at the same time without getting errors, I would force the AO to use interrupts so that the AI can have the DMA, since it is faster. You can do
so, as you noticed, with the Set DAQ Device Information.vi. If you still cannot achieve the rate desired, you can either slow down your operations or purchase a board that supports 3 DMA channels. This way, both your AO and AI would have a DMA channel available. I hope this information helps.
0 Kudos
Message 2 of 2
(2,240 Views)