应用于无线通信的数据链路层的制作方法

文档序号:19093495发布日期:2019-11-09 00:10阅读:303来源:国知局
应用于无线通信的数据链路层的制作方法

本实用新型主要涉及无线通信技术领域,尤其涉及一种应用于无线通信的数据链路层。



背景技术:

工业物联网在蓬勃发展,使得Sub-G(如433Hz、Lora等)、2.4GHz等中短距离的无线通信技术在环境监控/采集、设备监控等行业得到了广泛的应用。目前,大多采用MCU+无线射频芯片的组合方式代替有线通信,然而现有的无线通信模块,大多不具备数据链路的功能,也就是没有用软件方式对无线数据包进行逻辑控制,仅实现了无线传输的功能。实际使用中,现有的无线通信模块存在一些明显的缺点:

1、不能实现组网通信,只能一对一或少量节点通信,无法组成系统;

2、当出现多个监控/采集点同时向中心节点(网关)发送数据包时,容易造成无线信道冲突,导致中心节点(网关)没办法正确解调数据;

3、缺少数据链路层的地址过滤、校验和加密功能,安全性不高;

4、不具备休眠检测机制,无法应用于超低功耗的应用场景。



技术实现要素:

本实用新型要解决的技术问题是提供一种能实现组网通信、数据传输准确、安全性高且功耗低的数据链路层。

为了解决上述技术问题,本实用新型的技术方案是提供一种应用于无线通信的数据链路层,包括信道冲突避免单元,所述信道冲突避免单元连接链路层应答机制单元、数据加密单元、网络管理单元及临时缓存单元,所述链路层应答机制单元和所述网络管理单元均连接链路逻辑过滤和解析单元,数据接收单元、数据解密及校验单元、所述链路逻辑过滤和解析单元依次连接。

优选地,所述信道冲突避免单元,采用载波侦听多路访问/冲突避免的模型,每个节点都具备相同的抢占信道的优先级,通过操作射频模块获得当前无线信道的占用与繁忙情况,实现多节点并发时的冲突避免。

优选地,所述链路层应答机制单元,采用超时重传和应答机制。

优选地,所述网络管理单元统一协调处理无线组网、入网与退网,使得同一环境下允许多个网络同时存在且各自通信不错乱。

优选地,所述数据加密单元连接应用层的用户数据发送单元,所述网络管理单元连接应用层操作接口,所述链路逻辑过滤和解析单元连接应用层的用户数据接收接口。

优选地,还包括电源管理及链路使用率检测单元,用于提供休眠控制接口,在链路层空转的情况下,使模组进入低功耗模式。

更优选地,所述电源管理及链路使用率检测单元检测和判断各个数据队列的数据是否被处理完毕,以及判断链路层是否在执行数据接收或发送,以及判断链路层是否在等待应答,如果各个数据队列的数据都被处理完毕,且链路层不在执行数据接收或发送,且链路层不在等待应答,则说明链路层在空转。

进一步地,所述数据链路层运行于无线模块上,所述无线模块包括微控制器和射频模块,所述微控制器和射频模块通过SPI接口进行数据交互;所述数据链路层运行于所述微控制器上,所述射频模块包括信道冲突检测单元、射频发送单元、射频接收单元、功耗控制单元,所述信道冲突检测单元连接所述信道冲突避免单元,所述射频发送单元连接所述临时缓存单元,所述射频接收单元连接所述数据接收单元,所述功耗控制单元连接所述电源管理及链路使用率检测单元。

本实用新型还提供了上述的应用于无线通信的数据链路层的实现方法,其特征在于,包括组网过程和通信过程,所述通信过程在组网过程完成之后进行;

所述组网过程包括如下步骤:

步骤1、通过链路层的网络管理单元指定一个无线模块工作在主机模式,称之为中心节点;

步骤2、中心节点中,链路层的网络管理单元自动建立一个特定信道的网络,建立所述网络的具体过程为:通过SPI接口操作射频模块,射频模块探测当前环境中无线通信信道的占用情况,通过获取的占用情况,确定当前的信道是否可用,如果可用,链路层的网络管理单元根据射频模块返回的数据,建立一个特定信道的网络;如果不可用,则操作射频模块切换到下一个信道,执行同样的探测工作,直到网络建立成功;

