ARM9 S3C2410时钟和功率管理.docx

上传人:小飞机 文档编号:1662096 上传时间:2022-12-13 格式:DOCX 页数:14 大小:2.74MB
返回 下载 相关 举报
ARM9 S3C2410时钟和功率管理.docx_第1页
第1页 / 共14页
ARM9 S3C2410时钟和功率管理.docx_第2页
第2页 / 共14页
ARM9 S3C2410时钟和功率管理.docx_第3页
第3页 / 共14页
ARM9 S3C2410时钟和功率管理.docx_第4页
第4页 / 共14页
ARM9 S3C2410时钟和功率管理.docx_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《ARM9 S3C2410时钟和功率管理.docx》由会员分享,可在线阅读,更多相关《ARM9 S3C2410时钟和功率管理.docx(14页珍藏版)》请在三一办公上搜索。

1、第七章时钟和功率管理概述时钟和功率管理模块由三部分组成:时钟控制,USB控制和功率控制。S3C2410A的时钟控制逻辑能够产生系统所需要的时钟,包括CPU的FCLK,AHB总线接口的HCLK,和APB总线接口的PCLK。S3C2410A有两个PLL,一个用于FCLK,HCLK,PCLK,另一个用于USB模块(48MHZ)。时钟控制逻辑能够由软件控制不将PLL连接到各接口模块以降低处理器时钟频率,从而降低功耗。S3C2410A有各种针对不同任务提供的最佳功率管理策略,功率管理模块能够使系统工作在如下4种模式:正常模式,低速模式,空闲模式和掉电模式。正常模式:功率管理模块向CPU和所有外设提供时钟

2、。这种模式下,当所有外设都开启时,系统功耗将达到最大。用户可以通过软件控制各种外设的开关。例如,如果不需要定时器,用户可以将定时器时钟断开以降低功耗。低速模式:没有PLL的模式。与正常模式不同,低速模式直接使用外部时钟(XTIpll或者EXTCLK)作为FCLK,这种模式下,功耗仅由外部时钟决定。空闲模式:功率管理模块仅关掉FCLK,而继续提供时钟给其他外设。空闲模式可以减少由于CPU核心产生的功耗。任何中断请求都可以将CPU从中断模式唤醒。掉电模式:功率管理模块断开内部电源。因此CPU和除唤醒逻辑单元以外的外设都不会产生功耗。要执行掉电模式需要有两个独立的电源,其中一个给唤醒逻辑单元供电,另

3、一个给包括CPU在内的其他模块供电。在掉电模式下,第二个电源将被关掉。掉电模式可以由外部中断EINT15:0或RTC唤醒。功能描述时钟结构图7-1描述了时钟架构的方块图。主时钟源由一个外部晶振或者外部时钟产生。时钟发生器包括连接到一个外部晶振的振荡器和两个PLL(MPLL和UPLL)用于产生系统所需的高频时钟。时钟源选择表7-1描述了模式控制引脚(OM3和OM2)和选择时钟源之间的对应关系。OM3:2的状态由OM3和OM2引脚的状态在nRESET的上升沿锁存得到。 注意:1、尽管MPLL在系统复位的时候就开始产生,但是只有有效的设置号MPLLCON寄存器后才能用于系统时钟。在此之前,外部时钟将

4、直接作为系统时钟。即使不需要改变MPLLCON寄存器的初值,也必须将同样的值写入寄存器。2、当OM1:0为11时,OM3:2用于决定一种测试模式。锁相环PLL位于时钟信号发生器的内部MPLL用于将输出信号和相关输入信号在相位和频率上同步起来。它包括如图7-2所示的一些基本模块:根据DC电压产生相应比例关系频率的压控振荡器(VCO),除数P(对输入频率Fin进行P分频),除数M(对VCO的输出频率进行M分频,分频后输入到相位频率探测器PFD),除数S(对MPLL输出频率Mpll进行分频),相差探测器,charge pump,loop filter。MPLL的时钟输出Mpll和输入时钟Fin的关系

5、如下式所示:UPLL和MPLL是完全一样的。下面的部分描述了MPLL的操作,包括相差探测器,charge pump,VCO,loop filter。相位频率探测器PFD当PFD检测Fref和Fvco之间的相差时产生一个控制信号。Fref如图7-2所示。Charge pumpCharge pump 通过一个外部过滤器将PFD的控制信号转换成一个比例的电压关系来驱动VCO。Loop FilterPFD产生的控制信号可能在每一次Fref和Fvco比较的时候产生很大的偏差,为了防止VCO过载,一个低通滤波器将过滤掉控制信号的高频成分。滤波器就是常用的一节RC滤波器。压控振荡器VCOLoop filte

