您的位置 首页 产品

MCU低功耗规划(三)产品

引言:能耗对电池供电的产品来说是一个重大问题,一旦电能耗尽设备将罢工。在《MCU低功耗设计(一)理论》中,我们介绍了节能的原理;在《M…

导言:

能耗对电池供电的产品来说是一个重大问题,一旦电能耗尽设备将“停工”。在《MCU低功耗规划(一)理论》中,咱们介绍了节能的原理;在《MCU低功耗规划(二)实践》中,实测了STM8L151C8的低功耗值。

本文介绍无线通讯产品的低功耗规划,首要实测MCU与射频芯片I/O设置的功耗,然后测验射频芯片不同形式下功耗,其次运用Contiki体系的energest模块实时盯梢能耗值,最终总结低功耗规划和展望无线组网中低功耗特征。Let’sgo!

一、 无线通讯产品简介


iWL881A无线通讯模块是“长沙市锐米通讯科技有限公司(www.rimelink.com)”的LoRa长间隔低功耗产品(如下图),它内嵌高效强壮的物联网操作体系Contiki,支撑星型/树型/MESH网络,与公司的集中器和云服务器组成“端管云”体系。典型运用场景为:居民抄表(水/电/气)、路灯操控、工厂收集、安全报警等。

该款微功耗无线通讯产品运用场景根本由电池供电,因而低功耗规划成了首个“主战场”。MCU选用了ST公司超低功耗处理器STM8L151C8,射频芯片(RF)运用Semtech公司SX1278,该芯片依据LoRa扩频通讯原理,在同等条件下能够获得比FSK调制近4倍的间隔。关于LoRa通讯原理,请参阅作者的博文《LoRa无线通讯规划(一)原理》。


MCU与RF经过SPI总线衔接,此外还有一些操控引脚,SX1278硬件原理图如下:RF经过DIO0~5引脚给MCU发告诉信号,NSS / SCK/ MISO / MOSI是SPI总线,NRRST是MCU复位RF的引脚。

二、 静态低功耗

1.MCU引脚装备

真实做产品的低功耗,第一件作业是正确装备I/O引脚,单个I/O口的耗能到达mA级。换句话说,假如不小心漏掉或错装备一个I/O引脚,那么它将无情地“吞噬”你苦心经营MCU低功耗形式而得到的成果。

MCU的I/O引脚大致分红4类:未衔接、接3.3V、IC输入MCU输出、IC输出MCU输入。接下来,咱们进行一系列试验,看看这4类引脚该怎么装备。

试验1:接3.3V的I/O口,需求设置成Output, high level,是push-pull仍是open-drain适宜呢?挑选5个上接3.3V的I/O引脚试验成果如下:

push-pull:0.4 uA

open-drain:29.3 uA

定论:关于接3.3V的I/O,节能形式下需求设置成 Output, push-pull, highlevel。

试验2:将36个悬空的I/O口,设置成如下6种形式,各能耗数据如下:

Input, floating: 536 uA

Input, pull-up: 0.4 uA

Output, open-drain, low level: 0.4 uA

Output, open-drain, high-impedance level:530 uA

Output, push-pull, low level: 0.4 uA

Output, push-pull, high level: 0.4 uA

定论:悬空I/O引脚能够设置为:(1)Input, pull-up; (2)Output, push-pull, high(low) level。

试验3:将6个衔接RF(RF为输入方向)的I/O口,设置成如下6种形式,能耗如下:

Input, floating: 489 uA

Input, pull-up: 482 uA

Output, open-drain, low level: 660 uA

Output, open-drain, high-impedance level:494 uA

Output, push-pull, low level: 661 uA

Output, push-pull, high level: 574 uA

定论: 外部IC为输入的引脚,节能形式下需求设置成:Input, pull-up。

试验4:将9个衔接RF(RF为输出方向)的I/O口,设置成如下2种形式,能耗如下:

Input, floating: 430 uA

Input, pull-up: 574 uA

定论: 外部IC为输出的引脚,节能形式下需求设置成:Input, floating。

MCU引脚装备根本准则总结如下:

图例

特性

节能装备形式

 

IC输出,MCU输入:输入,起浮

Input floating, no external interrupt

 

%&&&&&%输入,MCU输出:输入,上拉

Input pull-up, no external interrupt

 

3.3V引脚:输出,上拉,高电平

Output push-pull, high level, 2MHz

 

未接引脚:输出,上拉,低电平

Output push-pull, low level,2MHz

实践开发中,咱们能够先用Excel表列举出MCU引脚的装备需求,针对上述4种类型,学习“地铁线路”色彩(英国人的创造)标识,如:

No.

I/O

称号

低功耗装备

效果

14

PE0

LORA_RXTX

Input floating, no external interrupt

RF输出:指示RF当时是接纳或发送状况

15

PE1

NC

Output push-pull, low level, 2MHz

 

16

PE2

LORA_RXE

Input pull-up, no external interrupt

RF接纳:RXE=1,TXE=0

17

PE3

UART2_RX

Output push-pull, low level, 2MHz

没有运用

18

PE4

UART2_TX

Output push-pull, low level, 2MHz

19

PE5

NC

Output push-pull, low level, 2MHz

 

20

PD0

LED1

Output push-pull, high level, 2MHz

外接3.3V,设置push-pull高电平节能

2.RF作业形式

关于无线通讯产品,贪婪地“吞噬”电能是射频模块(RF),咱们先看看SX1278官方声称的能耗值:

序号

1

2

3

4

形式

Sleep

Standby

Receive

Transmit

20dBm

17dBm

13dBm

7dBm

能耗

0.2 uA

1.6 mA

