Bluetooth 蓝牙介绍(二):低功耗蓝牙BLE协议栈

蓝牙低功耗(Bluetooth Low Energy,或称Bluetooth LE、BLE,旧商标Bluetooth Smart)也称蓝牙低能耗、低功耗蓝牙,是蓝牙技术联盟设计和销售的一种个人局域网技术,旨在用于医疗保健、运动健身、信标、安防、家庭娱乐等领域的新兴应用。其适配经典蓝牙功能,但相较经典蓝牙,低功耗蓝牙旨在保持同等通信范围的同时显著降低功耗和成本。
在这里插入图片描述

Physical LAYER

“蓝牙低功耗”技术采用与“经典蓝牙”技术相同的工作频率(2.400 GHz-2.4835 GHz - ISM频带),但使用另一组信道。不同于经典蓝牙的79 1-MHz信道,蓝牙低功耗使用40 2-MHz信道。在一个信道内,数据使用高斯频移调制传输,类似经典蓝牙的基本速率方案;比特率1Mbit/s,最大发射功率10 mW。

中国境内遵守工业和信息技术部MIIT文件:MIIT regulation [2002]353规定, LE系统在2400-2483.5 MHz的2.4 GHz ISM频段中运行。这LE系统使用40个RF通道。这些RF通道中心频率为 2402 + k * 2 MHz,其中k = 0,...,3

详情参考手册:《 CORE_V5.2 - vol6.A: PHYSICAL LAYER SPECIFICATION》

Link LAYER

Link Layer可以在Physical Channel基础上收发数据,但Physical Layer仅仅提供了有限的40个Physical Channel,而BLE中参与通信的实体的数量,肯定不是这个数量级,Link Layer又如何解决Physical Channel的共享问题呢。

角色

首先我们先来看下LINK LAYER 的六种 STATES:

  • Standby State:待机状态中的链路层不发送或接收任何数据包,可以从任何其他状态输入待机状态。
  • Advertising State:广播态的链路层将传输物理通道广播数据包,并可能侦听和响应由这些物理通道广播数据包触发的响应。
  • Scanning State:处于扫描态的链路层将侦听来自正在广播的设备的物理通道广播数据包。
  • Initiating State:处于启动状态的链路层将侦听来自特定设备的物理通道广播数据包,并响应这些数据包以启动与另一个设备的连接。 Initiating状态和Scanning状态类似,不过是一种特殊的接收状态,由Standby状态进入,只能接收Advertiser广播的connectable的数据,并在接收到数据后,发送连接请求,以便和Advertiser建立连接。当连接成功后,Initiater和对应的Advertiser都会切换到Connection状态。
  • Connection State:可以从Initiating State或者Advertising State进入连接态。
    进入连接态后,将定义两个角色——Master Role 和 Slave Role。由Initiating State进入连接态的角色被称为Master Role,由Advertising State进入连接态的角色被称为Slave Role。
  • Isochronous Broadcasting State:可以通过广播通道发送BIS(Broadcast Isochronous Stream) 数据报文,由Standby状态进入。想向一定区域内其它设备广播同步数据流(比如音频数据流)的设备需要处于Isochronous Broadcasting状态,处于该状态的设备称为Isochronous Broadcaster。处于Isochronous Broadcasting状态的链路层状态机应发送由一个或多个BIS 组成的BIG(Broadcast Isochronous Group),每个BIG最多包含31个BIS,每个BIS承载一个单独的同步数据流。传输第一个BIS 数据报文后链路层应通知主机,若停止同步广播则回到Standby状态;
  • Synchronization State:可以通过广播通道接收BIS同步数据流,由Standby状态进入。Synchronization状态可用于侦听一定区域内的BIS广播同步数据流(比如音频数据流),处于Synchronization状态并且正在接收同步数据包的设备称为Synchronized Receiver,只能单向接收BIG,如果在主机指定时间内未侦听到任何有效BIG,处于该状态的设备将回到Standby状态并通知主机。
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
从BLE 链路层支持的状态功能及其状态迁移过程可以看出,链路层通信主要有三个模式:

  1. Advertiser/Broadcaster — Scanner/Observer:广播者与扫描者之间通过广播信道传输数据,广播通信是一种一对多的通信方式,只要广播者发送的是可被发现报文,扫描者在信号接收范围内就可以接收到广播报文,扫描者的数量不受限制。广播通信只能进行单方向通信,由于不支持数据包分割重组而无法传输较大的数据包,广播者并不知道有谁接收了数据因此通信并不可靠;
  2. Isochronous Broadcaster — Synchronized Receiver:等时广播者与同步接收者之间通过广播信道传输同步数据流BIS(比如音频数据流),等时同步广播通信也是一种一对多的通信方式,是在Bluetooth 5.2 中新增的,同样只能进行单方向通信,比如可以让听讲座的众多观众借助支持该通信模式的蓝牙耳机同步听到一个演讲者等时广播的音频数据流;
  3. Master/Central — Slave/Peripheral:主从设备通过数据信道传输数据,连接通信是一种一对一的通信方式(一个主设备可以与多个从设备建立连接,每对儿主从设备构成一个独立的piconet),LE 的连接通信一般用于传输异步数据,在Bluetooth 5.2 中新增了传输CIS(Connected Isochronous Stream)等时同步数据流的能力,每个CIS 承载一个单独的等时同步数据流,一个或多个CIS 可组成CIG(Connected Isochronous Group),每个CIG 最多包含31个CIS。

