基于IEEE802.15.4和低功耗蓝牙双协议栈的混合通信方法及系统与流程

文档序号:17126997发布日期:2019-03-16 00:36阅读:542来源:国知局
基于IEEE 802.15.4和低功耗蓝牙双协议栈的混合通信方法及系统与流程

本发明涉及无线通信技术领域,具体来说是一种基于ieee802.15.4和低功耗蓝牙双协议栈的混合通信方法及系统。



背景技术:

随着通信技术的迅速发展,人们提出了在人自身附近几米范围之内通信的需求,这样就出现了个人区域网络(personalareanetwork,pan)和无线个人区域网络(wirelesspersonalareanetwork,wpan)的概念。wpan网络为近距离范围内的设备建立无线连接,把几米范围内的多个设备通过无线方式连接在一起,使它们可以相互通信甚至接入lan或internet。

ieee802.15.4简介

ieee802.15.4是zigbee、wirelesshart、miwi等规范的基础,描述了低速率无线个人局域网的物理层和媒体接入控制协议,属于ieee802.15工作组。在868/915m、2.4ghz的ism频段上,数据传输速率最高可达250kbps。其低功耗、低成本的优点使它在很多领域获得了广泛的应用。

ieee802.15.4网络是指在一个pos内使用相同无线信道并通过ieee802.15.4标准相互通信的一组设备的集合,又名lr-wpan网络。在这个网络中,根据设备所具有的通信能力,可以分为全功能设备(full-functiondevice,ffd)和精简功能设备(reduced-functiondevice,rfd)。ffd设备之间以及ffd设备与rfd设备之间都可以通信。rfd设备之间不能直接通信,只能与ffd设备通信,或者通过一个ffd设备向外转发数据。这个与rfd相关联的ffd设备称为该rfd的协调器(coordinator)。rfd设备主要用于简单的控制应用,如灯的开关、被动式红外线传感器等,传输的数据量较少,对传输资源和通信资源占用不多,这样rfd设备可以采用非常廉价的实现方案。

基于实时操作系统的802.15.4协议栈由应用层、传输层、网络层、6lowpan层、mac层、rdc层和物理层构成,如图1所示。

应用层位于最顶层,其功能为“处理”,可以对感知层采集数据进行计算、处理和知识挖掘,从而实现对物理世界的实时控制、精确管理和科学决策。

低功耗有损路由协议(rpl)是专门为传感器网络设计的路由协议,可以实现传感器节点之间的自组网。每个节点发送专用于组网的数据包,用于节点之间的通信,通过精巧的算法设计决定最佳路径。另外当网络发生改变或崩溃时,有对应的局部修复和全局修复机制。

传输控制协议/用户数据报协议(tcp/udp)与传统互联网一样,实现网络传输层协议tcp和udp协议。

网络控制报文协议(icmp):rpl层发送信息时会加上icmpv6协议的包头。

互联网协议第6版(ipv6):借鉴传统互联网的ip协议栈,实现了一个轻型的ip协议栈,只占用几kb的内存,非常适合在内存受限的嵌入式微控制器上运行。同时实现了ipv6地址架构,随着ipv4地址越来越少,ipv6是未来的趋势。

基于ipv6的低功耗无线个域网协议(6lowpan)的功能是对网络层数据包的头部进行压缩,减少传输数据量,并且对网络层的数据进行分包。由于802.15.4传输方式带宽有限,无线传输的不稳定性,传输数据量越小越好,所以需要对网络层数据包过长的头部进行压缩。802.15.4每次传输的最大字节数为127,当数据量大于127时,需要进行分包。

媒体接入控制(mac)层采用csma/ca协议,实现载波监听多路访问和冲突避免,当无线数据发生冲突或者由于无线干扰无法正常传输到目标节点,采用重传机制保证数据传输的稳定性。

无线周期性休眠(rdc):实现节点周期性休眠,保证低功耗运行。

物理层(phy)采用低功耗、低速率的无线标准ieee802.15.4。

低功耗蓝牙简介

低功耗蓝牙(bluetoothlowenergy):是一种无线技术标准,可实现固定设备、移动设备和楼宇个人域网之间的短距离数据交换(使用2.4~2.485ghz的ism波段的uhf无线电波)。

ble频率范围是2400mhz~2480mhz,信道宽度为2mhz;使用40个无线信道,其中3个广播信道,37个数据信道;使用自适应跳频(adaptivefrequencyhopping,afh),保证ble面对严重干扰时依然能够传输数据。

ble协议栈的体系结构如图2所示:

物理层(physicallayer,phy):是1mbps自适应跳频的gfsk射频,工作于免许可证的2.4ghzism(工业、科学与医疗)频段。

链路层(linklayer,ll):用于控制设备的射频状态,设备将处于五种状态之一:等待、广播、扫描、初始化、连接。广播设备不需要建立连接就可以发送数据,而扫描设备接收广播设备发送的数据;发起连接的设备通过发送连接请求来响应广播设备,如果广播设备接受连接请求,那么广播设备与发起连接的设备将会进入连接状态。发起连接的设备称为主机,接受连接请求的设备称为从机。

主机控制接口层(hostcontrollerinterface,hci):为主机和控制器之间提供标准通信接口。这一层可以是软件或者硬件接口,如uart、spi、usb等。

逻辑链路控制及自适应协议层(logicallinkcontrolandadaptationprotocol,l2cap):为上层提供数据封装服务,允许逻辑上的点对点数据通信。

安全管理层(securitymanager,sm):定义了配对和秘钥分配方式,并为协议栈其他层与另一个设备之间的安全连接和数据交换提供服务。

属性协议层(attributeprotocol,att):允许设备向另外一个设备展示一块特定的数据,称之为“属性”。在att环境中,展示“属性”的设备称为服务器,与之配对的设备称为客户端。链路层状态(主机和从机)与设备的att角色是相互独立的。例如:主机设备既可以是att服务器,也可以是att客户端;从机设备既可以是att服务器,也可以是att客户端。

通用属性配置文件层(genericattributeprofile,gatt):定义了使用att的服务框架。gatt规定配置文件(profile)的结构。在ble中,所有被profile或者服务用到的数据块称为“特性”,两个建立连接的设备之间的所有数据通信都是通过gatt子程序处理。gatt层用于已连接的蓝牙设备之间的数据通信,应用程序和profile直接使用gatt层。

通用访问配置文件层(genericaccessprofile,gap):负责处理设备访问模式和程序,包括设备发现、建立连接、终止连接、初始化安全特性和设备配置。

ieee802.15.4与蓝牙的双协议栈兼容

发明专利(201610095148.3)公开了一种zigbee与基于速率蓝牙之间的通信网关,可实现蓝牙和zigbee两种设备之间顺利流畅通信。但是存在的不足是,基于速率的蓝牙功耗较高,不适合应用于便携设备和传感节点上。

发明专利(201210076976.8)公开了一种混合zigbee和蓝牙的无线网关数据记录仪,将zigbee模块、低功耗蓝牙模块、存储模块、控制模块集成在一个设备中,在zigbee网络与蓝牙网络之间实现通信。但是存在的不足是,在zigbee设备中增加了额外的蓝牙模块,增加了设备成本,且只能进行少量数据的传输。

实用新型专利(201220622245.4)公开了一种基于蓝牙的zigbee无线传输装置,结合蓝牙与zigbee射频技术,实现了蓝牙设备对下端待控制设备远距离组网,并对下端待控制设备的控制与数据传输。但是存在的不足是,在zigbee设备中增加了额外的蓝牙模块,增加了设备成本,且只能进行少量数据的传输。



技术实现要素:

本发明要解决的技术问题是,在现有技术中缺少将802.15.4协议栈和低功耗蓝牙协议栈集成在一个处理器上,且能够实现根据数据量选择协议栈传输的混合通信方法和系统。

本发明通过以下技术方案来解决上述技术问题:

一种基于ieee802.15.4和低功耗蓝牙双协议栈的混合通信方法,应用于传感设备;所述包括以下步骤:传感设备默认处于802.15.4传输模式,通过周期性地从ieee802.15.4切换到低功耗蓝牙侦听是否有蓝牙数据的传输;当发现有蓝牙数据传输时,传感设备保持在ble传输模式,与蓝牙设备建立连接并传输数据,传输完成后,立即切换回802.15.4传输模式。

优选的,具体包括以下步骤:

步骤1:设备默认运行在802.15.4传输模式,利用休眠唤醒机制降低功耗;

步骤2:唤醒期内,设备侦听信道,如果有802.15.4数据传输,则维持在802.15.4模式进行数据传输,直到本次传输完成;

步骤3:在唤醒期,当802.15.4数据传输完成后,设备保存802.15.4网络参数,之后切换至ble协议栈;若切换失败,则进入步骤7;

步骤4:ble协议栈切换成功后,若作为ble从设备,发送ble广播;若作为ble主设备,侦听ble广播;

