低功耗蓝牙
前言
前段时间开发智能音乐灯,手机既要传递音频数据又要传递控制数据给蓝牙,SPP、BLE for Android都各写了一份。
中间出现了这么个BUG:手机BLE 连上设备BLE后我会发个消息断开设备与其他设备的SPP连接,然后手机SPP再去连设备,这样就出现了设备的SPP还没来得及断开 手机就去连接 导致连不上的问题。最后换了个双模蓝牙芯片,一切都变得很好。现在记录下这段期间理解的蓝牙概念,对蓝牙开发芯片的选取还有蓝牙问题的寻找会有很好帮助。
简介
BLE(Bluetooth Low Energy,低功耗蓝牙)是对传统蓝牙BR/EDR技术的补充。尽管BLE和传统蓝牙都称之为蓝牙标准,且共享射频,但是,BLE是一个完全不一样的技术。BLE不具备和传统蓝牙BR/EDR的兼容性。它是专为小数据率、离散传输的应用而设计的。通信距离上也有改变,传统蓝牙的传输距离几十米到几百米不等,BLE则规定为100米。
低功耗蓝牙(BLE)
低功耗蓝牙分为单模(Bluetooth Smart)和双模(Bluetooth Smart Ready)两种设备。BLE和蓝牙BR/EDR的区分,让我们有三种方式将蓝牙技术集成到具体设备中。下表中示意了两个蓝牙设备之间的通信方式。因为不再是所有现有的蓝牙设备可以和另一个蓝牙设备进行互联,所以,准确描述产品中蓝牙的版本非常地重要。
单模蓝牙
单模蓝牙设备被称为Bluetooth Smart设备,只实现了BLE。
成本降低后的单模的蓝牙芯片,支持整合到高度集成和紧凑的设备,带有一个轻量级的链接层Link Layer,
支持超低功耗的空闲idle模式操作,简单的设备发现,非常节能的单点对多点数据传输,以尽可能低的功耗下的安全加密连接。
专门针对ULP(超低功耗)操作优化了。
诸如手表、运动传感器等这样小型的设备会基于单模蓝牙低功耗。为了实现极低的功耗,硬件和软件上都做了优化。这样的设备只能支持BLE。单模蓝牙芯片往往是一个带有单模蓝牙协议栈的产品,这个协议栈是芯片商免费提供的。
双模蓝牙
双模蓝牙设备被称为Bluetooth Smart Ready设备
双模蓝牙==Bluetooth Classic+BLE。
在双模设备中,这两个技术使用同一个射频前端和天线。典型的双模设备有智能手机、平板电脑、PC和Gateway。这些设备可以收到通过BLE或者蓝牙BR/EDR设备发送过来的数据,这些设备往往都有足够的供电能力。双模设备和BLE设备通信的功耗低于双模设备和蓝牙BR/EDR设备通信的功耗。双模解决方案需要一个外部处理器才足以实现蓝牙协议栈。
单模VS双模
-
蓝牙单模芯片可以和其它的单模芯片以及双模芯片进行通信,此时后者需要使用自身架构中的蓝牙低功技术部分进行收发数据。双模芯片也能与标准蓝牙技术及使用传统蓝牙技术架构的其它的双模芯片进行通信。
-
单模芯片可以用单节钮扣电池(如3V、220mAh的CR2032)便可以工作很长时间(几个月甚至几年)。相反,标准蓝牙技术与经典蓝牙(和蓝牙低功耗双模器件)通常要求使用至少两节AAA电池(电量是钮扣电池的8至15倍,便可以容忍高得多的峰值电流),并且在很多情况下最多只能工作几天或几周的时间(这种情况也得取决于具体应用)。需要注意的是,也有一些高度专业化的标准蓝牙智能设备,它们可以使用容量比AAA电池低的工作电池
应用
BLE适合用于电池驱动的小型设备,有以下五个主要的市场。
医疗和健康
那些用于监测重要的生理数据的医疗设备是BLE在医疗健康市场中应用的对象。典型的设备有血糖仪、血压计和血氧计。BLE被康体佳健康联盟(Continua Health Alliance)选定为终端产品通信的兼容传输技术。
运动和健身
在运动和健身领域,BLE适合用于定位,同时也上传一些重要的监测数据。典型的设备有心率监测仪、体温计、计步器、节拍器、测高仪、定位器和通过手表显示来自传感器的信息。
工业
在自动化应用领域中,BLE主要用于传输I/O信号。BLE可以用于监测和控制马达、制动器、参数和整个过程。
娱乐
在娱乐领域,BLE已经被众多的设备采用,比如机顶盒、游戏机等。预计BLE会是的在TV / DVD / STB / Media播放器、遥控、游戏控制手柄及无线键鼠等设备中的蓝牙应用不断扩大。
智能家居
BLE可以提供灯光控制、温度控制、湿度控制、安全锁控制、门窗控制的低功耗、高安全性解决方案。在智能仪表中的应用也是一个方向。
协议
BLE不在支持传统蓝牙BR/EDR的协议,如传统蓝牙中的SPP协议在BLE中就不复存在。作为替代,在BLE中所有的协议或者服务都是基于GATT(Generic Attribute Profile)的。尽管有些传统蓝牙中的协议,如HID被移植到了BLE中,但是在BLE的应用中,你必须区分清楚协议和服务。
服务描述了特点(及他们的UUID)。服务描述自身有什么特点和形式,并且描述清楚如何应用这些特点以及需要什么安全机制。
应用协议定义其使用的服务,说明是传感器端还是接收端,定义GATT的角色(Server/Client)和GAP的角色(Peripheral/Central)。
相较于蓝牙BR/EDR的协议,基于GATT的应用协议非常简单,因为所有的功能都是集成在GATT终端,这些基于其上的应用协议只是对GATT提供的功能的使用。
技术特点
BLE的低功耗并非通过优化空中的无线射频传输实现,而是通过改变协议的设计来实现。一般来说,为了实现极低的功耗,BLE协议设计为:在不必要射频的时候,彻底将空中射频关断。与传统蓝牙BR\EDR相比,BLE有这三大特性,从而实现低功耗:缩短无线开启时间、快速建立连接、降低收发峰值功耗(具体由芯片决定)。
缩短无线开启时间的第一个技巧是只用3个“广告”信道,第二个技巧是通过优化协议栈来降低工作周期。一个在广告的设备可以自动和一个在搜索的设备快速建立连接,所以可以在3ms内完成连接的建立和数据的传输。
低功耗的设计会带来一些牺牲,例如:音频数据就无法通过BLE来进行传输。
BLE仍然是一种非常棒的技术。它依然支持跳频(37个数据信道),并且采用了一种改进的GFSK调制方法来提高链路的稳定性。BLE也仍是非常安全的技术,因为在芯片级提供了128 bit AES加密。
单模设备可以作为Master或者Slave,但是不能同时充当两种角色。这意味着BLE只能建立简单的星状拓扑,不能实现散射网。
BLE的无线电规范中定义了低功耗蓝牙的最高数据率为305kbps,但是,这只是理论数据。在实际应用中,数据的吞吐量取决于上层协议栈。而UART的速度、处理器的能力和主设备都会影响数据吞吐能力。
高的数据吞吐能力的BLE只有通过私有方案或者基于ATT notification才能实现。事实上,如果是高数据率或高数据量的应用,蓝牙BR/EDR通常显得更加省电。
集成方式
尽管有单模和双模方案的区别,但是在您的设备中集成蓝牙技术仍有多种方式。
芯片
通过芯片来集成BLE是从物料角度最低成本的方式,但是,这需要很多的前期工作和花费大量的时间。虽然在软件上只需要将协议栈移植到目标平台之中即可,但是,硬件方面则需要对RF的layout和天线的设计非常有经验。这些公司提供BLE芯片:Broadcom、CSR、EM Microelectronic、Nordic和TI。