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.

[参考译文] LMX2820:使用即时校准时、某些频率不会锁定

Guru**** 2394305 points
Other Parts Discussed in Thread: LMX2820

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

https://e2e.ti.com/support/clock-timing-group/clock-and-timing/f/clock-timing-forum/1302289/lmx2820-certain-frequencies-do-not-lock-when-using-instant-calibration

器件型号:LMX2820

我目前已经致力于配置 LMX2820、以使其能够从45MHz 扫描到22.6GHz。 我希望实施即时校准、我相信、在汇总数据表、文档#SNAA342以及此论坛的其他博文后、我终于完成了这一步。

我使用的是正常运行的125MHz OSCIN 和三阶 MASH。 我已将 INSTCAL_DLY 设置为 313 (基于.47uf 的默认偏置电容值和125MHz PFD)。

我一直面临的问题(表面上看、获取即时校准正常运行)是 、当将输出频率设置为2079MHz、4158MHz 或8315MHz 并使用即时校准时、锁定检测通常(但不是始终)不会变为高电平。

如您所见、这些频率有一种明显的模式(4158是8315的一半、2079是8315的四分之一)。 不过、根据我的配置或任何内部 VCO 频带、这些频率在数学上似乎都没有意义。

例如、当无法锁定2079时、我经常会看到的是最终锁定需要 X 个时间。 然后、下次我的扫描尝试设置2079时、锁定大约需要 X/2时间。 然后、需要大约 X/4时间来锁定、等等。 换句话说、每次再次锁定其中一个频率时、所需的锁定时间都比之前在该频率下所需的时间更短。

