Differences between protocols
Here we'll briefly run through some of the common protocols you're likely to run into when dealing with timing networks. We cover IRIG-B, PTP, NTP, SyncE, PRP and HSR.
The Inter-Range Instrument Group time code (or IRIG for short), is a range of standard time code formats used to transfer timing information (time, date, quality, etc) from a GPS/Atomic clock to connected slave devices. IRIG-B is the most common version and is often used within the power, industrial automation, and control industries.
IRIG Typically has 4 identifiers to indicate which pulses need to be transmitted and received. Formats A thru H indicate how many pulses need to be transmitted in a specific time frame. IRIG-B is 100 pulses per second or 100 bits of data per second. The next identifier is the modulation type. This determines the waveform used to transmit the data - 0 or DCLS is the most common. The carrier frequency is the next identifier and determines the frequency of the wave; this only applies if the modulation type is not DCLS. The last identifier is the coded expression, which determines what data is to be transmitted over the wave.
Some of the more common IRIG formats include:
- IRIG-B004 – DCLS IRIG-B signal with no carrier
- IRIG-B124 – AM signal with a 1kHz carrier sine wave
- IRIG-B224 - modified Manchester modulation type with 1kHz wave carrier
Precision Time Protocol (IEEE 1588v2)
Precision Time Protocol is an Ethernet time code that syncs time and date between a master clock and a slave clock. It works by a master clock sending a sync packet to the network as a unicast or a multicast message. The packet is time-stamped as it exits the clock. This sync packet contains the accurate TAI time of day as well as the ‘exact’ (< 100 ns) time the packet left the port, TS1. The slave device receives the packet and applies a time stamp, TS2, before processing the packet and sending it back to the master device, time stamping the packet as it leaves: TS3. This is known as the Delay request packet. The master then receives the Delay request packet and timestamps it on receipt before sending it back as a Delay response message, with the TS4 time stamp now included. The slave device now knows the timestamps TS1 to TS4. Using this data, it can calculate the complete internal processing time as well as the network latency between the master and the slave device
Network Time Protocol (RFC 5905)
The Network Time Protocol (NTP) is the oldest form of Ethernet time synchronization. A timing message is sent, and delays are calculated and compensated for. There can be multiple levels of clients, referred to as strata. This strata level determines how many points of separation the clock is from the main source. There is also an accuracy difference between PTP and NTP due to different call and response procedures. The two protocols also use different hardware to process the time message; PTP can use both the Ethernet layer (Eth, Layer 2) and User Datagram Protocol (UDP, Layer3), while NTP can only use UDP.
Synchronous Ethernet (SyncE) (ITU G.8262)
Synchronous Ethernet uses the physical layer frequency of an Ethernet line to sync multiple IEDs for frequency. This does not include a timestamp, so another protocol will be used alongside SyncE if a timestamp is required. The SyncE signal is sent through compatible Ethernet hardware from a primary reference clock (PRC). It is passed from device to device via compatible Ethernet ports, which frequency lock the outgoing port to the incoming signal via hardware. This sync travels in one direction. This is the same methodology as other technologies such as SONET/SDH and T1/E1 where the reference chain will continue until it returns back to the reference clock to sync (when in a ring topology). As it is much like these other protocols, SyncE also shares the same good reliability. However, the time signal degrades over distance, so there are pieces of equipment known as synchronization supply units (SSUs) that act as signal boosters. Industry experts suggest having one SSU for every 20 EECs/IEDs.
(not currently supported)
Parallel Redundancy Protocol (IEEE 62439-3)
Now we'll change tack and move from timing protocols to the redundancy protocols which can be used alongside them.
Parallel Redundancy Protocol (PRP) is a redundancy protocol for PTP that reduces the risk of packet corruption by verifying packet data against itself. It divides a network into two subnetworks, a primary and secondary network. Each packet is duplicated and sent through both subnetworks to a receiving device, which then compares the two. If either subnetwork goes down, the other can function without it. This has the advantage of a zero downtime in the event of a subnetwork failure. For more detail, see here
High- Availability Seamless Redundancy (IEEE 62439-3)
Much like PRP, High availability seamless redundancy (HSR) is used to increase redundancy in an Ethernet timing system such as PTP. Unlike PRP, HSR does not use two sub-networks to work but rather uses one network configured in a ring topology. The source of the packet will send the duplicate packets in both directions around the network. A fault anywhere in the ring isn't a problem as the packets are travelling the other direction as well, meaning they'll still arrive at their destination.
(not currently supported)