您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > S3C2410中文手册第7章_时钟和功率管理
第七章时钟和功率管理概述时钟和功率管理模块由三部分组成:时钟控制,USB控制和功率控制。S3C2410A的时钟控制逻辑能够产生系统所需要的时钟,包括CPU的FCLK,AHB总线接口的HCLK,和APB总线接口的PCLK。S3C2410A有两个PLL,一个用于FCLK,HCLK,PCLK,另一个用于USB模块(48MHZ)。时钟控制逻辑能够由软件控制不将PLL连接到各接口模块以降低处理器时钟频率,从而降低功耗。S3C2410A有各种针对不同任务提供的最佳功率管理策略,功率管理模块能够使系统工作在如下4种模式:正常模式,低速模式,空闲模式和掉电模式。正常模式:功率管理模块向CPU和所有外设提供时钟。这种模式下,当所有外设都开启时,系统功耗将达到最大。用户可以通过软件控制各种外设的开关。例如,如果不需要定时器,用户可以将定时器时钟断开以降低功耗。低速模式:没有PLL的模式。与正常模式不同,低速模式直接使用外部时钟(XTIpll或者EXTCLK)作为FCLK,这种模式下,功耗仅由外部时钟决定。空闲模式:功率管理模块仅关掉FCLK,而继续提供时钟给其他外设。空闲模式可以减少由于CPU核心产生的功耗。任何中断请求都可以将CPU从中断模式唤醒。掉电模式:功率管理模块断开内部电源。因此CPU和除唤醒逻辑单元以外的外设都不会产生功耗。要执行掉电模式需要有两个独立的电源,其中一个给唤醒逻辑单元供电,另一个给包括CPU在内的其他模块供电。在掉电模式下,第二个电源将被关掉。掉电模式可以由外部中断EINT[15:0]或RTC唤醒。功能描述时钟结构图7-1描述了时钟架构的方块图。主时钟源由一个外部晶振或者外部时钟产生。时钟发生器包括连接到一个外部晶振的振荡器和两个PLL(MPLL和UPLL)用于产生系统所需的高频时钟。时钟源选择表7-1描述了模式控制引脚(OM3和OM2)和选择时钟源之间的对应关系。OM[3:2]的状态由OM3和OM2引脚的状态在nRESET的上升沿锁存得到。注意:1、尽管MPLL在系统复位的时候就开始产生,但是只有有效的设置号MPLLCON寄存器后才能用于系统时钟。在此之前,外部时钟将直接作为系统时钟。即使不需要改变MPLLCON寄存器的初值,也必须将同样的值写入寄存器。2、当OM[1:0]为11时,OM[3:2]用于决定一种测试模式。锁相环PLL位于时钟信号发生器的内部MPLL用于将输出信号和相关输入信号在相位和频率上同步起来。它包括如图7-2所示的一些基本模块:根据DC电压产生相应比例关系频率的压控振荡器(VCO),除数P(对输入频率Fin进行P分频),除数M(对VCO的输出频率进行M分频,分频后输入到相位频率探测器PFD),除数S(对MPLL输出频率Mpll进行分频),相差探测器,chargepump,loopfilter。MPLL的时钟输出Mpll和输入时钟Fin的关系如下式所示:UPLL和MPLL是完全一样的。下面的部分描述了MPLL的操作,包括相差探测器,chargepump,VCO,loopfilter。相位频率探测器PFD当PFD检测Fref和Fvco之间的相差时产生一个控制信号。Fref如图7-2所示。ChargepumpChargepump通过一个外部过滤器将PFD的控制信号转换成一个比例的电压关系来驱动VCO。LoopFilterPFD产生的控制信号可能在每一次Fref和Fvco比较的时候产生很大的偏差,为了防止VCO过载,一个低通滤波器将过滤掉控制信号的高频成分。滤波器就是常用的一节RC滤波器。压控振荡器VCOLoopfilter输出的电压驱动VCO,导致它的晶振频率根据平均电压线性地增加或降低。当Fref和Fvco的频率和相位都匹配时,PFD停止发送控制信号给chargepump,然后VCO频率保持不变,并且PLL保持固定于系统时钟。PLL和时钟发射器的通用条件PLL和时钟发生器通常使用如下条件注:1、值是可变的。2、FCLK必须大于X-tal或EXTCLK的3倍。时钟控制逻辑时钟控制逻辑决定哪个时钟源被使用,例如MPLL或者外部时钟。当PLL被配置到一个新的频率时,时钟控制逻辑将会停止FCLK直到PLL达到一个稳定的输出。时钟控制逻辑在上电复位和从掉电模式唤醒的情况下也是有效的。上电复位(XTIpll)图7-4显示了上电复位时的时钟行为。晶振在几毫秒内开始振荡。当OSC时钟稳定后,PLL根据默认PLL设置开始生效,但是通常这个时候是不稳定的,因此在软件重新配置PLLCON寄存器之前FCLK直接使用Fin而不是MPLL,即使用户不希望改变PLLCON的默认值,用户也应该执行一边写PLLCON操作。FCLK在软件配置好PLLCON之后锁定一段时间后连接到Mpll。正常情况下改变MPLL设置正常模式下,用户可以通过写PMS的值来改变FCLK的频率,此时将会自动插入一段时间延迟,在这段延迟内FCLK将停止,其时序如图7-5。图7-5USB时钟控制USB主机接口和USB设备接口需要48MHz的时钟。在S3C2410中,是通过UPLL来产生这一时钟的,UCLK只有在UPLL配置好后才会生效。FCLK,HCLK和PCLKFCLK用于ARM920T.HCLK用于AHB总线。包括ARM920T,存储控制器,中断控制器,LCD控制器,DMA和USB主机。PCLK用于APB总线。包括外设如WDT,IIS,I2C,PWM,PWMTIMER,MMC,ADC,UART,GPIO,RTC,SPI。S3C2410支持三者之间的比率可选,这个比率是由CLKDIVN寄存器的HDIVN和PDIVN决定的。设置好PMS的值后,需要设置CLKDIVN寄存器。CLKDIVN寄存器的值将在PLL锁定时间之后生效,在复位和改变功率模式后也是有效的。注意:1、HCLK和PCLK不应该超过某一限制2、如果HDIVN=1,CPU总线模式将通过一下指令从快速模式切换到异步模式:MMU_SetAsyncBusModemrcp15,0,r0,c1,c0,0orrr0,r0,#R1_nF:OR:R1_iAmcrp15,0,r0,c1,c0,0如果HDIVN=1并且CPU总线模式是快速模式,CPU将以HCLK进行运行,这一特性可以用于将CPU频率减半而不影响HCLK和PCLK。功率管理在S3C2410中,功率功率模块通过软件控制系统时钟来达到降低功耗的目的。这些策略牵涉到PLL,时钟控制逻辑和唤醒信号。图7-7显示了S3C2410的时钟分配。S3C2410有4种功耗模式。各种模式之间的转换并不是完全自由的,图7-8描述了各种模式之间的转换关系。正常模式正常模式下,所有的外设和基本的功能模块,包括功率管理模块,CPU核心,总线控制器,存储控制器,中断控制器,DMA和外部控制器都可以完全操作。但是除了基本的模块之外,其他模块都可以通过关闭其时钟的方法来降低功耗。空闲模式空闲模式下,除了总线控制器、存储控制器、中断控制器、功率管理模块以外的CPU时钟都被停止。EINT[23:0]、RTC中断或者其他中断都可以将CPU从空闲模式下唤醒。低速模式低速模式通过降低FCLK和关闭PLL来实现降低功耗。此时FCLK是外部时钟(XTIpllorEXTCLK)的n分频。分频数由CLKSLOW寄存器的SLOW_VAL和CLKDIVN寄存器决定。在低速模式下,PLL是关闭的。当用户需要从低速模式切换到正常模式时,PLL需要一个时钟稳定时间(PLL锁定时间)。PLL稳定时间是由内部逻辑自动插入的,大概需要150us,在这段时间内,FCLK还是使用低速模式下的时钟。用户可以在PLL开的情况下通过改变CLKSLOW寄存器的SLOW_BIT位使能低速模式来改变频率。在低速模式下,FCLK为外部时钟的分频。如图7-9.如果在PLL锁定时间之后切换到正常模式,FCLK将会在低速模式一失效就改变,如图7-10.如果低速模式失效和PLL同时打开,则需要等待PLL锁定后FCLK才会改变,锁定期间FLCK停止。如图7-11.掉电模式功率管理模块断开内部电源。因此CPU和除唤醒逻辑单元以外的外设都不会产生功耗。要执行掉电模式需要有两个独立的电源,其中一个给唤醒逻辑单元供电,另一个给包括CPU在内的其他模块供电。在掉电模式下,第二个电源将被关掉。掉电模式可以由外部中断EINT[15:0]或RTC中断。进入掉电模式的过程1、设置GPIO配置2、在INTMSK寄存器中屏蔽所有中断。3、配置适当的唤醒源,包括RTC报警。为了是SRCPND和EINTPEND位置位,唤醒源相关的EINTMASK位不必被屏蔽,尽管一个唤醒源被指定而且EINTMASK相关位被屏蔽,唤醒还是会发生,SRCPND和EINTPEND位也不会置位。4、设置USB为中止模式。(MISCCR[13:12]=11b)5、将一些有用的值存入GSTATUS3,4,这些寄存器在掉电模式下是被保持的。6、通过MISCCR[1:0]将数据总线D[31:0]的上拉电阻配置成开。如果有外部总线保持器,如74LVCH162245,关掉上拉电阻,否则打开上拉电阻。7、通过清除LCDCON1.ENVID位停止LCD。8、读取rREFRESH和rCLKCON寄存器,并填入TLB。9、通过设置REFRESH[22]=1b使SDRAM进入自动刷新模式。10、等待SDRAM自动刷新生效。11、通过设置MISCCR[19:17]=111B使SDRAM信号在掉电模式期间被保护起来(SCLK0,SCLK1,SCKE)。12、置位CLKCON寄存器的掉电模式位。从掉电模式唤醒的过程1、某个唤醒源生效将产生一个内部复位信号。复位时间由一个内部16位计数器决定,此计数器的时钟是tRST=(65535/XTAL_frequency)。2、查询GSTATUS[2]位看从掉电模式唤醒是否产生了一个POWER-UP。3、通过将MISCCR[19:17]设置为000b,释放SDRAM信号保护。4、配置SDRAM控制器。5、等待SDRAM自我刷新完毕。大部分SDRAM需要refreshcycleofallSDRAMrow。6、GSTATUS3,4的信息可以被用户使用,因为GSTATUS3,4的值已经在掉电模式下被保存了。7、对于EINT[3:0],检查SRCPND寄存器;对于EINT[15:4],检查EINTPND寄存器;对于RTC报警唤醒,检查RTC时间,因为在唤醒时SRCPND寄存器的RTC位不被置位;如果在掉电模式期间有nBATT-FLTassertion,SRCPND寄存器的相关位被置位。掉电模式的引脚状态VDDi和VDDiarm功率控制掉电模式下,只有VDDi和VDDiarm被关闭,这由PWREN引脚控制。如果PWREN信号有效(H),VDDi和VDDiarm由外部电压供电;如果PWREN信号无效(L),VDDi和VDDiarm关闭。注:除VDDi,VDDiarm,VDDi_MPLLandVDDi_UPLL外的所有电源必须继续供电。唤醒信号EINT[15:0]只有如下条件下S3C2410才会被才掉电模式唤醒:a)电平信号或者边沿信号出现在EINTn输入引脚且被确认。b)EINTn输入引脚被配置成外部中断。c)nBATT-FLT位为高电平。一旦唤醒后,相应的EINTn引脚将不再用于唤醒,即此引脚又可以重新作为一个外部中断源使用。进入空闲模式如果CLKCON[2]被置位,S3C2410将在一段延时(直到功率控制模块从CPU接收到ACK信号)后进入空闲模式。开关PLLPLL只能在低速模式下被关闭,如果在其他模式下被关闭,MCU操作将无法保证正确。当处理器从低速模式切换到其他模式时,SLOW_BIT必须清零,以在PLL稳定后切换到其他模式。掉电模式下数据总线的上拉电阻在掉电模式下,数据总线处于高阻态。但是由于IO口的特性,数据总线的上拉电阻必须被打开以降低掉电模式下的功耗。上拉电阻开关由GPIO控制寄存器MISCCR控制。然而如果有外部的总线保持器,如74LVCH162245,则可以关掉上拉电
本文标题:S3C2410中文手册第7章_时钟和功率管理
链接地址:https://www.777doc.com/doc-681075 .html