- 物联网及低功耗蓝牙5.x高级开发
- 谭晖编著
- 5305字
- 2022-08-16 14:43:20
1.4 低功耗蓝牙的物联网阶段:从低功耗蓝牙5.0开始
低功耗蓝牙5.0及后续版本围绕着物联网的应用场景持续发展和迭代。
1.4.1 低功耗蓝牙5.0简介
低功耗蓝牙5.0是在2016年推出的,开启了“物联网时代”大门,低功耗蓝牙5.0具备更快、更远的传输能力。
(1)低功耗蓝牙5.0的PHY传输速率是低功耗蓝牙4.2的2倍,低功耗蓝牙4.2的PHY传输速率的上限是1Mbps,低功耗蓝牙5.0的PHY传输速率为2Mbps。
(2)低功耗蓝牙5.0的有效通信距离是低功耗蓝牙4.2的4倍。低功耗蓝牙5.0除了在硬件上支持LE 1M PHY和LE 2M PHY,还支持两种编码方式的PHY(LE Coded PHY)。这两种编码方式的PHY使用的是LE 1M PHY的物理通道,一种是500kbps(S=2)的LE Coded PHY,另一种是125kbps(S=8)的LE Coded PHY。LE Coded PHY的数据包类型和LE 1M PHY、LE 2M PHY数据包类型略有不同,增加了CI(Coding Indicator)和TERM1、TERM2。CI和TERM1/2构成了前向纠错(Forward Error Correction,FEC),发射端在发送码元序列中加入差错控制码元,接收端不但能发现错码,还能将错码恢复其正确取值,是一种增加数据通信可信度的方法,从而提高了接收灵敏度和有效通信距离。
在低功耗蓝牙4.2及以前的版本中,低功耗蓝牙在无线传输中均未使用FEC,蓝牙协议规定的基准接收灵敏度为-70dBm(实际上每一家蓝牙芯片厂商都可以做到-90dBm)。低功耗蓝牙从5.0开始引入了卷积前向纠错编码(Convolutional Forward Error Correction Coding),不仅提高了接收端的抗干扰能力,将接收端的基准接收灵敏度分别提高到了-75dBm[500kbps(S=2)的LE Coded PHY]和-82dBm[125kbps(S=8)的LE Coded PHY],还提高了接收端的载干比[载干比(C/I)是指载波信号强度/干扰信号强度],在发射功率不变的情况下,可以将有效通信距离提高到低功耗蓝牙4.2的4倍。
(3)低功耗蓝牙5.0的广播数据包容量是低功耗蓝牙4.2的8倍。在低功耗蓝牙4.2中,广播是在40个2.4GHz的ISM频道中的3个频道(第37、38和39个频道)上进行的。在低功耗蓝牙5.0中,将40个2.4GHz的ISM频道分为两组广播频道,即主(Primary)广播频道(第37、38和39个频道)和次(Secondary)广播频道(其他频道),广播可在所有的频道上进行。按照低功耗蓝牙4.0的定义,广播有效载荷最多为31B。而在低功耗蓝牙5.0中,通过添加额外的广播频道(次广播频道)和新的广播PDU,将有效载荷的上限提高到了255B,从而大幅提升了广播数据的传输量,使得设备能够在广播数据包中传输更多的数据,为面向非连接应用提供了更多的灵活性,提供更为丰富的应用场景。
1.4.2 低功耗蓝牙5.1简介
2019年1月29号,蓝牙联盟正式推出了低功耗蓝牙5.1,引入了业界期待已久的寻向功能。通过寻向功能,可以侦测蓝牙信号的方向,实现厘米级的实时定位,不仅为室内定位的实现提供了一个解决方案,还为优化物联网的应用提供了多项新特性。
(1)寻向功能。低功耗蓝牙5.1通过AoA(到达角)/AoD(离开角)实现了对蓝牙信号方向的侦测,如图1-3所示。
图1-3
(2)GATT缓存。低功耗蓝牙5.1引入GATT缓存的目的是解决GATT服务发现会占用大量时间(相对于服务数据传输时间而言)的痛点。通过GATT,已绑定的客户端设备可以在整个连接期间缓存服务器的GATT数据库,从而在很大程度上减少了服务发现的时间,进一步降低了功耗。在低功耗蓝牙5.1之前,当准备连接一个客户端设备时,该设备会进入服务发现模式来查看服务器支持什么操作。服务发现模式不仅耗时还耗电,低功耗蓝牙5.1引入GATT缓存后,客服端设备可以跳过服务发现模式,不仅可以加速连接过程,还可以降低功耗。
(3)广播增强。广播增强主要采用了随机广播频道索引技术和周期广播同步传输技术。
①随机广播频道索引技术。低功耗蓝牙5.0需要严格按照第37、38和39个频道的顺序来进行循环广播,低功耗蓝牙5.1可以随机选择广播频道,这样就能减少在同一广播频道上随机碰撞所导致互相干扰的概率,从而避免了设备密集型应用场景中的相互干扰。
②周期广播同步传输技术。低功耗蓝牙5.1采用了周期广播同步传输技术,扫描设备与广播设备可以同步,使扫描设备与广播设备同时被唤醒,广播设备发送广播数据包,扫描设备打开接收端接收广播数据包。通过周期广播同步传输技术,低功耗蓝牙设备增加了向其他低功耗蓝牙设备广播时间表的功能。例如,在图1-4中,电视机广播节目表,而手机扫描电视机广播的节目表,电视机可以准确地告诉手机何时会发布名为SyncInfo数据字段的广播,这样手机无须不停地扫描电视机,在电视机广播节目表时才会在相应的时隙开启扫描,这可以大大降低功耗。同时连接的设备可以相互传输数据,手机可以直接将电视机广播的节目表传输到与手机绑定的智能手表中,智能手表不需要与电视机进行交互,可以降低低功耗蓝牙设备的功耗,延长电池续航时间。
图1-4
1.4.3 低功耗蓝牙5.2简介
2019年12月31日,蓝牙联盟发布了新版本的蓝牙核心规范(Bluetooth Core Specification)——低功耗蓝牙5.2。针对低功耗蓝牙5.1,低功耗蓝牙5.2增加了三个新功能:增强型属性协议(Enhanced Attribute Protocol,EATT)、LE功率控制(LE Power Control)和LE同步频道(LE Isochronous Channel)。
1.4.3.1 增强版属性协议
低功耗蓝牙5.2规范将属性协议(Attribute Protocol,ATT)进行了增强,称为增强型属性协议(EATT)。EATT支持并发事务,允许来自不同应用程序的ATT数据包与相关的L2CAP数据包交叉,并允许在连接期间更改ATT的最大传输单元(MTU)。总体来说,这些更改可以提高和改进低功耗蓝牙设备的用户体验,当有多个应用同时使用低功耗蓝牙协议栈时,通过暂时减少一个应用程序对协议栈的使用,阻塞该应用程序的使用,这可以减少一个或多个应用程序的端到端延时,从而改善用户的响应体验。
为了支持EATT,低功耗蓝牙5.2定义了一种新的L2CAP模式,这种新模式称为基于L2CAP的增强型信用流量控制模式。该模式可提供流量控制功能,因此允许应用程序将协议视为可靠的。与ATT相比,EATT具有安全优势,可以在加密连接上使用。
1.4.3.2 LE功率控制
LE功率控制机制使得低功耗蓝牙设备能够动态地优化连接设备之间的射频传输功率。低功耗蓝牙的接收端可以实时监测射频信号强度,并控制连接设备的传输功率级别的变化,既不会由于射频信号强度过大而导致能耗的增加以及对周围的干扰,也不会由于射频信号强度过小而影响链路通信的可靠性,可以从射频信号质量和低功耗两个角度来保持最合理的射频信号强度。
LE功率控制有以下优点:
(1)通过在连接设备之间进行动态功率管理,降低发射端的总功耗。
(2)通过控制接收端信号强度,使其保持在接收端的最佳范围内,从而提高可靠性。
(3)与环境中使用2.4GHz频率的其他无线设备共存,减少相互间的干扰。这一优点对所有工作于相同频段的设备都有帮助,而不仅仅是低功耗蓝牙设备。
LE功率控制的应用场景如下:
(1)调整设备的发射功率并通知对方。
(2)基于双方设备可接受的功率最佳值,调整自己的发射功率。
(3)监控链路的路径损耗(Path Loss)。在这种应用场景中,可以使低功耗蓝牙设备既能保证通信质量,又能使功耗最小化,还能尽可能减少其对周边设备无线电环境的干扰与影响。
1.4.3.3 LE同步频道
LE同步频道主要是为了支持LE音频(LE Audio,也称为下一代蓝牙音频)而设计的,它允许将有时间限制的数据传输到一个或多个设备上,并进行同步处理。LE同步频道既可以通过有线连接的方式,也可以通过无连接的方式将广播数据包广播到无限多接收设备中。
LE音频既可以用于小型私有设备组(个人音频共享),也可以用于公共空间(如电影院)中大小不限的设备集合。在LE同步频道的基础上,LE音频为接听器提供一个新的标准,并可在剧院、会议、演讲厅和机场等场所构建辅助听力系统,预计多语言音频系统将成为可能。
典型的LE音频应用场景如表1-1所示。
表1-1
1.4.4 低功耗蓝牙5.3简介
2021年7月蓝牙联盟发布了最新版本的蓝牙核心规范5.3,这个新版本引入了两项增强功能和一项新功能。引入的增强功能包括周期广播增强(Periodic Advertising Enhancement)功能和频道分类增强(Channel Classification Enhancement)功能;引入的新功能是连接分级(Connection Subrating)功能。这些功能进一步提高了低功耗蓝牙的通信效率、降低了功耗、提高了无线共存性,使低功耗蓝牙设备的可靠性、能源效率和用户体验等得到了显著的改善。
1.4.4.1 低功耗蓝牙5.3的增强功能
(1)周期广播增强功能。周期广播是基于扩展广播实现的。扩展广播是低功耗蓝牙5.0引入的核心功能,它是一种单向广播通信形式,广播者以固定的间隔发送广播数据包,在射频接收范围的一个或多个扫描设备可以监听这些广播数据包,无须任何形式的确认(无连接通信)。一些广播设备可以通过重复广播相同数据副本来提高数据包被接收到的概率。扩展广播虽然灵活,但不可靠。
周期广播增强功能引入了AdvDataInfo(ADI)字段,该字段可以包含在广播数据包中,能够更高效地处理冗余数据。
低功耗蓝牙的协议栈由低功耗蓝牙控制器(Controller)和低功耗蓝牙主机(Host)组成。在没有ADI字段的情况下,控制器会将所有的广播数据包发送给扫描的主机,包括已接收的重复广播数据包,这使得扫描者的主机重复接收处理广播数据包,导致额外的功耗增加,如图1-5所示。
图1-5
通过在广播数据包中加入的ADI字段,扫描者可以检测接收到的广播数据包是否为之前重复的广播数据包,如果检测到是重复的广播数据包,则直接在控制器中将其丢弃,不再将其发送给主机。扫描者越早识别和丢弃重复的广播数据包,处理这些广播数据包所耗费的功耗就越少,可用于扫描其他频道的时间就越多。换句话说,丢弃重复的广播数据包不仅可以节省功耗,还可以增加其他频道上的接收占空比。
在低功耗蓝牙5.3以前,所有周期性广播数据包都必须发送给主机。但是,在某些情况下,当广播数据包的内容没有变化时,会导致在节点上进行非必要的处理,这样会降低总体的吞吐量,同时也会导致不必要的功耗。低功耗蓝牙5.3在周期性的广播数据包中加入了ADI字段,ADI字段可以指示出周期性的广播数据包中的数据是否发生了变化。在没有发生变化的情况下,节点可以丢弃广播数据包,从而将时间用于处理其他事务。
周期性广播数据包中的ADI字段不仅可以提高低功耗蓝牙网络的整体效率,节省节点的处理能力,降低节点的功耗,还可以为主广播频道中的扫描提供更多时间。
(2)频道分类增强功能。在低功耗蓝牙中,无线电抗干扰的关键技术之一是自适应跳频(AFH)。通常,低功耗蓝牙将2.4GHz的ISM频段划分为40个频道,数据包的传输是在这些频道之间快速切换的。为了进一步降低干扰的可能性,低功耗蓝牙采用跳频序列(频道映射)进行管理,同时对频道进行了分类,繁忙或高噪声的频道被标记为不良频道,避免在不良频道上传输数据;干扰少的频道被标记为良好频道,可在良好频道上传输数据,如图1-6所示。
在低功耗蓝牙5.3以前(未引入频道分类增强功能),当主机和从机之间建立连接时,只有主机参与频道分类的过程。当主机和从机在物理上非常接近时,无须进行频道分类,这是因为主机和从机处在几乎相同的射频环境中。当主机和从机在物理上相距较远时,二者所处的射频环境可能有较大的不同,若仅由主机来进行频道分类,主机一侧良好频道,对于远端的从机来说,未必是良好频道。在这种情况下,就有可能由于受到干扰而导致冲突或连接中断,会对数据吞吐量产生负面影响。
在低功耗蓝牙5.3中,通过频道分类增强功能,从机和主机都参与了频道分类的过程。从机可以向主机报告其射频环境的状况并向主机建议频道分类,以便主机在更新频道映射时可以考虑从机建议的频道分类。频道分类增强功能使主机和从机不仅可以分别确定哪些频道是良好频道,还可以确定哪些频道是对双方而言都是良好频道。
所有面向低功耗蓝牙连接的通信都可以从频道分类增强功能中获益,以提高无线通信的数据吞吐量和可靠性,并减少广播数据包发生冲突的可能性。
图1-6
1.4.4.2 低功耗蓝牙5.3的新功能
连接分级功能(Connection Subrating)是低功耗蓝牙5.3引入的新功能,该功能通过一种高度灵活的方式来适应数据吞吐量和功耗方面动态变化的要求。高占空比的连接是以增加功耗为代价来实现更高数据吞吐量的,低占空比的连接则是以牺牲数据吞吐量为代价来降低功耗的。
低功耗蓝牙5.3通过连接更新步骤可以动态更改连接的占空比。例如,具有稳定数据(在预定义的间隔内)的外设(如血糖传感器),最初阶段可以选择低占空比的连接来降低功耗,但当外设的数据超出预定义的数值时,可能需要加强监控,此时通过连接更新步骤可以切换到高占空比的连接,从而以更高的更新率将外设的数据上传到主机。连接分级功能的示意如图1-7所示。
图1-7
在某些应用场景中,低功耗蓝牙设备大部分时间处于低占空比的连接,以降低功耗;当需要更高的带宽来支持特定的应用程序例程时,必须更改连接的占空比。连接分级功能对这类应用场景而言具有非常重要的意义,该功能允许以最小的延时更新连接的占空比,从而提供更好的用户体验,而同时保留低占空比连接的节能特性。
在低功耗蓝牙5.3以前,实现连接更新的过程可能需要很长时间才能完成,切换高占空比的连接和低占空比的连接,需要较长的时间,在某些应用中,可能会对用户体验产生负面影响。低功耗蓝牙5.3新增的连接分级功能可以在低占空比的连接和高占空比的连接之间进行快速的切换,从而改善应用的用户体验。连接分级功能不仅可以更快地实现高占空比的连接和低占空比的连接之间的切换,从而使低功耗蓝牙设备更快地返回低功耗状态,还可以更有效地处理可变数据包速率或突发流量。
物联网时代的应用场景呈现碎片化的特点,作为物联网设备制造商或应用开发人员,必须深知物联网市场的竞争是非常激烈的。要想赢得客户,每一个特性、每一步都是至关重要的。虽然低功耗蓝牙5.3是对蓝牙协议的改进,但它在无线可靠性、能源效率和用户体验方面实现了重要的提升,可以支持更多创新的方法来赢得物联网市场的竞争!