datasheet

AVNET安富利

文章数:235 被阅读:121348

账号入驻

洪水还是清流?让我们来聊聊蓝牙Mesh

2018-11-01
    阅读数:

2017年7月,蓝牙技术联盟(SIG)宣布蓝牙技术开始全面支持Mesh网络,这个众多蓝牙开发者和用户期盼了多年的好消息,终于来了!实际上自从BLE低功耗蓝牙推出以后,利用其构建Mesh网络的尝试就从未停止过,各芯片厂商纷纷推出了自己的蓝牙Mesh技术方案,2015年SIG还专门成立了一个Smart Mesh工作小组,负责建立蓝牙Mesh网络的标准。现在蓝牙Mesh终于“转正”,大家努力总算没有白费。


对于Mesh网络的特点我们就无需赘言了,由于其网路中每个节点地位平等,既可接收信息又可发送/中继信息,所以Mesh网络具有自愈性、易扩展等突出的优势,在物联网领域格外吸睛。


图1,蓝牙Mesh在智能停车场中的应用示意图(图片来源:SIG)


而与原先已有的基于IEEE 802.15.4(如ZigBee、Thread)无线协议的Mesh网络相比,大家之所以对于蓝牙Mesh充满期待,一个重要的原因就是蓝牙,特别是BLE广泛的用户覆盖。根据ABI Research调研数据,到2021年全球联网设备中蓝牙的装机量将达到160亿台,而理论上讲其中4.0以上的BLE设备只要有必要的硬件资源,通过固件升级未来都可以支持蓝牙Mesh!这背后的市场想象空间无疑是巨大的。所以SIG的相关人士也曾经预测,未来蓝牙Mesh的市场推广步伐可能会比Bluetooth 5还要快些。



虽然大家感觉SIG在推进蓝牙Mesh标准进程上有点“磨叽”,不过实际上在蓝牙自身标准的演进过程中,一直在为蓝牙Mesh积聚力量。其中,有几次标准迭代对于蓝牙Mesh规范的最终成型和成熟至关重要。


  • 在蓝牙4.0中,首次推出了蓝牙低功耗BLE子集,由此为蓝牙凭借低功耗特性杀入物联网市场奠定了坚实的基础。

  • 在蓝牙4.1中,引入了所谓Scatternet的新的BLE网络拓扑结构,规定了一个BLE设备既可以作为一个网络中的“主”节点连接其他“从”BLE设备(一个或多个),也可以同时作为另一个BLE网络中的“从”节点,这就向构建Mesh网络又迈进了一步。要知道在此之前,BLE只支持主从式的单一非对称的网络拓扑,和“人人平等”的Mesh网络原则是相悖的。

  • 在蓝牙5中,新规范通过添加额外的广播信道和新的广播PDU,将有效载荷从31个字节增加到了255个字节,所有的40个数据通道都可以携带广播信息(以前的蓝牙广播通道只有3个)。由于蓝牙Mesh是基于蓝牙广播信道建立起来的无连接通信,蓝牙5这一大幅增加广播数据能力的举措,对Mesh的发展意义重大。



不过,蓝牙Mesh纵有万般好处,还是有一个被人广为诟病的地方,就是其消息的发布和中继采用的是网络泛洪(Flooding)的方式。与传统上集中路由的组网方式相比,利用泛洪协议的网络中每个设备都可以承担消息发送和中继的作用,因此消息不会通过某一特定的路由和特定路径来进行传输,而是通过多重路径到达其目的地。


这种方式的好处就是网络架构简单,能够有效节省网络运维和存储器空间的开销,还能避免可能由于路由器故障造成的网络故障,提升网络的可靠性。不过,网络泛洪方式的缺陷也很明显。



由于网络泛洪协议是相对比较初级的Mesh网络技术,以广播方式在网络层中发布和中继数据,这会在网络中产生大量重复发送的数据包,可能会造成网络拥塞,对网络的整体功耗也有负面影响。所以通常大家认为网络泛洪Mesh只适合于规模比较小的网络,而不适合网络规模和数据量大的应用场景。这显然会成为蓝牙Mesh发展的瓶颈。


而对此,SIG在最新的蓝牙Mesh规范中给出的解决方案是“可管理的网络泛洪(Managed Flooding)”,即通过一系列措施,在支持网络泛洪协议的同时,优化每台设备、甚至整体网络的能耗。


图2,蓝牙Mesh的网络架构(图片来源:网络)


我们先来看一下蓝牙Mesh的网络架构(见图2),可以看到一个蓝牙Mesh网络中的节点会被分成5种不同的类型。其中中继(Relay)节点是信息传输的主要通道,它们在接收到其它节点发送的数据包之后,会根据一些预先设定的条件判断是否需要转发;再如边缘(Edge)节点通常是不需要具备中继功能的。根据网络节点的不同角色定义其行为规范,就是蓝牙Mesh优化管理泛洪、控制功耗的基本思路。具体来说,有以下几个核心的举措:


  • 心跳消息(Heartbeats):每个节点都会周期性地发送心跳消息,向其他节点表明自己是否依然有效,以及告诉接收节点这个信息的发送节点距离它有多远——这种距离通常是用信息传输的“跳数(Hop)“来定义的。

  • TLL(Time To Live):所有数据包中都包含一个被称为TTL的字段,这也就是心跳消息中包含的表示信息传输距离的信息。人们可以预设定一个TTL值,如果中继节点发现接收到信息的跳数超出了设定值,就不会继续转发该信息,从而避免不必要的中继操作。

  • 信息缓存(Message Cache):每台节点设备还都包含消息缓存,以确定自身是否已经中继过该消息。如果是,则会立即丢弃该消息,从而避免上层堆栈进行不必要的处理。

  • 伙伴关系(Friendship):为了支持网络中那些功耗受限的设备——通常是传感器——蓝牙Mesh将其定义为低功耗(Low Power)节点,且会为其指定一个伙伴(Friend)节点设备协同工作,Friend节点通常对功耗不敏感。大多数时间,低功耗节点设备处于休眠状态,而由Friend设备接收并缓存来自Mesh网络的消息,直到低功耗节点被唤醒时才将这些消息从Friend设备上“取”过来,并按照消息中的指令操作,然后再次进入休眠状态。通过这种方式,蓝牙Mesh可以很好地维持网络中低功耗设备的运行要求。



通过上述的手段,SIG希望能够为用户提供一个可控可管理的泛洪Mesh网络,这就像是既要充分利用“洪水”的巨大能量,又不让其肆虐成灾。据说在未来修订的蓝牙Mesh规范版本中,可能会加入基于路由协议的Mesh网络。可见蓝牙Mesh还在一个扬长避短、兼收并蓄的过程中不断完善,最后是否能成为物联网界一股人见人爱的清流,让我们拭目以待吧。


图3,Dialog半导体推出的支持蓝牙Mesh网络的蓝牙SoC芯片特性(图片来源:Dialog)



往期相关文章回顾:

蓝牙Mesh来了!究竟是搅局还是破局?

蓝牙5.0背后的商业版图,你真的看明白了吗?



长按识别二维码关注安富利

获取更多精彩内容


About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: TI培训

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2018 EEWORLD.com.cn, Inc. All rights reserved