嵌入式裸机程序之系统时钟

1.系统时钟

S3C2440有三种时钟:FCLK(用于CPU核),HCLK(用于主机模块),PCLK(用于外设).两种PLL(锁相环):MPLL(用于设置FCLK,HCLK,PCLK),UPLL(用于设置USB设备)。如图所示:

2.系统时钟初始化

S3c2440系统时钟初始化流程如下:(1) 系统刚上电几毫秒后,FCLK等于外部晶振的振荡频率,即FCLK=Fin(2) 当复位信号nReset恢复高电平后,锁相环按照寄存器MPLLCON和CLKDIVN设定的倍频比例开始生成所需要的时钟频率。从锁相环开始工作到输出新的稳定的频率值需要一定的时间(lock time 即锁相环的捕获时间),经过这段时间后,锁相环输出新的频率值,这是FCLK等于锁相环的输出。

如图所示:

3.代码解析

代码如下所示,首先设置FCLK、MCLK、PCLK的分频比例,随后根据S3C2440的芯片手册说明,当HDIV非1时需要执行一段代码。然后就可以设置MPLLCOM寄存器,设定锁相环输出频率了。


嵌入式裸机程序之系统时钟
http://atime.cc/2017/02/10/嵌入式裸机程序之系统时钟/
作者
ATIME
发布于
2017年2月10日
许可协议