mirror of
https://github.com/espressif/esp-idf
synced 2025-03-09 17:19:09 -04:00
Merge branch 'docs/fix_some_coexist_doc_issue_v5.0' into 'release/v5.0'
docs(coex): update rf coexistence documents (v5.0) See merge request espressif/esp-idf!37348
This commit is contained in:
commit
a4f233eacf
@ -15,32 +15,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
|
||||||
|
|
||||||
@ -71,10 +71,12 @@ Supported Coexistence Scenario for {IDF_TARGET_NAME}
|
|||||||
|
|
||||||
.. 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
|
||||||
|
|
||||||
Coexistence Mechanism and Policy
|
Coexistence Mechanism and Policy
|
||||||
------------------------------------------------
|
------------------------------------------------
|
||||||
@ -117,42 +119,45 @@ The RF resource allocation mechanism is based on priority. As shown below, both
|
|||||||
Coexistence Policy
|
Coexistence Policy
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Coexistence Period and Time Slice
|
.. only:: SOC_WIFI_SUPPORTED and SOC_BT_SUPPORTED
|
||||||
""""""""""""""""""""""""""""""""""""""""
|
|
||||||
|
|
||||||
.. only:: esp32
|
Coexistence Period and Time Slice
|
||||||
|
""""""""""""""""""""""""""""""""""""""""
|
||||||
|
|
||||||
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_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:
|
||||||
|
|
||||||
|
|
||||||
.. 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:
|
||||||
|
|
||||||
|
.. list::
|
||||||
|
|
||||||
|
:SOC_BLE_SUPPORTED and SOC_BT_CLASSIC_SUPPORTED: 1) IDLE status: the coexistence of BT and BLE 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.
|
||||||
|
#) 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.
|
||||||
|
|
||||||
|
|
||||||
.. list::
|
According to the coexistence logic, different coexistence periods and time slice strategies will be selected based on the Wi-Fi and Bluetooth usage scenarios. A Coexistence policy corresponding to a certain usage scenarios is called a "coexistence scheme". For example, the scenario of Wi-Fi CONNECTED and BLE CONNECTED has a corresponding coexistence scheme. In this scheme, the time slices of Wi-Fi and BLE in a coexistence period each account for 50%. The time allocation is shown in the following figure:
|
||||||
|
|
||||||
:esp32: 1) IDLE status: the coexistence of BT and BLE is controlled by Bluetooth module.
|
.. figure:: ../../_static/coexist_wifi_connected_and_ble_connected_time_slice.png
|
||||||
:SOC_WIFI_SUPPORTED and SOC_BLE_SUPPORTED and not esp32: 1) IDLE status: RF module is controlled by Bluetooth module.
|
:align: center
|
||||||
#) CONNECTED status: the coexistence period starts at the Target Beacon Transmission Time (TBTT) and is more than 100 ms.
|
:alt: Time Slice Under the Status of Wi-Fi CONNECTED and BLE CONNECTED
|
||||||
#) 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.
|
:figclass: align-center
|
||||||
#) 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.
|
|
||||||
|
Time Slice Under the Status of Wi-Fi CONNECTED and BLE CONNECTED
|
||||||
|
|
||||||
|
|
||||||
According to the coexistence logic, different coexistence periods and time slice strategies will be selected based on the Wi-Fi and Bluetooth usage scenarios. A Coexistence policy corresponding to a certain usage scenarios is called a "coexistence scheme". For example, the scenario of Wi-Fi CONNECTED and BLE CONNECTED has a corresponding coexistence scheme. In this scheme, the time slices of Wi-Fi and BLE in a coexistence period each account for 50%. The time allocation is shown in the following figure:
|
.. only:: SOC_WIFI_SUPPORTED and SOC_BT_SUPPORTED
|
||||||
|
|
||||||
.. figure:: ../../_static/coexist_wifi_connected_and_ble_connected_time_slice.png
|
Dynamic Priority
|
||||||
:align: center
|
""""""""""""""""""""""""""""
|
||||||
:alt: Time Slice Under the Status of Wi-Fi CONNECTED and BLE CONNECTED
|
|
||||||
:figclass: align-center
|
|
||||||
|
|
||||||
Time Slice Under the Status of Wi-Fi CONNECTED and BLE CONNECTED
|
The coexistence module assigns varying priorities to different statuses of each module, and these priorities are dynamic. For example, in every N BLE Advertising events, there is always one event with high priority. If a high-priority BLE Advertising event occurs within the Wi-Fi time slice, the right to use the RF may be preempted by BLE.
|
||||||
|
|
||||||
|
|
||||||
Dynamic Priority
|
|
||||||
""""""""""""""""""""""""""""
|
|
||||||
|
|
||||||
The coexistence module assigns different priorities to different status of Wi-Fi and Bluetooth. And the priority for each status is dynamic. For example, in every N BLE Advertising events, there is always one event with high priority. If a high-priority BLE Advertising event occurs within the Wi-Fi time slice, the right to use the RF may be preempted by BLE.
|
|
||||||
|
|
||||||
.. only:: SOC_WIFI_SUPPORTED
|
.. only:: SOC_WIFI_SUPPORTED
|
||||||
|
|
||||||
|
@ -15,32 +15,32 @@ RF 共存
|
|||||||
|
|
||||||
.. table:: 表 1 Wi-Fi 和 BLE 共存支持功能
|
.. table:: 表 1 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:: 表 2 Wi-Fi 和经典蓝牙 (BT) 共存支持功能
|
||||||
|
|
||||||
@ -71,10 +71,12 @@ RF 共存
|
|||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
Y:支持且性能稳定。
|
.. list::
|
||||||
C1:不能保证性能处于稳定状态。
|
|
||||||
X:不支持。
|
- Y:支持且性能稳定。
|
||||||
S:在STA模式下支持且性能稳定,否则不支持。
|
- C1:不能保证性能处于稳定状态。
|
||||||
|
- X:不支持。
|
||||||
|
:SOC_WIFI_SUPPORTED: - S:在 STA 模式下支持且性能稳定,否则不支持。
|
||||||
|
|
||||||
|
|
||||||
共存机制与策略
|
共存机制与策略
|
||||||
@ -117,42 +119,45 @@ RF 共存
|
|||||||
共存策略
|
共存策略
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
共存周期和时间片
|
.. only:: SOC_WIFI_SUPPORTED and SOC_BT_SUPPORTED
|
||||||
"""""""""""""""""""
|
|
||||||
|
|
||||||
.. only:: esp32
|
共存周期和时间片
|
||||||
|
"""""""""""""""""""
|
||||||
|
|
||||||
Wi-Fi、BT、BLE 三者对于 RF 的使用,主要是按照时间片来划分的。在一个共存周期内,按照 Wi-Fi、BT、BLE 的顺序划分时间片。在 Wi-Fi 的时间片内,Wi-Fi 会向共存仲裁模块发出较高优先级的请求,同理,BT/BLE 在自己的时间片内会具有较高优先级。共存周期大小和各个时间片占比根据 Wi-Fi 的状态分成四类:
|
.. 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 的状态分成四类:
|
||||||
|
|
||||||
|
|
||||||
.. 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 的状态分成四类:
|
||||||
|
|
||||||
|
.. list::
|
||||||
|
|
||||||
|
:SOC_BLE_SUPPORTED and SOC_BT_CLASSIC_SUPPORTED: 1) IDLE 状态:BT 和 BLE 共存由 Bluetooth 模块控制。
|
||||||
|
:not SOC_BT_CLASSIC_SUPPORTED: 1) IDLE 状态:RF 模块由 Bluetooth 模块控制。
|
||||||
|
#) CONNECTED 状态:共存周期以目标信标传输时间 (Target Beacon Transmission Time, TBTT) 点为起始点,周期大于 100 ms。
|
||||||
|
#) SCAN 状态:Wi-Fi 时间片以及共存周期都比在 CONNECTED 状态下的长。为了确保蓝牙的性能,蓝牙的时间片也会做相应的调整。
|
||||||
|
#) CONNECTING 状态:Wi-Fi 时间片比在 CONNECTED 状态下的长。为了确保蓝牙的性能,蓝牙的时间片也会做相应的调整。
|
||||||
|
|
||||||
|
|
||||||
.. list::
|
共存逻辑会根据当前 Wi-Fi 和 Bluetooth 的使用场景来选取不同的共存周期和共存时间片的划分策略。对应一个使用场景的共存策略,我们称之为“共存模板”。比如,Wi-Fi CONNECTED 与 BLE CONNECTED 的场景,就对应有一个共存模板。在这个共存模板中,一个共存周期内 Wi-Fi 和 BLE 的时间片各占 50%,时间分配如下图所示:
|
||||||
|
|
||||||
:esp32: 1) IDLE 状态:BT 和 BLE 共存由 Bluetooth 模块控制。
|
.. figure:: ../../_static/coexist_wifi_connected_and_ble_connected_time_slice.png
|
||||||
:SOC_WIFI_SUPPORTED and SOC_BLE_SUPPORTED and not esp32: 1) IDLE 状态:RF 模块由 Bluetooth 模块控制。
|
:align: center
|
||||||
#) CONNECTED 状态:共存周期以目标信标传输时间 (Target Beacon Transmission Time, TBTT) 点为起始点,周期大于 100 ms。
|
:alt: Wi-Fi CONNECTED 和 BLE CONNECTED 状态下时间片划分图
|
||||||
#) SCAN 状态:Wi-Fi 时间片以及共存周期都比在 CONNECTED 状态下的长。为了确保蓝牙的性能,蓝牙的时间片也会做相应的调整。
|
:figclass: align-center
|
||||||
#) CONNECTING 状态:Wi-Fi 时间片比在 CONNECTED 状态下的长。为了确保蓝牙的性能,蓝牙的时间片也会做相应的调整。
|
|
||||||
|
Wi-Fi CONNECTED 和 BLE CONNECTED 共存状态下时间片划分图
|
||||||
|
|
||||||
|
|
||||||
共存逻辑会根据当前 Wi-Fi 和 Bluetooth 的使用场景来选取不同的共存周期和共存时间片的划分策略。对应一个使用场景的共存策略,我们称之为“共存模板”。比如,Wi-Fi CONNECTED 与 BLE CONNECTED 的场景,就对应有一个共存模板。在这个共存模板中,一个共存周期内 Wi-Fi 和 BLE 的时间片各占 50%,时间分配如下图所示:
|
.. only:: SOC_WIFI_SUPPORTED and SOC_BT_SUPPORTED
|
||||||
|
|
||||||
.. figure:: ../../_static/coexist_wifi_connected_and_ble_connected_time_slice.png
|
动态优先级
|
||||||
:align: center
|
"""""""""""""""""""
|
||||||
:alt: Wi-Fi CONNECTED 和 BLE CONNECTED 状态下时间片划分图
|
|
||||||
:figclass: align-center
|
|
||||||
|
|
||||||
Wi-Fi CONNECTED 和 BLE CONNECTED 共存状态下时间片划分图
|
共存模块为每个模块的不同状态分配不同的优先级。每种状态下的优先级并不是一成不变的,例如对于 BLE,每 N 个广播事件 (Advertising event) 中会有一个广播事件使用高优先级。如果高优先级的广播事件发生在 Wi-Fi 时间片内,RF 的使用权可能会被 BLE 抢占。
|
||||||
|
|
||||||
|
|
||||||
动态优先级
|
|
||||||
"""""""""""""""""""
|
|
||||||
|
|
||||||
共存模块对 Wi-Fi 和 Bluetooth 不同的状态赋予其不同的优先级。每种状态下的优先级并不是一成不变的,例如每 N 个广播事件 (Advertising event) 中会有一个广播事件使用高优先级。如果高优先级的广播事件发生在 Wi-Fi 时间片内,RF 的使用权可能会被 BLE 抢占。
|
|
||||||
|
|
||||||
.. only:: SOC_WIFI_SUPPORTED
|
.. only:: SOC_WIFI_SUPPORTED
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user