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.

Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

Externally triggered acquisition with MHz rate

Hi,

 

I am using PCI 6110 with signal applied to one of the analog inputs and ext. trigger applied at PFI0 input of the card. I am using sampling rate as 5MSPS (max.). Labview 2011 is being used in windows pc.

 

The pulse fed to the card (to read) is having 800kHz rep rate with 180ns duration, +/-2Vpp amplitude. So roughly I have 6.25 samples between two consecutive triggers. Since the signal is within 180ns, effectively only one sample (sample just after the trigger pulse) would have information about this signal. I want to read this one sample corresponding to each ext. trigger pulse and (without skipping) such 100000 points (so for 125ms with this rate) in one go.  The basic program I use to check it is shown in the attachment.  I can get two samples: one within the pulse and the other away from the pulse  using ""analog single channel multiple sample read.vi" " for one trigger.  The problem is how to read 100000 consecutive points???? One possibility was for/while loop, which I tried but found very slow. What I did was placed read.vi inside a loop and run the loop without wait VIs. But the iteration speed of loops was very slow (only few kHz), whereas a blank loop runs with a iteration speed of 10 MHz?  Also how can one synchronize loop iterations with  ext. trigger? How can I read/record 100000 or more such samples, each one obtaied from a ext. trigger pulse. Ofcourse, the display and processing could be done after the recording to optimize time.

 

Thank you in advance.

Download All
0 Kudos
Message 1 of 3
(5,349 Views)

kbgarur,

 

With S-Series devices like the PCI-6110 that you have, the native hardware re-triggerable functionality doesn't exist. You can perform software re-triggering which would involve stopping the DAQmx task and starting it again, this would be too slow for what you want to do. NI has a good document on Retriggerable Tasks in DAQmx.

 

Retriggerable Tasks in NI-DAQmx

http://www.ni.com/white-paper/5382/en/

 

You will need to use counters to achieve the re-triggerable functionality that you are looking for. Read through that document and there are a couple of links to example programs at the bottom of the link as well. Hope this helps.

Aaron W.
National Instruments
CLA, CTA and CPI
0 Kudos
Message 2 of 3
(5,252 Views)

Thank you Aaron!

 

As adviced by you, I am looking for such counter based possibilities now.

 

Cheers

0 Kudos
Message 3 of 3
(5,227 Views)