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: LMK04828 software driver

Part Number: LMK04828
Other Parts Discussed in Thread: TICSPRO-SW, USB2ANY

Hi,

I'm using LMK04828 in one of the products. Can I get the software driver/source code for this chip to configure and read back the configuration to cross check.

Thanks and Regards

srinivasa

  • Hello Srinivasa,

    Have you taken a look at TICSPRO-SW?

    We use TICSPRO-SW to configure all our clocking devices. This includes the ability to read back registers.

    Thanks,

    Vibhu

  • Hi Vibhu,

    Thanks for quick reply. 

    I'm not using Evaluation Board to connect USB2ANY to use the TICSPRO-SW.

    LMK04828 is mounted on one host board(with LINUX) as spi device.

    From Linux console to read the LMK04828 registers, do we have any commands or userspace software?.

    using linux spi-config, spi-pipe I'm not getting LMK04828 register values(as spi linux tools are not evolved much).

    could you help me to read LMK04828 registers from linux console.

    Thanks and Regards

    srinivasa

  • Hello Srinivasa,

    So you do not have a microcontroller or FPGA reading back from the device? Any device capable of providing the SPI interface signals to the LMK04828 should be able to readback registers from the LMK04828.

    Thanks,

    Vibhu

  • Hello Srinivasa,

    Unfortunately we don't have Linux SPI drivers.

    Typical development flow for these products is:

    1. Configure the desired register settings using TICS Pro software (Windows-based)
    2. Export the register settings from TICS Pro as hexadecimal values in a text file. Text file is printed in register programming order.
    3. Load the hex values to memory somewhere in your host processor, and write to the device using the SPI peripheral

    Historically, we have not provided Linux drivers for our devices, as the use cases have typically been loading a static configuration file and maybe reading a handful of registers or I/O levels to decode status information.

    Thanks,

    Vibhu

  • Hi Vibhu,

    Thanks for the inputs. through SPI application I could configure the LMK. But I need to generate LMK register file using TICS pro with CLKin1(External VCO) 368.64Mhz.Below is the requirement.

    Could you please let me know how to generate the register configuration file for LMK04828B.

    1. VCO_MUX to be  selected as CLKin1(External VCO) with 368.64Mhz. 

        if I select VCO_MUX as CLKin1(External VCO) with 368.64Mhz, the input is not taking in the window. it is taking as 491.52Mhz. How to set to 368.64Mhz?.

    2. DCLKout10(LMK_CLEAN_CLK) to get 10Mhz. DCLKout8(LMK_SFP_CLK) to be 368.64Mhz. Here also it is taking as 491.52Mhz for DCLKout10. How to set?.

    3.If any clock to be generated at output clocks DCLKoutx or SDCLKoutx( i.e for any future requirement).

    4. what is the difference between DCLKoutx or SDCLKoutx?.

    5. Do we need to set any Analog Delay(ADLY_PD), Digital Delay(DDLY_PD), clock distributing paths, Mux selections after doing above steps for input, output clock selections.

    Thanks and Regards

    srinivasa

  • Hello Srinivasa,

    The first thing I would do is identify which device functional mode you will be using. Please refer to section "9.4 Device Functional Modes" of the datasheet.

    Once you have done this I would recommend reading through the EVM User's Guide: https://www.ti.com/lit/ug/snau145b/snau145b.pdf

    You can quick configure your device using the "Set Modes" page of TICSPRO-SW.

    This should answer most of your questions.

    SDCLK can be used to generate SYSREF as well as device clocks. whereas DCLK can only generate device clocks.

    Whether you need to use the delays is up to your application.

    Thanks,

    Vibhu

  • Hi Vibhu,

    Thanks for the inputs.

    1. The device functional modes should be shown as attached snapshot.

       Dual PLL with CLKin1(External VCO) mode. CLKin1 to be 368.64Mhz.DCLKout8 to be 368.64Mhz. DCLJout10 to be 10Mhz or 122.8Mhz.

    2.  But, in TICS Pro in Clock Outputs option, I could not able to set Clkin1(Ext VCO) as 368.64Mhz as shown in snapshot. it is setting to different value(737.28Mhz).

  • Hello Srinivasa,

    So it looks like you intend to use single PLL mode, what is your OSCin frequency? This needs to be set to use this mode correctly. PLL2 output frequency will only be set to frequencies that can  be generated from the Fpd frequency which is dependent on the OSCin.

    If this is not the case, do you want to use distribution mode? OSCin is not required but you cannot use an external VCO, instead you have an external clock source and use the LMK04828 as a buffer with dividers.

    Thanks,

    Vibhu

  • Hi Vibhu,

    Thanks a lot for support.

    With the OSCin as 122.88Mhz and prescaller 3, CLKin 368.64Mhz is coming as shown in the snapshot.

    Single-loop with external VCO mode  (vs)  Distribution mode. what exactly makes difference?. is it that the VCO corrects the clock in feedback path in the external VCO mode?.

    Without the OSCin, just by applying CLKin, in Distribution mode, then what is the LMK functionality, is it  just to clean jitter?.

    If the register 0x140 value is x0. will it give any information on modes?.

  • Hello Srinivasa,

    I'm glad that helped solve the problem :)

    In single loop with external VCO, the external VCO serves as the VCO for PLL2. You still need OSCin as the input to the PLL2 phase detector and the PLL2 is active. The external VCO requires an external loop filter. The tuning voltage for the VCO comes from the CP out pin through the loop filter to the VCO and the output of the VCO goes into the device via the CLKin1 pins. The device is still a PLL. See section "9.4.4 Single-Loop Mode With External VCO" of the datasheet.

    In distribution mode the LMK04828 is used just as a buffer. PLL2 is powered down. You do not need an input at OSCin. Please see "9.4.5 Distribution Mode".

    Thanks,

    Vibhu

  • Hi Vibhu,

    Excellent explanation and support.

    One more query, I need to drive and generate the clocks for JESD204B RF card, so driving clock at any SDCLKOut given as clk to JESD204B RF card.

    Is it that the SYSREF SDCLKout has the current drive capability as compared to DCLKout?.

    Thanks and Regards

    srinivasa

  • Hello Srinivasa,

    If you look at pages 21, 22 and 23 of the datasheet, you will find the output swings of each of the different output formats. The output formats are the same between DCLKoutX pins, SDCLKoutX pins configured to device clocks and SDCLKoutX pins configured to SYSREFs.

    In other words, the SDCLKoutX and DCLKoutX pins will have the same voltage swing and output drivers. The only difference you will see in swing is when you are driving the DCLKoutX pins at high frequencies and there is some power loss in the traces.

    Thanks,

    Vibhu