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.

[参考译文] LMX2594:LMX2594扩频输入时钟

Guru**** 2542650 points
Other Parts Discussed in Thread: LMX2594

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

https://e2e.ti.com/support/clock-timing-group/clock-and-timing/f/clock-timing-forum/738535/lmx2594-lmx2594-spread-spectrum-input-clock

器件型号:LMX2594

Dean、

正如我之前在这个论坛上发布的、我们一直在尝试使用 LMX2594来生成一个从1.2GHz 差分时钟源衍生的确定性、边沿锁定的600MHz 输出时钟。  该源是 DDR4 (DIMM)插槽上提供的标准 JEDEC 时钟。  该时钟由扩频调制驱动。  JEDEC 规定在30kHz 调制周期内与基波之间的展频频率偏差为5000PPM。  

到目前为止、在扩频场景中、我们还无法使用 LMX2594实现确定性锁相。  (但是、当禁用展频时、我们可以实现相位频率锁定)。 由于还有其他 JEDEC 指定的器件和 FPGA 采用可耐展频的 PLL、因此我们期望与 LMX2594一样复杂的器件具有类似的功能。 如果没有、TI 能否确认 LMX2594本身不兼容或不能耐受使用上述扩频调制的 OSC 输入时钟? 或者相反、TI 能否为我们提供有关如何调整 LMX2594和/或支持电路以满足此设计目标的进一步指导?

谢谢、

