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: SYSREF signal wrong with 'SYNC SPI (Pulser) ' mode, LMK04828

Part Number: LMK04828

Hi everyone,

I met a new problem when I config SYSREF signal with 'SYNC SPI (Pulser)' mode(Figure 1), but when I catch the signal the SYSREF changed like a spur with overshoot at the falling edge(Figure 2) although the device clocks are sync. When I disable the SYSREF, the siganl is normal(Figure 3). I don't understand why?

PS: I use 10MHz oscillator as PLL1 input.

  • Hi Nan Li,

    Are you using the 'SYNC SPI (Pulser)' mode setting for generating the SYSREF output in Pulser mode? This is not feasible and "SYNC SPI Pulser" setting is needed for SYNC input through SPI for synchronization.

    Please follow the section 9.3.1 and 9.3.2 in the datasheet for SYNC and SYSREF generation in various mode.

    Thansk!

    Regards,
    Ajeet Pal 

  • Hi Ajeet,

    Yes I use 'SYNC SPI (Pulser)' mode, because I saw that this choice in datasheet, and in this mode, I don't need external SYNC input signal but pulser from VCO.

    What you mean is this mode can not work or my method is wrong? About this point I don't understand because after I use SPI signal to control SYSREF pulse generation, I get the aligned device clock signal(like Figure 2).

    Regards,

    Nan

  • Hi Nan Li,

    Sorry there was an error in last comment, as SYSREF in pulser mode can be generated through SYNC_MODE set with SYNC SPI (pulser) setting and write the 0x13E register (click at send pulses) with the number of pulses.

    When I disable the SYSREF, the siganl is normal(Figure 3). I don't understand why?

    I am not clear on the SYSREF disable mode and get the SYSREF waveform. When SYSREF is configured in pulser mode, it should generate number of pulses mentioned in 0x13E register with send pulse command.

    Would be great, if you can share the used configuration file for programming the device and will review the same.

    Regards,
    Ajeet Pal

  • Hi Ajeet,

    Ok, I put the config file below.

    I am not clear on the SYSREF disable mode and get the SYSREF waveform.

    The SYSREF disable mode is that I can send SYSREF signal when I toggle the 'Send Pulser' button but this SYSREF signal don't 'work' (it will not influence the Device Clock, will not sync the device clock signal, it just a signal without any funcion).

    Regards,

    Nan 

    R0 (INIT)	0x000080
    R0	0x000000
    R2	0x000200
    R3	0x000306
    R4	0x0004D0
    R5	0x00055B
    R6	0x000600
    R12	0x000C51
    R13	0x000D04
    R256	0x01000C
    R257	0x010155
    R258	0x010255
    R259	0x010301
    R260	0x010400
    R261	0x010500
    R262	0x010679
    R263	0x010755
    R264	0x01080C
    R265	0x010955
    R266	0x010A55
    R267	0x010B00
    R268	0x010C00
    R269	0x010D00
    R270	0x010EF9
    R271	0x010F00
    R272	0x01101E
    R273	0x011155
    R274	0x011255
    R275	0x011300
    R276	0x011422
    R277	0x011500
    R278	0x011670
    R279	0x011755
    R280	0x011818
    R281	0x011955
    R282	0x011A55
    R283	0x011B00
    R284	0x011C00
    R285	0x011D00
    R286	0x011E79
    R287	0x011F55
    R288	0x012014
    R289	0x012155
    R290	0x012255
    R291	0x012300
    R292	0x012400
    R293	0x012500
    R294	0x012679
    R295	0x012755
    R296	0x01281E
    R297	0x012955
    R298	0x012A55
    R299	0x012B00
    R300	0x012C22
    R301	0x012D00
    R302	0x012E70
    R303	0x012F55
    R304	0x013006
    R305	0x013155
    R306	0x013255
    R307	0x013300
    R308	0x013400
    R309	0x013500
    R310	0x013679
    R311	0x013755
    R312	0x013825
    R313	0x013902
    R314	0x013A00
    R315	0x013B3C
    R316	0x013C00
    R317	0x013D08
    R318	0x013E03
    R319	0x013F00
    R320	0x014008
    R321	0x014100
    R322	0x014200
    R323	0x014313
    R324	0x01445B
    R325	0x01457F
    R326	0x014608
    R327	0x01471B
    R328	0x014802
    R329	0x014942
    R330	0x014A02
    R331	0x014B16
    R332	0x014C00
    R333	0x014D00
    R334	0x014EC0
    R335	0x014F7F
    R336	0x015003
    R337	0x015102
    R338	0x015200
    R339	0x015303
    R340	0x0154E8
    R341	0x015503
    R342	0x0156E8
    R343	0x015700
    R344	0x015896
    R345	0x015930
    R346	0x015A00
    R347	0x015BD4
    R348	0x015C20
    R349	0x015D00
    R350	0x015E00
    R351	0x015F2B
    R352	0x016001
    R353	0x016100
    R354	0x016244
    R355	0x016300
    R356	0x016400
    R357	0x01650C
    R369	0x0171AA
    R370	0x017202
    R380	0x017C15
    R381	0x017D33
    R358	0x016600
    R359	0x01670C
    R360	0x016835
    R361	0x016959
    R362	0x016A20
    R363	0x016B00
    R364	0x016C00
    R365	0x016D00
    R366	0x016E2B
    R371	0x017300
    R386	0x018200
    R387	0x018300
    R388	0x018400
    R389	0x018500
    R392	0x018800
    R393	0x018900
    R394	0x018A00
    R395	0x018B00
    R8189	0x1FFD00
    R8190	0x1FFE00
    R8191	0x1FFF53
    
      

  • Hi Nan,

    Apologies for the delay, Ajeet is out so I'll take over for now.

    The SYNC/SYSREF path is shared, so SYSREF signals can reset the divider and SYNC signals can buffer through to the SYSREF outputs. If you have SYNC_DISx bit cleared when you generate a pulse on the SYSREF pulser, it resets the other clocks. If you have SYNC_DISSYSREF bit cleared when you generate a pulse on the SYSREF pulser, it resets the SYSREF divider, which can cause the pulse to be too short. You should only clear the SYNC_DISx and SYNC_DISSYSREF bits when you are prepared to interrupt and reset the channel/SYSREF dividers for phase synchronization. After the initial SYNC event that establishes a specific phase relationship between device clocks and SYSREF, you should set the SYNC_DISx bits and SYNC_DISSYSREF to prevent the dividers from being reset on the SYSREF pulser event.

    This might not be an issue, but for completeness: You can also use the SYSREF_GBL_PD bit to hold a SYSREF output low or at common mode voltage while a SYNC event is happening, to prevent the SYNC pulse from buffering out through the SYSREF outputs. This is effectively a "mute" control, so SYNC events at the LMK04828 do not accidentally get interpreted as SYSREF events at the devices to be clocked.

    The divider reset procedure, which comes before using SYSREF and establishes phase relationships between device clocks and SYSREF, can be simplified to:

    1. Program digital delays to get the desired phase relationship, and make sure all digital delay blocks are powered on.
    2. Clear the SYNC_DISx and SYNC_DISSYSREF bits. Set SYSREF_CLR to clear the digital delay counter in the SYSREF.
      1. Optionally, configure the SDCLKoutY_DIS_MODE and SYSREF_GBL_PD bits to mute the SYSREF output during the SYNC event.
    3. Pick the SYNC source; this could be the SYNC pin, the CLKin0 input, a lock detect event, or even a software trigger. For the single device use case, the software trigger is probably easiest since the exact timing of the SYNC pulse is not important.
      1. SYNC Pin or software trigger: SYNC_MODE = pin, SYSREF_MUX = normal, SYSREF_CLKin0_MUX = from SYSREF_MUX
      2. CLKin0, retimed to VCO: SYNC_MODE = don't care, SYSREF_MUX = normal, SYSREF_CLKin0_MUX = from SYSREF_MUX
      3. CLKin0, no retiming: SYNC_MODE = don't care, SYSREF_MUX = don't care, SYSREF_CLKin0_MUX = from CLKin0, CLKin0_OUT_MUX = to SYSREF path
    4. Trigger the SYNC event. For manual software SYNC, toggle the SYNC_POL bit high then low. For pin SYNC, hold the SYNC input high for at least 15 VCO clock cycles.
    5. Set the SYNC_DISx and SYNC_DISSYSREF bits to prevent subsequent resetting of dividers. Clear SYSREF_CLR bit. Powerdown the digital delay blocks to save current.
      1. Optionally, you can clear the SYSREF_GBL_PD bit to un-mute the SYSREF outputs now.

    Once the dividers have been reset, the SYSREF triggering should be straightforward:

    1. Set SYNC_MODE and SYSREF_MUX to use the pulser, and make sure SYSREF_PLSR_PD is cleared.
    2. Trigger the pulser. SYSREF should behave normally, and should not reset the dividers, as long as the SYNC_DISx and SYNC_DISSYSREF bits are set.

    Regards,

    Derek Payne