FPGA Development Boards / SoM / Custom Design / IP Integration
info@profpga.net +86 18621324348
Home/Blog/Solution Analysis/IEEE 1588 PTP Multi-Board Time Synchronization: How to Configure Ordinary, Boundary and Transparent Clocks
Solution Analysis

IEEE 1588 PTP Multi-Board Time Synchronization: How to Configure Ordinary, Boundary and Transparent Clocks

2026-11-02 Estimated reading: 13 min Duyuan Electronics R&D Team

Eight acquisition boards must align their sampling points on one time axis, within ±50 ns. NTP cannot do it, and a GPS receiver does not fit inside the cabinet. This article breaks down IEEE 1588 PTP into clock roles, timestamp placement, switch participation and error budget, and gives a complete configuration path from ordinary clock to transparent clock.

1. The difference between PTP and NTP is not the protocol, it is where the timestamp is taken

Many engineers treat PTP as “a more accurate NTP”. That is wrong. The real dividing line is not the message format but the point at which the timestamp is generated.

NTP timestamps are produced by the operating system at application or kernel level. Between the frame arriving at the NIC, the interrupt firing, the packet traversing the stack and the system clock being read, there is an unpredictable scheduling delay. Even on a very stable LAN, this software path introduces tens to hundreds of microseconds of jitter. Reaching 0.1–1 ms on a LAN is already a good result for NTP.

PTP places a timestamp unit inside the MAC or even the PHY, latching a hardware counter at the instant the first byte of the frame arrives or leaves. Software only reads that value; it no longer decides “what time it is”. This single move pushes jitter from microseconds down to nanoseconds.

Dimension NTP IEEE 1588 PTP
Timestamp generation point OS protocol stack MAC/PHY hardware
Typical LAN accuracy 0.1–1 ms 20–100 ns (hardware timestamp)
Dominant error source Interrupt and scheduling jitter Timestamp quantization, link asymmetry, oscillator drift
Message transport UDP 123 UDP 319/320 or EtherType 0x88F7
Switch cooperation required No Yes (transparent or boundary clock)
Typical use Log timestamps, certificate validation Multi-board synchronized acquisition, motion control, protection relaying

The conclusion is simple: any system that requires several boards to sample at the same instant cannot use NTP. It needs PTP with hardware timestamping.

2. Four clock roles: fix the topology before discussing accuracy

IEEE 1588 defines several clock roles; in practice four of them matter. Choosing the wrong role makes all later servo tuning pointless.

Role Terminates messages Compensates residence time Typical location Cost of cascading
Grandmaster (GM) Message source — Cabinet controller board, GPS/rubidium timing unit —
Ordinary Clock (OC) Yes, single PTP port — Acquisition board, actuator, slave device Single hop, error equals link error
Boundary Clock (BC) Yes, regenerates, multiple ports No, relies on re-convergence Switch, multi-port controller board 20–50 ns per stage, 100–250 ns over 5 stages
Transparent Clock (TC) No, measures residence time only Yes, written into correctionField Switch, forwarding node Single-stage compensation, residual ±5–15 ns

Boundary and transparent clocks solve the same problem: frames queue inside the device, and queueing time is unpredictable. The difference is the method. A boundary clock swallows the upstream time and generates a fresh one from its own slave clock before forwarding. A transparent clock never touches the time; it only records “how long I held this frame” in the message so the endpoint can subtract it.

The engineering choice is pragmatic:

  • One controller, several endpoints, one switch in between → use a transparent clock. One compensation, one subtraction at the endpoint, shortest chain.
  • Need to cross subnets or protocol domains, or isolate PTP domains → use a boundary clock, with independent convergence per segment.
  • Switch does not support PTP → replace the switch, or accept 100 ns–10 µs of queueing jitter. No servo tuning will rescue that.

3. The full Sync sequence and where the error comes from

In end-to-end (E2E) mode, master and slave establish the time relationship through four message types.

Message Direction Purpose Key field
Sync Master → slave Announces the master’s current time t1 originTimestamp, or used with Follow_Up
Follow_Up Master → slave Carries the precise t1 (two-step timestamping) preciseOriginTimestamp
Delay_Req Slave → master Slave initiates the round-trip measurement Slave records send time t3
Delay_Resp Master → slave Returns the master’s receive time t4 receiveTimestamp
Pdelay_Req / Pdelay_Resp Adjacent ports Single-hop delay in peer-to-peer mode With Pdelay_Resp_Follow_Up

Once the slave has t1, t2 (local arrival of Sync), t3 and t4, two equations yield both the offset and the path delay:

“`

offset = ((t2 – t1) – (t4 – t3)) / 2

delay = ((t2 – t1) + (t4 – t3)) / 2

“`

