High-Speed Digitizers

cancel
Showing results for 
Search instead for 
Did you mean: 

5122 and continuous triggered acquisition

I have a PCI-1522 and I want to do a continuous synchronous acquisition and have tried a number of things in NI-SCOPE without success. The signal I want to acquire is triggered (or to be more technically correct is synchronous with a second external signal) at 10 or 20 kHz and I want to sample at about 20 MS/s. Setting up the ext trigger is fairly straightforward if you put the initiate and fetch within a while loop. But then you have to loop on each trigger every 100 us (which the software is not fast enough to do even without the decimated processing I want to do) or acquire a larger chunk of data. This latter approach essentially initiates on one trigger pulse but acquires a large number (2M) of samples at 20 MS/s and therefore is subject to jitter if the samples acquired aren't exactly right. (I adjusted the sample size to correct within one sample and there is still persistent jitter so without triggering the accuracy required is less than one sample.) Bottom line is you aren't synchronous with either approach. With the fetch forever example, you move the initiate outside of the while loop which is great. But you have to use a software trigger in order to get it to work. All of the possible solutions essentially boil down to software triggering. I suffer either from jitter or drift.
 
I thought about using the video ref triggering schemes but then I have to configure my signal to fit into the pre-defined video formats which may not be possible. I haven't thought too much about a DAQmx solution. Are there any examples or solutions of a hardware-synchronous, continuous acquisition in NI-SCOPE or DAQmx?
0 Kudos
Message 1 of 4
(6,793 Views)
Hello Dan X,
 
How much total data will you be acquiring?
 
It sounds like you should take advantage of a Multirecord acquisition, which will rearm for a new trigger in 10 us or less.  If the amount of data that you want to acquire will fit in the onboard memory, then you don't have worry about performing a continuous acquisition.  You could perform a finit multirecord acquisition.  Take a look at the niScope EX Multi Record.vi shipping example.
 
Let me know if you have any further questions.
 
Regards,

Sean Close
Product Support Engineer: High-Speed Digitizers
0 Kudos
Message 2 of 4
(6,785 Views)
I don't think I can do a multi-record acquisition but I haven't thought about it too much. I really need to save more than my on-board memory will allow. I think we have 32 Mb and we will save streams of hundreds of Mb. Thanks, though, I will look more closely at the multi-record examples to make sure. Right now my drift is very minimal so I am going to go with what I have. I just wanted to be locked to the hardware trigger instead of relying on a software sync.
0 Kudos
Message 3 of 4
(6,783 Views)

Hi Dan,

You might want to take a look at the niScope EX Multi Record Fetch More Than Available Memory.vi shipping example.  With this VI you can set up a multirecord acquisition and fetch records as they are being acquired.  This allows you to acquire more records than will fit in the onboard memory.  Currently, there are limitations in the driver which limit you to fetching about 2,000 to 3,000 records per second, so you will not be able to keep up with your 10 to 20 kHz trigger signal indefinitely.  However, we are currently working on fetching optimizations which should bring this number up to the 10 kHz range in the future.  We hope to release these optimizations in Q1 of 2007.

I hope this helps.

Regards,
Sean Close

0 Kudos
Message 4 of 4
(6,781 Views)