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: LMX2594 randomly outputs spurs after reprogram

Part Number: LMX2594

Hello TI Experts

I'm struggling with the LMX2594 which at some frequencies sometimes randomly outputs a spur.I have two LMX2594 as LO's in a double superhet receiver. First I thought this was leakage and cross products. However, the problem appears also if I only run the LMX2594 alone (no other components running apart from external refclock).

The following examplifies the issue: I have the LMX2594 set to 7.097GHz with a reference clock of 143.36MHz. The registers I use for programming are attached.

I dump the registers to the device and sometimes the result is with spur at 400kHz offset:

Then after re-programming with the same registerfile the result is without spurs:

Attached also phase noise measurement results: phasenoise_lmx2594_nok.pdfphasenoise_lmx2594_ok.pdf

In both cases the device reports a "Locked" state.

Any help with this issue is very much appreciated!

Registerfile: (decimal)

registers_LMX2594.txt
LO1 Registers LMX2594
=======================
7340032
7274496
7208960
7143424
7077888
7012352
6946823
6881280
6815744
6750208
6684672
6619136
6553600
6488064
6422528
6359040
6291456
6225920
6160384
6094848
6029312
5963776
5898240
5832704
5767168
5701632
5636096
5570560
5505024
5439488
5373952
5308416
5242880
5177344
5112075
5046272
4980748
4917248
4849664
4784191
4718596
4653185
4637520
4521984
4457448
4390912
4325876
4259840
4199304
4128768
4064034
3997864
3933160
3866625
3833857
3735584
3670016
3604480
3538944
3473408
3409952
3342464
3276800
3228032
3146496
3080960
3016700
2998514
2896419
2818205
2752512
2686976
2621440
2556416
2490368
2425860
2359365
2301473
2228224
2170401
2098067
2032620
1978764
1913228
1836168
1769474
1707440
1639972
1574682
1507452
1441793
1377281
1357896
1255351
1179748
1114414
1048704
984655
925296
868352
806919
720920
660184
595460
532480
458930
444418
327880
264771
198210
132352
67592
9628

  • Jonas Reber1 said:
    Registerfile: (decimal)

    for your convenience I have converted it to HEX for import in TICS pro. And yes: I do set R0 again after 10ms with FCAL set to true.
    registers_LMX2594_hex.txt
    0x700000
    0x6F0000
    0x6E0000
    0x6D0000
    0x6C0000
    0x6B0000
    0x6A0007
    0x690000
    0x680000
    0x670000
    0x660000
    0x650000
    0x640000
    0x630000
    0x620000
    0x610800
    0x600000
    0x5F0000
    0x5E0000
    0x5D0000
    0x5C0000
    0x5B0000
    0x5A0000
    0x590000
    0x580000
    0x570000
    0x560000
    0x550000
    0x540000
    0x530000
    0x520000
    0x510000
    0x500000
    0x4F0000
    0x4E010B
    0x4D0000
    0x4C000C
    0x4B0800
    0x4A0000
    0x49003F
    0x480004
    0x470081
    0x46C350
    0x450000
    0x4403E8
    0x430000
    0x4201F4
    0x410000
    0x401388
    0x3F0000
    0x3E0322
    0x3D00A8
    0x3C03E8
    0x3B0001
    0x3A8001
    0x390020
    0x380000
    0x370000
    0x360000
    0x350000
    0x340820
    0x330080
    0x320000
    0x314180
    0x300300
    0x2F0300
    0x2E07FC
    0x2DC0F2
    0x2C3223
    0x2B009D
    0x2A0000
    0x290000
    0x280000
    0x270200
    0x260000
    0x250404
    0x240045
    0x231E21
    0x220000
    0x211E21
    0x200393
    0x1F03EC
    0x1E318C
    0x1D318C
    0x1C0488
    0x1B0002
    0x1A0DB0
    0x190624
    0x18071A
    0x17007C
    0x160001
    0x150401
    0x14B848
    0x1327B7
    0x120064
    0x11012E
    0x100080
    0x0F064F
    0x0E1E70
    0x0D4000
    0x0C5007
    0x0B0018
    0x0A12D8
    0x091604
    0x082000
    0x0700B2
    0x06C802
    0x0500C8
    0x040A43
    0x030642
    0x020500
    0x010808
    0x00259C
    

  • Jonas,

    I was able to download your files to TICSPro and have the following comments:.

    1.I note that 204.8 MHz/512 = 400 kHz, so this looks like a fractional spur.

    What may be happening is that the initial modulator state is being changed.  Have you tried toggling the MASH_RESET_N bit (R44[5]) to see if this makes the spur go away?

    2.  I see that you have ACAL_CMP_DLY set to 10 and TICSPro is warning that this might be too small (recommends >=14)-- possibly leading to less consistent VCO calibrationFor diagnostic purposes, you might want to read back rb_VCO_SEL, rb_VCO_DACISET, and rb_VCO_CAPCTRL and compare the good and bad spur case to see if there is an obvious pattern. This frequency does not seem to be at the boundary of two cores, but if you see a significant difference in any of these settings that is consistent between good and bad spur settings, it points to something related to the VCO calibration.

    Regards,

    Dean

    1. 

  • Hi Dean

    Thanks a lot for your input and the hints. For both comments I implemented a "solution" that I would like to share with you and the community. For 1) a adjusted the driver to set ACAL_CMP_DLY according to the datasheet's minimum formula - for the specific case it is 14. The phasenoise of the output changes slightly towards the better but spur performance is not improved significantly. Plot: phasenoise_lmx2594_acal_cmp_delay.pdf

    for 2) I now implemented a large fraction - similar to what you do in TICS pro. So instead of the 157/512 I get 658505728/2147483649 for example. This solves the issue of the spurs (at a higher phase noise level though...). Plot: phasenoise_lmx2594_largefraction.pdf

    If you have one more trick up your sleeves to combine the best of both worlds (no spurs & low phase noise) I'd be happy to be a spectator :)

    Best,

    Jonas