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.

[参考译文] LMK04832:重写寄存器时 PLL 会释放锁定。

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

https://e2e.ti.com/support/clock-timing-group/clock-and-timing/f/clock-timing-forum/1338269/lmk04832-pll-looses-lock-when-rewrite-registers

器件型号:LMK04832

我使用的是双环路模式。

针对 PLL1的 CLKin1 (10MHz):使122.88MHz 生成

用于 PLL2的 OSCin (122.88MHz VCXO):使2490.368MHz 成为

 

当 Xilinx 的 Microblaze CPU 在初始引导期间设置 LMK04832时、PLL1和 PLL2都将锁定。

然而、当相同的值再次被写入 LMK04832时、PLL1或 PLL2 被解锁。

(特别是在设置地址0x138、0x147、0x161、0x168时)

提前感谢您的答复。

寄存器的配置值如下。

-------------------------------------------------------

0000 0090
0000 0010
0002 0000
0003 0006
0004 00D1
0005 0063
0006 0050
000c 0051
000d 0004
0100 0013
0101 000a
0102 0010
0103 0040
0104 0000
0105 0000
0106 0001
0107 0011
0108 0013
0109 000a
010a 0010
010b 0040
010c 0020
010d 0020
010e 0001
010f 0041
0110 0013
0111 000a
0112 0010
0113 0040
0114 0010
0115 0000
0116 0001
0117 0011
0118 0013
0119 000a
011A 0010
011b 0040
011C 0020
011D 0020
011E 0001
011F 0011
0120 0013
0121 000a
0122 0010
0123 0040
0124 0010
0125 0000
0126 0001
0127 0041
0128 0013
0129 000a
012A 0010
012b 0040
012c 0010
012d 0000
012E 0001
012F 0011
0130 0013
0131 000a
0132 0010
0133 0040
0134 0020
0135 0020
0136 0001
0137 0011
0138 0011
0139 0000
013A 0000
013B 0098
013C 0000
013D 0008
013E 0003
013F 0007
0140 0003
0141 0000
0142 0000
0143 0001
0144 00ff
0145 0000
0146 001A
0147 001A
0148 0002
0149 0042
014A 0033
014B 0006
014C 0000
014D 0000
014E 00C0
014F 007F
0150 0001
0151 0002
0152 0000
0153 0000
0154 007D
0155 0000
0156 007D
0157 0000
0158 0096
0159 0006
015A 0000
015B 00D4
015C 0020
015D 0000
015E 001E
015F 000b
0160 0000
0161 000f
0162 008C
0163 0000
0164 0000
0165 000c
0169 0058
016A 0020
016B 0000
016C 0000
016D 0000
016E 0013
0173 0010
0177 0000
0182 0000
0183 0000
0166 0000
0167 0000
0168 004C
0555 0000
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    其他信息如下:

    10MHz 参考时钟(CLKin1)始终稳定输入。

    当 Xilinx 的 Microblaze CPU 在初始引导期间设置 LMK04832时、PLL1和 PLL2都将锁定。  如果不重新写入寄存器、则锁定是稳定的。

    当 PLL1和 PLL2都被锁定时、如果置位 PLL2、PLL2将变为解锁状态。

    然而、如果在 PLL1被解锁并且 PLL2被解锁的情况下 PLL2被置位、PLL2将再次被锁定。

    但 PLL1永远不会再次锁定。

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

    您好!

    我们下周同一时间再见。

    此致!

    安德烈亚

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

    您好!  

    很抱歉响应延迟。 您能否在初始启动期间和 之后编程的配置共享一个.tcs 文件?  

    请注意、我们通常建议按数字顺序对寄存器进行编程。 特别是对于设置 PLL2_N 和 PLL2_N_CAL 寄存器的寄存器0x163至0x168、需要在编程后再次运行 VCO 校准、否则器件可能无法锁定。 有关更多详细信息、请参阅数据表的第8.5节:

    此致、  

    康纳  

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

    您好!
    我也理解数据表的第8.5节。
    我按照随附的顺序对寄存器进行了编程。
    然后、我再次对相同的数据进行编程。
    我将很快分享您刚才提到的.tcs 文件。
    我们从 TICS Pro 创建了一个寄存器集。 在我们制作的电路板上、我们使用 Xilinx FPGA 中的 microblaze CPU 对其进行了编程。

    此致、
    BK

    e2e.ti.com/.../RawRegisters.txt

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

    您好!  

    明白了、您要将随附的配置写入器件、然后再次写入相同的值、但只对寄存器 0x138、0x147、0x161和0x168进行写入? 假设 PLL2_FCAL_DIS = 0、然后写入0x168应触发 VCO 校准、我希望器件能够正确锁定。 您能否分享在初始启动后重新写入这些特定寄存器的用例?  

    另请注意,我们的大部分团队在复活节 假期不在办公室,因此我们的答复可能会推迟到下周早些时候。  

    此致、  

    康纳  

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

    您好!

    我按照随附的顺序对寄存器进行了编程。 PLL1和 PLL2都被锁定。
    然后、我再次对完全相同的25个寄存器进行编程。 我发现 PLL1或 PLL2已解锁。

    因此、我在写入特定地址时检查了 PLL 是否已解锁。
    除地址0x138、0x147、0x161和0x168之外的编程地址保持锁定状态。
    仅当编程地址0x138、0x147、0x161和0x168时、PLL1或 PLL2或这两个 PLL 才解锁。
    检查时使用的值与初始编程期间使用的值相同。

    0x166的位[2]是 PLL2_FCAL_DIS 位。 我没有在 TICS Pro 上启用 PLL2_FCAL_DIS。 我在地址0x166中编写了0x00作为附加文件。

    此致、
    BK

    .TCS 文件:  

    e2e.ti.com/.../MODEM_5F00_LMK04832_5F00_230905_5F00_clkin1.tcs

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

    您好!

    我们在美国度假时不在办公室。 请预计周一之前回复。

    谢谢。

    卡德姆

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

    BK、

    我将从 Connor 手中接过这条线。  使用您的.TCS 时、我无法在实验室的第一次测试中重现您的问题。  我的第一个问题是、如何检查 PLL 的锁定状态、因为重写后、它们将是一个很小的锁定时间延迟、会在 PLL 锁定之前发生?

    此致、

    将会

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

    您好!

    我也无法在 EVM 上重现此问题。

    LMK04832的引脚31 Status_LD1和引脚48 Status_LD2连接到 Xilinx FPGA。 LMK04832和 Xilinx FPGA 已安装在我的板上。 然后、我可以读取 LD 引脚的值。
    正如您知道的、数字锁定检测信号可以在 Status_LD1或 Status_LD2引脚上进行监控。
    为了针对 PLL1、PLL2或 PLL1和 PLL2进行编程以输出锁定检测的状态、地址0x15F 被编程为0x0B、地址0x16E 被编程为0x13。

    此致、
    BK

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

    BH、  

    有趣。  寄存器写入顺序是否在启动时与后续写入时相同? 很奇怪、它锁定在 EVM 和启动时、但仅 在重写时锁定失败。  同时在工作台上进行一些测试、您确定为引起问题的寄存器都会改变 PLL 寄存器的值。  重写命令似乎是写入不同的寄存器映射?  让我知道你的想法吗?

    此致、

    将会

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

    您好!

    有趣。
    寄存器写入顺序是否在启动时与后续写入时相同?
    Bk :是的,是的。 奇怪的是、启动时未执行 LMK04832寄存器的初始写入、即使启动后写入所有寄存器、PLL 也未锁定。
    很奇怪、它锁定在 EVM 和启动时、但仅在重写时锁定失败。 同时在工作台上进行一些测试、您确定为引起问题的寄存器都会改变 PLL 寄存器的值。 重写命令似乎是写入不同的寄存器映射? 让我知道你的想法吗?
    Bk :我用示波器测量了 SPI 写入信号。 我确认这是相同的价值。

    可以使用 UART 终端控制每个地址的 SPI 写入/读取。
    就像我几天前写的、
    除地址0x138、0x147、0x161和0x168之外的编程地址保持锁定状态。
    仅当编程地址0x138、0x147、0x161和0x168时、PLL1或 PLL2或这两个 PLL 才解锁。

    此致、
    BK

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

    BK、

    BK :是的,是的。 奇怪的是、启动时未执行 LMK04832寄存器的初始写入、即使启动后写入所有寄存器、PLL 也未锁定。

    PLL 锁定时如何写入 LMK04832的寄存器?

    此致、

    将会

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

    您好!

    所有寄存器都编程为在初始引导期间锁定的相同值。

    此致、
    BK

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

    BH、

    奇怪的是,启动时未执行 LMK04832寄存器的初始写入

    我感到困惑、何时以及如何在开始时正确写入寄存器。  允许 PLL 锁定的启动顺序是什么?

    此致、

    将会

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

    您好!

    很抱歉让你感到困惑。
    有两种类型的测试。

    测试1
    主板电源接通->
    FPGA 已配置->
    Microblaze (MB) CPU 已初始化。 然后 MB 固件会自动对 LMK04832寄存器进行编程、之后 PLL1和 PLL2会被锁定。 ->
    在 PLL 处于锁定状态时、我用相同的值重写 LMK04832、然后 PLL 处于解锁状态。

    测试2
    主板电源接通->
    FPGA 已配置->
    Microblaze (MB) CPU 已初始化。 然后 MB 固件不会对 LMK04832寄存器进行编程(因为我阻止了 SPI 写入过程)。 然后、PLL1和 PLL2被解锁。 ->
    我对 LMK04832寄存器进行写入、之后 PLL 处于解锁状态。


    我认为 LMK04832在首次编程时会锁定、在重新编程时会解锁。
    在测试2中、当对 LMK04832进行一次编程时、它未锁定。
    因此、"奇怪的是、启动时未执行 LMK04832寄存器的初始写入、即使启动后写入所有寄存器、PLL 也未锁定。"

    解决方案尚未完成,但我非常感谢你的帮助,以解决这个奇怪的情况。

    此致、
    BK

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

    您好!  

    威尔今天不在办公室、但他应该能够在星期一回到这里。 感谢您的耐心等待。  

    此致、  

    康纳  

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

    BK 您好、

    您能否附上您的原理图? 您使用的是 CLKin0、1还是2? 并且您没有在改写正确值之间更改任何内容? 您仍在向同一输入提供输入频率? 这似乎不是你从上面的解释,但想再次检查.

    此致!

    安德烈亚

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

    您好!

    该问题似乎是由于一家合作公司制造了一个难以解释的董事会所犯的错误而出现的。
    感谢你的帮助。

    此致、

    BK