基于跨层设计的无线传感器网络节能方法转让专利

申请号 : CN200710049792.1

文献号 : CN100589424C

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 汪文勇向渝张骏李定

申请人 : 电子科技大学

摘要 :

本发明公开了一种基于跨层设计的无线传感器网络节能方法,无线传感器网络中的处理器MCU上设定MCU Active状态和MCU Sleep状态,模数转换器ADC上设定ADC Active状态和ADC Sleep状态,无线数据发送/接收模块WTRU上分别设定WTRU Sleep状态、WTRU Tx状态和WTRURx状态,并且根据原语设计的控制命令从监控中心发出,经过处理器MCU发出后,控制上述各个状态的转换,从而从无线传感器网络的应用层、网络层、链路层和物理层进行跨层节能优化,在不影响应用性能和功能的前提下,达到了降低节点整体能耗的效果,也大大延长了节点使用电池的寿命,使网络的生存时间大大延长。

权利要求 :

1、一种基于跨层设计的无线传感器网络节能方法,所述无线传感器 网络节点包括数据获取单元DAU、数据处理单元DPU和无线数据发送/接 收模块WTRU,其特征在于:所述数据获取单元DAU中的模数转换器ADC 设定为没有采集外部环境数据任务时的休眠ADC Sleep状态和采集外部数 据时的活跃ADC Active状态;所述数据处理单元DPU中的处理器MCU 设定为工作状态处于峰值功耗时的活跃MCU Active状态和工作状态处于 最低值功耗时的休眠MCU Sleep状态;所述无线数据发送/接收模块WTRU 设定为既不发送也不接收数据时的休眠WTRU Sleep状态、发送数据时的 发送WTRU Tx状态和接收数据时的接收WTRU Rx状态;所述无线数据 发送/接收模块WTRU或者串口UART触发外部中断,发出信号1或信号 9至处理器MCU,所述处理器MCU响应外部中断或定时自启,由MCU Sleep状态变换为MCU Active状态;MCU执行Sleep命令,处理器MCU 由MCU Active状态变换为MCU Sleep状态;处理器MCU发出PWRDN 置高命令,并发送信号7至模数转换器ADC,模数转换器ADC由ADC Sleep 状态变换为ADC Active状态;处理器MCU发出PWRDN置低命令,并发 送信号8至模数转换器ADC,模数转换器ADC由ADC Active状态变换为 ADC Sleep状态;处理器MCU发出SXOSCON&STXON命令,并发送信 号3至无线数据发送/接收模块WTRU,无线数据发送/接收模块WTRU由 WTRU Sleep状态变换为WTRU Tx状态;处理器MCU发出 SRFOFF&SXOSCOFF命令,并发送信号2至无线数据发送/接收模块 WTRU,无线数据发送/接收模块WTRU由WTRU Tx状态转换为WTRU Sleep状态;当无线数据发送/接收模块WTRU将数据发送完毕时,无线数 据发送/接收模块WTRU由WTRU Tx状态自动变换为WTRU Rx状态;处 理器MCU发出STXON或STXONCCA&CCA命令,并发出信号5至无线 数据发送/接收模块WTRU,无线数据发送/接收模块WTRU由WTRU Rx 状态变换为WTRU Tx状态;当无线数据发送/接收模块WTRU将数据发送 确认完毕或接收等待或Rx缓冲区溢出,无线数据发送/接收模块WTRU保 持WTRU Rx状态不变;处理器MCU发出SXOSCON&SRXON命令,无 线数据发送/接收模块WTRU由WTRU Rx状态变换为WTRU Sleep状态; 处理器MCU发出SRFOFF&SXOSCOFF命令,无线数据发送/接收模块 WTRU由WTRU Sleep状态变换为WTRU Rx状态;所述处理器MCU发 出的命令由监控中心发布。

2、根据权利要求1所述的基于跨层设计的无线传感器网络节能方法, 其特征在于:根据原语设计的控制命令从监控中心经Internet网络到达网 关,再通过网关串口到达sink节点,之后以无线方式从sink节点发送到无 线传感器网络内部的具体某一个节点或某一区域节点处。

3、根据权利要求1或2所述的基于跨层设计的无线传感器网络节能 方法,其特征在于:所述处理器MCU包括能量优化编译器,所述能量优 化编译器包括依次连接而成的词法分析器、剖析器、语法分析器、中间代 码生成器、优化器、代码生成器和后端优化器。

4、根据权利要求1或2所述的基于跨层设计的无线传感器网络节能 方法,其特征在于:所述无线数据发送/接收模块WTRU的发射功率是通 过分析节点的度即邻居节点数和接收到的邻居数据的RSSI值进行控制。

5、根据权利要求1或2所述的基于跨层设计的无线传感器网络节能 方法,其特征在于:所述无线数据发送/接收模块WTRU的发射功率是通 过监测ACK帧的RSSI域,并结合邻居节点数进行调整。

