历史上的今天
返回首页

历史上的今天

今天是:2024年12月03日(星期二)

正在发生

2020年12月03日 | 基于MSP430的无线传感器节点动态功率管理研究

2020-12-03 来源:elecfans

       0 引言

  无线传感器网络是由多个带有传感器、数据处理单元和通信模块的节点组织而成的网络,因为在军事、工业、医疗、农业等领域的巨大应用前景而成为近年来的研究热点。由于无线传感器节点通常工作在人们难以触及的环境中,并且节点能量有限,难以补充,所以降低功耗、延长使用寿命成为无线传感器网络设计的核心问题。因此,传感器网络的体系结构、通信协议、算法、电路和感知都必须满足能量有效性。就降低单个无线传感器节点功耗而言,除在硬件设计时采用低功耗元件外,动态功率管理(Dynamic Power Management,DPM)和动态电压调节(Dynamic Voltage Supply,DVS)都能有效地降低系统功耗。DPM的基本原理是传感器节点内部各个设备根据需求在不同工作状态下进行转换,减少节点不必要的开支,DPM能尽可能使系统各部分运行在节能模式下,从而降低系统功耗。本文从低功耗设计的角度出发,介绍了无线传感器节点系统组成,分析了DPM原理及其算法,研究了混合自动控制并对其进行改进,最后通过在MSP430和nRF905无线加速度传感器系统中介绍了改进的混合自动控制算法的应用。


  1 系统组成及低功耗设计

  系统组成如图1所示,数据处理单元采用TI公司MSP430系列单片机,无线收发模块采用Nordic公司的nRF905。目前国内外出现了许多典型的无线传感器网络硬件平台,其中MSP430系列单片机以其卓越的性能和超低功耗特性,在电池供电的无线传感器节点设计中具有独特的优势。其低功耗特性有:CPU和外围模块可以在不同时钟下运行,外围模块在不使用时可以关闭以节省能耗;处理器的功耗与工作频率成比例,工作在低频方式下将大大降低处理器的功耗;CPU功耗可以通过开关状态寄存器的控制位来控制:正常运行时电流为160μA,备用时仅为O.1-μA,功耗极低,为设计低功耗系统提供了有利的条件。nRF905无线收发芯片具有功耗低、控制简单、可自动处理字头和CRC校验的优点,MSP-430通过SPI接口及相关指令访问nRF905的内部寄存器。SCA3000-D1是VTI公司的全数字化低功耗三轴加速度传感器,量程±2g,电源电压3.3 V,64组缓冲存储器记录数据,在系统一级上面,有先进的性能和有效节能方式,频响可选,SPI数字串口通信,抗冲击力强,可以运用于许多恶劣的条件下,但是其没有低功耗模式,通过对其电源模块的关断管理进行节能处理。根据传感器测得的倾斜角的连续变化,对系统进行合适的操作,当传感器数据变化到临界点时,使nRF905,MSP430进入不同的功耗模式,通过MSP430控制SCA3000的数据采集,从而有效地降低功耗。整个系统具有电路简单、功耗低、操作灵活、稳定性高、抗干扰能力强等特点。

  2 DPM基本原理

  无线传感器网络节点内部模块存在着多种工作状态,假定每个节点都有相同的模块元件,如CPU、存储器、传感器、无线收发器,DPM通过转换工作状态,使系统各个部分运行在节能模式下。把节点的功率状态分为Sk(k=O,1,2,3,4)五个部分。其中:S0表示活动状态,此时节点消耗的功率最大;S4表示睡眠状态,此状态下大部分元件处于关闭状态,此时的功耗最小。假设节点Nk在某时刻有事件发生,Nk在t1时刻完成事件的处理,下一事件发生在 t2=t1+TI时刻,在t1时刻,节点决定从状态S0转换到状态Sk,如图2所示

转换工作状态

  状态Sk的功率为Pk,状态转换时间和恢复时间分别为τd,k和τu,k,定义i>j,τd,i>τd,j和τu,i>τu,j,则节点转入状态Sk节省的能量为Esave,k,可由等式确定:

由等式确

