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.

LMX2491: LMX2491 control

Part Number: LMX2491

Hi Sir,

Currently use STM32F401 to setup TI LMX2491, the Frequency is 24.15GHz, we would like to know whether there has any related reference Sample code or how to control it for the specific scheme.

Ja

  • Hi Ja,

    You can go to Ticspro, set things up and make sure that everything works, then go to File -> Export hex register values. You can then get the register configurations.

    Regards,
    Hao

  • May I know how to we create SPI data?
  • I think SPI data means register address and value. All could be from TICS Pro.
    www.ti.com/.../ticspro-sw
    Download it and try, it is a good tool to generate register values.
  • Hi

    We still have issue about how to ensure that the corresponding output of the SPI command is correct. We have done the following action, but still not work.

    1. We created register values by TICS pro and send them via SPI interface. But when we measured the CPout, it showed about 400mV

    2. We use the logic analyzer to measure spi can go out from muc, and the signal is the same as what I sent.

    3. In addition, I also have a test to set the register of 0x02, but still the same, cpout is 400mV

    4. In addition, this is a separate test of Power on code.

    uint8_t Lmx2491_PowerOn(void)
    {
    TransDoneFlag = 0;
    uint16_t j, k;
    uint8_t aTxBufferTemp[] = {0x00, 0x02, 0x01};
    Lmx2491_LE_L(); //Start transfer, pull down LE
    for(k = 0; k < 20000; k++){}
    for(k = 0; k < 20000; k++){}
    for(k = 0; k < 20000; k++){}
    HAL_SPI_Transmit_DMA(&hspi2, (uint8_t*)aTxBufferTemp, (sizeof(aTxBufferTemp)));

    for(j = 0; j < SPI_TIMOUT; j++)
    {
    for(k = 0; k < 20000; k++){}
    if(TransDoneFlag == 1)
    {
    break;
    }
    }

    ResetTxDoneFlag();
    //Error or Finish, pull up LE
    Lmx2491_LE_H();

    if(j >= SPI_TIMOUT)
    {
    return 0;
    }

    return 1;
    }

    5. TICS_Pro_Configer.tcs, please check attached file.

    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/48/TICS_5F00_Pro_5F00_Configer.7z

     

  • Ja,

    I would go in this order:

    1. Get TICSPro software working first
    2. Export registers
    3. Try your own code.

    Now it sounds like the TICSPro is not working. Do you have an EVM? If so, have you connected the required 100 MHz input refernece?

    Regards,
    Dean
  • Hi

    Sorry, we do not have EVM. Please help to suggest alternative way.  Thanks.

  • Ja,

    I looked at your TICSPro file and see nothing that seemed off assuming your input frequency is 26 MHz, you have a passive filter (positive charage pump polarity) and you want 1503.008 MHz output.

    There are a whole host of reasons why the PLL might not lock, including both hardware and software, so it makes sense to try to break this down.

    1. Are you communicating at all with the LMX2491 and the part understanding what you are saying? Try toggling some rudimentary commends that are less hardware dependent like POWERDOWN (R2[1:0]), charge pump polarity CPPOL (R28[5]), or toggle the outptu of a pin (SET TRIG1_MUX=GND and toggle TRIG1_PIN between states 2 and 6)

    2. Is the part powered down? Check the current or DC bias level at Fin (should be about 1.6 V) or DC bias level at OSCin (should be about 1.5v)

    3. Once you are sure that the part is understanding what is being sent, then focus on checking the input refernce and VCO frequency are properly being acknlowledged by the part by looking at the R and N divider outptus on the MUX, MOD, or Trigger pins.

    Regards,
    Dean