一种无线传感器节点及其节点级 / 网络级节能算法 技术领域 本发明涉及一种通信节能策略及对应电路的设计, 具体涉及一种无线传感器节点 及其节点级 / 网络级节能算法。
背景技术
目前, 无线传感器网络已经广泛应用于生产生活的诸多方面, 其微型化、 智能化和 集成化的特点使无线传感技术在环境监测中得到了极大的应用, 包括工业生产、 农业生产 以及自然环境的监测。然而, 当网络越来越大, 我们需要监测的周期越来越长, 这项技术的 发展遇到了瓶颈——能量消耗。目前投入应用的无线传感器网络中, 为了保证通信的可靠 性, 无线传感节点总是以最大发射功率发送数据, 这就导致距离数据收集点较近的节点造 成了能量的浪费 ( 节点级能量浪费 ), 并且整个网络的组网通信方式在组网完成后都是不 能改变的, 这也导致在网络发生变化时, 组网通信方式并不能动态地适应这种变化 ( 网络 级能量浪费 )。目前并没有一种策略能够解决这两种能量浪费问题。发明内容 针对现有技术存在的不足, 本发明目的是提供一种在网络发生变化时, 组网通信 方式能够动态适应的无线传感器节点及其节点级 / 网络级节能算法, 降低了网络级能量消 耗, 同时降低了节点级能量消耗。
为了实现上述目的, 本发明是通过如下的技术方案来实现 :
本发明的无线传感器节点包括控制器及其程序下载电路和与控制器及其程序下 载电路对应接口相连接的无线收发器模块、 供电电路、 与上位机连接的接口电路及温度传 感器 ; 无线收发器模块包括射频收发芯片, 射频收发芯片中设有一个用于存储接收信号功 率的 RSSI 寄存器和一个用于写入发射信号功率的 PATABEL 寄存器。
本发明的节点级节能算法, 是通过无线传感器节点的发射功率自适应来实现的, 其算法具体包括以下几个步骤 :
(1) 中心监控单元以最大发射功率 PTmax 向无线传感器节点发送数据 ;
(2) 检测无线传感器节点接收到的接收信号功率 PR(SHK) ;
(3) 在保证可靠通信的基础上, 无线传感器节点的最小必要发射功率 PT,
其中, PS 表示接收机灵敏度, 当接收机选定时, 该量为一个常量 ;
(4) 将无线传感器节点的接收信号功率 PR(SHK) 取对数的十倍, 然后转化为一个二进 制的 RSSI(received signal strength indicator- 接收信号强度指示 ), 则根据公式 (1), 以二进制表示的最小必要发射功率为
PATABEL = 10·lgPS+10·lgPTmax-RSSI (2)。
本发明的网络级节能算法, 是通过在集中式路由方式和分簇式路由方式之间切换
来实现的, 而切换的依据是网络整体的能量消耗, 其算法具体包括以下几个步骤 :
步骤 (1) : 中心监控单元 CMU 以最大发射功率 PTmax 向无线传感器节点 node i 发送 测试码 Test Code 1, 然后中心监控单元 CMU 进入等待接收状态, 转向步骤 (2) ;
步骤 (2) : 当无线传感器节点 node i 接收到 Test Code 1 后, 无线传感器节点 node i 从射频收发芯片的 RSSI 寄存器中读取 RSSI 值, 并将 RSSI 值发送给中心监控单元 CMU, 然 后利用公式 (2) 计算 PATABELi, 转向步骤 (3) ;
步骤 (3) : 中心监控单元 CMU 接收到来自无线传感器节点 node i 的 RSSI 值之后, 利用公式 (2) 和公式 (3) 估算最小必要发射功率 PT(S1)i, 并存储 PT(S1)i,
其中, 用 s1 表示在集中式路由方式下, 转向步骤 (4) ;
步骤 (4) : 对网络中的每个无线传感器节点重复步骤 (1) 到步骤 (3), 直到每个无 线传感器节点均被访问, 然后转向步骤 (5) ;
步骤 (5) : 中心监控单元 CMU 利用公式 (4) 计算整个网络在集中式路由方式下的 能耗 PT1 ;
其中, M 表示网络中总的无线传感器节点数目, 转向步骤 (6) ;
步骤 (6) : 中心监控单元 CMU 以最大发射功率 PTmax 向作为簇头的无线传感器节点 Cluster head m 发送测试码 Test Code 2, 然后中心监控单元 CMU 进入等待接收状态, 转向 步骤 (7) ;
步骤 (7) : 作为簇头的无线传感器节点 Cluster head m 接收到 TestCode 2 之后, 读取 RSSI 寄存器的 RSSI 值, 并存储 RSSI 值, 转向步骤 (8) ;
步骤 (8) : 作为簇头的无线传感器节点 Cluster head m 以最大发射功率 PTmax 向该 簇内不作为簇头的无线传感器节点 Cluster node n 发送测试码 Test Code 3, 然后作为簇 头的无线传感器节点 Cluster head m 进入等待接收状态, 转向步骤 (9) ;
步骤 (9) : 不作为簇头的无线传感器节点 Cluster node n 接收到 Test Code 3 之 后, 读取 RSSI 寄存器的 RSSI 值, 并将 RSSI 值发送给作为簇头的无线传感器节点 Cluster head m, 然后利用公式 (2) 计算 PATABELmn, 转向步骤 (10) ;
步骤 (10) : 作为簇头的无线传感器节点 Cluster head m 在接收到 RSSI 值之后, 存储 RSSI 值, 转向步骤 (11) ;
步骤 (11) : 对簇内的每个不作为簇头的无线传感器节点重复步骤 (8) 到步骤 (10), 直到簇内的每个不作为簇头的无线传感器节点均被访问 ;
然后作为簇头的无线传感器节点 Cluster head m 将这些 RSSI 值发送给中心监控 单元 CMU ;
中心监控单元 CMU 接收到这些 RSSI 值之后, 利用公式 (2) 和公式 (5) 估算最小必 要发射功率 PT(S2)mn, 并存储 PT(S2)mn,
其中, 用 s2 表示在分簇式路由方式下, 然后转向步骤 (12) ; 步骤 (12) : 重复步骤 (6) 到步骤 (11), 直到每个簇均被访问到, 转向步骤 (13) ; 步骤 (13) : 然后中心监控单元 CMU 利用公式 (6) 计算分簇式路由方式下的网络耗能 PT2 ;
其中, O 表示网络中所有簇的数目, P 表示每个簇中无线传感器节点数目, 转向步 骤 (14) ;
步骤 (14) : 中心监控单元 CMU 比较网络耗能 PT1 和 PT2, 如果 PT1 > PT2, 则中心监控 单元 CMU 广播测试码 Test Code 4, 转向步骤 (15) ;
如果 PT1 < PT2, 则中心监控单元 CMU 广播测试码 Test Code 5, 转向步骤 (16) ;
步骤 (15) : Test Code 4 通知各个无线传感器节点以分簇式路由方式组网, 各个 无线传感器节点接收到 Test Code 4 之后设定 PATABELi 为发射信号功率, 并将中心监控单 元 CMU 的地址作为目标地址, 结束 ;
步骤 (16) : Test Code 5 通知各个无线传感器节点以集中式路由方式组网, 各个 作为簇头的无线传感器节点接收到 Test Code 5 之后设定 PATABELmn 为发射信号功率, 并 将中心监控单元 CMU 的地址作为目标地址, 各个不作为簇头的无线传感器节点接收到 Test Code 5 之后设定 PATABELmn 为发射信号功率, 并设定对应的作为簇头的无线传感器节点地 址作为目标地址, 结束。
本发明的有益效果如下 :
(1) 本发明能够使无线传感器网络中的传感节点, 通过检测来自数据收集节点信 号的接收功率估计最小必要发射功率, 实现节点发射功率的自适应, 完成节点级节能 ;
(2) 本发明能够通过比较当前网络下, 两种不同路由通信方式的能耗, 从而切换到 能耗较低的路由通信方式, 实现路由通信方式的自适应切换, 完成网络级节能 ;
(3) 本发明所提出的节能策略, 同时解决两个能量浪费问题 ( 节点级能量浪费和 网络级能量浪费 ), 从两个方面降低无线传感器网络的能量消耗, 有效延长节点的工作时 间。
附图说明
图 1 为本发明的无线传感器节点电路图 ; 图 2 为网络级节能的集中式路由方式结构示意图 ; 图 3 为网络级节能的分簇式路由方式结构示意图 ; 图 4 为中心监控单元 CMU 运行网络级节能算法的软件流程图 ; 图 5 为无线传感器节点运行网络级节能算法的软件流程图。具体实施方式
为使本发明实现的技术手段、 创作特征、 达成目的与功效易于明白了解, 下面结合 具体实施方式, 进一步阐述本发明。
参加图 1, 无线传感器节点包括 MCU 控制器及其程序下载电路、 RF1101 无线收发器模块、 锂电池电源稳压电路、 RS232 接口电路、 DS18B20 数字式温度传感器。
其中, MCU 控制器选用 C8051F320 微处理器芯片, RF1101 无线收发器模块采用 TI 公司的 Chipcon CC1101 射频收发芯片, MCU 控制器通过 SPI 接口与 RF1101 无线收发器模 块相连, 在 Chipcon CC1101 射频收发芯片中, 无线传感器节点的接收信号功率 PR 被转化为 一个二进制量 RSSI(received signal strength indicator- 接收信号强度指示 ) 表示, 存 储在 RSSI 寄存器中, 而且, 在 Chipcon CC1101 射频收发芯片中还有一个 PATABEL 寄存器, 用来写入值以确定芯片的发射功率。
无线传感器节点通过锂电池电源稳压电路供电 ; 无线传感器节点通过 RS232 接口 电路与上位机进行通信, 在 RS232 接口电路中, MAX232 芯片的 R1OUT 和 T1IN 管脚分别与 MCU 控制器的 RXD 和 TXD 管脚相连 ; MCU 控制器通过 DS18B20 数字式温度传感器电路感知环境 温度, 收集环境温度数据, MCU 控制器的 P2.3 管脚与 DS18B20 的 DQ 管脚相连。
MCU 控制器通过 SPI 接口与 RF1101 无线收发器模块通讯, C8051F320 的 P0.0、 P0.1、 P0.2、 P0.3、 P0.6、 P0.7 管脚分别与 RF1101 无线收发器模块的 SCLK、 SO、 SI、 CSN、 GDO2、 GDO0 相连, C8051F320 通过模拟 SPI 的方式控制 RF1101 无线收发器模块。
节点级节能算法是通过无线传感器节点的发射功率自适应来实现的, 其算法具体 包括以下几个步骤 :
(1) 中心监控单元以最大发射功率 PTmax 向无线传感器节点发送数据 ; (2) 检测无线传感器节点接收到的接收信号功率 PR(SHK)(SHK-handshaking, 握手信 (3) 在保证可靠通信的基础上, 无线传感器节点的最小必要发射功率 PT,号);
其中, PS 表示接收机灵敏度 ( 接收机可以分辨的最小信号功率 ), 当接收机选定 时, 该量为一个常量 ;
(4) 将无线传感器节点的接收信号功率 PR(SHK) 取对数的十倍, 然后转化为一个二进 制的 RSSI(received signal strength indicator- 接收信号强度指示 ), 则根据公式 (1), 以二进制表示的最小必要发射功率为
PATABEL = 10·lgPS+10·lgPTmax-RSSI (2)。
以 PATABEL( 公式 (2) 等号右边 ) 作为一个变量来表示 PATABEL 寄存器值, 公式 (2) 是对公式 (1) 等号两边取对数得到的, 其中, PATABEL 对应 10· lgPT, RSSI 对应 10· lgPR(SHK)。
网络级节能算法是通过在集中式路由方式和分簇式路由方式之间切换来实现的, 这两种路由通信方式示意图参加图 2 和图 3。
集中式路由方式 : 各个无线传感器节点收集到的数据直接发送到中心监控单元 CMU(central monitoring unit), 而不需要经过一系列路由转发 ; 集中式路由方式为现有 技术, 此处不再赘述。
分簇式路由方式 : 在这种方式中, 无线传感器节点将被分割成不同的组, 称之为 簇。每个无线传感器节点首先将收集到的数据发送给簇头, 然后经过簇头转发给中心监控 单元 CMU。分簇式路由方式为现有技术, 此处不再赘述。
这两种路由通信方式将在组网过程中被选择, 网络级的节能正是通过这两种路由
通信方式的自适应切换来实现的, 而切换的依据是网络整体的能量消耗。
图 4 给出了中心监控单元 CMU 的软件流程图, 主要完成了能量相关信息的收集、 网 络能耗的计算以及网络路由方式的自动切换。图 5 则给出了传感节点 ( 包括簇头和非簇头 节点 ) 的软件流程图, 主要完成最小必要发射功率的计算和组网结构方式切换。
本发明的网络级节能算法是通过在集中式路由方式和分簇式路由方式之间切换 来实现的, 而切换的依据是网络整体的能量消耗, 其算法具体包括以下几个步骤 :
步骤 (1) : 中心监控单元 CMU 以最大发射功率 PTmax 向无线传感器节点 node i 发送 测试码 Test Code 1, 然后中心监控单元 CMU 进入等待接收状态, 转向步骤 (2) ;
步骤 (2) : 当无线传感器节点 node i 接收到 Test Code 1 后, 无线传感器节点 node i 从 Chipcon CC1101 射频收发芯片的 RSSI 寄存器中读取 RSSI 值, 并将 RSSI 值发送给中 心监控单元 CMU, 然后中心监控单元 CMU 利用公式 (2) 计算 PATABELi, 转向步骤 (3) ; Test Code 1 用以通知各个无线传感器节点向中心监控单元 CMU 回发 RSSI 值及计算 PATABELi ;
步骤 (3) : 中心监控单元 CMU 接收到来自无线传感器节点 node i 的 RSSI 值之后, 利用公式 (2) 和公式 (3) 估算最小必要发射功率 PT(S1)i, 并存储 PT(S1)i,
其中, 用 s1 表示在集中式路由方式下, 1 ≤ i ≤ M, 转向步骤 (4) ;
步骤 (4) : 对网络中的每个无线传感器节点重复步骤 (1) 到步骤 (3), 直到每个无 线传感器节点均被访问, 然后转向步骤 (5) ;
步骤 (5) : 中心监控单元 CMU 利用公式 (4) 计算整个网络在集中式路由方式下的 能耗 PT1 ;
其中, M 表示网络中总的无线传感器节点数目, 转向步骤 (6) ;
步骤 (6) : 中心监控单元 CMU 以最大发射功率 PTmax 向作为簇头的无线传感器节点 Cluster head m 发送测试码 Test Code 2, 然后中心监控单元 CMU 进入等待接收状态, 转向 步骤 (7) ;
步骤 (7) : 作为簇头的无线传感器节点 Cluster head m 接收到 TestCode 2 之后, 读取 RSSI 寄存器的 RSSI 值, 并存储 RSSI 值, 转向步骤 (8) ;
步骤 (8) : 作为簇头的无线传感器节点 Cluster head m 以最大发射功率 PTmax 向该 簇内不作为簇头的无线传感器节点 Cluster node n 发送测试码 Test Code 3, 然后作为簇 头的无线传感器节点 Cluster head m 进入等待接收状态, 转向步骤 (9) ;
步骤 (9) : 不作为簇头的无线传感器节点 Cluster node n 接收到 TestCode 3 之 后, 读取 RSSI 寄存器的 RSSI 值, 并将 RSSI 值发送给作为簇头的无线传感器节点 Cluster head m, 然后利用公式 (2) 计算 PATABELmn, 转向步骤 (10) ; 其中 1 ≤ m ≤ O, 1 ≤ n ≤ P, Test Code 2 用以通知各个作为簇头的无线传感器节点向簇内各个不作为簇头的无线传感器节 点发送 Test Code 3 ; Test Code 3 用以通知簇内各个不作为簇头的无线传感器节点向作为 簇头的无线传感器节点回发 RSSI 值及计算 PATABELmn。
步骤 (10) : 作为簇头的无线传感器节点 Cluster head m 在接收到 RSSI 值之后, 存储 RSSI 值, 转向步骤 (11) ;
步骤 (11) : 对簇内的每个不作为簇头的无线传感器节点重复步骤 (8) 到步骤 (10), 直到簇内的每个不作为簇头的无线传感器节点均被访问 ;
然后作为簇头的无线传感器节点 Cluster head m 将这些 RSSI 值发送给中心监控 单元 CMU ;
中心监控单元 CMU 接收到这些 RSSI 值之后, 利用公式 (2) 和公式 (5) 估算最小必 要发射功率 PT(S2)mn, 并存储 PT(S2)mn,
其中, 用 s2 表示在分簇式路由方式下, 然后转向步骤 (12) ; 步骤 (12) : 重复步骤 (6) 到步骤 (11), 直到每个簇均被访问到, 转向步骤 (13) ; 步骤 (13) : 然后中心监控单元 CMU 利用公式 (6) 计算分簇式路由方式下的网络耗能 PT2 ;
其中, O 表示网络中所有簇的数目, P 表示每个簇中无线传感器节点数目, 转向步 骤 (14) ;
步骤 (14) : 中心监控单元 CMU 比较网络耗能 PT1 和 PT2, 如果 PT1 > PT2, 则中心监控 单元 CMU 广播测试码 Test Code 4, 转向步骤 (15) ;
如果 PT1 < PT2, 则中心监控单元 CMU 广播测试码 Test Code 5, 转向步骤 (16) ;
步骤 (15) : Test Code 4 通知各个无线传感器节点以分簇式路由方式组网, 各个 无线传感器节点接收到 Test Code 4 之后设定 PATABELi 为发射信号功率, 并将中心监控单 元 CMU 的地址作为目标地址, 结束 ;
步骤 (16) : Test Code 5 通知各个无线传感器节点以集中式路由方式组网, 各个 作为簇头的无线传感器节点接收到 Test Code 5 之后设定 PATABELmn 为发射信号功率, 并 将中心监控单元 CMU 的地址作为目标地址, 各个不作为簇头的无线传感器节点接收到 Test Code 5 之后设定 PATABELmn 为发射信号功率, 并设定对应的作为簇头的无线传感器节点地 址作为目标地址, 结束。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。 本行业的技术 人员应该了解, 本发明不受上述实施例的限制, 上述实施例和说明书中描述的只是说明本 发明的原理, 在不脱离本发明精神和范围的前提下, 本发明还会有各种变化和改进, 这些变 化和改进都落入要求保护的本发明范围内。 本发明要求保护范围由所附的权利要求书及其 等效物界定。