Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

How reliably can I send digital output at a particular time? (USB polling rate question)

I am using the USB-6008 to send a digital output (which successfully trigger a transcranial magnetic stimulator) via the Nidaqmx Session interface in Matlab for 64-bit Windows.

 

The digital output must be sent as soon as possible following the execution of a different line of code.

 

My question: will there be additional delay/jitter introduced by the relatively low temporal resolution of the USB protocol (100Hz, or 250Hz polling rate for USB i/o; I have read both)?  Is there a way of increasing the polling rate to 1000Hz for the NiDaqmx so that there is at most a 1msec jitter?

0 Kudos
Message 1 of 7
(3,996 Views)

You're looking for a high-performance feature in a low-cost board.  Everything in the 600x is software-timed, so any variation in what the operating system's doing, activity on USB, etc will affect the performance of the DAQ.

 

The 600x is built to meet a price point rather than performance specs.

 

My recommendation is to use a better DAQ that supports various forms of triggering.  Maybe cRIO is another alternative?

Message 2 of 7
(3,992 Views)

Thanks for your response. I understand there will be jitter, and that this is not a high performance board. But I would still like to know:

 

How much of this jitter/variability is due to USB polling, and can it be effectively & safely reduced by increasing the USB polling rate? 

 

(FYI the USB polling rate can be increased to 1000Hz if windows is run in developer test mode, but only at possible risk to hardware).

 

Thanks!

0 Kudos
Message 3 of 7
(3,984 Views)

Hello,

 

If you are concerned with controlling the time that closely then you really need to consider a Real Time operating system.  As Snomule noted our cRIO platform would be a better fit.

 

 

Mason M
Applications Engineer
National Instruments
0 Kudos
Message 4 of 7
(3,948 Views)

Thanks for the response. I had hoped my last response would make it clear that I understood another product was the recommended course of action for such extreme performance. Once again, however, my question is different. For the third time, my actual question is:

 

Will any jitter/lags in the digital output of the USB-6008 be reduced by increasing the USB polling rate, and would that be safe for the USB-6008?

 

For those that would argue that this is a fool's errand, I note it is possible to get jitter of <=2.5ms (standard deviation) using the Matlab DAQ toolbox in conjunction with the NiDaq drivers and the PsychToolbox, along with optimized code. Thus, 95% of the time, the digital output is sent within +/- 5ms of the desired time (as verified with an oscilloscope). I hope it is now clear, but my question is whether I could expect further decreases in this value by changing the polling rate, and whether I can do so safely.

0 Kudos
Message 5 of 7
(3,942 Views)

I think the real question is about having the right tool for the job. 

You've got some timing requirement.  The 600x is not able to meet that requirement. 

 

It sounds like you've got a test setup that's able to measure jitter.

Why not start cranking up the polling rate and see what happens?  I'd be interested in the results. 

 

You could use a brick to pound a nail into the wall, or you could go buy a hammer and get the job done right...

 

The potential exists to fry the 6008 and/or the PC.  Worth it for the performance?  That's a question for you to answer.

A cRIO is $$$ compared to a 600x, but it'll get the job done without having to resort to hacks.  Price vs. performance.

Message 6 of 7
(3,935 Views)

Thanks again - I probably will not attempt this since we don't have funds to burn in the event of a fried USB-6008. (If we did, I surely would follow the much appreciated advice to look into the CRio systems).

 

However, if any brave souls do attempt to increase the polling rate I would love to know whether there are any benefits to performance/decreases to product lifetime...

 

Cheers,

-Chris

0 Kudos
Message 7 of 7
(3,927 Views)