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.
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.
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.
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.