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.

LMK05318: How to update both registers and EEPROM values?

Part Number: LMK05318

Hi team,

My customer previously downloaded a wrong configuration (wrong clk output frequency) to LMK05318 EEPROM. Now they need to update the EEPROM (change the output frequency) through I2C, and also update the registers in the same time, because they want to see the output frequency changes immediately. P.S. They tried to only update EEPROM to change clk output frequency, but the frequency didn't change immediately, they need to power off then power on so the frequency will change.

Is there a method to meet their requirement?

BTW, I am not clear about datasheet 9.5.6 EEPROM Programming Flow. According to their requirement, should they use method 1#, right?

Look forward to your comments.

  • Additional question:

    If they update the output frequency related registers, will the output frequency change immediately?

  • Hello,

    Seems like there's general confusion about EEPROM vs registers... EERPOM is the device's start up configuration. Once programmed and power cycled - the device will come up in that configuration without needing any other programming.

    They can easily program the registers to whatever configuration they choose at anytime, whether they started in EEPROM or not, whether the EEPROM configuration isn't as they want, etc. The register updates take immediately and are live. For example if you change the output divider value you will see the output frequency change immediately.

    So, if they just want to change the output frequency, they can just go ahead and change said register and see the update take immediately. If they want to have that output frequency updated so that on every power cycle the device comes up in that configuration, then they need to change EEPROM.

    Please note: EEPROM byte and registers are not one to one. For example R76 does not equal EEPROM byte 76. There are upwards of 400 registers while only ~250 EEPROM bytes.

    Method 1 and Method 2 of EEPROM programming are as follows and again EERPOM would only take effect after power cycle:

    • Method1: Program registers, copy all registers to SRAM (2 commands), copy SRAM into EEPROM (2 commands)
    • Method 2: Directly program SRAM (current register configuration remains as is),  copy SRAM into EEPROM (2 commands)

    Advantage of method 2 vs method 1 is that currently configuration and function is not changed - device can continue to operate as is while EEPROM is being programmed.

    In this case, seems like they would like to see the effect immediately, so the first step of method 1 (programming all registers) gets them there.

    Lastly, please use TICSpro to program correctly. Export hex registers can be used to know the register programming, while "(1) Commit Registers and Extra Bytes --> Chip SRAM" can be used to know SRAM/EEPROM byte programming - the information will appear in the text section to the right.

    Regards,

    Amin

  • Thanks for your clear explanation!

  • No problem.

    Amin