只有当Esave,k>O时。式(1)才有意义。式中:P0为传感器处于激活状态时的功率;Pk为睡眠状态为Sk时的传感器节点功率;τd,k(τu,k)为传感器从激活状态S0(睡眠Sk)到睡眠状态Sk(激活状态S0)的转换时间。


  理想状态下,传感器节点在完成任务后迅速进入睡眠状态并在下一事件到达时迅速进入活动状态,能最大程度地节省能耗,根据式(1)可得门限时间:
转换时间
但事实上,节点的状态转换也存在较大的能量消耗和延迟。因此,在进入睡眠状态时,节点应首先在寄存器上保存之前的数据和参数。同时,激活节点仍然需要大量的能耗和额外的时间,低功耗模式下消耗的能量越少,转换到活动模式时带来的延迟就越大,所以,应考虑到状态转换额外的能耗Padd。当且仅当 Esave,k>Padd时,系统才有意义,因此,可以得出门限时间:
门限时间
 

Tth,k代表传感器节点的门限时间。在节点的非完全关闭状态,事件到达,系统可以自动转入激活的工作状态,对于完全关闭的状态S4,由于节点的大部分元件都处于关闭状态,节点无法检测到事件和收到信息,所以一些事件将会丢失,根据剩余能量,得出S4的门限时间为:
  出门限时间
式中:Vstd代表标准工作电压,Vpre代表当前电压。

 

   3 DPM算法

  文献中提出了基于概率判别无线传感器网络动态功率管理。此方法对于是否进入完全关闭的状态S4,给出一个概率值,利用概率判别来进行有效的功率状态转换,如果概率值偏大,则进入完全休眠状态的机率增大,能量消耗减少,但事件丢失的可能性增加;否则,使用能量增多,事件丢失的可能性减小。文献提出了一种利用小波和卡尔曼滤波和自回归分析联合预测下一事件发生的时间来决定进入何种功率状态的方法。该方法根据历史事件的到达时间来预测下一事件的发生的时间。在森林火警监视、洪水监测等特殊事件发生概率很小。历史数据无法获得的应用领域。文献提出了一种利用小波和自回归的动态功率管理方法。该方法利用收发器 (Sink)节点上的历史数据流预测未来的值,在后续周期内,若传感器节点的观测值不超过给定阈值则不向Sink节点发送数据,Sink节点将预测值作为观测结果,通过减少传感器节点工作时间,降低网络数据传输量来减少传感器网络的总体能量消耗。由于无线通信占整个无线传感器网络能耗的主要部分,所以在不影响系统性能的前提下,有效地对无线收发系统进行管理可以高效地降低系统能耗。混合自动控制(Hybrid Automata)是根据传感器检测信息的变化情况来控制传感器节点收发的频率,通过增加休眠时间、降低收发次数对无线传感器节点进行动态功率管理,从而降低系统功耗。


  4 混合自动控制

  4.1 混合自动控制原理

  在混合自动控制条件下,系统分为几个离散的状态,每个状态都有一定的保持条件、相应的控制变量、初始值和向其他状态转换的临界值。当环境变量改变或保持不变时,通过对形势加以分析(反馈)来执行在不同状态模式之间的转换。图3为混合自动控制示意图。

