(Continuing from the previous post: "Clock Synchronization in Telecommunication Networks"...)
Like layers in a network, time synchronization consists of two basic layers:
- Phase synchronization; and
- Frequency Synchronization
(Read more about Synchronous / Asynchronous / Isochronous / Plesiochronous)
It is extremely easy to grasp this concept by considering the day-to-day questions:
- Why do you always make me wait?
It means the other person’s watch is behind (or your watch is ahead) of agreed-upon time. A 4 ‘o clock in other person’s watch might translate to 4:10 pm in yours. This is a phase error and requires phase synchronization.
- Is my watch/clock faster?
Faster is not only ahead. You may set it to behind a standard clock, but, eventually it would run ahead of it. This is a frequency error and it points to the paradoxical question, “Is my one second shorter than your one second?” Paradoxical, because the label 1-second is exactly 1 second, the rest manifests as error in the device.
Starting to apply these concepts in electronics, networking equipment and computer systems, we come to the point of addressing the first question, “Why can’t oscillators run at 125 MHz when they are designed to run at 125 MHz”? This is more of a physical and practical limitation to achieve the desired accuracy (accuracy, as we defined before, is an expectation, explicit or implicit). Theoretically it is easier to say 125 MHz, but practically what is being asked for is 125.000000000 MHz oscillator. The more zeros (or digits after the decimal place) it has, the more preciseness is being asked for. Routers and computers cannot be equipped with cesium clocks, as a cesium clock is a whole laboratory setup in itself and not just a small crystal.
Figure: Cesium Clock
(Source: National Institute of Standards and Technology)
Later we will see what is clock jitter and wander that define the quality of a clock. Higher quality comes at a premium price while equipment manufacturers are at a constraint to reduce the BOM (Bill of Material). Thus, an oscillator would specify that it can run at 10 MHz +/- 1 Hz (that is, 10.000001 to 9.999999 MHz).
An error of 1 Hz in 10 MHz means that:
The uncertainty of the crystal is 1 in 10,000,000.
Which is, 1 part per 10 million = 0.1 ppm
or, 100 ppb (parts per billion)
“Parts-Per” notation is a very important dimension-less quantity that just denotes a proportion and is important because you can compare many different un-related objects and services. Like the above accuracy is analogous (in order of magnitude) to, the following:
A packaging plant, packages 10 million chocolates, and only 1 out of them turn out to be bad.
One thing to emphasize is that, this error (+/- 1 Hz) is not just two numbers one positive and one negative, but infinite variations between those two extremes, depending on the heat generated, crystal stability, aging etc. Thus we have a range of XOs (crystal oscillators) sporting different technologies like: TCXO (Temperature Compensated), OCXO (Oven Controlled), TCOCXO (Temperature Compensated Oven Controlled), OCVCXO (Oven Controlled Voltage Controlled) oscillators to choose from, for specific needs. [Not covering details of oscillators in this paper]
Distribution of Time
A better quality oscillator provides better stability and less wander, akin to saying that you would have to set the time less often than you would on a cheaper quality clock. However, if you have the opportunity to set the time more frequently, then you might as well use the cheaper clock itself.
This is, in simple words, the whole idea of distribution of time, which brings us to the second question, “Does it matter if you wear a Tissot/Rado or a Rolex, but forget to set the time in either”? So, we can now equip a router or a network node or a computer system with a cheaper oscillator, because we can run a synchronization protocol that would “measure” and “correct” the error of the local RTC and free-running clocks at every minute, second or sub-second interval.
A very-stable clock is required only when you want to set-it once and refer to it many times later and expect it to be correct every time. Functionally, it is possible to emulate this for a more economical watch if it corrects itself every minute without your intervention, probably through a GPS receiver or Network Time Protocol. What needs to be ensured then, is, that the clock is stable for just 1 minute, as we are anyways going to correct it after that period. With the data traffic growing exponentially, the per-bit transfer cost is plummeting giving us the means to have more control-traffic in-band, thus changing the economics to deploy synchronization protocols that would not only offset the cost of precise oscillators but also make systems more flexible.
Before entering a mission the army men would sync-up their wrist watches, similarly, the network nodes would sync-up automatically at defined and periodic intervals with each other based on some derived or defined hierarchy. Thus the person with the most accurate time, because (s)he is the proud owner of an expensive time keeping device, would dictate it to others, who would further propagate it down-the line to their peers. However, like information turns into gossip with each participating node further away, similarly, the quality of time information degrades as it traverses different nodes.
Let us consider this time propagation as broadcasting service on a radio program. Consider three separate channels in your radio:
- Channel-1: Frequency Broadcast
Free-running ticks at regular intervals.
- Channel 2: Phase Broadcast
A periodic pulse or heart-beat after a defined set of ticks.
- Channel 3: ToD (Time of Day) Broadcast
RTC (Real Time Clock) value at regular intervals.
Let us now map various available synchronization solutions to these channels:
- Common clock source: Depending on hardware design, all 3 channels are possible.
- GPS clock distribution: Usually channel 3. Thus, any system that is receiving the GPS signals would receive the same time-of-day periodically and can align and correct its own clock. There is a risk of wandering off on signal interruptions, depending on local oscillator quality.
- Analog phase-locked loop: Usually channel 1 or 2. The receiver is un-aware of the time-of-day on the source system, but due to the frequency adjustments, the participating nodes are syntonized (i.e. they remain in phase lock with each other). This is the level where the Sync-E (Synchronous Ethernet) operates.
- Adaptive clock recovery: Depending on the defined packet-rate and actual arrival rate, the receiver can adjust its own clock. This is analogous to channel-1.
- Time-stamp in packet: Each packet contains an RTC time-stamp, i.e. the time-of-day information. Since an RTC time-stamp contains both time and tick information, it is a super-set of all three channels. This is where 1588 operates.
And here is the ready-reference matrix for this:
|Sync - E||•||•|
...that's not all folks!
(c) AVChrono 2021, All Rights Reserved