6、根据权利要求1所述的基于跨层设计的无线传感器网络节能方法, 其特征在于:所述无线传感器网络节点采用分簇算法CLEEC划分成簇, 所述分簇算法CLEEC中,节点根据跨层最优估计来确定节点簇首当选概 率,并从理论上计算此概率值。

7、根据权利要求6所述的基于跨层设计的无线传感器网络节能方法, 其特征在于:所述分簇算法CLEEC是分布式算法成簇,节点自主决定其 当选簇首的概率。

说明书 :

技术领域

本发明涉及无线传感器网络节能技术领域,确切地说涉及基于跨层设 计的无线传感器网络节能方法。

背景技术

通用的无线传感器网络节点主要由电源、数据获取单元DAU、数据处 理单元DPU、数据发送和接收单元DSRU四部分构成,参见图10。数据 获取单元(Data Acquisition Unit),DAU主要是由一组物理传感器和相关 送变装置组成的传感子系统,将周围环境的物理现象转换为电压或电流信 号,主要功耗来自于两类器件的工作,传感器对所监测物理量的采集和到 电信号的转换与调理,以及ADC器件的数模转换;数据处理单元(Data Processing Unit),DPU的主要功能部件包括嵌入式处理器芯片,嵌入式操 作系统和应用软件,主要负责协调节点各部分的运行,完成对通信协议和 数据的处理,DPU能耗主要来自于核心部件MCU处理器,低功耗MCU 一般都具有多种状态模式,MCU在不同模式下的功耗指标、切换开销和工 作时长的控制对节点的能耗有很大的影响;数据发送和接收单元(Data Sending and Receiving Unit),DSRU由无线通信器件和电路组成,负责执 行与其他节点或观察者之间的无线通信任务,无线通信的能耗占了节点整 体能耗的主要部分,DSRU能耗来自于射频部分以及进行频率合成和滤波 等操作的基带部分,与调制方式、数据传输速率、发射接收功率和操作周 期有密切关系。
由于无线传感器网络(Wireless Sensor Network-WSN)严苛的能量约 束条件,能量有效性始终是WSN各个层面的核心问题和最大挑战之一。 针对WSN节点各功能单元和部件的工作特性,人们提出了各种节能优化 方法和技术以降低各部分乃至整个节点的功耗,目前的研究主要从单个节 点的节能优化和整个WSN网络的节能优化角度开展研究与设计。
1、单个节点的能耗优化方法和技术包括:
(1)设计和实现低功耗硬件
主要包括低功耗MCU、射频模块或功率可管理部件PMC (Power-Manageable Component)。此类硬件除了采用降低工作电压或工作 频率等常用方法减少功率消耗外,一般还具备多种状态模式,即活跃、空 闲、休眠甚至掉电等模式。通过动态功耗管理DPM(Dynamic Power Management)技术使PMC在空闲时运行在休眠模式下以降低能耗,DPM 的核心问题是基于事件驱动的状态调整策略。通过动态电压调整DVS (Dynamic Voltage Scaling)技术使器件在活动状态下的工作电压和频率根 据计算负载的变化来动态调整,从而取得性能和能耗间的平衡。
(2)面向能耗优化的软件设计
主要是对操作系统和应用软件等进行专门的能耗优化处理。如利用操 作系统可获知所有应用程序的性能需求和直接控制底层硬件资源的能力, 根据计算和通信需求的变化情况,在操作系统中对器件进行DPM和DVS 控制,以及在任务调度中采取预测等措施进行主动能耗管理,以实现性能 和能耗控制之间的合理折衷。更基础的是建立针对能量优化的编译策略和 编译工具,如基于指令能量模型的指令重组、部件使用局部化技术,包括 处理器部件类型局部化和设置恰当的部件数量、Cache使用的局部化和设 置适当的cache行数目、内存使用的局部化、I/O使用的局部化等。
(3)低功耗无线通信技术
由于无线收发系统初始化开销大,射频和基带能耗相互关联,所以无 线通信的节能设计很复杂。一般采用的优化方法包括:根据实际需求动态 改变调制级别,降低功率放大器能耗;利用可行的多跳通信方式,减少单 跳通信距离;最小化报文的控制开销、降低冲突概率和占空比、增加休眠 时间、建立差错控制机制等以减少通信流量和模块启动次数,降低无线通 信功耗,实现能耗与灵敏度、延迟等方面的平衡。代表性的短距离低功耗 WSN无线通信协议是IEEE 802.15.4。
2、整个网络的能耗优化方法和技术包括:
(1)基于能量有效性的路由协议
在普通路由协议基础上引入新的与能了消耗有关的度量指标,设计与 实现节能路由算法和协议。常用的节能策略包括:基于地理位置的信息存 储策略、高效的数据命名和数据查询方案、、满足能量消耗和通信度量最优 化的节点聚类和数据融合设计。路由协议应平衡使用各个节点的能量消耗, 避免某些转发节点的能量消耗过快。WSN中代表性的路由协议有LEACH 协议、PEGAGIS协议等。
(2)拓扑管理与控制
利用WSN节点密度高的特点,实施拓扑管理与控制策略。选择使用 相对较少的节点完成监控任务,而没有参与的节点不发送数据。因此减少 了计算复杂度和通信开销,缓解信道争用。
(3)数据融合处理
利用WSN数据采集的冗余性特征,在选定节点将一定区域内的数据 进行融合,可以提高事件/数据监测的可靠性,并有效降低通信流量,节约 能耗。
但是一方面,上述这些方法一般只是局限在WSN单一层面上进行节 能优化的设计与实现,对节点各组成部分之间的能耗关联和相互影响考虑 不足,未能从节点整体角度考虑能耗优化。
另一方面,WSN与应用紧密相关,现有方法或技术不能很好的根据应 用的实际需求和特性来设计与部署有效的节能策略。由于应用的特殊性, WSN通常部署于人类难以接近的区域执行长期连续的监测和控制任务,网 络的生存时间要求长达数月或数年。而WSN节点一般采用容量有限的电 池供电,对数量巨大的节点更换电池非常困难甚至是不可能的。因此在不 影响功能的前提下,如何降低节点能耗,延长电池使用寿命成为WSN软 硬件设计的核心问题。
公开号为CN101013987,公开日为2007年8月8日的中国专利文献 公开了一种高效的无线传感器网络拓扑控制方法,该方法将拓扑控制中的 分簇方法与功率控制方法结合在一起,具体分为以下步骤:1).将网络分簇, 选举簇头节点:2).构建簇内网络:3).对簇头节点进行功率控制,形成最终 网络拓扑:4).簇头失效后,重新构建网络拓扑:主要用于解决传感器网络 中拓扑控制问题,将目前比较主流的两类拓扑控制方法进行有机结合形成 的新的方法。该发明提出的方法不仅在尽可能达到最大性能优化的基础上 还考虑了尽可能降低对网络环境和传感器节点的物理要求,提高了方法的 实用性,并且方法中留有的参数可以随着应用的改变灵活配置。
但是,其仍然局限于对WSN单一层面上进行节能优化,对节点各组 成部分之间的能耗关联和相互影响考虑不足,未能从节点整体角度考虑能 耗优化;在具体应用中,在不影响功能的前提下,电池寿命仍然得不到延 长。

