第十六章 主频和时钟配置实验(PLL1)

2019-12-13  本文已影响0人  昨天剩下的一杯冷茶

这章讲了太多系统时钟的寄存器。主要操作时钟的寄存器。

一、系统时钟来源
32.768KHz晶振时I.MX6U的RTC时钟,24MHz是I.MX6U内核和其他外设的时钟源。

二、 7路PLL时钟源
2.1、PLL1(ARM_PLL)是供RAM内核使用,此PLL通过编程的方式最高可倍频到1.3GHz

2.2、 PLL2(528_PLL)是System_PLL,此路PLL分出了4路PFD,分别为:PLL2_PFD0~PLL2_PFD3。

2.3、 PLL3(USB1_PLL)是用于USBPHY,此PLL有4路PFD,分别是PLL3_PDF0~PLL3_PDF3。

2.4、 PLL4(AUDIO_PLL)用于音频相关的外设。

2.5、 PLL5(VIDE0_PLL),此路PLL用于显示相关的外设。

2.6、 PLL6(ENET_PLL),此路用于生成网络所需要的时钟。

2.7、 PLL7(USB2_PLL)是用于USB2PHY。

三、时钟树简介
CLOCK_SWITCHER是时钟源;
CLOCK ROOT GENERATOR是类似“月老”
SYSTEM CLOCKS是提供芯片外设的时钟

四、内核时钟设置

4.1、 PLL1
CCM_CACRR 寄存器

image.png

CCM_CACRR的ARM_PODF位是设置分频

CCM_ANALOG_PLL_ARMn

image.png

bit13是控制PLL1是否输出
bit0~6是PLL1倍频,OKK1 CLK =Fin*div_seclec/2.0,Fin=24MHz。如果PLL1要输出1056MHz的话,div_select就要设置为88。

** 器 CCM_CCSR**


image.png

bit8是设置时钟源来之哪里
bit2是设置输出时钟来之step_clk(24MHz)还是pll1_main_clk

修改步骤
①设置寄存器 CCSR 的 STEP_SEL 位,设置 step_clk 的时钟源为 24M 的晶振。

②设置寄存器 CCSR 的 PLL1_SW_CLK_SEL 位,设置 pll1_sw_clk 的时钟源为
step_clk=24MHz,通过这一步我们就将 I.MX6U 的主频先设置为 24MHz,直接来自于外部的
24M 晶振。

③设置寄存器 CCM_ANALOG_PLL_ARMn,将 pll1_main_clk(PLL1)设置为 1056MHz。

④设置寄存器 CCSR 的 PLL1_SW_CLK_SEL 位,重新将 pll1_sw_clk 的时钟源切换回
pll1_main_clk,切换回来以后的 pll1_sw_clk 就等于 1056MHz。

⑤最后设置寄存器 CCM_CACRR 的 ARM_PODF 为 2 分频,I.MX6U 的内核主频就为
1056/2=528MHz。

上一篇下一篇

猜你喜欢

热点阅读