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 连续模式

Guru**** 2535750 points
Other Parts Discussed in Thread: LMK04828

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/clock-timing-group/clock-and-timing/f/clock-timing-forum/1127267/lmk04828-sysref-continuous-mode

器件型号:LMK04828

您好、TI。

我们正在尝试使用嵌套零延迟双环路模式中的 LMK04828获得以下输出。

  • SDCLKout3:625MHz (DCLK)
  • SDCLKout5:10MHz (SYSREF)
  • DCLKout6:250MHz (DCLK)
  • SDCLKout9:10MHz (SYSREF)

配置为器件时钟(DCLK)的 SDCLKout3和 DCLKout6输出正常工作(在实验中检查)。 另一方面、我们在配置为 SYSREF 时钟的 SDCLKout5和 SDCLKout9输出上没有获得任何输出。

我们使用连续 SYSREF 模式。

随附了我们使用的配置序列和简化的 LMK04828方框图。

请您看一下配置、并就我们可能发生的错误向我们提供一些建议吗?

此致、

O.

/***********************************/
/* 10M-250M-650M-RYT-v1.0.1 */
/***********************************/

/********************/
/* System functions */
/********************/

0x0000 0x80 // Soft reset, 3-wire mode enabled (default)
0x0002 0x00

/*****************************************************************/
/* Device Clock and SYSREF Clock Output Controls (0x100 - 0x137) */
/*****************************************************************/

// DCLKout0 and SDCLKout1
0x0100 0x02 // DCLK Divider: 2; Input/Output Drive Level Off;
0x0101 0x55
0x0103 0x00
0x0104 0x00 // SDCLK Source: DCLK;
0x0105 0x00
0x0106 0xFB // Group Powerdown: On;  Powerdown SDCLK: On;
0x0107 0x00 // SDCLK Format: Powerdown; DCLK Format: Powerdown;

// DCLKout2 and SDCLKout3
0x0108 0x04 // DCLK Divider: 4; Input/Output Drive Level Off;
0x0109 0x55
0x010B 0x00 
0x010C 0x00 // SDCLK Source: DCLK;
0x010D 0x00
0x010E 0xF2 // Group Powerdown: Off;  Powerdown SDCLK: Off;
0x010F 0x10 // SDCLK Format: LVDS; DCLK Format: Powerdown;

// DCLKout4 and SDCLKout5
0x0110 0x08 // DCLK Divider: 4; Input/Output Drive Level Off;
0x0111 0x55
0x0113 0x00
0x0114 0x20 // SDCLK Source: SYSREF;
0x0115 0x00
0x0116 0xF2 // Group Powerdown: Off;  Powerdown SDCLK: Off;
0x0117 0x10 // SDCLK Format: LVDS; DCLK Format: Powerdown;

// DCLKout6 and SDCLKout7
0x0118 0x0A // DCLK Divider: 10; Input/Output Drive Level Off;
0x0119 0x55
0x011B 0x00
0x011C 0x00 // SDCLK Source: DCLK;
0x011D 0x00
0x011E 0xF2 // Group Powerdown: Off;  Powerdown SDCLK: Off;
0x011F 0x01 // SDCLK Format: Powerdown; DCLK Format: LVDS;

// DCLKout8 and SDCLKout9
0x0120 0x08 // DCLK Divider: 8; Input/Output Drive Level Off;
0x0121 0x55
0x0123 0x00
0x0124 0x20 // SDCLK Source: SYSREF;
0x0125 0x00
0x0126 0xF2 // Group Powerdown: Off;  Powerdown SDCLK: Off;
0x0127 0x10 // SDCLK Format: LVDS; DCLK Format: Powerdown;

// DCLKout10 and SDCLKout11
0x0128 0x08 // DCLK Divider: 8; Input/Output Drive Level Off;
0x0129 0x55
0x012B 0x00
0x012C 0x00 // SDCLK Source: DCLK;
0x012D 0x00
0x012E 0xFB // Group Powerdown: On;  Powerdown SDCLK: On;
0x012F 0x00 // SDCLK Format: Powerdown; DCLK Format: Powerdown;

// DCLKout12 and SDCLKout13
0x0130 0x02 // DCLK Divider: 2; Input/Output Drive Level Off;
0x0131 0x55
0x0133 0x00
0x0134 0x00 // SDCLK Source: DCLK;
0x0135 0x00
0x0136 0xFB // Group Powerdown: On;  Powerdown SDCLK: On;
0x0137 0x00 // SDCLK Format: Powerdown; DCLK Format: Powerdown;

