0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于MCU低功耗设计理论分析解读

贸泽电子 来源:djl 作者:贸泽电子 2019-06-28 00:32 次阅读

一.MCU耗能因素

现代的MCU一般使用CMOS技术,耗能包括2方面:
静态消耗 主要是晶体管消耗能量;
动态消耗 公式=C×V2×f,其中C是CMOS的负载电容,V是供电电压,f是时钟频率;
总电能消耗是静态消耗和动态消耗之和,即:IDD=f×IDynamicRun[uA/MHz]+IStatic[uA].
因此,电能消耗依赖于:
MCU芯片尺寸或者说晶体管的数目;
MCU供电电压降低电压可以成平方级别地降低电能消耗;
时钟频率可以把时钟频率降低到刚好满足应用需要;
外设数目使能的外设越多,耗能越大;
运行模式合理选择工作模式可以大幅节能,如,全速工作极短时间后进入睡眠模式。

二.节能方法

1. 关闭不需要使用的外设;
2. 所有未使用的引脚必须连接到一个确定的逻辑电平;
3. 当有外设必须保持激活时,使用Wait模式来获得低功耗;
4. 使用合适的VDD值;
5. 尽可能地使用低功耗运行模式;
6. 如果不能使用低功耗模式,那就将主频降低到满足应用的最小值;
7. 如果可能,使用动态控制I/O引脚的上拉功能。

三.低功耗模式

支持低功耗的MCU一般都有好几种运行模式,以ST公司STM8L为例,它支持5种低功耗模式:等待、低功耗运行、低功耗等待、主动停止和停止。每一种模式的进入方式,节能级别和外设工作要求,总结表1:

表1 STM8L低功耗运行模式

关于MCU低功耗设计理论分析解读

上述低功耗运行模式对于开发者来说有点多,尤其刚接触STM8L处理器。我们需要一般性的指导原则,表2是来源于实践的经验。

表2 选择合理的STM8L节能模式

关于MCU低功耗设计理论分析解读

四.鲜为人知的技巧

1. 使用Wait替换查询方式达到节能目的
常见的查询方式如下,此时CPU无事可干,白白消耗电能。
ADC_CR1 = ADC_START; /* start conversion */
while (!(ADC_SR & ADC_SR_EOC)) ; /* wait for EOC bit set */
可以使用等待事件的方式来节省电能。
先配置ADC为事件源,并使能相应的中断:
WFE_CR2 = ADC_COMP_EV; /* enable ADC as a source of event */
ADC_CR1 = ADC_EOCIE; /* enable interrupt for end of conversion */
当ADC转换完成后,唤醒处于等待的CPU:
ADC_CR1 = ADC_START; /* start conversion */
_asm(“wfe”); /* enter wait mode until waked by ADC_EOCIE*/

2. 无须上下文切换的中断模式
应用程序设计时,如果所有中断事件由ISR完成,可以通过将CFG_GCR寄存器中AL位置1来节省电能:避免保存/恢复context、无须主程序运行(返回到WFI模式),如下图1所示。

关于MCU低功耗设计理论分析解读

图1 WFI模式下中断无须上下文切换

将AL位置1节省电能的方法同样可以用于HALT模式,原理如下图2所示。

关于MCU低功耗设计理论分析解读

图2 HALT模式下中断无须上下文切换

3. 动态设置I/O口的上拉功能
很多应用需要按键作为人机接口,按键一般连接到I/O上。当按键没有动作时I/O口设置内部上拉而获得确定的逻辑电平;一旦按键按下,I/O口对地导通将产生额外的40~70uA电流,这对于电池供电的低功耗来说是十分重要的。

可以动态地控制I/O口的上拉达到节能的目的:一旦按键按下,中断服务程序将禁止该I/O口的上拉功能;然后软件定时执行—先使能上拉功能,再检测I/O口状态,如果按键仍按下再次禁止上拉功能,否则使能I/O口的上拉功能。整个逻辑如下图3所示:

关于MCU低功耗设计理论分析解读

图3 动态设置I/O口的上拉而节能

4. CPU空闲节能策略
CPU的空闲节能如下图4所示,它的逻辑包括以下几个步骤:
(1)发现CPU空闲:带OS系统,表现为任务没有事件需要响应,或者进入idle进程;无OS系统,表现为程序运行结束。
(2) 选择一种合适的CPU节能模式:chip_EnterLowPower()完成进入节能前的准备工作,包括:关闭外设,切换I/O引脚到节能状态。
(3) 退出节能模式需要调用chip_ExitLowPower(),可能发生在以下2种情形:
a. 需要使用被关闭外设的ISR:
b. 由process直接退出;
chip_ExitLowPower()的善后工作包括:使能外设,切换I/O引脚到工作状态。同时为避免ISR和process两次操作chip_ExitLowPower(),该
函数设置了状态变量避免重复退出。

关于MCU低功耗设计理论分析解读

