arm学习笔记-时钟(s3c2451)

arm学习笔记-时钟(s3c2451)_第1张图片



主锁相环MPLL作为系统时钟的参考时钟
辅助锁相环EPLL作为特殊的功能块的参考时钟
MPLL的配置方法
OM【0】寄存器配置为0,则时钟源为XTl,配置为1,则时钟源为外部时钟EXTCLK
arm学习笔记-时钟(s3c2451)_第2张图片

EPLL的配置方法
如下图配置CLKSRC【8】,CLKSRC【7】和OM【0】寄存器
arm学习笔记-时钟(s3c2451)_第3张图片

正常状况下当改变MPLL时,此时会产生一段locktime,在改变PLL的这段时间,时钟不会作被提供给内部的资源


示例配置时钟REGITER产生特定的频率
eg:PLL 输出频率为533MHz时,
时钟
ARMCLK
HCLK
PCLK
DDRCLK
SSMCCLK
频率
533MHz
133MHz
66MHz
266MHz
66MHz
配置寄存器
ARMDIV
PREDIV
HCLKDIV
PCLKDIV
HALKHCLK
4'b0000
2'b01
2'b01
1'b1
1'b1
eg:PLL输出频率为800MHz时,
时钟
ARMCLK
HCLK
PCLK
DDRCLK
SSMCCLK
频率
400MHz
133MHz
66MHz
266MHz
66MHz
配置寄存器
ARMDIV
PREDIV
HCLKDIV
PCLKDIV
HALKHCLK
4'b0001
2'b10
2'b01
1'b1
1'b1

MPLL输出频率计算公式  (配置MPLLCON寄存器)



初始化时钟clock_init()
1.设置分频   CLKDIV0
2.设置locktime    LOCKCON0
3.设置MPLL         MPLLCON
4.设置时钟源        CLKSRC
公式:
ARMCLK = MPLLout/ARMCLK Ratio = MPLLout/(ARMDIV+1) = 800/2 = 400MHz
    HCLK = MPLLout/HCLK Ratio = MPLLout/( (PREDIV+1) * (HCLKDIV + 1) ) = 800/(3*2) = 133MHz
    PCLK = HCLK/PCLKDIV = 133/2 = 66MHz
(串口的时钟为PCLK)

参考程序:
arm学习笔记-时钟(s3c2451)_第4张图片

你可能感兴趣的:(C语言,时钟,ARM)