Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Can I sync other USB-6009's sampling via one USB-6009?

I would like to know if there is a way to trigger multiple USB-6009 units' sampling via another USB-6009's output capabilites.  Possibly the 6009's PFI pin can double as an output instead of just an input for triggering.

Thanks.
0 Kudos
Message 1 of 11
(4,194 Views)

Hi Wrongway,

The PFI line on the 6009 is only an input so it will not able to generate a trigger. This can be found in the specifications here on page 16. However, you can use another digital line to output a signal which can then be shared among the other 6009s which will be acquiring data. This signal should be generated in software and written to the digital line. Let me know if this helps.

Regards,

Kent L.

0 Kudos
Message 2 of 11
(4,157 Views)
Thanks for your speedy reply.

If I configure one of the digital lines to

Active drive (push-pull), I = –8.5 mA with max voltage of 3.5V,

then will that be enough to trigger the other ADCs' via thier PFI?

Also, if I'm using one of the ADC's digital lines to generate the triggering waveform, then won't that reduce the anolog sampling capabilites of the unit?  Will the software initiated triggering maintain a real time waveform?  I'm concerned about reducing the sampling rate, because I need to utilize the majority of the USB-6009's capabilities; approximately 42k of the 48 kS/sec..
0 Kudos
Message 3 of 11
(4,152 Views)

Hi Wrongway,

The digital levels you specified will be enough for the PFI lines. As for the sampling rate, the USB-6009 is software timed. The output will cut into your sampling rate but the exact amount depends on how you program the acquisition and the specifications of your computer hardware. You can test this out for yourself to see what the resulting sampling rate is and whether or not it meets your needs.

Regards,

Kent

0 Kudos
Message 4 of 11
(4,122 Views)

For clarification, the digital output must be software timed but the analog input can still be hardware timed. If you are just using it as a digital trigger, your analog input should be able to sample at the rate you need.

Regards,

Kent

0 Kudos
Message 5 of 11
(4,111 Views)

According to the device block diagram it appears that the USB microcontroller is completely independent of the ADC.  Since the USB microcontroller handles the digital lines, then it seems that the analog sampling rate would not be affected; The USB bus bandwidth would see an increase in traffic, which I'm not concerned about with 12 MBits at my disposal.  The issue I have with this approach is that the primary ADC providing the triggering would be software timed.

So, my question now is how accurately can the software triggered USB-6009 be clocked.  If I want to clock it, via software, at 40 kHz what guarantees me that LabView can successfully clock it at exactly 40 kHz.  I say that, because you have all of the delays imposed by the USB bus/controllers and possibly the operating system.  Is LabView capable of accurately controlling the clocking of the USB-6009 despite all those mentioned factors?



Thanks again for responding.


P.S.  I'm tring to sync the analog sampling of three USB-6009 units at 40 kS/s.
0 Kudos
Message 6 of 11
(4,097 Views)
Since you cannot import a clock for the 6009's, the best way to synchronize two or more USB 6008\9s is to have the AI of all of the devices start trigger off of the same digital edge. This digital edge could be a trigger from an external source, or just a DO line toggled on one of the 6009s wired to the other devices' PFI lines and back into the PFI line on the triggering device . You would want to set up three clocked AI tasks on the three devices at the same rates and a digital start trigger, start the tasks, then send the trigger pulse - all three will start off of the same HW edge and run at the same rate.
 
I'm not sure that I %100 understand your second paragraph - the HW clock used to time AI is a divide down of the oscillator on the device - LabVIEW just sends the commands to set up the acquisition and start it. If you start all three AI's sampling off of the same trigger, then you do not need to rely on the delay between starting an AI task and then sending out a digital pulse.
 
Also, this is a lot easier with the Bus Powered M-Series because they can share clocks - but hopefully this method will be good enough for you with the 6009's.
 
Hope this helps,
 
Andrew S
0 Kudos
Message 7 of 11
(4,093 Views)

Sorry, for my ignorance, but I'm a LabView and ADC newbie.  Thank you all for answering my numerous questions.

I’ll ask these questions in response to Andrew S’s post.

I've been working with LabView and I believe I understand what you were telling me in your post.  I don't have the hardware yet to try this out, so I'm more or less trying to make sure I understand how the triggering process works before purchase.

From what I understand now I can set up three AI tasks, one for each USB-6009, using DAQ Assistant.   After I specify signal type, number of channels, input range, and terminal configuration I can then set the task timing.  I would then choose to acquire continuously, external for clock type, PFI 0 for clock source, and rising edge.  Then I would set the ‘start on digital trigger’ attribute.  With all of the PFI lines tied to one DO line, I would then send the pulse that would trigger the AI tasks.  All three ADCs' AI sampling would then start simultaneously on the next hardware clock.

The only concerns I have about this approach is do the devices get forced, by maybe LabView, to start off of the same hardware edge?  You mentioned that they start off of the same HW edge in your post, but I’m just not sure how that is accomplished.  Is it just one of those things that has to be accepted and I should not worry about it? 
Also, even if all three ADCs start at exactly the same point in time won't the devices' timing drift relative to each other after a certain amount of run time?

0 Kudos
Message 8 of 11
(4,085 Views)
You're very close and you seem to have a good grasp of the situation. You would set up the AI tasks to be continuous, but they would just use their own onboard clock - not an external clock from the PFI line. The PFI line would be your start trigger. A good place to start would be the "Cont Acq&Graph Voltage-Ext Clk-Dig Start.vi" shipping example in LabVIEW - just specify the PFI line as your  "Trigger Source", and delete the "Clock Source" input so that it uses the default onboard clock.
 
The only concerns I have about this approach is do the devices get forced, by maybe LabView, to start off of the same hardware edge? - LabVIEW does not force the devices - it programs each device to wait for a HW trigger before it starts acquiring. The HW itself waits for the trigger to occur.
 
Is it just one of those things that has to be accepted and I should not worry about it? - Pretty much Smiley Happy
 
Also, even if all three ADCs start at exactly the same point in time won't the devices' timing drift relative to each other after a certain amount of run time? - This is a pretty valid concern - there will be some drift based on the difference in the oscillators - we spec the drift in the specifications. If this is a concern, you might want to consider devices that can share sample clocks - that way all devices are off of one clock and drift is not a concern.
 
Hope this helps,
Andrew S
0 Kudos
Message 9 of 11
(4,077 Views)

From your experience Andrew, would you say that the USB-6009s can realistically handle being clocked by an external TTL compliant source at 40 kHz continuously?
Would I definitely get 40 kS/s, about 5 kS/s per channel?  Well, taking into consideration interchannel delays probably 20 kS/s overall and 2.5 kS/s per channel are better estimates.

Thanks again.
0 Kudos
Message 10 of 11
(4,062 Views)