Other Parts Discussed in Thread: LMK04821
We are using the LMK04828 in single-loop mode (PLL1 is disabled). Not using zero-delay features. For some applications we use DCLK outputs only while for others we also use SYSREF outputs.
I am writing a software driver that supports several use cases of the device.
All references below are to the LMK0482x datasheet (SNAS605AS –MARCH 2013–REVISED MAY 2020).
I have the following questions:
1. Register initialization sequence in conjunction with SYNC/SYSREF:
a) SYSREF_CLR control - the datasheet says (in section 9.3.2.1.2) that it is asserted automatically on power up (and I presume following a software reset) and that it only needs to be cleared by software. On the other hand, the programming sequence in section 9.3.2.1.1 includes an explicit setting of this bit.
When should software set and reset SYSREF_CLR?
Note: in section 9.3.2.1.2 the datasheet indicates that SYSREF_CLR must be held at 1 for a minimum of 15 VCO cycles. Given that VCO frequency for all parts is always greater than 2 GHz, the above translates to 7.5 ns. Is it theoretically possible to set SYSREF_CLR for 7.5 ns or less? Or perhaps this is related to the fact that need to have VCO locked before pulsing SYSREF_CLR?
b) How is the programming sequence specified in section 9.3.2.1.1 related to the one specified in section 9.5.1?
I presumed that the sequence in section 9.3.2.1.1 includes steps that are needed to support SYSREF functionality beyond the steps that are needed for basic functionality that are specified in section 9.5.1. However there seems to be some overlap between the two. In particular, they both include setting up of DCLKoutx_DDLY_CNTH, DCLKoutx_DDLY_CNTL, DCLKoutx_HS, SDCLKoutY_DDLY. Am I to understand that if using SYSREF these registers need to be programmed twice?
Also, is it necessary to program DCLKoutX_DDLY_CNTH, DCLKoutx_DDLY_CNTL, DCLKoutX_HS and SDCLKoutY_DDLY while SYSREF_CLR is held at 1?
I understand about the need to program SYSREF-related registers twice to first set up for manual sync and subsequently set up the desired SYSREF configuration, however what about the registers mentioned above? Should they also be programmed twice?
Note: I found the following document: e2e.ti.com/.../Key-Points-to-setting-up-SYSREF-on-LMK0482x_5F00_e2e_5F00_2016_2D00_06_2D00_29.pdf and it doesn’t seem to indicate that one needs to program DCLKoutx_DDLY_CNTH, DCLKoutx_DDLY_CNTL, DCLKoutx_HS, SDCLKoutY_DDLY registers twice, nor that it is necessary to program them while SYSREF_CLR is held at 1.
Please advise.
2. Continuous SYSREF on external request:
a) According to Table 1 need to set SYNC_MODE to 0 for this case. I presume that this corresponds to the topmost input to the SYNC_MODE multiplexer in Figure 13. In such case the SYNC input cannot affect SYSREF generation in any way. Is the setting of SYNC_MODE to 0 correct for this case?
b) According to section 9.3.2.2.3 the pulser need not be powered up in this case, however in Table 1 for the external SYSREF request case, it says “Pulser powered on”. Also, in the description of SYSREF_REQ_EN (register 0x16a) it says to enable the pulser when using this feature.
Which is correct?
3. We are using single-loop mode, thus we must use the settings defined in Table 8. On the other hand, we would like to use FB MUX for the sake of routing CLKout6 to OSCout. Is this doable (in single-loop mode)? If yes, I presume that for this we need to set FB_MUX_EN to 1. Am I correct?
4. SDCLK to DCLK synchronization (datasheet section 9.3.4.) – assuming that we desire to synchronize SDCLK and DCLK, and assuming that we want to be able to use the maximum possible span of DCLKout and SDCLKout digital delay values, given Equations 1 and 2 it seems to me that I should set the global SYSREF delay (SDCLK_DDLY) to the smallest possible value in all circumstances. Am I correct?
5. PLL2_DLD_COUNT setting – what are the considerations for setting this value? Can I safely use the default value (8192)? This is what TICS Pro is doing.
6. PLL2 prescaler (PLL2 P):
a) Under what conditions would one set it to any value other than the minimum? To achieve effective N values greater than 262143?
b) The prescaler can be powered down (PLL2_PD in register 0x173). When it is powered down does it mean that it is bypassed (i.e. effective PLL2 N value is PLL2_N x 1)? Is it legitimate to power it down when using PLL2?
Note: I tried powering it down in the TICS Pro software and it didn’t seem to change the prescaler value and VCO frequency.
(Could it be because I am using TICS Pro on my computer and it is not connected to any hardware?)
7. The datasheet mentions DAC in many places. Just for my understanding, what is it? Does it refer to an internal D/A converter which drives the CPout1 pin?
Thanks,
Beni Falk