时钟控制模块、主频修改实验

目录

一、时钟控制模块

1.1 核心

1.2 系统时钟来源

1.3 PLU和PFD倍频时钟

1.4 PLL选择时钟

1.5 外设时钟

二、主频修改实验

2.1 clock.c/h文件

2.2 main.c文件

2.3 Makefile文件

2.4 实验现象


一、时钟控制模块

1.1 核心

4个层次配置芯片时钟:

        配置晶振时钟(24MHz)

        配置PLL与PFD时钟(528PLL、USB1 PLL细分PFD)

        配置PLL选择时钟

        配置根时钟/外设时钟

1.2 系统时钟来源

RTC时钟源:32.768kHz。

系统时钟:24MHz。

时钟控制模块、主频修改实验_第1张图片

1.3 PLU和PFD倍频时钟

7路锁相环电路:

        ARM_PLL:驱动 ARM 内核

        528_PLL:倍频参数固定为22,系统总线时钟。主频固定:22*24MHz = 528MHz。

        USB1_PLL:驱动第一个 USB 物理层

        USB2_PLL:驱动第二个 USB 物理层

        ENET_PLL:驱动外部以太网接口

        VIDEO_PLL:驱动视频接口

        AUDIO_PLL:驱动音频接口

资料来源于IMX6ULL用户手册的10.3 Clock Management章节的10.3.1小节的图片。

CCM_ANALOG_PLL_XXX寄存器集:

        设置PLL时钟主频(pll1_main_clk)。

        使能PLL时钟输出。

CCM_ANALOG_PFD_XXX寄存器集:

        设置PLL下PFD的分频系数。

资料来源于IMX6ULL用户手册的10.3 Clock Management章节的10.3.1小节的图片。

1.4 PLL选择时钟

对PLL1和PLL3的输出进行选择、对PLL4和PLL5进行分频。

        CPU内核时钟来源于PLL1时钟。

        刚上电时,PLL1时钟未初始化,ARM内核先使用24M晶振频率,等PLL1时钟稳定输出后,再切换回PLL1时钟。

CCM_CCSR寄存器:选择pll1_sw_clk、step_clk时钟源。

        step_clk位:时钟源设置为24M晶振。

        pll1_main_clk位:时钟源设置为step_clk或pll1_main_clk。

资料来源于IMX6ULL用户手册的18 CCM章节的18.5.1.5.1小节的图片。

你可能感兴趣的:(#,野火i.mx,6ull裸机开发,单片机,stm32,嵌入式硬件)