Both equations assume the uplink and downlink paths are symmetrical. Any asymmetry enters the offset at half its magnitude — which is why PTP engineers stress link symmetry instead of endlessly tuning servo gains.

A transparent clock does not take part in this arithmetic. It does one thing as the frame passes: accumulate the local residence time into the 64-bit `correctionField`. The unit of that field is 2⁻¹⁶ ns, so the low 16 bits are sub-nanosecond fractions and the upper 48 bits are integer nanoseconds. The endpoint subtracts correctionField from the round-trip time, and the queueing jitter disappears.

4. Timestamp point: how 8 ns quantization becomes tens of nanoseconds

A hardware timestamp is not infinitely precise; it comes from a counter running at a fixed frequency. The 125 MHz transceiver reference clock common on these boards gives 8 ns granularity; a 200 MHz system clock gives 5 ns.

The quantization error of a single timestamp is uniformly distributed within ±½ LSB, with a standard deviation of LSB/√12. At 8 ns granularity that is about 2.3 ns per sample. The offset subtracts two round-trip measurements and divides by two; the two quantization errors are independent, so the combined contribution is about 1.6 ns. That magnitude is not the bottleneck. What actually decides the outcome are the items below.

Timestamp location Typical accuracy Main cost Suitable for
Application-layer software 50–500 µs Zero hardware cost Logs, non-real-time services
Kernel/driver 10–100 µs Requires driver support General server time sync
MAC hardware 20–100 ns MAC must support PTP Industrial control, acquisition sync
PHY hardware 5–30 ns PHY needs a built-in timestamp unit Nanosecond multi-board sync

PHY timestamping is more accurate than MAC timestamping because it also folds the MAC-to-PHY interface delay into the same compensation. That delay is typically a few to a dozen nanoseconds — fixed, but hard to measure precisely, and the most overlooked error term in MAC-based designs.

5. Transparent versus boundary clock: does the switch have to participate?

This is the point that causes the most argument in multi-board projects. The answer is yes — and it must be decided before the switch is purchased.

An ordinary commercial switch treats PTP frames like any other traffic. A 1500-byte frame alone takes 12 µs to serialize on a gigabit port; add queueing and the jitter easily reaches microseconds. Worse, uplink and downlink queueing are not symmetric, and that error cannot be averaged away.

Topology Per-hop error Total for 8 boards Cost Suitable for
Direct board-to-board (no switch) ±10 ns ±10 ns Lowest ≤4 boards, point-to-point
Ordinary commercial switch 100 ns–10 µs Uncontrolled Low Not recommended for sync
Cascaded boundary-clock switches ±20–50 ns per stage ±60–150 ns (3 stages) Medium-high Cross-domain, multi-subnet
Transparent-clock switch ±5–15 ns ±15–25 ns Medium First choice for single-domain multi-board sync

Transparent clocks come in two modes that must not be confused:

  • E2E TC: compensates only its own residence time; path delay is still measured by the endpoints with Delay_Req/Delay_Resp. Suits star topologies.
  • P2P TC: each port actively measures single-hop delay to its neighbour using the Pdelay mechanism and accumulates hop by hop. Suits chain and ring topologies, and handles path changes naturally.

If the system has a ring or link failover, P2P is more robust. If it is a star aggregation, E2E is simpler to implement and lighter on the switch.

6. Clock source and servo: holdover capability is set by the oscillator

The servo loop can pull the long-term average offset back to zero, but it cannot recover the time the local clock lost between two Sync messages. That interval is governed entirely by the frequency stability of the local oscillator.

With a 125 ms Sync interval, the drift-induced error is roughly “frequency deviation × interval”: an ordinary 0.5 ppm TCXO drifts 62.5 ns per interval, while a 0.05 ppm OCXO drifts only 6.25 ns. This means that with an ordinary crystal, lengthening the Sync interval is counterproductive.

Clock source Frequency stability Drift over 125 ms Drift over 1 s Typical holdover (24 h)
Ordinary active crystal ±20 ppm 2.5 µs 20 µs Unusable
Standard TCXO ±0.5 ppm 62.5 ns 500 ns Tens of milliseconds
High-stability TCXO ±0.1 ppm 12.5 ns 100 ns Several milliseconds
OCXO ±0.01–0.05 ppm 1.25–6.25 ns 10–50 ns Tens of microseconds

For servo parameters, a reasonable engineering starting point is:

  • Proportional gain at 1/8 to 1/4 of the Sync interval, to avoid oscillation first.
  • Integral time constant at 10–100 Sync periods, to absorb long-term oscillator drift and slow temperature changes.
  • In harsh temperature environments (a -40~85℃ cabinet), either put the oscillator in an oven or shorten the integral time constant and accept larger short-term jitter.

