MCU低功耗设计(一)理论

发布者:masphia最新更新时间:2016-08-14 来源: eefocus关键字:MCU  低功耗设计 手机看文章 扫描二维码
随时随地手机看文章

一.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低功耗运行模式

模式

等待

低功耗运行

低功耗等待

主动停止

停止

入口

WFI

WFE

软件代码

软件代码+WFE

HALT

HALT

晶振

LSI或LSE

LSI或LSE

LSI或LSE

CPU

外设

关,仅RTC开

唤醒

所有内部和外部中断,复位

所有内部和外部中断,复位,唤醒事件

软件代码,复位

内部和外部事件,复位

外部中断,RTC中断,复位

外部中断,复位

电压调节器

MVR

MVR

ULP

ULP

CLK_ICKCR

ULP

程序执行区

FLASH

FLASH

RAM

RAM

FLASH

FLASH

FLASH+E2

中断

允许

允许

禁止

禁止

允许

允许

中断服务后 返回状态

AL=0:main

AL=1:WFI

WFE

/

/

AL=0:main

AL=1主动停止

AL=0:main

AL=1:停止

事件处理后 返回状态

/

Main

/

低功耗运行

/

/

RAM+寄存器

保留

保留

保留

保留

保留

保留

@3V/25℃

5.9uA

5.4uA

3.3uA

1.0uA

0.4uA

特殊事项

/

/

禁止ADC

/

清除外设悬挂中断标志位

 

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

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

节能要求

应用场合

睡眠时长

唤醒方式

恢复时长

运行模式

苛刻

CPU空闲,等待外部信号唤醒

外部中断

≥2.8us

HALT

苛刻

CPU空闲,等待时钟周期唤醒

RTC周期

≥2.8us

Active-halt

严格

CPU有持续、微负荷任务运行

/

/

≥2.8us

低功耗运行

严格

CPU短暂等待中断发生

任意中断

等待中断

严格

CPU短暂等待事件发生

注册事件

等待事件

需要

CPU有持续、轻负荷任务运行

/

/

/

调整主频

四.鲜为人知的技巧

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所示。

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

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

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

3. 动态设置I/O口的上拉功能

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

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

图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(),该函数设置了状态变量避免重复退出。

图4  CPU空闲节能策略

关键字:MCU  低功耗设计 引用地址:MCU低功耗设计(一)理论

上一篇:牛人解读:从RS 232接口向USB接口通讯的华丽转变
下一篇:MCU低功耗设计(二)实践

推荐阅读最新更新时间:2024-03-16 15:04

使用单片机实现数字电压表的资料详细说明
1. 实验任务 利用单片机AT89S51与ADC0809设计一个数字电压表,能够测量0-5V之间的直流电压值,四位数码显示,但要求使用的元器件数目最少。 2. 电路原理图 图1.28.1 3. 系统板上硬件连线 a) 把“单片机系统”区域中的P1.0-P1.7与“动态数码显示”区域中的ABCDEFGH端口用8芯排线连接。 b) 把“单片机系统”区域中的P2.0-P2.7与“动态数码显示”区域中的S1S2S3S4S5S6S7S8端口用8芯排线连接。 c) 把“单片机系统”区域中的P3.0与“模数转换模块”区域中的ST端子用导线相连接。 d) 把“单片机系统”区域中的P3.1与“模数转换模块”区域中的OE端子用导线相连接。 e
[单片机]
使用<font color='red'>单片机</font>实现数字电压表的资料详细说明
基于AT89C51单片机的温度数据显示设计
一.系统概述 系统使用的模块有AT89C51单片机+LCD12864+DS18B20温度检测模块。 系统的通过AT89C51作为控制核心,使用DS18B20温度检测模块,利用LCD12864显示采集的温度数据,LCD12864相对于LCD1602来说能够显示文字,LCD12864显示器被称为点矩阵液晶显示模块,也称为12864,因为它是包括12864个液晶显示点的128行64个阵列。每个显示点应该有一个二进制数,0表示消失,1表示明亮。如果模块内设置了词典就不需要进行汉字的设计。 二.仿真概述 1.LCD12864显示屏上显示环境温度。 2.按下界面切换后显示日期和时间数据。 三.程序设计 使用Keil 51进行程序设
[单片机]
基于AT89C51<font color='red'>单片机</font>的温度数据显示设计
OLED显示模块与C8051F单片机的接口设计
  有机发光显示OLED(Organic Light Emitting Display)是比液晶显示技术更为先进的新一代平板显示技术,是被业界公认为最具发展前景的下一代显示技术。它与液晶显示技术相比,具有超轻薄、高亮度、广视角、自发光、响应速度快、适应温度范围宽、抗震强、功耗低、可实现柔软显示等优越性能,可广泛应用于通信、计算机、消费电子、工业应用、商业、交通等领域。下面以VGS12864E显示模块为例,介绍C8051F020单片机与它的接口设计及软件编程方法。 1 VGS12864E显示模块   VGS12864E是128×64行点阵的OLED单色、字符、图形显示模块。模块内藏64×64的显示数据RAM,其中的每位数据都对应
