您的位置:首页 > 其它

arm中的PLL,MPLL,UPLL,FCLK,HCLK,PCLK的作用概述

2017-03-06 17:18 369 查看
FCLK是提供给ARM920T 的时钟。 

HCLK 是提供给用于 ARM920T,存储器控制器,中断控制器,LCD 控制器,DMA 和 USB 主机模块的 AHB总线的时钟。 

PCLK 是提供给用于外设如WDT,IIS,I2C,PWM 定时器,MMC/SD 接口,ADC,UART,GPIO,RTC 和SPI的 APB 总线的时钟。 

       S3C2440A还支持对FCLK、 HCLK和PCLK之间分频比例的选择。 该比例由CLKDIVN控制寄存器中的HDIVN

和  PDIVN所决定。 

普通模式 

普通模式中,包括电源管理模块、CPU核心、总线控制器、存储器控制器、中断控制器、DMA和外部主控在

内的所有外设和基本模块完全可以运行。然而除基本模块外,提供给每个外设的时钟都可以由软件有选择的停止以

降低功耗。 

空闲模式 

空闲模式中,停止了除总线控制器、存储器控制器、中断控制器、电源管理模块外的提供给CPU 核心的时钟。

要退出空闲模式,应当激活EINT[23:0]或RTC 闹钟中断或其它中断(开启GPIO 模块前 EINT不可用) 

进入空闲模式 

       如果置位CLKCON[2]为 1来进入空闲模式,S3C2440A 将在一些延时后(直到电源控制逻辑收到CPU 打包的

ACK信号)进入空闲模式。 

慢速模式 

慢速模式中,可以应用慢时钟和排除来自 PLL 的功耗来降低功耗。CLKSLOW 控制寄存器中的 SLOW_VAL

和 CLKDIVN控制寄存器决定了分频比例。 

寄存器的说明:

LOCKTIME  0x4C000000  PLL 锁定时间计数寄存器 

MPLLCON  0x4C000004    MPLL 配置寄存器 

UPLLCON  0x4C000008  UPLL 配置寄存器 

注意: 

当你设置MPLL 和UPLL的值时,你必须首先设置UPLL值再设置MPLL 值。 (大约需要7个 NOP的间隔)

MPLL控制寄存器 

        Mpll = ( 2 × m × Fin ) / ( p × 2s 

)   

m = ( MDIV + 8 ), p = ( PDIV + 2 ), s = SDIV 

UPLL控制寄存器 

        Upll = ( m × Fin ) / ( p × 2s 

)   

m = ( MDIV + 8 ), p = ( PDIV + 2 ),
c5c1
s = SDIV 

 CLKCON  0x4C00000C    时钟生成控制寄存器 

CLKDIVN  0x4C000014    时钟分频控制寄存器    //1:4:8时候设置成5

CAMDIVN  0x4C000018    摄像头时钟分频寄存器 

注意: 

1. 应当谨慎设置CLKDIVN,不要使其超过HCLK和 PCLK的最小值。 

2. 如果 HDIVN 不为 0,CPU 总线模式应该使用以下指令使其从快总线模式改变为异步总线模式(S3C2440

不支持同步总线模式)。 

  MMU_SetAsyncBusMode 

  MRC  p15,  0,  r0,  c1,  c0,  0 

  ORR  r0,  r0,  #R1_nF:OR:R1_iA 

  MCR  p15,  0,  r0,  c1,  c0,  0 

如果 HDIVN 不为0 并且CPU 总线模式为快总线模式,CPU 运行在HCLK。可以用此特性在不影响 HCLK 和

PCLK 的情况下改变CPU频率为一半或更多。 

前言:
    不同公司,不同等级的ARM架构也是有许多共同的地方,因此以最为广泛使用的2440为实例讲解。

一,PLL
    S3C2440 CPU主频可达400MHz,开发板上的外接晶振为12M,通过时钟控制逻辑的PLL(phase locked loop,锁相环电路)来倍频这个系统时钟。2440有两个PLL(phase locked loop)一个是MPLL,一个是UPLL。UPLL专用于USB设备,常用频率为48MHz和96MHz。MPLL用于CPU及其他外围器件,用于产生FCLK, HCLK, PCLK三种频率,上电时,PLL并没有被启动,FCLK=Fin=12MHz,若要提高系统时钟,需要软件来启动PLL。

    1,FCLK是CPU提供的时钟信号。 

    2,HCLK是为AHB总线提供的时钟信号, Advanced High-performance Bus,主要用于高速外设,比如内存控制器,中断控制器,LCD控制器, DMA 等。 

    3,PCLK是为APB总线提供的时钟信号,Advanced Peripherals Bus,主要用于低速外设,比如看门狗,UART控制器, IIS, I2C, SDI/MMC, GPIO,RTC and SPI等。

二,参考文件
1,http://blog.csdn.net/heqiuya/article/details/8021655
2,http://zhidao.baidu.com/link?url=BAvsqdcOAUPbMGVpv8NPjB8bs9HG9wpnKcZy65C0tK-V71W-TGBE0iVcbs3lmlOZbdVKT96d8Mq5iCr2Si6r8gX1aJxlF32GKwDPrrl55UG
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: