一种基于Sub-GHz的无线自组网方法及系统与流程

文档序号:18900570发布日期:2019-10-18 21:53阅读:401来源:国知局
一种基于Sub-GHz的无线自组网方法及系统与流程

本发明涉及无线通信技术领域,尤其涉及一种基于sub-ghz的无线自组网方法及系统。



背景技术:

近几年随着智能手机和智能硬件的快速发展,人们已经意识到未来的设备除了电源之外,整个通讯和链接将会是无线化的,这些设备的形状不一样,功能不一样,电源供电方式不一样,接收或者控制的对象也不一样,传输的内容更是千差万别。这些大量的设备肯定需要一个强有力的协议栈将他们有序的组织起来,让数据已以最优的路径,最低的功耗,正确可靠地传输到指定的目标接收节点上,而且彼此不会相互产生干扰。

目前该领域最有名的协议栈就是zigbee技术,其最开始的应用场景就是定位于智能家居领域,该技术已经出现了10多年了,从目前的发展水平来看,该技术无论是商业运作上还是在技术实现上是不太成功的,这种不成功是有深刻的技术因素的,具体体现在下面的几个方面:

(1)zigbee通常的工作频带在2.4ghz,用在国外的木头结构的别墅中没有问题,但是在中国的钢筋水泥建筑物环境中,通讯效果并不好,严重影响了用户体验。

(2)zigbee由一个委员会制定标准并进行推广,这个委员会是由ti,nxp,freescale,atmel,stmicro等公司背后做支持,这些公司的目标是销售芯片,他们确定了整个协议栈的大的框架,针对的目标市场非常的宽泛但是并没有精确到产品的层面,用户使用的时候还是需要进行一些深度的优化的,这就要求对协议栈进行优化的人员需要比较深的了解协议栈的内部运作原理,甚至对于某些特性做出修改,但是zigbee委员会为了确保兼容性,不仅设立了一个兼容性认证的机构,而且通过ti等芯片厂商发布的zigbee技术实现是以二进制的lib文件提供的,不仅将协议栈限定在特定厂家的特定射频芯片和特定处理器平台上,也就是说深入了解实现机制和二次改造的通道被堵死了。

(3)zigbee技术缺少在安装,调试,扩容,诊断,维护等方面的一些系统层面的特诊,导致不好用,用户也不敢大规模使用,该技术仅仅强调自愈,但是没有告诉用户那里运行出了问题,这样就导致安装期间和产品使用一段时间之后出现了问题,都没法办法给使用者一个明确的指示,这就好像将一部苹果手机iphone的信号强度指示符拿掉了一样,这样用户完全不知道现在网络处于什么状态。

(4)zigbee仅仅定义为传感器网络,所以没有实现独立的传输层,zigbee假定用户传输的都是小型的报文。考虑到有线网络的丢包率为10^-9次方至10^-12次方,而无线网络的丢包率在10^-3次方左右,所以在多跳的zigbee网络中丢包率上升很快,事实上很多用户都反映zigbee网络的多跳并不稳定,使用起来体验并不好。

(5)其他的问题比如信道数量少,wifi,蓝牙,微波炉干扰等等其他问题都严重制约了zigbee技术的使用体验。

目前国外的芯片大厂大多是两条腿走路,既推出2.4ghz的zigbee芯片,同时推出sub-1ghz的射频芯片技术。zigbee技术虽然也还在发展完善,但是始终没有跳出2.4ghz的的平台,整个协议栈的技术体系也没有发生大的改变,在用户接口层已经开始放弃profile的思路,转向更加标准开放的ipv6技术。

zigbee技术作为一种低速率,低成本的传感网在有些领域应用还是可以的,但是应用在有较高传输(传输网特征)特性要求的场合从方案阶段就被否决了,具体如下:

(1)穿透性和绕射性能差,pa和lna的增益都难以做的很高,噪声系数大,对于用户电路板的数字噪声非常敏感,稳定性不好,产品抗噪性差,不皮实。

(2)传输语音,图片和视频片段等大型数据报文无能为力

(3)语音,gps,图片等多元化数据类型混合传输能力差

(4)多跳模型下传输几十k字节的数据块几乎没有可用性

