本发明涉及蓝牙通信技术领域,尤其涉及一种通信方法及装置、蓝牙从设备、蓝牙通信系统。
背景技术:
在进行音频播放时,要使音频能够连续正常播放,音频数据的消耗速度需要与音频采样率相匹配,因此需要满足“音频数据传输速率/数据压缩率>=音频采样率”的要求,当音频数据通过经典蓝牙协议进行传输时,则还需要满足“蓝牙传输速率>=音频数据传输速率”的要求。一般情况下,蓝牙传输速率取决于蓝牙带宽及无线通信质量两个因素,在蓝牙主设备(音源设备)向蓝牙从设备发送音频数据时,满带宽及理想无干扰的无线环境下其理论可实现的蓝牙通信最大传输速率将远大于常用的音频格式的音频数据传输速率;所以在实际的蓝牙音频传输中,蓝牙主设备并不会使用所有蓝牙带宽进行音频数据传输,而是根据实际无线通信质量,分配出能够匹配音频传输速率的带宽进行音频数据传输,剩余的空闲带宽用作其他用途或进行休眠。在经典蓝牙协议中,存在用于主、从设备协商带宽分配方式的配置指令qualityofservice(后续简称qos)。通过qos协商流程,蓝牙主、从设备之间可根据自身实时的带宽需求,协商通信带宽的分配,实现蓝牙主、从设备间高效的数据传输。
然而,qos协商流程在经典蓝牙协议中属于可选流程,不要求所有蓝牙设备都支持,即并非所有蓝牙设备间都能进行带宽分配协商;因此,在大多数蓝牙主设备向蓝牙从设备传输音频数据的场景中(例如手机向蓝牙耳机传输音频),蓝牙主设备处在无线网络的主动位置,仍可以自主分配带宽,而蓝牙从设备处在无线网络的被动位置,出于兼容性以及无线通信质量两方面考虑,通常不会与蓝牙主设备做qos协商流程,而以满带宽的状态与其进行音频数据传输,蓝牙主、从设备的运行状态如图1所示,对于蓝牙主设备,其仍然能够根据目标传输速率自主调整带宽分配,在“data”状态(数据传输状态)中完成数据传输后进入“idle”状态(空闲状态),将自身带宽空闲下来,而对于蓝牙从设备,在“data”状态(数据传输状态)之后,则进入了“scan”状态(数据扫描状态),监测无线信号,等待蓝牙主设备再次进入“data”状态进行数据传输,以防止错过时间节点,浪费有效数据带宽,因此蓝牙从设备一直处于活跃状态,这就造成了蓝牙从设备的功耗较大的问题。
技术实现要素:
基于上述现状,本发明的主要目的在于提供一种通信方法及装置、蓝牙从设备、蓝牙通信系统,可以实现蓝牙从设备与蓝牙主设备较好通信效果的情况下还可以降低蓝牙从设备的功耗。
为实现上述目的,本发明的技术方案提供了一种通信方法,应用于蓝牙从设备,所述方法包括:
步骤s100:当蓝牙从设备在数据扫描状态下监测到蓝牙主设备的数据包时,所述蓝牙从设备进入当前数据传输周期的第一阶段,所述蓝牙从设备在所述第一阶段处于数据传输状态,以与所述蓝牙主设备传输数据包;
步骤s200:当检测到所述蓝牙主设备停止传输数据包时,所述蓝牙从设备进入所述当前数据传输周期的第二阶段,所述蓝牙从设备在所述第二阶段处于数据扫描状态,以监测所述蓝牙主设备的数据包;
步骤s300:当在所述第二阶段未监测到所述蓝牙主设备的数据包且所述第二阶段的持续时间达到预设值时,根据与所述蓝牙主设备的当前通信状况,所述蓝牙从设备确定所述当前数据传输周期的预估空闲时长,并通过将所述预估空闲时长划分得到所述当前数据传输周期的第三阶段的预估时长和第四阶段的预估时长,然后进入所述当前数据传输周期的第三阶段,所述蓝牙从设备在所述第三阶段处于空闲状态,以降低所述蓝牙从设备的功耗;
步骤s400:当所述当前数据传输周期的第三阶段的持续时间达到其预估时长时,所述蓝牙从设备进入所述当前数据传输周期的第四阶段,所述蓝牙从设备在所述第四阶段时交替处于数据扫描状态和空闲状态,直至在数据扫描状态下监测到所述蓝牙主设备的数据包时,所述蓝牙从设备开始下一数据传输周期。
进一步地,在步骤s300中,所述当前通信状况包括所述蓝牙从设备的接收缓存中的当前数据量、所述蓝牙从设备的实时蓝牙传输速率、所述蓝牙从设备的实时无线通信质量中的一种或多种;
其中,相同情况下所述当前数据量越大,所述预估空闲时长越长;
其中,相同情况下所述实时蓝牙传输速率越大,所述预估空闲时长越长;
其中,相同情况下所述实时无线通信质量越好,所述预估空闲时长越长。
进一步地,在所述步骤s300中,通过将所述预估空闲时长划分得到所述当前数据传输周期的第三阶段的预估时长和第四阶段的预估时长包括:
步骤s301:将上一数据传输周期的第四阶段的实际时长与其预估时长进行比较,若所述上一数据传输周期的第四阶段的实际时长大于所述上一数据传输周期的第四阶段的预估时长,则增大k1得到k2,若所述上一数据传输周期的第四阶段的实际时长小于所述上一数据传输周期的第四阶段的预估时长,则减小k1得到k2;
其中,k1为上一数据传输周期中,第三阶段在预估空闲时长中的比例,k2为所述当前数据传输周期中,第三阶段在预估空闲时长中的比例;
步骤s302:利用所述k2、所述当前数据传输周期的预估空闲时长得到所述当前数据传输周期的第三阶段的预估时长和第四阶段的预估时长。
进一步地,所述蓝牙从设备处于所述空闲状态时采用的信号监测判决条件宽松于所述蓝牙从设备处于所述数据传输状态时采用的信号监测判决条件,所述信号检测判决条件用于判断是否监测到所述蓝牙主设备的数据包。
进一步地,所述蓝牙从设备处于所述空闲状态时采用的信号监测判决条件宽松于所述蓝牙从设备处于所述数据传输状态时采用的信号监测判决条件,包括:
所述蓝牙从设备处于所述空闲状态时采用的syncword匹配度要求低于所述蓝牙从设备处于所述数据传输状态时采用的syncword匹配度要求。
进一步地,在所述步骤s100之前,所述方法还包括:
步骤s10:所述蓝牙从设备从所述蓝牙主设备获取目标传输速率;
步骤s20:所述蓝牙从设备在满带宽状态下每隔一时段统计自身与所述蓝牙主设备在当前时段内的平均蓝牙传输速率,若连续多次统计的平均蓝牙传输速率与所述目标传输速率的差值均小于预设的阈值,则执行所述步骤s100。
为实现上述目的,本发明的技术方案还提供了一种通信装置,应用于蓝牙从设备,所述装置包括:
第一控制模块,用于当蓝牙从设备在数据扫描状态下监测到蓝牙主设备的数据包时,控制所述蓝牙从设备进入当前数据传输周期的第一阶段,所述蓝牙从设备在所述第一阶段处于数据传输状态,以与所述蓝牙主设备传输数据包;
第二控制模块,用于当检测到所述蓝牙主设备停止传输数据包时,控制所述蓝牙从设备进入所述当前数据传输周期的第二阶段,所述蓝牙从设备在所述第二阶段处于数据扫描状态,以监测所述蓝牙主设备的数据包;
第三控制模块,用于当在所述第二阶段未监测到所述蓝牙主设备的数据包且所述第二阶段的持续时间达到预设值时,根据所述蓝牙从设备与所述蓝牙主设备的当前通信状况确定所述当前数据传输周期的预估空闲时长,并通过将所述预估空闲时长划分得到所述当前数据传输周期的第三阶段的预估时长和第四阶段的预估时长,然后控制所述蓝牙从设备进入所述当前数据传输周期的第三阶段,所述蓝牙从设备在所述第三阶段处于空闲状态,以降低所述蓝牙从设备的功耗;
第四控制模块,用于当所述当前数据传输周期的第三阶段的持续时间达到其预估时长时,控制所述蓝牙从设备进入所述当前数据传输周期的第四阶段,所述蓝牙从设备在所述第四阶段时交替处于数据扫描状态和空闲状态,直至在数据扫描状态下监测到所述蓝牙主设备的数据包时,所述蓝牙从设备开始下一数据传输周期。
为实现上述目的,本发明的技术方案还提供了一种蓝牙从设备,包括处理器、与所述处理器耦合的存储器,其中,所述存储器中存储有指令,以供所述处理器执行,当所述处理器执行所述指令时,能实现上述的通信方法。
进一步地,所述蓝牙从设备为蓝牙耳机。
为实现上述目的,本发明的技术方案还提供了一种蓝牙通信系统,包括蓝牙主设备和上述的蓝牙从设备。
本发明提供的通信方法,蓝牙从设备在检测到蓝牙主设备停止传输数据包时从数据传输状态切换至数据扫描状态,之后当未监测到蓝牙主设备的数据包且数据扫描状态的持续时间达到预设值时,蓝牙从设备根据当前通信状况预估得到当前数据传输周期的预估空闲时长,并将其划分得到第三阶段的预估时长和第四阶段的预估时长,在第三阶段中蓝牙从设备处于空闲状态,在第四阶段中蓝牙从设备交替处于数据扫描状态和空闲状态,这样可以在实现较好通信效果的情况下还可以降低蓝牙从设备的功耗。
附图说明
通过以下参照附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1是现有技术提供的一种蓝牙主设备与蓝牙从设备通信的状态示意图;
图2是本发明实施例提供的一种通信方法的流程图;
图3是本发明实施例提供的一种蓝牙主设备与蓝牙从设备通信的状态示意图。
具体实施方式
以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分,为了避免混淆本发明的实质,公知的方法、过程、流程、元件并没有详细叙述。
此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。
除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
需要说明的是,本发明中采用步骤编号(字母或数字编号)来指代某些具体的方法步骤,仅仅是出于描述方便和简洁的目的,而绝不是用字母或数字来限制这些方法步骤的顺序。本领域的技术人员能够明了,相关方法步骤的顺序,应由技术本身决定,不应因步骤编号的存在而被不适当地限制。
参见图2,图2是本发明实施例提供的一种通信方法的流程图,该通信方法应用于蓝牙从设备,所述方法包括:
步骤s100:当蓝牙从设备在数据扫描状态下监测到蓝牙主设备的数据包时,所述蓝牙从设备进入当前数据传输周期的第一阶段,所述蓝牙从设备在所述第一阶段处于数据传输状态,以与所述蓝牙主设备传输数据包;
步骤s200:当检测到所述蓝牙主设备停止传输数据包时,所述蓝牙从设备进入所述当前数据传输周期的第二阶段,所述蓝牙从设备在所述第二阶段处于数据扫描状态,以监测所述蓝牙主设备的数据包;
步骤s300:当在所述第二阶段未监测到所述蓝牙主设备的数据包且所述第二阶段的持续时间达到预设值时,根据与所述蓝牙主设备的当前通信状况,所述蓝牙从设备确定所述当前数据传输周期的预估空闲时长,并通过将所述预估空闲时长划分得到所述当前数据传输周期的第三阶段的预估时长和第四阶段的预估时长(第三阶段的预估时长和第四阶段的预估时长之和为预估空闲时长),然后进入所述当前数据传输周期的第三阶段,所述蓝牙从设备在所述第三阶段处于空闲状态,以降低所述蓝牙从设备的功耗;
可以理解的是,若在第二阶段的持续时间达到预设值之前,蓝牙从设备监测到蓝牙主设备的数据包,则蓝牙从设备切换至数据传输状态;
当蓝牙从设备处于空闲状态时,即处于低功耗状态,不再对蓝牙主设备的无线信号进行监测,从而可以降低蓝牙从设备的功耗;
例如,上述的预设值可以是12个时隙(slots);
步骤s400:当所述当前数据传输周期的第三阶段的持续时间达到其预估时长时,所述蓝牙从设备进入所述当前数据传输周期的第四阶段,所述蓝牙从设备在所述第四阶段时交替处于数据扫描状态和空闲状态,直至在数据扫描状态下监测到所述蓝牙主设备的数据包时,所述蓝牙从设备开始下一数据传输周期。
例如,在第四阶段中,蓝牙从设备可以先处于数据扫描状态,若未监测到蓝牙主设备的数据包且持续时间达到固定间隔时间时,再切换为空闲状态,当空闲状态的持续时间达到固定间隔时间时再切换至数据扫描状态,…,直至监测到蓝牙主设备的数据包时,蓝牙从设备开始下一数据传输周期,例如,该固定间隔时间可以为5个时隙。
本发明实施例提供的通信方法,蓝牙从设备在检测到蓝牙主设备停止传输数据包时从数据传输状态切换至数据扫描状态,之后当未监测到蓝牙主设备的数据包且数据扫描状态的持续时间达到预设值时,蓝牙从设备根据当前通信状况预估得到当前数据传输周期的预估空闲时长,并将其划分得到第三阶段的预估时长和第四阶段的预估时长,在第三阶段中蓝牙从设备处于空闲状态,在第四阶段中蓝牙从设备交替处于数据扫描状态和空闲状态,这样可以在实现较好通信效果的情况下还可以降低蓝牙从设备的功耗。
例如,在一实施例中,所述当前通信状况包括所述蓝牙从设备的接收缓存中的当前数据量、所述蓝牙从设备的实时蓝牙传输速率、所述蓝牙从设备的实时无线通信质量中的一种或多种;
其中,相同情况下所述当前数据量越大,所述预估空闲时长越长,例如,在实时蓝牙传输速率、实时无线通信质量均相同的情况下,所述当前数据量越大,则所述预估空闲时长越长;
其中,相同情况下所述实时蓝牙传输速率越大,所述预估空闲时长越长,例如,在实时无线通信质量、蓝牙从设备的接收缓存中的当前数据量均相同的情况下,所述实时蓝牙传输速率越大,则所述预估空闲时长越长;
其中,相同情况下所述实时无线通信质量越好,所述预估空闲时长越长,例如,在实时蓝牙传输速率、蓝牙从设备的接收缓存中的当前数据量均相同的情况下,所述实时无线通信质量越好越大,则所述预估空闲时长越长。
其中,本发明中,蓝牙从设备的实时蓝牙传输速率可以是当前数据传输周期之前的若干个数据传输周期中,第一阶段的蓝牙传输速率的平均值,蓝牙从设备的实时无线通信质量可以是当前数据传输周期之前的若干个数据传输周期中,第一阶段的无线通信质量的平均值。
其中,本发明中,所述当前通信状况可以包括所述蓝牙从设备的接收缓存中的当前数据量、所述蓝牙从设备的实时蓝牙传输速率、所述蓝牙从设备的实时无线通信质量中的一种,也可以包括其中的多种,具体地,蓝牙从设备中可以预先存储不同当前通信状况与不同预估空闲时长之间的对应关系,该对应关系可以预先通过若干次试验确定,若当前通信状况包括多种信息,可以采用数据拟合的方式确定相应的对应关系。
其中,在步骤s300中,可以通过一划分比例将当前数据传输周期的预估空闲时长划分,得到当前数据传输周期的第三阶段的预估时长和第四阶段的预估时长。
优选地,在一实施例中,可以根据上一数据传输周期中的第四阶段的实际时长对上一数据传输周期采用的划分比例进行调节,若上一数据传输周期中第四阶段的实际时长大于预估时长,那么在当前数据传输周期中可以适当增大第三阶段的比例,以进一步地降低功耗,若上一数据传输周期中第四阶段的实际时长小于预估时长,那么在当前数据传输周期中可以适当减小第三阶段的比例,以保证通信效果。
例如,在一实施例中,在所述步骤s300中,通过将所述预估空闲时长划分得到所述当前数据传输周期的第三阶段的预估时长和第四阶段的预估时长包括:
步骤s301:将上一数据传输周期的第四阶段的实际时长与其预估时长进行比较,若所述上一数据传输周期的第四阶段的实际时长大于所述上一数据传输周期的第四阶段的预估时长,则增大k1得到k2,若所述上一数据传输周期的第四阶段的实际时长小于所述上一数据传输周期的第四阶段的预估时长,则减小k1得到k2;
其中,k1为上一数据传输周期中,第三阶段在预估空闲时长中的比例,k2为所述当前数据传输周期中,第三阶段在预估空闲时长中的比例;
其中,增大k1的量和减小k1的量可以通过若干次试验确定。
步骤s302:利用所述k2、所述当前数据传输周期的预估空闲时长得到所述当前数据传输周期的第三阶段的预估时长和第四阶段的预估时长。
可以理解是,本发明中,当蓝牙从设备处于数据传输状态时,蓝牙从设备需要判断是否监测到蓝牙主设备的数据包并对监测到的数据进一步处理,当蓝牙从设备处于数据扫描状态时,蓝牙从设备需要判断是否监测到蓝牙主设备的数据包(即判断蓝牙主设备是否正在尝试进行数据包的传输),若判定蓝牙主设备正在尝试进行数据包的传输,则切换到数据传输状态,其中,蓝牙从设备处于空闲状态时采用的信号监测判决条件可以与处于数据传输状态时采用的信号监测判决条件相同。
优选地,在一实施例中,在上述步骤s100~步骤s400中,所述蓝牙从设备处于所述空闲状态时采用的信号监测判决条件宽松于所述蓝牙从设备处于所述数据传输状态时采用的信号监测判决条件,所述信号检测判决条件用于判断是否监测到所述蓝牙主设备的数据包(即用于判断蓝牙主设备是否正在尝试进行数据包的传输),这样可以进一步地保证通信效果,有利于避免有效数据带宽的浪费,例如,所述蓝牙从设备处于所述空闲状态时采用的syncword匹配度要求低于所述蓝牙从设备处于所述数据传输状态时采用的syncword匹配度要求。
本发明实施例提供的通信方法,采用自适应的带宽调整方式,蓝牙从设备可以不使用qos流程,不存在蓝牙设备的兼容性问题,有利于大大降低蓝牙从设备的功耗。
优选地,为进一步地保证通信效果,当蓝牙从设备与蓝牙主设备之间的蓝牙传输速率稳定并趋近于目标传输速率时,再执行上述的步骤s100~步骤s400,例如,在一实施例中,在所述步骤s100之前,所述方法还包括:
步骤s10:所述蓝牙从设备从所述蓝牙主设备获取目标传输速率;
步骤s20:所述蓝牙从设备在满带宽状态下每隔一时段统计自身与所述蓝牙主设备在当前时段内的平均蓝牙传输速率,若连续多次统计的平均蓝牙传输速率与所述目标传输速率的差值均小于预设的阈值,则执行所述步骤s100,例如,蓝牙从设备每隔1分钟统计当前时刻前1分钟内的平均蓝牙传输速率,当连续多次统计的平均蓝牙传输速率均小于设定的阈值,则说明实际的平均蓝牙传输速率稳定并趋近于目标传输速率,蓝牙从设备可以开始进入自适应带宽分配状态。
例如,本发明实施例提供的通信方法可以具体包括如下步骤:
步骤a:蓝牙从设备加入蓝牙网络,与蓝牙主设备建立音频传输链路,从蓝牙主设备获取目标传输速率。
步骤b:蓝牙从设备先以满带宽状态运行,并统计自身与蓝牙主设备的平均蓝牙传输速率,当统计到的平均蓝牙传输速率稳定并趋近于目标传输速率时,蓝牙从设备开始进入自适应带宽分配状态;
其中,当未满足“平均蓝牙传输速率稳定并趋近于目标传输速率时”时,蓝牙从设备可仍以满带宽状态运行。
如图3所示,本实施例中,将进入数据传输的时间节点作为起点,此次数据传输结束后,下一次进入数据传输的时间节点作为终点,将这段时间视为一个数据传输周期t。对于蓝牙主设备,其数据传输周期可以包括数据传输阶段和空闲阶段,在数据传输阶段中,蓝牙主设备处于‘data’状态(数据传输状态),在空闲阶段中,蓝牙主设备处于‘idle’状态(空闲状态);
对于蓝牙从设备,其数据传输周期可包括第一阶段t1、第二阶段t2、第三阶段t3和第四阶段t4,分别对应蓝牙从设备不同的运行状态,其中,第一阶段t1为数据传输部分,蓝牙从设备处于“data”(数据传输状态),与蓝牙主设备传输数据包,第二阶段t2为数据传输结束检测部分,蓝牙从设备处于“scan”(数据扫描状态,也即无线信号监测状态),以监测所述蓝牙主设备的数据包,第三阶段t3为空闲部分,蓝牙从设备处于“idle”状态(空闲状态),停止无线信号监测,进入低功耗模式,以降低蓝牙从设备的功耗,第四阶段t4为数据传输启动检测部分,蓝牙从设备交替处于“scan”(数据扫描状态)和“idle”状态(空闲状态);
步骤c:当蓝牙主设备进行数传输时,蓝牙从设备处于第一阶段t1,其时长不定,将一直持续至蓝牙主设备停止数据包的传输;t1时间结束时,蓝牙从设备将立刻进入第二阶段t2;
步骤d:第二阶段t2为数据传输结束检测时间,其存在一预设值;在t2时间段内,蓝牙从设备继续监测空中的无线信号,相比第一阶段t1使用更为宽松的信号监测判决条件(如降低syncword匹配度要求)来判定蓝牙主设备是否正在尝试进行数据包的传输;
当蓝牙从设备发现蓝牙主设备仍然在进行数据传输时,蓝牙从设备将跳转到步骤c;当第二阶段t2的持续时间达到其预设值时,蓝牙从设备未监测到蓝牙主设备的无线信号或者发现蓝牙主设备正在发送非数据包(如poll/null包),蓝牙从设备将转入第三阶段t3。
步骤e:第三阶段t3为空闲时间,其预估时长可采用以下方式确定:
首先根据蓝牙从设备的接收缓存里的当前数据量、实时蓝牙传输速率、实时无线通信质量几个方面综合评定当前数据传输周期的预估空闲时长;
然后将上一数据传输周期的第四阶段的实际时长与其预估时长进行比较,若所述上一数据传输周期的第四阶段的实际时长大于所述上一数据传输周期的第四阶段的预估时长,则增大k1得到k2,若所述上一数据传输周期的第四阶段的实际时长小于所述上一数据传输周期的第四阶段的预估时长,则减小k1得到k2,k1为上一数据传输周期中,第三阶段在预估空闲时长中的比例,k2为所述当前数据传输周期中,第三阶段在预估空闲时长中的比例;
利用k2、当前数据传输周期的预估空闲时长得到当前数据传输周期的第三阶段的预估时长和第四阶段的预估时长,即将k2与当前数据传输周期的预估空闲时长相乘,得到当前数据传输周期的第三阶段的预估时长,剩余时长即为第四阶段的预估时长,当前数据传输周期的第四阶段的预估时长可以用来确定下一数据传输周期中,第三阶段在预估空闲时长中的比例。
例如,在实时蓝牙传输速率不足时,t3时间段可能为零;当上一数据传输周期的t4的实际时间长度大于t4的预估时长时,说明上一数据传输周期中蓝牙主设备的空闲时间较大,此时可在当前数据传输周期中适当增大t3的时间比例,反之,则缩小t3的时间比例,t3时间段结束后,转入第四阶段t4;
可以理解的是,若当前数据传输周期为确定“平均蓝牙传输速率稳定并趋近于目标传输速率”后的第一个数据传输周期,第三阶段的预估时长和第四阶段的预估时长可以是预存储的预设值。
步骤f:第四阶段t4为数据传输启动检测时间,持续至监测到蓝牙主设备进入数据传输状态后,转入到下一数据传输周期的t1时间段;t4时间段中,蓝牙从设备在“scan”(数据扫描状态)和“idle”状态(空闲状态)间快速切换;快速状态切换下的数据传输监测,无线信号监测时间及空闲休眠时间都比较短,这种碎片化的监测方式压缩了t4时间段内无线信号监测高功耗状态的时间占比,降低蓝牙从设备的运行功耗,同时较短的空闲休眠时间又保证了监测延时不会过长,从而有效的平衡检测速度及运行功耗的关系;
当蓝牙从设备检测到蓝牙主设备进入数据传输状态后,则进入下一个数据传输周期,跳转至步骤c。
本发明实施例提供的通信方法,根据蓝牙音频传输特性,将蓝牙从设备的一个数据传输周期分成多个阶段,每个阶段中蓝牙从设备使用不同的运行状态,对应不同的功耗策略,其中,通过检测蓝牙主设备进行数据传输的时间段,为时间分段提供依据,通过快速切换的无线信号监测方式,有效的平衡检测速度及运行功耗的关系,根据无线通信质量及蓝牙主设备的行为,调整蓝牙从设备的空闲休眠时间长度,能够有效兼顾蓝牙从设备的功耗及无线通信质量,使其达到更低的功耗。
本发明实施例提供的通信方法,可以使蓝牙从设备不使用经典蓝牙协议的qos流程,而是通过传输速率检测,无线环境监控,并结合蓝牙音频传输的特性,分析预测蓝牙主设备的带宽分配变化,实现自动适配,在蓝牙从设备预测出蓝牙主设备的空闲时间段后,在此时间段停止无线信号监测,从而达到节省功耗的目的。
本发明实施例还提供了一种通信装置,应用于蓝牙从设备,所述装置包括:
第一控制模块,用于当蓝牙从设备在数据扫描状态下监测到蓝牙主设备的数据包时,控制所述蓝牙从设备进入当前数据传输周期的第一阶段,所述蓝牙从设备在所述第一阶段处于数据传输状态,以与所述蓝牙主设备传输数据包;
第二控制模块,用于当检测到所述蓝牙主设备停止传输数据包时,控制所述蓝牙从设备进入所述当前数据传输周期的第二阶段,所述蓝牙从设备在所述第二阶段处于数据扫描状态,以监测所述蓝牙主设备的数据包;
第三控制模块,用于当在所述第二阶段未监测到所述蓝牙主设备的数据包且所述第二阶段的持续时间达到预设值时,根据所述蓝牙从设备与所述蓝牙主设备的当前通信状况确定所述当前数据传输周期的预估空闲时长,并通过将所述预估空闲时长划分得到所述当前数据传输周期的第三阶段的预估时长和第四阶段的预估时长,然后控制所述蓝牙从设备进入所述当前数据传输周期的第三阶段,所述蓝牙从设备在所述第三阶段处于空闲状态,以降低所述蓝牙从设备的功耗;
第四控制模块,用于当所述当前数据传输周期的第三阶段的持续时间达到其预估时长时,控制所述蓝牙从设备进入所述当前数据传输周期的第四阶段,所述蓝牙从设备在所述第四阶段时交替处于数据扫描状态和空闲状态,直至在数据扫描状态下监测到所述蓝牙主设备的数据包时,所述蓝牙从设备开始下一数据传输周期。
例如,在一实施例中,所述当前通信状况包括所述蓝牙从设备的接收缓存中的当前数据量、所述蓝牙从设备的实时蓝牙传输速率、所述蓝牙从设备的实时无线通信质量中的一种或多种;
其中,相同情况下所述当前数据量越大,所述预估空闲时长越长;
其中,相同情况下所述实时蓝牙传输速率越大,所述预估空闲时长越长;
其中,相同情况下所述实时无线通信质量越好,所述预估空闲时长越长。
例如,在一实施例中,所述第三控制模块包括:
第一处理单元,用于将上一数据传输周期的第四阶段的实际时长与其预估时长进行比较,若所述上一数据传输周期的第四阶段的实际时长大于所述上一数据传输周期的第四阶段的预估时长,则增大k1得到k2,若所述上一数据传输周期的第四阶段的实际时长小于所述上一数据传输周期的第四阶段的预估时长,则减小k1得到k2;
其中,k1为上一数据传输周期中,第三阶段在预估空闲时长中的比例,k2为所述当前数据传输周期中,第三阶段在预估空闲时长中的比例;
第二处理单元,用于利用所述k2、所述当前数据传输周期的预估空闲时长得到所述当前数据传输周期的第三阶段的预估时长和第四阶段的预估时长。
优选地,在一实施例中,所述蓝牙从设备处于所述空闲状态时采用的信号监测判决条件宽松于所述蓝牙从设备处于所述数据传输状态时采用的信号监测判决条件,所述信号检测判决条件用于判断是否监测到所述蓝牙主设备的数据包。
例如,在一实施例中,所述蓝牙从设备处于所述空闲状态时采用的syncword匹配度要求低于所述蓝牙从设备处于所述数据传输状态时采用的syncword匹配度要求。
优选地,在一实施例中,上述的通信装置还包括:
获取模块,用于从所述蓝牙主设备获取目标传输速率;
统计处理模块,用于在满带宽状态下每隔一时段统计自身与所述蓝牙主设备在当前时段内的平均蓝牙传输速率,并将统计的平均蓝牙传输速率与所述目标传输速率的差值与预设的阈值进行比较。
本发明实施例还提供了一种蓝牙从设备,包括处理器、与所述处理器耦合的存储器,其中,所述存储器中存储有指令,以供所述处理器执行,当所述处理器执行所述指令时,能实现上述的通信方法。
例如,所述蓝牙从设备为蓝牙耳机。
本发明实施例还提供了一种蓝牙通信系统,包括蓝牙主设备和上述的蓝牙从设备。
例如,所述蓝牙从设备可以为蓝牙耳机,所述蓝牙主设备可以为手机。
本领域的技术人员能够理解的是,在不冲突的前提下,上述各优选方案可以自由地组合、叠加。
应当理解,上述的实施方式仅是示例性的,而非限制性的,在不偏离本发明的基本原理的情况下,本领域的技术人员可以针对上述细节做出的各种明显的或等同的修改或替换,都将包含于本发明的权利要求范围内。
1.一种通信方法,其特征在于,应用于蓝牙从设备,所述方法包括:
步骤s100:当蓝牙从设备在数据扫描状态下监测到蓝牙主设备的数据包时,所述蓝牙从设备进入当前数据传输周期的第一阶段,所述蓝牙从设备在所述第一阶段处于数据传输状态,以与所述蓝牙主设备传输数据包;
步骤s200:当检测到所述蓝牙主设备停止传输数据包时,所述蓝牙从设备进入所述当前数据传输周期的第二阶段,所述蓝牙从设备在所述第二阶段处于数据扫描状态,以监测所述蓝牙主设备的数据包;
步骤s300:当在所述第二阶段未监测到所述蓝牙主设备的数据包且所述第二阶段的持续时间达到预设值时,根据与所述蓝牙主设备的当前通信状况,所述蓝牙从设备确定所述当前数据传输周期的预估空闲时长,并通过将所述预估空闲时长划分得到所述当前数据传输周期的第三阶段的预估时长和第四阶段的预估时长,然后进入所述当前数据传输周期的第三阶段,所述蓝牙从设备在所述第三阶段处于空闲状态,以降低所述蓝牙从设备的功耗;
步骤s400:当所述当前数据传输周期的第三阶段的持续时间达到其预估时长时,所述蓝牙从设备进入所述当前数据传输周期的第四阶段,所述蓝牙从设备在所述第四阶段时交替处于数据扫描状态和空闲状态,直至在数据扫描状态下监测到所述蓝牙主设备的数据包时,所述蓝牙从设备开始下一数据传输周期。
2.根据权利要求1所述的方法,其特征在于,在步骤s300中,所述当前通信状况包括所述蓝牙从设备的接收缓存中的当前数据量、所述蓝牙从设备的实时蓝牙传输速率、所述蓝牙从设备的实时无线通信质量中的一种或多种;
其中,相同情况下所述当前数据量越大,所述预估空闲时长越长;
其中,相同情况下所述实时蓝牙传输速率越大,所述预估空闲时长越长;
其中,相同情况下所述实时无线通信质量越好,所述预估空闲时长越长。
3.根据权利要求1所述的方法,其特征在于,在所述步骤s300中,通过将所述预估空闲时长划分得到所述当前数据传输周期的第三阶段的预估时长和第四阶段的预估时长包括:
步骤s301:将上一数据传输周期的第四阶段的实际时长与其预估时长进行比较,若所述上一数据传输周期的第四阶段的实际时长大于所述上一数据传输周期的第四阶段的预估时长,则增大k1得到k2,若所述上一数据传输周期的第四阶段的实际时长小于所述上一数据传输周期的第四阶段的预估时长,则减小k1得到k2;
其中,k1为上一数据传输周期中,第三阶段在预估空闲时长中的比例,k2为所述当前数据传输周期中,第三阶段在预估空闲时长中的比例;
步骤s302:利用所述k2、所述当前数据传输周期的预估空闲时长得到所述当前数据传输周期的第三阶段的预估时长和第四阶段的预估时长。
4.根据权利要求1所述的方法,其特征在于,所述蓝牙从设备处于所述空闲状态时采用的信号监测判决条件宽松于所述蓝牙从设备处于所述数据传输状态时采用的信号监测判决条件,所述信号检测判决条件用于判断是否监测到所述蓝牙主设备的数据包。
5.根据权利要求4所述的方法,其特征在于,所述蓝牙从设备处于所述空闲状态时采用的信号监测判决条件宽松于所述蓝牙从设备处于所述数据传输状态时采用的信号监测判决条件,包括:
所述蓝牙从设备处于所述空闲状态时采用的syncword匹配度要求低于所述蓝牙从设备处于所述数据传输状态时采用的syncword匹配度要求。
6.根据权利要求1-5任一项所述的方法,其特征在于,在所述步骤s100之前,所述方法还包括:
步骤s10:所述蓝牙从设备从所述蓝牙主设备获取目标传输速率;
步骤s20:所述蓝牙从设备在满带宽状态下每隔一时段统计自身与所述蓝牙主设备在当前时段内的平均蓝牙传输速率,若连续多次统计的平均蓝牙传输速率与所述目标传输速率的差值均小于预设的阈值,则执行所述步骤s100。
7.一种通信装置,其特征在于,应用于蓝牙从设备,所述装置包括:
第一控制模块,用于当蓝牙从设备在数据扫描状态下监测到蓝牙主设备的数据包时,控制所述蓝牙从设备进入当前数据传输周期的第一阶段,所述蓝牙从设备在所述第一阶段处于数据传输状态,以与所述蓝牙主设备传输数据包;
第二控制模块,用于当检测到所述蓝牙主设备停止传输数据包时,控制所述蓝牙从设备进入所述当前数据传输周期的第二阶段,所述蓝牙从设备在所述第二阶段处于数据扫描状态,以监测所述蓝牙主设备的数据包;
第三控制模块,用于当在所述第二阶段未监测到所述蓝牙主设备的数据包且所述第二阶段的持续时间达到预设值时,根据所述蓝牙从设备与所述蓝牙主设备的当前通信状况确定所述当前数据传输周期的预估空闲时长,并通过将所述预估空闲时长划分得到所述当前数据传输周期的第三阶段的预估时长和第四阶段的预估时长,然后控制所述蓝牙从设备进入所述当前数据传输周期的第三阶段,所述蓝牙从设备在所述第三阶段处于空闲状态,以降低所述蓝牙从设备的功耗;
第四控制模块,用于当所述当前数据传输周期的第三阶段的持续时间达到其预估时长时,控制所述蓝牙从设备进入所述当前数据传输周期的第四阶段,所述蓝牙从设备在所述第四阶段时交替处于数据扫描状态和空闲状态,直至在数据扫描状态下监测到所述蓝牙主设备的数据包时,所述蓝牙从设备开始下一数据传输周期。
8.一种蓝牙从设备,其特征在于,包括处理器、与所述处理器耦合的存储器,其中,所述存储器中存储有指令,以供所述处理器执行,当所述处理器执行所述指令时,能实现如权利要求1-6任一项所述的方法。
9.根据权利要求8所述的蓝牙从设备,其特征在于,所述蓝牙从设备为蓝牙耳机。
10.一种蓝牙通信系统,其特征在于,包括蓝牙主设备和如权利要求8或9所述的蓝牙从设备。
技术总结