LMX2594: External 10MHz Clock Implementation on LMK04828 on RFSoC4x2

Part Number: LMX2594
Other Parts Discussed in Thread: LMK04828, USB2ANY,

Tool/software:

Hi Team,

Can you please help us with our customer inquiry below.

We are trying to enable CLK_IN_0 (image 1) to have a 10MHz signal sync with the device. Looking at TICS and PYNQ forums

https://discuss.pynq.io/t/xrfclk-configuration-lmk04828-using-external-10mhz-reference-clock/5562/12
 
https://e2e.ti.com/support/clock-timing-group/clock-and-timing/f/clock-timing-forum/1229913/lmk04828-taking-driving_clock-from-another-input-pin-and-i-can-t-figure-out-which-one/4661353#4661353 

I came across 3 different solutions. Provided are .txt files for hex import for each. Using TICS PRO, I am trying to configure our board to have a 10MHz external clock control while disabling OSCin internal referance clock. The other frequencies on the image should remain the same. I don't want to program the board by using USB2ANY cable with any of these .txt files for hex import because we don't have the default LMK04828 .tcs file for the RFSoC4x2. Can you please help us on how we can proceed? We are really stuck and Real Digital didn't provide us the default LMK04828 file for the board. 

Regards,

Danilo

  • Let me try to understand this:

    1.  You are using a 3rd party board that has the LMK04828

    2.  You are not sure what the settings are for this board for the LMK04828

    3.  If you knew the settings for the LMK04828, then you could use TICSPRO, but provider of the board (Real Digital), is not giving you this information.

    With TICSPRO, you can export and import hex registers to other tools and this does not require you to have TICSPRO hooked up to the board.  If TICSPRO is hooked up to the board, you can also read back the register states.  

    Or if you are asking for a configuration file based on the frequencies in the above diagram, we can provide that.  However, to do this we need:

    With your frequencies, I think you want the VCO to be 2949.12.  You could use the 160 MHz OSCin value, but this will lead to a very low phase detector frequency, which will work, but yield not very good perforamnce.  It would perform much better with a differetn OSCin frequency like 122.88, but this is a hardware change.

    Regards,
    Dean

    Regards,

    Dean

  • Hi Dean,

    Please see our customer's response below.

    Thank you for your answer,
    1. We are using RFSoC4x2 board, we are tying to eliminate the phase delay for ADC-DAC signal processing by locking the phase with a signal generator at 10MHz from Ext. Ref. Clk. (CLK IN0)
    2. We don't know the default LMK04828 for this board apart from the data sheet provided in Figure 5.
    3. We connected USB2ANY to the board and read the register values however, they didn't match with what they have on Figure 5. We think that is possible since USB2ANY doesn't connect directly to LMK but instead to Skyworks Si5395.

    Therefore I don't think we can modify OSCin Value of the boards. The frequency requirements are clkin0 should be 10MHz, clkin1 should be 100MHz, OSCin should be 160MHz.
    The clkouts of LMK should be same with figure 5 provided in my initial question. It would be great if you can provide a .tcs file with this requirements, we are new to TICSPro and not sure if the following work.
    Currently, our design is as follows:
    CLK_in & PLLs
    CLK Outputs:
    I want to double check if this design would work before writing it to LMK since we don't have the register values. Thank you for your answer.
     
    Regards,


    Danilo
  • Hi Danilo,

    first of all, although the board was not design by our customer, I have doubt to the block diagram.

    7.68MHz clocks have to be generated by the SYSREF block of LMK04828, as the clock divider is not big enough to support 7.68MHz. This is fine as long as the SYSREF block is configured as Continuous SYSREF output.

    OUT4 and OUT1 are used as the SYNC signal to LMX2594, SYNC signal is a single pulse so it also have to be generated by the SYSREF block of LMK04828. However, in this case, the SYSREF block needs to be configured as Pulser mode. 

    That means, OUT3 and OUT9 will be a pulse instead of continuous clock when we attempt to synchronize the LMX2594 devices. 

    Back to the LMK04828 configuration, here is the configuration.

    The 10MHz clock needs to be square wave, otherwise PLL1 may not lock. Use a square wave clock and set the input type to MOS. 

    Use the register next to PLL1 R Dividers to select CLKin1 or CLKin0.

    Configure SYSREF to Continuous clock mode.

    example output configuration, you may need to select the correct output format based on the board design.

    here is the tcs file.

    7652.lmk04828.tcs

  • Hi Danilo,

    To add to what Noel said, in order to achieve phase synchronization between the input and output signals, you will have to put the device into zero-delay mode. I have attached a tcs file that does that, you will just need to update all of the outputs as you see fit. However, the phase noise performance will be suboptimal due to the numbers that the configuration will have to support - as Dean mentioned, it would be better if the VCXO frequency were 122.88 MHz.

    lmk04828_rfsoc.tcs

    Furthermore, in order to achieve the deterministic phase relationship between the input and output, you will need to generate a SYNC event. Section 9.7.3.10 provides an overview of how to generate one. The SYNC event results in all of the output dividers being phase aligned, and you will have achieved your necessary clock tree and input output relationships.

    Thanks,

    Michael