ARM-06-时钟系统配置

一、时钟系统概述

i.MX6ULL 的时钟系统由多个 PLL(锁相环)和分频器组成,通过寄存器配置来选择时钟源和分频比,最终为 ARM 内核、总线和各外设提供所需的工作频率。

1.1 频率说明

  • 996 MHz:建议值,非固定值,通常不选用此频率
  • 996 MHz → ÷2 → 给 ARM → ÷2 → 给 CPU
  • 528 MHz:官方建议值,最高支持到 1.3 GHz,为固定值无法修改
  • 480 MHz:固定值,无法修改

📌 528 MHz 480 MHz 是固定频率,软件无法更改,需优先完成配置。

1.2 时钟分频器模块结构

下图展示时钟分频器模块的寄存器配置与结构索引,用于说明如何通过寄存器位选择不同分频器类型,控制时钟输出:

1.3 时钟路径总览

整个时钟系统的信号流向如下:

时钟源\] ──→ \[PLL\] ──→ \[预分频器\] ──→ \[分频器\] ──→ \[外设时钟

↑ ↑

PRE_PERIPH_CLK_SEL PERIPH_CLK2_SEL

1.4 需要配置的寄存器

以下寄存器需要依次完成配置:

二、ARM 内核时钟配置(PLL1)

ARM 内核时钟由 PLL1 提供。配置步骤如下:

第一步:设置 CCSR 寄存器

配置 CCSR 中的 STEP_SEL 和 PLL_SW_CLK_SEL 字段:

第二步:设置 CCM_ANALOG_PLL_ARMn

配置 PLL1(ARM PLL)的倍频系数:

第三步:设置 CCM_CACRR --- ARM_PODF 2分频

将 CCM_CACRR 寄存器中的 ARM_PODF 字段设置为 2 分频:

三、配置 PLL2 和 PLL3

四、配置总线时钟

4.1 配置对象

需要依次配置以下三个总线时钟根节点:

  • AHB_CLK_ROOT
  • IPG_CLK_ROOT
  • PERCLK_CLK_ROOT

4.2 分频策略

时钟源选择 PLL2_PFD2,分频步骤如下:

  1. PLL2_PFD2 → ÷3 → AHB_CLK_ROOT
  2. AHB_CLK_ROOT → ÷2 → IPG_CLK_ROOT
  3. IPG_CLK_ROOT → ÷1 → PERCLK_CLK_ROOT

4.3 寄存器配置


  1. 至此时钟设置完毕,某些外设 我们在需要的时候再来设置。 下载程序后看不出有太大的变 化,对于PLL1来说,如果Led采用软件 延时周期性闪烁的话,经过设置会闪烁 得更快些。其他的频率是否正确只能在 使用相关外设的时候才能验证。

相关推荐
zcmodeltech6 小时前
智慧矿山沙盘模型多场景控制系统设计——基于STM32与Modbus RTU的智能开采、无人矿卡、数字孪生全场景联动方案
数据库·stm32·单片机·嵌入式硬件·物联网
qq_402995756 小时前
Secure Boot Part 3 —— 信任根和信任链
arm开发·stm32·信任链
youcans_6 小时前
【嵌入式软件AI编程】03. STM32 VS Code 开发环境与工具链
stm32·单片机·ai编程·嵌入式软件·claude code
国科安芯6 小时前
抗辐射MCU在低轨卫星电源管理单元中的电压监测与保护策略研究
大数据·单片机·嵌入式硬件·电源管理·低轨卫星·抗辐射·星间链路
可爱系程序猿6 小时前
ARM电脑安装打印机驱动失败:先辨认安装器、系统架构与打印路径
arm开发·程序人生·电脑
分享资料7 小时前
去耦电容和旁路电容的区别
嵌入式硬件·硬件工程
深圳市恒锐丰科技杨生7 小时前
LTK118 2‑7V 单通道 H 桥直流有刷电机驱动芯片|集成 MOS 低压消费类驱动方案
嵌入式硬件·硬件工程
星河单片机7 小时前
STM32读取电阻式土壤湿度模块+OLED显示完整教程
stm32·单片机·嵌入式硬件·土壤湿度
不悔哥7 小时前
开源 LVGL:把手机级界面塞进 MCU
单片机·智能手机·开源
影寂ldy8 小时前
C# UdpClient 单播 三种通信版本
stm32·单片机·c#