US20180138915A1 - Fractional-n jitter attenuator - Google Patents
Fractional-n jitter attenuator Download PDFInfo
- Publication number
- US20180138915A1 US20180138915A1 US15/612,982 US201715612982A US2018138915A1 US 20180138915 A1 US20180138915 A1 US 20180138915A1 US 201715612982 A US201715612982 A US 201715612982A US 2018138915 A1 US2018138915 A1 US 2018138915A1
- Authority
- US
- United States
- Prior art keywords
- primary
- phase
- clock signal
- fractional
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/085—Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal
- H03L7/087—Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal using at least two phase detectors or a frequency and phase detector in the loop
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/14—Details of the phase-locked loop for assuring constant frequency when supply or correction voltages fail or are interrupted
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/0802—Details of the phase-locked loop the loop being adapted for reducing power consumption
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/085—Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/085—Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal
- H03L7/091—Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal the phase or frequency detector using a sampling device
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/085—Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal
- H03L7/093—Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal using special filtering or amplification characteristics in the loop
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/099—Details of the phase-locked loop concerning mainly the controlled oscillator of the loop
- H03L7/0991—Details of the phase-locked loop concerning mainly the controlled oscillator of the loop the oscillator being a digital oscillator, e.g. composed of a fixed oscillator followed by a variable frequency divider
- H03L7/0992—Details of the phase-locked loop concerning mainly the controlled oscillator of the loop the oscillator being a digital oscillator, e.g. composed of a fixed oscillator followed by a variable frequency divider comprising a counter or a frequency divider
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/16—Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop
- H03L7/18—Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop using a frequency divider or counter in the loop
- H03L7/181—Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop using a frequency divider or counter in the loop a numerical count result being used for locking the loop, the counter counting during fixed time intervals
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/16—Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop
- H03L7/18—Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop using a frequency divider or counter in the loop
- H03L7/197—Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop using a frequency divider or counter in the loop a time difference being used for locking the loop, the counter counting between numbers which are variable in time or the frequency divider dividing by a factor variable in time, e.g. for obtaining fractional frequency division
- H03L7/1974—Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop using a frequency divider or counter in the loop a time difference being used for locking the loop, the counter counting between numbers which are variable in time or the frequency divider dividing by a factor variable in time, e.g. for obtaining fractional frequency division for fractional frequency division
- H03L7/1976—Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop using a frequency divider or counter in the loop a time difference being used for locking the loop, the counter counting between numbers which are variable in time or the frequency divider dividing by a factor variable in time, e.g. for obtaining fractional frequency division for fractional frequency division using a phase accumulator for controlling the counter or frequency divider
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/16—Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop
- H03L7/22—Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop using more than one loop
- H03L7/23—Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop using more than one loop with pulse counters or frequency dividers
- H03L7/235—Nested phase locked loops
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L2207/00—Indexing scheme relating to automatic control of frequency or phase and to synchronisation
- H03L2207/50—All digital phase-locked loop
Definitions
- the present invention relates generally to electronic circuits used to generate clock signals and in particular to digital phase-locked loops (PLLs).
- PLLs digital phase-locked loops
- Phase-Locked Loops are circuits that produce an output clock signal whose phase is locked to the phase of an input reference clock signal.
- Phase in the context of a PLL, means a signal's frequency value integrated over time, i.e., the signal's accumulated number of clock pulses.
- the ratio of the frequency of the output clock signal and the frequency of the reference clock signal can be a positive integer number, in which case the PLL is called an integer-N PLL; or it can be a positive rational number, in which case the PLL is called a fractional-N PLL.
- Rational numbers are numbers that can be expressed as a ratio of two integers. In the context of this document, a fractional-N number is a positive rational number consisting of an integer part (obtained by rounding down to the nearest integer number) and a fractional part.
- a PLL includes a controlled oscillator that produces the output clock signal.
- An analog PLL usually has a voltage-controlled oscillator (VCO), and a digital PLL may have a digitally-controlled oscillator (DCO).
- VCO voltage-controlled oscillator
- DCO digitally-controlled oscillator
- a PLL locks the phase (and as a result, frequency) of the output clock signal to the reference clock signal by measuring the accumulated number of output clock cycles, and adjusting the controlled oscillator frequency when the measured number deviates from a required number, referred to as or obtained from a frequency control word (FCW).
- FCW frequency control word
- the ratio of output clock cycles to reference clock cycles, measured over some duration, is called the PLL's multiplication factor. When a PLL is in lock, its multiplication factor matches its FCW.
- Frequency-Locked Loops are circuits that produce an output clock signal whose frequency is locked to the frequency of an input reference clock signal.
- an FLL Compared to a PLL, an FLL lacks the integration or accumulation over time.
- a PLL's integration may occur anywhere in its loop, for example in feedback circuits, or in feedforward circuits such as a loop filter. Whereas a PLL in lock will lock both frequency and phase ratios in output and reference signals, an FLL may lock only the frequency ratio but not necessarily the phase ratio.
- the frequency resolution of the output clock signal equals the frequency of the reference clock signal, since the output clock frequency equals a positive integer number times the reference clock frequency. Increasing or decreasing the positive integer number by one will result in the output clock frequency increasing or decreasing by one times the reference frequency. A finer output frequency resolution can be achieved by using a lower reference clock frequency. However, in practical PLLs this may increase the jitter.
- a fractional-N PLL can have a much better output clock frequency resolution without the need for a low reference clock frequency, as the ratio between the output clock and reference clock frequencies can be a positive rational number.
- An example of a fractional-N PLL is described in U.S. Pat. No. 8,994,523, entitled Phase-Locked Loop Apparatus and Method by Jenkins. The circuits described there provide potentially very high accuracy and low jitter, but at the expense of some energy. However, there is also a need for fractional-N PLLs that consume very little power, even if they operate with more jitter.
- PLLs and FLLs While most PLLs and FLLs have a single feedback loop, and are capable of locking to a single reference clock signal, some PLLs have multiple parallel feedback loops, allowing to lock to one of multiple reference clock signals, not necessarily of the same frequency.
- the capability to switch between the different reference clock signals without facing a discontinuity in phase and therefore a possibly extended lock-in time is called hitless switching.
- An example hitless switching PLL is described in U.S. Pat. No. 9,007,105 by Jenkins.
- a jitter attenuator is a PLL with the capability to provide an output clock signal whose jitter is substantially lower than jitter in the reference clock signal.
- a jitter attenuator usually has nested feedback loops. For example, it may have one or more primary feedback loops and one secondary feedback loop.
- the secondary loop may be locked to a highly stable reference source, such as a crystal oscillator, whereas the primary loop(s) may be locked to one or more unstable or jittery reference sources.
- the jitter attenuator's average output clock frequency may be locked to the frequency of one of the jittery reference sources, whereas its jitter may be determined by the stable reference source.
- an embodiment of the invention includes a primary loop with a primary reference clock input, and a secondary loop with a stable reference clock signal input.
- the secondary loop includes a fractional-N PLL, which may include a controlled oscillator, a modulo-K counter coupled with the controlled oscillator, a secondary register, a secondary phase predictor, a secondary subtractor or adder, and a secondary loop filter.
- the secondary loop operates as a basic fractional-N PLL, generating an output clock signal whose phase is locked to the stable reference clock signal phase based on a secondary frequency control word (FCW).
- FCW secondary frequency control word
- the primary loop includes a primary register, clocked by the primary reference clock signal, sampling a modulo-K counter (its own, or one shared with the secondary loop) output to obtain a primary sampled phase as an integer number.
- a primary fractional phase predictor calculates a primary predicted phase as an integer number of clock cycles, based on the phase of the primary reference clock signal (i.e., the number of reference clock signal pulses received) and on a rational number primary FCW.
- a primary subtractor or adder calculates the primary difference between the primary sampled phase and the primary predicted phase.
- a primary loop filter takes the primary difference (an integer number) and filters it to generate the secondary FCW.
- the modulo-K counter, the primary fractional phase predictor, and the secondary phase predictor may each have a range that is much larger than a maximum number of output clock cycles during a reference clock signal cycle.
- the primary fractional phase predictor may include an interpolator for determining an integer number part of the primary predicted phase based on a fractional part of the primary FCW.
- the interpolator may provide a noise-shaping function, for example a sigma delta modulator or a multistage noise shaping (MASH) modulator.
- the primary loop filter bandwidth may be much smaller than the secondary loop filter bandwidth.
- the secondary loop may include a time-to-digital converter and may use rational numbers for the primary and/or secondary FCW, a secondary predicted phase, a secondary sampled phase, and a secondary phase difference. In other embodiments, some or all of these secondary loop numbers may be integer.
- the primary loop has a primary sleep signal input coupled with a gate that blocks the primary reference clock signal when a primary sleep mode control signal is asserted.
- Yet further embodiments may include an oscillator sleep control signal input, to stop operation of the controlled oscillator.
- Even further embodiments may have multiple primary loops, which may have monitor-and-adjust functions to provide for hitless switching.
- an embodiment provides a method for jitter attenuation, with the following steps: (a) in a primary PLL loop, based on a primary reference clock signal and a rational first FCW, calculating an integer primary predicted phase; based on the primary reference clock signal and a secondary PLL loop output clock signal, sampling a phase at a modulo-K counter output to obtain an integer primary sampled phase; calculating a primary difference by subtracting the primary sampled phase from the primary predicted phase; (b) forwarding the primary difference to a secondary loop; (c) loop filtering the primary difference in a primary loop filter to obtain a second FCW; (d) based on the second FCW and a secondary reference clock signal, calculating a secondary predicted phase; based on the secondary reference clock signal and the secondary PLL loop output clock signal, sampling a phase to obtain a secondary sampled phase; calculating a secondary difference by subtracting the secondary sampled phase from the secondary predicted phase; and (e) loop filtering the secondary difference in a
- an embodiment provides a programmable system for jitter attenuation
- an embodiment provides a tangible non-transitory memory with instructions to provide a jitter attenuation function.
- FIG. 1 illustrates a fractional-N PLL according to an embodiment of the invention
- FIGS. 2A-D illustrate example fractional phase predictors according to embodiments of the invention
- FIG. 3 illustrates a method for generating an output clock signal whose phase is locked to a reference clock signal phase by a rational number according to an embodiment of the invention
- FIG. 4 illustrates a programmable system capable of implementing PLL methods according to embodiments of the invention.
- FIG. 5 illustrates a fractional-N PLL with sleep modes according to embodiments of the invention
- FIGS. 6 illustrates a mode diagram according to an embodiment of the invention
- FIG. 7 illustrates a method to maintain phase lock and/or approximate frequency lock in a PLL over a sleep period according to an embodiment of the invention
- FIG. 8 illustrates a hitless switching multiple-loop PLL according to an embodiment of the invention
- FIG. 9 illustrates a hitless switching multiple-loop PLL with sleep modes according to an embodiment of the invention.
- FIG. 10 illustrates a method for hitless switching in a multiple-loop PLL according to an embodiment of the invention
- FIG. 11 illustrates a jitter attenuator according to an embodiment of the invention
- FIG. 12 illustrates additional details of a jitter attenuator according to some embodiments of the invention.
- FIG. 13 illustrates details of a jitter attenuator with multiple primary loops according to an embodiment of the invention
- FIG. 14 illustrates a method for jitter attenuation according to an embodiment of the invention
- FIG. 15 illustrates a programmable system capable of implementing jitter attenuation methods according to embodiments of the invention.
- FIG. 16 illustrates another programmable system capable of implementing jitter attenuation methods according to embodiments of the invention.
- Phase-Locked Loops are circuits that produce an output clock signal whose phase is locked to the phase of a reference clock input signal.
- Phase in the context of a PLL, means a signal's frequency value integrated over time, i.e., the signal's accumulated number of clock pulses.
- the ratio of the frequency of the output clock signal and the frequency of the reference clock signal can be a positive integer number, in which case the PLL is called an integer-N PLL; or it can be a positive rational number, in which case the PLL is called a fractional-N PLL.
- Rational numbers are numbers that can be expressed as a ratio of two integers. In the context of this document, a fractional-N number is a positive rational number consisting of an integer part (obtained by rounding down to the nearest integer number) and a fractional part.
- a digital PLL may measure the output clock phase, and compare the measured phase with a required or predicted phase.
- the required ratio is sometimes referred to as or obtained from a frequency control word (FCW).
- FCW frequency control word
- the ratio of oscillator output clock cycles to input reference clock cycles is called the PLL's multiplication factor.
- Embodiments of the invention perform measurement of the output phase by counting the output clock cycles in a modulo-K counter, which accumulates fully completed (i.e., integer) cycles only.
- a fractional phase predictor generates an integer comparison phase, based on the reference clock and a fractional-N FCW.
- the embodiments performs phase comparison using a digital subtractor (or adder).
- Embodiments of the invention are related to (but different than) an earlier fractional-N PLL with a time-to-digital converter described in U.S. Pat. No. 8,994,523, entitled Phase-Locked Loop Apparatus and Method by Jenkins, which relied on rational rather than integer phase comparison.
- a modulo-K counter for the purposes of this patent document, is a counter that counts up to K pulses at an input, providing a counted value at an output, restarting at a start value upon counting every K th pulse.
- a modulo-K counter may count up or count down.
- the start value may be zero, or any other value.
- the counted value may be expressed as a binary number, or in any other representation of a number. Examples in this patent document are based on up-counting from a value 0 to a value K ⁇ 1, after which the counter restarts at 0. However, mutatis mutandis, all examples are equally valid for counters counting down or starting at different values.
- the value of K may be fixed, or it may be programmable, or it may be made to vary over time.
- FIG. 1 illustrates a fractional-N PLL 100 according to an embodiment of the invention.
- PLL 100 receives reference clock signal 101 and produces output clock signal 102 .
- the frequency ratio of output clock signal 102 and reference clock signal 101 is determined by a fractional-N FCW that includes integer number N 103 and fraction of N 104 .
- Controlled oscillator 110 produces output clock signal 102 .
- Modulo-K counter 120 accumulates the controlled oscillator 110 frequency by counting cycles of output clock signal 102 . Therefore, the modulo-K counter 120 output signal (at 105 ) is representative for the phase of output clock signal 102 .
- register 130 samples phase 105 , stores it, and makes it available as sampled phase 106 .
- Register 130 may include a set of parallel latches, for example D-latches with enable and data inputs, each latch for one bit of the phase 105 code word, each latch triggered by reference clock signal 101 , and each latch providing one bit of the sampled phase 106 code word.
- Fractional phase predictor 140 takes integer number N 103 and fraction of N 104 , and upon receiving a reference clock signal 101 pulse, fractional phase predictor 140 calculates predicted phase 107 as explained later with reference to FIGS. 2A-D . Although fractional phase predictor 140 receives a fractional-N FCW, embodiments may output predicted phase signal 107 as only an integer number.
- Subtractor 150 calculates a difference 108 between a required phase and a measured phase by subtracting sampled phase 106 from predicted phase 107 .
- Loop filter 160 integrates and filters difference 108 to produce oscillator control code 109 , which controls the frequency of output clock signal 102 .
- the fractional-N FCW includes integer number N 103 , which may have any integer value below a maximum R N , where R N stands for the range of integer number N 103 . It further includes fraction of N 104 , which may be expressed as an integer value M below a maximum RM, where R M stands for the range of fraction of N 104 .
- Modulo-K counter 120 and fractional phase predictor 140 need to be able to track the phase of the output clock signal over a sufficiently large range.
- this range equals K: upon reaching a counted value of K ⁇ 1, the counter continues counting at 0.
- the range K needs to be large enough to count R N cycles of output clock signal 102 during one cycle of reference clock signal 101 .
- embodiments of the invention may use a large range K, for instance K>>R N .
- the range K of the modulo-K counter may be at least two times larger than a maximum number of output clock signal cycles R N during a reference clock signal cycle.
- the maximum value of a phase error is not limited by the period of reference clock signal 101 , but by the larger of K and a range of fractional phase predictor 140 .
- the range of fractional phase predictor 140 is clarified with reference to FIG. 2A .
- FIG. 1 shows fractional-N PLL 100 as an example embodiment with up-counting modulo-K counter 120 and an up-counting fractional phase predictor 140 .
- Other embodiments may use a down-counter and/or a down-counting fractional phase predictor.
- Counting limits may be chosen different than 0 and K, for example K and 0, or 0 and ⁇ K, or any other set of integer values that differ by K.
- Some embodiments may use an adder instead of a subtractor, and calculate the sampled phase as a negative value.
- subtractor 150 is omitted.
- the fractional phase predictor outputs a series of integer numbers whose average equals the FCW determined by N ( 103 ) and fraction of N ( 104 ).
- the embodiment programs the value of K in modulo-K counter 120 to be equal to the output number of the fractional phase predictor.
- Modulo-K counter 120 counts down from the pre-programmed K to zero.
- modulo-K counter 120 presets to the next K value that is output by the fractional phase predictor.
- the embodiment interprets a counter output value that is in a range below K as a negative number, meaning that the controlled oscillator frequency is higher than the K times the reference clock signal 101 frequency.
- the K value is programmed similarly, however, the counter counts down between K/2 and ⁇ K/2.
- a fractional phase predictor takes a fractional-N FCW, but it outputs an integer predicted phase, therefore, the predicted phase may have the value round(c ⁇ FCW).
- the predicted phase includes quantization noise.
- the range of a fractional phase predictor is determined by the maximum value that the predicted phase can have, i.e. the maximum value of round(c ⁇ FCW).
- a most basic embodiment of a fractional phase predictor is a fractional-N accumulator, whose output bits are truncated to carry only the integer result of the accumulation.
- simple truncation may introduce a quantization noise spectrum that causes unacceptable output clock jitter in some applications. Therefore, we prefer to view the fractional phase predictor from the perspective described below.
- All embodiments receive the fractional-N FCW that includes integer number N 103 and fraction of N 104 , as well as reference clock signal 101 . They all output the predicted phase 107 as an integer number.
- FIG. 2A illustrates a general embodiment 200 A of fractional phase predictor 140 .
- General embodiment 200 A includes an integer-N accumulator comprising adder 201 and register 202 .
- Adder 202 adds integer number N 103 , predicted phase 107 , and interpolated value 222 to produce sum 221 .
- register 202 samples sum 221 , stores it, and outputs it as an updated value of predicted phase 107 .
- Interpolator 203 receives fraction of N 104 and outputs interpolated value 222 .
- Interpolator 203 may provide dithering or noise shaping to change the quantization noise spectrum and move part of the quantization noise energy from low frequencies to higher frequencies. This is advantageous for fractional-N PLL 100 in FIG.
- Interpolator 203 may provide dithering or noise shaping through any method known in the art, for example using a sigma delta modulator, a bandpass sigma delta modulator, parallel sigma delta modulators, a multistage noise shaping (MASH) modulator, a sturdy MASH (SMASH) modulator, etc.
- MASH multistage noise shaping
- SMASH sturdy MASH
- FIG. 2B illustrates an example fractional phase predictor 200 B according to an embodiment of the invention, wherein the interpolator comprises a first order MASH modulator. Items 201 and 202 , as well as signals 221 and 222 are the same as in FIG. 2A .
- Interpolator 203 is implemented as an accumulator of fraction of N 104 , comprising adder 204 and register 205 .
- Adder 204 sums fraction of N 104 and accumulated fraction 224 to produce sum 223 .
- register 205 samples sum 223 , stores it, and outputs it as an updated value of accumulated fraction 224 .
- adder 204 overflows, it outputs a carry signal as interpolated value 222 for adder 201 .
- FIGS. 2C and 2D illustrate embodiments 200 C and 200 D of the invention using second and third order MASH modulators. Further embodiments may implement even higher order MASH implementation. Basically, each higher order implementation of a MASH modulator adds a stage that takes quantization noise remaining from the previous stage and moves it up to higher frequencies. Some embodiments of the invention will work as required by an application just by implementing a first order MASH interpolator, whereas other embodiments may require a second or higher order MASH or other modulator.
- FIG. 3 illustrates a method 300 for generating an output clock signal whose phase is locked to a reference clock signal phase by a rational number according to an embodiment of the invention.
- Method 300 comprises the following steps.
- Step 310 in a controlled oscillator, generating an output clock signal, wherein an output clock frequency is controlled by an oscillator control code.
- Step 320 in a modulo-K counter, counting a number of output clock cycles.
- the modulo-K counter may count up or down, between a minimum value, for example 0, and a maximum value, for example K ⁇ 1. Once it has reached the maximum (or minimum) value, it continues counting at the minimum (or maximum) value, respectively.
- the value of K may be much higher than a maximum value of the rational number, for example, at least two times higher.
- Step 330 upon receiving a reference clock signal pulse, sampling the counted number of output clock cycles and storing the sampled number of output clock cycles in a register.
- Step 340 upon receiving the reference clock signal pulse, calculating an integer number of predicted output clock cycles based on an integer number representing the reference clock signal phase and a rational frequency control word number.
- Embodiments may perform the calculation by accumulating at least part of the frequency control word for each newly received reference clock signal pulse.
- the reference clock signal phase is determined by the number of received reference clock signal pulses.
- An embodiment may increment the number of predicted output clock cycles with the value of the frequency control word each time it receives a reference clock signal pulse; therefore, the number of predicted output clock cycles will equal the reference clock signal phase times the frequency control word.
- Embodiments may further perform noise shaping by shifting quantization noise to higher frequencies, for example by using delta sigma modulators or MASH modulators. Steps 330 and 340 may occur in either order or in parallel.
- Step 350 calculating a difference between the integer number of predicted output clock cycles and the sampled number of output clock cycles, and forwarding the difference to a digital loop filter.
- Step 360 in the digital loop filter, filtering the calculated difference to generate an updated oscillator control code, and in the controlled oscillator, updating the output clock frequency.
- the digital loop filter may have any frequency and phase transfer function as usual or as known in the art of PLL design provided that the transfer function enables PLL stability.
- filter parameters in the digital loop filter may be fixed or programmable.
- Step 370 upon receiving successive reference clock signal pulses, updating the sampled number of output clock cycles and the predicted output clock cycles to provide the controlled oscillator updated oscillator control codes to lock the output clock signal phase to the reference clock signal phase.
- FIG. 4 illustrates a programmable system 400 capable of implementing PLL methods according to embodiments of the invention.
- System 400 is a PLL that comprises a controlled oscillator 410 , a modulo-K counter 420 , a programmable processor 430 , and a memory 440 .
- Programmable system 400 is configured to store software instructions and/or data in memory 440 .
- Programmable processor 430 receives reference clock signal 401 , and a FCW comprising integer part N 403 and fractional part M 404 .
- Programmable processor 430 outputs oscillator control code 405 to controlled oscillator 410 .
- Controlled oscillator 410 whose frequency is controlled by oscillator control code 405 , outputs the output clock 402 .
- Modulo-K counter 420 counts cycles of output clock 402 , and its output signal 406 is a measure for the output clock phase, which it feeds back to programmable processor 430 .
- Some embodiments may store integer part N 403 and fractional part M 404 as parameters in memory 440 , either as part of the software instructions or as part of the data. Further embodiments may receive multiple reference clock signals, and may work with multiple FCWs. Yet further embodiments may use separate memories for software instructions and data.
- Programmable processor 430 may, for example, be programmed to execute instructions for the following operations:
- FIG. 5 illustrates a fractional-N PLL 500 with sleep modes according to embodiments of the invention.
- Some embodiments capable of maintaining phase lock over a sleep period (ignoring the reference clock during the sleep period), feature gated output clock signal 502 A.
- Other embodiments capable of maintaining approximate frequency lock while free-running during a partial sleep period, feature ungated output clock signal 502 B.
- Yet other embodiments feature both gated output clock signal 502 A and ungated output clock signal 502 B.
- PLL 500 is similar to PLL 100 of FIG. 1 , with the addition of sleep mode control signals Sleep 1 ( 505 ) and SleepOsc ( 506 ) and associated gates 522 and 528 .
- a line above a signal name indicates that the signal is asserted when it is low.
- PLL 500 has the following modes: active, first sleep, and in some embodiments also second sleep. In active mode, the signals Sleep 1 ( 505 ) and SleepOsc ( 506 ) are de-asserted. In first sleep mode, the signal Sleep 1 ( 505 ) is asserted and SleepOsc ( 506 ) is de-asserted. In second sleep mode, both signals Sleep 1 ( 505 ) and SleepOsc ( 506 ) are asserted. In active mode, PLL 500 operates the same as PLL 100 . In the example embodiment drawn, Sleep 1 ( 505 ) may be changed synchronously to reference clock signal 501 .
- controlled oscillator 520 oscillates, and its output signal, which may be available as ungated output clock signal 502 B, passes through gate 522 , which may comprise an AND gate as shown in this example, to gated output clock signal 502 A and to modulo-K counter 524 .
- Modulo-K counter 524 calculates the controlled oscillator 520 phase 508 by counting cycles of gated output clock signal 502 A.
- register 526 samples phase 508 , stores it, and makes it available as sampled phase 509 .
- Register 526 may include a set of parallel latches, for example D-latches with enable and data inputs, each latch for one bit of the phase 508 code word, each latch triggered by gated reference clock 510 , and each latch providing one bit of the sampled phase 509 code word.
- Fractional phase predictor 530 takes integer number N 503 and fraction of N 504 (together a fractional-N FCW), and upon receiving gated reference clock signal 510 , fractional phase predictor 530 calculates predicted phase signal 511 such as was explained in detail with reference to FIGS. 2A-D . Although fractional phase predictor 530 receives a fractional-N FCW, embodiments may output predicted phase signal 511 as only an integer number.
- Subtractor 532 calculates a difference 512 between a required phase and a measured phase by subtracting sampled phase 509 from predicted phase 511 .
- Loop filter 534 integrates and filters difference 512 to produce oscillator control code 513 , which controls the controlled oscillator 520 ′s frequency.
- the fractional-N FCW includes integer number N 503 , which may have any integer value below a maximum R N , where R N stands for the range of integer number N 503 . It further includes fraction of N 504 , which may have any integer value M below a maximum R M , where R M stands for the range of fraction of N 504 .
- Modulo-K counter 524 and fractional phase predictor 530 need to be able to track the phase of the output clock over a sufficiently large range.
- this range equals K: upon reaching a counted value of K ⁇ 1, the counter continues counting at 0.
- the range K needs to be large enough to count R N cycles of gated output clock signal 502 A during one cycle of gated reference clock 510 .
- embodiments of the invention may use a large range K, for instance K>>R N .
- the range K of the modulo-K counter may be at least two times larger than a maximum number of output clock signal cycles R N during a reference clock signal cycle.
- the maximum value of the phase error is not limited by the period of the reference clock signal 501 , but by the larger of K and the range of fractional phase predictor 530 .
- First sleep mode commences when signal Sleep 1 ( 505 ) is asserted, for example, as drawn when it is pulled low. At that time, gate 528 blocks reference clock signal 501 , and gate 522 blocks gated output clock signal 502 A. Therefore, modulo-K counter 524 receives no clock cycles to count, and fractional phase predictor 530 and register 526 do not update. As a result, the embodiment uses less power in modulo-K counter 524 , register 526 , fractional phase predictor 530 , subtractor 532 , and loop filter 534 . Signal SleepOsc ( 506 ) may subsequently be asserted to enter second sleep mode and stop controlled oscillator 520 to save further power.
- Signal SleepOsc ( 506 ) is de-asserted no later than signal Sleep 1 ( 505 ) is de-asserted, i.e., oscillator 520 is started no later than reference clock signal 501 and output clock signal 502 are (re-)enabled.
- oscillator 520 is started no later than reference clock signal 501 and output clock signal 502 are (re-)enabled.
- signal Sleep 1 ( 505 ) must be asserted and de-asserted synchronously to reference clock signal 502 .
- Some embodiments may enforce synchronicity by passing signal Sleep 1 ( 505 ) to a D-latch 536 enabled by reference clock signal 501 , and using a D-latch output signal 505 A as an input signal for gates 528 and 522 .
- An embodiment of example fractional-N PLL 500 that does not require synchronicity of signal Sleep 1 ( 505 ) to reference clock signal 501 may copy either sampled phase 509 or sampled phase 509 corrected for a current difference 512 (by subtracting the current difference 512 from sampled phase 509 ) to a register in fractional phase predictor 530 upon receiving the first reference clock signal 501 pulse after sleep mode, such that a discontinuity in phase difference is avoided and the updated difference 512 equals zero or the current difference 512 .
- an embodiment using the fractional phase predictor 200 A in FIG. 2A may copy the sampled phase 509 in FIG. 5 to register 202 in FIG. 2A .
- the embodiment may correct sampled phase 509 by subtracting a current difference 512 and copy the corrected value to register 202 .
- example fractional-N PLL 500 only maintains approximate frequency lock but not phase lock over the sleep mode period.
- FIG. 5 shows example fractional-N PLL 500 as an embodiment with up-counting modulo-K counter 524 and an up-counting fractional phase predictor 530 .
- Other embodiments may use a down-counter and/or a down-counting fractional phase predictor.
- Counting limits may be chosen different than 0 and K, for example K and 0, or 0 and ⁇ K, or any other set of values that differ by K.
- Some embodiments may use an adder instead of a subtractor, and calculate the sampled phase as a negative value.
- FIG. 5 shows example fractional-N PLL 500 as an embodiment with AND gates for gates 522 and 528 , and with the signals Sleep 1 and SleepOsc asserted negative.
- reference clock signal 501 and output clock signal 502 A can just as easily be achieved with another type of gate, such as a NAND gate, an OR gate, a NOR gate, an XOR gate, a pass gate, and a combination of any number of those gates, and with either one or both of the sleep signals asserted positive.
- a NAND gate such as a NAND gate, an OR gate, a NOR gate, an XOR gate, a pass gate, and a combination of any number of those gates, and with either one or both of the sleep signals asserted positive.
- gated output clock signal 502 A allows keeping phase lock over a period of at least the first sleep mode, ignoring any reference clock cycles during the period
- the use of ungated output clock signal 502 B allows maintaining approximate frequency lock while free-running during the first sleep mode.
- Embodiments keep the loop filter 534 output at a fixed oscillator control code, approximately fixing the output clock signal 502 B frequency.
- first sleep mode only controlled oscillator 520 is active, and example fractional-N PLL 500 can save power of operating the other included circuits.
- FIG. 6 illustrates a mode diagram 600 according to an embodiment of the invention.
- Mode diagram 600 in FIG. 6 illustrates the modes in FIG. 5 .
- An embodiment transitions from the active mode to the first sleep mode when the signal Sleep 1 is asserted, and from the first sleep mode to active mode when the signal Sleep 1 is de-asserted.
- An embodiment that also has the second sleep mode transitions from the first sleep mode to the second sleep mode when the signal SleepOsc is asserted, and it transitions from the second sleep mode to the first sleep mode when the signal SleepOsc is de-asserted.
- the embodiment disables the reference clock signal, the gated output clock signal, the modulo-K counter, the register, the fractional phase predictor, the subtractor, and the loop filter.
- the second sleep mode it disables the same circuits as in the first sleep mode, as well as the controlled oscillator.
- FIG. 7 illustrates method 700 to maintain phase lock and/or approximate frequency lock in a PLL over a sleep period, wherein the PLL has an active mode and at least a first sleep mode, and the PLL is configured to receive a reference clock signal and at least a first sleep mode control signal.
- Method 700 comprises the following steps.
- Step 710 uring active mode, upon receiving a reference clock signal pulse, determining a controlled oscillator's phase, determining a predicted phase, and adjusting a controlled oscillator frequency based on a difference between the controlled oscillator's phase and the predicted phase.
- An embodiment may sample the controlled oscillator's phase in a register and store it as an integer number.
- the embodiment may determine the predicted phase based on a fractional-N FCW and calculate the predicted phase as an integer number.
- the embodiment may perform noise shaping on the predicted phase.
- Step 720 receiving a change in the first sleep mode control signal.
- the change in the first sleep mode control signal may arrive synchronously with the reference clock signal.
- Step 730 upon determining that the first sleep mode control signal is asserted:
- Step 740 upon determining that the first sleep mode control signal is not asserted:
- step 740 may further comprise: determining an updated predicted phase by copying either an updated sampled phase or a corrected updated sampled phase to a register in a fractional phase predictor, wherein the corrected updated sampled phase includes the updated sampled phase minus a current difference.
- Method 700 may additionally include the following steps:
- Step 750 receiving a change in a second sleep mode control signal.
- an embodiment may receive either a change in the first sleep mode control signal (step 720 ) or in the second sleep mode control signal (step 750 ), and in both cases it responds correctly. This means that an embodiment, after step 730 , may continue with either step 720 or step 750 as required by the sleep mode control signal that is changing. The embodiment monitors both signals in parallel.
- Step 760 upon determining that the second sleep mode control signal is asserted:
- Step 770 upon determining that the second sleep mode control signal is not asserted:
- FIG. 8 illustrates a hitless switching multiple-loop PLL 800 according to an embodiment of the invention.
- Some applications use multiple reference clock signals. This may for instance be the case when the best reference signal is not always available, but there are some backup reference signals that can be used instead. Or the system may have multiple active modes, where each mode provides its own reference clock signal.
- the reference clock signals may have different frequencies, and/or different reference clock signals may need multiplication with different FCWs.
- hitless switching PLL The capability to switch between the different reference clock signals without facing a discontinuity in phase and therefore a possibly extended lock-in time is called hitless switching.
- An example hitless switching PLL is described in U.S. Pat. No. 9,007,105 by Jenkins. Some embodiments of the present invention, as described in the following, are related to the PLL in U.S. Pat. No. 9,007,105.
- Multiple-loop PLL 800 features 2 or more parallel loops, each dedicated to one of the reference clock signals 801 . 1 - 801 . n, and each taking a FCW comprising integer number N.x ( 803 . x ) and fraction M.x ( 804 . x ).
- Multiple-loop PLL 800 has the following common blocks, shared by all loops: controlled oscillator 810 , modulo-K counter 820 , multiplexer 870 , and loop filter 880 .
- the frequency of controlled oscillator 810 is controlled by oscillator control code 889 .
- Controlled oscillator generates output clock signal 802 , which is also an input signal for modulo-K counter 820 that measures an integer value for phase 884 .
- Each loop has an individual register 830 . 1 - 830 . n, subtractor 840 . 1 - 840 . n, fractional phase predictor 850 . 1 - 850 . n, and monitor-and-adjust block 860 . 1 - 860 . n.
- Each register 830 . x upon receiving a reference clock signal 801 . x pulse, samples phase 884 and stores it as sampled phase 885 . x.
- Each fractional phase predictor 850 . x upon receiving a reference clock signal 801 . x pulse, calculates a predicted phase 886 . x.
- Each subtractor 840 . x subtracts sampled phase 885 . x from predicted phase 886 .
- Each difference 887 . x is an input signal for multiplexer 870 , which selects one of them and passes it to loop filter 880 as the selected difference 888 .
- Loop filter 880 integrates and filters the selected difference 888 to produce oscillator control code 889 .
- Fractional phase predictors 850 . x take integer numbers N 803 . x and their fractions M 804 . x (together forming fractional-N FCWs), and upon receiving a reference clock signal 801 . x pulse, a fractional phase predictor 850 . x calculates predicted phase 886 . x as explained earlier with reference to FIGS. 2A-D . Although fractional phase predictor 850 . x receives a fractional-N FCW, embodiments may output predicted phase signal 886 . x as only an integer number.
- Modulo-K counter 820 and fractional phase predictors 850 . 1 - 850 . n need to be able to track the phase of the output clock over a sufficiently large range.
- this range equals K: upon reaching a counted value of K ⁇ 1, the counter continues counting at 0.
- the range K needs to be large enough to count R N cycles of output clock signal 802 during one cycle of reference clock signal 801 . x.
- embodiments of the invention may use a large range K, for instance K>>R N .
- the range K of the modulo-K counter 820 may be at least two times larger than a maximum number of output clock signal cycles R N during a reference clock signal cycle.
- the maximum value of a phase error is not limited by the period of reference clock signal 801 . x , but by the larger of K and a range of fractional phase predictor 850 . x.
- the range of fractional phase predictors 850 . x has been clarified with reference to FIG. 2A .
- monitor-and-adjust blocks 860 . 1 - 860 . n are active only for loops that are not selected by multiplexer 870 .
- Monitor-and-adjust blocks 860 . 1 - 860 . n monitor the differences 887 . 1 - 887 . n from the respective subtractors 840 . 1 - 840 . n and adjust registers (not shown) inside fractional phase predictors 850 . 1 - 850 . n to minimize these differences 887 . 1 - 887 . n.
- x may just copy the sampled phase 885 . x into the register (not shown, but for instance register 202 in FIG. 2A ) inside fractional phase predictor 850 . x so that the last prediction is effectively correct.
- the monitor-and-adjust blocks 860 . 1 - 860 . n are enabled only for fractional phase predictors 850 . 1 - 850 . n that are not currently used for the active loop through multiplexer 870 . Any adjustment in the currently active loop can break the desired relationship between input and output frequency.
- the function of a monitor-and-adjust block 860 . x is to maintain the minimum phase error of currently unused reference clock signal 801 . x, and indicate if its frequency is at the desired ratio to the output clock signal.
- multiplexer 870 can be replaced by an averaging block that creates an error signal replacing selected difference 888 by averaging all the differences 887 . 1 - 887 . n that are currently valid and whose monitor-and-adjust blocks 860 . 1 - 860 . n have the difference 887 . 1 - 887 . n associated with any valid reference clock signal 801 . 1 - 801 . n close to zero.
- output clock signal 802 is effectively locked to all valid inputs and altering the members of the valid set has an even smaller impact on phase.
- An embodiment can be optimized to have less circuitry. For example, instead of individual monitor-and-adjust blocks 860 . 1 - 860 . n, an embodiment may have a single monitor-and-adjust block that cycles through fractional phase predictors 850 . 1 - 850 . n, adjusting only one at a time.
- FIG. 8 shows multiple-loop PLL 800 as an example embodiment with up-counting modulo-K counter 820 and an up-counting fractional phase predictors 850 . 1 - 850 . n.
- Other embodiments may use a down-counter and/or down-counting fractional phase predictors.
- Counting limits may be chosen different than 0 and K, for example K and 0, or 0 and ⁇ K, or any other set of integer values that differ by K.
- Some embodiments may use adders instead of subtractors, and calculate the sampled phases as negative values.
- FIG. 9 illustrates a hitless switching multiple-loop PLL 900 with sleep modes according to an embodiment of the invention.
- Multiple-loop PLL 900 is similar to multiple-loop PLL 800 , with the addition of sleep mode(s).
- Each loop may have an extra input Sleep.x , driving a gate 914 . x , which may comprise an AND gate as shown in this example.
- Gate 914 . x blocks reference clock signal 901 . x in sleep mode, and passes it on in active mode.
- the Sleep.x signal further stops monitor-and-adjust block 960 . x in sleep mode.
- Embodiments may allow each loop individually to enter a sleep mode or active mode.
- multiplexer 970 will select only one loop at a time, this does not necessarily mean that all other loops can be in sleep mode. For hitless switching to occur, a loop needs to be active even while it is not selected. However, if a loop has been active for at least once cycle of reference clock signal 901 . x, then, as drawn in FIG. 9 , hitless switching can occur.
- the embodiment may further include sleep mode signal SleepOsc , which can stop operation of controlled oscillator 910 .
- This type of sleep mode impacts all loops, and fully halts operation of multiple-loop PLL 900 .
- FIG. 9 shows example multiple-loop PLL 900 as an embodiment with up-counting modulo-K counter 920 and an up-counting fractional phase predictors 950 . x.
- Other embodiments may use down-counters and/or down-counting fractional phase predictors.
- Counting limits may be chosen different than 0 and K, for example K and 0, or 0 and ⁇ K, or any other set of integer values that differ by K.
- Some embodiments may use an adder instead of subtractor 940 . x, and calculate the sampled phase as a negative value.
- FIG. 9 shows example multiple-loop PLL 900 as an embodiment with AND gates for gates 914 . 1 - 914 . n, and with the signals Sleep 1 and SleepOsc asserted negative.
- reference clock signals 901 . 1 - 901 . n can just as easily be achieved with another type of gate, such as a NAND gate, an OR gate, a NOR gate, an XOR gate, a pass gate, and a combination of any number of those gates, and with either one or both of the sleep signals asserted positive.
- a NAND gate such as a NAND gate, an OR gate, a NOR gate, an XOR gate, a pass gate, and a combination of any number of those gates, and with either one or both of the sleep signals asserted positive.
- FIG. 10 illustrates a method 1000 for hitless switching in a multiple-loop PLL according to an embodiment of the invention.
- Method 1000 comprises the following steps.
- Step 1010 in a modulo-K counter, continuously counting a number of controlled oscillator output clock signal cycles.
- Step 1020 receiving a reference clock pulse.
- Step 1030 determining in which loop the reference clock was received.
- Step 1040 upon determining that a first pulse of a first reference clock signal was received in a selected first loop, sampling the number of output clock cycles to obtain a first sampled phase. Based on a first rational FCW and the first pulse, calculating a first predicted phase as an integer number in a first fractional phase predictor. Forwarding a first difference between the first predicted phase and the first sampled phase to a loop filter to generate a first oscillator control code to control a frequency of the controlled oscillator. Continue with step 1020 .
- Step 1050 upon determining that a second pulse of a second reference clock signal was received in a second loop that is not selected, sampling the number of output clock cycles to obtain a second sampled phase. Based on a second rational FCW and the second pulse, calculating a second predicted phase as an integer number in a second fractional phase predictor. Calculating a second difference between the second predicted phase and the second sampled phase.
- Step 1060 updating a register in the second fractional phase predictor such that the second difference remains within a small margin of zero.
- the small margin may be a margin that is calculated from the loop gain.
- the feedback loop in a PLL will operate to keep the first difference small, or generally the phase difference of the selected loop, where the maximum size of the difference depends on the loop gain. A larger gain will result in a smaller difference, therefore the margin is inversely proportional to the loop gain.
- Some embodiments may set the small margin at zero and simply copy the value of the second sampled phase into the register in the second fractional phase predictor.
- Method 1000 may further comprise the following steps (not shown in FIG. 10 ):
- Step 1070 upon receiving a loop sleep signal for the second loop: disabling updating of the second sampled phase, disabling the second fractional phase predictor.
- Step 1080 upon receiving the loop sleep signal for the second loop: disabling a second monitor-and-adjust function.
- Step 1090 upon receiving a PLL sleep signal, disabling the controlled oscillator.
- FIG. 11 illustrates a jitter attenuator 1100 according to an embodiment of the invention.
- the concept of a jitter attenuator is that a primary loop can lock to a primary reference clock signal with poor jitter behavior, whose frequency must be followed by an output clock signal, and that a secondary loop creates the actual output clock signal, based on the phase and stability of a secondary reference clock signal.
- embodiments can set different output clock phase noise spectra for the two different reference clock signal sources.
- the active primary loop may determine the average frequency and lowest frequency phase noise, whereas the secondary loop may determine phase noise at higher frequencies. This can be accomplished by using a primary loop filter bandwidth that is much smaller than a secondary loop filter bandwidth, for example at least one hundred times smaller.
- Jitter attenuator 1100 comprises a primary loop 1112 and a secondary loop 1110 which includes a fractional-N PLL.
- Primary loop 1112 includes a primary modulo-K counter 1122 B whose input is coupled with a clock output of the fractional-N PLL in secondary loop 1110 .
- a primary register 1142 has an input coupled with the primary modulo-K counter output, and a sample input that is clocked by a primary reference clock signal 1101 received at a primary reference clock signal 1101 input.
- Primary modulo-K counter 1122 B measures the phase of the fractional-N PLL output clock signal 1102 , and primary register 1142 samples the phase upon receiving a primary reference clock signal 1101 pulse to obtain sampled phase 1155 .
- Primary loop 1112 further includes primary fractional phase predictor 1146 , which has an input for primary reference clock signal 1101 .
- Primary fractional phase predictor 1146 calculates a primary predicted phase 1156 upon receiving a primary reference clock signal 1101 pulse.
- Primary predicted phase 1156 includes an integer number and is based on a rational number primary frequency control word (FCW) that may include integer part 1103 (N) and fractional part 1104 (M).
- FCW primary frequency control word
- Primary subtractor or adder 1144 calculates an integer number primary difference 1157 between the primary predicted phase 1156 and the primary sampled phase 1155 .
- Primary loop filter 1128 filters the primary difference 1157 to obtain secondary FCW 1158 .
- Secondary FCW 1158 may include a rational number.
- Secondary loop 1110 includes a first input which is configured for receiving a stable reference clock signal 1105 , for example from a crystal oscillator, and a second input configured for receiving the secondary FCW 1158 . Its output is configured to provide an output clock signal based on the stable reference clock signal and the secondary FCW.
- FIG. 12 illustrates additional details of jitter attenuator 1200 according to some embodiments of the invention.
- Jitter attenuator 1200 has an architecture similar to jitter attenuator 1100 in FIG. 11 .
- Similar numbered blocks and signals in FIG. 12 have the same meanings and functions as in FIG. 11 .
- Its fractional-N PLL in secondary loop 1210 includes controlled oscillator 1220 , modulo-K counter 1222 A, secondary register 1224 , phase predictor 1220 , secondary subtractor or adder 1226 , and secondary loop filter 1232 .
- Controlled oscillator 1220 generates output clock signal 1202 , which is also forwarded to modulo-K counter 1222 A which outputs measured phase signal 1250 .
- modulo-K counter 1222 A and 1225 B may be combined into a single modulo-K counter, providing measured phase signal 1250 both to primary register 1242 and secondary register 1224 .
- Secondary register 1224 upon receiving a secondary reference clock signal 1205 pulse, samples measured phase signal 1250 and delivers secondary sampled phase 1251 to secondary subtractor 1226 .
- Phase predictor 1230 clocked by secondary reference clock signal 1205 , calculates secondary predicted phase 1252 .
- Secondary subtractor 1226 calculates a secondary difference 1253 between secondary predicted phase 1252 and secondary sampled phase 1251 , and forwards secondary difference 1253 to secondary loop filter 1232 , which integrates and filters secondary difference 1253 to provide oscillator control code 1254 to control the frequency of controlled oscillator 1220 .
- the secondary sampled phase 1251 , secondary predicted phase 1252 , and secondary difference 1253 may be limited to integer numbers, as discussed in reference to earlier PLLs in this patent document, or they may include rational numbers as illustrated in FIG. 13 .
- FIG. 13 illustrates details of a jitter attenuator 1300 with multiple primary loops according to an embodiment of the invention. It combines elements of the low-power hitless switching PLL in FIG. 9 with the jitter attenuator in FIG. 11 or 12 .
- Jitter attenuator 1300 includes two or more parallel primary loops (shown in blocks 1312 and 1313 ) that share secondary loop 1310 functioning as a controlled oscillator.
- the primary loops have primary reference clock signal inputs 1301 . 1 - 1301 . n, FCWs comprising integer part N 1303 . 1 - 1303 . n and fractional part M 1304 . 1 - 1304 . n.
- one or more of the loops may also have an input for loop sleep signal Sleep. 1 - Sleep.n .
- the secondary loop has a secondary reference clock signal 1305 input, which may, for example, be coupled to a crystal oscillator, and an output for output clock signal 1302 .
- Each primary loop includes a primary register (e.g., 1342 ) to sample measured phase 1350 at the output of modulo-K counter 1324 upon receiving a gated reference clock signal (e.g., 1371 ) pulse.
- the gated reference clock signal is derived from a primary reference clock signal (e.g., 1301 . n ) and a sleep control signal (e.g., Sleep.n ) through one or more logic gates, e.g., gate 1340 .
- the primary register delivers a primary sampled phase (e.g., 1372 ) at its output.
- a fractional phase predictor calculates an integer primary predicted phase (e.g., 1373 ) based on a rational FCW, e.g., including integer part N 1303 . n and fractional part M 1304 . n, and based on the number of gated reference clock signal pulses received via the one or more logic gates, e.g., gate 1340 .
- a primary subtractor e.g., 1344 , subtracts the primary sampled phase from the primary predicted phase to obtain an integer primary phase difference (e.g., 1374 ).
- the embodiment provides the primary phase difference to a monitor and adjust block or function (e.g., 1348 ) and to multiplexer 1334 .
- Multiplexer 1334 selects an active primary loop by passing its primary phase difference (e.g., 1374 ) as the selected primary phase difference 1355 to primary loop filter 1328 , which calculates secondary FCW 1356 for the secondary loop 1310 .
- Secondary loop 1310 includes controlled oscillator 1320 , modulo-K counter 1324 including a secondary register (not drawn) to output secondary sampled phase 1351 , phase predictor 1330 , secondary subtractor or adder 1326 , and secondary loop filter 1332 .
- Controlled oscillator 1320 generates output clock signal 1302 , which is also forwarded to modulo-K counter 1324 , which further outputs measured phase 1350 .
- the secondary register upon receiving a secondary reference clock signal 1305 pulse, samples measured phase signal 1350 and delivers secondary sampled phase 1351 to secondary subtractor 1326 .
- Phase predictor 1330 clocked by secondary reference clock signal 1305 , calculates secondary predicted phase 1352 .
- Secondary subtractor 1326 calculates a secondary difference 1353 between secondary predicted phase 1352 and secondary sampled phase 1351 , and forwards secondary difference 1353 to secondary loop filter 1332 , which integrates and filters secondary difference 1353 to provide oscillator control code 1354 to control the frequency of controlled oscillator 1320 .
- the secondary sampled phase 1351 , secondary predicted phase 1352 , and secondary difference 1353 may be limited to integer numbers, as discussed in reference to earlier PLLs in this patent document, or they may include rational numbers as illustrated here.
- Phase sampler 1311 may include time-to-digital converter 1322 to measure fractions of cycles of output clock signal 1302 in relation to active edges of secondary reference clock signal 1305 .
- An embodiment may scale an output value of time-to-digital converter 1322 and add it to the output value of modulo-K counter 1324 to produce a rational value for secondary sampled phase 1351 .
- the use of rational values for 1351 - 1353 may lead to exceptionally low jitter in output clock signal 1302 , although at the expense of extra complexity (inclusion of time-to-digital converter 1322 ) and higher power consumption.
- Modulo-K counter 1324 , fractional phase predictor 1346 , and phase predictor 1330 need to be able to track the phase of the output clock signal over a sufficiently large range.
- this range equals K: upon reaching a counted value of K ⁇ 1, the counter continues counting at 0.
- the range K needs to be large enough to count R N cycles of output clock signal 1302 during one cycle of primary reference clock signal 1301 .
- embodiments of the invention may use a large range K, for instance K>>R N .
- the range K of the modulo-K counter 1324 may be at least two times larger than a maximum number of output clock signal cycles R N during a reference clock signal cycle.
- the maximum value of a phase error is not limited by the period of primary reference clock signal 1301 . n, but by the larger of K and a range of fractional phase predictor 1346 .
- the range of fractional phase predictor 1346 has been clarified with reference to FIG. 2A .
- phase predictor 1330 the same or similar concepts apply.
- monitor-and-adjust blocks (e.g. 1348 in block 1313 ) are active only for loops that are not selected by multiplexer 1334 .
- Monitor-and-adjust blocks monitor the primary difference signals from the respective subtractors and adjust registers (not shown) inside fractional phase predictors to minimize the primary differences.
- monitor-and-adjust block is to maintain the minimum primary difference of a currently unused primary reference clock signal, and indicate if its frequency is at the desired ratio to the output clock signal.
- the monitor-and-adjust blocks may also generate a signal (not shown) to indicate which primary reference clock signals have matching frequencies to the primary reference clock signal that jitter attenuator 1300 is currently locked to.
- a simpler embodiment of a monitor-and-adjust block just copies the primary sampled phase into a register (not shown) inside the fractional phase predictor so that the last prediction is effectively correct.
- multiplexer 1334 can be replaced by an averaging block that creates an error signal replacing selected primary difference 1374 by averaging all the primary differences that are currently valid and whose monitor-and-adjust blocks have the primary difference associated with any valid primary reference clock signal 1301 . 1 - 1301 . n close to zero.
- output clock signal 1302 is effectively locked to all valid inputs and altering the members of the valid set has an even smaller impact on phase.
- An embodiment can be optimized to have less circuitry. For example, instead of individual monitor-and-adjust blocks, an embodiment may have a single monitor-and-adjust block that cycles through the fractional phase predictors of all active loops, adjusting only one at a time.
- a primary loop can have an individual sleep mode. This is illustrated in block 1313 , where gate 1340 is configured to interrupt primary reference clock signal 1301 . n.
- gate 1340 is configured to interrupt primary reference clock signal 1301 . n.
- primary loop sleep signal Sleep.n When primary loop sleep signal Sleep.n is asserted, gated reference clock signal 1371 is inactive, and fractional phase predictor 1346 cannot calculate updates for primary predicted phase 1373 and register 1342 cannot update primary sampled phase 1372 .
- primary loop sleep signal Sleep.n can also place monitor-and-adjust block 1348 in sleep mode, such that effectively all circuits in primary loop block 1313 are inactive.
- An embodiment whose primary loops are all in sleep mode may place loop filter 1328 in sleep mode, maintaining a constant output. When this occurs, the secondary loop enters a holdover mode, maintaining frequency lock to the secondary reference clock signal 1305 , where the output clock signal 1302 frequency is determined by the last active primary loop.
- An embodiment may further include sleep mode signal SleepOsc , which can stop operation of controlled oscillator 1320 . This type of sleep mode impacts all loops, and fully halts operation of jitter attenuator 1300 .
- FIG. 13 shows example jitter attenuator 1300 as an embodiment with up-counting modulo-K counter 1324 and an up-counting fractional phase predictors. Other embodiments may use down-counters and/or down-counting fractional phase predictors. Counting limits may be chosen different than 0 and K, for example K and 0, or 0 and ⁇ K, or any other set of integer values that differ by K. Some embodiments may use an adder instead of a subtractor, and calculate a sampled phase as a negative value.
- FIG. 13 shows example jitter attenuator 1300 as an embodiment with AND gates for gates 1340 , and with the signals Sleep 1 and SleepOsc asserted negative.
- gating of primary reference clock signals 1301 . 1 - 1301 . n can just as easily be achieved with another type of gate, such as a NAND gate, an OR gate, a NOR gate, an XOR gate, a pass gate, and a combination of any number of those gates, and with either one or both of the sleep signals asserted positive.
- a NAND gate such as a NAND gate, an OR gate, a NOR gate, an XOR gate, a pass gate, and a combination of any number of those gates, and with either one or both of the sleep signals asserted positive.
- FIG. 14 illustrates a method 1400 for jitter attenuation according to an embodiment of the invention.
- Method 1400 comprises the following steps.
- Step 1410 in a primary PLL loop, based on a primary reference clock signal and a rational first FCW, calculating an integer primary predicted phase. Based on the primary reference clock signal and a secondary PLL loop output clock signal, sampling a phase at a counter output to obtain an integer primary sampled phase.
- the counter may be a modulo-K counter. Calculating a primary difference by subtracting the primary sampled phase from the primary predicted phase.
- Step 1420 loop filtering the primary difference in a primary loop filter to obtain a second FCW.
- Step 1430 forwarding the second FCW to a secondary loop.
- Step 1440 based on the second FCW and a secondary reference clock signal, calculating a secondary predicted phase. Based on the secondary reference clock signal and the secondary PLL loop output clock signal, sampling a phase to obtain a secondary sampled phase. Calculating a secondary difference by subtracting the secondary sampled phase from the secondary predicted phase.
- Step 1450 loop filtering the secondary difference in a secondary loop filter to obtain an oscillator control code to control a controlled oscillator and to determine a frequency of the secondary PLL loop output clock signal.
- FIG. 15 illustrates a programmable system 1500 capable of implementing jitter attenuation methods according to embodiments of the invention.
- System 1500 is a jitter attenuator that comprises a fractional-N PLL 1510 , a modulo-K counter 1520 , a programmable processor 1530 , and a memory 1540 .
- Memory 1540 may be tangible, and it may be non-transitory.
- Programmable processor 1530 is configured to store software instructions and/or data in memory 1540 .
- Fractional-N PLL 1510 receives stable reference clock signal 1505 (for example, from a crystal oscillator).
- Programmable processor 1530 receives reference clock signal 1501 , and a primary FCW comprising integer part N 1503 and fractional part M 1504 .
- Programmable processor 1530 outputs secondary FCW 1506 to fractional-N PLL 1510 .
- Fractional-N PLL 1510 whose frequency is controlled by secondary FCW 1506 , outputs the output clock 1502 .
- Modulo-K counter 1520 counts cycles of output clock 1502 , and its output signal 1507 is a measure for the output clock phase, which it feeds back to programmable processor 1530 .
- Some embodiments may store integer part N 1503 and fractional part M 1504 as parameters in memory 1540 , either as part of the software instructions or as part of the data. Further embodiments may receive multiple reference clock signals, and may work with multiple FCWs. Yet further embodiments may use separate tangible non-transitory memories for software instructions and data.
- Programmable processor 1530 is programmed to execute instructions for, for example, the following operations:
- FIG. 16 illustrates another programmable system, 1600 , capable of implementing jitter attenuation methods according to embodiments of the invention.
- System 1600 is a jitter attenuator that comprises a controlled oscillator 1610 , a modulo-K counter 1620 , a programmable processor 1630 , a memory 1640 , and optionally a time-to-digital converter 1650 .
- Memory 1640 may be tangible, and it may be non-transitory.
- Programmable processor 1630 is configured to store software instructions and/or data in memory 1640 .
- Controlled oscillator 1610 receives oscillator control code 1606 from programmable processor 1630 .
- Programmable processor 1630 receives reference clock signal 1601 , a primary FCW comprising integer part N 1603 and fractional part M 1604 , and stable reference clock signal 1605 , which may, for example, come from a crystal oscillator.
- Controlled oscillator 1610 whose frequency is controlled by oscillator control code 1606 , outputs the output clock 1602 .
- Modulo-K counter 1620 counts cycles of output clock 1602 , and its output signal 1607 is a measure for the output clock phase, which it feeds back to programmable processor 1630 .
- Embodiments that include time-to-digital converter 1650 measure fractions of cycles of output clock signal 1602 in relation to active edges of stable reference clock signal 1605 .
- An embodiment may scale an output value of time-to-digital converter 1650 and add it to the output value of modulo-K counter 1620 to produce a rational value for a secondary sampled phase, comprising integer part 1607 and fractional part 1608 .
- Some embodiments may store integer part N 1603 and fractional part M 1604 as parameters in memory 1640 , either as part of the software instructions or as part of the data. Further embodiments may receive multiple reference clock signals, and may work with multiple FCWs. Yet further embodiments may use separate tangible non-transitory memories for software instructions and data.
- Programmable processor 1630 is programmed to execute instructions for, for example, the following operations:
- Circuits may have single-ended or differential inputs, and single-ended or differential outputs. Terminals to circuits may function as inputs, outputs, both, or be in a high-impedance state, or they may function to receive supply power, a ground reference, a reference voltage, a reference current, or other.
- Particular embodiments or parts of an embodiment may be implemented in a tangible, non-transitory computer-readable storage medium for use by or in connection with an instruction execution system, apparatus, system, or device.
- Particular embodiments can be implemented in the form of control logic in software, firmware, hardware or a combination of those.
- the control logic when executed by one or more processors, may be operable to perform that which is described in particular embodiments.
- a tangible medium such as a hardware storage device can be used to store the control logic, which can include executable instructions.
Abstract
Description
- This application claims priority from U.S. provisional patent application Ser. No. 62/422,736, entitled “Low-Power Single-Loop and Multiple-Loop Fractional-N PLLs” filed on Nov. 16, 2016, which is hereby incorporated by reference as if set forth in full in this application for all purposes.
- This application is related to U.S. patent application Ser. No. ______, entitled “Low-Power Fractional-N PLLs”, filed on <date>, which is hereby incorporated by reference as if set forth in full in this application for all purposes.
- The present invention relates generally to electronic circuits used to generate clock signals and in particular to digital phase-locked loops (PLLs).
- Phase-Locked Loops (PLLs) are circuits that produce an output clock signal whose phase is locked to the phase of an input reference clock signal. Phase, in the context of a PLL, means a signal's frequency value integrated over time, i.e., the signal's accumulated number of clock pulses. The ratio of the frequency of the output clock signal and the frequency of the reference clock signal can be a positive integer number, in which case the PLL is called an integer-N PLL; or it can be a positive rational number, in which case the PLL is called a fractional-N PLL. Rational numbers are numbers that can be expressed as a ratio of two integers. In the context of this document, a fractional-N number is a positive rational number consisting of an integer part (obtained by rounding down to the nearest integer number) and a fractional part.
- A PLL includes a controlled oscillator that produces the output clock signal. An analog PLL usually has a voltage-controlled oscillator (VCO), and a digital PLL may have a digitally-controlled oscillator (DCO). A PLL locks the phase (and as a result, frequency) of the output clock signal to the reference clock signal by measuring the accumulated number of output clock cycles, and adjusting the controlled oscillator frequency when the measured number deviates from a required number, referred to as or obtained from a frequency control word (FCW). The ratio of output clock cycles to reference clock cycles, measured over some duration, is called the PLL's multiplication factor. When a PLL is in lock, its multiplication factor matches its FCW.
- Frequency-Locked Loops (FLLs) are circuits that produce an output clock signal whose frequency is locked to the frequency of an input reference clock signal. Compared to a PLL, an FLL lacks the integration or accumulation over time. A PLL's integration may occur anywhere in its loop, for example in feedback circuits, or in feedforward circuits such as a loop filter. Whereas a PLL in lock will lock both frequency and phase ratios in output and reference signals, an FLL may lock only the frequency ratio but not necessarily the phase ratio.
- In an integer-N PLL, the frequency resolution of the output clock signal equals the frequency of the reference clock signal, since the output clock frequency equals a positive integer number times the reference clock frequency. Increasing or decreasing the positive integer number by one will result in the output clock frequency increasing or decreasing by one times the reference frequency. A finer output frequency resolution can be achieved by using a lower reference clock frequency. However, in practical PLLs this may increase the jitter.
- A fractional-N PLL can have a much better output clock frequency resolution without the need for a low reference clock frequency, as the ratio between the output clock and reference clock frequencies can be a positive rational number. An example of a fractional-N PLL is described in U.S. Pat. No. 8,994,523, entitled Phase-Locked Loop Apparatus and Method by Jenkins. The circuits described there provide potentially very high accuracy and low jitter, but at the expense of some energy. However, there is also a need for fractional-N PLLs that consume very little power, even if they operate with more jitter.
- While most PLLs and FLLs have a single feedback loop, and are capable of locking to a single reference clock signal, some PLLs have multiple parallel feedback loops, allowing to lock to one of multiple reference clock signals, not necessarily of the same frequency. The capability to switch between the different reference clock signals without facing a discontinuity in phase and therefore a possibly extended lock-in time is called hitless switching. An example hitless switching PLL is described in U.S. Pat. No. 9,007,105 by Jenkins.
- A jitter attenuator is a PLL with the capability to provide an output clock signal whose jitter is substantially lower than jitter in the reference clock signal. A jitter attenuator usually has nested feedback loops. For example, it may have one or more primary feedback loops and one secondary feedback loop. The secondary loop may be locked to a highly stable reference source, such as a crystal oscillator, whereas the primary loop(s) may be locked to one or more unstable or jittery reference sources. The jitter attenuator's average output clock frequency may be locked to the frequency of one of the jittery reference sources, whereas its jitter may be determined by the stable reference source.
- In many PLLs, whether used for logic clocking, video clocking, instrumentation, wireless, wired or optical communication, there is a need to lower power usage.
- Reference to any prior art in the specification is not, and should not be taken as, an acknowledgment or any form of suggestion that this prior art forms part of the common general knowledge in the USA, China, Australia, or any other jurisdiction or that this prior art could reasonably be expected to be ascertained, understood and regarded as relevant by a person skilled in the art.
- In a first aspect (for example,
FIGS. 11 and 12 ), an embodiment of the invention includes a primary loop with a primary reference clock input, and a secondary loop with a stable reference clock signal input. The secondary loop includes a fractional-N PLL, which may include a controlled oscillator, a modulo-K counter coupled with the controlled oscillator, a secondary register, a secondary phase predictor, a secondary subtractor or adder, and a secondary loop filter. The secondary loop operates as a basic fractional-N PLL, generating an output clock signal whose phase is locked to the stable reference clock signal phase based on a secondary frequency control word (FCW). - The primary loop includes a primary register, clocked by the primary reference clock signal, sampling a modulo-K counter (its own, or one shared with the secondary loop) output to obtain a primary sampled phase as an integer number. A primary fractional phase predictor calculates a primary predicted phase as an integer number of clock cycles, based on the phase of the primary reference clock signal (i.e., the number of reference clock signal pulses received) and on a rational number primary FCW. A primary subtractor or adder calculates the primary difference between the primary sampled phase and the primary predicted phase. A primary loop filter takes the primary difference (an integer number) and filters it to generate the secondary FCW.
- The modulo-K counter, the primary fractional phase predictor, and the secondary phase predictor may each have a range that is much larger than a maximum number of output clock cycles during a reference clock signal cycle. The primary fractional phase predictor may include an interpolator for determining an integer number part of the primary predicted phase based on a fractional part of the primary FCW. The interpolator may provide a noise-shaping function, for example a sigma delta modulator or a multistage noise shaping (MASH) modulator.
- In embodiments, the primary loop filter bandwidth may be much smaller than the secondary loop filter bandwidth. In some embodiments, the secondary loop may include a time-to-digital converter and may use rational numbers for the primary and/or secondary FCW, a secondary predicted phase, a secondary sampled phase, and a secondary phase difference. In other embodiments, some or all of these secondary loop numbers may be integer.
- In further embodiments (for example, as in
FIG. 13 ), the primary loop has a primary sleep signal input coupled with a gate that blocks the primary reference clock signal when a primary sleep mode control signal is asserted. Yet further embodiments may include an oscillator sleep control signal input, to stop operation of the controlled oscillator. - Even further embodiments may have multiple primary loops, which may have monitor-and-adjust functions to provide for hitless switching.
- In a second aspect (
FIG. 14 ), an embodiment provides a method for jitter attenuation, with the following steps: (a) in a primary PLL loop, based on a primary reference clock signal and a rational first FCW, calculating an integer primary predicted phase; based on the primary reference clock signal and a secondary PLL loop output clock signal, sampling a phase at a modulo-K counter output to obtain an integer primary sampled phase; calculating a primary difference by subtracting the primary sampled phase from the primary predicted phase; (b) forwarding the primary difference to a secondary loop; (c) loop filtering the primary difference in a primary loop filter to obtain a second FCW; (d) based on the second FCW and a secondary reference clock signal, calculating a secondary predicted phase; based on the secondary reference clock signal and the secondary PLL loop output clock signal, sampling a phase to obtain a secondary sampled phase; calculating a secondary difference by subtracting the secondary sampled phase from the secondary predicted phase; and (e) loop filtering the secondary difference in a secondary loop filter to obtain an oscillator control code to control a controlled oscillator and to determine a frequency of the secondary PLL loop output clock signal. - In a third aspect (for example,
FIG. 15 orFIG. 16 ), an embodiment provides a programmable system for jitter attenuation, and in a fourth aspect, an embodiment provides a tangible non-transitory memory with instructions to provide a jitter attenuation function. - As used herein, except where the context requires otherwise, the term “comprise” and variations of the term, such as “comprising”, “comprises” and “comprised”, are not intended to exclude further additives, components, integers or steps.
- Further aspects of the present invention and further embodiments of the aspects described in the preceding paragraphs will become apparent from the following description, given by way of example and with reference to the accompanying drawings.
- The invention will be described with reference to the drawings, in which:
-
FIG. 1 illustrates a fractional-N PLL according to an embodiment of the invention; -
FIGS. 2A-D illustrate example fractional phase predictors according to embodiments of the invention; -
FIG. 3 illustrates a method for generating an output clock signal whose phase is locked to a reference clock signal phase by a rational number according to an embodiment of the invention; -
FIG. 4 illustrates a programmable system capable of implementing PLL methods according to embodiments of the invention; and -
FIG. 5 illustrates a fractional-N PLL with sleep modes according to embodiments of the invention; -
FIGS. 6 illustrates a mode diagram according to an embodiment of the invention; -
FIG. 7 illustrates a method to maintain phase lock and/or approximate frequency lock in a PLL over a sleep period according to an embodiment of the invention; -
FIG. 8 illustrates a hitless switching multiple-loop PLL according to an embodiment of the invention; -
FIG. 9 illustrates a hitless switching multiple-loop PLL with sleep modes according to an embodiment of the invention; -
FIG. 10 illustrates a method for hitless switching in a multiple-loop PLL according to an embodiment of the invention; -
FIG. 11 illustrates a jitter attenuator according to an embodiment of the invention; -
FIG. 12 illustrates additional details of a jitter attenuator according to some embodiments of the invention; -
FIG. 13 illustrates details of a jitter attenuator with multiple primary loops according to an embodiment of the invention; -
FIG. 14 illustrates a method for jitter attenuation according to an embodiment of the invention; -
FIG. 15 illustrates a programmable system capable of implementing jitter attenuation methods according to embodiments of the invention; and -
FIG. 16 illustrates another programmable system capable of implementing jitter attenuation methods according to embodiments of the invention. - Phase-Locked Loops (PLLs) are circuits that produce an output clock signal whose phase is locked to the phase of a reference clock input signal. Phase, in the context of a PLL, means a signal's frequency value integrated over time, i.e., the signal's accumulated number of clock pulses. The ratio of the frequency of the output clock signal and the frequency of the reference clock signal can be a positive integer number, in which case the PLL is called an integer-N PLL; or it can be a positive rational number, in which case the PLL is called a fractional-N PLL. Rational numbers are numbers that can be expressed as a ratio of two integers. In the context of this document, a fractional-N number is a positive rational number consisting of an integer part (obtained by rounding down to the nearest integer number) and a fractional part.
- A digital PLL may measure the output clock phase, and compare the measured phase with a required or predicted phase. The required ratio is sometimes referred to as or obtained from a frequency control word (FCW). The ratio of oscillator output clock cycles to input reference clock cycles is called the PLL's multiplication factor. When a PLL is in lock, its multiplication factor matches its FCW. Embodiments of the invention perform measurement of the output phase by counting the output clock cycles in a modulo-K counter, which accumulates fully completed (i.e., integer) cycles only. A fractional phase predictor generates an integer comparison phase, based on the reference clock and a fractional-N FCW. The embodiments performs phase comparison using a digital subtractor (or adder). They filter the comparison result in a loop filter, and use the loop filter output to control the oscillator. Embodiments of the invention are related to (but different than) an earlier fractional-N PLL with a time-to-digital converter described in U.S. Pat. No. 8,994,523, entitled Phase-Locked Loop Apparatus and Method by Jenkins, which relied on rational rather than integer phase comparison.
- A modulo-K counter, for the purposes of this patent document, is a counter that counts up to K pulses at an input, providing a counted value at an output, restarting at a start value upon counting every Kth pulse. A modulo-K counter may count up or count down. The start value may be zero, or any other value. The counted value may be expressed as a binary number, or in any other representation of a number. Examples in this patent document are based on up-counting from a value 0 to a value K−1, after which the counter restarts at 0. However, mutatis mutandis, all examples are equally valid for counters counting down or starting at different values. The value of K may be fixed, or it may be programmable, or it may be made to vary over time.
-
FIG. 1 illustrates a fractional-N PLL 100 according to an embodiment of the invention.PLL 100 receivesreference clock signal 101 and producesoutput clock signal 102. The frequency ratio ofoutput clock signal 102 andreference clock signal 101 is determined by a fractional-N FCW that includesinteger number N 103 and fraction ofN 104. Controlledoscillator 110 producesoutput clock signal 102. Modulo-K counter 120 accumulates the controlledoscillator 110 frequency by counting cycles ofoutput clock signal 102. Therefore, the modulo-K counter 120 output signal (at 105) is representative for the phase ofoutput clock signal 102. Upon receiving areference clock signal 101 pulse, register 130samples phase 105, stores it, and makes it available as sampledphase 106.Register 130 may include a set of parallel latches, for example D-latches with enable and data inputs, each latch for one bit of thephase 105 code word, each latch triggered byreference clock signal 101, and each latch providing one bit of the sampledphase 106 code word. -
Fractional phase predictor 140 takesinteger number N 103 and fraction ofN 104, and upon receiving areference clock signal 101 pulse,fractional phase predictor 140 calculates predictedphase 107 as explained later with reference toFIGS. 2A-D . Althoughfractional phase predictor 140 receives a fractional-N FCW, embodiments may output predictedphase signal 107 as only an integer number.Subtractor 150 calculates adifference 108 between a required phase and a measured phase by subtracting sampledphase 106 from predictedphase 107.Loop filter 160 integrates and filtersdifference 108 to produceoscillator control code 109, which controls the frequency ofoutput clock signal 102. - The fractional-N FCW includes
integer number N 103, which may have any integer value below a maximum RN, where RN stands for the range ofinteger number N 103. It further includes fraction ofN 104, which may be expressed as an integer value M below a maximum RM, where RM stands for the range of fraction ofN 104. ThePLL 100 multiplication factor is fout/ fref=(N+M/RM). - Modulo-
K counter 120 andfractional phase predictor 140 need to be able to track the phase of the output clock signal over a sufficiently large range. For modulo-K counter 120 this range equals K: upon reaching a counted value of K−1, the counter continues counting at 0. Naturally, the range K needs to be large enough to count RN cycles ofoutput clock signal 102 during one cycle ofreference clock signal 101. To correct large phase errors, or to relock at the correct phase after lock has been temporarily lost, embodiments of the invention may use a large range K, for instance K>>RN. For example, the range K of the modulo-K counter may be at least two times larger than a maximum number of output clock signal cycles RN during a reference clock signal cycle. Thus, the maximum value of a phase error is not limited by the period ofreference clock signal 101, but by the larger of K and a range offractional phase predictor 140. The range offractional phase predictor 140 is clarified with reference toFIG. 2A . -
FIG. 1 shows fractional-N PLL 100 as an example embodiment with up-counting modulo-K counter 120 and an up-countingfractional phase predictor 140. Other embodiments may use a down-counter and/or a down-counting fractional phase predictor. Counting limits may be chosen different than 0 and K, for example K and 0, or 0 and −K, or any other set of integer values that differ by K. Some embodiments may use an adder instead of a subtractor, and calculate the sampled phase as a negative value. - In an embodiment alternative to
FIG. 1 ,subtractor 150 is omitted. The fractional phase predictor outputs a series of integer numbers whose average equals the FCW determined by N (103) and fraction of N (104). The embodiment programs the value of K in modulo-K counter 120 to be equal to the output number of the fractional phase predictor. Modulo-K counter 120 counts down from the pre-programmed K to zero. Upon achieving zero, modulo-K counter 120 presets to the next K value that is output by the fractional phase predictor. The embodiment interprets a counter output value that is in a range below K as a negative number, meaning that the controlled oscillator frequency is higher than the K times thereference clock signal 101 frequency. In yet another alternative embodiment, the K value is programmed similarly, however, the counter counts down between K/2 and −K/2. -
FIGS. 2A-D illustrate examplefractional phase predictors 200A-D according to embodiments of the invention. If fractional-N PLL 100 is in lock, then fout/fref=FCW=(N+M/RM). - It follows that after c cycles of
reference clock signal 101, there should be c×FCW cycles ofoutput clock signal 102. A fractional phase predictor takes a fractional-N FCW, but it outputs an integer predicted phase, therefore, the predicted phase may have the value round(c×FCW). Thus, the predicted phase includes quantization noise. The range of a fractional phase predictor is determined by the maximum value that the predicted phase can have, i.e. the maximum value of round(c×FCW). - A most basic embodiment of a fractional phase predictor, as will also be shown in
FIG. 2B , is a fractional-N accumulator, whose output bits are truncated to carry only the integer result of the accumulation. However, simple truncation may introduce a quantization noise spectrum that causes unacceptable output clock jitter in some applications. Therefore, we prefer to view the fractional phase predictor from the perspective described below. All embodiments receive the fractional-N FCW that includesinteger number N 103 and fraction ofN 104, as well asreference clock signal 101. They all output the predictedphase 107 as an integer number. -
FIG. 2A illustrates ageneral embodiment 200A offractional phase predictor 140. -
General embodiment 200A includes an integer-Naccumulator comprising adder 201 and register 202.Adder 202 addsinteger number N 103, predictedphase 107, and interpolatedvalue 222 to producesum 221. Upon receiving areference clock signal 101 pulse, register 202 samples sum 221, stores it, and outputs it as an updated value of predictedphase 107.Interpolator 203 receives fraction ofN 104 and outputs interpolatedvalue 222.Interpolator 203 may provide dithering or noise shaping to change the quantization noise spectrum and move part of the quantization noise energy from low frequencies to higher frequencies. This is advantageous for fractional-N PLL 100 inFIG. 1 , becauseloop filter 160 will generally be more effective in removing high-frequency noise than low-frequency noise, as a result of which controlledoscillator 110 will deliver a more stableoutput clock signal 102.Interpolator 203 may provide dithering or noise shaping through any method known in the art, for example using a sigma delta modulator, a bandpass sigma delta modulator, parallel sigma delta modulators, a multistage noise shaping (MASH) modulator, a sturdy MASH (SMASH) modulator, etc. -
FIG. 2B illustrates an examplefractional phase predictor 200B according to an embodiment of the invention, wherein the interpolator comprises a first order MASH modulator.Items signals FIG. 2A .Interpolator 203 is implemented as an accumulator of fraction ofN 104, comprisingadder 204 and register 205.Adder 204 sums fraction ofN 104 and accumulatedfraction 224 to producesum 223. Upon receiving areference clock signal 101 pulse, register 205 samples sum 223, stores it, and outputs it as an updated value of accumulatedfraction 224. Whenadder 204 overflows, it outputs a carry signal as interpolatedvalue 222 foradder 201. - MASH modulators have been well covered in the art. They were first described by T. Hayashi, Y. Inabe, K. Uchimura, and A. Iwata in “A multi stage delta-sigma modulator without double integration loop” (ISSCC Digest of Technical Papers, pp. 182-183, 1986).
FIGS. 2C and 2D illustrateembodiments - Although the example fractional phase predictors in
FIGS. 2A-D have been described with adders to calculate a positive integer predictedphase 107, other embodiments may use subtractors and other elements to calculate the same result or to calculate a negative integer value for predictedphase 107. All such variations are within the ambit and scope of the present invention. -
FIG. 3 illustrates amethod 300 for generating an output clock signal whose phase is locked to a reference clock signal phase by a rational number according to an embodiment of the invention.Method 300 comprises the following steps. - Step 310—in a controlled oscillator, generating an output clock signal, wherein an output clock frequency is controlled by an oscillator control code.
- Step 320—in a modulo-K counter, counting a number of output clock cycles. The modulo-K counter may count up or down, between a minimum value, for example 0, and a maximum value, for example K−1. Once it has reached the maximum (or minimum) value, it continues counting at the minimum (or maximum) value, respectively. In some embodiments, the value of K may be much higher than a maximum value of the rational number, for example, at least two times higher.
- Step 330—upon receiving a reference clock signal pulse, sampling the counted number of output clock cycles and storing the sampled number of output clock cycles in a register.
- Step 340—upon receiving the reference clock signal pulse, calculating an integer number of predicted output clock cycles based on an integer number representing the reference clock signal phase and a rational frequency control word number. Embodiments may perform the calculation by accumulating at least part of the frequency control word for each newly received reference clock signal pulse. The reference clock signal phase is determined by the number of received reference clock signal pulses. An embodiment may increment the number of predicted output clock cycles with the value of the frequency control word each time it receives a reference clock signal pulse; therefore, the number of predicted output clock cycles will equal the reference clock signal phase times the frequency control word. Embodiments may further perform noise shaping by shifting quantization noise to higher frequencies, for example by using delta sigma modulators or MASH modulators.
Steps - Step 350—calculating a difference between the integer number of predicted output clock cycles and the sampled number of output clock cycles, and forwarding the difference to a digital loop filter.
- Step 360—in the digital loop filter, filtering the calculated difference to generate an updated oscillator control code, and in the controlled oscillator, updating the output clock frequency. The digital loop filter may have any frequency and phase transfer function as usual or as known in the art of PLL design provided that the transfer function enables PLL stability. In embodiments, filter parameters in the digital loop filter may be fixed or programmable.
- Step 370—upon receiving successive reference clock signal pulses, updating the sampled number of output clock cycles and the predicted output clock cycles to provide the controlled oscillator updated oscillator control codes to lock the output clock signal phase to the reference clock signal phase.
-
FIG. 4 illustrates aprogrammable system 400 capable of implementing PLL methods according to embodiments of the invention.System 400 is a PLL that comprises a controlledoscillator 410, a modulo-K counter 420, aprogrammable processor 430, and amemory 440.Programmable system 400 is configured to store software instructions and/or data inmemory 440.Programmable processor 430 receivesreference clock signal 401, and a FCW comprisinginteger part N 403 andfractional part M 404.Programmable processor 430 outputsoscillator control code 405 to controlledoscillator 410. Controlledoscillator 410, whose frequency is controlled byoscillator control code 405, outputs theoutput clock 402. Modulo-K counter 420 counts cycles ofoutput clock 402, and itsoutput signal 406 is a measure for the output clock phase, which it feeds back toprogrammable processor 430. Some embodiments may storeinteger part N 403 andfractional part M 404 as parameters inmemory 440, either as part of the software instructions or as part of the data. Further embodiments may receive multiple reference clock signals, and may work with multiple FCWs. Yet further embodiments may use separate memories for software instructions and data. -
Programmable processor 430 may, for example, be programmed to execute instructions for the following operations: - (a) upon receiving a
reference clock signal 401 pulse, sampling a modulo-K counter 420output value 406 and storing theoutput value 406 as a sampled phase in a register; - (b) upon receiving the
reference clock signal 401 pulse, calculating an integer number of predicted output clock cycles based on an integer number representing a reference clock signal phase and a rational number representing a FCW; - (c) calculating a difference between the integer number of predicted output clock cycles and the sampled phase;
- (d) integrating and filtering the calculated difference to generate an updated oscillator control code; and
- (e) upon receiving a successive reference clock signal pulse, updating the sampled phase and the number of predicted output clock cycles to provide the controlled oscillator updated oscillator control codes to lock the output clock signal phase to the reference clock signal phase.
-
FIG. 5 illustrates a fractional-N PLL 500 with sleep modes according to embodiments of the invention. Some embodiments, capable of maintaining phase lock over a sleep period (ignoring the reference clock during the sleep period), feature gatedoutput clock signal 502A. Other embodiments, capable of maintaining approximate frequency lock while free-running during a partial sleep period, feature ungatedoutput clock signal 502B. Yet other embodiments feature both gatedoutput clock signal 502A and ungatedoutput clock signal 502B. -
PLL 500 is similar toPLL 100 ofFIG. 1 , with the addition of sleep mode control signalsSleep1 (505) andSleepOsc (506) and associatedgates PLL 500 has the following modes: active, first sleep, and in some embodiments also second sleep. In active mode, the signalsSleep1 (505) andSleepOsc (506) are de-asserted. In first sleep mode, the signalSleep1 (505) is asserted andSleepOsc (506) is de-asserted. In second sleep mode, both signalsSleep1 (505) andSleepOsc (506) are asserted. In active mode,PLL 500 operates the same asPLL 100. In the example embodiment drawn,Sleep1 (505) may be changed synchronously toreference clock signal 501. - In active mode, controlled
oscillator 520 oscillates, and its output signal, which may be available as ungatedoutput clock signal 502B, passes throughgate 522, which may comprise an AND gate as shown in this example, to gatedoutput clock signal 502A and to modulo-K counter 524. Modulo-K counter 524 calculates the controlledoscillator 520phase 508 by counting cycles of gatedoutput clock signal 502A. Upon receiving areference clock signal 501, passing throughgate 528, which may comprise an AND gate as shown in this example, register 526samples phase 508, stores it, and makes it available as sampledphase 509.Register 526 may include a set of parallel latches, for example D-latches with enable and data inputs, each latch for one bit of thephase 508 code word, each latch triggered bygated reference clock 510, and each latch providing one bit of the sampledphase 509 code word. -
Fractional phase predictor 530 takesinteger number N 503 and fraction of N 504 (together a fractional-N FCW), and upon receiving gatedreference clock signal 510,fractional phase predictor 530 calculates predictedphase signal 511 such as was explained in detail with reference toFIGS. 2A-D . Althoughfractional phase predictor 530 receives a fractional-N FCW, embodiments may output predictedphase signal 511 as only an integer number.Subtractor 532 calculates adifference 512 between a required phase and a measured phase by subtracting sampledphase 509 from predictedphase 511.Loop filter 534 integrates and filtersdifference 512 to produceoscillator control code 513, which controls the controlledoscillator 520′s frequency. - The fractional-N FCW includes
integer number N 503, which may have any integer value below a maximum RN, where RN stands for the range ofinteger number N 503. It further includes fraction ofN 504, which may have any integer value M below a maximum RM, where RM stands for the range of fraction ofN 504. ThePLL 500 multiplication factor is fout/fref=(N+M/RM). - Modulo-
K counter 524 andfractional phase predictor 530 need to be able to track the phase of the output clock over a sufficiently large range. For modulo-K counter 524 this range equals K: upon reaching a counted value of K−1, the counter continues counting at 0. Naturally, the range K needs to be large enough to count RN cycles of gatedoutput clock signal 502A during one cycle ofgated reference clock 510. To correct large phase errors, or to relock at the correct phase after lock has been temporarily lost, embodiments of the invention may use a large range K, for instance K>>RN. For example, the range K of the modulo-K counter may be at least two times larger than a maximum number of output clock signal cycles RN during a reference clock signal cycle. Thus, the maximum value of the phase error is not limited by the period of thereference clock signal 501, but by the larger of K and the range offractional phase predictor 530. - First sleep mode commences when signal
Sleep1 (505) is asserted, for example, as drawn when it is pulled low. At that time,gate 528 blocksreference clock signal 501, andgate 522 blocks gatedoutput clock signal 502A. Therefore, modulo-K counter 524 receives no clock cycles to count, andfractional phase predictor 530 and register 526 do not update. As a result, the embodiment uses less power in modulo-K counter 524, register 526,fractional phase predictor 530,subtractor 532, andloop filter 534. SignalSleepOsc (506) may subsequently be asserted to enter second sleep mode and stop controlledoscillator 520 to save further power. - Signal
SleepOsc (506) is de-asserted no later than signalSleep1 (505) is de-asserted, i.e.,oscillator 520 is started no later thanreference clock signal 501 and output clock signal 502 are (re-)enabled. By starting controlledoscillator 520 early and by stopping it late with reference to signalSleep1 (505), a user can isolate gatedoutput clock signal 502A from controlledoscillator 520 start-up or power-down behavior. - To maintain phase accuracy, signal
Sleep1 (505) must be asserted and de-asserted synchronously to reference clock signal 502. Some embodiments may enforce synchronicity by passing signalSleep1 (505) to a D-latch 536 enabled byreference clock signal 501, and using a D-latch output signal 505A as an input signal forgates - An embodiment of example fractional-
N PLL 500 that does not require synchronicity of signalSleep1 (505) toreference clock signal 501 may copy either sampledphase 509 or sampledphase 509 corrected for a current difference 512 (by subtracting thecurrent difference 512 from sampled phase 509) to a register infractional phase predictor 530 upon receiving the firstreference clock signal 501 pulse after sleep mode, such that a discontinuity in phase difference is avoided and the updateddifference 512 equals zero or thecurrent difference 512. For example, an embodiment using thefractional phase predictor 200A inFIG. 2A may copy the sampledphase 509 inFIG. 5 to register 202 inFIG. 2A . Or the embodiment may correct sampledphase 509 by subtracting acurrent difference 512 and copy the corrected value to register 202. However, in such an embodiment, example fractional-N PLL 500 only maintains approximate frequency lock but not phase lock over the sleep mode period. -
FIG. 5 shows example fractional-N PLL 500 as an embodiment with up-counting modulo-K counter 524 and an up-countingfractional phase predictor 530. Other embodiments may use a down-counter and/or a down-counting fractional phase predictor. Counting limits may be chosen different than 0 and K, for example K and 0, or 0 and −K, or any other set of values that differ by K. Some embodiments may use an adder instead of a subtractor, and calculate the sampled phase as a negative value.FIG. 5 shows example fractional-N PLL 500 as an embodiment with AND gates forgates Sleep1 andSleepOsc asserted negative. A person having ordinary skill in the art will know that gating ofreference clock signal 501 andoutput clock signal 502A can just as easily be achieved with another type of gate, such as a NAND gate, an OR gate, a NOR gate, an XOR gate, a pass gate, and a combination of any number of those gates, and with either one or both of the sleep signals asserted positive. Such embodiments are fully within the scope and ambit of the invention. - Whereas the use of gated
output clock signal 502A allows keeping phase lock over a period of at least the first sleep mode, ignoring any reference clock cycles during the period, the use of ungatedoutput clock signal 502B allows maintaining approximate frequency lock while free-running during the first sleep mode. Embodiments keep theloop filter 534 output at a fixed oscillator control code, approximately fixing theoutput clock signal 502B frequency. During first sleep mode, only controlledoscillator 520 is active, and example fractional-N PLL 500 can save power of operating the other included circuits. -
FIG. 6 illustrates a mode diagram 600 according to an embodiment of the invention. - Mode diagram 600 in
FIG. 6 illustrates the modes inFIG. 5 . There are three modes: active mode, first sleep mode, and (in some embodiments) second sleep mode. An embodiment transitions from the active mode to the first sleep mode when the signalSleep1 is asserted, and from the first sleep mode to active mode when the signalSleep1 is de-asserted. An embodiment that also has the second sleep mode transitions from the first sleep mode to the second sleep mode when the signalSleepOsc is asserted, and it transitions from the second sleep mode to the first sleep mode when the signalSleepOsc is de-asserted. - In the first sleep mode, the embodiment disables the reference clock signal, the gated output clock signal, the modulo-K counter, the register, the fractional phase predictor, the subtractor, and the loop filter. In the second sleep mode, it disables the same circuits as in the first sleep mode, as well as the controlled oscillator.
-
FIG. 7 illustratesmethod 700 to maintain phase lock and/or approximate frequency lock in a PLL over a sleep period, wherein the PLL has an active mode and at least a first sleep mode, and the PLL is configured to receive a reference clock signal and at least a first sleep mode control signal.Method 700 comprises the following steps. - Step 710—during active mode, upon receiving a reference clock signal pulse, determining a controlled oscillator's phase, determining a predicted phase, and adjusting a controlled oscillator frequency based on a difference between the controlled oscillator's phase and the predicted phase. An embodiment may sample the controlled oscillator's phase in a register and store it as an integer number. The embodiment may determine the predicted phase based on a fractional-N FCW and calculate the predicted phase as an integer number. The embodiment may perform noise shaping on the predicted phase.
- Step 720—receiving a change in the first sleep mode control signal. In some embodiments, the change in the first sleep mode control signal may arrive synchronously with the reference clock signal.
- Step 730—upon determining that the first sleep mode control signal is asserted:
-
- a. canceling the active mode
- b. entering the first sleep mode
- c. freezing sampled and predicted phase values, phase difference, loop filter internal values, and a resulting oscillator control code (OCC)
- d. blocking the reference clock signal and a gated output clock signal
- e. (optional) continuing to use an ungated output clock signal as a signal in approximate frequency lock with the reference clock signal
- f. continuing with
step 720.
- Step 740—upon determining that the first sleep mode control signal is not asserted:
-
- a. canceling the first sleep mode
- b. entering active mode
- c. unfreezing the sampled and predicted phase values, phase difference, loop filter internal values, and the resulting OCC
- d. unblocking the reference clock signal and the gated output clock signal, wherein the gated output clock signal may be used as a signal in phase lock with the reference clock signal
- e. continuing with
step 710.
- In embodiments in which the de-asserted first sleep mode control signal may arrive a-synchronously with the reference clock signal, step 740 may further comprise: determining an updated predicted phase by copying either an updated sampled phase or a corrected updated sampled phase to a register in a fractional phase predictor, wherein the corrected updated sampled phase includes the updated sampled phase minus a current difference.
-
Method 700 may additionally include the following steps: - Step 750—receiving a change in a second sleep mode control signal. Note that after
step 730, an embodiment may receive either a change in the first sleep mode control signal (step 720) or in the second sleep mode control signal (step 750), and in both cases it responds correctly. This means that an embodiment, afterstep 730, may continue with either step 720 or step 750 as required by the sleep mode control signal that is changing. The embodiment monitors both signals in parallel. - Step 760—upon determining that the second sleep mode control signal is asserted:
-
- a. entering a second sleep mode
- b. stopping the controlled oscillator
- c. continuing with
step 750.
- Step 770—upon determining that the second sleep mode control signal is not asserted:
-
- a. canceling the second sleep mode
- b. starting the controlled oscillator
- c. continuing with
step 720.
-
FIG. 8 illustrates a hitless switching multiple-loop PLL 800 according to an embodiment of the invention. Some applications use multiple reference clock signals. This may for instance be the case when the best reference signal is not always available, but there are some backup reference signals that can be used instead. Or the system may have multiple active modes, where each mode provides its own reference clock signal. The reference clock signals may have different frequencies, and/or different reference clock signals may need multiplication with different FCWs. - The capability to switch between the different reference clock signals without facing a discontinuity in phase and therefore a possibly extended lock-in time is called hitless switching. An example hitless switching PLL is described in U.S. Pat. No. 9,007,105 by Jenkins. Some embodiments of the present invention, as described in the following, are related to the PLL in U.S. Pat. No. 9,007,105.
- Multiple-
loop PLL 800 features 2 or more parallel loops, each dedicated to one of the reference clock signals 801.1-801.n, and each taking a FCW comprising integer number N.x (803.x) and fraction M.x (804.x). Multiple-loop PLL 800 has the following common blocks, shared by all loops: controlledoscillator 810, modulo-K counter 820,multiplexer 870, andloop filter 880. The frequency of controlledoscillator 810 is controlled byoscillator control code 889. Controlled oscillator generatesoutput clock signal 802, which is also an input signal for modulo-K counter 820 that measures an integer value forphase 884. - Each loop has an individual register 830.1-830.n, subtractor 840.1-840.n, fractional phase predictor 850.1-850.n, and monitor-and-adjust block 860.1-860.n. Each register 830.x, upon receiving a reference clock signal 801.x pulse,
samples phase 884 and stores it as sampled phase 885.x. Each fractional phase predictor 850.x, upon receiving a reference clock signal 801.x pulse, calculates a predicted phase 886.x. Each subtractor 840.x subtracts sampled phase 885.x from predicted phase 886.x to calculate difference 887.x. Each difference 887.x is an input signal formultiplexer 870, which selects one of them and passes it toloop filter 880 as the selecteddifference 888.Loop filter 880 integrates and filters the selecteddifference 888 to produceoscillator control code 889. - Fractional phase predictors 850.x take integer numbers N 803.x and their fractions M 804.x (together forming fractional-N FCWs), and upon receiving a reference clock signal 801.x pulse, a fractional phase predictor 850.x calculates predicted phase 886.x as explained earlier with reference to
FIGS. 2A-D . Although fractional phase predictor 850.x receives a fractional-N FCW, embodiments may output predicted phase signal 886.x as only an integer number. - Modulo-
K counter 820 and fractional phase predictors 850.1-850.n need to be able to track the phase of the output clock over a sufficiently large range. For modulo-K counter 820 this range equals K: upon reaching a counted value of K−1, the counter continues counting at 0. Naturally, the range K needs to be large enough to count RN cycles ofoutput clock signal 802 during one cycle of reference clock signal 801.x. To correct large phase errors, or to relock at the correct phase after lock has been temporarily lost, embodiments of the invention may use a large range K, for instance K>>RN. For example, the range K of the modulo-K counter 820 may be at least two times larger than a maximum number of output clock signal cycles RN during a reference clock signal cycle. Thus, the maximum value of a phase error is not limited by the period of reference clock signal 801.x, but by the larger of K and a range of fractional phase predictor 850.x. The range of fractional phase predictors 850.x has been clarified with reference toFIG. 2A . - The monitor-and-adjust blocks 860.1-860.n are active only for loops that are not selected by
multiplexer 870. Monitor-and-adjust blocks 860.1-860.n monitor the differences 887.1-887.n from the respective subtractors 840.1-840.n and adjust registers (not shown) inside fractional phase predictors 850.1-850.n to minimize these differences 887.1-887.n. - A simple embodiment of a monitor-and-adjust block 860.x may just copy the sampled phase 885.x into the register (not shown, but for
instance register 202 inFIG. 2A ) inside fractional phase predictor 850.x so that the last prediction is effectively correct. - The monitor-and-adjust blocks 860.1-860.n are enabled only for fractional phase predictors 850.1-850.n that are not currently used for the active loop through
multiplexer 870. Any adjustment in the currently active loop can break the desired relationship between input and output frequency. The function of a monitor-and-adjust block 860.x is to maintain the minimum phase error of currently unused reference clock signal 801.x, and indicate if its frequency is at the desired ratio to the output clock signal. - In embodiments of the invention,
multiplexer 870 can be replaced by an averaging block that creates an error signal replacing selecteddifference 888 by averaging all the differences 887.1-887.n that are currently valid and whose monitor-and-adjust blocks 860.1-860.n have the difference 887.1-887.n associated with any valid reference clock signal 801.1-801.n close to zero. In this case,output clock signal 802 is effectively locked to all valid inputs and altering the members of the valid set has an even smaller impact on phase. - An embodiment can be optimized to have less circuitry. For example, instead of individual monitor-and-adjust blocks 860.1-860.n, an embodiment may have a single monitor-and-adjust block that cycles through fractional phase predictors 850.1-850.n, adjusting only one at a time.
-
FIG. 8 shows multiple-loop PLL 800 as an example embodiment with up-counting modulo-K counter 820 and an up-counting fractional phase predictors 850.1-850.n. Other embodiments may use a down-counter and/or down-counting fractional phase predictors. Counting limits may be chosen different than 0 and K, for example K and 0, or 0 and −K, or any other set of integer values that differ by K. Some embodiments may use adders instead of subtractors, and calculate the sampled phases as negative values. -
FIG. 9 illustrates a hitless switching multiple-loop PLL 900 with sleep modes according to an embodiment of the invention. Multiple-loop PLL 900 is similar to multiple-loop PLL 800, with the addition of sleep mode(s). Each loop may have an extra inputSleep.x , driving a gate 914.x, which may comprise an AND gate as shown in this example. Gate 914.x blocks reference clock signal 901.x in sleep mode, and passes it on in active mode. TheSleep.x signal further stops monitor-and-adjust block 960.x in sleep mode. Embodiments may allow each loop individually to enter a sleep mode or active mode. Whereasmultiplexer 970 will select only one loop at a time, this does not necessarily mean that all other loops can be in sleep mode. For hitless switching to occur, a loop needs to be active even while it is not selected. However, if a loop has been active for at least once cycle of reference clock signal 901.x, then, as drawn inFIG. 9 , hitless switching can occur. - The embodiment may further include sleep mode signal
SleepOsc , which can stop operation of controlledoscillator 910. This type of sleep mode impacts all loops, and fully halts operation of multiple-loop PLL 900. -
FIG. 9 shows example multiple-loop PLL 900 as an embodiment with up-counting modulo-K counter 920 and an up-counting fractional phase predictors 950.x. Other embodiments may use down-counters and/or down-counting fractional phase predictors. Counting limits may be chosen different than 0 and K, for example K and 0, or 0 and −K, or any other set of integer values that differ by K. Some embodiments may use an adder instead of subtractor 940.x, and calculate the sampled phase as a negative value.FIG. 9 shows example multiple-loop PLL 900 as an embodiment with AND gates for gates 914.1-914.n, and with the signalsSleep1 andSleepOsc asserted negative. A person having ordinary skill in the art will know that gating of reference clock signals 901.1-901.n can just as easily be achieved with another type of gate, such as a NAND gate, an OR gate, a NOR gate, an XOR gate, a pass gate, and a combination of any number of those gates, and with either one or both of the sleep signals asserted positive. Such embodiments are fully within the scope and ambit of the invention. -
FIG. 10 illustrates amethod 1000 for hitless switching in a multiple-loop PLL according to an embodiment of the invention.Method 1000 comprises the following steps. -
Step 1010—in a modulo-K counter, continuously counting a number of controlled oscillator output clock signal cycles. -
Step 1020—receiving a reference clock pulse. -
Step 1030—determining in which loop the reference clock was received. -
Step 1040—upon determining that a first pulse of a first reference clock signal was received in a selected first loop, sampling the number of output clock cycles to obtain a first sampled phase. Based on a first rational FCW and the first pulse, calculating a first predicted phase as an integer number in a first fractional phase predictor. Forwarding a first difference between the first predicted phase and the first sampled phase to a loop filter to generate a first oscillator control code to control a frequency of the controlled oscillator. Continue withstep 1020. -
Step 1050—upon determining that a second pulse of a second reference clock signal was received in a second loop that is not selected, sampling the number of output clock cycles to obtain a second sampled phase. Based on a second rational FCW and the second pulse, calculating a second predicted phase as an integer number in a second fractional phase predictor. Calculating a second difference between the second predicted phase and the second sampled phase. -
Step 1060—updating a register in the second fractional phase predictor such that the second difference remains within a small margin of zero. The small margin may be a margin that is calculated from the loop gain. The feedback loop in a PLL will operate to keep the first difference small, or generally the phase difference of the selected loop, where the maximum size of the difference depends on the loop gain. A larger gain will result in a smaller difference, therefore the margin is inversely proportional to the loop gain. Continue withstep 1020. - Some embodiments may set the small margin at zero and simply copy the value of the second sampled phase into the register in the second fractional phase predictor.
-
Method 1000 may further comprise the following steps (not shown inFIG. 10 ): - Step 1070—upon receiving a loop sleep signal for the second loop: disabling updating of the second sampled phase, disabling the second fractional phase predictor.
- Step 1080—upon receiving the loop sleep signal for the second loop: disabling a second monitor-and-adjust function.
- Step 1090—upon receiving a PLL sleep signal, disabling the controlled oscillator.
-
FIG. 11 illustrates ajitter attenuator 1100 according to an embodiment of the invention. The concept of a jitter attenuator is that a primary loop can lock to a primary reference clock signal with poor jitter behavior, whose frequency must be followed by an output clock signal, and that a secondary loop creates the actual output clock signal, based on the phase and stability of a secondary reference clock signal. By using different characteristics for loop filters for the primary loop and the secondary loop, embodiments can set different output clock phase noise spectra for the two different reference clock signal sources. For example, the active primary loop may determine the average frequency and lowest frequency phase noise, whereas the secondary loop may determine phase noise at higher frequencies. This can be accomplished by using a primary loop filter bandwidth that is much smaller than a secondary loop filter bandwidth, for example at least one hundred times smaller. -
Jitter attenuator 1100 comprises aprimary loop 1112 and asecondary loop 1110 which includes a fractional-N PLL.Primary loop 1112 includes a primary modulo-K counter 1122B whose input is coupled with a clock output of the fractional-N PLL insecondary loop 1110. Aprimary register 1142 has an input coupled with the primary modulo-K counter output, and a sample input that is clocked by a primaryreference clock signal 1101 received at a primaryreference clock signal 1101 input. Primary modulo-K counter 1122B measures the phase of the fractional-N PLLoutput clock signal 1102, andprimary register 1142 samples the phase upon receiving a primaryreference clock signal 1101 pulse to obtain sampledphase 1155.Primary loop 1112 further includes primaryfractional phase predictor 1146, which has an input for primaryreference clock signal 1101. Primaryfractional phase predictor 1146 calculates a primary predictedphase 1156 upon receiving a primaryreference clock signal 1101 pulse. Primary predictedphase 1156 includes an integer number and is based on a rational number primary frequency control word (FCW) that may include integer part 1103 (N) and fractional part 1104 (M). Primary subtractor oradder 1144 calculates an integer numberprimary difference 1157 between the primary predictedphase 1156 and the primary sampledphase 1155.Primary loop filter 1128 filters theprimary difference 1157 to obtainsecondary FCW 1158.Secondary FCW 1158 may include a rational number. -
Secondary loop 1110 includes a first input which is configured for receiving a stablereference clock signal 1105, for example from a crystal oscillator, and a second input configured for receiving thesecondary FCW 1158. Its output is configured to provide an output clock signal based on the stable reference clock signal and the secondary FCW. -
FIG. 12 illustrates additional details ofjitter attenuator 1200 according to some embodiments of the invention.Jitter attenuator 1200 has an architecture similar tojitter attenuator 1100 inFIG. 11 . Similar numbered blocks and signals inFIG. 12 have the same meanings and functions as inFIG. 11 . - Its fractional-N PLL in
secondary loop 1210 includes controlledoscillator 1220, modulo-K counter 1222A,secondary register 1224,phase predictor 1220, secondary subtractor oradder 1226, andsecondary loop filter 1232. Controlledoscillator 1220 generatesoutput clock signal 1202, which is also forwarded to modulo-K counter 1222A which outputs measuredphase signal 1250. In some embodiments, modulo-K counter 1222A and 1225B may be combined into a single modulo-K counter, providing measuredphase signal 1250 both toprimary register 1242 andsecondary register 1224.Secondary register 1224, upon receiving a secondaryreference clock signal 1205 pulse, samples measuredphase signal 1250 and delivers secondary sampledphase 1251 tosecondary subtractor 1226.Phase predictor 1230, clocked by secondaryreference clock signal 1205, calculates secondary predictedphase 1252.Secondary subtractor 1226 calculates asecondary difference 1253 between secondary predictedphase 1252 and secondary sampledphase 1251, and forwardssecondary difference 1253 tosecondary loop filter 1232, which integrates and filterssecondary difference 1253 to provideoscillator control code 1254 to control the frequency of controlledoscillator 1220. The secondary sampledphase 1251, secondary predictedphase 1252, andsecondary difference 1253 may be limited to integer numbers, as discussed in reference to earlier PLLs in this patent document, or they may include rational numbers as illustrated inFIG. 13 . -
FIG. 13 illustrates details of ajitter attenuator 1300 with multiple primary loops according to an embodiment of the invention. It combines elements of the low-power hitless switching PLL inFIG. 9 with the jitter attenuator inFIG. 11 or 12 .Jitter attenuator 1300 includes two or more parallel primary loops (shown inblocks 1312 and 1313) that sharesecondary loop 1310 functioning as a controlled oscillator. The primary loops have primary reference clock signal inputs 1301.1-1301.n, FCWs comprising integer part N 1303.1-1303.n and fractional part M 1304.1-1304.n. In some embodiments, one or more of the loops may also have an input for loop sleep signalSleep.1 -Sleep.n . The secondary loop has a secondaryreference clock signal 1305 input, which may, for example, be coupled to a crystal oscillator, and an output foroutput clock signal 1302. - Each primary loop includes a primary register (e.g., 1342) to sample measured
phase 1350 at the output of modulo-K counter 1324 upon receiving a gated reference clock signal (e.g., 1371) pulse. The gated reference clock signal is derived from a primary reference clock signal (e.g., 1301.n) and a sleep control signal (e.g.,Sleep.n ) through one or more logic gates, e.g.,gate 1340. The primary register delivers a primary sampled phase (e.g., 1372) at its output. - A fractional phase predictor (e.g., 1346) calculates an integer primary predicted phase (e.g., 1373) based on a rational FCW, e.g., including integer part N 1303.n and fractional part M 1304.n, and based on the number of gated reference clock signal pulses received via the one or more logic gates, e.g.,
gate 1340. A primary subtractor, e.g., 1344, subtracts the primary sampled phase from the primary predicted phase to obtain an integer primary phase difference (e.g., 1374). The embodiment provides the primary phase difference to a monitor and adjust block or function (e.g., 1348) and tomultiplexer 1334. Multiplexer 1334 selects an active primary loop by passing its primary phase difference (e.g., 1374) as the selectedprimary phase difference 1355 toprimary loop filter 1328, which calculatessecondary FCW 1356 for thesecondary loop 1310. -
Secondary loop 1310 includes controlledoscillator 1320, modulo-K counter 1324 including a secondary register (not drawn) to output secondary sampledphase 1351,phase predictor 1330, secondary subtractor oradder 1326, andsecondary loop filter 1332. Controlledoscillator 1320 generatesoutput clock signal 1302, which is also forwarded to modulo-K counter 1324, which further outputs measuredphase 1350. The secondary register, upon receiving a secondaryreference clock signal 1305 pulse, samples measuredphase signal 1350 and delivers secondary sampledphase 1351 tosecondary subtractor 1326.Phase predictor 1330, clocked by secondaryreference clock signal 1305, calculates secondary predictedphase 1352.Secondary subtractor 1326 calculates asecondary difference 1353 between secondary predictedphase 1352 and secondary sampledphase 1351, and forwardssecondary difference 1353 tosecondary loop filter 1332, which integrates and filterssecondary difference 1353 to provideoscillator control code 1354 to control the frequency of controlledoscillator 1320. The secondary sampledphase 1351, secondary predictedphase 1352, andsecondary difference 1353 may be limited to integer numbers, as discussed in reference to earlier PLLs in this patent document, or they may include rational numbers as illustrated here.Phase sampler 1311 may include time-to-digital converter 1322 to measure fractions of cycles ofoutput clock signal 1302 in relation to active edges of secondaryreference clock signal 1305. An embodiment may scale an output value of time-to-digital converter 1322 and add it to the output value of modulo-K counter 1324 to produce a rational value for secondary sampledphase 1351. The use of rational values for 1351-1353 may lead to exceptionally low jitter inoutput clock signal 1302, although at the expense of extra complexity (inclusion of time-to-digital converter 1322) and higher power consumption. - Modulo-
K counter 1324,fractional phase predictor 1346, andphase predictor 1330 need to be able to track the phase of the output clock signal over a sufficiently large range. For modulo-K counter 1324 this range equals K: upon reaching a counted value of K−1, the counter continues counting at 0. Naturally, the range K needs to be large enough to count RN cycles ofoutput clock signal 1302 during one cycle of primary reference clock signal 1301.n. To correct large phase errors, or to relock at the correct phase after lock has been temporarily lost, embodiments of the invention may use a large range K, for instance K>>RN. For example, the range K of the modulo-K counter 1324 may be at least two times larger than a maximum number of output clock signal cycles RN during a reference clock signal cycle. Thus, the maximum value of a phase error is not limited by the period of primary reference clock signal 1301.n, but by the larger of K and a range offractional phase predictor 1346. The range offractional phase predictor 1346 has been clarified with reference toFIG. 2A . Forphase predictor 1330, the same or similar concepts apply. - The monitor-and-adjust blocks (e.g. 1348 in block 1313) are active only for loops that are not selected by
multiplexer 1334. Monitor-and-adjust blocks monitor the primary difference signals from the respective subtractors and adjust registers (not shown) inside fractional phase predictors to minimize the primary differences. - Any adjustment in the currently active loop can break the desired relationship between input and output frequency. The function of a monitor-and-adjust block is to maintain the minimum primary difference of a currently unused primary reference clock signal, and indicate if its frequency is at the desired ratio to the output clock signal.
- The monitor-and-adjust blocks may also generate a signal (not shown) to indicate which primary reference clock signals have matching frequencies to the primary reference clock signal that
jitter attenuator 1300 is currently locked to. A simpler embodiment of a monitor-and-adjust block just copies the primary sampled phase into a register (not shown) inside the fractional phase predictor so that the last prediction is effectively correct. - In embodiments of the invention,
multiplexer 1334 can be replaced by an averaging block that creates an error signal replacing selectedprimary difference 1374 by averaging all the primary differences that are currently valid and whose monitor-and-adjust blocks have the primary difference associated with any valid primary reference clock signal 1301.1-1301.n close to zero. In this case,output clock signal 1302 is effectively locked to all valid inputs and altering the members of the valid set has an even smaller impact on phase. - An embodiment can be optimized to have less circuitry. For example, instead of individual monitor-and-adjust blocks, an embodiment may have a single monitor-and-adjust block that cycles through the fractional phase predictors of all active loops, adjusting only one at a time.
- In some embodiments, a primary loop can have an individual sleep mode. This is illustrated in
block 1313, wheregate 1340 is configured to interrupt primary reference clock signal 1301.n. When primary loop sleep signalSleep.n is asserted, gatedreference clock signal 1371 is inactive, andfractional phase predictor 1346 cannot calculate updates for primary predictedphase 1373 and register 1342 cannot update primary sampledphase 1372. In further embodiments, primary loop sleep signalSleep.n can also place monitor-and-adjustblock 1348 in sleep mode, such that effectively all circuits inprimary loop block 1313 are inactive. An embodiment whose primary loops are all in sleep mode may placeloop filter 1328 in sleep mode, maintaining a constant output. When this occurs, the secondary loop enters a holdover mode, maintaining frequency lock to the secondaryreference clock signal 1305, where theoutput clock signal 1302 frequency is determined by the last active primary loop. - An embodiment may further include sleep mode signal
SleepOsc , which can stop operation of controlledoscillator 1320. This type of sleep mode impacts all loops, and fully halts operation ofjitter attenuator 1300. -
FIG. 13 showsexample jitter attenuator 1300 as an embodiment with up-counting modulo-K counter 1324 and an up-counting fractional phase predictors. Other embodiments may use down-counters and/or down-counting fractional phase predictors. Counting limits may be chosen different than 0 and K, for example K and 0, or 0 and −K, or any other set of integer values that differ by K. Some embodiments may use an adder instead of a subtractor, and calculate a sampled phase as a negative value.FIG. 13 showsexample jitter attenuator 1300 as an embodiment with AND gates forgates 1340, and with the signalsSleep1 andSleepOsc asserted negative. A person having ordinary skill in the art will know that gating of primary reference clock signals 1301.1-1301.n can just as easily be achieved with another type of gate, such as a NAND gate, an OR gate, a NOR gate, an XOR gate, a pass gate, and a combination of any number of those gates, and with either one or both of the sleep signals asserted positive. Such embodiments are fully within the scope and ambit of the invention. -
FIG. 14 illustrates amethod 1400 for jitter attenuation according to an embodiment of the invention.Method 1400 comprises the following steps. -
Step 1410—in a primary PLL loop, based on a primary reference clock signal and a rational first FCW, calculating an integer primary predicted phase. Based on the primary reference clock signal and a secondary PLL loop output clock signal, sampling a phase at a counter output to obtain an integer primary sampled phase. The counter may be a modulo-K counter. Calculating a primary difference by subtracting the primary sampled phase from the primary predicted phase. -
Step 1420—loop filtering the primary difference in a primary loop filter to obtain a second FCW. -
Step 1430—forwarding the second FCW to a secondary loop. -
Step 1440—based on the second FCW and a secondary reference clock signal, calculating a secondary predicted phase. Based on the secondary reference clock signal and the secondary PLL loop output clock signal, sampling a phase to obtain a secondary sampled phase. Calculating a secondary difference by subtracting the secondary sampled phase from the secondary predicted phase. -
Step 1450—loop filtering the secondary difference in a secondary loop filter to obtain an oscillator control code to control a controlled oscillator and to determine a frequency of the secondary PLL loop output clock signal. -
FIG. 15 illustrates aprogrammable system 1500 capable of implementing jitter attenuation methods according to embodiments of the invention.System 1500 is a jitter attenuator that comprises a fractional-N PLL 1510, a modulo-K counter 1520, aprogrammable processor 1530, and amemory 1540.Memory 1540 may be tangible, and it may be non-transitory.Programmable processor 1530 is configured to store software instructions and/or data inmemory 1540. Fractional-N PLL 1510 receives stable reference clock signal 1505 (for example, from a crystal oscillator).Programmable processor 1530 receivesreference clock signal 1501, and a primary FCW comprisinginteger part N 1503 andfractional part M 1504.Programmable processor 1530 outputssecondary FCW 1506 to fractional-N PLL 1510. Fractional-N PLL 1510, whose frequency is controlled bysecondary FCW 1506, outputs theoutput clock 1502. Modulo-K counter 1520 counts cycles ofoutput clock 1502, and itsoutput signal 1507 is a measure for the output clock phase, which it feeds back toprogrammable processor 1530. Some embodiments may storeinteger part N 1503 andfractional part M 1504 as parameters inmemory 1540, either as part of the software instructions or as part of the data. Further embodiments may receive multiple reference clock signals, and may work with multiple FCWs. Yet further embodiments may use separate tangible non-transitory memories for software instructions and data. -
Programmable processor 1530 is programmed to execute instructions for, for example, the following operations: - (a) in
programmable processor 1530, based on the primary reference clock signal and a rational primary FCW, calculating an integer primary predicted phase; based on the primary reference clock signal and the fractional-N PLL 1510output clock signal 1502, sampling a phase at the modulo-K counter 1520 output to obtain an integer primary sampled phase; calculating a primary difference by subtracting the primary sampled phase from the primary predicted phase; - (b) loop filtering the primary difference in a primary loop filter to obtain the secondary FCW; and
- (c) forwarding the secondary FCW to fractional-
N PLL 1510 to control fractional-N PLL 1510 and to determine a frequency of the fractional-N PLL 1510output clock signal 1502. -
FIG. 16 illustrates another programmable system, 1600, capable of implementing jitter attenuation methods according to embodiments of the invention.System 1600 is a jitter attenuator that comprises a controlledoscillator 1610, a modulo-K counter 1620, aprogrammable processor 1630, amemory 1640, and optionally a time-to-digital converter 1650.Memory 1640 may be tangible, and it may be non-transitory.Programmable processor 1630 is configured to store software instructions and/or data inmemory 1640. Controlledoscillator 1610 receivesoscillator control code 1606 fromprogrammable processor 1630.Programmable processor 1630 receivesreference clock signal 1601, a primary FCW comprisinginteger part N 1603 andfractional part M 1604, and stablereference clock signal 1605, which may, for example, come from a crystal oscillator. Controlledoscillator 1610, whose frequency is controlled byoscillator control code 1606, outputs theoutput clock 1602. Modulo-K counter 1620 counts cycles ofoutput clock 1602, and itsoutput signal 1607 is a measure for the output clock phase, which it feeds back toprogrammable processor 1630. Embodiments that include time-to-digital converter 1650 measure fractions of cycles ofoutput clock signal 1602 in relation to active edges of stablereference clock signal 1605. An embodiment may scale an output value of time-to-digital converter 1650 and add it to the output value of modulo-K counter 1620 to produce a rational value for a secondary sampled phase, comprisinginteger part 1607 andfractional part 1608. - Some embodiments may store
integer part N 1603 andfractional part M 1604 as parameters inmemory 1640, either as part of the software instructions or as part of the data. Further embodiments may receive multiple reference clock signals, and may work with multiple FCWs. Yet further embodiments may use separate tangible non-transitory memories for software instructions and data. -
Programmable processor 1630 is programmed to execute instructions for, for example, the following operations: - (a) based on a primary
reference clock signal 1601 and a rational first FCW (1603, 1604), calculating an integer primary predicted phase. Based on the primaryreference clock signal 1601 and controlledoscillator 1610output clock signal 1602, sampling a phase at the modulo-K counter 1620 output to obtain an integer primary sampled phase. Calculating a primary difference by subtracting the primary sampled phase from the primary predicted phase. - (b) filtering the primary difference in a primary loop filter to obtain a second FCW.
- (c) based on the second FCW and stable
reference clock signal 1605, calculating a secondary predicted phase. Based on the secondary reference clock signal and the secondary PLL loop output clock signal, sampling a phase to obtain a secondary sampled phase. Calculating a secondary difference by subtracting the secondary sampled phase from the secondary predicted phase. - (d) filtering the secondary difference in a secondary loop filter to obtain an
oscillator control code 1606 to control controlledoscillator 1610 and to determine a frequency of theoutput clock signal 1602. - It will be understood that the invention disclosed and defined in this specification extends to all alternative combinations of two or more of the individual features mentioned or evident from the text or drawings. All of these different combinations constitute various alternative aspects of the invention.
- Although the description has been described with respect to particular embodiments thereof, these particular embodiments are merely illustrative, and not restrictive. For instance, many of the operations can be implemented on a printed card board PCB using off-the-shelf devices, in a System-on-Chip (SoC), application-specific integrated circuit (ASIC), programmable processor, or in a programmable logic device such as a field-programmable gate array (FPGA), obviating a need for at least part of the dedicated hardware. All such variations and modifications are to be considered within the ambit of the present invention the nature of which is to be determined from the foregoing description.
- Any suitable technology for manufacturing electronic devices can be used to implement the circuits of particular embodiments, including bipolar, JFET, MOS, NMOS, PMOS, CMOS, BiCMOS, HBT, MESFET, FinFET, etc. Different semiconductor materials can be employed, such as silicon, germanium, SiGe, GaAs, InP, graphene, etc. Circuits may have single-ended or differential inputs, and single-ended or differential outputs. Terminals to circuits may function as inputs, outputs, both, or be in a high-impedance state, or they may function to receive supply power, a ground reference, a reference voltage, a reference current, or other. Although the physical processing of signals may be presented in a specific order, this order may be changed in different particular embodiments. In some particular embodiments, multiple elements, devices, or circuits shown as sequential in this specification can be operating in parallel.
- Particular embodiments or parts of an embodiment may be implemented in a tangible, non-transitory computer-readable storage medium for use by or in connection with an instruction execution system, apparatus, system, or device. Particular embodiments can be implemented in the form of control logic in software, firmware, hardware or a combination of those. The control logic, when executed by one or more processors, may be operable to perform that which is described in particular embodiments. For example, a tangible medium such as a hardware storage device can be used to store the control logic, which can include executable instructions.
- It will also be appreciated that one or more of the elements depicted in the drawings/figures can also be implemented in a more separated or integrated manner, or even removed or rendered as inoperable in certain cases, as is useful in accordance with a particular application. It is also within the spirit and scope to implement a program or code that can be stored in a machine-readable medium to permit a computer to perform any of the methods described above.
- As used in the description herein and throughout the claims that follow, “a”, “an”, and “the” includes plural references unless the context clearly dictates otherwise. Also, as used in the description herein and throughout the claims that follow, the meaning of “in” includes “in” and “on” unless the context clearly dictates otherwise.
- Thus, while particular embodiments have been described herein, latitudes of modification, various changes, and substitutions are intended in the foregoing disclosures, and it will be appreciated that in some instances some features of particular embodiments will be employed without a corresponding use of other features without departing from the scope and spirit as set forth. Therefore, many modifications may be made to adapt a particular situation or material to the essential scope and spirit.
Claims (22)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/612,982 US9991898B1 (en) | 2016-11-16 | 2017-06-02 | Fractional-N jitter attenuator |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662422736P | 2016-11-16 | 2016-11-16 | |
US15/612,982 US9991898B1 (en) | 2016-11-16 | 2017-06-02 | Fractional-N jitter attenuator |
Publications (2)
Publication Number | Publication Date |
---|---|
US20180138915A1 true US20180138915A1 (en) | 2018-05-17 |
US9991898B1 US9991898B1 (en) | 2018-06-05 |
Family
ID=62108126
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/612,982 Active US9991898B1 (en) | 2016-11-16 | 2017-06-02 | Fractional-N jitter attenuator |
US15/612,908 Active US10063246B2 (en) | 2016-11-16 | 2017-06-02 | Low-power fractional-N PLLs |
US15/795,119 Active 2038-01-04 US10348315B2 (en) | 2016-11-16 | 2017-10-26 | Fractional-N PLL with sleep modes |
US15/794,847 Active US10063247B2 (en) | 2016-11-16 | 2017-10-26 | Multiple-loop fractional-N PLL with hitless switching |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/612,908 Active US10063246B2 (en) | 2016-11-16 | 2017-06-02 | Low-power fractional-N PLLs |
US15/795,119 Active 2038-01-04 US10348315B2 (en) | 2016-11-16 | 2017-10-26 | Fractional-N PLL with sleep modes |
US15/794,847 Active US10063247B2 (en) | 2016-11-16 | 2017-10-26 | Multiple-loop fractional-N PLL with hitless switching |
Country Status (1)
Country | Link |
---|---|
US (4) | US9991898B1 (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170346494A1 (en) * | 2016-05-30 | 2017-11-30 | Microsemi Semiconductor Ulc | Method of speeding up output alignment in a digital phase locked loop |
CN108712171A (en) * | 2018-08-13 | 2018-10-26 | 成都能通科技有限公司 | A kind of frequency synthesizer circuit and its implementation of multiple interpolation hybrid |
US20190215142A1 (en) * | 2017-09-29 | 2019-07-11 | Cavium, Llc | Serializer/Deserializer (SerDes) Lanes with Lane-by-Lane Datarate Independence |
US10892763B1 (en) * | 2020-05-14 | 2021-01-12 | Credo Technology Group Limited | Second-order clock recovery using three feedback paths |
WO2021068131A1 (en) * | 2019-10-09 | 2021-04-15 | Boe Technology Group Co., Ltd. | Digital clock signal generator, chip, and method for generating spread-spectrum synchronous clock signals |
US10992501B1 (en) | 2020-03-31 | 2021-04-27 | Credo Technology Group Limited | Eye monitor for parallelized digital equalizers |
US11038602B1 (en) | 2020-02-05 | 2021-06-15 | Credo Technology Group Limited | On-chip jitter evaluation for SerDes |
CN113711510A (en) * | 2019-04-12 | 2021-11-26 | 微芯片技术股份有限公司 | Phase predictor and associated method of use |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10505556B1 (en) * | 2018-05-15 | 2019-12-10 | Perceptia Ip Pty Ltd | PLL with beat-frequency operation |
US10886905B1 (en) * | 2019-01-24 | 2021-01-05 | Dialog Semiconductor B.V. | Signal generator with coherent phase output |
US11316523B1 (en) * | 2021-05-05 | 2022-04-26 | Cirrus Logic, Inc. | Minimizing artifacts resulting from clock switching of sampled data converters |
Family Cites Families (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR960012921B1 (en) * | 1993-10-06 | 1996-09-25 | 현대전자산업 주식회사 | Phase locked loop circuit |
JPH1084278A (en) * | 1996-09-10 | 1998-03-31 | Nec Corp | Pll circuit |
US5740211A (en) * | 1996-11-12 | 1998-04-14 | Lucent Technologies Inc. | Method and apparatus for a hitless switch-over between redundant signals |
US5821817A (en) * | 1997-06-16 | 1998-10-13 | The United States Of America As Represented By The Secretary Of The Army | Fast-locking low-noise phase-locked loop |
US6377646B1 (en) * | 1997-07-21 | 2002-04-23 | Cypress Semiconductor Corp. | Spread spectrum at phase lock loop (PLL) feedback path |
US6078225A (en) * | 1998-07-21 | 2000-06-20 | Lucent Technologies Inc. | Switching algorithm for clock distribution function |
US8385476B2 (en) * | 2001-04-25 | 2013-02-26 | Texas Instruments Incorporated | Digital phase locked loop |
US7065172B2 (en) * | 2002-07-15 | 2006-06-20 | Texas Instruments Incorporated | Precision jitter-free frequency synthesis |
DE60302543D1 (en) * | 2003-03-14 | 2006-01-05 | St Microelectronics Srl | Fractional phase-locked loop |
US7148753B1 (en) * | 2003-04-11 | 2006-12-12 | Silicon Laboratories Inc. | Method and apparatus for generating a clock signal in holdover mode |
US7436227B2 (en) * | 2003-05-02 | 2008-10-14 | Silicon Laboratories Inc. | Dual loop architecture useful for a programmable clock source and clock multiplier applications |
US6885253B2 (en) * | 2003-06-02 | 2005-04-26 | Intel Corporation | Low-power phase-locked-loop and method using quadrature phase-signals at one-half the output frequency |
US7123065B1 (en) * | 2003-06-27 | 2006-10-17 | Cypress Semiconductor Corp. | Method of improving lock acquisition times in systems with a narrow frequency range |
US7038509B1 (en) * | 2003-10-27 | 2006-05-02 | National Semiconductor Corporation | Method and system for providing a phase-locked loop with reduced spurious tones |
US7024324B2 (en) * | 2004-05-27 | 2006-04-04 | Intel Corporation | Delay element calibration |
US7496168B2 (en) * | 2005-04-27 | 2009-02-24 | Agere Systems Inc. | Phase-locked loop using multi-phase feedback signals |
DE102006024471A1 (en) * | 2006-05-24 | 2007-12-06 | Xignal Technologies Ag | Switchable phase-locked loop and method for operating a switchable phase-locked loop |
DE102006024470B4 (en) * | 2006-05-24 | 2015-07-09 | Xignal Technologies Ag | Switchable phase-locked loop and method for operating a switchable phase-locked loop |
US7443250B2 (en) * | 2006-09-29 | 2008-10-28 | Silicon Laboratories Inc. | Programmable phase-locked loop responsive to a selected bandwidth and a selected reference clock signal frequency to adjust circuit characteristics |
US8532243B2 (en) * | 2007-02-12 | 2013-09-10 | Silicon Laboratories Inc. | Digital hold in a phase-locked loop |
US7764134B2 (en) * | 2007-06-14 | 2010-07-27 | Silicon Laboratories Inc. | Fractional divider |
TW200931812A (en) * | 2007-11-14 | 2009-07-16 | Panasonic Corp | Synthesizer, synthesizer module, and reception device and electronic device using same |
JP4883031B2 (en) * | 2008-03-18 | 2012-02-22 | パナソニック株式会社 | Receiving device and electronic device using the same |
US8076978B2 (en) * | 2008-11-13 | 2011-12-13 | Infineon Technologies Ag | Circuit with noise shaper |
EP2339753B1 (en) * | 2009-12-24 | 2012-07-04 | Nxp B.V. | A digital phase locked loop |
US8269536B2 (en) * | 2009-12-30 | 2012-09-18 | Industrial Technology Research Institute | Onion waveform generator and spread spectrum clock generator using the same |
US8284888B2 (en) * | 2010-01-14 | 2012-10-09 | Ian Kyles | Frequency and phase acquisition of a clock and data recovery circuit without an external reference clock |
KR20110088901A (en) * | 2010-01-29 | 2011-08-04 | 삼성전자주식회사 | Communication system for compensating frequency offset from external reference clock generator and compensating method thereof |
US8810290B1 (en) * | 2011-01-11 | 2014-08-19 | Hittite Microwave Corporation | Fractional phase locked loop having an exact output frequency and phase and method of using the same |
US8373472B2 (en) * | 2011-06-20 | 2013-02-12 | Intel Mobile Communications GmbH | Digital PLL with automatic clock alignment |
JP5684076B2 (en) * | 2011-09-06 | 2015-03-11 | 株式会社日立製作所 | Analog to digital converter and radio receiver |
US8471611B2 (en) * | 2011-11-04 | 2013-06-25 | Broadcom Corporation | Fractional-N phase locked loop based on bang-bang detector |
EP2602936B1 (en) * | 2011-12-07 | 2014-02-12 | Telefonaktiebolaget L M Ericsson (Publ) | Analog phase-locked loop with enhanced acquisition |
US8804874B2 (en) * | 2012-01-20 | 2014-08-12 | Mediatek Inc. | Polar transmitter having digital processing block used for adjusting frequency modulating signal for frequency deviation of frequency modulated clock and related method thereof |
WO2013141863A1 (en) * | 2012-03-22 | 2013-09-26 | Lotfy Amr M | Apparatus and system for digitally controlled oscillator |
EP2701309A1 (en) * | 2012-08-21 | 2014-02-26 | Alcatel Lucent | System for producing a system clock and temperature gradient detection system |
TW201424272A (en) * | 2012-12-11 | 2014-06-16 | Princeton Technology Corp | Numerically controlled oscillator and digital phase-locked loop |
TWI479853B (en) * | 2012-12-12 | 2015-04-01 | Mstar Semiconductor Inc | Signal processing device and signal processing method |
US9035682B2 (en) * | 2012-12-29 | 2015-05-19 | Motorola Solutions, Inc. | Method and apparatus for single port modulation using a fractional-N modulator |
US9240914B2 (en) * | 2013-01-15 | 2016-01-19 | Samsung Electronics Co., Ltd. | Communication system with frequency synthesis mechanism and method of operation thereof |
US8994423B2 (en) * | 2013-01-29 | 2015-03-31 | Perceptia Devices Australia, Pty Ltd. | Phase-locked loop apparatus and method |
KR20140113216A (en) * | 2013-03-15 | 2014-09-24 | 삼성전자주식회사 | Digital phase-locked loop using phase-to-digital converter, method thereof, and devices having the same |
US8957711B2 (en) * | 2013-04-29 | 2015-02-17 | Microsemi Semiconductor Ulc | Phase locked loop with precise phase and frequency slope limiter |
US8885788B1 (en) * | 2013-05-15 | 2014-11-11 | Intel IP Corporation | Reducing settling time in phase-locked loops |
US9112517B1 (en) * | 2013-06-04 | 2015-08-18 | Pmc-Sierra Us, Inc. | Low-noise flexible frequency clock generation from two fixed-frequency references |
US9160351B2 (en) * | 2013-10-24 | 2015-10-13 | Taiwan Semiconductor Manufacturing Co., Ltd. | Phase-locked loop circuit |
US8816735B1 (en) * | 2013-10-24 | 2014-08-26 | Taiwan Semiconductor Manufacturing Co., Ltd. | Phase-locked loop circuit |
US9270288B2 (en) * | 2013-11-27 | 2016-02-23 | Silicon Laboratories Inc. | Time-to-digital converter based on a voltage controlled oscillator |
US9705514B2 (en) * | 2013-11-27 | 2017-07-11 | Silicon Laboratories Inc. | Hybrid analog and digital control of oscillator frequency |
DE102014108762B4 (en) * | 2014-06-23 | 2023-11-16 | Intel Corporation | A circuit, a time-to-digital converter, an integrated circuit, a transmitter, a receiver and a transceiver |
US9401677B2 (en) * | 2014-08-20 | 2016-07-26 | Short Circuit Technologies Llc | Split transformer based digitally controlled oscillator and DC-coupled buffer circuit therefor |
US9584139B2 (en) * | 2014-09-24 | 2017-02-28 | Intel IP Corporation | Phase tracker for a phase locked loop |
US9838026B2 (en) * | 2015-09-24 | 2017-12-05 | Analog Devices, Inc. | Apparatus and methods for fractional-N phase-locked loops with multi-phase oscillators |
-
2017
- 2017-06-02 US US15/612,982 patent/US9991898B1/en active Active
- 2017-06-02 US US15/612,908 patent/US10063246B2/en active Active
- 2017-10-26 US US15/795,119 patent/US10348315B2/en active Active
- 2017-10-26 US US15/794,847 patent/US10063247B2/en active Active
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170346494A1 (en) * | 2016-05-30 | 2017-11-30 | Microsemi Semiconductor Ulc | Method of speeding up output alignment in a digital phase locked loop |
US10069503B2 (en) * | 2016-05-30 | 2018-09-04 | Microsemi Semiconductor Ulc | Method of speeding up output alignment in a digital phase locked loop |
US20190215142A1 (en) * | 2017-09-29 | 2019-07-11 | Cavium, Llc | Serializer/Deserializer (SerDes) Lanes with Lane-by-Lane Datarate Independence |
US10461917B2 (en) * | 2017-09-29 | 2019-10-29 | Cavium, Llc | Serializer/deserializer (SerDes) lanes with lane-by-lane datarate independence |
US11044071B2 (en) | 2017-09-29 | 2021-06-22 | Marvell Asia Pte, Ltd. | Serializer/Deserializer (SerDes) lanes with lane-by-lane datarate independence |
US11757609B2 (en) | 2017-09-29 | 2023-09-12 | Marvell Asia Pte, Ltd. | Serializer/deserializer (SerDes) lanes with lane-by-lane datarate independence |
CN108712171A (en) * | 2018-08-13 | 2018-10-26 | 成都能通科技有限公司 | A kind of frequency synthesizer circuit and its implementation of multiple interpolation hybrid |
CN113711510A (en) * | 2019-04-12 | 2021-11-26 | 微芯片技术股份有限公司 | Phase predictor and associated method of use |
WO2021068131A1 (en) * | 2019-10-09 | 2021-04-15 | Boe Technology Group Co., Ltd. | Digital clock signal generator, chip, and method for generating spread-spectrum synchronous clock signals |
US11038602B1 (en) | 2020-02-05 | 2021-06-15 | Credo Technology Group Limited | On-chip jitter evaluation for SerDes |
US10992501B1 (en) | 2020-03-31 | 2021-04-27 | Credo Technology Group Limited | Eye monitor for parallelized digital equalizers |
US10892763B1 (en) * | 2020-05-14 | 2021-01-12 | Credo Technology Group Limited | Second-order clock recovery using three feedback paths |
Also Published As
Publication number | Publication date |
---|---|
US10063247B2 (en) | 2018-08-28 |
US20180138914A1 (en) | 2018-05-17 |
US9991898B1 (en) | 2018-06-05 |
US20180138913A1 (en) | 2018-05-17 |
US10063246B2 (en) | 2018-08-28 |
US20180138916A1 (en) | 2018-05-17 |
US10348315B2 (en) | 2019-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9991898B1 (en) | Fractional-N jitter attenuator | |
US9007105B2 (en) | Hitless switching phase-locked loop | |
Elkholy et al. | A 2.0–5.5 GHz wide bandwidth ring-based digital fractional-N PLL with extended range multi-modulus divider | |
KR101080658B1 (en) | Digital phase-locked loop | |
KR100944497B1 (en) | Digital frequency detector and digital Phase Locked Loop using the digital frequency detector | |
US10693480B2 (en) | PLL with Lock-in Frequency Controller | |
US8471611B2 (en) | Fractional-N phase locked loop based on bang-bang detector | |
US8106808B1 (en) | Successive time-to-digital converter for a digital phase-locked loop | |
KR101797625B1 (en) | Low-power high-resolution time-to -digital converter | |
CN111386657A (en) | Digital Time Converter (DTC) assisted All Digital Phase Locked Loop (ADPLL) circuit | |
US9998129B1 (en) | PLL post divider phase continuity | |
US8760202B1 (en) | System for generating clock signal | |
US20070252620A1 (en) | Phase offset control phase-frequency detector | |
US20120098592A1 (en) | Filter auto-calibration using multi-clock generator | |
Huang et al. | A time-to-digital converter based AFC for wideband frequency synthesizer | |
Akram et al. | A 0.012 mm 2, 0.96-mW all-digital multiplying delay-locked loop based frequency synthesizer for GPS-L4 band | |
Chang et al. | A 1.6–880MHz synthesizable ADPLL in 0.13 um CMOS | |
Selvaraj et al. | System-level model of a two-step locking technique applied in an all-digital Phase-locked loop | |
Wang et al. | A Simulink model for all-digital-phase-locked-loop | |
Liang et al. | Frequency Synthesis Based on A Novel Differential Locking Mechanism | |
Chen et al. | Exponential extended flash time-to-digital converter | |
JP2005198164A (en) | Pll synthesizer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: PERCEPTIA DEVICES, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GROUWSTRA, ANDRE;JENKINS, JULIAN;REEL/FRAME:042593/0113 Effective date: 20170601 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: PERCEPTIA IP PTY LTD, AUSTRALIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PERCEPTIA DEVICES, INC.;REEL/FRAME:048339/0164 Effective date: 20190213 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2551); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY Year of fee payment: 4 |