步骤5:若主设备收到ble广播或扫描响应,或从设备在发送ble广播之后收到扫描请求或连接请求,则进入步骤6;否则,进入步骤7,设备按照预设的协议栈切换周期返回802.15.4传输模式;

步骤6:设备保持ble传输模式,建立蓝牙连接;若蓝牙连接失败,则进入步骤7;否则,在ble传输模式下,完成大数据量传输;传输过程中,如果出现蓝牙连接中断,则进入步骤7;

步骤7:结束ble传输模式,设备切换回802.15.4传输模式;

步骤8:802.15.4协议栈切换成功后,从内存读取802.15.4网络参数,重新加入原有802.15.4无线传感网络;否则,返回步骤2。

优选的,双协议栈的切换周期,其中的802.15.4传输模式与ble传输模式的侦听信道时间比为1:1。

优选的,协议栈切换器的切换方法为:

步骤1.先进行802.15.4协议栈初始化,申请ram内存,配置射频模块寄存器,启动802.15.4协议栈;

步骤2.设备侦听802.15.4信道,判断是否侦听到802.15.4数据包,若是,进入步骤3,否则,进入步骤4;

步骤3.802.15.4数据传输;

步骤4.802.15.4侦听时间结束,或802.15.4数据传输结束后,802.15.4协议栈结束,释放ram内存;

步骤5.ble协议栈初始化,申请ram内存,配置射频模块寄存器,启动新协议栈;

步骤6.设备侦听ble信道或在ble信道发送广播,判断是否有ble数据包传输,若是,进入步骤7,否则,进入步骤8;

步骤7.ble数据传输;

步骤8.ble侦听时间结束,或ble数据传输结束后,ble协议栈结束,进入步骤1。

本发明还提供一种基于ieee802.15.4和低功耗蓝牙双协议栈的混合通信系统,应用于上述的方法;包括处理器,在处理器上集成有802.15.4协议、低功耗蓝牙协议、协议栈切换模块;所述处理器与协议栈切换模块通信实现802.15.4传输模式和ble传输模式分别与协议栈切换模块通信连接;

所述协议栈切换模块有预设的协议栈切换周期,默认处于802.15.4协议栈;协议栈切换模块在当前协议栈模式没有数据传输的情况下,按照切换周期,释放原协议栈的ram内存,然后开始为新协议栈申请ram内存,并通过配置射频模块寄存器,启动新协议栈,切换过程成功完成。

本发明的优点在于:

本发明提出了新的双协议栈混合通信方法,技术核心在于能够在处理器和内存资源极其有限的嵌入式传感器节点上高效集成ieee802.15.4和低功耗蓝牙两种协议栈,并实现两者之间灵活、稳定切换,从而使该通信技术具备ieee801.15.4的低功耗特性之外,兼具高速率通信的优点,传输速率提升至最高1mbps,可实现ieee802.15.4设备中大数据量的可靠传输,显著提高通信带宽、稳定性和能耗特性。

本发明提供的混合通信方法可在有限的射频硬件下完成ieee802.15.4和ble双协议栈的集成和切换,相对于传统设备,集成度高,体积小,节约设备成本。

附图说明

图1为背景技术中ieee802.15.4协议栈体系结构;

图2为背景技术中ble协议栈体系结构;

图3为本发明实施例1中ble主设备与从设备的连接流程图;

图4为本发明实施例1中设备的混合通信方法示意图;

图5为本发明实施例1中双协议栈切换流程图;

图6为本发明实施例1中双协议栈切换器的功能示意图;

具体实施方式

为使对本发明的结构特征及所达成的功效有更进一步的了解与认识,用以较佳的实施例及附图配合详细的说明,说明如下:

本实施的硬件平台使用双核芯片,包含cortex-m3和cortex-m0处理器;集成了无线射频模块,并由cortex-m0处理器单独管理;支持2.4ghz频段无线传输。

实施例1

如图3和图4所示,一种基于ieee802.15.4和低功耗蓝牙双协议栈的混合通信方法如下:

步骤1:设备默认运行在802.15.4传输模式,利用休眠唤醒机制降低功耗;

步骤2:唤醒期内,设备侦听信道,如果接收到802.15.4数据,或者有802.15.4数据需要发送,则维持在802.15.4模式进行数据传输,根据接收数据是单包或多包,判断接收是否完成;根据发送数据是单包或者多包并结合发送状态寄存器,判断发送是否完成;

步骤3:在唤醒期,当802.15.4数据传输完成后,设备保存802.15.4协议栈和网络参数;系统调用ble协议栈初始化接口,完成rf控制器寄存器配置,选择ble协议模式;完成ble从设备广播参数,或者主设备广播扫描和连接参数配置,执行ble协议栈的切换;若切换失败,则进入步骤7;

