mirror of
https://github.com/espressif/esp-idf
synced 2025-03-09 09:09:10 -04:00
Merge branch 'docs/fix_some_coexist_doc_issue_v5.4' into 'release/v5.4'
docs(coex): update rf coexistence documents (v5.4) See merge request espressif/esp-idf!37344
This commit is contained in:
commit
d4aa25a38e
@ -6,7 +6,7 @@ RF Coexistence
|
|||||||
Overview
|
Overview
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
ESP boards now support three modules: Bluetooth (BT & BLE), IEEE802.15.4, and Wi-Fi. Each type of board has only one 2.4 GHz ISM band RF module, shared by two or three modules. Consequently, a module cannot receive or transmit data while another module is engaged in data transmission or reception. In such scenarios, {IDF_TARGET_NAME} employs the time-division multiplexing method to manage the reception and transmission of packets.
|
ESP boards now support three modules: Bluetooth (BT & BLE), IEEE 802.15.4 (Thread / Zigbee), and Wi-Fi. Each type of board has only one 2.4 GHz ISM band RF module, shared by two or three modules. Consequently, a module cannot receive or transmit data while another module is engaged in data transmission or reception. In such scenarios, {IDF_TARGET_NAME} employs the time-division multiplexing method to manage the reception and transmission of packets.
|
||||||
|
|
||||||
|
|
||||||
Supported Coexistence Scenario for {IDF_TARGET_NAME}
|
Supported Coexistence Scenario for {IDF_TARGET_NAME}
|
||||||
@ -16,32 +16,32 @@ Supported Coexistence Scenario for {IDF_TARGET_NAME}
|
|||||||
|
|
||||||
.. table:: Supported Features of Wi-Fi and BLE Coexistence
|
.. table:: Supported Features of Wi-Fi and BLE Coexistence
|
||||||
|
|
||||||
+-------+--------+-----------+-----+------------+-----------+----------+
|
+-------+--------+-----------+-----+------------+----------+
|
||||||
| |BLE |
|
| |BLE |
|
||||||
+ +-----+------------+-----------+----------+
|
+ +-----+------------+----------+
|
||||||
| |Scan |Advertising |Connecting |Connected |
|
| |Scan |Advertising |Connected |
|
||||||
+-------+--------+-----------+-----+------------+-----------+----------+
|
+-------+--------+-----------+-----+------------+----------+
|
||||||
| Wi-Fi |STA |Scan |Y |Y |Y |Y |
|
| Wi-Fi |STA |Scan |Y |Y |Y |
|
||||||
+ + +-----------+-----+------------+-----------+----------+
|
+ + +-----------+-----+------------+----------+
|
||||||
| | |Connecting |Y |Y |Y |Y |
|
| | |Connecting |Y |Y |Y |
|
||||||
+ + +-----------+-----+------------+-----------+----------+
|
+ + +-----------+-----+------------+----------+
|
||||||
| | |Connected |Y |Y |Y |Y |
|
| | |Connected |Y |Y |Y |
|
||||||
+ +--------+-----------+-----+------------+-----------+----------+
|
+ +--------+-----------+-----+------------+----------+
|
||||||
| |SOFTAP |TX Beacon |Y |Y |Y |Y |
|
| |SOFTAP |TX Beacon |Y |Y |Y |
|
||||||
+ + +-----------+-----+------------+-----------+----------+
|
+ + +-----------+-----+------------+----------+
|
||||||
| | |Connecting |C1 |C1 |C1 |C1 |
|
| | |Connecting |C1 |C1 |C1 |
|
||||||
+ + +-----------+-----+------------+-----------+----------+
|
+ + +-----------+-----+------------+----------+
|
||||||
| | |Connected |C1 |C1 |C1 |C1 |
|
| | |Connected |C1 |C1 |C1 |
|
||||||
+ +--------+-----------+-----+------------+-----------+----------+
|
+ +--------+-----------+-----+------------+----------+
|
||||||
| |Sniffer |RX |C1 |C1 |C1 |C1 |
|
| |Sniffer |RX |C1 |C1 |C1 |
|
||||||
+ +--------+-----------+-----+------------+-----------+----------+
|
+ +--------+-----------+-----+------------+----------+
|
||||||
| |ESP-NOW |RX |S |S |S |S |
|
| |ESP-NOW |RX |S |S |S |
|
||||||
+ + +-----------+-----+------------+-----------+----------+
|
+ + +-----------+-----+------------+----------+
|
||||||
| | |TX |Y |Y |Y |Y |
|
| | |TX |Y |Y |Y |
|
||||||
+-------+--------+-----------+-----+------------+-----------+----------+
|
+-------+--------+-----------+-----+------------+----------+
|
||||||
|
|
||||||
|
|
||||||
.. only:: esp32
|
.. only:: SOC_WIFI_SUPPORTED and SOC_BT_CLASSIC_SUPPORTED
|
||||||
|
|
||||||
.. table:: Supported Features of Wi-Fi and Classic Bluetooth (BT) Coexistence
|
.. table:: Supported Features of Wi-Fi and Classic Bluetooth (BT) Coexistence
|
||||||
|
|
||||||
@ -69,31 +69,62 @@ Supported Coexistence Scenario for {IDF_TARGET_NAME}
|
|||||||
| | |TX |Y |Y |Y |Y |Y |
|
| | |TX |Y |Y |Y |Y |Y |
|
||||||
+-------+--------+-----------+--------+-------------+-----+----------+-----------+
|
+-------+--------+-----------+--------+-------------+-----+----------+-----------+
|
||||||
|
|
||||||
.. only:: SOC_IEEE802154_SUPPORTED
|
.. only:: SOC_WIFI_SUPPORTED and SOC_IEEE802154_SUPPORTED
|
||||||
|
|
||||||
.. table:: Supported Features of Thread (IEEE802.15.4) and BLE Coexistence
|
.. table:: Supported Features of Wi-Fi and IEEE 802.15.4 (Thread / Zigbee) Coexistence
|
||||||
|
|
||||||
+--------+-----------------+-----+------------+-----------+----------+
|
+-------+--------+-----------+--------+---------+-----------+
|
||||||
|
| |Thread / Zigbee |
|
||||||
|
+ +--------+---------+-----------+
|
||||||
|
| |Scan |Router |End Device |
|
||||||
|
+-------+--------+-----------+--------+---------+-----------+
|
||||||
|
| Wi-Fi |STA |Scan |C1 |C1 |Y |
|
||||||
|
+ + +-----------+--------+---------+-----------+
|
||||||
|
| | |Connecting |C1 |C1 |Y |
|
||||||
|
+ + +-----------+--------+---------+-----------+
|
||||||
|
| | |Connected |C1 |C1 |Y |
|
||||||
|
+ +--------+-----------+--------+---------+-----------+
|
||||||
|
| |SOFTAP |TX Beacon |Y |X |Y |
|
||||||
|
+ + +-----------+--------+---------+-----------+
|
||||||
|
| | |Connecting |C1 |X |C1 |
|
||||||
|
+ + +-----------+--------+---------+-----------+
|
||||||
|
| | |Connected |C1 |X |C1 |
|
||||||
|
+ +--------+-----------+--------+---------+-----------+
|
||||||
|
| |Sniffer |RX |C1 |X |C1 |
|
||||||
|
+-------+--------+-----------+--------+---------+-----------+
|
||||||
|
|
||||||
|
.. only:: SOC_BLE_SUPPORTED and SOC_IEEE802154_SUPPORTED
|
||||||
|
|
||||||
|
.. table:: Supported Features of IEEE 802.15.4 (Thread / Zigbee) and BLE Coexistence
|
||||||
|
|
||||||
|
+-----------------+-------------+-----+------------+----------+
|
||||||
| |BLE |
|
| |BLE |
|
||||||
+ +-----+------------+-----------+----------+
|
+ +-----+------------+----------+
|
||||||
| |Scan |Advertising |Connecting |Connected |
|
| |Scan |Advertising |Connected |
|
||||||
+--------+-----------------+-----+------------+-----------+----------+
|
+-----------------+-------------+-----+------------+----------+
|
||||||
| Thread |Scan |X |Y |Y |Y |
|
| Thread / Zigbee |Scan |X |Y |Y |
|
||||||
+ +-----------------+-----+------------+-----------+----------+
|
+ +-------------+-----+------------+----------+
|
||||||
| |Connecting |X |Y |Y |Y |
|
| |Router |X |Y |Y |
|
||||||
+ +-----------------+-----+------------+-----------+----------+
|
+ +-------------+-----+------------+----------+
|
||||||
| |Connected |X |Y |Y |Y |
|
| |End Device |C1 |Y |Y |
|
||||||
+ +-----------------+-----+------------+-----------+----------+
|
+-----------------+-------------+-----+------------+----------+
|
||||||
| |Connected | | | | |
|
|
||||||
| |(high throughput)|X |C1 |C1 |C1 |
|
|
||||||
+--------+-----------------+-----+------------+-----------+----------+
|
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
Y: supported and performance is stable
|
.. list::
|
||||||
C1: supported but the performance is unstable
|
|
||||||
X: not supported
|
- Y: supported and the performance is stable
|
||||||
S: supported and performance is stable in STA mode, otherwise not supported
|
- C1: supported but the performance is unstable
|
||||||
|
- X: not supported
|
||||||
|
:SOC_WIFI_SUPPORTED: - S: supported and the performance is stable in STA mode, otherwise not supported
|
||||||
|
|
||||||
|
.. only:: SOC_IEEE802154_SUPPORTED
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Routers in Thread and Zigbee networks maintain unsynchronized links with their neighbors, requiring continuous signal reception. With only a single RF path, increased Wi-Fi or BLE traffic may lead to higher packet loss rates for Thread and Zigbee communications.
|
||||||
|
|
||||||
|
To build a Wi-Fi based Thread Border Router or Zigbee Gateway product, we recommend using a dual-SoC solution (e.g., ESP32-S3 + ESP32-H2) with separate antennas. This setup enables simultaneous reception of Wi-Fi and 802.15.4 signals, ensuring optimal performance.
|
||||||
|
|
||||||
|
|
||||||
Coexistence Mechanism and Policy
|
Coexistence Mechanism and Policy
|
||||||
@ -102,7 +133,7 @@ Coexistence Mechanism and Policy
|
|||||||
Coexistence Mechanism
|
Coexistence Mechanism
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
The RF resource allocation mechanism is based on priority. As shown below, both Bluetooth module and Wi-Fi module request RF resources from the coexistence module, and the coexistence module decides who will use the RF resource based on their priority.
|
The RF resource allocation mechanism is based on priority. As shown below, Wi-Fi, Bluetooth and 802.15.4 modules request RF resources from the coexistence module, and the coexistence module decides who will use the RF resource based on their priority.
|
||||||
|
|
||||||
.. blockdiag::
|
.. blockdiag::
|
||||||
:scale: 100%
|
:scale: 100%
|
||||||
@ -122,12 +153,14 @@ The RF resource allocation mechanism is based on priority. As shown below, both
|
|||||||
# node labels
|
# node labels
|
||||||
Wi-Fi [shape = box];
|
Wi-Fi [shape = box];
|
||||||
Bluetooth [shape = box];
|
Bluetooth [shape = box];
|
||||||
|
802.15.4 [shape = box];
|
||||||
Coexistence [shape = box, label = 'Coexistence module'];
|
Coexistence [shape = box, label = 'Coexistence module'];
|
||||||
RF [shape = box, label = 'RF module'];
|
RF [shape = box, label = 'RF module'];
|
||||||
|
|
||||||
# node connections
|
# node connections
|
||||||
Wi-Fi -> Coexistence;
|
Wi-Fi -> Coexistence;
|
||||||
Bluetooth -> Coexistence;
|
Bluetooth -> Coexistence;
|
||||||
|
802.15.4 -> Coexistence;
|
||||||
Coexistence -> RF;
|
Coexistence -> RF;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -137,26 +170,24 @@ The RF resource allocation mechanism is based on priority. As shown below, both
|
|||||||
Coexistence Policy
|
Coexistence Policy
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. only:: SOC_WIFI_SUPPORTED and SOC_BT_SUPPORTED
|
||||||
|
|
||||||
Coexistence Period and Time Slice
|
Coexistence Period and Time Slice
|
||||||
""""""""""""""""""""""""""""""""""""""""
|
""""""""""""""""""""""""""""""""""""""""
|
||||||
|
|
||||||
.. only:: esp32
|
.. only:: SOC_BLE_SUPPORTED and SOC_BT_CLASSIC_SUPPORTED
|
||||||
|
|
||||||
Wi-Fi, BT, and BLE have their fixed time slice to use the RF. A coexistence period is divided into 3 time slices in the order of Wi-Fi, BT, and BLE. In the Wi-Fi slice, Wi-Fi's request to the coexistence arbitration module will have higher priority. Similarly, BT/BLE can enjoy higher priority at their own time slices. The duration of the coexistence period and the proportion of each time slice are divided into four categories according to the Wi-Fi status:
|
Wi-Fi, BT, and BLE have their fixed time slice to use the RF. A coexistence period is divided into 3 time slices in the order of Wi-Fi, BT, and BLE. In the Wi-Fi slice, Wi-Fi's request to the coexistence arbitration module will have higher priority. Similarly, BT/BLE can enjoy higher priority at their own time slices. The duration of the coexistence period and the proportion of each time slice are divided into four categories according to the Wi-Fi status:
|
||||||
|
|
||||||
|
|
||||||
.. only:: SOC_WIFI_SUPPORTED and SOC_BLE_SUPPORTED and not esp32
|
.. only:: not SOC_BT_CLASSIC_SUPPORTED
|
||||||
|
|
||||||
Wi-Fi and BLE have their fixed time slice to use the RF. In the Wi-Fi time slice, Wi-Fi will send a higher priority request to the coexistence arbitration module. Similarly, BLE can enjoy higher priority at their own time slice. The duration of the coexistence period and the proportion of each time slice are divided into four categories according to the Wi-Fi status:
|
Wi-Fi and BLE have their fixed time slice to use the RF. In the Wi-Fi time slice, Wi-Fi will send a higher priority request to the coexistence arbitration module. Similarly, BLE can enjoy higher priority at their own time slice. The duration of the coexistence period and the proportion of each time slice are divided into four categories according to the Wi-Fi status:
|
||||||
|
|
||||||
.. only:: SOC_IEEE802154_SUPPORTED
|
|
||||||
|
|
||||||
Currently, the only supported strategy ensures that the priority of BLE always takes precedence over IEEE802.15.4.
|
|
||||||
|
|
||||||
.. list::
|
.. list::
|
||||||
|
|
||||||
:esp32: 1) IDLE status: the coexistence of BT and BLE is controlled by Bluetooth module.
|
:SOC_BLE_SUPPORTED and SOC_BT_CLASSIC_SUPPORTED: 1) IDLE status: the coexistence of BT and BLE is controlled by Bluetooth module.
|
||||||
:SOC_WIFI_SUPPORTED and SOC_BLE_SUPPORTED and not esp32: 1) IDLE status: RF module is controlled by Bluetooth module.
|
:not SOC_BT_CLASSIC_SUPPORTED: 1) IDLE status: RF module is controlled by Bluetooth module.
|
||||||
#) CONNECTED status: the coexistence period starts at the Target Beacon Transmission Time (TBTT) and is more than 100 ms.
|
#) CONNECTED status: the coexistence period starts at the Target Beacon Transmission Time (TBTT) and is more than 100 ms.
|
||||||
#) SCAN status: Wi-Fi slice and coexistence period are longer than in the CONNECTED status. To ensure Bluetooth performance, the Bluetooth time slice will also be adjusted accordingly.
|
#) SCAN status: Wi-Fi slice and coexistence period are longer than in the CONNECTED status. To ensure Bluetooth performance, the Bluetooth time slice will also be adjusted accordingly.
|
||||||
#) CONNECTING status: Wi-Fi slice is longer than in the CONNECTED status. To ensure Bluetooth performance, the Bluetooth time slice will also be adjusted accordingly.
|
#) CONNECTING status: Wi-Fi slice is longer than in the CONNECTED status. To ensure Bluetooth performance, the Bluetooth time slice will also be adjusted accordingly.
|
||||||
@ -171,6 +202,11 @@ According to the coexistence logic, different coexistence periods and time slice
|
|||||||
|
|
||||||
Time Slice Under the Status of Wi-Fi CONNECTED and BLE CONNECTED
|
Time Slice Under the Status of Wi-Fi CONNECTED and BLE CONNECTED
|
||||||
|
|
||||||
|
.. only:: SOC_IEEE802154_SUPPORTED
|
||||||
|
|
||||||
|
The IEEE 802.15.4 module requests RF resources based on pre-assigned priorities. Normal receive operations are assigned the lowest priority, meaning Wi-Fi and BLE will take over the RF whenever needed, while 802.15.4 can only receive during the remaining time. Other 802.15.4 operations, such as transmitting or receiving ACKs and transmitting or receiving at given time, are assigned higher priorities. However, their access to RF ultimately depends on the priorities of Wi-Fi and BLE operations at that moment.
|
||||||
|
|
||||||
|
.. only:: SOC_WIFI_SUPPORTED and SOC_BT_SUPPORTED
|
||||||
|
|
||||||
Dynamic Priority
|
Dynamic Priority
|
||||||
""""""""""""""""""""""""""""
|
""""""""""""""""""""""""""""
|
||||||
|
@ -6,7 +6,7 @@ RF 共存
|
|||||||
概览
|
概览
|
||||||
-----
|
-----
|
||||||
|
|
||||||
ESP系列芯片最多支持三种射频收发模块: Bluetooth(BT 和 BLE), IEEE802.15.4 和 Wi-Fi, 而每款芯片只支持一路被多个射频收发模块共享的 RF,不同模块无法同时使用 RF 收发数据,因此采用时分复用的方法调节不同模块的数据包收发。
|
ESP系列芯片最多支持三种射频收发模块: Bluetooth(BT 和 BLE), IEEE 802.15.4 (Thread / Zigbee) 和 Wi-Fi, 而每款芯片只支持一路被多个射频收发模块共享的 RF,不同模块无法同时使用 RF 收发数据,因此采用时分复用的方法调节不同模块的数据包收发。
|
||||||
|
|
||||||
|
|
||||||
{IDF_TARGET_NAME} 支持的共存场景
|
{IDF_TARGET_NAME} 支持的共存场景
|
||||||
@ -14,36 +14,36 @@ ESP系列芯片最多支持三种射频收发模块: Bluetooth(BT 和 BLE),
|
|||||||
|
|
||||||
.. only:: SOC_WIFI_SUPPORTED and SOC_BLE_SUPPORTED
|
.. only:: SOC_WIFI_SUPPORTED and SOC_BLE_SUPPORTED
|
||||||
|
|
||||||
.. table:: 表 1 Wi-Fi 和 BLE 共存支持功能
|
.. table:: Wi-Fi 和 BLE 共存支持功能
|
||||||
|
|
||||||
+-------+--------+-----------+-----+------------+-----------+----------+
|
+-------+--------+-----------+-----+------------+----------+
|
||||||
| |BLE |
|
| |BLE |
|
||||||
+ +-----+------------+-----------+----------+
|
+ +-----+------------+----------+
|
||||||
| |Scan |Advertising |Connecting |Connected |
|
| |Scan |Advertising |Connected |
|
||||||
+-------+--------+-----------+-----+------------+-----------+----------+
|
+-------+--------+-----------+-----+------------+----------+
|
||||||
| Wi-Fi |STA |Scan |Y |Y |Y |Y |
|
| Wi-Fi |STA |Scan |Y |Y |Y |
|
||||||
+ + +-----------+-----+------------+-----------+----------+
|
+ + +-----------+-----+------------+----------+
|
||||||
| | |Connecting |Y |Y |Y |Y |
|
| | |Connecting |Y |Y |Y |
|
||||||
+ + +-----------+-----+------------+-----------+----------+
|
+ + +-----------+-----+------------+----------+
|
||||||
| | |Connected |Y |Y |Y |Y |
|
| | |Connected |Y |Y |Y |
|
||||||
+ +--------+-----------+-----+------------+-----------+----------+
|
+ +--------+-----------+-----+------------+----------+
|
||||||
| |SOFTAP |TX Beacon |Y |Y |Y |Y |
|
| |SOFTAP |TX Beacon |Y |Y |Y |
|
||||||
+ + +-----------+-----+------------+-----------+----------+
|
+ + +-----------+-----+------------+----------+
|
||||||
| | |Connecting |C1 |C1 |C1 |C1 |
|
| | |Connecting |C1 |C1 |C1 |
|
||||||
+ + +-----------+-----+------------+-----------+----------+
|
+ + +-----------+-----+------------+----------+
|
||||||
| | |Connected |C1 |C1 |C1 |C1 |
|
| | |Connected |C1 |C1 |C1 |
|
||||||
+ +--------+-----------+-----+------------+-----------+----------+
|
+ +--------+-----------+-----+------------+----------+
|
||||||
| |Sniffer |RX |C1 |C1 |C1 |C1 |
|
| |Sniffer |RX |C1 |C1 |C1 |
|
||||||
+ +--------+-----------+-----+------------+-----------+----------+
|
+ +--------+-----------+-----+------------+----------+
|
||||||
| |ESP-NOW |RX |S |S |S |S |
|
| |ESP-NOW |RX |S |S |S |
|
||||||
+ + +-----------+-----+------------+-----------+----------+
|
+ + +-----------+-----+------------+----------+
|
||||||
| | |TX |Y |Y |Y |Y |
|
| | |TX |Y |Y |Y |
|
||||||
+-------+--------+-----------+-----+------------+-----------+----------+
|
+-------+--------+-----------+-----+------------+----------+
|
||||||
|
|
||||||
|
|
||||||
.. only:: esp32
|
.. only:: SOC_WIFI_SUPPORTED and SOC_BT_CLASSIC_SUPPORTED
|
||||||
|
|
||||||
.. table:: 表 2 Wi-Fi 和经典蓝牙 (BT) 共存支持功能
|
.. table:: Wi-Fi 和经典蓝牙 (BT) 共存支持功能
|
||||||
|
|
||||||
+-------+--------+-----------+--------+-------------+-----+----------+-----------+
|
+-------+--------+-----------+--------+-------------+-----+----------+-----------+
|
||||||
| |BR/EDR |
|
| |BR/EDR |
|
||||||
@ -69,31 +69,62 @@ ESP系列芯片最多支持三种射频收发模块: Bluetooth(BT 和 BLE),
|
|||||||
| | |TX |Y |Y |Y |Y |Y |
|
| | |TX |Y |Y |Y |Y |Y |
|
||||||
+-------+--------+-----------+--------+-------------+-----+----------+-----------+
|
+-------+--------+-----------+--------+-------------+-----+----------+-----------+
|
||||||
|
|
||||||
.. only:: SOC_IEEE802154_SUPPORTED
|
.. only:: SOC_WIFI_SUPPORTED and SOC_IEEE802154_SUPPORTED
|
||||||
|
|
||||||
.. table:: 表 3 Thread (IEEE802.15.4) 和 BLE 共存支持功能
|
.. table:: Wi-Fi 和 IEEE 802.15.4 (Thread / Zigbee) 共存支持功能
|
||||||
|
|
||||||
+--------+-----------------+-----+------------+-----------+----------+
|
+-------+--------+-----------+--------+---------+-----------+
|
||||||
|
| |Thread / Zigbee |
|
||||||
|
+ +--------+---------+-----------+
|
||||||
|
| |Scan |Router |End Device |
|
||||||
|
+-------+--------+-----------+--------+---------+-----------+
|
||||||
|
| Wi-Fi |STA |Scan |C1 |C1 |Y |
|
||||||
|
+ + +-----------+--------+---------+-----------+
|
||||||
|
| | |Connecting |C1 |C1 |Y |
|
||||||
|
+ + +-----------+--------+---------+-----------+
|
||||||
|
| | |Connected |C1 |C1 |Y |
|
||||||
|
+ +--------+-----------+--------+---------+-----------+
|
||||||
|
| |SOFTAP |TX Beacon |Y |X |Y |
|
||||||
|
+ + +-----------+--------+---------+-----------+
|
||||||
|
| | |Connecting |C1 |X |C1 |
|
||||||
|
+ + +-----------+--------+---------+-----------+
|
||||||
|
| | |Connected |C1 |X |C1 |
|
||||||
|
+ +--------+-----------+--------+---------+-----------+
|
||||||
|
| |Sniffer |RX |C1 |X |C1 |
|
||||||
|
+-------+--------+-----------+--------+---------+-----------+
|
||||||
|
|
||||||
|
.. only:: SOC_BLE_SUPPORTED and SOC_IEEE802154_SUPPORTED
|
||||||
|
|
||||||
|
.. table:: IEEE 802.15.4 (Thread / Zigbee) 和 BLE 共存支持功能
|
||||||
|
|
||||||
|
+-----------------+-------------+-----+------------+----------+
|
||||||
| |BLE |
|
| |BLE |
|
||||||
+ +-----+------------+-----------+----------+
|
+ +-----+------------+----------+
|
||||||
| |Scan |Advertising |Connecting |Connected |
|
| |Scan |Advertising |Connected |
|
||||||
+--------+-----------------+-----+------------+-----------+----------+
|
+-----------------+-------------+-----+------------+----------+
|
||||||
| Thread |Scan |X |Y |Y |Y |
|
| Thread / Zigbee |Scan |X |Y |Y |
|
||||||
+ +-----------------+-----+------------+-----------+----------+
|
+ +-------------+-----+------------+----------+
|
||||||
| |Connecting |X |Y |Y |Y |
|
| |Router |X |Y |Y |
|
||||||
+ +-----------------+-----+------------+-----------+----------+
|
+ +-------------+-----+------------+----------+
|
||||||
| |Connected |X |Y |Y |Y |
|
| |End Device |C1 |Y |Y |
|
||||||
+ +-----------------+-----+------------+-----------+----------+
|
+-----------------+-------------+-----+------------+----------+
|
||||||
| |Connected | | | | |
|
|
||||||
| |(high throughput)|X |C1 |C1 |C1 |
|
|
||||||
+--------+-----------------+-----+------------+-----------+----------+
|
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
Y:支持且性能稳定。
|
.. list::
|
||||||
C1:不能保证性能处于稳定状态。
|
|
||||||
X:不支持。
|
- Y:支持且性能稳定。
|
||||||
S:在 STA 模式下支持且性能稳定,否则不支持。
|
- C1:不能保证性能处于稳定状态。
|
||||||
|
- X:不支持。
|
||||||
|
:SOC_WIFI_SUPPORTED: - S:在 STA 模式下支持且性能稳定,否则不支持。
|
||||||
|
|
||||||
|
.. only:: SOC_IEEE802154_SUPPORTED
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Thread 和 Zigbee 网络中的路由节点与其邻居保持非同步连接,因此需要持续接收信号。在仅有单一 RF 通路的情况下,Wi-Fi 或 BLE 流量的增加可能导致 Thread 和 Zigbee 通信的丢包率上升。
|
||||||
|
|
||||||
|
为了构建基于 Wi-Fi 的 Thread 边界路由器或 Zigbee 网关产品,我们推荐采用双 SoC 方案(例如 ESP32-S3 + ESP32-H2),使用独立的 RF。这种配置能够同时接收 Wi-Fi 和 802.15.4 信号,确保最佳性能。
|
||||||
|
|
||||||
|
|
||||||
共存机制与策略
|
共存机制与策略
|
||||||
@ -102,7 +133,7 @@ ESP系列芯片最多支持三种射频收发模块: Bluetooth(BT 和 BLE),
|
|||||||
共存机制
|
共存机制
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
基于优先级抢占的 RF 资源分配机制,如下图所示,Bluetooth 模块和 Wi-Fi 模块向共存模块申请 RF 资源,共存模块根据二者的优先级高低裁决 RF 归谁使用。
|
基于优先级抢占的 RF 资源分配机制,如下图所示,Bluetooth,Wi-Fi 和 802.15.4 模块向共存模块申请 RF 资源,共存模块根据三者的优先级高低裁决 RF 归谁使用。
|
||||||
|
|
||||||
.. blockdiag::
|
.. blockdiag::
|
||||||
:scale: 100%
|
:scale: 100%
|
||||||
@ -122,12 +153,14 @@ ESP系列芯片最多支持三种射频收发模块: Bluetooth(BT 和 BLE),
|
|||||||
# node labels
|
# node labels
|
||||||
Wi-Fi [shape = box];
|
Wi-Fi [shape = box];
|
||||||
Bluetooth [shape = box];
|
Bluetooth [shape = box];
|
||||||
|
802.15.4 [shape = box];
|
||||||
Coexistence [shape = box, label = 'Coexistence module'];
|
Coexistence [shape = box, label = 'Coexistence module'];
|
||||||
RF [shape = box, label = 'RF module'];
|
RF [shape = box, label = 'RF module'];
|
||||||
|
|
||||||
# node connections
|
# node connections
|
||||||
Wi-Fi -> Coexistence;
|
Wi-Fi -> Coexistence;
|
||||||
Bluetooth -> Coexistence;
|
Bluetooth -> Coexistence;
|
||||||
|
802.15.4 -> Coexistence;
|
||||||
Coexistence -> RF;
|
Coexistence -> RF;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -137,26 +170,24 @@ ESP系列芯片最多支持三种射频收发模块: Bluetooth(BT 和 BLE),
|
|||||||
共存策略
|
共存策略
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. only:: SOC_WIFI_SUPPORTED and SOC_BT_SUPPORTED
|
||||||
|
|
||||||
共存周期和时间片
|
共存周期和时间片
|
||||||
"""""""""""""""""""
|
"""""""""""""""""""
|
||||||
|
|
||||||
.. only:: esp32
|
.. only:: SOC_BLE_SUPPORTED and SOC_BT_CLASSIC_SUPPORTED
|
||||||
|
|
||||||
Wi-Fi、BT、BLE 三者对于 RF 的使用,主要是按照时间片来划分的。在一个共存周期内,按照 Wi-Fi、BT、BLE 的顺序划分时间片。在 Wi-Fi 的时间片内,Wi-Fi 会向共存仲裁模块发出较高优先级的请求,同理,BT/BLE 在自己的时间片内会具有较高优先级。共存周期大小和各个时间片占比根据 Wi-Fi 的状态分成四类:
|
Wi-Fi、BT、BLE 三者对于 RF 的使用,主要是按照时间片来划分的。在一个共存周期内,按照 Wi-Fi、BT、BLE 的顺序划分时间片。在 Wi-Fi 的时间片内,Wi-Fi 会向共存仲裁模块发出较高优先级的请求,同理,BT/BLE 在自己的时间片内会具有较高优先级。共存周期大小和各个时间片占比根据 Wi-Fi 的状态分成四类:
|
||||||
|
|
||||||
|
|
||||||
.. only:: SOC_WIFI_SUPPORTED and SOC_BLE_SUPPORTED and not esp32
|
.. only:: not SOC_BT_CLASSIC_SUPPORTED
|
||||||
|
|
||||||
Wi-Fi、BLE 二者对于 RF 的使用,主要是按照时间片来划分的。在 Wi-Fi 的时间片内,Wi-Fi 会向共存仲裁模块发出较高优先级的请求,在 Bluetooth 的时间片内,BLE 会具有较高优先级。共存周期大小和各个时间片占比根据 Wi-Fi 的状态分成四类:
|
Wi-Fi、BLE 二者对于 RF 的使用,主要是按照时间片来划分的。在 Wi-Fi 的时间片内,Wi-Fi 会向共存仲裁模块发出较高优先级的请求,在 Bluetooth 的时间片内,BLE 会具有较高优先级。共存周期大小和各个时间片占比根据 Wi-Fi 的状态分成四类:
|
||||||
|
|
||||||
.. only:: SOC_IEEE802154_SUPPORTED
|
|
||||||
|
|
||||||
目前, 当 BLE 与 IEEE802.15.4 共存时, ESP 芯片使用的策略为 BLE 优先级始终优先于 IEEE802.15.4。
|
|
||||||
|
|
||||||
.. list::
|
.. list::
|
||||||
|
|
||||||
:esp32: 1) IDLE 状态:BT 和 BLE 共存由 Bluetooth 模块控制。
|
:SOC_BLE_SUPPORTED and SOC_BT_CLASSIC_SUPPORTED: 1) IDLE 状态:BT 和 BLE 共存由 Bluetooth 模块控制。
|
||||||
:SOC_WIFI_SUPPORTED and SOC_BLE_SUPPORTED and not esp32: 1) IDLE 状态:RF 模块由 Bluetooth 模块控制。
|
:not SOC_BT_CLASSIC_SUPPORTED: 1) IDLE 状态:RF 模块由 Bluetooth 模块控制。
|
||||||
#) CONNECTED 状态:共存周期以目标信标传输时间 (Target Beacon Transmission Time, TBTT) 点为起始点,周期大于 100 ms。
|
#) CONNECTED 状态:共存周期以目标信标传输时间 (Target Beacon Transmission Time, TBTT) 点为起始点,周期大于 100 ms。
|
||||||
#) SCAN 状态:Wi-Fi 时间片以及共存周期都比在 CONNECTED 状态下的长。为了确保蓝牙的性能,蓝牙的时间片也会做相应的调整。
|
#) SCAN 状态:Wi-Fi 时间片以及共存周期都比在 CONNECTED 状态下的长。为了确保蓝牙的性能,蓝牙的时间片也会做相应的调整。
|
||||||
#) CONNECTING 状态:Wi-Fi 时间片比在 CONNECTED 状态下的长。为了确保蓝牙的性能,蓝牙的时间片也会做相应的调整。
|
#) CONNECTING 状态:Wi-Fi 时间片比在 CONNECTED 状态下的长。为了确保蓝牙的性能,蓝牙的时间片也会做相应的调整。
|
||||||
@ -171,6 +202,11 @@ ESP系列芯片最多支持三种射频收发模块: Bluetooth(BT 和 BLE),
|
|||||||
|
|
||||||
Wi-Fi CONNECTED 和 BLE CONNECTED 共存状态下时间片划分图
|
Wi-Fi CONNECTED 和 BLE CONNECTED 共存状态下时间片划分图
|
||||||
|
|
||||||
|
.. only:: SOC_IEEE802154_SUPPORTED
|
||||||
|
|
||||||
|
IEEE 802.15.4 模块根据预先分配的优先级请求 RF 资源。普通的接收操作被分配为最低优先级,这意味着 Wi-Fi 和 BLE 在需要时会优先占用 RF,而 802.15.4 只能在剩余时间内进行接收。其他 802.15.4 操作,例如发送和接收 ACK 以及在指定时间内的发送和接收,被分配了更高的优先级。然而,它们能否实际获得 RF 资源最终取决于当时 Wi-Fi 和 BLE 操作的优先级。
|
||||||
|
|
||||||
|
.. only:: SOC_WIFI_SUPPORTED and SOC_BT_SUPPORTED
|
||||||
|
|
||||||
动态优先级
|
动态优先级
|
||||||
"""""""""""""""""""
|
"""""""""""""""""""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user