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.

LMX2572: Fully assisted programming mode

Part Number: LMX2572
Other Parts Discussed in Thread: LMX2571

Hello

We are trying to use the full assist programming mode on the LMX2572 PLL chip. We have built up the look up table of the values of VCO_SEL, VCO_CAPCTRL and VCO_DACISET over the VCO range 3.2 to 6.2 GHz. 

Then, we program REG20, REG19 and REG16 with values from the look up table. We then program registers 75, 45, 44, 43, 42, 37, 36, 34, and 14.

When testing the prototype we are finding that we need to complete the programming sequence by writing to Register 0. If we do not write to Reg 0, the chip does not program. Is this what is expected?

The other issue is that we are finding odd frequencies which do not achieve lock. Even some frequency values that fall precisely on a look up table value do not achieve lock.

Any comments regarding what the programming sequence should be or any tips in getting the fully assisted mode to work will be welcomed. 

  • Hi Nils,

    Did you set the following bits to =1 ?

    R8, VCO_CAPCTRL_FORCE

    R8, VCO_DACISET_FORCE

    R20, VCO_SEL_FORCE

    You also need to make R0, FCAL_EN=0, otherwise the VCO will calibrate.

    If you have enabled the doubler buffering bits, you also need to program R0 (FCAL_EN=0) to make the buffered bits effective.

  • Hi Noel

    Thank you for your reply.

    Yes, we are first setting registers R8 and R20 so that the FORCE bits are 1.

    Now, with register R0, if we set FCAL_EN=0 then we do not get lock at any point. If we leave it set to 1, then we do get lock at most points and see a much faster lock up times too. The other thing is that we also noticed that setting FCAL_EN=0 is illegal according to the data sheet - but maybe the datasheet needs updating.

    So we are still unsure what the correct sequence should be. It would be good to know for sure what the settings for register R0 are meant to be and if a write to it is supposed to be needed to achieve lock when using the fully assisted VCO calibration as we are seeing. 

  • Oh the other thing is that yes, we have double buffering enabled which may explain why we are having to write to register R0 to get the chip to program and lock. But certainly we only see it working with FCAL_EN=1. Setting FCAL_EN=0 breaks things.

  • Hi Nazoa,

    Here is an example programming sequence FYI.

    A. Look up table

    1. Auto-calibrate (FCAL_EN=1) LMX2571 for the desired frequency

    2. readback the three VCO parameter values

    3. Repeat step 1 to 2 for all the frequencies you need

    B. Full assist application

    1. Vcc power up

    2. Program all the registers with

        a. FCAL_EN=0

        b. all the VCO FORCE bits  =1

        c. use look-up table for the VCO parameters

    3. It should lock now

    4. To change frequency

        a. program all the necessary frequency related registers (such as PLL_N, PLL_NUM)

        b. use look-up table for the VCO parameters

        c. if you have the double buffering enabled, program R0, otherwise this step is not needed

    The FCAL_EN=1 restriction applies if you need auto-calibration, in this case, don't toggle FCAL_EN back and forth. After setting FCAL_EN=0, we cannot do auto-calibration again by setting this bit back to =1.