蓝牙4.0,低功耗的秘密
低功耗蓝牙为何如此省电?根据SIG官方发布会的资料,它和经典蓝牙技术相比,主要的改变集中体现在待机功耗的减少、高速连接的实现和峰值功率的降低三个方面。
待机功耗的下降
传统蓝牙设备的待机耗电量大一直是为人所诟病的缺陷之一,这与传统蓝牙技术动辄采用16~32个频道进行广播不无关系,而低功耗蓝牙仅使用了3个广播通道,且每次广播时射频的开启时间也由传统的22.5ms减少到0.6~1.2ms,这两个协议规范上的改变显然大大降低了因为广播数据导致的待机功耗;此外低功耗蓝牙设计了用深度睡眠状态来替换传统蓝牙的空闲状态,在深度睡眠状态下,主机长时间处于超低的负载循环(DutyCycle)状态,只在需要运作时由控制器来启动,因主机较控制器消耗更多的能源,因此这样的设计也节省了最多的能源;在深度睡眠状态下,协议也针对此通讯模式进行了优化,数据发送间隔时间也增加到0.5~4s,传感器类应用程序发送的数据量较平常要少很多,而且所有连接均采用先进的嗅探性次额定(Sn i f f-Subrating)功能模式,因此此时的射频能耗几乎可以忽略不计,综合以上因素,低功耗蓝牙的待机功耗较传统蓝牙大大减少。
高速连接的实现
要明白这一过程,我们必须先介绍一下蓝牙设备和主机设备的连接步骤。
第一步:通过扫描,试图发现新设备
第二步:确认发现的设备没有而已软件,也没有处于锁定状况
第三步:发送IP地址
第四步:收到并解读待配对设备发送过来的数据
第五步:建立并保存连接
按照传统的蓝牙协议的规范,若某一蓝牙设备正在进行广播,则它不会响应当前正在进行的设备扫描,而低功耗蓝牙协议规范允许正在进行广播的设备连接到正在扫描的设备上,这就有效避免了重复扫描,而通过对连接机制的改善,低功耗蓝牙下的设备连接建立过程已可控制在3ms内完成,同时能以应用程序迅速启动链接器,并以数毫秒的传输速度完成经认可的数据传递后并立即关闭连结,而传统蓝牙协议下即使只是建立链路层连接都需要花费100ms,建立L2CAP(逻辑链路控制与适应协议)层的连接建立时间则更长。
蓝牙低功耗协议还对拓扑结构进行了优化,通过在每个从设备及每个数据包上使用32位的存取地址,能够让数十亿个设备能被同时连接。此技术不但将传统蓝牙一对一的连结优化,同时也利用星状拓扑来完成一对多点的连结。在连接和断线切换迅速的应用场景下,数据能够在网状拓扑之间移动,但不至于为了维持此网络而显得过于复杂,这也有效减轻了连接复杂性,减少了连接建立时间。
降低峰值功率
低功耗蓝牙对数据包长度进行了更加严格的定义,支持超短(8~27Byte)数据封包,并使用了随机射频参数和增加了GSFK调制索引,这些措施最大限度地减少了数据收发的复杂性;此外低功耗蓝牙还通过增加调变指数,并采用24位的CRC(循环冗余检查)确保封包在受干扰时具有更大的稳定度,低功耗蓝牙的射程增加至100m以上,以上措施结合蓝牙传统的跳频原理,有效降低了峰值功率。