Digital I/O

Showing results for 
Search instead for 
Did you mean: 

Matlab and USB 6008 based problem.


Dear Guiders, 


I am using NI-USB 6008/ Matlab Platform to supply external triggering to operate the camera. I could able to trigger the camera using 6008 & Matlab dataacquistion toolbox, but the problem is 6008 digital pulses are not accurate. 


ex: If I define 80 millisecond pulse train to one of the digital channel, I expect the 6008 to generate 80 digital pulses. But when I analyse the pulses on oscilloscope, I found two different problems 


1) The digital pulse is not accurately 80 ms, but it is 90 ms. 

2) The sequence of pulses are not consistent, it is fluctuating between 90ms and 100ms. 


Does it has anything to do with Matlab compilation or ......


Thank you in advance for your support. 







0 Kudos
Message 1 of 6



This is a fundamental limitation of the USB-6008 and your OS. The USB-6008 uses software timed digital outputs. That means that each change of the output requires a call through the OS to the USB port. 


Ten ms of timing jitter is not unusual. 


If you need more accurate timing, you need to switch to a device which has hardware-timed digital I/O.



Message 2 of 6
6008 is a low-cost DAQ.

High-performance comes with a higher cost.

6008's are great for what they are (especially for the money), but if you need reliable/accurate timing, they're not the right product for your application.
0 Kudos
Message 3 of 6

Dear Lynn, 


Thank you for the quick reply. 🙂 


Can you guide me on few more questions. Accurate timing from Daq is very crucial for my experimental setup. 


1) Do you think Labview can help me solve this problem ? For me it looks that Labview is another platform like Matlab, still the DAQ controlling is done from software. Please correct me if I am not correct. 


2) Can you suggest some other DAQ boards, which help me to control the hardware-timed digital I/O, through Matlab. 



Thank you, 










0 Kudos
Message 4 of 6



1. No. LabVIEW makes the same DAQmx calls through the OS as does Matlab (I think). The limitation is in the USB-6008 hardware,


2. I am not completely familiar with the various DAQ boards and I do not know all your requirements, so I cannot give you a recommendation. Talk to your NI sales rep. It is their job to help customers get the right equipment.  



0 Kudos
Message 5 of 6
When you have a hardware timed function (analog input/output, digital I/O, counter), you configure the device with the DAQmx api, and then command the task to start on the device. The function is then performed on the device itself, controlled by an on-board clock. Your device has no on-board clock for digital IO or analog output so it is strictly software controlled.

You can browse the product pages and select a device based on required sample rates, number of channels, form factor, cost, etc. You can also contact the local NI Sales Engineer and enlist his or her help. You can provide the necessary requirements here and also get some suggestions.
0 Kudos
Message 6 of 6