One frequently overlooked point: the PTP servo depends on the grandmaster itself being stable. If the GM is GPS-disciplined but the antenna signal drops in and out, the servo will jump with it. Put a local holdover oscillator on the GM, and freeze the servo on loss of lock instead of letting it chase noise.

7. Error budget example: how ±18 ns is derived for an 8-board system

Scenario: eight DUK7410T acquisition boards plus one controller board, aggregated through a gigabit switch with transparent clock support, 1 GbE copper, 125 ms Sync interval, 0.1 ppm high-stability TCXO locally, 200 MHz timestamp clock.

Error term Source Contribution (±ns) Mitigation
Timestamp quantization 5 ns at 200 MHz 3.0 Cannot be removed; raise the timestamp clock
PHY TX/RX asymmetry Intrinsic to the device 1.5 Select PHYs from the same lot, calibrate per direction
Cable and connector ~5 ns one-way on 1 m twisted pair 2.0 Cable delay compensation at the switch
Transparent clock residual Residence-time measurement accuracy 5.0 Use a hardware-TC switch
Servo tracking residual 0.5 Hz PI loop bandwidth 10.0 Raise the Sync rate or retune the integral term
Oscillator drift 0.1 ppm × 125 ms 12.5 An OCXO cuts this to 1.25
Temperature frequency change Wide-temperature environment 5.0 Oven or temperature compensation
Supply and clock jitter Board-level noise 2.0 Dedicated LDO for the timestamp clock

The terms are independent, so combine them as a root sum of squares:

“`

total = √(3.0² + 1.5² + 2.0² + 5.0² + 10.0² + 12.5² + 5.0² + 2.0²)

= √(9 + 2.25 + 4 + 25 + 100 + 156.25 + 25 + 4)

= √314.5 ≈ 17.7 ns

“`

Measured on this configuration, the peak-to-peak deviation across the eight boards is about 38 ns, which matches the ±18 ns budget (roughly ±36 ns peak-to-peak). Replace the switch with an ordinary commercial model and queueing jitter alone pushes the total beyond ±120 ns, with a peak-to-peak above 300 ns — failing the ±50 ns system requirement outright.

Note that the 12.5 ns term accounts for nearly half of the budget energy. Swapping the TCXO for a 0.02 ppm OCXO reduces it to 2.5 ns and brings the total to about ±12 ns; but OCXO start-up time and cost must be counted too, and not every project can justify it.

8. Checklist and board recommendations

Condensing the sections above into an actionable checklist:

  • Fix the target before choosing topology: ±50 ns or ±500 ns decides TC versus ordinary switch immediately.
  • Timestamp below the MAC: software timestamping is meaningless for multi-board sync; confirm PHY/MAC hardware timestamp support first.
  • Put PTP on the switch purchase order: replacing a switch later costs far more than choosing correctly up front.
  • Feed the timestamp clock from a dedicated low-jitter source: separate its supply path from the system clock to avoid coupling digital switching noise.
  • Tune servo parameters for the temperature profile: a wide-temperature cabinet needs a shorter integral constant than a climate-controlled room.
  • Run a four-hour continuous test before sign-off: watch the peak-to-peak offset and slow drift trend, not a single reading.

Board recommendations, split by budget and accuracy tier:

  • High-accuracy multi-board sync: DUK7410T (JFM7K410T, 406K LC / 1,540 DSP / 28.6 Mb BRAM, 16 GTX pairs, PCIe Gen2 x8, 2×SFP+ and gigabit Ethernet). It has enough headroom for a PTP slave clock plus 8-channel acquisition and preprocessing, making it the main board for multi-board synchronized acquisition.
  • Mid-scale synchronized acquisition: DUK7325T (JFM7K325T, 326K LC / 840 DSP / 16 Mb BRAM, same 16 GTX pairs and gigabit Ethernet, industrial -40~85℃). Better value when channel count and algorithm load are moderate.
  • Domestic core platform: PBC7K325G (China CWQ2P325T, 326K LC, 16 GTX lanes at 12.5 Gb/s, 2GB DDR3, 60×80mm SoM). Suitable for building the PTP slave clock into a custom carrier board for fully domestic systems.

Further reading:

FPGAIEEE1588Industrial EthernetPTPTime Synchronization
Duyuan Electronics · Original technical article
‹ Previous Post

MPSoC vs Pure FPGA vs MCU+ARM: How to Choose Among Three Heterogeneous Routes

Didn't the article solve your problem?

Contact us with your specific needs for one-on-one technical support.

Contact · +86 18621324348