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:具有 SYNC 和 SYSREF 的确定性延迟

Guru**** 2535650 points
Other Parts Discussed in Thread: ADS54J66, DAC38J84, LMK04828

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

https://e2e.ti.com/support/clock-timing-group/clock-and-timing/f/clock-timing-forum/790844/lmk04828-deterministic-latency-with-sync-and-sysref

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

通过切换 SYNC_POL 引脚执行同步是否需要与外部时钟同步?

我有一个由 LMK04828B 计时的 DAC38J84和一个由 LMK04828B 计时的 ADS54J66。 后一个 LMK04828B 通过馈入其 PLL1网络的 OSCout 与前一个 LMK04828B 保持同步。

初始化时、我按照 LMK04828B 数据表中的 Sysref 设置示例进行操作、但在采样数据可用于 FPGA 时不会实现确定性延迟。 样本开始漂移高达~80个时钟周期(数据速率为245.76MSPS、这意味着变化量为~333ns)。 我已经确定的一个问题是时钟分频器的同步、因为这是由 SPI 写入启动的、不一定与采样时钟同步。

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

    我们为您分配了一些帮助、请随时关注其他更新。 感谢您的耐心等待。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Jhoneldrick、

    SYNC_POL 切换本身不需要与外部时钟同步、以使单个 LMK04828的所有时钟彼此对齐。

    对于您的时钟设置、我还不清楚。 例如、FPGA 由具有 ADC 或 DAC 的 LMK4828计时。 当您提到样本开始时、您指的是 SYSREF? 您的 SYSREF 频率是多少?

    当您说您的通过 OSCout 馈送到其 PLL1网络时、会使后一个 LMK04828B 与第一个 LMK04828保持同步。 您是否在一个或两个器件上使用0延迟? 我认为您需要对第一个 PLL (级联或嵌套+级联)的第二个环路使用0延迟、对后一个 LMK04828的第一个 PLL 使用0延迟(如果不是简单地再次嵌套+级联)。

    如果您希望同时在 DAC LMK04828和 ADC LMK04828上发送 SYSREF、我建议在第一个器件上请求 SYSREF、然后通过 D 触发器通过 CLKin0路径将 SYSREF 重新计时到第二个器件、从而通过第二个器件分配 SYSREF。

    您是否有设计用于此工作的 PCB、或者此 EVM 是否连接在一起?

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

    您好、Timothy、

    感谢您的深入回答。

    首先、要回答您的问题:

    这是我的时钟设置图。

    FPGA 上有两个 JESD204B 块、每个块由 LMK04828B 为各自的链路伙伴计时。

    此图还展示了 LMK04828B 的共享时钟方案。

    次级 LMK 以级联0延迟模式运行。 更确切地说、它的 PLL1使用 CLKin1的输入作为振荡器的基准。

    振荡器 A 缓冲振荡器上的主 LMK 输出。 初级 LMK 没有 PLL1的基准。

    两个 LMK使用 CRYSTEK CVHD-950作为其 VCXO、如 EVM 中所示、这两个器件均具有通过 CPout1实现的适当反馈网络。

    我的采样率为245.76 MSPS。 当 LMFS = 2441、对于 ADC 和 DAC、K = 5时、这意味着线速率为9.8304Gbps。 因此、I 为 FPGA 提供的器件时钟为245.76MHz、适当的最大 SYSREF 频率为9.8304Gbps /(10 * F * K)= 49.152MHz。 由于我可以将其除以任何正整数、因此我选择将其除以64、这样我的 SYSREF 频率为0.768MHz。

    当我说"开始采样"时、我的意思是当我开始 FPGA 上的传输和接收(同时进行)时、我在 FPGA 数据流上接收第一个采样的时间会有所不同、例如、在245.76MSPS 的采样率下、 假设我在第191个周期名义上接收到第一个样本。 在下电上电后、我可以重复相同的过程、但这次在第194个周期接收第一个采样。 3个周期= 12.2ns 的差值。

    最后、我设计了一个 PCB。 遗憾的是、CLKin0未连接、因此无法重新分配第一个 SYSREF。

    后续问题:

    初级 LMK 应如何相对于0延迟模式运行? 由于其 PLL1没有基准、这是否是一个问题?

    我的假设是次级 LMK PLL1被锁定到初级 LMK 的 OSCout 上、因此它们的所有输出时钟和 sysref 之间应该存在确定性相位关系。 这是否合理?

    3.如何确保 ADC 和 DAC 的确定性 SYSREF 不会重新计时的参考系统配置? 为两个 LMK同时 请求"SYNC/SYSREF_REQ"(也称为切换引脚)是否足够?

    4.对于我的方案,正确的引导顺序是什么? 目前、我对初级 LMK、DAC、次级 LMK 和 ADC 进行编程。 我是否应该使用 SYNC_POL 复位每个 LMK 的分频器、然后使用脉冲发生器+ sysref_req 组合来启用问题3中的建议?

    感谢您抽出宝贵时间、期待您的回复。

    最棒的

    埃尔德里克

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    只是想提出这个问题、因为它已更新为您的问题的答案。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用用户="Jhoneldrick Millares">1. 初级 LMK 应如何相对于0延迟模式运行? 由于其 PLL1没有基准、这是否是一个问题? [/报价]

    您是否使用初级 LMK 的 XO 转 OSCin?  如果是、则输出的频率精度将由该 XO 设置。  绕过 PLL1在单环路模式下运行不是问题。  该基准的频率和质量也将设置输出的相位噪声性能。  使用双环路 PLL 的一个优势是能够锁相至低频基准、例如10MHz、然后使用频率更高的 VCXO 作为 PLL2的基准、从而更大限度地提高性能。

    请参阅 时钟和计时 E2E 的文件部分中的选择 PLL 的环路带宽演示。

    [引用用户="Jhoneldrick Millares">2. 我的假设是、次级 LMK PLL1被锁定到初级 LMK 的 OSCout 上、因此它们的所有输出时钟和 sysref 之间应存在确定性相位关系。 这是否合理?

    它们是锁相的(这会导致频率锁定)。  但相位信息会丢失。  时钟发生器。  例如、给出了245.76MHz 基准。  PLL2将/2至122.88MHz 相位检测器、然后* 24至2949.12MHz。  以获得245.76MHz VCO 除以12。  因此、从基准到输出将有12种不同的相位关系。  只要您有未同步的分频器、它就会引入从一个锁到下一个锁的可能相位误差。  即使 PLL R =/2也会引入非确定性、在我的示例中、245.76MHz 的给定相位无关紧要。

    >一种解决方法是0延迟。  这将获得245.76MHz 的输出、执行最终/2 (PLL2 N)以匹配相位检测器频率并允许输入输出相位确定性。

    所得结果是、通常0延迟只会使 GCD (输入频率、输出频率)=输入频率的信号保持同相。  如果您有一个频率较低的 SYSREF、则需要通过0延迟进行相位对齐、这会成为一个问题。  现在、有多种方法可以通过使用基准作为 SYSREF 频率、然后在0延迟模式下运行、并将 SYSREF 频率用作反馈来使这些校准保持一致。

    >如果您选择 XO 频率作为 SYSREF 频率发送到初级 LMK04828 OSCin、那么在0延迟模式下运行时、您可以在两个器件之间保持对齐。

    [引用用户="Jhoneldrick Millares">3. 如何确保 ADC 和 DAC 的确定性 SYSREF 无需重新计时的 SYSREF 方案? 对于两个 LMKs、同时请求"SYNC/SYSREF_REQ"(也称为切换引脚)是否足够?[/QUERP]

    我没有有关设置/保持的详细信息或执行此操作的可能时序要求。  理论上可能... 如果您在实验中执行该操作、您可能会发现它可以正常工作。  但在过热、过压和过流过程中、设置和保持计时变得非常重要。  请注意、使用 CLKin0最适合计时变化。

    当您认为上述 ADC 和 DAC 都需要确定性 SYSREF 时、从 JESD204B 可以看出、只要 SYSREF 的周期与 SYSREF 频率一致、SYSREF 何时到达目标 JESD204B 器件就无关紧要。  因此、使用上面我建议的0延迟方案和基准频率= SYSREF 频率时、您可以在一次侧和二次侧 LMK04828之间实现 SYSREF 的确定性相位、并且不存在同步时序问题。  如果您不需要在初级和次级之间使用确定性 SYSREF 相位、则无需担心0延迟。  如果您要求 SYSREF 恰好在同一时间发生(JESD204B 不需要它)-则必须同时尝试同步编程... 但是、如果您需要这种方法来确保稳健性、则必须考虑其他方法来连接电路板。

    73、
    Timothy