6、r 输出的电压驱动VCO,导致它的晶振频率根据平均电压线性地增加或降低。当Fref和Fvco的频率和相位都匹配时,PFD停止发送控制信号给charge pump,然后VCO频率保持不变,并且PLL保持固定于系统时钟。PLL和时钟发射器的通用条件PLL和时钟发生器通常使用如下条件注:1、值是可变的。2、FCLK必须大于X-tal或EXTCLK的3倍。时钟控制逻辑时钟控制逻辑决定哪个时钟源被使用,例如MPLL或者外部时钟。当PLL被配置到一个新的频率时,时钟控制逻辑将会停止FCLK直到PLL达到一个稳定的输出。时钟控制逻辑在上电复位和从掉电模式唤醒的情况下也是有效的。上电复位(XTIpll)图7-

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的时钟。在S3C

8、2410中,是通过UPLL来产生这一时钟的,UCLK只有在UPLL配置好后才会生效。FCLK,HCLK和PCLKFCLK用于ARM920T.HCLK用于AHB总线。包括ARM920T,存储控制器,中断控制器,LCD控制器,DMA和USB主机。PCLK用于APB总线。包括外设如WDT,IIS,I2C,PWM,PWM TIMER,MMC,ADC,UART,GPIO,RTC,SPI。S3C2410支持三者之间的比率可选,这个比率是由CLKDIVN寄存器的HDIVN和PDIVN决定的。设置好PMS的值后,需要设置CLKDIVN寄存器。CLKDIVN寄存器的值将在PLL锁定时间之后生效,在复位和改变功率

9、模式后也是有效的。注意:1、HCLK和PCLK不应该超过某一限制2、如果HDIVN=1,CPU总线模式将通过一下指令从快速模式切换到异步模式:MMU_SetAsyncBusModemrc p15,0,r0,c1,c0,0orr r0,r0,#R1_nF:OR:R1_iAmcr p15,0,r0,c1,c0,0如果HDIVN=1并且CPU总线模式是快速模式,CPU将以HCLK进行运行,这一特性可以用于将CPU频率减半而不影响HCLK和PCLK。功率管理在S3C2410中,功率功率模块通过软件控制系统时钟来达到降低功耗的目的。这些策略牵涉到PLL,时钟控制逻辑和唤醒信号。图7-7显示了S3C241

10、0的时钟分配。S3C2410有4种功耗模式。各种模式之间的转换并不是完全自由的,图7-8描述了各种模式之间的转换关系。正常模式正常模式下,所有的外设和基本的功能模块,包括功率管理模块,CPU核心,总线控制器,存储控制器,中断控制器,DMA和外部控制器都可以完全操作。但是除了基本的模块之外,其他模块都可以通过关闭其时钟的方法来降低功耗。空闲模式空闲模式下,除了总线控制器、存储控制器、中断控制器、功率管理模块以外的CPU时钟都被停止。EINT23:0、RTC中断或者其他中断都可以将CPU从空闲模式下唤醒。低速模式低速模式通过降低FCLK和关闭PLL来实现降低功耗。此时FCLK是外部时钟(XTIpl

11、l or EXTCLK)的n分频。分频数由CLKSLOW寄存器的SLOW_VAL和CLKDIVN寄存器决定。在低速模式下,PLL是关闭的。当用户需要从低速模式切换到正常模式时,PLL需要一个时钟稳定时间(PLL锁定时间)。PLL稳定时间是由内部逻辑自动插入的,大概需要150us,在这段时间内,FCLK还是使用低速模式下的时钟。用户可以在PLL开的情况下通过改变CLKSLOW寄存器的SLOW_BIT位使能低速模式来改变频率。在低速模式下,FCLK为外部时钟的分频。如图7-9.如果在PLL锁定时间之后切换到正常模式,FCLK将会在低速模式一失效就改变,如图7-10.如果低速模式失效和PLL同时打开

12、,则需要等待PLL锁定后FCLK才会改变,锁定期间FLCK停止。如图7-11.掉电模式功率管理模块断开内部电源。因此CPU和除唤醒逻辑单元以外的外设都不会产生功耗。要执行掉电模式需要有两个独立的电源,其中一个给唤醒逻辑单元供电,另一个给包括CPU在内的其他模块供电。在掉电模式下,第二个电源将被关掉。掉电模式可以由外部中断EINT15:0或RTC中断。进入掉电模式的过程1、 设置GPIO配置2、 在INTMSK寄存器中屏蔽所有中断。3、 配置适当的唤醒源,包括RTC报警。为了是SRCPND和EINTPEND位置位,唤醒源相关的EINTMASK位不必被屏蔽,尽管一个唤醒源被指定而且EINTMASK

