4.6.1时钟设置的步骤分析
第1步:先选择不使用PLL。让外部24MHz原始时钟直接过去,绕过APLL那条路。
第2步:设置锁定时间(PLL_LOCK)。默认值是0x0FFF,保险起见我们设置0xFFFF
第3步:设置分频系统,决定由PLL出来的最高时钟如何分频到各个分时钟
第4步:设置PLL,主要是设置PLL倍频系统,决定由输入端24MHz的原始时钟可以得到多大的输出时钟频率。我们按照默认值设置输出为ARMCLK为1GHz。
第5步:打开PLL。前面4步已经设置好 所有开关和分频系数,本步骤打开PLL后PLL开始工作,锁定时钟频率后输出,然后分频得到各个频率。
4.6.2 CLK_SRC0寄存器的配置
CLK_SRC0寄存器其实是用来设置MUX开关的。在这里先将该寄存器设置为全0,主要是bit0和bit4设置为0,表示APLL和MPLL暂时都不启用。
4.6.3CLK_LOCK寄存器的设置(PLL_LOCK)
设置PLL锁定延时的。官方推荐值是0xFFF,我们设置为0xFFFF。
4.6.4 CLK_DIV0寄存器的设置
0x14131440这个值的含义分析:
PCLK_PSYS = HCLK_PSYS / 2 1
HCLK_PSYS = MOUT_PSYS / 5 4
PCLK_DSYS = HCLK_DSYS / 2 1
HCLK_DSYS = MOUT_DSYS / 4 3
PCLK_MSYS = HCLK_MSYS / 2 1
HCLK_MSYS = ARMCLK / 5 4
SCLKA2M = SCLKAPLL / 5 4
ARMCLK = MOUT_MSYS / 1 0
4.6.5 PLL倍频的相关计算
(1)我们设置了APLL和MPLL,其他两个EPLL和VPLL没管。
(2)APLL和MPLL设置的关键都是M、P、S三个值,这三个值都来自数据手册推荐值。
(3)M、P、S的设置依赖位运算技术
总结:结合寄存器、时钟框图和代码三者综合分析S5PV210的时钟系统,分析时记得在图上做标记(把MUX开关选哪个和DIV分频多少都标出来)就清楚了。
嵌入式物联网的学习之路非常漫长,不少人因为学习路线不对或者学习内容不够专业而错失高薪offer。不过别担心,我为大家整理了一份150多G的学习资源,基本上涵盖了嵌入式物联网学习的所有内容。点击这里扫码进群领资料,0元领取学习资源,让你的学习之路更加顺畅!记得点赞、关注、收藏、转发哦!