(5)网络拓扑结构发生快速变化的时候自适应调整能力差,缺少足够的学习能力

国内的厂家也有不少厂家在研发基于433mhz的自组网技术,但是多数厂家是以做工程项目,特别是电力抄表为主要目标市场设计协议栈。这一类的协议栈本质上是一种广域网,在应用上有很大的限制,通用性很差,只能作为zigbee技术在特定市场方面的一个补充。

这些协议栈几乎都有一个共同的问题,就是仅仅定位于广域网,采用时隙扩展的方式来定义每一个节点的接入时槽,通讯效率很低,即便只有几个节点的网络,采集一次数据也需要好几分钟。



技术实现要素:

本发明要解决的技术问题在于通过分布式计算和异步变频通讯技术,结合了tdma和fdma的多址接入机制,提供了高带宽,低延时,大容量的组网特性,集合了局域网和广域网,传感网和传输网的异构难题,实现了网络覆盖范围的平滑延伸。

为此,本发明公开了一种基于sub-ghz的无线自组网方法及系统,包括由主机端与多个设备节点之间自动构建组网实现数据双向通信;

主机端:

s1:上电初始化;主机端上电时将对所有信道进行信道评估,选出最佳通信信道,并在此信道上设置无线参数,开始工作;

s2:进行分布协作式执行网络信标调度线程、后台注册流程、报文处理线程、网络状态处理线程、其他线程;

从机端;

s01:上电初始化,初始化射频参数,扫描所有信道寻找主站所在工作信道位置;

s02:节点对所有信道进行逐一搜索并记录相应信道中的主站信息;并确定工作信道、数据频率、根据估算链路预算得到结果去做动态增益调整,开始工作;

s03:系统检查是否有本地数据通讯请求,如果则有呼叫父节点,父节点应答后检查网络同步时间,如果网络同步时间到来则和主站同步时间,时间同步后则继续数据通信,将收到的数据压入接收队列,等待异步处理;

进一步地说,所述网络信标调度线程用于系统周期性向信道中发送调度信标,公布主站接入信息,整个信标包含信息有主站信道信息、panid、节点id等,提供入网注册的接入能力。

进一步地说,所述后台注册流程的注册流程如下:开始注册后台线程,判断是否激活线程,若是则判断是否收到节点注册请求,若不是则判断等待是否超时,若等待超时则发送无效接入点信息,并停止线程流程后进入判断是否激活线程,若是收到节点注册请求则对比验证panid、passwd等的合法性,判断验证是否通过,若没有则发送无效接入点信息,并停止线程流程后进入判断是否激活线程,若通过验证,则发送应答信息,请求处理队列并设置注册线程为激活状态,更新路由表,存储节点信息,停止线程流程,判断是否激活线程,重复以上步骤。

进一步地说,所述报文处理线程的处理线程如下:开始报文处理,检查远程转发数据队列,判断是否有远程数据需要转发,若有,则提取目标节点全局路径,获取下一条节点的地址,判断转发路径是否在本地注册池中,若不是,则删除报文,通知源节点路由无效,查询本地数据转发队列,若是,则转发数据报文,查询本地数据转发队列,判断是否有本地数据转发,若没有则检查远程转发数据队列,若不是,则判断是否收到请求,若是,则转发本地数据报文,判断是否通讯成功,若成功,则判断是否收到请求,若不成功,则异常处理,判断是否收到请求,若收到,则进行处理注册请求、处理上行链路校准、处理下行链路校准,处理数据传说请求,判断是否全局路由表更新,若是,则更新路由表。

进一步地说,还包括一个以上中继节点,各个中继节点和从站节点与主站进行入网注册后进行无线数据通信。

进一步地说,所述中继节点的注册流程如下:开始中继,上电初始化,判断是否注册入网,若是,则检查远程数据转发队列后,判断是否有数据需要转发,若没有,检查链路信息查询请求,若有,则转发数据报文,判断通信是否成功,若没有,则进入异常处理,判断网络是否异常,若是,则判断是否注册入网,若没有,则检查链路信息查询队列后,判断是否有链路信息查询请求,若没有,则查询链路信息,若有,则向主站或父节点发起请求,查询链路信息,发送调度信标,判断是否收到请求事件,若否,则检查远程数据转发队列,若是,则事件类型分类,设备注册,进入注册流程,数据链路校准,数据校准处理,数据转发,进入数据转发流程,判断网络是否同步到时钟,若否,则检查远程数据转发队列,若是,则同步时钟,则检查远程数据转发队列。

