datasheet

如何降低需要监视外部输入的MCU系统功耗

2015-04-03来源: eechina关键字:外部输入  MCU  系统功耗
目前几乎没有应用不需要降低能耗。对于便携设备和电池供电设备的设计师来说,这是影响所设计产品的最佳性能与可用性的一个约束条件。在美国国内,诸如能源之星(EnergyStar)等计划使得消费者能够更好地理解这个问题,即不仅要降低设备正常使用时的功耗,而且要降低待机模式下的功耗。越来越多的人认识到能源是一种宝贵且有限的资源。

影响系统总体能耗的主要因素之一是位于系统核心的微控制器(MCU)的性能。因此,设计师一直致力于尽最大可能地减小MCU功耗,他们主要关注三个关键领域。

首先是工作能耗,即在给定能量输入条件下MCU能够提供的有用处理工作量,显然这是非常重要的。可以用每兆赫兹(MHz)的电流消耗来衡量MCU的这个指标,32位Cortex M3处理器的基准数是150μA/MHz,Energy Micro公司的EFM32 Tiny Gecko MCU就能达到这个指标。

此外,处理器也需要各种消耗电流尽可能少的睡眠和深度睡眠模式。同样举Gecko系列处理器的例子,停止模式下的电流约为20nA。

然而在实际应用中,影响功耗的第三个因素也许是最重要的。如果处理器在睡眠状态没法监视外部事件以便知道何时苏醒,那么睡眠模式几乎毫无用处。因此在实际使用中,大多数MCU的大部分时间处于中间的“等待输入”模式。

这种情形的例子有很多。智能手机只有在来电或有短信时、或者用户通过人机界面(HMI)传感器做一些操作时才需要被唤醒。智能水表的“正常”状态则是等待水开始流动。

所有这些情况下的常规解决方案是,MCU定期苏醒过来‘检查’其传感输入并进行一些运算,以便发现是否有任务要做。这种方法面临许多挑战。传感器测量一般要求系统产生专门的激励和采样图案,例如,电容传感器需要用正弦波输入进行激励。在功耗和系统响应度之间最好有个权衡:手机“轮询”触摸屏界面次数太少的话(比如每隔几秒)就会给人反应迟钝的感觉而难以使用。而唤醒过程本身的代价就可能比较高,使得从睡眠模式到工作模式的转换简直就是无用功。设计师可能会发现,让MCU处于较高程度的唤醒状态比费力管理这些转换要高效得多。

一种更好更高效的方法是选择拥有更加自治的外设与传感器输入系统的MCU:这样,CPU不必醒过来做每次测量。Energy Micro公司的EFM32 Gecko系列MCU就可以提供这样的系统,它整合了低能耗传感器接口(LESENSE)和外设反射系统(PRS),不需要CPU干预就能实现与I/O元件的交互。因此EFM32系列MCU可以在睡眠模式下实现许多功能,比如容性触摸唤醒、金属物体检测或阻性传感器监视等功能,消耗电流不到1.2μA。

外设反射系统(PRS)(图1)允许片载“产生器”外设产生的信号被路由到其它“消费”外设,然后再由那些消费外设根据这些输入完成相应的操作。“产生器”信号包括模拟比较器和GPIO电平输出、来自ADC和DAC的“转换完成”信号、来自计数器/定时器的上溢/下溢信号以及来自UART或USARTR “发/收完成”状态消息。反射的“消费”外设包括DAC/ADC触发器、定时器输入和UART/USART使能输入。[page]

图1:经过配置的EFM32外设反射系统可以根据TIMER0溢出信号启动一次ADC转换.jpg 
图1: 经过配置的EFM32外设反射系统可以根据TIMER0溢出信号启动一次ADC转换,同时提供模拟比较器输出,作为TIMER1中比较/捕捉通道的输入。

PRS有8个通道,每个通道都有一个边沿检测器,可以用来从电平信号产生逻辑脉冲。每个通道的两个寄存器(PRS_SWPULSE和PRS_SWLEVEL)允许每个输出被驱动到软件定义的电平或逻辑‘1’。

MCU的LESENSE接口建立在这种自治外设原理之上,允许MCU在不到1?A的睡眠模式下监视多达16个外部无源(电阻、电容或电感)传感器。这种MCU整合了模拟比较器和DAC,并受运行于32kHz时钟源的定序器控制。比较器输出可以用于计数、比较或直接用作中断。要想实现精确测量,可以将DAC用作比较器的参考基准。

定序器控制哪个引脚连接到比较器、比较器工作了多长时间以及何时应该将输出送去计数或比较。也可以在比较器工作之前或工作之中利用DAC电压或GPIO引脚进行激励。在测量之后,计数器或比较器输出被缓冲和存储,以供随后的处理。