此外、我通过 Raspberry Pi 发送 SPI 命令来控制 LMX2820、并将总线速度设置为10MHz。 换句话说、我在进行扫描时不会使用 TICS Pro。

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

    Dan、您好!  
    为了事先确认、您将按照所述的所有步骤设置完全辅助:  

    您在步骤10中完成了校准、现在当您更改 INSTCAL_PLL_NUM、PLL_N、PLL_NUM 和 PLL_DEN 并向 R0写入以触发频率跃点校准时、除了以下频率: 2079MHz、4158MHz 和8315MHz 之外、您在实现锁定时不会遇到任何问题:

    此致、  

    维森特  

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

    Vicente,

    感谢您这么快的答复。 我会尽量为您提供有关我的流程的信息。

    我最初使用以下寄存器写入来初始化 LMX2820:

    R122 0x7A0000
    R121 0x790000
    R120 0x780000
    R119 0x770000
    R118 0x760000
    R117 0x750000
    R116 0x740000
    R115 0x730000
    R114 0x720000
    R113 0x710000
    R112 0x70FFFF
    R111 0x6F0000
    R110 0x6E001F
    R109 0x6D0000
    R108 0x6C0000
    R107 0x6B0000
    R106 0x6A0000
    R105 0x69000A
    R104 0x680014
    R103 0x670014
    R102 0x660028
    R101 0x6503E8
    R100 0x640533
    R99 0x6319B9
    R98 0x621C80
    R97 0x610000
    R96 0x6017F8
    R95 0x5F0000
    R94 0x5E0000
    R93 0x5D1000
    R92 0x5C0000
    R91 0x5B0000
    R90 0x5A0000
    R89 0x590000
    R88 0x5803FF
    R87 0x57FF00
    R86 0x560040
    R85 0x550000
    R84 0x540040
    R83 0x530F00
    R82 0x520000
    R81 0x510000
    R80 0x5001C0
    R79 0x4F011E
    R78 0x4E0001
    R77 0x4D0608
    R76 0x4C0000
    R75 0x4B0000
    R74 0x4A0000
    R73 0x490000
    R72 0x480000
    R71 0x470000
    R70 0x4600FE
    R69 0x450011
    R68 0x440020
    R67 0x431000
    R66 0x42003F
    R65 0x410000
    R64 0x400080
    R63 0x3FC350
    R62 0x3E0000
    R61 0x3D03E8
    R60 0x3C01F4
    R59 0x3B1388
    R58 0x3A0000
    R57 0x390001
    R56 0x380001
    R55 0x370002
    R54 0x360000
    R53 0x350000
    R52 0x340000
    R51 0x33203F
    R50 0x320080
    R49 0x310000
    R48 0x304180
    R47 0x2F0300
    R46 0x2E0300
    R45 0x2D3333
    R44 0x2C3333
    R43 0x2B00C8
    R42 0x2A0000
    R41 0x290000
    R40 0x280000
    R39 0x2703E8
    R38 0x260000
    R37 0x250500
    R36 0x24002D
    R35 0x233180
    R34 0x220010
    R33 0x210000
    R32 0x201041
    R31 0x1F0401
    R30 0x1EB18C
    R29 0x1D318C
    R28 0x1C0639
    R27 0x1B8001
    R26 0x1A0DB0
    R25 0x190624
    R24 0x180E34
    R23 0x171102
    R22 0x16E2BF
    R21 0x151C64
    R20 0x14272C
    R19 0x132120
    R18 0x120000
    R17 0x1115C0
    R16 0x10171C
    R15 0x0F2001
    R14 0x0E3001
    R13 0x0D0038
    R12 0x0C0408
    R11 0x0B0602
    R10 0x0A0000
    R9 0x090005
    R8 0x08C802
    R7 0x070000
    R6 0x060A43
    R5 0x050032
    R4 0x044204
    R3 0x030041
    R2 0x028272
    R1 0x0157A2
    R0 0x004230

    这会将 LMX2820设置为5.65GHz 、而无需任何校准辅助。 此时、FCAL_EN = 1、INSTCAL_DBLR_EN = 1、INSTCAL_EN = 0。 INSTCAL_DLY 也在该点设置(寄存器 R2)。

    然后、我设置  INSTCAL_EN = 1和 FCAL_EN = 1 (即使 FCAL_EN 已经为1)。

    我确认锁定在5.65GHz。 注意:我正在 读取 MUXOUT 寄存器回读以验证锁定、而不是锁定检测 I/O 引脚。

    然后、我再次 设置 INSTCAL_EN = 1和 FCAL_EN = 1 (即使 FCAL_EN 已经为1)。

    我等待100ms。

    然后、设置 FCAL_EN = 0。

    此时、即时校准已完成、我可以通过写入以下寄存器来设置所需的输出频率:

    INSTCAL_PLL_NUM (R45、R44)
    PLL_N (R36)
    PLL_NUM (R43、R42)
    PLL_DEN (R39、R38)
    OUTA_MUX (R78)
    CHDIVA (R32)

    然后、我将0x4220写入 R0以使 FCAL_EN = 0

    是的、 除了我提到的频率外、在实现锁定方面似乎没有问题。 我已经使用示波器根据每个频率观察到~10us 的总锁定时间来验证了即时校准功能。

    如果我似乎没有像在步骤7中那样写入 INSTCAL_PLL_NUM、则会观察到一个问题、因为此时它已正确设置。


    ~~~~~~~~~~~~~~~~~~~~
    我认为需要发布一个更正的、确定的启用即时校准的步骤列表、因为数据表与您在上面提供的步骤列表不一致。 它还省略了将 FCAL_EN 设置为1和0之间的100ms 等待时间。

    数据表中列出了启用即时校准的步骤:

    1.正常为设备加电。
    2.对 INSTCAL_DLY 进行编程。
    3.对用于即时校准的寄存器 R1进行编程。
    •设置 INSTCAL_EN = 1。 将 INSTCAL_EN 从0切换到1的操作会重置即时校准设置、并设置器件以在下一次使用 FCAL_EN = 1对寄存器 R0进行编程时生成设置。
    •如果使用输出倍频器、则设置 INSTCAL_DBLR_EN = 1、否则将其设置为0
    4.将器件编程为输出5.65GHz。
    5.对 INSTCAL_PLL_NUM = 232 ×(PLL_NUM / PLL_DEN)进行编程。
    6.将 FCAL_EN = 1写入 R0以生成校准设置。
    7.将 FCAL_EN = 0写入 R0、使器件锁定到5.65GHz
    8.等待锁定检测变为高电平。

    现在、器件已针对执行此操作的特定相位检测器频率进行初始化。 只要不从器件上移除电源、然后相位检测器频率不发生改变、那么后续的频率改变可以使用即时校准来完成。 要在即时校准初始化后改变频率、请执行以下操作:

    1.写入 INSTCAL_PLL_NUM、PLL_N、PLL_NUM、PLL_DEN 的值。
    2.写入 R0以触发校准(DBLR_CAL_EN = 0、FCAL_EN = 0)。



    此外,在本论坛其他地方, 还采取了下列步骤

    1.使能所有的双缓冲位
    2.如果需要 VCO 倍频器,请启用 INSTCAL_DBLR_EN
    3. VCC 为器件加电
    4.对所有寄存器进行编程、使器件锁定到 5650MHz (INSTCAL_EN = 0、FCAL_EN=1、INSTCAL_PLL_NUM =根据您的配置)
    5.锁定后、对 INSTCAL_EN = 1进行编程

    6.编程 FCAL_EN = 1

    7.等待100ms
    8.编程 FCAL_EN = 0
    9.即时校准完成

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

    Dan、您好!  
    我按照步骤 Noel 列出在他的线程中,你在以前的答复和没有问题使用即时校准锁定 2079MHz、4158MHz 和8316 MHz 分别。 我发现 对于 您列出的这三个频率之外的大多数频率、您能够成功地更改频率即时校准是非常奇怪的。 您能否使用我的同事在上面所附的主题中提供的指导再次尝试即时校准?  

    一旦完成即时校准、写入 PLL_N、PLL_NUM、PLL_DEN 和 INSTCAL_PLL_NUM 以及写入 R0 (FCAL_EN =0)应该是唯一需要更改的参数。  

    作为即时校准的方向,我需要调查为什么程序不同.  

    此致、  

    维森特  

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

    我很乐意尝试、但在第3步之前我一直在犹豫如何执行第1步和第2步。 VCC 在说话之前为器件供电似乎是必要的、对吗? 或者、"对器件进行 VCC 加电"并不意味着我认为这意味着什么?

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

    Dan、您好!  
    我能够首先加电和随后的所有步骤 Noel 提供和设法 分别使用即时校准实现锁定2079MHz、4158MHz 和8316 MHz。 请尝试上面图片中的步骤、但先接通电源、然后让我知道这是否适用于您。  

    此致、  

    维森特  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尽量按照指令的指令办事。 以下执行 Noel 过程时我的脚本的外观: 


    DEF initialization_instance_calibration():
    # TI 论坛建议
    #初始寄存器写入。
    Initialize_LMX2820 ()
    print ("初始寄存器写入完成。")

    #启用所有双缓冲位
    WRITE_SPI_register (0x460x00FE)

    #如果需要 VCO 倍频器,请启用 INSTCAL_DBLR_EN
    WRITE_SPI_register (0x10x57A2)
    打印("INSTCAL_DBLR_EN=1")

    #编程所有的寄存器使设备锁定到5650MHz (INSTCAL_EN = 0、FCAL_EN=1、INSTCAL_PLL_NUM =根据您的配置)
    # INSTCAL_EN = 0
    WRITE_SPI_register (0x10x57A2)
    # FCAL_EN=1
    WRITE_SPI_REGISTER (0x00x4230)
    # INSTCAL_PLL_NUM for 5650
    WRITE_SPI_register (0x2C0x3333)
    WRITE_SPI_register (0x2D0x3333)

    #在它被锁定后...
    READ_SPI_REGISTER (0x4A)>> 14!= 2时
    time.sleep (dwell)
    打印("在5650 MHz 锁定")

    #...program INSTCAL_EN = 1
    WRITE_SPI_register (0x10x57A3)
    PRINT ("INSTCAL_EN ENABLED (0x0157A3)")

    # Program FCAL_EN = 1
    WRITE_SPI_REGISTER (0x00x4230)
    PRINT ("FCAL_EN ENABLED (0x004230)")

    #等待100ms
    time.sleep (.1)
    打印("等待100ms")

    # Program FCAL_EN = 0
    WRITE_SPI_register (0x00x4220)
    PRINT ("FCAL_EN DISABLED (0x004220)")

    #即时校准已完成

    这会导致我的扫描在8315MHz 停止

    在修整一些事情后、我发现以下脚本可以正确地初始化即时校准、并允许我45MHz 可靠地扫描22.6GHz

    DEF initialization_instance_calibration():
    #黄金
    #初始寄存器写入
    Initialize_LMX2820 ()
    print ("初始寄存器写入完成。")

    WRITE_SPI_register (0x10x57A3)
    WRITE_SPI_REGISTER (0x00x4230)

    READ_SPI_REGISTER (0x4A)>> 14!= 2时
    time.sleep (dwell)
    打印("在5650 MHz 锁定")

    WRITE_SPI_register (0x10x57A3)
    打印("INSTCAL_EN=1")

    WRITE_SPI_REGISTER (0x00x4230)
    打印("FCAL_EN=1")

    time.sleep (.1)
    打印("等待100ms")

    WRITE_SPI_register (0x00x4220)
    打印("FCAL_EN=0)

    #打开 LED
    GPIO.OUTPUT (LED_PINGPIO.HIGH)

    虽然我可能偶然发现了到目前为止似乎是可靠工作的配置,但明白为什么可靠的工作,特别是因为它似乎没有严格遵循任何公布的程序。

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

    Dan、您好!

    让我来看看这更进一步的情况这非常 奇怪、因为您似乎遵循了正确的程序-这个程序并不会让我在工作台上遇到任何问题。

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

    谢谢 你。  我对您的发现感兴趣、但我对数据表中已发布的"即时校准"过程的审查和更正更感兴趣。 它令人困惑、缺乏细节和解释、与张贴在别处的内容相矛盾。

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

    Dan、您好!  
    这位最熟悉这款器件的工程师在离开办公室一段时间后、将于本周返回。  
    我将通过他们带来这一点。

    请让我在本周结束前发言。  

    此致、  

    维森特