打印

省电功能的控制,大家平时注意到了吗?

[复制链接]
1067|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tianli1980|  楼主 | 2013-9-8 22:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
要做到省电,可以从以下几个方向着手:
(1):CPU:CPU是整个系统的心脏,不能轻易停掉,但“跳慢一点”当然会省电。一般用于嵌入是系统的CPU都会提供以下两种方式来控制CPU的用电:
a:clock调整。例如输入CPU的clock是48MHz,CPU内部可以设定将其升频(如×2变成96MHz)或降频(如除以2,除以4,除以及8等)后的频率当做CPU的工作频率。
b:执行状态调整。CPU通常会提供诸如halt或sleep的指令,执行后可以让CPU停止一些CPU内部功能。并暂时停止抓指令来执行。顾名思义,halt是暂停的意思,sleep则是睡眠的意思,两者同样会让cpu暂停执行命令,但后者显然会关掉比较多的CPU功能,当然会比较省电。当产生特定的中断就可以把CPU从halt或sleep模式中唤醒,继续抓取指令(CPU醒来后执行的第一行指令一定是中断处理程序)。

(2):关闭暂时不使用之外部装置的电源:这个当然必须配件设计配合,首先该装置及相关零件的电源供给必须独立,接着硬件设计必须提供可以控制该装置电源切换的开关,这样驱动程序才可以通过I/O port控制这个开关,达到真正切断该装置电源的目的。基本上装置电源切断后就不应该再耗电。
(3):切换装置的执行模式:和CPU一样,有些装置不能任意切断电源,所以就会提供不同的执行模式,基本上不会像CPU那么复杂,通常就是full run mode 与standby mode两种模式,驱动程序必须依据date sheet内的规定,在暂时用不到该装置的时候,让其进入较省电的standby mode.
(4):将CPU的各个PIN引脚逐一切换为较省电的模式:用于嵌入式系统的CPU为了节省PIN引脚,降低成本等因素,它的某些PIN引脚可能是多用途的。当这些PIN引脚被设定成不同的用途,就可能有不同的耗电状态,所以当某根PIN引脚暂时不使用时,必须将其设定不最省电的用途,这是个很麻烦的工作,每个CPU的设计逻辑都不一样,有时候甚至要用trial-and-error,实际测量在不同设定下的耗电流。虽然如此,我们还是有几个简单的基本原则:
1:通常GPIO会比其他设定(如A/D port ,date bus等)省电;
2:通常output PIN会比input PIN省电;
3:通常将output PIN保持在低电位,会比保持在高电位省电;
4:如果GPIO有被电路拉高(pull high)或拉低(pull low),逆势而为通常会比较耗电。
评分
参与人数 1威望 +6 收起 理由
zhangmangui + 6 很给力!

相关帖子

沙发
zhangmangui| | 2013-9-8 22:25 | 只看该作者
谢谢你的分享  功耗是很重要的一个环节

使用特权

评论回复
板凳
tianli1980|  楼主 | 2013-9-8 22:44 | 只看该作者
是啊,我们平时做硬件设计的都要考虑到这些啊,这也是趋势。

使用特权

评论回复
地板
biechedan| | 2013-9-9 00:06 | 只看该作者
如果工作量不是很大,还是推荐msp430的

使用特权

评论回复
5
kkzz| | 2013-9-10 17:47 | 只看该作者
楼主的应用低功耗很熟练么

使用特权

评论回复
6
huangfeng33| | 2013-9-10 20:46 | 只看该作者
节省能源,低功耗是未来发展的趋势,从小事做起,从我做起,

使用特权

评论回复
7
五谷道场| | 2013-9-11 10:01 | 只看该作者
biechedan 发表于 2013-9-9 00:06
如果工作量不是很大,还是推荐msp430的

MSP430的功耗是比较低的,呵呵

使用特权

评论回复
8
biechedan| | 2013-9-11 23:22 | 只看该作者
五谷道场 发表于 2013-9-11 10:01
MSP430的功耗是比较低的,呵呵

版主说对。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

482

主题

2214

帖子

11

粉丝