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: Muxout pin & Lock Detect in mode VCO Cal + VTUNE

Part Number: LMX2572

Hello,

We like to use the PLL LMX2572. We use the LMX2572EVM and the our custom driver.

We observe a different behaviour of Muxout pin according to the LD_TYPE mode (R59). In mode 0 (VCO), we observe the expected behaviour. However, in mode 1 (VCO+VTUNE), we observe a questionnable behaviour of the MUXOUT pin.

The MUXOUT pin is the yellow signal.

OSCIN = Fpd = 100MHz, RFOutA = 3.3GHz, Full assist mode, LD_TYPE = 1

OSCIN = Fpd = 10MHz, RFOutA = 3.3GHz, Full assist mode, LD_TYPE = 1

In mode Partial assist, we observe the same questionnable behaviour (only if LD_TYPE=1).

Is this behaviour normal ?

We have an additionnal question, in the LMX2572 datasheet, the R0 ADD_HOLD field use for block programming is not detailed in section 7.5.4 p 22, do we need set it for block programming ? It seems to work even if we keep it to 0.

Thanks in advance for your answers.

Best regards,

Malo

  • Hi Malo,

    When LD_TYPE = 0 (VCOcal), after VCO calibration is complete and LD_DLY counter is time out, LD will turn HIGH. If you remove the reference clock, LD will remain HIGH.

    When LD_TYPE = 1, LD will turn HIGH after VCO calibration is complete, LD_DLY counter is time out and Vtune is within a valid range. After lock, if you remove the reference clock, LD will go LOW. 

    To use block programming, we need to set ADD_HOLD = 1. 

    If ADD_HOLD = 0, we nee to send 24-bit of Address+DATA for each register write.

  • Hi Noel,

    Regarding the lock detect.

    The understanding of how the LD work is quite OK for us. However we observe "bounces" of the LD muxout pin depending of the configuration. We observe the MUXOUT in lock detect mode for several frequency jumps without removing the reference clock after a jump.

    Here is an example of what we observe in partial assist mode with:

    • Oscin = Fpfd = 100 MHz
    • Jumping from 3300 MHz to 3310 MHz
    • LD_TYPE = 0 (VCO)

     

    Here, the same configuration but with LD_TYPE = 1 (VCO+VTUNE):

     

    This behaviour is ok for us and coherent with the datasheet.

     Here, the same configuration but jumping respectively from 3300 MHz to 3500 MHz:

    Now, this is what we observe in full assist mode with:

    • Oscin = Fpfd = 100 MHz
    • Jumping 3300 MHz to 3310 MHz
    • LD_TYPE = 1

     

    Here, the same configuration but jumping respectively from 3400 MHz to 6400 MHz and from 6400 MHz to 3400 MHz :

     

    ...

    Our question is about the LD HIGH and LOW alternance between what is look like the lock time.

    Regarding the Block programming.

    We have tested the block programming in case of ADD_HOLD equals to 0. We observed, it does the same operation as described in the datasheet section "7.5.4 Block programming" p22, which is set the beginning address an give just the data bytes in decreasing order.

    For ADD_HOLD = 1, it is not obvious for us how it is working. As we read it in the datasheet, it looks like it allows us to freeze address decrement in block programming and write the same register sending only data bytes. We would like to know how to start and stop block programming with ADD_HOLD=1. It is not describe in the LMX2572 datasheet as expected  in the block programming section. We suppose it works as described in the below example:

    • Change ADD_HOLD = 1 in R0
    • Pull CSB pin LOW
    • Write 0x7Caaaa for R124
    • Write 0xbbbb for R124, followed by 0xcccc for R124, and so on.
    • After the last register write is completed, pull CSB pin HIGH to finish Block Programming.
    • Change ADD_HOLD = 0 in R0

    Are we right on the way it is working with ADD_HOLD equals to 1 ?

  • Hi Malo,

    With LD_TYPE = 1, lock detect will validate Vtune, if Vtune is bouncing between the thresholds, then MUXOUT will also be toggling. Check fout vs time to confirm this.

    For the block programming, I am pretty sure we need ADD_HOLD = 1, I will verify this again tomorrow.

  • Hi Malo,

    I checked block programming, right, it works only when ADD_HOLD = 0, I need to confirm this with the designer, I will get back to you later.