一种低功耗蓝牙数据包扫描窗口自动调整的方法与流程

文档序号:18869455发布日期:2019-10-14 19:10阅读:873来源:国知局
一种低功耗蓝牙数据包扫描窗口自动调整的方法与流程

本发明涉及低功耗蓝牙芯片,属于蓝牙芯片的技术领域。特别涉及一种低功耗蓝牙数据包扫描窗口自动调整的方法。



背景技术:

低功耗蓝牙(bluetoothlowenergy,ble)是一种短距离、低成本和低功耗的无线通信技术,用于实现手机、平板电脑、笔记本电脑和其它智能设备等与周边电子设备的无线连接。低功耗蓝牙通信具有较高的可靠性、安全性、易用性等特点,并且以低功耗为设计目标,成为物联网领域最强大的无线接入技术之一。

低功耗蓝牙技术和之前版本的蓝牙技术相比,最显著的优点是大幅降低了待机功耗,用一颗纽扣电池即可使用超过一年时间,因此也被称为低功耗蓝牙。低功耗蓝牙技术被广泛地用作消费类电子产品无线传输的解决方案,例如智能手机、可穿戴式设备等。但现有的蓝牙芯片仍然难以满足对功耗要求特别严格的应用中。



技术实现要素:

本发明要解决的技术问题是对现有技术进行改进,提供一种低功耗蓝牙自适应窗口扫描的方法,其结构紧凑,能进一步有效降低功耗蓝牙芯片的功耗,适应性好,安全可靠。

为了解决上述问题,本发明的低功耗蓝牙自适应窗口扫描方法包括四个步骤:

步骤1:在连接状态时采样每次连接事件第一个接收到的数据包,连续采样n个数据包。如果在采样过程中遇到包丢失,则重新采样,丢失数据包后的第一个连接事件不计算,从第二个连接事件开始连续采样n个数据包。使用左移移位寄存器记录连续多个数据包接收到那一刻的时间值作为采样点:

t1,t2,t3,……,tn

t1表示接收到第一个采样数据包时刻值;t2表示接收到第二个采样数据包时刻值;t3表示接收到第三个采样数据包时刻值;tn表示接收到第n个采样数据包时刻值。

步骤2:计算采样数据包接收时刻与协议窗口开启时刻之差值。协议窗口是指蓝牙组织官方规定从设备应该在预期锚点之前开始侦听长度为windowwidening的一段时间。如果一直未能获得锚点,则侦听应一直持续到预期锚点之后的windowwidening时刻。真正接收到数据包时刻以协议窗口开启时刻为参照生成采样差值序列:

δt1=t1-t,δt2=t2-t,δt3=t3-t,…,δtn=tn-t

其中,δt1表示接收到第一个采样数据包时刻值与协议窗口打开时刻值之差值;δt2表示接收到第二个采样数据包时刻与协议窗口打开时刻值之差值;δt3表示接收到第三个采样数据包时刻与协议窗口打开时刻值之差值;δtn表示接收到第n个采样数据包时刻与协议窗口打开时刻值之差值。

步骤3:观测采样差值序列特征,判决采用何种窗口调整方法:

情况一:如果满足δt1<δt2<δt3<…<δtn,这种情况会预测下一个数据包接收时刻与协议窗口开启时刻差值更大,即主设备在远离,则下次窗口开启时刻后移(如图2所示)δtn;

情况二:如果满足条件1:δt1>δt2>δt3>…>δtn,并且满足条件2:δtn>|δt1-δt2|,δtn>|δt2-δt3|,…,δtn>|δtn-1-δtn|,说明主设备在靠近,靠近速度与时间乘积小于数据包接收时刻与协议窗口开启之最小差值,则下次窗口开启时刻后移δtn;如果只满足条件1,为了确保包不丢失,则开窗时刻不后移。

情况三:如果不满足上述两种情况,为了确保包不丢失,则下次窗口开启时刻后移n个时刻值中最小的时间差值。

步骤4:使用上述步骤推倒出的扫描窗口接收数据包,如果正常接收到下一个数据包,则重新采样此数据包的接收时刻值,将此值放入左移移位寄存器中,t2、t3、…、tn顺序左移,替换掉第一个采样点时刻值t1,重新使用上述窗口计算机制计算新的采样窗口来接收下次数据包。如果包丢失,则下次窗口打开时刻恢复到协议窗口规定开启时刻,即:conninterval–windowwidening(conninterval:连接事件间隔,windowwidening:窗口扩展)

