蓝牙(3):LE的连接过程;BT LE参考WiFi引入了Advertising ,类似WiFi的beacon。这是BT的巨大进步。

4.2.2.1 设备过滤程序Device filtering procedure

因为LE引入了Advertising ,空中Advertising 可能很多,所以第一步先过滤。

有了过滤机制,BT wakeup唤醒也更方便了。

设备过滤程序是控制器用于减少需要通信响应的设备数量的方法。由于不需要对每个设备的请求作出响应,因此减少了LE控制器需要进行的传输次数,进而降低了功耗。同时,也减少了控制器与主机之间的通信次数。由于主机的参与减少,这也带来了额外的节能效果。

一个广播或扫描设备可以使用设备过滤来限制其接收来自哪些设备的广播数据包、扫描请求或连接请求。在LE中,扫描设备接收到的一些广播数据包需要扫描设备向广播设备发送请求。如果使用设备过滤且正在过滤广播设备,则可以选择忽略此广播。连接请求的情况也类似。除非使用设备过滤器来限制广告商需要响应的设备,否则广告商必须对连接请求进行响应。广告商还可以使用设备过滤器来限制将接受扫描请求或连接请求的设备。

这种设备过滤是通过在控制器的LL块中使用“过滤器接受列表”来实现的。过滤器接受列表列出了允许与本地设备通信的远程设备。当过滤器接受列表生效时,来自不在该列表中的设备的传输将被LL忽略。由于设备过滤发生在LL中,它可以通过过滤(或忽略)发送给更高层处理的广播数据包、扫描请求或连接请求,对功耗产生显著影响。


4.2.2.2 广告程序Advertising procedure

BT LE参考WiFi引入了Advertising ,类似WiFi的beacon。这是BT的巨大进步。有了Advertising ,BT的发送数据更灵活,不像BR/EDR必须要建立连接才能发送(除了inquiry和paging)。后面Periodic advertising让查找设备更加方便,比如airtag,资产标签等,无需配对,即可查找。

广告商使用广告程序对区域内的设备进行单向广播。这种单向广播发生在广告设备和监听设备之间没有建立连接的情况下。广告程序可以用于与附近的启动设备建立连接,或者用于向在广告物理信道上监听的扫描设备提供定期的用户数据广播。广告程序使用主广告物理信道进行所有广告广播。然而,为了减少主广告物理信道的占用率和总空中时间,并允许数据长度超过单个数据包的最大容量,数据可以在一个或多个辅助数据包中卸载到次广告物理信道上。

广告数据可以以加密或未加密的形式传输。未加密的数据可以被任何扫描设备解读。加密的数据可以被任何扫描设备接收,但只有先前已经获得用于加密数据的会话密钥的设备才能解密和验证这些数据。


广告设备可能会从监听设备接收扫描请求,以从广告设备获取额外的用户数据。扫描响应由广告设备发送给发起扫描请求的设备。

广告设备可能会从启动设备接收连接请求。如果广告设备使用的是可连接广告事件,且启动设备没有被设备过滤程序过滤掉,则广告设备将停止广告并进入连接模式。设备在连接模式下可以再次开始广告。

当在LE未编码PHY上进行广告时,扫描请求和扫描响应可以在与原始广告相同的PHY信道上进行,也可以卸载到次广告物理信道上。在某些情况下,当在LE未编码PHY上进行广告时,连接请求和连接响应会被卸载到次广告物理信道上。当在LE编码PHY上进行广告时,扫描请求、扫描响应、连接请求和连接响应总是会被卸载。与广告数据一样,卸载是通过在主广告物理信道上的初始广告指向次广告物理信道上的辅助数据包来实现的。扫描请求和扫描响应、连接请求和连接响应都在与辅助数据包相同的PHY和相同的物理信道上进行。

4.2.2.3 扫描程序Scanning procedure

LE 取消了inquiry scan,类比WiFi的scan,active和passive。

扫描设备使用扫描程序通过广告物理信道监听来自广告设备的用户数据的单向广播。扫描设备可以通过发出扫描请求来请求广告设备的额外用户数据。广告设备通过广告物理信道向扫描设备发送额外的用户数据来响应这些请求。

扫描程序可以在与其他LE设备连接时使用。在连接状态下花费在扫描上的时间需要与维持每个piconet中与其他LE设备已建立连接所需的连接要求相平衡。

如果广播是可连接的广告事件,且扫描设备处于启动模式,它可以通过在主广告物理信道或次广告物理信道上向广告设备发送连接请求来启动连接。一旦在主广告物理信道上发送了连接请求,扫描设备就停止启动模式扫描以获取更多广播,并进入连接模式。当连接请求在次广告物理信道上发送时,扫描设备离开启动模式,停止扫描以获取更多广播,并在收到连接响应后进入连接模式。设备在进入连接模式后可以使用扫描程序,使其能够同时作为多个piconet中的中央设备。

4.2.2.4 发现程序Discovering procedure

LE 取消了inquiry scan,类比WiFi的scan,active和passive。

蓝牙设备使用广告程序和扫描程序来发现附近的设备,或被给定区域内的设备发现。

发现程序是不对称的。试图寻找其他附近设备的蓝牙设备被称为发现设备,并监听正在广播可扫描广告事件的设备。可以被发现的蓝牙设备被称为可发现设备,并通过广告广播物理信道主动广播可扫描的广告事件。

