一种基于准时制双缓冲队列算法的嵌入式LoRaWAN网关制造技术

技术编号:36601659 阅读:23 留言:0更新日期:2023-02-04 18:17
本发明专利技术公开了一种基于准时制双缓冲队列算法的嵌入式LoRaWAN网关,属于LoRa无线通信技术领域。网关包括主机子系统、集中器子系统和供电子系统;主机子系统为网关主程序提供运行环境并连接广域网中的网络服务器,网关主程序通过下行数据转发机制实现和网络服务器的数据交互;集中器子系统连接至LoRa射频网络,实现和终端节点的数据交互;供电子系统对外接电源进行转换,为主机子系统和集中器子系统提供所需的电平。本发明专利技术针对网关下行数据转发机制进行改进,通过在网关内部下行数据链路中引入环形队列构成双缓冲队列,并辅以经优化的准时制调度算法,不仅使网关的数据吞吐量得到极大程度的提升而且增强了对于不同类型数据的调度能力。调度能力。调度能力。

【技术实现步骤摘要】
一种基于准时制双缓冲队列算法的嵌入式LoRaWAN网关


[0001]本专利技术属于LoRa无线通信
,具体涉及一种基于准时制双缓冲队列算法的嵌入式LoRaWAN网关。

技术介绍

[0002]LoRa是一种基于扩频的超长距离物联网无线通信技术,而LoRaWAN是基于LoRa的低功耗广域网标准。LoRaWAN标准主要定义了物联网的网络框架、数据传输机制、MAC层报文格式以及根据区域不同在实际部署时的物理层参数,包括频段和信道的划分、数据传输速率、最大发送功率等等。LoRaWAN网络使用星型或对星形拓扑组网,典型网络由终端节点、网关和服务器三个层次构成。网关作为节点和服务器之间的桥梁,主要任务是在节点和服务器之间转送数据,网关通过LoRa调制技术与节点进行无线通信,通过标准IP链路与广域网中的网络服务器连接,是部署网络的关键设备。LoRaWAN网络终端节点数量庞大,作为直接决定网络容量的关键设备,网关需要具有数据运算速度快、设备兼容性强、软件并发性强、通信灵敏度高、维护成本低等特性。
[0003]LoRaWAN规范中Class A类型的数据包带有服务器设置的Unix时间戳,网关需要在时间戳指定的时间将数据包发出,如果早于时间戳时间发送则此时终端设备可能尚未打开接收窗口,即使数据包成功从网关发出,终端也无法收到数据;而如果网关未能在时间戳时间完成发送,则此时接收窗口可能已经关闭,终端同样无法收到数据。为了保证数据包能在其时间戳时间被发出网关必须提前对数据包进行调度;为避免信号叠加干扰,在数据包从网关发出后的空中传输时间内不能发送其他数据包。因此,网关转发一个数据包不是瞬时完成的而是需要一定时间,如果两个或多个数据包的时间戳时间在时间轴上相距太近,以至于网关无法及时完成所有数据包的转发调度,由此导致的数据丢包称为数据包之间的“碰撞”。正是由于数据包碰撞问题的存在,网关的实际数据吞吐量较其理论值相去甚远。

技术实现思路

