2. 桂林电子科技大学 计算机与信息安全学院, 广西 桂林 541004;
3. 广西信息科学实验中心, 广西 桂林 541004
2. School of Computer Science and Information Security, Guilin University of Electronic Technology, Guilin, Guangxi 541004, China;
3. Guangxi Information Science Research Centre, Guilin, Guangxi 541004, China
LoRa是一种低功耗广域网(Low Power Wide Area Network, LPWAN)通信技术[1], 由于功耗低、距离远和容量大, 被广泛应用于智能抄表、智慧农业等领域[2-3]。介质访问控制(Media Access Control, MAC)层协议是LoRa无线网络的重要组成部分[4], 但接入网络的终端节点数目较多, 因此, 如何减少通信冲突、降低功耗是MAC层协议研究的重要问题[5-6]。
IEEE 802.11中定义的轮询协议是一种经典的MAC层时分多址(Time Division Multiple Access, TDMA)时隙分配协议。目前TDMA时隙分配协议大多用于Ad Hoc网络, 如五阶段预约协议(Five-Phase Reservation Protocol, FPRP)[7]、ATST[8]和N-TDMA[9]等协议, 但是关于LoRa无线网络的TDMA时隙分配协议研究较少。经典轮询协议将时间分为互不相交的时隙, 各个终端节点按照基站设定的顺序获得时隙权, 然后轮流与基站进行通信, 终端节点在各自分配好的时隙内实现无冲突数据传输而在其他时隙内休眠, 能够较好地解决网络中数据传输冲突和能耗大的问题[10-11]。因此, 将经典轮询协议应用于LoRa无线网络不仅能够避免终端节点之间的通信冲突, 还能有效地降低终端节点能耗。但在实际工程项目中会存在以下问题:当终端节点上传数据失败时, 没有重传机制来提高通信的可靠性; 对紧急数据业务不能实现有区别服务。
针对上述经典轮询协议的不足, 本文提出一种具有动态重传和差异服务机制的TDMA(TDMA with Dynamic Re-transmission and Differential Service mechanism, DRDS-TDMA)时隙分配协议。当终端节点上报数据失败时, 启用动态重传机制重传数据, 保证数据传输可靠性。当遇到紧急数据传输业务时, 切换为影子时隙通道且缩短终端节点的数据上报周期, 加快完成紧急数据业务的传输。
1 协议描述 1.1 帧结构DRDS-TDMA时隙分配协议帧结构如图 1所示, 将一个时帧分为三部分, 分别是静态时隙、重传时隙以及影子时隙。静态时隙为1~N号时隙, 其中, N为网络中的终端节点个数, 重传时隙分为3个部分, 分别是1~I、1~J和1~K号重传时隙, 且N=5×I、I=5×J、J=5×K, 即静态时隙区域的时隙数目是区域[1, I]时隙数目的5倍, 区域[1, J]时隙数目的25倍, 区域[1, K]时隙数目的125倍, 每个静态时隙或者重传时隙的后面都紧跟着一个相同的(时隙长度以及结构相同)影子时隙。每一个时隙(包括静态时隙、重传时隙、影子时隙)划分为2个阶段, 分别是数据传输阶段(DATA)和基站响应阶段(ACK)[12]。静态时隙是每个终端节点在网络初始化时就固定分配好的时隙, 用于按时传输数据业务。重传时隙是终端节点在静态时隙中通信失败后基站再给终端节点分配的时隙, 用于数据业务的重传。影子时隙初始化为锁定状态, 可以被激活, 用来传输紧急数据业务。
![]() |
Download:
|
图 1 DRDS-TDMA时隙分配协议帧结构 |
TDMA时隙分配协议的实现与时钟同步过程有关。本文采用TPSN协议对LoRa无线网络进行时钟同步, TPSN协议分2个阶段, 包括层次发现阶段和时钟同步阶段[13], 因为LoRa无线网络是一个星型网络, 所以层次发现阶段可以省略。同时, 为降低能耗, 协议没有单独设计时钟同步过程, 而在终端节点device每次上报数据时设置时钟同步过程。如图 2所示, 假设终端节点在本地时钟为T1时刻上报数据, 基站sink在本地时钟为T2时刻接收到数据, 基站在本地时钟为T3时刻回复ACK响应数据包, 终端节点在本地时钟为T4时刻收到ACK响应数据包。
![]() |
Download:
|
图 2 时钟同步过程 |
根据以上分析, 假设终端节点到基站与基站到终端节点的传播延时都为d, 基站与终端节点之间的时钟偏差为Δt, 基站在ACK响应数据包中打包T2与T3并广播, 终端节点收到ACK响应数据包后, 通过计算可以得出结论, 如式(1)所示。每个终端节点根据计算出来的偏差对本地时钟进行修正, 即可实现与基站之间的时钟同步。
$ \left\{\begin{array}{l}{T_{2}=T_{1}+d+\Delta t} \\ {T_{4}=T_{3}+d-\Delta t}\end{array}\right\}\left\{\begin{array}{l}{d=\frac{\left(T_{2}-T_{1}\right)+\left(T_{4}-T_{3}\right)}{2}} \\ {\Delta t=\frac{\left(T_{2}-T_{1}\right)-\left(T_{4}-T_{3}\right)}{2}}\end{array}\right. $ | (1) |
DRDS-TDMA时隙分配协议的时隙分配过程包括静态时隙分配、重传时隙分配及影子时隙分配3个部分。终端节点首先广播时隙申请数据包, 其格式包括源设备号和目的设备号等字段。基站收到终端节点广播的时隙申请数据包后, 提取源设备号并按收到时隙申请数据包的时间顺序将其存放在存储器中, 源设备号在存储器中的偏移地址为该终端节点的静态时隙号。分配成功后, 基站广播时隙申请响应数据包, 其格式包括终端节点个数n、时隙周期T、时隙起点时钟t0、静态时隙号i、时隙长度l、上报周期t(t大小为2l整数倍)等字段, 其中, 终端节点个数、时隙周期、时隙起点时钟、时隙长度、上报周期由用户根据实际情况在初始化基站时设置。终端节点时隙分配流程如图 3所示。
![]() |
Download:
|
图 3 终端节点时隙分配流程 |
终端节点收到基站广播的时隙申请响应数据包后, 根据数据包中的相应信息可以确定其在不同时隙周期中所属时隙的相应位置, 从而完成静态时隙的分配, 第i号时隙的起点时钟ti如式(2)所示。当需要发送数据时, 终端节点在相应的静态时隙中进行数据传输。
$ {t_i} = {t_0} + (i - 1) \times 2l + k \times T, k \in \{ 0, 1, \cdots \} $ | (2) |
当数据传输失败时, 终端节点在基站分配的重传时隙中进行数据传输。首先进入重传区1中进行重传, 重传时隙起点时钟t1如式(3)所示, 其中, r1为在重传区1中随机生成的重传时隙号。如果在重传区1中重传数据后没有收到基站回复的ACK响应数据包, 则进入重传区2中进行重传, 重传时隙起点时钟t2如式(4)所示, 其中, r2为在重传区2中随机生成的重传时隙号。如果在重传区2中重传数据后没有收到基站回复的ACK响应数据包, 则进入重传区3中进行重传, 重传时隙起点时钟t3如式(5)所示, 其中, r3为在重传区3中随机生成的重传时隙号。如果在重传区3中重传数据后还是没有收到基站回复的ACK响应数据包, 则终端节点停止重传, 进入休眠状态, 等待下一个时隙周期。
$ {{t_1} = {t_0} + \left( {n + {r_1}} \right) \times 2l, {r_1} \in \{ 0, 1, \cdots , n/5\} } $ | (3) |
$ {{t_2} = {t_0} + \left( {6n/5 + {r_2}} \right) \times 2l, {r_2} \in \{ 0, 1, \cdots , n/25\} } $ | (4) |
$ {{t_3} = {t_0} + \left( {31n/25 + {r_3}} \right) \times 2l, {r_3} \in \{ 0, 1, \cdots , n/125\} } $ | (5) |
当终端节点遇到紧急数据传输业务时, 首先需取得基站的授权, 然后终端节点改变数据上报周期后即可与基站以更快的通信频率在影子时隙中进行通信, 根据时隙申请响应数据包中的相应信息就可以确认影子时隙的起点时钟, 从而完成影子时隙的分配。时隙号为j的影子时隙起点时钟tj如式(6)所示。当发送数据时, 终端节点便在基站分配的影子时隙中以新的上报周期进行数据传输。当需要恢复到以前的数据上报周期时, 终端节点在静态时隙中进行数据传输。
$ t_{j}=t_{0}+(2 j-1) \times l+t \times k, k \in\{1, 2, \cdots\} $ | (6) |
评价TDMA时隙分配协议性能好坏的一个重要因素是丢包率的大小, 因为它直接影响协议的可靠性。本文所提出的DRDS-TDMA时隙分配协议在控制丢包率大小方面做了一些改进, 其目的在于减少数据传输的丢包率, 从而提高协议的可靠性。根据文献[14], 当终端节点与基站之间的距离为d时, 经典轮询协议下的信号传输模型为:
$ \lg \left( r \right) = k \times \lg \left( d \right) - A $ | (7) |
其中, r为干扰损耗值, 即本文的丢包率, k为干扰系数值, A为常数。在经典轮询协议的基础上, 本文提出改进DRDS-TDMA时隙分配协议。由于采用3次动态重传工作原理, 首次通信失败后, 在重传时隙区域最多重传3次数据, 依据独立重复事件概率模型, 在相同的环境下, DRDS-TDMA时隙分配协议的丢包率r1=r4, 因此由式(7)可以推出在DRDS-TDMA时隙分配协议下信号传输模型为:
$ {r_1} = {\left( {\frac{{{d^k}}}{{{{10}^A}}}} \right)^4} $ | (8) |
当距离d=100 m、常数A=-11.6时, 在干扰系数取值不同的情况下, 经典轮询协议与DRDS-TDMA时隙分配协议的丢包率对比结果如图 4所示。
![]() |
Download:
|
图 4 2种不同协议的丢包率对比结果 |
从图 4可以看出, DRDS-TDMA时隙分配协议丢包率明显小于经典轮询协议。当干扰系数值小于5.0时, 经典轮询协议与DRDS-TDMA时隙分配协议的丢包率都小于2%, 但DRDS-TDMA时隙分配协议的丢包率更小。当干扰系数值由5.0增大到5.5时, 经典轮询协议丢包率上升加快, 最高到达25%, 而DRDS-TDMA时隙分配协议丢包率无明显上升趋势且小于1%。当干扰系数值由5.5逐渐增大到5.7时, 经典轮询协议丢包率快速升高, 而此时DRDS-TDMA时隙分配协议丢包率才开始上升。当干扰系数值由5.7逐渐增大到5.8时, 经典轮询协议与DRDS-TDMA时隙分配协议丢包率都急剧上升且互相逼近, 这是由于当干扰系数值较大时, 通信受到严重的干扰, 重传策略几乎失效, 无论传输多少次都很难成功通信, 因此DRDS-TDMA时隙分配协议退化到经典轮询协议。综上, 与经典轮询协议相比, DRDS-TDMA时隙分配协议具有较好的通信可靠性。
2.2 上报周期在网络初始化时, 经典轮询协议的终端节点上报数据的周期设为固定值。当某个终端节点有紧急数据传输业务时, 缩短数据的上报周期, 且必须重新初始化网络才能设置新的数据上报周期。经典轮询协议不能有区别对待有紧急数据业务的终端节点, 无法动态设置终端节点的上报周期, 灵活性与实用性差; DRDS-TDMA时隙分配协议在帧结构的设计上考虑到上述问题, 在初始化网络时增加了影子时隙来传输紧急数据业务, 并根据业务的紧急程度设置不同的数据上报周期。在影子时隙中, 可以动态切换数据的上报周期, 从而满足有紧急数据业务终端节点的需求, 因此灵活性与实用性较强。
2.3 网络容量本文提出的DRDS-TDMA时隙分配协议在丢包率和实用性上具有较好的性能, 通过设计冗余时隙, 减少可接入网络的终端节点数量, 但浪费了部分网络容量, 并不影响在实际系统中的应用。设时隙长度为s, 单位为s, 网络容量终端节点数为x, 时隙周期为T, 单位为s, 则根据DRDS-TDMA时隙分配协议的帧结构, 有:
$ x \times s+(x+x / 5+x / 25+x / 125) \times s=T / 2 $ | (9) |
根据式(9)可求出终端节点数x。DRDS-TDMA时隙分配协议在时隙长度为5 s与10 s时, 不同时隙周期下终端节点数的对比结果如图 5所示。
![]() |
Download:
|
图 5 不同时隙长度的终端节点数对比结果 |
从图 5可以看出, 当时隙周期为1.44×104s(6 h), 时隙长度为5 s和10 s的终端节点数分别约为1 200个和600个。当时隙周期为8.64×104 s(24 h), 时隙长度分别为5 s和10 s的终端节点数分别约为3 600个和1 800个。因此, 对于不同的应用类型, 根据需要选择不同的时隙周期与时隙长度。例如, 对于无线抄表应用, 每个表端每天上报一次数据, 时隙长度为5 s是一个比较合理的选择, 即一个抄表网络最多可容纳3 600个表端, 能接入3 600个住户, 而一个小区住户数一般小于3 000, 因此一个抄表网络可实现小区全覆盖, 能满足实际应用需求。
3 实验结果与分析基于DRDS-TDMA时隙分配协议, 本文设计并实现一套基于LoRa技术的无线抄表系统[15-16]。本文系统将深圳市南山区部分大学生宿舍楼作为试点, 并对其进行超声波水表抄表。该试点网络包括100个终端节点、1座基站, 经实测基站信号的覆盖半径5 km左右, 覆盖面积80 km2, 终端节点休眠电流仅为1.6 μA左右, 基站的发射功率为500 mW, 终端节点的发射功率为100 mW, 基站与终端节点的射频中心频率为433 MHz, 数据传输速率为300 bit/s。
终端节点每天上午9点定时开始上报数据, 上报时刻间隔为10 s, 即网络地址为0x0100的终端节点9:00:00上报数据, 0x0101的终端节点9:00:10上报数据, 以此类推, 直到0x0163终端节点9:16:30上报数据, 通过后台数据管理软件监控系统的运行状况。
试点系统稳定运行半年以上, 随机抽取某9天系统运行结果进行分析, 如表 1所示。在经典轮询协议的基础上, 本文提出DRDS-TDMA时隙分配协议, 因此静态区丢包率体现了经典轮询协议的数据传输可靠性, 总丢包率体现了DRDS-TDMA时隙分配协议的数据传输可靠性。由第2组数据可知, 静态区丢包率为4%, 表明100个终端节点中有4个终端节点在静态区中上报数据失败, 重传1区丢包率为25%, 表明4个终端节点中有1个终端节点在重传1区中上报数据失败, 重传2区与重传3区丢包率为100%, 说明最后剩下的这个终端节点依次在重传2区与重传3区中上报数据失败, 总丢包率为1%, 说明100个终端节点中最终只有1个终端节点上报数据失败, 该节点多次重传失败是因为受到外部因素的影响, 如人员走动等干扰因素。
![]() |
下载CSV 表 1 试点系统运行结果 |
终端节点丢包率对比如图 6所示。可以看出, 系统刚开始运行时2种协议的数据丢包率较低, 且使用DRDS-TDMA时隙分配协议时丢包率最高为1%, 比使用经典轮询协议时的数据丢包率低3%, 说明DRDS-TDMA时隙分配协议能有效降低数据丢包率。同时从终端节点在各个区域(见表 1)上报数据的情况上来看, 在静态区上报数据丢包率较低时, 重传机率低。在静态区上报数据丢包率较高时, 重传多次的几率比较大, 一般需要在重传1~重传3区内重传才能成功上报, 或者最终丢包, 同时, 可通过增加基站数量, 使其覆盖通信效果较差的终端节点, 从而完成数据的可靠传输。
![]() |
Download:
|
图 6 2种协议终端节点丢包率对比结果 |
某终端节点上报数据在使用DRDS-TDMA时隙分配协议和经典轮询协议下的上报周期对比如图 7所示。DRDS-TDMA时隙分配协议可以根据数据业务的紧急程度切换成相应级别的周期上报数据, 分为24 h、6 h、3 h、30 min、15 min、5 min等6种不同的上报周期, 从而可以提供有区别的数据服务, 灵活性大且实用性强。例如, 当用户水表欠费时, 集抄中心下发关阀命令关闭水表阀门, 用户停水, 这时就需要把上报周期切换为5 min以便及时接收集抄中心的开阀命令。当用户缴费后, 集抄中心就能在5 min内给用户水表开阀, 及时为用户供水; 而经典轮询协议则只能提供24 h这一种上报周期的数据服务, 灵活性小、实用性低。
![]() |
Download:
|
图 7 2种协议终端节点数据上报周期对比结果 |
试点系统运行结果表明, 该系统组网便捷、可靠性高、功耗低以及实用性强等, 能够降低成本, 提高工作效率。同时, 与经典轮询协议相比, 改进的DRDS-TDMA时隙分配协议能有效降低数据上报的丢包率, 并且能够动态改变终端节点数据上报周期, 从而为系统提供有区别的数据服务。
4 结束语本文提出一种LoRa无线网络MAC层DRDS-TDMA时隙分配协议。该协议具有与经典协议不同的时帧结构, 通过重传时隙提高通信可靠性, 利用影子时隙实现有差别服务。在基于LoRa技术的无线抄表系统中进行实验, 结果表明, 无线抄表网络丢包率小于1%, 与经典轮询协议相比, 该协议的丢包率降低了3%, 能够实现有区别服务。本文协议为基于单信道的LoRa无线网络MAC层协议, 后续将针对多信道情况进行研究, 以进一步降低协议的丢包率。
[1] |
RIZZI M, FERRARI P, FLAMMINI A, et al.Using LoRa for industrial wireless networks[C]//Proceedings of the 13th International Workshop on Factory Communication Systems.Washington D.C., USA: IEEE Press, 2017: 1-4.
( ![]() |
[2] |
刘琛, 邵震, 夏莹莹. 低功耗广域LoRa技术分析与应用建议[J]. 电信技术, 2016, 8(5): 43-50. DOI:10.3969/j.issn.1000-1247.2016.05.010 ( ![]() |
[3] |
KIM W, CHOI J, JEONG O R, et al. On the Internet of things[J]. International Journal of Web and Grid Services, 2015, 11(4): 410-426. DOI:10.1504/IJWGS.2015.072808 ( ![]() |
[4] |
赵文妍. LoRa物理层和MAC层技术综述[J]. 移动通信, 2017, 41(17): 66-72. DOI:10.3969/j.issn.1006-1010.2017.17.013 ( ![]() |
[5] |
赵静, 苏光添. LoRa无线网络技术分析[J]. 移动通信, 2016, 40(21): 50-57. DOI:10.3969/j.issn.1006-1010.2016.21.010 ( ![]() |
[6] |
PETAJAJARVI J, MIKHAYLOV K, PETTISSALO M, et al. Performance of a low-power wide-area network based on LoRa technology:doppler robustness, scalability, and coverage[J]. International Journal of Distributed Sensor Networks, 2017, 13(3): 1-16. ( ![]() |
[7] |
ZHU Chenxi, CORSON M S. A five-phase reservation protocol for mobile ad hoc networks[J]. Wireless Networks, 2001, 7(4): 371-384. DOI:10.1023/A:1016683928786 ( ![]() |
[8] |
YANG Weidong, LI Pan, LIU Yan, et al. Adaptive TDMA slot assignment protocol for vehicular ad-hoc networks[J]. The Journal of China Universities of Posts and Telecommunications, 2013, 20(1): 11-18, 25. DOI:10.1016/S1005-8885(13)60002-3 ( ![]() |
[9] |
王灵芝, 陈凌宇, 袁艾莎. 基于I-序列顶点着色算法的N-时分多址动态时隙分配协议[J]. 计算机工程, 2016, 42(1): 89-94, 102. ( ![]() |
[10] |
吴昊.面向能耗均衡的低占空比MAC协议研究与设计[D].济南: 山东大学, 2015. http://cdmd.cnki.com.cn/Article/CDMD-10422-1015372601.htm
( ![]() |
[11] |
郑浩. LoRa技术在低功耗广域网络中的实现和应用[J]. 信息通信技术, 2017, 11(1): 19-26. ( ![]() |
[12] |
崔可嘉, 孙昕. 基于TDMA的无冲突动态时隙分配算法[J]. 计算机工程, 2014, 40(10): 122-126. DOI:10.3969/j.issn.1000-3428.2014.10.024 ( ![]() |
[13] |
GANERIWAL S, KUMAR R, SRIVASTAVA M B.Timing-sync protocol for sensor networks[C]//Proceedings of the 1st International Conference on Embedded Networked Sensor Systems.New York, USA: ACM Press, 2003: 138-149.
( ![]() |
[14] |
汪文娟, 杨余旺, 黄宇民, 等. 无线传感器网络节点通信抗干扰实验研究[J]. 计算机工程与应用, 2013, 49(9): 102-105. DOI:10.3778/j.issn.1002-8331.1110-0006 ( ![]() |
[15] |
资文彬, 董楚楚, 曹康. LoRa无线数据传输模块的设计与实现[J]. 集成技术, 2018, 7(3): 54-61. DOI:10.3969/j.issn.2095-3135.2018.03.006 ( ![]() |
[16] |
资文彬, 李民政, 肜新伟. 基于LoRa的无线抄表系统设计与实现[J]. 桂林电子科技大学学报, 2018, 38(2): 106-111. DOI:10.3969/j.issn.1673-808X.2018.02.005 ( ![]() |