进一步地说,所述中继节点在注册成功了之后,发送网络调度信标,给其他节点提供入网注册的接入能力发送本地数据给网络中任意节点,接收网络中任意节点发送给本节点的数据,充当其他节点的中继节点,转发其他节点的数据报文。

进一步地说,所述从机端或者中继节点向主机端发送数据时,直接向主机端发起发送请求,主机端收到请求后进入数据接收流程。

进一步地说,所述中继节点定期向信道中发送网络调度信标,给其他节点提供入网注册的接入能力,如果有数据需要转发,则为其提供数据转发任务。

本发明的有益效果在于:

本发明公开了一种基于sub-ghz的无线自组网方法及系统,通过由主机端与多个从机端自动组网实现数据双向通信,主机端上电时将对所有信道进行信道评估,选出最佳通信信道,并在此信道上设置无线参数,开始工作,当主机端开启配对通道时,主机端会向所在信道公布节点信息。从机端或者中继节点如果此时也开启配对功能,从机端或者中继将对系统的全部工作信道逐一进行扫描和监听,记录有效的接入点信息,并对比该主机端信息的panid、passwd等信息,如果对比一致则发送配对请求给该主机端进行相应请求。主机端通过验证后则将该节点加入本网络,否则拒绝加入,并反馈配对信息。如果通过配对,从机端或者中继节点则可以实现和主机端之间是数据通信。主机端定期向工作信道中公布主机端信息,信息包括节点设备地址、panid、节点时钟信息,从机端或者中继收到该信息后可以实现入网、时钟同步等工作,当主机端有数据需要发送给设备节点时,主机端会启用tdma机制发送调度信标,同时向指定节点或者广播数据发送请求,从机端收到调度信号并且收到数据接收请求时向主机端应答接收就绪,并进入数据接收流程,从机端或者中继需要向主机端发送数据时,直接向主机端发起发送请求,主机端收到请求后进入数据接收流程,中继会定期向信道中发送网络调度信标,给其他节点提供入网注册的接入能力,如果有数据需要转发则为其提供数据转发任务,从而实现更大规模的组网,同时中继本身可以像从机端一样实现与其他节点通信的功能,达到提高系统容量的目的。通过分布式计算和异步变频通讯技术,结合了tdma和fdma的多址接入机制,提供了高带宽,低延时,大容量的组网特性,集合了局域网和广域网,传感网和传输网的异构难题,实现了网络覆盖范围的平滑延伸。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式结合附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明中一种基于sub-ghz的无线自组网方法及系统中台注册流程的工作流程图;

图2为本发明中一种基于sub-ghz的无线自组网方法及系统中报文处理线程的工作流程图;

图3为本发明中一种基于sub-ghz的无线自组网方法及系统中中继节点的注册流程的工作流程图;

图4为本发明中一种基于sub-ghz的无线自组网方法及系统中系统处理流程图的流程图。

具体实施方式

下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1所示,本实施例提供了一种基于sub-ghz的无线自组网方法及系统,包括由主机端与多个设备节点之间自动构建组网实现数据双向通信;

主机端:

s1:上电初始化;主机端上电时将对所有信道进行信道评估,选出最佳通信信道,并在此信道上设置无线参数,开始工作;

s2:进行分布协作式执行网络信标调度线程、后台注册流程、报文处理线程、网络状态处理线程、其他线程;

从机端;

s01:上电初始化,初始化射频参数,扫描所有信道寻找主站所在工作信道位置;

s02:节点对所有信道进行逐一搜索并记录相应信道中的主站信息;并确定工作信道、数据频率、根据估算链路预算得到结果去做动态增益调整,开始工作;

s03:系统检查是否有本地数据通讯请求,如果则有呼叫父节点,父节点应答后检查网络同步时间,如果网络同步时间到来则和主站同步时间,时间同步后则继续数据通信,将收到的数据压入接收队列,等待异步处理。

