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.

LMX2820: Software patch that must be inserted when using Instant Cal.

Part Number: LMX2820

I discovered that the LMX2820 had a problem internally during instant cal in the transition from band 3 to band 4 VCO. Noel Fung gave me the following patch that should be entered immediately before initiating the calibrate command:

All commands are to register 0x6A. If this is not done, then the beginning cal entries for band 4 will not be accurate, and there will be danger of loss of lock.

  • Thanks for sharing this information, I will put this in [FAQ].

  • Hi,

    I am ping-ponging a pair of LMX2820's.  I am wondering if there may be other patches for the LMX2820 during instant cal going from VCO band 6 to 7.  Normally the PLL is locking up quickly as expected, but for some frequencies it does not lock. I am only taking say, 1 MHz steps right now, so it is not a very big frequency jump.  I am running with a 25 MHz SPI CLK.  The frequencies that do not lock seem very repeatable.  I don't think it is a signal integrity issue.  I am sending several registers (0x2d to 0x24) as a block to save programming time, which seems to work (see https://e2e.ti.com/support/clock-timing-group/clock-and-timing/f/clock-timing-forum/1094055/lmx2820-lmx2820-spi-interface--is-clock-stretching-allowed ).

    Also, when computing INSTCAL_PLL_NUM = 2^32 × (PLL_NUM / PLL_DEN), should I round to the nearest integer or truncate to arrive at the 32 bit number?

    Thanks

  • David, I have not seen issues between bands 6 and 7. One method I found helpful is to read the cap and band by writing 0xCA0000. The cap value is read back in bits [12:5] and the band in [4:2]. You can plot frequency vs. cap value, and note if there is anything unusual going on. As for the _NUM value, it makes little difference in that one bit equals 25mHz at 100MHz reference frequency.

  • Thanks for the reply Gary.  Still not having any luck.  I understand the resolution issue, I was thinking that  if  INSTCAL_PLL_NUM  * PLL_DEN/ PLL_NUM did not work out exactly as an integer = 2^32, I would have an issue. 

    Maybe I need to try a larger NUM/DENOM fraction.  Right now my PLL_DEN is only 1000.

  • When programming frequencies using instantcal I get a very repeatable pattern of frequencies that do not lock.  These same freqs, when programmed without instantcal always lock.  I stepped through 256 frequencies with instantcal (from 5052 to 5308 MHz) and 47 of them do not lock.  I am programming two separate chips with the same result, so I don't think it's a bad chip or component.  The output frequencies that do not lock in this range (VCO6) are as follows, formatted to show the pattern:

    5102 5202 5302
    5304
    5105 5205 5305
    5107 5207 5307
    5108 5208 5308
    5110 5210
    5111 5211
    5113 5213
    5116 5216
    5119 5219
    5221
    5122 5222
    5224
    5127 5227
    5130 5230
    5133 5233
    5136 5236
    5144 5244
    5147 5247
    5175 5275
    5189 5289
    5192 5292
    5195
    5198

    I still suspect there may be a patch needed as the OP (thanks Gary) described for a different portion of the band.

    Are any of these errata listed somewhere beyond this forum?

    Thanks.

  • David, can you read the cap and band values in both locked and unlocked frequencies, and using both instant cal and normal calibration?

  • Hi Gary,  I am not successful reading back registers yet.  I just learned about tristating the MUXOUT lines (I have two LMX2820s sharing the SPI interface, each with their own select line).  Is that how you discovered your band 3-4 problem?

    e2e.ti.com/.../lmx2820-muxout-pin-tri-state

    When will TI document this stuff?  I have to scour the forums to learn this?

  • Yes, that is how I discovered it. By entering the problem, Noel responded to me by email. I thought the patch should be available to all users, so that is why I posted it. The forum is not a good place for this. It should be added as an alert under documents on the web page for the 2820.

  • David, were you able to read band/cap values?

  • Thanks to Gary for his help.  I finally was able to read back registers and that showed me my problem instantly. (The MUXOUT line did not have enough output to drive the trace capacitance at the SPICLK speed I was using, so I had to slow down the clock in order to read back values).  Turns out my code was swapping the MS and LS words for NUM, DEN, and INSTANT_CAL.  Since many frequencies were locking up, I foolishly overlooked that possibility.  For simple (low resolution) frequencies, it was still working.  For example, suppose my numerator is 750 (0x000002EE) and my denominator is 1000 (0x000003E8).  If I swap MSB and LSB, I get 0x02EE0000 and 0x03E80000, which is the same ratio (just scaled by 65536)!  With this software fix, the LMX2820 locks up across VCO bands 6 and 7 using instant cal.  BTW to make the SPI programming faster I do block programming of registers in sequence, which does, in fact work as Noel suggested.