发明内容

为解决上述技术问题,本发明提出了一种从无线传感器网络节点的应 用层、网络层、链路层和物理层进行跨层能耗优化的节能方法。本发明从 节点各组成部分之间的能耗关联和相互影响方面的各层进行节能优化,在 不影响应用性能和功能的前提下,达到了降低节点整体能耗的效果。
本发明采用的技术方案如下:
一种基于跨层设计的无线传感器网络节能方法,所述无线传感器网络 节点包括数据获取单元DAU、数据处理单元DPU和无线数据发送/接收模 块WTRU,其特征在于:所述数据获取单元DAU中的模数转换器ADC设 定为没有采集外部环境数据任务时的休眠ADC Sleep状态和采集外部数据 时的活跃ADC Active状态;所述数据处理单元DPU中的处理器MCU设 定为工作状态处于峰值功耗时的活跃MCU Active状态和工作状态处于最 低值功耗时的休眠MCU Sleep状态;所述无线数据发送/接收模块WTRU 设定为既不发送也不接收数据时的休眠WTRU Sleep状态、发送数据时的 发送WTRU Tx状态和接收数据时的接收WTRU Rx状态;所述无线数据 发送/接收模块WTRU或者串口UART触发外部中断,发出信号1或信号 9至处理器MCU,所述处理器MCU响应外部中断或定时自启,由MCU Sleep状态变换为MCU Active状态;MCU执行Sleep命令,处理器MCU 由MCU Active状态变换为MCU Sleep状态;处理器MCU发出PWRDN 置高命令,并发送信号7至模数转换器ADC,模数转换器ADC由ADC Sleep 状态变换为ADC Active状态;处理器MCU发出PWRDN置低命令,并发 送信号8至模数转换器ADC,模数转换器ADC由ADC Active状态变换为 ADC Sleep状态;处理器MCU发出SXOSCON&STXON命令,并发送信 号3至无线数据发送/接收模块WTRU,无线数据发送/接收模块WTRU由 WTRU Sleep状态变换为WTRU Tx状态;处理器MCU发出 SRFOFF&SXOSCOFF命令,并发送信号2至无线数据发送/接收模块 WTRU,无线数据发送/接收模块WTRU由WTRU Tx状态转换为WTRU Sleep状态;当无线数据发送/接收模块WTRU将数据发送完毕或Tx缓冲 区数据量低时,无线数据发送/接收模块WTRU由WTRU Tx状态自动变换 为WTRU Rx状态;处理器MCU发出STXON或STXONCCA&CCA命令, 并发出信号5至无线数据发送/接收模块WTRU,无线数据发送/接收模块 WTRU由WTRU Rx状态变换为WTRU Tx状态;当无线数据发送/接收模 块WTRU将数据发送确认完毕或接收等待或Rx缓冲区溢出,无线数据发 送/接收模块WTRU保持WTRU Rx状态不变;处理器MCU发出 SXOSCON&SRXON命令,无线数据发送/接收模块WTRU由WTRU Rx状 态变换为WTRU Sleep状态;处理器MCU发出SRFOFF&SXOSCOFF命令, 无线数据发送/接收模块WTRU由WTRU Sleep状态变换为WTRU Rx状 态;所述处理器MCU发出的命令由监控中心发布,上述MCU控制命令基 于chipcon cc2420。
根据原语设计的控制命令从监控中心经Internet网络到达网关,再通 过网关串口到达sink节点,之后以无线方式从sink节点发送到无线传感器 网络内部的具体某一个节点或某一区域节点处。
所述处理器MCU包括能量优化编译器,所述能量优化编译器包括依 次连接而成的词法分析器、剖析器、语法分析器、中间代码生成器、优化 器、代码生成器和后端优化器。
所述无线数据发送/接收模块WTRU的发射功率是通过分析节点的度 即邻居节点数和接收到的邻居数据的RSSI值进行控制。
所述无线数据发送/接收模块WTRU的发射功率是通过监测ACK帧的 RSSI域,并结合邻居节点数进行调整。
所述无线传感器网络节点采用分簇算法CLEEC划分成簇,所述分簇 算法CLEEC中,节点根据跨层最优估计来确定节点簇首当选概率,并从 理论上计算此概率值。
所述分簇算法CLEEC是分布式算法成簇,节点自主决定其当选簇首 的概率。
本发明的优点在于:
1、由于本发明采用在无线传感器网络中的处理器MCU上设定MCU Active状态和MCU Sleep状态,模数转换器ADC上设定ADC Active状态 和ADC Sleep状态,无线数据发送/接收模块WTRU上分别设定WTRU Sleep状态、WTRU Tx状态和WTRU Rx状态,并且根据原语设计的控制 命令从监控中心发出,经过处理器MCU发出后,控制上述各个状态的转 换,从而从无线传感器网络的应用层、网络层、链路层和物理层进行跨层 节能优化,在不影响应用性能和功能的前提下,达到了降低节点整体能耗 的效果,也大大延长了节点使用电池的寿命,使网络的生存时间大大延长。
2、由于本发明采用的处理器MCU包括能量优化编译器,能量优化编 译器包括依次连接而成的词法分析器、剖析器、语法分析器、中间代码生 成器、优化器、代码生成器和后端优化器。进一步达到了对处理器MCU 节能的效果。
3、由于无线数据发送/接收模块WTRU的发射功率是通过分析节点的 度即邻居节点数和接收到的邻居数据的RSSI值进行控制,是通过监测 ACK帧的RSSI域,并结合邻居节点数进行调整。明显降低了MAC的冲 突率,提高了MAC层的能效,对于网络层而言,以较小的发射功率保证 了网络的连通性,对于MAC而言则在保证节点有一定数量邻居节点的前 提下,尽量减少了冲突域,从而使冲突的概率尽可能的减小。
4、由于无线传感器网络节点采用分簇算法CLEEC划分成簇,且分簇 算法CLEEC是分布式算法成簇,从而使能量消耗均摊在各个传感器之间, 采用这种方式不会存在有因能量消耗过快而很快死亡的节点,从而延长了 整个无线传感器网络的生命周期。

