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:完全辅助 VCO 模式有时仅锁定

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

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

https://e2e.ti.com/support/clock-timing-group/clock-and-timing/f/clock-timing-forum/765941/lmx2594-full-assist-vco-mode-only-locks-sometimes

器件型号:LMX2594

你(们)好。

我似乎陷入了死胡同

我有一个采用 LMX2594的电路。 我的频率斜升范围为8至12GHz、无需 VCO 辅助、部分 VCO 辅助以及关闭频率 VCO 辅助。 为了获得低于50µs μ s 的一致锁定时间、我尝试实现完全 VCO 辅助。

我使用无辅助 VCO 模式锁定每个频率、并读回 VCO 内核、电容代码和 Daci。 将此数据发送到 PC 并将其转换为24位寄存器值(1 R/W 位+ 7地址位+ 16位)后、我可以愚蠢地将这些斜坡从外部 FPGA 发送到电路板。

此过程的好处是可以获得用于进行分析的 VCO 校准数据。 此外、FPGA 具有比 Atmel MCU 上的软件 SPI 更高的 SPI 时钟速率。

尽管这对于部分 VCO 辅助和关闭频率 VCO 辅助模式都可以正常工作、但对于我来说、似乎无法使用完全辅助 VCO 模式。

当我运行256步进频率斜升时、输出跳过大多数频率、仅锁定在某些频率。

当我读回 RBR_LD_VTune (寄存器110处)时、每个可见频率为2 (锁定)、每个被留存的频率为0 (未锁定/VTune 低电平)。

我发送到 LMX 的值会被读回、这是我很困惑的地方。

你能提供帮助

PS:每个频率包含:
R75 (CHDIV)
R45 (outa_MUX)
R44 (混搭)
R43 (NUM)
R39 (DEN)
R37 (PFD)
R36 (N)
R31 (CHDIV_DIV2)
R20 (VCO 内核、VCO_SEL_FORCE)
R19 (上限代码)
R16 (Daci)
R0 (FCAL_EN=0)

下图使用数据表中的公式和读回值比较了计算中的电容代码和 Daci 值。 奇怪的是、每次电容代码约为70至85时、输出似乎都会锁定。

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

    感谢您提供此详细说明。

    1.您注意到、无辅助功能的结果与数据表中的计算值不同。 这是预期值、因为每个单独器件的这些值都不同。
    2.只需确保在读回此校准数据时、此数据仅对读回此数据的单个器件有效。
    您提到 VCO_CAPCTRL 可以显著变化、PLL 仍然锁定。 您说它在70到85的范围内工作。 听起来不错。 VCO 频段中存在大量重叠、以确保 VCO 保持锁定、即使温度漂移未重新编程也是如此。


    现在、让我们看一下寄存器写入:

    要回读、我建议:
    1:设置 CAL_CLK_DIV=3以获得最大精度。
    2.在无辅助模式下锁定
    3.读回、Rb_VCO_SEL、Rb_VCO_CAPCTRL 和 Rb_VCO_DACISET

    从您的结果来看,似乎您正在正确地执行此操作。 我看不到 Rb_VCO_SEL 图、但我假设您已经拥有了它。

    要编写本报告、我建议:

    执行此操作一次、不必针对每个频率变化执行此操作
    VCO_SEL_FORCE=1
    VCO_CAPCTRL_FORCE=1
    VCO_DACISET_FORCE=1

    然后、要更改频率、您需要编写:
    VCO 校准信息:
    VCO_DACISET
    VCO_SEL
    VCO_CAPCTRL

    R75 (CHDIV)
    R45 (outa_MUX)
    R44 (混搭)
    R43 (NUM)
    R39 (DEN)
    R37 (PFD)
    R36 (N)
    R31 (CHDIV_DIV2)


    因此、您似乎可以做正确的事情、尽管我想确认您在为完全辅助而编写频率时设置了 VCO_DACISET_FORCE=1。

    此致、
    Dean
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常感谢您的快速而详细的回答。 在挖掘您的帖子后、我帮我解决了问题。 DACISET_FORCE 和 CAPCTRL_FORCE 未设置为1。
    仅供澄清:
    我尝试按照您建议的顺序对每个频率的寄存器进行编程。 我不确定它现在是否更快。 限制因素是 SPI 时钟速度(15MHz)、因为 FPGA 不是板载的。

    关于您的第二点。
    如果 VCO 校准的回读值在温度漂移持续时间以及器件寿命期间保持有效、我会非常高兴。 这样、我就不需要在制造后执行校准程序。
    关于您的第三点。
    我想我对这个问题的表述有点不好。 锁定后、我不会更改 VCO_CAPCTRL。 每个频率都有一个 CAPCTRL 值。 但是、所有 CAPCTRL 值超出70-85的频率都不会锁定。 现在我知道原因。

    再次非常感谢、经过数月的工作后、项目现在似乎已圆满结束