6119|12

77

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于系统深度睡眠(Deep Sleep)的理解? [复制链接]

大多微处理器芯片都提供深度睡眠的功能,可以减少功耗。比如S3C2440。
那么在什么时候才应该进入深度睡眠呢?
我们知道,一般的操作系统提供了TIMER功能。
这个功能需要使用硬件定时器来进行计数,比如周期为5ms。
那么如果当前有TASK在使用Timer,是否可以进入深度睡眠?
比较困扰我的一个问题,大家都是怎样理解和设计这个feature的呢?

最新回复

深度睡眠应该是除了MCU和DDR,其他的设备包括CPU都要断电的,恢复的时候把睡眠前的数据再恢复回去。这个部分属于Power management了。  详情 回复 发表于 2010-6-27 11:39
点赞 关注

回复
举报

69

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
呵呵 这个不太清楚,学习下!
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
学习...........
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(中级)

4
 
常见的有sleep、hibernate,不知道你指的深度睡眠是否指hibernate,在使用过程中,hibernate确实能达到省电的要求。
在进入hibernate后,除了电源管理芯片、内存进入自刷新模式外,其他包括CPU核心和外设都断电,通过重新上电来唤醒。
当然,也有深度睡眠是指把内存的内容保存在硬盘后都断电,不过这种还没做过。
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

5
 
引用 3 楼 zjyu88 的回复:

常见的有sleep、hibernate,不知道你指的深度睡眠是否指hibernate,在使用过程中,hibernate确实能达到省电的要求。
在进入hibernate后,除了电源管理芯片、内存进入自刷新模式外,其他包括CPU核心和外设都断电,通过重新上电来唤醒。
当然,也有深度睡眠是指把内存的内容保存在硬盘后都断电,不过这种还没做过。


hibernate, 对,就是这个东东
一般在什么情况下进入?都需要考虑哪些方面?hibernate以后,系统的Tick就完全停止了,唤醒以后应该如何处理?有TASK在使用Timer的情况下,是否还会hibernate呢?
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

6
 
不懂,up
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

7
 
学习~~~~~
 
 
 

回复

74

帖子

0

TA的资源

禁止访问

8
 
提示: 作者被禁止或删除 内容自动屏蔽
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

9
 
引用 7 楼 liukun321 的回复:
从hibernate醒过来后,进入了一个叫解冻模式的过渡模式(不能从hibernate直接回到普通模式),此时(在这个模式下)需要重新配置系统时钟设置新的处理器状态。然后就可以进入正常模式了。过程大体就这样,另外有TASK在使用Timer的情况下,应该不会hibernate。 本人菜鸟仅供参考


这部分功能很多做产品的都会遇到,就是所谓的电源管理模块。就算你在使用Timer也是可以休眠的,这个由你的控制函数来决定的。
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

10
 
引用 8 楼 yihua0001 的回复:

引用 7 楼 liukun321 的回复:
从hibernate醒过来后,进入了一个叫解冻模式的过渡模式(不能从hibernate直接回到普通模式),此时(在这个模式下)需要重新配置系统时钟设置新的处理器状态。然后就可以进入正常模式了。过程大体就这样,另外有TASK在使用Timer的情况下,应该不会hibernate。 本人菜鸟仅供参考


这部分功能很多做产品的都会遇到,就是所谓的电源……


在有TASK使用TIMER时也可以进入休眠,那么TIMER如何触发?
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

11
 
有的處理器可以設置 wake-up resource, 如 usb 裝置插入或計時器喚醒(我們稱之為 alarm), 所以你 task 有使用 timer 時一樣可以進入 suspend(D3 mode, 也就是你所謂的 deep sleep) 狀態, 然後透過 alarm 來 wake-up.
 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

12
 
这栋楼很高啊!凑凑热闹。

不同的系统设计方案不一样。

如果系统需要Timer来唤醒系统,那么休眠的时候保持Timer模块继续运行,关闭其他模块来实现节电就好了。

如果系统不需要Timer来唤醒系统,通过外部触发来Resume系统,那么系统在Hibernate时,停用该Timer就好了。在系统Resume之后,该Timer可以被系统Active继续计时。
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

13
 
深度睡眠应该是除了MCU和DDR,其他的设备包括CPU都要断电的,恢复的时候把睡眠前的数据再恢复回去。这个部分属于Power management了。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表