ARM——时钟系统

一、时钟系统定义

定义:时钟系统是整个系统的心脏,它决定了处理器、外设以及总线的运行速度。

二、主要时钟源

时钟源的概念:整个时钟系统的基础,提供基本的时钟信号。i.MX6ULL的主要时钟源包括外部晶振(XTAL)和内部锁相环(PLL)产生的高频时钟。

PLL(phase locked loop)锁相环电路: 倍频

Prescale 分频器: 分频

PFD(phase fractional Prescale)相位分数分频器: 输出频率可升可降

1.主要时钟源

  • XTAL时钟:外部晶振提供基础时钟源
  • PLL系统:包括ARM PLL、528MHz PLL、480MHz PLL等
  • 时钟分频器:用于生成不同频率的时钟信号

2.时钟域的划分

  • ARM Clock:CPU核心时钟
  • AHB Clock:高级高性能总线时钟
  • IPG Clock:外设接口时钟
  • PERCLK Clock:外设时钟

三、时钟整体架构

四、时钟的工作流程

1.ARM内核时钟(Kernel Clock)配置

步骤 操作 寄存器 配置说明 目标时钟
1 选择osc_clk CCM->CCSR 让step_clk为24MHz 24MHz
2 临时切换 CCM->CCSR 将PLL1输出改为step_clk 24MHz
3 配置PLL CCM_ANALOG->PLL_ARM 设置输出为1056MHz,先配置二分频 1056MHz
4 恢复主时钟 CCM->CCSR 改回pll1_main_clk 1056MHz

2.528MHz PLL配置

步骤 操作 寄存器 配置说明 目标时钟
1 配置PFD CCM_ANALOG->PFD_528 设置528MHz时钟源 528MHz

3.480MHz PLL配置

步骤 操作 寄存器 配置说明 目标时钟
1 配置PFD CCM_ANALOG->PFD_480 设置480MHz时钟源 480MHz

4.AHB_CLK_ROOT配置(132MHz)

步骤 操作 寄存器 位域 配置说明 目标时钟
1 设置预分频时钟源 CCM->CBCMR PRE_PERIPH_CLK_SEL 选择预分频时钟源 -
2 选择外设时钟源 CCM->CBCDR PERIPH_CLK_SEL 选择外设时钟源 -
3 设置AHB分频 CCM->CBCDR AHB_PODF 设置AHB总线分频 132MHz

5.IPG_CLK_ROOT配置(66MHz)

步骤 操作 寄存器 位域 配置说明 目标时钟
1 设置IPG分频 CCM->CBCDR IPG_PODF 从AHB时钟分频 66MHz

6.PERCLK_CLK_ROOT配置(66MHz)

步骤 操作 寄存器 位域 配置说明 目标时钟
1 选择外设时钟源 CCM->CSCMR1 PERCLK_CLK_SEL 选择外设时钟源 -
2 设置外设分频 CCM->CSCMR1 PERCLK_PODF 设置外设时钟分频 66MHz
相关推荐
EnglishJun18 分钟前
ARM嵌入式学习(七)--- 汇编基础(数据指令、函数调用原理、中断原理)
arm开发·学习
Nan_Feng_ya41 分钟前
基于STM32的智能手表复刻成功(完全开源)
arm开发·stm32·pcb工艺·智能手表
HalvmånEver1 小时前
Linux:基于socket套接字写的简易英译汉翻译服务器
单片机·嵌入式硬件
jianqiang.xue1 小时前
ESP32-P4 看门狗复位全解析:HP_SYS_HP_WDT_RESET 故障排查实战
单片机·mcu·esp32·idf
somi71 小时前
51单片机-04-DS18B20 数字温度传感器
单片机·嵌入式硬件·51单片机
至为芯1 小时前
PY32F003至为芯支持32位ARM内核的低成本MCU微控制器
单片机·集成电路·芯片
zjxtxdy1 小时前
STM32开发板简介
stm32·单片机·嵌入式硬件
【 STM32开发 】1 小时前
【STM32 + CubeMX 教程】RTC 实时时钟 之 闹钟 -- F407篇
stm32·单片机·嵌入式硬件
weiyvyy1 小时前
接口开发的完整流程:从需求到验证
驱动开发·嵌入式硬件·硬件架构·硬件工程
MC_J2 小时前
STM32+FMC驱动W9825G6 SDRAM程序以及遇到的问题讲解
stm32·单片机