SNAS654A March 2015 – July 2016 LMX2571
PRODUCTION DATA.
Refer to the PDF data sheet for device specific package drawings
The LMX2571 is a frequency synthesizer with low-noise, high-performance integrated VCOs. The 5-GHz VCO cores, together with the output channel dividers, can produce frequencies from 10 MHz to 1344 MHz. The LMX2571 supports two operation modes, synthesizer mode and PLL mode. In synthesizer mode, the entire device is utilized; in PLL mode the internal VCO is bypassed, and an external VCO is required to implement a complete synthesizer.
The reference clock input supports a crystal used for the on-chip oscillator, AC-coupled differential clock signals, and DC-coupled single-ended clock signals such as XO or CMOS clock devices.
The PLL is a fractional-N PLL with programmable Delta Sigma modulator (first order to fourth order). The fractional denominator is of variable length and up to 24-bits long, providing a frequency step with very fine resolution.
The internal VCO can be bypassed, allowing the use of an external VCO. A separate 5-V charge pump is dedicated for the external VCO, eliminating the need for an op-amp to support 5-V VCOs. A new advanced FastLock technique is developed to shorten the lock time to less than 1.5 ms, even there is a very narrow loop bandwidth.
A unique programmable multiplier is incorporated in the R-divider. The multiplier is used to avoid and reduce integer boundary spurs or to increase the phase detector frequency for higher performance.
The LMX2571 supports direct digital FSK modulation, thus allowing a change in the output frequency by changing the N-divider value. The N-divider value can be programmed through MICROWIRE interface or through pins. Discrete 2-, 4- and 8-level FSK, as well as arbitrary-level FSK, are supported. Arbitrary-level FSK can be used to construct pulse-shaping FSK or analog-FM modulation.
The output has an integrated T/R switch, and the divided-down internal or external VCO signal can be output to either the TX port or the RX port. The switch can also be configured as a 1:2 fanout buffer, providing the signal on both outputs at the same time. In addition to port switching, the output frequency can be switched between two pre-defined frequencies, F1 and F2, simultaneously. This feature is ideal for use in FDD duplex system where the TX frequency is different from RX (LO) frequency.
The LMX2571 requires only a single 3.3-V power supply. Digital logic interface is 1.8-V input compatible. The analog blocks power supplies use integrated LDOs, eliminating the need for high performance external LDOs.
Programming of the device is achieved through the MICROWIRE interface. The device can be powered down through a register programming or toggling the Chip Enable (CE) pin.
The OSCin and OSCin* pins are used as frequency reference inputs to the device. The OSCin pin can be driven single-ended with a CMOS clock or a crystal oscillator. The on-chip crystal oscillator can also be used with an external crystal as the reference clock. Differential clock input is also supported, making it easily to interface with high performance system clock devices such as TI’s LMK series clock devices.
Because the OSCin or OSCin* signal is used as a clock for VCO calibration, a proper signal needs to be applied at the OSCin and/or OSCin* pin at the time of programming the R0 register. A higher slew rate tends to yield the best fractional spurs and phase noise, so a square wave signal is best for the OSCin and/or OSCin*pins. If using a sine wave, higher frequencies tend to yield better phase noise and fractional spurs due to their higher slew rates.
The R-divider consists of a Pre-divider, a Multiplier (MULT), and a Post-divider.
Both the Pre- and Post-dividers divide frequency down while the MULT multiplies frequency up. The purpose of adding a multiplier is to avoid and reduce integer boundary spurs or to increase the phase-detector frequency for higher performance. See MULT Multiplier for details. The phase detector frequency, fPD, is therefore equal to
When using the Multiplier (MULT > 1), there are some points to remember:
The phase detector compares the outputs of the Post-divider and N-divider and generates a correction current corresponding to the phase error. This charge pump current is programmable to different strengths.
The total N-divider value is determined by Ninteger + NUM / DEN. The N-divider includes fractional compensation and can achieve any fractional denominator (DEN) from 1 to 16,777,215 (224 – 1). The integer portion, Ninteger, is the whole part of the N-divider value and the fractional portion, Nfrac = NUM / DEN, is the remaining fraction. Ninteger, NUM and DEN are programmable.
The order of the delta sigma modulator is also programmable from integer mode to fourth order. There are several dithering modes that are also programmable. Dithering is used to reduce fractional spurs. In order to make the fractional spurs consistent, the modulator is reset any time that the R0 register is programmed.
The LMX2571 integrates the third and fourth pole of the loop filter. The values for the resistors can be programmed independently through the MICROWIRE interface. The larger the values of the resistors, the stronger the attenuation of the internal loop filter. This partially integrated loop filter can only be used in synthesizer mode.
The LMX2571 includes a fully integrated VCO. The VCO generates a frequency which varies with the tuning voltage from the loop filter. Output of the VCO is fed to a prescaler before going to the N-divider. The prescaler value is selectable between 2 and 4. In general, prescaler equals 2 will result in better phase noise especially when the PLL is operated in fractional-N mode. If the prescaler equals 4, however, the device will consume less current. The VCO frequency is related to the other frequencies and Prescaler as follows:
In order to reduce the VCO tuning gain, thus improving the VCO phase noise performance, the VCO frequency range is divided into several different frequency bands. This creates the need for frequency calibration in order to determine the correct frequency band given a desired output frequency. The VCO is also calibrated for amplitude to optimize phase noise. These calibration routines are activated any time that the R0 register is programmed with the FCAL_EN bit equals one. It is important that a valid OSCin signal must present before VCO calibration begins.
This device will support a full sweep of the valid temperature range of 125°C (–40°C to 85°C) without having to re-calibrate the VCO. This is important for continuous operation of the synthesizer under the most extreme temperature variation.
The LMX2571 supports an external VCO in PLL mode. In PLL mode, the internal VCO and its associated charge pump are powered down, and a 5-V charge pump is switched in to support external VCO. No extra external low noise op-amp is required to support 5-V tuning range VCO. The external VCO output can be obtained directly from the VCO or from the device’s RF output buffer.
The internal VCO RF output divider consists of two sub-dividers; the total division value is equal to the multiplication of them. As a result, the minimum division is 4 while the maximum division is 448.
There is only one output divider when external VCO is being used. This divider supports even and odd division, and its values are programmable between 1 and 10.
The RF output buffer type is selectable between push-pull and open drain. If open drain buffer is selected, external pullup to VccIO is required. Regardless of output type, output power can be programmed to various levels. The RF output buffer can be disabled while still keeping the PLL in lock. See RF Output Buffer Type for details.
The LMX2571 integrates a T/R switch which is controlled by the TrCtl pin. The output from the internal VCO or external VCO divider will be routed to either the RFoutTx or RFoutRx ports, depending on the state of the TrCtl pin. The TrCtl pin not only controls the output port, but may also switch the output frequency simultaneously. For example, if TrCtl = 1, the active port is RFoutTx with an output frequency of F1. When TrCtl changes from 1 to 0, the active port could be RFoutRx with an output frequency of F2. LMX2571 has two sets of register to store the configurations for F1 and F2.
The T/R switch could also be configured as a fanout buffer to output the same signal at both RFoutTx and RFoutRx ports at the same time. All of these features are also programmable, see Programming and Frequency and Output Port Switching with TrCtl Pin for details.
The LMX2571 can be powered up and down using the CE pin or the POWERDOWN bit. All registers are preserved in memory while it is powered down. When the device comes out of the powered down state, either by resuming the POWERDOWN bit to zero or by pulling back CE pin HIGH (if it was powered down by CE pin), it is required that register R0 with FCAL_EN=1 be programmed again to re-calibrate the device.
The MUXout pin of the LMX2571 can be configured to output a signal that indicates when the PLL is being locked. If lock detect is enabled while the MUXout pin is configured as a lock-detect output, when the device is locked the MUXout pin output is a logic HIGH voltage. When the device is unlocked, MUXout output is a logic LOW voltage.
Direct digital FSK modulation is supported in LMX2571. FSK modulation is achieved by changing the output frequency by changing the N-divider value. The LMX2571 supports four different types of FSK operation.
See Direct Digital FSK Modulation for FSK operation details.
The LMX2571 includes a FastLock feature that can be used to improve the lock times in PLL mode when the loop bandwidth is small. In general, the lock time is approximately equal to 4 divided by the loop bandwidth. If the loop bandwidth is 1 kHz, then the lock time would be 4 ms. However, if the fPD is much higher than the loop bandwidth, cycle slipping may occur, and the actual lock time will be much longer. Traditional fastlock usually reduces lock time by increasing loop bandwidth during frequency switching. However, there is a limitation on the achievable maximum loop bandwidth due to limitation on charge-pump current and loop filter component values. In some cases, this kind of fastlock technique will make cycle slip even worse.
The LMX2571 adopts a new FastLock approach that eliminates the cycle slip problem. With an external analog SPST switch in conjunction with LMX2571’s FastLock control, the lock time for a 100-MHz frequency switch could be settled in less than 1.5 ms. See FastLock with External VCO for details.
The LMX2571 allows any of its registers to be read back. The MUXout pin can be programmed to support either lock-detect output or register-readback serial-data output. To read back a certain register value, follow the following steps:
The device can be operated in synthesizer mode or PLL mode.
LMX2571 supports fast frequency switching between two pre-defined register sets, F1 and F2. This feature is good for duplex operation. The device supports three duplex modes:
LMX2571 supports four direct digital FSK modulation modes.
The LMX2571 is programmed using several 24-bit registers. A 24-bit shift register is used as a temporary register to indirectly program the on-chip registers. The shift register consists of a data field, an address field, and a R/W bit. The MSB is the R/W bit. 0 means register write while 1 means register read. The following 7 bits, ADDR[6:0], form the address field which is used to decode the internal register address. The remaining 16 bits form the data field DATA[15:0]. While LE is low, serial data is clocked into the shift register upon the rising edge of clock. Serial data is shifted MSB first into the shift register when programming. When LE goes high, data is transferred from the data field into the selected active register bank. See Figure 1 for timing diagram details.
When the device is first powered up, it needs to be initialized, and the ordering of this programming is important. The sequence is listed below. After this sequence is completed, the device should be running and locked to the proper frequency.
The recommended sequence for changing frequencies in different scenarios is as follows:
REG. | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | POR |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
R/W | ADDRESS[6:0] | DATA[15:0] | |||||||||||||||||||||||
R60 | R/W | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3C4000h |
R58 | R/W | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3A0C00h |
R53 | R/W | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 352802h |
R47 | R/W | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | DITHERING | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2F0000h | |
R46 | R/W | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | VCO_ SEL_ STRT |
VCO_SEL | 2E001Ah | |
R42 | R/W | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | EXTVCO _CP _POL |
EXTVCO_CP_IDN | 2A0210h | ||||
R41 | R/W | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | EXTVCO_CP_IUP | EXTVCO_CP_GAIN | CP_IDN | 290810h | |||||||||
R40 | R/W | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | CP_IUP | CP_GAIN | 0 | 1 | 1 | 1 | 0 | 0 | 28101Ch | |||||
R39 | R/W | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | SDO_LD_ SEL |
0 | 1 | LD_EN | 2711F0h |
R35 | R/W | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | MULT_WAIT | OUTBUF _AUTO MUTE |
OUTBUF _TX _TYPE |
OUTBUF _RX _TYPE |
230647h | ||||||||||
R34 | R/W | 0 | 1 | 0 | 0 | 0 | 1 | 0 | IPBUF DIFF_ TERM |
IPBUF_ SE_DIFF _SEL |
XTAL_PWRCTRL | XTAL_EN | 0 | FSK_I2S_ FS_POL |
FSK_I2S_ CLK_POL |
FSK_LEVEL | FSK_DEV_SEL | FSK_ MODE_ SEL0 |
FSK_ MODE_ SEL1 |
221000h | |||||
R33 | R/W | 0 | 1 | 0 | 0 | 0 | 0 | 1 | FSK_DEV_SPI_FAST | 210000h | |||||||||||||||
R32 | R/W | 0 | 1 | 0 | 0 | 0 | 0 | 0 | FSK_DEV7_F2 | 200000h | |||||||||||||||
R31 | R/W | 0 | 0 | 1 | 1 | 1 | 1 | 1 | FSK_DEV6_F2 | 1F0000h | |||||||||||||||
R30 | R/W | 0 | 0 | 1 | 1 | 1 | 1 | 0 | FSK_DEV5_F2 | 1E0000h | |||||||||||||||
R29 | R/W | 0 | 0 | 1 | 1 | 1 | 0 | 1 | FSK_DEV4_F2 | 1D0000h | |||||||||||||||
R28 | R/W | 0 | 0 | 1 | 1 | 1 | 0 | 0 | FSK_DEV3_F2 | 1C0000h | |||||||||||||||
R27 | R/W | 0 | 0 | 1 | 1 | 0 | 1 | 1 | FSK_DEV2_F2 | 1B0000h | |||||||||||||||
R26 | R/W | 0 | 0 | 1 | 1 | 0 | 1 | 0 | FSK_DEV1_F2 | 1A0000h | |||||||||||||||
R25 | R/W | 0 | 0 | 1 | 1 | 0 | 0 | 1 | FSK_DEV0_F2 | 190000h | |||||||||||||||
R24 | R/W | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | FSK_EN_ F2 |
EXTVCO_CHDIV_F2 | EXTVCO _SEL _F2 |
OUTBUF_TX_PWR_F2 | 180010h | |||||||
R23 | R/W | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | OUTBUF_RX_PWR_F2 | OUTBUF _TX_EN _F2 |
OUTBUF _RX_EN _F2 |
0 | 0 | 0 | LF_R4_F2 | 1710A4h | ||||||
R22 | R/W | 0 | 0 | 1 | 0 | 1 | 1 | 0 | LF_R3_F2 | CHDIV2_F2 | CHDIV1_F2 | PFD_DELAY_F2 | MULT_F2 | 168584h | |||||||||||
R21 | R/W | 0 | 0 | 1 | 0 | 1 | 0 | 1 | PLL_R_F2 | PLL_R_PRE_F2 | 150101h | ||||||||||||||
R20 | R/W | 0 | 0 | 1 | 0 | 1 | 0 | 0 | PLL_N_ PRE_F2 |
FRAC_ORDER_F2 | PLL_N_F2 | 140028h | |||||||||||||
R19 | R/W | 0 | 0 | 1 | 0 | 0 | 1 | 1 | PLL_DEN_F2[15:0] | 130000h | |||||||||||||||
R18 | R/W | 0 | 0 | 1 | 0 | 0 | 1 | 0 | PLL_NUM_F2[15:0] | 120000h | |||||||||||||||
R17 | R/W | 0 | 0 | 1 | 0 | 0 | 0 | 1 | PLL_DEN_F2[23:16] | PLL_NUM_F2[23:16] | 110000h | ||||||||||||||
R16 | R/W | 0 | 0 | 1 | 0 | 0 | 0 | 0 | FSK_DEV7_F1 | 100000h | |||||||||||||||
R15 | R/W | 0 | 0 | 0 | 1 | 1 | 1 | 1 | FSK_DEV6_F1 | F0000h | |||||||||||||||
R14 | R/W | 0 | 0 | 0 | 1 | 1 | 1 | 0 | FSK_DEV5_F1 | E0000h | |||||||||||||||
R13 | R/W | 0 | 0 | 0 | 1 | 1 | 0 | 1 | FSK_DEV4_F1 | D0000h | |||||||||||||||
R12 | R/W | 0 | 0 | 0 | 1 | 1 | 0 | 0 | FSK_DEV3_F1 | C0000h | |||||||||||||||
R11 | R/W | 0 | 0 | 0 | 1 | 0 | 1 | 1 | FSK_DEV2_F1 | B0000h | |||||||||||||||
R10 | R/W | 0 | 0 | 0 | 1 | 0 | 1 | 0 | FSK_DEV1_F1 | A0000h | |||||||||||||||
R9 | R/W | 0 | 0 | 0 | 1 | 0 | 0 | 1 | FSK_DEV0_F1 | 90000h | |||||||||||||||
R8 | R/W | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | FSK_EN_ F1 |
EXTVCO_CHDIV_F1 | EXTVCO _SEL _F1 |
OUTBUF_TX_PWR_F1 | 80010h | |||||||
R7 | R/W | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | OUTBUF_RX_PWR_F1 | OUTBUF _TX_EN _F1 |
OUTBUF _RX_EN _F1 |
0 | 0 | 0 | LF_R4_F1 | 710A4h | ||||||
R6 | R/W | 0 | 0 | 0 | 0 | 1 | 1 | 0 | LF_R3_F1 | CHDIV2_F1 | CHDIV1_F1 | PFD_DELAY_F1 | MULT_F1 | 68584h | |||||||||||
R5 | R/W | 0 | 0 | 0 | 0 | 1 | 0 | 1 | PLL_R_F1 | PLL_R_PRE_F1 | 50101h | ||||||||||||||
R4 | R/W | 0 | 0 | 0 | 0 | 1 | 0 | 0 | PLL_N_ PRE_F1 |
FRAC_ORDER_F1 | PLL_N_F1 | 40028h | |||||||||||||
R3 | R/W | 0 | 0 | 0 | 0 | 0 | 1 | 1 | PLL_DEN_F1[15:0] | 30000h | |||||||||||||||
R2 | R/W | 0 | 0 | 0 | 0 | 0 | 1 | 0 | PLL_NUM_F1[15:0] | 20000h | |||||||||||||||
R1 | R/W | 0 | 0 | 0 | 0 | 0 | 0 | 1 | PLL_DEN_F1[23:16] | PLL_NUM_F1[23:16] | 10000h | ||||||||||||||
R0 | R/W | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | RESET | POWER DOWN |
RXTX_ CTRL |
RXTX_ POL |
F1F2_ INIT |
F1F2_ CTRL |
F1F2_ MODE |
F1F2_ SEL |
0 | 0 | 0 | 0 | 1 | FCAL_EN | 3h |
The POR value is the power-on reset value that is assigned when the device is powered up or the RESET bit is asserted. POR is not a default working mode, all registers are required to program properly in order to make the device works as desired.
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
R/W-4000h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
15-0 | R/W | 4000h |
Program A000h to this field. |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
R/W-C00h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
15-0 | R/W | C00h |
Program 8C00h to this field. |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
R/W-2802h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
15-0 | R/W | 2802h |
Program 7806h to this field. |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | DITHERING | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
R/W-0h | R/W-0h | R/W-0h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
15 | R/W | 0h |
Program 0h to this field. |
|
14-13 | DITHERING | R/W | 0h |
Set the level of dithering. This feature is used to mitigate spurs level in certain use case by increasing the level of randomness in the Delta Sigma modulator, typically done at the expense of noise at certain offset. |
12-0 | R/W | 0h |
Program 0h to this field. |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | VCO_SEL_STRT | VCO_SEL | |
R/W-1Ah |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
15-3 | R/W | 3h |
Program 3h to this field. |
|
2 | VCO_SEL_STRT | R/W | 0h | Enables VCO calibration to start with the VCO core being selected in VCO_SEL. Please note that programming to this register is optional. That is, you do not need to program this register, the default POR value of this register will ensure that the right VCO core will be picked up automatically. 0 = Disabled 1 = Enabled |
1-0 | VCO_SEL | R/W | 2h | Set the VCO core to start calibration with. Please note that programming to this register is optional. That is, you do not need to program this register, the default POR value of this register will ensure that the right VCO core will be picked up automatically. 0 = VCOL 1 = VCOM 2 = VCOH |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | EXTVCO_CP_POL | EXTVCO_CP_IDN | ||||
R/W-8h | R/W-0h | R/W-10h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
15-6 | R/W | 8h |
Program 8h to this field. |
|
5 | EXTVCO_CP_POL | R/W | 0h |
Sets the phase detector polarity for external VCO in PLL mode operation. Positive means VCO frequency increases directly proportional to Vtune voltage. |
4-0 | EXTVCO_CP_IDN | R/W | 10h |
Set the base charge pump current for external VCO in PLL mode operation. The total base charge pump current is equal to EXTVCO_CP_IDN + EXTVCO_CP_IUP. EXTVCO_CP_IDN must be equal to EXTVCO_CP_IUP. Only even number values are supported. |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 0 | 0 | 0 | EXTVCO_CP_IUP | EXTVCO_CP_GAIN | CP_IDN | |||||||||
R/W-0h | R/W-10h | R/W-0h | R/W-10h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
15-12 | R/W | 0h |
Program 0h to this field. |
|
11-7 | EXTVCO_CP_IUP | R/W | 10h |
Set the base charge pump current for external VCO in PLL mode operation. The total base charge pump current is equal to EXTVCO_CP_IDN + EXTVCO_CP_IUP. EXTVCO_CP_IDN must be equal to EXTVCO_CP_IUP. Only even number values are supported. |
6-5 | EXTVCO_CP_GAIN | R/W | 0h |
Set the multiplication factor to the base charge pump current for external VCO in PLL mode operation. For example, if the gain here is 2x and if the total base charge pump current (EXTVCO_CP_IDN + EXTVCO_CP_IUP) is 2.5 mA, then the final charge pump current applied to the loop filter is 5 mA. The gain values are not precise. They are provided as a quick way to boost the total charge pump current for debug purposes or specific applications. |
4-0 | CP_IDN | R/W | 10h |
Set the base charge pump current for internal VCO in synthesizer mode operation. The total base charge pump current is equal to CP_IDN + CP_IUP. CP_IDN must be equal to CP_IUP. |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 0 | 0 | CP_IUP | CP_GAIN | 0 | 1 | 1 | 1 | 0 | 0 | |||||
R/W-0h | R/W-10h | R/W-0h | R/W-1Ch |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
15-13 | R/W | 0h |
Program 0h to this field. |
|
12-8 | CP_IUP | R/W | 10h |
Set the base charge pump current for internal VCO in synthesizer mode operation. The total base charge pump current is equal to CP_IDN + CP_IUP. CP_IDN must be equal to CP_IUP. |
7-6 | CP_GAIN | R/W | 0h |
Set the multiplication factor to the base charge pump current for internal VCO in synthesizer mode operation. For example, if the gain here is 2x and if the total base charge pump current (CP_IDN + CP_IUP) is 2.5 mA, then the final charge pump current applied to the loop filter is 5 mA. The gain values are not precise. They are provided as a quick way to boost the total charge pump current for debug purposes or specific applications. |
5-0 | R/W | 1Ch |
Program 1Ch to this field. |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | SDO_LD_SEL | 0 | 1 | LD_EN |
R/W-11Fh | R/W-0h | R/W-0h | R/W-0h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
15-4 | R/W | 11Fh |
Program 11Fh to this field. |
|
3 | SDO_LD_SEL | R/W | 0h |
Defines the MUXout pin function. |
2-1 | R/W | 0h |
Program 1h to this field. |
|
0 | LD_EN | R/W | 0h |
Enables lock detect function. |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 0 | MULT_WAIT | OUTBUF_AUTOMUTE | OUTBUF_TX_TYPE | OUTBUF_RX_TYPE | ||||||||||
R/W-0h | R/W-C8h | R/W-1h | R/W-1h | R/W-1h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
15-14 | R/W | 0h |
Program 0h to this field. |
|
13-3 | MULT_WAIT | R/W | C8h |
A 20-µs settling time is required for MULT, if it is enabled. These bits set the correct settling time according to the OSCin frequency. For example, if OSCin frequency is 100 MHz, set these bits to 2000. No matter if MULT is enabled or not, the configured MULT settling time forms part of the total frequency switching time. |
2 | OUTBUF_AUTOMUTE | R/W | 1h |
If this bit is set, the output buffers will be muted until PLL is locked. This bit applies to the following events: (a) device initialization (b) manually change VCO frequency, and (c) F1F2 switching. However, if the PLL is unlocked afterward (for example, OSCin is removed), the output buffers will not be muted and will remain active. |
1 | OUTBUF_TX_TYPE | R/W | 1h |
Sets the output buffer type of RFoutTx. If the buffer is open drain output, a pullup to VccIO is required. See RF Output Buffer Type for details. |
0 | OUTBUF_RX_TYPE | R/W | 1h |
Sets the output buffer type of RFoutRx. If the buffer is open drain output, a pullup to VccIO is required. See RF Output Buffer Type for details. |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
IPBUFDIFF_TERM | IPBUF_SE_DIFF_SEL | XTAL_PWRCTRL | XTAL_EN | 0 | FSK_I2S_FS_POL | FSK_I2S_CLK_POL | FSK_LEVEL | FSK_DEV_SEL | FSK_MODE_SEL0 | FSK_MODE_SEL1 | |||||
R/W-0h | R/W-0h | R/W-2h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
15 | IPBUFDIFF_TERM | R/W | 0h |
Enables independent 50 Ω input termination on both OSCin and OSCin* pins. This function is valid even if OSCin input is configured as single-ended input. |
14 | IPBUF_SE_DIFF_SEL | R/W | 0h |
Selects between single-ended and differential OSCin input. |
13-11 | XTAL_PWRCTRL | R/W | 2h |
Set the value of the series resistor being used to limit the power dissipation through the crystal when crystal is being used as OSCin input. See OSCin Configuration for details. |
10 | XTAL_EN | R/W | 0h |
Enables the crystal oscillator buffer for use as OSCin input. This bit will overwrite IPBUF_SE_DIFF_SEL. |
9 | R/W | 0h |
Program 0h to this field. |
|
8 | FSK_I2S_FS_POL | R/W | 0h |
Sets the polarity of the I2S Frame Sync input in FSK I2S mode. |
7 | FSK_I2S_CLK_POL | R/W | 0h |
Sets the polarity of the I2S CLK input in FSK I2S mode. |
6-5 | FSK_LEVEL | R/W | 0h |
Define the desired FSK level in FSK PIN mode and FSK SPI mode. When this bit is zero, FSK operation in these modes is disabled even if FSK_EN_Fx = 1. |
4-2 | FSK_DEV_SEL | R/W | 0h |
In FSK SPI mode, these bits select one of the FSK deviations as defined in registers R25-32 or R9-16. |
1 | FSK_MODE_SEL0 | R/W | 0h |
FSK_MODE_SEL0 and FSK_MODE_SEL1 define the FSK operation mode. FSK_MODE_SEL[1:0] = |
0 | FSK_MODE_SEL1 | R/W | 0h |
Same as above. |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
FSK_DEV_SPI_FAST | |||||||||||||||
R/W-0h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
15-0 | FSK_DEV_SPI_FAST | R/W | 0h |
Define the desired frequency deviation in FSK SPI FAST mode. See Direct Digital FSK Modulation for details. |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
FSK_DEV0_F2 to FSK_DEV7_F2 | |||||||||||||||
R/W-0h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
15-0 | FSK_DEV0_F2 to FSK_DEV7_F2 | R/W | 0h |
Define the desired frequency deviation in FSK PIN mode and FSK SPI mode. See Direct Digital FSK Modulation for details. |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 0 | 0 | 0 | 0 | FSK_EN_F2 | EXTVCO_CHDIV_F2 | EXTVCO_SEL_F2 | OUTBUF_TX_PWR_F2 | |||||||
R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-10h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
15-11 | R/W | 0h |
Program 0h to this field. |
|
10 | FSK_EN_F2 | R/W | 0h |
Enables FSK operation in all FSK operation modes. When this bit is set, fractional denominator DEN should be zero. See Direct Digital FSK Modulation for details. |
9-6 | EXTVCO_CHDIV_F2 | R/W | 0h |
Set the value of the output channel divider, CHDIV3, when using external VCO in PLL mode. |
5 | EXTVCO_SEL_F2 | R/W | 0h |
Selects synthesizer mode (internal VCO) or PLL mode (external VCO) operation. |
4-0 | OUTBUF_TX_PWR_F2 | R/W | 10h |
Set the output power at RFoutTx port. See RF Output Buffer Power Control for details. |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 0 | 0 | OUTBUF_RX_PWR_F2 | OUTBUF_TX_EN_F2 | OUTBUF_RX_EN_F2 | 0 | 0 | 0 | LF_R4_F2 | ||||||
R/W-0h | R/W-10h | R/W-1h | R/W-0h | R/W-4h | R/W-4h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
15-13 | R/W | 0h |
Program 0h to this field. |
|
12-8 | OUTBUF_RX_PWR_F2 | R/W | 10h |
Set the output power at RFoutRx port. See RF Output Buffer Power Control for details. |
7 | OUTBUF_TX_EN_F2 | R/W | 1h |
Enables RFoutTx port. |
6 | OUTBUF_RX_EN_F2 | R/W | 0h |
Enables RFoutRx port. |
5-3 | R/W | 4h |
Program 0h to this field. |
|
2-0 | LF_R4_F2 | R/W | 4h |
Set the resistor value for the 4th pole of the internal loop filter. The shunt capacitor of that pole is 100 pF. |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
LF_R3_F2 | CHDIV2_F2 | CHDIV1_F2 | PFD_DELAY_F2 | MULT_F2 | |||||||||||
R/W-4h | R/W-1h | R/W-1h | R/W-4h | R/W-4h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
15-13 | LF_R3_F2 | R/W | 4h |
Set the resistor value for the 3rd pole of the internal loop filter. The shunt capacitor of that pole is 50 pF. |
12-10 | CHDIV2_F2 | R/W | 1h |
Set the value of the output channel divider, CHDIV2, when using internal VCO in synthesizer mode. |
9-8 | CHDIV1_F2 | R/W | 1h |
Set the value of the output channel divider, CHDIV1, when using internal VCO in synthesizer mode. |
7-5 | PFD_DELAY_F2 | R/W | 4h |
Used to optimize spurs and phase noise. Suggested values are: |
4-0 | MULT_F2 | R/W | 4h |
Set the MULT multiplier value. MULT value must be greater than Pre-divider value. MULT is not supported when crystal is being used as the reference clock input. See MULT Multiplier for details. |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PLL_R_F2 | PLL_R_PRE_F2 | ||||||||||||||
R/W-1h | R/W-1h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
15-8 | PLL_R_F2 | R/W | 1h |
Set the OSCin buffer Post-divider value. |
7-0 | PLL_R_PRE_F2 | R/W | 1h |
Set the OSCin buffer Pre-divider value. This value must be smaller than MULT value. |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PLL_N_PRE_F2 | FRAC_ORDER_F2 | PLL_N_F2 | |||||||||||||
R/W-0h | R/W-0h | R/W-28h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
15 | PLL_N_PRE_F2 | R/W | 0h |
Sets the Prescaler value. |
14-12 | FRAC_ORDER_F2 | R/W | 0h |
Select the order of the Delta Sigma modulator. |
11-0 | PLL_N_F2 | R/W | 28h |
Set the integer portion of the N-divider value. Maximum value is 1023. |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PLL_DEN_F2[15:0] | |||||||||||||||
R/W-0h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
15-0 | PLL_DEN_F2[15:0] | R/W | 0h |
Set the LSB bits of the fractional denominator of the N-divider. |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PLL_NUM_F2[15:0] | |||||||||||||||
R/W-0h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
15-0 | PLL_NUM_F2[15:0] | R/W | 0h |
Set the LSB bits of the fractional numerator of the N-divider. |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PLL_DEN_F2[23:16] | PLL_NUM_F2[23:16] | ||||||||||||||
R/W-0h | R/W-0h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
15-8 | PLL_DEN_F2[23:16] | R/W | 0h |
Set the MSB bits of the fractional denominator of the N-divider. |
7-0 | PLL_NUM_F2[23:16] | R/W | 0h |
Set the MSB bits of the fractional numerator of the N-divider. |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
FSK_DEV0_F1 to FSK_DEV7_F1 | |||||||||||||||
R/W-0h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
15-0 | FSK_DEV0_F1 to FSK_DEV7_F1 | R/W | 0h |
See Table 13. |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 0 | 0 | 0 | 0 | FSK_EN_F1 | EXTVCO_CHDIV_F1 | EXTVCO_SEL_F1 | OUTBUF_TX_PWR_F1 | |||||||
R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-10h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 0 | 0 | OUTBUF_RX_PWR_F1 | OUTBUF_TX_EN_F1 | OUTBUF_RX_EN_F1 | 0 | 0 | 0 | LF_R4_F1 | ||||||
R/W-0h | R/W-10h | R/W-1h | R/W-0h | R/W-4h | R/W-4h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
15-13 | R/W | 0h |
Program 0h to this field. |
|
12-8 | OUTBUF_RX_PWR_F1 | R/W | 10h |
See Table 15. |
7 | OUTBUF_TX_EN_F1 | R/W | 1h |
See Table 15. |
6 | OUTBUF_RX_EN_F1 | R/W | 0h |
See Table 15. |
5-3 | R/W | 4h |
Program 0h to this field. |
|
2-0 | LF_R4_F1 | R/W | 4h |
See Table 15. |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
LF_R3_F1 | CHDIV2_F1 | CHDIV1_F1 | PFD_DELAY_F1 | MULT_F1 | |||||||||||
R/W-4h | R/W-1h | R/W-1h | R/W-4h | R/W-4h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PLL_R_F1 | PLL_R_PRE_F1 | ||||||||||||||
R/W-1h | R/W-1h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PLL_N_PRE_F1 | FRAC_ORDER_F1 | PLL_N_F1 | |||||||||||||
R/W-0h | R/W-0h | R/W-28h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PLL_DEN_F1[15:0] | |||||||||||||||
R/W-0h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
15-0 | PLL_DEN_F1[15:0] | R/W | 0h |
See Table 19. |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PLL_NUM_F1[15:0] | |||||||||||||||
R/W-0h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
15-0 | PLL_NUM_F1[15:0] | R/W | 0h |
See Table 20. |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
PLL_DEN_F1[23:16] | PLL_NUM_F1[23:16] | ||||||||||||||
R/W-0h | R/W-0h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 0 | RESET | POWERDOWN | RXTX_CTRL | RXTX_POL | F1F2_INIT | F1F2_CTRL | F1F2_MODE | F1F2_SEL | 0 | 0 | 0 | 0 | 1 | FCAL_EN |
R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | R/W-1h | R/W-1h |
LEGEND: R/W = Read/Write; R = Read only; -n = value after reset |
Bit | Field | Type | Reset | Description |
---|---|---|---|---|
15-14 | R/W | 0h |
Program 0h to this field. |
|
13 | RESET | R/W | 0h |
Resets all the registers to the default values. This bit is self-clearing. |
12 | POWERDOWN | R/W | 0h |
Powers down the device. When the device comes out of the powered down state, either by resuming this bit to zero or by pulling back CE pin HIGH (if it was powered down by CE pin), it is required that register R0 with FCAL_EN = 1 be programmed again to re-calibrate the device. A 100-µs wait-time is recommended before programming R0. |
11 | RXTX_CTRL | R/W | 0h |
Sets the control mode of TX/RX switching. |
10 | RXTX_POL | R/W | 0h |
Defines the polarity of the TrCtl pin. |
9 | F1F2_INIT | R/W | 0h |
Toggling this bit re-calibrates F1F2 if F1, F2 are modified after calibration. This bit is not self-clear, so it is required to clear the bit value after use. See Register R0 F1F2_INIT, F1F2_MODE usage for details. |
8 | F1F2_CTRL | R/W | 0h |
Sets the control mode of F1/F2 switching. Switching by TrCtl pin requires F1F2_MODE = 1. |
7 | F1F2_MODE | R/W | 0h |
Calibrates F1 and F2 during device initialization (initial power on programming). It also enables F1-F2 switching with the TrCtl pin. Even if this bit is not set, F1-F2 switching is still possible but the first switching time will not be optimized because either F1 or F2 will only be calibrated. If F1-F2 switching is not required, set this bit to zero. See Register R0 F1F2_INIT, F1F2_MODE usage for details. |
6 | F1F2_SEL | R/W | 0h |
Selects F1 or F2 configuration registers. |
5-1 | R/W | 1h |
Program 1h to this field. |
|
0 | FCAL_EN | R/W | 1h |
Activates all kinds of calibrations, suggest keep it enabled all the time. If it is desired that the R0 register be programmed without activating this calibration, then this bit can be set to zero. |