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.

LMX2595: Wrong output frequencies in full assist mode.

Part Number: LMX2595

Hello, I have another question. Now I use full assist mode and jump the frequency from 7.6GHz to 7.8GHz. My question is, the frequency jumping failed and below is the output. The power is even below 0dbm.

Here's my progress. 

1. Program RESET = 1 and then program RESET = 0;

2. Program registers as shown in the register map in REVERSE order from highest to lowest.

3. Wait 10ms

4. Program VCO DACISET and VCO CAPCTRL to the values that the first frequency acquired , and program VCO_SEL_FORCE, VCO_DACISET_FORCE, VCO_CAPCTRL_FORCE to 1

5. Program FCAL_EN = 1.

6.

1) Disable CPG.(set CPG to 0)

2) Program N divider from 38 to 39.

3) Program VCO_SEL, VCO DACISET, VCO CAPCTRL that the second frequency acquired.

4) Enable CPG.(set CPG 15mA again) 

7. Program FCAL_EN = 1.

Is there any thing wrong with my flow in full assist mode? Or are there any docs about changing frequency in full assist mode that I can refer to? Thank you!

  • LIU,

    Once again, I suspect the issue is related to the reference rather than the device - perhaps some kind of FSK.

    Here's some other suggestions to debug if there's nothing wrong with the reference:

    • You can also test if something is wrong at the VCO level by tri-stating the charge pump (CPG=0) and manually applying a DC voltage ~1.2V to the VTUNE pin from an external low-noise source - if there's a single consistent carrier, the VCO and output buffer path is good
    • You could disable the doubler and see if the discrete frequency error goes away, or if it changes the offset between the bifurcated output

    We have an application note discussing full assist and other calibration questions: https://www.ti.com/lit/an/snaa336a/snaa336a.pdf

    Regards,

    Derek Payne

  • Thank you for your answer and information, I will try and come back soon. After reading the app note you provided, I still have some questions.

    1) Under such circumstance, in lock detect mode(R0[2]=1), the muxout pin is high. So the VCO is indeed locked, but locked in the wrong frequency, am I right?

    2) About the figure below, in the first box, what does the 'automatic calibration' mean? Does it mean that I should program the VCO_SEL,VCO_CAPCTRL_STRL,VCO_DACISET_STRL in no assist or partial assist mode to see if it can be locked? And read back the R110,R111,R112 to see if those three readback values are exactly the same as I wrote?

    3) I just use the bottom two steps, and not enable FCAL_EN the whole case. rb_VCO_DACISET,rb_VCO_SEL are the same as what I programmed, but rb_VCO_CAPCTRL is not and rb_LD_VTUNE is not 2. When I program FCAL_EN to 1, the situation has not changed.  Sometimes rb_VCO_CAPCTRL is even 0. Is that normal?Those three values are carefully calculated by the equation in the doc. 

    I need to use the full assist mode in order to jump to another frequency as quickly as possible. Could you give me more advice? Thanks a lot!

  • Hi Liu,

    You have to follow all the steps as outlined in the apps note in order to make full assist success. most importantly, you have to run an auto-calibration in advance otherwise you don't know what are the correct VCO values to use in full assist mode.

    The apps note has the following:

    3.3 Full Assist
    In this mode, VCO calibration is completely bypassed. The user forces the VCO core (VCO_SEL),
    amplitude settings (register R16, VCO_DACISET), and capcode (register R19, VCO_CAPCTRL), and
    manually sets the value. To get these values for a particular VCO frequency, the user must run an
    automatic calibration in advance. The user sets an automatic calibration for this frequency, then reads
    back these values in register R110, rb_VCO_SEL; R111, rb_VCO_CAPCTRL and R112,
    rb_VCO_DACISET. To use these values, the user must enable register R20, VCO_SEL_FORCE as well
    as the R8, VCO_CAPCTRL_FORCE and VCO_DACISET_FORCE bits.

  • Thank you for your answer! I am sorry I can't get your point. My question is what the auto calibration is.

    I noticed that the first three steps are before the three force bits(R20,R8), so those steps mean to get the values that are used in the last box, and which is also the readback values in R110,R111,R112, am I right?

    The values of VCO_CAPCTRL and VCO_DACISET are carefully calculated using the equation below. So can I just skip the first three and use the ones I calculate from the equation below?

    BTW, I just noticed that those equations are for the *STRT. So can the values be used in full assist mode?

    The main point of full assist is that it forces the values that have been calibrated by LMX2595 of the related frequency in order to reduce the calibration time. Is that correct?

  • Hi Liu,

    Whenever you program R0 with FCAL_EN=1, a calibration will be executed. This is the auto calibration I am referring to. If you calculate the VCO values and use them, you are doing partial assist. Please note, a calibration is still required with partial assist. You cannot force the device to use these estimated values from calculation.

    Datasheet has the following:

  • So what should I use in full assist mode? In other words, what is the VCO_CAPCTRL, VCO_DACISET?

  • Hi Liu,

    capctrl, daciset and vco_sel values are obtained by calibration. Then do a register readback and put these values in a look up table for all the desired frequencies. Next time when you want to lock it to one of the desired frequency channels, grab the data from the look up table and apply them in full assist mode.

  • So I give the values calculated from the equation as the start value, and use the readback values in VCO_SEL,VCO_CAPCTRL, VCO_DACISET field, right? I think you have missed my questions, please tell me if my understanding is correct. Thank you!

    The main point of full assist is that it forces the values that have been calibrated by LMX2595 of the related frequency in order to reduce the calibration time. Is that correct?
  • Hi Liu,

    I though I have explained before. If you use the calculated VCO values, that is partial assist. Full assist does not require calculation but a pre-calibration for all the desired frequencies is needed so that you know what VCO values should be used. When you apply the VCO values in full assist mode, no calibration is needed anymore. As a result, frequency switching time is reduced.