Embodiments of this disclosure relate generally to time and frequency alignment systems including those operating over packet-switched communications networks and, more specifically, to methods and apparatus for enabling multiple timing domains.
Packet-based timing methods are becoming essential for delivering timing over packet-switched networks, often referred to as the cloud. In particular, Precision Timing Protocol (PTP) (aka IEEE 1588-2008) is becoming a defacto standard for delivering timing information (time/phase/frequency) from a Grand Master (GM) clock to slave clocks in end application-specific equipment; for example, where wireless base stations providing mobile telephony services require precise timing and the backhaul method of choice is Ethernet.
The Grand Master clock provides timing information over the packet-switched network to the slave clocks by exchanging packets with embedded time-stamps related to the time-of-arrival and time-of-departure of the timing packets. The slave clock utilizes this information to align its time (and frequency) with the Grand master. The Grand Master is provided an external reference to serve as the basis for time and frequency. Most commonly this reference is derived from a Global Navigation Satellite System (GNSS) such as the GPS System that in turn is controlled by the US Department of Defense and its timing controlled very precisely and linked to the US Naval Observatory. Time alignment to the GPS clock is, for all practical purposes equivalent to time alignment to UTC.
The Grand Master clock is equipped with a high stability oscillator, typically an ovenized quartz oscillator (OCXO) or a Rubidium atomic standard. The intent is to allow the clock to go into holdover mode and bridge intervals of time when the GPS system is unavailable. That is, if the GPS becomes unavailable, the GM can utilize the local oscillator to “keep time”. The ability to maintain a specified accuracy is directly linked to the quality of the local oscillator.
When a GM loses its reference and goes into holdover mode the system of PTP (Precision Timing Protocol) slave clocks that are synchronizing themselves with the said GM may choose to establish an alternate GM to which they will switch to. However, this involves a significant time delay and in the duration the slave clocks could drift to the extent that the application, such as the mobile telephony system, may experience unacceptable outage.
Slave clocks can maintain communication with multiple grandmasters, typically two. Each grandmaster represents a PTP (Precision Timing Protocol) domain. In the event that one GM fails, or goes into holdover, the slave clock can switch to the other GM as its master. It is advantageous for the slave clock to maintain a dual time-base, one for each GM in order that the switchover, if necessary, can be done rapidly with minimal transient impact. In the past, this is accomplished using two or more distinct slave clocks.
In some cases other timing references are available, such as references from GPS receivers and/or frequency references derived from physical layer signals such as Synchronous Ethernet or SONET/SDH transmission links or timing inputs from the Office Building Integrated Timing Supply (BITS) that is traceable to a primary reference source (PRS). In such instances, it is advantageous to maintain multiple time-bases, one for each distinct timing reference but such functionality in the past is implemented using distinct phase-locked-loops.
It is an emerging requirement for equipment, such as routers and switches that are timing-aware, to maintain multiple instances of slave clock stacks. For example, a device may function as a PTP (Precision Timing Protocol) boundary clock and be required to support different timing domains (owing to different inputs or requirements to support multiple carrier networks). An embodiment of such a function is advantageously implemented by having a local clock that can support multiple time-bases. A common clock is used and the different time-scales implemented using distinct instantiations of software clocks with the accompanying impairments.
This disclosure provides techniques for maintaining multiple time-bases associated with multiple reference signals. In one embodiment described, a high-performance oscillator is disciplined using a physical layer reference for purposes of stability. Multiple time-base outputs are generated using this underlying, stable, disciplined oscillator as a foundation element with each time-base output offset by a programmable frequency offset from the foundation.
For example, one important reference input is from GPS receivers and comprises a 1PPS (one-pulse-per-second) signal and, optionally, a time-of-day message that, for purposes of this description, identifies the time-offset from on-time of the 1PPS signal. That is, the message describes the 1PPS signal as being x ns ahead or behind the true one-second boundary. The managed timing engine provides a smoothed version of the 1PPS signal, removing jitter in the input, and adds the appropriate time shift of said x ns so that the smoothed output is on-time with the true one-second boundary.
The master clock 100 provides a timing reference to down-stream slave clocks. The down-stream slave clocks are not shown in
The manner in which the slave clocks align themselves with the master is explained using
Referring to
Such a two-way exchange of packets can provide information suitable for allowing the slave to align in time with the master (assuming that both sides have knowledge of the time stamps). If the exchange of information is only one-way, from master to slave (referred to as the forward direction), the slave can still align its clock (frequency) with the master (syntonization) since the packet contains the time-of-departure from the master (t1) and the slave measures the time-of-arrival (τ2). One-way methods, where the time-stamped packets flow from slave to master can be employed provided the mechanism is available for the slave to obtain the results of the master measuring time-of-arrival at the master (t4).
There are four measured values that can be communicated between the master and slave, namely, (t1, τ2, τ3, t4). Note that such a two-way exchange involves one packet (message) in each direction; they do not necessarily have to be consecutive as long as the time-stamp information is communicated appropriately. In some instances the rate at which packets are transmitted in the two directions can be different. Denoting by ΔMS and ΔSM the transit delays between the master and slave and vice versa, the following equations can be established:
t4=τ3+ε+ΔSM (from an S-to-M packet)
t1=τ2+ε−ΔMS (from a M-to-S packet) (Eq. 1)
In an actual time-transfer situation there are two equations with three unknowns so it is common to assume reciprocity of transit delay between the two devices, thereby reducing the number of unknowns to 2 and therefore computing ε, the slave time offset from master from (Eq. 2).
Because of the fundamental statistical behavior of packet networks, the transit delays are not fixed and can vary from packet to packet. To counter this packet delay variation, as well as to account for any drift in the slave clock oscillator, the estimates of clock offset are made routinely and it is well known that the mitigation of the deleterious effects of packet delay variation and oscillator drift is improved by using more frequent exchanges of timing packets. Ordinary slaves 120 develop their estimate of time offset from master based on (Eq. 2).
A typical slave clock can be depicted as shown in
Conventional time-stamping units are based on the local clock. Software techniques are applied to translate the numerical value of the time-stamp generated by time-stamping unit to account for any frequency offset (frequency inaccuracy) of the local clock. Specifically, if the value provided by the hardware time-stamping unit is x, the true time-stamp value y is computed as
y=υ·x+μ (Eq. 3)
where v is the fractional frequency offset of the local clock and μ is a phase offset representing the notion that the time-stamping counter may not have a count of “zero” at the epoch of the time-base being considered. Heretofore, it was necessary for the software of the packet-based clock to continually estimate the correction terms v and μ and apply them to every time-stamp value provided by the hardware time-stamper. In many cases the packet-based clock algorithm relies on the difference of time-stamps and in that situation it is not really necessary to factor in the phase offset correction into the time-stamp values unless there has been a revision of the phase offset value and, further, this phase offset value correction is required only if the two time-stamps involved in the subtraction operation require different phase offsets.
In one embodiment of the managed timing engine 425 as applied to a Grandmaster clock 400, the managed timing engine is provided multiple timing references.
The Managed Timing Engine (MTE) can be used to re-time 1PPS signals. As shown in
The offset introduced can be achieved using the scheme depicted in
Embodiments of the MTE include circuitry that implement a programmable divide function. Conventional divider circuits implement a fixed division ratio. A programmable division ratio is depicted in
thereby achieving the programmable division operation. Note that in terms of clock rate, the operation can be viewed as a programmable multiplier albeit a multiplication ratio less than unity.
The accumulator will routinely overflow and the signal identifying the overflow event, OVFL 807, has the same period as the output clock.
Conventional approaches to this programmable divider set the carry-in of the adder, CIN 805, as zero. Enhancements can be achieved by making this carry-in input CIN 805 a pulse-modulated signal, generated by a delta-sigma-modulator, representing a fraction, say “x”. In that case the programmable divide operation achieves the following ratio:
The multiplication ratio can be adjusted by a granularity of 2−B and consequently with B>30 the frequency adjustment can be made with a granularity finer than 1 ppb (1×10−9).
An enhanced version of the programmable divider is depicted in
and this provides much finer control of the division (multiplication) ratio than the conventional method.
The MTE employs phase-locked-loop (PLL) methods for generating a clock signal with rate N times the input clock rate. A PLL 1000 is depicted in
For non-integer values for “N”, the scaler 1032 can be substituted by a programmable divide circuit such as that shown in
The cascaded PLL structure depicted in
One embodiment suitable for application in a PTP clock (Grandmaster or Slave or Boundary clock) such as MTE 425 or MTE 525 is depicted in
Suppose that the chosen reference for the physical layer clock was REF-1 1221. This serves as the reference for generating the “master clock” CLKM 1250. The relative frequency offset between the chosen reference and any other reference, for example REF-2 1222, can be evaluated using the embodiment of DPLL shown in
Different configurations are possible for a Managed Timing Engine, representing suitability for different applications. These include:
A. Simple clock generator. In this configuration there is one frequency reference that is used to discipline a low-phase-noise oscillator (typically 10 MHz) for a single frequency output. This reference may come from a physical-layer clock-recovery unit such as that in a Synchronous Ethernet application. In other situations this reference may be derived from a radio frequency carrier such as that present in a FM radio transmission.
B. Multiple clock generator. In this configuration there could be multiple references of which one is selected to discipline a high-stability oscillator. Multiple outputs may be provided, including outputs that have a frequency offset from the high-stability oscillator.
C. Programmable delay for 1PPS. This configuration includes either a simple or multiple clock generator as well as a delay mechanism as depicted in
D. In some embodiments the PTP clock function could be included in the MTE. For example, the entire Grandmaster clock 400 (
E. In some embodiments a GNSS/GPS receiver could be included so an internal source of 1PPS is available in the MTE.
Embodiments of the disclosure can include a programmable divider. Details of the programmable divider are illustrated in
Embodiments of the disclosure can provide the basis for supporting multiple timing domains. For example, the references could be from different sources (GPS and a separate PTP-based reference) and require a small relative frequency offset. The overall block diagram is
Embodiments of the disclosure can provide the basis for providing multiple rates that are different by a small frequency offset. This provides one approach to mitigate EMI (electromagnetic interference). This can be achieved by adding a small frequency offset (see
Embodiments of the disclosure can include techniques for providing a programmable delay (for example for a 1PPS). Details of the programmable delay are illustrated in
Embodiments of the disclosure can include techniques for precisely measuring frequency offset (small frequency offset). Embodiment of the disclosure can include integrating functions (see paragraphs 52-53).
The described embodiments and examples are illustrative only and not intended to be limiting. Although embodiments of the present disclosure can be implemented separately, embodiments of the present disclosure may be integrated into the system(s) with which they are associated. All the embodiments of the present disclosure disclosed herein can be made and used without undue experimentation in light of the disclosure. Embodiments of the present disclosure are not limited by theoretical statements (if any) recited herein. The individual steps of embodiments of the present disclosure need not be performed in the disclosed manner, or combined in the disclosed sequences, but may be performed in any and all manner and/or combined in any and all sequences. The individual components of embodiments of the present disclosure need not be combined in the disclosed configurations, but could be combined in any and all configurations.
Various substitutions, modifications, additions and/or rearrangements of the features of embodiments of the present disclosure may be made without deviating from the scope of the underlying inventive concept. All the disclosed elements and features of each disclosed embodiment can be combined with, or substituted for, the disclosed elements and features of every other disclosed embodiment except where such elements or features are mutually exclusive. The scope of the underlying inventive concept as defined by the appended claims and their equivalents cover all such substitutions, modifications, additions and/or rearrangements.
The appended claims are not to be interpreted as including means-plus-function limitations, unless such a limitation is explicitly recited in a given claim using the phrase(s) “means for” or “mechanism for” or “step for”. Sub-generic embodiments of this disclosure are delineated by the appended independent claims and their equivalents. Specific embodiments of this disclosure are differentiated by the appended dependent claims and their equivalents.
Referring to the application data sheet filed herewith, this application claims a benefit of priority under 35 U.S.C. 119(e) from co-pending provisional patent application U.S. Ser. No. 61/803,666, filed Mar. 20, 2013, the entire contents of which are hereby expressly incorporated herein by reference for all purposes.
Number | Name | Date | Kind |
---|---|---|---|
5982831 | Chu | Nov 1999 | A |
20090167384 | Sohn | Jul 2009 | A1 |
20110134766 | Zampetti | Jun 2011 | A1 |
20120005517 | Foster | Jan 2012 | A1 |
20120020417 | Wei | Jan 2012 | A1 |
20120275317 | Geva | Nov 2012 | A1 |
Number | Date | Country | |
---|---|---|---|
20140286357 A1 | Sep 2014 | US |
Number | Date | Country | |
---|---|---|---|
61803666 | Mar 2013 | US |