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

控制某些模块的时钟开启关闭

在这里插入图片描述

注意:

在这里插入图片描述

posted @ 2020-04-27 21:22  Aspirant-GQ  阅读(142)  评论(0)    收藏  举报