First, in a nutshell: I'm trying to count TTL pulses from two photon
detectors with short (.1-1 ms) integration times, for fluorescence
correlation spectroscopy. I have a pair of PCI-6014 DAQs, each with a
BNC breakout box.
First I created a LabView vi in which the counter from Dev1 outputs a
pulsetrain of the appropriate integration time, and then Dev1/CTR0 out
is physically routed to Dev2/PFI0 to time the acquisition of TTL pulses
on Dev2/CTR0. This seemed to work fine. The vi is attached below
(1_counter_works).
Then I added a second counter task, using Dev2/CTR1. Up until now
I've
been using a LabView vi in which I use this same idea, but with a
software-timed loop for integration times of >5ms. Software
timing
is too slow for shorter integration times, which is why I'm trying to
use hardware timing. But when I add the second channel, I
get the error "No DMA channels available", which is reasonable, I
guess, because each pci6014 only has one DMA channel. So then I
tried to measure and queue the data in one loop structure, then pass it
to a second loop structure to analyze and display the output (and
eventually I will also update a large data array). But I still
get the same DMA error. That vi is also attached below
(2_counters_queue_notworking). Perhaps I'm not doing the queueing
correctly. I also tried doing the counter measurement and
queueing sequentially in a flat sequence, but was unsuccessful.
This question seems to have come up several times recently, but not
with the exact hardware I have. I've looked through
this thread,
,
this one, and
this one,
and haven't been able to solve the problem on my own.
Can anyone tell me if this is going to be possible with the hardware I have, and if so, how to go about employing queueing to