差异分析】蓝牙4.0 vs 蓝牙4.1 vs 蓝牙4.2 vs 蓝牙5.0
Bluetooth SIG为了鼓励会员逐步弃用蓝牙核心规格旧版本蓝牙标准并转而使用新的蓝牙核心规格版本蓝牙标准以提高互操作性及品质,Bluetooth SIG 董事会正式批准了蓝牙核心规格版本标准弃用及撤销计划。
1. 2017 年12 月19 日起执行弃用蓝牙核心标准版本2.0/2.0 EDR;
2. 2018 年7 月1 日起执行撤销蓝牙核心标准版本2.0/2.0 EDR;
3. 2018 年7 月1 日起执行弃用蓝牙核心标准版4.0/3.0/2.1/2.1 EDR;
4. 2020 年1 月1 日起执行撤销蓝牙核心标准版4.0/3.0/2.1/2.1 EDR;
5. 2019 年1 月1 日起执行弃用蓝牙核心标准版本4.1;
6. 2020 年7 月1 日起执行撤销蓝牙核心标准版本4.1。
--------------------------------------------------------------------------------------------------------
之前SIG发布的认证通告已经无法在官网找到,想必是SIG另有考虑,已经撤销了公布,没这么快废除之前老的标准,所以以上信息,大家了解一下即可,等SIG的公告。
-------------------------------------------------------------------------------------------------------
蓝牙认证通告让我想起了安迪比尔定律的套路,What Andy gives, Bill takes away。半导体在发展,有了强大的处理器芯片,自然就有了更多硬件资源可以用于跑更为复杂的蓝牙协议和软件,SIG每年颁布了新的标准,增加新的功能,需要更多的硬件资源来跑更为复杂的算法和协议,自然老的硬件支持不了新的软件就被淘汰掉。
好了,今天就由这条蓝牙认证最新通告,一起来回顾BLE的过去和未来。蓝牙4.0之后包含经典蓝牙和BLE两部分,今天着重讲蓝牙4.0及其以后的BLE部分的差异。关于认证和标准弃用问题,下次专门写一篇文章叙述。
蓝牙4.1 vs 蓝牙4,0
1.提升数据传输率
相比蓝牙4.0,蓝牙4.1单包数据传输最大值从20字节上调到23字节,提升了15%的数据传输率。根据该规则,大家可以尝试修改单包数据payload的值,如果该芯片只支持BT4.0,那么修改传输23字节要么会编译报错,要么传输过程中会丢包。
2.主从共存
链路层Link layer拓扑结构做了更新,允许单设备主从同时共存(时间片轮转方式),以及一主对多从设备的连接拓扑。
3.支持32-Bit UUID
32-Bit UUID指的是广播包携带的UUID,并不是指我们所说的针对属性列表的16 bit and 128 bit UUID。可以通过广播的32-Bit UUID映射得到完整的128 Bit UUID从而使得广播包内有效广播数据长度更多。
蓝牙4.2 vs 蓝牙4.1
1.LE连接安全
从Spec定义上蓝牙4.0和4.1的配对加密环节都是基于AES-CCM加密,但是由于蓝牙4.1双方共享同一密钥,所以存在被破解风险和漏洞。蓝牙4.2的pairing环节,采用Diffie-Hellman Key Exchange密钥交换算法进行加密,每一个设备有一对密钥对,公钥和私钥,私钥自己保存,公钥公开给对方,数据交互时,一方通过自己的私钥和对方的公钥进行加密文件,接收方通过自己私钥和传输方的公钥进行解密,从而有效的防止中间人破解密钥的事件发生。
隐私保护
蓝牙在广播过程中会携带自己的BD address (bluetooth device address)即为蓝牙唯一的MAC地址,在某些应用,比如物流追踪应用当中是非常有帮助的,可以根据BD address固定物流设备。
但是在某些应用不希望自己的BD address暴露在主端设备的监控下,蓝牙4.2给出了灵活的选择,蓝牙4.2规定,从机设备可以选择在广播模式下发送随机BD address,这样主端设备除了接该到设备之后才能获取其真实BD address,除此该设备广播模式的BD address为随机序列。
3.大数据传输
蓝牙4.1最大支持23字节单包数据传输,蓝牙4.2最大支持255字节单包数据传输,极大提升了数据传输率。详细可以参考我写的另外一篇文章《提升蓝牙4.2数据传输率的办法 - ATT_MTU》。
蓝牙5.0 vs 蓝牙4.2
蓝牙5的所有新特性我已经都有详细做介绍了,大家可以参考我之前写的文章。下面我就不一一细说。
1.远距离
得益于前向错误编码和模式映射,使得蓝牙数据在传输过程中,RX端对整个payload数据包解码纠错能力有不同提升(简单说即为提高RX端接收灵敏度),蓝牙5的传输距离才有显著的提升
2.长广播包
蓝牙4.x协议规定蓝牙广播数据包每包数据最大只支持31字节数据传输,广播信道限制在37,38,39三个信道。在原有的用于传输广播数据的PDU(ADV_IND、ADV_DIRECT_IND、ADV_NONCONN_IND以及ADV_SCAN_IND,称作legacy PDUs)的基础上,蓝牙5增加了扩展的PDU(ADV_EXT_IND、AUX_ADV_IND、AUX_SYNC_IND以及AUX_CHAIN_IND,称作extended advertising PDUs),同时也允许蓝牙在除开37,38,39三个通道之外的其他37个信道上发送长度介于0-255字节的数据
3.大数据传输
与蓝牙4.2相比,蓝牙5支持两种PHY,1M PHY和2MPHY,2M PHY的数据传输率是蓝牙5.0新增功能,在蓝牙4.2之前,只支持1Mbps PHY的速率。和蓝牙4.2一样,蓝牙5也支持单包255字节的数据传输,所以蓝牙的速率比起4.2提升了一倍。