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: How to set JESD clock?

Part Number: LMK04828
Other Parts Discussed in Thread: DAC38J82

Hello, 

This is my first project for JESD204B.

I want to use LMK04828 to provide JESD clocks, but do not use VCO in LMK04828.

Base on TI204C-IP and our schematic. I generated the LMK04828 register value. 

Would you please help me check the settings are suitable?

R0 (INIT)	0x000080
R0	0x000010
R2	0x000200
R3	0x000306
R4	0x0004D0
R5	0x00055B
R6	0x000600
R12	0x000C51
R13	0x000D04
R256	0x010000
R257	0x010155
R258	0x010255
R259	0x010301
R260	0x010422
R261	0x010500
R262	0x010670
R263	0x010711
R264	0x010801
R265	0x010955
R266	0x010A55
R267	0x010B01
R268	0x010C2A
R269	0x010D00
R270	0x010E70
R271	0x010F17
R272	0x011008
R273	0x011155
R274	0x011255
R275	0x011300
R276	0x011402
R277	0x011500
R278	0x0116F9
R279	0x011700
R280	0x011818
R281	0x011955
R282	0x011A55
R283	0x011B00
R284	0x011C02
R285	0x011D00
R286	0x011E79
R287	0x011F33
R288	0x012008
R289	0x012155
R290	0x012255
R291	0x012300
R292	0x012402
R293	0x012500
R294	0x0126F9
R295	0x012700
R296	0x012808
R297	0x012955
R298	0x012A55
R299	0x012B00
R300	0x012C02
R301	0x012D00
R302	0x012EF9
R303	0x012F00
R304	0x013006
R305	0x013155
R306	0x013255
R307	0x013300
R308	0x013402
R309	0x013500
R310	0x013679
R311	0x013733
R312	0x013840
R313	0x013900
R314	0x013A00
R315	0x013B20
R316	0x013C00
R317	0x013D08
R318	0x013E03
R319	0x013F00
R320	0x0140F9
R321	0x014100
R322	0x014200
R323	0x014310
R324	0x0144FF
R325	0x01457F
R326	0x014618
R327	0x014713
R328	0x014802
R329	0x014942
R330	0x014A33
R331	0x014B16
R332	0x014C00
R333	0x014D00
R334	0x014EC0
R335	0x014F7F
R336	0x015003
R337	0x015102
R338	0x015200
R339	0x015300
R340	0x015478
R341	0x015500
R342	0x015678
R343	0x015700
R344	0x015896
R345	0x015900
R346	0x015A06
R347	0x015BD4
R348	0x015C20
R349	0x015D00
R350	0x015E00
R351	0x015F0B
R352	0x016000
R353	0x016101
R354	0x016244
R355	0x016300
R356	0x016400
R357	0x01650C
R369	0x0171AA
R370	0x017202
R380	0x017C15
R381	0x017D33
R358	0x016600
R359	0x016700
R360	0x016801
R361	0x016959
R362	0x016A20
R363	0x016B00
R364	0x016C00
R365	0x016D00
R366	0x016E13
R371	0x017320
R386	0x018200
R387	0x018300
R388	0x018400
R389	0x018500
R392	0x018800
R393	0x018900
R394	0x018A00
R395	0x018B00
R8189	0x1FFD00
R8190	0x1FFE00
R8191	0x1FFF53

  • Daniel,

    Could you send me your .tcs file?

    Regards,

    Will

  • Hello William,

    Attached is my tcs file.

    Thanks

    Best regards.

    7382.lmk04828.tcs

  • Daniel,

    I will get back to you by next Friday.

    Regards,

    Will

  • Daniel,

    Thank you for your patience. 

    In regards to the schematic, here is feedback:

    • does DNL mean the part will not be placed?
    • If you are using 50 ohm traces you should add a 50 ohm termination before the AC coupling cap.
    • Because you are not using a PLL, you do not need any loop filter components.  Can you explain why you placed loop filter components on  CPOUT2?
    • I understand the 120 ohm termination resistors on DCLKOUT2, but I am a little confused at how you came up with your termination resistor values for your other outputs 0,1,3,12.  Could you explain?

    In regards to the ticspro, here is my feedback:

    • What is the type of SYSREF signal that you are desiring? It was not clear from your SYSREF_MUX Selection.
    • Can you elaborate how you want to sync your signals and then what kind of SYSREF signal that you will require. Ex. How many pulses do you need?
    • CLKIN_SEL0 and CLKINSEL_1, if you are using them as an output which it looks like you are from your schematic should be configured as such.
      •   

    Regards,

    Will

  • Hello Will, 

    Thank you for your review.

    In regards to the schematic, below is our answer.

    1. Yes, DNL means Do Not Load, parts are not soldered on PCB

    2. 50R at input, we could try adding an external 50R on existing PCB. 

    3. PLL loop filter components are reserved on board just in case of use in future. And we do not want to use internal PLL on existing project for the time being. 

    4. LMK04828 DS shows 560R differential res for LVDS output with internal receiver termination on page 106. And two 280R resistors to GND contributes 560R in differential. 

    5.LMK04828 DS shows 100R differential res for LVDS output with external receiver termination, two 200R resistor to GND makes 100R in differential.

    In regards to the ticspro, below is our answer.

    1. For SYSREF, we prefer use continuous.

    2. For CLKIN_SEL0, we do not use. For CLKINSEL_1, we prefer use as input 2.5G, bypass/divide for DCLKOUT0/SDCLKOUT1 to FPGA, bypass/divide for DCLKOUT2/SDCLKOUT3 to DAC38J82.

    Attached is our new tcs file.

    lmk04828_2nd.tcs

    By another way, based on our schematic, would you please help provide the settings for LMK04828 and DAC38J82 (without any using restriction)? 

    We hope we can run a sinewave demo base on your settings.

    Thank you

    Best regards

    Daniel

  • Daniel,

    The team is out of office for the US holiday, please expect a response by tomorrow.

    Thanks,

    Kadeem

  • Daniel,

    Sorry for the delay.   I understand, all your points make sense to me.  A note from the data sheet about continuous mode that I would caution you on:

    Continuous operation of SYSREF is not recommended, due to crosstalk from the SYSREF clock to device clock. JESD204B is designed to operate with a single burst of pulses to initialize the system at startup, after which it is theoretically not required to send another SYSREF, because the system continues to operate with deterministic phases. If continuous operation of SYSREF is required, consider using a SYSREF output from a non-adjacent output or SYSREF from the OSCout pin, to minimize crosstalk.

    I will review your tics config and get back to you tommorow.  Do you also need support generating programming for the DAC38J82?

    Regards,

    Will

  • Will,

    Thanks for your notice.

    Our first target is run a sinewave demo to our customer. It is very helpful that you can provide more reasonable settings or usage.

    Next we can modify to meet customer usage.

    Yes, we also need DAC38J82 support. I think the default register value of DAC38J82 is enough for sinewave demo, but I am not sure about this.

    I think clocking is the first priority, we need generate correct clocking then need TI support DAC38J82.

    it is helpful if you or someone can support DAC38J82.

    Thanks.

    Daniel

  • Daniel,

    For support in configuring these two devices together it might be helpful to look at the DAC38J82 EVM and its documentation as this uses the LMK04828 to clock the DAC.  I will follow up on Monday with more information. 

    Regards,

    Will

  • Hi Will,

    I have reviewed some DAC38J82 EVM documents and GUI software. 

    Currently, I have one questions.

    If I select External clock. what frequency should I input? 

    Thanks

    Daniel

  • Daniel, 

    I am adding a apps engineer from the DAC team to support as I am not familiar with the software. 

    Regards,

    Will

  • Hi Daniel,

    Sorry for the delay, we will answer this by tomorrow EOD.

    Thanks,

    Rob

  • Daniel,

    Can you share what mode you are wanting the DAC to operate under? This includes the overall DAC sample rate and interpolation factor. Interpolating means you provide a less amount of data into the DAC but the DAC still outputs the data accurately. The tradeoff is the higher interpolation factor, the lower the useable bandwidth of the signal you are capable of providing into the device. In the image you posted, you are showing 312.5MSPS input rate and interpolation of 1, which means the DAC output will match the DAC input data rate of 312.5MSPS.

    First, you need to decide what useable bandwidth you require. If you need to send a tone that is 20MHz wide for instance, you need to supply at least twice this amount into the DAC inputs to avoid aliasing. This for instance could mean you desire a DAC input data rate of 50MSPS. Next you will choose an interpolation factor which will directly affect the sample rate of the DAC. If you choose interpolation by 2, the DAC must receive a 100MHz clock input. If you choose interpolation by 16, then the DAC will operate at a sample rate of 1600MSPS and requires a 1600MSPS clock.

    Please see Table 10. DAC38J82 Speed Limits of the DAC38J82 datasheet for available options of interpolation rate and data rate/sample rate.

    Thanks, Chase

  • Hi Chase,

    Thanks for your response. 

    I did some research and study this theory. Also try some configurations. But it is not work now.

    First, we need a demo for our customer. And my target is sample rate = 312.5M, interpolate x1, combined with TIJESD204-IP example design (64 points sinewave), I expect there is a 4.88M sine wave output. But nothing actually.

    Below is my steps,

    1. On DAC3XJ8X GUI, Select External Clock, Select DAC38J82, Input 312.5MSPS, input 8 Serdes Lanes, input 1 interpolation.

    2. At simulation mode, Click Program LMK04828 and DAC3XJ8X. There will be whole register value shows in log window.

    3. Follow the whole register value as my system configuration.

    4. Inside TIJESD204-IP example design (Xilinx), change to correct LMFS and K. Also change the Serdes data rate to 1.5625GHz

    5. Using VIO and ILA to see the tx data already send to TIJESD204-IP. But no wave from DAC output.

    Also I try to modify some register value, still not work.

    Now I focus on TIJESD204-IP example design, maybe something I am not noticed.

    If you have some advice, please help.

    Thanks

    Daniel

  • Hi Daniel,

    Thanks for the good detailed info. Since you are using TI-204C-IP, let’s start at the beginning. Does the PLL status show as 0x3 when you toggle the master_reset vio from 0 to 1?

    Thanks, Chase

  • Hi Chase,

    Thanks for your quick response.

    Yes, I have got 0x3 of QPLL status.

    Below is my screen short of VIO and ILA.

    Thanks, Daniel