This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Tool/software:
Hi,
I need to implement a reliable and fast-hopping wideband synthesizer using LMX2820. I just want to confirm that the following two posts cover all known LMX2820 issues, particularly in relation to instant calibration.
This patch is reported to be necessary to support particular transitions from one VCO bank to another:
Related to this someone has reported that instant calibration can fail when the doubler is enabled:
My basic questions are:
Thanks,
Christer
Hi Christer,
Yes, the above links cover all the known issue with Instant Cal.
Instant Cal requires a one-time calibration. As long as the calibration (with or without doubler calibration) is succeed, the calibration is completed and no more calibration will be executed when we use Instant Cal to change frequency.
If your application requires VCO doubler frequencies, you should enable doubler calibration (INSTCAL_DBLR_EN = 1) in the one-time calibration so that this calibration will capture doubler database as well.
Okay, so that means I should also touch R78 (0x4E) to enable/disable the doubler when jumping across ~11GHz, but how is this done in practice?
The datasheet says the following registers are double buffered: PLL_N, PLL_NUM, PLL_DEN, MULT, PLL_R, PLL_R_PRE, MASH_ORDER, and PFD_DLY.
So I guess the R78 (0x4E) register is not double buffered? So at what point do I toggle the OUTA_MUX VCO doubler flag in that register? It needs to be done before writing to R0. Does a change to the doubler state only take affect after writing to R0? I want to avoid any output glitches when touching the doubler state and I'd like to be able to output the current frequency until R0 is written to.
Is the below fine or should the R78 write be placed later in the sequence?
Thanks!
Hi Christer,
OUT_MUX is double buffered by DBLBUF_OUTMUX_EN = 1.
InstaCal requires double buffer for all the necessary register change. The change will only effective after R0 is programmed.
Your sequence is correct, everything should be put before R0.