图4 CPU空闲节能策略

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 低功耗
    +关注

    关注

    10

    文章

    2362

    浏览量

    103581
  • 电能
    +关注

    关注

    1

    文章

    662

    浏览量

    36671
收藏 人收藏

    评论

    相关推荐

    PID设计理论

    按照传统PID设计理论,首先设开环系数为K=200,目的是提高系统低频增益,减小稳态误差。但是K值过大会降低系统稳定性,所以在低频段处加一零点,与积分环节构成滞后校正。该滞后环节的作用主要有两条
    发表于 06-15 15:53

    32位低功耗MCU设计

    32位低功耗MCU设计前言传统的低功耗 MCU 设计都是以8位MCU为主,因为8 位内核阈门相对较少,运行或泄露电流低,售价也相对低廉。但是
    发表于 10-08 15:38

    MCU轻松低功耗的五大方法分析

    ,但只要涉及低功耗的问题就比较棘手了,比如某些可以低到微安级的MCU,而自己设计的低功耗怎么测都是毫安级的,电流竟然能够高出标准几百到上千倍,遇到这种情况千万不要怕,只要认真你就赢了。下边咱们仔细
    发表于 07-12 06:34

    低功耗MCU如何降低功耗

    低功耗MCU的一项非常重要的指标,比如某些可穿戴的设备,其携带的电量有限,如果整个电路消耗的电量特别大就会经常出现电量不足的情况。 平时我们在做产品的时候,基本的功能实现很简单,但只要涉及到关于
    发表于 11-12 13:57

    MCU如何降低功耗

    关于低功耗的问题就比较棘手了,比如某些可以低到微安级的MCU微控制器,而自己设计的低功耗怎么测都是毫安级的,电流竟然能够高出标准几百到上千倍,遇到这种情况干万不要怕,只要认真你就赢了。
    发表于 12-30 06:55

    低功耗MCU

    低功耗MCU的一项非常重要的指标,比如某些可穿戴的设备,其携带的电量有限,如果整个电路消耗的电量特别大就会经常出现电量不足的情况。平时我们在做产品的时候,基本的功能实现很简单,但只要涉及到关于
    发表于 10-29 06:17

    怎样去设计MCU低功耗

    ,但只要涉及低功耗的问题就比较棘手了,比如某些可以低到微安级的MCU,而自己设计的低功耗怎么测都是毫安级的,电流竟然能够高出标准几百到上千倍,遇到这种情况千万不要怕,只要认真你就赢了。下边咱们仔细
    发表于 11-10 07:16

    高质量PCB设计理论

    高质量PCB设计理论 本文为关于PCB图布线的部分经验总结,文中内容主要适用于高精度模拟系统或低频(
    发表于 04-15 00:15 974次阅读

    满意PID控制设计理论与方法

    满意PID控制设计理论与方法-2007-1-科学出版社-马建伟。
    发表于 04-01 15:13 0次下载

    MCU设计低功耗时需要注意的五点

    平常我们在使用MCU低功耗时经常会出现实际功耗理论功耗偏差较大,如在某些低到微安级的功耗模式,而我们设计的
    发表于 09-01 15:51 1138次阅读

    关于MCU低功耗问题

    随着便携式移动设备,各种穿戴设备的兴起,我们不得不关注设备的功耗问题,因为这些设备都具有一个特征:使用电池系统供电,一块线路板上跟功耗相关的单元电路可能有很多,今天我们来谈谈关于MCU
    的头像 发表于 08-13 15:22 3719次阅读

    低功耗MCU如何降低功耗

    低功耗MCU的一项非常重要的指标,比如某些可穿戴的设备,其携带的电量有限,如果整个电路消耗的电量特别大就会经常出现电量不足的情况。平时我们在做产品的时候,基本的功能实现很简单,但只要涉及到关于
    发表于 10-25 10:06 10次下载
    超<b class='flag-5'>低功耗</b><b class='flag-5'>MCU</b>如何降<b class='flag-5'>低功耗</b>

    MCU低功耗设计(三)产品

    引言:能耗对电池供电的产品来说是一个重大问题,一旦电能耗尽设备将“罢工”。在《MCU低功耗设计(一)理论》中,我们介绍了节能的原理;在《MCU低功耗
    发表于 10-28 14:06 16次下载
    <b class='flag-5'>MCU</b><b class='flag-5'>低功耗</b>设计(三)产品

    低功耗MCU选型

    摘要有时为了一款低功耗产品而绞尽脑汁,产品的低功耗实现往往在于主控MCU的选择。低功耗MCU选型要点 powerDown时有极低的电流
    发表于 11-01 16:25 18次下载
    <b class='flag-5'>低功耗</b><b class='flag-5'>MCU</b>选型

    保证MCU低功耗,这五点很重要

    平常我们在使用MCU低功耗时经常会出现实际功耗理论功耗偏差较大,如在某些低到微安级的功耗模式,而我们设计的
    发表于 02-09 11:14 1次下载
    保证<b class='flag-5'>MCU</b><b class='flag-5'>低功耗</b>,这五点很重要