/**************************************************/
/* SYSREF, SYNC and Device Config (0x138 - 0x145) */
/**************************************************/
 
0x0138 0x00 // OSCout Format: Powerdown (CLKin2); PLL2 VCO: VCO_0 ;
0x0139 0x00 // SYSREF_MUX = 0 (Normal SYNC)
0x013A 0x00 // SYSREF Divider High: 0
0x013B 0xFA // SYSREF Divider Low: 0xFA=250 (2500MHz/250=10 MHz)
0x013C 0x00
0x013D 0x00
0x013E 0x03 // SYSREF Pulse count: 8 pulses
0x013F 0x09 // Feedback Mux: Enabled; Feedback Mux Source: DCLKout6; PLL1 N Mux Source: Feedback Mux
0x0140 0x01 // SYSREF Global Powrdown Bit: Off ; SYSREF Powerdown: Off;  SYSREF DDLY Powerdown: Off; SYSREF Pulse Generator Powerdown: On
0x0141 0x00
0x0142 0x00
0x0143 0x11 // SYNC_MODE = 1: SYNC event generated from SYNC pin, SYNC_POL = 0
0x0144 0x00 // Able SYSREF divider and clocks dividers from becoming synchronized during a SYNC event.
0x0145 0x7F // Fixed Register: Always write 0x7F (127).

/*********************************/
/* CLKin Control (0x146 - 0x149) */
/*********************************/

0x0146 0x28 // CLKin0 and CLKin2 enabled to be used dring auto-switching; CLKin0/1/2_TYPE = Bipolar;
0x0147 0x2A // CLKin0_OUT_MUX = 0x02 (PLL1); CLKin1_OUT_MUX = 0x02 (PLL1); CLKin_SEL_MODE = 0x02 (CLKin2 Manual);
0x0148 0x02 // Configure CLKin_SEL0 as an input (with pull down);
0x0149 0x42 // Configure CLKin_SEL1 as an input (with pull down); SDIO pin is open drain during SPI readback in 3 wire mode;

/****************************/
/* RESET_MUX and RESET_TYPE */
/****************************/

0x014A 0x02 // Configure RESET pin as an input.

/****************************/
/* Holdover (0x14B - 0x152) */
/****************************/

0x014B 0x02 // LOS_EN = '0'; TRACK_EN = '0'; MAN_DAC_EN = '0'; MAN_DAC = 512;
0x014C 0x00 //
0x014D 0x00 //
0x014E 0xC0 // DAC_CLK_MULT = 0x03 (16384); DAC_CLK_MULT = 0x00 (4);
0x014F 0x7F // DAC_CLK_CNTR = 127;
0x0150 0x00 // HOLDOVER_EN = '0'; HOLDOVER_HITLESS_SWITCH = '0'
0x0151 0x02 // HOLDOVER_DLD_CNT = 512
0x0152 0x00 // HOLDOVER_DLD_CNT = 512

/**************************************/
/* PLL1 Configuration (0x153 - 0x15F) */
/**************************************/

0x0153 0x00 // CLKin0_R = 2
0x0154 0x02 // CLKin0_R = 2
0x0155 0x00 // CLKin1_R = 120
0x0156 0x78 // CLKin1_R = 120
0x0157 0x00 // CLKin2_R = 2
0x0158 0x02 // CLKin2_R = 2
0x0159 0x00 // PLL1_N(13:0) = 50
0x015A 0x32 // PLL1_N(13:0) = 50
0x015B 0xD4 // CP Gain=0x04(450uA); PLL1 CPout1: Active (Not TRI-STATED); PLL1_WND_SIZE=0x03(43ns)
0x015C 0x20 // PLL1_DLD_CNT = 8192;
0x015D 0x00 // PLL1_DLD_CNT = 8192;
0x015E 0x00 // 
0x015F 0x0B // Status_LD1. PLL1_LD_TYPE = 0x03 (Output (push-pull)); PLL1_LD_MUX = 0x01 (PLL1 DLD);               

/**************************************/
/* PLL2 Configuration (0x160 - 0x165) */
/**************************************/