附图说明

图1为无线传感器网络节点工作状态转换图
图2为能量优化编译器结构框图
图3为无线数据发送/接收模块WTRU发射功率控制对拓扑结构影 响下功率过低时的示意图
图4为无线数据发送/接收模块WTRU发射功率控制对拓扑结构影 响下功率适当时的示意图
图5为无线数据发送/接收模块WTRU发射功率控制对拓扑结构影 响下功率过高时的示意图
图6为无线数据发送/接收模块WTRU发射功率算法流程框图
图7为分簇算法CLEEC中网络运行时期节点存活数目示意图
图8为分簇算法CLEEC中不同网络规模下最后一个节点死亡时网络 运行时间示意图
图9为无线传感器网络管理控制拓扑图
图10为现有的无线传感器网络节点结构示意图

具体实施方式

实施例1
一种基于跨层设计的无线传感器网络节能方法,所述无线传感器网络 节点包括数据获取单元DAU、数据处理单元DPU和无线数据发送/接收模 块WTRU,所述数据获取单元DAU中的模数转换器ADC设定为没有采集 外部环境数据任务时的休眠ADC Sleep状态和采集外部数据时的活跃ADC Active状态;所述数据处理单元DPU中的处理器MCU设定为工作状态处 于峰值功耗时的活跃MCU Active状态和工作状态处于最低值功耗时的休 眠MCU Sleep状态;所述无线数据发送/接收模块WTRU设定为既不发送 也不接收数据时的休眠WTRU Sleep状态、发送数据时的发送WTRU Tx 状态和接收数据时的接收WTRU Rx状态;所述无线数据发送/接收模块 WTRU或者串口UART触发外部中断,发出信号1或信号9至处理器MCU, 所述处理器MCU响应外部中断或定时自启,由MCU Sleep状态变换为 MCU Active状态;MCU执行Sleep命令,处理器MCU由MCU Active状 态变换为MCU Sleep状态;处理器MCU发出PWRDN置高命令,并发送 信号7至模数转换器ADC,模数转换器ADC由ADC Sleep状态变换为ADC Active状态;处理器MCU发出PWRDN置低命令,并发送信号8至模数 转换器ADC,模数转换器ADC由ADC Active状态变换为ADC Sleep状态; 处理器MCU发出SXOSCON&STXON命令,符号&在这里表示和的意思, 下同,并发送信号3至无线数据发送/接收模块WTRU,无线数据发送/接 收模块WTRU由WTRU Sleep状态变换为WTRU Tx状态;处理器MCU 发出SRFOFF&SXOSCOFF命令,并发送信号2至无线数据发送/接收模块 WTRU,无线数据发送/接收模块WTRU由WTRU Tx状态转换为WTRU Sleep状态;当无线数据发送/接收模块WTRU将数据发送完毕或Tx缓冲 区数据量低时,无线数据发送/接收模块WTRU由WTRU Tx状态自动变换 为WTRU Rx状态;处理器MCU发出STXON或STXONCCA&CCA命令, 并发出信号5至无线数据发送/接收模块WTRU,无线数据发送/接收模块 WTRU由WTRU Rx状态变换为WTRU Tx状态;当无线数据发送/接收模 块WTRU将数据发送确认完毕或接收等待或Rx缓冲区溢出,无线数据发 送/接收模块WTRU保持WTRU Rx状态不变;处理器MCU发出 SXOSCON&SRXON命令,无线数据发送/接收模块WTRU由WTRU Rx状 态变换为WTRU Sleep状态;处理器MCU发出SRFOFF&SXOSCOFF命令, 无线数据发送/接收模块WTRU由WTRU Sleep状态变换为WTRU Rx状 态;所述处理器MCU发出的命令由监控中心发布。上述MCU控制命令基 于chipcon cc2420。监控中心是数据最终汇集处理的地点,控制决策也在 此作出。根据原语设计的控制命令从监控中心经Internet网络到达网关, 再通过网关串口到达sink节点,之后以无线方式从sink节点发送到无线传 感器网络内部的具体某一个节点或某一区域节点处。所述原语是基于本领 域普通技术人员所知晓的原语。所述处理器MCU包括能量优化编译器, 所述能量优化编译器包括依次连接而成的词法分析器、剖析器、语法分析 器、中间代码生成器、优化器、代码生成器和后端优化器。所述无线数据 发送/接收模块WTRU的发射功率是通过分析节点的度即邻居节点数和接 收到的邻居数据的RSSI值进行控制。所述无线数据发送/接收模块WTRU 的发射功率是通过监测ACK帧的RSSI域,并结合邻居节点数进行调整。 所述无线传感器网络节点采用分簇算法CLEEC划分成簇,所述分簇算法 CLEEC中,节点根据跨层最优估计来确定节点簇首当选概率,并从理论上 计算此概率值。所述分簇算法CLEEC是分布式算法成簇,节点自主决定 其当选簇首的概率。
实施例2
1、图1是基于无线传感器网络节点TaraxNode工作状态转换图。
图中:信号1-9如下表所示:

