2008年(28)
分类: WINDOWS
2008-09-19 20:35:23
时钟和电源管理模块由3部分组成:时钟控制、USB控制、电源控制。
时钟控制部分产生3种时钟信号:CPU用的FCLK,AHB总线用的HCLK,APB总线用的PCLK。有2个锁相环,一个用于FCLK HCLK PCLK,另一个用于48MHz的USB时钟。可以通过不使能锁相环来达到慢速省电目的。
电源管理模块提供了4种模式: Normal模式、Slow模式、Idle模式、Power_Off模式。
Normal Mode
该模式下如果所有外围设备都打开时电流消耗最大,允许用户通过软件关闭外围设备达到省电目的。
Slow Mode
不采用PLL的模式,能量消耗仅取决于外时钟的频率。由外部提供的时钟源作FCLK。
Idle Mode
关掉了给cpu的FCLK时钟,但外围设备时钟仍存在,任何到CPU的中断请求可以将cpu唤醒。
Power_off Mode
这种模式关掉了内部供电,仅有给wake_up部分的供电还存在。可以通过外部中断或实时时钟中断可以唤醒。
时钟结构:主时钟源来自外部晶振XTlpll或外部时钟EXTCLK。
时钟源选择:通过OM[3: 2]的高低电平选择,现在我们采用00。OM[3:2]的状态在nRESET的上升沿锁存。尽管MPLL在上电复位后就开始工作,但是MPLL输出不作为系统时钟,只有对MPLLCON写入适当的数值后才可以。即使用户不想改变MPLLCON的值,也要重新写一遍才能使其起作用。
时钟控制逻辑:时钟控制逻辑决定要使用的时钟源,当锁相环被设置为一个新的值时,时钟控制逻辑切断FCLK直到PLL输出稳定。时钟控制逻辑在上电复位或从power_down状态启动时使能。
上电复位:注意上电后必须通过设置PLLCON才能使PLL作用。
在正常操作状态下改变PLL设置:通过改变PMS的值来实现。
USB时钟控制:UCLK不起作用直到UPLL被设置。
FCLK、HCLK、PCLK:可以通过HDIVN、PDIVN、CLKDIVN来改变3种时钟的比率,推荐采用1:2:4的比率。在设置完PMS的值后,需要设置CLKDIVN寄存器,该寄存器设置的值在PLL锁定后生效,只需要1.5个HCLK即可完成比率的修改。
电源管理:4种模式及特点。
Power_Off模式:外部中断EINT[15:0]或RTC alarm中断可以从该模式wakeup.
进入PowerOff模式的流程:1。将GPIO端口设置为适当的状态; 2。……….
VDDi和VDDiarm的控制:在PowerOff模式,仅VDDi和VDDiarm通过PWREN管脚控制被关闭。如果PWREN为高,VDDi和VDDiarm被外部电源提供,如果为低则关闭。 尽管VDDi,VDDiarm,VDDi_MPLL,VDDi_UPLL可能被关闭,其他电源必须被提供。
EINT[15:0]启动信号: EINTn管脚必须被设置为中断管脚,在启动后,相应的EINTn管脚将不被用作启动,可以被用作外部中断请求。
电池故障信号(nBATT_FLT): 当cpu不在PowerOff模式时,nBATT_FLT将要引起低电平触发的中断。当在PowerOff模式时,nBATT_FLT信号将会禁止芯片从PowerOff模式启动,故所有的wakeup信号被屏蔽,此举用来保护系统电量低时不出现故障。
LOCKTIME: UPLL、 MPLL 锁定时间的计数值。
MPLLCON UPLLCON: 这两个寄存器都有MDIV PDIV SDIV设置,对于输入12M的晶振,有相应的推荐值,产生200M和48M的频率。
CLKCON: 为各种外围接口提供时钟。
CLKSLOW: 是否打开2个PLL。
CLKDIVN: 设置FCLK、 HCLK、 PCLK比率的寄存器