步骤4:ble协议栈切换成功后,若作为从设备,发送ble广播;若作为主设备,侦听ble广播;

步骤5:若主设备收到ble广播或扫描响应,或从设备在发送ble广播之后收到扫描请求或连接请求,则进入步骤6;否则,进入步骤7,设备按照预设的协议栈切换周期返回802.15.4传输模式;

步骤6:设备保持ble传输模式,建立蓝牙连接;若蓝牙连接失败,则进入步骤7;否则,在ble传输模式下,完成大数据量传输;传输过程中,如果出现蓝牙连接中断,则进入步骤7;

步骤7:主设备或者从设备发起终止连接请求,结束ble传输模式;系统从内存读取802.15.4协议栈参数,调用802.15.4协议栈初始化接口,完成rf控制器寄存器配置,选择802.15.4协议模式;并设置协议栈的休眠唤醒等参数,设备切换回802.15.4传输模式;

步骤8:802.15.4协议栈切换成功后,从内存读取802.15.4网络参数,重新加入原有802.15.4无线传感网络;否则,返回步骤2;

本实施例涉及的双协议栈的切换周期,其中的802.15.4传输模式与ble传输模式的侦听信道时间比为1:1。

从设备的角度来看,对于ble主设备,其混合通信方法如下:

步骤1:设备默认运行在802.15.4传输模式,遵从802.15.4设备的醒睡周期;

步骤2:唤醒期内,设备侦听信道,如果接收到802.15.4数据,或者有802.15.4数据需要发送,则维持在802.15.4模式进行数据传输,根据接收数据是单包或多包,判断接收是否完成;根据发送数据是单包或者多包并结合发送状态寄存器,判断发送是否完成;

步骤3:在唤醒期内,设备在802.15.4侦听时间结束后,或完成802.15.4数据传输后,保存802.15.4协议栈和网络参数;系统调用ble协议栈初始化接口,完成rf控制器寄存器配置,选择ble协议模式;完成ble从设备广播参数,或者主设备广播扫描和连接参数配置,执行ble传输模式的切换,成为ble主设备;若切换失败,则进入步骤6;

步骤4:ble协议栈切换成功后,主设备侦听ble广播,若发现有从设备发送广播,则进入步骤5;否则,进入步骤5;

步骤5:主设备侦听到从设备发送的广播,回复扫描请求给从设备,之后保持ble传输模式,与从设备建立连接,传输数据;传输过程中,如果出现蓝牙连接中断,则进入步骤6;

步骤6:主设备或者从设备发起终止连接请求,结束ble传输模式;系统从内存读取802.15.4协议栈参数,调用802.15.4协议栈初始化接口,完成rf控制器寄存器配置,选择802.15.4协议模式;并设置协议栈的休眠唤醒等参数,主设备切换回802.15.4传输模式;

步骤7:802.15.4协议栈切换成功后,从内存读取802.15.4网络参数,重新加入原有802.15.4无线传感网络。

对于ble从设备,其混合通信方法如下:

步骤1:从设备默认运行在802.15.4传输模式,遵从802.15.4设备的醒睡周期;

步骤2:唤醒期内,设备侦听信道,如果接到到802.15.4数据,或者有802.15.4数据需要发送,则维持在802.15.4模式进行数据传输,根据接收数据是单包或多包,判断接收是否完成;根据发送数据是单包或者多包并结合发送状态寄存器,判断发送是否完成;

步骤3:在唤醒期内,设备在802.15.4侦听时间结束后,或完成802.15.4数据传输后,保存802.15.4协议栈和网络参数;系统调用ble协议栈初始化接口,完成rf控制器寄存器配置,选择ble协议模式;完成ble从设备广播参数,或者主设备广播扫描和连接参数配置,执行ble传输模式的切换,成为ble从设备;

步骤4:ble协议栈切换成功后,从设备发送ble广播,若在本次ble传输期间,发现有主设备回复的扫描请求或连接请求,则进入步骤4;否则,进入步骤5;

步骤5:从设备侦听到主设备发送的扫描请求或连接请求,保持ble传输模式,与主设备建立连接,传输数据;传输过程中,如果出现蓝牙连接中断,则进入步骤6;

步骤6:主设备或者从设备发起终止连接请求,结束ble传输模式;系统从内存读取802.15.4协议栈参数,调用802.15.4协议栈初始化接口,完成rf控制器寄存器配置,选择802.15.4协议模式;并设置协议栈的休眠唤醒等参数,从设备切换回802.15.4传输模式;