图中:变换1-11如下表所示:
  序号   外部信号   变换   变换1   信号1或9   定时自启或响应外部中断   变换2   执行Sleep命令   变换3   信号7   执行MCU控制命令-MCU根据应用决定采样时间或主动查询,PWRDN置高   变换4   信号8   执行MCU控制命令-采样数据传输完毕关闭ADC,PWRDN置低   变换5   信号3   执行MCU控制命令SXOSCON&STXON   变换6   信号2   执行MCU命令控制SRFOFF&SXOSCOFF   变换7   自动转换-发送完毕或Tx缓冲区数据量低   变换8   信号5   执行MCU控制命令STXON或(STXONCCA&CCA(信道无冲突))   变换9   自动转换-发送确认完毕或接收等待或Rx缓冲区溢出   变换10   信号4   响应MCU控制命令SXOSCON&SRXON   变换11   信号6   MCU命令控制SRFOFF&SXOSCOFF
我们把无线传感器网络节点主板上的主要能耗部件分为处理器MCU、 模数转换器ADC和无线数据发送/接收模块WTRU。其中,我们设计:
MCU有两种状态,活跃MCU Active状态和休眠MCU Sleep状态。处 于MCU Active状态时,MCU的功耗为工作状态时的峰值功耗,处于MCU Sleep状态时,MCU功耗非常低。MCU休眠将导致整个系统处于休眠状态, 可以通过定时器或者外部中断触发方式唤醒。
ADC也有两种状态,活跃ADC Active状态和休眠ADC Sleep状态。 在没有采集外部环境数据任务的时候,处于ADC Sleep状态,没有能耗。 当预定采集数据定时器或者外部控制命令触发中断时唤醒并工作。
WTRU有三种工作状态,休眠WTRU Sleep状态、发送WTRU Tx状 态和接收WTRU Rx状态。在WTRU Sleep状态时,既不能发送也不能接 收数据;在发送WTRU Tx状态时,如果信道空闲,则发送数据,否则启 动MAC层回退机制等待发送;在接收WTRU Rx状态时,不断监听信道, 若有广播信息或者发给本节点的信息则进入接收状态。三种状态的功耗均 不同。可以通过MCU控制WTRU状态转换或者自动进行状态转换。
无线传感器网络的工作状态转换,既可以根据状态转换条件自动切 换,也可以也可以监控中心发布相关命令的方式集中控制单个节点或者区 域节点群的工作状态。
根据原语设计的控制命令从监控中心经Internet网络到达网关,再通 过网关串口到达sink节点,之后以无线方式从sink节点发送到无线传感器 网络内部的具体某一个节点或某一区域节点处。无线传感器网络管理控制 拓扑图参见图7。
(1)命令的设计
设计的控制命令有:
  命令号   命令语句   意义   1   SAMPLE   即时采样新数据   2   QUERY   查询节点内保存的旧数   据   3   UPDATE   升级节点软件或配置   4   MCU_ON   使MCU处于工作状态   5   MCU_OFF   使MCU处于休眠状态   6   AD_ON   使AD处于工作状态   7   AD_OFF   使AD处于休眠状态   8   RF_RX   使RF处于接收状态   9   RF_TX   使RF处于发送状态   10   RF_OFF   使RF处于休眠状态