0x0160 0x00 // PLL2_R = 10
0x0161 0x0A // PLL2_R = 10
0x0162 0x44 // 0x44 -> Freq Doubler: Disabled; OSCin FREQ 67MHz-127MHz; PLL2_P = 2;
0x0163 0x00 
0x0164 0x00 // PLL2_N_CAL = 25 
0x0165 0x19 // PLL2_N_CAL = 25	

// Fixed registers
0x0171 0xAA // Program register 0x171 to 0xAA
0x0172 0x02 // Program register 0x172 to 0x02

// Programming registers 0x17C and 0x17D
0x017C 0x15 // OPT_REG_1. 24 for LMK04826; 21 for LMK04828 and LMK04821"  
0x017D 0x33 // OPT_REG_2. 119 for LMK04826; 51 for LMK04828 and LMK04821"	

/**************************************/
/* PLL2 Configuration (0x166 - 0x16E) */
/**************************************/

0x0166 0x00 // PLL2_N(17:0) = 100
0x0167 0x00 // PLL2_N(17:0) = 100
0x0168 0x64 // PLL2_N(17:0) = 100
0x0169 0x59
0x016A 0x20
0x016B 0x00
0x016C 0x00
0x016D 0x00
0x016E 0x13 // Status_LD2. PLL2_LD_TYPE = 0x03 (Output (push-pull)); PLL2_LD_MUX = 0x02 (PLL2 DLD);

/***************************************************/
/* Sync Dividers Sequence and SYSREF Configuration */
/***************************************************/

// Configure sync ciruit to sync dividers:
0x0139 0x00 // SYSREF_CLKin0_MUX=0b, SYSREF_MUX=0d (Normal SYNC)
0x0143 0x11 // SYNC_EN=1b and SYNC_MODE=1d SYNC event generated from SYNC pin
0x0144 0x00 // Configure SYSREF and Device clock to be synchronized during a SYNC event

// Generate a SYNC event
0x0143 0x31 // Toggle SYNC_POL to generate a SYNC event
0x0143 0x11 // Toggle SYNC_POL to generate a SYNC event

// Set user desired SYSREF configuration
0x0144 0xFF // Avoid dividers to be synced by SYNC Pin
0x0143 0x00 // Prevents SYNC pin from generating a SYNC event.
0x0139 0x03 // SYSREF_MUX=3d (SYSREF continouos)

