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.

LMX2592- Programming using the burst mode in TICS pro

Other Parts Discussed in Thread: LMX2592

Hi,
One of my customer is using the LMX2592 in an Atomic clock design. He needs to vary the output frequency in steps by changing the N divider value. How can he use the burst mode to write different values to the register (R37) with a time gap of say 2 seconds between the register updates?

I tried to modify the exported .tcb file and load it back. It seems to only use the final value of the register and doesn't update sequentially.I have attached the text format of the .tcb file and the Write command is at the end of the code.

[SETUP]
ADDRESS=888
CLOCK=8
DATA=4
LE=2
PART=LMX2592
ADDRESS_I2C=0x0

[PINS]
PINNAME00=CE
LOCATION00=7
PINVALUE00=True

[MODES]
NAME00=R64
VALUE00=4194559
NAME01=R48
VALUE01=3146749
NAME02=R47
VALUE02=3080384
NAME03=R46
VALUE03=3014691
NAME04=R45
VALUE04=2949120
NAME05=R44
VALUE05=2883584
NAME06=R43
VALUE06=2818048
NAME07=R42
VALUE07=2752512
NAME08=R41
VALUE08=2721440
NAME09=R40
VALUE09=2621441
NAME10=R39
VALUE10=2589188
NAME11=R38
VALUE11=2490422
NAME12=R37
VALUE12=2441219
NAME13=R36
VALUE13=2360337
NAME14=R35
VALUE14=2294683
NAME15=R34
VALUE15=2278384
NAME16=R33
VALUE16=2179600
NAME17=R32
VALUE17=2114064
NAME18=R31
VALUE18=2031745
NAME19=R30
VALUE19=1966132
NAME20=R29
VALUE20=1900676
NAME21=R28
VALUE21=1845540
NAME22=R24
VALUE22=1574153
NAME23=R23
VALUE23=1542210
NAME24=R19
VALUE24=1247589
NAME25=R14
VALUE25=917900
NAME26=R13
VALUE26=868352
NAME27=R12
VALUE27=815105
NAME28=R11
VALUE28=720920
NAME29=R10
VALUE29=659672
NAME30=R9
VALUE30=590594
NAME31=R8
VALUE31=528516
NAME32=R7
VALUE32=469170
NAME33=R1
VALUE33=67595
NAME34=R0
VALUE34=8732

[FLEX]
CHDIV_FREQ=2
CPG_FREQ=0.9375
Fosc_FREQ=100
FoutA_FREQ=2700
FoutB_FREQ=5400
Fpd_FREQ=100
Fvco_FREQ=5400
Kvco_FREQ=38
VCO_MULTIPLIED_FREQ=5400

[BURST]
FORMAT=PYTHON
SCRIPT=WriteRawData(0x254012);~SetPins("CE","True");~time.sleep(0.1);
SCRIPT=WriteRawData(0x244022);~SetPins("CE","True");~time.sleep(0.1);
SCRIPT=WriteRawData(0x254032);~SetPins("CE","True");~time.sleep(0.1);

Can you please help me here?

  • To use the burst mode, first set up the PLL tab and everything as you want. Then in the Burst Mode Tab, select the register from "Load Register" and this will appear. Then you can add delays and other registers.

    If you want to program the same register to a different value, then go to the PLL tab and User controls tab and change these and then return to the burst mode tab and re-select there rgisteer.

    Regards,
    Dean
  • Hi Dean,

    After I load a register(R38) and set the delay, I go back to PLL tab and change the N value. When I return to the "Burst Mode" page and click on the drop down for Load register and select R38 (which was selected in the previous Load Reg action), the console does not get updated with the latest value of R38. I need to load another register first, delete it and click on R38 again to appear in the console.

    Is this the only way to load multiple values to the R38?

  • Manesh,

    Looks like a bug, but there is a workaround.

    Choose R38 and then go change the N counter value on the PLL tlab.  Burst mode will not reload R38 (This is the bug), but you can load a different register, then it will let you load R38.  Then you can manually delete the unwanted register.

  • Hi Dean,
    Yes. That is the current approach. Thank you