Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Import a signal for synchronization of onboard clock

Hi,
I need to synchronize the internal timebase (onboard clock, 80 MHz) of either a NI-6143 and a NI-6251 board. I'd like to branch some cable from an external oscillator, and I want the timebase to lock on it. My question is: is it possible to do it in another way rather than with RTSI 7 terminal?

And, if it is compulsory to use RTSI bus, can I put the signal right into the RTSI 7 pin, or the bus works with a specific protocol, and my idea is useless?

I use LabWindows; and when I write
.
.
.
DAQmxResetDevice("Dev1");
DAQmxConnectTerms ("/Dev2/PFI7", "/Dev1/20MHzTimebase",
DAQmx_Val_DoNotInvertPolarity);
.
.

or
.
.
.
DAQmxResetDevice("Dev1");
DAQmxConnectTerms ("/Dev2/PFI7", "/Dev1/OnboardClock",
DAQmx_Val_DoNotInvertPolarity);
.
.
I get an error....
0 Kudos
Message 1 of 9
(5,909 Views)
Hi. Which error do you receive?

If you need to connect an external clock to a board you'd better use a PFI line (only because it is available on terminal block, RTSI and PFI works in the same way!!) while if you need two NI devices to share a clock or a trigger or any available internal signal you'd better use a RTSI cable to connect two boards. RTSI as no protocol, you just internally connect any available TTL signal to it and/or pick it up.

If you need to use RTSI:

Double check if you "created" your new device-->RTSI cable in MAX and if you specified which devices are connected through the cable.
This in mandatory if you want to use the so called "immediate routing" (connection between two fully qualified terminals in two different boards letting DAQmx manage RTSI lines)

Also take a look at the order of terminals, in my pc
DAQmxConnectTerms("/Dev1/20MHzTimebase","/Dev2/PFI7",DAQmx_Val_DoNotInvertPolarity); works while
DAQmxConnectTerms("/Dev2/PFI7", "/Dev1/20MHzTimebase",DAQmx_Val_DoNotInvertPolarity); returns an error -89136 (specified route can not be satisfied).

If you don’t want to configure a RTSI cable in MAX just split your call:

DAQmxConnectTerms ("/Dev2/20MHzTimebase" , "/Dev2/RTSI0" , DAQmx_Val_DoNotInvertPolarity);
DAQmxConnectTerms ("/Dev1/RTSI0" , "/Dev1/PFI7" , DAQmx_Val_DoNotInvertPolarity);

In this case it is up to you to assign RTSI lines and avoid mixing up lines.

Let me know if you find your way out!
Ciao.

NicolaC.
0 Kudos
Message 2 of 9
(5,884 Views)
Hi Nicola,
first of all thanks for your attentions!!!

Now, I'm sorry that I had to post 2 messages, but I didn't see your answer before!

My problem is that I need to SYNCHRONIZE THE TIMEBASE of the board, that's to say, I have a NI6251, I need to put as an input to the board's PLL an external ultra-stable signal, at 20 MHz. I suppose the board to derive the sampling freq from the external reference, or, more exactly, from the internal timebase, wich is now LOCKED to an external source. That's my dream....

Moreover, I've tried to abruptly connect a signal to RTSI7 pin (and ground, of course), but nor I am able to acquire it, nor I am able to export a signal to any RTSI line..... In fact in MAX, even when I connected a 34 pins bus between NI6251 to NI6143, I was told that there is "no RTSI cable". What does it means????? Is there something to know about RTSI bus? In the lab I work there're people that did it, and it works, but with older versions of LabWindows and older boards... I actually don't know if it matters.....

I also specify that I am not interested in giving the board an external sampling clock, because I already did it, and it works, but now I'm trying something deeper....

Thanks anyway, you are very nice to be interested to my problems!

graziano
0 Kudos
Message 3 of 9
(5,883 Views)
If your goal is to phase lock timing on your M Series board with an external signal (not another NI DAQ device), you'll need to use timing properties through a task instead of directly calling the DAQmxConnectTerms function. In particular, the two functions you'll want to use are DAQmxSetRefClkSrc and DAQmxSetRefClkRate. In this case, you can input the signal via a PFI terminal instead of messing with RTSI.
0 Kudos
Message 4 of 9
(5,870 Views)
thanks, but.... are you shure? I've read on the docs that it is not possible to give a reference to the 20 MHz timebase, unless using RTSI7 pin..... anyway, I will try!

Bye!
0 Kudos
Message 5 of 9
(5,868 Views)
I think you're getting confused between the two different timing engines used on the two boards. The M Series boards use a reference clock with a PLL to provide timing and synchronization. This offers greater flexibility for synchronization and routing of timing signals. The 6143 is based of the same same timing architecture used for the E Series product line. It uses a shared timebase to provide timing and synchronization. This model is more limited and has the restriction that you can only synchronize the device to an external signal by importing it through RTSI 7. I've attached the following pictures from the NI-DAQmx Help documentation for clarification.
Message 6 of 9
(5,842 Views)
thanks...
0 Kudos
Message 7 of 9
(5,838 Views)

Hi reddog!

I don't know if you still using this forum, but i have a question to ask you:

I want to synchronize differents cards (PXI-6254, PXI-6225 and PXI6123) with a 10 MHz Clock. I don't have any problem with the M Series card (6254 and 6225) cause they are able to retrieve the 10MHzRefClock from the PXI bus. I can't use this signal as a Timing source. My problem is the S Serie 6123 does not have this possibility. You cannot access to the 10MHzRefClock...

So i tryed to route the 10MHzRefClock to the TriggerLine 7 using a   serie M board, and the use the TriggerLine7 for the Timing source . The problem is i get the error  : "89136 :Specified route cannot be satisfied, because the hardware does not support it". So what can i do to synchronize all my boards together using an external 10MHz clock ????

0 Kudos
Message 8 of 9
(5,341 Views)

what you need to do is to make your 6123 the master board in your system. It has to be delivering the clock to the other boards you need to synchronize.

Unfortunately the 6123 can't phase lock to the PXI_10MHz clock. This feature is only available for the 6115 and 6120 among S Series Boards.

But what you really can do, is to input an external clock on the 6123 (or use its internal time base) as described in the S Series User Manual under Analog Input>>Analog Input Timing Signals>>AI Sample Clock Signal. Then you just need to route this clock over to RTSI7 or PXI_Trig7 Line (same stuff). The other 2 boards are going to receive their clock from the same RTSI or PXI_Trig line.

This takes care of sharing the clock. Then you probably want to trigger the acquistion on the 2 slave boards with a pulse coming from the 6123. This pulse could just be the AI Start Trigger which is issued by the 6123 when the acquisition starts.

This will be your scenario, having the same clock for the boards, and having them synch'ed with a dig pulse.

You can look at some examples that are available in LV Example Finder under HW Input & Output>>DAQmx>>Synchronization>>Multidevice

AlessioD

 

0 Kudos
Message 9 of 9
(5,321 Views)