在扫描完成后,结果将被传送给一个低功耗的解码器,这个解码器具有可配置的“下一个”状态和触发条件。这样便可能捕捉许多传感器读数和组合,并且仅在匹配一段时间内的图案后才唤醒CPU(图2)。例如,当温度和湿度传感器都达到各自的阈值时才触发唤醒,或者当压力传感器连续触发10次时才唤醒CPU。

图2:基于模拟事件的条件唤醒。.jpg 
图2: 基于模拟事件的条件唤醒。

传感器结果也能经过PRS搭建更复杂的系统。这样就可以从逻辑上组合多个GPIO引脚来触发一次唤醒,或使用解码器解码串行传送的数据。

举例来说,水表中旋转叶片的运动可以用LESENSE来测量,而用正交计数器计数的旋转叶片是通过PRS连接LESENSE的。比如经过10次旋转后,CPU可以被唤醒以更新显示器和使用统计数据。在使用传统MCU时,比较器的所有排序和控制都需要CPU参与,而通过LESENSE和PRS处理可以使CPU芯片处于深度睡眠模式。[page]

容性检测示例

容性检测在控制面板和遥控等HMI应用中很常见。原理是在RC振荡器电路中包含容性传感器。当手指触摸传感器时,电容值发生改变,进而改变振荡器电路的基频。

这种安排可以通过将LESENSE检测引脚直接连接到外部设备来实现。来自比较器输出的振荡信号被送到这个外设,每个上升沿用于增加计数值。在经过一段设定的时间后,LESENSE将计数器值传送给结果缓冲器,然后复位计数器。然后缓冲的结果将与阈值电平进行比较:由于手指触摸会导致更低的振荡频率和更小的计数值,因此LESENSE只在计数值低于阈值时才会唤醒CPU。

以这种方式实现的容性检测功能所消耗的电流受几种因素的影响,包括容性覆膜的厚度和采样频率。

经验表明,对于5mm的丙烯酸覆膜和5Hz的采样频率,每个触摸板增加的功耗约500nA。对于4键触摸、采样频率为5Hz的应用来说总功耗大约是3?A。没有采样时的静态功耗不到1μA。为了改善用户体验,在第1次触摸事件后采样速度可以增加到10Hz,此时总功耗为5μA。

计算旋转次数

正如我们已经观察到的那样,旋转计数是LESENSE与PRS组合可以显著降低功耗的另外一种应用。旋转计数有完全不同的应用,通常是在控制和反馈系统中。

典型系统(图4)可以使用带两个线圈的感性传感来实现,方法是将两个线圈靠近一个旋转轮放置,旋转轮的一半则用金属覆盖。LESENSE足够快的采样每个线圈,以捕捉经过的轮子金属部分。每次采样的输出通过PRS系统馈送给正交计数器。如果计数器在相同方向达到定义好的旋转次数(图4中的3次),它产生一个中断,这个中断就可以用来唤醒CPU。

图3 容性传感器。.jpg 
图3: 容性传感器。

图4 计算旋转次数。.jpg 
图4: 计算旋转次数。

本文小结

给MCU提供感知外部世界的功能同时让CPU处于睡眠模式的技术是降低能耗的重要手段。Energy Micro LESENSE接口可以帮助EFM32微控制器在深度睡眠模式下监视许多不同种类的模拟传感器。在低频时钟源下运行的LESENSE可以在不到1μA的睡眠模式下监视多达16个传感器。典型的平均电流消耗约1.2μA。

该方案可以应用于各种容性、感性或阻性检测、旋转计数、GPIO状态解码或类似应用。LESENSE还有一个完全可配置的解码器,它能评估传感器状态,并在传感器输出的特定组合发生时或检测到某段时间内的匹配图案时唤醒CPU。综上所述,具有能源友好的传感器实现永无止境,而可能性仅限于设计师的想像力。

关键字:外部输入  MCU  系统功耗

编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/2015/0403/article_19152.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:关于加密芯片的那些事儿
下一篇:在MCU系统中如何利用ADC技术进行数据采集

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

MCU死机查原因,Crash dump堆栈回溯技术轻松搞定

       如果你在使用MCU进行开发,在项目中后期随着功能和代码的增多,死机似乎是无法避免的。每遇到这个问题,一般需要借助仿真器来定位代码缺陷,但如果遇到了一个非常难以复现的问题,或者硬件已经形成产品,无法再接仿真器的时候就比较难受了。在空指针读写、内存泄漏、堆栈溢出、参数错误等情况都可能使MCU运行死机,有些问题是非常难以复现的,为了复现发生异常的场景,往往需要打很多log进行辅助分析,但一般log无法定义的非常细,很难寻到细节,而正式发布的硬件产品固件中对log也会大幅精简。做过linux的人肯定知道crash dump这个东西,简直是内核调试的神器,在发生内核崩溃时,把函数调用
