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**** 1144270 points
Other Parts Discussed in Thread: LMK04828-EP, LMK04828, LMK04808
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/clock-timing-group/clock-and-timing/f/clock-timing-forum/911756/lmk04828-dynamic-digital-delay-shift-advance-to-other-clocks

器件型号:LMK04828
主题中讨论的其他器件:、 LMK04808

我使用动态数字延迟来移动 DCLK。

我按照数据表 SNA605AS 第44页中的示例进行操作、并 根据表3对 DCLKoutX_DDLY_CNTH/_CNTL (0x101)进行编程、它可以延迟时钟。

我的时钟分频器为4、因此 CNTH/CNTL 为2/3。

我的问题:

LMK04828-EP (SNAS703)的数据表也需要对 DCLKoutX_DDLYD_CNTI/_CNTL (0x102)进行编程。 LMK04828 (不带 EP)是否也需要这样做?

SNAS605AS 中的表3 描述了仅用于延迟时钟的 CNTH/CNTL 寄存器设置。 但是、当我想提前移动时钟时、这些值是什么?
在第9.3.3.2节中,它只写了:"通过编程一个小的备用分频器值.....。 " 但不允许使用1/2的 CNTH/CNTL。

感谢您的支持、
Jonas

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

    你好 Jonas、

    1. 对于常规 LMK04828、还需要对 DCLKoutX_DDLYD_CNTH/_CNTL 进行编程。 这似乎使其进入了 LMK04828-EP 数据表、但未进入最近的 LMK04828更新-我将把它标记为下一个修订版通过。 作为参考、如果 DDLY/DDLYd 值不同、动态数字延迟可能仍然成功;这些寄存器差异导致意外移位的情况相对罕见、但始终可以通过使 DDLY/DDLYd 寄存器相等来消除意外行为。
    2. 要提前时钟、请翻转表3的 CNTH/CNTL 值并减去一。 示例、对于推进8分频:_CNTH=4、_CNTL=3。 由于数字延迟 CNTH/CNTL 最小值为2、分频值小于5的时钟不能提前。 相反、您可以将所有其他时钟延迟等效的时间。

    此致、

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

    尊敬的 Derek:

    感谢您的澄清!

    我有一个指向第2点的后续问题:

    使用时钟分频器4、我们尝试了 CNTH/L 的设置、就像我们使用的分频器8一样:

    前移和后移时钟在首次测试中是可重复的。
    您知道这种情况下的缺点/问题是什么吗?

    当我们向前和向后移动时、返回到相同的相位对我们来说非常重要。

    此致、
    Jonas

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

    你好 Jonas、

    由于动态数字延迟通过手动选择何时生成输出的高/低部分来将时钟替换为一个周期的替代分频值、 将4分频设置为8分频将导致所选输出上的单个时钟周期为所需输出周期的两倍、延迟(+)或提前(-)为±1 VCO 周期。 如果您的应用能够容忍这种情况、将有效除法加倍并减去一个 VCO 周期将产生所需的效果、即将相位提前一个 VCO 周期。

    LMK04828-EP 数据表告诫不要在编程后更改 CNTH/CNTL 寄存器的值、但我不知道忽略此限制会导致意外行为的具体情况。 我将在明天调查此要求的起源并报告我的调查结果。 无论如何、延迟其他时钟似乎是推荐的解决方案(假设没有限制阻止您延迟其他时钟)。

    我还建议您查看 LMK04808或同一系列中的等效器件。 动态数字延迟特性在本产品中有详尽的文档记录、并且有一种机制、可针对一个时钟的相位相对于另一个时钟的任意提前或延迟。 如果 LMK04828动态数字延迟限制和您的应用需要阻止您描述的可靠相位超前/延迟、LMK0480x 系列可能是更好的选择。

    此致、

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

    你好 Jonas、

    我了解了在编程后不能更改静态/动态 CNTH/CNTL 值的原因:

    在动态数字延迟期间、d_CNTL/d_CNTL 的值被替换为分频器行为、但静态数字延迟计数器仍在后台再次运行(因为动态数字延迟实际上是一个同步事件)。 因此、当静态/动态延迟值不同时、时钟可能会切换到仍等待延迟完成的分频器。

    在任何速率下、如我所见、如果使用 LMK04828、您都可以通过两个选项来动态延迟或推进相位:

    1. 延迟目标时钟以延迟目标时钟相位、并延迟除目标时钟之外的所有时间来推进目标时钟相位。 这就是我在上述帖子中建议的内容。 为了实现这一点、其他时钟也必须能够承受延迟。
    2. 将目标时钟延迟1个周期以延迟目标时钟相位、并将目标时钟延迟3个周期以推进目标时钟相位(您可以执行动态延迟3次、或设置 DDLYD_STEP_CNT=3)。 这种方法的结果是、延迟目标所经历的时钟周期的绝对数量将小于非目标时钟。 如果您的应用关心输出时钟上的总周期计数以及输出时钟之间的相位、则周期计数不匹配会带来障碍。  

    此致、

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

    尊敬的 Derek:

    感谢您提供有关数字延迟的详细信息! 这有助于更好地理解。

    我将采用你提议的备选案文2。

    我们将 LMK04828用于 JESD204b、需要3个 ADC 保持同步。 ADC 对重复的短脉冲进行采样。 所以这应该起作用!

    此致、

    Jonas