12 mA

120 mA

87 mA

29 mA

20 mA

实践产品中,MCU+RF的整机功耗如下呢?咱们持续看试验数据:

试验5:MCU装备一切I/O引脚为低功耗形式,经过SPI总线设置RF进入Sleep形式,MCU封闭SPI时钟和康复SPI总线引脚到低功耗形式,进入Halt。

成果:整机功耗=0.6 uA。

在《MCU低功耗设计(二)实践》中,咱们知道MCU进入Halt形式,功耗为0.4 uA;再加上RF在Sleep形式下的0.2 uA,总共0.6 uA。

试验6:MCU装备一切I/O引脚为低功耗形式,经过SPI总线设置RF进入Standby形式,MCU封闭SPI时钟和康复SPI总线引脚到低功耗形式,进入Halt。

成果:整机功耗=1.493 mA。

这个1.493 mA的功耗,便是RF在Standby形式下的功耗,由于此刻MCU功耗仅0.4 uA,简直能够疏忽了。

试验7:MCU装备一切I/O引脚为低功耗形式,经过SPI总线设置RF进入Receive形式(该形式能够持久坚持),MCU封闭SPI时钟和康复SPI总线引脚到低功耗形式,进入Halt。

成果:整机功耗=15.97 mA。

当RF处于Receive侦听形式下功耗大到近16 mA,这个数据远大于MCU全速运转的功耗(约5 mA)。

试验8:MCU装备一切I/O引脚为低功耗形式,经过SPI总线设置RF进入Transmit形式,MCU履行WFI(Waitfor Interrupt)指令节能,当发送完毕后MCU唤醒,循环发送数据帧。别离测验发送功率为:+20dBm on PA_BOOST和+7dBm on RFO_LF下的功耗值:

成果:+20dBm on PA_BOOST=123mA, +7dBm on RFO_LF =11mA

发射功率大的惊人吧,尤其是敞开功放和调整到最大功率+20dBm时,电流到达123 mA。

三、 动态低功耗

法国SigFox和俄罗斯的一些公司常常标称抄表无线产品用2节一般AA电池能够作业10年,开端听到觉得人家要么吹嘘,要么技能太高了让国人自暴自弃。人家是怎么完成的呢?咱们一起来看看。

从上面的试验得知,当无线产品处于Sleep形式下功耗仅0.6uA,Receive形式下功耗16mA,TX形式下功耗100mA(超长间隔)。任何一种无线通讯节能技能的中心是尽或许地Sleep,这样将带来极低的整机均匀功耗。

看一个实例,在大多数能耗表计的无线抄读要求:大约15分钟发送一次数据帧,约100ms;4秒内能唤醒,即每400秒需求一次5ms的接纳侦听;其他时刻都处于Sleep休眠。以15分钟(900秒)为单位,能耗如下:

发送:100ms * 100mA= 10mA.s

接纳:(900 / 4) *5ms * 16mA = 18mA.s

休眠:898s * 0.6uA= 0.54mA.s

均匀功耗:(10mA.s +18mA.s + 0.54mA.s) / 900s = 0.0317mA

设2节AA电池总电能为3000mAH,能功耗的时刻为:3000mAH / 0.0317mA = 94637H=10.8年。

从上述实例能够看出,要尽或许地延伸无线通讯产品的寿数需求以下规划准则:

l尽或许地Sleep,且Sleep下功耗尽或许地低;

l削减侦听的时刻;

l进步通讯成功率,尽或许地防止抵触重传。

完成上述规划,需求优异的网络协议栈,特别是RDC(Radio Duty Cycle)层算法要合理;而协议栈和软件运转的根底是操作体系,印证了智能产品规划“三分硬件,七分软件”的规则。

iWL881A选用了功耗强壮的物联网操作体系Contiki和Rime无线通讯协议栈,产品的动态功耗运用Contiki的energest模块来盯梢。

Contiki体系为便利盯梢节能规划了energest模块,它能盯梢组件运转时刻。它的数据结构如下图所示,energest_total_time记载组件总运转时刻,energest_current_time记载组件敞开时刻,energest_current_mode记载组件当时是否敞开,时刻的单位为rtimer_clock_t。

energest数据结构

当一个组件敞开时调用ENERGEST_ON(),当该组件封闭时调用ENERGEST_OFF()。这2个动作的时序逻辑如下图所示。

energest时序逻辑

当用户需求计算组件运转时刻,首要调用energest_flush()函数,它将一切组件的运转时刻结算到当时时刻;然后调用energest_type_time()函数,取出对应组件的运转时刻;最终能够依据组件的功率换算成耗费电能。

iWL881A运用Contiki的energest模块能够实时打印能耗盯梢信息:

CPU=5977ms, RF_TX=179ms,RF_RX=1512ms, IRQ count=30303

CPU=6023ms, RF_TX=181ms,RF_RX=1507ms, IRQ count=30304

CPU=5984ms, RF_TX=180ms,RF_RX=1497ms, IRQ count=30303

上述时刻是300秒内的计算值,它阐明:CPU大约6000 / 1000 / 300 * 100%=2%占空比,RF的发射大约180 / 1000 / 300 * 100%=0.06%的占空比,RF的接纳大约1500 / 1000 / 300 * 100%=0.5%的占空比,中止次数约30300 / 300=101次(测验体系包括100Hz的“心跳”时钟)。

四、 组网低功耗

无线产品在组网的运转中,往往会有抵触重传、睡觉唤醒、路由转发等多种通讯形式,这儿能耗的盯梢将更具挑战性,请持续重视“长沙市锐米通讯科技有限公司”的LoRa组网系列博文。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/chanpin/274473.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部