这篇应用案例以 IW-RFSOC-2T2R 板卡的时钟树结构为例,介绍了如何使用 LMK04828 时钟PLL计算程序 对其时钟进行配置。
根据 IW-RFSOC-2T2R 板卡手册介绍,其时钟树结构如下:
根据 LMK04828 芯片的使用手册,我们可以看出时钟树最好工作在双 PLL 模式下。板卡上提供的晶振和压控振荡器正好能提供组成双 PLL 的工作状态,其内部工作示意图应为:
其中红色线代表第一组 PLL 的时钟路径,蓝色代表第二组 PLL 的时钟路径,绿色代表输入给下级的参考时钟。配置成如图所示的环路能得到最佳的时钟工作状态。
结合上述内容,我们可以调用 LMK04828 时钟PLL计算程序进行如下配置:
#include "LMK_ClockTree.h"
LMK_Config LMK_inst;
LMK_Simple LMK_simple;
// Set reference clock rate
LMK_simple.RefClockRate = 30720000;
// Set expected VCO clock rate
LMK_simple.VCOXClockRate = 122880000;
// Set SYSREF
LMK_simple.SYSREFRate = 7680000;
// DClockRate[n] for DCLKout(2n), the SDCLKout(2n+1) are all set to SYSREF
LMK_simple.DClockRate[0] = 491520000;
LMK_simple.DClockRate[1] = 491520000;
LMK_simple.DClockRate[2] = 491520000;
LMK_simple.DClockRate[3] = 0;
LMK_simple.DClockRate[4] = 0;
LMK_simple.DClockRate[5] = 0;
LMK_simple.DClockRate[6] = 0;
// Config the interface instance for LMK
LMK_simple.InterfaceInst = &SPI_inst;
// Generate config using LMK_simple
LMK_ConfigMake(&LMK_inst, &LMK_simple);
// Download to LMK
LMK_Init(&LMK_inst);