SNAA421 November   2025 LMK05318B , LMK5B12204 , LMK5B33216 , LMK5B33414 , LMK5C33216A , LMK5C33414A

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Start Here: Using TICS Pro for Configuration and Readback
    1. 1.1 TICS Pro Status Page
    2. 1.2 TICS Pro Default Setting
  5. 2Debug Procedure: From Device Start-Up to Locked Output State
    1. 2.1 Is the APLL Reference Valid?
      1. 2.1.1 Check Status of APLL Reference
      2. 2.1.2 Debug APLL Reference
    2. 2.2 Is the APLL Locked?
      1. 2.2.1 Check Status of APLL Lock
      2. 2.2.2 Debug APLL Lock
    3. 2.3 Is the DPLL Reference Valid?
      1. 2.3.1 Check Status of DPLL Reference Validation
      2. 2.3.2 Debug DPLL Reference Validation
    4. 2.4 Is the DPLL Selecting a Reference?
      1. 2.4.1 Check Status of DPLL Reference Selection
      2. 2.4.2 Debug DPLL Reference Selection
    5. 2.5 Is the DPLL Frequency Locked?
      1. 2.5.1 Check Status of DPLL Frequency Lock
      2. 2.5.2 Debug DPLL Frequency Lock
    6. 2.6 Is the DPLL Phase Locked?
      1. 2.6.1 Check Status of DPLL Phase Lock
      2. 2.6.2 Debug DPLL Phase Lock
  6. 3Summary
  7. 4References

