Managed timing engine
10142044 ยท 2018-11-27
Assignee
Inventors
Cpc classification
H04J3/0667
ELECTRICITY
International classification
Abstract
A Managed Timing Engine (MTE) provides a primary timing output synchronized to a selected input reference from a multiplicity of input references. Additional timing outputs can be generated such that there is a programmable frequency offset (in ppb) between them and the main output. The rate (in Hz) of the outputs can be programmable. The MTE can introduce a programmable delay for periodic phase references.
Claims
1. A method, comprising operating a managed timing engine that provides a physical-layer timing output aligned to a physical-layer input timing reference using a phase locked loop, the physical-layer input timing reference selected from a multiplicity of physical-layer input timing references, and a packet-based clock providing timing outputs synchronized to a packet-layer input timing reference, wherein the managed timing engine has programmable multipier ratios for each of the physical-layer references, wherein a time-stamping clock in the packet-based clock is derived from a physical-layer clock, wherein the packet-based clock timing outputs include a 1-PPS signal with a programmable delay offset and wherein at least one of the multiplicity of physical-layer input timing references that are not selected is measured against the physical-layer input timing reference that is selected using a digital phase lock loop where divider and multiplier factors are chosen to generate two nominal comparison frequency versions that are compared using a clock phase comparator and a phase differences signal is filtered to generate a correction term for a programmable multiplier.
2. The method of claim 1, wherein the packet-based clock timing outputs include a frequency output, and further comprising controlling the time-stamping clock by steering the physical-layer clock with frequency corrections derived from the packet-based clock.
3. The method of claim 1, further comprising supporting multiple timing domains by providing another timing output synchronized to another input reference selected from the multiplicity of physical-layer input timing references.
4. The method of claim 1, further comprising providing multiple rates that are different by a small frequency offset.
5. The method of claim 1, further comprising providing a programmable delay.
6. The method of claim 1, further comprising measuring frequency offset.
7. The method of claim 1, further comprising using another time-stamping clock derived from the physical-layer clock without steering and with frequency corrections derived from the packet-based clock applied as a mathematical correction to time-stamps developed in a time-stamper.
8. The method of claim 1 wherein the packet-based clock timing outputs include a 1 pulse-per-second (1 PPS) output with a Time-of-Day (TOD) message indicating a time at a 1 PPS event.
9. An apparatus, comprising a managed timing engine that includes a primary timing output aligned to a selected input timing reference using a phase locked loop, the selected input timing reference selected from a multiplicity of input timing references and a packet-based clock providing timing outputs synchronized to a packet-layer input timing reference, wherein the managed timing engine includes a divider circuit having a programmable multiplier ratio, wherein a time-stamping clock in the packet-based clock is derived from a physical-layer clock wherein the packet-based clock timing outputs include a 1-PPS signal with a programmable delay offset and wherein at least one of the multiplicity of physical-layer input timing references that are not selected is measured against the physical-layer input timing reference that is selected using a digital phase lock loop where divider and multiplier factors are chosen to generate two nominal comparison frequency versions that are compared using a clock phase comparator and a phase differences signal is filtered to generate a correction term for a programmable multiplier.
10. A method, comprising operating a managed timing engine that provides a physical-layer timing output aligned to a physical-layer input timing reference using a phase locked loop, the physical-layer input timing reference selected from a multiplicity of physical-layer input timing references and a packet-based clock providing timing outputs synchronized to a time input reference, wherein the managed timing engine has programmable multiplier ratios for each of the physical-layer references, wherein the time-stamping clock in the packet-based clock is derived from a physical-layer clock wherein the packet-based clock timing outputs include a 1-PPS signal with a programmable delay offset and wherein at least one of the multiplicity of physical-layer input timing references that are not selected is measured against the physical-layer input timing reference that is selected using a digital phase lock loop where divider and multiplier factors are chosen to generate two nominal comparison frequency versions that are compared using a clock phase comparator and a phase differences signal is filtered to generate a correction term for a programmable multiplier.
11. The method of claim 10, including controlling the time-stamping clock by steering the physical-layer clock with frequency corrections derived from the packet-based clock.
12. The method of claim 10, further comprising using another time-stamping clock derived from the physical-layer clock without steering and with frequency corrections derived from the packet-based clock applied as a mathematical correction to time-stamps developed in a time-stamper.
13. The method of claim 10 wherein the packet-based clock timing outputs include a 1 pulse-per-second (1 PPS) output with a Time-of-Day (TOD) message indicating a time at a 1 PPS event.
14. The method of claim 10 wherein the packet-based clock timing outputs include packet timing signals including PTP and/or NTP.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
DETAILED DESCRIPTION
(14)
(15) The master clock 100 provides a timing reference to down-stream slave clocks. The down-stream slave clocks are not shown in
(16) The manner in which the slave clocks align themselves with the master is explained using
(17) Referring to
(18) 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 (t.sub.1) and the slave measures the time-of-arrival (.sub.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 (t.sub.4).
(19) There are four measured values that can be communicated between the master and slave, namely, (t.sub.1, .sub.2, .sub.3, t.sub.4). 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 .sub.MS and .sub.SM the transit delays between the master and slave and vice versa, the following equations can be established:
t.sub.4=.sub.3++.sub.SM (from an S-to-M packet)
t.sub.1=.sup.2+.sub.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).
(20)
(21) 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).
(22) A typical slave clock can be depicted as shown in
(23) 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=.Math.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.
(24) 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.
(25)
(26) The Managed Timing Engine (MTE) can be used to re-time 1PPS signals. As shown in
(27) The offset introduced can be achieved using the scheme depicted in
(28) 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
(29)
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.
(30) The accumulator will routinely overflow and the signal identifying the overflow event, OVFL 807, has the same period as the output clock.
(31) Conventional approaches to this programmable divider set the carry-in of the adder, C.sub.IN 805, as zero. Enhancements can be achieved by making this carry-in input C.sub.IN 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:
(32)
(33) The multiplication ratio can be adjusted by a granularity of 2.sup.B and consequently with B>30 the frequency adjustment can be made with a granularity finer than 1 ppb (110.sup.9).
(34) An enhanced version of the programmable divider is depicted in
(35)
and this provides much finer control of the division (multiplication) ratio than the conventional method.
(36) 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
(37) For non-integer values for N, the scaler 1032 can be substituted by a programmable divide circuit such as that shown in
(38) The cascaded PLL structure depicted in
(39) 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
(40) Suppose that the chosen reference for the physical layer clock was REF-1 1221. This serves as the reference for generating the master clock CLK.sub.M 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
(41) Different configurations are possible for a Managed Timing Engine, representing suitability for different applications. These include:
(42) 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.
(43) 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.
(44) C. Programmable delay for 1PPS. This configuration includes either a simple or multiple clock generator as well as a delay mechanism as depicted in
(45) D. In some embodiments the PTP clock function could be included in the MTE. For example, the entire Grandmaster clock 400 (
(46) E. In some embodiments a GNSS/GPS receiver could be included so an internal source of 1PPS is available in the MTE.
(47) Embodiments of the disclosure can include a programmable divider. Details of the programmable divider are illustrated in
(48) 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
(49) 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
(50) 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
(51) 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).
(52) 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.
(53) 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.
(54) 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.