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.

[参考译文] LMX2572LP:频率斜升

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

https://e2e.ti.com/support/clock-timing-group/clock-and-timing/f/clock-timing-forum/877276/lmx2572lp-frequency-ramping

器件型号:LMX2572LP

您好!

在尝试使用 PHASE ***函数进行相位调制信号后,这似乎不起作用,因为我不能使相位按照我的要求减速-它只会前进。 现在、我认为获得特定相移的最佳选择是使用频率斜升功能-从已知频率开始、斜升然后立即斜升回原始值、相移是斜升下方的区域。

理想情况下、我希望提供某种触发来启动斜坡序列以提供相移、如下图所示:

我在自动斜坡时很难做到这一点。 我现在已经设置了两个斜坡、以便进行非常小的移位、因此我可以在示波器上看到它。 我有:

RAMP0_INC = 1、RAMP0_LEN = 1

RAMP1_INC =-1、RAMP1_LEN = 1

设置1:

当我将其设置为连续运行(RAMP0_NEW_TRIG = TOC 超时、RAMP1_NEW_TRIG = TOC_TIMEOUT)时、它的功能与我预期的完全相同-示波器显示缓慢、稳定的相位超前。 它的移动速度与我计算的完全相同、因此没有问题。

当我想触发它时、问题就会出现。 我已经尝试了以下选项:

设置2:

设置为突发模式并指示它运行两个斜坡。 问题是、当我单击 RAMP_EN 按钮时、有时会突然出现较大的相位变化。 我需要相位保持连续、因此无法实现这些大跳变。 启用/禁用 RAMP_EN 时、是否可以保证连续相位?

设置3:

将其设置为连续斜坡、外部触发器由以下触发器设置控制:

RAMP0_NEX_TRIGGER =触发 A

RAMP1_NEW_TRIGGER =触发 A

触发 A = RampClk 引脚上升沿

这与连续斜坡设置(设置1)完全相同、具有恒定的斜坡相移。 它似乎完全忽略了在执行频率斜升之前等待外部触发器的要求。

设置4:

为手动斜升设置(如果可能、最好不要使用)。 使用"Clock Ramp (时钟斜升)"和"Reverse Direction (反向)"按钮、我可以看到频率在适当的方向发生变化、但我遇到了与设置2类似的问题。 当我执行频率阶跃以跳转到或跳转到初始频率时、有时会出现较大的突然相移。 下面的视频显示了该问题。 看到相位在12和16秒处跳转。

e2e.ti.com/.../VID_5F00_20200203_5F00_115320071_5F00_reduced.mp4

我真的希望我可以在某个寄存器中更改一些设置、这样我就可以获得可靠的班次、而不会出现任何这些重大跳跃。 让我知道是否有我可以调整的东西来实现它。

谢谢、

戈登。

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

    大家好、Gordon、

    我们在设计中犯了一个错误、即 RAMP_EN 位于 R0中、因此每次启用(或禁用 RAMP_EN)时都会触发 VCO 校准、我认为这是您看到的最大毛刺脉冲。  

    如果您的频率变化不大(RAMP0_LEN = 1是一个非常小的频率变化)、也许您可以将 VCO 置于"强制"模式、这样 VCO 校准被旁路掉。  

    测试步骤如下:

    在斜升之前、读回 VCO 参数

    -设置 MUXout = 0以将其置于回读模式

    -读取 R110、R111和 R112以获得 Rb_VCO_SEL、Rb_VCO_CAPCTRL 和 Rb_VCO_DACISET 值

    2、设置 VCO_CAPCTRL_FORCE、VCO_SEL_FORCE 和 VCO_DACISET_FORCE = 1

    -频率输出关闭、但不用担心

    3.将 VCO_SEL、VCO_CAPCTRL 和 VCO_DACISET 设置为其回读值

    -频率输出恢复正常  

    4.执行步骤2频率斜升

    请告诉我们这是否有帮助。

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

    Noel、您好!

    您对 VCO 校准的评价是合理的。 我看到您正在尝试做什么、但不幸的是、它不能按我的预期工作。 当我运行上述序列时、它会像您说的那样失去锁定、然后在 VCO_CAPCTRL 被写入时返回。 一旦我单击 RAMP_EN 按钮、它就会退出锁定状态、即使我随后禁用 RAMP_EN、它也会保持这种状态。

    这是我的序列:

    1 -设置默认配置

    2 -设置 R=2、Fvco=4800、ChDiv=8、PFD_DLY_SEL=2

    3 -校准 VCO

    4 -设置 OUT_FORCE=1 (用0x40b2写入寄存器7)

    5 -设置 LD_DLY=0 (用0x0000写入寄存器60)

    6 -将 DEN 设置为最大值(用0xFFFF 向寄存器38写入值、用0xFFFF 向寄存器39写入值)

    7 -设置 RAMP0_INC = 1、RAMP0_LEN = 1、RAMP1_INC =-1、RAMP1_LEN = 1

    在该状态下、它会从100MHz 基准输出稳定的600MHz 信号。 它已准备好进行斜升、但给出了我在该主题帖上的第一篇文章中提到的问题。 然后、我执行了以下操作来执行您在上面所问的操作:

    8 -设置 MUXOUT=0 (用0x2118写入寄存器0)

    9 -读取寄存器110 (返回的值为0x0c68、为位7-5上的 Rb_VCO_SEL 提供二进制011)

    10 -读取寄存器111 (返回的值为0x0011、为位7-0上的 Rb_VCO_CAPCTRL 提供二进制0001)

    11 -读取寄存器112 (返回的值为0xbe6f、为位7-0上的 Rb_VCO_DACISET 提供二进制0110 1111)

    12 -设置 VCO_CAPCTRL_FORCE = 1且 VCO_DACISET_FORCE = 1 (用0x6800写入寄存器8)

    13 -设置 VCO_SEL_FORCE = 1且 VCO_SEL =二进制011 (将寄存器20写入0x5948)

    14 -设置 VCO_CAPCTRL =二进制0001 0001 (用0x2711写入寄存器19)

    15 -设置 VCO_DACISET =二进制0110 1111 (用0x006f 写入寄存器16)

    此时、输出打开并锁定在600MHz。

    16 -启用斜坡突发模式、设置斜坡数量= 2、RAMP0_NEW_RAMP = 1、RAMP1_NEW_RAMP = 0

    17 -启用斜坡(RAMP_EN = 1)

    现在、输出已失锁、无法恢复。

    我也尝试过使用 FCAL_EN 设置、但也可以满足我的需求。 还有其他建议吗? 如果可以使触发正常工作、我很高兴保持启用斜坡并在引脚上使用外部触发器(我的初始帖子中的设置3)。 这两种方法都可以、但我现在有点卡滞了。

    戈登。

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

    对此进行了任何更新? 我真的想知道这是否可能。 我想在设计中使用此器件、但只有在我能够执行此频率斜升/相移时才能真正使用此器件。

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

    大家好、Gordon、

    我需要进行一些头脑风暴、稍后我会再回来。 感谢您的耐心等待。