[0004]有鉴于此,本专利技术提供了一种基于准时制双缓冲队列算法的嵌入式LoRaWAN网关,网关针对网关下行数据转发机制进行改进,提升网关的数据吞吐量的同时增强了对于不同类型数据的调度能力。
[0005]一种基于准时制双缓冲队列算法的嵌入式LoRaWAN网关,包括主机子系统、集中器子系统和供电子系统;
[0006]所述主机子系统为网关主程序提供运行环境并连接广域网中的网络服务器,网关主程序通过下行数据转发机制实现和网络服务器的数据交互;
[0007]所述集中器子系统连接至LoRa射频网络,实现和终端节点的数据交互;
[0008]所述供电子系统对外接电源进行转换,为主机子系统和集中器子系统提供所需的电平。
[0009]进一步地,所述下行数据转发机制实现和网络服务器的数据交互的过程包括以下
步骤:
[0010]步骤1:网关上电,主机子系统及集中器子系统初始化,网关主程序开始运行,集中器子系统通过LoRa射频通信接入终端节点网络,主机子系统通过以太网通信连接广域网中的网络服务器;
[0011]步骤2:网关主程序的下行处理线程中通过套接字接收网络服务器的下行数据包,将经过筛选后的数据包插入环形队列尾部中;
[0012]步骤3:网关主程序的准时制调度线程从环形队列头部取出满足要求的数据包插入顺序队列尾部,然后根据准时制调度算法对顺序队列中的数据包重新排序,优先级最高的数据包位于顺序队列头部;
[0013]步骤4:网关主程序的准时制调度线程从顺序队列头部取出优先级最高的待转发数据包发送到集中器子系统,集中器子系统将数据包转换为LoRaWAN规范报文,然后通过LoRa射频通信发送至目标节点。
[0014]进一步地,所述网关主程序中下行数据链路涉及两条线程,分别是下行处理线程和准时制调度线程;
[0015]所述下行处理线程使用网络套接字接收来自服务器的下行数据包,经过筛选后的数据包插入环形队列尾部;
[0016]所述准时制调度线程从环形队列头部取出数据包将数据包取出并插入顺序队列尾部,然后根据准时制调度算法从顺序队列中选择优先级最高的待发送数据包发送至集中器子系统。
[0017]进一步地,所述环形队列用以在下行处理线程和准时制调度线程间高效传递数据包,该队列允许被下行处理线程和准时制调度线程操作。
[0018]进一步地,所述顺序队列是实施准时制调度算法的直接对象,作为下行数据的二级缓存,顺序队列只允许被准时制调度线程操作。
[0019]进一步地,所述准时制调度算法核心原则是优先调度时间戳时间和当前时刻较为接近但又不晚于当前时刻的数据包,数据包的时间戳时间越接近当前时刻则调度优先级越高,意味着该数据包越需要被尽快向终端节点转发,即不管网关按什么时间顺序从服务器接收数据包,都尽可能地选择当前时刻最需要被转发的数据包进行处理。
[0020]有益效果:
[0021]1、本专利技术的嵌入式LoRaWAN网关包括主机子系统、集中器子系统和供电子系统,主机子系统为网关主程序提供运行环境并连接广域网中的网络服务器,网关主程序通过下行数据转发机制实现和网络服务器的数据交互;通过在网关内部下行数据链路中引入环形队列构成双缓冲队列,并辅以优化的准时制调度算法,不仅使网关的数据吞吐量得到极大程度的提升而且增强了对于不同类型数据的调度能力。
[0022]2、本专利技术针对网关内部下行数据链路提出一种准时制双缓冲队列算法,使用环形队列在线程间传输数据,避免了锁一类阻塞结构的使用,使用大容量的环形队列作为主要的数据缓存,使得作为准时制调度直接数据源的顺序队列长度得以控制,在不牺牲数据缓存容量的前提下以保证了准时制算法的实施效率,有效缓解了因数据包碰撞导致的丢包问题,显著提高了网关的数据吞吐量;通过优化软件效率提高网关的数据转发性能,能够节约计算资源花销、降低硬件性能依赖,有利于节约网关的硬件成本。
[0023]3、本专利技术网关主程序中准时制调度线程从环形队列头部取出数据包将数据包取出并插入顺序队列尾部,环形队列用以在下行处理线程和准时制调度线程间高效传递数据包,该队列允许被下行处理线程和准时制调度线程操作,从而避免线程锁等阻塞式线程同步手段的使用。
附图说明
[0024]图1为本专利技术嵌入式LoRaWAN网关的硬件组成示意图;
[0025]图2为本专利技术网关硬件间的连接关系示意图;
[0026]图3为本专利技术网关主程序下行数据链路示意图;
[0027]图4为本专利技术网关主程序中下行处理线程的程序框图;
[0028]图5为本专利技术网关主程序中准时制调度线程的程序框图。
[0029]其中,1

i.MX6ULL微处理器,2

LAN8720A芯片,3

RJ45网口,4

SX1301芯片,5、6

SX1255芯片,7

SMA射频天线,8

供电子系本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于准时制双缓冲队列算法的嵌入式LoRaWAN网关,其特征在于,包括主机子系统、集中器子系统和供电子系统;所述主机子系统为网关主程序提供运行环境并连接广域网中的网络服务器,网关主程序通过下行数据转发机制实现和网络服务器的数据交互;所述集中器子系统连接至LoRa射频网络,实现和终端节点的数据交互;所述供电子系统对外接电源进行转换,为主机子系统和集中器子系统提供所需的电平。2.如权利要求1所述的基于准时制双缓冲队列算法的嵌入式LoRaWAN网关,其特征在于,所述下行数据转发机制实现和网络服务器的数据交互的过程包括以下步骤:步骤1:网关上电,主机子系统及集中器子系统初始化,网关主程序开始运行,集中器子系统通过LoRa射频通信接入终端节点网络,主机子系统通过以太网通信连接广域网中的网络服务器;步骤2:网关主程序的下行处理线程中通过套接字接收网络服务器的下行数据包,将经过筛选后的数据包插入环形队列尾部中;步骤3:网关主程序的准时制调度线程从环形队列头部取出满足要求的数据包插入顺序队列尾部,然后根据准时制调度算法对顺序队列中的数据包重新排序,优先级最高的数据包位于顺序队列头部;步骤4:网关主程序的准时制调度线程从顺序队列头部取出优先级最高的待转发数据包发送到集中器子系统,集中器子系统将数据包转换为LoRaWAN规范报文,然后通过LoRa射频通信发送至目标节点。3.如权利要求2所述的基于准时制双...

【专利技术属性】
技术研发人员:王嘉关夏威陈虹张昊钱家昌蔡玄游卓黄贻苍吴刚宋清华
申请(专利权)人:中国船舶重工集团公司第七一九研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1