NXP i.MX RT1052 时钟配置

NXP i.MX RT1052 时钟配置

RT1052 共有 7 个 PLL 锁相环电路,分别为 ARM PLL(PLL 1)、System PLL(PLL 2)、USB1 PLL(PLL 3)、Audio PLL(PLL 4)、Video PLL(PLL 5)、ENET PLL(PLL 6) 、USB2 PLL(PLL 7)

//开启 Video PLL锁相环时钟 输出, (注释掉, 关闭 Video PLL锁相环时钟 输出)
CCM_ANALOG->PLL_VIDEO |= CCM_ANALOG_PLL_VIDEO_ENABLE_MASK;
在 CLOCK_InitArmPll 函数中也有 开启 指定 PLL锁相环时钟 输出

24MHz -> PLL时钟 -> PFD时钟 -> 生成根时钟(作内核或外设的时钟源)
24MHz -> PLL时钟 -> 生成根时钟(作内核或外设的时钟源)

PLL时钟生成配置:
const clock_arm_pll_config_t armPllConfig_BOARD_BootClockRUN = {
.loopDivider = 88, /* PLL loop divider, Fout = Fin * (88/2.0) */
};
CLOCK_InitArmPll(&armPllConfig_BOARD_BootClockRUN);//1056MHz
PLL 频率计算公式:
ARM_PLL = Fin * DIV_SELECT/ 2.0

PFD时钟生成配置:
CLOCK_InitUsb1Pfd(kCLOCK_Pfd0, 24);
PLL3 PFD0 频率计算公式:
PLL3*18/24 = 360MHZ.

根时钟生成配置:
1.时钟输入源选择
CLOCK_SetMux(kCLOCK_PeriphClk2Mux, 0);
0-选择(CCM Clock Tree图)中的相应选择器的第一个时钟输入源
1-选择(CCM Clock Tree图)中的相应选择器的第二个时钟输入源
2.分频
CLOCK_SetDiv(kCLOCK_PeriphClk2Div, 0);
0-不分频, 1-2分频, 2-3分频, 以此类推

初始化开发板时钟
1.保存 RTC OSC(32768Hz)和 XTAL (24MHz)的频率
2.设置 OSC(24MHz)时钟作为 ARM Core Clock的根时钟(AHB_CLK_ROOT)。系统启动后 PLL锁相环输出时钟还未设置,为了保证 CPU稳定运行,首先使用 OSC(24MHz)作为系统时钟,当 PLL锁相环时钟设置完成并且时钟输出稳定后再进行时钟切换。
注意: 最开始我没有做任何设置, 但分频器的值不为0; CBCDRPERIPH_CLK2_PODF, CBCDRAHB_PODF

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章