发现和可发现设备可能都已经与其他蓝牙设备连接。任何用于查询或占用广告广播物理信道的时间都需要与维持与其他LE设备已建立连接所需的连接要求相平衡。

通过扫描设备使用设备过滤可以防止扫描设备发现给定区域内的所有设备。

4.2.2.5 连接程序Connecting procedure

LE 取消了paging,类比WiFi的associate request/response.

连接的形成过程是不对称的,需要一个蓝牙设备执行广告程序,而另一个蓝牙设备执行扫描程序。广告程序可以有针对性地进行,使得只有一个设备会响应广告。扫描设备也可以通过首先发现广告设备以可连接的方式存在于给定区域内,然后使用设备过滤器仅扫描该设备的可连接广告事件来定位广告设备。在从目标广告设备接收到可连接广告事件后,它可以通过在主广告物理信道或次广告物理信道上向目标广告设备发送连接请求来发起连接。

在连接状态下花费在扫描上的时间需要与维持与其他LE设备已建立连接所需的连接要求相平衡。

4.2.2.6 连接模式Connected mode

类比WiFi的associated状态

在成功的连接程序后,设备在piconet内物理上彼此连接。这意味着它们都连接到一个piconet物理信道,设备之间存在物理链路,并且存在默认的LE-C和LE-U逻辑链路。在连接模式下,可以在保持与piconet物理信道连接的同时更改物理和逻辑链路的属性,例如更改自适应跳频序列或更改数据包的最大长度。设备还可以执行广告、扫描或发现程序,而无需从原始piconet物理信道断开连接。

使用链路管理器创建额外的逻辑链路,链路管理器通过交换LL协议消息与远程蓝牙设备协商这些链路的创建和设置。其中一个链路(LE-C)传输LL控制协议,并且对于链路管理器之上的层是不可见的。另一个链路(LE-U)传输L2CAP信号协议以及任何复用的L2CAP尽力而为的通道。通常提及默认的LE ACL逻辑传输,这可以根据上下文解析,但通常指的是默认的LE-U逻辑链路。

这两个逻辑链路共享一个逻辑传输。

在外围设备积极连接到piconet期间,外围设备和中央设备之间始终存在默认的LE ACL逻辑传输。删除默认LE ACL逻辑传输的方法是使设备从piconet物理信道分离,此时设备之间的L2CAP通道、逻辑链路和逻辑传输的整个层次结构都将被删除。

4.2.2.7 周期性广告程序Periodic advertising procedure

WiFi的beacon一般100ms发一次。比如airtag,资产标签等,隔一段时间发一次Advertising,让设备管理员容易查找设备,无需配对。

广告商使用周期性广告程序在区域内对设备进行单向周期性广播。这种单向广播是在广告设备和监听设备之间没有连接的情况下发生的。周期性广告程序可以用于与附近设备同步,以便在监听广告物理信道的扫描设备上提供确定性的用户数据周期性广播。广告程序使用主广告和次广告物理信道广播关于周期性广告的控制信息,这些信息被称为周期性广告同步信息。广告商还可以通过LE-C逻辑链路将周期性广告同步信息传递给另一个已连接的设备。

在周期性物理信道上与其他LE设备同步的LE设备使用周期性广告事件。在与其他LE设备连接或同步时花费在周期性广告上的时间需要与维持已建立的连接或同步所需的连接和同步要求相平衡。

4.2.2.8 周期性广告同步程序Periodic advertising synchronization procedure

WiFi的beacon一般100ms发一次。

与周期性广告同步的程序包括两个部分:获取周期性广告同步信息,然后监听周期性广告。第一部分可以通过两种方法中的任一种来完成。

第一种方法要求一个蓝牙设备进行广告程序,而另一个蓝牙设备进行扫描程序。扫描设备可以通过首先发现广告设备在给定区域内存在并广播周期性广告来定位该广告设备。然后,扫描设备需要从目标广告设备接收包含周期性广告同步信息的广告事件。

第二种方法要求已经拥有周期性广告同步信息的设备通过LE-C逻辑链路将其传递给另一个已连接的设备。

一旦接收设备获得了周期性广告同步信息,程序的第二部分就是让它直接监听那些周期性广告事件;当接收设备成功接收到这样一个事件时,它就实现了同步。

同步设备可能已经在进行广告、扫描或与其他蓝牙设备在piconet中连接,或与其他周期性广告同步。任何用于与周期性广告同步的时间都需要与维持已建立的连接或同步所需的要求相平衡。

4.2.2.9 周期性广告同步模式Periodic advertising synchronized mode

WiFi的beacon一般100ms发一次。类比WiFi的connected idle,设备连上了,但是处于同步监听状态。

在成功的周期性广告同步程序之后,设备之间实现了物理同步。这意味着它们都同步于一个周期性物理信道,设备之间存在一个周期性物理链路,并且存在一个ADVB-U和一个ADVB-C逻辑链路。设备也可以在不需要断开与LE周期性物理信道连接的情况下执行广告、扫描或发现程序。

监听周期性广告的链路层可能会将数据报告给主机。当它不将数据报告给主机时,链路层不需要监听太多事件来维持同步,从而可能为其他程序提供更多时间或减少功耗。

  • 31
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ankie(资深技术项目经理)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值