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
相关推荐
Industio_触觉智能12 小时前
RK3506 Buildroot系统目录地图-上|7个关键符号链接与构建产物全解析
嵌入式硬件·sdk·智能硬件·固件·瑞芯微·系统编译·rk3506
lzj_pxxw15 小时前
STM32移植FreeRTOS(Cmake+CubeMX)
vscode·stm32·嵌入式硬件
Zwawa16 小时前
屏幕不止一种:OLED、LCD1602字符屏、TFT/IPS图形屏和串口屏怎么用,这与TTY和PTY又有什么关系
c语言·单片机·嵌入式
물の韜16 小时前
ZYNQ/FMQL系列Linux之I2C开发实战
linux·arm开发·嵌入式硬件·设备树·iic·zynq
无敌贵点大王19 小时前
从寄存器层面重学STM32(7)——定时器
stm32·单片机·嵌入式硬件
碧海银沙音频科技研究院20 小时前
粉色笔记本电脑每次要等把电池电耗尽才能开机问题解决方法
嵌入式硬件
wuyk5551 天前
Keil工具链-第05讲-启动文件与__main到底做了什么
c语言·stm32·单片机·嵌入式硬件·物联网
女神下凡2 天前
芯参谋(95):嵌入式文件系统_开发指南
linux·服务器·arm开发·驱动开发·设计规范
shijuejianceliu2 天前
传统规则视觉与嵌入式AI智能相机的技术差异
人工智能·嵌入式硬件·视觉检测·相机
不脱发的程序猿2 天前
GD32串口数据收进内存之后DMA如何处理?
单片机·嵌入式硬件·dma·嵌入式·串口通信·gd32