第1章 低功耗蓝牙简介
1.1 概述
2010年4月,蓝牙4.0发布,该版本将3种技术规格合而为一:传统蓝牙技术、蓝牙低功耗技术及高速蓝牙技术,而设备商可以根据自身的需要自行搭配,选择其中的一种或者多种。
蓝牙4.0主要添加了低功耗技术,其他相对蓝牙3.0没有太明显的变化,其高速模式的最高速度依然和蓝牙3.0是一样的,为24Mbit/s。
低功耗蓝牙无线技术拥有极低的运行和待机功耗,使用一粒纽扣电池可连续工作数年之久。同时它还拥有低成本、跨厂商互操作性、3ms低延迟、100m以上超长距离、AES-128加密等诸多特色,可以用于计步器、心律监视器、智能仪表、传感器物联网等众多领域,大大扩展了蓝牙技术的应用范围。
截止到目前,蓝牙共发布了9个版本:V1.1/1.2/2.0/2.1/3.0/4.0/4.1/4.2/5.0,以蓝牙的发射功率可再分为Class A/Class B。
Class A用在大功率/远距离的蓝牙产品上,但因成本高和耗电量大,不适合用作个人通信产品(手机/蓝牙耳机/蓝牙Dongle等),故多用在某些商业特殊用途上,通信距离大约为80~100m。
Class B是目前最流行的制式,通信距离大约为8~30m,视产品的设计而定,多用于手机/蓝牙耳机/蓝牙Dongle(适配器)等个人通信产品上,耗电量较少和封装较小,便于对结构空间要求苛刻的系统的集成。
1.2 蓝牙历史版本介绍
1.2.1 蓝牙1.1标准和1.2标准
蓝牙1.1标准为最早期版本,传输速率为1Mbit/s,实际传输速率约在748~810kbit/s,因是早期设计,容易受到同频率产品干扰,影响通信质量。
1.2标准同样只有748~810kbit/s的传输速率,但在加上了自适应跳频(AFH)抗干扰跳频功能,同时加入eSCO,为SCO添加重传窗口,提高通话时语音的质量。
1.1/1.2版本的蓝牙产品,本身基本可以支持立体音效的传输要求,但是音带频率响应不太够,并不算是最好的立体声传输工具。
1.2.2 蓝牙2.0标准
蓝牙2.0是1.2的改良版,传输速率由原来的1Mbit/s提高到3Mbit/s,实际传输速率约在1.8~2.1Mbit/s,可以支持双重工作方式,即一面进行语音通信,一面传输文档/高质量图片。现在市场上还有少量2.0设备在售。
1.2.3 蓝牙2.1+EDR标准
蓝牙2.0+EDR标准在2004年已经推出,支持蓝牙2.0+EDR标准的产品也于2006年大量出现。虽然蓝牙2.0+EDR标准在技术上做了大量的改进,但从1.X标准延续下来的配置流程复杂和设备功耗较大的问题依然存在。
为了改善蓝牙技术目前存在的问题,蓝牙技术联盟(Special Interest Group,SIG)推出了蓝牙2.1+EDR版本的蓝牙技术。
- 改善设备配对流程,引入简单配对机制。之前规范中,使用Pin码配对使用不方便。耳机通常使用固定Pin码的方式来配对,配对过程容易被破解侦听。简单配对的引入,使配对流程更加简单、方便,并且使得安全级别更高。同时,简单配对中OOB(Out Of Band,带外数据传递)的机制使设备可以借助第三方信息交互机制更加安全、便捷地配对。一个比较典型的应用就是蓝牙技术配合NFC技术,通过NFC技术来传输OOB信息进行配对。
- 更佳的省电效果。蓝牙2.1版加入了减速呼吸模式(Sniff Subrating)的功能,通过设定在2个设备之间互相确认信号的发送间隔达到节省功耗的目的。一般来说,当2个已进行连接的蓝牙设备进入待机状态之后,蓝牙设备之间仍需要通过相互的呼叫来确定彼此是否仍在连接状态,也因为这样,蓝牙芯片就必须随时保持工作状态,即使手机的其他组件都已经进入休眠模式。为了改善这样的状况,蓝牙2.1将设备之间相互确认的信号发送时间间隔从旧版的0.1秒延长到0.5秒左右,这可以让蓝牙芯片的工作负载大幅降低,也可让蓝牙有更多的时间彻底休眠。根据官方的报告,采用此技术之后,蓝牙设备在开启蓝牙连接之后的待机时间可以有效延长 5倍以上。
1.2.4 蓝牙3.0+HS标准
蓝牙3.0的核心是HS(High Speed,即高速)。为了高速,蓝牙引入交替射频技术(Alternate MAC/PHY,AMP)。这使得蓝牙可以在底层使用802.11无线协议作为传输层,而上层仍使用蓝牙协议。
作为新版规范,蓝牙3.0的传输速度自然会更高,而秘密就在802.11无线协议上。通过集成802.11协议适应层(802.11 PAL),蓝牙3.0的数据传输率提高到了大约24Mbit/s,是蓝牙2.0的8倍,可以轻松用于录像机至高清电视、PC至手机、PC至打印机之间的文件传输。
蓝牙3.0允许消费类设备使用已有的蓝牙技术,同时通过使用第二种无线技术来实现更大的吞吐量。蓝牙模块仅仅用来创建两台设备之间的配对,数据传输本身则通过WiFi射频来完成,如果两部手机中有一部没有内建WiFi模块,蓝牙传输的速度就会降到蓝牙2.0的速率。
功耗方面,通过蓝牙3.0高速传送大量数据自然会消耗更多能量,但由于引入了增强电源控制(EPC)机制,再辅以802.11,实际空闲功耗会明显降低,蓝牙设备的待机耗电问题得到了初步解决。事实上,蓝牙联盟也着手制定了新规范的低功耗版本。除此之外,蓝牙3.0还具备通用测试方法(GTM)和单向广播无连接数据(UCD)两项技术。
蓝牙3.0的诞生背景是无线局域网(WLAN)的崛起。WLAN在高速率个人网络的应用成为趋势。“一山不容二虎”,SIG组织希望蓝牙同样能够应用在高速个人网络场景。针对高速个人网络,引入一种新的传输层在所难免。蓝牙3.0规范制定过程中,主要有两个方向,一个是使用UWB(Ultra Wideband,一种超带宽无线载波通信技术),另一个是使用802.11。最终802.11被采用。原因在于当时UWB技术过于超前,不够成熟。不过很遗憾,之后由于商业上的原因,蓝牙3.0中的High Speed并没有被推广开来。这也催生了后续的蓝牙4.0。
1.2.5 蓝牙4.0标准
由于WLAN的兴起,以及蓝牙3.0的High Speed的颓势,蓝牙在高速个人网络中难有作为,蓝牙SIG组织将目光转向低功耗网络。在此背景下,蓝牙4.0规范于2010年7月7日正式发布,新版本的最大亮点在于低功耗和低成本。新的规范使得低功耗、低成本的蓝牙芯片被广泛使用成为可能。目前,4.0/4.1/4.2标准芯片被手机、平板、电视、OTT盒子、智能家居设备和可穿戴设备等产品大量采用。
1.2.6 蓝牙4.1标准
蓝牙4.1标准于2013年12月6日发布,引入BR/EDR安全连接(BR/EDR Secure Connection),进一步提高蓝牙的安全性。此外,针对4.0规范中的一些问题,4.1标准在低功耗蓝牙方面进一步增强,引入LE dual mode topology(LE双模技术)和LE隐私(LE Privacy 1.1)等多项新技术,进一步提高低功耗蓝牙使用的便利性和个人安全。如果同时与LTE无线电信号之间传输数据,那么蓝牙4.1可以自动协调两者的传输信息,理论上可以减少其他信号对蓝牙4.1的干扰。这些改进提升了连接速度并且使设备更加智能化,比如减少了设备之间重新连接的时间,这意味着用户如果走出了蓝牙4.1的信号范围并且断开连接的时间不算很长,当用户再次回到信号范围中之后设备将自动连接,反应时间要比蓝牙4.0更短。最后一个改进之处是提高传输效率,如果用户连接的设备非常多,比如连接了多部可穿戴设备,彼此之间的信息都能即时发送到接收设备上。除此之外,蓝牙4.1也为开发人员增加了更多的灵活性,这个改变对普通用户没有很大影响,但是对于软件开发者来说是很重要的,因为为了应对逐渐兴起的可穿戴设备,蓝牙必须能够支持同时连接多个设备。
1.2.7 蓝牙4.2标准
2014年12月4日,蓝牙4.2标准颁布。蓝牙4.2标准的公布,不仅提高了数据传输速度和隐私保护程度,而且使设备可直接通过IPv6和6LoWPAN(IPv6 over IEEE 802.15.4)接入互联网。
首先,速度更快。尽管蓝牙4.1版本已在之前的基础上提升了不少,但远远不能满足用户的需求,同WiFi相比,显得优势不足。而蓝牙4.2标准提高了蓝牙智能(Bluetooth Smart)数据包的容量,其可容纳的数据量相当于此前的10倍左右,两部蓝牙设备之间的数据传输速度提高了2.5倍。
其次,隐私保护程度的加强也获得众多用户的好评。我们知道,蓝牙4.1以及其之前的版本在隐私安全上存在一定的隐患,连接一次之后无需再确认便自动连接,这容易造成隐私泄露。而在蓝牙4.2新的标准下,蓝牙信号想要连接或者追踪用户设备必须经过用户许可,否则蓝牙信号将无法连接和追踪用户设备。
当然,最令人期待的还是通过IPv6和6LoWPAN接入互联网的功能。早在蓝牙4.1版本时,蓝牙技术联盟便已经开始尝试接入,但由于之前版本传输率的限制以及网络芯片的不兼容性,并未完全实现这一功能。而据蓝牙技术联盟称,蓝牙4.2标准已可直接通过IPv6和6LoWPAN接入互联网。相信在此基础上,一旦IPv6和6LoWPAN可广泛运用,此功能将会吸引更多的关注。
另外不得不提的是,对较老的蓝牙适配器来说,蓝牙4.2的部分功能将可通过软件升级的方式获得,但并非所有功能都可获取。蓝牙技术联盟称:“隐私功能或可通过固件升级的方式获得,但要视制造商的安装启用而定。速度提升和数据包扩大的功能则将要求硬件升级才能做到。”而到目前为止,蓝牙4.0仍是消费者设备最常用的标准,不过Android等移动平台已经实现对蓝牙4.1标准和蓝牙4.2标准的原生支持。
1.2.8 蓝牙5.0标准
美国时间2016年6月16日,蓝牙SIG在华盛顿正式发布了第五代蓝牙技术(简称蓝牙5.0)。
性能方面,蓝牙5.0标准LE传输速度是之前蓝牙4.2 LE版本的两倍,有效距离则是上一版本的4倍,即蓝牙发射和接收设备之间的理论有效工作距离增至300米。
另外,蓝牙5.0还允许无需配对就能接受信标的数据,比如广告、Beacon、位置信息等,传输率提高了8倍。同时,蓝牙5.0标准还针对IoT物联网进行底层优化,更快更省电,力求以更低的功耗和更高的性能为智能家居服务。蓝牙5.0标准蓝牙芯片已经被一些旗舰手机使用。
蓝牙5.0标准的新特性如下。
- 2倍BLE带宽提升:在BLE4.2的1Mbit/s的PHY增加可选的LE Coded调制解调方式,支持125Kbit/s和500Kbit/s,同时增加一个可选的2Mbit/s的PHY。
- 4倍通信距离提升:通过上述降低带宽、提升通信距离,同时保持功耗不变,且允许的最大输出功率从之前的10毫瓦提升至100毫瓦。
- 8倍广播数据容量提升:从BLE4.2的31字节提升至255字节,并且可以将原有的3个广播信道扩展到37个广播通道。增加通道选择算法#2。
- BR/EDR时间槽可用掩码:检测可用的发送接收的时间槽并通知其他蓝牙设备。
1.2.9 蓝牙2016年技术蓝图
蓝牙联盟在2016年的主要方针集中在以蓝牙低功耗为首的物联网布局,主要有3大方向,包括使蓝牙低功耗的传输距离提高4倍、蓝牙传输提升到2Mbit/s,以及支持物联网行业期待已久的蓝牙网状网络(Mesh)。
其中延伸蓝牙低功耗以及支持蓝牙Mesh对于物联网都是相当重大的布局。距离延伸的优点使自动化、工业控制、智慧家庭等应用变得更实用。支持Mesh最大的优点就是使蓝牙设备与终端不再仅有点对点以及延伸模式,而是使各个蓝牙设备之间可彼此相连,同时也可借此网络模式延伸蓝牙管理的距离。而提升100%的传输速度,不仅增加频宽,同时使蓝牙也能用于重视延迟的应用,例如医疗设备等领域。蓝牙新标准的颁布使信息传输以及管理更及时。
除了物联网以及用于连接设备等应用外,蓝牙技术在近年也有更多的的应用,尤其是信标(Beacon)技术正在改变定位与服务,藉由Beacon技术取代条码,使用者可轻松地获取相关信息,且能进行室内的定位服务,如百货或是车站的室内导航,百货商品业者的找寻柜位等应用。另外,通过距离的拓展以及即将导入的Mesh,蓝牙也可为自动化解决方案带来更多的变化以及弹性。
在上述的新发展目标之外,蓝牙联盟也公布了一项新的技术——传输发现技术(TDS)。通过蓝牙搜寻启动范围内的可用无线链路,借此侦测附近的无线装置与服务,并且使用者可以关闭设备中功耗较高的技术,并于需要时再开启。蓝牙联盟希望借此技术能够在物联网的环境中使能源管理变得更好。
1.2.10 蓝牙版本演进编年史
蓝牙版本的编年史如表1.1所示。
表1.1 蓝牙版本编年史
版本 |
发布日期 |
速率 |
增加功能 |
---|---|---|---|
0.7 |
1998.10.19 |
Baseband、LMP |
|
0.8 |
1999.1.12 |
HCL、L2CAP、RFCOMM |
|
0.9 |
1999.4.30 |
OBEX和IrDA的互通性 |
|
1.0 Draft |
1999.7.5 |
SDP、TCS |
|
1.0 A |
1999.7.26 |
第一个正式版本发布 |
|
1.0 B |
2000.10.1 |
安全性、设备间连接兼容性 |
|
1.1 |
2001.2.22 |
748~810kbit/s |
IEEE 802.15.1 |
1.2 |
2003.11.5 |
748~810kbit/s |
快速连接、自适应跳频、错误监测和流程控制、同步能力 |
2.0+EDR |
2004.11.9 |
1.8~3Mbit/s |
EDR速率提升到1.8~3Mbit/s |
2.1+EDR |
2007.7.26 |
3Mbit/s |
扩展查询响应、简单安全配对、暂停与继续加密、Sniffer省电 |
3.0+HS |
2009.4.21 |
24Mbit/s |
交替射频技术、802.11协议适配层、电源管理、取消UMB的应用 |
4.0+BLE |
2010.6.30 |
24Mbit/s |
低功耗物理层和链路层、AES加密、ATT、GATT、SM |
4.1 |
2013.12.6 |
24Mbit/s |
与4G不构成干扰、IPV6联网、可同时发射接收 |
4.2 |
2014.12.4 |
4.1 LE的2.5倍 |
FIPS加密、安全连接、物联网 |
5.0 |
2016.6.16 |
4.2 LE的2倍 |
室内定位、物联网 |
1.3 蓝牙4.0概述
1.3.1 什么是蓝牙4.0
蓝牙4.0为蓝牙3.0的升级标准。蓝牙4.0实际是三位一体的蓝牙技术,它将3种规格合而为一,分别是传统蓝牙、低功耗蓝牙和高速蓝牙技术,这3个规格可以组合或者单独使用。蓝牙4.0最重要的特性是省电,极低的运行和待机功耗使得设备使用一粒纽扣电池即可工作数年之久。
1.3.2 蓝牙4.0的架构
蓝牙4.0加入了LE控制器模块,允许多种构架共存。蓝牙4.0版本分为两种模式:单模式和双模式。单模式面向高度集成、紧凑的设备,采用一个轻量级连接层(Link Layer)提供超低功耗的待机模式操作、简单设备恢复和稳定可靠的点对多点数据传输,同时还有高效节能和安全加密连接。双模式是将低功耗蓝牙功能集成在现有的经典蓝牙控制器中,包含低功耗部分和经典蓝牙部分。双模式里面的低功耗性能没有单模式出色,它在现有经典蓝牙技术(2.1+EDR/3.0+HS)芯片上增加低功耗堆栈,整体架构基本不变,成本增加有限。
1.3.3 蓝牙4.0协议增加的新特性
蓝牙核心规范V4.0版本的几个新特点如下所示,改进的主要领域是:
- 包含蓝牙低功耗;
- 低功耗物理层;
- 低功耗链路层;
- 低功耗增强HCI层;
- 低功耗直接测试模式;
- 高级加密标准;
- 为低功耗增强;
- 为低功耗增强;
- 属性协议(Attribute Protocol,ATT);
- 通用属性配置文件(Generic Attribute Profile,GATT)。
- 安全管理(Security Manager,SM)。
1.4 蓝牙4.0核心架构分析
1.4.1 低功耗蓝牙概述
蓝牙4.0版本有两种形式的蓝牙无线技术系统:
- 基本速率(Basic Rate,BR)。
- 低功耗(Low Energy,LE)。
两种系统都包含设备发现、建立连接和连接通信的机制。
基本速率系统(Basic Rate System)包括可选的增强数据速率(EDR)交替媒体访问控制(MAC)和物理(PHY)层的扩展。基本速率系统提供同步和异步连接,数据速率包括721.2kbit/s的基本速率、2.1Mbit/s的增强速率和高达24Mbit/s的高速速率(由802.11 AMP射频技术来 实现)。
LE系统包含很多旨在满足极低功耗要求的产品所期望的特征,比BR/EDR复杂度低且成本低。LE系统也是为低数据速率的用例和应用程序设计的,并且具有较低的占空比。根据用例或应用程序,相较于其他系统,这个系统所选择的部件要更优化,更合适。
实现这两种系统的设备都可以与实现这两个系统的其他设备以及实现这两个系统的任何一个设备进行通信。一些配置文件(Profile)和用例可能只得到了一个系统的支持,因此,实现了这两个系统的设备支持的用例会更多。
蓝牙核心系统由主机和一个或多个控制器组成。主机是一个逻辑实体,它定义为非核心配置文件(Profile)之下,并且位于主控制器接口(HCI)之上。控制器是一个逻辑实体,定义为HCI下面的所有层。主机和控制器的实现可以包含HCI的各个部分。在这个版本的核心规范中定义了两种类型的控制器:
- 主控制器(Primary Controller);
- 辅助控制器(Secondary Controller)。
蓝牙核心的实现只有一个主控制器,它可能是以下配置之一:
- BR/EDR控制器包含射频、基带、链路管理和可选的HCI层;
- LE控制器包含LE物理层、链路层和可选的HCI层;
- 一个组合的BR/EDR控制器和一个LE控制器组合成一个单独的控制器后,这种控制器的BR/EDR部分和LE部分共享一个蓝牙设备地址。
蓝牙核心系统还可以具有由以下配置描述的一个或多个辅助控制器,如图1.1和图1.2所示。
图1.1 蓝牙主机和控制器组合(从左至右):LE单模主控制器、BR/EDR主控制器、BR/EDR主控制器加AMP辅助控制器、BR/EDR主控制器加多个AMP辅助控制器
图1.2 蓝牙主机和控制器组合(从左至右):BR/EDR和LE主控制器、BR/EDR和LE主控制器加一个AMP辅助控制器、BR/EDR和LE主控制器加多个AMP辅助控制器
AMP控制器包含802.11协议适配层(Protocol Adaptation Layer,PAL)、802.11 MAC层和物理层以及可选的HCI层。
LE蓝牙操控射频的方式和BR/EDR射频操控的方式一样。LE射频工作在免牌照的2.4GHz工业/科学/医疗频段。LE系统采用了跳频传输来抗干扰和衰落,提供了许多跳频展频(Frequency-Hopping Spread Spectrum,FHSS)技术载体。LE无线电操作使用一种简单的二进制频率调制,即高斯频移键控(Gauss Frequency Shift Keying,GFSK)来最小化收发器的复杂度,并支持1Mbit/s的比特率。蓝牙5.0可选支持2Mbit/s,空中速率提升了1倍。
LE采用了两种复用方法:频分多址(FDMA)和时分多址(TDMA)。LE具有40个物理信道,每个信道2M的频宽,用于频分多址方案。其中3个信道(37、38、39)用作广播通道,其余37个信道用作数据通道。基于TDMA的轮询方案采用的机制是:某一个设备在一个预定的时间间隔发送一个数据包给相应的设备;相应的设备在预定的时间间隔之后收包和响应。
物理信道被分为时间单元,也称为事件。在这些事件中,LE设备之间的数据以包的形式,以协议指定的传输方法进行传输。LE设备有两种类型的事件:广播事件和连接事件。
在广播物理信道上传输广播数据包的设备称为广播主。在广播信道上接收广播而不打算连接广播设备的设备称为扫描器。广播物理信道上的传输发生在广播事件中。在每个广播事件开始时,广播者发送对应于广播事件类型的广播分组。根据广播分组的类型,扫描器可以在同一广播物理信道上向广播者发出请求,然后广播者在同一广播物理信道上响应来自扫描器的请求,并决定是否需要回应。在同一广播事件中由广播者发送的下一个广播分组会发生广播物理信道的变化(37、38和39信道轮流发送广播消息分组)。广播者可在事件期间随时结束广播。第一个广播物理信道(信道37)在下一个广播事件开始时使用。
LE和2.4G WiFi的物理信道分布如图1.3所示。LE的广播信道选取了两边和中间的3个信道,用于减少3个信道都受到干扰的可能性。如果广播信道是连续的3个信道且受到较强干扰,有可能导致接收方无法侦听到广播,从而遭遇无法通信的问题。
图1.3 LE信道分布
1.4.2 核心系统架构
蓝牙核心系统由主机、主控制器和零个或多个辅助控制器组成。
实现蓝牙BR/EDR的最小核心系统涵盖4个底层和蓝牙规范定义的相关协议,以及一个公共服务层协议。服务发现协议(SDP)和所有必要的配置文件在通用访问配置文件(Generic Access Profile,GAP)中定义。BR/EDR核心系统包括对MAC/PHY(AMP)的支持以及AMP管理协议(AMP Manager Protocol)和协议适配层(Protocol Adaptation Layer,PAL),也支持相应的外部MAC/PHY。
实现蓝牙LE的最小核心系统涵盖4个底层和蓝牙规范定义的相关协议,以及两个公共服务层协议;安全管理(Security Manager,SM)、属性协议(Attribute Protocol,ATT)与所有必要的配置文件定义在通用属性配置文件(Generic Attribute Profile,GATT)和通用访问配置文件。
实现蓝牙BR/EDR及LE的核心系统包含上述两个最小要求。
核心系统构架如图1.4所示。
图1.4 蓝牙核心系统构架
图1.4显示了核心块,每个块都有相关的通信协议。链路管理器、链路控制器和BR/EDR射频物理层组成一个BR/EDR控制器。AMP协议适配层、AMP媒介访问控制和AMP物理层组成一个AMP控制器。链路管理器、链路控制器和LE射频物理层组成一个LE控制器。逻辑链路控制和适配协议(L2CAP)、服务发现协议和通用访问配置文件组成BR/EDR Host(在图1.4中未标示)。逻辑链路控制和适配协议、安全管理协议、属性协议、通用访问配置文件和通用属性配置文件组成一个LE Host(在图1.4中未标识)。一个BR/EDR/LE Host结合了各自的主机模块。这是一个常见的实现,包含涉及控制器和主机之间的标准物理通信接口。虽然这个接口是可选的,但架构是为了允许它的存在和特性而设计的。蓝牙规范通过定义等价层之间交换的协议消息和独立蓝牙子系统之间的互操作性,定义蓝牙控制器和蓝牙主机之间的通用接口,从而实现独立蓝牙系统之间的互操作性。
图1.4中显示了许多功能块和它们之间的服务和数据的路径。其中显示的功能块是描述性的,一般来说,蓝牙规范不定义实现的细节,除非这是互操作性所需要的。因此,图1.4中所示的功能块是为了帮助描述系统行为,实现可能不同于其中所示的系统。
蓝牙4.0核心系统架构的另一种观点如图1.5所示。
图1.5 蓝牙4.0核心系统构架
1.4.3 核心构架模块介绍
1.信道管理器
信道管理器负责创建、管理和结束用于服务协议和应用数据流传输的L2CAP信道。信道管理器通过L2CAP与远程(对等)设备上的信道管理器交互,以创建这些L2CAP信道并将它们的端点连接到对应的实体。信道管理器与本地链路管理器交互来创建新的逻辑链路(如有此需要)和配置这些链路,以提供被传输数据类型要求的质量服务(Quality of Service,QoS)。
2.L2CAP资源管理器
L2CAP资源管理器负责管理发送至基带的协议数据单元(Protocol Data Unit,PDU)片段的提交顺序以及信道间的相关调度,以确保不会因为Bluetooth控制器资源耗尽而导致带有QoS承诺的L2CAP信道对物理信道的访问被拒绝。这是必须的,因为架构模型不会假设Bluetooth控制器拥有无限大缓冲,也不会假设HCI是具有无限大带宽的管道。
L2CAP资源管理器也可以执行通信量符合性管制功能,以确保这些应用在它们协商好的QoS设置的限制范围内提交L2CAP服务数据单元(Service Data Unit,SDU)。一般的Bluetooth数据传输模型会假设每项应用都符合相关要求,而不会定义某项具体实施应如何处理此类问题。
3.设备管理器
设备管理器是基带的功能块,用于控制启用Bluetooth的设备的一般行为。它负责Bluetooth系统所有与数据传输无直接关系的操作,例如查询附近是否有其他启用Bluetooth的设备,连接到其他启用Bluetooth的设备,或使本地启用Bluetooth的设备可被其他设备发现或连接。
设备管理器请求从基带资源控制器访问传输媒体,以执行它的功能。
设备管理器还控制多个HCI命令指示的本地设备行为,例如管理设备本地名称、任何已存储的链路密钥和其他功能。
4.链路管理器
链路管理器负责创建、修改和释放逻辑链路(以及与这些链路关联的逻辑传输,如有需要),还可以更新与设备之间的物理链路有关的参数。链路管理器通过使用链路管理协议(LMP)与远程Bluetooth设备通信实现此功能。
LMP可以根据需要在设备之间创建新逻辑链路和逻辑传输,并进行对链路和传输特性的总体控制,例如启用逻辑传输加密、调节物理链路上的传输功率或调整逻辑链路的QoS设置。
5.基带资源管理器
基带资源管理器负责对无线媒介的所有访问。它主要有两项功能。它的核心功能是一个调度程序,用于将物理信道上的时间授予所有已协商达成访问协定的实体。另一个主要功能是与这些实体协商访问协定。访问协定实际上是一项承诺,提供必要的特定QoS,以为用户应用提供期望的性能。
访问协定和调度功能必须考虑所有需要使用Bluetooth无线电的行为。例如,这包括已连接设备之间通过逻辑链路和逻辑传输进行正常数据交换,以及使用无线电媒介实现查询、建立连接、变为可发现或可连接,或者在使用AFH模式过程中从未使用的载波中获取的读数。
在某些情况下,逻辑链路调度会导致从先前使用的物理信道更换为另一物理信道。这可能是因为涉及散射网、定期查询功能或寻呼扫描等。如果物理信道未按时隙对齐,则资源管理器还会考虑原物理信道上的时隙和新物理信道上的时隙之间的重新对齐时间。某些情况会自动对齐时隙,这是因为两个物理信道使用相同的设备时钟作为参考。
6.链路控制器
链路控制器负责Bluetooth数据包与数据净荷及物理信道、逻辑传输和逻辑链路相关参数的编码和解码操作。
链路控制器发出链路控制协议信令(与资源管理器的调度功能紧密结合),用于传达流控制及确认和重新传输请求信号。对这些信号进行翻译是与基带数据包相关联的逻辑传输的特征。链路控制信令的翻译和控制通常与资源管理器的调度程序相关联。
7.射频
射频块负责在物理信道上传输和接收数据包。基带和射频块之间的控制通道让基带功能块可以控制射频功能块的时间和频率载波。射频块可将物理信道和基带上传输的数据流转换成所需格式。
1.5 基于Bluetooth 4.0的新应用
蓝牙SIG官网公布,所有基于Bluetooth 4.0 LE技术新增加的应用如表1.2所示。
表1.2 基于GATT的Profile
基于GATT定义 |
中文全称 |
版本 |
---|---|---|
ANP(Alert Notification Profile) |
警报通知配置 |
1.0 |
ANS(Alert Notification Service) |
警报通知服务 |
1.0 |
BAS(Battery Service) |
电池服务 |
1.0 |
BLP(Blood Pressure Profile) |
血压配置 |
1.0 |
BLS(Blood Pressure Service) |
血压服务 |
1.0 |
CTS(Current Time Service) |
当前时间服务 |
1.0 |
DIS(Device Information Service) |
设备信息服务 |
1.0 |
FMP(Finde Me Profile) |
Find Me配置 |
1.0 |
GLP(Glucose Profile) |
血糖配置 |
1.0 |
GLS(Glucose Service) |
血糖服务 |
1.0 |
HIDS(HID Service) |
HID服务 |
1.0 |
HOGP(HID Over Gatt Service) |
基于GATT的HID配置 |
1.0 |
HTP(Health Thermometer Profile) |
健康体温计配置 |
1.0 |
HTS(Health Thermometer Service) |
健康体温计服务 |
1.0 |
HRP(Heart Rate Profile) |
心率配置 |
1.0 |
HRS(Heart Rate Service) |
心率服务 |
1.0 |
IAS(Immediate Alert Service) |
即使报警服务 |
1.0 |
LLS(Link Lost Service) |
链路丢失服务 |
1.0 |
NDCS(Next DST Change Service) |
下个日光节约时间更改服务 |
1.0 |
PASP(Phone Alert Status Profile) |
电话报警状态配置 |
1.0 |
PASS(Phone Alert Status Service) |
电话报警状态服务 |
1.0 |
PXP(Proximity Profile) |
近距传感配置 |
1.0 |
RTUS(Reference Time Update Service) |
参考时间更新服务 |
1.0 |
SCPP(Scan Parameters Profile) |
扫描参数配置 |
1.0 |
SCPS(Scan Parameters Service) |
扫描参数服务 |
1.0 |
TIP(Time Profile) |
时间配置 |
1.0 |
TPS(Tx Power Service) |
射频功率服务 |
1.0 |
1.6 BLE、ZigBee和WiFi的介绍和选择
表1.3列出了BLE、ZigBee和WiFi(B/G)的一些主要的参数指标,供读者参考。
表1.3 无线技术比较
名称 |
BLE |
ZigBee |
WiFi(B/G) |
---|---|---|---|
传输速率 |
125 kbit/s~2Mbit/s |
100~250kbit/s |
5.5~54Mbit/s |
通信距离(最高) |
300米 |
200米 |
400米 |
频段 |
2.4GHz |
2.4GHz |
2.4GHz |
安全性 |
高 |
中 |
低 |
工作电流 |
<10毫安 |
5毫安 |
10~50毫安 |
应用领域 |
通信、汽车、IT、多媒体、工业、医疗、教育等 |
无线传感器、医疗 |
无线上网、PC、PDA |
注:表1.3的参数仅作为参考,实际参数由设备的设定和使用环境来决定。通信距离视发射功率、天线性能和物体隔挡程度而定;实际速率受发射功率、天线性能、距离、设备间的协商速率、无线环境和数据报文的有效载荷比例等影响;工作电流视设备的使用状态而定。
1.6.1 ZigBee技术介绍
ZigBee具有近距离、低复杂度、自组织、低功耗、低数据速率、低成本等特点,可以嵌入各种设备,主要适用于自动控制和远程控制领域。
ZigBee的技术优势如下所示。
- 低功耗。两节5号电池支持长达6个月到两年左右的使用时间。
- 低成本。ZigBee数据传输速率低、协议简单,所以大大降低了成本,且免收专利费。
- 可靠。ZigBee采用了碰撞避免机制,同时为需要固定带宽的通信业务预留了专用时隙,避免了发送数据时的竞争和冲突;节点模块之间具有自动动态组网的功能,信息在整个ZigBee网络中通过自动路由的方式进行传输,从而保证了信息传输的可靠性。
- 网络容量大。ZigBee具有大规模的组网能力,每个网络达60 000个节点。
- 安全保密。ZigBee提供了一套基于128位AES算法的安全类和软件,并集成了IEEE 802.15.4的安全元素。
- 工作频段灵活。ZigBee使用频段为2.4GHz、868MHz及915MHz,均为免执照频段。
- ZigBee的不足之处如下所示。
- 传输范围小。在不使用功率放大器的前提下,ZigBee节点的有效传输范围一般为10~75米,仅能覆盖普通的家庭和办公场所。
- 数据传输速率低。ZigBee的传输速率在2.4GHz的频段只有250kbit/s,而且这只是链路上的速率,除掉帧头开销、信道竞争、应答和重传,真正能被应用所利用的速率可能不足100kbit/s,并且这余下的速率也可能要被邻近多个节点和同一个节点的多个应用所瓜分。
- 时延不易确定。由于ZigBee采用随机接入MAC层,且不支持时分复用的信道接入方式,因此不能很好地支持一些实时的业务,而且由于发送冲突和多跳,使得时延变成一个不易确定的因素。
1.6.2 WiFi技术介绍
无线保真技术(Wireless Fidelity,WiFi)即IEEE 802.11协议,是一种短程无线传输技术,能够在数百英尺范围内支持互联网接入的无线电信号。WiFi的第一个版本发表于1997年,其中定义了介质访问接入控制层(MAC层)和物理层,规定了无线局域网的基本网络结构和基本传输介质,规范了物理层(PHY)和介质访问层(MAC)的特性。物理层采用红外、直接序列扩频(DSSS)或调频扩频(FSSS)技术。1999年又增加了IEEE 802.11a和IEEE 802.11g标准,其传输速率最高可达54Mbit/s,能够广泛支持数据、图像、语音和多媒体等业务。
- WiFi的优势:WiFi的半径可达100m,甚至可以覆盖整栋大楼。传输速度很快,802.11G最高可达54Mbit/s,符合个人和社会信息化的需求。在网络覆盖范围内,允许用户在任何时间、任何地点访问网络。WiFi在手机、电脑、互联网电视/OTT盒子等设备上已经成为了标准配置。
- WiFi的不足:相比蓝牙和ZigBee,WiFi高速和高性能带来的缺陷是功耗高、芯片价格贵。而且WiFi设备多了后,无线路由器的负载会加大。
1.6.3 BLE、ZigBee和WiFi的选择
本节借用小米生态链部门孙鹏总监的一段话来讲述小米生态链的产品是如何在BLE、ZigBee和WiFi之间做选择的。
现在越来越多的设备开始使用无线协议来通信。无线相对于有线有很多优点,缺点也解决得差不多了,就不展开了。很多人做智能硬件的时候会考虑用什么协议,是用WiFi呢,还是ZigBee呢,还是BLE?甚至还有人考虑用私有协议或者433/868MHz的射频协议。这里面有成本的考虑,有功耗的考虑,有“穿墙”效果的考虑,还有和其他硬件的互通等考虑。
经过很多轮的尝试,我们最终确定了一个选择协议的原则,必须使用标准协议,优先级如下所示。
- 插电的设备,用WiFi。
- 需要和手机交互的设备,用BLE。
- 传感器用ZigBee。
按照这个原则,小米手环使用BLE,绿米的传感器使用ZigBee,摄像头和净化器使用WiFi。这里面也会有重叠,比如插电又要和手机交互的如美的空调使用WiFi+BLE。有几个立项比较早的产品,没有按照这个原则来执行,比如床头灯现在用BLE,其实应该用WiFi或者WiFi+BLE;灯泡现在用ZigBee,其实应该用WiFi,将来都会改正。
为什么插电的设备都用WiFi?
因为这样对于用户最方便,对于厂商来说可直达云端。目前用户的家里还没有太多智能设备,我们的产品可能是用户的第一个智能设备。WiFi相对于蓝牙最大的缺点是设置起来麻烦,但一旦设置成功,就会感觉好用多了。蓝牙的优势是和手机的互通很方便,但是WiFi更方便,只要手机能上网的地方就可以互通,就算是走本地网络协议,路由器的覆盖范围也更大,不在同一个房间里面也可以联通。WiFi可以做到随时随地地连接人和设备、云和设备或者是设备和设备,甚至不同平台之间的对接都很方便,所以也最普适。
WiFi也有如下缺点。
- 功耗高。不插电的设备使用WiFi很难坚持很长时间,需要频繁充电或者换电池,给用户带来了困扰。而BLE和ZigBee可以持续工作几个月、一年甚至几年都不用换电池。所以现在可穿戴设备都用BLE协议。传感器使用ZigBee协议是因为目前只有ZigBee联盟有传感器的标准协议,蓝牙联盟还没有,如果蓝牙联盟也有了传感器的标准协议,就很难说了。不过对于标准协议,很多人都不遵守。总之,低功耗这一领域目前还比较混乱,不同厂家的设备互通很难。
- 成本高。我们一直在推动WiFi芯片降价。如果成本能做到10元以下,成本的问题就不明显了。只是因为成本的问题放弃WiFi,其实是得不偿失的。
- WiFi设备多了之后,路由器负载会很大,从而使星型架构的效率不高。如果智能家居发展顺利,若干年之后家里可能有几十个灯、几百个传感器,那么现在的WiFi协议就撑不住了。很多人建议在有很多个同类设备的时候使用ZigBee或者BLE Mesh取代WiFi。这个趋势目前还不明显,而且WiFi也会有自己的Mesh协议,但是不一定会被取代。
- WiFi没有标准的应用层协议,容易造成大厂商的垄断,不同厂商的设备能否互通就看厂商之间的博弈。
说了这么多,都是目前的想法。坚持WiFi不是因为我们也做路由器,而是相信WiFi更适合现在的市场。也许将来国家会出无线协议的强行标准,每个标准设备都有标准无线接口,就和现在的插座标准一样,不论什么牌子的插头都可以插在任意牌子的插座上。到时候选择什么协议就不需要想了。