本章主要会回答以下问题 ?
- imx6u 的时钟源来自于哪 ?
- 为什么一个起始时钟源,最终分成了多路?
- 不同的时钟源是如何与外设对应起来的?(时钟树)
- 要配置内核时钟频率
- 有哪些步骤 ?
- 涉及到哪些寄存器 ?
目录
2、设置内核时钟主频(CCM_ANALOG_PLL_ARMn)
一、时钟系统详解
1、系统时钟来源
imx6u 的系统时钟来源于两部分:32.768KHz 和 24MHz 的晶振。
- 32.768KHz:RTC 的时钟源。RTC 用于提供精准的日期和时间,自带电池,不依赖外部电源
- 24MHz:内核以及其他外设的时钟源。(如串口、音视频、网络等设备)
其中我们要重点分析的是 24MHz 的时钟源。
2、7 路 PLL 时钟源
PLL 表示倍频,imx6u 的主频默认是 396MHz,和上面说的 24 MHz 差了数十倍,原本的 24 MHz 经过放大才变成了 396MHz,这就是所谓的“倍频”。
为什么会有 7 路时钟源?因为不同外设对时钟的需求不一样,单纯的 24 MHz 无法满足外设需求,所以我们会对其放大(也就是 倍频),最终得到不同频率的时钟源。一共有如下 7 组时钟源:
| PLLx | 用途 | 频率范围 | 可否修改 | 备注 |
| PLL1 | ARM PLL。用于内核时钟 | 最高可达1.3GHz | √ | - |
| PLL2 | System PLL。一般作为内部系统总线的时钟源,比如逻辑处理单元、DDR、NAND | 固定22倍频,即 24 × 22 = 528 MHz |
× | PLL_PFDx分路频率可被修改 |
| PLL3 | USB1 PLL。主要用于 USBPHY,可作为其他外设的根时钟源 | 固定20倍频,即 24 × 20 = 480 MHz |
× | PLL_PFDx分路频率可被修改 |
| PLL4 | Audio PLL。主要用于音频接口 | 650MHz~1300MHz |

本文详细介绍了IMX6U的时钟系统,包括系统时钟来源(32.768KHz和24MHz晶振),7路PLL时钟源及其用途,以及时钟树如何满足外设需求。内核时钟设置步骤涉及切换备用时钟、设置PLL1主频和分频器。寄存器分析部分讲解了如何通过CCM_CCSR、CCM_ANALOG_PLL_ARM和CCM_CACRR等寄存器进行配置。
最低0.47元/天 解锁文章
1995

被折叠的 条评论
为什么被折叠?