e2e.ti.com/.../lmk04828_2D00_block_2D00_diagram.pdf

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Omelio、您好!

    SYSREF_DDLY 不能为零-请将其设置为最小值8。

    其他一般性意见:

    • 我看到您的 PLL2相位检测器频率为12.5MHz。 除非您的 VCXO 噪声很大、否则我建议将相位检测器频率设置为125MHz、因为这将使带内性能提高大约10dB (尽管环路带宽 也会增加)。 您可以尝试检查 PLLatinum Sim 中的差异
    • 假设 N-Cal 除法值与 FB_MUX 的频率相互作用、则设置 N-Cal 分频器。 这是不正确的。 当 PLL L2 N 分频器寄存器(0x168)的 LSB 被写入时、一个 PLL 校准事件被触发。 校准事件将当前 N 分频器值与 N-Cal 分频器寄存 器中的值进行交换、然后使用预分频器反馈路径校准 VCO。 换句话说、如果始终使用预分频器路径在 PLL2上进行反馈、则应将 N-Cal 分频器设置为等于 N 分频器。 否则、如果您打算使用 FB_MUX 反馈到 PLL2、 则应将 N-Cal 分频器设置为100、并将 N-divider 设置为250/PLL2_PFD。

    此致、

    Derek Payne

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Derek。

    感谢  您提供了非常详细的答案。

    • 正如您所说、我们已经将 SYSREF_DDLY 从0固定为8 (最小值)。
    • 我们不知道 PLL2校准例程。  感谢您的详细描述。 实际上、我们始终使用反馈 PLL2的预分频器路径。 我们将根据您的建议、将 N-Cal 分频器设置为等于 N 分频器(等于100)。
    • 关于12.5MHz 或125MHz 的 PLL2 PDF、我们将使用 PLLatinum Sim 进行进一步分析

    我们将在实验室中对新配置进行一些测试、然后我将向您提供更新。

    我希望这能解决我们的问题。

    再次感谢、

    Omelio

    PD。 随附新配置和方框图。

    e2e.ti.com/.../8666.lmk04828_2D00_block_2D00_diagram.pdf

    /***********************************/
    /* 10M-250M-650M-v1.0.2 */
    /***********************************/
    
    /********************/
    /* System functions */
    /********************/
    
    0x0000 0x80 // Soft reset, 3-wire mode enabled (default)
    0x0002 0x00
    
    /*****************************************************************/
    /* Device Clock and SYSREF Clock Output Controls (0x100 - 0x137) */
    /*****************************************************************/
    
    // DCLKout0 and SDCLKout1
    0x0100 0x02 // DCLK Divider: 2; Input/Output Drive Level Off;
    0x0101 0x55
    0x0103 0x00
    0x0104 0x00 // SDCLK Source: DCLK;
    0x0105 0x00
    0x0106 0xFB // Group Powerdown: On;  Powerdown SDCLK: On;
    0x0107 0x00 // SDCLK Format: Powerdown; DCLK Format: Powerdown;
    
    // DCLKout2 and SDCLKout3
    0x0108 0x04 // DCLK Divider: 4; Input/Output Drive Level Off;
    0x0109 0x55
    0x010B 0x00 
    0x010C 0x00 // SDCLK Source: DCLK;
    0x010D 0x00
    0x010E 0xF2 // Group Powerdown: Off;  Powerdown SDCLK: Off;
    0x010F 0x10 // SDCLK Format: LVDS; DCLK Format: Powerdown;
    
    // DCLKout4 and SDCLKout5
    0x0110 0x08 // DCLK Divider: 4; Input/Output Drive Level Off;
    0x0111 0x55
    0x0113 0x00
    0x0114 0x20 // SDCLK Source: SYSREF;
    0x0115 0x00
    0x0116 0xF2 // Group Powerdown: Off;  Powerdown SDCLK: Off;
    0x0117 0x10 // SDCLK Format: LVDS; DCLK Format: Powerdown;
    
    // DCLKout6 and SDCLKout7
    0x0118 0x0A // DCLK Divider: 10; Input/Output Drive Level Off;
    0x0119 0x55
    0x011B 0x00
    0x011C 0x00 // SDCLK Source: DCLK;
    0x011D 0x00
    0x011E 0xF2 // Group Powerdown: Off;  Powerdown SDCLK: Off;
    0x011F 0x01 // SDCLK Format: Powerdown; DCLK Format: LVDS;
    
    // DCLKout8 and SDCLKout9
    0x0120 0x08 // DCLK Divider: 8; Input/Output Drive Level Off;
    0x0121 0x55
    0x0123 0x00
    0x0124 0x20 // SDCLK Source: SYSREF;
    0x0125 0x00
    0x0126 0xF2 // Group Powerdown: Off;  Powerdown SDCLK: Off;
    0x0127 0x10 // SDCLK Format: LVDS; DCLK Format: Powerdown;
    
    // DCLKout10 and SDCLKout11
    0x0128 0x08 // DCLK Divider: 8; Input/Output Drive Level Off;
    0x0129 0x55
    0x012B 0x00
    0x012C 0x00 // SDCLK Source: DCLK;
    0x012D 0x00
    0x012E 0xFB // Group Powerdown: On;  Powerdown SDCLK: On;
    0x012F 0x00 // SDCLK Format: Powerdown; DCLK Format: Powerdown;
    
    // DCLKout12 and SDCLKout13
    0x0130 0x02 // DCLK Divider: 2; Input/Output Drive Level Off;
    0x0131 0x55
    0x0133 0x00
    0x0134 0x00 // SDCLK Source: DCLK;
    0x0135 0x00
    0x0136 0xFB // Group Powerdown: On;  Powerdown SDCLK: On;
    0x0137 0x00 // SDCLK Format: Powerdown; DCLK Format: Powerdown;
    
    /**************************************************/
    /* SYSREF, SYNC and Device Config (0x138 - 0x145) */
    /**************************************************/
     
    0x0138 0x00 // OSCout Format: Powerdown (CLKin2); PLL2 VCO: VCO_0 ;
    0x0139 0x00 // SYSREF_MUX = 0 (Normal SYNC)
    0x013A 0x00 // SYSREF Divider High: 0
    0x013B 0xFA // SYSREF Divider Low: 0xFA=250 (2500MHz/250=10 MHz)
    0x013C 0x00 // SYSREF Digital Delay (SYSREF_DDLY = 8)
    0x013D 0x08 // SYSREF Digital Delay (SYSREF_DDLY = 8)
    0x013E 0x03 // SYSREF Pulse count: 8 pulses
    0x013F 0x09 // Feedback Mux: Enabled; Feedback Mux Source: DCLKout6; PLL1 N Mux Source: Feedback Mux
    0x0140 0x01 // SYSREF Global Powrdown Bit: Off ; SYSREF Powerdown: Off;  SYSREF DDLY Powerdown: Off; SYSREF Pulse Generator Powerdown: On
    0x0141 0x00
    0x0142 0x00
    0x0143 0x11 // SYNC_MODE = 1: SYNC event generated from SYNC pin, SYNC_POL = 0
    0x0144 0x00 // Able SYSREF divider and clocks dividers from becoming synchronized during a SYNC event.
    0x0145 0x7F // Fixed Register: Always write 0x7F (127).
    
    /*********************************/
    /* CLKin Control (0x146 - 0x149) */
    /*********************************/
    
    0x0146 0x28 // CLKin0 and CLKin2 enabled to be used dring auto-switching; CLKin0/1/2_TYPE = Bipolar;
    0x0147 0x2A // CLKin0_OUT_MUX = 0x02 (PLL1); CLKin1_OUT_MUX = 0x02 (PLL1); CLKin_SEL_MODE = 0x02 (CLKin2 Manual);
    0x0148 0x02 // Configure CLKin_SEL0 as an input (with pull down);
    0x0149 0x42 // Configure CLKin_SEL1 as an input (with pull down); SDIO pin is open drain during SPI readback in 3 wire mode;
    
    /****************************/
    /* RESET_MUX and RESET_TYPE */
    /****************************/
    
    0x014A 0x02 // Configure RESET pin as an input.
    
    /****************************/
    /* Holdover (0x14B - 0x152) */
    /****************************/
    
    0x014B 0x02 // LOS_EN = '0'; TRACK_EN = '0'; MAN_DAC_EN = '0'; MAN_DAC = 512;
    0x014C 0x00 //
    0x014D 0x00 //
    0x014E 0xC0 // DAC_CLK_MULT = 0x03 (16384); DAC_CLK_MULT = 0x00 (4);
    0x014F 0x7F // DAC_CLK_CNTR = 127;
    0x0150 0x00 // HOLDOVER_EN = '0'; HOLDOVER_HITLESS_SWITCH = '0'
    0x0151 0x02 // HOLDOVER_DLD_CNT = 512
    0x0152 0x00 // HOLDOVER_DLD_CNT = 512
    
    /**************************************/
    /* PLL1 Configuration (0x153 - 0x15F) */
    /**************************************/
    
    0x0153 0x00 // CLKin0_R = 2
    0x0154 0x02 // CLKin0_R = 2
    0x0155 0x00 // CLKin1_R = 120
    0x0156 0x78 // CLKin1_R = 120
    0x0157 0x00 // CLKin2_R = 2
    0x0158 0x02 // CLKin2_R = 2
    0x0159 0x00 // PLL1_N(13:0) = 50
    0x015A 0x32 // PLL1_N(13:0) = 50
    0x015B 0xD4 // CP Gain=0x04(450uA); PLL1 CPout1: Active (Not TRI-STATED); PLL1_WND_SIZE=0x03(43ns)
    0x015C 0x20 // PLL1_DLD_CNT = 8192;
    0x015D 0x00 // PLL1_DLD_CNT = 8192;
    0x015E 0x00 // 
    0x015F 0x0B // Status_LD1. PLL1_LD_TYPE = 0x03 (Output (push-pull)); PLL1_LD_MUX = 0x01 (PLL1 DLD);               
    
    /**************************************/
    /* PLL2 Configuration (0x160 - 0x165) */
    /**************************************/
    
    0x0160 0x00 // PLL2_R = 10
    0x0161 0x0A // PLL2_R = 10
    0x0162 0x44 // 0x44 -> Freq Doubler: Disabled; OSCin FREQ 67MHz-127MHz; PLL2_P = 2;
    0x0163 0x00 
    0x0164 0x00 // PLL2_N_CAL = 100 
    0x0165 0x64 // PLL2_N_CAL = 100	
    
    // Fixed registers
    0x0171 0xAA // Program register 0x171 to 0xAA
    0x0172 0x02 // Program register 0x172 to 0x02
    
    // Programming registers 0x17C and 0x17D
    0x017C 0x15 // OPT_REG_1. 24 for LMK04826; 21 for LMK04828 and LMK04821"  
    0x017D 0x33 // OPT_REG_2. 119 for LMK04826; 51 for LMK04828 and LMK04821"	
    
    /**************************************/
    /* PLL2 Configuration (0x166 - 0x16E) */
    /**************************************/
    
    0x0166 0x00 // PLL2_N(17:0) = 100
    0x0167 0x00 // PLL2_N(17:0) = 100
    0x0168 0x64 // PLL2_N(17:0) = 100
    0x0169 0x59
    0x016A 0x20
    0x016B 0x00
    0x016C 0x00
    0x016D 0x00
    0x016E 0x13 // Status_LD2. PLL2_LD_TYPE = 0x03 (Output (push-pull)); PLL2_LD_MUX = 0x02 (PLL2 DLD);
    
    /***************************************************/
    /* Sync Dividers Sequence and SYSREF Configuration */
    /***************************************************/
    
    // Configure sync ciruit to sync dividers:
    0x0139 0x00 // SYSREF_CLKin0_MUX=0b, SYSREF_MUX=0d (Normal SYNC)
    0x0143 0x11 // SYNC_EN=1b and SYNC_MODE=1d SYNC event generated from SYNC pin
    0x0144 0x00 // Configure SYSREF and Device clock to be synchronized during a SYNC event
    
    // Generate a SYNC event
    0x0143 0x31 // Toggle SYNC_POL to generate a SYNC event
    0x0143 0x11 // Toggle SYNC_POL to generate a SYNC event
    
    // Set user desired SYSREF configuration
    0x0144 0xFF // Avoid dividers to be synced by SYNC Pin
    0x0143 0x00 // Prevents SYNC pin from generating a SYNC event.
    0x0139 0x03 // SYSREF_MUX=3d (SYSREF continuos)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Derek:

    除了您建议的更改外、我们还必须进行以下修改、以使 SDCLK​​输出作为 SYSREF 连续时钟正常工作:

    以前:

    -第105行:0x0149 0x42 //将 CLKIN_SEL1配置为输入(具有下拉电阻);在3线模式下、在 SPI 回读期间 SDIO 引脚为开漏;
    -第194行:0x0143 0x00 //同步功能禁用。 防止 SYNC 引脚生成同步事件。

    之后:

    - Línea 105:0x149 0x02 //将 CLKIN_SEL1配置为输入(具有下拉功能);在 SPI 读回期间 SDIO 引脚处于推挽模式、处于3线模式;
    - Línea 192:0x0143 0x10 //同步功能启用。 防止 SYNC 引脚生成同步事件。

    非常感谢、

    Omelio。

    /***********************************/
    /* HexReg-10M-250M-625M-v1.0.3 */
    /***********************************/
    
    /********************/
    /* System functions */
    /********************/
    
    0x0000 0x80 // Soft reset, 3-wire mode enabled (default)
    0x0002 0x00
    
    /*****************************************************************/
    /* Device Clock and SYSREF Clock Output Controls (0x100 - 0x137) */
    /*****************************************************************/
    
    // DCLKout0 and SDCLKout1
    0x0100 0x02 // DCLK Divider: 2; Input/Output Drive Level Off;
    0x0101 0x55
    0x0103 0x00
    0x0104 0x00 // SDCLK Source: DCLK;
    0x0105 0x00
    0x0106 0xFB // Group Powerdown: On;  Powerdown SDCLK: On;
    0x0107 0x00 // SDCLK Format: Powerdown; DCLK Format: Powerdown;
    
    // DCLKout2 and SDCLKout3
    0x0108 0x04 // DCLK Divider: 4; Input/Output Drive Level Off;
    0x0109 0x55
    0x010B 0x00 
    0x010C 0x00 // SDCLK Source: DCLK;
    0x010D 0x00
    0x010E 0xF2 // Group Powerdown: Off;  Powerdown SDCLK: Off;
    0x010F 0x10 // SDCLK Format: LVDS; DCLK Format: Powerdown;
    
    // DCLKout4 and SDCLKout5
    0x0110 0x08 // DCLK Divider: 4; Input/Output Drive Level Off;
    0x0111 0x55
    0x0113 0x00
    0x0114 0x20 // SDCLK Source: SYSREF;
    0x0115 0x00
    0x0116 0xF2 // Group Powerdown: Off;  Powerdown SDCLK: Off;
    0x0117 0x10 // SDCLK Format: LVDS; DCLK Format: Powerdown;
    
    // DCLKout6 and SDCLKout7
    0x0118 0x0A // DCLK Divider: 10; Input/Output Drive Level Off;
    0x0119 0x55
    0x011B 0x00
    0x011C 0x00 // SDCLK Source: DCLK;
    0x011D 0x00
    0x011E 0xF2 // Group Powerdown: Off;  Powerdown SDCLK: Off;
    0x011F 0x01 // SDCLK Format: Powerdown; DCLK Format: LVDS;
    
    // DCLKout8 and SDCLKout9
    0x0120 0x08 // DCLK Divider: 8; Input/Output Drive Level Off;
    0x0121 0x55
    0x0123 0x00
    0x0124 0x20 // SDCLK Source: SYSREF;
    0x0125 0x00
    0x0126 0xF2 // Group Powerdown: Off;  Powerdown SDCLK: Off;
    0x0127 0x10 // SDCLK Format: LVDS; DCLK Format: Powerdown;
    
    // DCLKout10 and SDCLKout11
    0x0128 0x08 // DCLK Divider: 8; Input/Output Drive Level Off;
    0x0129 0x55
    0x012B 0x00
    0x012C 0x00 // SDCLK Source: DCLK;
    0x012D 0x00
    0x012E 0xFB // Group Powerdown: On;  Powerdown SDCLK: On;
    0x012F 0x00 // SDCLK Format: Powerdown; DCLK Format: Powerdown;
    
    // DCLKout12 and SDCLKout13
    0x0130 0x02 // DCLK Divider: 2; Input/Output Drive Level Off;
    0x0131 0x55
    0x0133 0x00
    0x0134 0x00 // SDCLK Source: DCLK;
    0x0135 0x00
    0x0136 0xFB // Group Powerdown: On;  Powerdown SDCLK: On;
    0x0137 0x00 // SDCLK Format: Powerdown; DCLK Format: Powerdown;
    
    /**************************************************/
    /* SYSREF, SYNC and Device Config (0x138 - 0x145) */
    /**************************************************/
     
    0x0138 0x00 // OSCout Format: Powerdown (CLKin2); PLL2 VCO: VCO_0 ;
    0x0139 0x00 // SYSREF_MUX = 0 (Normal SYNC)
    0x013A 0x00 // SYSREF Divider High: 0
    0x013B 0xFA // SYSREF Divider Low: 0xFA=250 (2500MHz/250=10 MHz)
    0x013C 0x00 // SYSREF Digital Delay (SYSREF_DDLY = 8)
    0x013D 0x08 // SYSREF Digital Delay (SYSREF_DDLY = 8)
    0x013E 0x03 // SYSREF Pulse count: 8 pulses
    0x013F 0x09 // Feedback Mux: Enabled; Feedback Mux Source: DCLKout6; PLL1 N Mux Source: Feedback Mux
    0x0140 0x01 // SYSREF Global Powrdown Bit: Off ; SYSREF Powerdown: Off;  SYSREF DDLY Powerdown: Off; SYSREF Pulse Generator Powerdown: On
    0x0141 0x00
    0x0142 0x00
    0x0143 0x11 // SYNC_MODE = 1: SYNC event generated from SYNC pin, SYNC_POL = 0
    0x0144 0x00 // Able SYSREF divider and clocks dividers from becoming synchronized during a SYNC event.
    0x0145 0x7F // Fixed Register: Always write 0x7F (127).
    
    /*********************************/
    /* CLKin Control (0x146 - 0x149) */
    /*********************************/
    
    0x0146 0x28 // CLKin0 and CLKin2 enabled to be used dring auto-switching; CLKin0/1/2_TYPE = Bipolar;
    0x0147 0x2A // CLKin0_OUT_MUX = 0x02 (PLL1); CLKin1_OUT_MUX = 0x02 (PLL1); CLKin_SEL_MODE = 0x02 (CLKin2 Manual);
    0x0148 0x02 // Configure CLKin_SEL0 as an input (with pull down);
    0x0149 0x02 // Configure CLKin_SEL1 as an input (with pull down); SDIO pin in push-pull during SPI readback, in 3 wire mode;
    
    /****************************/
    /* RESET_MUX and RESET_TYPE */
    /****************************/
    
    0x014A 0x02 // Configure RESET pin as an input.
    
    /****************************/
    /* Holdover (0x14B - 0x152) */
    /****************************/
    
    0x014B 0x02 // LOS_EN = '0'; TRACK_EN = '0'; MAN_DAC_EN = '0'; MAN_DAC = 512;
    0x014C 0x00 //
    0x014D 0x00 //
    0x014E 0xC0 // DAC_CLK_MULT = 0x03 (16384); DAC_CLK_MULT = 0x00 (4);
    0x014F 0x7F // DAC_CLK_CNTR = 127;
    0x0150 0x00 // HOLDOVER_EN = '0'; HOLDOVER_HITLESS_SWITCH = '0'
    0x0151 0x02 // HOLDOVER_DLD_CNT = 512
    0x0152 0x00 // HOLDOVER_DLD_CNT = 512
    
    /**************************************/
    /* PLL1 Configuration (0x153 - 0x15F) */
    /**************************************/
    
    0x0153 0x00 // CLKin0_R = 2
    0x0154 0x02 // CLKin0_R = 2
    0x0155 0x00 // CLKin1_R = 120
    0x0156 0x78 // CLKin1_R = 120
    0x0157 0x00 // CLKin2_R = 2
    0x0158 0x02 // CLKin2_R = 2
    0x0159 0x00 // PLL1_N(13:0) = 50
    0x015A 0x32 // PLL1_N(13:0) = 50
    0x015B 0xD4 // CP Gain=0x04(450uA); PLL1 CPout1: Active (Not TRI-STATED); PLL1_WND_SIZE=0x03(43ns)
    0x015C 0x20 // PLL1_DLD_CNT = 8192;
    0x015D 0x00 // PLL1_DLD_CNT = 8192;
    0x015E 0x00 // 
    0x015F 0x0B // Status_LD1. PLL1_LD_TYPE = 0x03 (Output (push-pull)); PLL1_LD_MUX = 0x01 (PLL1 DLD);               
    
    /**************************************/
    /* PLL2 Configuration (0x160 - 0x165) */
    /**************************************/
    
    0x0160 0x00 // PLL2_R = 10
    0x0161 0x0A // PLL2_R = 10
    0x0162 0x44 // 0x44 -> Freq Doubler: Disabled; OSCin FREQ 67MHz-127MHz; PLL2_P = 2;
    0x0163 0x00 
    0x0164 0x00 // PLL2_N_CAL = 100 
    0x0165 0x64 // PLL2_N_CAL = 100	
    
    // Fixed registers
    0x0171 0xAA // Program register 0x171 to 0xAA
    0x0172 0x02 // Program register 0x172 to 0x02
    
    // Programming registers 0x17C and 0x17D
    0x017C 0x15 // OPT_REG_1. 24 for LMK04826; 21 for LMK04828 and LMK04821"  
    0x017D 0x33 // OPT_REG_2. 119 for LMK04826; 51 for LMK04828 and LMK04821"	
    
    /**************************************/
    /* PLL2 Configuration (0x166 - 0x16E) */
    /**************************************/
    
    0x0166 0x00 // PLL2_N(17:0) = 100
    0x0167 0x00 // PLL2_N(17:0) = 100
    0x0168 0x64 // PLL2_N(17:0) = 100
    0x0169 0x59
    0x016A 0x20
    0x016B 0x00
    0x016C 0x00
    0x016D 0x00
    0x016E 0x13 // Status_LD2. PLL2_LD_TYPE = 0x03 (Output (push-pull)); PLL2_LD_MUX = 0x02 (PLL2 DLD);
    
    /***************************************************/
    /* Sync Dividers Sequence and SYSREF Configuration */
    /***************************************************/
    
    // Configure sync ciruit to sync dividers:
    0x0139 0x00 // SYSREF_CLKin0_MUX=0b, SYSREF_MUX=0d (Normal SYNC)
    0x0143 0x11 // SYNC_EN=1b and SYNC_MODE=1d SYNC event generated from SYNC pin
    0x0144 0x00 // Configure SYSREF and Device clock to be synchronized during a SYNC event
    
    // Generate a SYNC event
    0x0143 0x31 // Toggle SYNC_POL to generate a SYNC event
    0x0143 0x11 // Toggle SYNC_POL to generate a SYNC event
    
    // Set user desired SYSREF configuration
    0x0144 0xFF // Avoid dividers to be synced by SYNC Pin
    0x0143 0x10 // SYNC functionality enable. Prevents SYNC pin from generating a SYNC event.
    0x0139 0x03 // SYSREF_MUX=3d (SYSREF continuos)