[单片机]
OLED显示模块与C8051F<font color='red'>单片机</font>的接口设计
单片机的“灵魂”数据存储器的应用
  我们可以说程序存储器的里面存放的是单片机的灵魂,它就是工作程序。小的可能只有1KB(最多只能装1024条8位数据,因为实际指令还有许多2字节、3字节指令,所以它还装不下1024条指令)大的也有128KB的。      这些8位数据要么在工厂里做摸子光刻进去,要么一次性的烧写进去,要么……用编程器这个特殊工具把调试成功的机器码装载进去,或者像AVR单片机那样自己花几块钱做一条下载线,把电脑里这些东西灌进去(或许是AVR最吸引人之处),它一旦进驻电脑的程序存储器中,除了借助上述装置便不能自由改写,在单片机运行时,只是从其中读出指令或固定的数据,所以给程序存储器一个“只读存储器”的别名,简写为ROM,包括用编程器写紫外线擦除内容的E
[单片机]
基于MSP430单片机的可调恒流源Proteus仿真程序设计
单片机源程序如下: /****************************************************************** * 实验说明: * 通设置系统主时钟(MCLK=8Mhz ) 、辅助时钟(ACLK=8Mhz )、 * 子系统时钟(SMCLK=8Mhz ) ******************************************************************/ #include MSP430x24x.h #include string.h #define uchar unsigned char #define uint unsigned int /
[单片机]
基于MSP430<font color='red'>单片机</font>的可调恒流源Proteus仿真程序设计
胰岛素泵的检测及供电系统设计
  胰岛素泵是一种便携式医疗设备,在美国,其设计和制造由美国食品与药物管理局(FDA)监管。这意味着:其设计和建造必须遵循准确规定的流程;其性能必须满足严格的文档化管理、开发测试、生产测试和现场维护等要求。如图1中设备,还必须包含全面的自检和故障显示功能,从而需要额外电路以及使用具有自检功能的器件。 便携性   胰岛素泵是可佩戴的设备,因此,必须非常小而轻(图2)。其体积通常约2×3×0.75英寸(5.7×7.6×1.9厘米),重量为2和4盎司(57克和113克)。这些外形要求,使 设计师 在选择器件时,会优先考虑其大小和功耗。 图1:胰岛素泵系统功能框图;美信可提供蓝色部分的解决方案。   为节省空间
[医疗电子]
胰岛素泵的检测及供电系统设计
彩色STN模块VP2188与51单片机接口设计
  VP2188是精电蓬远生产的一款彩色STN液晶显示模块,此模块为点阵透射式彩色STN显示屏,色阶为65 k色、白色LED背光,其核心控制器是Philips COG封装的PCF8837.PCF8837是单片式彩色STN控制驱动器,存储容量为176*132*16=45 kB,有3种颜色显示模式(RGB 565或444或332),驱动能力为176行,396列(132*RGB)输出.   PCF8837的特点是有内部集成驱动电源功能模块及OPT功能模块,具备内部DC-DC升压、变换及电压、帧频率温度补偿电路,可以通过软件管理驱动电源的工作 ,并有灵活的串口和并口连接方式、矩阵式存储器管理以及由此带来的方便的图像管理功能、区域滚动模式
[单片机]
彩色STN模块VP2188与51<font color='red'>单片机</font>接口设计
PC机与单片机串行通信中实现命令批处理
    摘要: 介绍PC机与MCS-51单片机通信批处理命令的实现思想、方法、通信协议和C51程序平台。为PC机与单片机间串行通信程序设计提供一种方法上的新思路。     关键词: 批处理 MCS-51单片机 通信协议 在PC机与MCS-51单片机之间进行串行通信时,基本是一对一的,即用PC机向单片机每发1条命令,就等待单片机的1条返回信息。这样可能把大量时间浪费在PC机与单片机的通信过程中了。为此笔者经过实践,设计出可以批处理执行PC机发给单片机的命令,就像DOS操作系统中的批处理命令一样,可连续批处理信息,结果当然提高了系统速度。文中提供了部分平台式C51软件源代码,以供大家参考。 1 通信协议
[网络通信]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved