S3C2440的时钟有以下几种模式:
片上MPLL和UPLL。
采用UPLL产生操作USB主机/设备的时钟。
MPLL产生最大400MHz@1.3V操作MCU所需要的时钟。
通过软件可以有选择性地为每个功能模块提供时钟。
电源模式:正常、慢速、空闲和掉电模式。
正常模式:正常运行模式。
慢速模式:不加PLL的低时钟频率模式。
空闲模式:只停止CPU的时钟。
掉电模式:所有外设和内核的电源都切断了。
可以通过EINT[15:0]或RTC报警中断来从掉电模式中唤醒处理器。时钟电源控制块由3部分组成:时钟控制、USB控制和电源控制。S3C2440中的时钟控制逻辑能生成包括CPU内部时钟(FCLK)在内的所需时钟信号。主时钟脉冲(HCLK)用于高级高精度系统总线外围设备。 FCLK应用于CPU的时钟, PCLK应用于APB BUS各种接口设备。 S3C2440有两个锁相环,一个用于FCLK、HCLK和PCLK,另一个用于USB块(48MHz)。时钟控制逻辑能产生没有锁相环(PLL)的慢时钟及提供给外围设备块的软件时钟,这样可以降低功耗。
关于电源控制逻辑, S3C2440有多种电源配置方案来保证对假定任务的最佳功耗。电源控制块在S3C2440中能被激活成4种模式:通用模式、慢模式、空闲模式和掉电模式。
通用模式:此块为S3C2440中的CPU和所有外围设备提供时钟。这种模式下,在设备都运行时,电源功耗将最大。它允许用户用软件控制外设的运作。例如,一个定时器不需要时,用户可以断开提供给这个定时器的时钟以降低功耗。
慢模式:无锁相环模式。与通用模式不同,慢模式用外部时钟(XTlpll或EXTCLK)直接作为S3C244无锁相环的内部时钟。在这种模式中,能耗只取决于外部时钟的频率,锁相环的功耗被取消。
空闲模式:此块在为其他外设提供时钟时,停止对CPU内核提供时钟。空闲模式可降低CPU产生的功耗。任何对CPU的中断请求都可以在空闲模式中被唤醒。
掉电模式:此块断开内部能源的提供,因此不会产生CPU功耗。如果不在此模式中唤醒内部逻辑,也就不会产生内部逻辑功耗。激活掉电模式需要两个独立电源,一个电源用于提供唤醒逻辑控制的能源,另一个用于支持包括CPU在内的其内部逻辑块,并且可用电源开关控制。在掉电模式下,第二个用于支持包括CPU在内的其内部逻辑块的电源将被关闭。掉电模式的启动唤醒取决于中断使能位[15:0]或者实时时钟警告中断。
表3-3显示了方式控制引脚(OM3,OM2)不同组合的关系及S3C2440源时钟的选择。OM[3:2]状态决定于OM3和OM2引脚的复位信号的上升沿。
表3-3 启动时的时钟源选择
(1)虽然主锁相环在复位后就立即运作,但是它的输出不能用于系统时钟,除非以软件方式向主锁相环寄存器输入有效的设置。在有效设置前,外部晶振时钟或外部晶振源会直接用做系统时钟。即使用户不想改变主锁相环寄存器的默认值,也要重新向寄存器写入同一个数值。
(2)当OM[1:0]是11时,OM[3:2]用于终止测试模式。
如图3-5所示为时钟结构的框图。主时钟源来自外部晶振(XTlpll)或一个外部时钟(EXTCLK)。时钟发生器包括一个与外部晶振连接的震荡器(震荡扩大器),同时也有两个锁相环(相位锁定循环),用于产生S3C2440需要的高频率时钟。
图3-5 时钟发生器框图