- Ken

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

    Ken、

    因此、如果我理解您所说的内容、当 OSCin 信号是干净的时、就没有问题了。

    但是、当该引脚上存在扩频调制时、LMX2594会出现锁定问题。

    如果是这种情况、我怀疑扩频会使 VCO 校准失败。 当 VCO 校准时、它脱离 OSCin 时钟运行。  在三个主要部分中、它选择正确的 VCO 内核、然后是 VCO Capcode、再是 VCO 幅度校准。  如果时钟不一致、这可能会使校准产生混乱。

    例如、如果您能够在软件中禁用展频时钟、则锁定 LMX2594、然后重新开启展频、那么我怀疑它会起作用。

    另一个有用的方法是尝试降低 VCO 校准对校准的敏感性。

    现在、我通常会说增加 CAL_CLK_DIV、但您可能已经处于此设置的最大值。  如果部件间歇性工作、您可以考虑降低 CAL_CLK_DIV 位以进行诊断、以查看这是否会引发问题。  如果是、它会指向 VCO 校准。

    此外、如果问题与 VCO 校准有关、您可以执行完全辅助。  在此模式下、您回读 RB_VCO_SEL、RB_VCO_DACISET 和 RB_VCO_CAPCTRL 并强制这些值。  当您读回这些值时、请使用干净的时钟执行该操作。  然后、当您使用展频时钟尝试此操作时、强制使用这些值、因为这样可以在无需校准的情况下使 VCO 获得正确的设置。

    此致、

    Dean

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

       Dean、

    我们尝试了这两项建议和我们自己的另一项调整。

    我们 同步了时钟、没有扩频。  PFD = 50MHz、环路电流为15mA。  锁定检测占空比为100%、VTune 处于1.4V 平坦状态。  然后、我们启用了扩频。  这立即 导致在 VTune 上以32KHz 的频率出现三角波时锁定占空比从15%下降到大约15%。  我们尝试的任何其他调整都不允许同步到 SS 时钟(在32KHz 的调制频率下为~1194MHz 至1200MHz)。  

    接下来 、我们尝试了您的第二个建议、即  在禁用 SS 和锁定 LMX2594时、读回 rbVCO_DACISET、rbVCO_CAPCTRL 和 rbVCO_SEL。 这产生了:

    R112  Rb_VCO_DACISET = 0x7000FE

    R111  Rb_VCO_CAPCTRL = 0x6F001E

    R110  RB_VCO_SEL       =06E0448  

    打开 SS 后、我们写入了以下寄存器:

    R20 0x149448 (强制开启)

    R20 0x149048 (强制关闭)

    R19 0x13271E

    R16 0x1000FE

    R8  0x086800 (强制开启)

    R8  0x082000 (强制关闭)

    同样、我们无法强制输出时钟锁定到输入时钟、尽管输出频率始终处于或非常接近600MHz。

    3. 在 SS 打开且 PFD = 50MHz 的情况下、环路滤波器电流为15mA、锁定检测占空比为15%、Vtune 为32KHz 的三角波、我们开始将 PFD 从50MHz 降低到1MHz 时允许的最小值。  我们注意到、随着 PFD 频率越来越低、锁定检测占空比增加、Vtune 幅度减小、以锁定时记录的1.4V 平均值为中心。  在1MHz 时、占空比回到100%、而 Vtune 几乎是平坦的。  但是、仍然没有锁相。  我已经附加了这些波形的几个样本。

    我们想知道、调整环路滤波器组件和 PFD 频率是否有用、从而在我们的 SS 环境中实现相位和频率锁定?

    请提供建议。  再次感谢、

    - Ken

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

    以下几点:

    至于写入、您需要确保没有 VCO 校准问题:
    1.用干净的基准锁闭 PLL
    2.读回 RB_VCO_DACISET、RB_VCO_SEL、RB_VCO_CAPCTRL
    3、将 VCO_DACISET 写为 RB_VCO_DACISET、将 VCO_SEL 写为 RB_VCO_SEL、将 VCO_CAPCTRL 写为 RB_VCO_CAPCTRL。
    4.设置 VCO_CAPCTRL_FORCE=VCO_DACISET_FORCE=VCO_SEL_FORCE=1并将它们保持为1、不要改回0。
    5.启用扩频。


    但您的问题远不止此、因为我认为您的扩频太宽带。 请注意、有7个 VCO 内核、每个 VCO 内核有183个不同的频段。 假设您的频率为8GHz、并锁定为100MHz 基准。 现在、假设 VCO 可以在不更改 VCO_CAPCTRL 的情况下在+/-80MHz 的镇流器中进行调谐(即、无校准)。 现在假设您的扩频是从99.9 MHz 到100.1MHz 的 FM 调制。 然后、在输出端、VCO 希望尝试从7992变为8008MHz、因此这在80MHz 范围内、但只是为了让您知道这一点。

    现在、另一个注意事项是环路带宽。 如果您减少这种情况、它会抑制扩频调制。 这样做的正确方法是为窄环路带宽重新设计滤波器。 但是、实现此目的的不太理想的方法是降低相位检测器频率或电荷泵增益。 降低这些值似乎有助于我认为、您只需一个更窄的环路带宽来抑制所有这种调制。

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

    如您所示、我们能够通过降低电荷泵增益进一步降低 Vtune 三角波的振幅。 我的动机是以正确的方式执行该操作、并为窄环路带宽重新设计滤波器。 为此、我已下载 PLLatinum Sim 工具。 但是、我可以使用一些帮助来选择该工具的设计目标。 有些看起来很简单。 例如、假设输入时钟展频偏差范围为1.194GHz 至1.200GHz、则 VCO 范围将为9.552GHz 至9.600GHz、这应指示 VCO 内核为 VCO2。

    由于我们无法锁定 PFD 频率设置为 TICsPro 最小值1MHz,您是否建议我们使用环路滤波器进一步缩小带宽? 如果是、我们还应该将此参数缩小多少? 32KHz 的扩频调制周期对环路滤波器带宽的选择有直接影响吗?

    我们应该根据 EVM 参考设计坚持3阶滤波器配置、还是只需简单的2阶滤波器即可? 我注意到、无论我选择2阶还是3阶、然后选择计算环路滤波器、该工具都会选择其中一个电容器作为1.5nF、然后发出警告、指出该器件应大于3.3nF。 我是否删除此上限?

    这个新手肯定可以使用你的帮助。 请提供建议。

    谢谢、

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

    e2e.ti.com/.../1004.LMX2594-Minimum-High-Order-Cap-for-Vtune.pdfKen、

    对于启动器、我会尝试使用二阶环路滤波器。  我认为环路带宽应足够窄、足以抑制调制。  此外、它更稳定、并且能够抵抗电荷泵增益和相位检测器频率的变化

    PLLatinum Sim 默认使用宽带宽以实现最佳抖动、但这假设您具有干净的基准、但您肯定不会这样做。  我会针对更窄的环路带宽、这可能是10kHz 范围内的某个值、但我并不完全确定。

    有关电容的警告与以下事实相关:如果100kHz - 10MHz 范围内的交流阻抗太低、VCO 相位噪声会降低、如从 VTune 引脚上看到的那样。  对于较宽的环路带宽滤波器而言、这会成为一个问题、但对于您的滤波器、您应该没有问题、因为环路带宽应该更窄、而且该电容器当然会更大。  如果您选择二阶环路滤波器、则电容器 C1是关键滤波器。   我随函附上了一份报告,其中详细介绍了这种最低限度的能力。

    此致、

    Dean

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

    Dean、

    作为完整性检查、我将结果与三阶环路滤波器设计(FPD = 200MHz、KPD= 12mA、环路滤波器带宽 ~286KHz)进行了比较、如 LMX2594数据表(即我们当前使用的环路滤波器配置)的图51第59页所示。  计算器产生的组件结果与数据表/EVM 计算中所示的结果不同、其中包括仅为164.5KHz 的环路带宽。  我是否在该计算中缺少其他一些关键变量?  我的结果作为 EVM_Filter.jp 附上  

    我还尝试了 基于 FPD=50MHz、KPD=15mA 和~10kHz 环路滤波器带宽的二阶环路滤波器设计。   由于您提到 C1是此设计的关键、因此我担心的是、与原始 EVM 设计相比、C1和 C2的值相对较高。  这些合理的组件值是否符合您的建议、可实现10kHz 环路带宽?  这些结果作为 SS1_Filter.jp 附加

    很抱歉、我必须使用.jpg 文件。  论坛不接受小得多的.sim 文件。

    谢谢、

    - Ken

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

    二阶环路滤波器看起来是合理的。

    至于设计不匹配、请注意三阶滤波器具有5个组件、因此需要5个约束条件、这些约束条件通常是:
    环路带宽、相位裕度、伽马、T3/T1比率、并最大化 C3的值。
    此外、如果 VCO 增益、VCO 频率、电荷泵增益或相位检测器频率发生变化、则会更改组件。

    此致、
    Dean
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Dean、
    我尝试了5种带宽为200kHz、100KHz、50kHz、20kHz 和10kHz 的不同二阶滤波器。 所有已同步的 SSC 已关闭。 在打开 SSC 的情况下,所有同步失败。 在每种情况下、当我降低 PFD 和增益时、我都会将 PFD 从50MHz 运行到1MHz、并改进了 VTune 和锁定检测。 使用10kHz BW 滤波器、PFD = 1MHz、增益= 6mA、锁定检测占空比为100%、Vtune 平坦、没有32KHz 三角波形的可检测迹线。 我准备订购一些更大的电容器、并在您认为值得努力的情况下进一步降低环路滤波器带宽。 我还可以尝试强制进行扩频同步吗? 顺便说一下、您是否建议根据展频偏差或其他因素将环路带宽设置为10kHz?

    谢谢、

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

    关于基于 FM 偏差选择环路带宽,我想更多地基于 FM 调制率...

    具有 Fdev 频率偏差和 Fmod 调制频率的 Conisider FM 调制。 杂散偏移频率为 fmod,在考虑环路滤波器响应整形之前的杂散电平为20*log (B/2),其中 B=Fdev/fmod。

    现在、如果我们假设扩频是周期性的、那么我们可以编写傅里叶级数表示、并将其视为许多 FM 调制波形的总和。 现在、如果环路带宽将切断调制中任何大于 Fmod 的元素。 Fdev 不是偏移、而是调制的幅度。

    关于同步不起作用...

    听起来它在没有扩频的情况下工作。

    听起来、如果您尝试与正在运行的扩频同步、它就不起作用。 由于同步是通过 Fosc 信号进行时钟恢复的、因此这听起来是可信的。 我认为这可能就是它的存在方式。

    但是、您是否曾尝试先在扩频关闭的情况下进行同步、然后在同步后打开扩频? 如果所有输入的展频相同且相位一致、我认为它可以保持相位同步。

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

    Dean、

    在公式中、您不定义 B。B =环路带宽吗?

    FDEV = 5000 (ppm)/1000000 * 1.2GHz = 6MHz 和
    Fmod = 32KHz

    然后 B = 6MHz/32kHz = 187.5Hz。

    杂散电平= 20*log (187.5/2)= 39.4 (Hz?)

    我的傅里叶级数理论已经过时了。 您是否建议将环路带宽降至187.5Hz 以下? 此外、如何使用杂散偏移?

    我们已经尝试了您第二个建议的变体。 我们锁定在 SSC_OFF 中的平台。 然后、我们使用 LMX2594及其支持组件上的持续电源重新启动平台。 在重新启动期间、我们有机会通过系统 BIOS 启用 SSC。 即使在 SSC 开启时重新启用 OSC 时钟之前关闭、我们仍观察到 LMX2594输出时钟在此间隔期间保持600MHz。 当重新建立 SSC=ON 时钟时、SYNC 条件将丢失。 遗憾的是、BIOS 和主板供应商不支持 SSC 开/关功能的实时切换。

    请提供建议。 谢谢、

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

    b 是 FM 调制的调制指数。 b = Fdev/Fmod、spur = 20*log (B/2)因为 B 是两个频率的比值、它是无调光量、没有 Hz 单位。 但是、此公式假定窄带 FM、其中 B<<-1、此处不是这种情况。 从技术上讲,杂散实际上是由20*log (J0(B))给出的,其中 J0是第一类的贝塞尔函数。 仅当 B<<1时才能使用上一公式。

    减小环路带宽可更大程度地减少通过的调制。因此、如果您在这里有这样的情况、请将调制视为杂散的连续。 现在、如果环路带宽为10kHz、则所有高于10kHz 的调制都会衰减、下面的调制会通过。

    但是、关于同步功能、在您的设置中执行此操作似乎更困难。 如果您使用 OSCin 时钟、则会失去锁相。 现在、在 VCO 中、有7个内核、每个内核具有183个 Capcode。 这些频带大约为+/- 50 MHz、但您会降低约16倍。 因此、换句话说、如果您在锁定后移除输入基准、您的输出频率可能仅以4MHz 的频率移动、但 PLL 仍处于解锁状态。

    此致、
    Dean
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Dean、
    可以说我们已经通过调整 FPD、电荷泵增益和环路带宽来在 SSC 模式下获取 PLL 锁定、从而用尽了所有选项吗? 如果是、如果我们可以在不临时禁用输入时钟的情况下立即从 SSC_OFF 切换到 SSC_ON、PLL 中的什么机制允许它跟踪 SSC 调制? 这最终不会使 PLL 失锁吗? 除非您对我们可能尝试的方法有其他见解、否则我必须假设、如果应用程序可以在非 SSC 实现中运行、我们只有 LMX2594解决方案。
    你同意吗?
    谢谢、
    - Ken
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Ken、

    我们讨论了3个问题、因此我将失去跟踪、但这里是我记忆中的内容。

    1.当 PLL 实际处于锁定状态时、锁定检测错误地报告解锁/非100%占空比。 换言之、PLL 认为自身失锁
    现在、这个问题受到 FPD 和电荷泵增益的影响、可以解决。 降低相位检测器频率会降低锁定检测器的灵敏度。

    2. PLL 在 SSC 模式下不会锁定
    我不记得所有的对话、但如果您尝试在 SSC 开启的情况下校准 VCO、可能会导致问题。 输入基准驱动在此频率上计数为正确的 VCO 校准。 如果该频率关闭、VCO 将校准到错误的频带、即使时钟恢复、它也会卡在错误的频带中。 有7个 VCO 内核、每个内核在7 x 183 = 1281频段中具有183个频带。 此外、如果频率在 VCO 校准过程中发生变化(通过向寄存器 R0写入 FCAL_EN=1来触发)、则可能是这种情况导致了问题。

    3.如果我在 SSC 模式中引用了两个锁定的 LMX25512、它不会同时保持同步
    虽然我对此进行了一些讨论、但我不确定是否可以对此采取任何措施。


    因此、如果 SSC 一直在运行、它确实会有问题。 我想您是否可以在没有 SSC 的情况下运行 hte PLL 校准。 或者另一个选项是、您可以尝试完全辅助。 为此、您锁定不带 SSC 的 PLL、然后读回 RB_VCO_SEL、RB_VCO_CAPCTRL 和 RB_VCO_DACISET。 然后您只需强制这些值、就无法混淆校准。

    此致、
    Dean