实际应用中,可以根据需要对表1中的命令进行组合。例如,需要使 节点进入完全休眠状态,可以将MCU_OFF、AD_OFF、RF_OFF三个命令组合 成一个NODE_SLEEP命令。监控中心发送命令,如:
sample 2001:da8:6000:2::1:3
即是要求ipv6地址为2001:da8:6000:2::1:3的节点立即执行一次采样。
(假定用IPv6给节点编址)
(2)命令帧格式
命令帧存放在802.15.4的data域中,其具体格式定义如下:
  名称   类型   说明   FMy_hop   Uint8_t   最高两bit表示帧类型,如果是命令帧,用   11表示,后面这6个bit未使用   FN_Flag   Uint8_t   表示路径的长度,包括sink节点和目的节点   在内,一共有多少个节点。(最大是10)   FMy_ID   Uint16_t   目的节点(把目的节点放在最前面)   FN1_ID   Uint16_t   Sink节点的ID.   FN2_ID   Uint16_t   Sink节点到目的节点的下一跳节点   ……..   FNx_ID   Uint16_t   以此路径(最大10,x最大是9,留出2byte   给命令)   ……   如果路径长度小于10,那么这些项就让它空   着   FN10_ID   Uint16_t   命令号。(如果有必要,可以分成两个8bits   的数据)   不管路径长度多少,命令号都固定在最后两   个字节。如果长度比较短,就让前面空着。