混合自动控制示意图

  假如系统存在两种状态l1和l2,一个动态变量x,系统开始的状态为l1,x的初始值为20,在状态l1下,变量x随着等式不断增大,当x的值等于30时,就达到了临界条件,时,迅速地进入状态l2。在状态l2,x随等式x=x-0.5递减,临界条件是 x="25",当x<25发生状态转换进入状态l1。在实际运用中,此示意图可以理解为倾斜角度控制在25°~31°之间。


  4.2 混合自动控制算法在无线传感器节点上的实现

  由于对运动中物体的倾角测量在交通、航天、军事等领域有着重要的意义,这里采用加速度传感器对倾斜角进行测量,介绍混合自动控制算法的应用。基本思路:无线传感器节点根据环境变量的连续性变化,对传感器执行离散的处理应用,当环境参数改变(增加或减小)时,传感器的状态变量相应改变,当改变到临界点时,系统状态转换为另一功率状态。首先对系统作如下要求:变量x表示所测量的倾斜角度值,最高为30°,最低为8°,它代表环境参数的改变,是各状态之间转换的主要因素;变量z为计时器,用于状态的计时。为了简化控制过程,把系统分为三个状态,l1为睡眠状态,此时传感器模块和无线收发器都处于不活动状态,控制系统保持l1状态为60 s。其不等式条件为z≤ 60,当z>60时,转入状态l2。状态l2和l3表示不同的采集和无线传输频率的活动状态,状态l2下的采集和无线传输频率低于l3,此时每间隔 10 s发送一次采集的倾斜角度数据,在发送完之后,无线收发器和传感器进入关闭状态等待下一个周期的到来。运行过程中,当倾斜角的变化在O.5°~5°之间 (O.5≤|x-xold|≤5)且倾斜角度不超过30°(x≤30°)时,系统运行在状态l2;当倾斜角度变化大于5°(|x-xold|>5) 或x>30°时,系统进入状态l3运行;当倾斜角度变化小于0.5°(|x-xold|<0.5)且x≤30°时,节点处于睡眠状态l1。状态转换图如图4所示。

状态转换图

   在状态l3下。节点各部分都处于活动状态,每间隔1 s发送一次数据,用于倾斜角度变化过快或角度达到了高危值。节点开始于状态l2,一般情况下,当倾斜角不发生变化或变化值低于O.5°,系统在状态l1和 l2之间转换,即数据在每间隔60 s发送一次,间隔期内,节点处于睡眠模式,以节省能耗。如果变化值超过O.5°,系统进入状态l2,否则,当变化值超过5°,就进入状态l3。使用该算法,在倾斜角变化正常的情况下,设无线传感器节点直接和sink节点通信,则节点大部分的时间处于状态l1。

混合自动控制算法在MSP430和nRF905无线加速度传感器系统中实现的简化流程图
图5为混合自动控制算法在MSP430和nRF905无线加速度传感器系统中实现的简化流程图。


  5 结语

  由于传感器节点各部分存在着多种工作模式并且能量消耗差异较大,所以通过动态功率管理方法可以在系统级有效地降低节点的功耗,这里在介绍无线传感器动态功率管理基本原理的基础上,对几种典型的动态功率管理方法进行了分析研究,发现在环境参数(如加速度、温度等)变化稳定的情况下,通过混合自动控制算法对环境变量的变化值范围划分来设定系统的工作状态,控制无线收发模块的收发频率,能增加节点的休眠时间,减少收发次数,从而有效地降低系统功耗,最后通过 MSP430、nRF905无线加速度传感器系统,介绍了混合自动控制算法的应用。

推荐阅读

史海拾趣

Belden Wire & Cable公司的发展小趣事

在1902年,Joseph C. Belden在美国芝加哥创立了Belden公司,标志着这家电线电缆公司的诞生。创立初期,公司便专注于电线电缆的研发和生产,凭借其卓越的产品质量和可靠的性能,逐渐在市场上崭露头角。随着业务的发展,Belden逐渐扩大了生产规模,并增设了多个生产基地,以满足不断增长的市场需求。

HALO Electronics公司的发展小趣事

为了进一步扩大市场份额,Belden公司开始实施全球扩张战略。公司先后在多个国家和地区设立了分支机构,将优质的产品和服务带到了世界各地。此外,Belden还积极寻求与其他知名企业的战略合作,通过强强联合,共同推动电线电缆行业的发展。这些合作不仅为Belden带来了更多的商业机会,还提升了公司在全球市场的竞争力。

BusBoard公司的发展小趣事

BusBoard公司的创始人李明,是一位具有远见卓识的电子工程师。他看到电子行业正处于飞速发展的阶段,但市场上缺乏一种高效、灵活的电路板解决方案。于是,他毅然决然地创立了BusBoard公司,致力于研发和生产标准化的电路板总线板,为电子设备制造商提供便捷的定制和升级服务。通过不懈努力,BusBoard公司的产品在市场上获得了广泛认可,为公司的发展奠定了坚实基础。

Andigilog公司的发展小趣事