Debug DPLL Phase Lock

  1. Confirm lock by phase synchronization, not phase offset.

    The DPLL is considered phase locked when the APLL output clocks track the phase of the selected DPLL input. This is also known as phase synchronization. When phase-locked, the input and output clocks can be triggered to each other on an oscilliscope. There can be an offset present between the locked outputs and the selected DPLL input. The offset is programmable depending on the LMK device. Typically, the offset is small and subject to change after POR, software reset, hardware reset, or a hitless switch. Use zero-delay mode when a deterministic phase offset is required.

  2. Check the LOPL lock and unlock thresholds.

    The LOPL status bit can falsely report an unlocked state due to improper threshold settings. A noisy DPLL reference or APLL reference with a narrow DPLL loop bandwidth can cause large phase variations. To account for such variations, widen the phase lock thresholds to allow the device to be considered phase locked. Use TICS Pro to configure the threshold settings.

  3. Debug the TDC inputs by reading the TDC registers.

    The miminum and maximum TDC debug registers can be readback as listed in Table 2-25. Configure the TDC debug register as specified in Table 2-26.

    Table 2-25 TDC Minimum and TDC Maximum - Status Register
    DEVICE FAMILY TDC MIN
    REGISTER
    TDC MAX
    REGISTER
    LMK5B, LMK5CA R191 to R198 R199 to R206
    Table 2-26 TDC Minimum and TDC Maximum - Register Setting
    DEVICE FAMILY TDC MIN AND MAX
    REGISTER SETTING
    BAW DPLL DPLL2 DPLL1
    LMK5B, LMK5CA R207[1:0] = 0x2,
    R207[6] = 1,
    R208[3:0] = 0x1
    R207[1:0] = 0x1,
    R207[6] = 1,
    R208[3:0] = 0x1
    R207[1:0] = 0x0,
    R207[6] = 1,
    R208[3:0] = 0x1(1)
    Column is not applicable for LMK5B12212 or LMK5C22212A.

    Use the pseudocode below to capture the phase error measured by the TDC of the device. Note that the readback value is a digital number (unitless). The readback rate of the minimum and maximum TDC registers must be no faster than the configured TDC rate. If the readback rate is faster than the TDC rate, a 0 value is readback. Graph the results over the time. In a stable DPLL locked state, the TDC reaches a near 0 value and does not sporadically change in an uncontrolled manner.

    
    dpll_config_R207 = # DEFINED BY ENABLE SETTING TABLE
    
    def setup_tdc_readback():    
        WriteReg(R208,0x01)                
        WriteReg(R207, dpll_config_R207)    
    
    def get_tdc_min_max():    
        # Read MSB to LSB.  Min/max reset after R206 is read.
        rawTDC_MIN = ReadReg(R191, R198)    
        rawTDC_MAX = ReadReg(R199, R206)    
        
        val = sum([(2**(56-(8*i)))* rawTDC_MIN[i] for i in range(8)])
        if  rawTDC_MIN[0] > 127:
            val ^= 0xffffffffffffffff
            val &= 0xffffffffffffffff
            val += 1
            val *= -1
        TDC_MIN = val
     
        val = sum([(2**(56-(8*i)))*rawTDC_MAX[i] for i in range(8)])
        if rawTDC_MAX[0] > 127:
            val ^= 0xffffffffffffffff
            val &= 0xffffffffffffffff
            val += 1
            val *= -1
        TDC_MAX = val
     
        return (TDC_MIN, TDC_MAX)
  4. Debug the TDC inputs by DPLL R and DPLL FB dividers.

    One way to check the inputs to the TDC is by configuring the GPIO status pins as the "DPLL R divided by 2" and "DPLL FB divided by 2" signals. The two signals represent the DPLL R divider and DPLL FB divider paths with a divide by 2 on each signal. Route the two TDC input signals to a scope to determine the DPLL lock state. If the DPLL FB clock is a drifting clock compared to the DPLL R clock, then the DPLL settings (such as for the TDC and DLF) is possibly not configured properly. Contact TI as the next step by posting on the public TI E2E forum, include the TICS Pro configuration file (.tcs) with oscilloscope screenshots capturing the FB and R waveforms. Otherwise, if the DPLL FB clock is triggered to the DPLL R clock and not drifting, then the DPLL is locked and properly configured. The LOPL flag can be false reporting due to improper LOPL threshold settings. Increase the lock and unlock thresholds until the LOPL flag clears.

    The equations for each signal are represented by Equation 1 and Equation 2.

    Equation 1. f D P L L   R   d i v i d e d   b y   2   =   f I N x 2 × D I V D P L L ,   R
    Equation 2. f D P L L   F B   d i v i d e d   b y   2   =   f I N x 2 × D I V D P L L ,   F B

    For example, the "DPLL R divide by 2" signal frequency is 0.625MHz for a DPLL reference frequency of 156.25MHz and an R divider value of 125 as shown in Equation 3.

    Equation 3. f D P L L   R   d i v i d e d   b y   2   =   156.25 M H z 2 × 125 =   0.625 M H z

    The registers for the DPLL R divided by 2 and FB divided by 2 signals are listed in Table 2-27 and Table 2-28.

    Table 2-27 DPLL R Divided by 2 - Register Setting
    DEVICE FAMILY TICS PRO FIELD NAME PIN NAME DPLL R DIVIDED BY 2
    REGISTER SETTING
    BAW DPLL DPLL2 DPLL1(1)
    LMK05318B, LMK05318 DPLL R Divider,
    div-by-2
    STATUS0 R48 = 0x40 N/A N/A
    STATUS1 R49 = 0x40 N/A N/A
    LMK5B, LMK5CA, LMK5C TDCx R-Divider
    Divided By 2
    Required for any GPIOx R70[0] = 1
    GPIO0 R57[6:0] = 0x64 R57[6:0] = 0x61 R57[6:0] = 0x5E
    GPIO1 R58[6:0] = 0x64 R58[6:0] = 0x61 R58[6:0] = 0x5E
    GPIO2 R59[6:0] = 0x64 R59[6:0] = 0x61 R59[6:0] = 0x5E
    Column is not applicable for LMK5B12212 or LMK5C22212A.
    Table 2-28 DPLL FB Divided by 2 - Register Setting
    DEVICE FAMILY TICS PRO FIELD NAME PIN NAME DPLL FB DIVIDED BY 2
    REGISTER SETTING
    BAW DPLL DPLL2 DPLL1(1)
    LMK05318B, LMK05318 DPLL FB Divider,
    div-by-2
    STATUS0 R48 = 0x41 N/A N/A
    STATUS1 R49 = 0x41 N/A N/A
    LMK5B, LMK5CA, LMK5C TDCx FB-Divider
    Divided By 2
    Required for any GPIOx R70[0] = 1
    GPIO0 R57[6:0] = 0x66 R57[6:0] = 0x63 R57[6:0] = 0x60
    GPIO1 R58[6:0] = 0x66 R58[6:0] = 0x63 R58[6:0] = 0x60
    GPIO2 R59[6:0] = 0x66 R59[6:0] = 0x63 R59[6:0] = 0x60
    Column is not applicable for LMK5B12212 or LMK5C22212A.