13、相关位被屏蔽,唤醒还是会发生,SRCPND和EINTPEND位也不会置位。4、 设置USB为中止模式。(MISCCR13:12=11b)5、 将一些有用的值存入GSTATUS3,4,这些寄存器在掉电模式下是被保持的。6、 通过MISCCR1:0将数据总线D31:0的上拉电阻配置成开。如果有外部总线保持器,如74LVCH162245,关掉上拉电阻,否则打开上拉电阻。7、 通过清除LCDCON1.ENVID位停止LCD。8、 读取rREFRESH和rCLKCON寄存器,并填入TLB。9、 通过设置REFRESH22=1b使SDRAM进入自动刷新模式。10、 等待SDRAM自动刷新生效。11、 通过

14、设置MISCCR19:17=111B使SDRAM信号在掉电模式期间被保护起来(SCLK0,SCLK1,SCKE)。12、 置位CLKCON寄存器的掉电模式位。从掉电模式唤醒的过程1、 某个唤醒源生效将产生一个内部复位信号。复位时间由一个内部16位计数器决定,此计数器的时钟是tRST=(65535/XTAL_frequency)。2、 查询GSTATUS2位看从掉电模式唤醒是否产生了一个POWER-UP。3、 通过将MISCCR19:17设置为000b,释放SDRAM信号保护。4、 配置SDRAM控制器。5、 等待SDRAM自我刷新完毕。大部分SDRAM需要refresh cycle of al

15、l SDRAM row。6、 GSTATUS3,4的信息可以被用户使用,因为GSTATUS3,4的值已经在掉电模式下被保存了。7、 对于EINT3:0,检查SRCPND寄存器;对于EINT15:4,检查EINTPND寄存器;对于RTC报警唤醒,检查RTC时间,因为在唤醒时SRCPND寄存器的RTC位不被置位;如果在掉电模式期间有nBATT-FLT assertion,SRCPND寄存器的相关位被置位。掉电模式的引脚状态VDDi和VDDiarm功率控制掉电模式下,只有VDDi和VDDiarm被关闭,这由PWREN引脚控制。如果PWREN信号有效(H),VDDi和VDDiarm由外部电压供电;如果

16、PWREN信号无效(L),VDDi和VDDiarm关闭。注:除VDDi, VDDiarm, VDDi_MPLL and VDDi_UPLL外的所有电源必须继续供电。唤醒信号EINT15:0只有如下条件下S3C2410才会被才掉电模式唤醒:a) 电平信号或者边沿信号出现在EINTn输入引脚且被确认。b) EINTn输入引脚被配置成外部中断。c) nBATT-FLT位为高电平。一旦唤醒后,相应的EINTn引脚将不再用于唤醒,即此引脚又可以重新作为一个外部中断源使用。进入空闲模式如果CLKCON2被置位,S3C2410将在一段延时(直到功率控制模块从CPU接收到ACK信号)后进入空闲模式。开关PLL

17、PLL只能在低速模式下被关闭,如果在其他模式下被关闭,MCU操作将无法保证正确。当处理器从低速模式切换到其他模式时,SLOW_BIT必须清零,以在PLL稳定后切换到其他模式。掉电模式下数据总线的上拉电阻在掉电模式下,数据总线处于高阻态。但是由于IO口的特性,数据总线的上拉电阻必须被打开以降低掉电模式下的功耗。上拉电阻开关由GPIO控制寄存器MISCCR控制。然而如果有外部的总线保持器,如74LVCH162245,则可以关掉上拉电阻以降低功耗。掉电模式下输出口状态在掉电模式下输出口应该处于一个适当的电平以使电流消耗最小化。如果输出引脚上没有负载,最好设置为高电平。如果设置为低电平,内部寄生电阻将

18、会消耗电流,如果设置为低电平则不会消耗电流。将输出口设置位高电平将降低电流消耗。电源错误信号nBATT_FLTnBATT_FLT有如下两个功能:非掉电模式下,nBATT_FLT将产生中断请求,低电平触发。掉电模式下,nBATT_FLT的低电平将会禁止从掉电模式下唤醒,所以任何唤醒源会被屏蔽,这能保护电量低引起的系统故障。掉电模式下的ADCADCCON寄存器中有一个额外的掉电位,如果S3C2410进入掉电模式,ADC将进入自己的POWERDOWN模式。SW work-aroundRTC_ALARM唤醒后,SRCPND寄存器的RTC 判断位不被置位,因此唤醒后必须检查报警日期。时钟发生器和功率功率模块SFR锁定计数器寄存器(LOCKTIME)PLL控制寄存器(MPLLCON/UPLLCON)Mpll = (m * Fin) / (p * 2s)m = (MDIV + 8), p = (PDIV + 2), s = SDIVPLL选择表注:48MHZ用于UPLLCON寄存器注:1、尽管可以根据公式设置PLL,但是我们推荐仅使用推荐表里面的值,如果要使用其他值,请与我们联系。2、如果要同时设置UPLL和MPLL,请先设置UPLL,然后设置MPLL,且至少要间隔7个时钟周期。时钟控制寄存器CLKCON低速时钟控制寄存器(CLKSLOW)时钟除数控制寄存器(CLKDIVN)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号