蓝牙无线通信遵循IEEE的802.15标准,IEEE 802.15具有短距离、低功耗、低成本、小型网络及适用于个人操作空间的特点。由于蓝牙属于无线通信,则其通信介质是一定频率范围下的频带资源(Frequency Band),蓝牙的市场定位是个体和民用,因此使用免费的ISM频段(频率范围是2.400-2.4835 GHz)。(ISM:Industrial Scientific Medical,是由ITU,国际通信联盟无线电通信局定义的)
下面重点讲解蓝牙通信协议栈。协议栈如下图:
图5 蓝牙协议栈
蓝牙协议分为四个层次:物理层(Physical Layer)、逻辑层(Logical Layer)、L2CAP Layer和应用层(APP Layer)。
物理层,负责提供数据传输的物理通道(通常称为信道)。通常情况下,一个通信系统中存在几种不同类型的信道,如控制信道、数据信道、语音信道等等。
逻辑层,在物理层的基础上,提供两个或多个设备之间, 和物理无关的逻辑传输通道(也称作逻辑链路)。
L2CAP层,L2CAP是逻辑链路控制和适配协议(Logical Link Control and Adaptation Protocol)的缩写,负责管理逻辑层提供的逻辑链路。基于该协议,不同Application可共享同一个逻辑链路。类似TCP/IP中端口(port)的概念。
APP层,理解蓝牙协议中的应用层,基于L2CAP提供的channel,实现各种各样的应用功能。Profile是蓝牙协议的特有概念,为了实现不同平台下的不同设备的互联互通,蓝牙协议不止规定了核心规范(称作Bluetooth core),也为各种不同的应用场景,定义了各种Application规范,这些应用层规范称作蓝牙profile。
在以上四个层次的基础上,蓝牙协议又将物理层和逻辑层划分了子层,分别是Physical Channel/Physical Links和Logical Transports/Logical Links,这一划分,相当使人崩溃,要多花费大量的脑细胞去理解它们,具体请参考下面的分析。
2.1 物理层
物理层负责提供数据传输的物理信道,又分为Physical Channel和Physical Links。
Physical Layer还需要定义RF(指物理信道)收发双方的一些特性,包括:
RF发射相关的特性(Transmitter Characteristics),包括发射功率(Transmission power、调制方式(Modulation),高斯频移键控(Gaussian Frequency Shift Keying ,GFSK)、Spurious Emissions、Radio Frequency Tolerance等等。
RF接收相关的特性(Receiver Characteristics),包括接收灵敏度等。
2.1.2 Physical Channel(物理信道)
分传统的蓝牙技术(BR)和 低功耗蓝牙技术(BLE)分别介绍Physical Channel
传统蓝牙技术BR这样定义信道:
1)ISM频带被分成79份,每一份带宽1MHz,称作RF Channel。在0 channel和78 channel之外设立guard band(保护带宽,Lower Guard Band为2MHz,Upper Guard Band为3.5MHz)。
2)采用跳频技术(hopping),也就是说,某一个物理信道,并不是固定的占用79个channel中的某一个,而是以一定的规律在跳动(该规律在技术上叫做"伪随机码",就是"假"的随机码)。因此蓝牙的物理信道,也可以称作跳频信道(hopping channel)。
3)BR技术定义了5种物理信道(跳频信道),BR Basic Piconet Physical Channel、BR Adapted Piconet Physical Channel、BR Page Scan Physical Channel、BR Inquiry Scan Physical Channel和BR Synchronization Scan Channel。
4)BR Page Scan Physical Channel用于蓝牙设备的发现操作(discovery),即我们常用的搜索其它蓝牙设备(discover)以及被其它蓝牙设备搜索(discoverable)。
5)BR Inquiry Scan Physical Channel用于蓝牙设备的连接操作(connect),即我们常用的连接其它蓝牙设备(connect)以及被其它蓝牙设备连接(connectable)。
6)BR Basic Piconet Physical Channel和BR Adapted Piconet Physical Channel主要用在处于连接状态的蓝牙设备之间的通信。它们的区别是,BR Adapted Piconet Physical Channel使用较少的RF跳频点。BR Basic Piconet Physical Channel使用全部79个跳频点,而BR Adapted Piconet Physical Channel是根据当前的信道情况使用79个跳频点中的子集,但是跳频数目也不能少于20个。这个主要是因为蓝牙使用ISM频段,当蓝牙和WIFI共存的时候,部分跳频点被WIFI设备占用而使得蓝牙设备在这些跳频点上的通信总是失败,因此,需要避过那些WIFI设备占用的频点。
7)BR Synchronization Scan Channel可用于无连接的广播通信,后续文章会详细介绍。
8)同一时刻,BT 设备只能在其中一个物理信道上通信,为了支持多个并行的操作,蓝牙系统采用时分方式,即不同的时间点采用不同的信道。
BLE低功耗蓝牙技术这样定义信道:
1)ISM内整个频带分为40份,每份的带宽为2MHz。在0 channel和39 channel之外设立guard band(保护带宽,Lower Guard Band为2MHz,Upper Guard Band为3.5MHz)。
2)LE技术定义了2种物理信道,LE Piconet channel和LE Advertisement Broadcast Channel。