ARM S5PV210 汇编实现时钟设置代码详解

一、时钟设置的步骤分析

第1步:CLK_SRC寄存器的设置分析

先选择不使用 PLL。让外部 24MHz 原始时钟直接过去,绕过 APLL 那条路。

CLK_SRC 寄存器其实是用来设置 MUX 开关的。在这里先将该寄存器设置为全 0,主要是 bit0 和bit4 设置为 0,表示 APLL 和 MPLL 暂时都不启用。

在这里插入图片描述

在这里插入图片描述


第2步:CLK_LOCK 寄存器的设置分析

设置 PLL 锁定延时的。官方推荐值为 0xFFF,我们设置为 0xFFFF。

设置锁定时间。默认值为0x0FFF,保险起见我们设置为0xFFFF。

在这里插入图片描述


第3步:CLK_DIV 寄存器的设置分析

0x14131440 这个值的含义分析:
PCLK_PSYS = HCLK_PSYS / 2
HCLK_PSYS = MOUT_PSYS / 5
PCLK_DSYS = HCLK_DSYS / 2
HCLK_DSYS = MOUT_DSYS / 4
·······
HCLK_MSYS = ARMCLK / 5
ARMCLK = MOUT_MSYS / 1

设置分频系统,决定由 PLL 出来的最高时钟如何分频得到各个分时钟。

下图使用 3 种颜色标签标注了详细情况。

在这里插入图片描述


第4步:设置PLL

主要是设置 PLL 的倍频系统,决定由输入端 24MHz 的原始频率可以得到多大的输出频率。我们按照默认设置值设置输出为 ARMCLK 为 1GHz.

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

PLL 倍频的相关计算
(1)、我们设置了 APLL 和 MPLL 两个,其他两个没有管。
(2)、APLL 和 MPLL 设置的关键都是 M、P、S 三个值,这三个值都来自于官方数据手册的推荐值


第5步:打开PLL

前面4步已经设置好了所有的开关和分频系数,本步骤打开 PLL 后 PLL 开始工作,锁定频率后输出,然后经过分频得到各个频率。

在这里插入图片描述

在这里插入图片描述


第6步:最后可以得到时钟频率图

在这里插入图片描述

可以看到,我们配置的跟用户手册要求的频率是相同的。
在这里插入图片描述


总结:以上 5 步,其实真正涉及到的寄存器只有5个而已。


源自朱有鹏老师.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值