CN114938542B - Ble协议栈多链路管理方法、芯片和系统 - Google Patents
Ble协议栈多链路管理方法、芯片和系统 Download PDFInfo
- Publication number
- CN114938542B CN114938542B CN202210449782.1A CN202210449782A CN114938542B CN 114938542 B CN114938542 B CN 114938542B CN 202210449782 A CN202210449782 A CN 202210449782A CN 114938542 B CN114938542 B CN 114938542B
- Authority
- CN
- China
- Prior art keywords
- link
- connection
- dynamic
- delta
- ble
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000007726 management method Methods 0.000 title claims abstract description 24
- 239000007787 solid Substances 0.000 claims abstract description 67
- 238000000034 method Methods 0.000 claims abstract description 19
- 230000003993 interaction Effects 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/04—Wireless resource allocation
- H04W72/044—Wireless resource allocation based on the type of the allocated resource
- H04W72/0453—Resources in frequency domain, e.g. a carrier in FDMA
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/50—Allocation or scheduling criteria for wireless resources
- H04W72/535—Allocation or scheduling criteria for wireless resources based on resource usage policies
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及低功耗蓝牙(Bluetooth low energy,BLE)技术领域,尤其涉及一种BLE协议栈多链路管理方法、芯片和系统。该方法包括:识别BLE设备的链路类别,链路类别包括:固态链路和动态链路,固态链路用于支持BLE设备的非连接态链路,动态链路用于支持BLE设备与至少一个BLE从设备的连接链路;按照预设程序动态调整固态链路和动态链路的时序参数;根据调整后的时序参数对固态链路和动态链路进行参数设置,以使固态链路和动态链路按照调整后的时序参数工作。本发明实施例方案能够实现对BLE协议栈多链路的协调管理。
Description
技术领域
本发明涉及低功耗蓝牙(Bluetooth low energy,BLE)技术领域,尤其涉及一种BLE协议栈多链路管理方法、芯片和系统。
背景技术
BLE是蓝牙技术联盟推出的一种无线通信技术,具有功耗低、传输速度快、传输距离远等优点,被广泛应用在智能家居、医疗保健、运动健身、信标和安防等领域。根据BLE标准协议,BLE设备的链路层状态包括准备(stand by)状态、广播(advertising)状态、扫描(scanning)状态、发起(initiating)状态和连接(connection)状态,并且多种状态可以同时存在。例如,BLE设备可以同时保留广播状态、扫描状态和连接状态,并且BLE设备在连接状态可以与多个不同的BLE设备保持连接。此时,如何协调管理BLE协议栈的各个链路,成为需要解决的技术问题。
发明内容
有鉴于此,本发明实施例提供了一种BLE协议栈多链路管理方法、芯片和系统,以实现对BLE协议栈多链路的协调管理。
第一方面,本发明实施例提供了一种BLE协议栈多链路管理方法,包括:
识别BLE设备的链路类别,所述链路类别包括:固态链路和动态链路,所述固态链路用于支持BLE设备的非连接态链路,所述动态链路用于支持所述BLE设备与至少一个BLE从设备的连接链路;
按照预设程序动态调整所述固态链路和所述动态链路的时序参数;
根据调整后的所述时序参数对所述固态链路和所述动态链路进行参数设置,以使所述固态链路和所述动态链路按照调整后的所述时序参数工作。
可选的,所述BLE设备的连接间隔ΔInterval分为多个所述动态链路,所述动态链路的时序参数包含链路带宽ΔCon_tim,所述ΔCon_tim分为数据交互时间ΔData_Tim和相邻链路保护时间ΔGuard_tim。
可选的,按照预设程序动态调整所述动态链路的时序参数,包括:
根据所述ΔInterval、所述ΔCon_tim、所述ΔGuard_tim的变化,动态调整各个所述动态链路的时序参数。
可选的,按照预设程序动态调整所述动态链路的时序参数,包括:
当增加连接链路时,从所述多个动态链路中确定未被占用的空闲动态链路,将所述空闲动态链路分配给增加的连接链路;
当已建立的连接链路被释放时,将被释放连接链路所占用的动态链路标识为空闲动态链路。
可选的,所述按照预设程序动态调整所述动态链路的时序参数,包括:
根据连接链路传输的数据量的变化,动态调整相应连接链路占用的动态链路位置和/或动态链路个数。
可选的,根据连接链路传输的数据量的变化,动态调整相应连接链路占用的动态链路位置和/或动态链路个数,包括:
如果已建立的第i个连接链路在连续P个ΔInterval均满带宽传输数据,则从ΔInterval中确定所述第i个连接链路的相邻连接链路;
从位于第Max个连接链路之后的空闲动态链路中重新为所述相邻连接链路分配动态链路,将所述相邻连接链路释放的动态链路分配给所述第i个连接链路;
其中,P为预设已知值,Max为ΔInterval已建立的连接链路个数,1<<i<Max。本发明实施例中,根据连接链路传输数据的带宽占用情况,动态调整连接链路所占用的动态链路,实现动态链路的动态分配,提高带宽利用率。
可选的,所述固态链路具体用于支持BLE设备在主机模式的扫描链路和创建连接链路,以及用于支持BLE设备在从机模式的广播链路;
按照预设程序动态调整所述固态链路的时序参数,包括:
确定所述BLE设备的连接间隔ΔInterva中未被连接链路占用的空闲带宽ΔInt_last;
如果所述固态链路的扫描间隔ΔScan≤ΔInt_last,则根据所述ΔInt_last确定所述固态链路的扫描起始时间;
如果所述ΔScan>ΔInt_last,则在当前ΔInterval的连接链路中确定放弃链路;放弃当前ΔInterval中所述放弃链路的数据交互,并根据所述放弃链路的带宽确定所述固态链路的扫描起始时间。本发明实施例中,根据连接链路的带宽占用情况对ΔScan进行拆解,优化扫描动作地执行。
可选的,如果所述ΔScan>ΔInt_last,则在当前ΔInterval的连接链路中确定放弃链路,包括:
确定所述ΔInterval与所述ΔScan的倍数值Sscan_n;
如果所述倍数值Sscan_n为偶数,则将当前ΔInterval中位于第N/2个连接链路之后的各连接链路确定为放弃链路;
如果所述倍数值Sscan_n为奇数,则将当前ΔInterval中位于第(N+1)/2个连接链路之后的各连接链路确定为放弃链路。本发明实施例中,在带宽不满足扫描需求时,提出二分法保证每次连接ΔInterval内均有一半左右的连接链路能够完成数据交互,相当于将每个链路的连接时隙放大一倍,将扫描操作对连接链路的影响降到最低。
第二方面,本发明实施例提供了一种BLE芯片,包括:
调整模块,用于识别BLE设备的链路类别,所述链路类别包括:固态链路和动态链路,所述固态链路用于支持BLE设备的非连接态链路,所述动态链路用于支持所述BLE设备与至少一个BLE从设备的连接链路;按照预设程序动态调整所述固态链路和所述动态链路的时序参数;
执行模块,用于根据调整后的所述时序参数对所述固态链路和所述动态链路进行参数设置,以使所述固态链路和所述动态链路按照调整后的所述时序参数工作。
可选的,所述调整模块,按照预设程序动态调整所述动态链路的时序参数,包括:
根据连接链路传输的数据量的变化,动态调整相应连接链路占用的动态链路位置和/或动态链路个数,其中:
如果已建立的第i个连接链路在连续P个ΔInterval均满带宽传输数据,则从ΔInterval中确定所述第i个连接链路的相邻连接链路;
从位于第Max个连接链路之后的空闲动态链路中重新为所述相邻连接链路分配动态链路,将所述相邻连接链路释放的动态链路分配给所述第i个连接链路;
其中,P为预设已知值,Max为ΔInterval已建立的连接链路个数,1<<i<Max。
可选的,所述固态链路具体用于支持BLE设备在主机模式的扫描链路和创建连接链路,以及用于支持BLE设备在从机模式的广播链路;所述调整模块,按照预设程序动态调整所述固态链路的时序参数,包括:
确定所述BLE设备的连接间隔ΔInterva中未被连接链路占用的空闲带宽ΔInt_last;
如果所述固态链路的扫描间隔ΔScan≤ΔInt_last,则根据所述ΔInt_last确定所述固态链路的扫描起始时间;
如果所述ΔScan>ΔInt_last,则在当前ΔInterval的连接链路中确定放弃链路;放弃当前ΔInterval中所述放弃链路的数据交互,并根据所述放弃链路的带宽确定所述固态链路的扫描起始时间。
可选的,所述调整模块,在所述ΔScan>ΔInt_last时,在当前ΔInterval的连接链路中确定放弃链路,包括:
确定所述ΔInterval与所述ΔScan的倍数值Sscan_n;
如果所述倍数值Sscan_n为偶数,则将当前ΔInterval中位于第Sscan_n/2个连接链路之后的各连接链路确定为放弃链路;
如果所述倍数值Sscan_n为奇数,则将当前ΔInterval中位于第个连接链路之后的各连接链路确定为放弃链路。
第三方面,本发明实施例提供了一种BLE协议栈多链路管理系统,包括:至少一个处理器;至少一个存储器,用于存储至少一个程序;当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器执行上述第一方面或者第一方面任一项所述的方法。
本发明实施例方案,将BLE协议栈的带宽资源分为固态链路和动态链路。通过动态调整固态链路和动态链路的时序参数,可以实现对BLE协议栈的多链路管理。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种BLE协议栈多链路管理方法的流程图;
图2为本发明实施例提供的一种BLE协议栈的多链路模型示意图;
图3为本发明实施例提供的一种BLE协议栈的多链路模型示意图;
图4为本发明实施例提供的一种调整连接链路带宽的示意图;
图5为本发明实施例提供的一种固态链路的拆解示意图;
图6为本发明实施例提供的一种固态链路的拆解示意图;
图7为本发明实施例提供的一种BLE芯片的结构示意图;
图8为本发明实施例提供的一种BLE协议栈多链路管理系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
BLE设备的链路层协议栈支持同时保持多个链路,为了协调管理BLE协议栈的多个链路,本发明实施例提供了一种BLE协议栈多链路管理方法。该方法将BLE协议栈的带宽资源分为固态链路和动态链路。固态链路用于支持BLE设备的非连接态链路,如支持BLE设备在主机模式的扫描链路和创建连接链路,以及用于支持BLE设备在从机模式的广播链路。动态链路用于支持BLE设备与至少一个其它BLE设备的连接链路。本法实施例通过动态调整固态链路和动态链路的时序参数,实现对BLE协议栈的多链路管理。
参见图1,为本发明实施例提供的一种BLE协议栈多链路管理方法的流程图。如图1所示,该方法的处理步骤包括:
101,识别BLE设备的链路类别,该链路类别包括:固态链路和动态链路。
在一些实施例中,固态链路可以用于支持BLE设备的非连接态链路。如图2所示,BLE设备可以从带宽资源中划分出固态链路0。可选的,固态链路具体可以用于支持BLE设备在主机模式的扫描链路和创建连接链路,即支持BLE设备在主机模式周期性接收广播数据以及在主机模式发起创建连接链路操作,由此有利于BLE设备创建多个连接链路,实现BLE设备一主多从的功能。进一步,固态链路还可以支持BLE设备在从机模式的广播链路,即在从机模式BLE设备可周期性发出常规的广播数据,有利于主从一体功能的实现。
在一些实施例中,动态链路可以用于支持BLE设备与至少一个BLE从设备的连接链路。在一些实施例中,BLE设备可以从带宽资源中划分出多条动态链路。如图2所示,BLE协议栈可以从带宽资源中划分出动态链路1、动态链路2、动态链路3……动态链路N。可选的,如果每个动态链路均用于与一个BLE从设备保持连接链路,则BLE设备可以同时与N个BLE从设备保持连接链路。
102,按照预设程序动态调整固态链路和动态链路的时序参数。本发明实施例中,可以根据固态链路和动态链路的链路状态,实时调整固态链路和动态链路的时序参数,以避免各链路的时序冲突。
103,根据调整后的时序参数对固态链路和动态链路进行参数设置,以使固态链路和动态链路按照调整后的时序参数工作。
本发明实施例方案,BLE设备将BLE协议栈的带宽资源分为固态链路和动态链路。通过动态调整固态链路和动态链路的时序参数,可以实现对BLE协议栈的多链路管理。
参见图3,为本发明实施例提供的一种BLE协议栈的多链路模型示意图。在一些实施例中,假设BLE设备的连接间隔为Δinterval。当多个连接链路在BLE设备共存时,需要在ΔInterval内完成该多个连接链路的带宽资源分配。
如图3所示,BLE设备的连接间隔ΔInterval分为多个动态链路,每个动态链路的时序参数均包含链路带宽ΔCon_tim,ΔCon_tim分为数据交互时间ΔData_Tim和相邻链路保护时间ΔGuard_tim。则在一个ΔInterval内,BLE设备支持的最大从机个数N为:
如图3所示,M代表BLE主机(Master),S1代表从机(Slave)1,S2代表从机2,以此类推,SN代表从机N。ΔData_Tim[i]为BEL主机与第i个从机的数据交互时间。ΔGuard_tim为相邻连接链路的保护时间。设置ΔGuard_tim主要考虑协议栈链路之间切换的时间消耗问题。
在一些实施例中,对BLE设备的ΔInterval按照图3所示方式进行划分,得到N个动态链路。每个动态链路的链路带宽设定为ΔCon_tim。则在初始状态,各个动态链路的初始链路带宽相等,即:
ΔData_Tim[1]=ΔData_Time[2]=。。。=ΔData_Tim[N]=ΔCon_tim。
在一些实施例中,根据配置的ΔInterval和ΔGuard_tim,通过调整ΔCon_tim的取值,可以使整个ΔInterval被连接链路完全覆盖。
在一些实施例中,当ΔInterval、ΔGuard_tim和ΔCon_tim中任意一个变量发生变化时,可以动态调整每个连接链路的时序参数,由此可以实现动态链路时序参数的动态调整。
在一些实施例中,图3所示的各个动态链路用于动态分配给BLE设备的连接链路。可选的,当BLE设备增加连接链路时,BLE设备可以从多个动态链路中确定未被占用的空闲动态链路,并将空闲动态链路分配给增加的连接链路。
可选的,当BLE设备增加连接链路时,BLE设备可以根据当前Δinterval中各动态链路的占用情况,按照ΔData_Tim[1]->ΔData_Tim[2]->…->ΔData_Tim[N]的顺序依次查询,当查询到空闲动态链路时,查询动作结束,并将查询到的空闲动态链路分配给增加的连接链路。同理,当已建立的连接链路被释放时,将被释放连接链路所占用的动态链路标识为空闲动态链路。被释放的空闲动态链路可以重新分配利用。
在一些实施例中,初始分配给各个连接链路的带宽为一个动态链路,一个动态链路的带宽可能不满足相应连接链路的数据传输需求。因此本发明实施例中,还可以根据连接链路传输的数据量变化,动态调整相应连接链路所占用的动态链路位置和/或动态链路个数。在一些实施例中,如果已建立的第i个连接链路在连续P个ΔInterval均满带宽传输数据,则可以从剩余的空闲动态链路中增加第i个连接链路占用的带宽。在一些实施例中,如果已建立的第i个连接链路在连续P个ΔInterval均满带宽传输数据,可以从位于队伍的空闲动态链路中重新为第i个连接链路分配带宽,可选的,重新分配的带宽可以包含多个动态链路。
在一些实施例中,如果已建立的第i个连接链路在连续P个ΔInterval均满带宽传输数据,则可以从ΔInterval中确定第i个连接链路的相邻连接链路。从位于第Max个连接链路之后的空闲动态链路中重新为相邻连接链路分配动态链路,并将所述相邻连接链路释放的动态链路分配给第i个连接链路,以使第i个连接链路占用相邻连接链路所释放的带宽。其中,上述P为预设已知值,Max为ΔInterval已建立的连接链路个数,1<<i<Max。
可选的,上述相邻连接链路是指位置与第i个连接链路相邻的至少一个连接链路。可选的,相邻连接链路可以为位于第i个连接链路之后且位置相邻的至少一个连接链路。如,第i+1、第i+2个连接链路。可选的,相邻连接链路可以为位于第i个连接链路之前且位置相邻的至少一个连接链路。如第i-1、第i-2个连接链路。当然,根据实际数据传输需求,相邻连接链路可以包含位于第i个连接链路之前和之后且位置相邻的连接链路。如第i+1、第i-1个连接链路。
可选的,上述相邻连接链路包含的连接链路个数根据第i个连接链路的数据传输需求确定。可选的,设定第i个连接链路的数据需求带宽为X,当X满足:a个动态链路的带宽<X<<a+1个动态链路的带宽时,确定相邻连接链路包含的连接链路个数为a。可选的,该a个相邻连接链路可以通过一次链路调整分配给当前第i个连接链路。当然也可以通过多次链路调整,将a个相邻连接链路分配给当前第i个连接链路。
本发明实施例中,当某一连接链路(如第i个连接链路)持续多个ΔInterval满带宽传输时,BLE设备可以根据数据传输量调整第i个连接链路占用的动态链路个数,以满足第i个连接链路的数据传输需求。此时,第i个连接链路占用多个动态链路带宽,其它连接链路占用一个动态链路带宽。当第i个连接链路的数据传输量恢复常态后,重新调整第i个连接链路占用一个动态链路的带宽。本发明实施例中,根据连接链路传输数据的带宽占用情况,动态调整连接链路所占用的动态链路,实现动态链路的动态分配,提高带宽利用率。
参见图4,为本发明实施例提供的一种调整连接链路带宽的示意图。如图4所示,当连接链路2满带宽进行数据传输时,将连接链路3确定为连接链路2的相邻连接链路。将连接链路3移至当前保持连接的最大连接链路Smax之后的空闲动态链路。并将连接链路3释放的动态链路分配给链路链路2,即连接链路2占用两个动态链路的带宽。
本发明实施例深入考虑连接间隔Δinterval、动态链路带宽ΔCon_tim之间的联系,通过连接间隔Δinterval、动态链路带宽ΔCon_tim和相邻链路的保护时间(ΔGuard_tim)的动态调整可以对带宽资源进行动态分配。另外,根据连接链路个数和数据传输需求,可以对多链路的带宽资源动态分配管理,由此可以最大程度解决BLE多链路的带宽占用问题,并可以提高BLE多链路访问时序的稳定性以及提高带宽资源的利用率。
在一些实施例中,上述固态链路的时序参数可以包括:扫描间隔ΔScan和扫描起始时间。为了确保固态链路与各个连接链路的时序不重叠,本发明实施例可以根据BLE设备连接间隔ΔInterva中未被连接链路占用的空闲带宽ΔInt_last和固态链路的ΔScan,动态调整固态链路的扫描起始时间。而且在调整固态链路参数时,重发考虑空闲带宽ΔInt_last是否满足扫描需求的问题。
在一些实施例中,按照预设程序动态调整固态链路的时序参数,包括:确定BLE设备的连接间隔ΔInterva中未被连接链路占用的空闲带宽ΔInt_last。如果固态链路的扫描间隔ΔScan≤ΔInt_last,则根据ΔInt_last确定固态链路的扫描起始时间。如果ΔScan>ΔInt_last,则在当前ΔInterval的连接链路中确定放弃链路。并且放弃当前ΔInterval中放弃链路的数据交互,并根据放弃链路的带宽确定固态链路的扫描起始时间。本发明实施例中,根据连接链路的带宽占用情况对ΔScan进行拆解,优化扫描动作地执行。
如图5所示,当ΔScan≤ΔInt_last时,确定ΔInt_last与ΔScan的倍数值,根据该倍数值在ΔInt_last中确定固态链路的扫描起始时间和ΔScan对应的动态链路个数。
如图6所示,当ΔScan>ΔInt_last时,即当前剩余带宽不满足当前扫描需求时,根据ΔInterval对ΔScan进行拆解,并根据拆解个数放弃当前ΔInterval中部分连接链路的数据传输,以在实现扫描功能的同时将扫描操作对连接链路的影响降到最低。
具体的,当ΔScan>ΔInt_last时,在当前ΔInterval的连接链路中确定放弃链路,包括:确定ΔInterval与ΔScan的倍数值sscan_n。如果sscan_n为偶数,则将当前ΔInterval中位于第Sscan_n/2个连接链路之后的各连接链路确定为放弃链路。如果Sscan_n为奇数,则将当前ΔInterval中位于第(Sscan_n+1)/2个连接链路之后的各连接链路确定为放弃链路。可选的,确定放弃链路之后,放弃当前ΔInterval中放弃链路的数据交互,并根据放弃链路的带宽确定固态链路的扫描起始时间。可选的,可以根据放弃链路和ΔInt_last的带宽,确定扫描起始时间和ΔScan对应的动态链路个数。
本发明实施例方法,在应对带宽不满足扫描需求时,提出二分法保证每次连接ΔInterval内均有一半左右的链路能够完成数据交互,相当于将每个链路的连接时隙放大一倍,将扫描操作对连接链路的影响降到最低。
对应上述BLE协议栈多链路管理方法,本发明实施例还提供了一种BLE芯片。参见图7,为本发明实施例提供的一种BLE芯片的结构示意图。如图7所示,该芯片包括:调整模块201,用于识别BLE设备的链路类别,所述链路类别包括:固态链路和动态链路,所述固态链路用于支持BLE设备的非连接态链路,所述动态链路用于支持所述BLE设备与至少一个BLE从设备的连接链路;按照预设程序动态调整所述固态链路和所述动态链路的时序参数。
执行模块202,用于根据调整后的所述时序参数对所述固态链路和所述动态链路进行参数设置,以使所述固态链路和所述动态链路按照调整后的所述时序参数工作。
可选的,所述调整模块,按照预设程序动态调整所述动态链路的时序参数,包括:根据连接链路传输的数据量的变化,动态调整相应连接链路占用的动态链路位置和/或动态链路个数,其中:
如果已建立的第i个连接链路在连续P个ΔInterval均满带宽传输数据,则从ΔInterval中确定所述第i个连接链路的相邻连接链路;
从位于第Max个连接链路之后的空闲动态链路中重新为所述相邻连接链路分配动态链路,将所述相邻连接链路释放的动态链路分配给所述第i个连接链路;其中,P为预设已知值,Max为ΔInterval已建立的连接链路个数,1<<i<Max。
可选的,所述固态链路具体用于支持BLE设备在主机模式的扫描链路和创建连接链路,以及用于支持BLE设备在从机模式的广播链路;所述调整模块,按照预设程序动态调整所述固态链路的时序参数,包括:
确定所述BLE设备的连接间隔ΔInterva中未被连接链路占用的空闲带宽ΔInt_last;
如果所述固态链路的扫描间隔ΔScan≤ΔInt_last,则根据所述ΔInt_last确定所述固态链路的扫描起始时间;
如果所述ΔScan>ΔInt_last,则在当前ΔInterval的连接链路中确定放弃链路;放弃当前ΔInterval中所述放弃链路的数据交互,并根据所述放弃链路的带宽确定所述固态链路的扫描起始时间。
可选的,所述调整模块,在所述ΔScan>ΔInt_last时,在当前ΔInterval的连接链路中确定放弃链路,包括:确定所述ΔInterval与所述ΔScan的倍数值Sscan_n;
如果所述倍数值Sscan_n为偶数,则将当前ΔInterval中位于第Sscan_n/2个连接链路之后的各连接链路确定为放弃链路;
如果所述倍数值Sscan_n为奇数,则将当前ΔInterval中位于第个连接链路之后的各连接链路确定为放弃链路。
本发明实施例的BLE芯片可以执行图1至图6所示实施例涉及的BLE协议栈多链路管理方法。本实施例未详细描述的部分,可以参考对图1至图6所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1至图6所示实施例中的描述,在此不再赘述。
参见图8,为本发明实施例提供的一种BLE协议栈多链路管理系统的结构示意图。如图8所示,BLE协议栈多链路管理系统可以包括但不限于:一个或者多个处理器310,通信接口320,存储器330,连接不同系统组件(包括存储器330、通信接口320和处理器310)的通信总线340。
通信总线340表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及外围组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。
电子设备典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器330可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)和/或高速缓存存储器。电子设备可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。存储器330可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明实施例图1至图6所示实施例涉及的BLE协议栈多链路管理方法。
具有一组(至少一个)程序模块的程序/实用工具,可以存储在存储器330中,这样的程序模块包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块通常执行本发明实施例图1至图6所示实施例涉及的BLE协议栈多链路管理方法。
处理器310通过运行存储在存储器330中的程序,从而执行各种功能应用以及数据处理,例如实现本说明书图1~图6所示实施例涉及的BLE协议栈多链路管理方法。
具体实现中,本申请还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本申请提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
具体实现中,本发明实施例还提供了一种计算机程序产品,所述计算机程序产品包含可执行指令,当所述可执行指令在计算机上执行时,使得计算机执行上述方法实施例中的部分或全部步骤。
本发明实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
本领域普通技术人员可以意识到,本文中公开的实施例中描述的各单元及算法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,简称ROM)、随机存取存储器(random access memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以所述权利要求的保护范围为准。
Claims (9)
1.一种BLE协议栈多链路管理方法,其特征在于,包括:
识别BLE设备的链路类别,所述链路类别包括:固态链路和动态链路,所述固态链路用于支持BLE设备的非连接态链路,所述动态链路用于支持所述BLE设备与至少一个BLE从设备的连接链路;
按照预设程序动态调整所述固态链路和所述动态链路的时序参数;
根据调整后的所述时序参数对所述固态链路和所述动态链路进行参数设置,以使所述固态链路和所述动态链路按照调整后的所述时序参数工作;
所述固态链路具体用于支持BLE设备在主机模式的扫描链路和创建连接链路,以及用于支持BLE设备在从机模式的广播链路;
按照预设程序动态调整所述固态链路的时序参数,包括:
确定所述BLE设备的连接间隔ΔInterval中未被连接链路占用的空闲带宽ΔInt_last;
如果所述固态链路的扫描间隔ΔScan≤ΔInt_last,则根据所述ΔInt_last确定所述固态链路的扫描起始时间;
如果所述ΔScan>ΔInt_last,则在当前ΔInterval的连接链路中确定放弃链路;放弃当前ΔInterval中所述放弃链路的数据交互,并根据所述放弃链路的带宽确定所述固态链路的扫描起始时间;
如果所述ΔScan>ΔInt_last,则在当前ΔInterval的连接链路中确定放弃链路,包括:
确定所述ΔInterval与所述ΔScan的倍数值Sscan_n;
如果所述倍数值Sscan_n为偶数,则将当前ΔInterval中位于第Sscan_n/2个连接链路之后的各连接链路确定为放弃链路;
如果所述倍数值Sscan_n为奇数,则将当前ΔInterval中位于第个连接链路之后的各连接链路确定为放弃链路。
2.根据权利要求1所述的方法,其特征在于,所述BLE设备的连接间隔ΔInterval分为多个所述动态链路,所述动态链路的时序参数包含链路带宽ΔCon_tim,所述ΔCon_tim分为数据交互时间ΔData_Tim和相邻链路保护时间ΔGuard_tim。
3.根据权利要求2所述的方法,其特征在于,按照预设程序动态调整所述动态链路的时序参数,包括:
根据所述ΔInterval、所述ΔCon_tim、所述ΔGuard_tim的变化,动态调整各个所述动态链路的时序参数。
4.根据权利要求2所述的方法,其特征在于,按照预设程序动态调整所述动态链路的时序参数,包括:
当增加连接链路时,从所述多个动态链路中确定未被占用的空闲动态链路,将所述空闲动态链路分配给增加的连接链路;
当已建立的连接链路被释放时,将被释放连接链路所占用的动态链路标识为空闲动态链路。
5.根据权利要求1所述的方法,其特征在于,所述按照预设程序动态调整所述动态链路的时序参数,包括:
根据连接链路传输的数据量的变化,动态调整相应连接链路占用的动态链路位置和/或动态链路个数。
6.根据权利要求5所述的方法,其特征在于,根据连接链路传输的数据量的变化,动态调整相应连接链路占用的动态链路位置和/或动态链路个数,包括:
如果已建立的第i个连接链路在连续P个ΔInterval均满带宽传输数据,则从ΔInterval中确定所述第i个连接链路的相邻连接链路;
从位于第Max个连接链路之后的空闲动态链路中重新为所述相邻连接链路分配动态链路,将所述相邻连接链路释放的动态链路分配给所述第i个连接链路;
其中,P为预设已知值,Max为ΔInterval已建立的连接链路个数,i<Max。
7.一种BLE芯片,其特征在于,包括:
调整模块,用于识别BLE设备的链路类别,所述链路类别包括:固态链路和动态链路,所述固态链路用于支持BLE设备的非连接态链路,所述动态链路用于支持所述BLE设备与至少一个BLE从设备的连接链路;按照预设程序动态调整所述固态链路和所述动态链路的时序参数;
执行模块,用于根据调整后的所述时序参数对所述固态链路和所述动态链路进行参数设置,以使所述固态链路和所述动态链路按照调整后的所述时序参数工作;
所述固态链路具体用于支持BLE设备在主机模式的扫描链路和创建连接链路,以及用于支持BLE设备在从机模式的广播链路;所述调整模块,按照预设程序动态调整所述固态链路的时序参数,包括:
确定所述BLE设备的连接间隔ΔInterval中未被连接链路占用的空闲带宽ΔInt_last;
如果所述固态链路的扫描间隔ΔScan≤ΔInt_last,则根据所述ΔInt_last确定所述固态链路的扫描起始时间;
如果所述ΔScan>ΔInt_last,则在当前ΔInterval的连接链路中确定放弃链路;放弃当前ΔInterval中所述放弃链路的数据交互,并根据所述放弃链路的带宽确定所述固态链路的扫描起始时间;
所述调整模块,在所述ΔScan>ΔInt_last时,在当前ΔInterval的连接链路中确定放弃链路,包括:
确定所述ΔInterval与所述ΔScan的倍数值Sscan_n;
如果所述倍数值Sscan_n为偶数,则将当前ΔInterval中位于第Sscan_n/2个连接链路之后的各连接链路确定为放弃链路;
如果所述倍数值Sscan_n为奇数,则将当前ΔInterval中位于第个连接链路之后的各连接链路确定为放弃链路。
8.根据权利要求7所述的芯片,其特征在于,所述调整模块,按照预设程序动态调整所述动态链路的时序参数,包括:
根据连接链路传输的数据量的变化,动态调整相应连接链路占用的动态链路位置和/或动态链路个数,其中:
如果已建立的第i个连接链路在连续P个ΔInterval均满带宽传输数据,则从ΔInterval中确定所述第i个连接链路的相邻连接链路;
从位于第Max个连接链路之后的空闲动态链路中重新为所述相邻连接链路分配动态链路,将所述相邻连接链路释放的动态链路分配给所述第i个连接链路;
其中,P为预设已知值,Max为ΔInterval已建立的连接链路个数,i<Max。
9.一种BLE协议栈多链路管理系统,其特征在于,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器执行权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210449782.1A CN114938542B (zh) | 2022-04-26 | 2022-04-26 | Ble协议栈多链路管理方法、芯片和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210449782.1A CN114938542B (zh) | 2022-04-26 | 2022-04-26 | Ble协议栈多链路管理方法、芯片和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114938542A CN114938542A (zh) | 2022-08-23 |
CN114938542B true CN114938542B (zh) | 2023-10-27 |
Family
ID=82862065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210449782.1A Active CN114938542B (zh) | 2022-04-26 | 2022-04-26 | Ble协议栈多链路管理方法、芯片和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114938542B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110972120A (zh) * | 2018-09-29 | 2020-04-07 | 安凯(广州)微电子技术有限公司 | 一种低功耗蓝牙设备多链路管理方法、系统及装置 |
CN112449328A (zh) * | 2019-08-30 | 2021-03-05 | 华为技术有限公司 | 一种蓝牙搜索方法、系统及相关装置 |
CN113423099A (zh) * | 2021-04-28 | 2021-09-21 | 广州芯之联科技有限公司 | 蓝牙广播事件调度方法、装置及蓝牙设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102397285B1 (ko) * | 2014-07-31 | 2022-05-12 | 엘지전자 주식회사 | 블루투스 통신을 지원하는 무선 통신 시스템에서 전자기기를 제어하기 위한 방법 및 장치 |
-
2022
- 2022-04-26 CN CN202210449782.1A patent/CN114938542B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110972120A (zh) * | 2018-09-29 | 2020-04-07 | 安凯(广州)微电子技术有限公司 | 一种低功耗蓝牙设备多链路管理方法、系统及装置 |
CN112449328A (zh) * | 2019-08-30 | 2021-03-05 | 华为技术有限公司 | 一种蓝牙搜索方法、系统及相关装置 |
CN113423099A (zh) * | 2021-04-28 | 2021-09-21 | 广州芯之联科技有限公司 | 蓝牙广播事件调度方法、装置及蓝牙设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114938542A (zh) | 2022-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9380577B2 (en) | Method and device for collaborative data communication in a radio network | |
US20060203796A1 (en) | Efficient time-division multiplexed addressing protocol | |
JP2015057886A (ja) | 通信ネットワークに対する予約要求をスケジューリングするためのシステムおよび方法 | |
KR20080031831A (ko) | 애드 혹 네트워크들을 위한 자기 개선 채널 액세스프로토콜 | |
KR20050013871A (ko) | 씨에스엠에이/씨에이에 기반한 무선 랜에서의 매체 접근제어 방법 및 그 장치 | |
CN103533584B (zh) | 一种水声传感器网络多信道媒介访问控制方法 | |
CN110972120B (zh) | 一种低功耗蓝牙设备多链路管理方法、系统及装置 | |
US9474084B2 (en) | MAC protocol in wireless body area network capable of processing emergency data and wireless network communication method using same | |
KR101646055B1 (ko) | 저속 wpan에서 gts 할당 및 관리방법 | |
CN110225593B (zh) | 一种分布式tdma协议中的随机数闲置时隙竞争方法 | |
JP2010057072A (ja) | 通信タイミング制御装置及び方法 | |
CN101951640B (zh) | 一种工业无线网络媒体访问控制方法 | |
WO2020077568A1 (zh) | 直连通信的时频资源竞争方法、装置、设备及系统 | |
CN111836370B (zh) | 一种基于竞争的资源预约方法及设备 | |
CN111836312B (zh) | 一种基于竞争的资源预约方法和设备 | |
CN114938542B (zh) | Ble协议栈多链路管理方法、芯片和系统 | |
CN109429347B (zh) | 时隙分配方法及装置 | |
JP2011087295A (ja) | 緊急データのためのスロット割り当て方法及びそれを用いた緊急データ伝送方法 | |
CN108633082B (zh) | 上行数据调度请求方法及装置 | |
WO2023125579A1 (zh) | 一种无线资源调度方法、装置及存储介质 | |
Kang et al. | An energy-efficient real-time scheduling scheme on dual-channel networks | |
CN116406005A (zh) | 一种无线资源调度方法、装置及存储介质 | |
KR100442346B1 (ko) | Ieee802.11 mac 계층에서 폴링 리스트 운용방법 | |
CN109495235A (zh) | 一种传输方法及传输节点 | |
CN118102455A (zh) | 一种分布式自适应的时频两维正交域资源调度方法与系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |