目前,物联网设备呈指数级增长,使得可用频段的繁忙度大大高于以往。Wi-Fi、蓝牙、ZigBee均工作在无授权限制的2.4-GHz (2.4 GHz —2.4835 GHz)工业、科技和医学(ISM)频段。蓝牙和Wi-Fi技术两者之间几乎不存在竞争性,它们均有基于各自优点的应用范围。许多物联网应用要求两者同时出现在一个网络中,还有些应用甚至要求两者共存于同一系统中。如果处理不当,这种共存有时会导致严重的问题。
如果一个Wi-Fi设备和一个蓝牙设备相距不超过2米,则这种情况称为“并置”。这种情况下产生的干扰被视为内部干扰。如两台设备并非并置,则干扰被视为外部干扰。内部干扰可使彼此接收器的接收能力饱和,从而导致通讯问题。与内部干扰不同的是,外部干扰主要造成同一频率时的传输问题,可损坏数据包,导致数据包丢失。
共存问题对于手机生产商和笔记本/平板电脑制造商来说是一个熟悉的问题。但是,这一问题对于物联网开发者来说,往往是个新问题。在设计内有并置Wi-Fi设备和蓝牙设备的系统时,一定要注意共存问题。本文将讨论共存中出现的问题,解决这些问题的方法,以及帮助两种设备在近距离放置的同时仍能正常工作的最佳做法。
在我们深入探讨蓝牙或Wi-Fi的共存问题之前,先来了解一下它们如何使用2.4GHz频段。蓝牙和Wi-Fi使用扩展频谱技术来通过较宽的频带发射窄带信号。扩展频谱有很多不同的优点,其中包括增强的抗干扰能力和更高的安全性。
蓝牙
蓝牙使用跳频技术通过79个信道发射窄带信号,发射时从一个信道跳至另一个信道。它使用2.402 GHz到2.48 GHz频谱,并将之分为79个1-MHz的信道(见图1)。蓝牙低能耗技术(BLE)使用2-MHz的信道间隔,共有40个信道。
Wi-Fi
按照802.11b标准,Wi-Fi使用直接序列展频技术(DSSS),而其它版本(如802.11n)则使用正交频分复用(OFDM)调变。在DSSS技术中,窄带信号乘以一个高频噪声信号(+1和-1的伪随机序列)后再发送。在接收端,使用同样的伪随机序列来获得信号。在OFDM技术中,数据在信道频率中经过多载波调制。信道带宽根据Wi-Fi技术规范的版本不同而有所差异。几乎所有的版本都用到了20 MHz带宽的信道(802.11b有22 MHz的信道)。每个信道按5 MHz划分,共有14个Wi-Fi信道。
然而,一些国家不允许使用所有14个信道。例如,美国联邦通讯委员会(FCC)就只允许使用前11个信道。而且,在所有许可的信道中,只有三个信道是非重叠的,分别是信道1、信道6和信道11。美国电气与电子工程师协会(IEEE)的802.11n还允许.4 GHz频带中的40 MHz信道,这导致只剩下一个40-MHz的非重叠信道。
Wi-Fi使用载波侦听多路访问(CSMA)冲突避免(CA)技术,来防止与其它使用同一频带的设备产生冲突。当Wi-Fi设备需要发送数据时,先由介质访问控制(MAC)检查信道是否空闲。如果发现信道未被占用,即发送数据(见图3)。否则,它会等待一段时间,时间长短由一个随机退避系数来决定。
退避期可以为从0到(在时隙中测得的)竞争窗口(contention window(CW))值。由于两台设备不太可能采用同一退避期,所以反复出现冲突的几率降到了最低。首先,设备等待信道空闲,然后根据分布式协调帧间间隙(DIFS)来等待。DIFS等于一个短帧间间隔(SIFS)+2*时隙(SLOT),此处的时隙是基本服务集(BSS)监听传输所需的最短时间。退避值在每一个空闲退避时隙后递减。在每次发送失败/冲突后,竞争窗口的值将翻倍,直到竞争窗口最大值(CWMax)。
图4显示了当一台设备准备发送数据时,发现信道繁忙的情况。如图所示,当发送器2想要发送一个帧时,发送器1正占用着信道。发现信道忙碌后,发送器2将等待,直到信道空闲,然后等待SIFS,再启动竞争窗口。在退避计时器期限终止时,发送数据。
当周围环境有非常强的干扰时(干扰来自杂讯或其它无线设备),此方案会导致Wi-Fi的效能受到很大影响。Wi-Fi还需适应因干扰导致的数据速率变化。如果丢包严重,它将调整为较低的数据速率来尽量减少丢包。但是,由于降低数据速率会导致发送少量数据即需较长时间,因此会使问题进一步复杂化。
载波侦听多路访问(CSMA)可有助于避免与大多数节点的冲突。不过,如果网络中存在载波侦听亦无法发现的隐藏节点,那么这些节点仍有可能导致冲突。为解决这一问题,Wi-Fi使用了冲突避免技术。在Wi-Fi设备发送数据的过程中,是无法检测到冲突的,唯一能检测并避免冲突的方法,就是(发送后)等待预期的回应。如发送数据的节点未能收到预期的回应,则说明出现了冲突。Wi-Fi使用请求发送/清除发送(RTS/CTS)协议来避免冲突。此协议可帮助多台Wi-Fi设备共存于同一网络。