我有一个将 LMK04832 PLL2设置为生成2.5GHz 的设计:
VCO_MUX = VCO0、PDF=50MHz、N 预分频器= 2 (最小值)、N=N_CAL=25
但是、LMK04832报告 PLL2未锁定。 实际 VCO 输出频率为2.51GHz、CPUUT2最大输出~= 3.2V。 在 芯片最初配置为使用 VCO0输出2.5GHz 后、通过更改以下寄存器(所有其他寄存器均未更改)、VCO1在3.0GHz 下工作正常:
VCO_MUX = VCO1;N=30;N_CAL=30
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 PLL2设置为生成2.5GHz 的设计:
VCO_MUX = VCO0、PDF=50MHz、N 预分频器= 2 (最小值)、N=N_CAL=25
但是、LMK04832报告 PLL2未锁定。 实际 VCO 输出频率为2.51GHz、CPUUT2最大输出~= 3.2V。 在 芯片最初配置为使用 VCO0输出2.5GHz 后、通过更改以下寄存器(所有其他寄存器均未更改)、VCO1在3.0GHz 下工作正常:
VCO_MUX = VCO1;N=30;N_CAL=30
尊敬的麦克斯韦、
请记住、VCO0范围保证为2440MHz、这对我来说非常令人吃惊。 2.51GHz 正是 VCO0调谐范围的中频带、因此如果这是缺陷或 VCO 居中问题、我希望在器件发运前在最终测试中得到解决。
您的 PLL2基准输入源是什么? 您是否确认此电源确实在预期范围内运行? 在调试期间、一个有用的东西是确认 PLL2 R/N 频率是准确的。 如果您可以访问 Status_LD1/Status_LD2引脚、则可以将这些引脚配置为输出、并使用 PLL1_LD_TYPE 和 PLL2_LD_TYPE 寄存器选择 PLL2 N/2和 PLL2 R/2输出。 理想情况下、您希望 PLL2 R/2输出在25MHz 时与校准设备完全一样无干扰。
您可以共享寄存器编程吗? 该设计过去已经工作过、因此我不希望找到任何东西、但您可以让寄存器配置在一些边缘配置中工作。
您是否遵循推荐的寄存器编程顺序? 有关更多详细信息、请参阅数据表第8.5.1节。 即使某些器件上的编程序列不正确、PLL 也可能被锁定。
此致、
Derek Payne
最大值、
感谢您的更新、我很高兴这解决了问题。 VCO 校准过程应确保在校准温度超过±125°C 时(在器件的工作限制范围内)实现稳定锁定、 因此、对于某些工艺批次、VCO 可能会在没有适当校准的情况下锁定-您可能刚刚在接近 VCO 调谐范围上限或下限的情况下运行、而在您之前的项目中未实现这一点。
如果您希望已经构建的系统中出现任何较大的温度波动、您可能需要考虑更新其编程序列以再次写入 PLL2_N 寄存器、从而确保校准已正确完成。
此致、
Derek Payne
Derek、
在 OUT 测试期间、在实验室环境中、温度非常稳定。 以下代码片段是我们在将寄存器 0x000写入0x165后编程序列的最后一部分。
//使用 PLL2_PD 和 PLL2_PRE_PD 清除对寄存器0x173进行编程、以便在对 PLL_N 进行编程后允许 PLL2锁定
{0x173、0x10、"[6] PLL2_PRE_PD [5] PLL2_PD"}、
//对寄存器0x166编程到0x555
{0x166、0x00、"[1:0] PLL2_N[17:16]"}、
{0x167、0x00、"PLL2_N[15:8]"}、
{0x168、0x19、"PLL2_N[7:0]"}、
{0x169、0x59、"[6:5] PLL2_WND_SIZE;[4:3] PLL2_CP_GAIN;[2] PLL2_CP_POL; [1] PLL2_CP_TRI;[0] PLL2_DLD_EN"}、
{0x16A、0x20、"[5:0] PLL2_DLD_CNT[13:8]"}、
{0x16B、0x00、"[7:0] PLL2_DLD_CNT[7:0]"}、
{0x16E、0x13、"[7:3] PLL2_LD_MUX;[2:0] PLL2_LD_TYPE"}、
//------ 0x16F ~ 0x555其他寄存器---
{0x177、0x00、"[5] PLL1R_RST"}、
{0x182、0x00、"[1] CLR_PLL1_LD_Lost [0] CLR_PLL2_LD_Lost"}、
{0x183、0x00、"[3] Rb_PLL1_LD_Lost [2] Rb_PLL1_LD [1] Rb_PLL2_LD_Lost [0] Rb_PLL2_LD"}、
编程序列可用于之前的许多设计。 我不知道为什么我现在需要执行另一个 VCO 校准。
谢谢、
最大
最大值、
我并不完全清楚为什么序列在某些器件上有效、而在其他器件上无效。 我知道 TICS Pro 实际上最后对 N 分频器进行编程、即使在所有其他寄存器之后也是如此:

这是推测、但还有一种可能性需要考虑:VCO LDO 或其他一些内部 PLL LDO 可能需要更多或更少的时间才能在器件内部建立、具体取决于工艺批次、 将 POWERDOWN 位编程为0、然后立即对 N 分频器寄存器进行编程、可能会导致一些较慢边角器件的校准不稳定。
然而、这个解决方案仍然很简单:在所有其它寄存器之后编辑 N 分频器的 LSB。
此致、
Derek Payne