From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Synchronize E (PCI) and X (PCYx) series DAQ cards

I need to synchronize PCI 6071E and PCIe 6353X cards for analog input. I am using RTSI bus (hope it is not dangerous to connect RTSI buses of E and X series, they seem to have different pinouts).

 


Is it possible in principle, I got a bit worried after I found out that synchronization between devices is handled differently in E and X series (E Series devices utilize a master timebase of 20 MHz (clocks are divided down from this).  X series use a reference clock to PLL their own internal timebases to).http://digital.ni.com/public.nsf/allkb/929C108734C102AA86256F27005169C8

 


I looked into Multi-Device Synch example which shows how to synchronize two E series cards or two X Series cards but not E and X series.

 


It seems that it is not possible to use PCIe 6353X card as a master card because its output clock can only be 10MHz (correct?) whereas an external clock for PCI  6071E can be only 20Mhz (correct?). Is this statement correct? 

 


From other side I do not see why PCI  6071E cannot be a master. But my problem is that I do not understand  how to connect ouputs of PCI  6071E DAQmx Timing properties to inputs of PCIe 6353X DAQmx Timing properties, and whether I need to configure Trigger properties as well.

0 Kudos
Message 1 of 6
(3,240 Views)

Hi santelus,

 

The RTSI pinout is the same (or at least compatible) between all NI devices. You do need to configure the RTSI cable in MAX to make it work properly with DAQmx, though.

 

Here are a couple ways you can synchronize AI between an E Series and an X Series (or M Series, for that matter):

  • Use the E Series 20 MHz master timebase as the X Series reference clock, and share the start trigger. (Combine the E Series and M Series cases from Multi-Device Synch-Analog Input-Cont Acquisition.vi. Don't set SyncType=Slave because that enables trigger skew correction, which is an X Series feature and will not work with an E Series master device.)
  • Share the sample clock. (See Multi-Device Synch-Shared Ext Sample Clk.vi)

Either way, I think the phase difference between boards will be higher than with two identical boards, but the acquisitions will not drift over time. There may be other approaches that work, but these are the first two that come to mind.

 

Also, I don't know how tightly you need to synchronize these devices, but if a single timebase tick matters, you should read this: Delay Between Trigger and First Sample on M Series, X Series, and E Series Multifunction DAQ.

 

Brad

---
Brad Keryan
NI R&D
Message 2 of 6
(3,230 Views)

Hi Brad,

 

thank you very much, your answer was indeed very useful.

&gt Here are a couple ways you can synchronize AI between an E Series and an X Series (or M Series, for that matter):

Use the E Series 20 MHz master timebase as the X Series reference clock, and share the start trigger. (Combine the E Series and M Series cases from Multi-Device Synch-Analog Input-Cont Acquisition.vi. Don't set SyncType=Slave because that enables trigger skew correction, which is an X Series feature and will not work with an E Series master device.)

I managed to synchronize E and X using your first option (picture of Block diagram is attached)

&gt Share the sample clock. (See Multi-Device Synch-Shared Ext Sample Clk.vi)

But not this one. I do not know which Sample clock source to choose. I tried all PFI and RTSI of E series. The program does not crach but no sampling is going on (can't see the graph). The block digram is also attached.

 

 

So which Sample clock source should I choose to make it work and which card shall I use as a master one?

 

 

Cheers
Download All
0 Kudos
Message 3 of 6
(3,142 Views)

Hi santelus,

 

Your master timebase + ref clk VI is indeed what I had in mind.

 

For the shared sample clock method, set the sample clock source to "OnboardClock" to disable the external sample clock. You can also use an empty string or delete the "Sample Clock Source" control; these are equivalent to "OnboardClock". The example only passes "OnboardClock" to the master device. For the slave device's sample clock source, it uses "/<MasterDevice>/ai/SampleClock", ensuring that the devices are still synchronized even when using the onboard clock.

 

Brad

---
Brad Keryan
NI R&D
0 Kudos
Message 4 of 6
(3,123 Views)

Hi Brad, 

 

great thank you very much for your help. I managed to do both ways. PNG snippets attached.

 

I tried to estimate the delay and it seems to be about Microseconds, is it what I should expect? Can we improve on it?

The article you mention in your first post tell me that delay should be about 2/20Mhz=Microseconds. I get 20 more, so the same question can we do better?

 

cheers

santelus

0 Kudos
Message 5 of 6
(3,113 Views)

Sorry, all numbers disappeared from the post. The delay I measured is 2microseconds (the sme using two different synchronization methods), the delay I was expecting is 2(cycles)/20MHz(clock)=0.1microseconds, ie twenty times smaller than I measurured. Is it normal, can we do better?

 

cheers

 

 

0 Kudos
Message 6 of 6
(3,100 Views)