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: VCO core 2 or 3 for 9744 MHz?

Part Number: LMX2594


In my application I am using full-assist for tuning to a set of frequencies and upon power up, the software will use no-assist tuning to determine and save the VCO SEL, CAPCTRL and DACISET values for each frequency.

In the data sheet, table 6 shows the min and max frequencies for each VCO core.

When I am setting the synthesizer to 1624 MHz (seg1_en = 1, ch div =2, VCO fundamental 9744 MHz), I read back register 110 to see which VCO core the calibration algorithm selected.

It selected VCO core 3.

According to table 6, the minimum frequency for VCO core 3 is 9800 MHz. So shouldn't the calibration select VCO core 2 instead?

What is the band frequency overlap between VCO cores?

Furthermore, when VCO core 3 is selected, the CAP CTRL value (readback R111) is 176 which is outside the Cmin, Cmax range for VCO core 3.

I also tried using partial assist to force the synthesizer to user VCO core 2, which works fine, but then the DACISET value is outside the min, max range for VCO core 2.

  • Hi K,

    There are frequency overlapping at the boundary of two adjacent VCO core. 9744MHz is in the boundary of VCO2 and VCO3. 

    With no-assist calibration, if you have VCO_SEL = 4, no matter which VCO core you are sitting right now, the calibration will start the calibration from VCO4. Since the desired frequency is below VCO4, the calibration algorithm will select the next lower VCO core to calibrate, which is VCO3. As a result, we will have higher chance to get VCO3 selected. You can try, if you have VCO_SEL = 1, then we will have higher chance to get VCO2 selected.

    9744MHz is at the lower boundary of VCO3, as such, we need a higher capcode to tune the VCO to a lower frequency. Table 6 shown capcode = 158 when VCO3 frequency is 9800MHz. It is correct that you've got a bigger capcode because the VCO frequency is lower than 9800MHz.

    Whenever the frequency is at the boundary of VCO core, no-assist may return different VCO core from part to part, this is due to part to part variation. Let no-assist calibration to pick the right VCO SEL, CAPCTRL and DACISET values for you. You don't necessary need to cross check the result with Table 6, which is used to define the initial starting point for a VCO calibration. 

    Details of vco calibration can be found in here: www.ti.com/lit/an/snaa336a/snaa336a.pdf

  • I decided to use partial assist to force the calibration to use VCO2 since 9744 MHz is clearly within the bounds of VCO2 and let the chip pick the CAPCTRL and DACISET values.

    The (Kvco/N) factor for 9744 using VCO2 was similar to the the other frequencies in my application. So I can use the same CPG value to maintain the same loop bandwidth for all.

  • Hi K,

    that is fine, make sure to verify this over temperature and do more sample tests.