S3C2440的时钟控制逻辑既可以外接晶振,然后通过内部电路产生时钟源;也可以直接使用外部提供的时钟源,通过引脚来选择。

三种时钟:1. FCLK,用于cpu核;2. HCLK,用于AHB总线上的设备,AHB总线用于高性能模块之间的连接。3. PCLK,用于APB总线上的设备,APB总线用于低带宽周边外设,如uart、i2c等。计算机通过外接晶振后通过内部电路,也就是时钟控制逻辑的锁相环PLL来提高系统时钟。其中,PLL分两种,UPLL用于USB设备,MPLL用于设置FCLK、HCLK、PCLK。

设置MPLL的过程:

                       嵌入式linux------S3C2440时钟体系

1. 上电后,复位芯片为低电平,等待一段时间,电源稳定后拉高为高电平。同时晶振OSC值也稳定。

2. 根据OM[3:2]的值,FCLK等于外部晶振的值,即已经起振并稳定的OSC,此时CPU尚未运行。

3. 使用软件设置PLL,PLL所村OM[3:2]的值,同时cpu开始运行。

4. 进入Lock Time,此时FCLK停振,cpu不再运行。lock time时间其实就是执行程序切换时钟的时间。

5. Lock time结束,FCLK等于PLL输出的新时钟和新频率。(HCLK和PCLK其实是在FCLK的基础上分频得到)

相关文章: