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.

LMX2541 Evaluation board won't lock

Other Parts Discussed in Thread: LMX2541

I'm using an LMX25412380 EBI board to generate a 2.41176 GHz ADC sampling clock based on the 500 MHz reference in our synchrotron light source storage ring.  I've modified the board to accept an external clock signal rather than using the on-board 100 MHz oscillator.  The LOCK indicator LED never lights and the output is stuck at 2.436 GHz (+5 dBm) even when the 500 MHz (0 dBm) reference is moved up and down a MHz or so.

Here's how I've configured the LMX2541.  The design tool seems happy with these numbers.

Suggestions welcomed.

/*
 * Configure PLL
 * Fout = Fin * (PLL_N + PLL_NUM/PLL_DEN) / PLL_R / VCO_DIV = Fin * NUM / DEN
 *
 * Choose PLL_R=5 (Fpd = 500 MHz / 5 = 100 MHz)
 *  * Use NUM=82, DEN=17 (Fout=2.41176 GHz, Fsamp=1.20588 GHz, Tsamp=829.26829 ps)
 * 13448 samples per revolution (41 samples per bucket * 328 buckets)
 * Equivalent Fsamp=20.5 GHz
 *
 * Yields PLL_N=24  PLL_NUM=2  PLL_DEN=17  PLL_R=5  VCO_DIV=1
 */
void
pllConfig(void)
{
      /* R7 -- Reset PL */
      pllConfigWrite(0x00000017);
      /* R13 -- VCO_DIV_OPT=0 (Since RFout Pin disabled) */
    pllConfigWrite(0x0000008D);
    /* R12, R9  -- As described in data sheet */
    pllConfigWrite(0x0000001C);
    pllConfigWrite(0x28001409);
    /* R8 -- AC_TEMP_COMP=24 -- optimum for fixed-frequency application */
    pllConfigWrite(0x0111CF88);
     /*R6 -- DIVGAIN, VCOGAIN, OUTTERM=12 (default), RFOUT=2 (Enabled) */
    pllConfigWrite(0x001F3326);
    /* R5 -- All values=0 (no fast lock) */
    pllConfigWrite(0xA0000005);
    /* R4 -- C4_LF=4 (40 pF), C3_LF=4 (10 pF), R4_LF=0 (200 ohms),
     *       R3_LF=0 (200 ohms), VCO_DIV=1, OSC_FREQ=255 (since Fin > 255 MHz)
     * With these values and the existing 2.2nF C1, 470 ohm R2 and 22 nF C2
     * on the board the design tool reports a phase margin of 39.3 degrees
     * and jitter at the RF output of 148 fs RMS.*/
    pllConfigWrite(0x44001FF4);
    /* R3 -- FSK=0, DLOCK=0, CPT=0, DITH=3 (disabled), ORDER=3, FDM=1,
     *       OSC2x=0, CPP=0, MUX=3 (Digital lock detect),
     *       CPG=31 (3.2 mA, gives lower jitter), XO=0,
     *       POWERDOWN=0, MODE=0
     */
     pllConfigWrite(0x01B87F03);
    /*  R2 -- PLL_DEN=17 */
    pllConfigWrite(0x04000112);
    /* R1 -- PLL_NUM=2:[21:16]=0, PLL_N:24[17:12]=0, PLL_R=5 */
    pllConfigWrite(0x00000051);
    /* R0 -- PLL_NUM=2, PLL_N=24 */   
     pllConfigWrite(0x00020180);
}

  • Sorry for the delayed response, but I was unaware of this forum. 

     

    The VCO divides the range into 128 different bands.  SO if you load the part (R0 Register), then a calibration is run.  But if you sweep OSCin, you are stuck in a specific band.

     

    I don't see anything suspicious with your programming.  One thing is that for the LE pulse on your programming, you can't hold this high too long or it will interfere with the VCO digital calibraiton.  We mention this in the electrical specifications and give a time around 1 us.  Perhaps this is the issue.