步骤3、通过链路层的网络管理单元指定其它无线模块工作在从机模式,称之为终端节点;

步骤4、终端节点中,链路层的网络管理单元自动执行搜索网络的动作,并将搜索到的网络加入到步骤2中中心节点建立的网络中,经过上述步骤,组网过程完成;

所述通信过程包括如下步骤:

步骤1、无论是中心节点还是终端节点,来自应用层的待发送的数据,都会被填充到应用层的用户数据发送单元中;

步骤2、链路层会实时检测所述用户数据发送单元的数据队列的状态,如果有待发送数据,取出最早进入数据队列的待发送数据,数据加密单元对取出的数据进行加密,加密后的数据被暂存到临时缓存单元中;

步骤3、链路层启动信道冲突避免单元首先会产生一个等待随机数,称之为等待节拍;随后,时钟会产生周期性的定时节拍,每一个定时节拍到达,根据射频模块中的信道冲突检测单元返回的信道空闲或占用的情况,如果信道空闲,链路层的信道冲突避免单元会对等待节拍减1,占用则不执行减1;该过程重复直到等待节拍减到0;

步骤4、临时缓存单元的数据立即经过SPI接口传输到射频模块的射频发送单元,随后调制成无线信号发送出去;

步骤5、发送方的链路层启动链路应答机制单元,启动应答等待、超时重传机制;

步骤6、当前网络的其他节点的射频模块均能收到发送方发送的数据包,所述数据包被写进数据接收模块的数据队列中,经过数据解密及校验单元,解密数据和执行错误校验;

步骤7、各个节点中,链路逻辑过滤和解析单元对比数据包中目的地址与自身地址是否相等,如果不相等则丢弃数据包,如果相等则处理数据包,表明该帧数据包的确是发给自己的;

步骤8、确认数据帧是否需要应答,如果需要应答,回应一个应答信号;

步骤9、发送方收到应答信号后,停止应答等待,表明数据已经正确被接收方处理;如果等待应答超时,发送方则启动超时重传,返回步骤3。

优选地,同一个网络中,所有的节点都使用相同的无线信道。

相比现有技术,本实用新型提供的应用于无线通信的数据链路层具有如下有益效果:

1、支持组建网络、网络容量大,单个网络理论最多容纳255个节点;

2、采用信道冲突检测和抢占信道的方式,避免了通信冲突;

3、具有加密功能和校验功能,保证了通信安全与完整;

4、系统稳定性高;

5、系统具备休眠检测机制,适用于超低功耗的应用场景。

附图说明

附图通过示例说明本实用新型,而非限制本实用新型。类似的附图标记指代类似的元件。

图1为本实施例提供的应用于无线通信的数据链路层的架构图。

具体实施方式

参考本文阐述的详细图和描述,可以最好地理解本公开。

图1为本实施例提供的应用于无线通信的数据链路层的架构图,所述的应用于无线通信的数据链路层运行在无线模块上,无线模块基于Silicon Labs EFM32微控制器,射频芯片采用Si4438Sub-G射频IC,二者之间采用高速SPI接口实现数据交互。

数据链路层包括如下单元模块:

核心模块为信道冲突避免(CCA)单元,其设计思想遵循CSMA/CA(载波侦听多路访问/冲突避免)的模型,每个节点都具备相同的抢占信道的优先级,符合平等通信的设计思想,通过操作Si4438Sub-G射频IC获得当前无线信道的占用与繁忙情况,实现多节点并发时的冲突避免;

链路层应答机制(Link Ack)单元,具备超时重传和应答功能,是保证数据高质量通信的一层重要保障;

网络管理单元,实现了无线组网、入网与退网的功能,使得同一环境下允许多个网络同时存在且各自通信不错乱;

数据收发单元,均采用高效队列,能够应对突发状况下的大数据通信,不丢包;

数据加密、解密以及校验单元,用于保证通信的安全性与数据完整性;

电源管理(PM)、链路使用率检测单元,提供休眠控制接口,在链路空转的情况下,主动通知微控制器或应用层,可设置模组进入低功耗模式(LPM),降低电能损耗。

链路层软件运行流程可以分为组网过程和通信过程,其中通信过程需在组网过程完成之后。

组网过程方法如下:

步骤1、通过链路层的网络管理单元指定第一无线模块工作在主机模式,称之为中心节点。

