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:使动态数字延迟发挥作用

Guru**** 2560390 points
Other Parts Discussed in Thread: LMK04828, LMK04828-EP

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

https://e2e.ti.com/support/clock-timing-group/clock-and-timing/f/clock-timing-forum/685502/lmk04828-making-dynamic-digital-delay-work

器件型号:LMK04828

我有一个 LMK04828B、我正在尝试使动态数字延迟正常工作。  目前没有发生任何事情、但我认为文档有点混乱(并且令人困惑)、因此我的错误可能很简单。

我指的是两本单独的参考手册:

  • SNAS605AR–2013年3月–2015年12月修订
    这涵盖了 LMK04828、这是我的部分、但由于说明似乎不起作用、我搜索了最新版本
  • SNAS703–2017年4月
    这涵盖了 LMK04828-EP 可能细微不兼容、尤其是本手册介绍了 SNAS605AR 中未提及的寄存器 DCLKoutX_DDLYD_CNTH 和 DCLKoutX_DDLYD_CNTL (0x102、0x10A、...、0x132)。

在我的配置中、我的 VCXO 以500MHz 的频率运行(在嵌套0延迟双环路模式下、对 DCLKout8的反馈)、我查看的是相对于输入基准时钟的 DCLKout10。

我具有以下 DCLKout10配置(我认为其他任何字段都不相关):

DCLKout10_DIV = 5
DCLKout10_MUX = 3
[0x12E]= 1 (仅 SDCLKout10_PD 设置) 

在复位和完全初始化之后、在设置 SYNC_EN = 1和[0x140]= 0 (因此所有 SYSREF 单元都加电)和 SYSREF_CLR = 0之后、我按照 SNAS605AR 的第9.3.3.3节进行操作:

  1. DCLKout10_DDLY_CNTH = 3
  2. DCLKout10_DDLY_CNTL = 3
  3. (DDLY_PD 已清除)
  4. DDLYd10_EN = 1 (所有其他使能清零)
  5. SYNC_DIS10 (因此现在[0x1ff]= 0xdf)
  6. SYNC_MODE = 3 (我收集到、在以下步骤中将2分配给该寄存器是一个文档错误)
  7. SYSREF_MUX = 2
  8. DDLYD_STEP_CNT = 1