2、能量优化编译器
(1)能量优化编译器的结构如图2所示:
能量优化编译器主要由此法分析器、剖析器、语法分析器、中间代码 生成器、优化器、代码生成器、后端优化器等组成。其中优化器是重点。
(2)有效的低功耗编译优化策略
重组指令技术
建立指令能量模型
在编译器后端设计中,充分考虑软件级的能耗优化。通过建立指令能 量模型,增加指令选择对能耗优化的支持,利用“减少跳转的指令重排序” 等方法重组代码正确选择指令,以及建立特定处理器架构下指令集的功耗 信息,有效的软件低功率优化,降低处理器的功耗。
单条指令的能量模型如下:
E p = Σ i ( B i * N i ) + Σ i , j ( O i , j * N i , j ) + Σ k E k - - - ( 1 )
其中对于每条指令i,Bi代表基本消耗,Ni为指令执行周期数;对于 指令对(i,j),Oi,j为电路消耗。Ek代表其他指令的影响,状态k(取值停 止和缓存丢失)可能在程序运行中发生。
此外,考虑相关指令复合在一起所带来的修正值。
部件使用局部化技术
通过研究能量有效性尺度,采用部件使用局部化技术实现编译器的进 一步能量优化。
应用的能量时间权衡尺度:
Etx = Σ l ( E comp c l + E switch c l ) t x = Σ l ( Σ k t k c l P x k c l c l + Σ k E x l c l x k + l c l c l ) t x - - - ( 2 )
其中,x(>0)的取值越大,对时间(性能)越重视.Etx应用尺度体现了用 最少的能量和时间来完成任务。k为切换次数,l为功能部件数,c为部件,tk 某个时间段,tk+l下一个时间段,功耗等级切换造成了程序执行时间延长。 提前进行切换可以减小或消除这次切换的时间开销。
I.处理器部件类型局部化和设置恰当的部件数量(减小k和l)
处理器中存在多种类型的处理部件,程序运行期间,可能使用不同类型 的部件.如果在执行指令期间,把使用同种类型部件的指令尽量集中在一起, 就可以更有效地使用节能策略。
除了集中对部件的使用,还需要设置程序运行需要的恰当的部件数目. 在程序运行期间,各种部件类型使用的数目是不同的,并不是总处于供需的 平衡状态.我们要使用有效的方法平衡程序需求和部件数量。我们可以采取 一定措施在程序运行期间关闭部分部件。
II.Cache使用的局部化和设置适当的cache行数目(减小l)
Cache是处理器中能量消耗比例很高的部分,cache使用的优化对优化 系统能量消耗十分重要,需要对cache的使用进行局部化.这不单纯是根据 cache的大小进行一些数据的局部性优化,而是假定在执行期间程序应当使 用尽量小的cache行数目,然后将剩余的cache行关闭。这与传统的基于 cache的局部性优化存在差别。
一些原来的基于循环的优化方法需要一定的修改才能得到更有效的 优化效果。
设置好cache的使用数目,还要考虑cache行适时关闭和激活的策略, 必须有恰当的cache管理方式才能减少引入的时间和能量开销。
III.内存使用的局部化(减小l)
内存的功耗占系统功耗的很大比例.内存系统能量的优化在很大程度 上依赖于程序使用的局部性,使用软件策略优化程序的内存布局,降低存储 器的活动。
IV.I/O使用的局部化(减小k)
对数据输入输出依赖很强的程序可以考虑进行I/O使用的局部化.I/O 局部化的可能方式是采用缓存方法,将大量小规模的I/O集中起来,这延长 了两组I/O的时间,然后可能使用更积极有效的I/O节能策略.但是,这也可能 造成内存需求的增加,必须考虑整体的能量消耗,确定能量的最大收益。
V.多任务多设备的调度(减小k)
对于运行在多任务环境、存在多种设备的系统,如何使用节能技术?任 务的调度需要考虑对部件的使用情况,将集中使用某些部件的任务同时调 度,这一般不会影响系统的吞吐量,并可以采取一些更有效的节能技术。
3、无线数据发送/接收模块WTRU的发射功率
功率控制的一般方法是通过对发送数据时使用的功率进行调整,在保 证接收端正常接收的情况下尽量使用较小的功率发送数据。通过采用功率 控制机制,还能够让密集分布的传感器节点在保证一定服务质量的前提下 以较小的干扰共享无线信道,通过空分复用允许多个节点同时发送数据, 降低节点的无谓的空闲侦听能量消耗,延长电池的平均寿命进而降低整个 网络的能量消耗。
功率控制对网络拓扑结构也会产生影响。如果以提高系统的能量效率 为目的,就是要维持全网络的最小连通性,也就是在节点分布特定的情况 下,如何以最小的发射功率确保整个网络的连通性(单向或双向连通)。从 图3中可以看出发射功率太小会导致网络不能连通,若干个节点会形成彼 此无法到达的“孤岛”,从而使得网络性能受到严重影响;发射功率很大可 以保证网络的连通性,但却造成了能量的浪费,而且降低了频谱的空间复 用度,加剧了MAC层的竞争冲突;图3(b)显示了系统能量效率和网络 连通性的折衷方案,以较小的发射功率确保整个网络的连通,即保障最小 连通性。
减少数据包的竞争冲突是提高MAC层能量效率的主要手段之一。这 是因为当两个节点传送的数据包发生冲突时,两个数据包被损坏,此时节 点消耗在发送和接收数据上的能量被浪费掉了。而功率控制可以降低MAC 的冲突率,提高MAC层的能效。而对于网络层而言,功率控制是以较小 的发射功率保证网络的连通性,而对于MAC层而言则是在保证节点有一 定数量邻居节点的前提下,尽量减小冲突域,从而使冲突的概率尽可能小。
基于以上对功率控制技术的分析,并结合无线收发模块的特征,设计 一种通过分析节点的度(邻居节点数)和接收到的邻居数据的RSSI值来 控制节点的发射功率。通过监测ACK帧的RSSI域,并结合邻居节点数来 调整无线收发模块的发送功率。
算法流程如图4。算法中提到的公式如下所示。其中Bmax,Bmin, Ainc和Adec是四个可调参数,他们会影响功率调节的精度和范围。
TransPower=max(PowerLevel,TransPower)                                   (3)
TransPower=min(Bmax×TransPower,                                        (4)
               (1+Ainc×(NodeMinThresh-Node Re sp))×TransPower,MaxPower)
