一种低功耗蓝牙广播通道防冲突的方法

文档序号:9601251阅读:1069来源:国知局
一种低功耗蓝牙广播通道防冲突的方法
【技术领域】
[0001] 本发明属于低功耗蓝牙传输领域,具体是一种低功耗蓝牙广播通道防冲突的方 法。
【背景技术】
[0002] 随着物联网技术快速发展,蓝牙技术也得到了关注。由于移动设备对功耗越来越 敏感,低功耗蓝牙技术也应运而生。
[0003] 低功耗蓝牙通信中可用40个通信通道,其中3个通道是广播通道。两个蓝牙设 备需在同一个通道才能进行通信。低功耗蓝牙设备状态分为五个状态:standby(就绪态)、 Advertising(广播态)、scanning(扫描态)、initiating(发起态)和connection(连接 态)。处于广播态的蓝牙设备为广播者;处于扫描态的蓝牙设备为扫描者;处于发起态的蓝 牙设备为发起者。若蓝牙设备未打开蓝牙,则处于就绪态。扫描者通过扫描从可扫描的广 播者获得信息;发起者和可连接的广播者建立连接一起进入连接态。
[0004] 对于可扫描或者可连接的广播者,可使能37, 38, 39通道中的至少一个通道进行 发送广播包。广播者从编号最小的广播通道开始发送广播包,标志着一个广播事件的开始。 如果在发送广播包的150us之后没有收到SCAN_REQ(扫描请求)或C0NNECT_REQ(连接请 求),则跳到下一个可用的广播通道。若广播者在所有可用的广播通道都发送了广播包,则 标志一个广播事件结束。例如图1,广播者使能了 37,38,39通道,在一个广播事件中,在每 个通道发送了广播包。连续两个广播事件的开始时间的间隔为广播间隔加上一个广播延 时,如图2所示。广播间隔是可以通过软件设置的,广播延时是一个伪随机数。
[0005] 扫描者需在37,38,39通道进行监听。扫描者在scanWindow(扫描窗口)中监听来 自广播者的广播包,在每个扫描窗口使用一个通道。扫描者分为两种,一种为被动扫描者, 只需监听广播包;一种是主动扫描者,监听到可扫描的广播包后还需进一步的通信。若主动 扫描者发现可扫描的广播者的广播包,则在150us发送扫描请求,并在发送后的150us监听 SCAN_RSP(扫描响应),例如图3。
[0006] 发起者需在37, 38, 39通道进行监听。发起者在扫描窗口中监听来自广播者的广 播包,在每个扫描窗口使用一个通道。若发起者发现可连接的广播者的广播包,则在150us 发送连接请求。
[0007] 而在物联网应用中,如智能家居,往往只有一个主控设备,通过蓝牙获取多个从设 备信息。主控设备可以作为扫描者或者发起者;从设备可以作为广播者。若多个从设备的 广播间隔和广播延时相同,则它们的广播通道可能一直冲突,从而导致主控设备可能一直 检测不到从设备。例如图4,有一个扫描者,两个广播者。1号广播者和2号广播者的广播 通道冲突,那么存在以下两种广播通信受到干扰的情况:如果广播包1和广播包2在时间 上有重叠,则使得扫描者不能正确收到它们的广播包;如果扫描者首先接收到了广播包1 后发送的扫描请求和广播包2在时间上有重叠,则使得1号广播者不能正确收到扫描请求。 发起者在监测广播包的时候,也有受到干扰的情况。
[0008] 为此蓝牙设备需要一种能够减少广播通道通信干扰的方法。

【发明内容】