步骤7:802.15.4协议栈切换成功后,从内存读取802.15.4网络参数,重新加入原有802.15.4无线传感网络。

如图5所示,其中协议栈切换器的切换方法为:

步骤1.先进行802.15.4协议栈初始化,申请ram内存,配置射频模块寄存器,启动802.15.4协议栈;

步骤2.设备侦听802.15.4信道,判断是否侦听到802.15.4数据包,若是,进入步骤3,否则,进入步骤4;

步骤3.802.15.4数据传输;

步骤4.802.15.4侦听时间结束,或802.15.4数据传输结束后,802.15.4协议栈结束,释放ram内存;

步骤5.ble协议栈初始化,申请ram内存,配置射频模块寄存器,启动新协议栈;

步骤6.设备侦听ble信道或在ble信道发送广播,判断是否有ble数据包传输,若是,进入步骤7,否则,进入步骤8;

步骤7.ble数据传输;

步骤8.ble侦听时间结束,或ble数据传输结束后,ble协议栈结束,进入步骤1。

实施例2

一种基于ieee802.15.4和低功耗蓝牙双协议栈的混合通信系统,设备应用于上述实施例1的方法;包括处理器,在处理器上集成有802.15.4协议、低功耗蓝牙协议、协议栈切换模块;所述处理器与协议栈切换模块通信实现802.15.4传输模式和ble传输模式;

协议栈切换模块预设有协议栈切换周期,默认处于802.15.4协议栈;协议栈切换模块在当前协议栈模式没有数据传输的情况下,按照切换周期,释放原协议栈的ram内存,然后开始为新协议栈申请ram内存,并通过配置射频模块寄存器,启动新协议栈,切换过程成功完成。

实施例3

一种基于ieee802.15.4和低功耗蓝牙双协议栈的混合通信系统,设备应用于上述实施例1的方法,在本实施例中,802.15.4设备的唤醒时间设置为125毫秒,休眠时间设置为875毫秒;802.15.4协议中传输一个数据包的时间约为8毫秒,而低功耗蓝牙可以在大约3毫秒内建立连接、发送数据并断开连接;802.15.4协议栈与ble协议栈的切换时间均在微秒级的时间范围内;因此,可实现在至少一次802.15.4唤醒期间内的由802.15.4协议栈切换至ble协议栈,再由ble协议栈切换回802.15.4协议栈这一套完整的协议栈切换和混合通信过程。

工作原理:

本实施例提出了新的双协议栈混合通信方法,在无线传感设备的处理器上分别集成有802.15.4协议、低功耗蓝牙协议、协议栈切换模块;在有低功耗通信要求时使用ieee802.15.4进行通信,在有大数据量通信要求且能耗限制较少时灵活切换到低功耗蓝牙进行通信,传感设备默认处于802.15.4传输模式,通过周期性地从ieee802.15.4切换到低功耗蓝牙侦听是否有蓝牙数据的传输。在发现有蓝牙数据传输时,传感设备保持在ble传输模式,与蓝牙设备建立连接并传输数据,传输完成后,立即切换回802.15.4传输模式。

使用了低功耗蓝牙技术,采用ble协议栈,具有较强的可裁剪性,比如针对特定的功能需求,att属性协议复杂度可以极大的降低,安全管理功能也可以简化流程甚至取消加密功能,逻辑链路控制和适配协议可以根据需求省略连接参数更新功能等,在有限的硬件资源上,实现了一套射频硬件完成802.15.4和ble双协议栈的集成和切换。基于这个特点,软件编译文件就具备了大小可控的特点,该特点解决了flash不足问题。对于ram不足问题,采用申请内存分配技术,即任一协议启动时,向系统申请内存分配;结束时释放内存。利用该技术就可以解决ram不足问题。

协议栈切换模块有预设的协议栈切换周期,默认处于802.15.4协议栈。协议栈切换模块在当前协议栈模式没有数据传输的情况下,按照切换周期,释放原协议栈的ram内存,然后开始为新协议栈申请ram内存,并通过配置射频模块寄存器,启动新协议栈,切换过程成功完成。

综上,利用低功耗蓝牙协议栈可裁剪的特点和内存申请及释放技术,双核芯片的硬件平台可以很好的支持双协议栈集成和切换功能。

以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是本发明的原理,在不脱离本发明精神和范围的前提下本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明的范围内。本发明要求的保护范围由所附的权利要求书及其等同物界定。

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