楼亮亮 金彦亮 周 苗 鲍星合 赵 康
(上海大学通信与信息工程学院1,上海 200072;中国科学院上海微系统与信息技术研究所2,上海 200050;中国科学院无线传感网与通信重点实验室3,上海 201800)
目前,关于物联网设备能量测量模型按用途分为3 类:分析模型、仿真模型、应用模型[1]。在实际应用中以应用模型为主,应用模型主要原理体现在以下两个方面。
(1)软件测量方案,如SPOT[2]和DUTTA[3],在应用程序中插入功耗测量代码并进行评估。此方案容易受硬件的计算能力和软件的效率影响,增加了开发难度,且增加的代码测试导致了不必要的功耗增加。
(2)物理接触式测量方案,通过高精度专用电流表对电路板整体功耗进行测量。此方案具有测量精度高、容易实现等优点[4],但是必须有昂贵的电流表来支撑,因此在设备方面存在一定的局限性。
本文采用物理接触式测量原理。首先分析出物联网设备电路板上的硬件组件的功耗模型;然后利用示波器测量各个硬件组件的工作电流,特别对物联网设备两个典型硬件组件、无线通信及传感器数据采样进行了详细的分析;接着采用普通电流表来测量设备在休眠模式下的电流;最后计算出整个设备的电流消耗状况,进而分析出电池中的电量所能支撑的工作时间。实验表明,该方案具有很高的实用性,并且操作简单,非常适合低功耗物联网设备的功耗测量与分析。
本文采用接触式的电流测量原理,具体原理如图1 所示。该测量模型由如下两种测量方案组成。
(1)通过示波器获取窜入电路中采样电阻上的电压,并计算出电路实际消耗电流。该采样电阻窜入电池与物联网设备电路板之间,设备工作时会在该电阻上产生一定的压降,最后根据欧姆定律即可计算出对应工作电流的大小。该方案主要利用示波器的高响应特性来测量响应速度较快的硬件组件在不同工作模式下的电流,如无线模块与传感器的瞬时工作电流。该方案适用于大电流、响应速度快的场合,但是分辨率较低,不适合微安级别的电流测量。
(2)电流表测量设备待机时消耗的电流。该方案用来测量设备在休眠模式的工作电流,精度较高,但实时性比较差,很难对无线模块和传感器的实际工作电流实现精确测量。电流表测量方案可以与示波器测量方案互补。为了对低功耗物联网设备的能耗进行测量和评估,在实际应用场合中,需要将上述两种方案结合使用。
图1 测量方案Fig.1 Measurement scheme
因为窜入的采样电阻,若采用方案(1)对低功耗物联网设备电路板进行功耗测量,会使电源到电路板之间产生一定的压降,这会导致两个方面的问题:一方面在采样电阻上产生的压降与采样电阻阻值的大小会直接影响到瞬时电流测量的精度;另一方面也因为该采样电阻上的压降,影响到设备正常工作所需的电压。这两方面的关系可以由式(1)表示。
式中:U电路板为低功耗物联网设备硬件电路系统上的供电电压;U电源为电路板供电的电源电压;U压降为采样电阻上产生的电压压降;I 为系统工作电流;R 为采样电阻的阻值。
由式(1)可知,为了保证硬件系统稳定正常的工作,必须保证U电路板的电压大于该设备硬件系统电路板上每个组件的最低工作电压。即采样电阻带来的压降对硬件系统电压影响要非常小,那么该采样电阻必须满足式(2)。
式中:Umax组件最低工作电压为硬件系统上所有组件最低工作电压中的最大值。
如果满足式(2),系统就可以认为窜入的采样电阻对系统测量方案的影响是可以忽略的。在本文的测量系统中采用了电压为3.6 V 的锂亚电池作为系统的供电电源,物联网设备电路板硬件是由MSP430、CC1101 及各类传感器等组成。查阅芯片的数据手册可知,该设备硬件电路板上的电子元器件的最低可工作电压最大值为2. 4 V,电路板最大瞬时电流约为60 mA。根据式(2)得,如果选用了10 Ω 的电阻窜入电路板与电池之间,在硬件电路板最大电流的工作模式下,输入电路板U电路板的电压可达到3 V 以上,保证了该硬件系统的正常工作。为此,本文设计的测试系统选用了一个阻值为10.62 Ω 的电阻,作为方案(1)示波器测量的采样电阻。
低功耗物联网终端设备是一种典型的嵌入式设备,一般都是由电池供电[5]。设备硬件的电路活动会直接导致电池的放电行为,不同的硬件组件在不同的工作模式下会产生不同的电流消耗,导致系统能耗的产生。
物联网终端设备包含丰富的硬件组件,如单片机、无线模块及各类传感器等。因为同一个硬件具有多种工作模式,并表现出不同的电流消耗,所以物联网低功耗设备具有复杂的功耗特性。为此,一个可靠和实用的能耗模型和测量方案,对整个物联网终端设备能耗测量和评估的精确性具有重要的作用。
设集合D={d1,d2,…,dj,…,dn}表示物联网设备所包含的n 类硬件组件,集合S={s1,s2,…,si,…,sk}表示每类组件包含的k 种工作状态,集合P = {p1,p2,…,pi,…,pk}表示组件在k 种工作状态下对应的非递增排列的k 种功耗值[6]。组件在不同功耗状态间切换会产生额外能耗成本,图2 所示为一般硬件组件在时间段t0到t7之间,组件dj的在不同工作模式下切换所产生的电流消耗,图3 表示一般硬件组件工作状态切换模型。其中,sw分别表示组件dj在各个状态切换过程中产生的能耗。
图2 硬件组件的电流消耗图Fig.2 Current consumption of the hardware components
图3 硬件组件的工作状态切换图Fig.3 Switching of the working states of thehardware components
通过图2 和图3 可以得到对应dj类硬件组件的系统功耗模型,可以用式(3)表示。
式中:Ew、Esw及Ej分别为dj硬件组件在特定工作状态、模式状态切换及一个完整工作周期的电流消耗模型;pi为组件在某一工作模式下所消耗的电流。
假设dj硬件组件工作持续的时间为ΔTj,可以得出整个系统的工作电流消耗模型如式(4)所示。
式中:Isleep为电路板休眠模式下的电流;t 为设备运行的累计时间;j 为电路上各个硬件组件的编号。
在式(4)中,硬件组件的各个工作状态切换时间非常短,并且电流消耗状况具有很大的不确定性,为了简化模型,在实际应用中可以将该参数省略。
本文测试系统的方案(1)是通过示波器测量窜入电阻器上(10.62 Ω)的电压,为了验证模型的正确性,通过示波器抓取无线模块及传感器工作时采样电阻上产生的电压波形,如图4 所示。
根据图4 的波形,可以很直观地得出无线模块在一个发送接收周期和传感器一个采样周期在不同工作模式下的电流消耗状况,即各个硬件组件在每个工作状态持续的时间及所消耗的电流,进而可以分析出无线模块与传感器工作电流消耗状况,如表1 和表2所示。
图4 在不同工作状态下的电流消耗波形Fig.4 Current consumption waveforms under different working conditions
表1 无线模块在不同工作状态下的电流消耗状况Tab.1 Current consumption status of wireless module under different working conditions
表2 传感器在不同工作状态下的电流消耗状况Tab.2 Current consumption status of sensor under different working conditions
低功耗物联网设备硬件系统在休眠模式下的待机电流非常小。由于示波器分辨率的局限性及外部噪声的干扰,采用示波器获取低功耗模式下硬件电路板上采样电阻的电压,很难得到较为精确的测量值,所以测量系统休眠模式下的待机电流,需要把系统硬件电路板上的组件全部设置成低功耗模式,如把无线模块、单片机及传感器等设置为休眠模式;接着去除窜入电池与电路板之间的采样电阻,用电流表窜入电池与电路板,测量系统在休眠模式下的电流[7]。经过多次测量求平均,本系统测量得到物联网设备在休眠模式下的电流为15 μA。
本文采用的电池容量为2 400 mAh,在计算过程中不考虑电池的效率和自放电参数。假设传感器采样周期为1 s,射频发送周期为1 min,根据式(4)可以计算出该电池可以为物联网节点提供能量的时间。
由以上条件可知,在1 min 内电路板消耗的平均功率为:
式中:Pavr为某一组件消耗的平均功率,mA·ms。进而可以得出电池所能支持设备工作的天数:
低功耗物联网设备所消耗的电流大小是由该设备的功能所决定的,如设备的无线数据包发送的频率、传感器的采样周期都对设备的功耗起到决定性的作用。为了进一步了解设备功耗与各类硬件组件的关系,给出了电池寿命与无线数据包发送的频率及传感器采样间隔周期之间的关系。从关系图可以看出,降低无线数据包的发送频率及增大传感器采样间隔周期可以大大地提升电池的寿命。
本文归纳出低功耗物联网设备硬件组件的特点,把硬件组件工作过程划分为不同的状态,分析出硬件组件模块的功耗特征并建立功耗模型,通过示波器和具有电流测量功能的万用表分别测量硬件组件每个状态的实际功耗,特别是对无线模块和传感器工作状态的功耗模型进行了细致的研究,验证了功耗模型的有效性。所提出的功耗测试模型和分析方法符合实际情况,并对物联网设备的功耗分析给出了可靠的数据,为进一步构建能耗模型奠定了数据基础,提升了低功耗设备的稳定性和可靠性。
[1] 成小良,邓志东,董志然.基于无线通信和计算特征分析的能耗模型[J].计算机研究与发展,2009(12):1985 -1993.
[2] Milenkovic A,Milenkovic M,Jovanov E,et al. An environment for runtime power monitoring of wireless sensor network platforms[C]//System Theory,2005. SSST'05. Proceedings of the Thirty-Seventh Southeastern Symposium on.IEEE,2005:406-410.
[3] Hohlt B,Doherty L,Brewer E.Flexible power scheduling for sensor networks[C]//Proceedings of the 3rd International Symposium on Information Processing in Sensor Networks.ACM,2004:205 -214.
[4] 刘红煜.工程测试中如何用示波器测量电流[J].计量与测试技术,2011,38(6):36 -37.
[5] 张帆,李文锋,宋威.无线传感器节点实时能耗监测[J].计算机工程与科学,2010(11):51 -55.
[6] 段林涛,郭兵,沈艳,等.Android 应用程序能耗分析与建模研究[J].电子科技大学学报,2014,43(2):272-277.
[7] Lajara R,Pelegrí-Sebastiá J,Solano J J P. Power consumption analysis of operating systems for wireless sensor networks[J].Sensors,2010,10(6):5809 -5826.