一种自适应更新蓝牙从设备接收窗的方法技术

技术编号:28222734 阅读:55 留言:0更新日期:2021-04-28 09:49
本发明专利技术公开了一种自适应更新蓝牙从设备接收窗的方法,包括开启接收窗,设定每个接收周期内连接事件起点时刻为T2,使能T2时刻中断,并为其分配一个初值为N的计数器;每产生一个T2时刻中断,判断计数器中数值是否为0,若不为0,将计数器中数值减1;若为0,关闭接收窗;在接收窗的窗口期内,通过基带接收解调完成信号并判断当前时刻计数器中数值,若数值为0或N,更新当前从设备的时钟参数,将连接事件起点时刻对准当前数据包的起点;否则直接接收数据包并对数据进行解码。该方法设置蓝牙从设备的接收窗,解决了低功耗蓝牙从设备连接不稳定问题;通过动态调整接收窗的开启时间,提升了从设备的稳定性,尽量减少开窗时间,节约功耗。节约功耗。节约功耗。

【技术实现步骤摘要】
一种自适应更新蓝牙从设备接收窗的方法


[0001]本专利技术涉及蓝牙低功耗数据传输
,更具体的说是涉及一种自适应更新蓝牙从设备接收窗的方法。

技术介绍

[0002]目前,BLE(Bluetooth Low Energy,蓝牙低能耗)技术是一种低成本、短距离、可互操作的无线技术。为了实现这种技术,BLE协议规定在不需要射频的时候,彻底将空中射频关断。与传统的蓝牙技术相比,BLE技术通过缩短射频开启时间、快速建立连接以及降低收发峰值功耗等方式实现设备低功耗。
[0003]在BLE协议中,包含了两个角色,但是,在连接建立以及连接成功的不同时段,角色的名字不同。
[0004]设备建立连接的过程如附图1所示,其中,发出广播的设备称之为广播者,发出扫描包的设备称之为扫描者。广播者发送广播报文开始广播,扫描者接收到广播报文之后,发出扫描请求,接着收到广播者的扫描应答,完成扫描过程。
[0005]广播者继续发送广播报文进行广播,扫描者发出连接请求,在连接请求的报文中包含了连接开始的时间以及连接之后的相关信息。广播者接收到连接请求,解析相关信息之后,等待连接开始。一旦收到或者发出连接请求报文,设备即建立了连接,数据交换随之开始,广播者和扫描者也随之变更为从设备和主设备。
[0006]根据协议要求,从设备的连接过程如图2所示,广播者接收到“CONNECT_IND”(即“连接请求”)报文之后,解析出“transmitWindowOffset”、“transmitWindowSize”和“ConnInterval”(即“接收窗偏移时间”、“接收窗长度”和“连接间隔”),以及数据报文发送通道等信息,具体可以参见图2中下划线字体部分,其中“transmitWindowDelay”(即“接收窗延迟时间”)固定为1.25ms或2.5ms,然后在对应的时间内打开接收窗,直至接收到数据报文或者是接收窗口关闭。
[0007]当从设备接收到第一个数据包时,此次连接的锚点即被确定,也就是说,主设备发送数据包的起始点被从设备确定。之后,从设备应该在每个“ConnInterval”间隔打开接收窗准备接收。
[0008]在实际应用中,发送“CONNECT_IND”之后,扫描者首先进入到连接状态,变更为主设备,同时会在协议规定的窗口内任意时间发送第一个数据报文,随后与从设备进行数据交换,直至此次连接事件结束。之后,主设备会按照“ConnInterval”开始新的连接事件,也就是说,主设备会按照之前确定的时间间隔,定时给从设备发送数据报文。
[0009]广播者接收到“CONNECT_IND”之后,可以确定接收窗口以及接收的数据通道。从设备接收到第一个数据包开始,即确定下一次接收窗开启的时间。且从设备不会无限期等待接收数据包,当超出了从设备设定的接收时间,仍然没有接收到数据包,应该结束本次连接事件,并等待下次连接事件开始。
[0010]在实际应用中,每台设备的时钟源会有误差,考虑到从设备接收窗口的存在,随着
误差的累积以及数据交换时长,会产生如图3和图4所示的两种情况:一是从设备接收到的数据包,越来越接近从设备接收窗的尾部,最终偏移到接收窗口之外;二是从设备接收到的数据包,越来越接近从设备接收窗的头部,最终早于接收窗口之前打开。
[0011]从设备发生以上两种情况,主设备发送的数据包将会在从设备的接收窗口之外,从设备将不会再接收到主设备的数据包,也无法回复数据包给主设备维系连接,本次数据交换将会中断,最终导致连接断开,该问题的存在,会严重影响主设备与从设备之间数据传输过程的稳定性。
[0012]因此,如何提供一种功耗低且更加稳定可靠的自适应更新蓝牙从设备接收窗的方法是本领域技术人员亟需解决的问题。

