Digital Techniques in Frequency Synthesis A Thesis
Transcription
Digital Techniques in Frequency Synthesis A Thesis
Ain Shams University Faculty of Engineering Electronics and Communications Department Digital Techniques in Frequency Synthesis A Thesis Submitted in partial fulfillment for the requirements of Master of Science degree in Electrical Engineering Submitted by: Mohammed Ibrahim Ibrahim El-Shennawy B.Sc. of Electrical Engineering (Electronics and Communications Department) Ain Shams University, 2004. Supervised by: Dr. Safwat Mahrous Mahmoud Dr. Emad El-Din Mahmoud Hegazi Dr. Hani Fikry Ragai Cairo 2011 Curriculum Vitae Name: Mohammed Ibrahim Ibrahim El-Shennawy Date of Birth: 16/11/1981 Place of Birth: Giza, Egypt First University Degree: B.Sc. in Electrical Engineering Name of University: Ain Shams University Date of Defense: 31st of July 2011 ii Statement This dissertation is submitted to Ain Shams University for the degree of Master of Science in Electrical Engineering (Electronics and Communications Engineering). The work included in this thesis was carried out by the author at the Electronics and Communications Engineering Department, Faculty of Engineering, Ain Shams University, Cairo, Egypt. No part of this thesis was submitted for a degree or a qualification at any other university or institution. Name: Mohammed Ibrahim Ibrahim El-Shennawy Date: 31/7/2011 iii Acknowledgements Thanks to Allah for the completion of this work. I would like to dedicate it to all who have encouraged me throughout my study & industrial work; especially I would like to thank my supervisors: Dr. Safwat Mahrous, Dr. Emad Hegazi & Dr. Hani Fikry; my examining committee: Dr. Khaled Sharaf & Dr. Abdel-Halim Shousha; my managers: Tarek El-Esseily & Ahmed Saad; my colleagues: Hossam Ali & Ahmed Hassan Fahmy; my family & my wife who I could never give her what she deserves. She always supported me and pushed my spirits up. I am really grateful to her. Mohammed Ibrahim Ibrahim El-Shennawy Electrical and Communications Department Faculty of Engineering Ain Shams University Cairo, Egypt 2011 iv Abstract Mohammed Ibrahim Ibrahim El-Shennawy, Digital Techniques in Frequency Synthesis Faculty of Engineering, Ain Shams University, 2011 The thesis contains a study for some Digital Techniques in Frequency Synthesis that makes the use of an All Digital PLL possible. At the heart of the All Digital PLL lies a Digitally Controlled Oscillator which deliberately avoids any analog tuning voltage controls. We address two of the main issues of the Digitally Controlled Oscillator; that is its center frequency (fDCO) variations & tuning gain (KDCO) variations. To mitigate the center frequency variations, we propose a new fast automatic tuning algorithm for LC based oscillators. The proposed algorithm is verified over a wide range of initial Digitally Controlled Oscillator frequencies & phases to guarantee robust operation over all process corner variations with the worst case tuning time being only 7.2µsec. To mitigate tuning gain variations, we study a fast tuning gain estimation & calibration algorithm. This tuning gain calibration makes it possible to use a two point modulation scheme to transmit Frequency Shift Keying data at symbol rates much higher than the loop bandwidth upto the Nyquist frequency of half the reference frequency. We use a Verilog model to verify the successful All Digital PLL functionality & performance transitioning from reset to center frequency automatic tuning to tuning v gain estimation & calibration to Frequency Shift Keying data transmission. Also when used as a local oscillator, the implemented All Digital PLL has spurious tones at only 98dBc. Key words: All Digital PLL, Digitally Controlled Oscillator, Automatic Tuning, Tuning Gain Estimation, Tuning Gain Calibration, Two Point Modulation, Frequency Shift Keying. vi Summary The thesis contains a study for some Digital Techniques in Frequency Synthesis that makes the use of an All Digital PLL possible. All Digital PLLs have its loop control circuitry implemented in a fully digital manner. When implemented in a digital deep sub micrometer CMOS process, the All Digital PLL appears more advantageous over conventional charge-pump-based PLLs, since it exploits the signal processing capabilities of digital circuits and avoids relying on the fine voltage resolution of analog circuits. In an All Digital PLL, the conventional phase/frequency detector, charge pump and RC loop filter are replaced by a time-to-digital converter and a simple digital loop filter. While at the heart of the All Digital PLL lies a Digitally Controlled Oscillator which deliberately avoids any analog tuning voltage controls. The Digitally Controlled Oscillator however remains the only building block of the All Digital PLL whose parameters are subject to variations due to fabrication process variations since it is in essence a Radio Frequency LC based Oscillator that doesn’t use varactors. The digital automatic tuning & calibration techniques required to mitigate these variations are the scope of this thesis. Namely, we address two of the main issues of the Digitally Controlled Oscillator; that is its center frequency (fDCO) variations & tuning gain (KDCO) variations. To mitigate the center frequency variations, we propose a new fast automatic tuning algorithm for LC based oscillators. The new idea is presented, it depends on a binary search sequence where in each search iteration the reference & oscillator clocks vii are put into a race that is terminated once we know the faster clock thus minimizing the tuning time needed compared to other tuning algorithms with fixed search times. The proposed algorithm is verified over a wide range of initial Digitally Controlled Oscillator frequencies & phases to guarantee robust operation over all process corner variations with the worst case tuning time being only 7.2µsec. To mitigate tuning gain variations, we study a fast tuning gain estimation & calibration algorithm. It makes use of the fact that since the loop control is now digital, it is easier to estimate the tuning gain just in time by introducing a known frequency step to the All Digital PLL input & monitoring the change on the Digital Controlled Oscillator tuning input. This tuning gain calibration makes it possible to use a two point modulation scheme to transmit Frequency Shift Keying data at symbol rates much higher than the loop bandwidth upto the Nyquist frequency of half the reference frequency. The All Digital PLL together with the center frequency automatic tuning algorithm & the tuning gain estimation & calibration algorithm are all modeled & integrated in Verilog. We use this model to verify the successful All Digital PLL functionality & performance transitioning from reset to center frequency automatic tuning to tuning gain estimation & calibration to Frequency Shift Keying data transmission. Also when used as a local oscillator for receivers, the implemented All Digital PLL has spurious tones less than -98dBc. The thesis contains six chapters: In Chapter 1 we present the motivation behind this work and a brief introduction to the different frequency synthesis techniques. In Chapter 2, we present the basics of the All Digital PLL, we show its main building blocks and principle of operation. viii In Chapter 3, we show how we model the various All Digital PLL building blocks using Verilog, we build a simple All Digital PLL model and use a simple frequency plan to understand in more depth the All Digital PLL operation. In Chapter 4, we study the first of the main problems of LC Digitally Controlled Oscillators which is the center frequency variations over process variations. We introduce a fast automatic tuning algorithm for these oscillators with multiple tuning curves which we published recently. Many practical implementation issues are shown along with their solutions. In Chapter 5, we study the other main problem of LC Digitally Controlled Oscillators which is its tuning gain variations also across process variations. We explain a method of estimating the gain of the Digitally Controlled Oscillator. By executing the calculation algorithm just-in-time at the beginning of every packet, the Digitally Controlled Oscillators gain can be conveniently tracked and compensated. In Chapter 6, we integrate the introduced Digitally Controlled Oscillator autotuning algorithm and tuning gain estimation and normalization algorithm with the All Digital PLL model introduced in Chapter 3 and we show how these algorithms are incorporated in sequence to prepare the All Digital PLL to be used as a Frequency Shift Keying transmitter. ix Contents Chapter 1 .............................................................................................................................. 1 Introduction .......................................................................................................................... 1 1.1. Motivation .................................................................................................................. 1 1.2. Frequency Synthesis ................................................................................................... 2 1.3. Frequency Synthesis Techniques ................................................................................ 3 1.3.1. Direct Analog Synthesis ................................................................................. 3 1.3.2. Direct Digital Synthesis ................................................................................. 4 1.3.3. Indirect Synthesis Using Phase Locking ......................................................... 6 1.3.4. Hybrid Structure Frequency Synthesis............................................................ 7 1.4. Frequency Synthesizers for Mobile Communications ................................................. 8 1.4.1. Integer-N PLL Architecture ......................................................................... 10 1.4.2. Fractional-N PLL Architecture ..................................................................... 10 1.4.3. Toward an All-Digital PLL Approach .......................................................... 17 1.5. Thesis Outline .......................................................................................................... 18 Chapter 2 ............................................................................................................................ 19 ADPLL Basics .................................................................................................................... 19 2.1. Introduction .............................................................................................................. 19 2.2. ADPLL System ........................................................................................................ 21 2.3. Phase Domain Operation .......................................................................................... 22 2.4. Reference Clock Retiming ........................................................................................ 24 2.5. Phase Detection ........................................................................................................ 26 2.6. Modulo Arithmetic of Phase Domain Signals ........................................................... 27 x 2.7. Discrete Time Z-Domain Model ............................................................................... 29 2.8. Linear S-Domain Approximation .............................................................................. 31 2.9. Summary .................................................................................................................. 32 Chapter 3 ............................................................................................................................ 33 ADPLL Modeling ............................................................................................................... 33 3.1. Introduction .............................................................................................................. 33 3.2. ADPLL Building Blocks .......................................................................................... 34 3.3. Synchronous Counter with Reset Model ................................................................... 35 3.4. Sampler Model ......................................................................................................... 36 3.5. Synchronizer Model ................................................................................................. 37 3.6. Phase Detector Model ............................................................................................... 38 3.7. DCO Model .............................................................................................................. 39 3.8. ADPLL Top Level Model......................................................................................... 40 3.9. ADPLL Top Level Test Bench ................................................................................. 41 3.10. TDC Model ............................................................................................................ 43 3.11. Summary ................................................................................................................ 45 Chapter 4 ............................................................................................................................ 46 DCO Automatic Tuning ...................................................................................................... 46 4.1. Introduction .............................................................................................................. 46 4.2. Existing Automatic Tuning Algorithms .................................................................... 47 4.3. Proposed Automatic Tuning Algorithm .................................................................... 49 4.4. Fully Custom Block: ................................................................................................. 50 4.4.1. External High Speed Divider by 4: ............................................................... 50 4.5. Fully Digital Block: .................................................................................................. 50 4.5.1. Multiplexer: ................................................................................................. 50 4.5.2. Clock Gating: ............................................................................................... 50 4.5.3. Synchronizer: ............................................................................................... 51 4.5.4. Divider by 4: ................................................................................................ 51 4.5.5. Synchronous Counter with Reset:................................................................. 52 4.5.6. Bus Synchronizer: ........................................................................................ 52 4.5.7. Comparator: ................................................................................................. 52 4.6. Algorithm Execution Sequence ................................................................................. 54 xi 4.7. Algorithm Verilog Code ........................................................................................... 55 4.8. Simulation Results .................................................................................................... 69 4.9. Summary .................................................................................................................. 71 Chapter 5 ............................................................................................................................ 72 KDCO Calibration within the ADPLL ................................................................................... 72 5.1. Introduction .............................................................................................................. 72 5.2. DCO Transfer Function & Gain ................................................................................ 75 5.3. DCO Gain Normalization ......................................................................................... 75 5.4. Predictive/Closed PLL Operation ............................................................................. 76 5.5. DCO Gain Estimation using the ADPLL .................................................................. 78 5.6. Effect of Incorrect KDCO Estimation .......................................................................... 81 5.7. Algorithm Verilog Code ........................................................................................... 85 5.8. Simulation Results .................................................................................................... 90 Chapter 6 ............................................................................................................................ 92 The ADPLL as an FSK Transmitter .................................................................................... 92 6.1. Introduction .............................................................................................................. 92 6.2. Test Bench Verilog Code .......................................................................................... 93 6.3. Simulation Results .................................................................................................... 97 6.4. Spurious Tones ....................................................................................................... 106 Conclusion ........................................................................................................................ 110 Future Work...................................................................................................................... 112 References ........................................................................................................................ 113 xii List of Figures Figure 1-1 Frequency Synthesis ............................................................................................ 2 Figure 1-2 Possible outputs of a synthesizer: sinusoidal and digital waveforms ..................... 3 Figure 1-3 Direct digital frequency synthesis. ........................................................................ 4 Figure 1-4 Phase accumulator front end of a DDFS system with frequency modulation ......... 5 Figure 1-5 Phase Locked Loop .............................................................................................. 6 Figure 1-6 DDFS-PLL hybrid ............................................................................................... 7 Figure 1-7 Typical charge-pump-based PLL for RF wireless applications. ............................ 9 Figure 1-8 Alternating divide ratio of fractional-N PLL....................................................... 11 Figure 1-9 Periodic and deterministic phase error in a fractional-N PLL .............................. 12 Figure 1-10 Fractional-N PLL incorporating phase interpolation ......................................... 12 Figure 1-11 Fractional-N synthesizer using a ΣΔ-modulated clock divider .......................... 13 Figure 1-12 MASH-3 ΣΔ digital modulator divider ............................................................. 14 Figure 1-13 ΣΔ-divided clock: clock output spectrum (left), phase spectrum (right) ............ 15 Figure 1-14 Modulating a wideband fractional-N synthesizer .............................................. 16 Figure 1-15 ADPLL-based RF frequency synthesizer .......................................................... 17 Figure 2-1 ADPLL-based RF frequency synthesizer. ........................................................... 21 Figure 2-2 Concept of synchronizing the clock domains by retiming the FREF. .................. 23 Figure 2-3 Hardware implementation of the variable phase & the reference phase .............. 25 Figure 2-4 Fractional-N division ratio timing example with N = 2+(1/4) ............................ 25 Figure 2-5 Modulo arithmetic of the reference and variable phase registers ......................... 28 Figure 2-6 Rotating vector interpretation of the reference and variable phases. .................... 28 Figure 2-7 z-domain model of the type-II ADPLL. .............................................................. 29 xiii Figure 2-8 Linear s-domain model of the type-II ADPLL. ................................................... 31 Figure 3-1 ADPLL main building blocks............................................................................. 34 Figure 3-2 Synchronous counter with reset model ............................................................... 35 Figure 3-3 Sampler model ................................................................................................... 36 Figure 3-4 Synchronizer model ........................................................................................... 37 Figure 3-5 Phase detector model.......................................................................................... 38 Figure 3-6 DCO model........................................................................................................ 39 Figure 3-7 ADPLL top level model. .................................................................................... 40 Figure 3-8 ADPLL top level test bench. .............................................................................. 41 Figure 3-9 ADPLL top level simulation results ................................................................... 42 Figure 3-10 TDC functionality example with FCW = 2+(1/4) ............................................ 44 Figure 3-11 TDC Model ...................................................................................................... 44 Figure 3-12 TDC model waveforms. ................................................................................... 45 Figure 4-1 DCO Auto Tuning simplified block diagram ...................................................... 47 Figure 4-2 Proposed DCO Auto Tuning block diagram ....................................................... 51 Figure 4-3 Proposed DCO Auto Tuning control signals timing diagram .............................. 55 Figure 4-4 Simulated Final DCO Frequency vs. Regression Iteration .................................. 70 Figure 4-5 Simulated Tuning Curve Number vs. Regression Iteration ................................. 71 Figure 4-6 Simulated Tuning Time vs. Regression Iteration ................................................ 71 Figure 5-1 Normalized DCO block diagram ........................................................................ 76 Figure 5-2 Two point modulated ADPLL model ................................................................. 77 Figure 5-3 DCO gain estimate by measuring tuning word change in response to a fixed frequency jump. .................................................................................................................. 79 Figure 5-4 DCO gain estimation flowchart. ......................................................................... 80 Figure 5-5 Complex plane location of the H(z) zero and pole movement with different values of the DCO gain estimate accuracy r. .................................................................................. 82 Figure 5-6 Direct modulation transfer function H(f) where f ≈ (fR/2π)(z-1) for f << fR, with different values of the DCO gain estimate accuracy r according to [Staszewski 06]. ............ 84 Figure 5-7 Actual direct modulation transfer function H(f) where f ≈ (fR/2π)(z-1) for f << fR, with different values of the DCO gain estimate accuracy r according to this work. .............. 85 Figure 5-8 KDCO Calibration Simulation Result ................................................................... 91 Figure 6-1 ADPLL-based RF frequency synthesizer when used as an FSK transmitter ........ 93 xiv Figure 6-2 ADPLL output in the various modes of operation ............................................... 97 Figure 6-3 Zoom in on the DCO Autotuing period .............................................................. 98 Figure 6-4 Zoom in on the KDCO estimation period .............................................................. 99 Figure 6-5 2.4GHz Center frequency at the start of KDCO estimation ................................. 100 Figure 6-6 1MHz positive frequency shift ......................................................................... 101 Figure 6-7 1MHz negative frequency shift ........................................................................ 102 Figure 6-8 2Mbps data transmission. ................................................................................. 103 Figure 6-9 Zoom in on the FSK data transmission ............................................................. 104 Figure 6-10 FSK transmission at fR/2 ................................................................................ 105 Figure 6-11 Zoom in on the modulating part of the NTW .................................................. 107 Figure 6-12 FFT of the modulating part of the NTW ......................................................... 108 Figure 6-13 ADPLL measured output spectrum from [Staszewski 03a] ............................ 109 xv List of Tables Table 3-1 ADPLL simple frequency plan ............................................................................ 42 Table 4-1 Regression Test Bench Results Summary ............................................................ 70 Table 6-1 Measured key synthesizer performance from [Staszewski 03a] .......................... 109 xvi List of Symbols .f Fractional Part of the Frequency Division Ratio. Proportional Loop Gain of the Loop Filter. ACF z Forward Transfer Function of the Compensating Feed. ADF z Forward Transfer Function of the Direct Feed. bt The Sigma Delta modulator output in the time domain. CF z Feed Back Transfer Function of the Compensating Feed. DF z Feed Back Transfer Function of the Direct Feed. cnt _ div Output word of the divided DCO counter. cnt _ ref _ s Output word of the reference counter. d k Oscillator Tuning Word. f DCO frequency step corresponding to an Oscillator Tuning Word step. dco _ autotune _ N DCO Coarse Tuning Word output of the Auto Tuning Algorithm. dco _ cal _ done DCO Automatic Tuning done signal. E fV Average DCO frequency output. E q3 z Quantization noise of the 3rd stage of the ΣΔ modulator in the z-domain. k TDC Output after DCO Period Normalization. f DCO Frequency difference between the actual & required DCO frequencies. xvii fR Reference Frequency. f out Synthesized Frequency. f vco VCO Output Frequency. f DDFS Direct Digital Frequency Synthesizer Output Frequency. f RF Hybrid Frequency Synthesizer RF Output Frequency. f (OTW ) DCO frequency as a function of the Oscillator Tuning Word. fo DCO Center Frequency. f DIV Divided DCO Frequency. f DCO DCO Frequency. f div4 DCO Frequency Divided by 4. f div4 _ g DCO Frequency Divided by 4 after Clock Gating. f div f div4 _ g Divided by 4. f ref Reference Frequency Signal. f ref _ g Reference Frequency Signal after Clock Gating. f ref _ s Reference Frequency Signal after Clock Gating & Retiming. H ol z Open Loop Transfer Function in the z-domain. H cl z Closed Loop Transfer Function in the z-domain. H ol s Open Loop Transfer Function in the s-domain. H cl s Closed Loop Transfer Function in the s-domain. H CF z Closed Loop Transfer Function of the Compensating Feed. xviii H DF z Closed Loop Transfer Function of the Direct Feed. i DCO clock transition index. k Reference clock transition index. K vco VCO Tuning Gain. K DCO DCO Tuning Gain. K̂ DCO Estimated DCO Tuning Gain. K nDCO Normalized DCO Tuning Gain. L f Phase Noise vs. Frequency. m The number of the ΣΔ modulator stages. mid _ OTW Centre Oscillator Tuning Word. N avg Average Division Ratio. N div Integer Instantaneous Division Ratio. N div z Integer Instantaneous Division Ratio in the z-domain. Ni Integer part of the FCW. Nf Fractional part of the FCW. N ADPLL Multiplication Factor, also defined as FCW. N dco DCO Tuning Word. N RO Number of cycles until roll over occurs. OV1 Overflow (carry output) of the 1st accumulator of the ΣΔ modulator. E k Phase Error. V Conventional Variable Phase. xix R Conventional Reference Phase. Integrator Gain of the Loop Filter. r DCO Gain Estimation Accuracy. RR k Reference Phase Accumulator Output. RV k Sampled DCO Phase Accumulator Output. RV i DCO Phase Accumulator Output. reset _ out _ div Reset signal for the blocks driven by the f div clock. reset _ out _ ref _ s Reset signal for the blocks driven by the f ref _ s clock. V Dimensionless Variable Phase. R Dimensionless Reference Phase. tV DCO clock transition timestamps. TV DCO clock period. tR Reference clock transition timestamps. TR Reference clock period. to Initial time offset between the DCO & reference clocks. TDIV Divided DCO clock period. n Natural Oscillating Frequency. W Word Length of an Accumulator. WI Word Length of the Integer part of the accumulator WF Word Length of the Fractional part of the accumulator Damping Factor. xx List of Abbreviations ADPLL All Digital Phase Locked Loop. CKV DCO Output Clock. CKR Retimed Reference Clock. DCO Digitally Controlled Oscillator. FCW Frequency Command Word. NTW Normalized Oscillator Tuning Word. nDCO Normalized DCO. OTW Oscillator Tuning Word. PHE Phase Error. TDC Time to Digital Converter. UI Unit Interval. xxi Chapter 1 Introduction In this chapter we present the motivation behind this work, briefly introduce the different frequency synthesis techniques & finally we present the thesis outline. 1.1. Motivation With the explosive growth of the wireless communication industry, research related to communication circuits and architectures has received a great deal of attention. The major issues being addressed are low-cost, low-voltage, and low-power designs, which combine necessary performance with the ability to be manufactured economically in high volumes. The use of deep-submicrometer CMOS processes allows for an unprecedented degree of scaling and integration in digital circuitry, but complicates the implementation of traditional RF and analog circuits. Consequently, a new research focuses on finding digital architectural solutions to these integration problems. Modern transceivers are expected to operate over a Chapter 1 Introduction 2 wide range of frequencies. Although crystal oscillators offer high spectral purity, they cannot be tuned over a wide range of frequencies. Hence, some form of frequency synthesis is employed by these transceivers. 1.2. Frequency Synthesis The term frequency synthesizer generally refers to an active electronic device Figure 1-1 that accepts some frequency reference (FREF) input signal of a very stable frequency fR and then generates frequency output as commanded by the frequency command word (FCW), whereby the stability, accuracy, and spectral purity of the output correlate with the performance of the input reference. The desired value of the output frequency is an FCW multiple (generally, a real number) of the reference frequency according to the equation f out FCW f ref Frequency Reference Frequency Synthesizer (fref) (1.1) Synthesized Frequency (fout) FCW Frequency Command Word Figure 1-1 Frequency Synthesis Interestingly, the definition above does not specify the shape of the synthesized output. It could be a sinusoid or a rectangular signal (Figure 1-2). The frequency and phase information is preserved in either a continuous-time waveform fit to the ideal sinusoid or in edge transition times, respectively. A clear advantage of the rectangular digital signal is that it is more useful for digital CMOS process technology. Chapter 1 Introduction 3 time HI=1 HI=1 LO=0 ti LO=0 ti+1 ti+2 time Figure 1-2 Possible outputs of a synthesizer: sinusoidal and digital waveforms 1.3. Frequency Synthesis Techniques There are three major conventional frequency synthesis techniques: Direct analog mix/filter/divide Direct digital Indirect or phase-locked loop Hybrids: any combination of the three methods above Each of these methods has its own advantages and disadvantages; hence, each application requires selection based on the most acceptable combination of compromises. 1.3.1. Direct Analog Synthesis Direct analog synthesis, also called mix/filter/divide, uses frequency multipliers, dividers, and other mathematical manipulations to produce the desired new frequency [Reinhardt 86]. The process is called direct because the error correction process is avoided; hence, the quality of the output correlates directly with the quality of the input. Phase noise is typically excellent because the direct process and switching speed can be very fast. Unfortunately, a broadband mix/filter/divide synthesizer requires many references, which makes it extremely expensive. Because of its high cost and high power disadvantages, the direct analog synthesis method is used primarily in instrumentation and is not practical for low-power portable applications such as mobile communication terminals. Chapter 1 Introduction 4 1.3.2. Direct Digital Synthesis Direct digital frequency synthesis (DDFS) is the most recently developed frequency synthesis technique, dating from the early 1970s [Tierney 71]. A DDFS system uses logic and memory to construct the desired output signal digitally, and a data conversion device [a digital-to-analog converter (DAC)] to convert it from the digital to the analog domain, as shown in Figure 1-3. Therefore, the DDFS method of constructing a signal is almost entirely digital, and the precise amplitude, frequency, and phase are known and controlled at all times. For these reasons, the switching speed is extremely high, but the power consumption could be excessive at high clock frequencies. The DDFS method is not entirely digital in the true sense of the word since it requires a DAC and a low-pass filter (LPF) to attenuate spurious frequencies produced by the digital switching. In addition, a very stable frequency reference clock of at least three times the output frequency is required. Considering this and the fact that the DAC and LPF might be difficult to build and would consume excessive amount of power at gigahertz operational frequency, the DDFS solution is not acceptable for radio-frequency (RF) applications such as mobile communication terminals. Time-sampled phase Frequency Control Word (FCW) Phase Accumulator Frequency Reference Clock (FREF) Time-sampled amplitude Time-continuous amplitude ROM DAC LPF t t t Output (fout) t Figure 1-3 Direct digital frequency synthesis [Tierney 71]. Due to its digital waveform reconstruction nature, the DDFS technique is best suited for implementing wideband transmit modulation as well as fast channel hopping schemes [Tan 95]. As an example, Figure 1-4 shows the phase accumulator front end of a DDFS system Chapter 1 Introduction 5 with an arithmetic adder that combines the FCW components of the channel selected and the frequency-modulating data. Phase Accumulator FCW FCW(data) phase FCW(channel) FREF Figure 1-4 Phase accumulator front end of a DDFS system with frequency modulation [Tan 95]. Let the word length of the accumulator be W. For a given frequency command word FCW and clocking (FREF) frequency fR, the output frequency fout of the synthesizer is given by f out FCW f ref 2W (1.2) 1 f ref 2W (1.3) and the frequency resolution is f out Because it is very costly to implement a DDFS system at frequencies of interest for wireless communications (multi-GHz range), to date this technique has been used directly only in military applications or to build the low IF DSP in digital communication modems. From yet another perspective, the DDFS method is fundamentally not the best choice for generating RF signals. As explained previously, in a deep-submicron process technology, the digital clock of Figure 1-2 is preferred over the sinusoidal signal, which the DDFS technique attempts to produce. The complete digital reconstruction of the entire waveform is simply too wasteful if ultimately, only the zero crossings are what is needed. Chapter 1 Introduction 6 1.3.3. Indirect Synthesis Using Phase Locking Indirect synthesis using a PLL compares the output phase of an oscillator, such as a voltagecontrolled oscillator (VCO), with a phase of a reference signal FREF ( fR ) [Egan 00], [Egan 98], as shown in Figure 1-5. As the output drifts, detected errors produce correction commands to the oscillator, which responds in a negative-feedback manner. Phase and frequency deviation monitoring occurs in the phase/frequency detector (PFD), which adds phase noise close to the carrier. Loop Filter Phase/Frequency Detector FREF (fref) Voltage-Controlled Oscillator FVCO PFD Phase error (fvco) Tuning voltage Kvco Frequency Divider FDIV 1/Ndiv (fdiv) Figure 1-5 Phase Locked Loop. However, a PLL can outperform direct synthesis at larger frequency offsets. Fine frequency steps degrade phase noise, and fast switching is difficult to achieve with a PLL design even when using aggressive VCO pre-tuning techniques [Lee 04]. In general, the indirect synthesizer uses a PLL and a programmable fractional-N divider, which multiplies the stable reference frequency fR. In the loop, a loop filter (LF) is present so as to suppress spurs produced in the phase detector so that they do not cause unacceptable frequency modulation in the VCO (see Section 1.4). However, the filter causes degradation in the transient response, which limits the switching time. Therefore, the requirements for frequency switching time and suppression of spurs are in conflict. The classical PLL-based Chapter 1 Introduction 7 frequency synthesizers are suitable only for narrowband frequency modulation schemes, in which the modulating data rate is well within the PLL bandwidth. 1.3.4. Hybrid Structure Frequency Synthesis In certain applications it is necessary to combine two (rarely, three) major synthesis techniques such that the best features of each basic method are emphasized. Generally, it is a hybrid of DDFS and PLL structures that is used in certain wireless devices. As shown in Figure 1-6, the wideband modulation and fast channel-hopping capability of the DDFS method, which now operates at lower frequency, could be combined with the frequency multiplication property of a PLL that up-converts it to the RF band. FCW DDFS (fDDFS) PLL (fRF) Out (fclk) CLK Figure 1-6 DDFS-PLL hybrid As another example of a hybrid approach, [Hafez 99] describe a 900-MHz band hybrid synthesizer structure that uses a 1.10 to 1.85-MHz low-frequency DDFS to generate a stable frequency reference to the main PLL. Instead of using a conventional digital frequency divider or prescaler, a PLL uses sub-sampler mixing to translate the RF frequency down to fR. The frequency resolution of the synthesizer is established by the DDFS system, and the PLL is used primarily as a frequency integer multiplier. Since the DDFS system operates at low frequency, its major limitation of high-power dissipation is not a concern, but unfortunately, the subsampling process introduces excessive noise. Chapter 1 Introduction 8 1.4. Frequency Synthesizers for Mobile Communications A great majority of RF wireless synthesizers for mobile applications are based on a chargepump PLL structure [Gardner 80]. Under locked conditions the average output frequency of a PLL bears an exact relationship to the reference input frequency, so the frequency accuracy is extremely high. Unfortunately, its acquisition time is rather long since the phase/frequency detector evaluates the frequency difference between the reference and generated clocks by means of the phase difference. In modern wireless applications, the fast acquisition characteristic of the frequency synthesizer is crucial (e.g., in channel hopping). The acquisition time is directly proportional to the initial frequency difference Δfo and inversely proportional to the loop bandwidth fBW [Wolaver 93]. Consequently, to reduce the acquisition time, a small initial frequency difference and wide loop bandwidth are desirable. However, it is not always possible to achieve a small Δfo value at the design stage, due to the presence of process, voltage, and temperature (PVT) variations; thus, a self-calibrating mechanism would be preferred [Wilson 00]. We will show this mechanism in more detail in Chapter 4. In addition, an attempt to enhance the acquisition time through a wide loop bandwidth increases the contribution of the reference phase noise and is therefore rarely possible. The frequency difference could be measured directly, as in [Hwang 01], to reduce the acquisition time significantly, to just a few clock cycles independent of the initial frequency difference. Chapter 1 Introduction 9 Charge Pump Phase/Frequency Detector FREF (fref) Loop Filter Voltage-Controlled Oscillator UP PFD FVCO IP DOWN R1 IN C2 (fvco) Tuning voltage Kvco C1 Frequency Divider FDIV (fdiv) 1/Ndiv Figure 1-7 Typical charge-pump-based PLL for RF wireless applications. As shown in Figure 1-7, the PFD estimates the phase difference between the frequency reference FREF input and the divided-by-N VCO clock FDIV by measuring time between their respective closest edges and generates either an UP or a DOWN pulse whose width is proportional to the time difference measured. This signal, in turn, produces a current pulse IP IN with the proportional duty cycle in a charge-pump block. At the loop filter, this current is converted into a VCO tuning voltage. C2 is an integrating capacitor and introduces a pole at dc, thus giving rise to a type II loop. Its main task is to suppress the glitch generated by the charge pump on every phase comparison instant. The glitch arises from mismatches between the width of UP and DOWN pulses produced by the PFD as well as charge injection and clock feed-through mismatches between PMOS and NMOS devices in the charge pump. This periodic glitch will modulate the VCO output frequency, thus giving rise to frequency spurs. The primary sidebands will be located on both sides of the carrier at the comparison frequency offset. The double integrator configuration is only marginally stable, and it is necessary to stabilize the loop with a pole–zero combination introduced by R1 and C1. Chapter 1 Introduction 10 1.4.1. Integer-N PLL Architecture Conventional PLL has an integer divider ratio of Ndiv such that fvco = Ndiv.fR. The letter N is used historically in the PLL field to designate its frequency multiplication property and is equivalent to FCW as defined by Eq. 1.1. Resolution is equal to the reference frequency, which is usually selected to be the same as the channel spacing. Narrow loop bandwidths are undesirable because of long switching times, inadequate suppression of he VCO phase noise, and susceptibility to supply and substrate noise. The PLL building blocks for the RF applications require extreme care due to the high frequency of operation, matching, and linearity. Because of the spur reduction requirements, the loop filter requires large resistors and capacitors, most likely external to the IC chip, to achieve a low PLL bandwidth of several kilohertz. Realizing a monolithic capacitance on the order of a few hundred pico farads would require a prohibitively large area if implemented as a high quality metal–insulator–metal (MIM) capacitor. Implementing it as a MOS capacitor would take less area, but it would probably be unacceptable because of its high leakage current and nonlinearity. Another major disadvantage of this analog intensive synthesizer is lack of portability from one process technology to another. 1.4.2. Fractional-N PLL Architecture In fractional-N synthesizers, the output frequency can increment by fractions of the reference frequency, allowing the latter to be much greater than the channel spacing required. This allows wide loop filter design at the expense of fractional spurs, resulting in improved loop dynamics and attenuation of the oscillator-induced noise [Razavi 98]. The PLL bandwidth is usually set at roughly 10% of the reference frequency to avoid any significant feedthrough of the reference tone and may now span several channels. In response to a change Chapter 1 Introduction 11 in a frequency control word, the PLL output frequency settles to the programmed value with a time-constant inversely related to the loop bandwidth. divide ratio TN+1 Ndiv+1 average Ndiv time TN Figure 1-8 Alternating divide ratio of fractional-N PLL Fractional-N PLL can achieve an arbitrary fine time-averaged frequency-division ratio of (Ndiv.f) by modulation of the instantaneous integer division ratio of N div and Ndiv + 1. (In practice, a multi-bit modulus could be used, as demonstrated in [Kenny 99].) Figure 1-8 reveals the principle in which the integer division is periodically altered from Ndiv to Ndiv + 1. The resulting average divide ratio will be increased from Ndiv by the duty cycle of the Ndiv + 1 division: N avg N divTN N div 1TN 1 TN 1 N div N div . f N div. f TN TN 1 TN TN 1 (1.4) where f corresponds to the fractional part of the frequency-division ratio. Figure 1-9 shows details of various signals (active edges only) for Navg = 2.25. The timestamps shown on FREF edges are given in terms of VCO edges (each FREF cycle comprises 2.25 VCO cycles). The phase error is given with respect to the nearest FREF edge. The phase detector will operate at a frequency of fR + (.f/Ndiv)fR, and the phase error of the phase detector causes VCO fractional spurs at a multiple of the offset frequency (.f)fR. Chapter 1 Introduction 12 example Navg = 2 + 1/4 VCO clock edges FDIV clock edges FREF clock edges 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 0 2 4 0 2¼ 4½ 7 9 11 13 6¾ 9 11¼ 13½ 16 18 15¾ 18 time phase error [VCO cycle units] φ[1] φ[2] φ[3] φ[4] φ[5] φ[6] φ[7] φ[8] -¼ -½ +¼ 0 -¼ -½ +¼ 0 Figure 1-9 Periodic and deterministic phase error in a fractional-N PLL Phase/Frequency Phase Detector Interpolation FREF X (fref) + Loop Filter F(s) Voltage-Controlled Oscillator FVCO Tuning voltage (fvco) Kvco FDIV (fdiv) clk Ndiv/ (Ndiv+1) Modulus Control ovfl X D/A Figure 1-10 Fractional-N PLL incorporating phase interpolation There are several methods available to suppress the fractional spurs. A more conventional method is the analog fractional-N compensation scheme that uses an accumulator and a DAC and is based on the observation that the phase-error perturbation is periodic and deterministic (Figure 1-9) and could be canceled out by a tracking circuit. This form of correction, called phase interpolation, is presented in Figure 1-10. The fractional spurs are reduced to the extent that the phase interpolation signal exactly matches the phase error. In practice, it is difficult to achieve fractional spurs lower than -70dBc. This requires a precision DAC and carefully Chapter 1 Introduction 13 designed phase detector and sampler circuitry. Due to its analog complexity, the interpolation scheme is not suitable in most applications. The second method uses a SD-modulated clock divider as described by [Miller 91] and [Riley 93] and is shown in Figure 1-11. This solution is more digital in nature since it does not rely on precise analog component matching of the previous technique. It trades the reduction in fractional spurs for the increase in the noise floor as shown in Figure 1-13 (left). Figure 1-12 shows the third-order ΣΔ digital modulator divider described in [Miller 91]. It uses three accumulator stages, in which the storage is performed in the accumulator feedback path. The modulator input is a fractional fixed-point number and its output is a small integer stream. It is shown in [Miller 91] that its transfer function is N div z . f z 1 z 1 Eq 3 z (1.5) 3 where Eq3, the quantization noise of the third stage, equals the output of the third stage accumulator. The first term is the desired fractional frequency, and the second term represents noise due to fractional division. FREF (fref) Phase/Frequency Detector Loop Filter X F(s) Voltage-Controlled Oscillator FVCO Tuning voltage (fvco) Kvco FDIV (fdiv) 1/(Ndiv+b) RF/analog digital b(t) Sigma-Delta Modulator Figure 1-11 Fractional-N synthesizer using a ΣΔ-modulated clock divider [Miller 91] & [Riley 93]. Chapter 1 Introduction 14 Figure 1-13 plots the spectrum of the output signal FVCO. It shows quantization noiseshaping properties of the first-, second-, and third-order ΣΔ modulation of the clock division ratio. The first order of SD operation turns out to be equivalent to the conventional but uncompensated fractional-N architecture and exhibits systematic division ratio patterns that produce unacceptably large frequency tones. In this case, the quantization noise is concentrated at discrete frequencies rather than being spread continuously and merged into the noise floor as in second and higher ΣΔ orders. Figure 1-13 (left) shows the power spectral density of the divided clock and is centered around fdiv. As shown, the third order of ΣΔ dithering introduces enough randomness to eliminate completely any frequency spurs that are clearly shown with the second- and first order ΣΔ dithering. The right plot shows the PSD of the divided clock phase, and it demonstrates that the second-order ΣΔ dithering performs high-frequency shaping of the division ratio quantization noise of 20 dB/decade, whereas the third order produces 40 dB/decade. The noise at higher frequencies then gets filtered out in the loop filter. Z-1 Z-1 b(t) = Ndiv(k) OV1 OV2 .f(k) OV3 Z-1 Z-1 Z-1 Figure 1-12 MASH-3 ΣΔ digital modulator divider [Miller 91]. Chapter 1 Introduction 15 Figure 1-13 ΣΔ-divided clock: clock output spectrum (left), phase spectrum (right) The ΣΔ modulators are usually built as a multistage structure of single-bit modulators [Matsua 87]. As derived in [Miller 91], the quantization noise shaping is related to the number of modulator stages m by the following formula and is given in rad2/Hz: 2 2 L f 12 f ref f f / 2 ref 2 m 1 (1.6) The fractional-N frequency synthesizer architecture lends itself well to an indirect narrowband frequency modulation which could be implemented entirely in a digital manner. As long as the modulation data rate is lower than the PLL bandwidth, the average division ratio N digital command word, which corresponds to a desired channel, could be augmented by the instantaneous value of the modulation frequency deviation. There has been some research to increase the data rate by compensating for the PLL high-frequency attenuation by boosting the high-frequency components of the modulation signal as shown in [Perrott 97]. After the equalized modulation signal passes through the PLL, the modulation spectrum could be restored to its original form. Chapter 1 Introduction 16 Loop Filter DSP D/A F(s) Voltage-Controlled Oscillator FVCO Tuning voltage (fvco) Kvco FREF (fref) Integrator X PDF Multimodulus Divider 2 – z-1 Sigma-Delta frequency discriminator b(t) data GFSK Filter + Equalizer Sigma-Delta Modulator Figure 1-14 Modulating a wideband fractional-N synthesizer [Bax 01]. The digital equalizer could be embedded in the GFSK filter with little extra overhead. However, the precise loop compensation requirement makes this architecture not very practical for manufacturing. The problem of mismatch between the digital compensation filter and the analog PLL got addressed by [Bax 01]. The fractional-N PLL is re-architectured there to place a ΣΔ frequency discriminator, whose transfer function is set digitally and well controlled, in the feedback path (Figure 1-14). As a result, the only analog component left that requires a substantial amount of matching is the VCO. Chapter 1 Introduction 17 1.4.3. Toward an All-Digital PLL Approach The need for an All-Digital PLL approach is rising because advanced deep-submicron CMOS processes make it extremely difficult to implement traditional analog circuits, though on the good side it presents better integration opportunities. To address the various deepsubmicron RF integration concerns, some new and radical system and architectural changes have been recently presented by [Staszewski 03a] towards the All-Digital PLL approach. This new ADPLL which is the main focus of this thesis is based on a digitally controlled oscillator (DCO), which deliberately avoids any analog tuning voltage controls as shown in Figure 1-15. This allows for its loop control circuitry to be implemented in a fully digital manner. When implemented in a digital deep sub micrometer CMOS process, the proposed architecture appears more advantageous over conventional charge-pump-based PLLs, since it exploits the signal processing capabilities of digital circuits and avoids relying on the fine voltage resolution of analog circuits. In the proposed ADPLL, the conventional phase/frequency detector, charge pump and RC loop filter are replaced by a time-to-digital converter and a simple digital loop filter. The basics of this new ADPLL will be presented in more detail in the following chapter. Reference Phase Accumulator Frequency Command Word Σ FCW Phase Detector Loop Filter ΦE[k] RR[k] + + - d[k] Latch OTW Sampler DCO Phase Accumulator RV[i] Σ DCO Period Normalization Synchronizer FREF KDCO NTW CKV - RV[k] X Digitally Controlled Oscillator fR/KDCO PHE -ε[k] TDC DCO Gain Normalization Retimed FREF (CKR) Figure 1-15 ADPLL-based RF frequency synthesizer [Staszewski 04]. 1 Chapter 1 Introduction 18 1.5. Thesis Outline This thesis is organized as follows: In Chapter 1 we presented the motivation behind this work and a brief introduction to the different frequency synthesis techniques. In Chapter 2, we present the basics of the All Digital Phase Locked Loop (ADPLL), we show its main building blocks and principle of operation. In Chapter 3, we show how we model the various ADPLL building blocks using Verilog, we build a simple ADPLL model and use a simple frequency plan to understand in more depth the ADPLL operation. In Chapter 4, we study one of the main problems of LC digitally-controlled-oscillators (DCOs) which is the center frequency (fDCO) variations across process variations. We introduce a fast automatic tuning algorithm for these oscillators with multiple tuning curves which we published recently. Many practical implementation issues are shown along with their solutions. In Chapter 5, we study another problem of LC DCOs which is its tuning gain (KDCO) variations also across process variations. We explain a method of estimating the gain of the DCO. By executing the calculation algorithm just-in-time at the beginning of every packet, the DCO gain can be conveniently tracked and compensated. In Chapter 6, we integrate the introduced DCO auto-tuning algorithm and KDCO estimation and normalization algorithm with the ADPLL model introduced in Chapter 3 and we show how these algorithms are incorporated in sequence to prepare the ADPLL to be used as an FSK Transmitter. Chapter 2 ADPLL Basics In this chapter we walk through the basics of the All Digital PLL presenting its mathematical description and some of its operational details. 2.1. Introduction The frequency synthesizer is a key block used for both up-conversion and down-conversion of radio signals and has been traditionally based on a charge-pump PLL, which is not easily amenable to integration. As introduced in chapter 1, a digitally controlled oscillator (DCO), which deliberately avoids any analog tuning voltage controls, was recently presented in [Staszewski 03b] for RF wireless applications. This allows for its loop control circuitry to be implemented in a fully digital manner as first proposed in [Staszewski 03a] and then demonstrated as a novel digital-synchronous phase-domain all-digital PLL (ADPLL) in a commercial 0.13 µm CMOS single-chip Bluetooth radio [Staszewski 04a]. 20 Chapter 2 ADPLL Basics When implemented in a digital deep sub micrometer CMOS process, the proposed architecture appears more advantageous over conventional charge-pump-based phase-locked loops (PLLs), since it exploits signal processing capabilities of digital circuits and avoids relying on the fine voltage resolution of analog circuits. In the proposed ADPLL, the conventional phase/frequency detector, charge pump and RC loop filter are replaced by a time-to-digital converter and a simple digital loop filter. Per PLL classification in [Best 93], the proposed frequency synthesizer is not a classical digital PLL (DPLL), which actually is considered a semi-analog circuit, but an ADPLL with all building blocks defined as digital at the input/output level. Similar to a flip-flop, which is a cornerstone of digital circuits, the DCO is built as an application-specific integrated circuit (ASIC) cell, whose internals are analog, but the analog nature does not propagate beyond its boundaries [Staszewski 03b]. In this chapter, we present a mathematical description and operational details of the phase-domain ADPLL. The phase-domain operation is motivated by an observation [Kajiwara 92], that, since the reference phase and oscillator phase are in a linear form, their difference produced by the phase detector is also linear with no spurs and the loop filter would not be needed. This is in contrast with conventional charge-pump-based PLLs that generate significant amount of spurs that require a strong loop filter that degrades the transients and limits the switching time. Chapter 2 ADPLL Basics 21 2.2. ADPLL System Reference Phase Accumulator Frequency Command Word Σ FCW Phase Detector Loop Filter ΦE[k] RR[k] + + - d[k] PHE Latch OTW Sampler DCO Phase Accumulator CKV RV[i] Σ 1 DCO Period Normalization Synchronizer FREF KDCO NTW - RV[k] X Digitally Controlled Oscillator fR/KDCO -ε[k] TDC DCO Gain Normalization Retimed FREF (CKR) Figure 2-1 ADPLL-based RF frequency synthesizer [Staszewski 04] Figure 2-1 shows a block diagram of the ADPLL-based frequency synthesizer. It operates in a digitally synchronous fixed-point phase domain, which was recently proposed in [Staszewski 04a]. The variable phase signal RV[i] is determined by counting the number of rising clock transitions of the DCO oscillator clock. The reference phase signal RR[k] is obtained by accumulating the frequency command word (FCW) with every rising edge of the retimed frequency reference (FREF) clock. The sampled variable phase RV[k] is subtracted from the reference phase in a synchronous arithmetic phase detector. The digital phase error is conditioned by a simple digital loop filter and then normalized by the DCO gain, KDCO. The KDCO normalization is needed to precisely establish the loop bandwidth and to perform a direct transmit frequency modulation, as described in [Staszewski 03c]. The FREF input is resampled by the RF oscillator clock, and the resulting retimed clock (CKR) is used throughout the system. This ensures that the massive digital logic is clocked after the quiet interval of the phase error detection by the time-to-digital converter (TDC). A detailed description follows below. Chapter 2 ADPLL Basics 22 2.3. Phase Domain Operation Let us define the actual clock period of the variable oscillator (DCO or voltage-controlled oscillator, in general) output (CKV) as TV and the clock period of the FREF as TR. Let us assume that the oscillator runs appreciably faster than the available reference clock, TV << TR, which is the case in RF synthesizers, where the generated multi-gigahertz RF carrier frequency is of orders of magnitude higher than the crystal reference. Let us further assume, in order to simplify the initial analysis, that the actual clock periods are constant or time invariant. The CKV and FREF clock transition timestamps tV and tR, respectively, are governed by the following equations: tV i TV (2.1) t R k TR t o (2.2) Where i = 1,2,… , and k = 1,2,… are the CKV and FREF clock transition index numbers, respectively, and to is some initial time offset between the two clocks, which is absorbed into the FREF clock.. It is convenient in practice to normalize the transition timestamps in terms of actual TV units, referred to as unit intervals (UI), since it is easy to observe and operate on the actual CKV clock events. Let us define dimensionless variable and reference “phase” V tV / TV (2.3) R t R / TV (2.4) The term θV is only defined at CKV transitions and indexed by i. Similarly, θR is only defined at FREF transitions and indexed by k. This results in V i i (2.5) R k k TR / TV to / TV k N o (2.6) Chapter 2 ADPLL Basics 23 The normalized transition timestamps θV[i] of the variable clock, CKV, could be estimated by accumulating the number of significant (rising or falling) edge clock transitions (2.7) i RV i TV RV i 1 l 0 Without the FREF retiming (described in 2.4), the normalized transition timestamps θR[k] of the FREF clock, could be obtained by accumulating the FCW on every significant edge of the FREF clock (2.8) k RR k TR RR k FCW l 0 FCW is formally defined as the frequency division ratio of the expected variable frequency to the reference frequency FCW E fV / f R (2.9) The reference frequency is usually of excellent long-term accuracy, at least as compared to the variable oscillator. For this reason, we do not use the expectation operator on fR. FREF D Q CKR CKV FREF CKV CKR time 1 2 3 Figure 2-2 Concept of synchronizing the clock domains by retiming the FREF. FCW control is generally expressed as being comprised of an integer (Ni) and fractional (Nf) parts FCW N N i N f (2.10) The PLL achieves, in a steady-state condition, a zero or constant averaged phase difference between the variable θV[i] and the reference θR[k] normalized timestamps. Attempt to formulate the phase error as this dimensionless phase difference φE = θR - θV would be unsuccessful due to the nonalignment of the time samples. This will be addressed in 2.4. Chapter 2 ADPLL Basics 24 The additional benefit of operating the PLL with phase-domain signals is to alleviate the need for the frequency-detection function within the phase detector. This allows to operate the PLL as type-I (only one integrating pole due to the DCO frequency-to-phase conversion), where it is possible to eliminate a low-pass loop filter between the phase detector and the oscillator input, resulting in a high bandwidth and fast response of the PLL. It should be noted that conventional PLLs, such as a charge-pump-based PLL, do not truly operate in the phase domain. There, the phase modeling is only a small-signal approximation under the locked condition. Their reference and feedback signals are edge based and their closest distance is measured as a proxy for the phase error. Gardner describes this as “converting the timed logic levels into analog quantities” [Gardner 80]. False frequency locking is a deficiency that directly results of not truly operating in the phase domain, and it requires extra measures, such as use of a phase/frequency detector. 2.4. Reference Clock Retiming It must be recognized that the two clock domains as described in 2.3 are not entirely synchronous, and it is difficult to physically compare the two digital phase values at different time instances and without having to face metastability problems. (Mathematically, θV[i] and θR[k] are discrete-time signals with incompatible sampling times and cannot be directly compared without some sort of interpolation.) Therefore, it is imperative that the digital-word phase comparison be performed in the same clock domain. This is achieved by over-sampling the FREF clock by the high-rate DCO clock, CKV, (see Figure 2-1) and using the resulting CKR clock to accumulate the reference phase θR[k] as well as to synchronously sample the high-rate DCO phase θV[k], mainly to contain the high-rate transitions. Since the phase Chapter 2 ADPLL Basics 25 comparison is now performed synchronously at the rising edge of CKR, then (2.5) and (2.6) ought to be re-written as follows: V k k (2.11) R k k N o k (2.12) 1 RV[k] FCW RR[k] RV[i] CKV CKR CKR Figure 2-3 Hardware implementation of (a) the variable phase RV[k] and (b) the reference phase RR[k] estimators. Variable phase 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 tV = i · TV Reference phase 0 tR = k · TR + to Retimed reference phase 0 tR = k · TR + to 2¼ 3 4½ 6¾ 9 5 7 9 11¼ 13½ 15¾ 18 14 16 18 12 time Fractional error correction [clock cycle units] ε[1] ε[2] ε[3] ε[4] ε[5] ε[6] ε[7] ε[8] ¾ ½ ¼ 0 ¾ ½ ¼ 0 Figure 2-4 Fractional-N division ratio timing example with N = 2+(1/4). The set of phase estimate [(2.7) and (2.8)] should be augmented by the sampled variable phase (2.13) i RV k 1 l 0 iTV kTR The index k is now the kth transition of the retimed reference clock CKR, not the kth transition of the reference clock FREF. By constraint, it contains an integer number of CKV clock transitions. As shown in Figure 2-3, RV[k] is implemented as an incrementer followed by a flip-flop register and RR[k] is implemented as an accumulator. ε[k] of (12) is the CKV clock edge quantization error, in the range of (0,1), that could be further estimated and corrected by other means, such as the TDC-based fractional error correction circuit [Staszewski 04a]. This operation is graphically illustrated in Figure 2-4 as an example of integer-domain quantization error for a simplified case of the frequency division Chapter 2 ADPLL Basics 26 ratio of N=2+1/4. Unlike ε[k], which represents rounding to the next DCO edge, conventional definition of the phase error represents rounding to the closest DCO edge. An exact definition of the correction signal is not extremely important, as long as it is consistent and properly provides a negative feedback. The reference retiming operation (shown in Figure 2-2) can be recognized as a quantization in the DCO clock transitions integer domain, where each CKV clock rising edge is the next integer and each rising edge of FREF is a real-valued number. Since the system must be time-causal, quantization to the next DCO transition (next integer), rather than the closest transition (rounding-off to the closest integer), could only be realistically performed. 2.5. Phase Detection Figure 2-4 suggests that the conventional definition of the phase error, expressed as a difference between the reference and variable phases, needs to be augmented here to account for the quantization correction ε. E k R k V k k (2.14) Additionally, the unit of radian is not very useful here because the loop operates on the whole and fractional parts of the variable period and true dimensionless variables are more appropriate. The initial temporary assumption made in 2.3 about the actual clock periods to be constant or time-invariant could now be relaxed at this point. Instead of producing a constant ramp of the detected phase error ΦE, the phase detector will now produce an output according to the real-time clock timestamps. The phase error can be estimated in hardware by the phase detector operation defined by ˆE k RR k RV k k (2.15) Chapter 2 ADPLL Basics 27 2.6. Modulo Arithmetic of Phase Domain Signals The variable and reference accumulators RV[i] and RR[k], respectively, are implemented in modulo arithmetic in order to practically limit word length of the arithmetic components. In this implementation, the integer part of the accumulators is WI = 12 and the fractional part of the reference accumulator is WF = 16. These accumulators represent the variable and reference phases, θV and θR, respectively, which are linear and grow without bound with the development of time. The registers, on the other hand, cannot hold unbounded numbers, so they are restricted to a small stretch of line from zero to infinity, which repeats itself indefinitely such that any such stretch is an alias of the fundamental stretch from 0 to 2WI. A good example of such an approximation is modulo arithmetic. Any accumulator of length WI, whose carry out bits are simply disregarded and which does not perform saturation, is a modulo-2WI accumulator. In fact, the modulo arithmetic is very natural in the digital logic. Note that modulo accumulators are not absolutely linear in the strictest sense of the word. They are, however, linear in the local sense (for a constant frequency, of course). The phase equations (2.7) and (2.8) are now rewritten to acknowledge the implicit modulo operation. RV i 1 mod RV i 1,2WI RR k 1 mod RR k FCW ,2WI (2.16) (2.17) Figure 2-5 shows an example of modulo-16 operation with the frequency division ratio of N=10 and exhibiting small alignment offset (ΦE = 3) between the two phases. If the system is in a settled state, then both phases follow a saw tooth trajectory with the same linear speed. The variable phase RV[i] traverses all integers at a very fast pace. The reference phase RR[k], on the other hand, moves infrequently (ten times less often) but with large steps (ten times bigger). As a net effect, their traversal velocity is the same. Also shown every ten CKV clock Chapter 2 ADPLL Basics 28 cycles is the sampling process of RV[k] = RV[i] during activity at RR[k]. The difference between RR[k] (3, 13, 7, 1, 11, … ) and RV[k] (0, 10, 4, 14, 8, … ) readout sequences should always be 3, and it is so except for the forth comparison. Here, the error of -13 is inconsistent and performing modulo-16 arithmetic will get it to 3, which is in line with the rest. The modulo arithmetic on RV and RR could be visualized as two rotating vectors and the smaller angle between them constituting the phase error (Figure 2-6). Both RV and RR are positive numbers and their maximum value possible without rollover depends on the counter width or integer part of the FCW, and equals 2WI. The phase error has the same range but is symmetric around zero, i.e., it is a two’s complement number. RV[i] 14 10 8 4 0 0 10 20 30 40 CKV clocks 0 1 2 3 4 CKR clocks RR[k] 13 11 7 3 1 Figure 2-5 Modulo arithmetic of the reference and variable phase registers with the phase offset of ΦE = 3. 0,2π,4π,... θV ΦE ωV θR ωR Figure 2-6 Rotating vector interpretation of the reference and variable phases. Chapter 2 ADPLL Basics 29 Figure 2-1 also helps to understand that the phase detector is not only the arithmetic subtractor of two numbers, but also performs a cyclic adjustment so that, under no circumstance, the larger angle between the two vectors would be decided. This could happen if, for example, the larger vector appears just before the smaller vector which is already on the other side of the “zero” radius line. Because the PD output is a WI-bit constrained signed number, the conversion is always implicitly made and the output lies within (-2WI-1, 2WI-1-1). Consequently, no extra hardware is required. 2.7. Discrete Time Z-Domain Model The proposed ADPLL is a discrete-time sampled system implemented with all digital components connected with all digital signals. Consequently, the z-domain representation is not only the most natural fit but it is also the most accurate with no necessity for those approximations that would result, for example, with an impulse response transformation due to the use of analog loop filter components [Hein 88]. Figure 2-7 shows the z-domain model. The ΔθV and ΔθR are the excess θV variable (2.3) and θR reference (2.4) normalized transition timestamps, respectively. They are related to the conventional definition of phase, Φ, by ΦV = 2π ΔθV and ΦR = 2π ΔθR/N. The sampling rate is the reference frequency fR. ΔfR fR 1 Phase Detector Loop Filter N α ΔθR Normalized DCO ΔfV ΦE fV 1 z-1 KDCO KDCO 1 z-1 ΦR/2π ρ ΦV/2π ΔθV 1 z-1 Figure 2-7 z-domain model of the type-II ADPLL. Chapter 2 ADPLL Basics 30 Two approximations are used in order to simplify the model. The first is to force a uniform PLL update rate, despite the presence of a small amount of jitter in FREF. The second is the linearity assumption between a frequency deviation Δf from a center frequency f=1/T and a period deviation ΔT: Δf = f2 ΔT, [Staszewski 03a]. These two approximations are very accurate since the period deviation due to jitter and modulation is several orders of magnitude smaller than the DCO period. The open-loop phase transfer function can be expressed as: H ol z z 1 z 1 (2.18) 2 For simplicity, the DCO gain estimation accuracy r K DCO / Kˆ DCO is assumed to be unity. Otherwise, it would only result in scaling of the loop gain parameters: α rα and ρ rρ. This will be discussed in more detail in Chapter 5. Since the TDC-based phase detection mechanism of the proposed architecture measures the oscillator timing excursion normalized to the DCO clock cycle [Staszewski 04a], the frequency multiplier N ≡ FCW is not part of the open-loop transfer function and, hence, does not affect the loop bandwidth. This is in contrast to conventional PLLs that use frequency division in the feedback path, but is similar, however, to the PLL architectures with frequency down-conversion (heterodyning) in the feedback path. Phase deviation of the FREF, on the other hand, needs to be multiplied by N since it is measured by the same phase detection mechanism normalized to the DCO clock cycle. The same amount of timing excursion on the FREF input translates into a larger phase by a factor of N when viewed by the phase detector. The closed-loop phase transfer function is written as: H cl z V z H ol z N R z 1 H ol z (2.19) where, Φ(z) is a z-transform of Φ. It could be expanded as: H cl z N z 1 z 12 z 1 (2.20) Chapter 2 ADPLL Basics 31 2.8. Linear S-Domain Approximation The z-operator is defined as z e s / f R , where s = j2πf and 1/fR is the sampling period. For small values of f in comparison with the sampling rate fR, we can make the following approximation: z e s / fR 1 Phase Detector (2.21) s fR Loop Filter Normalized DCO α N ΦR ΦE fR 1 KDCO s ΦV KDCO · 2π 1 fR 2π s ρ Figure 2-8 Linear s-domain model of the type-II ADPLL. which results in: s f R z 1 (2.22) Using (2.22) to transform (2.18) and (2.20) gives 1 f R f R f R2 H ol s s s s f R s f R2 H cl s N 2 s f R s f R2 s fR (2.23) s (2.24) The open-loop transfer function shows two poles at origin and one complex zero at z j f R / . The closed-loop transfer function Hcl(s) can be compared to the classical two-pole system transfer function H cl s N 2 n s n2 s 2 2 n s n2 (2.25) Chapter 2 ADPLL Basics 32 where, ζ is the damping factor and ωn is the natural frequency. Fitting the two equations yields: n f R f R 1 2 n 2 (2.26) (2.27) The main motivation behind adding the integral term to the proportional loop gain is to be able to further attenuate (up to 40 dB/dec) the lower-frequency 1/f noise components. Figure 2-8 shows the s-domain linear model of ADPLL in the type-II setting. It is a continuous-time approximation of a discrete-time z-domain model and is valid as long as the frequencies of interest are much smaller (see (2.21); [Gardner 80] reports ≤ 1/10) than the sampling rate, which in this case equals fR. There is a multiplication factor of 1/2π at the output of the phase detector. It is simply due to the fact that the digital phase error is expressed not in units of radian of the DCO clock, but in the number of its cycles. 2.9. Summary We have presented mathematical description and operational details of the phase-domain ADPLL. The architecture is built from the ground up using digital techniques that exploit high speed and high density of a deep-submicrometer CMOS process while avoiding its weaker handling of voltage resolution. The conventional phase/frequency detector and charge-pump combination is replaced by a digital-to-frequency converter and is followed by a simple digital loop filter that controls a DCO. Modulo arithmetic is used to represent the phase-domain fixed-point signals. A novel method of retiming the reference clock allows creating a single clock domain for the synchronous operation of digital logic. Both z and s-domain models of the ADPLL are derived, and the fit into the classical two-pole control system is given. Chapter 3 ADPLL Modeling In this chapter we show how we model the various ADPLL building blocks using Verilog, we build a simple ADPLL model and use a simple frequency plan to understand in more depth the ADPLL operation. 3.1. Introduction Since the ADPLL is digital intensive by design, it is more suitable to use digital simulation tools to study its various functionality and performance aspects. Digital systems modeling using Verilog enables us not only to speed up digital circuits simulation by its event driven simulation techniques, but also has the potential to handle analog quantities like DCO frequency and time delay between different signals. This makes Verilog the most suitable modeling and simulation tool for the ADPLL. Chapter 3 ADPLL Modeling 34 3.2. ADPLL Building Blocks The main ADPLL building blocks shown in Figure 3-1 are the Synchronous counter with reset, Sampler, Synchronizer, Phase Detector & finally the DCO & TDC which are the more analog in nature building blocks. Now we show how these blocks can be modeled in the simplest way possible. Reference Phase Accumulator Frequency Command Word + + 10 10 Loop Filter 10 d[k] - Latch 10 Synchronizer FREF KDCO PHE NTW OTW 10 10 10 Sampler DCO Phase Accumulator CKV 10 RV[k] RV[i] 10 10 X 10 Digitally Controlled Oscillator fR/KDCO -ε[k] TDC DCO Gain Normalization ΦE[k] RR[k] Σ FCW Phase Detector DCO Period Normalization Retimed FREF (CKR) Figure 3-1 ADPLL main building blocks Σ 1 Chapter 3 ADPLL Modeling 35 3.3. Synchronous Counter with Reset Model The Synchronous counter with reset is used for DCO phase accumulation & Reference phase accumulation. Figure 3-2 shows the Verilog model of this counter. The counter has a clk input to be used as the driving clock for synchronizing the accumulation action, a step input that is used as the accumulator increment for each clk rising edge, a reset input to put the accumulator in a defined state (all zeros) when required and finally a count output that represents the state of the accumulator. The width of the accumulator is defined by the parameter width. In our example, with width = 10, the accumulator count from 0 to 210-1 = 1023 before it rolls over. Figure 3-2 Synchronous counter with reset model Chapter 3 ADPLL Modeling 36 3.4. Sampler Model The Sampler is used for sampling the DCO phase accumulator output Rv[i] that is updated at the DCO output frequency rate by the retimed reference clock to produce the sampled DCO phase signal Rv[k] that is updated at approximately the FREF frequency. This is important to allow the rest of the ADPLL building blocks to operate at the lower FREF frequency for optimum power consumption. Figure 3-3 shows the Verilog model of this sampler. The sampler has a clk input to be used as the driving clock for synchronizing the sampling action, an in input that is the input bus to be sampled, and finally an out output that is the sampled version of the input bus. The width of the sampler is also defined by the parameter width. Figure 3-3 Sampler model Chapter 3 ADPLL Modeling 37 3.5. Synchronizer Model The Synchronizer is used for synchronizing the FREF low frequency reference clock of the ADPLL by the FDCO high frequency DCO output clock. This is important to allow the rest of the ADPLL building blocks to operate at the same frequency domain (that of the DCO) to avoid metastability problems. Figure 3-4 shows the Verilog model of this synchronizer. The synchronizer has a clk input to be used as the high speed synchronizing clock, an in input that is the input low speed clock to be synchronized, and finally an out output that is the synchronized version of the input clock. The synchronizer block is basically the double flopping configuration (two D-Flip Flops in cascade) that is well known in the digital design field for synchronizing asynchronous signals. Figure 3-4 Synchronizer model Chapter 3 ADPLL Modeling 38 3.6. Phase Detector Model The phase detector is used for comparing the FREF & FDCO phases taking into account the retiming error from the TDC and produce the correcting error signal PHE for the DCO. Figure 3-5 shows the Verilog model of this comparator. The comparator has an in_ref input which is the output from the reference accumulator representing the phase of the retimed reference, an in_dco input which is the sampled output from the DCO accumulator representing the phase of FDCO & an in_err which represents the output from the TDC (assumed to be all zeros for the moment). The out output is the representation of the phase error between FREF & FDCO. The width of the various inputs of the phase detector is also defined by the parameter width. The out output is a signed word whose width is also defined by the parameter width. Figure 3-5 Phase detector model. Chapter 3 ADPLL Modeling 39 3.7. DCO Model The DCO is the heart of the ADPLL, it is responsible for converting the oscillator tuning word OTW which is the filtered version of the phase error signal PHE into the corresponding RF frequency FDCO. Figure 3-6 shows the Verilog model of the DCO. The DCO has an N input which is the oscillator tuning word and an out output which is the DCO output RF frequency signal FDCO. The input N is a signed word whose width is also defined by the parameter width. Figure 3-6 DCO model Chapter 3 ADPLL Modeling 40 3.8. ADPLL Top Level Model Figure 3-7 shows the ADPLL top level model. All the ADPLL basic building blocks are instantiated. Note that the TDC for the moment is considered a constant value of 0 for the moment. Figure 3-7 ADPLL top level model. Chapter 3 ADPLL Modeling 41 3.9. ADPLL Top Level Test Bench Figure 3-8 shows the ADPLL top level test bench. The ADPLL top level is instantiated. The reference frequency is defined to be 156.25MHz in this example. The test bench proceeds as follows: A reset pulse is issued to reset all registers FCW starts at 16 FDCO should go to 16 x 156.25 = 2.500GHz After 2000nsec FCW is changed to 24 FDCO = 24 x 156.25 = 3.750GHz After 2000nsec FCW is changed to 32 FDCO = 32 x 156.25 = 5.000GHz After 2000nsec FCW is changed to 12 FDCO = 12 x 156.25 = 1.875GHz The calculated frequencies above are the expected DCO frequencies according to the simple frequency plan shown in Table 3-1 where FDCO = FCW x FREF. Figure 3-8 ADPLL top level test bench. Chapter 3 ADPLL Modeling 42 Note that in this simple ADPLL example, the DCO has an oscillation period defined as: Tdco = 0.4 - Ndco*0.0005 in nsec. Also note that since the TDC is not yet modeled and all signal busses don’t have fractional bits, this ADPLL is considered as an Integer-N ADPLL. That’s why we use only integer values for FCW in this example. Ndco Tdco [nsec] Fdco [GHz] Fref [MHz] FCW -267/-266 0.5333 1.875 156.25 12 0 0.4 2.5 156.25 16 266/267 0.2667 3.75 156.25 24 400 0.2 5 156.25 32 Table 3-1 ADPLL simple frequency plan Figure 3-9 shows the ADPLL top level simulation results. We plot the DCO OTW as an analog waveform to show the locking behavior in the closed loop operation of the ADPLL. The cursor is placed at an instance of time when the FCW is 32, then as expected from the frequency plan in Table 3-1, the DCO OTW is equal to 400. Figure 3-9 ADPLL top level simulation results Chapter 3 ADPLL Modeling 43 3.10. TDC Model In order to operate the ADPLL in Fractional-N mode, all the busses in the system are augmented with extra bits for the fractional part, i.e. the part to the right of the decimal point. This is called fixed point representation of real numbers as opposed to the floating point representation that expresses fractions using an infinite number of fractional bits. Also a TDC has to be used to correct for the retiming errors that will be there all the time even under locked conditions as the reference period is now not an integer multiple of the DCO period. To correct the retiming errors caused by the synchronizer, the TDC converts the time between the FREF rising edge & the next FDCO rising edge to a digital quantity representing this time in units of unit intervals (UI) of the DCO output period as shown in Figure 3-10. Figure 3-11 shows the Verilog model of this TDC. The TDC has a fref_s input to be used as the synchronizing clock for the time to digital conversion action. The fref input that is the input reference low speed clock. The rising edge of fref marks the start of the time interval to be converted to digital. The fdco input that is the DCO high speed clock. The next rising edge of fdco marks the end of the time interval to be converted to digital. Finally, the out output is the digital representation of the time interval explained previously in units of DCO UI. The TDC output bus width is also defined by the parameters width & width_fraction. Note that for causality reasons discussed in chapter 2, the TDC output is always a positive fraction ranging from 0 to 1. In our example, when the TDC output is described in fixed point representation by a word with 3 bits for representing fractions, the TDC resolution is 1/2 3 of the DCO period. Chapter 3 ADPLL Modeling 44 Variable phase 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 tV = i · TV Reference phase 0 tR = k · TR + to Retimed reference phase 0 tR = k · TR + to 2¼ 3 4½ 6¾ 9 5 7 9 11¼ 12 13½ 15¾ 18 14 16 18 time Fractional error correction [clock cycle units] ε[1] ε[2] ε[3] ε[4] ε[5] ε[6] ε[7] ε[8] ¾ ½ ¼ 0 ¾ ½ ¼ 0 Figure 3-10 TDC functionality example with FCW = 2+(1/4). Figure 3-11 TDC Model Chapter 3 ADPLL Modeling 45 For better understanding, Figure 3-12 shows an example for some waveforms from the TDC. We see that fref rising edge comes at 22.4nsec while the next fdco rising edge comes at 22.7687nsec. So the difference is 0.3687nsec which when divided by the DCO period of 0.3927nsec yields 0.939UI. Using 3 bits to represent this fraction we get 0.939 x 23 = 7.51393 which truncates to 7. Figure 3-12 TDC model waveforms. 3.11. Summary We have presented the Verilog modeling technique used to describe the various building blocks of the ADPLL. We used an integer-N ADPLL example with a simple frequency plan to have more insight into the ADPLL modeling & operation. We have created a test bench for the ADPLL and used it to observe the locking behavior. Finally the TDC modeling was presented together with some waveforms to better understand its operation. From now on in this thesis, the Fractional-N operation will be used unless mentioned otherwise. Chapter 4 DCO Automatic Tuning In this chapter we present one of the more sophisticated aspects of the ADPLL, that is a fast automatic tuning algorithm for the DCO. Many practical implementation issues are shown along with their solutions. To evaluate the speed of the algorithm, our design example comprising a 2.4GHz DCO is presented where we use a regression test bench to run the algorithm many times each with a different initial DCO frequency and record the final DCO frequency and tuning time. The worst case tuning time is only 7.2µsec. 4.1. Introduction The DCO is a critical building block of the ADPLL. LC DCOs in particular are preferred for their potentially better phase noise performance. These LC DCOs use a programmable switched capacitor bank to produce multiple tuning curves for coarse tuning in an auxiliary loop as shown in Figure 4-1 using the reference frequency for comparison and an enable signal Chapter 4 DCO Automatic Tuning 47 to start the algorithm. Then after selecting the nearest curve to the desired frequency, we close the main loop to perform fine tuning [Kral 98]. DCO OTW 0 fdco (Fine) 1 mid_OTW dco_autotune_N (Coarse) dco_auto_tune_enable fdco dco_autotune_N fref DCO Auto Tune Figure 4-1 DCO Auto Tuning simplified block diagram 4.2. Existing Automatic Tuning Algorithms Different methods exist in literature for auto tuning of LC VCOs. A method that relies on analog comparators is presented in [Behbahani 00]. There, the control voltage of the PLL is compared to two analog references to guarantee that the PLL is limited within a preset window of tuning range. The output of the two comparators determines whether the frequency of the VCO has to be increased or decreased. The technique is cumbersome in the case of conventional PLLs because of the presence of analog components however it might be less cumbersome in ADPLLs since digital comparators can be used instead of the analog comparators. Another method that is more digital intensive suggests opening a constant time slot specified by a number of reference cycles, and counting the number of DCO cycles in that time slot for each tuning curve. Then the tuning curve with the number of DCO cycles closest to an expected number is chosen as the best curve. This is in essence so similar to another method Chapter 4 DCO Automatic Tuning 48 described in [Wilson 00], where it uses a phase detector and an accumulator. This method relies on putting both the reference clock and the divided DCO clock to race by counting edges of both clocks in an accumulator and determine which clock is faster. In [Wilson 00] a sequential search was implemented but a binary search may also be adopted to expedite the search. However, [Hegazi 07] proves that the fundamental problem with this tuning method is that the phase error between the reference and the divided DCO clock at the beginning of each search iteration is arbitrary. Therefore, if the divider output is faster than the reference but its first edge comes late because of a phase shift, the algorithm needs to wait long enough such that the divided DCO clock compensates for the initial phase delay in order to be able to take a trusted decision. Moreover, the duration of each search iteration is fixed and limited by the desired accuracy, i.e. even when the frequency difference between the divider output and the reference is large the search iteration still waits the same time required to compare smaller frequency differences. To mitigate the draw backs in [Wilson 00], [Hegazi 07] proposes a new architecture relying on three main concepts: 1. Implement a phase detection method that can decide an irreversible decision on which clock is faster than the other. 2. Terminate the search step once the faster clock is determined. 3. Reduce the maximum initial phase error. In this work that we published recently in [Shennawy 10] we show how to use the concepts in [Hegazi 07] to do some modifications to mitigate the drawbacks in the same architecture in [Wilson 00]. Chapter 4 DCO Automatic Tuning 49 4.3. Proposed Automatic Tuning Algorithm If we are putting the divided DCO frequency fDIV (with period TDIV) and the reference frequency fR (with period TR) into race, then in order to always guarantee zero initial phase error, we do the following: 1. In the initial search iteration, we wait until phase alignment occurs and then we start the algorithm from there. 2. If one clock is faster than the other, their edges will misalign then realign (roll-over) after a number of cycles “NRO” determined by the DCO center frequency fDCO and the frequency difference between the two clocks εfDCO. N RO TR N RO 1 TDIV N RO 1 N RO 1 TR TDIV 1 T f f R DIV 1 DCO N RO TDIV fR f DCO N RO f DCO f DCO (4.1) 3. Once they realign, a comparator could know which clock is faster for sure and the search iteration is terminated right away allowing the next search iteration to start, again with an almost zero initial phase error. The implementation of this algorithm is shown in Figure 4-2 where a 2.4GHz DCO with 5 tuning bits is tuned using a 150MHz reference frequency. The implementation consists of two parts: a fully custom block & a fully digital block described in the next sections. Chapter 4 DCO Automatic Tuning 50 4.4. Fully Custom Block: 4.4.1. High Speed Divider by 4: The high speed divider by 4 divides the 2.4GHz DCO clock fdco to produce the divided DCO clock fdiv4 which is in the 600MHz range. This is to enable the rest of the algorithm blocks to operate within the frequency capabilities of digital standard cells and be fully synthesized. This divider has an enable signal dco_autotune_enable1 to minimize the current consumption when the algorithm is not in use. Note that for best results, this divider is required to produce a 50% duty cycle output across all PVT variations. This is to prevent eating up our setup/hold timing budget in the subsequent logic. A good duty cycle adjustment circuit is presented in [Maneatis 96]. 4.5. Fully Digital Block: The fully digital block refers to the rest of the algorithm blocks that are fully synthesizable and can be easily ported from technology to technology. 4.5.1. Multiplexer: The multiplexer selects to apply mid OTW to the DCO during the automatic tuning process using the signal dco_autotune_enable1. In normal operation it selects the normal OTW of the digital loop. 4.5.2. Clock Gating: Clock gating is used to gate the input clocks fdiv4 and fref by the dco_autotune_enable2 signal to produce the gated clocks fdiv4_g and fref_g. This is to minimize the dynamic current Chapter 4 DCO Automatic Tuning 51 consumption of the subsequent building blocks due to the input clocks when the algorithm is not in use. fdiv4 (600MHz) /4 fdco (2.4GHz) OTW 0 DCO (Fine) 1 mid_OTW dco_autotune_N (Coarse) dco_auto_tune_enable1 fdiv4 (600MHz) fdiv4_g (600MHz) fdiv (150MHz) /4 cnt_div (150MHz) DCO Counter fref_s (150MHz) fdiv (150MHz) Clock Gating fref (150MHz) fref_g (150MHz) Synchronizer fref_s (150MHz) REF Counter cnt_ref (150MHz) Synchronizer cnt_ref_s (150MHz) Comparator reset_out_div dco_auto_tune_enable2 reset_out_ref_s dco_autotune_reset dco_autotune_reset dco_cal_done On-Chip Digital Controller Figure 4-2 Proposed DCO Auto Tuning block diagram. 4.5.3. Synchronizer: Two cascaded D-Flip-Flops used to synchronize the 150MHz fref_g clock by the 600MHz fdiv4_g clock to produce the synchronized 150MHz reference clock fref_s. This is to let the whole algorithm be clocked by the same frequency domain –that of the DCO– to avoid any metastability issues in the subsequent logic. 4.5.4. Divider by 4: A divider by 4 divides the 600MHz fdiv4_g clock again to produce the fdiv clock which is in the 150MHz range to be ready for comparison with the 150MHz fref_s clock. Chapter 4 DCO Automatic Tuning 52 4.5.5. Synchronous Counter with Reset: Two identical counters, one to count the number of ticks of the 150MHz fdiv clock and the other to count the number of ticks of the 150MHz fref_s clock. The width of these counters should allow the counting of at least double the number of cycles calculated from (4.1) – replacing εfDCO by half of the frequency spacing between tuning curves– without overflow. 4.5.6. Bus Synchronizer: A bus of single D-Flip-Flops used to align the output of the 150MHz REF Counter cnt_ref to the output of the 150MHz DCO Counter cnt_div rather than being 1, 2 or 3 fdiv4_g cycles skewed. The alignment is done using the 150MHz fdiv clock producing the 150MHz aligned REF Counter output cnt_ref_s. This alignment is to enable the subsequent Comparator be a 150MHz Comparator rather than a 600MHz Comparator to be more easily synthesized. Note that in order to compensate for the delay caused by this Bus Synchronizer, cnt_div is initialized to 0 while cnt_ref is initialized to 1 when reset. 4.5.7. Comparator: This block is clocked by the 150MHz fdiv clock. It subtracts cnt_ref_s from cnt_div, and based on the difference, it determines weather the divided DCO frequency is within the required REF frequency (in case of zero or ±1) or faster (in case of +2) or slower (in case of 2), then accordingly it takes the decision to terminate the search iteration and instantly jump to the next curve in a binary search sequence. The Comparator ends the algorithm and asserts the dco_autotune_done output signal in one of four cases: 1. The initial curve compared is the right one, and then the algorithm is stopped by a watch dog equal to double the number of fdiv cycles obtained from (4.1). Chapter 4 DCO Automatic Tuning 53 2. The right curve is found in any search iteration before the last search iteration –the one determining the LSB of dco_autotune_N–, and then the algorithm is stopped by a watch dog equal to the number of fdiv cycles obtained in (4.1). 3. The right curve is not found until the search iteration before the last, and then in the last search iteration, the next curve in the search sequence is considered the right one and the algorithm is stopped right away as there is no need to wait as we have no more search iterations left to refine the result. This of course assumes monotonic tuning steps which is a minimum requirement for a good DCO design. This optimization helped decrease the worst case tuning time from 10.6 to 7.2µsec. 4. The only exception is when we reach the curve number 2 and the Comparator indicates that we have to go to curve number 1. Only then, we compare the curve number 1 since we still have the curve number 0 to refine the result. If the Comparator indicates we have to go to curve number 0, then it is considered as the right curve and the algorithm is stopped right away. The Comparator block also controls the delivery of the different reset signals to the different blocks of the algorithm. Namely, the DCO Counter, the Bus Synchronizer and the Comparator itself are reset by signals synchronized to the fdiv clock. While the REF Counter is reset by signals synchronized to the fref_s clock. This is to ensure that each block is reset by signals originating from their input clocks to avoid any release/recovery violations in these blocks. The reset signal is delivered to the Synchronous Counters and the Bus Synchronizer in each of the following cases: Chapter 4 DCO Automatic Tuning 54 1. At the beginning of the algorithm upon the assertion of the dco_autotune_reset signal 2. At the end of each search iteration. 3. At the end of the algorithm. The reset signal is delivered to the Comparator only at the beginning of the algorithm upon the assertion of the dco_autotune_reset signal. 4.6. Algorithm Execution Sequence To start the algorithm, the control signals shown in Figure 4-3 should be delivered by the on-chip digital controller as follows: 1. Assert dco_autotune_enable1 to enable the external divider and apply the mid_OTW. 2. Wait for some time for the external divider to be operational in all PVT conditions, say 100nsec. 3. Assert dco_autotune_enable2 to enable the clock gating and the internal divider. 4. Wait for some time for the gated clocks and internal divider to be operational, say 100nsec. 5. Assert dco_autotune_reset to reset the algorithm blocks. 6. Wait for some time for the algorithm blocks to be reset, say 100nsec. 7. Deassert dco_autotune_reset to actually start the algorithm. 8. Wait until the algorithm is concluded and the dco_autotune_done signal is asserted. 9. Wait for some time for the algorithm blocks to be reset, say 100nsec. 10. Deassert dco_autotune_enable2 to disable the clock gating and the internal divider. 11. Wait for some time for the gated clocks and internal divider to be stopped, say 100nsec. 12. Deassert dco_autotune_enable1 to disable the external divider and apply the OTW. Chapter 4 DCO Automatic Tuning 55 Note that the tuning time that we report is that during which the dco_autotune_enable1 signal is asserted. Smaller tuning times could be obtained by optimizing the wait intervals between the control signals. In our case we have a total overhead of 0.5µsec that could be optimized. Tuning Time dco_autotune_enable1 dco_autotune_enable2 dco_autotune_reset dco_autotune_N 16 8 12 14 15 dco_autotune_done Figure 4-3 Proposed DCO Auto Tuning control signals timing diagram 4.7. Algorithm Verilog Code `timescale 1ns/1fs module adpll_dco_auto_tune (dco_auto_tune_enable2, fref, fdiv4, dco_auto_tune_reset, dco_auto_tune_override, dco_auto_tune_N_override, dco_auto_tune_N, dco_auto_tune_done); parameter width = adpll_top_tb.width; parameter width_atcntr = adpll_top_tb.width_atcntr; parameter inv_alpha = adpll_top_tb.dut.flt.inv_alpha; input dco_auto_tune_enable2; input dco_auto_tune_reset; input fref; Chapter 4 DCO Automatic Tuning 56 input fdiv4; input dco_auto_tune_override; input [width-1-inv_alpha:0] dco_auto_tune_N_override; output wire [width-1-inv_alpha:0] dco_auto_tune_N; output wire dco_auto_tune_done; wire fref_g; wire fdiv4_g; wire fref_s; wire fdiv; wire [width_atcntr-1:0] cnt_div; wire [width_atcntr-1:0] cnt_ref; wire [width_atcntr-1:0] cnt_ref_s; wire reset_out_div; wire reset_out_fref_s; wire [width-1-inv_alpha:0] dco_auto_tune_N_int; assign dco_auto_tune_N[width-1-inv_alpha] = ~dco_auto_tune_N_int[width-1inv_alpha]; // To convert center curve from mid code to code 0 to be compatible with 2's compliment arithmetic assign dco_auto_tune_N[width-2-inv_alpha:0] = dco_auto_tune_N_int[width-2inv_alpha:0]; // To convert center curve from mid code to code 0 to be compatible with 2's compliment arithmetic adpll_dco_clock_gating vco_clk_gate (dco_auto_tune_enable2, fref, fdiv4, fref_g, fdiv4_g); //fdiv4 = 600MHz, fdiv = 150MHz adpll_dco_reset_generator vco_res_gen (dco_auto_tune_reset, fdiv, reset); 57 Chapter 4 DCO Automatic Tuning adpll_dco_divider_4 vco_div_4 (fdiv4_g, fdiv, dco_auto_tune_enable2); adpll_dco_counter_div div_cnt (fdiv, cnt_div, reset_out_div); adpll_dco_counter_ref ref_cnt (fref_s, cnt_ref, reset_out_ref_s); adpll_dco_synchronizer_reg vco_sync_ref (fref_g, fref_s, fdiv4_g); adpll_dco_synchronizer_bus vco_sync_cnt_ref (cnt_ref, cnt_ref_s, fdiv, reset_out_div); adpll_dco_comparator vco_cmp (fdiv, fref_s, cnt_div, cnt_ref_s, reset, dco_auto_tune_override, dco_auto_tune_N_override, reset_out_div, reset_out_ref_s, dco_auto_tune_N_int, dco_auto_tune_done); endmodule `timescale 1ns/1fs module adpll_dco_clock_gating (enable,fref,fdiv4,fref_g,fdiv4_g); input enable; input fdiv4; input fref; output fdiv4_g; output fref_g; reg enable_int1_div4; reg enable_int2_div4; reg enable_int1_ref; reg enable_int2_ref; Chapter 4 DCO Automatic Tuning 58 assign fdiv4_g = fdiv4 && enable_int2_div4; assign fref_g = fref && enable_int2_ref; always @ (negedge fdiv4) begin enable_int1_div4 <= enable; //one Flip-flop enable_int2_div4 <= enable_int1_div4; //another Flip-flop end always @ (negedge fref) begin enable_int1_ref <= enable; enable_int2_ref <= enable_int1_ref; //one Flip-flop //another Flip-flop end endmodule `timescale 1ns/1fs module adpll_dco_reset_generator (reset_in,fdiv,reset); input reset_in; input fdiv; output wire reset; 59 Chapter 4 DCO Automatic Tuning reg edge2pulse_1; reg edge2pulse_2; reg edge2pulse_3; reg edge2pulse_4; always @ (negedge fdiv) begin edge2pulse_1 <= reset_in; edge2pulse_2 <= edge2pulse_1; edge2pulse_3 <= edge2pulse_2; edge2pulse_4 <= edge2pulse_3; end assign reset = edge2pulse_3 && ~edge2pulse_4; endmodule `timescale 1ns/1fs module adpll_dco_divider_4 (fin,fout,enable); input fin; input enable; output wire fout; reg [1:0]cnt; //posedge to pulse converter 60 Chapter 4 DCO Automatic Tuning assign fout = cnt[1]; always @ (posedge fin or negedge enable) begin if ( ~enable ) cnt <= 2'b00; else cnt <= cnt - 1'b1; // rather than + i.e descending counter in order to obtain aligned rising edges to increase time budget to 1/4 div cycle rather than 1/8 div cycle end endmodule `timescale 1ns/1fs module adpll_dco_counter_div (in,out,reset); parameter width_atcntr = adpll_top_tb.width_atcntr; input in; input reset; output reg [width_atcntr-1:0] out; always @ (posedge in or posedge reset) begin 61 if ( reset ) out <= 0; else out <= out + 1'b1; end endmodule `timescale 1ns/1fs module adpll_dco_counter_ref (in,out,reset); parameter width_atcntr = adpll_top_tb.width_atcntr; input in; input reset; output reg [width_atcntr-1:0] out; always @ (posedge in or posedge reset) begin if ( reset ) out <= 1; else out <= out + 1'b1; end Chapter 4 DCO Automatic Tuning 62 endmodule `timescale 1ns/1fs module adpll_dco_synchronizer_reg (in,out,clk); input in; input clk; output reg out; reg intermediate; always @ (posedge clk) begin intermediate <= in; //one Flip-flop out <= intermediate; //another Flip-flop end endmodule `timescale 1ns/1fs module adpll_dco_synchronizer_bus (in,out,clk,reset); parameter width_atcntr = adpll_top_tb.width_atcntr; Chapter 4 DCO Automatic Tuning 63 Chapter 4 DCO Automatic Tuning input [width_atcntr-1:0] in; input reset; input clk; output reg [width_atcntr-1:0] out; always @ (posedge reset or posedge clk) begin if (reset) out <= 0; else out <= in; end endmodule `timescale 1ns/1fs module adpll_dco_comparator (div, ref_s, cnt_div, cnt_ref, reset, override, N_override, reset_out_div, reset_out_ref_s, N, flag); parameter width = adpll_top_tb.width; parameter width_atcntr = adpll_top_tb.width_atcntr; parameter fcentre = adpll_top_tb.fcentre; parameter Kdco = adpll_top_tb.Kdco; parameter inv_alpha = adpll_top_tb.dut.flt.inv_alpha; Chapter 4 DCO Automatic Tuning 64 real fcentre_real = fcentre; real Kdco_real = Kdco; real max_count = fcentre_real/0.5/(Kdco_real/1000); //implemented this way because "parameter" doesn't accept mathematical operations real min_count = 4; input div; input ref_s; input reset; input override; input [width_atcntr-1:0] cnt_div; input [width_atcntr-1:0] cnt_ref; input [width-1-inv_alpha:0] N_override; output reset_out_div; output reset_out_ref_s; output reg [width-1-inv_alpha:0] N; output reg flag; reg [width-2-inv_alpha:0] step; reg [width-2-inv_alpha:0] iteration; //Could be less than that but this is more than enough just to make it parameterized reg reset_in0; reg reset_in1_div; // register used in the edge to pulse conversion reg reset_in2_div; // register used in the edge to pulse conversion reg reset_in1_ref_s; // register used in the edge to pulse conversion reg reset_in2_ref_s; // register used in the edge to pulse conversion 65 Chapter 4 DCO Automatic Tuning wire reset_in3; wire [width_atcntr-1:0] ref_1s_compliment; wire [width_atcntr:0] difference; assign ref_1s_compliment[width_atcntr-1:0] = ~cnt_ref; assign difference = cnt_div + ref_1s_compliment + 1'b1; assign reset_in3_div = reset_in0 ^ reset_in2_div; assign reset_out_div = reset_in3_div | flag | reset; assign reset_in3_ref_s = reset_in0 ^ reset_in2_ref_s; assign reset_out_ref_s = reset_in3_ref_s | flag | reset; always @ (posedge div or posedge reset or posedge override) begin if ( reset ) begin N <= 2**(width-1-inv_alpha); flag <= 1'b0; step <= 2**(width-2-inv_alpha); iteration <= 0; reset_in0 <= 1'b0; end else if ( override ) begin N <= N_override; flag <= 1'b1; step <= 2**(width-2-inv_alpha); Chapter 4 DCO Automatic Tuning 66 iteration <= 0; reset_in0 <= 1'b0; end else if ( (difference[width_atcntr] == 1'b1) && (difference[1:0] > 2'b01) && (iteration == 0) && (cnt_div > min_count) ) begin reset_in0 <= !reset_in0; iteration <= iteration + 1'b1; end else if ( (difference[width_atcntr] == 1'b0) && (difference[1:0] < 2'b11) && (iteration == 0) && (cnt_div > min_count) ) begin reset_in0 <= !reset_in0; iteration <= iteration + 1'b1; end else if ( (difference[width_atcntr] == 1'b1) && (difference[1:0] > 2'b01) && (iteration < width) && (cnt_div > min_count) ) begin N <= N - step; //for increasing f with increasing N step <= step >> 1; reset_in0 <= !reset_in0; iteration <= iteration + 1'b1; end else if ( (difference[width_atcntr] == 1'b0) && (difference[1:0] < 2'b11) && (iteration < width) && (cnt_div > min_count) ) begin N <= N + step; //for increasing f with increasing N 67 Chapter 4 DCO Automatic Tuning step <= step >> 1; reset_in0 <= !reset_in0; iteration <= iteration + 1'b1; end else if ( (difference[width_atcntr] == 1'b0) && (difference[1:0] < 2'b11) && (N == 1) && (cnt_div > min_count) ) begin N <= 0; reset_in0 <= !reset_in0; end else if ( (cnt_div >= 2*max_count) && (iteration == 0) ) // in case the dco is already oscillating at the desired frequency at the initial tuning curve tried begin flag <= 1'b1; end else if ( (cnt_div >= max_count) && (iteration > 0) ) begin flag <= 1'b1; end end always @ (posedge div or posedge reset) begin if ( reset ) reset_in1_div <= 1'b0; else reset_in1_div <= reset_in0; 68 end always @ (posedge div or posedge reset) begin if ( reset ) reset_in2_div <= 1'b0; else reset_in2_div <= reset_in1_div; end always @ (posedge ref_s or posedge reset) begin if ( reset ) reset_in2_ref_s <= 1'b0; else reset_in2_ref_s <= reset_in1_div; end endmodule Chapter 4 DCO Automatic Tuning Chapter 4 DCO Automatic Tuning 69 4.8. Simulation Results In order to verify the proposed algorithm, a simulation example comprising a 2.4GHz DCO with 5 control bits, i.e. 32 tuning curves with 20MHz spacing between each two curves and 150MHz reference frequency is prepared. Substituting in (4.1) we get NRO = 2.4GHz/10MHz = 240. So we use 9 bit accumulators to be able to count double that number without overflow. A regression test bench is prepared to thoroughly test the algorithm in various combinations of initial phase error and DCO center frequency. The final DCO center frequency after tuning is shown in Figure 4-4. We can see that all regression iterations are within the expected 2.4GHz ± 10MHz range except some regression iterations that are slightly off at the lower end of this range. This is due to the presence of the Bus Synchronizer which always introduces some retiming error in the same direction. If the Comparator can be clocked at 600MHz without any setup/hold violations, then we could remove the Bus Synchronizer and all regression iterations will pass. The final DCO tuning curve number after tuning is shown in Figure 4-5, while the tuning time is shown in Figure 4-6. If we wait until we compare the frequencies in the last search iteration, we get the tuning times indicated in gray. On the contrary, if we terminate the algorithm before the last search iteration as we mentioned before, we get the optimized tuning times indicated in black. Note that the shape of these curves has some physical meaning where the peaks represent the regression iterations where the final frequency is so close to the desired 2.4GHz frequency. Also the odd peaks (before optimization) are generally higher than the even peaks indicating the time needed for the extra search iteration. The gain in tuning time after optimization is clear for the odd tuning curves and curve number 0 where we save more than 50% of the tuning time. Also we can see that the implemented watchdogs help in Chapter 4 DCO Automatic Tuning 70 limiting the tuning time. It is worth mentioning that in general, we can always decrease tuning time for the same required accuracy by using a faster reference frequency i.e. decreasing TR. Simulation results are summarized in Table 4-1. We see that the average tuning time is 4.2µsec while the worst case tuning time is 7.2µsec. This worst case tuning time is so close to the single reading of 7µsec achieved in [Hegazi 07]. Min Typ Max Unit Frequency 2.388 2.399 2.410 GHz Tuning Time 1.716 4.227 7.213 µsec Table 4-1 Regression Test Bench Results Summary dco_frequency(GHz) 2.415 2.410 2.405 2.400 2.395 2.390 2.385 1 51 101 151 201 251 301 351 401 451 501 551 601 Regression Iteration Figure 4-4 Simulated Final DCO Frequency vs. Regression Iteration 651 Chapter 4 DCO Automatic Tuning 71 dco_autotune_N 32 28 24 20 16 12 8 4 0 1 51 101 151 201 251 301 351 401 451 501 551 601 651 Regression Iteration Figure 4-5 Simulated Tuning Curve Number vs. Regression Iteration dco_tuning_time(us) 12 Unoptimized 10 Optimized 8 6 4 2 0 1 51 101 151 201 251 301 351 401 451 501 551 601 651 Regression Iteration Figure 4-6 Simulated Tuning Time vs. Regression Iteration 4.9. Summary A fast auto tuning algorithm for DCOs has been presented. Many practical implementation issues have been shown along with their solutions. A design example comprising a 2.4GHz DCO has been used to evaluate the algorithm. Regression simulations show a worst case tuning time of only 7.2µsec with room for improvement. Chapter 5 KDCO Calibration within the ADPLL In this chapter, we explain a method of estimating the gain of the DCO. By executing the calculation algorithm just-in-time at the beginning of every packet, the DCO gain can be conveniently tracked and compensated. This enables the employment of sophisticated and fully-digital frequency synthesizers capable of compensating for analog non-idealities. 5.1. Introduction As discussed previously in chapter 1, the design flow and circuit techniques of conventional frequency synthesizers for commercial RF wireless applications are analog intensive and utilize process technologies that are incompatible with a digital baseband (DBB). Nowadays, the DBB design constantly migrates to the most advanced deep-sub-micrometer digital CMOS process available, which usually does not offer any analog extensions and has very limited 73 Chapter 5 KDCO Calibration voltage headroom. Consequently, the aggressive cost and power reductions of high-volume mobile wireless solutions can only be realistically achieved by the highest level of integration, and this favors a digitally-intensive approach in the most aggressive deep sub-micrometer process. Advanced CMOS process lithography allows us to create extremely small-size but wellcontrolled varactors with switchable capacitance of the finest differential varactor on the order of tens of Atto Farads. A DCO which deliberately avoids any analog tuning voltage controls was recently presented in [Staszewski 03d]. Fine frequency resolution is achieved through high-speed ΣΔ dithering. This allows for its loop control circuitry to be implemented in a fully digital manner, as demonstrated in [Staszewski 03a]. Other imperfections of analog circuits are compensated through digital means. The majority of commercial GFSK (Bluetooth) or GMSK (GSM cellular phones) transmitters are based on the direct I–Q up-conversion modulation scheme. A chief weakness of this analog-intensive architecture is that even a small mismatch in phase shift or amplitude gain between the I and Q paths can significantly impair the system performance. Furthermore, because of a certain amount of inherent frequency shift between the modulator input and output, the strong power amplifier signal can cause frequency pulling of the oscillator through injection locking. Fractional-N frequency synthesizer architecture [Miller 91], [Riley 93] avoids both of the above problems and lends itself well to an indirect narrowband frequency modulation which could be implemented in a more digital manner. As long as the modulation data rate is lower than the phase locked loop (PLL) bandwidth, the average frequency division ratio (N) digital command word, which corresponds to a desired channel, could be augmented by the instantaneous value of the modulation frequency deviation. A method to increase the data rate 74 Chapter 5 KDCO Calibration by compensating for the PLL high-frequency attenuation through boosting the high-frequency components of the modulation signal was proposed in [Perrott 97]. This architecture, however, requires precise matching between the digital pre-compensation filter and the analog PLL transfer function across process and temperature variations. The loop filter transfer function is set digitally in [Bax 01], but the voltage-controlled oscillator (VCO) gain there still requires matching. An automatic and continual PLL calibration method using analog techniques was presented in [McMahill 02]. A two-point direct modulation scheme [Bopp 99] performs phase compensation of the PLL by digitally integrating the transmit modulating data bits and using the integrator output to shift the phase of the reference clock signal, while the Gaussian filtered data directly modulates the VCO frequency. However, this approach is also quite analog in nature and requires a precise component matching, of not only the VCO but also the phase shifter. A similar method was also disclosed in [Filiol 01]. Another feed-forward compensation method, which also requires a precise knowledge of the VCO transfer function and other analog circuits, was proposed in [Zhang 99]. It uses DSP to calculate inverse of the VCO transfer function, which is obtained through laboratory measurements, followed by a high-precision DAC to pre-tune the VCO control voltage to the desired excursion. In contrast, the work in [Staszewski 06] proposes a DCO gain calibration solution that is digital in nature, consumes little hardware overhead, and requires only one component matching, i.e. DCO, which is done just-in-time in a digital manner with a very fine resolution. Novel methods of both the direct frequency modulation and the calibration of the RF oscillator transfer function that avoid the above problems are described. These methods could be employed without regard to any specific digitally intensive synthesizer architecture. Chapter 5 KDCO Calibration 75 5.2. DCO Transfer Function & Gain The digitally-controlled oscillator [Staszewski 03d] performs digital-to-frequency conversion. Its output frequency f is a certain function of the digital oscillator tuning word (OTW) input. In general, this mapping is a nonlinear function that is not known precisely and it varies with process spread and environmental factors (voltage and temperature), i.e., process voltage temperature (PVT). However, within a limited range of operation it could be approximated by: f OTW f o f f o K DCO OTW (5.1) KDCO is specifically defined as a frequency deviation Δf (in hertz) from a certain oscillating frequency fo in response to 1 least significant bit (LSB) of the input change. Within a linear range of operation, the DCO gain can also be expressed as: K DCO f f OTW (5.2) The oscillator gain dependence on PVT and frequency makes it a good choice to estimate it on a per-needed basis within the actual environment. This is especially important in batteryoperated cellular phones with frequency-hopping operation where, for example, the supply voltage can vary rapidly with the adaptive transmit power. 5.3. DCO Gain Normalization At a higher level of abstraction, the DCO oscillator, together with the DCO gain normalization f R / Kˆ DCO multiplier, logically comprise the normalized DCO (nDCO), as illustrated in figure 5-1. The DCO gain normalization conveniently decouples the phase and frequency information throughout the system from the process, voltage and temperature Chapter 5 KDCO Calibration 76 variations that normally affect the KDCO. The frequency information is normalized to the value of the external reference frequency fR. Normalized DCO (nDCO) DCO gain normalization Normalized Tuning Word (NTW) DCO OTW fR/KDCO 28 Δf from fo 28 [(Hz/LSB)/(Hz/LSB)] KDCO [(Hz/LSB)] KnDCO [(Hz/LSB)] Figure 5-1 Normalized DCO block diagram The digital input to the nDCO is a fixed-point normalized tuning word (NTW), whose integer part LSB bit corresponds to fR. Note that the reference frequency is chosen as the normalization factor because it is the master basis for the frequency synthesis. In addition, the clock rate and update operation of this discrete-time system are established by the reference frequency. The quantity KDCO should be contrasted with the process voltage temperature independent oscillator gain KnDCO which is defined as the frequency deviation (in hertz units) of the DCO in response to the 1 LSB change of the integer part of the NTW input. If the DCO gain estimate K̂ DCO is exact, then KnDCO = fR/LSB, otherwise: K nDCO f R K DCO f R r LSB Kˆ DCO LSB (5.3) Dimensionless ratio r K DCO / Kˆ DCO is a measure of the DCO gain estimation accuracy. 5.4. Predictive/Closed PLL Operation The main reason behind the effort of estimating the KDCO gain is a need for predictive loop operation in order to realize a direct-transmit frequency modulation. Figure 5-2 depicts a Chapter 5 KDCO Calibration 77 digital PLL-based frequency synthesizer [Staszewski 03a] with a digital direct frequency modulation of the oscillator. The modulating data y[k] (normalized to the reference frequency fR) directly affects the oscillating frequency by Δf[i], where k i / N and N is the frequency division ratio. The PLL will try to correct this perceived frequency perturbation integrated over the update period TR=1/fR. This corrective action is compensated by the other (compensating) y[k] feed that is integrated by the reference phase accumulator. The compensation is exact if r = 1, i.e., Kˆ DCO K DCO . In this case, the loop response to y[k] is all-pass and y[k] directly modulates the DCO frequency in a feed-forward manner such that it effectively removes the loop dynamics from the modulating transmit path. However, the rest of the loop, including all error sources, operates under the normal closed-loop regime. Analysis of the KDCO error on the loop response is deferred until section 5.6. The immediate and direct DCO frequency control, made possible by accurate prediction of the DCO transfer function, is combined with the phase compensation of the PLL loop response. The two factors constitute the hybrid of predictive/closed PLL loop modulation method. Cause-effect Δf Direct Feed y[k] Compensating Feed y[k] Reference Phase Accumulator Channel Frequency Control Word (FCW) + ΔOTW (FCW’) Σ Phase Detector Proportional Loop Gain ΦE[k] RR[k] + DCO Gain Normalization d[k] α + Digitally Controlled Oscillator + fR/KDCO KDCO (NTW) (OTW) - Sampler with linear interpolator RV[k] DCO Phase Accumulator RV[i] TR Σ 1 Figure 5-2 Two point modulated ADPLL model [Staszewski 06] Δf[i] from fo Chapter 5 KDCO Calibration 78 5.5. DCO Gain Estimation using the ADPLL The DCO gain estimation K̂ DCO could now be conveniently and just-in-time calculated at the beginning of every packet by forcing the PLL frequency deviation Δf and measuring the steady-state change in the oscillator tuning word ΔOTW as figure 5-2 suggests Kˆ DCO f f OTW (5.4) In this architecture, Δf can be accurately produced since fR is known and its respective frequency control word (FCW = Δf = fR) is computed in a digital manner. Given the accurate Δf perturbation, the resulting change in the DCO tuning word is measured digitally. For this reason, this technique can be very accurate. Note that K̂ DCO is actually used in the denominator of the DCO gain normalization multiplier fR Kˆ DCO fR OTW f (5.5) This is quite beneficial since the unknown OTW is in the numerator and the inverse of the forced Δf is known and could be conveniently pre-calculated. This way, use of an arithmetic divider is avoided. If the KDCO gain is estimated correctly to start with, the precise frequency shift will be accomplished in one step, as shown in figure 5-3. However, if the KDCO is not estimated accurately, then the first frequency jump step will be off target by a K DCO / Kˆ DCO 1 fraction and one would require a number of clock cycles to correct the estimation error through the normal PLL loop dynamics. Chapter 5 KDCO Calibration 79 Oscillator Tuning Word (OTW) single step feedforward jump correct estimate Δf overestimate underestimate Average M1 samples Waiting W cycles for the ADPLL to settle Average M2 samples time ADPLL settled ADPLL frequency changed by Δf ADPLL settled KDCO calibration done Figure 5-3 DCO gain estimate by measuring tuning word change in response to a fixed frequency jump. To lower the measurement variance, it is advantageous to average out the tuning inputs before and after the transition, as revealed by figure 5-3. Figure 5-4 shows a DCO gain calculation flowchart. After the desired frequency is acquired, M1 samples of oscillator tuning word OTW are averaged and the result is stored as OTW1. Thereafter, a suitable frequency change Δf is imposed and the system waits W clock cycles for the PLL loop to settle. M2 samples of OTW are then averaged and the result is stored as OTW2. Finally, the DCO gain estimate K̂ DCO or the normalizing gain f R / Kˆ DCO is computed. It is very convenient to limit M1 and M2 to power-of-2 integers, since the division operation is simplified now to a trivial right-bit-shift. Chapter 5 KDCO Calibration 80 Acquire desired frequency Accumulate M1 samples of OTW Divide by M1 Store OTW1 Change ADPLL frequency by Δf Wait for W clock cycles Accumulate M2 samples of OTW Divide by M2 OTW2 obtained Calculate: KDCO = Δf/(OTW2-OTW1) or fR/KDCO = (fR/Δf)*(OTW2-OTW1) Figure 5-4 DCO gain estimation flowchart. It should be noted that a frequency jump equal to the full modulation range is beneficial for two reasons. First, little hardware overhead is required on top of the existing transmit modulator circuitry to execute the chosen frequency jump. Second, measuring the local gain value around the expected operational range is bound to provide the most accurate estimate. In order to further improve the estimate, a larger frequency step of two symbols, thus, covering the whole data modulation range is performed. Chapter 5 KDCO Calibration 81 5.6. Effect of Incorrect KDCO Estimation The z domain transfer function from the direct feed of the modulating data y[k] to the frequency deviation Δf at the PLL output (figure 5-2) is: H DF z ADF z 1 ADF z DF z fRr z 1 1 1 fRr 1 z 1 f R Note that the DCO gain normalization + DCO is a digital to frequency converter, therefore has units of Hz/LSB, while the Oscillator phase accumulator + Sampler with linear interpolator is a frequency to digital converter, therefore has units of LSB/ Hz. More precisely, The DCO gain normalization + DCO model is expressed as fRr Hz/LSB, while the Oscillator phase accumulator + Sampler with linear interpolator is expressed as z -1/(1-z-1) /fR LSB/Hz. Similarly, the z domain transfer function from the compensating feed of the modulating data y[k] to the frequency deviation Δf at the PLL output is: H CF z ACF z z 1 z 1 1 z 1 1 ACF z CF z 1 z 1 f R r z 1 1 1 f R r 1 z 1 f R Thus the overall z domain transfer function from both the direct and the compensating feeds of the modulating data y[k] to the frequency deviation Δf at the PLL output is: 1 1 f r z R H z 1 1 1 z 1 r z 1 1 z This could be simplified as follows: 1 f R r 1 z 1 1 H z 1 1 z 1 1 z rz (5.6) Chapter 5 KDCO Calibration 82 1 f R r z 1 1 z 1 z 1 r z 1 z 1 fRr z 1 z 1 r To reach the transfer function in pole/zero form: H z f R r z 1 z 1 r (5.7) So we see that the overall z domain transfer function from both the direct and the compensating feeds of the modulating data y[k] to the frequency deviation Δf at the PLL output has a pole at (1 - rα) and a zero at (1 - α) as shown in figure 5-5. Z=j decreasing r r>1 r<1 Z=-1 Z=1 α rα Z=-j Figure 5-5 Complex plane location of the H(z) zero and pole movement with different values of the DCO gain estimate accuracy r. The dc gain (at f = 0 Hz, z e j 2f / f R 1 ) is always fR, which could be readily seen by inspection: H z z 1 f R r 1 1 fR 1 1 r The high-frequency gain (at f = fR/2 Hz, z e j 2f / f R 1 ) is: H z z 1 f R r 2 2 r Chapter 5 KDCO Calibration 83 Which could be further simplified when the realistic approximation of (α << 1) is assumed 1 1 H 1 f R r 2 2 1 r 2 r f R r 1 1 2 2 r r 2 f R r 1 2 2 4 r r 1 H 1 f R r 2 (5.8) Therefore, for r > 1, H(-1) > fR, while for r < 1, H(-1) < fR Figure 5-6 shows the direct modulation transfer function H(f) for various cases of the KDCO estimate accuracy r. In case of the incorrect KDCO estimate, the transfer function is either somewhat high-pass or low-pass. This is governed both by the single pole and single zero locations at rαfR/2π and αfR/2π of linear frequency in hertz, respectively. The pole location happens to be the same as the PLL phase transfer function loop bandwidth fBW of the reference noise or of the modulating data without the feed-forward y[k] entry. The feed-forward y[k] path could be simply viewed as placing a compensating zero in the pole’s vicinity. Note that the difference between the high frequency and low frequency gains is expressed as: r r 1 f R H 1 H 1 f R r 2 r r 1 1 fR r 2 r H 1 H 1 f R r 11 2 and is indicated in Figure 5-6 Chapter 5 KDCO Calibration 84 Only when the DCO gain estimate is correct, the pole and the zero coincide letting this difference tend to zero, and the direct frequency modulation of the PLL loop exhibits truly wideband all-pass transfer characteristics up to the half of the sampling frequency (fR). This allows supporting modulation bandwidth of up to fR/2. It should be noted that the presented idea does work equally well with higher order PLLs. Figure 5-6 Direct modulation transfer function H(f) where f ≈ (fR/2π)(z-1) for f << fR, with different values of the DCO gain estimate accuracy r according to [Staszewski 06]. Here we would like to point out that the transfer function shown in Figure 5-6 which is presented in [Staszewski 06] isn’t strictly accurate, that is because it makes it look like the zero location for r > 1 is at the pole location for r < 1 equal to the loop bandwidth, while the pole location for r > 1 is at the zero location for r < 1. While in fact, the zero location in all cases is the same as it is not a function of r, while the pole location in all cases which is equal to the loop bandwidth is what varies with r as shown in Figure 5-7. Chapter 5 KDCO Calibration 85 H(f) fR r > 1 (KDCO underestimated) r = 1 (correct KDCO estimated) 1 (r-1)(1+αr/2) r < 1 (KDCO overestimated) fR 2π (r < 1) rα α fR 2π fR 2π (r > 1) rα fR/2 f Figure 5-7 Actual direct modulation transfer function H(f) where f ≈ (fR/2π)(z-1) for f << fR, with different values of the DCO gain estimate accuracy r according to this work. 5.7. Algorithm Verilog Code `timescale 1ns/1fs module adpll_gain_est(reset, clk, fcw, dco_gain_est_start, dco_gain_est_done, cnt_err,cnt_err_correction); parameter width = adpll_top_tb.width; parameter width_fraction = adpll_top_tb.width_fraction; parameter width_settling = 12; parameter width_averaging = 8; parameter settling_samples = 2**width_settling; parameter averaging_samples = 2**width_averaging; input reset; input clk; output [width-1+width_fraction:0] fcw; Chapter 5 KDCO Calibration 86 input dco_gain_est_start; output dco_gain_est_done; input [width-1+width_fraction:0] cnt_err; output [width-1+width_fraction:0] cnt_err_correction; reg [width-1+width_fraction:0] fcw; reg [width_settling+1:0] sample; reg [width-1+width_fraction+width_averaging:0] accumulator; reg [width-1+width_fraction:0] average1; reg [width-1+width_fraction:0] average2; reg [width-1+width_fraction:0] cnt_err_correction; reg dco_gain_est_done; always @ (posedge clk or posedge reset or posedge dco_gain_est_start) begin if ( reset ) begin fcw = 16*2**width_fraction; sample <= 0; accumulator <= 0; average1 <= 0; average2 <= 0; cnt_err_correction <= 1; dco_gain_est_done <= 1'b0; end //fr/kdco_cap Chapter 5 KDCO Calibration 87 else if ( dco_gain_est_start ) begin dco_gain_est_done <= 1'b0; sample <= sample + 1'b1; if (sample > 0 && sample <= settling_samples+averaging_samples+2) fcw = 28*2**width_fraction; if (sample > settling_samples && sample < settling_samples+averaging_samples+1) accumulator <= accumulator + {{width_averaging{cnt_err[width– 1+width_fraction]}},cnt_err}; if (sample == settling_samples+averaging_samples+1) average1 <= accumulator >> width_averaging; if (sample == settling_samples+averaging_samples+2) accumulator <= 0; if (sample > settling_samples+averaging_samples+2 && sample <= settling_samples+averaging_samples+2+settling_samples+averaging_samples+2) fcw = 12*2**width_fraction; if (sample > settling_samples+averaging_samples+2+settling_samples && sample < settling_samples+averaging_samples+2+settling_samples+averaging_samples+1) accumulator <= accumulator + {{width_averaging{cnt_err[width1+width_fraction]}},cnt_err}; Chapter 5 KDCO Calibration 88 if (sample == settling_samples + averaging_samples + 2 + settling_samples + averaging_samples + 1) average2 <= accumulator >> width_averaging; if (sample == settling_samples + averaging_samples + 2 + settling_samples + averaging_samples + 2) begin cnt_err_correction <= ({average1[width-1+width_fraction],average1[width1+width_fraction:0]} - {average2[width-1+width_fraction],average2[width1+width_fraction:0]}) >> 4+width_fraction; //Divide by delta fcw which is 24-8=16 that is shift right by 4 places accumulator <= 0; sample <= 0; fcw = 28*2**width_fraction; dco_gain_est_done <= 1'b1; end end end endmodule `timescale 1ns/1fs module adpll_gain_norm(cnt_err_ntw,cnt_err_otw,cnt_err_correction); Chapter 5 KDCO Calibration 89 parameter width = adpll_top_tb.width; parameter width_fraction = adpll_top_tb.width_fraction; input [width-1+width_fraction:0] cnt_err_ntw; wire [width-1+width_fraction:0] cnt_err_ntw_int; input [width-1+width_fraction:0] cnt_err_correction; wire [2*width-1+2*width_fraction:0] cnt_err_otw_int; output [2*width-1+width_fraction:0] cnt_err_otw; assign cnt_err_ntw_int = cnt_err_ntw[width – 1 + width_fraction]? ~cnt_err_ntw+1:cnt_err_ntw; assign cnt_err_otw_int = cnt_err_ntw_int*cnt_err_correction; assign cnt_err_otw = cnt_err_ntw[width-1+width_fraction]? ~cnt_err_otw_int[2*width-1+2*width_fraction:0]+1:cnt_err_otw_int[2*width1+2*width_fraction:0]; endmodule Chapter 5 KDCO Calibration 90 5.8. Simulation Results In this test-bench, KDCO calibration is started with a default value of the gain normalization factor of 1. It is clear that there is a significant rise and fall time for the OTW when the input is fed from the compensating feed only. Then at the end of the algorithm, the resulting gain normalization factor turns out to be 2 and is directly applied. Thus a frequency hit occurred as could be seen at 60µsec in Figure 5-8. Then KDCO calibration is started again with the new value of the gain normalization factor of 2. It is clear that there is still rise and fall times for the OTW as the input is still fed from the compensating feed only but these times are halved as the loop gain is doubled after applying the new gain normalization factor. Then at the end of the algorithm, the resulting gain normalization factor is still the same at 2. Thus no frequency hit occurred as could be seen at 130µsec in Figure 5-8. Then starting from 140µsec, both the direct and compensating feeds are enabled and various frequency jumps are applied. It is clear that now the transitions in the OTW are instantaneous as opposed to the transitions during the gain estimation. 91 Chapter 5 KDCO Calibration Figure 5-8 KDCO Calibration Simulation Result Chapter 6 The ADPLL as an FSK Transmitter In this chapter we integrate the introduced DCO auto-tuning algorithm and KDCO estimation and normalization algorithm with the ADPLL model introduced in Chapter 3 and we show how these algorithms are incorporated in sequence to prepare the ADPLL to be used as an FSK Transmitter. 6.1. Introduction The ADPLL based frequency synthesizer when used as an FSK transmitter is shown in Figure 6-1. As discussed in chapter 4, a multiplexer is used to break the loop and introduce mid OTW to the DCO. Also gates are used to enable/disable both the direct & compensating feeds independently. Chapter 6 The ADPLL as an FSK Transmitter 93 Data 28 Reference Phase Accumulator Channel Frequency Control Word (FCW) + (FCW’) 28 Σ Phase Detector Proportional Loop Gain ΦE[k] RR[k] + DCO Gain Normalization α + + fR/KDCO 28 28 28 0 Δf[i] from fo (NTW) (OTW) 28 (mid_OTW) - 28 Digitally Controlled Oscillator d[k] 1 28 dco_auto_tune_enable dco_autotune_N Sampler with linear interpolator RV[k] 28 DCO Phase Accumulator RV[i] TR Σ 28 6 DCO Auto Tune FREF 1 28 Figure 6-1 ADPLL-based RF frequency synthesizer when used as an FSK transmitter 6.2. Test Bench Verilog Code `timescale 1ns/1fs module adpll_top_tb; parameter width = 12; // Setting the bus integer widths parameter width_fraction = 16; // Setting bus fractional widths parameter fcentre = 2.4; parameter Kdco = 75; // GHz // MHz/Integer_LSB parameter width_atcntr = 8; //2**width_atcntr needs to be > 2*fcentre_rel/0.5/(fdelta_real/1000) parameter inv_alpha = adpll_top_tb.dut.flt.inv_alpha; reg reset; reg fref; reg [width-1+width_fraction:0] fcw; reg dco_gain_est_start; wire dco_gain_est_done; Chapter 6 The ADPLL as an FSK Transmitter 94 reg comp_feed_en; reg dir_feed_en; reg [width-1+width_fraction:0] data; wire fdco; reg dco_auto_tune_enable1; reg dco_auto_tune_enable2; reg dco_auto_tune_reset; reg dco_auto_tune_override; reg [width-1-inv_alpha:0] dco_auto_tune_N_override; wire [width-1-inv_alpha:0] dco_auto_tune_N; wire dco_auto_tune_done; initial // Reference Clock Generator begin fref = 0; forever #(0.5/0.15) fref = !fref; end initial begin reset = 0; comp_feed_en = 1; dir_feed_en = 1; data = 0; fcw = 16*2**width_fraction; dco_gain_est_start = 1'b0; //150MHz Chapter 6 The ADPLL as an FSK Transmitter 95 #5 reset = 1; #5 reset = 0; dco_auto_tune_override = 1'b0; dco_auto_tune_N_override = 10; fref = 1'b1; dco_auto_tune_reset = 1'b0; dco_auto_tune_enable1 = 1'b0; dco_auto_tune_enable2 = 1'b0; //DCO Auto-Tuning #100 dco_auto_tune_enable1 = 1'b1; #100 dco_auto_tune_enable2 = 1'b1; #100 dco_auto_tune_reset = 1'b1; #100 dco_auto_tune_reset = 1'b0; #100 wait (dco_auto_tune_done == 1'b1); #100 dco_auto_tune_enable2 = 1'b0; #100 dco_auto_tune_enable1 = 1'b0; //DCO Gain Estimation #3990 dco_gain_est_start = 1'b1; #1000 wait (dco_gain_est_done == 1'b1); #12000 dco_gain_est_start = 1'b1; #1000 wait (dco_gain_est_done == 1'b1); //FSK Data Transmission @ 2Mbps #12000 data = 0.0078125*2**width_fraction; #500 data = -0.0078125*2**width_fraction; Chapter 6 The ADPLL as an FSK Transmitter 96 #500 data = 0.0078125*2**width_fraction; #500 data = -0.0078125*2**width_fraction; #500 data = 0*2**width_fraction; //FSK Data Transmission @ fref/2 = 75Mbps #4000 data = 0.0078125*2**width_fraction; #(0.5/0.15) data = -0.0078125*2**width_fraction; #(0.5/0.15) data = 0.0078125*2**width_fraction; #(0.5/0.15) data = -0.0078125*2**width_fraction; #(0.5/0.15) data = 0*2**width_fraction; end always @ (posedge dco_gain_est_done) begin if (dco_gain_est_done) dco_gain_est_start <= 1'b0; end adpll_top dut(reset,fref,fcw,dco_gain_est_start,dco_gain_est_done, comp_feed_en,dir_feed_en,data,fdco,dco_auto_tune_enable1,dco_auto_tune_enable2, dco_auto_tune_reset,dco_auto_tune_override,dco_auto_tune_N_override,dco_auto_tu ne_N,dco_auto_tune_done); endmodule Chapter 6 The ADPLL as an FSK Transmitter 97 6.3. Simulation Results In Figure 6-2, we see the ADPLL going through the various modes of operation: Starting from DCO Autotuing to KDCO Gain Estimation to Data Transmission at 2Mbps and at fR/2 = 75Mbps. Note that here we apply an exaggerated frequency step just for illustration. Next we will apply the actual frequency steps and zoom in on each mode of operation. Auto Tuning KDCO Estimation KDCO Estimation FSK Transmission Figure 6-2 ADPLL output in the various modes of operation Chapter 6 The ADPLL as an FSK Transmitter 98 In Figure 6-3, we zoom in on the DCO Autotuing period showing the DCO frequency starting at 2.9GHz at the center tuning curve and approaching the desired 2.4GHz in a binary search fashion and an open loop configuration with tuning curve number -6 as the final solution. Then we leave the ADPLL to lock to the desired 2.4GHz by its closed loop dynamics. Auto Tuning Loop Dynamics Open Loop Closed Loop Figure 6-3 Zoom in on the DCO Autotuing period Chapter 6 The ADPLL as an FSK Transmitter 99 While in Figure 6-4, we zoom in on the KDCO estimation period. We first do a KDCO estimation and observe the frequency hit reported in Chapter 5 at the end of the gain estimation due to the sudden change of the DCO tuning word after the end of the KDCO estimation and normalization process. Then we perform KDCO estimation for the second time just to illustrate that there is no more frequency hits because the KDCO estimation result is the same and thus there is no sudden change of the DCO tuning word. KDCO Estimation KDCO Estimation FSK Transmission Figure 6-4 Zoom in on the KDCO estimation period Chapter 6 The ADPLL as an FSK Transmitter 100 Note that for best results, we do KDCO estimation using the same frequency deviation required during transmission. As we see in Figure 6-5, we start from the carrier frequency of 2.4GHz. KDCO Estimation KDCO Estimation FSK Transmission Figure 6-5 2.4GHz Center frequency at the start of KDCO estimation Chapter 6 The ADPLL as an FSK Transmitter 101 Then we apply a 1MHz positive frequency shift as shown in Figure 6-6. KDCO Estimation KDCO Estimation Figure 6-6 1MHz positive frequency shift FSK Transmission Chapter 6 The ADPLL as an FSK Transmitter 102 Then we apply a 1MHz negative frequency shift as shown in Figure 6-7. KDCO Estimation KDCO Estimation Figure 6-7 1MHz negative frequency shift FSK Transmission Chapter 6 The ADPLL as an FSK Transmitter 103 After KDCO estimation and normalization is complete, we are now ready for FSK data transmission at data rates higher than the ADPLL bandwidth, which is according to Figure 5-7 here is equal to rαfR/2π = 1 x 2-6 x 150 MHz / 2π ≈ 373 KHz as shown in Figure 6-8 where we see the 2Mbps data transmission. FSK Transmission at 2Mbps Figure 6-8 2Mbps data transmission. 104 Chapter 6 The ADPLL as an FSK Transmitter Here we zoom in more onto the FSK Transmission to see the effectiveness of the KDCO estimation manifesting itself in the sharp frequency transitions of the transmitted data bits as shown in Figure 6-9. FSK Transmission at 2Mbps FSK Transmission at 75Mbps Figure 6-9 Zoom in on the FSK data transmission 105 Chapter 6 The ADPLL as an FSK Transmitter To further exploit the full potential of the KDCO estimation & normalization algorithm, we do data transmission at fR/2 = 75Mbps were we still see successful data transmission with sharp frequency transitions in Figure 6-10 after more zooming in. FSK Transmission at 75Mbps Figure 6-10 FSK transmission at fR/2 Chapter 6 The ADPLL as an FSK Transmitter 106 6.4. The ADPLL as a Local Oscillator Spurious tones are one of the major performance measures of any PLL when used as a local oscillator. In voltage controlled oscillators, evaluating the spurious tones by performing FFT at the oscillator output is so computationally intensive and in most cases would lead to inaccurate results due to the large sampling frequency required that is needed to be much larger than the oscillator output frequency. So instead, the common practice is to perform an FFT at the oscillator input control voltage and use the narrow band FM rule to evaluate the spurious tone level at the oscillator output since the VCO is in essence an FM modulator. We will use the same technique to evaluate the spurious tones of the DCO assuming its output v DCO t is a sinusoid rather than a square wave & is expressed as: t v DCO t A sin o t 2K DCO NTWm cos m t dt 0 (6.1) Where: A is the oscillation amplitude o is the oscillation center frequency K DCO is the oscillator tuning gain which is equal to Fref/LSB after KDCO calibration NTWm is the modulating part of the normalized tuning word m is the modulation frequency of the normalized tuning word Doing the integration in 6.1 we get 2K DCO NTWm v DCO t A sin o t sin m t m (6.2) Using the narrow band FM approximation, 6.2 yields: v DCO t A sin o t A 2K DCO NTWm sino m t sino m t 2 m (6.3) Where the first term corresponds to the center frequency & the second term corresponds to the spurious tones at the right & left of the center frequency by a frequency offset equal to the modulation frequency. Chapter 6 The ADPLL as an FSK Transmitter 107 From 6.3 we can see that the ration between the spurious tone level & the center frequency level is Vspur Vcarrier 2K DCO NTWm K DCO NTWm 2 m 2 fm (6.4) Now in order to evaluate the spurious tone level, we zoom in on the NTW after the ADPLL reaches lock condition to see the modulating part of it. Figure 6-11 shows this modulating part, it is obtained by subtracting the NTW from the average NTW. It is clear that the fluctuations in the NTW are within one LSB only of the fractional part. Figure 6-11 Zoom in on the modulating part of the NTW Chapter 6 The ADPLL as an FSK Transmitter 108 Then we perform FFT on this modulating NTW to see its frequency content as shown in Figure 6-12. Note that since Fref is 150MHz, the FFT is plotted from 0 to Fref/2 which is 75MHz. Now the spurious tones appear with the largest of them is located at 46.88MHz. Figure 6-12 FFT of the modulating part of the NTW Integrating the output spectrum from 0 to Fref/2 to get the total power of the modulating part of the NTW yields 0.215 in units of fractional LSB squared. Substituting by this in 6.4 & assuming that all the power is concentrated at the highest tone (at 46.88MHz offset) for simplicity yields: Vspur 10 log V carrier 2 0.215 2 150MHz / LSBInteger 16 2 2 10 log 2 98.9dBc 2 46 . 88 MHz (6.5) Chapter 6 The ADPLL as an FSK Transmitter 109 To compare this with the state-of-the-art, we show in Figure 6-13 the measured output spectrum of the ADPLL in [Staszewski 03a]. Figure 6-13 ADPLL measured output spectrum from [Staszewski 03a] ≤-112dBc/Hz @ 500KHz offset 2.1 deg ≤-62dBc ≤-80dBc ≤50µsec Phase Noise RMS phase error Close-in spuriour tones Far-out spurious tones Settling time Table 6-1 Measured key synthesizer performance from [Staszewski 03a] It is clear from Figure 6-13 and also Table 6-1 that the spurious tone level is at -62dBc, therefore the -98.9dBc obtained in this work is 36.9dB better in terms of spurious tones without using a better frequency resolution than [Staszewski 03a] as can be observed from equations 6.6 & 6.7 below. 23KHz 718Hz 25 (6.6) 150MHz 2289 Hz 216 (6.7) f Staszewski f This _ Work Where in [Staszewski 03a], the fractional part LSB corresponds to 23KHz and a 5 bit sigma delta modulator are used for dithering. While in this work the integer part LSB is 150MHz & we use 16 fractional bits without any dithering. Conclusion In this work, we have presented mathematical description and operational details of the phase-domain ADPLL. The architecture is built from the ground up using digital techniques that exploit high speed and high density of a deep-submicrometer CMOS process while avoiding its weaker handling of voltage resolution. The conventional phase/frequency detector and charge-pump combination is replaced by a digital-to-frequency converter and is followed by a simple digital loop filter that controls a DCO. Modulo arithmetic is used to represent the phase-domain fixed-point signals. We have presented the Verilog modeling technique used to describe the various building blocks of the ADPLL. We used an integer-N ADPLL example with a simple frequency plan to have more insight into the ADPLL modeling & operation. We have created a test bench for the ADPLL and used it to observe the locking behavior. The TDC modeling was presented together with some waveforms to better understand its operation. A fast auto tuning algorithm for DCOs has been presented. Many practical implementation issues have been shown along with their solutions. A design example comprising a 2.4GHz DCO has been used to evaluate the algorithm. Regression simulations show a worst case tuning time of only 7.2µsec with room for improvement. 111 Conclusion We studied a fast tuning gain estimation & calibration algorithm. It makes use of the fact that since the loop control is now digital, it is easier to estimate the tuning gain just in time by introducing a known frequency step to the All Digital PLL input & monitoring the change on the Digital Controlled Oscillator tuning input. This tuning gain calibration makes it possible to use a two point modulation scheme to transmit Frequency Shift Keying data at symbol rates much higher than the loop bandwidth upto the Nyquist frequency of half the reference frequency. The All Digital PLL together with the center frequency automatic tuning algorithm & the tuning gain estimation & calibration algorithm are all modeled & integrated in Verilog. We used this model to verify the successful All Digital PLL functionality & performance transitioning from reset to center frequency automatic tuning to tuning gain estimation & calibration to Frequency Shift Keying data transmission. Also when used as a local oscillator for receivers, the implemented All Digital PLL has spurious tones less than -98dBc. Future Work Improve the DCO automatic tuning algorithm from the hardware implementation point of view. Implement a Gaussian Filter to be used to transmit GFSK signals rather than just FSK Implement a PRBS generator & use it to transmit Pseudo-Random GFSK data & draw the eye diagram of the transmitted signal after it is detected. Implement Dynamic Element Matching techniques to the DCO capacitor banks for better immunity to process mismatch Fabricate the described automatic tuning & KDCO calibration techniques & evaluate their performance in the lab. References [Bax 01] W. T. Bax and M. A. Copeland, A GMSK modulator using a DS frequency discriminator based synthesizer, IEEE Journal of Solid-State Circuits, vol. 36, no. 8, pp. 1218–1227, Aug. 2001. [Behbahani 00] Behbahani, F., Weeguan Tan, Karimi-Sanjani, A., Roithmeier, A., Asad, A.A., “A broad-band tunable CMOS channel-select filter for a Low-IF wireless receiver,” IEEE J. of Solid-State Circuits, vol. 35, no. 4, pp. 476 –489, Apr. 2000. [Best 93] R. E. Best, Phase Locked Loops: Design, Simulation and Applications, 2nd ed. New York: McGraw-Hill, 1993. [Bopp 99] M. Bopp, M. Alles, and M. Arens et al., “A DECT transceiver chip set using SiGe technology,” in Proc. IEEE Solid-State Circuits Conf., sec. MP4.2, Feb. 1999, pp. 68–69. [Egan 00] W. F. Egan, Frequency Synthesis by Phase Lock, Wiley, New York, 2000. [Egan 98] W. F. Egan, Phase Lock Basics, Wiley, New York, 1998. References 114 [Filiol 01] N. Filiol, N. Birkett, and J. Cherry et al., “A 22 mW Bluetooth RF transceiver with direct RF modulation and on-chip IF filtering,” in Proc. IEEE Solid-State Circuits Conf., sec. 13.4, Feb. 2001, pp. 202–203. [Gardner 80] F. M. Gardner, Charge-pump phase-locked loops, IEEE Transactions on Communications, vol. 28, pp. 1849–1858, Nov. 1980. [Hafez 99] A. N. Hafez and M. I. Elmasry, A low power monolithic subsampled phase-locked loop architecture for wireless transceivers, Proceedings of the IEEE Symposium on Circuits and Systems, vol. 2, pp. 549–552, May–June 1999. [Hegazi 07] Hegazi, E., “An algorithm for automatic tuning of PLLs,” IEEE ISCAS 2007, New Orleans, LA, pp. 2260-2263, May 2007. [Hein 88] J. P. Hein and J. W. Scott, “z-domain model for discrete-time PLLs,” IEEE Trans. Circuits Syst., vol. 35, no. 11, pp. 1393–1400, Nov. 1988. [Hwang 01] I. C. Hwang, S. H. Song, and S. W. Kim, A digitally controlled phaselocked loop with a digital phase-frequency detection for fast acquisition, IEEE Journal of Solid-State Circuits, vol. 36, no. 10, pp. 1574–1581, Oct. 2001. [Kajiwara 92] A. Kajiwara and M. Nakagawa, “A new PLL frequency synthesizer with high switching speed,” IEEE Trans. Veh. Technol., vol. 41, no. 4, pp. 407–413, Nov 1992. References 115 [Kenny 99] T. P. Kenny, T. A. Riley, N. M. Filiol, and M. A. Copeland, Design and realization of a digital delta-sigma modulator for fractional-N frequency synthesis, IEEE Transactions on Vehicular Technology, vol. 48, no. 2, pp. 510–521, Mar. 1999. [Kral 98] A. Kral, F. Behbahani, and A. A. Abidi, “RF-CMOS Oscillators with switched tuning,” Custom IC Conf., Santa Clara, pp. 555-558, May 1998. [Lee 04] S. T. Lee, S. J. Fang, D. J. Allstot, A. Bellaouar, A. R. Fridi, and P. A. Fontaine, A quadband GSM-GPRS transmitter with digital autocalibration, IEEE Journal of Solid-State Circuits, vol. 39, no. 12, pp. 2200–2214, Dec. 2004. [Maneatis 96] John G. Maneatis, “Low-jitter process-independent DLL and PLL based on self-biased techniques,” IEEE J. of Solid-State Circuits, vol. 31, no. 11, pp. 1723 -1732, Nov. 1996. [Matsua 87] Y. Matsua, K. Uchimura, A. Iwata, T. Kobayashi, M. Ishikawa, and T. Yoshitome, A 16-bit oversampling A/D conversion technology using triple integration noise shaping, IEEE Journal of Solid-State Circuits, vol. 22, pp. 921–929, Dec. 1987. [McMahill 02] D. R. McMahill and C. G. Sodini, “A 2.5-Mb/s GFSK 5.0-Mb/s 4-FSK automatically calibrated ΣΔ frequency synthesizer,” IEEE J. Solid-State Circuits, vol. 37, pp. 18–26, Jan. 2002. References 116 [Miller 91] B. Miller and R. J. Conley, A multiple modulator fractional divider, IEEE Transactions on Instrumentation and Measurement, vol. 40, no. 3, pp. 578–583, June 1991. [Perrott 97] M. H. Perrott, T. Tewksbury, and C. Sodini, A 27-mW CMOS fractionalN synthesizer using digital compensation for 2.5-Mb/s GFSK modulation, IEEE Journal of Solid-State Circuits, vol. 32, no. 12, pp. 2048–2060, Dec. 1997. [Razavi 98] B. Razavi, RF Microelectronics, Prentice Hall, Upper Saddle River, NJ, 1998. [Reinhardt 86] V. Reinhardt, K. Gould, K. McNab, and M. Bustamante, A short survey of frequency synthesizer techniques, Proceedings of the 40th Annual Frequency Control Symposium, pp. 355–365, May 1986. [Riley 93] T. Riley, M. Copeland, and T. Kwasniewski, Delta–sigma modulation in fractional-N frequency synthesis, IEEE Journal of Solid-State Circuits, vol. 28, no. 5, pp. 553–559, May 1993. [Shennawy 10] El-Shennawy, M., Hegazi, E., “A fast automatic tuning algorithm for Voltage Controlled Oscillators,” International Conference on Microelectronics, Cairo, pp. 188 - 191, Dec. 2010. [Staszewski 03a] R. B. Staszewski, D. Leipold, K. Muhammad, and P. T. Balsara, “Digitally controlled oscillator (DCO)-based architecture for RF frequency synthesis in a deep-submicrometer CMOS process,” IEEE Trans. Circuits Syst. II, vol. 50, no. 11, pp. 815–828, Nov. 2003. References 117 [Staszewski 03b] R. B. Staszewski, C.-M. Hung, D. Leipold, and P. T. Balsara, “A first multigigahertz digitally controlled oscillator for wireless applications,” IEEE Trans. Microwave Theory Tech., vol. 51, no. 11, pp. 2154–2164, Nov. 2003. [Staszewski 03c] R. B. Staszewski, D. Leipold, and P. T. Balsara, “Just-in-time gain estimation of an RF digitally controlled oscillator for digital direct frequency modulation,” IEEE Trans. Circuits Syst. II, Analog Digit. Signal Process., vol. 50, no. 11, pp. 887–892, Nov. 2003. [Staszewski 03d] R. B. Staszewski, D. Leipold, C.-M. Hung, and P. T. Balsara, “A first digitally-controlled oscillator in a deep-submicron CMOS process for multi-GHz wireless applications,” in Proc. IEEE Radio Frequency Integrated Circuits (RFIC) Symp., sec. MO4B-2, June 2003, pp. 81–84. [Staszewski 04] B. Staszewski, C.-M. Hung, K. Maggio, J. Wallberg, D. Leipold, and P. Balsara, “All-digital phase-domain TX frequency synthesizer for Bluetooth radios in 0.13-_m CMOS,” in Proc. IEEE Solid-State Circuits Conf., vol. 527, sec. 15.3, Feb. 2004, pp. 272–273. [Staszewski 06] R. B. Staszewski, P. T. Balsara, “All Digital Frequency Synthesizer in Deep Sub-Micron CMOS,” Wiley, 2006. [Tan 95] L. K. Tan and H. Samueli, A 200 MHz quadrature digital synthesizer/mixer in 0.8µm CMOS, IEEE Journal of Solid-State Circuits, vol. 30, no. 3, pp. 193–200, Mar. 1995. References 118 [Tierney 71] J. Tierney, C. M. Radar, and B. Gold, A digital frequency synthesizer, IEEE Transactions on Audio Electroaccoustics, vol. 19, pp. 48–57, Mar. 1971. [Wilson 00] W. B. Wilson, U. K. Moon, K. R. Lakshmikumar, and L. Dai, A CMOS self-calibrating frequency synthesizer, IEEE Journal of Solid-State Circuits, vol. 35, no. 10, pp. 1437–1444, Oct. 2000. [Wolaver 93] D. H. Wolaver, Phase-Locked Loop Circuit Design, Prentice Hall, Englewood Cliffs, NJ, 1993. [Zhang 99] B. Zhang and P. Allen, “Feed-forward compensated high switching speed digital phase-locked loop frequency synthesizer,” in Proc. IEEE Symp. Circuits Syst., vol. 4, 1999, pp. 371–374.