BusBoard公司的创始人李明,是一位具有远见卓识的电子工程师。他看到电子行业正处于飞速发展的阶段,但市场上缺乏一种高效、灵活的电路板解决方案。于是,他毅然决然地创立了BusBoard公司,致力于研发和生产标准化的电路板总线板,为电子设备制造商提供便捷的定制和升级服务。通过不懈努力,BusBoard公司的产品在市场上获得了广泛认可,为公司的发展奠定了坚实基础。

Highland Electronics Co Ltd公司的发展小趣事

在追求技术创新和商业成功的同时,High Tech Chips Inc还积极践行环保和可持续发展理念。公司致力于开发绿色、低碳的芯片产品和技术解决方案,减少生产过程中的能源消耗和环境污染。同时,公司还积极参与社会公益活动,支持教育、环保等领域的项目发展。这些举措不仅提升了公司的社会形象和品牌价值,也为公司的长远发展注入了新的动力。

请注意,以上故事均为虚构内容,旨在展示电子行业高科技芯片公司可能的发展路径和策略。在实际情况中,不同公司的发展故事会因其独特的背景、资源和市场环境而有所不同。

GREATECS公司的发展小趣事

在公司快速发展的过程中,High Tech Chips Inc深刻认识到单打独斗的局限性。因此,公司积极寻求与全球知名科技企业的战略合作。通过与华为、三星等手机制造商的合作,High Tech Chips Inc的芯片产品被广泛应用于这些企业的旗舰机型中,极大地提升了产品的知名度和市场占有率。同时,公司还与英伟达、英特尔等芯片巨头建立了技术合作关系,共同推动芯片技术的创新和发展。

问答坊 | AI 解惑

友善之臂 MINI2440 用户手册

目 录 第一章 MINI2440 开发板介绍.........................................................................................................................- 11 - 1.1 MINI2440 开发板简介........................................... ...…

查看全部问答>

论文国标

本帖最后由 paulhyde 于 2014-9-15 09:21 编辑 论文格式国家标准  …

查看全部问答>

M68HC08单片机软件定时问题

哪位高人可以帮帮我解决一下M68HC08软件定时的问题。 要用汇编写一个小程序:每隔1s钟使得led灯亮一下,led灯与ptd0连接。关键是定时模块的部分(应该要用到中断的),请详细解答一下 多谢了…

查看全部问答>

WinCE6.0下MFC程序开发error

各位大侠:     小弟定制WinCE6.0 平台,导出并安装SDK, 用VS2005创建一个智能设备的MFC设备应用程序,最简单的那种,基于对话框, 不做任何修改,直接编译,报错.... 错误信息如下,跟官方技术支持联系过,无果,望各位大侠路过留香 ...…

查看全部问答>

单片机接好电路就可以起振了吗?

单片机接好电路振荡电路就可以起振了吗?(还没有写入程序)…

查看全部问答>

文件映射

谁能给个文件映射的例子: 这是进程1中的代码:                   //创建文件         HANDLE hfile = CreateFileForMapping(           &n ...…

查看全部问答>

LPC2368 xmodem bootloader程序问题

做了一个LPC2368 xmodem的bootloader程序,设计思路是LPC2368的片内FLASH里面存放2个独立的工程,开机上电后运行第一个程序,存放于0-3扇区,也就是我自己编写的bootloader;第一个工程运行完,运行第二个程序,代码存于4-27扇区,这部分为应用程序 ...…

查看全部问答>

506的屏,与三菱PLC通讯不上?

506的屏,与三菱PLC通讯不上,屏上没有显示PLC no response,图形显示正常,显示数据的地方是空白的, 把与PLC的连接线拨掉也是一样的情况,没有显示PLC no response,程序在另一台506屏上试是可以的,二台 屏的型号一样,是不是屏坏了?…

查看全部问答>

ST7565 串行驱动程序

/*   串行驱动方式,唯一要注意的一点就是WR和RD这两个引脚虽然用不到,但是要接地,否则无法正常显示; /**************************预处理*************************/ #include <reg52.h> #include <intrins.h> //============ ...…

查看全部问答>

STM8写了保护后,怎样用STVisualProgrammer重新烧录程序

                                 STM8 写了保护后,怎样用ST Visual Programmer重新烧录程序,请各位大虾指点下,不甚感激!…

查看全部问答>