基于时隙和数据帧的组网算法设计

2019-07-12 06:13王彦本
西安邮电大学学报 2019年2期
关键词:时隙容量基站

李 波, 王 坤, 王彦本

(西安邮电大学 通信与信息工程学院, 陕西 西安 710121)

随着无线通信与传感器技术的发展,低成本无线传感器网络逐渐成为研究热点。LoRa[1-2]、ZigBee[3]和蓝牙[4]等无线技术,将无线传感器网络带进了诸多生活和生产领域[5-7],同时也促进了物联网技术的发展[8]。无线传感器网络和物联网技术具有多节点的特性,无法避免组网通信,必须解决各节点间的通信冲突。

时分多址(time division multiple access, TDMA)是无线网络普遍采用的一种接入方法,它把系统中所有可供使用的资源按时间分配给系统中多个设备,设计简单,实现方便,是防碰撞算法最常用的技术。基于TDMA技术的防冲突算法有ALOHA算法和二进制树算法两大类[9]。ALOHA算法是基于竞争的随机接入算法,数据发送端可以在任意时间段随机发送数据信息,一旦产生冲突,发送端须随机等待一段时间后再重新发送直至发射成功。在竞争和随机发送的的基础上,ALOHA算法又有新的改进[10-11]。二进制树算法[12-13]的设计采用了分配思想,在执行过程,数据汇聚端多次发命令给数据采集端,每次命令都把采集端分成两组,多次分组后将得到一个唯一的采集端。

ALOHA算法设计简单,实现方便,但采用竞争的方式会导致信道使用率低,存在“标签饿死”(tag starvation)[14]现象。二进制树算法防冲突效果好,识别精确,但是实现过程复杂,算法等待时延长。另外,这两种算法在实现过程中,都必须进行多次迭代,其复杂性不适合直接应用于硬件实现。

本文拟设计一种应用于硬件环境的组网算法,仍在TDMA的基础上采用划分时隙方法,但在划分时隙前,先进行设备扫描,从而动态分配时隙,并借助加入控制和命令信息的特殊格式数据帧,通过通信实现网络同步,以优化时钟精度。

1 算法设计

1.1 时隙算法

TDMA技术通过划分时间避免通信系统的多设备冲突,实际设计中即将时间划分为更小更具体的帧或时隙。帧用于传输数据,由时隙组成;而时隙又由一段特定的时间间隔构成,与系统用户(或设备)具有相互对应的关系。通过区分时隙就可以达到区分用户(或设备)的目的。

实际上,系统各设备都拥有唯一序列号,以便区分。系统中的基站设备在无冲突的时隙发送一个确认信号,为系统中的所有终端节点分配唯一的时隙号,使各终端节点只能工作于固定的时隙中,从而实现防冲突操作。

时隙算法在使用中要求有精确的时钟定时,以保证系统用户(或设备)间时隙划分的准确性。这可通过高精度时钟或卫星授时获得解决,但实现成本较高。结合帧与时隙的关系,通过特殊格式的数据帧对时隙进行校准,是优化单时隙算法时钟精度的一种可行方法。

1.2 数据帧

在多用户通信系统中,数据发送端发送数据时必须指明数据的接收端以防止冲突,故将数据信息和控制信息相结合的数据帧格式获得广泛应用。主流的帧格式如图1所示。

图1 数据帧结构

在数据帧的结构中,起始位是组网中传输数据的起始字节,通过它可以确定收到的数据是否为本网络中的传输数据;数据类型明确发送数据的类型,如上行数据或下行数据;源地址给出组网中数据发送端节点的地址;数据体包含组网中发端要发给接收端的数据;目的地址是指组网中数据接收端节点的地址;校验位包含组网中传输数据除去起始位和结束位外其他部分通过校验算法计算出的校验数据;结束位是组网中传输数据的结束字节,通过判断结束位可以判断数据的正确性。

1.3 时隙和数据帧算法的设计

LoRa同频组网中,为避免通信冲突,要求在同一时间系统中只能有一个设备发送数据。系统中各设备根据功能可以分为终端节点和基站,数据主要是来自终端节点的上行数据,基站的下行数据相对较少,故可用基站来控制网络中时隙的分配和选择。

整个算法可以分成3部分。

(1) 开机组网

系统开机初始化后,基站通过下发扫描帧,使终端节点上报节点信息进行组网。设置基站的ID号码为0x00,终端节点的ID号码从0x01起增加至与系统容量同。终端节点在收到基站发送的扫描帧时,根据ID号码从小到大依次上报节点信息。终端节点采用中心式和分布式相结合的方案上报节点信息,具体实现过程如图2所示。

图2 组网流程

若基站在时间阈值之内未收到上报信息,则认为上报过程结束。为保证扫描的准确性,可进行多次扫描,若连续多次扫描结果相同,则认为扫描过程结束。扫描结束后,基站将所扫描的终端节点情况存入数组。

(2) 分配时隙

进行LoRa通信时的模块设置主要包括LoRa模式设置、数据包设置和射频设置[15-16],相关具体内容如表1所示。基站了解到系统中各终端节点的情况后,为它们分配时隙。时隙大小根据LoRa模式设置和数据包设置中的参数决定,包括扩频因子(spreading factor,SF)、带宽(band width,BW)、编码率(coding rate,CR)、负载长度和前导码等。而射频设置中的参数中心频点发射功率决定着发射信号的载波情况。

