一、简介
什么是共存
共存是指允许多个2.4GHZ(频段范围2400-2483.5MHZ)技术(包括WiFi、Zigbee、Thread和蓝牙)同时存在而不会发生来自一个无线电的信号干扰相邻无线信号的现象
为什么要用WiFi、蓝牙共存
蓝牙和WiFi是现代生活中常用的无线通信技术。通过将蓝牙和WiFi功能整合到一个设备中,用户可以享受到更加便利和灵活的无线连接体验,提高设备之间的互操作性和数据传输速度。蓝牙WiFi二合一不仅简化了设备配置和连接过程,还为用户提供了更广泛的无线通信选项。
蓝牙和WiFi作为无线通信技术,各自具备独特的优势和用途。蓝牙主要用于短距离的设备间通信,如无线耳机和智能手环等,而WiFi则提供了更高速的长距离数据传输能力,适用于连接互联网和局域网。然而,为了实现不同设备之间的连接和数据传输,用户经常需要同时使用蓝牙和WiFi,这可能导致连接繁琐、资源浪费和用户体验下降的问题。蓝牙WiFi二合一的概念应运而生,旨在解决这些问题并提供更便利的无线连接选项。
1、简化设备配置和连接过程:
蓝牙WiFi二合一的好处之一是简化设备配置和连接过程。传统情况下,用户需要分别打开蓝牙和WiFi功能,并在设备之间进行繁琐的配对和连接步骤。而蓝牙WiFi二合一设备将这两种功能整合到一个设备中,用户只需进行一次设备连接配置,即可同时使用蓝牙和WiFi,简化了操作流程,提高了使用便捷性。
2.提高设备互操作性:
蓝牙WiFi二合一的另一个好处是提高了设备之间的互操作性。传统情况下,某些设备可能只支持蓝牙连接,而另一些设备则只支持WiFi连接。蓝牙WiFi二合一设备的出现,使得不同类型的设备能够通过同一个设备实现连接和通信,消除了互操作性的限制。例如,用户可以通过蓝牙WiFi二合一耳机将手机上的音乐通过蓝牙传输到耳机,并通过WiFi连接上互联网收听在线音乐,实现了不同网络环境下的音乐播放。
3.提供更广泛的无线通信选项:
蓝牙WiFi二合一设备还为用户提供了更广泛的无线通信选项。蓝牙和WiFi仍然是各自独立的无线通信技术,蓝牙WiFi二合一设备只是在同一设备中集成了这两种功能,以提供更便捷的连接方式。蓝牙WiFi二合一设备的主要好处是简化设备配置和连接过程,以及提高设备之间的互操作性。用户无需同时使用两个独立设备或在不同设备之间切换,而是可以通过一个设备实现蓝牙和WiFi的连接和通信。
二、WiFi、蓝牙共存原理
技术难点
蓝牙和WiFi都工作在2.4GHZ频段,最主要的技术难点就是信号干扰,通常来说在设计上有些方法能够减少相互干扰,现主流的方法是AFH(自适应跳频)和分时复用;而在设计上去减少干扰,首先需要知道有哪些方面会存在相互干扰和相互干扰是否严重,受以下几条影响:
1.共用天线还是单独用自己天线
2.干扰是噪音还是阻塞
3.蓝牙通信频率是否落在wifi带内
4.蓝牙和wifi是接收还是发射
5.蓝牙和wifi的具体应用的通信特点
共用天线还是单独用自己天线
如果蓝牙和wifi使用单独的天线,蓝牙天线和wifi天线之间的隔离大小会影响干扰的程度。如果认为有一定的隔离度,蓝牙和wifi是可以同时发射或者接收的。如果蓝牙和wifi共用天线,蓝牙和wifi不可以同时工作。
干扰是噪音还是阻塞
干扰分为两种。一种是噪音,主要发生在频率冲突时;另一种是大信号阻塞,和频率是否冲突没有关系,和具体射频设计及天线间隔离有关系。
蓝牙通信频率是否落在wifi带内
如果蓝牙通信频率落在wifi频带内,噪音干扰和阻塞干扰都会有。如果蓝牙通信频率落在wifi频带外,只有阻塞干扰。AFH是针对噪音干扰最好的方法,蓝牙和wifi的性能都能维持100%。唯一问题是无法解决阻塞干扰。
蓝牙和wifi是接收还是发射
假设蓝牙和wifi使用自己单独的天线,蓝牙和wifi是能够同时发射和同时接收的。如果一个发射,一个接收,在频率冲突时会有相互干扰。另外,同时发射可能会对另一侧设备带来干扰。
蓝牙和wifi的具体应用的通信特点
共存时相互干扰是否严重还和具体应用时通信特点有关。比如数据量是否大,是否是数据流,是否是timecritical的。所以有的设计是host可以根据不同应用配置不同的优先级,以达到最好的平衡。
AFH(自适应跳频)和分时复用
AFH(自适应跳频)
AFH是解决噪音干扰的最好方法。通过在跳频频率中避开wifi的频带,既可以避免频率冲突带来的干扰,也丝毫不损失蓝牙和wifi的性能。另外,当蓝牙进入AFH状态后,其跳频序列可使用的跳频点N的数量是动态变化的,其值不超过79。
自适应跳频选择机制的实现是基于原79跳系统的频率选择,在其基础上增加了AFH_mode和AFH_channel_map两个参数。
AFH_mode指出当前选频是否可以使用自适应跳频序列;AFH_channel_map中指明哪些信道是可用的,哪些信道是不可用的。首先,原选频生成一个信道,如果这个信道是AFH_channel_map中定义的可用信道,则不作任何调整,直接作为跳频序列的输出;如果此信道包含在不可用信道中,则通过重定位函数将其映射成一个可用的信道。这种映射关系是一一对应的,就是说,如果给定了蓝牙地址、时钟以及AFH_channel_map,一个不可用的射频信道将被地转换为一可用信道,这样保证了在同一网段中使用AFH机制的主从设备能够保持跳频序列的同步。
AFH技术的另一点改变是:在原跳频系统中,主从节点分别采用不同的频率发送数据;当处于AFH状态时,在主从对话期间,从节点使用与主节点相同的射频信道向主节点响应数据包,这被称作AFH的相同信道机制。使用相同信道机制主要是由于在网中存在干扰的情况下,减少跳频可以防止从节点在发送响应分组时跳到可能发生冲突的信道上,保证至少在主从对话的过程中数据不易受到干扰,达到提高吞吐率的目的。
什么是79跳系统?
在Bluetooth中,ISM频段被划分为79个带宽1 MHz的频道,载频间距1 MHz,彼此之间正交。跳频系统载频受伪随机码控制,不断随机跳变,可以看成载波按一定规律变化的多频频移键控。
分时复用
有AFH机制后,为什么还要采用分时复用机制?
因为诸如AFH等技术是专门为2.4GHz设备设计用于检测和避免干扰的,还不足以实现蓝牙与WLAN的共存。当蓝牙与802.11设备共存于同一设计中时作为独立技术的AFH是远远不够的,这主要是因为WLAN设备必须提供较高的输出功率才能支持长距离、高数据速率、可靠的互联网、语音、数据和视频传输。单独使用AFH技术使用蓝牙耳机的通话效果不是很好,为了解决这种问题,在使用AFH技术的基础上又使用了分时复用技术。
分时复用原理:
分时是利用蓝牙和wifi间的握手信号,使蓝牙和wifi分时在2.4G工作,这样可以避免噪音干扰和阻塞干扰。问题是会降低蓝牙和wifi的throughput。所以这个机制应该只在AFH不能提供良好效果时使用。这些握手信号都差不多。简单说明如下:
1. 两线方案
Wifi给蓝牙信号WIFI_ACTIVE,表示wifi有通信,如果这个信号asserted,蓝牙应该只接收/发射highpriority的包,其它包delay。
蓝牙给wifi信号BT_priority,表示蓝牙要发highpriority的包,wifi必须停止当前通信。
可以看出,这两根信号分别是保护wifi和蓝牙通信的。
从蓝牙芯片设计的角度,蓝牙芯片必须支持对于包优先级的区分和delay包的处理。一般来说,定时同步,inquiry,page,SCO等是高优先级,传送数据的包则是普通优先级。如果处理得细致和灵活,很多参数是需要可以配置和可调的,因为可能需要host根据具体应用来配置。
2. 三线方案
三线方案和两线方案相似。多加一根蓝牙输出的bt_active,这样和bt_priority一起可以表示两种优先级的蓝牙通信。
一般是3线模式,有3根线,分别是BT_ACTIVE、WIFI_ACTIVE 和BT_priority。
当Bluetooth(BT 和 BLE)要用天线的时候BT_ACTIVE 信号有效,告诉WIFI,希望将天线切换到Bluetooth(BT 和 BLE)状态;
当WIFI要用天线的时候 WIFI_ACTIVE信号有效,告诉Bluetooth(BT 和 BLE),WIFI要用天线;当Bluetooth(BT 和 BLE)要用天线,Bluetooth(BT 和 BLE)的BT_priority 信号有效告诉WIFI,要求WIFI马上将天线却换到Bluetooth(BT 和 BLE)状态。
3. 四线方案
四线方案和三线方案相似,再多加一根蓝牙输出的bt_freq,指示蓝牙通信是否和wifi频带冲突。
三、乐鑫WiFi、蓝牙共存方案
概览
ESP32只支持一路RF,Bluetooth(BT 和 BLE)和Wi-Fi共享这一路RF,无法同时收发数据,因此采用分时复用的方法进行收发数据包。
ESP32支持的共存场景
共存机制与策略
共存机制
基于优先级抢占的 RF 资源分配机制,如下图所示,Bluetooth 模块和 Wi-Fi 模块向共存模块申请 RF 资源,共存模块根据二者的优先级高低裁决 RF 归谁使用。
共存策略
共存周期和时间片
Wi-Fi、BT、BLE 三者对于 RF 的使用,主要是按照时间片来划分的。在一个共存周期内,按照 Wi-Fi、BT、BLE 的顺序划分时间片。在 Wi-Fi 的时间片内,Wi-Fi 会向共存仲裁模块发出较高优先级的请求,同理,BT/BLE 在自己的时间片内会具有较高优先级。共存周期大小和各个时间片占比根据 Wi-Fi 的状态分成四类:
1. IDLE 状态:BT 和 BLE 共存由 Bluetooth 模块控制。
2. CONNECTED 状态:共存周期以目标信标传输时间 (Target Beacon Transmission Time, TBTT) 点为起始点,周期大于 100 ms。
3. SCAN 状态:Wi-Fi时间片以及共存周期都比在 CONNECTED 状态下的长。为了确保蓝牙的性能,蓝牙的时间片也会做相应的调整。
4. CONNECTING 状态:Wi-Fi 时间片比在 CONNECTED 状态下的长。为了确保蓝牙的性能,蓝牙的时间片也会做相应的调整。
共存逻辑会根据当前 Wi-Fi 和 Bluetooth 的使用场景来选取不同的共存周期和共存时间片的划分策略。对应一个使用场景的共存策略,我们称之为“共存模板”。比如,Wi-Fi CONNECTED 与 BLE CONNECTED的场景,就对应有一个共存模板。在这个共存模板中,一个共存周期内 Wi-Fi 和 BLE 的时间片各占50%,时间分配如下图所示:
动态优先级
共存模块对 Wi-Fi 和 Bluetooth 不同的状态赋予其不同的优先级。每种状态下的优先级并不是一成不变的,例如每 N 个广播事件 (Advertising event) 中会有一个广播事件使用高优先级。如果高优先级的广播事件发生在 Wi-Fi 时间片内,RF 的使用权可能会被BLE抢占。
全部0条评论
快来发表一下你的评论吧 !