步骤2、中心节点中,链路层的网络管理单元自动建立一个特定信道的网络,建立网络的依据:通过SPI接口操作Si4438Sub-G射频IC,射频IC会执行探测当前环境中,无线通信信道的占用情况。通过获取的RSSI值的大小,确定当前的信道是否可用,如果可用,链路层的软件管理单元根据Si4438Sub-G射频IC返回的数据,建立一个特定信道的网络。如果不可用,则操作射频IC切换到下一个信道,执行同样的探测工作。直到网络建立成功。

步骤3、通过链路层的网络管理单元指定第二无线模块工作在从机模式,称之为终端节点。

步骤4、终端节点中,链路层的网络管理单元会自动执行搜索网络的动作。尝试加入到步骤2中,中心节点建立的网络。经过上述步骤,组网过程完成。

如果有多个从机,执行步骤3和步骤4同样的操作。

同一个网络中,所有的节点都使用相同的无线信道。

通信过程方法如下:

步骤1、无论是中心节点还是终端节点,来自应用层的待发送的数据,都会被填充到链路层的用户数据(应用层数据)发送对列中。

步骤2、链路层会实时检用户数据(应用层数据)发送对列的状态,如果有待发送数据,取出最早进入队列的待发送数据,软件加密单元对数据进行加密。加密后的数据被暂存到发送临时缓存中。

步骤3、链路层启动信道冲突避免(CCA)单元,该单元首先会随即的产生一个等待随机数,称之为等待节拍。随后,时钟Tick会产生周期性1毫秒的定时节拍,每一个节拍到达,根据Si4438Sub-G射频IC中的信道冲突检测单元返回的信道空闲或占用的情况,如果信道空闲,链路层的信道冲突避免(CCA)单元会对等待节拍减1,占用则不执行减1。该过程重复直到等待节拍减到0。

步骤4、发送临时缓存的数据立即经过SPI接口,传输到Si4438Sub-G射频IC的RF发送FIFO。随后调制成无线信号发送出去。

步骤5、发送方的链路层启动链路应答机制(LinkAck)单元。启动应答等待、具备超时重传机制。

步骤6、当前网络的其他节点的Si4438Sub-G射频IC均能收到发送方发送的数据包。来自发方的数据包被写进数据接收队列中,经过软件解密和校验单元,解密数据和执行错误校验。

步骤7、各个节点中,链路逻辑过滤和解析单元通过对比数据包中目的地址与自身地址是否相等,如果不相等则丢弃数据包。相等则处理数据包,表明该帧数据包的确是发给自己的。

步骤8、根据数据帧是否需要应答,如果需要应答,回应一个应答信号。

步骤9、发送方收到应答信号后,停止应答等待。表明数据已经正确被接收方处理。如果等待应答超时,发送方则启动超时重传,步骤3到步骤8再次被执行。

链路层提供低功耗检测机制,由电源管理(PM)检测、链路使用率检测单元实现。该单元实时运行,通过检测和判断各个队列的数据是否被处理完毕,以及判断链路层是否在执行数据接收或发送,以及是否在等待应答等条件,如果每隔条件都满足,则说明链路层在空转。可通过SPI接口操作Si4438 Sub-G射频IC进入低功耗模式(LPM),并设置Silicon Labs EFM32微控制器进入低功耗模式(LPM),最大程度降低电能损耗,以满足低功耗应用场景。

链路层的高效运行离不开硬件的支持。本实用新型使用的无线模块支持软件编程,在运行链路层的同时,还运行应用层软件。对于RF射频天线部分增加防雷设计。同时为了进一步增强抗干扰,无线模块增加了屏蔽罩,适应复杂的工业环境。性能更加稳定,应用范围更加广泛。

本实施例提供的应用于无线通信的数据链路层的实现方法具有如下特点:

(1)利用Silicon Labs的EFM32超低功耗ARM微控制器+Si4438无线射频芯片作为硬件载体,使用软件技术集成了数据链路层,抢占信道机制+信道冲突避免的双机制保证通信稳定。

(2)不增加硬件成本的前提下,提升了通信质量和效率。

(3)数据包加密,安全性高。

(4)支持电源管理,适应低功耗应用场景。

(5)对Sub-G和2.4GHz通信均具备良好兼容性。

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