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.

LMX2594: change frequency fast with VCO calibration full assistant

Part Number: LMX2594

in order to changing frequency faster, what is the right procedure to use VCO calibration full assist mode?

can you give me an example, say change frequency from 15G to 7.5G with minimum time to lock? what are the registers that has to be programmed for this purpose?

  • I expect lock time is much less but it took 500us. this is a frequency change from 11.5G to 7.5G with VCO calibration full assistant

    can you point out what could be wrong?
  • Fast frequency switching full assist.pdfDear Sheng,

    thank you for your interest in this feature. I think something is wrong with your setting as the first picture shows the CSB line and nothing is happening on the blue line. I am not sure what the second picture blue trace is...

    Please find attached a detailed procedure with results of the full assist feature. Let us know if you have questions. I recommend to implement that example to start with.

    Regards, Simon.

  • Sheng,

    In addition to Simon's response and our phone conversation, we can follow up next week.

    I think the first should be to separate out what is VCO calibration time from what is PLL settling time. Some things to try are:

    1. Change charge pump current to test Loop Dynamics:
    Lower charge pump current should be lower loop bandwidth, and longer lock. Opposite for high charge pump current. In your bottom picture, see what impact it has. If it has no impact, this implies VCO calibration, otherwise it implies PLL loop dynamics.

    2. Deal with Fraction and Reset:
    Consider trying an integer channel to get the fraction out of the equation. I don't think it is, but coudl be. You could also set MASH_RST_N=0 and see what this impacts.

    Regards,
    Dean
  • Hi Dean and Simon
    in my set up, I have an external phase detector(a mixer) that beats LMX2594 output at its final frequency(7500.5MHz, after a frequency change from 11500.5MHz) with a Keysight synthesizer that is set to 7500.5MHz. both LMX2594 and keysight synthesizer are locked to the seame 10MHz reference

    this is a standard way of measuring PLL lock time with a frequency step. in order to verify this setup is doing the job, I have logged time between last CSB rising edge and MUXout lock detector. these 2 agrees well since the lock time is excessively long

    I intended to use 10MHz x2=20MHz as my PFD, fractional mode, VCO calibration full assistant to measure lock time for a frequency jump from 11500.5MHz to 7500.5MHz.

    I noticed register R8, bit 11, if I set this bit =1, I can not lock to the desirable frequency of 7500.5M

    ALSO, with a charge pump current from 15mA to 6mA, lock time increased a little bit but the dominant long lock time is still there

    see do difference between an integer mode and a fractional mode and this lock time looks like random

    Mash_RST_N need to be 1, otherwise it locks to a nearest integer frequency

    VCO_phase_sync=0

    I think at this time, I think the best thing to do is let me duplicate what you can do with this task and we may able to figure out why

    the test would be jump freq from 11500.5M to 7.5005MHz, with PFD 20M, internal x2 on, use full VCO calibration assistant, and measure lock time.

    in all my measurement, I have a loop BW=200kHz
  • in this picture, yellow trace is the CSB bit, pink trace is the MUX out Test point with Mux out is set to lock detect. the blue trace is my lock time measurement output. you can see mine and the pink are fairly close(not to the level that need to worry about for now since there is a bigger dominant lock time factor)

    I write the registers in the following order for target frequency of 7500.5M
    R43:0x2B0000
    R42:0X2A0320
    R39:0X270001
    R38:0X267D00
    R36:0X240177
    R34:0X220000
    R20:0X14CC48
    R19:0X1327B7
    R17:0X11012B
    R16:0X100080
    R8:0X086000
    R0:0X00241C

    All other registers are not changed from its lock state at 11500.5M
  • Sheng,

    I'll follow this up tomorrow with a call.

    The fact that setting R8[11]=1 causes a problem with locking suggests that you are programming in the wrong VCO_CAPCTRL value and perhaps giving the VCO invalid calibration settings.
    Also, it looks like you are programming R0 with FCAL_EN=1. If you do this, it will activate the VCO calibration, EVEN if you have the VCO_CAPCTRL, VCO_DACISET, and VCO_SEL all forced. If the value is forced and you tell the device to calibrate, it will first calibrate and then overwrite the values with the forced values. Also, it seems that many of these registers are not necessary to program to switch channels such as fractional denomninator and also the VCO_DACISET_FORCE and the other force bits.

    Regards,
    Dean
  • Sheng,

    Following up on our phone call, we resolved the issue.
    The issue was that R0 was being programmed with FCAL_EN=1, which was triggering the calibration.

    Regards,
    Dean