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数字延迟功能使用不了

Other Parts Discussed in Thread: LMK04828, LMK04832

各位专家。我这边正在验证lmk04828的数字延迟和模拟延迟。输入为clkin1输入20mhz时钟,oscin输入为100mhz时钟。vco0为2500mhz。

dclkout0为2500mhz,dclkout2为2500mhz。我使用示波器测试这两个时钟的延迟。

关于模拟延迟。我在TICSPRO上设置clock output  select设置为analog delay + divider。在芯片配置完成后。更改analog delay中的延迟值。发现时钟延迟更改了。但是改动的值和我设置的不太一样。关于模拟延迟这边操作有什么问题吗?

另外我准备测试数字延迟功能。数字延迟按照手册上说拥有两个模式。

我准备验证Fixed Digital Delay。使用手册上说明的例子。

设置DCLKout0_DDLY_CNTH/L的值为4,4。设置DCLKout0_DDLY_CNTH/L的值为4,5;

设置DCLKout0_DDLY_PD = 0 and DCLKout2_DDLY_PD = 0;

设置SYNC_DIS0 = 0 and SYNC_DIS2 = 0;

在操作sync_pol写1在写0。

已知VCO0为2500mhz。我修改后延迟为半个VCO0周期应该为200ps。即dclkout0和dclkout1应该反相。但是事实是,输出时钟毫无变化。我这边的操作还有什么漏掉的地方吗?

  •  @大佬有空帮忙看一下吗,非常感谢。

  • 您好,您的问题我们需要升级到英文论坛寻求帮助,如有答复将尽快回复您。

  • 非常感谢您。希望能得到回复。

  • 您好,

    工程师这边已经可以确认示波器上的digital delay step size是正确的。

    您能否再分享下您的相关程序及其测试过程的更多信息? 

  • R0 (INIT)	0x000090
    R0	0x000010
    R2	0x000200
    R3	0x000306
    R4	0x0004D0
    R5	0x00055B
    R6	0x000600
    R12	0x000C51
    R13	0x000D04
    R256	0x010001
    R257	0x010155
    R258	0x010255
    R259	0x01030F
    R260	0x010442
    R261	0x010500
    R262	0x010601
    R263	0x010755
    R264	0x010801
    R265	0x010955
    R266	0x010A55
    R267	0x010B2F
    R268	0x010C42
    R269	0x010D00
    R270	0x010E01
    R271	0x010F05
    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	0x011EF1
    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	0x0136F1
    R311	0x013733
    R312	0x013805
    R313	0x013900
    R314	0x013A0C
    R315	0x013B00
    R316	0x013C00
    R317	0x013D08
    R318	0x013E03
    R319	0x013F00
    R320	0x01400F
    R321	0x014103
    R322	0x014200
    R323	0x014311
    R324	0x014400
    R325	0x01457F
    R326	0x014618
    R327	0x01471A
    R328	0x014802
    R329	0x014942
    R330	0x014A02
    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	0x015902
    R346	0x015A58
    R347	0x015BD4
    R348	0x015C20
    R349	0x015D00
    R350	0x015E00
    R351	0x015F0B
    R352	0x016000
    R353	0x01610A
    R354	0x016244
    R355	0x016300
    R356	0x016400
    R357	0x01657D
    R369	0x0171AA
    R370	0x017202
    R380	0x017C15
    R381	0x017D33
    R358	0x016600
    R359	0x016700
    R360	0x01687D
    R361	0x016959
    R362	0x016A20
    R363	0x016B00
    R364	0x016C00
    R365	0x016D00
    R366	0x016E13
    R371	0x017300
    R386	0x018200
    R387	0x018300
    R388	0x018400
    R389	0x018500
    R392	0x018800
    R393	0x018900
    R394	0x018A00
    R395	0x018B00
    R8189	0x1FFD00
    R8190	0x1FFE00
    R8191	0x1FFF53
    
    这是我的寄存器配置表。

  • 这是我使用示波器测试的模拟延迟。调节可以但是貌似值不对。数字延迟功能还是使用不对。可以分享你们寄存器配置文件吗?

  • 您好,

    请问问题是仅出现在固定的digital delay 功能上,还是说仅设置analog delay设置时也会出现? 工程师目前正在实验室中进行debug,应该会在假期前给到您答复。

  • 这边问题有两个。我使用04828的模拟延迟,输出值与我的设置值貌似不一致。

    这是设置clk0-数字延迟55-模拟延迟500ps,clk1-数字延迟55-模拟延迟500ps

    这是设置clk0-数字延迟55-模拟延迟500ps,clk1-数字延迟55-模拟延迟525ps

    这是设置clk0-数字延迟55-模拟延迟500ps,clk1-数字延迟55-模拟延迟600ps

    这是设置clk0-数字延迟55-模拟延迟500ps,clk1-数字延迟55-模拟延迟625ps

    这是设置clk0-数字延迟55-模拟延迟500ps,clk1-数字延迟55-模拟延迟725ps

    这是设置clk0-数字延迟56-模拟延迟500ps,clk1-数字延迟55-模拟延迟500ps

    设置数字延迟后,在操作sync_pol写1在写0。

  • 这是我FPGA配置过程,和ticspro一致的。

    assign Config_Param[  0] = {16'h0000,8'h90};//soft reset
    assign Config_Param[  1] = {16'h0000,8'h00};//写00三线SPI
    assign Config_Param[  2] = {16'h0002,8'h00};//0x002-0x00d默认寄存器
    assign Config_Param[  3] = {16'h0003,8'h06};
    assign Config_Param[  4] = {16'h0004,8'hD0};
    assign Config_Param[  5] = {16'h0005,8'h5B};
    assign Config_Param[  6] = {16'h0006,8'h00};
    assign Config_Param[  7] = {16'h000c,8'h51};
    assign Config_Param[  8] = {16'h000d,8'h04};
    assign Config_Param[  9] = {16'h0100,8'h01};//DCLKout0;drive level;
    assign Config_Param[ 10] = {16'h0101,8'h55};//digital delay
    assign Config_Param[ 11] = {16'h0102,8'h55};
    assign Config_Param[ 12] = {16'h0103,8'h0F};//analog delay
    assign Config_Param[ 13] = {16'h0104,8'h42};//half step;SYSREF output MUX;digital delay
    assign Config_Param[ 14] = {16'h0105,8'h00};//analog delay;SYSREF
    assign Config_Param[ 15] = {16'h0106,8'h01};//power down functions for the digital delay
    assign Config_Param[ 16] = {16'h0107,8'h55};//output polarity
    assign Config_Param[ 17] = {16'h0108,8'h01};//drive level,divider values.
    assign Config_Param[ 18] = {16'h0109,8'h55};//digital delay high;device clock outputs.
    assign Config_Param[ 19] = {16'h010a,8'h55};//0x100-0x137配置输出
    assign Config_Param[ 20] = {16'h010b,8'h2F};
    assign Config_Param[ 21] = {16'h010c,8'h42};
    assign Config_Param[ 22] = {16'h010d,8'h00};
    assign Config_Param[ 23] = {16'h010e,8'h01};
    assign Config_Param[ 24] = {16'h010f,8'h05};
    assign Config_Param[ 25] = {16'h0110,8'h08};
    assign Config_Param[ 26] = {16'h0111,8'h55};
    assign Config_Param[ 27] = {16'h0112,8'h55};
    assign Config_Param[ 28] = {16'h0113,8'h00};
    assign Config_Param[ 29] = {16'h0114,8'h02};
    assign Config_Param[ 30] = {16'h0115,8'h00};
    assign Config_Param[ 31] = {16'h0116,8'hF9};
    assign Config_Param[ 32] = {16'h0117,8'h00};
    assign Config_Param[ 33] = {16'h0118,8'h18};
    assign Config_Param[ 34] = {16'h0119,8'h55};
    assign Config_Param[ 35] = {16'h011a,8'h55};
    assign Config_Param[ 36] = {16'h011b,8'h00};
    assign Config_Param[ 37] = {16'h011c,8'h02};
    assign Config_Param[ 38] = {16'h011d,8'h00};
    assign Config_Param[ 39] = {16'h011e,8'hF1};
    assign Config_Param[ 40] = {16'h011f,8'h33};
    assign Config_Param[ 41] = {16'h0120,8'h08};
    assign Config_Param[ 42] = {16'h0121,8'h55};
    assign Config_Param[ 43] = {16'h0122,8'h55};
    assign Config_Param[ 44] = {16'h0123,8'h00};
    assign Config_Param[ 45] = {16'h0124,8'h02};
    assign Config_Param[ 46] = {16'h0125,8'h00};
    assign Config_Param[ 47] = {16'h0126,8'hF9};
    assign Config_Param[ 48] = {16'h0127,8'h00};
    assign Config_Param[ 49] = {16'h0128,8'h08};
    assign Config_Param[ 50] = {16'h0129,8'h55};
    assign Config_Param[ 51] = {16'h012a,8'h55};
    assign Config_Param[ 52] = {16'h012b,8'h00};
    assign Config_Param[ 53] = {16'h012c,8'h02};
    assign Config_Param[ 54] = {16'h012d,8'h00};
    assign Config_Param[ 55] = {16'h012e,8'hF9};
    assign Config_Param[ 56] = {16'h012f,8'h00};
    assign Config_Param[ 57] = {16'h0130,8'h06};
    assign Config_Param[ 58] = {16'h0131,8'h55};
    assign Config_Param[ 59] = {16'h0132,8'h55};
    assign Config_Param[ 60] = {16'h0133,8'h00};
    assign Config_Param[ 61] = {16'h0134,8'h02};//
    assign Config_Param[ 62] = {16'h0135,8'h00};
    assign Config_Param[ 63] = {16'h0136,8'hF1};
    assign Config_Param[ 64] = {16'h0137,8'h33};//输出极性
    assign Config_Param[ 65] = {16'h0138,8'h05};//OSCont输出,and vco0 or vco1
    assign Config_Param[ 66] = {16'h0139,8'h00};//SYSREF outputs
    assign Config_Param[ 67] = {16'h013a,8'h0C};//SYSREF output divider
    assign Config_Param[ 68] = {16'h013b,8'h00};//SYSREF output divider
    assign Config_Param[ 69] = {16'h013c,8'h00};//SYSREF digital delay value
    assign Config_Param[ 70] = {16'h013d,8'h08};//SYSREF digital delay value
    assign Config_Param[ 71] = {16'h013e,8'h03};//SYSREF pulses
    assign Config_Param[ 72] = {16'h013f,8'h00};//feedback feature.//OSCIN,Feedback mux
    assign Config_Param[ 73] = {16'h0140,8'h0F};//power down 寄存器
    assign Config_Param[ 74] = {16'h0141,8'h03};//SYSREF digital delay
    assign Config_Param[ 75] = {16'h0142,8'h00};//number of dynamic digital delay
    assign Config_Param[ 76] = {16'h0143,8'h11};//SYNC parameters
    assign Config_Param[ 77] = {16'h0144,8'h00};//sync
    assign Config_Param[ 78] = {16'h0145,8'h7F};//默认
    assign Config_Param[ 79] = {16'h0146,8'h18};//CLKin enable and type controls.
    assign Config_Param[ 80] = {16'h0147,8'h1A};//注意一下,选择PLL1输入
    assign Config_Param[ 81] = {16'h0148,8'h02};//CLKin_SEL0 controls.
    assign Config_Param[ 82] = {16'h0149,8'h42};//写02,支持回读寄存器
    assign Config_Param[ 83] = {16'h014a,8'h02};//RESET pin
    assign Config_Param[ 84] = {16'h014b,8'h16};//holdover functions
    assign Config_Param[ 85] = {16'h014c,8'h00};
    assign Config_Param[ 86] = {16'h014d,8'h00};
    assign Config_Param[ 87] = {16'h014e,8'hC0};//DAC clock counter
    assign Config_Param[ 88] = {16'h014f,8'h7F};//DAC when in tracked mode
    assign Config_Param[ 89] = {16'h0150,8'h03};//switch events
    assign Config_Param[ 90] = {16'h0151,8'h02};
    assign Config_Param[ 91] = {16'h0152,8'h00};//PLL1 PDF before holdover is exited.
    assign Config_Param[ 92] = {16'h0153,8'h00};//CLKin0 divide
    assign Config_Param[ 93] = {16'h0154,8'h78};//CLKin0 divide
    assign Config_Param[ 94] = {16'h0155,8'h00};//CLKin1 R divider
    assign Config_Param[ 95] = {16'h0156,8'h78};//CLKin1 R divider
    assign Config_Param[ 96] = {16'h0157,8'h00};// CLKin2 R divider.
    assign Config_Param[ 97] = {16'h0158,8'h96};// CLKin2 R divider.
    assign Config_Param[ 98] = {16'h0159,8'h02};//N divider value for PLL1.
    assign Config_Param[ 99] = {16'h015a,8'h58};//N divider value for PLL1.
    assign Config_Param[100] = {16'h015b,8'hD4};// PLL1 phase detector
    assign Config_Param[101] = {16'h015c,8'h20};//PLL1 DLD counter
    assign Config_Param[102] = {16'h015d,8'h00};//PLL1 DLD counter
    assign Config_Param[103] = {16'h015e,8'h00};//PLL1 N and R delays.
    assign Config_Param[104] = {16'h015f,8'h0B};//PLL1 LD pin.//SET00.STATUSLD2 USER
    assign Config_Param[105] = {16'h0160,8'h00};//PLL2 R divider.
    assign Config_Param[106] = {16'h0161,8'h0A};
    assign Config_Param[107] = {16'h0162,8'h44};//PLL2 functions.
    assign Config_Param[108] = {16'h0163,8'h00};
    assign Config_Param[109] = {16'h0164,8'h00};
    assign Config_Param[110] = {16'h0165,8'h7D};
    assign Config_Param[111] = {16'h0171,8'hAA};//确保171号寄存器为AA
    assign Config_Param[112] = {16'h0172,8'h02};//确保172号寄存器为02
    assign Config_Param[113] = {16'h017c,8'h15};//确保lmk型号
    assign Config_Param[114] = {16'h017d,8'h33};
    assign Config_Param[115] = {16'h0166,8'h00};//PLL2频率校准
    assign Config_Param[116] = {16'h0167,8'h00};//
    assign Config_Param[117] = {16'h0168,8'h7D};//
    assign Config_Param[118] = {16'h0169,8'h59};//PLL2 phase detector.
    assign Config_Param[119] = {16'h016a,8'h20};//PLL2 DLD counter
    assign Config_Param[120] = {16'h016b,8'h00};
    assign Config_Param[121] = {16'h016c,8'h00};//loop filter resistors.
    assign Config_Param[122] = {16'h016d,8'h00};//loop filter capacitors
    assign Config_Param[123] = {16'h016e,8'h13};//设置status_LD2引脚
    assign Config_Param[124] = {16'h0173,8'h00};
    assign Config_Param[125] = {16'h0182,8'h00};
    assign Config_Param[126] = {16'h0183,8'h00};
    assign Config_Param[127] = {16'h0184,8'h00};//回读
    assign Config_Param[128] = {16'h0185,8'h00};//DAC for user readback.
    assign Config_Param[129] = {16'h0188,8'h00};
    assign Config_Param[130] = {16'h0189,8'h00};
    assign Config_Param[131] = {16'h018a,8'h00};
    assign Config_Param[132] = {16'h018b,8'h00};
    assign Config_Param[133] = {16'h1ffd,8'h00};//spi_lock
    assign Config_Param[134] = {16'h1ffe,8'h00};//
    assign Config_Param[135] = {16'h1fff,8'h53};//写16'h53,SPI不锁定

    另外需要更改寄存器的时候,使用vio单独配置lmk04828的寄存器。操作和ticspro也是一致的。

  • 您好,

    Analog delay只能用于最大频率为1536MHz 的输出,由于运行频率为2500MHz,所以其不起作用。 

    但是,您是否正在尝试将 CLKout0和 CLKout2延迟100ps? 如果您可以告知在输出之间想要实现的不同延迟,如果该器件具有该功能,我们可以为您提供建议来实现,或者推荐另一个类似的器件。 

    除此之外,工程师这边在没有任何延迟的情况下以1024MHz 的频率测试了两个输出,同步了它们,使用相位匹配/相同长度的电缆,也仍然可以看到它们之间存在~50ps 的延迟(下图显示了这一点,请注意工程师使用了不同的 VCO 频率,因为他使用的是122.88MHz VCXO)。

    我们正在尝试寻求其他专家的帮助和确认,看下该现象是否符合预期,这可能是您没有看到输出之间的确切延迟的原因,因为即使是在允许的频率内运行输出也是如此。 我们确认后会给到您答复。

    另外,请问您为什么要为输出使用延迟? 如果方便的话,能否多分享下有关您系统的信息?

  • 你好,非常感谢你们的回复。

    这里的模拟延迟输出是有限制的。这是我所没有注意到的地方。

    是的,我正在尝试将clkout0和clkout2之间使用100ps的延迟。且clk0和clk2输出的频率为2500mhz。我们查阅到lmk04828是支持这个功能的。如果你们能为我提供帮助那真是太好了。

    我之所以使用延迟功能是因为后续的系统对时钟有要求,我现在需要做的就是把这个调试出来。但这都是后续了。我现在正在验证版上验证这个延迟功能。

    最后再次感谢你们帮助,祝你们假期愉快。

  • 您好,

    是的,我正在尝试将clkout0和clkout2之间使用100ps的延迟。且clk0和clk2输出的频率为2500mhz。

    由于 LMK04828的最大模拟延迟频率为1536MHz,因此模拟延迟不能用于2500MHz 输出。 在不使用模拟延迟的情况下,LMK04828可生成的最小延迟为半个 VCO 周期;因此对于此应用,可能的最小延迟步长为200ps (1/2500MHz/2 = 200ps)。 这意味着无法使用 LMK04828实现100ps 的所需步长。

    不过LMK04832可以对其提供的所有输出频率使用模拟延迟,因此,如果需要100ps 的延迟,器件应考虑采用该延迟。

    LMK04828和 LMK04832是相似的器件。 

    我们正在尝试寻求其他专家的帮助和确认,看下该现象是否符合预期,这可能是您没有看到输出之间的确切延迟的原因,因为即使是在允许的频率内运行输出也是如此。 我们确认后会给到您答复。

    工程师查看数据表以及讨论后可以确认,输出之间的50ps 偏斜是 LMK04828的典型规格。 因此如果应用需要100ps 的绝对偏斜,也需要考虑这一点。 如果不需要绝对偏斜测量,则我们通常建议您可以在示波器上添加一个偏斜,来在示波器上实现物理对齐的输出。