LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

hardware-timed counting of two TTL sources with a pair of PCI-6014's

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

Download All
0 Kudos
Message 1 of 2
(2,455 Views)
Problem solved by adding a DAQmx channel properties step, specifying the data transfer mechanism as 'Interrupts' instead of 'DMA'.
Message 2 of 2
(2,446 Views)