[0009] 本发明要解决的技术问题是:多个广播者在同一个广播通道发送广播包,如果它 们的广播包在时间上有重叠,则扫描者不能正确收到它们的广播包;当广播者在接收来自 扫描者的扫描请求时,会受到来自其他相同广播通道上的广播包的干扰。发起者在监测广 播包的时候,也有受到干扰的情况。其技术方案如下: 一种广播者的广播通道的随机化方法,适合使能至少两个广播通道的广播者,其步骤 如下: 一、 根据使能的广播通道的个数准备广播通道序列表; 二、 在广播事件前,根据随机产生数和广播通道序列表确定广播通道顺序; 三、 根据广播通道顺序发送广播包。
[0010] 进一步的,还包括如下步骤: 四、 重复执行步骤二和三,以广播更多的广播事件。
[0011] 进一步的,所述广播通道包括两个或三个。
[0012] 进一步的,对于两个广播通道,所述广播通道序列表中包含两组广播通道顺序。
[0013] 进一步的,两广播通道使能的情况下,由随机数直接确定广播通道顺序。
[0014] 进一步的,所述广播通道顺序具体采用如下方式确定:采用随机数来确定广播通 道序列表中的seqlD,每一个seqlD对应一种广播通道的使用顺序,其中广播通道顺序中 的1和2分别映射到序号较小的广播通道和序号较大的广播通道;若产生的随机数为0,则 seqlD。(表示seqlD值为0)被选中,接下来的广播事件中使用的广播通道顺序为1,2 ;如果 产生的随机数为1,则seqlDi被选中,接下来的广播事件中使用的广播通道顺序为2,1。其 中产生的随机数为真随机数。
[0015] 进一步的,对于三个广播通道,所述广播通道顺序表中包含六组广播通道顺序和 对应的K参数。
[0016] 进一步的,三广播通道使能的情况下,第一广播事件的广播通道顺序由随机数确 定,其他广播事件的广播通道顺序由随机数和K参数确定。
[0017] 进一步的,所述广播通道顺序具体采用如下方式确定:三个广播通道的排序共有 6种情况,seqlD是根据以下两个表达式决定的: seqID[0]=rand{0,l,2,3,4,5};seqID[i] =(Κη+rand{0,l,2,3})mod6; 表达式中的rand{}表示产生随机数运算,mod表示模数运算;seqID[i]表示在广播事 件序号为i时用的seqlD;每个seqlD对应一个K参数,范围为0~5,用于计算下一个广播事 件的seqlD;对于第一个广播事件,随机产生一个范围为0~5的随机数作为seqlD,获得对应 的K参数;利用K参数和随机数来计算下一个广播事件中的广播通道顺序,依次类推计算每 一个广播事件中的广播通道顺序;每个蓝牙设备中的K码可以被设置成不同,从而使得产 生的随机数可以为真伪随机数和伪随机数。
[0018] 本发明通过随机化广播者的广播通道,减少在广播通道的冲突。
【附图说明】
[0019] 图1为广播者广播事件以及广播通道示意图。
[0020] 图2为广播事件时间间隔示意图。
[0021] 图3为广播者和扫描者之间广播包交互示意图。
[0022] 图4为一个扫描者和两个广播者通信及通道选择示意图。
[0023] 图5为两广播通道的随机化步骤示意图。
[0024] 图6为三广播通道的随机化步骤示意图。
[0025] 图7为广播者使能两个广播通道使用广播通道随机化后的通道顺序示意图。
[0026] 图8为广播者使能三个广播通道的广播通道序列表的示意图。
[0027] 图9为广播者使能三个广播通道使用广播通道随机化后的通道顺序示意图。
【具体实施方式】
[0028] 下面结合附图对本发明作进一步说明。
[0029] 如图1-4所示,本发明针对一个扫描者或一个发起者与多个广播者的蓝牙通信的 干扰问题,提供了一种广播者的广播通道的随机化方法。本发明适合使能了至少两个广播 通道的广播者。对于两广播通道和三广播通道,其步骤如下: 1、准备两广播通道序列表和三广播通道序列表,分别在使能两个广播通道和三个广播 通道的广播中使用。
[0030] 2、在广播事件前,根据随机产生数和广播通道序列表确定广播通道顺序。
[0031]3、根据广播通道顺序发送广播包。
[0032] 4、有更多的广播事件,重复执行步骤2和3。
[0033] 若广播通道顺序不符合协议中广播者需在每一个广播事件中的第一个通道序号 应为最小的规定,也不会影响通信的效率。
[0034] 对于使能了两个广播通道的广播者,其广播通道随机化的步骤如图5。广播通道顺 序只存在两种情况,采用随机数来确定广播通道序列表中的seqlD,例如表1。每一个seqlD 对应一种广播通道的使用顺序,其中广播通道顺序中的1和2分别映
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1