完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
(1)电源模块解析
电源管理块通过软件控制系统时钟,以降低S3C2440的功耗。这些方案涉及锁相环、时钟控制逻辑(FCLK、HCLK和PCLK)和唤醒信号。图1显示了S3C2440A的时钟分布。 图1 S3C2440A的时钟分布 其中,FCLK由ARM920T使用。 HCLK用于AHB总线:内存控制器、中断控制器、液晶控制器,DMA和USB主机块。 PCLK用于APB总线:WDT、IIS、I2C、PWM定时器、MMC接口等外围设备,ADC, UART, GPIO, RTC和SPI。 S3C2440A有四种电源模式(正常、慢速、空闲、睡眠),模式之间不允许自由转换。有关模式之间可用的转换,见图2。 图2 s3c2440电源模式之间的相互转化 表1 每个电源模式的电路模块状态 (2)四种电源模式 正常模式: 在正常模式下,所有外设和基本块,包括电源管理块、CPU核心、总线控制器、内存控制器、中断控制器、DMA和外部主机都可以完全运行。但是,除了基本模块外,每个外围设备的时钟都可以通过软件选择性地停止,以降低功耗。 空闲模式:在空闲模式下,除总线控制器、内存控制器、中断控制器和电源管理块外,CPU核心时钟停止。要退出空闲模式,应激活EINT[23:0]、RTC报警中断或其他中断。(EINT在GPIO模块打开之前不可用)。 慢速模式:在慢模式下,可以通过应用慢时钟和不使用锁相环来降低功耗。FCLK是没有锁相环的输入时钟(XTIpll或EXTCLK)的divide_by_n的频率。分频比由CLKSLOW控制寄存器和CLKDIVN控制寄存器中的SLOW_VAL决定。 表2 CLKSLOW控制寄存器和CLKDIVN控制寄存器中的SLOW_VAL 休眠模式:这个模块断开了内部电源。因此,在这种模式下,除了唤醒逻辑之外,没有由于CPU和内部逻辑而导致的功耗。激活睡眠模式需要两个独立的电源。两个电源中的一个为唤醒逻辑提供电源。另一个提供包括CPU在内的其他内部逻辑电源。在休眠模式下,CPU和内部逻辑的电源将被关闭,保持唤醒逻辑的电源。休眠模式下的唤醒可以通过EINT[15:0]或RTC报警中断来发出。 (3)进入睡眠模式步骤 1. 设置适合睡眠模式的GPIO配置。 2. 屏蔽INTMSK寄存器中的所有中断。 3. 正确配置唤醒源,包括RTC警报。 4. 将USB设置为挂起模式。(MISCCR[13:12]= 11 b) 5. 将一些意义值保存到GSTATUS[4:3]寄存器中(唤醒后的执行函数地址,堆栈指针等)这些寄存器在睡眠模式下得到保护。 6. 配置数据总线上的上拉电阻MISCCR[1:0],D[31:0]。 7. 通过清除LCDCON1来停止LCD。 8. 读取rREFRESH和rCLKCON寄存器以填充TLB。 9. 让SDRAM通过设置REFRESH[22]=1b进入自刷新模式。 10. 等待SDRAM自动刷新有效。 11. 设置MISCCR[19:17]=111b,使SDRAM信号(SCLK0、SCLK1、SCKE)在睡眠时受到保护模式,不让SDRAM内的数据被破坏。 12. 在CLKCON寄存器中设置睡眠模式位。 注意:当系统从NAND引导启动时,必须将硬件pin配置- EINT[23:21]设置为输入。 (4)退出睡眠模式步骤 1. 如果发出一个唤醒源中断,将产生内部复位信号(同外部复位信号)。复位持续时间由内部16位计数器逻辑决定,复位时间计算公式为:tRST = (65535 / XTAL_frequency)。 2. 检查GSTATUS2[2],以确定是否由睡眠模式唤醒。 3. 通过设置MISCCR[19:17]=000b,释放SDRAM信号保护。 4. 配置SDRAM内存控制器。 5. 等待SDRAM自刷新被释放。大多数情况下,SDRAM需要所有SDRAM行的刷新周期。 6. GSTATUS[3:4]中的信息可以用于用户自己的目的,因为GSTATUS[3:4]中的值在睡眠模式下被保存了下来。 7. 对于EINT[3:0],检查SRCPND寄存器。 | 对于EINT[15:4],检查EINTPEND而不是SRCPND(虽然设置了一些EINTPEND位,但不会设置SRCPND)。 表3 睡眠模式管脚配置表 (参考作用,用户应该根据实际情况配置) (5)满足从睡眠模式唤醒的条件 a. 外部中断 EINT[15:0] 产生。 b. EINTn 引脚必须在GPIO控制寄存器中配置为EINT。 c. nBATT_FLT引脚必须是高电平。 注意:刚睡醒后,相应的EINTn引脚将不用于唤醒,这意味着该引脚可以作为正常外部中断请求引脚。 (6)其它 (1)如果将CLKCON[2]设置为1,则进入空闲模式,S3C2440A将在一定的延迟之后进入空闲模式(直到电源控制逻辑从CPU接收到ACK信号)。 (2)锁相环只能在低功耗的慢速模式下关闭。如果锁相环在任何其他模式下被关闭,MCU的操作就不能得到保证。 (3)建议输出端口处于高电平状态,以减少休眠模式下的电流消耗。 |
|
|
|
只有小组成员才能发言,加入小组>>
4241个成员聚集在这个小组
加入小组3264 浏览 0 评论
航顺(HK)联合电子发烧友推出“近距离体验高性能Cortex-M3,免费申请价值288元评估板
4212 浏览 1 评论
4212 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-3 06:47 , Processed in 0.485150 second(s), Total 47, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号