网络体系
无线传感网络的网络体系是网络层实现路由的基础,包括节点组成及网络拓扑结构。
路灯传感网络节点的组成
路灯网络由间隔均匀的若干盏路灯组成,每一盏LED路灯均为网络的一个通信节点,用来构建无线传感网络。图1所示,为构建无线传感网络LED路灯节点的组成,除了照明部分的电路外,还附加了对LED电流的采样、LED发光亮度的检测、以及对LED发光亮度的PWM控制等电路。每一盏LED路灯既是传感器节点也是网络路由节点;每一个节点包含一个微控制器(MCU,如cc2530),都具有射频通信功能,既能发送信号也能接收信号;每一个节点具有32bit(位)的唯一ID号。通过在物理层和MAC层采用IEEE 802.15.4协议标准,结合网络层与应用层的协议,所有这些节点有机地组合在一起,便构成了LED路灯无线传感网络。由于现有的一些网络层与应用层协议如Zigbee、RF4CE等并不是很适合LED路灯传感网络应用,因此,需要重新设计网络层与应用层协议。
网络拓扑
根据LED路灯的分布规律,每盏LED路灯作为网络节点构成无线通信网络,其拓扑结构如图2所示,(a)是信号逐点(单跳)接力传送拓扑结构图,(b)是信号隔点(双跳)接力传送拓扑结构图。为便于下文网络应用协议的设计与讨论,作出如下定义:
(1)所有节点可分为2类,即LED路灯节点(简称LED节点,如a1 a2 … an , b1 b2 … bn)和路灯控制器节点(简称控制节点,如a,b);
(2)相邻节点之间的距离均为L,每个节点的无线信号覆盖半径大于等于2L;
(3)根据节点的相对位置,节点可分为前驱节点与后继节点,离控制器近的是前趋节点,离控制器远的是后继节点。例如a1是a2前驱节点,a3是a2后继节点;同理b2是b4前驱节点,b6是b4后继节点,以此类推。
(4)控制节点与LED节点之间,LED节点相互之间,只要无线信号可以覆盖到,都可以相互通信,不需要设基站或专门的路由协调装置。
(5)每个节点的32bit唯一ID号由两部分组成,分别为网络ID和节点地址(编号),均为16bit。同一路灯网络所有节点的网络ID相同;从控制节点开始,节点地址由小到大顺序编排。
网络协议
路灯传感网络协议包括协议包的定义与路由协议的定义,其设计目标是简单、实用,易实现。
网络协议包格式
路灯传感网络协议传输的信息包共有3种类型,分别为命令包、参数包以及应答确认包。
(1)命令包
图3(a)所示,为控制器节点对LED路灯节点下发的命令包格式。命令有三种类型:针对整个网络所有LED节点的广播命令、针对部分LED节点的群组命令以及针对单个LED节点的单点命令。
命令包各字段定义如下:
包类型:为1;
目的地址:为指定LED节点的地址;
包序列号:为向指定节点发送的包编号;
接力模式:为1时,表示单跳模式;为2时,表示双跳模式偶链;为3时,表示双跳模式奇链;
命令字段的定义方法见表1,表1只列出了部分命令,实际中可以根据需要增加命令;
表1 命令包命令字段定义
命令参数字段:用来表示调光的亮度,数值越小LED发光亮度越低,耗电越少,数值为 0时表示关灯;
跳数:命令传送到目的地址所需经过的节点数,最大值为路灯网络所有LED节点的数量。传送命令包时,每经转发一次则跳数减1,当跳数值为0时,命令包不再被转发。
(2)参数包
图3(b)所示,为LED路灯网络节点上传的参数包格式。控制节点可采用定时轮询或即时查询方式获取网络内各LED节点的状态参数,如电流值、发光亮度值等,各LED节点只有在接到读取参数的命令后才会向控制节点发送参数包。参数包各字段定义如下:
包类型:为2;
源地址:为上传参数LED节点的地址;
包序列号:为上传参数LED节点发出的参数包编号;
接力模式:由于只有在节点收到读取状态参数命令后才会发送参数包,因此,参数包的接力模式由命令包的接力模式确定;
状态标志:为0,表示对应LED节点无故障;为1,表示对应节点有故障;为2,表示对应节点及后继节点有故障;
状态参数1-3:为LED节点的有关参数,如电流值、电压值以及LED的发光亮度值等。(3)应答确认包
图3(c)所示,为应答确认包格式。为了实现可靠传输,每个节点在收到命令包或参数包后需要发送应答确认信息包。如果信息包的发送(转发)方在设定的时间内没有收到应答确认包,则会启动对该信息包的重新发送。应答确认包各字段的数值定义如下:
包类型:为3;
节点地址:发出确认应答包节点的地址。
确认类型:收到信息包的包类型;
确认号:为节点收到信息包的包序列号;
网络路由协议
路灯传感网络路由协议的核心是各节点对信息包的转发机制。由于每一个节点的信号覆盖范围有限,其信息只能向邻近的节点发送,如要将信息送往远处节点则只能依赖中间节点的多次转发。根据前述1.2定义的条件,节点转发信息包可以分为三种模式,即单跳接力模式,双跳接力模式和变跳接力模式,各LED节点将根据信息包中接力模式字段的定义进行选择。
单跳接力模式
图2(a)所示,为单跳接力模式的拓扑结构图。它是一个比较简单的转发模式,要求每个节点无线信号覆盖的半径范围大于节点间距L即可,信息包只需往邻近的前驱节点或后继节点转发。在这种模式下,节点处理收到信息包的方法如下:
①节点接收一个命令包(如图3(a))后,向前驱节点发送接收确认应答包;将命令包中的跳数减1;比较节点自身地址(NA)与命令包中目标地址的大小,相等则执行包中的命令且无须转发命令包,不等则向后继节点转发该包;如果是广播命令(目标地址值为0xffff),既在本节点执行该命令同时也向后继节点转发该命令包。转发时的路由地址为:NA+1。当命令包传送到网络中的最后一个LED节点时,跳数减1后将为0,包将不再被转发。
②节点接收到参数包(如图3(b))后,只需向后继节点发送接收确认包和向前驱节点转发,转发参数包的路由地址为:NA-1。
③节点收到命令包或参数包后,必须发送接收确认包(如图3(c)),当收到命令包时,确认类型值为1,发送应答确认包的路由地址为NA-1;当收到参数包时确认类型值为2, 发送应答确认包的路由地址为NA+1。
双跳接力模式
图2(b)所示,为双跳接力模式的拓扑结构图。这种模式要求每一个节点的无线信号覆盖半径范围≥2L。从图2可知,双跳接力模式每次跨越两个节点,传送信息包到指定节点的转发次数比单跳接力模式要少一半,因此其传送时延也要小。在双跳接力模式下,将整个网络所有LED节点按照其地址值的奇偶性分成2个接力链,即奇地址节点链和偶地址节点链。控制节点发送广播命令时,需要针对奇地址节点链和偶地址节点链分别发送,命令信息包分别在奇地址节点链和偶地址节点链上同时传播。在双跳接力模式下,节点处理收到信息包的方法如下:
①节点接收到命令包后的处理方法与单跳接力模式基本相同,但包转发时的路由地址变为:NA+2。
②同样节点接收到数据包后的处理方法也与单跳接力模式基本相同,只是在包转发时的路由地址变为:NA-2。
③节点收到命令包或参数包后,必须发送接收确认包,当收到命令包时,确认类型值为1,发送应答确认包的路由地址为NA-2;当收到参数包时确认类型值为2, 发送应答确认包的路由地址为NA+2。
无论是单跳接力模式还是双跳接力模式,节点发送命令信息包或参数信息包后,在规定的时间内未收到确认信息包,则需要重发,重发次数一般不超过3次。
变跳接力模式
变跳接力模式实际上是单跳接力模式和双跳接力模式的一种补充,主要用于下一跳节点出现通信故障时。在单跳接力模式或双跳接力模式工作时,如果在多次重发后仍收不到下一跳节点的应答确认信息包,说明下一跳节点出现了通信故障。这时通过改变接力模式,由单跳变双跳或者由双跳变单跳可以绕开下一跳有通信故障的节点,继续信息包的接力传送。同时,将故障节点的相关信息反馈到控制节点。变跳接力模式要求每一个节点的无线信号覆盖半径范围≥2L。变跳接力模式分为两种情况:
(1)初始传送为单跳接力模式
设LED节点i的地址为NAi,当LED节点i以单跳模式转发命令包(或参数包)时,即使重发,仍然收不到LED节点i+1(或i-1)的确认包,于是断定下一跳节点出现故障。这时如果传送的是命令包则从①开始执行,如果传送的是参数包则执行②,因为故障节点在传命令包时已遇上,传送参数包时遇故障节点无须重复报告故障信息。
①LED节点i向控制节点报告故障节点信息。此时,节点i向控制节点发送参数包,包的状态参数置为1,源地址为故障节点的地址,即NAi+1,发送参数包的路由地址为NAi-1。
②改变接力模式为双跳模式,将信息包转发给节点i+2(或i-2),以绕开故障节点,路由地址为NAi+2(或NAi-2),若能收到应答确认包,则本节点转发完成,否则说明遇上了两个或两个以上连续故障节点,需继续执行③。
③如果此时传送的是命令包,则LED节点i需向控制节点报告故障节点状态信息,状态参数包的状态标志置为2,源地址为故障节点的地址,即NAi+2,发送参数包的路由地址为NAi-1。随后,转发中止。
(2)初始传送为双跳接力模式
当LED节点i(地址为NAi)欲以双跳接力模式转发命令包(或参数包)时,必须对包进行分析,根据接力模式字段的值为2或3,可以判定当前为偶地址链或奇地址链接力模式。当NAi的值为奇数,跳变模式为奇链,或者NAi的值为偶数,跳变模式为偶链时,执行如下步骤①;当NAi的值为奇数,跳变模式为偶链,或者NAi的值为偶数,跳变模式为奇链时,执行如下步骤②;
①节点i以双跳接力模式转发命令包(或参数包),路由地址为NAi+2(或NAi-2),如果收不到应答确认,则下一跳节点出现故障。如果这时转发的是命令包,则需向控制节点报告故障,往其前驱节点i-2发送故障信息参数包,路由地址为NAi-2,故障信息参数包的源地址(即故障节点的地址)为NAi+2,状态标志为1。同时,改用单跳接力模式将信息包转发给节点i+1(或i-1),以绕开故障节点,转发的路由地址为NAi+1(或NAi-1);若能收到确认包,则本节点转发完成,否则执行③;
②节点i改为单跳接力模式转发命令包(或参数包),路由地址为NAi+1(或NAi-1),若能收到确认包,则本节点转发完成,否则,再改用双跳接力模式转发,将信息包转发给节点i+2(或i-2),以绕开故障节点,转发的路由地址为NAi+2(或NAi-2);若能收到确认包,则本节点转发完成,否则执行③;
③说明遇上了两个或两个以上连续故障节点,LED节点i需向控制节点报告故障节点信息。此时,节点i向控制节点发送故障参数包的状态标志为2,源地址为故障节点的地址,即NAi+1,发送参数包,路由地址为NAi-1。随后转发中止。
上述变跳接力模式能解决分散的单个通信故障节点接力传送问题。但当网络中出现连续2个或2个以上通信故障节点时,则只能报告故障节点位置而不能再继续接力传送。若要解决连续多故障节点的问题,既需要改变接力算法,也需要各节点的无线信号覆盖半径范围更大。
网络节点工作流程与协议实现
路灯传感网络上的每一个节点,既是命令执行与状态参数采集的终端节点,也是路由协调工作节点。各节点除了接收到信息包进入处理流程外,其余时间几乎都处在监听查询状态,检查是否收到信息包。图4所示为LED路灯传感网络节点的工作流程,它是网络协议在节点上实现过程的描述。
结束语
通过网络体系、网络协议、网络节点工作流程与协议实现等几个部分的详细介绍,析构了LED路灯无线传感网络的组成,希望能为LED路灯无线传感网络的应用起到抛砖引玉的作用。LED路灯无线传感网络构建的基础是点到点的通信技术,命令信息要覆盖全网络需要点到点的通信技术来完成,良好的网络协议是组建传感网络的关键所在,简易可行的网络协议是实用化的前提。实际应用表明,上述方法构建的LED路灯无线传感网络具有良好的实时性,能稳定、可靠地工作,能满足对LED路灯网络的智能化管理要求。
上一篇:八大方面教你辨别LED射灯优劣
下一篇:恒照度自适应调光的LED驱动器设计
推荐阅读最新更新时间:2023-10-12 22:54
Vishay线上图书馆
- 选型-汽车级表面贴装和通孔超快整流器
- 你知道吗?DC-LINK电容在高湿条件下具有高度稳定性
- microBUCK和microBRICK直流/直流稳压器解决方案
- SOP-4小型封装光伏MOSFET驱动器VOMDA1271
- 使用薄膜、大功率、背接触式电阻的优势
- SQJQ140E车规级N沟道40V MOSFET
- MathWorks 和 NXP 合作推出用于电池管理系统的 Model-Based Design Toolbox
- 意法半导体先进的电隔离栅极驱动器 STGAP3S为 IGBT 和 SiC MOSFET 提供灵活的保护功能
- 全新无隔膜固态锂电池技术问世:正负极距离小于0.000001米
- 东芝推出具有低导通电阻和高可靠性的适用于车载牵引逆变器的最新款1200 V SiC MOSFET
- 【“源”察秋毫系列】 下一代半导体氧化镓器件光电探测器应用与测试
- 采用自主设计封装,绝缘电阻显著提高!ROHM开发出更高电压xEV系统的SiC肖特基势垒二极管
- 艾迈斯欧司朗发布OSCONIQ® C 3030 LED:打造未来户外及体育场照明新标杆
- 氮化镓取代碳化硅?PI颠覆式1700V InnoMux2先来打个样
- 从隔离到三代半:一文看懂纳芯微的栅极驱动IC