INtime provides a PTP implementation complient with the IEEE 1588 v2.1 standard. The implementation is by TenAsys Partner TSEP (https://tsep.com), who have supplied an INtime port of their Chronos product.
The implementaiton consists of a process, chronos.rta, and its associated libraries, which makes use of the INtime MHPE technology. MHPE allows multiple processes to share access to a single network port, and use different facilities of that port.
The implementation depends on certain features of the Network Interface Controller (NIC) to achieve the high precision of synchronization by PTP. These features include multiple transmit and receive queues, and hardware timestamping of transmit and receive packets. It also requires that an internal IEEE 1588 hardware timer be present in the NIC. The interfaces currently supported by INtime PTP include the following:
WHen PTP is enabled on INtime, a single instance of the Chronos process is loaded and manages all configured ports on all nodes on the INtime host, via MHPE. Only one instance of the PTP process is allowed to run per INtime host.
When a network port is configured to be used by PTP, its driver is replaced by a new driver, "mhpe", and the original driver is assigned to the MHPE manager process on the node. The mhpe driver uses the MHPE manager to access the resources of the actual interface that it requires, a pair of queues, one for transmit and one for receive packets. The PTP process uses a different pair of queues on the same interface, as well as the IEEE1588 timer in the NIC hardware.
PTP configuration is complex and can involve a large reange of paramters. The INtime Configuration utility generates a simple IEEE 1588 configuration based on an IPv4 UDP Multicast protocol. If a single port is assigned to PTP then this will be an Ordinary clock configuration, for multiple ports a Boundary clock configuration is generated. The default configuration file will be stored in the %INTIMECFG%\PTP folder and is called StackConfig.json. If a modified configuration is required then this configuration file may be modified to include required features or tuning.
To enable PTP on INtime, first cnfigure the network stack on all participating nodes. This configuration must then be run once to generate data about the interfaces, including the MAC address of each one. Once this has been done then PTP may be configured and enabled.
Next, the ports which are to be used by PTP must be selected. Click the ... button at the end of the line to open the selection dialog:
Note all network ports are shown, although not all will be suitable for supporting PTP.
Once the ports have been selected, pres OK and see that the list has been saved:
Once this step is completed, PTP may be enabled.
Enabling PTP causes the network stack to be reconfigured so that all selected port have their driver replaced with the mhpe driver, along with the existing configuration for that port. The original drivers are assigned to the MHPE manager on the node, which is enabled. Finally, the PTP configuration file is generated, and the PTP process enabled and configured.
One restarting the node(s) the chronos.rta nd mhpemgr.rta processes will be started automatically.
Two additional services may be enabled after enabling PTP.
The INtime synchronization service causes the INtiem system timer for the nodes to be synchronized to the PTP time.
The Windows synchronization service causes the WIndows time-of-day (wall clock) to be synchronized to the PTP time.