发表于 2019-07-18
MCU死机查原因,Crash dump堆栈回溯技术轻松搞定

如何评估一颗8位MCU的实际成本

尽管受到32位Arm Cortex-M处理器等平台的竞争,但今天的8位微控制器(MCU)仍占据整个MCU市场的很大一部分。嵌入式市场中8位MCU的持续优势仍然是多种因素,包括低成本,简单,快速控制功能以及具有广泛工具库的成熟生态系统。由于8位已经成熟为MCU技术,单价极低,但是在寻找低成本8位MCU时,仍然有许多价格类似的产品,依然要进行选型评判。最重要的选型是综合成本的考量,尤其是对于单价低的8位MCU来说,以下是一些重要的选型因素。生态系统开发工具:在嵌入式开发时,避免在编译器许可证或编码环境上花费资金是明智的。在选择MCU之前,请确认供应商及其提供的软件示例是否可在免费的开发平台上使用。否则,成本还应该加上开发软件费用
发表于 2019-07-16

低成本实现MCU非接触式数据交互

;FM11NC系列芯片可以为只有接触接口的通用MCU提供一个非接触的通信通道,使通用MCU可以和读写器进行即时或非即时的数据交互。即时的数据交互通过芯片内置的FIFO完成,非即时的数据交互通过芯片内置的高可靠性EEPROM完成。 FM11NC系列芯片可提供非接触场能量对外供电,VOUT引脚可配置最大输出电压3.3V,最大输出电流5mA,配合低功耗MCU,可应用一些便携式NFC应用。  图1  芯片引脚接口 芯片特点 以FM11NC08为例,其主要具有以下特点: 通信协议:ISO/IEC 14443-A; 工作频率:13.56MHz; 内置
发表于 2019-07-04
低成本实现MCU非接触式数据交互

国产MCU汽车前装车身控制领域芯突破,赛腾微出货量超百万

赛腾微电子有限公司(以下简称:赛腾微)宣布针对汽车LED尾灯流水转向灯而量身定制的主控MCU芯片——ASM87F0812T16CIT已通过国内知名汽车厂家一系列上车测试认证,出货量超百万颗。作为一家专注于汽车电子领域的芯片及方案提供商,赛腾微方面表示,此款MCU成功研制与量产,标志着国产MCU在汽车前装车身控制领域实现了产业化零突破。赛腾微的ASM87F0812T16CIT是一款针对汽车LED尾灯控制而专门定制开发的高性能专用MCU,该芯片选用通过ISO/TS16949认证的汽车级0.11um嵌入式闪存工艺制造,内置全温全压高精度(<±0.3%)时钟振荡器、边缘捕获PWM与高可靠的Data EEPROM等专用电路模块,使
发表于 2019-07-04

赛腾微实现汽车前装尾灯控制MCU出货量超百万颗

2019年07月03日,上海,赛腾微电子有限公司(“赛腾微”),一家专注于汽车电子领域的芯片及方案提供商,日前宣布,其针对汽车LED尾灯流水转向灯而量身定制的主控MCU芯片——ASM87F0812T16CIT已通过国内知名汽车厂家一系列上车测试认证,出货量超百万颗。赛腾微此款MCU成功研制与量产,标志着国产MCU在汽车前装车身控制领域实现了产业化零突破。赛腾微的ASM87F0812T16CIT是一款针对汽车LED尾灯控制而专门定制开发的高性能专用MCU,该芯片选用通过ISO/TS16949认证的汽车级0.11um嵌入式闪存工艺制造,内置全温全压高精度(<±0.3%)时钟振荡器、边缘捕获PWM与高可靠的Data EEPROM
发表于 2019-07-03
赛腾微实现汽车前装尾灯控制MCU出货量超百万颗

国内厂商如何趟出一条MCU国产化的新路?

作为嵌入式领域的“王牌”,MCU在自身进阶和产业的变革中不断磨合与匹配,屡创新高。据IC Insights研究报告,全球MCU市场将于2020年达到高峰,销售额达209亿美元,出货267亿颗。而占据C位的中国市场自承其重,据IHS研究报告,2021年中国市场规模将达64.2亿美元。与这一巨大市场空间形成对比的是,国外大厂ST、瑞萨、NXP、TI等头部厂商占据九成以上份额,国内MCU厂商仍在奋力从低端向中高端加快渗透步伐。在国产化替代的道路上,国内厂商如何趟出一条新路? 流变技术的进阶与应用的升级,使得MCU的“进化”难有止尽。应用层面,物联网、工业控制、汽车电子等新兴市场容量巨大,不断强化竞争,并驱动MCU业快速发展
发表于 2019-07-02
国内厂商如何趟出一条MCU国产化的新路?

小广播

何立民专栏

单片机及嵌入式宝典

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

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved