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.

LMK04828: Query on programming

Part Number: LMK04828
Other Parts Discussed in Thread: USB2ANY

Hello ,

I am using LMK04828  in my design. As per my understanding TICS pro software has to be used for programming through SPI in the evaluation board. So once if the IC is mounted on the PCB board, I can programme using TICS Pro software by changing the register settings. Is my understanding correct or is it one time programmable IC ? 

Thanks & Regards,

Ashwini Rajesh Kamath B

  • Ashwini,

    You are correct, the device can be programmed any number of times. TICS Pro allows live modification of volatile register memory. There is no EEPROM or other nonvolatile memory on the LMK04828.

    Regards,

    Derek Payne

  • Hello Derek,

    We want to program the LMK04828 clock synthesizer in Linux platform during runtime (in u-boot). We are planning to use the SC18IS602B I2C to SPI bridge. Do you have any reference to program the clock synthesizer using this?

    Thanks & Regards,

    Ashwini Rajesh Kamath B

  • Ashwini,

    While I don't have any reference for this specific mechanism, I can advise that TICS Pro provides a programming-ordered hex register export function once you have achieved the desired configuration. I think once you have the hex register data it should be straightforward to provide this to your I2C to SPI bridge in a standard format.

    Regards,

    Derek Payne

  • Thanks for the infomation.
    So just to confirm my understandings.So initailly we have to program LMK using TICS pro software.After programming initially TICS pro software will provide a hex register export function.Next we will be mounting the programmed LMK IC on to PCB.so later on if I have to change the clock settings , I can do it by exporting the hex register file and further modifications can be done in the hex file in linux.

  • Ashwini,

    To be clear, LMK04828 has no nonvolatile memory. It must be programmed by some microcontroller/FPGA/etc every power cycle. Resetting or power-cycling the device will revert programming to POR defaults.

    Additionally, TICS Pro isn't strictly necessary, but it can save a lot of time and catch a lot of invalid configurations in advance relative to generating a register programming file entirely from datasheet descriptions. It is also worth pointing out that TICS Pro can function as a configuration builder/checker even without being connected to a device.

    So the workflow usually looks like:

    1. Download TICS Pro, open the device profile (for LMK04828 in your case), and generate a configuration.
    2. (optional) Test this configuration on an EVM or in a system provisioned to accept the USB2ANY SPI connection. Requires either an EVM, or a USB2ANY + system with a SPI header that matches the USB2ANY pinout.
    3. Once you are satisfied with the configuration, export the hex register representation of this configuration to a plaintext file.
    4. If there are any additional configuration options after startup (e.g. synchronizing outputs so they share a specific phase alignment), these register writes must be added manually.
    5. Use the hex file to prepare nonvolatile memory on a programmer device in your system (microcontroller, FPGA + EEPROM, processor accessing peripheral driver, etc). The hex file helps you to prepare the system firmware image, a part of which will include register settings that will be programmed to the LMK04828 on powerup.
    6. If additional modifications are needed, they can be handled in linux as long as something exposes the SPI port. But modifying the pre-generated programming sequence in nonvolatile memory is not always required or recommended for changes made after startup; by exposing the SPI port to the OS, there is now an additional option to directly write new settings to one or more registers as-needed, at any time after POR and initial programming.

    Regards,

    Derek Payne