附图说明

图1为低功耗蓝牙自适应窗口扫描方法方框图;

图2为低功耗蓝牙侦听数据包时序图;

具体实施方式

下面结合附图与具体实施方式对本发明作进一步详细的说明:

本发明的低功耗蓝牙自适应窗口扫描方法方框图如图1所示,包括协议窗口扫描机制、新窗口扫描机制、样本采集、计算处理、判决器等模块。

低功耗蓝牙侦听数据包时序图如图2所示,其中低功耗蓝牙协议规定传送窗口偏移(transmitwindowoffset)t1是从接收到连接请求包之后t0时刻开始,射频频率不同对应的t0时刻不同。窗口扩展(windowwidening)t2,数据包间隔(conninterval)t3,期望锚点位置t。

通过下面四个步骤实现:

步骤1:在连接状态时采样每次连接事件第一个接收到的数据包,连续采样n个数据包。如果在采样过程中遇到包丢失,则重新采样,丢失数据包后的第一个连接事件不计算,从第二个连接事件开始连续采样n个数据包。使用协议窗口扫描机制侦听数据包,将接收到数据包时刻值存储在左移移位寄存器中,连续采样n个数据包的接收时刻作为采样点:

t1,t2,t3,…,tn

t1表示接收到第一个采样数据包时刻值;t2表示接收到第二个采样数据包时刻值;t3表示接收到第三个采样数据包时刻值;t4表示接收到第四个采样数据包时刻值;tn表示接收到第n个采样数据包时刻值,以此类推,这个采样个数是可以设置的,一般设置范围4~8,本实施方式中设置为5。

步骤2、样本采集和计算处理模块将采样数据包接收时刻与协议窗口开启时刻做差值处理。协议窗口是指蓝牙组织官方规定从设备应该在预期锚点之前开始侦听长度为windowwidening的一段时间。如果一直未能获得锚点,则侦听应一直持续到预期锚点之后的windowwidening时刻。如图2所示,期望锚点位置t为协议窗口开启时刻,如果数据包出现在协议窗口开启之前,则允许数据包丢失,所以真正接收到数据包时刻在期望锚点之后。真正接收到数据包时刻以协议窗口开启时刻为参照生成采样差值序列:

δt1=t1-t,δt2=t2-t,δt3=t3-t,δt4=t4-t,δt5=t5-t

其中,δt1表示接收到第一个采样数据包时刻值与协议窗口打开时刻值之差值;δt2表示接收到第二个采样数据包时刻与协议窗口打开时刻值之差值;δt3表示接收到第三个采样数据包时刻与协议窗口打开时刻值之差值;δt4表示接收到第四个采样数据包时刻与协议窗口打开时刻值之差值;δt5表示接收到第五个采样数据包时刻与协议窗口打开时刻值之差值。

数据处理模块还将采样数据包接收时刻与协议窗口开启时刻做差值做进一步做差取绝对值处理,为步骤3做准备。

步骤3:判决器根据数据处理模块的处理结果判决采用何种窗口调整方法:

结果1:如果满足δt1<δt2<δt3<δt4<δt5,这种情况会预测下一个数据包接收时刻与协议窗口开启时刻差值更大,即主设备在远离,则下次窗口开启时刻后移(如图2所示)δt5;

结果2:如果满足条件1:δt1>δt2>δt3>δt4>δt5,并且满足条件2:δt5>|δt1-δt2|,δt5>|δt2-δt3|,δt5>|δt3-δt4|,δt5>|δt4-δt5|,说明主设备在靠近,靠近速度与时间乘积小于数据包接收时刻与协议窗口开启之最小差值,则下次窗口开启时刻后移δt5;如果只满足条件1,为了确保包不丢失,则开窗时刻不后移。

结果3:如果不满足上述两种情况,为了确保包不丢失,则下次窗口开启时刻后移五个时刻值中最小的时间差值。

步骤4:使用上述步骤推倒出的扫描窗口接收数据包,如果正常接收到下一个数据包,则重新采样此数据包的接收时刻值,将此值放入左移移位寄存器中,t2、t3、t4、t5顺序左移,替换掉第一个采样点时刻值t1,重新使用上述窗口计算机制计算新的采样窗口来接收下次数据包。如果包丢失,则下次窗口打开时刻恢复到协议窗口规定开启时刻,即:conninterval–windowwidening(conninterval:连接事件间隔,windowwidening:窗口扩展)。

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