低功耗,是万物互联中极为重要的一个概念,绝大多数的物联网节点都需要使用电池供电,而只有正确测量无线模块的功耗,才能准确估算到底5年续航需要使用多大的电池,本文将为您讲解详细的测量方法。
在物联网的很多应用中,终端设备通常是电池供电,可用的电量有限。由于电池存在自放电,最差情况下实际使用电量只有标称电量的70%左右,如常用的CR2032纽扣电池,一节电池标称容量为200mAh,实际可能只有140mAh可以使用。
既然电池的电量如此有限,那么降低产品功耗就显得很重要了!下面就先了解下常用的测量功耗的手段,只有清楚了这些测量功耗的方法,才能进行产品功耗优化。
一、功耗测量
无线模块的功耗测试主要在测量电流,这里又分为静态电流与动态电流两种不同的测试。在模块处于休眠或者待机状态时,由于电流不变化,保持一个静止的数值,我们称之为静态电流。这时候我们可以采用传统的万用表来进行测量,只需要在电源引脚串联一个万用表就可以得到所需要测量的数值,如图1所示。
图1万用表测试
在测量模块正常工作模式的发射电流时,由于信号发射所需要的时间很短,整个电流是处于变化状态,我们称之为动态电流。万用表响应时间比较慢,很难捕捉到变化的电流,所以不能使用万用表测量,对于变化电流,需要使用示波器和电流探头进行测量,测量结果如下图2。
图2电流探头测量结果图
二、电池使用时长计算
无线模块常有两种工作模式,工作模式和休眠模式,如下图3所示。
图3平均电流
上文数据来源于我司LM400TU产品,按照上图所示,两个发送包之间的发送间隔为1000ms,计算平均电流:
也就是说,1秒内平均电流大约为2.4mA,如果使用一节CR2032供电,理想情况下可以大约使用83个小时,约3.5天。如果我们将工作时长延长为1个小时呢?类似的,可以通过上面的公式算出,1小时的平均电流仅为1.67uA。同样一节CR2032电池可以支持设备工作119760小时,约13年!从上述这两个例子比较看出,增加发送包之间的时间间隔,延长休眠时间,可以降低整机的功耗,使得设备能够更长久的工作。这也是为什么无线抄表行业的产品普遍使用年限很长,因为它们每天只发送一次数据。
三、常见功耗问题与原因
为了保证产品的低功耗,除了增加包间隔时间,还有就是降低产品本身的电流消耗,也就是上面提及到的Iwork和ISleep。正常情况下,这两个数值应该跟芯片数据手册一致,但如果用户使用不当,有可能出现问题。我们在测试模块的发射电流时,发现是否安装天线对测试结果有很大影响。在带天线测量的时候,某产品电流为120mA,但是如果拧掉天线,测试电流飙升到近150mA。这种情况下的功耗异常主要是由模块射频端失配,引起内部pA工作异常导致的。因此,我们建议客户在评估无线模块的时候,务必带载测试。
在前面的计算中,当发送间隔越来越长,工作电流占空比降越来越小,这时影响整机功耗的最大的因素就是ISleep。ISleep越小,产品续航时间也就越长了。这个数值一般都是与芯片数据手册接近,但是我们经常遇到客户反馈测试的休眠电流偏大,那是为什么呢?
这个问题往往是由MCU的配置引起的,一般的MCU单个IO口功耗就能达到mA级别。换句话说,如果不小心漏掉或者错配一个IO口的状态,很有可能就将破坏前期的低功耗设计。下面以某产品为例进行一个小实验,看看这个问题影响有多大。
图4产品A的低功耗IO配置测试结果
图5产品A的IO配置不当测试结果
在图4和图5的测试过程中,测试对象是同一个产品,同样配置为模块休眠模式,可以很明显看到测试结果的不同。在图4中,所有IO都配置为输入下拉或者上拉,测试出来的电流仅为4.9uA,而图5中,仅仅把其中两个IO配置为浮空输入,测试结果为86.1uA。
如果保持图3的工作电流和时长不变,发送间隔为1个小时,带入不同的休眠电流计算。按照图4的结果计算,一个小时的平均电流为5.57uA,而按照图5则为86.77uA,相差约16倍。同样使用一节200mAh的CR2032电池供电,产品按照图4的配置,可以正常工作时间约为4年,而按照图5配置,这个结果仅为3个月左右!
从上文实例可以看出,要尽可能延长无线模块的使用时长需遵循以下设计原则:
1、在满足客户应用需求的条件下,尽可能的延长发送包间隔,降低工作周期内的工作电流;
2、一定要正确的配置MCU的IO状态,不同厂家的MCU可能有不同配置,详细参考官方的资料。
LM400TU是ZLG致远电子研发设计的一款低功耗LoRa核心模块,模块采用源自特种通信系统的LoRa调制技术设计,结合独有的频谱扩宽处理技术,完美解决了小数据量在复杂环境中的超远距离通信问题。LoRa组网透传模块内嵌自组网透明传输协议,支持用户一键自组网,并且提供专用抄表协议、CLAA协议以及LoRaWAN协议,用户无需在协议上花费大量时间,即可直接开发应用。
图6LoRa核心模块