技术实现思路

[0013]有鉴于此,本专利技术提供了一种自适应更新蓝牙从设备接收窗的方法,该方法有效解决了低功耗蓝牙从设备由于时钟不稳定以及时钟不匹配等原因引起的连接不稳定的问题,保障了主设备与从设备之间的正常通信。
[0014]为了实现上述目的,本专利技术采用如下技术方案:
[0015]一种自适应更新蓝牙从设备接收窗的方法,该方法包括:
[0016]开启接收窗,设定每个接收周期内连接事件起点时刻为T2,使能T2时刻中断,并为其分配一个初值为N的计数器;
[0017]每当产生一个T2时刻中断,判断所述计数器中数值是否为0,若所述计数器中数值不为0,将所述计数器中数值减1;若所述计数器中数值为0,则关闭接收窗,结束当前连接事件,等待下一次连接事件;
[0018]在接收窗的窗口期内,通过基带接收解调完成信号,并判断当前时刻所述计数器中数值,若所述计数器中数值为0或N,则更新当前从设备的时钟参数,将T2时刻对准当前数据包的起点;若所述计数器中数值为0至N之间的数值,则直接进入下一步;
[0019]接收数据包,并对接收到的所述数据包中的数据进行解码。
[0020]进一步地,上述方法中,在开启接收窗前,还包括:
[0021]在T2时刻之前,设置准备接收时刻,将所述准备接收时刻作为接收窗的开启时刻。
[0022]进一步地,所述准备接收时刻与所述T2时刻的时间间隔为312μs。
[0023]由于之前接收到第一次连接事件的第一个数据包时,已经进行了主从同步,因此,理想状态下,下一次连接事件的起点仍然是在连接事件起点时刻,从设备只需要在T2时刻打开接收窗即可以接收到新的数据包。
[0024]然而在实际应用中,存在各种误差和延迟,因而本专利技术在T2时刻之前,设置了准备接收时刻,在准备接收时刻开始准备接收,提前312μs打开接收窗,进一步解决了由于误差和延时的存在导致从设备接收数据包失败的问题。
[0025]进一步地,所述计数器的初值N为2或3。计数器的初值N为大于0的整数,理论上是没有上限的,但是,在实际应用中,值越大越耗电,考虑到兼顾计数器正常工作和节约能耗的问题,本专利技术将N设置为2或者3。
[0026]进一步地,所述接收窗的窗口期为2个收发转换周期,即2.5ms。
[0027]经由上述的技术方案可知,与现有技术相比,本专利技术公开提供了一种自适应更新
蓝牙从设备接收窗的方法,该方法通过设置蓝牙从设备的接收窗,可以很好地解决低功耗蓝牙从设备由于时钟不稳定以及时钟不匹配引入的连接不稳定问题;通过动态调整接收窗的开启时间,提升了从设备的稳定性;该方法尽量减少开窗时间,节约功耗;该方法简单、易于实现,不依赖硬件环境,仅通过软件实现,并且占用系统资源更少,可行性更强。
附图说明
[0028]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0029]图1为两台蓝牙设备建立连接过程的原理示意图;...

【技术保护点】

【技术特征摘要】
1.一种自适应更新蓝牙从设备接收窗的方法,其特征在于,包括:开启接收窗,设定每个接收周期内连接事件起点时刻为T2,使能T2时刻中断,并为其分配一个初值为N的计数器;每当产生一个T2时刻中断,判断所述计数器中数值是否为0,若所述计数器中数值不为0,将所述计数器中数值减1;若所述计数器中数值为0,则关闭接收窗,结束当前连接事件,等待下一次连接事件;在接收窗的窗口期内,通过基带接收解调完成信号,并判断当前时刻所述计数器中数值,若所述计数器中数值为0或N,则更新当前从设备的时钟参数,将T2时刻对准当前数据包的起点;若所述计数器中数值为0至N之间的数值,则直接进入下一步;接收...

【专利技术属性】
技术研发人员:于娜卢鼎刘春花
申请(专利权)人:大唐半导体科技有限公司
类型:发明
国别省市:

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

1