S3C2440—4.时钟系统
文章目录
一.S3C2440时钟体系介绍
1.总线与时钟
S3C2440有俩个总线:AHB高速总线、APB外围总线。
对应三个时钟源:
-
ARM芯片CPU的FCLK
-
AHB总线的HCLK
-
APB总线的PCLK
三个时钟的工作频率:

(可以看出对比STM32中72MHz的频率,ARM时钟的性能有了很大的提高)
2.时钟来源
如何得到三种时钟?系统的时钟来源是12MHz的晶振,通过PLL锁相环硬件设备可以得到高达400MHz的时钟频率,其时钟框图如下:

可以看出系统时钟来源的选择有俩种:
- 晶振
- 外部输入
(这里只讨论晶振)
3.选择时钟
通过设置OM[3:2]可以选择时钟源:

设置方法如下:

打开原理图查看一下目前的OM[3:2]的情况(查看目前时钟源的选择情况)
看出OM[3:2]都接地,即OM[3:2]=00,所以时钟源都采用12MHz晶振

4.产生时钟
所以FCLK、HCLK、PCLK这三个时钟都是由晶振发生的。
晶振提供的时钟频率经过MPLL、UPLL得到新的时钟频率
MPLL:main PLL,利用P[5:0]、M[7:0]、S[1:0]来控制输出时钟的频率
UPLL:USB PLL,利用P[5:0]、M[7:0]、S[1:0]来控制输出时钟的频率
框图如下:

晶振信号经过MPLL后产生时钟作为FCLK(400MHz)提供给CPU,FCLK再经过分频器生成HCLK(136MHz)、PCLK(68MHz)。
-
FCLK提供给CPU(ARM920T)
-
HCLK提供给各种AHB总线(高速设备):Nand FLASH、ITC、Memory Controler…
-
PCLK提供给各种APB总线(低速设备):IIC、IIS、GPIO、ADC…
所以,晶振经过MPLL得到FCLK,FCLK分频得到HCLK、PCLK,

5.流程

上电后,复位引脚会维持一段时间等待电源稳定,由专用的复位芯片维持复位引脚:

在上电后一段时间后才会让复位引脚输出高电平。
开始的时候,FCLK频率由晶振频率直接提供,因为此时CPU还没有工作(没有复位),当PLL锁存OM[3:2]的值后,CPU开始运行,这时开始设置PLL,设置期间CPU停止(Lock Time),设置PLL完成后,FCLK就是新的频率了:

二.如何配置时钟源
配置时钟源主要是要操作俩个寄存器:
- MPLLCON
- CLKDIVN
1.设置FCLK频率寄存器 MPLLCON
控制MPLL输出FCLK时钟频率

可以参靠手册中给出的标准:

MPLL的计算公式:

2.设置分频HDIV、PDIV寄存器 CLKDIVN

3.时钟开关控制寄存器 CLKCON
控制某些模块的时钟开启关闭

注意:


浙公网安备 33010602011771号