通过由主机端与多个从机端自动组网实现数据双向通信,主机端上电时将对所有信道进行信道评估,选出最佳通信信道,并在此信道上设置无线参数,开始工作,当主机端开启配对通道时,主机端会向所在信道公布节点信息。从机端或者中继节点如果此时也开启配对功能,从机端或者中继将对系统的全部工作信道逐一进行扫描和监听,记录有效的接入点信息,并对比该主机端信息的panid、passwd等信息,如果对比一致则发送配对请求给该主机端进行相应请求。主机端通过验证后则将该节点加入本网络,否则拒绝加入,并反馈配对信息。如果通过配对,从机端或者中继节点则可以实现和主机端之间是数据通信。主机端定期向工作信道中公布主机端信息,信息包括节点设备地址、panid、节点时钟信息,从机端或者中继收到该信息后可以实现入网、时钟同步等工作,当主机端有数据需要发送给设备节点时,主机端会启用tdma机制发送调度信标,同时向指定节点或者广播数据发送请求,从机端收到调度信号并且收到数据接收请求时向主机端应答接收就绪,并进入数据接收流程,从机端或者中继需要向主机端发送数据时,直接向主机端发起发送请求,主机端收到请求后进入数据接收流程,中继会定期向信道中发送网络调度信标,给其他节点提供入网注册的接入能力,如果有数据需要转发则为其提供数据转发任务,从而实现更大规模的组网,同时中继本身可以像从机端一样实现与其他节点通信的功能。

参见图1所示,后台注册流程的注册流程如下:开始注册后台线程,判断是否激活线程,若是则判断是否收到节点注册请求,若不是则判断等待是否超时,若等待超时则发送无效接入点信息,并停止线程流程后进入判断是否激活线程,若是收到节点注册请求则对比验证panid、passwd等的合法性,判断验证是否通过,若没有则发送无效接入点信息,并停止线程流程后进入判断是否激活线程,若通过验证,则发送应答信息,请求处理队列并设置注册线程为激活状态,更新路由表,存储节点信息,停止线程流程,判断是否激活线程,重复以上步骤。检测系统是否使能注册功能,如果不是则继续等待功能使能。如果功能使能,主站将向信道发送注册信标,表示本主站允许设备注册。在这个过程中主站不断检测是否有从站请求接入或者注册时间超时。注册时间超时由主站信道数决定(此时间也是从站入网最大搜索时间),假设超时时间为t,信道数为n,注册信标发射时间间隔为t1,中继数k。那么t=n*t1*k,(n>=1,t1>=6ms,k>=1),根据奈奎斯特采样定律,至少2倍的采样周期才是比较安全的,因此t=2*(n*t1*k),为了系统健壮与稳定性,我们在此基础上额外增加一倍的时间即t=3*(n*t1*k),如果从站节点请求注册,则执行验证节点的合法性即匹配panid与其他信息包括数据校验信息。如果验证失败则拒绝注册,否则,发送应答信息给对应的从站,将该节点注册后台信息放入请求处理队列,并设置注册处理线程为激活状态。完成该节点的注册消息之后,则将后台注册处理线程设置为挂起。更新全局路由队列表,并将该从站节点存入eeprom中。本线程建立远程数据队列即需要无线转发的数据和本地数据即通过上位机或者其他交互的数据队列。线程实时检查转发数据队列状态,当远程转发数据队列有数据需要转发时系统去提取节点的全局路径(每个节点入网时被记录的全局路径),同时提取下一条需要处理的几点地址,查询需要转发的数据节点是否已经在本地注册池中(所有从站注册成功时均会被记录在本地注册池中),如果在转发该数据,否则删除该无效报文,同时通知源节点路由无效,实时查询本地数据队列是否有数据需要转发,如果需要转发该报文,同时根据通讯情况处理发送结果,实时查看是否有请求事件,包括注册事件、上下行数据链路校准、数据传输请求等,根据全局路由表更新标志决定是否更新全局路由表。