TransPower=min(PowerLevel,TransPower)                                   (5)
TransPower=max(Bmin×TransPower,                                    (6)
            (1+Adec×(NodeRe sp-NodeMinThresh))×TransPower,MinPower)
TransPower=PowerLevel                                                (7)
根据无线收发模块的硬件特点,设定最大有效发射功率对应的 MaxPower,最小有效发射功率对应的MinPower。
根据研究,在距离一定,无其他干扰的情况下,发送端的PowerLevel 与接收端的RSSI呈线性关系。算法中,Bmax,Bmin,Ainc和Adec是四 个可调参数,他们会影响功率调节的精度和范围。下面描述了一种参数确 定的方案。
Bmax与Bmin的确定:
Bmax=31/初始TransPower                                     (8)
Bmin=3/初始TransPower                                      (9)
其中31为MaxPower,3为MinPower
Ainc和Adec的确定:
Ainc跟预先假定设定的最小回应的邻居数NodeMinResp(可以为0, 一般根据网络密度来具体确定合适的值)相关;Adec跟预先设定最大回应 的邻居数NodeMaxResp(根据网络密度来具体确定合适的值)相关。
Ainc=(Bmax-1)/(NodeMinThresh-NodeMin Re sp)                (10)
Adec=(1-Bmin)/(NodeMaxRe sp-NodeMaxThresh)                 (11)
4、无线传感器网络节点采用分簇算法CLEEC
将传感器节点划分成簇在减少能量消耗方面是非常有效的,在分簇结 构的基础上,已有许多能量有效的路由协议被提出。
我们所研究的节点能量可补充的异构无线传感器网络中的分簇算法, 提出并估计了一种新的跨层能量有效的分簇算法CLEEC,在CLEEC中, 节点根据跨层最优估计来确定节点簇首当选概率,并从理论上计算此概率 值。并且CLEEC是一种分布式的算法而非集中式的。因为非常适用子无 线传感器网络。
CLEEC采用一种分布式的算法来成簇,其中节点自主决定其当选簇首 的概率而非任何集中控制。我们的目标就是尽力将能量消耗均摊在各个传 感器之间,采用这种方法就不会存在有因能量消耗过快而很快死亡的节点, 从而延长了网络的生命周期。
在每轮最开始时,每一个传感器节点以概率Pi选取自己为簇首,在我 们的工作中,传感器节点是异构的,拥有不同的初始能量。作为簇首节点 应当比非簇首节点含有更多的能量,这就要求每一个节点有着不同的概率 成为簇首来保证整个网络中所有的节点几乎同时死亡。
接下来,我们理论上的计算节点当选为簇首的概率。假定传感器节点 i当选为簇首的概率为Pi而成为非簇首的概率为1-Pi,并且用ECHi来表 示节点i作为一个簇首在一轮里消耗的能量,而用Enon-CHi来表示一个节 点作为非簇首在一轮中消耗的能量。节点i在每轮中消耗的平均能量为:
P l E CH i + ( 1 - P l ) E non - CH i = E 0 i R - - - ( 12 )
其中E0i是节点的初始能量,R是网络生命周期一共的轮数。
令ECH表示每轮中簇首消耗的平均能量,用Enon-CH来表示每轮非 簇首节点的平均能量消耗,通过计算(12)的数学期望值,我们得到:
P i E CH + ( 1 - P i ) E non - CH = E 0 i R - - - ( 13 )
P i ( E CH - E non - CH ) = E 0 i R - E non - CH - - - ( 14 )
P i = E 0 i R - E non - CH ( E CH - E non - CH ) - - - ( 15 )
从(15)中,我们可以看到,拥有高初始能量的传感器节点具有更高 成为簇首的概率,这就使得拥有高能力的节点消耗更多的能量来保证网络 中所有的节点几乎同时死亡。
整个网络每轮消耗的能量可计算为:
E round = k ( E CH + ( N k - 1 ) E non - CH )
= l ( ( 2 N - k ) E elec + NE DA + k ϵ mp d toBS 4 + ( N - k ) ϵ fs d toCH 2 )
l ( 2 NE elec + DE DA + k ϵ mp d toBS 4 + N ϵ fs d toCH 2 ) - - - ( 16 )
仿真证明,CLEEC算法在延长网络生命期方面比当前重要的分簇算法 表现更优。