在这里插入图片描述

CIS 是称为连接同步群組(Connected Isochronous Groups CIG)的群組的成員,每个群組都可以包含多个 CIS 实例。在一个群組內,对于每个 CIS,都有一个发送和接收时隙的时间表,称为事件(Event)和子事件(Subevent)。

同一 CIG 中的 CIS 实例具有公共的定時参考数据,这些数据用于接收者跨群組中所有串流的同步数据处理(通常是音頻渲染)同步。每個事件均以称为 ISO 间隔的规则间隔发生,該间隔可以在 5ms 至 4s 的范围內,以 1.25ms 的倍數为单位。每個事件分為一個或多個子事件。在連接的同步流中,在子事件期間,主机(M)發送一次,而从机(S)進行回应。请注意,通道在每個子事件上都会更改。主设备可以创建多個CIG。

无连接同步通信使用广播同步流(Broadcast Isochronous Streams ,BIS),并且仅支持单向通信。 LE等时物理通道上的 LE-S 或 LE-F 逻辑链路用于用户数据,而新的 LEB-C 广播控制链路用于控制要求,例如通道映射更新的通信。单个 BIS 可以將相同的资料分流传输到多个接收器设备。使用广播等時串流(BIS)時,设备在每個子事件中广播等時数据封包或广播控制信息。接收广播的设备无法回应。


地址

两个设备互相识别通过使用设备地址。设备地址可以是 public device address 或者 random device address。其中 random device address又分为Static addressPrivate address。Public MAC address 需要向IEEE 购买,申请、管理、维护,Public MAC 成本较高且固定,有加大信息泄露的安全风险,为了进一步降低成本并提高安全性,BLE 协议新增了 Random Device Address,即设备地址不是固定分配的,而是在设备设备启动后随机生成的

按照安全性分类又可以分为Identity AddressResolvable Private Addresses。其中设备的Identity Address是它在传输的数据包中使用的 Public Device AddressRandom Static Device Address 。 即使设备使用Resolvable Private Addresses,它也有一个Identity Address
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

物理信道

如 [Vol 6] Part A 第 2 节中所述,在 2.4GHz ISM 频段中定义了 40 个 RF 通道。这些 RF 信道被分成三个 LE 物理信道:advertising, periodic,data

广播物理信道使用全部 40 个射频信道来发现设备、发起连接和广播数据。这些射频频道其中分出 3 个射频频道,称为primary advertising physical channel,主要用于initial advertisingall legacy advertising activities,这里的广播就像UDP一样,是不管收发的。剩下的37 个射频频道,称为secondary advertising physical channel,用于大多数所涉及的数据交换所涉及的通讯。二级广播频道用作“辅助”频道,这意味着在发送辅助通道上的广告数据包之前,设备必须首先在主广播频道上发布。

secondary advertising physical channel / data physical channel使用多达37 个RF通道(参见第 4.5.8 节)用于连接设备之间的通信。这些射频信道中的每一个都分配了一个唯一的信道索引(参见第 1.4.1 节)。The periodic physical channel在广播物理信道上使用与次要广播物理信道相同的射频信道。若希望通信的两个设备使用共享的物理信道。为了实现这一点,他们的收发器必须同时调谐到相同的 RF 频道。

在这里插入图片描述

这里需要注意3个primary advertising physical channel并不是相邻的。
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值