Part7-时钟初始化_lesson1
1、概念解析
1.1时钟脉冲信号
1.2时钟脉冲频率
1.3时钟源(提供时钟脉冲信号)
a、晶振
b、锁相环PLL
2、时钟体系
2440:
晶振的频率、时钟体系有多少个PLL、这些PLL分别产生了哪些时钟、产生的时钟用来做什么的。
采用的是12MHZ,总共有2个PLL分别是MPLL、UPLL,MPLL产生了FCLK、HCLK、PCLK,UPLL产生了UCLK。
6410:
12MHZ晶振,有三个PLL:APLL(产生ARMCLK)、MPLL(产生HCLK、PCLK)、EPLL(产生SCLK);
3、思维导图设计
1)、时钟初始化流程图
2440与6410:
一上电cpu以晶振频率运行,所以要利用软件对PLL进行配置,使cpu工作在高频,配置完锁相环之后,有一段lock time时间,处理器是不工作的,经过这个lock time时间后,cpu就会按照配置的高频运行了。
配置:
4、代码编写
1)设置lock time一般我们选择默认值,
2)设置分频系数(FCLK、HCLK以及PCLK的比例关系)
初学者不知道怎么选择这个稀疏,一般参考uboot(选择的是1:4:8)。
3)设置异步模式
因为让最高两位做或的操作,就是让他们都为1.
5、设置ARM核的频率
6410:
1、lock time的设置
2、配置分频系数
3、设置CPU工作在异步模式
OTHERS寄存器的第六位也要为0,因为
4、设置APLL以及MPLL的输出频率
5、选择后续时钟源
6、代码如下:
补充:时钟源的选择---当外部复位信号被声明时,OM[4:0]引脚决定了S3C6410的操作模式。OM[0]引脚选择外部时钟源,例如,如果OM[0]是0,则XXTIPll(外部晶体)被选择。否则,XEXTCLK被选择。友善之臂的电路图如下:
它的启动模式选择电路图如下:
http://www.cnblogs.com/lp1129/articles/3367841.html