不会发生任何情况、DCLKout10的相位保持不变。  我缺少什么?

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

    感谢您的详细描述。 您的操作过程看起来不错、因此我们需要更仔细地查看它。 团队中的某个人或我自己将在接下来的24小时内回复您、并提供一些答案。

    感谢您的耐心等待。

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

    好的、这是令人鼓舞的。  如果有用、以下是复位后的 LMK 初始化序列的完整记录(所有数字均为十六进制):

    PLL[000]<= 80
    PLL[100]<= 00
    PLL[101]<= 55
    PLL[103]<= 00
    PLL[104]<= 00
    PLL[105]<= 00
    PLL[106]<= F9
    PLL[107]<= 30
    PLL[108]<= 00
    PLL[109]<= 55 PLL[1011]
    
    <= 101PLL[10121012]
    
    <= 1012PL[10121012]<= 1012PL[1012]<= 101PLL[1012]<= 100] PLL[1012PL[1012PL]<= 1012PL[1012]<= 1012PL]<= 100]<= 101L
    
    
    55
    PLL[113]<= 07
    PLL[114]<= 00
    PLL[115]<= 00
    PLL[116]<= 01
    PLL[117]<= 01
    PLL[118]<= 00
    PLL[119]<= 55
    PLL[11b]<= 00
    PLL[11c]<= 00
    PLL[11d]<= 00 PLL[11121]<= 00
    
    PLL[12121]<= 00 PLL[11121]<= 12121212121212125PLL[121]<=
    
    
    00 PLL[121]<= 111212V]
    
    = 00
    PLL[126]<= F1
    PLL[127]<= 00
    PLL[128]<= 05
    PLL[129]<= 55
    PLL[12b]<= 07
    PLL[12c]<= 00
    PLL[12d]<= 00
    PLL[12e]<= 01
    PLL[12F]<= 03 PLL[12c]<= 00 PLL[131313133]
    
    
    
    
    
    <= 00 PLL[133]<= 00 PLL[133]<= 131313131]<= 00 PLL[131]<= 00 PLL[131]<= 1313131313131]<= 00 PLL[131]<= 00 PLL[131]<= 00 PLL[131]
    
    PLL[138]<= 00
    PLL[139]<= 00
    PLL[13A]<= 0c
    PLL[13b]<= 00
    PLL[13c]<=
    00 PLL[13d]<= 08
    PLL[13e]<= 03
    PLL[13F]<= 0b
    PLL[140]<= 00 PLL[142]<=
    
    
    
    
    00 PLL[144][144]<= 00 PLL[144]<= 00 PLL[144]<= 91]<= 144[144PL[144][144]<= 144][144]<= 144]<= 144PL[144]<= 00 PLL[144]<= 144]<= 144
    
    
    02
    PLL[149]<= 42
    PLL[14A]<= 02
    PLL[14b]<= 16
    PLL[14c]<= 00
    PLL[14d]<= 00
    PLL[14e]<= 00
    PLL[14F]<= 7f
    PLL[150]<= 43
    PLL[151]<= 02 PLL[152]
    
    
    
    
    
    <= 00 PLL[156]<= 00 PLL[156]<= 151515154]<= 00 PLL[158]<= 00 PLL[156]<= 00 PLL[156]<= 158]<= 00 PLL[158]<= 15152]<= 00 PLL[152]<= 00 PLL[152]<= 152]<= 152]<=
    
    <= 00
    PLL[15A]<= 0d
    PLL[15b]<= df
    PLL[15c]<= 20
    PLL[15d]<= 00
    PLL[15e]<= 00
    PLL[15F]<= 0b
    PLL[160]<= 00
    PLL[161]<= 3D
    PLL[162]<= 17162]<=
    
    17164[17162]
    
    PLL[162]<= 17162]<= 17162] PLL[17162]<= 17162]<= 17162] PLL[17162]<= 17162] PLL[17162]<= 17162]<= 17162] PLL[17162]<= 17162]
    
    
    
    PLL[166]<= 00
    PLL[167]<= 01
    PLL[168]<= 7d
    PLL[169]<= 59
    PLL[16A]<= 20
    PLL[16b]<= 00
    PLL[16c]<= 00
    PLL[16d]<= 00
    PLL[16e]<= 13
    PLL[173]<= 00 PLL[143]<= 12143]<= 12143[143]<= 12143]<= 12143[PLL[11]<= PLL[143]<= 12143]<=
    12143]<= PLL[143]<= 12143]<=
    
    11]<= PLL[143]<= PLL[22
    
    
    
    
    
    PLL[144]<= df
    PLL[142]<= 01 

    在上面的>>>提示符下、我在示波器上检查 DCLKout10与 CLKIN 之间的对齐情况、然后执行最后七个任务来尝试并步进相位。

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

    好的,“24小时”有点乐观... 但是、我可以对这个问题做出答复吗?  正如您所说、我似乎正确地遵循了文档、因此我感到很损失。

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

    你(们)好,Michael

    很抱歉、继电器有响应。

    在步骤1和2中、还请将3编程到 DCLKout10_DDLYd_CNTH 和 DCLKout10_DDLYd_CNTL。 您可以在 TICSpro 的动态数字延迟部分中找到这些寄存器、如下所示:

    之后、您可以继续执行步骤3-8、动态数字延迟应该起作用。 如果您发现任何问题、请告诉我、

    此致

    Puneet

    “如果您的问题得到了解答,请单击“此已解决的我的问题”按钮。

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

    很遗憾、我已经尝试过这种方法。   SNAS605AR 中未记录这些寄存器、因此我最初假设它们是 LMK04828-EP 的专用寄存器、但我尝试将它们添加到该过程中、但没有效果。  以下是我更新的单步执行尝试的记录:

    >>> STEP_DELAY ()
    PLL[129]<= 33
    PLL[12A]<= 33
    PLL[12e]<= 01
    PLL[139]<= 02
    PLL[141]<= 20
    PLL[143]<= 13
    PLL[144]<= df
    PLL[142]<= 01 

    如您所见、唯一的区别是您建议的分配。

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

    您好、Michael、

    很抱歉、您在使用此功能时遇到问题。  是的、我们需要为此更新数据表。

    我已经查看了您的配置并在实验室中进行了检查。  我发现、要使动态数字延迟正常工作、CLKIN_OVERRIDE 必须= 0。

    要执行动态数字延迟、您只需设置时钟 X:DCLKoutX_DDLY_PD = 0且 DDLYDX_EN = 1。  SYNC_DIS_X 不会影响动态数字延迟。  由于您不处于分配模式、因此没有理由将该位设置为1。

    73、
    Timothy

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

    这似乎是可行的。

    那么、让我确认一下。  程序似乎是:

    1. 对于正常运行、请确保 CLKIN_OVERRIDE = 0且 DCLKoutX_DDLY_PD = 0
    2. 所有 DCLKoutX_DDLY_CNT{H、L}和 DCLKoutX_DDLYD_CNT{H、L}都应设置为单个延迟步长(如9.3.3.2中所述)。
    3. 确保将 DDLYdX_EN 设置为1
    4. 向 DDLYd_STEP_CNT 写入1

    一些注意事项:

    • 我发现 DCLKoutX_DDLY_PD 的设置似乎没有什么不同!  显然、为了安全起见、我要将其设置为0。
    • 当然、CLKIN_OVERRIDE 的禁用效果未记录;我将其设置为担心自动时钟选择意外激活。
    • 如前所述、对于 LMK04828、DCLKoutX_DDLYD_CNT{H、L}未记录。
    • LMK04828-EP 文档(SNAS703)在第28页(第9.3.3.2节)上做了令人困惑的注释:"在分频器同步后、不允许更改这些值中的任何一个"。  "分频器同步"发生在什么位置?  我想这可能是一个后续问题。
    • 文档(9.3.3.3)要求设置 SYSREF_MUX = 2和 SYNC_MODE = 3、但我不清楚这些器件是否发挥任何作用。  实际上、当 SYNC_EN = 0时、延迟步进似乎正常。

    此器件的文档状态如何?  我列出了我在该主题开头找到的文档。  SNAS703看起来像是 SNAS605AR 的更新、但具体而言似乎并未涵盖非 EP 器件。  不过、我不确定 LMK04828和 LMK04828-B 之间唯一的实质性区别是记录的 VCO 振荡器范围。

    我似乎有两个悬而未决的问题。  我是否需要单独或作为此螺纹的一部分提起这些部件?

    1. 什么是真正的最小动态数字延迟配置?  具体而言、我该如何处理同步基础架构?
    2. 为了100%确信时钟输出在启动后是同步的、我需要做什么?  目前,除了设置和重置 SYSREF_CLR 之外,我没有做任何事情,我似乎看到的是同步输出... 但这只是运气吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我忘记说:Timothy、非常感谢您花时间设置和诊断我的问题。 我认为我不会以任何方式发现我的错误、恐怕是这样。