Frequency synthesizer output cycle counter including ring encoder
10481187 ยท 2019-11-19
Assignee
Inventors
- Tom Altus (Plano, TX, US)
- Karthik Subburaj (Karnataka, IN)
- Sreekiran Samala (Plano, TX)
- Raghu Ganesan (Karnataka, IN)
Cpc classification
G01R23/10
PHYSICS
G01R23/02
PHYSICS
International classification
G01R23/02
PHYSICS
Abstract
A method of frequency estimation. A clock output from a frequency synthesizer is received at an input of a ring encoder. The ring encoder generates outputs including a ring encoder output clock and an encoded output which represents LSBs of a clock cycle count of the clock output. A binary counter is run using the ring encoder output clock which provides an output count which represents MSBs of the clock cycle count. Using a reference clock, the encoded output is sampled to provide a sampled encoded output and the output count is sampled to provide a sampled output count. Error correcting is applied to the sampled encoded output to provide a corrected sampled encoded output. The corrected sampled encoded output and sampled output count are combined to provide a combined output which is used for estimating an instantaneous or average frequency of the clock output.
Claims
1. A method of frequency estimation, the method comprising: receiving, at an input of a ring encoder from a frequency synthesizer, a clock output, wherein the ring encoder comprises a plurality of flip flops connected in series and at least one inverter coupled between a last flip flop of the plurality of flip flops and a first flip flop of the plurality of flip flops; generating, by the ring encoder, a ring encoder output clock based on the clock output, wherein a frequency of the clock output is an integer multiple of a frequency of the ring encoder output clock; generating, by the ring encoder, an encoded output based on the clock output, wherein the encoded output indicates least significant bits (LSBs) of a clock cycle count of the clock output; generating, by a binary counter, based on the ring encoder output clock, an output count which indicates most significant bits (MSBs) of the clock cycle count; sampling, by a frequency estimator, using a reference clock, the encoded output, to provide a sampled encoded output; and sampling, by the frequency estimator, using the reference clock, the output count, to provide a sampled output count.
2. The method of claim 1, further comprising: error correcting, by the frequency estimator, the sampled encoded output, to provide a corrected sampled encoded output; combining, by the frequency estimator, the corrected sampled encoded output and the sampled output count, to provide a combined output; and estimating, by the frequency estimator, using the combined output, an instantaneous or average frequency of the clock output, to provide an estimated clock frequency.
3. The method of claim 2, wherein the error correcting comprises one-to-one mapping using a random access memory (RAM).
4. The method of claim 2, wherein estimating the instantaneous or average frequency of the clock output comprises differentiating the combined output.
5. The method of claim 2, further comprising: determining a frequency error of the clock output by comparing the estimated clock frequency to an expected frequency; and sending an error indication signal in response to determining that the frequency error is greater than a predetermined threshold.
6. The method of claim 2, wherein sampling the output count comprises: generating a plurality of different sampled output count options; and selecting one of the plurality of different sampled output count options.
7. The method of claim 6, wherein sampling the output count includes: sampling exclusively by the reference clock, to provide a first sampled output count option; sampling by a negative edge of the ring encoder output clock by the reference clock, to provide a second sampled output count option; and sampling by the negative edge of the ring encoder output clock by the reference clock incremented by a 1 modulo 2.sup.n adder, to provide a third sampled output count option, and wherein selecting one of the plurality of different sampled output count options is based on the corrected sampled encoded output.
8. The method of claim 2, wherein the clock output is at a frequency of at least 5 GHz.
9. The method of claim 2, further comprising: sending the estimated clock frequency to a buffer for storage; and averaging the estimated clock frequency over a plurality of chirps, to provide an estimated frequency ramp linearity measurement.
10. The method of claim 1, further comprising in a low power mode: shutting down the ring encoder, the binary counter, and the frequency estimator determining, by a Gray code counter, based on the ring encoder output clock, an estimated clock frequency.
11. A circuit, comprising: a ring encoder having an input coupled to receive a clock output from a frequency synthesizer, the ring encoder comprising a plurality of flip flops connected in series and at least one inverter coupled between a last flip flop of the plurality of flip flops and a first flip flop of the plurality of flip flops, the ring encoder configured to: generate a ring encoder output clock based on the clock output, wherein a frequency of the clock output is an integer multiple of a frequency of the ring encoder output clock; and generate an encoded output based on the clock output, wherein the encoded output indicates least significant bits (LSBs) of a clock cycle count of the clock output; a binary counter having an input coupled to receive the ring encoder, wherein the binary counter is configured to, based on the ring encoder output clock generate an output count indicating most significant bits (MSBs) of the clock cycle count; and a frequency estimator coupled to the ring encoder and to the binary counter, the frequency estimator configured to: sample, using a reference clock, the encoded output, to provide a sampled encoded output; and sample the output count, to provide a sampled output count.
12. The circuit of claim 11, further comprising a Gray code counter for implementing a low power mode, the Gray code counter coupled to the ring encoder for shutting down the ring encoder, and the binary counter, wherein the Gray code counter is configured to estimate a clock frequency exclusively.
13. The circuit of claim 11, wherein the frequency estimator is configured to: error correct the sampled encoded output, to provide a corrected sampled encoded output; combine the corrected sampled encoded output and the sampled output count, to provide a combined output; and estimate, using the combined output, an instantaneous or average frequency of the clock output, to generate an estimated clock frequency.
14. The circuit of claim 13, wherein the frequency estimator comprises a frequency monitor configured to: receive the estimated clock frequency; and compare the estimated clock frequency to an expected clock frequency, to provide an error indication in response to determining that a difference between the estimated clock frequency and the expected clock frequency is greater than a predetermined threshold, the circuit further comprising a processor coupled to receive the error indication, wherein the circuit is disposed on a semiconductor substrate.
15. The circuit of claim 13, wherein the frequency estimator comprises a random access memory (RAM) that implements one-to-one mapping for error correcting the sampled encoded output, to provide the corrected sampled encoded output.
16. The circuit of claim 13, wherein the frequency estimator comprises a differentiator for differentiating the combined output.
17. The circuit of claim 13, wherein sampling the output count comprises generating a plurality of different sampled output count options and selecting one of the plurality of different sampled output count options.
18. The circuit of claim 17, wherein sampling the output count includes: sampling exclusively by the reference clock, to provide a first sampled output count option; sampling by a negative edge of the ring encoder output clock by the reference clock, to provide a second sampled output count option; and sampling by a negative edge of said ring encoder output clock by the reference clock, incremented by a 1 modulo 2.sup.n adder, to provide a third sampled output count option, and wherein selecting one of the plurality of different sampled output count options is based on the corrected sampled encoded output.
19. The circuit of claim 13, wherein the clock output is at a frequency of 5 GHz.
20. The circuit of claim 13, further comprising a linearity measurement module coupled to receive the estimated clock frequency, the linearity measurement module comprising a summing block that receives the estimated clock frequency, wherein an output of an adder is coupled to an input of a random access memory (RAM).
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, wherein:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
DETAILED DESCRIPTION
(9) Example embodiments are described with reference to the drawings, wherein like reference numerals are used to designate similar or equivalent elements. Illustrated ordering of acts or events should not be considered as limiting, as some acts or events may occur in different order and/or concurrently with other acts or events. Furthermore, some illustrated acts or events may not be required to implement a methodology in accordance with this disclosure.
(10) Also, the terms coupled to or couples with (and the like) as used herein without further qualification are intended to describe either an indirect or direct electrical connection. Thus, if a first device couples to a second device, that connection can be through a direct electrical connection where there are only parasitics in the pathway, or through an indirect electrical connection via intervening items including other devices and connections. For indirect coupling, the intervening item generally does not modify the information of a signal but may adjust its current level, voltage level, and/or power level.
(11) Disclosed embodiments include methods of frequency estimation and monitoring of the clock output generated by a frequency synthesizer. The clock output from the frequency synthesizer is received at an input of a ring encoder. The ring encoder generates outputs including a ring encoder output clock and an encoded output which represents LSBs of a clock cycle count of the clock output. The binary counter is run using the ring encoder output clock which provides an output count that represents MSBs of the clock cycle count. Using a reference clock, sampling is utilized to obtain a state of the ring encoder to provide a sampled encoded output and a state of the binary counter is sampled to provide a sampled output count. Due to the high frequency of the clock output (e.g., 20 GHz), it is recognized herein there will generally be occasional timing violations which will result in incorrectly sampled bits. Disclosed error correction will correct those incorrect bits, where error correcting is applied to the sampled encoded output to provide a corrected sampled encoded output. The corrected sampled encoded output and sampled output count are combined to provide a combined output which is used for estimating an instantaneous or average frequency of the clock output.
(12)
(13) There are four clock domains shown utilized by OCEC module 120 including a synthesizer output clock (SynClk), a MSB clock (generated internally by the LSB ring encoder shown as an LSB ring 121 in
(14) Low power MSB counter 128 as described in more detail below implements a low power mode which reduces power consumption when lower resolution frequency monitoring can be utilized by shutting down the relatively power hungry LSB ring 121. For example, during low power mode operation, the LSB ring 121, the MSB counter 122 and most of frequency estimator 123 can be shut down.
(15) The LSB ring 121 is shown coupled to receive the SynClk output from the frequency synthesizer 110 shown being at 20 GHz as an example frequency. The LSB ring 121 is shown generating a divided down version of the SynClk output by a factor of 16 to generate the MSB clock shown being at 1.25 GHz, which is coupled to provide the MSB clock to an input of a MSB counter 122 which has an output coupled to a frequency estimator 123. MSB counter 122 by virtue of running at a lower frequency as compared to the LSB ring 121 provides significantly lower power operation per bit processed. The frequency estimator 123 is shown receiving the SeqClk clock, with the SeqClk clock shown being at 100 MHz as an example.
(16)
(17) The frequency estimator 123 is shown outputting a number which represents the estimated clock frequency divided by 100 MHz to frequency signal processing circuitry 140 that includes a frequency monitor 124 and linearity measurement block 125 that are both coupled to receive the estimated clock frequency number provided by the frequency estimator 123. Although the linearity measurement block 125 is shown on chip, the linearity measurement block 125 may also be off-chip. The output of the frequency monitor 124 provides a real-time indication of incorrect frequency of the clock output that may be used for safety applications. For example, the output of the frequency monitor 124 may be coupled to an input of a CPU or other processor that can also be on the semiconductor substrate 105, such as processor 130 shown in
(18)
(19) LSB ring 121 is shown including eight (8) flip flops as an example number of flip flops, each receiving the 20 GHz SynClk including flip flop 121a providing an output bit F1, 121b providing output bit F2, 121c providing output bit F3, 121d providing output bit F4, 121e providing output bit F5, 121f providing output bit F6, 121g providing output bit F7, and 121h providing output bit F8 that are series connected. There is an inverter 121i connected between the output of flip flop 121h and an input of flip flop 121a to provide a ring. The eight output bits (F1 to F8) from the LSB ring 121 are provided to a cross-clock domain resampler block 123a that has its 8 bit output which provides a sampled encoded output which is coupled to an input of an error correction RAM 123f shown as a 2566 bits RAM in
(20) MSB Counter 122 is shown including a 4-bit binary counter 122a, an inverter 122b and four flip flops 122c. The 4-bit counter 122a counts the number of positive edges of the MSB clock. The output of this 4-bit counter 122a (named Count_PosEdge in
(21) The frequency estimator 123 includes samplers including a cross-clock domain resampler circuit 123b which receives the output of the 4-bit counter 122a (Count_PosEdge) and provides a first sampled output count (Count_Pos_Sampled), and receives the half-clock delayed version from the four flip flops 122c (Count_NegEdge) and provides a second sampled output count (Count_Neg_Sampled). Adder 123c is shown in
(22) Frequency estimator 123 is also shown including multiplexers 123d, 123e, and 123g, which function to combine the error corrected output from error corrected sampled encoded output received from the error correction RAM 123f and the sampled output counts received from the MSB Counter 122, as well as a virtual shift-left by 4 block 123i. Shift-left by 4 block 123i is virtual block because there is no real hardware block involved as the 4 bits simply become the MSBs with zeros as LSBs. Frequency estimator 123 also includes a frequency estimator shown as a Diff MOD 256 123h which functions as a differentiator which receives the combined output shown as Counter_Final including the MSBs from multiplexer 123e and LSBs from error correction RAM 123f and outputs the current input minus the previous input (Y.sub.t=X.sub.tX.sub.t-1) modulo 256 to provide the estimated clock frequency output shown.
(23) If desired by the user, a low power mode can be enabled. When LOW_POWER_MODE=1 (enabled), most of the blocks of OCEC module 120 are gated off, such as all circuitry shown being shut down except for the low power MSB counter 128, mux 123g and Diff Mod 256 block 123h of the frequency estimator 123. The clock for the low power MSB counter 128 is received from the clock divider 129 shown in
(24) Regarding how to select the correct MSB value, the frequency estimator waveforms described below relative to
(25) The method can choose which MSB value to use (Count_Pos_Sampled or Count_Neg_Sampled) based on the value of one of the LSBs (specifically bit F7 in this particular example in
(26) Regarding LSB error correction, due to violations of setup time or hold time at the ring counter's 121 flip-flops (121a-121h shown in
(27) Regarding operation of the low power MSB counter 128, this block implements a low power mode which provides a low-power alternative to the otherwise relatively high power-consumption when the LSB ring 121 is operating.
(28) The 4-bit Gray Code counter 128a operates on the LpClk, which is the synthesizer output clock frequency (SynClk of 20 GHz) divided by 16. Using Gray coding ensures that the maximum error at the output of the Gray to binary counter 128d at any time is only 1, thus limiting the measurement error. When LOWPOWERMODE=1 at mux 123g, the LSB ring 121 and most of OCEC module 120 are gated off, thus saving significant power.
(29)
(30) For implementing self-test ramp frequency linearity measurements, an averaging RAM sub-system (SS) can be used.
(31) Disclosed embodiments thus provide an on-chip method which can be used to continuously estimate and monitor the frequency synthesizer output frequency in real-time to detect performance issues essentially immediately, and measure the frequency synthesizer's linearity when ramping in frequency, in off-line or real-time mode without needing any external equipment. As described above, disclosed embodiments are generally applicable to all frequency synthesizers and PLLs, not restricted to radar applications.
(32) Those skilled in the art to which this disclosure relates will appreciate that many other embodiments and variations of embodiments are possible within the scope of the claimed invention, and further additions, deletions, substitutions and modifications may be made to the described embodiments without departing from the scope of this disclosure.