参见图2所示,报文处理线程的处理线程如下:开始报文处理,检查远程转发数据队列,判断是否有远程数据需要转发,若有,则提取目标节点全局路径,获取下一条节点的地址,判断转发路径是否在本地注册池中,若不是,则删除报文,通知源节点路由无效,查询本地数据转发队列,若是,则转发数据报文,查询本地数据转发队列,判断是否有本地数据转发,若没有则检查远程转发数据队列,若不是,则判断是否收到请求,若是,则转发本地数据报文,判断是否通讯成功,若成功,则判断是否收到请求,若不成功,则异常处理,判断是否收到请求,若收到,则进行处理注册请求、处理上行链路校准、处理下行链路校准,处理数据传说请求,判断是否全局路由表更新,若是,则更新路由表。

具体的说,还包括一个以上中继节点,各个中继节点和从站节点与主站进行入网注册后进行无线数据通信。

参见图3所示,中继节点的注册流程如下:开始中继,上电初始化,判断是否注册入网,若是,则检查远程数据转发队列后,判断是否有数据需要转发,若没有,检查链路信息查询请求,若有,则转发数据报文,判断通信是否成功,若没有,则进入异常处理,判断网络是否异常,若是,则判断是否注册入网,若没有,则检查链路信息查询队列后,判断是否有链路信息查询请求,若没有,则查询链路信息,若有,则向主站或父节点发起请求,查询链路信息,发送调度信标,判断是否收到请求事件,若否,则检查远程数据转发队列,若是,则事件类型分类,设备注册,进入注册流程,数据链路校准,数据校准处理,数据转发,进入数据转发流程,判断网络是否同步到时钟,若否,则检查远程数据转发队列,若是,则同步时钟,则检查远程数据转发队列。

所有中继必须与主站进行入网注册后才能实现无线数据通信功能,中继在注册成功之后,用于发送网络调度信标,给其他节点提供入网注册的接入能力发送本地数据给网络中任意节点,接收网络中任意节点发送给本节点的数据,充当其他节点的中继节点,转发其他节点的数据报文。

从机端或者中继节点向主机端发送数据时,直接向主机端发起发送请求,主机端收到请求后进入数据接收流程。

中继节点定期向信道中发送网络调度信标,给其他节点提供入网注册的接入能力,如果有数据需要转发,则为其提供数据转发任务。

所有从站必须与主站进行入网注册后才能实现无线数据通信功能,其入网注册流程为:1.节点系统初始化。2.节点对所有信道进行逐一搜索并记录相应信道中的接入点信息(即主站信息)。3.搜索完毕后如果没有有效接入点则重复步骤1,否则选择最优接入点(有多个接入点),并对该节点的链路进行预算,如果链路预算不够则返回重新选择其他接入节点,如果链路预算足够则对上行链路参数进行校准、下行数据链路参数校准,校准成功后提取本地路由表,此过程如有失败都会删除该节点并返回重新选择其他接入点。4.进入入网注册流程时系统同时开启一个对码计数器,系统默认对码操作是255个心跳周期,取消操作的周期是16个心跳周期,其中一个心跳周期4-5个tdma时槽大小(具体时间大小因数据速率相关)。4.想主站发送注册请求,主站会根据注册规则判断此节点是否合法,如果合法则会批准入网注册并向从站返回注册信息,成功收到批复则进入正常节点流程。

如图4所示系统检查是否有本地数据通讯请求,如果则有呼叫父节点,父节点应答后检查网络同步时间,如果网络同步时间到来则和主站同步时间,时间同步后则继续数据通信,将收到的数据压入接收队列,等待异步处理。

当有数据需要发送时,系统也会将数据压入发送处理队列,每个数据都有数据crc数据校验,同时进行aes128进行加密,等待系统异步处理。

数据处理线程在处理发送数据,系统采用tcp的形式进行握手协商,协商完之后才进行数据通信,确保数据完整发送。

以上所述的仅是本发明的实施例,方案中公知的具体结构及特性等常识在此未作过多描述。应当指出,对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进。这些也应该视为本发明的保护范围,这些都不会影响本发明实施的效果和专利的实用性。本申请要求的保护范围应当以其权利要求的内容为准,说明书中的具体实施方式等记载可以用于解释权利要求的内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1