表1 模块设置信息

(3) 设备通信

基站为终端节点分配时隙后,即刻进入上报模式。此模式中,基站开始先下发同步帧,其目的是使组网中的所有设备进行时间同步,方便后续时隙操作。所有终端节点在收到同步帧后,便可根据系统预设的上报优先级进行上报,其优先级可以为终端节点的ID号或终端节点上报数据的重要性。所谓以终端节点ID号码为上报数据的优先级,是指ID号码小的终端节点优先上报。ID号码为0x01的终端节点上报完信息后,ID号码为0x02的终端节点收到消息,并在保护间隔后开始上报自己节点的信息。如此,系统中各终端节点收到ID号码比自己小1的终端节点的消息,在一个保护间隔后,上报自己的节点信息。

2 设计实现

一个完整的LoRa组网系统如图3所示。终端节点上集成着传感器用来采集数据,并将采集到的数据上报;而基站则将多个终端节点上报的数据汇总,同时上报给后台控制端;后台控制器会根据各终端节点上报的数据内容,下发对应的控制命令。在此重点讨论终端节点和基站之间的通信。

图3 LoRa组网系统

2.1 软件设计

基站和终端之间的算法流程图如图4所示。算法的具体步骤可描述如下。

(1)基站扫描终端节点。进行3次扫描,并将结果分别存入数组Data1、Data2、Data3中,当3个数组值相同时,扫描结束,否则重复此步骤,直至扫描出正常结果。

(2)基站下发同步帧,使组网中各设备进行时间同步。

(3)根据基站扫描结果所分配的时隙,终端节点在各自相应时隙上报数据。

(4)当终端节点上报数据时,其他未上报数据的节点根据上报节点数据帧中的控制与同步信息进行时隙校准。

(5)在各终端节点进行上报的时隙之后,预留多余时隙,基站在此预留时隙发送下行命令。

(6)终端节点根据基站在下发时隙的命令进行相应操作。

图4 算法实现流程

2.2 硬件设计

硬件测试模块由主控电路、射频电路和外围电路组成。主控电路的主控芯片采用TI公司的MSP430F149,射频电路中的射频芯片采用Semtech公司的SX1278 LoRa;外围电路由电源和晶振等组成。硬件结构如图5所示。

图5 硬件结构

系统主控芯片与射频芯片间的传输接口为全双工SPI总线。主控芯片的主要功能在于初始化和控制射频芯片,并进行数据存储和计算,而射频芯片LoRa则负责数据收发。

3 结果分析

基于LoRa硬件模块在空旷环境对所给算法进行有效性分析。测试频率采用470 MHz,其他测试参数如表2所示。在测试中对比采用单时隙防冲突算法和所给防冲突算法在同一测试环境和同一测试参数下的组网情况。

表2 配置参数

在网络系统中,网络容量、网络稳定性和网络丢包率是评估网络性能的重要指标。测试实验中的网络容量即指整个网络所容纳的终端节点数。网络稳定性主要为时间稳定性,指实测的网络上报时延与算法设计中的网络上报时延的偏离情况。网络上报时延为基站收到首个终端节点上报数据到最末终端节点上报数据之间的间隔。实测网络容量和网络上报时延情况如图6所示,其中的“理想情况”指算法设计中根据节点传输时间与保护间隔预分配的时隙网络时延随着网络容量的增加而增加。当网络容量为较小时,单一时隙算法和本文所给算法的时延与理想情况基本一致,均满足设计要求;但在网络容量为较大时,单一时隙算法的测试结果相比于理想情况和本文所给算法偏差也大,而且单一时隙算法相比于其他两种算法波动也大。

图6 网络容量与上报时延

系统在相同条件下分别采用两种算法连续工作1小时,网络容量和丢包率的实测结果如图7所示。从中可见,网络丢包率随着网络容量的增加而增加。对比单一时隙算法和本文所给算法,当网络容量相同时,后者在丢包率上的表现优于前者,且随着网络容量的增加,两者的丢包率差异会更大。

图7 容量与丢包率

4 结语

提出一种基于时隙与数据帧相结合的LoRa同频组网算法:通过扫描帧对组网中的所有设备进行扫描,根据组网中的设备情况有目的地划分时隙,以避免发生同频通信冲突;各设备在各自分配的时隙发送带有控制信息的数据帧,实现网络同步,同时完成对时隙的校准功能。实际仿真分析结果显示,所给算法相比于单一时隙算法具有较好网络稳定性,可降低网络传输过程中的数据丢包率。所给算法设计简单,实现方便,可以缓解多种组网通信中的冲突。

猜你喜欢
时隙容量基站
水瓶的容量
基于时分多址的网络时隙资源分配研究
基于市场机制的多机场时隙交换放行策略
复用段单节点失效造成业务时隙错连处理
IQ下午茶,给脑容量加点料
基于移动通信基站建设自动化探讨
可恶的“伪基站”
一种高速通信系统动态时隙分配设计
小桶装水
基于GSM基站ID的高速公路路径识别系统