LabVIEW Embedded

Showing results for 
Search instead for 
Did you mean: 

1588 cRIO System Time Synchronization


I am using a very accurate stand-alone 1588 time reference that generates PTP (and PPS) outputs. I want to synchronize this master time reference with the RT System Time on a cRIO-9024 controller (slave). All timing packages (NI-TimeSync, 1588-2008 Network management, NI-TimeSync Plug-In) are installed. "Software 1588 time protocol (Ptp)” is also enabled defaulting to the primary eth0 adapter in MAX. When I connect PTP coming from my master and connect it to eth0 on the cRIO, I obviously loose my communication path to my host PC. Connecting the eth1 port to the host PC does not work.

Maybe I am missing something, but how do I configure and connect the cRIO to an external 1588 time reference using PTP so that the system time is sync'd?


0 Kudos
Message 1 of 7


I can't claim any experience with PTP but since no one else has replied and I have some experience with cRIO...

Why not just use an ethernet switch to connect PC, 1588 reference and cRIO?

From a quick google it looks like you may need a switch that is compatible with PTP.

I could be completely wrong and happy to be corrected. Hopefully this gets a discussion going.

0 Kudos
Message 2 of 7

The 1588 time sync can run converged with other Ethernet traffic.  You could put your PC on the same network as the 1588 grandmaster (GM).  They you could communicate with the cRIO while also synchronizing. 

A few more details. 

The 1588 support is default profile, 2 step, end-to-end, layer 2 synchronization.  There are many different profiles of 1588 and they are not interoperable.  This is one of the most common profiles but you may want to check you GM to check supported profiles. 

The 1588 synch on the cRIO controller you are using is software 1588.  It was designed to run on "normal" Ethernet and will work in networks that do not have special 1588 switches.  These switches will increase the time synch accuracy but are not needed.  The expected accuracy for the SW 1588 is 1mS. 

If you need more accurate time synch than SW 1588 can provide you can also look at the GPS module or at wiring a direct PPS from the GM. 

Hope this helps.

0 Kudos
Message 3 of 7

Thanks for your reply.

There is a hidden feature that let's you use port 2 (eth1) as the PTP port.

What you need to do is open '/ni-rt/system/ni-timesync/ni-timesync-ptp.ini' on the real-time target and add this line to the .ini file:


replace the MAC address with your NIC address from port 2 and you are done. The only thing is that MAX is not displaying the right parameters but rather "NO AVAILABLE". I confirmed with NI that this is a bug, but PTP does work correctly.

Screen Shot 2015-08-10 at 3.17.30 PM.png

Also, you mentioned that the expected software 1588 accuracy for the cRIO is 1ms, which is several magnitudes highter than the nano second resolution that I am looking for. Could you please to the document about the cRIO 1588 software accuracy.


Message 4 of 7

If you need <1mS accuracy for multi-chassis synchronization then the SW 1588 offering won't work.  The jitter and offset created by time stamping in the software stack causes a few hundred microseconds of error (and is processor load dependant). 

To get that level of accuracy you will need something that is hardware assisted.  PXI uses HW 1588 on some of the plug-in modules and that module can create triggers on the backplane.  In cRIO you can use the 9469 module to sync multiple chassis via additional cabling (this can also distributed the DSA oversample clocks).  You can also use the 9469 module to synch all the chassis via GPS. 

What is the application? 

Message 5 of 7

Reg: What is the application?

I am trying to use the cRIO as a remote PTP trigger box. My grandmaster is 30-40 feet away from 12+ instruments that I want to trigger with the PPS's coming out of cRIO DIO modules. The Agilent E5818A was the model I had in mind, but Keysight but discontinued it.


0 Kudos
Message 6 of 7

Two options come to mind. 

You can use PXI with the plug-in 1588 module.  This will be the best accuracy and easiest set-up. 

You can also use 2 cRIO chassis.  They would not need to run RT so you could choose the Enet extension chassis or RT chassis.  Use 9402 modules for the DIO and 9467 to synch between the two. 

(1) Enet chassis by the GM with (1) 9402 as PPS input and (1) 9467 as synch master

(1) Enet chassis by the instruments with (x) 9402 as PPS outputs and (1) 9467 as synch slave

You would need to run a CAT 5 between the two 9467 modules and program the FPGAs to pass the PPS.  This will have a few clock crossings and latency from the cable length but accuracy should be in the 1uS range. 

0 Kudos
Message 7 of 7