紧跟着智能手机的脚步,从蓝牙1.0到5.0,在短距离无线通信领域及蓝牙设备,如同乡间的灿烂的蓝色草莓一样茁壮成长,变得物美价廉而无处不在。

低功耗蓝牙芯片的广播通道

从蓝牙规范4.0开始,标准引入了低功耗蓝牙,简称ULP或BLE。这种低功耗蓝牙芯片的工作状态大部分时间是在休眠状态,当有事件唤醒的时候,设备进入连接状态。这样在整体的工作周期中,相比4.0之前的标准,ULP会节省更多的电能。

蓝牙广播是所有蓝牙4.0以上设备必须支持的功能。它不涉及到更上层的连接层和协议层。因此利用蓝牙广播的数据包来传递的信息,在蓝牙设备上具有更好的实时性和兼容性。同时蓝牙广播的字长最多31个字节,特别适合一些小量数据的传输。比如温度计等传感qi。

蓝牙广播通道的重要功能就是是用于发现设备(Discovering devices),发起连接(Initiating a connection)和发放数据(Broadcasting data)。

蓝牙广播通道的设立和作用

低功耗蓝牙芯片的广播通道_第1张图片

BLE 中有两种角色“中心设备”(Central)和“外围设备”(Peripheral)。中心设备可以主动连接外围设备,外围设备发送广播或者被中心设备连接。外围通过广播被中心设备发现,广播中带有外围设备自身的相关信息。

广播包有两种:广播包(Advertising Data)和响应包(Scan Response),其中广播包是每个设备必须广播的,而响应包是可选的。每个包都是31字节,数据包中分为有效数据(significant)和无效数据(non-significant)两部分。

·有效数据部分:包含若干个广播数据单元,称为AD Structure。如图中所示,AD Structure 的组成是:第一个字节是长度值Len,表示接下来的Len个字节是数据部分。数据部分的第一个字节表示数据的类型AD Type,剩下的Len - 1个字节是真正的数据AD data。其中AD type非常关键,决定了AD Data的数据代表的是什么和怎么解析,这个在后面会详细讲;

·无效数据部分:因为广播包的长度必须是 31 个 byte,如果有效数据部分不到 31 自己,剩下的就用 0 补全。这部分的数据是无效的,解释的时候,忽略即可。
广播数据格式

所有的AD type的定义在文档Core Specification Supplement中。 AD Type 包括如下类型:

发现设备(Discovering devices)

发起连接(Initiating a connection)的过程是低功耗蓝牙芯片特有的设计,也是其快速建立连接的基础。低功耗蓝牙设备之间建立连接的过程如下:

低功耗蓝牙芯片的广播通道_第2张图片

传播数据(Broadcasting data)

MG127是内部集成了发射机、接收机、GFSK 调制解调qi和 BLE 基带处理的低功耗、低成本的 BLE 收发qi。封装采用 DFN3x3 ,只需搭配低成本 MCU 和少数外围被动qi件,即可实现 BLE 遥控、蓝牙电子秤等应用。巨微出产的BLE-Beacon芯片兼容iBeacon, Eddystone, 微信周边等标准。适用场合有广泛的短距离/室内定位的应用;广泛的无线传感系统和应用;以BLE-Beacon方式操作的遥控qi