原创 2410的时钟和电源管理

2009-2-13 21:16 1959 0 分类: MCU/ 嵌入式

概述


时钟和电源管理模块由3部分组成:时钟控制、USB控制、电源控制。


时钟控制部分产生3种时钟信号:CPU用的FCLK,AHB总线用的HCLK,APB总线用的PCLK。有2个锁相环,一个用于FCLK HCLK PCLK,另一个用于48MHzUSB时钟。可以通过不使能锁相环来达到慢速省电目的。


电源管理模块提供了4种模式: Normal模式、Slow模式、Idle模式、Power_Off模式。


Normal Mode


该模式下如果所有外围设备都打开时电流消耗最大,允许用户通过软件关闭外围设备达到省电目的。


Slow Mode


不采用PLL的模式,能量消耗仅取决于外时钟的频率。由外部提供的时钟源作FCLK


Idle Mode


关掉了给cpuFCLK时钟,但外围设备时钟仍存在,任何到CPU的中断请求可以将cpu唤醒。


Power_off Mode


这种模式关掉了内部供电,仅有给wake_up部分的供电还存在。可以通过外部中断或实时时钟中断可以唤醒。



功能描述


时钟结构:主时钟源来自外部晶振XTlpll或外部时钟EXTCLK


时钟源选择:通过OM[3: 2]的高低电平选择,现在我们采用00OM[32]的状态在nRESET的上升沿锁存。尽管MPLL在上电复位后就开始工作,但是MPLL输出不作为系统时钟,只有对MPLLCON写入适当的数值后才可以。即使用户不想改变MPLLCON的值,也要重新写一遍才能使其起作用。


时钟控制逻辑:时钟控制逻辑决定要使用的时钟源,当锁相环被设置为一个新的值时,时钟控制逻辑切断FCLK直到PLL输出稳定。时钟控制逻辑在上电复位或从power_down状态启动时使能。


上电复位:注意上电后必须通过设置PLLCON才能使PLL作用。


在正常操作状态下改变PLL设置:通过改变PMS的值来实现。


USB时钟控制:UCLK不起作用直到UPLL被设置。


FCLK、HCLK、PCLK:可以通过HDIVNPDIVNCLKDIVN来改变3种时钟的比率,推荐采用124的比率。在设置完PMS的值后,需要设置CLKDIVN寄存器,该寄存器设置的值在PLL锁定后生效,只需要1.5HCLK即可完成比率的修改。



电源管理:4种模式及特点。


Power_Off模式:外部中断EINT[15:0]RTC alarm中断可以从该模式wakeup.


进入PowerOff模式的流程:1。将GPIO端口设置为适当的状态; 2……….



VDDiVDDiarm的控制:PowerOff模式,仅VDDiVDDiarm通过PWREN管脚控制被关闭。如果PWREN为高,VDDiVDDiarm被外部电源提供,如果为低则关闭。 尽管VDDiVDDiarmVDDi_MPLLVDDi_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比率的寄存器。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
0
关闭 站长推荐上一条 /4 下一条