Synchronize two or more LabJack U6 DAQs.
Posted 05 June 2013 - 03:37 AM
Posted 05 June 2013 - 10:27 AM
1. It is feasible to determine the start time of each stream within a few milliseconds using software reads of the O/S time before and after the call to start each stream, but that is about it.
I think that the big problem here is to start the stream at the same time in the 3 devices. After that maybe one can perhaps (assuming the internal clocks of the U6 are synchronized) use some software timing (WaitMode = None) to read the data from the U6 buffers.
2. Once the streams are started, they will likely diverge.
The U6 has a good quartz crystal and thus has a clock accuracy of 30ppm at room temp:
30ppm is 30us per second. Your scan interval is 312.5us. So if one U6's clock was 30ppm fast, and another's was 30ppm slow, you could be out of sync by 1 scan period in just 5 seconds.
The solution involves wiring some common signal to all 3 U6s and bringing that in with each stream. For example, you could use a timer on 1 U6 to generate a 1Hz square-wave that you connect to a digital input on all 3 U6s. Then software constantly finds each rising edge in each stream, and if any streams have gotten ahead you discard 1 scan to align them again.
Is there any feasible solution for this?
Yes, the UE9 supports external triggering. The T7 is also expected to support this, but does not yet.
I know that there is something called external triggering for the U9, but havenít seen anything for the U6.
Typically one devices acts as the master and sends its scan signal to the other 2. This is good, but you still need to do a little extra work in software to watch for problems where 1 of the slave devices gets an extra clock or misses a clock, perhaps due to noise on the lines.
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users